iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 28
1
Software Development

菸酒生 - Software Defined Network系列 第 28

一Ryu大師: REST API

tags: Ryu

REST API

REST: Representational State Transfer

Purpose: 觀察 Controller packet in

  1. 先 Ping 再 GET 查看 MAC 位址表
  2. 先 PUT 更新 MAC 位址表 再 Ping

Step 1:

  • 開啟 Mininet 後(左圖)
  • 切到 ryu/ryu/app(Ready for 執行Ryu)(右圖)
  • 設定 OpenFlow 版本

Step 2-1: 由 ping 更新 MAC 位址表

  • 開啟 Ryu
  • [Optional] GET (可用於觀察MAC位址表變化)
  • mininet>h1 -c 1 h2 //ping
  • GET


Step 2-2: 由 PUT 更新 MAC 位址表

  • 重啟 Mininet&Ryu 設版本
  • PUT 設定 MAC 對應的 Port (如下圖)
  • [Optional]GET
  • mininet>h1 -c 1 h2 // ping

結果

  • 理論上:
    • 依照 Ryubook 1.0 說明文件:
      • Packet In x 3 ~ ARP ~ 先Ping版本
        • h1 發出 broadcast
        • h2 回應 h1 說 here (我在這)
        • h1 知道了 送到 h2 所在的 port
      • Packet In x 1 ~ 先PUT版本
    • 我的想法:
      • 先Ping版本
        • ARP
      • 先PUT版本
        • NO ARP
  • 實際上:
    • 不符合 Ryubook 1.0 說明文件 說的情況
      也不Match我想的情況...
    • 有多出來的 Packet in
    • 依文件:
      • 第一次 以 broadcast
      • 仍會出現 接連的封包交換
        • 與 文件的 Output 不一樣

        這時候交換器中已經存在著 Flow Entry。 Packet-In 只會發生在當 h1 到 h2 的 ARP 出現且沒有接連發生的封包交換時。


Reference:


上一篇
一 Ryu 大師: QoS
下一篇
SDN-Defense #Paper
系列文
菸酒生 - Software Defined Network30

尚未有邦友留言

立即登入留言