林沛满-TCP 是如何避免被发送方分片的?

TCP 可以避免被发送方分片,是因为它主动把数据分成小段再交给网络层。最大的分段大小称为 MSS(Maximum Segment Size),它相当于把 MTU 刨去 IP头和 TCP 头之后的大小,所以一个 MSS 恰好能装进一个 MTU 中。

图4

图 4 演示了 MSS 和 MTU 的关系。有的时候 TCP 头不只 20 字节,所以会侵占一些 MSS 的空间,比如图 5 的例子中就占用 12 字节作为 TCP Options,那传输层真正用来承载数据的就剩下 1500-20-20-12=1448 字节了。这些字节数都能在Wireshark 中看到。这就是为什么我向网络教师们大力推荐 Wireshark,演示时真是一目了然。

图5

UDP 则没有 MSS 的概念,一股脑交给网络层,所以可能被分片。分片和重组都会影响性能,所以 UDP 在这一点上比 TCP 落后一些

相关推荐
23zhgjx-hyh12 分钟前
配置多区域OSPF,配置OSPF手动汇总,配置OSPF特殊区域
网络
23zhgjx-hyh16 分钟前
OSPF报文分析
网络·智能路由器
23zhgjx-zgx1 小时前
OSPF:虚链路
网络·tcp/ip·华为·智能路由器·ensp
咩咩觉主2 小时前
Unity网络开发基础 (2) 网络协议基础
网络·unity·c#
C182981825753 小时前
tcp udp区别
网络协议·tcp/ip·udp
嵌入式悦翔园4 小时前
嵌入式设备的功能安全和信息安全?
网络·安全·php
CodeAaron4 小时前
智慧城市新基建:AI代理IP如何让城市管理“耳聪目明”?
人工智能·tcp/ip·智慧城市
喝养乐多长不高5 小时前
HTTPS加密原理详解
网络·网络协议·http·https·证书·非对称加密·对称加密
D-river5 小时前
【Academy】HTTP 请求走私 ------ HTTP request smuggling
网络·网络协议·安全·web安全·http·网络安全
只做开心事7 小时前
Linux网络之数据链路层协议
linux·服务器·网络