抽象语言 --- 电信号
抽象语言---编码
编码----二进制
二进制---电信号
处理电信号
OSI/RM ----开放式系统互联参考模型--- 1979 --- ISo---国际标准化组织
核心思想---分层
应用层---提供各种应用程序,抽象语言转换成编码,人机交互的接口表示层---编码转换成二进制
会话层---维持网络应用和网络服务器之间会话连接
传输层---实现端到端的传输---应用到应用之间的传输---端口号---0-65535---0一般不作为传输层的端口号使用,所以,我们真实的端口号的取值范围为1- 65535。1 -1023知名端口号。--- SPORT,DPORT
网络层---通过IP地址,实现主机之间的逻辑寻址。--- SIP,DIP
获取DIP的方法:
1,直接知道服务器的IP地址2,通过域名访问服务器3,通过应用程序访问4,通过广播获取
数据链路层---将二进制转换成电信号。通过MAC地址进行物理寻址---在以太网协议中
MAC --- 48位二进制构成---1,全球唯一;2,格式统一--- SMAC,DMAC
获取目标MAC地址的方法:
ARP---地址解析协议---通过一种地址获取另一种地址正向ARP---通过IP地址获取MAC地址
工作过程---首先,主机以广播的形式发送ARP请求报文。基于已知的IP地址获取MAC地址。所有收到广播帧的设备都会先将数据包中的源lP地址和源MAC地址的对应关系记录在本地的ARP缓存表中。之后,再看请求的IP地址。如果请求的IP地址是本地的IP地址,则将回复ARP应答报文。如果请求的IP地址不是本地的IP地址,则将直接丢弃该数据包。之后,再次发送信息时,将优先查看本地的ARP缓存表,如果存在记录,则将按照记录转发;如果没有记录,则再发送ARP请求。反向ARP ---通过MAC地址获取IP地址
免费ARP---利用的是正向ARP的工作原理,只不过请求的IP地址是自己的。
1,自我介绍;2,检测地址冲突
物理层---处理或传输电信号
TCP/IP模型--- TCP/IP协议簇
TCP/IP标准模型---四层模型TCP/IP对等模型---五层模型
封装和解封转
应用层
传输层---端口号---TCP,UDP网络层---IP地址--- IP协议
数据链路层--- MAC地址---以太网协议物理层
PDU ---协议数据单元
应用层---报文
传输层---段网络层---包数据链路层---帧物理层---比特流
TCP/IP模型中可以支持跨层封装,OSI中不行
跨层封装出现的情况较少,一般出现在直连的设备之间。
跨四层封装---一般出现在直连路由设备之间,比如,OSPF协议就是跨四层封装协议。---89
Sof --- 帧首定界符1,获取IP地址--- 1,手工获取;2,通过DHCP自动获取
DHCP---动态主机配置协议
1,DHCP客户端---广播包--- DHCP-Discover
传输层--- UDP --- SPORT:68 DPORT: 67
网络层--- IP--- SIP: 0.0.0.0 DIP: 255.255.255.255
数据链路层---以太网--- SMAC:自己的MAC地址DMAC:全F
交换机的转发原理---交换机收到数据帧之后,首先先记录源MAC地址和进入接口的对应关系到MAC地址表中。之后看数据帧中的目标MAC地址,因为目标MA地址是全F,则将进行泛洪---除了数据进入的接口外,所有接口都将转发数据。交换机泛洪的情况---1,广播帧;2,组播帧;3,未知单播帧
交换机的转发原理---交换机收到数据帧之后,首先先记录源MAC地址和进入接口的对应关系到MAC地址表中。之后看数据帧中的目标MAC地址,因为目标MAC地址是全F,则将进行泛洪---除了数据进入的接口外,所有接口都将转发数据。交换机泛洪的情况---1,广播帧;2,组播帧;3,未知单播帧
路由器收到广播包之后---路由器收到数据帧之后先看二层封装,因为其目标MAC地址为广播地址,则路由器讲解二层封装。则将根据数据帧中的类型字段将解封装后的数据包交给对应的IP模块进行处理。因为三层头部中目标IP地址为受限广播地址,则路由器将解三层封装。因为三层协议头部中协议字段为17,则路由器将把解封装后的数据段交给UDP模块进行处理。UDP根据目标端口号为67,则将解封装后的DHCP-DISCOVER报文交给对应的DHCP服务进行处理。
2,DHCP服务器---DHCP客户端---- DHCP-OFFER(里面将携带一个可用的IP地址)----单播/广播
传输层---UDP --- SPORT: 67DPORT: 68
网络层---IP --- SIP:自己的IPDIP: 255.255.255.255
数据链路层--- 以太网--- SMAC:自己的MAC地址DMAC:全F ----注意,
华为设备以单播的形式来发送DHCP-offer包
交换机的转发原理---交换机收到数据帧之后,首先先记录源MAC地址和进入接口的对应关系到MAC地址表中。之后看数据帧中的目标MAC地址,则根据目标MAC地址查看MAC地址表,如果MAC地址表中有记录,则将直接按照记录发送;如果没有记录,则泛洪。
3,DHCP客户端---DHCP服务器--- DHCP - request(如果存在多个DHCP-OFFER包,则设备将选择第一个到达的OFFER包)---广播
----1,告诉请求IP地址的服务器,需要请求他的IP地址;2,告诉没有选择的IP地址的服务器,自己已经有IP地址了,可以将他们的IP地址释放。
4,DHCP服务器--- DHCP客户端--- DHCP - ACK ---单播/广播
设备在通过DHCP协议获取一个IP地址的同时,还会获取到网关信息(68.85.2.1)以及DNs服务器的信息(68.87.71.226)
2,打开浏览器,在浏览器中的地址栏上输入需要访问的服务器的URL(资源定位符)
DNS ---域名解析协议
DNS协议存在两种查询方式----1,递归查询;2,迭代查询
设备将从输入的URL中提取到域名信息,根据域名信息通过DNs协议获取web服务器的IP地址
设备将发送DNS请求报文(本地设备会发送递归查询请求到本地DNs服务器)
传输层--- UDP --- SPORT:随机值DPORT: 53
网络层--- IP--- SIP: 68.85.2.101 DIP:68.87.71.226
数据链路层---以太网--- SMAC:自己的MAC DMAC: ? ? ?
ARP---地址解析协议---工作过程---首先,主机以广播的形式发送ARP请求报文。基于已知的IP地址获取MAC地址。所有收到广播帧的设备都会先将数据包中的源IP地址和源MAC地址的对应关系记录在本地的ARP缓存表中。之后,再看请求的IP地址。如果请求的IP地址是本地的IP地址,则将回复ARP应答报文。如果请求的IP地址不是本地的IP地址,则将直接丢弃该数据包。之后,再次发送信息时,将优先查看本地的ARP缓存表,如果存在记录,则将按照记录转发;如果没有记录,则再发送ARP请求。
传输层--- UDP --- SPORT:随机值DPORT: 53网络层--- IP--- SIP: 68.85.2.101 DIP:68.87.71.226
数据链路层---以太网--- SMAC:自己的MAC DMAC:网关的MAC地址
3,网关路由器收到DNS请求报文之后,将先查看数据帧的二层封装,确认该数据帧是给自己的,则将解二层封装看三层,根据目标IP地址查看本地的路由表。
直连路由---直连路由是默认生成的,生成条件1,接口双UP;2,接口需要配置IP地址静态路由--- 网络管理员手工添加的路由条目
动态路由---所有路由器运行相同的路由协议,之后,路由器之间沟通,交流最终计算出到达未知网段的路由条目。
2
4,本地的DNS服务器收到DNS请求信息,则将先查看本地缓存是否有记录,有则直接返回
DNS应答;如果没有,则向DNS根服务器发送迭代查询(TCP 53)。最终将结果返回给设备。
5,本地设备将基于web服务器的IP地址,发起TCP三次握手,建立TCP会话。(主要因为HTTP协议传输层使用的是TCP协议)---建立本地到服务器之间双向的会话
6,本地设备将基于TCP会话通道发送HTTP请求报文---GET
传输层---TCP --- SPORT:随机值DPORT: 80网络层---IP--- SIP:自己的IPDIP: baidu的IP
数据链路层---以太网--- SMAC:自己的MAC DMAC:网关的MAC
7, baidu服务器收到HTTP请求报文,则服务器将解封装,最终回复HTTP应答报文。200 OK
网络类型---根据数据链路层运行的协议进行划分的
P2P ---点到点
MA ---多点接入网络
BMA ---支持广播的多点接入网络NBMA ---非广播型多点接入网络
数据链路层运行的协议
以太网协议---需要在数据帧中封装MAC地址进行寻址。
原因---利用以太网协议组建的网络中可以包含两个或两个以上的接口,每个以太网接口之间都可以通过交互以太网帧的方式进行二层通讯。--- BMA
如果一个网络中只能有两台设备,则这样的网络不需要MAC地址进行区分标识,也可以正常通信,这样的网络,我们称为P2P网络。
T1-- 1.544Mbps
E1 -- 2.048Mbps
以太网做到了一个技术---频分技术---所谓频分,就是一根铜丝上可以同时发送不同频段的电波而互不干扰,实现数据的并行发送。
1,HDLC2,PPP
HDLC ---高级数据链路控制协议
标准的HDLC: ISo组织基于sDLC协议改进得到的
非标的HDLC:各大厂商在标准的HDLc基础上再进行改进而成
(思科设备组建串线网络默认使用的协议是HDLc协议,华为设备组建串线网络默认使用的协议是PPP协议。)
[r1]display interface Serial4/o/0---查看接口的二层特征[r1-Serial4/O/o]link-protocol hdlc ---修改接口协议类型
PPP ---点到点协议
1,兼容性强---拥有统一的版本,并且串线种类比较多,只要支持全双工的工作模式,则可以支持PPP协议。
2,可移植性强--- PPPoE3,PPP协议支持认证和授权
PPP和TCP协议类似,在正式传输数据之前,也需要经历建立会话的过程。
1,链路建立阶段--- LCP(链路控制协议)建立
2,认证阶段---可选项
3,网络层协议协商阶段---NCP(网络控制协议)协商---IPCP协议
PPP协议包含若干个附属协议
F--- FLAG --- 01111110
--- Address --- 111111111 --- Coltrol --- 00000011
1,链路建立阶段--- LCP(链路控制协议))建立
所谓链路建立,其实就是参数协商的过程
MRU --- PPP帧中数据部分允许携带的最大长度(字节)---默认1500字节是否需要进行认证以及认证的方式
2,认证阶段--- PAP,CHAP --- AAA
PPP的认证支持单向认证以及双向认证
PAP ---密码认证协议---被认证方将用户名和密码信息以明文的形式发给认证方,对方回应ACK则代表认证成功,如果回复NAK,则代表认证失败。
CHAP---挑战握手协议---通过比对摘要值的方式来完成认证。
摘要值--- HASH算法---散列函数---将任意长度的输入转换成固定长度的输出。
1,不可逆性
2,相同输入,相同输出3,雪崩效应
MD5 --- 可以将任意长度的输入,转换成128位输出
3,网络层协议协商阶段---NCP(网络控制协议)协商--- IPCP协议
1,IP报文的压缩格式;2,IP地址
获取IP地址方:
[r1-Serial4/0/0]ip address ppp-negotiate
给予方配置:
[r2-Serial4/0/0]remote address 10.0.0.1
PAP认证的配置
认证方:
1,在AAA中申请用户名和密码
[r1-aaa]local-user admin password cipher 123456[r1-aaa]local-user admin service-type ppp
2,在接口做PAP认证
[r1-Serial4/0/0]ppp authentication-mode pap
被认证方
[r2-Serial4/O/0]ppp pap local-user admin password cipher 123456
注意,PPP会话是一次性会话,会话一旦建立,再配置认证将不生效,再下次会话建立时才生效。
chap认证
认证方:
[r1-Serial4/0/0]ppp authentication-mode chap
被认证方:
[r2-Serial4/0/0]ppp chap user admin
[r2-Serial4/0/0]ppp chap password cipher 123456
GRE,MGRE VPN
物理专线--- 1,成本;2,地理位置限制
VPN ---虚拟专用网---隧道技术---封装技术
GRE ---通用路由封装
希望的走法
SIP: 192.168.1.1DIP:192.168.2.1数据
实际的走法
sIP: 12.0.0.1 DIP: 23.0.0.2数据
SIP: 12.0.0.1 DIP:23.0.0.2 GRE
SIP:192.168.1.1 DIP: 192.168.2.1数据
隧道技术---在隧道的两端,通过封装和解封装技术在公网上建立一条数据通道,使用这条通道进行数据传输。
GRE的配置
1,创建隧道接口
[R1]interface Tunnel 0/0/?
<0-511> Tunnel interface interface number[R1]interface Tunnel 0/0/0
[R1-Tunnel0/0/0]
2,隧道接口配置IP地址
[R1-TunnelO/0/0]ip address 192.168.3.124
3,定义封装方式
[R1-TunnelO/0/0]tunnel-protocol gre
4,定义封装内容
[R1-TunnelO/O/0]source 12.0.0.1[R1-Tunnel0/0/0]destination 23.0.0.2
MGRE ---多点通用路由封装协议
NHRP ---下一跳解析协议---需要在私网中西安选出一个物理接口IP地址不会变的作为NHRP中心(NHS ---下一跳解析服务器)。剩下的分支都需要知道中心的隧道接口IP地址和物理接口的IP地址。然后,NHRP要求所有分支将自己物理接口IP地址和隧道接口IP地址的映射关系上报给NHS。这样,NHS将把所有的映射关系记录在本地,发送信息的时候,查询即可。分支如果出接口的IP地址发生变化,则将把最新的映射关系上报给中心。分支之间需要通信,则可以先从中心获取映射关系表,之后,依据关系表进行封装转发。--- HUB-SPOKE架
构。--- MGRE在数据传输时搭建的还是一个点到点的隧道---所以,MGRE环境是一种类似于NBMA的网络环境
MGRE配置
中心:
1,创建隧道接口
[R1]interface Tunnel 0/0/?
<0-511> Tunnel interface interface number[R1]interface Tunnel 0/0/0
[R1-TunnelO/0/o]
2,隧道接口配置IP地址
[R1-TunnelO/0/0]ip address 192.168.3.124
3,定义封装方式
[r1-TunnelO/O/0]tunnel-protocol gre p2mp
4,定义封装的源IP
[r1-Tunnel0/0/0]source 15.0.0.1
5,创建NHRP域
[r1-Tunnel0/0/0]nhrp network-id 100
分支
1,创建隧道接口
[R1]interface Tunnel 0/0/?
[R1-TunnelO/O/0]
2,隧道接口配置IP地址
[R1-TunnelO/O/0]ip address 192.168.3.124
3,定义封装方式
[r1-Tunnel0/0/0]tunnel-protocol gre p2mp
4,定义封装源IP
[r2-TunnelO/0/0]source GigabitEthernet 0/0/1 ---通过出接口来定义
5,加入中心创建的NHRP域
[r2-TunnelO/0/0]nhrp network-id 100
6,找中心上报映射信息
[r2-TunnelO/0/0]nhrp entry 192.168.5.1 15.0.0.1 register
中心隧道接口IP地址中心物理接口的IP地址
[r1]display nhrp peer all --- 可以查看隧道接口和物理接口映射关系表
在MGRE环境下使用RIP获取未知网段的路由信息:
1,只有中心获取分支的路由,但是,分支获取不到路由信息
原因--- MGRE环境是一种类似于NBMA的环境,不支持组播解决方案---在中心上开启伪广播。
[r1-TunnelO/0/0]nhrp entry multicast dynamic
2,分支在中心开启伪广播后,只能学习到中心的网段信息,不能学习到其他分支的路由信息。
原因--- RIP的水平分割
解决方案--- [r1-TunnelO/0/0]undo rip split-horizon
OSPF ---开放式最短路径优先协议
LSA---链路状态通告
1,OSPF的数据包类型
hello包---周期性发现,建立,保活邻居关系。
hello时间---默认10S (30S)
Deadtime --- 4倍的hello时间
RID --- 1,全网唯一;2,格式统一--- IP地址1,手工配置
2,自动生成---首先先看自己环回接口的IP地址,选择其中数值最大的作为RID;如果没有环回接口,则取物理接口中IP地址最大的作为RID。
DBD包---数据库描述报文--- LSDB ----链路状态数据库(存放LSA信息的数据库)
LSR包---链路状态请求报文---基于DBD包请求本地未知的LSA信息
LSu包---链路状态更新报文---真正携带LSA信息的数据报
LSACK包---链路状态确认报文---确认包
OSPF存在每30MIN一次的周期更新
2,OSPF状态机
Two-Way ---标志着邻居关系的建立。
(条件匹配)---条件匹配成功,则进入下一个状态,匹配失败,则仅停留在邻居关系,使用hello包进行周期保活。
主从关系选举 --- 通过比较RID,RID大的为主。为主的可以优先获取LSA信息。并且可 以主导隐形确认。
FULL ---- 标志着邻接关系的建立。只有邻接关系,才可以交换LSA信息,而邻居关系仅使用hello包进行保活。
Down状态---启动OSPF,发出hello包之后进入下一个状态
Ilnit(初始化)状态---收到hello包中存在本地RID,进入到下一个状态2-way (双向通信)---标志着邻居关系的建立
(条件匹配)条件匹配成功,则进入下一个状态,匹配失败,则仅停留在邻居关系,使用hello包进行周期保活。
exstart(预启动)状态---使用未携带数据的DBD包进行主从关系选举,RID大的为主,为主可以优先获取LSA信息。
Exchange(准交换)状态---使用携带数据的DBD包交换目录信息
Loading (加载)状态---使用LSR包基于DBD包请求未知的LSA信息,对方发送LSU包携带LSA信息,需要LSACK进行确认
FULL状态---标志着邻接关系的建立
3,OSPF的工作过程
启动配置完成后,OSPF向本地所有运行协议的接口以组播224.0.0.5的形式发送hello包,hello包中携带本地的RID以及本地已知邻居的RID,之后,将收集到的邻居关系记录在本地的邻居表中。
邻居表建立完成后,将进入条件匹配环节,失败,则将停留在邻居关系,仅使用hello包进行周期保活。
如过成功,则将开始建立邻接关系。首先,使用未携带数据的DBD包进行主从关系选举,之后使用携带数据的DBD包共享数据库目录信息。之后,本地使用LSR/LSU/LSACK获取未知的LSA信息。完成本地数据库的建立---LSDB ---生成数据库表。
最后,基于本地的链路状态数据库,生成有向图,及最短路径树。之后,计算本地到达未知网段的路由信息,将其添加到本地的路由表中。
收敛完成后,OSPF会周期使用hello包进行保活,并且,每30min—次进行周期更新。
结构突变:
1,突然新增一个网段2,突然断开一个网段
3,无法沟通----死亡时间