軟體定義網路 - OpenFlow Ports 介紹 (2-1)
reference:
目錄:
- OpenFlow 的特性
- OpenFlow ports
- 各種保留埠的特性
- Multiple Controller
- Controller Connection Faliure
OpenFlow 的特性
- OpenFlow 是一個在資料連接層的通訊協定。
- 可以控制、定義網路交換器的 forwarding plane 來改變封包所走的網路路徑。
- OpenFlow 位於 TCP 之上,在 TCP port 6653 (舊版:6633)監聽要建立連接的交換器。
- 轉發規則以 Flow 為單位 (一個 flow 被定義為:兩台電腦所連接的一個 port)。
OpenFlow 交換器的基本架構
主要動作:
- 欄位匹配
- 匹配後動作
- 訪問控制器(packet in / out)
Switch Processing
- match : 封包進交換器之後會去跟 flow table 做比對,當比對到時,比對的 flow entry 會寫下要如何進行下一個動作。
- action : 當比對到之後,就會執行之後要做的事情。
- packet in : 當 switch 不知道要如何處理封包的時候,就會執行此動作,詢問 controller 要如何處理此封包。
- packet out : controll 回應 packet in 的相對動作,用來回應 switch 要如何動作。 此地方會有不同方式:
- 第一種會請 controller 直接丟封包到某一個 port 就結束。
- 第二種會請 controller 再比對此封包一次,比對完之後再根據 flow table 的內容再傳送出去
controller 和 switch 之間的連線方式
連線方式:
- In-Band : 指的是 controller 和 switch 的控制封包走的路徑是和一般封包一樣,因此控制封包會使用 TLS 加密。會使用的 port : LOCAL port。
- Out-of-Band : 代表有特殊路徑 (port) 來傳送控制封包。會使用的 port : CONTROLLER port。
OpenFlow Ports
OpenFlow Ports
實體埠 (physical port) : 在乙太網路的交換器上,會直接對應到實際的 port。另外可以指定 Queue ID 來區隔 QoS。
邏輯埠 (logical port) : 保留給設備商,讓設備商可以自行定義。這種邏輯性的埠指的是與硬體上無關,而是由軟體定義並且管理的埠,這些埠不見得都是由 OpenFlow 協定所建立,也可能是其他方式所產生的。 可以指定 Tunnel ID。
保留埠 (reversed port) : 也是一種 Logical port ,由 OpenFlow 先定義好。(LOCAL、NORMAL、FLOOD 可以不支援。)
Port Queues
指的是在某一個 physical port 裡面,設計很多個 queue 來做 QoS ,而不同的 Queue 會有不同的優先權。
各種保留埠的特性
ALL (Required)
主要特點:
- 對所有的 port 傳送封包,除了 ingress port(也就是輸入封包的 port)
CONTROLLER (Required)
主要特點:
- 是 Out-of-Band 的傳輸模式,由特殊的 port 互相傳輸。
TABLE (Reqiured)
主要特點:
- 主要用於 packet out,即如果 controller 對 switch 的指令是要 switch 再次比對封包時,就會使用到此封包。
IN_PORT (Required)
主要特點:
- 會將封包回傳給原本輸入進封包的 port 。
LOCAL (Optional)
主要特點:
- 是 In-Band 的傳輸模式,因此會使用 TLS 加密。
NORMAL (Optional)
主要特點:
- 當此 port 所傳送的封包所要使用的協定不是 OpenFlow 時,就會傳送此訊號。
FLOOD (Optional)
主要特點:
- 當廣播的動作要由其他協定而不是 OpenFlow 做時會使用到此功能。
Multiple Controller
控制器對交換器的三種模式
- master : 控制器具有完全的控制權 (且唯一)
- slave : 控制器只會向交換器詢問資料
- equal : 控制器具有完全的控制權 (可不唯一)
Controller Connection Faliure
交換器失去與控制器的連線的兩種方式
- fail secure : 交換器依照失去連接前的 flow table 正常運作,但不對控制器再發送任何訊號。
- fail standalone : 交換器回到 legacy (non-OpenFlow) 模式運作。