15
2023
12
12:44:08

防火墙外网口如何改MTU和TCP MSS值

防火墙外网口如何改MTUTCP MSS值?

解决方法


 

MTU是数据链路层的概念,表示接口的最大传输单元,一般情况下指的是接口所能传输IP报文的最大长度。

默认以太网接口MTU1500,那么传输长度为1490大小的IP报文完全没有问题;

但是VPN隧道携带了一层层封装,比如IPsec报文:

 这样就会导致封装过后的新IP报文长度可能会大于接口的MTU值, IPsec为了确保传输报文不大于物理接口的MTU值,所以规定了隧道自己的MTU值,即Path MTU,即要求被封装的报文长度不能大于这个值,否则将被分片处理。Path MTUipsec sa中可以看到,这个值不是固定的,因为每个隧道使用的模式和算法不同。

但很多业务类型是基于TCP的,TCPIP报文header通常明确指定了本报文不能给分片(Don’t fragment)。

这样的话,就必须使得载荷为TCP业务的IP报文长度必须小于Path MTU,否则将被IPsec隧道丢弃,MTU check failure会一直增长。

IP报文不可以被分片,但是TCP 报文可以。TCP三次握手的时候,头部会有协商MSSMaximum segment size)的选项,在一长串网络设备中,以设置最小的MSS来传输TCP报文。

所以我们需要将TCP MSS调小以保证TCP报文长度变小,这样IP报文长度也会变小,经过IPsec隧道时就不会被隧道MTU限制。

TCP MSS设置为多少合适呢,由于TCP业务报文的IP头和TCP头长度都是20字节,那么IP场景下;TCP MSS = Path MTU – IP Header – TCP Header = Path MTU – 40.

比如Path = 1428,那么在内外网口下设置TCP MSS1388就可以,小一点也没关系,但是不能太小,否则TCP报文重组也会消耗一定性能。

综上,不能调整接口MTU!要调整只能调整TCP MSS


调整TCP MSS,可以解决部分的ipsec问题



推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://hqyman.cn/post/4698.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: