网际控制报文协议-ICMP协议
1、ICMP协议的作用
为了更有效地转发IP 数据报和提高交付成功的机会,在网际层使用了网际控制报文协议ICMP 。ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告。ICMP 是互联网的标准协议。但ICMP不是高层协议(看起来好像是高层协议,因为ICMP 报文是装在IP数据报中,作为其中的数据部分),而是IP层的协议。
2、ICMP报文格式
ICMP报文作为IP层数据报的数据,加上数据报的首部,组成IP数据报发送出去。ICMP报文格式如图4-27所示。
3、ICMP报文的种类
ICMP报文的种类有两种,即ICMP差错报告报文和ICMP询问报文。
ICMP报文的前4个字节是统一的格式, 共有三个字段:类型、代码和检验和。接着的4个字节的内容与ICMP的类型有关。最后面是数据字段,其长度取决于ICMP的类型。表4-8给出了几种常用的ICMP报文类型。
ICMP报文的代码字段是为了进一步区分某种类型中的几种不同情况。检验和字段用来检验整个ICMP报文。由于IP数据报首部的检验和并不检验IP数据报的内容,因此不能保证经过传输的ICMP报文不产生差错。
3.1、ICMP差错报告报文
表4-8给出的ICMP差错报告报文共有四种,即:
- (1)终点不可达
当路由器或主机不能交付数据报时就向源点发送终点不可达报文。 - (2)时间超过