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