《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > SDN的核心構建模塊有哪些,?
SDN的核心構建模塊有哪些?
來源:cnw.com.cn
網界網 波波編譯 
摘要: 為了了解軟件定義網絡(SDN),,你可能會碰到很多跟此項技術相關的術語,。其中有些術語是SDN獨有的,,而其他一些術語則并非SDN專有,但經常會用來描述SDN設計,。重點來了解一下和SDN相關的三個基本技術范疇:控制器,、交換網絡和疊加網...
關鍵詞: SDN 控制器 Overlay
Abstract:
Key words :

為了了解軟件定義網絡(SDN),你可能會碰到很多跟此項技術相關的術語,。其中有些術語是SDN獨有的,,而其他一些術語則并非SDN專有,但經常會用來描述SDN設計,。

 
了解這些術語及其語義環(huán)境是很有幫助的,。下面我們重點來了解一下和SDN相關的三個基本技術范疇:控制器、交換網絡和疊加網絡,。
 
控制器
 
SDN的一個重要概念就是被稱為控制器的設備,,該設備與某個域中所有的網絡設備會話,獲悉網絡拓撲結構,,并從一個無所不知的中心點上對網絡進行編程,。可以說,,SDN控制器是把網絡編程模式從分布模式(相互通信的網絡設備決定轉發(fā)路徑)轉變成了集中模式,。
 
網絡的集中編程是控制器給業(yè)務帶來的重大價值,。從概念上看,控制器可用于給某個網絡全面部署業(yè)務策略,,而與網絡中的設備無關,。控制器的行為很像是一個網絡中間件層,,它將底層的物理網絡組件如交換機,、路由器、防火墻和負載均衡設備等都做了抽象,。
 
用一臺SDN控制器對網絡進行編程,,網絡運營者就不必再用傳統(tǒng)方法(比如說命令行界面)對個別的網絡設備進行編程了。此外,,還可根據(jù)成本或者安全策略需求創(chuàng)建專有的網絡轉發(fā)范式,。
 
控制器是通過軟件完成網絡編程的,也正因此,,SDN才具有了極大的靈活性,。控制器既是該軟件的運行平臺,,也是該軟件的一個通信網關,。大多數(shù)控制器架構都是模塊化的,允許控制器利用多種不同的方法與各種不同的網絡設備進行通信,。
 
將SDN控制器視為中間件,,也就意味著其通信有兩個方向。迄今為止大多數(shù)的討論都是圍繞南向通信的,。也就是說,,控制器對網絡設備進行編程,并從這些設備接收數(shù)據(jù),,這就是南向通信,。南向通信的一個例子就是控制器利用OpenFlow對網絡交換機的轉發(fā)表進行編程。另一個方向則是北向通信,。希望對網絡進行編程的各個應用與控制器之間的通信稱之為北向的,。北向通信的一個例子就是類似VMware的vCloud Director之類的應用通過控制器發(fā)出網絡配置服務請求。
 
交換機
 
說到SDN時,,可能很多人談到的設備就是交換機,尤其是以太網交換機,。以太網交換機的速度和密度一直在增加,,可以為數(shù)據(jù)中心的主機、刀片中心和以太網存儲提供上行鏈路,。服務器虛擬化的到來,,hypervisor軟件交換機的地位越來越重要,,它能夠探測到虛擬服務器和虛擬網卡,并可將出入hypervisor的流量匯聚起來,,發(fā)送給物理網絡,。
 
無論是硬件還是軟件交換機在SDN中都發(fā)揮著重要作用,首先是交換機的轉發(fā)表可以由控制器進行編程控制,。再考慮到軟交換機一般駐留在網絡邊緣,,所以“智能的軟邊緣”概念已經出現(xiàn)。
 
支持智能軟邊緣的網絡設計者們感覺,,軟件交換機在hypervisor上運行是個很理想的場所,,因為這里可以安裝豐富的網絡功能,而讓物理硬件交換機在一個相對簡單的配置環(huán)境中運行,。在智能軟邊緣的SDN設計中,,控制器可通過軟交換機進行轉發(fā)、QoS和安全策略,。
 
