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