ICMP(Internet Control Message Protocol,互联网控制报文协议)是TCP/IP协议簇的一个子协议,主要用于在IP主机和路由器之间传递控制消息。这些控制消息包括网络通不通、主机是否可达、路由是否可用等信息,虽然不传输用户数据,但对于用户数据的传递起着重要作用。
ICMP的基本用途
- 确认IP包是否成功抵达目的地:如果IP数据包由于某种原因未能抵达目的地,ICMP会通知发送者具体原因,帮助维护人员解决问题。
- 诊断网络故障:ICMP最典型的应用是PING和traceroute。PING通过发送回送请求报文来检测源主机到目的主机的链路是否有问题,而traceroute通过发送探测报文来获取链路地址信息。
ICMP端口的概念
ICMP本身并不使用端口号。ICMP消息被封装在IP数据报中,并通过IP数据报的协议字段(值为1)来标识。ICMP消息的类型和代码用于区分不同类型的控制消息,例如回送请求、回送回答、时间超过等。
ICMP与端口的关系
ICMP消息并不直接与端口号相关。ICMP消息是通过IP数据报传递的,而IP数据报的源和目的端口号用于标识发送和接收数据的具体应用。因此,ICMP本身不涉及端口号的概念,而是通过IP数据报中的端口号来与其他应用进行交互。
简单点说,ICMP就是供ping命令使用的,用于测试网络联通状况。但是,也有例外,服务器网络设置里面,可以不开放这个协议ICMP,这个时候,你用ping命令是无效的。