tcp最大包长度的一次学习过程

Posted sap-george

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tcp最大包长度的一次学习过程相关的知识,希望对你有一定的参考价值。

目前以太网的事实标准Ethernet v2最大包长度1514,但是从wireshark里发现没有到这个长度的,都是1434的

技术图片

 

 而且本方的mss值是1460,但是对方只返回最大包1434的。

这是为什么呢?从网上文章得知ip分包的最大值mss会被更改。

https://wenku.baidu.com/view/47561ded551810a6f524865a.html

于是找两台主机测试一下。

技术图片

 

 上面的一次连接,本方mss1460,对方要求1380。

从对方的监控看一下

技术图片

 

 对方收到封包的mss值果真被更改了。

看来经过外网的时候果真有个设备更改了mss值。

 

另外纯本地局域网测试了一下,mss值没有被更改。

技术图片

 

 

备注:

mss指的是tcp包内数据部分的本方期望长度。

Ethernet v2最大长度=14(mac头)+20(ip头)+20(tcp头)+mss = 1514

从上图和上述公式也看出tcp最短包为54

 

 

以上是关于tcp最大包长度的一次学习过程的主要内容,如果未能解决你的问题,请参考以下文章

wireshark学习笔记:TCP协议抓包分析

python 学习笔记 -- 数据结构与算法 选择排序 Selection Sort

完整的一次 HTTP 请求响应过程

TCP 、UDP包的最大长度是多少?

IP通信学习心得03

TCP四次分手过程