林沛满-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 落后一些

相关推荐
Lily.C2 分钟前
小程序WebSocket实时通信全解析
websocket·网络协议·小程序
代码游侠5 分钟前
学习笔记——TCP 传输控制协议
linux·网络·笔记·网络协议·学习·tcp/ip
ICT技术最前线8 分钟前
华为交换机VLAN配置命令详解
服务器·网络·vlan·华为交换机
zhendianluli8 分钟前
为什么fclose处理的是file而不是fd
linux·服务器·网络
牙牙7058 分钟前
部署SFTP服务
linux·服务器·网络
绾樘9 分钟前
HCIP—OSPF综合实验
网络·智能路由器
TG:@yunlaoda360 云老大10 分钟前
华为云国际站代理商的CloudPond跨境主要有什么用呢?
服务器·网络·华为云
bing_feilong11 分钟前
ubuntu网络命令详解
linux·运维·网络
Boop_wu22 分钟前
[Java EE] 网络原理(3) https
网络·https·java-ee
天呐草莓28 分钟前
企业微信运维手册
java·运维·网络·python·微信小程序·企业微信·微信开放平台