20 张图解: ping 的工作原理 (5)

首先在发送端主机发送 IP 数据报时,将 IP 包首部的分片禁止标志位设置为 1。根据这个标志位,途中的路由器不会对大数据包进行分片,而是将包丢弃。

随后,通过一个 ICMP 的不可达消息将数据链路上 MTU 的值一起给发送主机,不可达消息的类型为「需要进行分片但设置了不分片位」。

发送主机端每次收到 ICMP 差错报文时就减少包的大小,以此来定位一个合适的 MTU 值,以便能到达目标主机。

巨人的肩膀

[1] 竹下隆史.图解TCP/IP.人民邮电出版社.

[2] 刘超.趣谈网络协议.极客时间.

唠叨唠叨

小林是专为大家图解的工具人,Goodbye,我们下次见!

#5af2ab8892bdabf9c471f6620cb38229#

读者问答

读者问:“有个问题就是A的icmp到了B后,B为啥会自动给A一个回执0?这是操作系统的底层设计吗?”

你说的“回执0”是指 ICMP 类型为 0 吗?如果是的话,那么 B 收到 A 的回送请求(类型为8) ICMP 报文,B 主机操作系统协议栈发现是个回送请求 ICMP 报文,那么协议栈就会组装一个回送应答(类型为0)的 IMCP 回应给 A。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwgzzg.html