【博客193】抓取报文查看TCP连接MSS的大小

本文深入探讨了TCP报文中的MSS(Maximum Segment Size)概念,解析了MSS在通信中的作用及其对数据传输效率的影响。文章通过实例展示了如何抓取TCP三次握手报文并分析MSS大小,强调了合理MSS值对于避免数据包分片和提高传输效率的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

内容: 记录抓取TCP报文查看实际协商的MSS大小

前言:

MSS(Maximum Segment Size):报文数据段最大长度,每个连接方通常都在通信的第一个报文段
(也就是设置SYN标志为1的那个报文)中指明这个选项,它表示本端所能接受的最大报文段的长度,
应用数据被分割成TCP认为最适合发送的数据块。MSS选项占4byte

注意:只是数据部分的字段,不包括TCP的头部!!!!

MSS的值尤为重要,太小或太大都是不合适:
1、MSS太小,例如MSS值只有1byte,那么为了传输这1byte数据,至少要消耗20字节IP头部+20字节TCP
头部=40byte,显然这样的数据传输效率是很低的

2、MSS过大,导致数据包可以封装很大,那么在IP传输中分片的可能性就会增大,接受方在处理分片包所
消耗的资源和处理时间都会增大,如果分片在传输中还发生了重传,那么其网络开销也会增大。因此合理的
MSS是至关重要的。MSS的合理值应为保证数据包不分片的最大值。

对于以太网MSS可以达到1460byte = MTU(1500- IP头(20) - TCP头(20)
(即:TCP一次发送的应用数据大于MSS,会分段成多个TCP包发送出去)

报文抓取TCP三次握手报文,并查看其中SYN报文的MSS大小:
在这里插入图片描述
在这里插入图片描述
结果:可以看到双方协商完毕,选取标准的1460作为各自的MSS大小

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值