iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 16
1

OpenFlow

OpenFlow 是SDN Controller plane與Infastructure plane 溝通的協定,可以透過OpenGFlow協定,定義Infastructure 的規則,何種類型的封包應該做怎樣的處理。

發展歷程

  • OpenFlow V1.0 (2009)
  • OpenFlow V1.1 (2011)
  • OpenFlow V1.2 (2011)
    IPv6 Support
  • OpenFlow V1.3 (2012)
    Multiple channels between switch and controller
  • OpenFlow V1.4 (2013)
  • OpenFlow V1.5 (2015)

名詞解釋

Flow:同一時間內,經過同一網路具有相同屬性的順序發送封包集合。
Flow Table:封包進入Swtich後,第一個遇到的就是Flow Table,Flow Table存放封包的轉送規則(Flow Entry)
Flow Entry:Flow Entry也就是我們所定義的轉發規則,在規則中,我們會對符合條件的規則(Match)做相應的動作(Actiion)

  • Physical Port
  • Logical Port
  • Reserved Ports
    ALL
    FLOOD
    NORMAL
    CONTROLLER

Flow Entry

每一個Flow Entry 的條目中,帶有下列六種欄位

  • Match fields
    包括封包本身的資訊或是封包關聯欄位,同一張Flow Table中,不同Flow Entry的Match Fields可以是相同的。

  • Priority
    Flow Entry 被執行的優先權,當Priority越高,則封包會越先與此Flow Entry比較。

  • Counters
    原則上每一個Entry對應一個Counter,用來計數網路資料的傳輸,例如收到多少封包、多少位元組、多少錯誤的封包等統計資料。

  • Instructions
    每個Flow Entry都包含一組指令,這些指令在數據包與條目匹配時執行。這些指令導致封包,Action Set和或Pipline處理的改變。Switch不需要支持所有的指令類型。

  • Timeouts
    Idle Timeout:Counter 會記錄最後匹配Flow的時間,如果超過就刪除Flow。
    Hard Timeout:Counter 會記錄Flow產生的時間,一旦超過就摻除Flow。

  • Cookie
    用於在Controller和Switch之間傳遞Flow Entry的相關操作,僅使用於Controller和Switch之間的訊息溝通。


上一篇
軟體定義網路介紹(SDN)
下一篇
Openvswitch 介紹
系列文
基於雲端Iaas基礎平台OpenStack結合Kubernetes,BlockChain,Spark,SDN24

尚未有邦友留言

立即登入留言