越來越多的數(shù)據(jù)中心網(wǎng)絡(luò)是在軟件定義的網(wǎng)絡(luò)白盒上執(zhí)行的,而不是在由一個(gè)供應(yīng)商控制的專用黑盒機(jī)器上執(zhí)行的。將硬件從軟件中解放出來不但可以讓兩者獨(dú)立發(fā)展,而且也可以讓網(wǎng)絡(luò)設(shè)備進(jìn)行調(diào)整,只需要做必要的工作就行,不再做其他工作。
SDN成功地將控制平面和數(shù)據(jù)平面分離,采用基于軟件的集中控制平面來指導(dǎo)網(wǎng)絡(luò)硬件數(shù)據(jù)平面,并確保整個(gè)網(wǎng)絡(luò)的高效管理。集中控制平面軟件使許多物理和虛擬交換機(jī)的配置、管理和更新變得容易,而不是在每個(gè)交換機(jī)中嵌入控制器。這是一種趨勢,許多大公司都試圖在現(xiàn)有硬件的基礎(chǔ)上構(gòu)建SDN層平臺——通過專有網(wǎng)絡(luò)控制器將該硬件與軟件層集成。他們的營銷理念是提供一個(gè)集中管理和安全的交鑰匙包。
這樣的設(shè)置可能看起來很有吸引力——如果您已經(jīng)在熟悉其平臺的工程師的幫助下操作該供應(yīng)商提供的網(wǎng)絡(luò)套件,則這種設(shè)置被視為低風(fēng)險(xiǎn)——但這意味著您被鎖定在該供應(yīng)商的范圍內(nèi)。這種鎖定的代價(jià)是巨大的:私有控制器從幾萬美元開始,很快就會(huì)達(dá)到幾十萬美元。
幸運(yùn)的是,有一種向更開放的SDN形式發(fā)展的趨勢,它采用標(biāo)準(zhǔn)協(xié)議,并且不會(huì)將您鎖定到單個(gè)供應(yīng)商中。
SDN的未來是開放的
SDN的兩個(gè)基礎(chǔ)協(xié)議是虛擬可擴(kuò)展LAN(VXLAN),用于創(chuàng)建網(wǎng)絡(luò)覆蓋,以及提供控制器功能的以太網(wǎng)虛擬專用網(wǎng)絡(luò)(EVPN)。這兩個(gè)標(biāo)準(zhǔn)已被RFC7348(VXLAN)和RFC8356(EVPN)中的互聯(lián)網(wǎng)工程任務(wù)組(IETF)采用。
它們是如何工作的?VXLAN將第2層以太網(wǎng)幀封裝為第4層UDP數(shù)據(jù)包,以創(chuàng)建覆蓋層——物理基礎(chǔ)設(shè)施上的虛擬網(wǎng)絡(luò),為特定功能或服務(wù)承載流量。它避免了重新配置物理網(wǎng)絡(luò)以部署新服務(wù)的需要,并且多個(gè)第2層網(wǎng)絡(luò)可以在一個(gè)物理網(wǎng)絡(luò)之上共存。
VXLAN之所以受歡迎,是因?yàn)樗哂锌蓴U(kuò)展性:它為VXLAN支持超過1600萬個(gè)虛擬網(wǎng)絡(luò),而標(biāo)準(zhǔn)第2層VLAN協(xié)議(IEEE 802.1q)僅支持4094個(gè)。每個(gè)VXLAN也可以跨一個(gè)中間層2網(wǎng)絡(luò)運(yùn)行,而標(biāo)準(zhǔn)VLAN通常僅限于一個(gè)L2域。這兩個(gè)事實(shí)都使VXLAN特別適合在復(fù)雜和不斷擴(kuò)展的數(shù)據(jù)中心環(huán)境中運(yùn)行服務(wù)。
EVPN從技術(shù)上來看是邊界網(wǎng)關(guān)協(xié)議(BGP)的一個(gè)擴(kuò)展,用于路由互聯(lián)網(wǎng)上的流量。EVPN最初是用于多協(xié)議標(biāo)簽交換(MPLS)以取代服務(wù)提供商網(wǎng)絡(luò)中的虛擬專用LAN服務(wù)(VPL),但現(xiàn)在EVPN已被IETF選為數(shù)據(jù)中心內(nèi)網(wǎng)絡(luò)覆蓋的控制平面。
傳統(tǒng)上,BGP在IP堆棧的第3層運(yùn)行,而EVPN在第2層(MAC地址)運(yùn)行。EVPN使用相同的機(jī)制來實(shí)現(xiàn)MAC地址學(xué)習(xí),因此VXLAN虛擬隧道端點(diǎn)(VTeps)可以發(fā)現(xiàn)在何處需要轉(zhuǎn)發(fā)網(wǎng)絡(luò)覆蓋數(shù)據(jù)包,以便它們到達(dá)最終正確的VTep目的地。vtep通常是托管虛擬機(jī)的服務(wù)器中的虛擬交換機(jī),但它也能夠處理vxlan和終止vtep的物理以太網(wǎng)交換機(jī)。在數(shù)據(jù)中心的虛擬化部分和非虛擬化部分之間架橋時(shí),這種交換機(jī)至關(guān)重要。
BGP已被證明可以使用 EVPN進(jìn)行擴(kuò)展, 從而可以傳播IP和MAC地址, 而無需集中 (通常是昂貴的) 控制器。因此, 這種體系結(jié)構(gòu)有時(shí)被稱為 "無控制器EVPN"。
進(jìn)入無控制器云結(jié)構(gòu)交換機(jī)
這一切聽起來都很好——但等一下。雖然網(wǎng)絡(luò)覆蓋很簡單,但由于網(wǎng)絡(luò)節(jié)點(diǎn)只需要VTEPs的支持來轉(zhuǎn)發(fā)數(shù)據(jù)包,因此在管理覆蓋時(shí),它們確實(shí)引入了一定程度的復(fù)雜性。此外,VXLAN和EVPN也有一定的權(quán)衡。
VTEP顯然要求交換機(jī)可以支持VXLAN協(xié)議,但許多支持VXLAN和EVPN的交換機(jī)只支持少數(shù)端口和服務(wù)器機(jī)架。此外,在許多交換機(jī)上,獲得這些功能需要一個(gè)高價(jià)格的軟件許可證。
解決這一問題的一種方法是部署增強(qiáng)型以太網(wǎng)交換機(jī),該交換機(jī)專為以太網(wǎng)云結(jié)構(gòu)(ECF)設(shè)計(jì),以bgp作為控制平面處理evpn和vxlan。正確設(shè)計(jì)的ECF交換機(jī)為數(shù)千個(gè)虛擬端點(diǎn)和數(shù)百個(gè)機(jī)架提供可擴(kuò)展的支持,所有這些交換機(jī)在其所有端口上以25GB/秒、50GB/秒和100GB/秒的線速運(yùn)行。云結(jié)構(gòu)交換機(jī)應(yīng)該在基本軟件包中包含這些功能,而不需要額外的昂貴許可證。
這些ECF開關(guān)具有許多優(yōu)點(diǎn):
交換機(jī)保持較低的延遲,并將微爆炸或由于緩沖區(qū)結(jié)構(gòu)設(shè)計(jì)不當(dāng)而導(dǎo)致的性能不均衡造成的數(shù)據(jù)包丟失降至最低。
這些交換機(jī)是“無控制器的”,因此您可以消除與專有網(wǎng)絡(luò)控制器相關(guān)的成本和可能的鎖定。
交換機(jī)與SmartNICs或智能NICs一起工作,可獲得額外的VXLAN性能和可擴(kuò)展性。
實(shí)現(xiàn)VTEP更簡單、更靈活,因?yàn)樗梢栽诜?wù)器NIC或交換機(jī)硬件中完成,無論哪一個(gè)對于服務(wù)器類型和網(wǎng)絡(luò)體系結(jié)構(gòu)都是有意義的。
它們允許單個(gè)儀表板視圖顯示您的全部虛擬化,計(jì)算和網(wǎng)絡(luò)基礎(chǔ)架構(gòu)元素。
用硬件加速定義的軟件
但是,還有另一個(gè)難題:即使交換機(jī)支持vxlan和vtep,每個(gè)使用覆蓋網(wǎng)絡(luò)和vxlan隧道協(xié)議(tunnel protocol)的服務(wù)器中的網(wǎng)絡(luò)接口控制器(nic)也必須能夠在其硅中處理新的包頭格式。如果不這樣做,主機(jī)CPU最終不得不做所有的覆蓋網(wǎng)絡(luò)處理,吸收CPU內(nèi)核,從而損害應(yīng)用程序的性能。
這一事實(shí)表明,許多超大型互聯(lián)網(wǎng)公司將車載硬件加速器集成到其服務(wù)器的NIC中,以從主機(jī)卸載SDN功能,如VXLAN數(shù)據(jù)包封裝/去封裝、RDMA和開放式VSwitch(OVS),并釋放CPU核心。
這些所謂的智能卡現(xiàn)在作為數(shù)據(jù)中心的產(chǎn)品出現(xiàn),但是有不同的實(shí)現(xiàn)智能卡的方法,不同的供應(yīng)商采取不同的方法。通常,這些方法分為三種:智能網(wǎng)卡使用定制設(shè)計(jì)的特定于應(yīng)用程序的集成電路(ASIC),使用FPGA,或向網(wǎng)卡添加CPU核心(通常基于ARM)來執(zhí)行加速。
ASIC和FPGA方法是當(dāng)今最常見的方法,它們?yōu)樘幚砭W(wǎng)絡(luò)卸載提供了良好的性能。然而,fpgas通常成本高昂,編程難度相對較大,因?yàn)樗鼈兺ǔR蕾噺?fù)雜的低級硬件定義語言,如verilog。這意味著它們通常用于優(yōu)化不太可能經(jīng)常更改的特定函數(shù)。
使用ASIC提供了價(jià)格和性能的巨大平衡,以及通過開放式API(例如:linux tc/flower)進(jìn)行數(shù)據(jù)平面編程的能力。核心ASIC功能不可重新編程,但在設(shè)計(jì)合理的基于ASIC的智能網(wǎng)卡中,外部網(wǎng)絡(luò)控制器可以快速修改數(shù)據(jù)管道。此外,還可以通過固件更新添加新的功能和加速。使用ASIC方法時(shí),控制平面處理仍然駐留在主機(jī)CPU上。
第三種方法是將網(wǎng)卡轉(zhuǎn)換成一個(gè)片上系統(tǒng)(SOC),其中一個(gè)或多個(gè)CPU與標(biāo)準(zhǔn)網(wǎng)絡(luò)接口邏輯集成在一起。這是迄今為止最靈活和開放的方法,因?yàn)樗试S使用標(biāo)準(zhǔn)操作系統(tǒng)(如Linux)以及使用熟悉的編程語言實(shí)現(xiàn)的功能,從而產(chǎn)生可以根據(jù)需要隨時(shí)更新的代碼。這些基于SoC的智能卡的一個(gè)基本優(yōu)勢是,控制平面也可以在集成處理器上運(yùn)行,與在主機(jī)CPU上運(yùn)行的應(yīng)用程序在完全不同的安全域中運(yùn)行。與不受信任的主機(jī)應(yīng)用程序的隔離是交付受信任的裸機(jī)云的關(guān)鍵功能。
事實(shí)上,有些人甚至聲稱,可編程的、CPU增強(qiáng)的網(wǎng)卡應(yīng)該被視為唯一的“真正”智能網(wǎng)卡,而那些使用FPGAs 或ASICs的網(wǎng)卡則只能比標(biāo)準(zhǔn)的網(wǎng)卡稍微智能一些。專門構(gòu)建和編程的數(shù)據(jù)包處理是智能網(wǎng)卡和智能網(wǎng)卡靈活性的核心,允許它們提供更多的SDN和其他以網(wǎng)絡(luò)為中心的應(yīng)用程序的通用加速,并承擔(dān)其他任務(wù),如安全過濾或驅(qū)動(dòng)軟件的功能。重新定義的存儲。
攜帶一個(gè)智能網(wǎng)卡,行走自如
SDN越來越受歡迎,但不要認(rèn)為這意味著它們在某種程度上必須是簡單的。SDN并不是微不足道的,您應(yīng)該仔細(xì)計(jì)劃,因?yàn)槟诼贸涕_始時(shí)所做的技術(shù)選擇將具有深遠(yuǎn)的影響。
專有系統(tǒng)似乎是構(gòu)建模塊的一個(gè)安全選擇,但它們通常成本高昂,而且集中式SDN控制器與交換和路由元素緊密耦合的)與其他供應(yīng)商的產(chǎn)品不太協(xié)調(diào)。你將限制未來的選擇。
使用VXLAN,EVPN, SmartNICs and Intelligent NICs等工具為sdn選擇開放式體系結(jié)構(gòu)意味著您可以保持網(wǎng)絡(luò)選項(xiàng)的開放性,而不會(huì)對您的錢包或靈活性造成不可避免的影響。
唯一的警告?需要仔細(xì)考慮這些覆蓋網(wǎng)絡(luò)的處理負(fù)擔(dān)將從何而來-合適的交換機(jī)和智能網(wǎng)卡中的硬件加速可以確保您的服務(wù)器保持正常運(yùn)行:運(yùn)行工作負(fù)載。
-
控制器
+關(guān)注
關(guān)注
112文章
16402瀏覽量
178594 -
虛擬化
+關(guān)注
關(guān)注
1文章
374瀏覽量
29819 -
數(shù)據(jù)包
+關(guān)注
關(guān)注
0文章
265瀏覽量
24414
發(fā)布評論請先 登錄
相關(guān)推薦
評論