OpenFlow協議分析實驗手冊

  1. 啟動虛擬機器mininet 和 控制器 ODL

  2. 啟動wireshark,在控制器的ens32 網絡卡抓包

  3. 使用mininet建立簡單拓撲,並連線控制器,指定交換機為ovsk,指定OpenFlow協議為1.3

    # mn --controller=remote,ip=192.168.79.137,port=6633 --switch=ovsk,protocols=openflow13
  4. 這時候就會產生OpenFlow協議的資料包,我們進入wireshark檢視

    • ovs交換機與控制器建立TCP連線

    • ovs交換機與控制器協商OpenFlow版本-OFTP_HELLO

    • 控制器查詢ovs交換機特性-OFTP_FETURES_*

      • OFTP_FEATURES_REQUEST:介紹一下你自己,ovs交換機!
      • OFTP_REATURES_REPLY:我家住在翻斗大街翻鬥花園我家容量........介紹完畢。

    • OFTP_BARRIER_*

      • OFTP_BARRIER_REQUEST:上面交代的都完成了嗎?
      • OFTP_BARRIER_REPLY:完成了,繼續來吧。

    • OFTP_MULTIPART_* , OFPMP_*

      • OFPMP_DESC:問一下你的其他特殊資訊
      • OFPMP_PORT_DESC:問一下你的埠資訊
      • OFPMP_GROUP_FEATURES:問一下你的組表資訊
      • OFPMP_METER_FEATURES:問一下你的計量表資訊
      • OFPMP_TABLE:問一下單表記錄
      • OFPMP_GROUP:問一下組表記錄
      • OFPMP_FLOW:問一下單個流表項
    • OFTP_ROLE_*

      • OFTP_ROLE_REQUEST:我要充當master還是slave
      • OFTP_ROLE_REPLY:好了,你現在是master,或者你現在已經是slave了
    • PACKET_OUT

      • 廣播LLDP 刺探報文
    • PACKET_IN

      • 我迷路了,怎麼走!
      • 它說找控制器,接下來怎麼走!
      • 這個TTL有問題!
    • FLOW_MOD

      • 增刪改查流表項