SDN顧問公司Kloudspun首席技術官拉杰什·庫馬爾(Rajesh Kumar)在他的新書《軟件定義網絡(SDN)》中,為學生和IT從業人員勾勒了SDN的基礎,包括SDN將如何影響企業, SDN和網絡虛擬化,以及網絡功能的虛擬化等。
庫馬爾概述了今天市場上的各種SDN解決方案,以及一些校園網、數據中心網絡、企業網絡,甚至家庭網絡對SDN的利用。該書提供萌芽技術的實際用途,并解釋關鍵的SDN術語。
在《軟件定義網絡》的示例章節(第14章),庫馬爾提供了一個SDN買家的指南,給出了一個SDN解決方案的關鍵細節。該章從一個圖表入手,解構了SDN生態系統中的元素,如北向接口、控制器、服務編譯器和網絡編譯器等。
庫馬爾寫道,由于SDN缺乏標準化,企業管理層很難確定在一個解決方案中尋找什么SDN組件。他認為,一個SDN網絡包括了一些元素,從交換機和控制器到特定的插件,模塊和安全組件。庫馬爾解釋了SDN的每一個元素,并描述SDN生態系統中每一個組件的功能。以下是IT專家網摘譯的該章示例內容,希望對讀者有所幫助。
第14章:購買指南 - 尋找什么?
SDN是一項相對較新的技術,缺乏標準,業務主管和管理者往往很難區分這些產品,以便為他們的業務做出選擇。在本節中,我們試圖分析任何SDN解決方案的必要組成部分,使讀者能夠為他們的網絡需求提出正確的問題做出正確的選擇。
SDN控制組件
北向接口。控制器開放到應用/業務應用的接口。此接口的常用方法是REST API或XML。該接口允許業務或IT應用直接向控制器申請服務請求。
服務編譯器。控制器需要提供服務結構(例如冗余專線的要求)到網絡結構(例如1:1雙向冗余EVC,即以太網虛擬線路)的翻譯。這從服務隱藏網絡的類型,并允許操作員無縫升級網絡。
網絡編譯器。控制器需要考慮現有的網絡節點和連接拓撲信息,而且必須將其轉化成一個網絡層級的結構。該控制器還必須提供從網絡所需的配置到必須被應用在各個節點中的配置的翻譯,以實現網絡構造。
OAM(操作,管理和維護)。控制器必須有一個網絡中的每一個鏈路和節點所有的故障信息、性能信息和連接信息的狀態視圖。或者,這可以從現有的網管系統獲得,如果該系統支持。這有時也可變為健康監測。
路徑計算。此模塊計算從通過網絡的一個服務的一端到另一個的路徑。最常用的路徑計算算法是Dijkstra算法,它有許多變種。預計隨著路徑計算移動到服務器,在這個領域將會有很多的創新。出于這個原因,控制器必須允許用戶能夠以插件實現專有算法。
拓撲發現和拓撲管理。控制器必須在連接到現有網絡的時候能夠獲悉其拓撲結構。控制器必須保持更新本身的任何網絡拓撲變化。有各種可能性,最常見的是使用LLDP做拓撲發現和更新。其他的協議,比如EOAM、LMP等也可以使用,因為這些具有一個鏈路兩端的節點找到對方的方法。
網絡元素配置和監控。控制器必須將路徑計算的結果轉換成被施加在每個網絡元素的配置。此配置可以被分派給網管系統,從網管系統實際應用到網絡元素,或者控制器可以直接應用該配置到網絡元素。從網絡元素的任何通知和狀態的變化,必須更新到控制器(直接或通過網管系統),使控制器能夠在必要的地方重新計算并重新應用服務結構。
網絡元素配置和監控協議 - CLI / NetConf / OpenFlow / SNMP。控制器必須為每一個網絡元素及其支持的管理協議調整配置。CLI或SNMP的傳統選項仍然可以使用,當設備不支持OpenFlow或NetConf。NetConf已由ONF建議作為電信網絡的首選方式。
NMS(或其他管理系統)插件。特別是在電信網絡,因為網管系統與網絡元素的互操作性已經成立,運營商可能會希望繼續通過已安裝的網管系統管理網絡元素。因而控制器將必須通過網管系統工作,或作為一個額外的插件模塊被納入到網管系統。還有一些運營商和原始設備制造商(OEM)從控制器需求其他比較熟悉的關鍵屬性。
分布式和分層功能。對于小型的或簡單的網絡,單個控制器對計算的需要可能足夠。但對于較大的網絡,單一的物理節點將無法滿足計算和性能的要求。因此,控制器的設計必須進行分布式處理,負載共享跨多個服務器/節點。該網絡可以為分割成一些邏輯分區,每個分區由控制器控制。然后,根據分層控制器的概念,這些邏輯分區控制器可以受控于一個更高級別的控制器。相關的標準甚至還沒有被討論,雖然有些產品聲稱以專有的方式支持它。
高可用性。由于網絡的可用性和完整性完全依賴于控制器,控制器是一個單點故障,冗余和可用性的需求是嚴格的,即使是最小的網絡。很多時候,負載共享和高可用性可以以聯合的方式內建在控制器中,使2個控制器可以負載分享,并在小型網絡中為對方提供冗余。
安全性。該控制器是整個網絡脆弱性的一個單點。如果控制器損害,整個網絡都要受到損害。惡意攻擊可能集中控制器上,而不是試圖找到網絡設備的薄弱點。因此,SDN網絡既是更容易被攻擊也更容易維護,攻擊和保護方案都集中在單獨的控制器。