例如軟交換機可以有接入列表,、受速率限制的QoS參數(shù)和流量優(yōu)先級,,以及應用于虛擬端口的智能轉發(fā),。當網絡數(shù)據(jù)離開hypervisor之時,已經經過了安全合規(guī)檢測,、速率整形和封裝,。將所有這些功能放置在網絡邊緣,可以讓核心硬件交換機只去做快速的流量傳輸,。
 
并非所有的網絡都允許智能的軟邊緣設計,,也并非所有可行的SDN用例會用上軟交換機。對SDN來說,,硬件交換機依然會在一些諸如端到端業(yè)務策略的部署,、流量控制和安全執(zhí)法等任務上發(fā)揮作用。此外,,仍然有一定量的基本配置會在硬件交換機上完成,,而無論邊緣網絡有多么智能。
 
控制器對硬件和軟件交換機轉發(fā)行為進行編程控制所使用的主要的南向協(xié)議就是OpenFlow,。OpenFlow(OF)協(xié)議的標準正在由開放網絡基金會(ONF)快速地推進之中,。
 
ONF是一個主要由網絡廠商和服務提供商會員組成的機構,,關起門來運作,。該基金會的OpenFlow規(guī)范目前已發(fā)布了PF 1.0,在生產環(huán)境中經常會看到;下一步要發(fā)布的OF 1.3,,將主要面向大多數(shù)交換機廠商,。OF 1.4目前正在制定當中,。
 
要記住,雖然OpenFlow可以像Open vSwitch那樣完全在軟件交換機上實施,,但是要翻譯成硬件交換機的網絡芯片(ASIC)可以執(zhí)行的代碼,OF已被證明是要面對挑戰(zhàn)的,。雖然有報道說,,可更好處理OF的新的芯片很快就會出來,但是用戶們在評估OF的有用性時,,肯定會結合其已有網絡進行測試,以便確保所需的OF功能能夠盡可能地擴展,,可以支持他們的應用。
 
對于北向通信來說,,控制器常常會提供API,。一個REST(表述性狀態(tài)轉移)API可能是最常用到的。REST API很像HTTP服務器,,會利用一些熟悉的方法如GET和POST來交換數(shù)據(jù)和指令,。API提供了應用到控制器的一種方法,可以告訴控制器網絡上將會發(fā)生什么,。
 
值得注意的是,,除了OF之外,有些廠商已經有一些專門的南向API推出,。這部分是因為OF的指令集有限,,有時候很難在傳統(tǒng)的芯片上實現(xiàn)。例如思科,,雖然支持OpenFlow,,但還是強調其API須借助其ONE架構來實現(xiàn),思科的主張是說,,它的API允許網絡程序員能夠充分發(fā)揮其思科硬件的能力,。
 
疊加(Overlay)
 
在SDN討論中經常會出現(xiàn)的另一個術語就是疊加網絡。簡而言之,,疊加是用來創(chuàng)建虛擬的網絡容器,,這些容器之間在邏輯上彼此隔離,但可共享相同的底層物理網絡,。
 
網絡工程師一般都很熟悉的通用路由封裝(GRE),,比較容易理解疊加的概念。一個數(shù)據(jù)包(或幀)封裝在另一個數(shù)據(jù)包內;被封裝的包轉發(fā)到隧道端點后再被拆裝。原來的包就發(fā)送到了目的地,。疊加網絡就是使用這種所謂“包內之包”的技術安全地將一個網絡隱藏在另一個網絡中,,然后將網絡區(qū)段進行遷移。2層擴展和多租戶就是比較流行的疊加網絡實例,。
 
