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之間的訊息溝通。
转载请注明:XAMPP中文组官网 » OpenFlow 協定介紹