Mininet +ryu实现业务带宽保障 一、工具安装 1.安装Mininet 1>安装git ,命令:apt install git 2>获取Mininet源码,命令: git clone git://github.com/mininet/mininet 3>安装Mininet ,命令:util/install.sh -a 2.安装ryu 1>获取源码 命令:git clone git://github.com/osrg/ryu.git 2>进入ryu文件夹,执行pip install -r tools/pip-requires,然后再执行 python setup.py install 二、配置实验环境 1.启动ryu控制器和ovs交换机 命令:ryu-manager simple_switch_13.py

2.通过建立python文件自定义一个拓扑结构
		mytopo.py

该拓扑结构如下图

3.在mininet仿真网络中启动自定义的拓扑结构
	命令:sudo ./mn --custom ./mytopo.py --topo mytopo –			  		controller=remote,ip=127.0.0.1,port=6653

三、实验 1.测不加入限速队列时的带宽 mininet中输入xterm h1 h2,开启两台虚拟主机控制台,h1作为服务器端输入 iperf -s 10.0.0.2,h2作为客户端输入iperf -c 10.0.0.1 结果带宽为43Gbps,如图 2.加入限速队列 命令:sudo ovs-vsctl set port s1-eth1 qos=@newqos -- --id=@newqos create qos type=linux-htb other-config:max-rate=10000000 queues=0=@q0,1=@q1,2=@q2 -- --id=@q0 create queue other-config:max-rate=3000000 other-config:min-rate=2000000 -- --id=@q1 create queue other-config:min-rate=2000000 -- --id=@q2 create queue other-config:max-rate=5000000 other-config:min-rate=1000000 限制总带宽为10Gbps,队列q0最大3Gbps,最小2Gbps;队列q1最小2Gbps;队列q2最大5Gbps,最小1Gbps。 3.测试q0队列带宽 使数据包走q0队列 命令:sudo ovs-ofctl add-flow s1 "priority=5, ip,nw_src=10.0.0.1, actions= set_queue:0,normal" 结果为2.96Gbps,证明系统端口速率 TCP 限速测试结果与预期相同,如图 4.测试q1队列带宽 使数据包走q1队列 命令:sudo ovs-ofctl add-flow s1 "priority=5, ip,nw_src=10.0.0.1, actions= set_queue:1,normal" 结果为2.03Gbps,带宽超过了最低保障,说明带宽保障机制成功,如图 四、总结 1.本实验所设计系统是适用于OpenFlow网络的QoS管理服务 2.本系统可以实现对TCP的限速,对带宽的最低保障和对视频流单独分区以保障其带宽