【SDN Switch Flow Table 設定 — 使用MiniNam 】

上一篇提到關於MiniNam的安裝,現在我們就以MiniNam為例子,研究關於SDN Switch上Flow Table的設定吧

  • 考慮一個環狀的網路拓樸(ring)

    Screenshot from 2018-04-03 23-00-48.png
    自定義環狀拓樸語法如上
  • 同時執行Ryu controller 和 MiniNam

    [ Ryu ]
    ryu-manager –verbose –observe-links ryu/app/rest_topology.py ryu/app/ofctl_rest.py ryu/app/simple_switch_13.py

    [ MiniNam ]
    ./MiniNam –custom topo_new4.py –topo myoop –controller remote

    Screenshot from 2018-04-03 23-00-57.png

    Screenshot from 2018-04-03 23-01-49.png
    環狀拓樸圖形介面
  • 進行ping測試,兩主機間彼此不相通,為什麼?Screenshot from 2018-04-03 23-02-32
  • Ryu ofctl API 介紹

    #取得所有Switch資訊
    $ curl -X GET http://localhost:8080/stats/switches (localhost可用127.0.0.1取代)

    # 獲得單一Switch上目前設定的Flow Table規則
    $ curl -X GET http://localhost:8080/stats/flow/<Switch的dpid&gt;

    Screenshot from 2018-04-03 23-03-36.png
    Screenshot from 2018-04-03 23-03-44.png

    Screenshot from 2018-04-03 23-09-52
    系統預設有兩條flow entry,其中「Output: 4294967293」表示直接將封包交由給Controller做處理,第一條和第二條的差別在於match欄位,第一條將比對到的“01:80:c2:00:00:0e”(系統保留mac)交給controller執行

    第二/三/四台switch其flow entry同第一台,故省略

  • 在開始新增flow entry前,我們要先了解dpid和port的關係
    Screenshot from 2018-04-04 01-40-10.png
    比對switches 和 interface 便可得知其關係

    Screenshot from 2018-04-03 23-01-49-5.png
    其對應 port 關係如圖所示
  • 開始新增flow entry至switch

    # 新增指令
    curl -X POST -d {要送到SWITCH的FLOW ENTRY} http://127.0.0.1:8080/stats/flowentry/add

    Screenshot from 2018-04-03 23-14-51.png
    新增6比flow entry至switch 1
    Screenshot from 2018-04-03 23-01-49
    分別加入的這6筆封包流向
    Screenshot from 2018-04-03 23-17-27
    新增2筆flow entry 至 switch 2

    Screenshot from 2018-04-03 23-01-49-2.png

    Screenshot from 2018-04-03 23-18-42.png

    Screenshot from 2018-04-03 23-01-49-3.png

    Screenshot from 2018-04-03 23-19-22.png

    Screenshot from 2018-04-03 23-01-49-4

  • ping 測試
    Screenshot from 2018-04-03 23-21-11.png
    h1 ping h2 成功

    Screenshot from 2018-04-03 23-22-28.png
    h2 ping h1 成功
  • 上述已成功完成flow entry雙向設定,也就是說h1和 h2 之間有兩條路徑可走,接下來我們只設定單向的路由(順時針方向)
    Screenshot from 2018-04-04 01-44-47
    switch 1 設定
    Screenshot from 2018-04-04 01-45-23.png
    switch 2 設定
    Screenshot from 2018-04-04 01-46-54.png
    switch 3 設定

    Screenshot from 2018-04-04 01-47-17.png
    switch 4 設定
  • h1 和 h2 可相互ping 通,且封包走順時針方向

 

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s