ICMP(Internet Control Message Protocol)是TCP/IP协议族中的一种协议,主要用于网络中传递控制信息和数据包错误信息。在网络中,所有的IP数据包都由各种各样的设备传输,包括路由器、交换机、防火墙等,为了保证网络的稳定性和安全性,需要及时的监控网络的状态和数据包传输的情况,这就是ICMP协议的主要适用场景。
ICMP报文共有16种类型,每种类型的报文都携带不同的信息,具体介绍如下:
1. Echo Reply报文
当一个主机需要确认到达某个目标主机的网络连接是否正常时,就会通过发送Echo Request报文到目标主机。目标主机收到Echo Request报文后,会向源主机发送Echo Reply报文,并在报文头部添加一些元素,比如一个序列号和一个时间戳。
2. Destination Unreachable报文
当一个数据包发送到一个不可到达的目的地址时,会引发Destination Unreachable报文的发送。这种报文通常由路由器或防火墙发送,告诉源主机该数据包无法被传送。
3. Redirect报文
当一个主机发送数据包给另一个主机时,如果数据包需要经由另一个主机中转,那么中转主机将会发送Redirect报文,告知源主机下次直接发送数据包到另一个目的地址。
4. Source Quench报文
当网络中的数据包超载时,就会发送Source Quench报文,告知源主机降低传送速度或停止传输数据包。
5. Time Exceeded报文
当一个数据包被路由器丢弃,路由器会返回一个Time Exceeded报文,告知源主机该数据包的生存周期已到达或TTL已超过。
6. Parameter Problem报文
当一个IP数据包存在无效的参数时,就会发送Parameter Problem报文,告知源主机该数据包存在无效的参数。
7. Timestamp Request报文
当一个主机需要获得其他主机的时钟时间时,就会发送Timestamp Request报文,该报文请求接收方返回当前时钟时间的信息。
8. Timestamp Reply报文
当一个主机接收到一个Timestamp Request报文时,就会发送Timestamp Reply报文,该报文携带接收方的时间戳信息。
9. Information Request报文
当一个主机需要查询其他主机的网络地址、系统信息等详细信息时,就会通过发送Information Request报文实现。
10. Information Reply报文
当一个主机收到Information Request报文时,就会将该主机的网络地址、系统信息等详细信息封装在Information Reply报文中返回。
11. Address Mask Request报文
当一个主机需要查询路由器或其他主机的子网掩码时,就会发送Address Mask Request报文进行查询。
12. Address Mask Reply报文
当一个主机收到Address Mask Request报文时,就会将该主机的子网掩码信息封装在Address Mask Reply报文中回复。
13. Router Advertisement报文
当一个路由器加入到网络中时,就会发送一个Router Advertisement报文,告知其他主机路由器的存在并提供一些相关的信息。
14. Router Solicitation报文
当一个主机需要查询网络中的路由器时,就会发送一个Router Solicitation报文,等待路由器向该主机返回一个Router Advertisement报文。
15. Trace route报文
Trace route报文主要用于确定网络的拓扑结构,它会在每台中继路由器上依次转发数据包,并收集相关的信息,最终把收集的信息返回给源主机。
16. Mobile Host Request报文
Mobile Host Request报文主要用于移动IP中,当一个移动主机离开原来的网络时,向新的网络发送IP报文时,需要通过Mobile Host Request报文告知原网络和收件人新的IP地址。
扫码咨询 领取资料