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

相关推荐
y = xⁿ几秒前
HTTP 和 HTTPS 的区别
网络协议·http·https
霸道流氓气质1 分钟前
Spring Cloud Nacos 服务注册 IP 选择机制与配置详解
tcp/ip·spring cloud·php
PieroPc3 分钟前
AirDisk NAS Viewer 通过 HTTP 服务或 Windows 网络驱动器
网络·windows·http
KaMeidebaby8 分钟前
卡梅德生物技术快报|酵母表达系统工程:裂殖酵母穿梭载体分子改造与载体构建技术总结
网络·人工智能·网络协议·tcp/ip·算法
小沈跨境33 分钟前
Temu被罚2.32亿美元,CPSC认证批量上传合规指南
大数据·运维·网络·人工智能·temu·跨境
Cx330❀38 分钟前
【Linux网络】打破“一问一答”局限:从零构建全双工多线程UDP群聊系统
linux·运维·服务器·网络·网络协议·udp
纳祥科技43 分钟前
音频ADC芯片基础解析:为什么计算机需要它来理解真实世界?
网络·单片机·音视频·智能音箱
学且思1 小时前
SSE 是 HTTP/2 的服务器推送?
服务器·网络协议·http
草莓熊Lotso1 小时前
【Linux网络】深入理解 HTTP 协议(四):完善 C++ HTTP 服务器:从协议原理到生产级实现
linux·运维·服务器·c语言·网络·c++·http
weixin_604236671 小时前
华为三层交换机 企业标准完整配置
网络·华为·华为交换机命令·华为三层交换机