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

相关推荐
咸鱼翻身小阿橙3 小时前
VS2008 + .NET3.5 环境、加热台TCP通讯场景
tcp/ip·php·.net
leo_yu_yty3 小时前
Go语言分布式计算(RPC入门)
网络·网络协议·rpc
2301_780789663 小时前
零信任架构中,身份感知防火墙(IAFW)的部署要点与最佳实践
linux·运维·服务器·人工智能·tcp/ip·架构
2401_868534784 小时前
2025下半年网络规划设计师真题(选择题、案例分析)
运维·服务器·网络
TechWayfarer4 小时前
查IP归属地接入实战:保险理赔如何做动态风险监控与预警
网络·python·tcp/ip·安全·flask
米丘4 小时前
SSE (server-sent events)
javascript·网络协议
Resurgence_zc4 小时前
openGauss 资源池化主备页面交互流程梳理
网络·交互·数据库开发
IPdodo跨境网络5 小时前
TCP三次握手图解与Python Socket代码验证
tcp/ip
Dlrb12115 小时前
Linux网络编程-网络基础概念(IP, UDP协议)
linux·服务器·网络·网络基础·端口号·ip协议·udp协议
shushangyun_5 小时前
汽车服务行业B2B平台+AI解决方案哪家专业:2026年最新测评
java·运维·网络·数据库·人工智能·汽车