ICMP协议
ICMP(Internet控制消息协议)是IP协议的辅助协议。ICMP协议用来传递网络设备之间的查错和控制信息,起到收集各种网络信息、诊断和排除网络故障的作用,大大提升了IP数据报文交互成功的机会。
ICMP功能大致分为两类:差错通知和信息查询
差错通知:IP数据包在被目的主机处理的过程中发生了什么错误。ICMP传送该错误和错误原因给源主机。
信息查询:信息查询是发送方主机向其他主机查询信息的时候使用的,可以确认目标主机IP、调查网络子网掩码、获取其他机器时间信息等等。
ICMP是封装在IP数据包中,当IP报文头部的Protocol关键字为1时便代表ICMP协议。虽然ICMP是控制IP的协议,但是ICMP的本身也是作为IP的数据进行传输和搬运的。
ICMP的格式
用来传送ICMP报文的IP数据包上有很多字段。协议、源IP地址、目的IP地址、TTL这四个字段封装在了IP报文的首部。类型(Type)、代码(Code)、校验和这三个字段封装在了ICMP的数据部分。其中最重要的是类型和、代码两个字段。
ICMP的格式取决于类型和代码两个字段,类型字段为消息类型,代码字段包含该消息类型饿具体参数。
例如&#