SDN原理 OpenFlow協議 3

2022-06-12 19:33:13 字數 1201 閱讀 7053

of1.1版本

這是of1.1版本的操作,引入了多流表,1.0版本並沒有多流表。

of1.3版本的流表匹配相比of1.1版本,改變了很多:

(1)當匹配到流表項的時候,首先更新計數器,然後檢視指令集(之前有提過,指令是從動作層抽象出來的層次,便於管理動作),由指令決定動作是立即執行,或者是新增到位址集中;然後檢視指令集中是否有 goto-table 選項,有的話繼續查詢下乙個表,沒有的話執行動作集中的動作。

(2)沒有匹配到流表項的時候,檢視表內是否有 table-miss 選項,有的話也檢視它的指令集,如果沒有直接丟棄。

乙個簡單的流程:匹配到流表項 -> 看指令集,更新計數器 -> 動作馬上執行/加入動作集 -> 查詢下乙個表/執行動作集;

沒有匹配到流表項 -> 有沒有 table-miss 表項 -> 有,檢視指令集,接下來和前面的內容類似 / 沒有,丟棄。

單錶時,只有 action 動作;多表環境中,多個 action 累積成 action-set;決定 action-set 如何工作的,是表項的指令instructions:指令可以將動作寫入,新增修改到 action-set 中,也可以直接在讀表的時候進行。

傳統網路中,在ospf/bgp/rip這些路由協議中,是通過分布式的互動來進行路由匯聚,生成表項的,這是動態路由。這是一種p2p架構(雙方對等)。那麼,在sdn中,是由控制層的controller控制器,直接下發流表。

交換機a,b,c,d將鏈路資訊統一告訴controller,controller在執行完計算之後,統一下發流表給交換機。這是一種 client/server 架構(c/s架構)。

SDN原理 OpenFlow協議 3

of1.1版本 這是of1.1版本的操作,引入了多流表,1.0版本並沒有多流表。of1.3版本的流表匹配相比of1.1版本,改變了很多 1 當匹配到流表項的時候,首先更新計數器,然後檢視指令集 之前有提過,指令是從動作層抽象出來的層次,便於管理動作 由指令決定動作是立即執行,或者是新增到位址集中 然...

OpenFlow協議之殤?

在過去,openflow一度是sdn的代名詞,只要是sdn出現的地方就不得不談到openflow。不過現今,sdn似乎對openflow並不是很熱情,在談論sdn時,openflow也不再是標配了。這個曾經的唯一選擇究竟遇到了什麼,難道這是openflow協議之殤?下面我們好好分析一下這個問題。這裡...

OpenFlow協議 整體結構和協議篇

openflow sdn結構的乙個例項,一系列規範的集合,由open networking forum onf 維護。這些規範的關鍵是乙個抽象的包處理機定義,called switch.switch使用乙個資料報內容集合和交換機配置狀態來處理資料報。protocol定義來管理switch的配置狀態以...