Iptables下TCPMSS使用

简介:

mtu是网络传输最大报文包。 mss是网络传输数据最大值。 mss加包头数据就等于mtu. 简单说拿TCP包做例子。 报文传输1400字节的数据的话,那么mss就是1400,再加上20字节IP包头,20字节tcp包头,那么mtu就是1400+20+20. 当然传输的时候其他的协议还要加些包头在前面,总之mtu就是总的最后发出去的报文大小。mss就是你需要发出去的数据大小。

1.MSS: Maxitum Segment Size 最大分段大小 

2.MSS最大传输大小的缩写,是TCP协议里面的一个概念。 

3.MSS就是TCP数据包每次能够传输的最大数据分段。

为了达到最佳的传输效能TCP协议在建立连接的时候通常要协商双方的MSS值,这个值TCP协议在实现的时候往往用MTU值代替(需要减去IP数据包包头的大小20Bytes和TCP数据段的包头20Bytes)所以往往MSS为1460。通讯双方会根据双方提供的MSS值得最小值确定为这次连接的最大MSS值。


--set-mss value #设置特定MSS值  

--clamp-mss-to-pmtu #根据MTU自动调整MSS 

例如:

iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

这条规则的目的就是改变TCP MSS以适应PMTU(Path MTU)

一种是把mss设置为一个固定值:

iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN- j TCPMSS --set-mss 1460



本文转自 Linux_woniu 51CTO博客,原文链接:http://blog.51cto.com/linuxcgi/1980972

相关文章
|
网络协议 Shell
iptables 详解
iptables 详解
89 0
|
6月前
|
负载均衡 网络协议 算法
iptables 具体介绍
iptables 具体介绍
|
安全 网络协议 Linux
扒一下一直不求甚解的 iptables
iptables 是用于配置 Linux 2.4.x 及更高版本包过滤规则集的用户空间命令行程序。它针对系统管理员。 由于网络地址转换 (NAT) 也是从包过滤规则集配置的,iptables 也用于此。 iptables 包还包括 ip6tables。ip6tables 用于配置 IPv6 包过滤器。
扒一下一直不求甚解的 iptables
|
Kubernetes 网络协议 算法
Iptables 介绍与使用
Iptables 介绍与使用
453 0
Iptables 介绍与使用
|
网络协议 Linux 测试技术
iptables超全详解
数据包先经过PREOUTING,由该链确定数据包的走向:     1、目的地址是本地,则发送到INPUT,让INPUT决定是否接收下来送到用户空间,流程为①--->②;     2、若满足PREROUTING的nat表...
2137 0
|
网络协议 网络安全 网络虚拟化
|
网络协议 网络安全
|
网络协议 算法 网络安全
|
网络协议 网络安全