七叶笔记 » golang编程 » 现网中网络排错必用的ICMP和Tracert实战理解

现网中网络排错必用的ICMP和Tracert实战理解

一、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接口。

每天私信小编的前10名小伙伴可免费学习华为HCIA+思科CCNA精品直播答疑课。欢迎【零基础】立志从事网络行业,有科技兴国或立志成为一名HCIE或CCIE伟大梦想的高端网络人才私信小编。如果学习动机强烈,梦想成为一名高端网络人才,请私信小编,名额有限,机会只留给真正需要的人。

欢迎【零基础】学网络的小伙伴们加入网工训练营,资料每天限量10份先来先得哦。单独私信即可免费领取!【私信小编备注:资料】 同时会有更多免费视频供大家学习。

将来的你必定感谢现在拼命学习奋斗的自己!学习,是对自己最好的投资!

当你想成为一名HCIE的时候就已经是一名HCIE了,走自己的路,加油!

相关文章