ICMP有哪些消息类型?常见的ICMP报文有哪些?

什么是ICMP?

ICMP(Internet 控制消息协议)可以看作是IP协议的一种辅助协议,每当我们新搭建一个网络,首先就需要先测试一下网络是否联通,但是IP协议并没有能力判断是否丢失数据包以及分析丢失的原因。所以就需要ICMP协议来完成以下功能:一是确认IP数据包是否成功到达了目的地址,二是分析并且通知传输层IP数据包丢失的原因。

ICMP是包含在IP数据报之中的,它就像一个小弟一样跟在IP数据报头的后面,当IP数据报首部的协议字段值为1时,就代表这是一个ICMP报文。

ICMP有哪些消息类型?常见的ICMP报文有哪些?

ICMP有哪些消息类型?

ICMP的消息可以分为两类,一是用于诊断是否有错的查询消息,即查询报文;二是通知出错原因的消息,即差错报文。

ICMP有哪些消息类型?常见的ICMP报文有哪些?

ps:如果需要一下或更多网工资料,可以找我要~

ICMP有哪些消息类型?常见的ICMP报文有哪些?

 

举个例子,主机A要向主机B发送一个数据报,在经过路由器2的时候,路由器2的ARP缓存表并没有主机B的MAC地址,于是向主机B发送ARP request包来获得MAC地址,但是这时候由于主机B的电源是关闭的,所以一直得不到回应,然后路由器2再次发送,在多次发送ARP request都没有回应后,路由器2于是返回一个ICMP Destination Unreachable的包給主机。

ICMP有哪些消息类型?常见的ICMP报文有哪些?

ICMP有哪些消息类型?常见的ICMP报文有哪些?

 

常见的ICMP报文有哪些?

1. ICMP重定向报文:当路由器检测主机A到主机B使用的是非最优路径,就会向主机A发送一个ICMP重定向报文,要求主机A改变路径

ICMP有哪些消息类型?常见的ICMP报文有哪些?

例如,主机A想要连接到服务器A,于是按照默认网关地址向RTB发送报文;网关RTB收到报文后发现这条路劲不正确,应该转发到RTA,于是向主机A发送ICMP重定向报文redirect,要主机发送报文到RTA;于是主机发送报文到网关RTA,RTA再转发到服务器A。

2. 目标不可达报文:主机或者路由器不能传递数据时就是用此报文

例如:主机A需要连接到一个服务器系统不存在的端口,压根就连不通,就会返回类型字段值为3的的报文

3. 源抑制报文(类型字段为4):这个报文实际上就是起到一个流量控制的作用,适时告诉主机要减少数据包流量。要注意的是,这个报文要一直传送才可以进行流量控制,一旦停止,主机就会逐渐恢复传送速率。

4. 超时报文(类型字段为11):如果数据报丢失,或者长时间在网络游荡找不到目标,或者是网络拥塞导致的报文一直无法到达目的地,就会触发ICMP报文的产生。

重要命令ping

Ping命令可以测试网络的连通性,同时也可以给出响应时间。

ICMP有哪些消息类型?常见的ICMP报文有哪些?

测试过程:平命令首先发送一个ICMP echo request报文給目的主机;对段=端接收后会将返回ICMP echo reply报文;如果没有返回就代表着超时。

上一篇:python – 将子进程与traceroute一起使用时没有错误输出


下一篇:tracert和traceroute区别