TCP 的那些事 | MSS

MSS 的全称是 Maximum Segment Size(最大报文长度),是 TCP 层上的概念。MSS 指的是 TCP 报文段中数据部分的最大长度,并不是整个TCP 报文段长度,整个 TCP 报文段长度 = TCP 首部长度 + TCP 数据部分长度。

网络交互的双方进行 TCP 通信时,会在三次握手时告知对方各自的 MSS,MSS 值只会出现在 SYN 报文中。

如下抓包所示,其中IP地址为 192.168.0.100 的发起方称为 A,IP 地址为183.192.200.98 的对端称为 B:

图1. A--->B SYN

 

图2. B--->A SYN + ACK

(1)如图 1 所示:A 向 B 发送一个SYN请求报文,这个 SYN 报文的 “Options” 字段中含有 MSS 值,当前是 1460。该 MSS 值是为了告知对方最大的发送数据大小。

(2)如图 2 所示:B 收到 SYN 报文后,在 SYN + ACK 报文中的 “Options” 字段也会有 MSS 值,值也为 1440。

(3)通信双方选择 SYN 和 SYN + ACK 报文中最小的 MSS 最为此次 TCP 连接的 MSS,也即以 1440 作为双方通信的 MSS,后续的报文交互中,TCP 层的数据长度不会超过 1440,如图 3 所示。

图3. 数据交互

本次的 MSS 就介绍到这里,如有错误,还请指正。

扫描二维码,关注“小眼睛的梦呓”公众号,在手机端查看文章
扫描二维码,关注“清远的梦呓”公众号,在手机端查看文章
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值