基于多核處理器設(shè)計網(wǎng)絡(luò)接口卡
在IP網(wǎng)絡(luò)一統(tǒng)天下的時代,各種網(wǎng)絡(luò)設(shè)備都需要以太網(wǎng)接口來實現(xiàn)與其他設(shè)備的互聯(lián)互通,比如傳統(tǒng)的TDM設(shè)備就通過偽線技術(shù)實現(xiàn)了以太網(wǎng)封裝,具備了與IP網(wǎng)絡(luò)對話的能力。對于服務(wù)器來講,通常也需要配備網(wǎng)絡(luò)接口卡(NIC)來實現(xiàn)與其他網(wǎng)絡(luò)的數(shù)據(jù)對接與傳送。網(wǎng)絡(luò)接口卡可以幫助系統(tǒng)捕獲報文,對網(wǎng)絡(luò)性能進行監(jiān)測并檢測服務(wù)質(zhì)量,實現(xiàn)必要的OAM功能;在保障安全的IPSec功能基礎(chǔ)上,網(wǎng)絡(luò)接口卡還可以通過對接收流量進行深度的報文檢測,識別不同應(yīng)用與業(yè)務(wù),對不同業(yè)務(wù)類型進行分門別類的處理。
本文引用地址:http://www.biyoush.com/article/201706/352984.htm隨著多核技術(shù)的發(fā)展,越來越多的網(wǎng)絡(luò)接口卡開始采用多核處理器方案,通過分配不同的業(yè)務(wù)處理到不同的CPU核,多核架構(gòu)可以靈活應(yīng)對各種復(fù)雜的業(yè)務(wù)需求。不過,隨著網(wǎng)絡(luò)帶寬的不斷提升,純CPU多核架構(gòu)也面臨一些問題。以網(wǎng)絡(luò)接口卡基本的安全功能為例,通常在第一層保護中需要ACL、防火墻/NAT/PAT、ALG、L2TP和IPSec VPN等;第二級保護中需要對接收數(shù)據(jù)深度檢測,進而識別應(yīng)用、ToE、IPSec;第三級保護中需要MAC/URL過濾,端口 /MAC認證等。如果將這些處理完全交給CPU,不僅CPU的業(yè)務(wù)負荷過大,影響到單板功耗和系統(tǒng)軟件設(shè)計,而且隨著帶寬需求的不斷增加,CPU核會面臨處理瓶頸的問題。
LSI公司推出的Axxia系列多核通信處理器,采用異構(gòu)多核的方式,創(chuàng)新性的將多核與快速處理引擎通過專利技術(shù)虛擬管道(Virtual Pipeline)技術(shù)相連,解決了純CPU多核以及同構(gòu)多核在處理復(fù)雜業(yè)務(wù)時性能下降的問題,在保證業(yè)務(wù)線性處理的情況下仍然保留CPU核資源用于控制、管理、業(yè)務(wù)后處理等工作。
Axxia通信處理器
LSI公司第六代通信處理器的核心是高性能的多核處理器和一系列基于硬件的業(yè)務(wù)加速引擎,通過靈活的Axxia平臺架構(gòu),處理器核可以有多種選擇,如ARM、PowerPC或者MIPS。本文將對以PowerPC為主的Axxia通信處理器進行介紹,處理器的基本框圖如圖1所示。
圖1:基于PowerPC的AXXIA通信處理器內(nèi)部框圖。
圖1中PPC476核由IBM和LSI聯(lián)合研發(fā),兼容Power ISA Version 2.05,最高主頻可以達到2GHz;用來提供快速處理通路的各加速引擎得益于LSI公司多年來的研發(fā)積累,技術(shù)成熟可靠,多代產(chǎn)品經(jīng)過市場考驗,這些引擎主要包括:報文處理、安全引擎、正則處理引擎、流量管理/調(diào)度器(六級調(diào)度)。
Axxia設(shè)計采用異構(gòu)多核的架構(gòu),創(chuàng)新性的采用虛擬管道技術(shù)來實現(xiàn)各加速引擎,CPU核以及各子系統(tǒng)間的通信,這個全新的消息傳遞機制保障Axxia無論報文長短,系統(tǒng)負荷以及協(xié)議類型都可以提供確定性的處理性能,避免同構(gòu)多核在核數(shù)目與系統(tǒng)性能提升間不成比例的問題。在虛擬化日益普及的情況下,低延時和可確定的處理性能已經(jīng)成為網(wǎng)絡(luò)設(shè)備的首選條件。
Axxia處理器提供一系列高速接口,包括8路基于SerDes的SGMII,2路基于XAUI的10GbE,3路PCIe接口,支持x1/x2/x4,同時它還支持IEEE1588v2協(xié)議。
網(wǎng)絡(luò)接口卡的硬件設(shè)計
Axxia兼?zhèn)潇`活的數(shù)據(jù)處理和強大的主控CPU,單芯片方案提供豐富的高速接口和低速調(diào)試接口,由此非常適合應(yīng)用于嵌入式的單板設(shè)計。圖2為基于Axxia芯片的網(wǎng)絡(luò)接口卡方案框圖。Axxia芯片的快速處理引擎可以用來實現(xiàn)數(shù)據(jù)層面的加速,PowerPC核可以用來實現(xiàn)附加功能以及主控層面的處理。
圖2:基于AXXIA芯片的網(wǎng)絡(luò)接口卡方案框圖。
單板設(shè)計采用Axxia系列中中端的ACP3423,配置了2G DDR3 SDRAM,背板側(cè)PCIe x4 Gen2用做管理,6個SGMII和XAUI用做數(shù)據(jù)交換;網(wǎng)絡(luò)側(cè)為10GE SFP+;支持IEEE1588和同步以太網(wǎng)。
Axxia通信處理器為支持SGMII、XAUI、sRIO和PCIe等高速接口,芯片內(nèi)部包含有多條SerDes PHY接口,這些協(xié)議可配置接口根據(jù)不同的發(fā)送和接收數(shù)據(jù)對被分成兩大組:SGMII/XAUI和sRIO/PCIe。對單板的硬件設(shè)計來講,這些高速接口的信號完整性非常重要,在設(shè)計過程中要保證PCB板、背板、線纜等有干凈的供電,良好的接地,在布線過程中要對走線做阻抗匹配。LSI公司提供了詳細的硬件設(shè)計文檔和SerDes設(shè)計文檔。
軟件開發(fā)
如前文所述,Axxia確定性的性能來自于優(yōu)良的硬件架構(gòu),同時,作為整個接口卡方案的“靈魂”,LSI公司還為Axxia系列處理器的軟件開發(fā)提供基于各種操作系統(tǒng)的軟件包,包括Axxia運行開發(fā)環(huán)境RTE,Axxia軟件環(huán)境ASE等。對于網(wǎng)絡(luò)接口卡開發(fā)還提供完整的Linux BSP實現(xiàn)以及Axxia應(yīng)用開發(fā)套件(ADK)。ADK由一系列針對特定協(xié)議的數(shù)據(jù)層和控制層軟件模塊組成,有了這些模塊軟件開發(fā)者無需關(guān)注底層細節(jié),可以很靈活方便的直接用高級語言如C進行應(yīng)用程序開發(fā)。軟件基本框架如圖3所示。
圖3:Axxia軟件開發(fā)框架。
應(yīng)用案例
1.ARP(地址解析協(xié)議)處理加速
以太網(wǎng)中的數(shù)據(jù)幀從一個主機到達網(wǎng)內(nèi)的另一臺主機不是根據(jù)32位的IP地址而是根據(jù)48位的以太網(wǎng)地址即硬件地址來確定接口。內(nèi)核如驅(qū)動必須知道目的端的硬件地址才能發(fā)送數(shù)據(jù)。由RFC826我們知道,ARP地址解析協(xié)議就用于將計算機的網(wǎng)絡(luò)地址即IP地址轉(zhuǎn)化為物理地址即MAC地址。由于傳統(tǒng)的物理網(wǎng)絡(luò)接入的是物理服務(wù)器,并且整個網(wǎng)絡(luò)只能為一個用戶使用,普通CPU就可以處理報文的ARP請求,但隨著服務(wù)器的虛擬化,以及云計算多租戶的出現(xiàn),網(wǎng)絡(luò)對ARP處理的性能需求也大幅提升。采用純CPU方案不僅大量耗費CPU資源,而且無法提供可確定的性能,無法防范可能的網(wǎng)絡(luò)攻擊。采用ACP3423的網(wǎng)絡(luò)接口卡方案就可以很好的解決這個問題。
ACP3423處理ARP報文主要用到圖1中的網(wǎng)絡(luò)輸入輸出EIOA模塊和流分類MPP模塊,無需內(nèi)部PowerPC核的參與,也就是說ARP流程完全卸載到快速通路來處理。EIOA模塊主要用來從網(wǎng)絡(luò)收發(fā)報文并執(zhí)行以太CRC校驗;MPP模塊主要用來根據(jù)以太網(wǎng)類型字段過濾ARP報文,ARP報文操作驗證諸如請求或者回復(fù),MAC_DA flooding校驗,對給定AR_IP尋找對應(yīng)AC_MAC,生成ARP響應(yīng)報文等。ARP處理流程圖如圖4所示。
圖4:ARP地址解析協(xié)議處理流程圖。
以具有100K條目的ARP表項為例,Axxia可以處理超過1250萬ARP報文/秒,即使在過載狀態(tài),Axxia也可以保證確定性的性能,有效防范各種攻擊。
2. DPI(深度報文檢測)
在多租戶應(yīng)用環(huán)境中,不同等級客戶會有不同的服務(wù)等級,此時傳統(tǒng)的五元組檢查無法提供精細的控制,這就需要有DPI技術(shù)來對報文進行深入到7層的檢測。通過Axxia的流分類引擎MPP,深度報文檢測DPI引擎以及內(nèi)置的多核芯片,網(wǎng)絡(luò)接口卡可探測識別的應(yīng)用種類超過5500種。
處理流程既可以通過Axxia的MPP引擎檢測固定特性應(yīng)用,也可以利用DPI引擎和CPU核對報文進行深度排查?;诠潭ㄌ匦员淼膽?yīng)用識別主要通過目的端口號和協(xié)議來識別應(yīng)用,MPP引擎具有表查找功能;基于特征的應(yīng)用識別通過DPI引擎來檢查特征時,在需要CPU干預(yù)或做后處理時,Axxia可以將報文送至內(nèi)部CPU核做進一步判別處理,也可以送至任意外部主處理器做進一步操作。
本文小結(jié)
在數(shù)據(jù)中心的網(wǎng)絡(luò)產(chǎn)品應(yīng)用中,既要保證交換速度足夠快,滿足某些金融用戶做高頻交易服務(wù)的需求,另一方面要把容量做得更大,更具擴展性,滿足像谷歌、Facebook這樣的互聯(lián)網(wǎng)用戶的服務(wù)。LSI公司的異構(gòu)多核通信處理器Axxia通過靈活的架構(gòu)將硬件加速引擎與CPU相結(jié)合,很好解決了通用多核CPU處理效率與核數(shù)目增長非線性的關(guān)系。Axxia完全卸載業(yè)務(wù)到快速通路的業(yè)務(wù)流程保證了系統(tǒng)具有確定性的性能,同時可減低系統(tǒng)的成本和功耗?;贏xxia處理器的網(wǎng)絡(luò)接口卡很好的滿足了虛擬化環(huán)境下對網(wǎng)絡(luò)設(shè)備提出的新需求。
評論