交換機與控制器繼續通信前,是需要對其功能、特性以及資源進行配置才能進行工作,這些配置是如何實現的?是由專門的配置協議指導完成的
一:OF-Config協議
是OpenFlow交換機管理配置協議,是OpenFlow的伴侶協議
控制器和交換機根據OpenFlow協議進行通信前,使用OF-Config協議對交換機進行配置
二:OF-Config協議版本
OF-Config1.0對應OpenFlow1.2版本,他是為了滿足OpenFlow1.2版本的配置需求而設計的。 OF-Config1.1/1.2版本都對應OpenFlow1.3版本,這兩個版本之間有着細微的變化,都是為了滿足OpenFlow1.3版本的配置需求而設計的。
三:OF-Config協議和OpenFlow協議區別
OpenFlow協議實現的目的:是實現控制器與OpenFlow交換機之間的信息交互。控制器通過OpenFlow協議對OpenFlow交換機流表的轉發進行指導
OF-Config協議實現的目的:是實現OpenFlow交換機的遠端配置,OF配置點通過OF-Config協議完成OpenFlow交換機的配置與管理工作
OF-Config協議實現中將各組件從邏輯上進行抽象
四:OF-Config中各組件及其關系
一個OpenFlow交換機相當於一個物理的或者虛擬的網元設備,可以由一個或多個OpenFlow邏輯交換機構成,邏輯交換機相當於數據路徑DataPath。
每個OpenFlow邏輯交換機都被分配了一定的資源,比如端口、隊列等
發送OF-Config消息到OpenFlow交換機的服務稱為OpenFlow配置點
五:OF-Config協議實現了那些管理配置功能
(一)配置需求
控制器連接設置
在交換機連接到控制器之前,有3個參數需要提前設置:控制器IP地址、控制器端口號和傳輸協議(TLS或TCP)。
多控制器(Multiple Controllers)設置
OF-Config協議提供交換機同時連接多控制器的參數配置
OpenFlow邏輯交換機設置
OF-Config協議需要支持OpenFlow邏輯交換機各種資源的配置,如端口或隊列。
連接中斷(Connection Interruption)設置
配置連接失效后進入的模式
當交換機與控制器失去連接時,可以進入兩種可選模式,失敗安全模式或者失敗獨立模式,OF-Config協議支持預先配置交換機連接中斷后進入的模式
加密(Encryption)設置
身份認證方式
OF-Config協議提供交換機與控制器安全連接的證書配置
隊列(Queues)設置
OF-Config協議支持對隊列的設置,包括 最小速率(min‐rate)、最大速率(max-rate)、自定義速率(experimenter)
端口(Ports)設置
OpenFlow協議本身實現了部分端口的配置,但是十分有限。 OF-Config協議提供了更加全面的端口配置功能:禁止接收(no-receive)、禁止轉發(no-forward)、禁止Packet-in消息(no-- packetin)、管理狀態(admin-state)等
能力發現(Capability Discovery)
發現能力特性,OpenFlow協議為邏輯交換機定義了多種能力特征,比如多種Action類型。
OF-Config支持發現這些能力特征
Datapath ID設置
(二)操作運維需求
支持OF交換機被多個OpenFlow配置點配置
支持一個OpenFlow配置點管理多個OF交換機
支持一個OpenFlow邏輯交換機被多個控制器控制
支持配置OpenFlow交換機的端口和隊列;
支持OpenFlow邏輯交換機的能力發現;
支持配置隧道,如IPinGRE、VXLAN及NVGRE
(三)管理協議需求
保障安全性,支持對交換機和配置點雙向認證;
支持配置請求和應答的可靠傳輸;
支持由配置點或交換機進行連接設置;
能夠承載局部交換機配置以及大范圍交換機配置;
支持配置點在交換機配置參數及接收來自交換機的配置參數;
支持在交換機創建、更改及刪除配置信息,並支持報告配置結果;
支持獨立發送配置請求,並支持交換機到配置點的異步通知;
支持記憶能力、可伸展性以及報告自身屬性和能力。
六:OF-Config協議的數據模型
(一)數據模型數據結構
OF-CONFIG采用XML來描述其數據結構; 數據模型由類和類的屬性構成
(二)XML數據標識
這些ID由字符串定義,是XML中的ID屬性唯一值。利用XML定義的數據模型有很好的可讀性和擴展性。利於軟件的實現
(三)數據模型和XML實現
七:OF-Config協議的數據傳輸所采用的的傳輸協議
通過NETCONF協議來傳輸其內容(RFC6241) --成熟的管理配置協議