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

相关推荐
火车叼位4 小时前
Windows 双网关自动切换:Node.js + 计划任务实现旁路由优先
网络协议·程序员
小张小张爱学习5 小时前
网络编程高频面试题
网络
Shingmc36 小时前
【Linux】数据链路层
linux·服务器·网络
A hao6 小时前
IP65防护等级对户外LED显示屏意味着什么
网络
无心水6 小时前
【Hermes:进阶调优与性能优化】45、性能调优:降低延迟与 token 消耗的 7 个技巧 —— 让 Hermes 智能体跑得更快、花得更少
网络·性能优化·mcp协议·openclaw·养龙虾·hermes·honcho
小贾要学习7 小时前
【Linux】Linux高性能IO多路复用:epoll全方位详解(从原理到实战)
linux·服务器·网络
编程大师哥7 小时前
高效服务器管理工具 Xshell 8 下载安装配置设置详细教程
网络
想唱rap8 小时前
五种IO模型和非阻塞IO
linux·运维·服务器·网络·数据库·tcp/ip
Bruce_Liuxiaowei9 小时前
AI攻防时间差:当漏洞发现速度碾压修复速度— 聚焦技术核心
网络·人工智能·网络安全·ai·系统安全
方安乐9 小时前
交换机的自学机制
运维·服务器·网络