向網(wǎng)絡(luò)功能虛擬化 (NFV) 和軟件定義網(wǎng)絡(luò) (SDN) 的轉(zhuǎn)變代表了近 20 年來(lái)最具變革性的架構(gòu)網(wǎng)絡(luò)發(fā)展趨勢(shì)。由于 NFV 和 SDN 承諾系統(tǒng)開(kāi)放性和網(wǎng)絡(luò)中立性,因此有望給未來(lái)的通信網(wǎng)絡(luò)和業(yè)務(wù)的成形造成深遠(yuǎn)影響。
我們 Ethernity Networks 公司正在利用賽靈思器件,率先向市場(chǎng)推出真正開(kāi)放的、高度可編程的 SDN 和 NFV 解決方案。讓我們來(lái)看一下 Ethernity 公司在首次探索 NFV 和 SDN 的前景和要求之后,是如何打造其解決方案的。
硬件和 NFV/SDN 變革遍地開(kāi)花
過(guò)去幾十年間的網(wǎng)絡(luò)基礎(chǔ)架構(gòu)業(yè)務(wù)在很大程度上可謂是大型機(jī)業(yè)務(wù)模式的延續(xù),在這種模式下,屈指可數(shù)的幾家大型公司提供專有局端基礎(chǔ)設(shè)備,而這些設(shè)備又運(yùn)行專有的軟件,這樣構(gòu)建的全部意圖都是為了不與競(jìng)爭(zhēng)對(duì)手的系統(tǒng)進(jìn)行通信。在大多數(shù)情況下,基礎(chǔ)架構(gòu)廠商為其客戶的每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)都創(chuàng)建定制硬件,并將每個(gè)節(jié)點(diǎn)都構(gòu)建成最低可編程性和可升級(jí)性節(jié)點(diǎn),以確保那些希望對(duì)網(wǎng)絡(luò)進(jìn)行擴(kuò)展或升級(jí)的客戶會(huì)從同一廠商旗下購(gòu)買(mǎi)下一代設(shè)備;或者讓客戶完全無(wú)法選擇從其他公司購(gòu)買(mǎi)全新網(wǎng)絡(luò),最終只能重蹈覆轍。
在過(guò)去五年中,來(lái)自運(yùn)營(yíng)商、學(xué)術(shù)機(jī)構(gòu)以及廠商的新貴一直在呼吁,即通過(guò)最大化硬件與軟件的可編程性來(lái)過(guò)渡到無(wú)處不在的硬件、網(wǎng)絡(luò)中立、開(kāi)放系統(tǒng)以及軟件兼容性。NFV 和 SDN 是這一發(fā)展趨勢(shì)的先鋒,為這一不斷成長(zhǎng)且一定會(huì)成功的革命高舉旗幟。
憑借 NFV,公司可通過(guò)軟件在商用的通用硬件平臺(tái)上運(yùn)行各種網(wǎng)絡(luò)功能,這與在昂貴的定制專有硬件上運(yùn)行每項(xiàng)特定網(wǎng)絡(luò)任務(wù)截然不同。將這些無(wú)處不在的開(kāi)放式平臺(tái)的可編程性最大化,使公司能夠在數(shù)據(jù)中心甚至更小的網(wǎng)絡(luò)節(jié)點(diǎn)中運(yùn)行眾多之前由特定硬件設(shè)備執(zhí)行的任務(wù)。NFV 允許運(yùn)營(yíng)商根據(jù)需要只將給定服務(wù)的新網(wǎng)絡(luò)軟件上傳到商用硬件資源,從而可以進(jìn)一步減少創(chuàng)建新的網(wǎng)絡(luò)服務(wù)所需的時(shí)間。運(yùn)營(yíng)商因此可以輕松擴(kuò)展網(wǎng)絡(luò)并為其公司選擇同類(lèi)最佳功能,而不用被迫購(gòu)買(mǎi)和使用軟件靈活性有限的新型專有硬件。
NFV 是有效的,因?yàn)榫W(wǎng)絡(luò)中的很多節(jié)點(diǎn)都具有一般性的功能要求。具備一般性要求的節(jié)點(diǎn)包括交換機(jī)和路由器、數(shù)百萬(wàn)流分類(lèi)、訪問(wèn)控制列表 (ACL)、狀態(tài)流感知、深度數(shù)據(jù)包檢測(cè) (DPI)、隧道網(wǎng)關(guān)、流量分析、性能監(jiān)控、分段、安全性、虛擬路由器和交換機(jī)。但NFV自身也面臨諸多挑戰(zhàn)。預(yù)計(jì)因特網(wǎng)和數(shù)據(jù)中心流量在未來(lái)幾年內(nèi)將呈指數(shù)級(jí)增長(zhǎng),因此網(wǎng)絡(luò)局端基礎(chǔ)設(shè)備必須能夠應(yīng)對(duì)流量的巨大增長(zhǎng)。僅依靠軟件可編程性并不足以使通用硬件能夠隨著帶寬需求的增長(zhǎng)而進(jìn)行輕松擴(kuò)展。無(wú)處不在的硬件需經(jīng)過(guò)重新編程來(lái)優(yōu)化總體系統(tǒng)性能。這允許廠商和運(yùn)營(yíng)商以“更智能,而不是更辛苦的工作”方式來(lái)利用 NFV 和 SDV,從滿足運(yùn)營(yíng)商的最終客戶(即消費(fèi)者)不斷提高的網(wǎng)絡(luò)要求。真正的軟/硬件可編程基礎(chǔ)架構(gòu)才是真正實(shí)現(xiàn) NFV 和 SDN 的愿景的唯一方式。
SDN 同時(shí)在物理與虛擬設(shè)備中的網(wǎng)絡(luò)控制層與底層數(shù)據(jù)轉(zhuǎn)發(fā)層之間使用基于標(biāo)準(zhǔn)的軟件抽象,這消除了傳統(tǒng)分布式網(wǎng)絡(luò)基礎(chǔ)架構(gòu)復(fù)雜且靜態(tài)的本質(zhì),是一種現(xiàn)代的聯(lián)網(wǎng)方法。在過(guò)去五年中,行業(yè)制定了一項(xiàng)標(biāo)準(zhǔn)數(shù)據(jù)層抽象協(xié)議 OpenFlow,其提供的新穎實(shí)用方法可以借助基于集中軟件的控制器來(lái)配置網(wǎng)絡(luò)架構(gòu)。
具有集中軟件配置的開(kāi)放式 SDN 平臺(tái)通過(guò)可編程性和自動(dòng)化顯著提升了網(wǎng)絡(luò)敏捷性,同時(shí)大幅降低了網(wǎng)絡(luò)運(yùn)營(yíng)成本。OpenFlow 等業(yè)界標(biāo)準(zhǔn)數(shù)據(jù)層抽象協(xié)議使提供商可以自由使用任何類(lèi)型和品牌的數(shù)據(jù)層設(shè)備,因?yàn)樗械讓泳W(wǎng)絡(luò)硬件均可通過(guò)一種通用抽象協(xié)議來(lái)進(jìn)行尋址。重要的是,OpenFlow 便于使用“裸機(jī)交換機(jī)”,同時(shí)避免傳統(tǒng)廠商的套牢,使運(yùn)營(yíng)商同樣能夠自由選擇目前可在 IT 基礎(chǔ)設(shè)施的其他領(lǐng)域(如服務(wù)器)中輕松找到的網(wǎng)絡(luò)。
由于 SDN 還處于起步階段,因此標(biāo)準(zhǔn)仍在不斷演進(jìn)。這意味著設(shè)備廠商和運(yùn)營(yíng)商需要防范風(fēng)險(xiǎn),并利用 FPGA 的硬件及軟件的可編程性,以最大的靈活性對(duì) SDN 設(shè)備進(jìn)行設(shè)計(jì)和操作。目前上市的基于 FPGA 的 SDN 設(shè)備即使對(duì)于大規(guī)模部署也相當(dāng)實(shí)惠。基于 FPGA 的 SDN 設(shè)備具有高度的高硬件與軟件靈活性并且盡可能符合 OpenFlow 協(xié)議要求。
性能加速需求
或許,對(duì) NFV 和 SDN 而言,要超越開(kāi)放性最關(guān)鍵的要求就是高性能。盡管 NFV 硬件看起來(lái)比專有系統(tǒng)更便宜,但 NFV 架構(gòu)需要保持極富競(jìng)爭(zhēng)力的大數(shù)據(jù)量,滿足下一代網(wǎng)絡(luò)的復(fù)雜處理要求并不斷提升能效。
實(shí)際上,NFV 基礎(chǔ)設(shè)施小組規(guī)范 (Infrastructure Group Specification) 包含一個(gè)特殊部分,其描述了對(duì)加速功能的需求,以提升網(wǎng)絡(luò)性能。此規(guī)范描述了處理器組件如何將某些功能轉(zhuǎn)移到網(wǎng)卡 (NIC) 以支持某些加速功能,包括 TCP 分段、互聯(lián)網(wǎng)協(xié)議 (IP) 分片、DPI、數(shù)百萬(wàn)條目的過(guò)濾、加密、性能監(jiān)控/計(jì)數(shù)、協(xié)議互通與 OAM 以及其他加速功能。
驅(qū)動(dòng)這種加速的主要引擎是 NIC,其配備了物理以太網(wǎng)接口,供服務(wù)器連接到網(wǎng)絡(luò)。如圖 1 中所示,當(dāng)某個(gè)數(shù)據(jù)包通過(guò) 10GE、40GE 或 100GE 端口到達(dá) NIC 時(shí),根據(jù)標(biāo)簽信息(如 IP、MAC 或 VLAN)將數(shù)據(jù)包放置在虛擬端口 (VP) 或代表特定虛擬機(jī) (VM) 的隊(duì)列中。隨后位于服務(wù)器上的合適的虛擬機(jī)直接對(duì)數(shù)據(jù)包進(jìn)行 DMA 訪問(wèn)以進(jìn)行處理。每個(gè)虛擬網(wǎng)絡(luò)功能 (VNF) 都在不同虛擬機(jī)上運(yùn)行,并且某些網(wǎng)絡(luò)功能需要使用多個(gè)甚至數(shù)十個(gè)虛擬機(jī)。
OpenFlow控制硬件加速功能,比如NIC上的硬件加速功能可以視為是SDN交換機(jī)的擴(kuò)展。可在多個(gè)虛擬機(jī)和/或內(nèi)核上通過(guò)部署多個(gè)VNF來(lái)為眾多功能處理NFV性能。這為NFV帶來(lái)了兩大性能挑戰(zhàn)。第一項(xiàng)挑戰(zhàn)在于“vSwitch”,這通常是一個(gè)軟件,用來(lái)處理以太網(wǎng)NIC與虛擬機(jī)之間的網(wǎng)絡(luò)流量。第二項(xiàng)性能挑戰(zhàn)在于均衡在多個(gè)VM之間輸入的40/100GE數(shù)據(jù)。添加IP分片、TCP分段、加密或其他專用硬件功能時(shí),NFV軟件需要輔助以滿足性能需求并降低功耗。理想情況下,其外形應(yīng)該比較緊湊,以減少存放網(wǎng)絡(luò)設(shè)備所需要的板級(jí)空間。
為處理 NFV 挑戰(zhàn)和各種網(wǎng)絡(luò)功能,用于 NFV 和 SDN 的 NIC 卡必須性能極高,而且盡可能靈活。多家芯片廠商都試圖成為第一家上市 NFV 硬件的廠家,他們已經(jīng)提議構(gòu)建針對(duì) NIC 卡的平臺(tái),它們各自都具有不同程度的可編程性。Intel 目前是主要的 NIC 組件提供商,配有用于加速數(shù)據(jù)包處理的 DPDK 包。EZchip 提供了運(yùn)行 Linux 并可用 C 語(yǔ)言編程的 NPS 多線程 CPU。Marvell 為其 Xelerated 處理器提供了兩個(gè)完整的數(shù)據(jù)層軟件套件以用于城域以太網(wǎng)和統(tǒng)一光纖應(yīng)用接入(Unified Fiber Access Application),這兩個(gè)套件由運(yùn)行在 NPU 上的應(yīng)用程序包和運(yùn)行在主機(jī) CPU 上的控制層 API 組成。Cavium 已經(jīng)為其 Octeon 產(chǎn)品系列選擇了更通用的軟件開(kāi)發(fā)套件。Broadcom、Intel 和 Marvel L2/L3 交換機(jī)主要用于搜索和 vSwitch 負(fù)載轉(zhuǎn)移。同時(shí),Netronome 的新款 Flow-NIC 配備了能在該公司的專用網(wǎng)絡(luò)處理器硬件上運(yùn)行的軟件。
盡管所有這些產(chǎn)品都聲稱是開(kāi)放式 NFV 方法,但實(shí)則不然。所有這些方法都涉及到苛刻并且可以說(shuō)是限制過(guò)多的硬件實(shí)現(xiàn)方案,這些實(shí)現(xiàn)方案僅具備軟件可編程,并且在 SoC 或標(biāo)準(zhǔn)處理器方面再次依賴于苛刻且專有的硬件實(shí)現(xiàn)方案。
用于 NFV 性能加速的 ALL PROGRAMMABLE ETHERNITY NIC
要加強(qiáng)可編程性同時(shí)還要大幅提高性能,很多公司都在研究一種能將現(xiàn)有 CPU 與 FPGA 結(jié)合使用的組合方法。在過(guò)去兩年中,很多數(shù)據(jù)中心運(yùn)營(yíng)商(尤其是 Microsoft 公司)發(fā)布了論文來(lái)闡述他們通過(guò)混合架構(gòu)所實(shí)現(xiàn)的性能大幅提升。Microsoft 發(fā)布的名為“Catapult Project”的白皮書(shū)指出,在功耗僅增加了 10% 的情況下,性能提高了 95%。Intel 指出,在數(shù)據(jù)中心 NIC 中將 FPGA 與 CPU 組合所產(chǎn)生的效能是其花費(fèi) 167 億美元收購(gòu)第二大 FPGA 廠商 Altera 公司的主要原因。
同樣,CPU 與 FPGA 組合方法也適用于在虛擬機(jī)上運(yùn)行虛擬聯(lián)網(wǎng)功能的NFV。在這種方法中,F(xiàn)PGA 用作完全可編程 NIC,經(jīng)擴(kuò)展可用來(lái)加速在服務(wù)器的 CPU/VM 上運(yùn)行的虛擬網(wǎng)絡(luò)功能。
但是完全基于 FPGA 的 NIC 卡是 NFV 的理想 COTS 硬件架構(gòu)。多家 FPGA 固件廠商都可以提供固件,以提高在 FPGA NIC 上運(yùn)行的 NFV 的性能。并且 FPGA 公司最近開(kāi)發(fā)了 C 語(yǔ)言編譯器技術(shù)(如賽靈思的 SDAccel? 和 SDSoC? 開(kāi)發(fā)環(huán)境)以實(shí)現(xiàn) OpenCL? 和 C++ 設(shè)計(jì)輸入和編程加速,從而進(jìn)一步向更多用戶推廣 NFV 設(shè)備設(shè)計(jì)。
為加速 NFV 性能,NFV 解決方案提供商增加了 VM 的數(shù)量,目的是在多個(gè) VM 上分配 VNF。在操作多個(gè) VM 時(shí),出現(xiàn)了新的挑戰(zhàn),這與均衡虛擬機(jī)間的流量負(fù)載同時(shí)還要支持 IP 分片有關(guān)。此外,在支持 VM 之間的交換以及 VM 與 NIC 之間的交換方面也存在挑戰(zhàn)。純軟件 vSwitch 元件根本不具備足以解決這些挑戰(zhàn)的性能。另外,還必須要保持VM的完整性,以便VM能夠適當(dāng)存儲(chǔ)特定的突發(fā)數(shù)據(jù)包并且不會(huì)無(wú)序交付數(shù)據(jù)包。
Ethernity 的 ENET FPGA 專用于解決 NFV 的性能問(wèn)題,其配備了虛擬交換機(jī)/路由器實(shí)現(xiàn)方案,使系統(tǒng)能夠根據(jù) L2、L3 和 L4 標(biāo)簽來(lái)加速 vSwitch 交換數(shù)據(jù)的功能,同時(shí)保持為每個(gè) VM 分配一個(gè)專用虛擬端口。如果某個(gè)特定 VM 不可用,ENET 則可以將流量保存 100ms 之久;而一旦可用,ENET 將通過(guò) DMA 將數(shù)據(jù)傳輸給 VM。我們的ENET安裝了標(biāo)準(zhǔn) CFM 數(shù)據(jù)包生成器和數(shù)據(jù)包分析器,可提供延遲測(cè)量功能,從而可以測(cè)量 VM 的可用性和運(yùn)行健康狀況,并且指示 ENET 的狀態(tài)負(fù)載均衡器(關(guān)于每個(gè) VM 在負(fù)載分配方面的可用性)。數(shù)據(jù)包重新排序引擎可以在某些情況下保持幀的順序,例如,如果某個(gè)數(shù)據(jù)包出現(xiàn)無(wú)序移動(dòng),這可能導(dǎo)致對(duì)一項(xiàng)功能使用多個(gè) VM。
在分類(lèi)模塊中,我們根據(jù) L2、L3 和 L4 字段配置了均衡哈希算法。此算法包含分段,以便負(fù)載均衡器能夠根據(jù)內(nèi)部隧道 (inner tunnel) 信息(如 VXLAN 或 NVGRE)來(lái)執(zhí)行均衡,而 IP 分片連接則可以由特定連接/CPU 來(lái)進(jìn)行處理。對(duì)于 VM 到 VM 連接而言,分類(lèi)器和搜索引擎會(huì)將會(huì)話轉(zhuǎn)發(fā)到目標(biāo) VM,而不是 vSwitch 軟件。同時(shí),分類(lèi)器功能根據(jù)其路由器輸出來(lái)為每個(gè)輸入流分配報(bào)頭操控規(guī)則,同時(shí)監(jiān)控修改 IP 地址或卸載協(xié)議。
對(duì)于每個(gè)新流,目標(biāo)選擇模塊的負(fù)載均衡器根據(jù)加權(quán)循環(huán)調(diào)度算法 (WRR) 技術(shù)從可用的 VM 中分配目標(biāo)地址。將根據(jù)從 VM 負(fù)載監(jiān)控模塊派生的信息來(lái)配置 WRR。
分層流量管理器模塊在可用的VM之間實(shí)現(xiàn)分層 WRR,并為每個(gè) VM 保持一個(gè)輸出虛擬端口,以根據(jù)優(yōu)先級(jí)、VM 和物理端口分成三個(gè)調(diào)度層級(jí)。CPU 層級(jí)表示特定 VM,同時(shí)優(yōu)先級(jí)層級(jí)可能在服務(wù)于特定 VM 的不同服務(wù)/流之間分配加權(quán)。ENET 通過(guò)操作外部 DDR3,可以支持 100ms 的緩存以克服特定 VM 的瞬時(shí)負(fù)載。
VM 負(fù)載監(jiān)控使用 ENET 可編程數(shù)據(jù)包生成器和數(shù)據(jù)包分析器對(duì)電信級(jí)以太網(wǎng)服務(wù)進(jìn)行監(jiān)控,這符合 Y.1731 和 802.1ag 標(biāo)準(zhǔn)。VM 負(fù)載監(jiān)控模塊維護(hù)有關(guān)每個(gè) CPU/VM 可用性的信息,對(duì) VM 使用以太網(wǎng) CFM 延遲測(cè)量報(bào)文 (DMM) 協(xié)議生成之類(lèi)的指標(biāo)。通過(guò)對(duì)每個(gè)數(shù)據(jù)包加蓋時(shí)間戳并測(cè)量發(fā)送與接收之間的時(shí)間差,此模塊可以確定每個(gè) VM 的可用性,并據(jù)此指示可用VM上的目標(biāo)選擇模塊。
資源選擇模塊所確定的是從主機(jī)發(fā)送至用戶的哪些傳出流量將被分類(lèi)并確定數(shù)據(jù)包的資源。ENET中的報(bào)頭操控模塊將執(zhí)行網(wǎng)絡(luò)地址轉(zhuǎn)換 (NAT) 以將輸入地址替換為正確的 VM IP 地址,從而使NIC 能夠?qū)⒘?、?shù)據(jù)包或服務(wù)轉(zhuǎn)發(fā)至正確的VM。對(duì)于輸出流量,NAT 將執(zhí)行相反操作并將數(shù)據(jù)包連同其原始IP地址一并發(fā)送給用戶。此外,報(bào)頭操控模塊還將執(zhí)行隧道封裝。此時(shí),報(bào)頭操縱模塊將執(zhí)行分類(lèi)器通過(guò)分類(lèi)所分配的操作規(guī)則,并將在 CPU 操作之間剝離隧道報(bào)頭或其他報(bào)頭。在相反方向,其將原始隧道附加到輸出用戶端口。
隨著運(yùn)營(yíng)商網(wǎng)絡(luò)用戶數(shù)量的增加,流表(flow table)的大小可能快速增加從而超過(guò)標(biāo)準(zhǔn)服務(wù)器的緩存容量。對(duì)于當(dāng)前OpenFlow系統(tǒng)尤為如此,因?yàn)楫?dāng)前OpenFlow系統(tǒng)需要40個(gè)不同字段、IPv6地址、多協(xié)議標(biāo)簽交換(MPLS)和提供商骨干網(wǎng)橋(PBB)。ENET搜索引擎和包解析器可以支持對(duì)多個(gè)字段進(jìn)行分類(lèi)并提供數(shù)百萬(wàn)個(gè)流,因而可以從軟件設(shè)備中卸載分類(lèi)和搜索功能。
最后,通過(guò)ENET數(shù)據(jù)包報(bào)頭操控引擎,ENET 可將卸載任何協(xié)議處理并為 VM 以及 TCP 分段或者各種協(xié)議之間的聯(lián)網(wǎng)(包括用于虛擬 EPC(vEPC) 實(shí)現(xiàn)的 3GPP、XVLAN、MPLS、PBB、NAT/PAT 等)提供原始數(shù)據(jù)信息。
除了固件之外,Ethernity 還開(kāi)發(fā)了我們稱之為 ACE-NIC的NFV NIC(圖 3)。要?jiǎng)?chuàng)建 NIC,我們將 ENET SoC 固件(已部署到電信級(jí)以太網(wǎng)網(wǎng)絡(luò)中的數(shù)十萬(wàn)個(gè)系統(tǒng)中)部署到單個(gè)Xilinx Kintex?-7 FPGA 中。我們還將五個(gè)分立組件的功能集成到同一個(gè) FPGA 中。NIC 和 SR-IOV 支持;網(wǎng)絡(luò)處理(包括分類(lèi)、負(fù)載均衡、數(shù)據(jù)包修改、交換、路由以及 OAM);100ms 緩沖;幀分段;加密。
ACE-NIC 是一款支持 OpenFlow 的硬件加速 NIC,并在 COTS 服務(wù)器中運(yùn)行。ACE-NIC 將 vEPC 和 vCPE NFV 平臺(tái)的性能提升 50 倍,極大降低了與 NFV 平臺(tái)相關(guān)的端對(duì)端時(shí)延。新的 ACE-NIC 配備了四個(gè) 10GE 端口以及專為基于 Ethernity ENET 流處理器的 FPGA SoC 設(shè)計(jì)的軟件和硬件,支持 PCIe? Gen3。ACE-NIC 還配備了與 FPGA SoC 連接的板載 DDR3,支持 100ms 緩沖并可搜索一百萬(wàn)條目。
Ethernity ENET 流處理器 SoC 平臺(tái)使用具有專利、獨(dú)有的基于流的處理引擎來(lái)處理大小可變的任何數(shù)據(jù)單元,提供多協(xié)議聯(lián)網(wǎng)、流量管理、交換、路由、分段、時(shí)間戳和網(wǎng)絡(luò)處理。此平臺(tái)在Xilinx 28nm Kintex-7XC7K325T FPGA 上支持高達(dá) 80Gbps 的速率,或在更大型 FPGA 上支持更高速率。
ACE-NIC 附帶基本功能,比如納秒精度以內(nèi)的按幀時(shí)間戳、數(shù)據(jù)包生成器、數(shù)據(jù)包分析器、100ms 緩沖、幀過(guò)濾以及 VM 之間的負(fù)載平衡。為提供多個(gè)云設(shè)備,其還能夠按虛擬機(jī)分配虛擬端口。
此外,ACE-NIC 還帶有 NFV vEPC 的專用加速功能。這些功能包括幀報(bào)頭操縱和卸載、16K 虛擬端口交換實(shí)現(xiàn)、可編程幀分段、QoS、計(jì)數(shù)器和計(jì)費(fèi)信息,這些功能可以由面向 vEPC 的 OpenFlow 進(jìn)行控制。通過(guò)其獨(dú)特的軟件及硬件設(shè)計(jì),ACE-NIC 將軟件性能提高了 50 倍。
ALL PROGRAMMABLE ETHERNITY SDN 交換機(jī)
同樣,Ethernity 在 FPGA 中集成 ENET SoC 固件以創(chuàng)建全 ALL PROGRAMMABLE SDN 交換機(jī),并支持 OpenFlow 的 1.4 版本和全套電信級(jí)以太網(wǎng)交換機(jī)功能,從而加速白盒 SDN 交換機(jī)部署的上市進(jìn)程。
ENET SoC 電信級(jí)以太網(wǎng)交換機(jī)是符合 MEF 標(biāo)準(zhǔn)的 L2、L3 和 L4 交換機(jī)/路由器,可以在分布于超過(guò) 128 個(gè)物理通道的 16,000 個(gè)內(nèi)部虛擬端口之間交換和路由五個(gè)級(jí)別數(shù)據(jù)包報(bào)頭的幀。其支持 FE、GbE 和 10GbE 以太網(wǎng)端口以及四種級(jí)別的流量管理調(diào)度層級(jí)。由于 ENET 的內(nèi)在架構(gòu)支持分段幀,因此 ENET 可以通過(guò)零拷貝技術(shù)執(zhí)行 IP 分片和功能重新排序,這樣一來(lái),分段與重組便不再需要專用的存儲(chǔ)和轉(zhuǎn)發(fā)。此外,ENET 還具有集成的可編程數(shù)據(jù)包生成器和數(shù)據(jù)包分析器,可簡(jiǎn)化 CFM/OAM 操作。最終,ENET 可以在 3GPP、LTE、移動(dòng)回程和寬帶接入中運(yùn)行。其支持多個(gè)協(xié)議之間的互通,這些只需要通過(guò)零拷貝操作,并且不需要重新路由幀來(lái)進(jìn)行報(bào)頭操控。
顯然,通信行業(yè)正處在新時(shí)代的開(kāi)端。我們確信可以看到 NFV 和 SDN 領(lǐng)域會(huì)有很多創(chuàng)新。NFV 性能提升或 SDN 交換機(jī)的任何新興解決方案必須能夠支持新版 SDN。隨著 Intel 收購(gòu) Altera 以及尋求更高可編程性的硬件架構(gòu)不斷增多,我們確信處理器與 FPGA 的組合架構(gòu)也會(huì)越來(lái)越多,同時(shí)還會(huì)有新的創(chuàng)新方式來(lái)實(shí)現(xiàn) NFV 性能提升。
基于 FPGA 的 NFV NIC 加速可以基于通用處理器來(lái)提供 NFV 的靈活性,同時(shí)提供GPP 無(wú)法維持的必要吞吐量,并且還要執(zhí)行 GPP 無(wú)法支持的特定網(wǎng)絡(luò)功能加速。通過(guò)在 FPGA 平臺(tái)上有效組合 SDN 與 NFV,我們可以設(shè)計(jì)出 All Programmable 網(wǎng)絡(luò)設(shè)備,從而推動(dòng)網(wǎng)絡(luò)應(yīng)用領(lǐng)域中全新的 IP 廠商生態(tài)系統(tǒng)創(chuàng)新。
圖 1 – 在數(shù)據(jù)包到達(dá)時(shí),NIC 進(jìn)入代表特定虛擬機(jī)的虛擬端口 (VP)。數(shù)據(jù)包隨后通過(guò) DMA 發(fā)送到服務(wù)器上的合適的虛擬機(jī)以進(jìn)行處理。
圖 2 - 這一高級(jí)方框圖顯示了虛擬機(jī)的負(fù)載均衡和交換機(jī)。
圖 3 – Xilinx Kintex FPGA 位于 Ethernity NFV 網(wǎng)卡的中心。
評(píng)論
查看更多