3.Internet控制消息协议(ICMP)
ICMP全称是Internet Control Message Protocol,中文名为Internet控制消息协议。ICMP负责向数据通信中的源主机报告错误,可以实现故障隔离和故障恢复。
网络本身并不是十分可靠的,在网络传输过程中,可能会发生许多突发事件并导致数据传输失败。前面说到的IP是一个无连接的协议,它不会处理网络层传输中的故障,而位于网络层的ICMP协议却恰好弥补了IP的缺陷,它使用IP进行信息传递,向数据包中的源端节点提供发生在网络层的错误信息反馈。另外,通过 ICMP,使用IP通信的主机和路由器可以报告错误并交换受限控制和状态信息。
在下列情况中,通常自动发送ICMP消息:
- IP数据报无法访问目标。
- IP路由器(网关)无法按当前的传输速率转发数据报。
- IP路由器将发送主机重定向为使用到达目标的更佳路由。
在IP数据包中封装和发送ICMP消息,如下图所示。

ICMP在IP数据包封装
这里需要注意:由于ICMP 消息是在 IP 数据包中携带的,因此也是不可靠的。不同类型的 ICMP 消息在 ICMP 报头中标识,表1-4列出并说明最常见的 ICMP 消息类型。
| ICMP消息 | 描 述 |
| 请求回显 | 确定IP节点(主机或路由器)能否在网络上使用 |
| 回显答复 | 回复ICMP回显请求 |
| 无法连接目标 | 通知主机数据报无法传递 |
| 源结束 | 通知主机由于拥塞而降低发送数据报的速率 |
| 重定向 | 通知首选路由的主机 |
| 超时 | 指明IP数据报的生存时间(TTL)已到期 |
ICMP消息类型
网络管理员经常使用Ping命令发送ICMP回显请求消息并记录收到ICMP回显答复消息。使用这些消息,可以检测网络或主机通信故障并解决常见的TCP/IP连接问题。
4.Internet组管理协议(IGMP)
IGMP全称是Internet Group Multicast Protocol,中文名为Internet组管理协议。该协议运行于主机和与主机直接相连的组播路由器之间,是IP主机用来报告多址广播组成员身份的协议。通过IGMP,一方面可以通过IGMP主机通知本地路由器希望加入并接收某个特定组播组的信息。另一方面,路由器通过IGMP周期性地查询局域网内某个已知组的成员是否处于活动状态。
IGMP的主要作用是解决网络上广播时占用带宽的问题。在网络中,当给所有客户端发出广播信息时,支持IGMP的交换机会将广播信息不经过滤地发给所有客户端。但是这些信息只需要通过组播的方式传输给某一个部分的客户端。