在過去幾年間,,個標準化組織已發(fā)布了不少的疊加協(xié)議,這是因為虛擬化數(shù)據(jù)中心需要在任意時間,、任意地點移動主機的需求所致,。有些SDN控制器使用疊加作為其傳輸選項,在散布于數(shù)據(jù)中心內的各個主機之間架起了一座橋,。而軟交換機通常被用作隧道的另一端,。虛擬可擴展局域網(VXLAN)是目前獲得業(yè)界最廣泛支持的協(xié)議,思科,、博科和VMware都支持疊加網絡,。在硬件方面支持VXLAN隧道端點的是Arista和博科的交換機。VXLAN的硬件端點正給業(yè)界帶來一場劇變,,因為疊加通常都是由軟件交換機作為端點的。
 
VXLAN在3層UDP包內封裝2層幀,。這樣做可以讓一個VXLAN段內的主機彼此通信,,只要它們處在同一個2層網絡上,即便這些主機可能被一個或多個3層網絡所隔離,。
 
此外,,由于VXLAN保留了全部的2層幀,、還有VLAN標識,所以在一個VXLAN段內可允許多個3層網絡存在,。在該VXLAN段內的客戶(也可叫做租戶)會覺得這個網絡很像他們以前所用過的VLAN,,但底層網絡只能用一個段ID來區(qū)分VXLAN的包。
 
每個VXLAN網絡是用VXLAN包頭內的段ID來區(qū)分的,。這個ID有24位,,也就是說可允許1600萬個租戶共享同一個網絡基礎架構,同時又可以彼此間相互隔離,。
 
和VXLAN相似,,利用GRE實現(xiàn)網絡虛擬化(NVGRE)使用一個24位的標識符來定義租戶的網絡。NVGRE主要是微軟開發(fā)的技術,,也是其Hyper-V所使用的疊加方法,。
 
盡管VMware堅定地支持VXLAN,但是它的疊加網絡仍被稱為無狀態(tài)傳輸隧道(STT),。屬于VMware旗下的Nicira,。STT是Nicira網絡虛擬化平臺的一個組成部分,,尤其需要指出的是,STT的封裝格式充分利用了先進網卡的硬件能力,,可以將較大的數(shù)據(jù)塊分解成較小的數(shù)據(jù)塊,。
 
這被稱為TCP分段卸載(TSO),一塊有TSO功能的網卡可以承擔分段卸載的任務,,從而釋放出服務器的CPU給其他任務,。STT的未來尚無法確定,但VXLAN已經有了VMware的支持以及來自行業(yè)的普遍支持,。
 
除了VXLAN,、NVGRE和STT,另一個值得關注的疊加網絡技術是網絡虛擬化疊加(NVO3),。NVO3是由IETF的一個工作組開發(fā)的,。關于NVO3的問題說明與上面已經討論過的其他疊加技術很相像,也就是說,,流量孤立,、租戶可自由使用所選擇的尋址方案,可將虛擬機在網絡內自由移動,,不必考慮底層核心中3層網絡的分隔等等,。NVO3未來會怎么演進,如何封裝尚有待觀察,,但NVO3工作組成員所提交的用例線路已經基本成形,。
 
結論
 
對上述三大術語的討論可歸結為一點:一個無所不知的中央控制器能夠發(fā)現(xiàn)網絡交換機組成的網絡拓撲結構,而無論這些交換機是在hypervisor上的軟件交換機,,還是在數(shù)據(jù)中心機柜里的硬件交換機,。
 
這個中央控制器就像是在北向的應用和南向的交換機之間的一個中間件。北向應用主要向控制器闡明業(yè)務策略,、網絡配置和諸如此類的信息;而控制器則將這些策略和配置翻譯成南向的編程指令給網絡交換機,。
 
南向協(xié)議最常用的就是OpenFlow,但要把OpenFlow加裝到已有的網絡硬件上是頗具挑戰(zhàn)性的,,所以廠商們都在借助API推動網絡的可編程,。
 
在這個網絡可編程以及物理設備被抽象的平臺上,還要再加上疊加,。疊加允許希望支持多租戶的云提供商和企業(yè)安全地隔離每個租戶的流量,,而且與此同時還允許租戶的主機駐留在數(shù)據(jù)中心內的任何地方。
此內容為AET網站原創(chuàng),,未經授權禁止轉載,。