ICMP协议

一.ICMP协议简介

        ICMP(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。ICMP协议是一种面向无连接的协议,用于传输出错报告控制信息。它是一个非常重要的协议,它对于网络安全具有极其重要的意义。  它属于网络层协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。

二.ICMP协议的功能

1.探测网络连通性(ping)

2.依次显示数据包在网络中经过设备的IP地址(tracert)

三.tracert工作原理

        tracert命令利用IP生存时间(TTL)和ICMP错误消息返回来确定数据包在网络中经过设备的IP地址。

        开始时,tarcert会强制修改IP数据包的TTL为1并发送,当数据包发送到第一个路由时,TTL-1为0,所以该路由会丢弃数据包并向原IP地址发送一个「ICMP time exceeded」的信息(包含该路由器的IP地址)。

tracert收到消息后,确定路径上的第一个路由地址,接着tracert将TTL再次加1为2,再向目的IP地址发送,发现第二个路由地址......直到IP数据包到达目的地址,该主机则不会向原IP发送ICMP time exceeded」信息,因为tracert通过UDP数据包向不常见端口(30000以上)发送数据包,因此原IP地址会收到「ICMP port unreachable」消息,故可判断到达目的地。

        tracert有一个固定的等待时间(TTL到期时间),当时间到了,它会用*号表明:表示这个设备不能再规定时间内响应,接着TTL加1继续前行。

 

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>