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

為了了解軟件定義網(wǎng)絡(luò)(SDN),你可能會碰到很多跟此項技術(shù)相關(guān)的術(shù)語。其中有些術(shù)語是SDN獨(dú)有的,而其他一些術(shù)語則并非SDN專有,但經(jīng)常會用來描述SDN設(shè)計。

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