1. 程式人生 > 其它 >SDN第六次上機實驗

SDN第六次上機實驗

實驗6:開源控制器實踐——RYU

一、實驗目的

  1. 能夠獨立部署RYU控制器;
  2. 能夠理解RYU控制器實現軟體定義的集線器原理;
  3. 能夠理解RYU控制器實現軟體定義的交換機原理。

二、實驗環境

  1. 下載虛擬機器軟體Oracle VisualBox或VMware;
  2. 在虛擬機器中安裝Ubuntu 20.04 Desktop amd64,並完整安裝Mininet;

三、實驗要求

(一)基本要求

  1. 完成Ryu控制器的安裝。
  1. 搭建下圖所示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

  1. 通過Ryu的圖形介面檢視網路拓撲。
  1. 閱讀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可以檢視。

(二)實驗報告

  1. 請用Markdown排版;
  2. 將Ryu的安裝目錄設定為:/home/使用者名稱/學號,所有實驗相關程式碼檔案(如有)儲存在目錄/home/使用者名稱/學號/lab6/中;
  3. (一)需要提交在Ryu安裝目錄下執行ryu --version 結果截圖,以及tcpdump的驗證過程截圖和附圖說明,其餘文字請勿贅述;
  4. (二)不做必須要求,有完成的同學請提交相關程式碼和執行結果,以及tcpdump的驗證過程,程式碼儲存目錄同要求2,形式不限。
  5. 個人總結,包括但不限於實驗難度、實驗過程遇到的困難及解決辦法,個人感想,不少於200字。

四、心得體會

本次實驗整體上和實驗5差不多,只是將POX換成了Ryu,在進行本次實驗中要先開啟ryu-manager再建立topo,這點很重要。預設埠需要從8080改成了6633,不然無法連線到控制器。Hub是集線器,抓包的時候無法過濾資料包,當h1 ping h2時,h3依然能夠抓到轉發包。 learning是二層交換機,能夠進行資料包的過濾,當h1 ping h2時,h3就不會收到轉發包。Hub和L2Switch實現的都是洪泛傳送ICMP報文,L2Switch下發的流表無法檢視,而Hub可以檢視。