计网协议簇具体协议
目录
1.0 ICMP协议
1.1 作用
1.2 头部(安装顺序)
1.3 实现工具
1.3.1 ping命令
作用
ICMP报文
查询报文
差错检测报文
1.3.2 tracert命令
2.0 IP协议
2.1 所在层数
2.2 头部格式
2.3 头部内容
2.4 TCP分段与IP分片比较
3.0 TCP协议
3.1 头部
3.1.2 固定头部
3.1.3 不定头部
3.2 TCP的可靠机制
3.2.1 TCP连接机制
TCP的三次握手
TCP四次挥手
3.2.2 TCP确认重传机制
3.2.3 滑动窗口机制
3.2.4 完整性校验机制
3.2.5 特点
3.2.6 适用场景
4.0 UDP协议
4.1 头部
4.2 特点
4.3 使用场景
5.0 以太网帧协议
6.0 TELNET协议
6.1 原理
6.2 功能
6.3 telnet实验基础配置
7.0 RIP路由协议
7.1 学习过程及原则
7.1.1 原则
路由器初始启
初次路由交互
路由收敛完成
7.1.2 学习过程
7.1.3 计时器
7.1.4 数据包
7.1.5 特点
7.1.6 版本
version 1
version 2
8.0 OSPF协议
8.1 诠释
8.2 三张表
8.3 五种数据包
8.4 ospf工作过程
8.4.1 第一步
8.4.2 第二步
8.4.3 第三步
8.5 ospf状态机
8.6 ospf的多区域
8.6.1 区域产生背景
8.6.2 分区好处
8.6.3 区域类型
8.6.4 多区互联原则
8.7 路由角色
8.8 ospf特点
9.0 DHCP协议
9.1 工作原理
9.2 dhcp的八个报文
9.3 DHCP中继代理
9.4 下发DHCP协议流程命令
9.5 华三与华为的不同
10.0 arp协议
10.1 工作原理
10.2 工作流程
10.3 分类
10.4 arp表特点
1.0 ICMP协议
网际报文控制协议
1.1 作用
-
网络故障的差错(或异常)报告
-
网络探询:通过一个命令可以探询出经过多少个网络设备的传输(可以探查出这几个网络设备的IP地址)
1.2 头部(安装顺序)
1.3 实现工具
1.3.1 ping命令
作用
用于测试网络连通性
ICMP报文
查询报文
我们可以通过发包数量与回包数量来判断目标的状况
-
Echo Request:ping命令的请求
-
Echo Replay:ping命令的回复
差错检测报文
-
网络不可达:网络故障
-
主机不可达:寻找的IP地址有问题
-
协议不可达:协议不兼容
-
端口不可达:防火墙禁止ping服务,端口不连通
-
重定向:指导数据报文的流向,使数据流向正确的网关;特定情况下,当路由器检测到一台机器使用非优化路由的时候,它会向该主机发送一个ICMP重定向报文,请求主机改变路由(即:当不是最优路线时,寻找最优路线)
-
连接超时:
-
当路由器发现生存字段(ttl)值为0的数据报时,就丢弃这个数据报,并向源点发送超时报文(TCP协议)
-
当最后的终点在规定的时间内没有收到所有分片时,它就会丢弃已收到分片并向源点发送超时报文(IP协议)
-
备注:ttl(生存时间):ttl值最高为225(经过255个路由器);不仅是交换机有成环问题,路由器也可能会存在,当数据路径超过255个时,我们人为认为路由器可能出现了成环问题
-
1.3.2 tracert命令
作用:路由跟踪(一般在同一个局域网内),可以看到数据报都到过哪个路由器
2.0 IP协议
2.1 所在层数
网络层事实上的、标准的、唯一的协议(ICMP、IGMP协议在3.5层,RARP、ARP协议在2.5层)
2.2 头部格式
IP头部+上层(传输)传下来的数据
2.3 头部内容
长度(20到60字节),固定长度20字节
Version:版本,IPV4、IPV6
IHL:IP的头部长度(不包括从上层(传输层)传下来的数据)
Type of Service:服务器类型,标识业务流量(每个部门所使用的数据所产生的流量)的优先级(标识那个流量优先发送出去)
Total Length:总长度=IP头部+上层(传输层)传下来的数据长度
Identification:标识,区分网络上不同的IP数据
Flags:标志位(旗帜),是否分片(超过数据总长度时进行分片)
DF:DF=1表示不分片
MF:MF=1表示分片
Fragment Offset:片偏移,表示该IP包在该片分组中的位置
Time To live:生存时间,经过路由器的数量,每经过一个路由器时TTL(time to live)值减1(当减为0时代表把数据丢弃)
Protocol:协议,表示从上层传下来的数据所使用的协议
Header Checksum:头部校验和
Source Address:源地址(源IP地址)
Destination Address:目标IP地址
2.4 TCP分段与IP分片比较
-
TCP分段:MSS(最大数据分段长度)为1500字节,传输层分段后数据部分字节为1480字节
-
IP分片:MTU(最大传输单元)为1500字节,网络层分片后数据部分字节为1460字节(1500减TCP头部和IP头部)
-
以太网接口(可以理解成网线接口)默认MTU为1500字节Byte
-
PPPOE接口默认MTU为1492字节Byte
3.0 TCP协议
传输控制协议
3.1 头部
固定的头部字长(前五行)为20字节(32*5/8)范围20到60个字节
3.1.2 固定头部
Source Port:源端口;Destination Port:目标端口
Sequence Number:序列号,标识本机发送的数据报文的编号
Acknowledgment Number:确认号,表示收到了对方的消息,请求对方下次发送的数据报文编号
Data Offset:数据偏移,标识数据分段在完整数据中的位置
Recerved:保留,留给将来要开发的功能去使用
Window:窗口,通告本机的接受能力
Checksum:校验和,等于TCP协议头部加从上层传下来的数据
Urgent Pointer:紧急指针
Flag:标志
URG紧急指针
PSH:推,让缓冲区的数据尽快的达到接收者那边
RST:重置,重置TCP的连接
ACK:标志着对对方消息的确认,与ack配套使用
SYN:标志连接的建立,与seq:序列号配套使用
FIN:表示通知对方本端要关闭连接了
3.1.3 不定头部
Options:可选项
Padding:填充
3.2 TCP的可靠机制
3.2.1 TCP连接机制
TCP的三次握手
第一次:客户给服务器发送一个包,请求建立连接,此时,这个包中SYN=1(服务器收到后可以确定客户的发送与自身的接受问题)
第二次:服务器给客户端回应一个ACK的包文(让客户知道自己的发送与接受没有问题)同时服务器告诉客户端我也同意建立连接,此包中SYN=1
第三次:客户端给服务器回复一个确认包文,此包中ACK=1,表示服务器的发送无障碍时,方可以稳定建立连接,三次握手完成后就可以进行数据传输(第三次握手后紧接着就是数据传输了)
TCP四次挥手
第一次:客户端向服务器发送连接断开请求,此时包中FIN为1
第二次:当服务器收到后,给客户端回复,表明收到断开连接请求此时包中ACK为1
第三次:再次由服务器发送给客户端连接断开请求此包中FIN=1,ACK=1
第四次:客户端收到后,再次发给服务器同意断开的信息,此包中ACK=1,等待服务器关闭后客户端立马关闭
3.2.2 TCP确认重传机制
ACK等于上一次的seq加上一次的len
seq等于上一次的ack
3.2.3 滑动窗口机制
通过窗口的大小,告知本机的接收能力,从而实现流量控制
3.2.4 完整性校验机制
通过Checksum字段,实现对数据完整性的校验
3.2.5 特点
-
面向连接,可靠协议
-
有流量控制机制
-
保证数据的完整性
-
进行数据分段
3.2.6 适用场景
对传输效率要求低,正确性要求高的场所(如发送文件、邮件)
4.0 UDP协议
用户数据协议
4.1 头部
length(长度):在传输层整体数据长度(UDP头部加从应用层传输的数据长度)
4.2 特点
-
无连接,不可靠协议
-
传输数据时,尽最大努力交付(不进行缓冲)
-
没有流量控制机制
4.3 使用场景
对传播效率要求高,准确性要求低的场所(如聊天、直播等)
5.0 以太网帧协议
头部
-
前同步码:调整接收端的时钟周期使其与发送端一样(两个网络要同时同步,要不然发不了信息)
-
帧开始定界符:标识数据帧的开始
-
FCS:MAC帧的尾部,校验序列号(与Checksum作用相识)
-
类型:指上层的协议类型
6.0 TELNET协议
6.1 原理
利用TCP连接,创造一条客户端和对端设备之间的通道,以便于登录到对端设备,telnet是一个C/S模式,默认端 口号:2
6.2 功能
-
提供虚拟终端功能
-
协商选项机制
6.3 telnet实验基础配置
aaa模式:AAA是认证(Authentication)、授权(Authorization)和计费(Accounting)
[telnet server-aaa]local-user wangdaye privilege level 15 password cipher wdy12345 //创建用户名和 密码,并赋予用户一定的权限
[telnet server-aaa]local-user wangdaye service-type telnet //开启用户的远程登录服务
[telnet server]user-interface vty 0 4 //设置能登录的用户数量
[telnet server-ui-vty0-4]authentication-mode aaa //设备用户的人认证模式
7.0 RIP路由协议
7.1 学习过程及原则
7.1.1 原则
路由器初始启
初次路由交互
路由收敛完成
此时所有路由器的路由表信息相同
每个路由器周期性的发送自己的路由表信息给自己相邻的路由器
7.1.2 学习过程
1.对于自己路由表中没有的路由信息,无条件学习,并将cost值加1(对应传过来的路由表信息中的cost值加1)
2.对于自己路由表存在的路由信息,会比较下一路由信息的来源
如果来源相同(同一个路由器发送过来的网段信息),则对于这个路由信息无条件学习(易构成环路问题)
如果来源不相同(不同路由器发送过来的网段信息),则会比较两个路由表信息的cost值,学习cost值小的
环路的产生原因
每个路由器的路由表信息的更新周期是不同步的
环路解决方法
-
水平分割法(rip协议自动开启,不需要人为开启):不会把从一个接口学习到的路由信息回传到这个接口
-
路由毒化:会把从一个接口学习到的路由信息带毒回传到这个接口(带毒回传:在路由条目信息后面加inf)
-
保持失效计时器:保持180秒,路由器打上possibly down标签,路由设计为16跳
-
最大跳数限制:不超过16跳
-
触发更新:对于网络拓扑的变化,会立刻通知给其他相邻路由器
7.1.3 计时器
-
更新计时器:30秒
-
抑制计时器:180秒,更新欺骗
-
保持失效计时器:保持180秒,路由器打上possibly down标签,路由设计为16跳
-
刷新计时器:240秒(在180秒基础上再加60秒),彻底删除瘫痪路由信息
7.1.4 数据包
-
update:更新数据包
-
request:请求数据包,请求的是自己路由表中没有的那条路由信息
-
response:回复请求的路由信息
7.1.5 特点
-
周期性和触发性更新,周期性更新会发送全部路由信息,占用每条线路上大量的带宽(路由收敛后也会发送更新包)
-
最大条数限制为15跳,不适合大规模组网
-
公有协议,UDP-520端口(因为是端口号,所以是不可靠传输)
-
路由收敛速度慢
-
协议存在环路问题
7.1.6 版本
version 1
不支持VLSM(可变长掩码);不能关闭自动汇总;不支持认证(用于线路接口设置密码,可以确保安全性);广播发送协议报文(所有的设备都可以收到,不需要此报文的设备则会丢弃,会造成线路带宽浪费加重)
version 2
支持VLSM(可变长掩码);可以关闭自动汇总,进行手动汇总;支持认证;组播发送协议报文(组播地址为224.0.0.9)
8.0 OSPF协议
8.1 诠释
开放式最短路径优先协议;一种共有的、标准的协议;采用dijskstart算法(spf算法)最短路由优先算法;;周期性的发送链路状态给它的邻居
8.2 三张表
-
路由表:提供路由信息(ospf路由表)
-
拓扑表:存放链路状态数据库表(lsdb表),里面的链路状态通告信息简称为lsa
-
邻居表:存放了邻居的状态与基本信息
8.3 五种数据包
-
hello包:周期性的建立和维护邻居关系
-
dbd(dd):数据库描述报文,描述的是链路状态通告报文lsa的摘要信息(即目录信息)
-
lsr:链路状态请求报文,请求自己没有的或者比自己更新的链路状态的信息lsa
-
lsu:链路状态更新报文
-
lsAsk:链路状态确认报文
8.4 ospf工作过程
8.4.1 第一步
确认可达性,建立邻居(通过三次hello包建立)
-
router id:标识路由器的身份
-
手工配置:ipv4格式,点分十进制格式
-
自动选举
-
环回口:IP地址最大的优先成为router id
-
物理接口:IP地址最大的优先成为router id
-
-
建议:一般一个配置一个环回口
8.4.2 第二步
lsa摘要同步,开始建立邻接关系
步骤:
1.A向邻居B发送dbd报文,通告本地链路状态信息库表lsdb中所有的癞lsa摘要信息
2.B收到报文后,与本地的lsdb做对比,向A发送lsr报文,请求A发送自己需要的lsa的完整信息
3.A收到lsr报文后,把B需要的lsa的完整信息打包成一条lsu报文,发送给B
4.B收到lsu报文后,向它的对方A回复lsAck报文,进行确认
注:
选举dr(指定路由)与bdr(备份指定路由):
选举原因:保证路由信息的交互(lsa的摘要交互)更加高效有序的进行、减少ospf邻接关系数量,减少设备设备性能负担,减少网络中泛洪ospf的报文数量
选举规则:
路由器的优先级(0到225),默认优先级为1,数据越大,优先级越高,优先级为0,则代表此接口不参加dr与bdr的选举
router id值大的优先成为dr次之为bdr
关系状态
dr与bdr建立邻接关系
dr与drother建立邻接关系
bdr与drother建立邻接关系
drother之间不可以建立邻接关系(会造成环路问题)
dr没有抢占性,当dr出现故障时,bdr会顶替dr位置,当bdr也出现故障时,网段会重新选择新的dr与bdr
8.4.3 第三步
完整信息同步,完成邻接关系的建立(于此同时,完成邻接关系建立,lsdb和ospf表形成),是通过spf算法去计算ospf路由表中的每一条路由条目的最短路径。
8.5 ospf状态机
-
down:稳定状态(关闭状态),这种状态属于手动指定邻居状态,发送第一个hello包时进入下一状态
-
attempt:一般不会出现,收不到对方的hello回包,这种情况一般出现再nbma网络(非广播多点接入网络)
-
init:初始化状态,收到了对方的hello回包,但是对方没有收到自己的hello确认包
-
tow-way:双方互相发现了邻居,邻居状态关系稳定,并确认dr与bdr的角色,稳定状态
-
exstart:交换开始状态(预启动),发送一个空的bdb报文,不发送lsa的摘要信息
-
exchange:交换状态,发送后续的bdb报文,用于通告lsdb的lsa的摘要信息
-
full:完全邻接关系建立,lsdb表与ospf路由表形成,稳定状态
-
ospf更新周期为30分钟
8.6 ospf的多区域
8.6.1 区域产生背景
如果运行ospf协议的路由器都处于一个区域,随着网络规模的变大,同步的lsdb表会变得非常缓慢,会导致诸多问题
8.6.2 分区好处
-
减少lsa的传播范围
-
减少路由表的规模
-
提高网络的扩展性,有利于大规模组网
8.6.3 区域类型
-
骨干区域
-
非骨干区域
-
特殊区域
注:骨干区域的区域名只能是0(area 0),除0之外的任何数字不可以作为骨干区域名
8.6.4 多区互联原则
-
非骨干区域必须与骨干区域相连
-
非骨干区域之间不能相连
-
骨干区域不能被分割
8.7 路由角色
-
ir:内部路由器,所有接口都在一个区域内
-
br:边界路由器,连接多个区域
-
abr:区域边界路由器(连接骨干区域与非骨干区域的路由器)
-
asbr:自治系统边界路由器,连接其他as,此设备运行了多种路由协议
-
as:自治系统,同一个自治系统的路由器的as编号相同(一个城域网就是一个as)
8.8 ospf特点
-
没有跳数限制
-
使用组播更新变化的路由和网络信息,每隔30分钟向邻居发送一次自己的lsa信息
-
dr与bdr的组播接收地址:224.0.0.6
-
drother(网络中所有运行ospf协议的路由器):224.0.0.5
-
-
路由收敛速度快
-
以cost值作为度量值(rip协议以跳数作为度量值)
-
有效避免环路问题(一定根据区域划分原则)
-
在互联网上被大量使用,是使用最广泛的路由协议
9.0 DHCP协议
9.1 工作原理
9.2 dhcp的八个报文
-
DHCP discover:用于发现当前网络中的DHCP服务器端
-
DHCP offer:携带分配给客户端的IP地址
-
DHCP request:告诉DHCP服务器端自己将使用该IP地址(dhcp租期更新)
-
租期达到50%时会向服务器发起租约更新请求
-
租期达到87.5%时如果客户端在线,会向服务器发起租约更新请求
-
-
DHCP Ack:最终确认告知客户端可以使用该IP地址
-
DHCP NAK:DHCP响应拒绝报文,这是服务器端对客户端的DHCP request报文的响应拒绝,比如:租期到期,客户端不在线。服务器 端出现故障,导致其没法分配IP地址,则会给客户端发送一个DHCP NAK报文
-
DHCP decline:DHCP拒绝报文,当客户端发现服务器端分配给自己的IP地址发生冲突,会给服务器端发送一个DHCP decline报文
-
DHCP release:DHCP地址释放
-
租约到期,服务器端无响应,客户端会自动停止使用该IP地址
-
如果客户端不再使用服务器分配的IP地址,也可以主动向DHCP服务器发送DHCP RELEASE(DHCP释放报文)报文,释放该IP地址
-
-
DHCP inform:DHCP通告报文,客户端已经获取到了IP地址,此时客户端会向服务发送一个DHCP inform报文,向服务器请求IP地址相 应的掩码、网关、DNS服务器地址等信
9.3 DHCP中继代理
注:用于跨网段分配IP地址,后面配网的实验使用次数蛮多的,头脑中要有这个概念
9.4 下发DHCP协议流程命令
-
[R1]dhcp enable 开启DHCP服务
-
[R1]ip pool aa 创建地址池
-
[R1-ip-pool-aa]network 192.168.1.0 mask 24 给地址池里分配IP地址
-
[R1-ip-pool-aa]gateway-list 192.168.1.254 配置网关地址
-
[R1-ip-pool-aa]dns-list 114.114.114.114 8.8.8.8 配置DNS服务器地址
-
[R1-GigabitEthernet0/0/0]dhcp select global 进入接口下,下发DHCP服务
9.5 华三与华为的不同
-
华三:其DHCP discover、DHCP offer、DHCP request、DHCP Ack四个报文都是以广播包发送
-
华为:DHCP discover(广播)、DHCP offer(单播)、DHCP request(广播)、DHCP Ack(单播)
10.0 arp协议
10.1 工作原理
广播请求,单播回复
10.2 工作流程
-
1.组网完成时,arp表是空的
-
2.主机1寻找主机2的mac地址时,会将此数据广播发送给网络所有的主机(此时发送的包是arp request)
-
3.所有主机收到后会做个对比,对比一下数据包中的目的IP地址,如果数据中的IP地址和自身主机的IP地址是一致的,则认为这个主机1是找自己的,会给主机1做个回复(此时这个包是arp reply )告知主机1自己的mac地址;同时主机2会学习主机1的IP和MAC,并将其写入arp表中;
-
4.主机1收到后,会学习主机2的IP和MAC地址,并将其写入自己的arp表
10.3 分类
-
正向ARP:根据已知的IP地址解析出相应的MAC地址
-
反向ARP:根据已知的MAC地址解析出相应的IP地址
-
免费ARP:自我介绍;地址冲突的检测
10.4 arp表特点
老化时间为180秒