网络层的协议只负责把数据传输到了就可以,并没有差错报告或者差错纠正机制,IP协议还缺少主机和管理查询所需要的机制。而ICMP协议就是弥补上述两个缺憾的,他是IP协议的伴侣,ICMP是一个网络层协议,但是他的数据并不是直接下发到数据链路层的。实际ICMP是先封装成IP书报的然后再下发。在IP数据报中,如果协议的字段值是1则表示ip数据是ICMP。根据ICMP的特点我们实现了ping 和 tracert 是两个常用网络管理命令,ping 用来测试网络可达性,tracert 用来显示到达目的主机的路径。ping 和 tracert 都利用 ICMP 协议来实现网络功能,它们是把网络协议应用到日常网络管理的典型实例。
报文
差错报文:报告主机或者路由器在处理ip数据时遇到的问题
查询报文:帮助主机或者管理员从从对方主机哪里获取特定信息。
报文格式
字段代表的意义:
类型:ICMP报文段的类型
代码:指明发送这个报文段的原因
校验和:
差错报告报文
ICMP不可以纠正错误只是简单地报告差错,并把差错报文发给最初的数据源。(发送者)
一共有五种错误需要处理:终点不可达,原点抑制,超时&#x