1. 概念
ICMP(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
2. ICMP出现的原因
在IP通信中,经常有数据包到达不了对方的情况,在各种错误发生的现场,为了联络发信方(报告错误信息)而飞过来的信鸽就是ICMP 报文。在IP 网络上,由于数据包被丢弃等原因,为了控制将必要的信息传递给发信方ICMP担任了此功能。ICMP 协议同样也是为了辅助IP 协议,交换各种各样的控制信息而被制造出来的(ICMP 是为了分担IP 一部分功能而被制定出来的)
3. ICMP的用途
ICMP 大致分成两种功能:差错通知和信息查询
1)是到IP 数据包被对方的计算机处理的过程中,发生了什么错误时被使用。不仅传送发生了错误这个事实,也传送错误原因等消息。
2)的信息询问是在送信方的计算机向对方计算机询问信息时被使用。被询问内容的种类非常丰富,他们有目标IP 地址的机器是否存在这种基本确认,调查自己网络的子网掩码,取得对方机器的时间信息等。
4. ICMP消息列表
5. ICMP之ping命令报文分析
ping 命令用来在IP 层次上调查与指定机器是否连通,调查数据包往复需要多少时间。
网络通:
网络不通原因举例:
1)请求未响应(no response found)
2)目标不可达--端口不可达(Port unreachable)
3)目标不可达--目标主机不可达(Host unreachable)
4)改变路由--主机路由改变(Redirect for host)
5)超时--寿命到了(Time-to-live exceed in transit)