举例来讲,一个新搭建好的网络,往往需要先进行一个简单的测试,来验证网络是否通畅;但是IP协议并不提供可靠传输,所以IP协议并不会通知传输层是否丢包及丢包的原因。所以才有了ICMP协议的存在。
ICMP协议即Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机与路由器间传递控制消息。这里的控制消息指的是:网络是否通畅、主机是否可达、路由是否可用等网络本身的消息。
1.ICMP功能
(1)确认IP包是否成功到达目的地址
(2)通知在发送过程中IP包被丢弃的原因
(3)它是基于IP协议工作的,但并不是传输层的功能,所以把它归结为网络层协议
(4)ICMP只能搭配IPv4使用,若是IPv6,则需要用ICMPv6
2.ICMP报文格式
ICMP大概分为两类报文:
(1)通知出错原因
(2)用于诊断查询
ICMP常用类型如下表:
3. ping命令