一、ICMP协议

Internet控制消息协议ICMP是IP的辅助协议

1、作用

 ICMP协议用来在网络设备间传递差错和控制信息。

2、ICMP消息

 ICMP消息封装在IP报文中,protocol字段值为1时,表示ICMP协议

3、ICMP字段

 Type字段:消息类型

 Code字段:包含消息类型的具体参数

 ICMP消息的格式取决域Type字段和Code字段

 校验和字段:检查消息是否完整

 消息中包含32bit的可变参数,一般不使用,通常设置为0

  ICMP重定向消息中,这个字段用来指定网关IP地址,主机根据这个地址将报文重顶向到指定网关

  echo消息中,这个字段包含标识符和序号,源端根据这两个参数将收到的回复消息与本段发送的Echo请求消息关联。尤其当源端向目的端发送多个echo消息时,需要根据标识符和序号将echo请求和回复消息一一对应

二、ICMP重定向

ICMP重定向报文时ICMP控制报文的一种。在特定的情况下,当路由器检测到一台机器使用非最有路由时,它会向该主机发送一个ICMP重定向报文,请求主机改变路由

三、ICMP差错检测

ICMP Echo消息常用于诊断源和目的之间的网络连通性,同时还可以提供其他信息,如报文往返时间。

ping:ICMP的典型应用ping命令

 ping是检测网络连通性的常用工具,同时也能收集其他相关信息。

四、ICMP错误报告

ICMP定义了各种错误消息,用于诊断网络连接性问题;根据这些错误消息,源设备可以判断出数据传输失败的原因。

tracert

 Tracert依据报文投中的TTL值来逐条追踪报文的转发路径