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

相关推荐
谢亮_vipxieliang6 分钟前
私有镜像仓库:Registry、Harbor 与镜像同步实战
网络·docker·容器
iCxhust21 分钟前
51单片机电力载波应用开发(3)载波模块点对点收发
网络·嵌入式硬件·51单片机
j7~22 分钟前
【Linux网络】四十六.《高级 IO (上篇)》-- 详解
linux·运维·网络
treesforest26 分钟前
网络安全中的IP地址查询:从日志里的一条线索到溯源的关键证据
网络·web安全·php
凤山老林38 分钟前
Spring Boot 集成 Netty 构建高性能 TCP 长连接网关:协议解析、心跳检测与集群广播实战
spring boot·后端·tcp/ip
liangshanbo12151 小时前
面试题:HTTP/2有哪些升级
网络·网络协议·http
web打印社区1 小时前
远程打印:WebSocket 与 HTTP 轮询怎么选
前端·vue.js·websocket·网络协议·http·electron·pdf
极客范儿2 小时前
华为HCIP网络工程师认证—DHCP、NAT和 PPPOE
网络·华为
不会就选b2 小时前
Linux之http会话
服务器·网络协议·http
码匠许师傅2 小时前
【C++三方组件】Asio 下篇:C++20 协程版 TCP 客户端与服务端
c++·tcp/ip·c++20