词条 | 网间控制报文协议 |
释义 | 简称ICMP Internet Control Message Protocol TCP/IP协议族中的一种协议,位于IP层,用于传输网络中的控制信息。ICMP允许出错消息的生成、检测分组和与 IP相关的信息邮件。 实例 IP协议的目的比较明确,它只是尽力地、最快地传递数据到目的站点,因此很难诊断错误情况,必须通过另外的协议返回相应的信息。针对网间层的错误诊断、拥塞控制、路径控制和查询服务四大功能,ICMP提供相应的报文。例如:当一个分组无法到达目的站点或TTL超时后,路由器就会废除这个分组,同时向源站点返回一个目的站点不可达的ICMP报文;另外,当网络拥塞(congestion)时,路由器就会废除过载的分组,同时向源站点返回一个源站点抑制的报文。RFC 792中定义了ICMP协议。 如图2.15所示,ICMP报文是封装在IP数据报的数据区中发送的,因此并不能保证它的可靠性。为了避免重复报告所引起的“雪崩”现象,ICMP报文不再引发ICMP报文。 ┌──────┬───────┐ │ICMP头标│ICMP数据区│ICMP报文 └──────┴───────┘ ┌────┬──────────────┐ │IP头标│ IP数据区 │IP数据报 └────┴──────────────┘ 图2.15 ICMP报文的封装 2.7.1 ICMP报文格式 ICMP报文分成头标和数据区两部分,其中头标包含类型、代码和校验和三个域。ICMP报文格式如图2.16所示。 0 1 2 3 01234567890123456789012345678901 ┌───┬───┬───────┐ │ 类型│代码 │校验和 │ ├───┴───┴───────┤ │ 数据 │ ├───────────────┤ │ ··· │ └───────────────┘ 图2.16 ICMP报文格式 计算校验和的算法与IP报头校验和的算法相同,也是16位二进制反码和的反码。但要注意的是,它是整个ICMP数据报的校验和而不仅仅是头标的校验和;类型域是一个单字节整数,它指出报文的类型;代码域也是一个单字节整数,它提供关于报文类型更进一步的信息。表2-3定义了15个ICMP报文类型。 0││12│ 3││12│ 4││12│ 5││12│ 8││12│ 9││12│ 10││12│ 11││12│ (t001) |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。