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

相关推荐
杨充2 小时前
16.迭代器模式设计思想
网络协议·rpc·迭代器模式
Peter_chq2 小时前
【计算机网络】多路转接之select
linux·c语言·开发语言·网络·c++·后端·select
Tony聊跨境5 小时前
反向代理服务器的用途是什么?
网络·网络协议·tcp/ip·智能路由器·ip
立昂7 小时前
关于“内网可以访问21端口,通过防火墙映射后无法访问”的问题解决
网络·智能路由器
网络安全queen7 小时前
认识网络安全
网络·网络协议·网络安全
RememberLey7 小时前
【eNSP】ISIS动态路由协议实验
网络·架构·智能路由器·ensp·动态路由协议·isis·huawei
测试的艺术8 小时前
网络知识1-TCP/IP模型
网络·网络协议·tcp/ip
დ旧言~8 小时前
实战项目 Boost 搜索引擎
服务器·c语言·前端·网络·汇编·c++
Sagice9 小时前
CVE-2019-13272(Linux本地内核提权)
linux·运维·服务器·网络·安全
李李李李李同学9 小时前
等保测评讲解初测和复测有哪些区别
网络·安全·信息安全等级保护测评