一、ICMP概念
Internet控制报文协议ICMP(Internet Control Message Protocol)是网络层的一个重要协议。ICMP协议用来在网络设备间传递各种差错和控制信息,它对于收集各种网络信息、诊断和排除各种网络故障具有至关重要的作用。使用基于ICMP的应用时,需要对ICMP的工作原理非常熟悉。
基于IP协议,协议号 1,ICMP是TCP/IP协议簇的核心协议之一,它用于在IP网络设备之间发送控制报文,传递差错、控制、查询等信息。
ICMP是TCP/IP协议簇的核心协议之一,它用于在IP网络设备之间发送控制报文,传递差错、控制、查询等信息。
echo request type = 8 code = 0
echo reply type =0 code=0
二、ICMP组网
全网静态路由实现互联互通 R4可以ping通R5
1、R4和R5 模拟PC , 关闭路由功能,并配置默认网关
R4(config)#no ip routing
ip default-gateway 10.1.14.1
R5(config)#no ip routing
ip default-gateway 10.1.35.3
2、R1、R2、R3 路由关键配置:
R1#sho running-config | include ip route
ip route 0.0.0.0 0.0.0.0 10.1.12.2
R2#show run | in ip route
ip route 10.1.14.0 255.255.255.0 10.1.12.1
ip route 10.1.35.0 255.255.255.0 10.1.23.3
R3#sho run | include ip route
ip route 0.0.0.0 0.0.0.0 10.1.23.2
3、R4可以Ping通R5
抓包查看ICMP报文:
Request报文:
Reply报文:
三、Tracert
Tracert 现网中配合Ping 排障使用,出现网络故障,这两个工具属于黄金搭档
通过Tracert可以精准显示网络从源头到达目的地所有经过的网络节点
1、Tracert原理与流程
1)、构造UDP数据包,设置TTL = 1
2)、发送UDP数据包,记录发送时间t1
3)、 接收ICMP差错包,如果是超时报文,则是经过的中间路由,记录路由信息,记录接收时间t2,计算时间(t2 – t1);如果是目标不可达报文,则抵达目的主机,记录势头收时间t2,打印信息,退出
4)、 构造UDP数据包,设置TTL += 1,返回第二步
其中,TTL的每个数值(如TTL = 1)发送3次UDP包,即重复2~3步3次;
2、抓包查看UDP报文TTL=1:
3、抓包查看UDP报文TTL=2:
4、抓包查看UDP报文TTL=3:
5、抓包查看UDP报文TTL=4:
总结:通过抓包分析我们可以看到从R4到R5经过三个节点,每经过一个节点TTL减去1,R4设置发出报文的初始TTL=4才能最终到达R5接口。