Mininet+RYU帶寬保障

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

Mininet+RYU帶寬保障
該拓撲結構如下圖

Mininet+RYU帶寬保障

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,如圖
Mininet+RYU帶寬保障
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。
Mininet+RYU帶寬保障
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 限速測試結果與預期相同,如圖
Mininet+RYU帶寬保障
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,帶寬超過了最低保障,說明帶寬保障機制成功,如圖
Mininet+RYU帶寬保障
四、總結
1.本實驗所設計系統是適用於OpenFlow網絡的QoS管理服務
2.本系統可以實現對TCP的限速,對帶寬的最低保障和對視頻流單獨分區以保障其帶寬

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章