Mininet配置交换机间带宽为10Mbps,iperf测试值远高于设定值原因求解
Mininet交换机间链路带宽测试异常问题排查
核心原因
你测得的交换机间带宽不符合配置,是因为直接对Open vSwitch交换机执行iperf测试是无效操作,具体逻辑如下:
- Mininet中的OVS交换机默认工作在二层模式,没有独立的网络命名空间和IP地址,调用
net.iperf((s1, s2))时,iperf进程实际运行在宿主机的默认网络命名空间,流量走本地环回链路,完全不经过你配置的s1-s2之间的TCLink,因此带宽为宿主机环回口的性能,远高于设置的10Mbps。 - 你给s1-s2链路配置的
bw=10参数本身是生效的,之前代码中测试跨交换机主机的iperf结果(比如h1和h4、h2和h4的测试)都会符合10Mbps的带宽限制。
正确测试方案
如果要验证s1-s2链路的带宽限制,选择分别挂载在两个交换机下的主机进行测试即可,比如:
- 选择连接s1的h2和连接s2的h4
- 执行
net.iperf((h2, h4), l4Type='TCP'),测得的结果就是s1-s2链路的实际带宽
配置验证方法
如果要直接确认链路参数配置是否生效,可在Mininet CLI中执行以下命令查看端口队列配置:
# 先查看s1连接s2的端口名,通常为s1-ethX的格式 ip link show # 查看对应端口的带宽配置 ovs-vsctl list interface s1-eth2
返回结果中queues字段对应的rate值就是你设置的10Mbps。
内容的提问来源于stack exchange,提问作者ykk z
相关产品推荐
相关产品推荐

