网际控制报文协议 ICMP

浏览 2 次     时间 2021-08-26 21:57:34     作者 有勇气的牛排    标签 计算机网络

介绍

为了更有效地转发IP数据报和提高交付成功的机会,在网际层使用了网际控制报文协议 ICMP(Internet Control Message Protocol)

ICMP是互联网的标准协议

ICMP允许主机或路由器报告差错情况和提供有关异常的报告。

但ICMP不是搞成协议(看起来好像是高层协议,因为ICMP报文是装在IP数据报中,作为其中的数据部分),而是IP层协议。

ICMP报文作为IP层数据报的数据,加上数据包的首部,组成IP数据报发出去。

ICMP报文作为IP层数据报的数,加上数据报的首部,组成IP数据报发送出去。ICMP报文格式如下

ICMP数据报

1 ICMP报文的种类

ICMP报文的前4个字节是统一的格式,共有三个字段:

类型、代码和校验和

接着的4个字节的内容与ICMP类型有关

1.1 ICMP差错报告报文

1、终点不可达

2、时间超过

3、参数问题

4、改变路由(重定向)(Redirect)

ICMP差错报告报文

不同发送ICMP差错报告报文的几种情况

1、对ICMP差错报告报文不在发送ICMP差错报告报文

2、对第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文

3、对具有多播地址的数据报都不发送ICMP差错报告报文。

4、对具有特殊地址(如127.0.0.0或0.0.0.0)的数据报不发送ICMP差错报告报文

1.2 ICMP询问报文

有两种:

1、回送请求和回答报文

2、时间戳请求和回答报文

下面集中的ICMP报文不在使用

1、信息请求与回答报文

2、掩码地址请求和回答报文

3、路由器询问和通告报文

4、源点抑制报文

2 ICMP应用举例

2.1 ping

PING (Packet InterNet Group)

1、ping用来测试两个主机之间的连通性

2、ping使用了ICMP回送请求与回送回答报文

3、ping是应用层直接使用网络层ICMP的例子,它没有通过运输层的TCP会UDP

ping测试主机的性

ping测试主机的性

2.2 Tracetoute

1、在Windows操作系统各种这个命令是tracert

2、用来跟踪一个分组从源点到终点的路径

3、它利用IP数据报中的TTL字段和ICMP时间超过差错报告报文实现对源点到终点路径的跟踪。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。