MSS调整

简介: 前期一个项目与外部厂商联调时,由于外部某几个网络环节存在超时或不通的情况,排查到可能需要修改部分网络环节的MSS参数信息,以下对相关操作进行记录,留待后续参考。

前期一个项目与外部厂商联调时,由于外部某几个网络环节存在超时或不通的情况,排查到可能需要修改部分网络环节的MSS参数信息,以下对相关操作进行记录,留待后续参考。

0、背景知识

MTU: Maxitum Transmission Unit 最大传输单元
MSS: Maxitum Segment Size 最大分段大小
一般以太网MTU都为1500, 所以在以太网中, 往往TCP MSS为1460

1、修改方法1---ifconfig

# 默认的设置
ifconfig ens192 mtu 1500
# 改为其他值
ifconfig ens192 mtu 1440

2、修改方法2---iptables

改变TCP MSS以适应PMTU(Path MTU)
iptables -A OUTPUT/INPUT/FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
设置mss
iptables -A OUTPUT/INPUT/FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1400
删除设置
iptables -D ,,,
---操作实例如下
iptables -A OUTPUT -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
iptables -A OUTPUT -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1400
iptables -D OUTPUT -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1400

3、修改方法3---失败

ip route change 10.110.63.0/24 dev ens192 proto kernel scope link src 10.110.63.134 advmss 1300
route -ne

4、抓包验证

tcpdump -i ens192 port 443
此时mss为1400,如下图所示

5、可能需先关闭网卡的 offload 功能

实测两个环境(都是CentOS 7.6),这个offload设置对于设置mss并无影响
tcp-segmentation-offload
generic-segmentation-offload
generic-receive-offload
关闭命令为
ethtool -K ens192 tso off
ethtool -K ens192 gso off
ethtool -K ens192 gro off
打开命令为
ethtool -K ens192 tso on
ethtool -K ens192 gso on
ethtool -K ens192 gro on

目录
相关文章
|
网络协议 网络架构
TCP/IP协议中分包与重组原理介绍、分片偏移量的计算方法、IPv4报文格式
本文章讲述了什么是IP分片、为什么要进行IP分片、以及IP分片的原理及分析。分片的偏移量的计算方法,一个IPv4包前三个分片的示例。还讲述了IPv4表示字段的作用,标志位在IP首部中的格式以及各个标志的意义:.........
2933 0
TCP/IP协议中分包与重组原理介绍、分片偏移量的计算方法、IPv4报文格式
|
4月前
|
网络协议 算法 程序员
提高网络稳定性的关键:TCP滑动窗口与拥塞控制解析
**TCP可靠传输与拥塞控制概要:** 小米讲解TCP如何确保数据可靠性。TCP通过分割数据、编号段、校验和、流量控制(滑动窗口)和拥塞控制(慢开始、拥塞避免、快重传、快恢复)保证数据安全传输。拥塞控制动态调整窗口大小,防止网络过载,提升效率。当连续收到3个相同ACK时执行快重传,快恢复避免剧烈波动。关注“软件求生”获取更多技术内容。
143 4
提高网络稳定性的关键:TCP滑动窗口与拥塞控制解析
|
3月前
|
网络协议 网络架构
MTU 和 MSS 关系、 IP分片、TCP分段
这篇文章详细解释了MTU(最大传输单元)和MSS(最大报文段长度)的关系,包括它们在不同网络层的作用、如何影响IP分片和TCP分段,以及实际网络环境中如何通过调整MTU和MSS来解决数据传输问题。
266 0
|
6月前
调整窗口大小
调整窗口大小。
44 1
|
6月前
|
监控 网络协议 算法
TCP 拥塞控制对数据延迟的影响
TCP 拥塞控制对数据延迟的影响
|
6月前
|
网络协议 开发者 Python
tcp/ip模型中,帧是第几层的数据单元?
在网络通信的世界中,TCP/IP模型以其高效和可靠性而著称。这个模型是现代互联网通信的基石,它定义了数据在网络中如何被传输和接收。其中,一个核心的概念是数据单元的层级,特别是“帧”在这个模型中的位置。今天,我们就来说一下TCP/IP模型中帧的概念,以及它作为数据单元在哪一层中扮演着关键角色。
|
缓存 网络协议 算法
窗口到底有多滑动?揭秘TCP/IP滑动窗口的工作原理
当涉及网络性能优化和数据传输可靠性时,TCP/IP滑动窗口是一个关键的技术。本文的摘要将深入揭示TCP/IP滑动窗口的工作原理,探讨其在确保数据准确性和实现高效通信方面的重要性。通过对滑动窗口大小、流控制和数据包确认机制的解析,我们将揭示如何通过优化窗口大小和流控制参数来提升网络性能。此外,我们还将介绍滑动窗口在解决网络拥塞和丢包问题方面的作用,以及如何通过精准的窗口调整实现零丢失、百分之百到达的数据传输。通过理解滑动窗口的工作原理,读者将能够更好地理解网络通信的内部机制,并为优化其应用程序的性能提供有价值的见解。
382 0
窗口到底有多滑动?揭秘TCP/IP滑动窗口的工作原理
ISIS 如何调整仿真步长
ISIS 如何调整仿真步长
143 0
|
存储 人工智能 缓存
如何设计一个速率限制器(令牌桶/漏桶/固定窗口/滑动窗口)
如何设计一个速率限制器(令牌桶/漏桶/固定窗口/滑动窗口)
如何设计一个速率限制器(令牌桶/漏桶/固定窗口/滑动窗口)
|
网络协议 安全 Unix
TCP 选项和最大分片大小 (MSS)
本文档是 Internet 工程任务组 (IETF) 的产品。它代表了 IETF 社区的共识。它已接受公众审查,并已被互联网工程指导小组 (IESG) 批准出版。并非所有 IESG 批准的文件都适用于任何级别的互联网标准;请参阅 RFC 5741 的第 2 节。
628 0
TCP 选项和最大分片大小 (MSS)