1. 程式人生 > 實用技巧 >思科ccie 認證網路工程師必看的OpenFlow交換機架構和規則處理

思科ccie 認證網路工程師必看的OpenFlow交換機架構和規則處理

思科ccie 認證網路工程師必看的OpenFlow交換機架構和規則處理,OpenFlow交換機是整個OpenFlow網路的核心部件,主要管理資料層的轉發。OpenFlow交換機接收到資料包後,首先在本地的流表上查詢轉發目標埠,如果沒有匹配,則把資料包轉發給Controller,由控制層決定轉發埠。

OpenFlow交換機由流表、安全通道和OpenFlow協議三部分組成。

OpenFlow交換機的構成和分類

流表由很多個流表項組成,每個流表項就是一個轉發規則。進入交換機的資料包通過查詢流表來獲得轉發的目的埠。流表項由頭域、計數器和操作組成;其中頭域是個十二元組,是流表項的標識;計數器用來計數流表項的統計資料;操作標明瞭與該流表項匹配的資料包應該執行的操作。

OpenFlow協議用來描述控制器和交換機之間互動所用資訊的標準,以及控制器和交換機的介面標準。協議的核心部分是用於OpenFlow協議資訊結構的集合。OpenFlow協議支援三種資訊型別:Controller-to-Switch,Asynchronous和Symmetric,每一個型別都有多個子型別。Controller-to-Switch資訊由控制器發起並且直接用於檢測交換機的狀態。Asynchronous資訊由交換機發起並通常用於更新控制器的網路事件和改變交換機的狀態。Symmetric資訊可以在沒有請求的情況下由控制器或交換機發起。

按照對OpenFlow的支援程度,OpenFlow交換機可以分為兩類:專用的OpenFlow交換機和支援OpenFlow的交換機。專用的OpenFlow交換機是專門為支援OpenFlow而設計的。它不支援現有的商用交換。機上的正常處理流程,所有經過該交換機的資料都按照OpenFlow的模式進行轉發。專用的OpenFlow交換機中不再具有控制邏輯,因此專用的OpenFlow交換機是用來在埠間轉發資料包的一個簡單的路徑部件。支援OpenFlow的交換機是在商業交換機的基礎上新增流表、安全通道和OpenFlow協議來獲得了OpenFlow特性的交換機。其既具有常用的商業交換機的轉發模組,又具有OpenFlow的轉發邏輯,因此支援OpenFlow的交換機可以採用兩種不同的方式處理接收到的資料包。

[if !supportLists]1.[endif]規則處理

受交換機硬體晶片的限制,交換機不能通過硬體實現OpenFlow協議定義的所有action,為此引入了多業務卡,通過軟體實現硬體不能支援的這部分action。當OpenFlow控制端下發一個規則的時候,交換機上的OpenFlow任務把規則下發到主控卡和多業務卡兩個地方,其中多業務卡由於支援所有的action,所以上面下發了所有規則;主控卡由於只支援部分action,所以可以成功下發部分規則,其他規則下發到主控硬體上時都把動作改為轉發到多業務卡,由多業務卡對匹配規則的報文進行處理。

[if !supportLists]2.[endif]規則匹配欄位

(1) 支援二層欄位的匹配, 包括入埠、源MAC、目的MAC、乙太網協議型別、VLAN_ID、VLAN PRIORITY六個基本欄位和源MAC掩碼、目的MAC掩碼兩個擴充套件欄位,共8個欄位。

(2) 支援三層欄位的匹配, 包括源IP地址、目的IP地址、源埠、目的埠、傳輸層協議號、TOS六個基本欄位和源IP地址掩碼、目的IP地址掩碼兩個擴充套件欄位, 共8個欄位。

[if !supportLists]3.[endif]規則動作

(1) 支援向指定埠發包動作。

(2) 支援向啟用OpenFlow的VLAN所有埠發包, 協議中定義為ALL和FLOOD動作。

(3)支援向OpenFlow控制器發包,如果報文原來沒有Vlan Tag,則發給控制器的包也不帶Vlan Tag, 協議中定義為CONTROLLER動作。

(4)支援向入埠發包, 協議中定義為IN_PORT動作。

(5)支援丟棄報文的動作。協議中定義為DROP動作。

(6)支援資料包入佇列動作。 協議中定義為QUEUE動作。

(7)支援修改報文欄位動作。.

[if !supportLists]4.[endif]規則維護

(1)OpenFlow規則的增加, 支援OFPFF_CHECK_OVERLAP標誌,在加入規則時檢查是否存在衝突。如果增加操作不設定OFPFF_CHECK_OVERLAP標誌,規則匹配後的行為由OpenFlow控制器負責。

(2)支援規則的刪除, 包括帶_STRICT字尾及不帶字尾兩個型別.

[if !supportLists]5.[endif]規則老化

(1)提供規則的定期老化, 使用者可以通過設定hard-timeout時間, 讓規則在hard-timeout時間到的時候老化刪除.

(2) 提供規則的不活躍老化, 使用者可以通過設定idle-timeout時間, 如果規則在idle-timeout時間內沒有匹配報文, 則老化刪除.思科ccie 認證網路工程師必看的OpenFlow交換機架構和規則處理