ovs-qos配置

QoS配置

在许多网络场景中,都需要根据需求对网络流量部署服务质量(QoS)保障策略,比如限制指定主机的最大接入带宽等需求。本节将介绍如何在OVS上添加队列,并完成数据的入队操作,从而完成QoS策略部署。为方便操作,我们通过Mininet启动最小的网络拓扑来实验,这个拓扑包含一个OVS实例和挂接的两个主机。

创建网络

root@mininet:~# mn
以上命令启动了一个OVS实例s1和hl及h2两个主机,且hl和h2分别接入在sl的端口1和端口2。不指定控制器时,Mininet将自动连接到自带的简单控制器。

添加队列

首先,在交换机s1的端口1上创建了qos策略newqos,并在策略中创建类型为linux-htb的队列q0
root@mininet:~# ovs-vsctl set port s1-eth1 qos=@newqos -- --id=@newqos create qos type=linux-htb queues=1=@q1 -- --id=@q1 create queue other-config:max-rate=10000

添加流表

然后,在交换机s1上添加流表,使OVS能正确转发数据,实现h1和h2通信。添加流表项之后,使用Iperf测试,其测试结果为7.49 Mbits/sec,如图所示。此处Iperf使用了默认参数,完整命令为:iperf hl h2。

ovs-ofctl add-flow sl "in port=2,actions=output:1"
ovs-ofctl add-flow s1 "in port=2,actions=enqueue:1:0"


再次使用Iperf测试,结果为644Kbit/s,如上图示,所以QoS限速实验成功。

posted @ 2019-01-09 11:27  mrwuzs  阅读(2300)  评论(0编辑  收藏  举报