Open vSwitch 出口流量QoS实现

Open vSwitch 出口流量QoS实现OVS中可以通过创建对应出端口的队列并配置队列最大/最小速率来实现qos操作。以下我们通过mininet中一个最简单的拓扑(一个交换机+两台主机,mininet的默认拓扑,直接运行sudo mn即可)来说明一下这个qos操作。 如图,交换机的s1-eth1(ofport=1)连接主机h1,s1-eth2(ofport=2)连接主机h2,h1...
摘要由CSDN通过智能技术生成

Open vSwitch 出口流量QoS实现

OVS中可以通过创建对应出端口的队列并配置队列最大/最小速率来实现qos操作。以下我们通过mininet中一个最简单的拓扑(一个交换机+两台主机,mininet的默认拓扑,直接运行sudo mn即可)来说明一下这个qos操作。
 

如图,交换机的s1-eth1(ofport=1)连接主机h1,s1-eth2(ofport=2)连接主机h2,h1为数据发送端,h2为数据接收端,所以我们需要对出端口,即与h2相连的s1-eth2作设置:

ovs-vsctl set port s1-eth2 qos=@newqos -- \
--id=@newqos create qos type=linux-htb other-config:max-rate=2000000 queues=123=@q1,456=@q2 -- \
--id=q1 create queue other-config:min-rate=1000000 -- \
--id=q2 create queue other-config:min-rate=400000 other-config:min-rate=2000000

以上针对s1-eth2设置了一个qos操作,其中端口被限速为2Mbits/s,对应设置了两个队列,队列123设置保障速率1 Mbits/s,队列456设置保障速率400 Kbits/s,最高速率2 Mbits/s。若要使这些队列生效,需要设置流表动作将数据包放入队列中:

ovs-ofctl add-flow in_port=1,ip,udp,tp_dst=5001,actions=set_queue:123,output:2

下面我们将用iperf来进行一些带宽实验以测试队列的效果。h1作为数据发送端,将同时向h2发送两个数据流,分别发往h2的udp5001端口和udp5002端口,其中发往5001端口的数据包会被放入队列123,发往5002端口的数据包会被放入队列456:

//iperf操作,以1Mbits/s发往5001端口为例
iperf –s –p 5001 –I 2 –u     //h2 iperf操作
iperf –c 10.0.0.2 –t 20 –I 2 –p 5001 –b 1m –u   //h1 iperf操作

下面进行了几组实验:

1.

  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值