TCP/IP协议 卷一 ICMP

ICMP

差错报文,报文是在IP数据报内部传输的
在这里插入图片描述
规范: RFC792

ICMP报文

在这里插入图片描述

各个字段:

类型和代码决定了不同类型的ICMP报文。查询报文还是差错报文。响应差错报文的时候不会再生成差错报文以免无限递归
整个差错报文由IP首部,ICMP数据报和产生ICMP数据报的IP数据报的前8个字节组成
这样就可以与协议(IP首部中的协议字段)和用户进程(IP数据报8个字节中的TCP或UDP首部中包含的端口号)联系起来
在这里插入图片描述
在这里插入图片描述

不产生ICMP差错报文的情况
  1. ICMP差错报文
  2. 目的地址是广播地址或多播地址的IP数据报
  3. 作为链路层广播的数据报
  4. 不是IP分片的第一片
  5. 源地址不是单个主机的数据报,也就是说源地址不能是零地址,环回地址,广播或多播地址
    这些限制是防止ICMP差错报文对广播组发送大量的数据

ICMP地址掩码请求与应答

在这里插入图片描述
用于无盘系统在引导过程中获取自己的子网掩码。请求方式是广播
标识符和序列号由发送端自己填。这样在应答的时候能对的上不搞错
流程:
无盘系统广播ICMP地址掩码请求。如果有主机收到了该请求就会进行应答,应答中包含了子网掩码的信息
ICMP地址掩码应答必须是收到请求接口的子网掩码的主机

ICMP时间戳请求与应答

ICMP时间戳请求使指向另一个系统查询当前时间,返回的值UTC(好像也可以改成其他格式)到现在的毫秒数 时间从1900年1月1日0点0分0秒开始算

报文格式

在这里插入图片描述
请求端写发起时间戳 应答端写接受时间戳和传送事件戳。

ICMP端口不可达差错

UDP数据报的目的端口与目的主机上的进程不相符会返回一个ICMP不可达报文
在这里插入图片描述
这是UDP数据报发送失败后返回的数据报

ICMP不可达数据报报文

在这里插入图片描述
利用原始IP数据报中数据的前8字节能够分析出是哪个协议的哪个端口发起的数据报

发布了239 篇原创文章 · 获赞 31 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/soulwyb/article/details/103008728