SDN第六次上機實驗
阿新 • • 發佈:2021-10-13
實驗6:開源控制器實踐——RYU
一、實驗目的
- 能夠獨立部署RYU控制器;
- 能夠理解RYU控制器實現軟體定義的集線器原理;
- 能夠理解RYU控制器實現軟體定義的交換機原理。
二、實驗環境
- 下載虛擬機器軟體Oracle VisualBox或VMware;
- 在虛擬機器中安裝Ubuntu 20.04 Desktop amd64,並完整安裝Mininet;
三、實驗要求
(一)基本要求
- 完成Ryu控制器的安裝。
- 搭建下圖所示SDN拓撲,協議使用Open Flow 1.0,並連線Ryu控制器。
ubuntu@ubuntu:~/211906160/lab6/ryu/ryu/app/gui_topology$ ryu-manager gui_topology.py --observe-links
sudo mn --topo=single,3 --mac --controller=remote,ip=127.0.0.1,port=6633 --switch ovsk,protocols=OpenFlow10
- 通過Ryu的圖形介面檢視網路拓撲。
-
閱讀Ryu文件的The First Application一節,執行並使用 tcpdump 驗證L2Switch,分析和POX的Hub模組有何不同。
執行並使用tcpdump(方法同POX),h1 ping h2,h2 和 h3 都接收到h1傳送的ICMP報文,h1 ping h3,h2 和 h3 都接收到h1傳送的ICMP報文。對比可知,Hub和L2Switch實現的都是洪泛傳送ICMP報文,L2Switch下發的流表無法檢視,而Hub可以檢視。
(二)實驗報告
- 請用Markdown排版;
- 將Ryu的安裝目錄設定為:/home/使用者名稱/學號,所有實驗相關程式碼檔案(如有)儲存在目錄/home/使用者名稱/學號/lab6/中;
- (一)需要提交在Ryu安裝目錄下執行ryu --version 結果截圖,以及tcpdump的驗證過程截圖和附圖說明,其餘文字請勿贅述;
- (二)不做必須要求,有完成的同學請提交相關程式碼和執行結果,以及tcpdump的驗證過程,程式碼儲存目錄同要求2,形式不限。
- 個人總結,包括但不限於實驗難度、實驗過程遇到的困難及解決辦法,個人感想,不少於200字。
四、心得體會
本次實驗整體上和實驗5差不多,只是將POX換成了Ryu,在進行本次實驗中要先開啟ryu-manager再建立topo,這點很重要。預設埠需要從8080改成了6633,不然無法連線到控制器。Hub是集線器,抓包的時候無法過濾資料包,當h1 ping h2時,h3依然能夠抓到轉發包。 learning是二層交換機,能夠進行資料包的過濾,當h1 ping h2時,h3就不會收到轉發包。Hub和L2Switch實現的都是洪泛傳送ICMP報文,L2Switch下發的流表無法檢視,而Hub可以檢視。