1. 程式人生 > 其它 >SDN實驗6:開源控制器實踐RYU

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的圖形介面沒有顯示出正確的網路拓撲,在實驗中並未解決此問題,檢視其他同學的文件發現,很多同學也遇到這個問題,但是也沒有解決。