SDN實驗6:開源控制器實踐RYU
一、實驗目的
1.能夠獨立部署RYU控制器;
2.能夠理解RYU控制器實現軟體定義的集線器原理;
3.能夠理解RYU控制器實現軟體定義的交換機原理。
二、實驗環境
1.下載虛擬機器軟體Oracle VisualBox或VMware;
2.在虛擬機器中安裝Ubuntu 20.04 Desktop amd64,並完整安裝Mininet;
三、實驗要求
(一)基本要求
1.完成Ryu控制器的安裝。
2.搭建下圖所示SDN拓撲,協議使用Open Flow 1.0,並連線Ryu控制器。
-
建立拓撲:
sudo mn --topo=single,3 --mac --controller=remote,ip=127.0.0.1,port=6633 --switch ovsk,protocols=OpenFlow10 -
連線ryu控制器:
ryu-manager ryu/ryu/app/gui_topology/gui_topology.py --observe-links
3.通過Ryu的圖形介面檢視網路拓撲(直接訪問http://127.0.0.1:8080即可)
4.閱讀Ryu文件的The First Application一節,執行並使用 tcpdump 驗證L2Switch,分析和POX的Hub模組有何不同。
-
通過 vim 編輯儲存 L2Switch.py 檔案
-
使用ryu-manager L2Switch.py執行
-
h1 ping h2:
-
h1 ping h3:
-
可以看到均為洪泛轉發ICMP報文
不同之處在於L2Switch下發的流表無法檢視,而Hub可以檢視
四、個人總結
-
本次實驗與實驗五非常相似,都是一個驗證性實驗,通過實驗,我能夠獨立部署RYU控制器;能夠理解RYU控制器實現軟體定義的集線器原理;能夠理解RYU控制器實現軟體定義的交換機原理。
-
實驗過程中遇到了一些問題:在第一次搭建拓撲後,h1 ping h2操作無法接通
後面經過查詢其他同學的經驗,發現了需要先開啟ryu控制器,執行L2Switch.py檔案之後再搭建拓撲,按此順序執行步驟才能使得ping成功,最後按照次方法解決了問題。 -
還有個問題就是Ryu的圖形介面沒有顯示出正確的網路拓撲,在實驗中並未解決此問題,檢視其他同學的文件發現,很多同學也遇到這個問題,但是也沒有解決。