ICMP的作用:由于IP协议的两个缺陷:没有差错控制和查询机制,因此产生了ICMP。ICMP主要是为了提高IP数据报成功交付的机会,在IP数据报传输的过程中进行差错报告和查询,比如目的主机或网络不可到达,报文被丢弃,路由阻塞,查询目的网络是否可以到达等等。ICMP有两种报文类型:差错报告报文和询问报文。差错报告报文:终点不可到达(由于路由表,硬件故障,协议不可到达,端口不可达到等原因导致,这时路由器或目的主机向源站发送终点不可到达报文);源站抑制(发生拥塞,平衡IP协议没有流量控制的缺陷);超时(环路或生存时间为0);参数问题(IP数据报首部参数有二义性);改变路由(路由错误或不是最佳)。询问报文:回送请求或回答(用来测试连通性,如:PING命令);时间戳请求或回答(用来计算往返时间或同步两者时间);地址掩码请求或回答(得到掩码信息);路由询问或通告(得知网络上的路由器信息)。ICMP是网际(IP)层的协议,它作为IP层数据报的数据,加上数据报的首部,组成数据报发送出去。