searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

ovs修改tcp mss的方法

2023-10-16 03:18:40
79
0

虚拟机通过隧道方式通信时候会碰到mtu问题,导致报文分片影响性能甚至联通, 通过调小虚拟机的mtu可以规避这类问题,

但是如果没有权限客户的mtu或者遇到了链路上新增的隧道(比如新增了ipsec vpn隧道), 这个时候可以通过调整mss来解决这个问题(只对tcp有效)。

通常可以通过iptables在虚拟机所在iptable修改mss配置, 在syn包建立连接的时候,设置mss协商值的大小来修改tcp通信的mss大小,命令如下:

iptables -t mangle -I POSTROUTING   -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1424

mss大小值设置小于(链路上最小mtu-外层长度-隧道长度-内层ip头长度-内层tcp头长度)。

在neutron网络下也可以通过使用Open vSwitch的ovs-ofctl工具可以通过OpenFlow协议修改最大报文段长度(MSS)。

要修改MSS,您需要发送一个OpenFlow消息到适当的交换机。下面是使用ovs-ofctl工具修改MSS的示例命令:
ovs-ofctl mod-tcp-segmentation <bridge> <flow> <mss>
其中,是指交换机的名称或ID,是匹配流规则的条件,是要设置的新的MSS值。
请注意,此命令将修改匹配的流的MSS。您需要根据您的网络环境和需求定义正确的流规则。
下面是一个示例命令,将MSS修改为1400:
ovs-ofctl mod-tcp-segmentation br0 "tcp,tcp_flags=SYN" 1400
0条评论
作者已关闭评论
何****森
15文章数
1粉丝数
何****森
15 文章 | 1 粉丝
何****森
15文章数
1粉丝数
何****森
15 文章 | 1 粉丝
原创

ovs修改tcp mss的方法

2023-10-16 03:18:40
79
0

虚拟机通过隧道方式通信时候会碰到mtu问题,导致报文分片影响性能甚至联通, 通过调小虚拟机的mtu可以规避这类问题,

但是如果没有权限客户的mtu或者遇到了链路上新增的隧道(比如新增了ipsec vpn隧道), 这个时候可以通过调整mss来解决这个问题(只对tcp有效)。

通常可以通过iptables在虚拟机所在iptable修改mss配置, 在syn包建立连接的时候,设置mss协商值的大小来修改tcp通信的mss大小,命令如下:

iptables -t mangle -I POSTROUTING   -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1424

mss大小值设置小于(链路上最小mtu-外层长度-隧道长度-内层ip头长度-内层tcp头长度)。

在neutron网络下也可以通过使用Open vSwitch的ovs-ofctl工具可以通过OpenFlow协议修改最大报文段长度(MSS)。

要修改MSS,您需要发送一个OpenFlow消息到适当的交换机。下面是使用ovs-ofctl工具修改MSS的示例命令:
ovs-ofctl mod-tcp-segmentation <bridge> <flow> <mss>
其中,是指交换机的名称或ID,是匹配流规则的条件,是要设置的新的MSS值。
请注意,此命令将修改匹配的流的MSS。您需要根据您的网络环境和需求定义正确的流规则。
下面是一个示例命令,将MSS修改为1400:
ovs-ofctl mod-tcp-segmentation br0 "tcp,tcp_flags=SYN" 1400
文章来自个人专栏
neutron
6 文章 | 1 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0