一、网络参考模型
1、OSI/RM
ISO(国际标准化组织)提出的,开放式互联参考模型。先有的协议才有的模型
特点:既分层又分治
分为:应用层、表示出、会话层、传输层、网络层、数据链路层和网络层
应用层
应用层提供各种各样的应用层协议,这些协议嵌入在各种我们使用的应用程序中,为用户与网络之间提供一个打交道的接口。---- ”人机交互的接口“
表示层
数据格式进行编译,对收到或发出的数据根据应用层的特征进行处理
会话层
负责在数据传输中设置和维护电脑网络中两台电脑之间的通信连接。
1、建立会话
2、保持会话(不是所有应用都需要维持)
3、断开会话
传输层
实现端到端的数据传输,及实现应用对应用的数据传输。设置一种类似于ip地址的端口号,用来区分应用端口,端口号是由16位二进制(两字节)构成,范围是0-65535。
端口号分类
0 | 保留端口号 |
---|---|
1-1023 | 知名端口号,也叫系统端口 |
1024-65535 | 高位随机端口 |
但是实际上1024-49151是注册端口(部分端口号也固定了),49152-65535才是被称为高位随机端口。但是由于注册端口太多了,所以电脑默认分配高位随机端口也是从1024开始。
网络层
基于数据包的逻辑地址进行转发,寻找网络中目的的位置,并在去往目的的多条路径中选择一条最佳的路径。添加源IP和目的IP
数据链路层
读取二进制,把二进制转为成相应的电流信号。添加源MAC和目的MAC
获取MAC地址通过ARP获取目的MAC地址
ARP(地址解析协议)
通过一种地址获取另一种地址。
分类
-
正向arp:通过已知IP地址,获取未知MAC地址;并且储存在ARP的缓存表中,老化时间180s。
-
反向arp:通过已知MAC地址,获取未知IP地址。
-
免费arp:利用正向ARP的原理请求自己的IP地址;
目的:介绍自己,冲突检测
物理层
物理层通过各类协议定义了网络的机械特征、电气特征、功能特征和规程特征。
2、TCP/IP模型
因特网大部分都有在使用。因为OSI参考模型层次划分的太细致,并且分配不均。网络层的不同,OSI制定是整个网络的规范,TCP/IP相对与英特网的规范。
3、封装与解封装
封装:数据在从高层向低层传达的过程中,每层都对接收到的原始数据添加信息,通常是附加一个报头和报尾,这个过程称为封装。解封装是输出处理的过程。
协议类型:指代上层协议。1--ICMP,6---TCP,17--UDP,89---OSPF,112--VRRP
以太网协议:也是指代上层协议。0x0800---IP,0x0806---ARP
跨层封装
这个模式只有在TCP/IP模式中才能存在
目的:提高封装和解封装速率,提高网络速率。
分为跨四层封装和跨三四层封装。
由于OSPF的编号一般相同,所以
-
跨四层封装(传输层)---- 仅仅应用于直连路由设备之间,列如:OSPF的编号一般相同,所以端口号的作用可以被OSPF的端口替代;数据包丢失反应时间久,所以直连;协议类型标识上层协议内容,IP报头中写协议字段处理。
-
跨三四层封装(传输层和网络层)---- 由于没有IP,所以仅仅应用于直连交换设备之间。通过STP协议实现;数据的分片与分段使用数据帧结构实现
IP报头
首部长度:IP头部除了数据部分的长度
总长度:头部 + 数据长度
用于将分片的数据组合在一起。
16位标识:分片的数据这个是完全相同的,用于区分分片的同一个数据
3位标识:
第一位是保留位,没有用。
第二位表明是否分片。
第三位可以判断这个是不是最后一片。
13位片偏移:意思是这百个数据包是从源数据包哪个位置开始的。
所以问1300个字节的数据会被分成以下三个包:
A数据包:包含40个字节的IP报文头,答0-460字节的数据,偏移版量为0;
B数据包:包含40个字节的IP报文头,460-920字节的数据,偏移量为权460;
C数据包:包含40个字节的IP报文头,920-1300字节的数据,偏移量为920。
生存时间(TTL):数据包每经过一个路由器的转发,其数值减1,当一个数据包的TTL值为0时,路由器将不再转发而直接丢弃
8为协议:上层所适用的协议类型 --- TCP --- 6,UDP --- 17
16位首部校验和:只校验首部。
数据帧结构图
普通的(Ethernet)二层的type字段可以标记四层的字段,代替四层的标记上层应用,从而跨过四层。并且同时IEEE802.3数据帧的二层还可以对数据进行分片,完成三层的功能。所以在跨三层、四层中,用到的是IEEE 802.3帧
二、IP地址
1、IP地址分类
A:0XXX XXXX ----- (0 - 127) 1 - 126,网络地址的最高位必须是“0” B:10XX XXXX ----- 128 - 191,网络地址的最高位必须是“10” C:110X XXXX ----- 192 - 223,网络地址的最高位必须是“110” D:1110 XXXX ----- 224 - 239,网络地址的最高位必须是“1110” E:1111 XXXX ------ 240 - 255网络地址的最高位必须是“1111”
A、B、C:三类属于单播地址,既可以作为源IP地址也可以作为目标IP地址 D:属于组播地址,只能作为目标IP地址使用 E:保留地址 单播 --- 一对一 组播 --- 一对多(同一个组播组) 广播 --- 一对所有(同一个广播域)
2、特殊IP地址
-
127.0.0.1-127.255.255.254 --- 环回地址
-
255.255.255.255 --- 受限广播地址
-
主机位全1 --- 代表广播地址
-
主机位全0 --- IP代表一个网段
-
0.0.0.0 --- 即可代表没有广播地址,也可代表任意地址
-
169.254.0.0/16 --- 本地链路地址
三、DHCP
DHCP --- 动态主机配置协议(基于UPD协议)
源端口:68;目标端口:67
首次获取IP地址
1,DHCP客户端向DHCP服务器要IP地址,但是这时候不知道DHCP服务器是谁,所以发广播找DHCP服务器 ---- DHCP-Discover
传输层
UDP --- SPORT(源端口):68 DPORT(目标端口):67
网络层
IP --- SIP:0.0.0.0(无IP地址) DIP:255.255.255.255(受限广播地址)
数据链路层
以太网协议
SMAC:自己 DMAC:全F 2,DHCP服务器对DHCP客户端回复信息 ---- 广播/单播 ---- DHCP - OFFER(会带上IP地址,但不一定给客户端)
传输层
UDP --- SPORT: 67 DPORT:68
网络层
IP --- SIP:DHCP服务器的IP地址 DIP:需要分配的IP地址
数据链路层
以太网协议
SMAC:DHCP服务器自己的MAC地址 DMAC:客户端的MAC地址 3,DHCP客户端给DHCP服务器发一个数据包,说明自己要用这个IP地址 --- 可以单播发送,但是这是以广播发送 --- DHCP - Request
原因:
1,给DHCP服务器确认要IP地址
2,给其发IP地址的人,说我已经有IP地址了,不用再发了。
传输层
UDP --- SPORT(源端口):68 DPORT(目标端口):67
网络层
IP --- SIP:0.0.0.0(无IP地址) DIP:255.255.255.255(受限广播地址)
数据链路层
以太网协议
SMAC:自己 DMAC:客户端的MAC地址
4,DHCP服务器给DHCP客户端会信息 --- 单播/广播 --- DHCP - ACK --- 只有在收到服务器的 ACK之后,才算可以使用这个IP地址。
传输层
UDP --- SPORT: 67 DPORT:68
网络层
IP --- SIP:DHCP服务器的IP地址 DIP:需要分配的IP地址
数据链路层
以太网协议
SMAC:DHCP服务器自己的MAC地址 DMAC:客户端的MAC地址 最后再次发一个广播多个ARP包,为了确定没有IP地址冲突。如果有人用,pc发给服务器,获得的IP地址删除,改为169.254.0.0/16。同时DHCP通过ICMP去验证这个IP是否真的有人使用
再次获取IP地址
1,DHCP客户端给DHCP服务器 --- 广播 --- DHCP - Request --- 请求之前使用的IP地址
2,DHCP服务器给DHCP客户端 回复--- 单播/广播 --- DHCP - ACK/DHCP - NAK --- 同意使用或者不同意使用原IP地址
租期 --- 24h
T1 --- 租期50% --- 12h --- DHCP客户端给DHCP服务器发信息要求继续使用现在的IP地址 --- 单播 --- DHCP - Request --- 可能同意使用,也可能收不到回复
T2 --- 租期87.5% --- 21h --- DHCP客户端给DHCP服务器发信息要求继续使用现在的IP地址 --- 广播 --- DHCP - Request --- 可能同意使用,也可能收不到回复。广播包的目的是避免服务器地址改变
到期IP地址就被收回
数据包 --- DHCP-release --- 客户端主动释放IP地址
DHCP的中继代理
原理
当客户机和DHCP服务器不在一个广播域时,DHCP服务器无法接收到客户机的DHCP discover广播数据包,客户机就无法获得IP地址。所以就需要客户机所在网段的网关服务器开启DHCP中继代理功能。网关服务器接收到到DHCP请求时,就将这个请求转发给DHCP服务器。当代理收到DHCP服务器的响应时,就将响应转发给主机。
注意
-
中继代理必须具有固定的IP地址
-
同时还保存有DHCP 服务器的IP 地址
-
中继代理和DHCP的服务器之间的通行是单播。
配置
[R1]dhcp enable /开启dhcp 功能
[R1-GigabitEthernet0/0/0]ip address 192.168.1.254 24
[R1-GigabitEthernet0/0/0]dhcp select relay //设置DHCP中继接口模式:relay
[R1-GigabitEthernet0/0/0]dhcp relay server-ip 10.10.10.20
//指定DHCP中继接口的DHCP服务器地址
relay 转发 release释放 renew更新 excluded排除
交换机的MAC表
格式:端口---MAC---VLAN
每条信息存在300s,交换机的自学习MAC表,学习只针对源MAC地址学习
DNS
DNS --- 域名解析服务系统(基于TCP/UDP的53号端口)
URL(资源定界符号):协议+主机:端口+文件目录
UDP报文的最大长度为512字节,而TCP则允许报文长度超过512字节。当DNS查询超过512字节时,协议的TC标志出现删除标志,这时则使用TCP发送。通常传统的UDP报文一般不会大于512字节。
DNS查询过程:
递归查询:本地服务器变为DNS代理,接收到DNS请求之后,去帮助查询。查到之后记录在本地并且转发给主机。
递代查询:本地服务器接收到DNS请求之后,去请求DNS服务器查询,如果没查到,DNS服务器告诉本地服务器谁知道,然后本地服务器自己去问DNS告诉的地方。
数据流通
应用层 | DNS请求报文 |
---|---|
传输层 | UDP----源端口:随机数;目的端口:53 |
网络层 | 源IP:本地IP 目的IP:DNS服务器 |
数据链路层 | 以太网协议----源MAC:PC;目的MAC:网关设备MAC地址 |
网络层 | ARP请求报文也可携带IP地址))源IP:自己;目的IP:网关IP |
---|---|
数据链路层 | 源MAC:自己;目的:FFFF-FFFF-FFFF |
网络层---ARP请求报文(也可携带IP地址)源IP:自己;目的IP:网关IP
数据链路层---源MAC:自己;目的:FFFF-FFFF-FFFF
路由器转发原理
原理:路由器将基于数据包中的目的IP地址查询本地路由表。若表中存在记录关系,则无条件按记录转发;若没有记录,则直接丢弃数据报文。
路由表获取未知网段信息可以通过直连路由、静态路由和动态路由
-
直连路由---路由器默认生成可用接口的智联网段的路由条目
-
静态路由---由网络管理员手工配置
-
动态路由---所有路由器运行相同路由协议,路由器之间彼此沟通,计算出未知网段路由
直连路由生成条件
-
接口双UP
-
物理层UP---本地链路正常
-
协议层UP---具备通讯协议
-
-
接口必须存在IP地址
注意:
-
两个接口刚接通的瞬间会进行数据链路层的信息交互
-
路由器的环回地址是可以通过MAC地址通讯
-
路由器的直连路由下一跳IP地址是自己的出接口
HTTP
HTTP协议---超文本传输协议
超文本 ---- 包含有超链接LINK和各种多媒体元素标记的文本
使用TCP的80端口
数据流通
PC请求服务器
应用层 | HTTP请求报文 --- 请求方式:GET(请求网页信息) |
---|---|
传输层 | TCP协议;源端口:随机端口;目标端口:80 |
网络层 | 源IP:PC;目标IP:web服务器 |
数据链路层 | 源MAC:PC的MAC ;目标MAC:与PC同广播域的网关MAC |
服务器应答PC
应用层 | HTTP请求报文 --- 应答状态码:200(正常访问) |
---|---|
传输层 | TCP协议;源端口:80;目标端口:随机端口 |
网络层 | 源IP:web服务器;:pc |
数据链路层 | 源MAC:web服务器MAC ;目标MAC:与与web服务器同广播域的网关MAC |
TCP和UDP
两者区别
1、TCP是面向链接的协议,而UDP是无连接的协议;
2、TCP协议的传输是可靠的,而UDP协议的传输 “尽力而为”;
3、TCP协议可以实现流控,而UDP不行;
4、TCP可以分段,而UDP不行;
5、TCP消耗资源较大,传输效率低。UDP消耗资源较小,速度快;
TCP和UDP的使用场景
TCP协议更适应于对可靠性要求较高,但是对传输效率和资源占用要求较低的场景。UDP更适应于对传输效率要求可靠较高,可靠性要求较低的场景(即时类通信);
什么是面向连接?
在正式传输之前,先使用预先的协议,建立点到点的链接。
TCP建立的连接实际建立了一个双向的会话连接,即通讯双方都可以向对方发送数据。
什么是无连接?
相当于没有建立连接,直接传输数据。
所以UDP服务器必须要在约定端口接受数据,否则可能接收失败
TCP的可靠性
TCP的可靠性:确认机制,重传机制,排序机制,流控机制
-
确认机制:收到数据包,回复确认收到
-
重传机制:没有收到对方的确定,一直传输这个数据
-
排序机制:保证数据按顺序传输
-
流控机制:滑动窗口机制,有一个窗口值,一次可以接受多少个数据包,会慢慢增大,直到目前的极限,然后回复一个确认包。目的是为了减少资源消耗。
TCP的分段
TCP尽量不要不要分片,因为如果在IP层进行分片了话,如果其中的某片的数据丢失了,对于保证可靠性的TCP协议来说,会增大重传数据包的机率,而且只能重传整个TCP分组(进行IP分片前的数据包),因为TCP层是不知道IP层进行分片的细节的。
MTU是数据链路层的概念。
MTU(最大传输单元):默认值1500字节 MSS (最大段长度):理论值1460字节,这个值需要进行协商,这个参数在TCP的SYN包携带,如果双方不一致,则将按照小的执行。
MSS(最大传输段) = MTU-IP头部-TCP头部
PMTU(路径MTU发现协议)
当在同一个网络上的两台主机互相进行通信时,如果两台主机之间的通信要通过多个网络,那么每个网络的链路层就可能有不同的MTU。由于不同的MTU,导致大的包无法通过小的MTU发送,并且小的路由器由于不是目标无法进行分段,所以只能丢掉。发送端如果能知道PMTU,那么发送端就可以按照PMTU,即两台通信主机路径中的最小MTU对TCP进行分段,将MSS设置成适合PMTU的值,则在通信过程中就可以避免在主机以及网络中和任何一个节点处产生IP分片。
三次握手和四次挥手
三次握手
-
第一次握手:建立连接时,客户端发送 syn 包(syn=x)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。
-
第二次握手:服务器收到 syn 包,必须确认客户的 SYN(ack=x+1)不一定都是+1,因为此时没有数据传输,所以是单纯的+1.当有数据传输的时候要视情况分析,同时自己也发送一个 SYN 包(syn=y),即 SYN+ACK 包,此时服务器进入 SYN_RECV 状态;
-
第三次握手:客户端收到服务器的 SYN + ACK 包,向服务器发送确认包 ACK(ack=y+1),此包发送完毕,客户端和服务器进入 ESTABLISHED(TCP连接成功)状态,完成三次握手。
第一次建立连接失败:
客户端:数据丢失 --- 重传;网路延迟 --- 重传 。
服务端:数据丢失 --- 没反应; 网络延迟 --- 收到两次请求,发两次确认包。
第二次失败:
客户端:数据丢失 --- 重发一次的建立连接包;网络延迟 --- 重传。
服务端:数据丢失 --- 重传[SYN,ACK]包;网络延迟 --- 重传 。
第三次失败:
客户端:数据丢失 --- 重发ACK;网络延迟 --- 重传。
服务端:数据丢失 --- 重发一次的建立连接包;网络延迟 --- 重传。
为什么是三次,而不能是两次:
发数据包每次都要对方回复,并且确保两端的信息收发没有问题。
四次挥手
-
客户端进程发出连接释放报文,并且停止发送数据。释放数据报文首部,FIN=1,其序列号为 seq=u(等于前面已经传送过来的数据的最后一个字节的序号加 1),此时,客户端进入 FIN-WAIT-1(终止等待1)状态。 TCP 规定,FIN报文段即使不携带数据,也要消耗一个序号。
-
服务器收到连接释放报文,发出确认报文,ACK=1,ack=u+1,并且带上自己的序列号 seq=v,此时,服务端就进入了CLOSE-WAIT(关闭等待)状态。TCP服务器通知高层的应用进程,客户端向服务器的方向就释放了,这时候处于半关闭状态,即客户端已经没有数据要发送了,但是服务器若发送数据,客户端依然要接受。这个状态还要持续一段时间,也就是整个 CLOSE-WAIT 状态持续的时间。
-
客户端收到服务器的确认请求后,此时,客户端就进入 FIN-WAIT-2(终止等待2)状态,等待服务器发送连接释放报文(在这之前还需要接受服务器发送的最后的数据)。
-
服务器将最后的数据发送完毕后,就向客户端发送连接释放报文,FIN=1,ack=u+1,由于在半关闭状态,服务器很可能又发送了一些数据,假定此时的序列号为 seq=w,此时,服务器就进入了 LAST-ACK(最后确认)状态,等待客户端的确认。
-
客户端收到服务器的连接释放报文后,必须发出确认,ACK=1,ack=w+1,而自己的序列号是 seq=u+1,此时,客户端就进入了 TIME-WAIT(时间等待)状态。注意此时 TCP连接还没有释放,必须经过 2∗∗MSL(最长报文段寿命)的时间后,当客户端撤销相应的TCB后,才进入 CLOSED 状态。
-
服务器只要收到了客户端发出的确认,立即进入 CLOSED 状态。同样,撤销 TCB 后,就结束了这次的 TCP 连接。可以看到,服务器结束 TCP 连接的时间要比客户端早一些。
为什么是四次而不是三次:主机A自己数据发完了,要求断开。但此时主机B不一定发完数据,所以ACK和FIN不一起发送。主机B要等到自己数据发完了才能去要求断开FIN。开始的三次握手是应为没有传输数据,跟数据无关。
为什么主机A断开还可以对主机B发送ACK:断开了只是说明没有数据传输了,并不代表主机A与主机B不能发生ACK,ACK是功能性的回复。
其他内容可参考TCP 三次握手和四次挥手图解(有限状态机) - huansky - 博客园 (cnblogs.com)
静态路由
静态路由优点和缺点
优点
-
选路由管理员选择,相对更好掌控;
-
不用占用额外的资源
-
更加安全
缺点
-
配置量大
-
静态路由无法根据网络拓扑结构的变化而自动收敛
静态路由配置的四种方法
方法一
递归查找出接口
ip route-static IP地址 子网掩码 下一跳IP地址
下一跳:去往目标网段所需要经历的下一个路由器的入接口的IP地址
标记R:代表递归计算出接口
优先级:60
方法二
激活代理ARP
ip route-static IP地址 子网掩码 出接口
路由器数据包中的目的MAC地址被写为目的IP地址所对应的MAC ---如果不开启ARP代理,则数据不通
ARP代理
arp-proxy enable ---- 开启ARP代理
arp代理激活后,路由器会查看收到的ARP请求包,基于ARP请求的IP地址查看本地的路由表,如果本地路由可达,则冒充对方的IP地址回复ARP应答。将自己的MAC地址回复,之后,数据便发到ar2路由器上,ar2路由器代为转发。
方法三
不需要进行递归查找,自己补全
ip route-static IP地址 子网掩码 出接口 下一跳IP地址
注意顺序先写出接口,再写下一跳的IP地址
方法四
写下两跳。需要递归查找。
ip route-static IP地址 子网掩码 下两跳IP地址
写下两跳或者多跳,在递归查找时,需要提前铺垫好好递归查找中所有的路由信息
拓展配置
1,负载均衡
当路由器到达同一个目标,具有多条开销相似的路径时,可以让流量进行拆分。
等价路由的数据流通规则:单个数据包,随机从一个线路走,而分片的数据包会分开走。
后延多条路径同时传输,起到叠加带宽的效果。
192.168.6.0/24 Static 60 0 RD 192.168.2.2 GigabitEthernet0/0/1 Static 60 0 RD 192.168.3.2 GigabitEthernet0/0/2
2,环回接口
路由器的一个虚拟接口,一般用于虚拟实验,而不受设备的限制。
作用:
测试网络连通性。
测试接口,能访问到虚拟接口,就能访问到其他同网段的ip地址。
[r1]interface LoopBack ? ---- 帮助解释 <0-1023> LoopBack interface number [r1]interface LoopBack 0 ---- 进入0虚拟端口 [r1-LoopBack0]
[r1]ping -a 192.168.1.1 192.168.3.1 --- 指定源IP发送ping包
不指定源IP去Ping,路由器会递归路由表,找出接口的IP作为源ip
3,手工汇总
当路由器可以访问多个连续的子网时,若均通过相同的下一跳,可以将这些 网段进行汇总操作,之后,仅需编辑到达汇总网段的静态路由即可。以达成减少路由条目,提 高转发效率的目的。到达相同的目标,多种吓一跳都相同的时候才能汇总。
4,路由黑洞
在汇总中,如果包含网络内实际不存在的网段时,可能造成流量的有去无 回,浪费链路资源。 192.168.0.0/22 192.168.0.0/24 192.168.1.0/24 192.168.2.0/24 192.168.3.0/24 合理的子网划分和汇总则可以减少路由黑洞的产生。不能避免。
5,缺省路由
华为体系中也叫默认路由。一旦路由黑洞和缺省路由相遇,将100%出现路 由环路。 缺省路由就是一条不限定目标的路由条目。缺省路由一定是路由表中所有路由条目都无 法匹配时,才最后匹配。
缺省配置:
[r1]ip route-static 0.0.0.0 0 12.0.0.2 [r1]ip route-static 0.0.0.0 0 12.0.0.2
6,空接口路由
用来解决缺省和黑洞相遇出环的问题。即在黑洞路由器上配置一条指向 汇总网段的空接口路由。 1,路由器的匹配原则 --- 最长匹配原则(精准匹配原则) ---- 数据包如果匹配到多条 路由条目,将按照掩码最长的来执行。 2,NULL0 --- 空接口 --- 虚拟接口 --- 如果一条路由条目,出接口为空接口,则如果匹 配到这条路由条目,则将直接丢弃该数据包。 [r1]ip route-static 192.168.0.0 22 NULL 0
所有去往192.168.0.0 22的ip地址全部丢弃。
7,浮动静态路由
通过修改默认的优先级,实现静态路由的备份效果。可以将优先级改大进行浮动静态路由(61-99),如果改小可能会和其他协议冲突。不要和其他协议冲突 [r1]ip route-static 192.168.2.0 24 21.0.0.2 preference 61 --- 手动修改静态路由的优先级 [r1]display ip routing-table protocol static --- 过滤静态路由 [r1-GigabitEthernet0/0/1]shutdown --- 手动关闭接口
ICMP协议
建立新网路之后,需要先进行一个简单的测试,来验证网络是否畅通;但是IP协议并不提供可靠传输。如果丢包了,IP协议并不能通知传输层是否丢包以及丢包的原因。所以我们就需要一种协议来完成测试网络是否通畅并返回信息。
ICMP协议是一个网络层协议。基于IP协议传输,当IP报头中的协议字段值为1时,就说明这是一个ICMP报文。
ICMP协议的功能
-
确认IP包是否成功到达目标地址
-
通知在发送过程中IP包被丢弃的原因
网络不可达 ---- 区域没了
主机不可达 ---- 人没了
协议不可达 ---- 到门口不让进
端口不可达 ---- 开门指令不认
重定向 ---- 重定向或改变路由
报头类型
类型 | 说明 |
---|---|
Type | 占一字节,标识ICMP报文的类型,从类型值来看ICMP报文可以分为两大类。第一类是取值为1~127的差错报文,第2类是取值128以上的信息报文 |
Code | 占一字节,标识对应ICMP报文的代码。它与类型字段一起共同标识了ICMP报文的详细类型 |
Checksum | 这是对包括ICMP报文数据部分在内的整个ICMP数据报的校验和,以检验报文在传输过程中是否出现了差错(其计算方法与在我们介绍IP报头中的校验和计算方法是一样的) |
Tracert命令
Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。
用法如下:
tracert IP/域名
ping命令
用于测试网络连接量的程序
ping命令的功能
- 能验证网络的连通性
- 会统计响应时间和TTL
过程
ping命令会先发送一个 ICMP( Echo Request)给对端。对端接收到之后, 会返回一个(ICMP Echo Reply)。若没有返回,就是超时了,会认为指定的网络地址不存在。
注意
ping命令是基于ICMP,是在网络层。而端口号,是传输层的内容。所以在ICMP中根本就不关注端口号这样的信息
用法如下:
ping IP/域名
BFD
BFD技术 ---- 双向链路检测机制
是一种全网统一的测试机制,用于快速检测、监控网络中链路或者IP路由的转发连通情况
连续三个BFD报文(可改)没有回复,则说明对方断开
配置方法
[r1]bfd ----激活BFD协议
[r1]bfd aa(会话名称,仅具有本地意义) bind(绑定) peer-ip(邻居IP) 关注的对端IP
[r1-bfd-session-aa]discriminator local 10 ---- 配置本地标识符
[r1-bfd-session-aa]discriminator remote 20 ---- 配置远端标识符
[r1-bfd-session-aa]commit ---- 提交配置
[r2]bfd
[r2]bfd bb bind peer-ip 关注的对端IP
[r2-bfd-session-bb]discriminator local 20
[r2-bfd-session-bb]discriminator remote 10
[r2-bfd-session-bb]commit ---- 提交配置
[r1]ip route-static 目标网段 子网掩码 下一跳IP地址 track(联动) bfd-session aa(会话名称) ---- 重新写一遍路由,将BFD和静态路由联动
[r1]dispay bfd session all ---- 显示bfd的所有会话
[r1-bfd-session-aa]min-rx-interval 10 ---- 修改报文发送时间间隔
[r1-bfd-session-aa]min-tx-interval 10 ---- 修改报文接收时间间隔
[r1-bfd-session-aa]detect-multiplier 5 ----- 修改丢失多少个报文判定失效