(文章來源:信而泰XINERTEL)
眾所周知,以太網(wǎng)已經(jīng)深入我們的生活無處不在,企業(yè)、校園、大數(shù)據(jù)中心和家庭等都離不開網(wǎng)絡(luò),否則我們的生活將受到嚴(yán)重的影響。以太網(wǎng)的接口速率也是迅速發(fā)展:10M、100M、GE、10GE、40GE、100GE,到目前逐步成熟的2.5GE、5GE、25GE、50GE甚至400GE,基本是每10年速率10倍增長的發(fā)展趨勢。
很多數(shù)據(jù)中心和運(yùn)營商也已準(zhǔn)備將其網(wǎng)絡(luò)從100GE擴(kuò)展到400GE,以支持第五代無線技術(shù)(5G)、人工智能(AI)、虛擬現(xiàn)實(shí)(VR)、物聯(lián)網(wǎng)(IoT)、自動駕駛汽車等新興技術(shù)所需的帶寬和響應(yīng)時間。然而任何新型網(wǎng)絡(luò)接口速率、網(wǎng)絡(luò)設(shè)備的研發(fā)至形成最終產(chǎn)品及網(wǎng)絡(luò)新技術(shù)從研究到落地,每個階段都離不開測試驗(yàn)證,而且已經(jīng)給測試帶來了極大的挑戰(zhàn)。同時,高性能的穩(wěn)定的高速率網(wǎng)絡(luò)測試儀的發(fā)展,卻有點(diǎn)跟不上網(wǎng)絡(luò)設(shè)備的研發(fā)需求。
所以高速率、穩(wěn)定的網(wǎng)絡(luò)測試儀的發(fā)展刻不容緩,尤其是掌握核心技術(shù)的國產(chǎn)化網(wǎng)絡(luò)測試儀產(chǎn)品。國內(nèi)電信運(yùn)營商進(jìn)行的大規(guī)模的數(shù)據(jù)中心交換機(jī)或是核心路由器的測試場景對測試儀提出了極高的要求。具備長時間穩(wěn)定打流、統(tǒng)計(jì)及協(xié)議仿真的能力,如7x24小時長時間穩(wěn)定運(yùn)行;同樣的物理環(huán)境及網(wǎng)絡(luò)條件,多次測試結(jié)果必須一致;測試結(jié)果必須能準(zhǔn)確的反映被測設(shè)備或系統(tǒng)的真實(shí)指標(biāo)情況,如吞吐量指標(biāo)、時延和抖動的精確性、流量調(diào)度的精確性、流量統(tǒng)計(jì)的精確性。
支持所有包長(如64-16000字節(jié)或IMIX混合包長)線速發(fā)流及統(tǒng)計(jì)的能力、超高的路由交換協(xié)議仿真能力(如多session數(shù)的BGP/OSPF/ISIS/PPPOE/IPOE/EVPN等)、多端口(如上百個以上的100GE/10GE)多業(yè)務(wù)(如IPV4/IPV6/MPLS/Multicast)流量場景仿真能力;具備符合國際測試標(biāo)準(zhǔn)RFC-2544,RFC-2889、RFC3511、RFC3918等;支持1GE/2.5GE/5GE/10GE/25GE/40GE/50GE/100GE/400GE等多種接口類型,支持多機(jī)框級聯(lián)搭建大規(guī)模的測試場景。而目前市面上存在的網(wǎng)絡(luò)測試儀主要有兩種架構(gòu)。
X86的編程相對容易,調(diào)試手段更加豐富,成本有一定的優(yōu)勢,在要求不高的功能性測試方面,是一個不錯的選擇。FPGA+x86這樣的軟硬集合的測試系統(tǒng),則適用于高性能、全覆蓋、測試場景規(guī)模大、測試業(yè)務(wù)復(fù)雜的測試場景。FPGA+x86的混合架構(gòu),一方面利用了FPGA越來越強(qiáng)大的數(shù)據(jù)層面硬件的并行性,另一方面也結(jié)合了CPU在控制層面的處理靈活性,同時由于FPGA和CPU本質(zhì)上都是可編程的系統(tǒng),根據(jù)業(yè)務(wù)處理的需要,可以在FPGA硬件和CPU軟件之間靈活地移動業(yè)務(wù)劃分邊界,實(shí)現(xiàn)整個業(yè)務(wù)流程的全面優(yōu)化。
x86+DPDK+網(wǎng)卡:以圖示的100G網(wǎng)絡(luò)為例,在64字節(jié)包長的情況下,大概每秒會收發(fā)150M個數(shù)據(jù)包,以目前的CPU的計(jì)算和存儲存取能力是無法處理的,而基于FPGA架構(gòu)的測試儀沒有此限制。根據(jù)DPDK官網(wǎng)公開發(fā)布的最新數(shù)據(jù)(2019.10.9),采用圖1的系統(tǒng)配置,可以明顯看出在64,128,256等小字節(jié)情況下無法做到100G線速收發(fā)包;
x86+DPDK+網(wǎng)卡:X86系統(tǒng)是面向通用計(jì)算的系統(tǒng),它本身的基準(zhǔn)時鐘精度就不高,同時OS的調(diào)度誤差至少在us量級;如果x86系統(tǒng)的NIC不支持在物理層插入時間戳的話,需要由軟件系統(tǒng)來處理網(wǎng)絡(luò)時延,這將帶來進(jìn)一步的誤差;所以通常網(wǎng)絡(luò)測試需要的精確至10ns量級的時延難以在面向計(jì)算的通用x86平臺上實(shí)現(xiàn);FPGA+x86:在FPGA平臺上,通過0.1~0.001PPM精度的晶振,產(chǎn)生高達(dá)400M的時鐘,可以將時延的精度控制在2.5ns數(shù)量級別。
x86+DPDK+網(wǎng)卡:x86系統(tǒng)面向通用計(jì)算,目前主流的內(nèi)存系統(tǒng)是DDR4內(nèi)存,帶寬大但是訪問延遲也大,根據(jù)讀寫訪問模式的不同,可能會帶有延遲抖動;FPGA+x86:FPGA的內(nèi)存,可以根據(jù)需要組合片上RAM(可以實(shí)現(xiàn)cache功能)+DDR+QDR+RLDRAM等各種內(nèi)存技術(shù),優(yōu)化帶寬需求型和延遲需求型訪問。
x86+DPDK+網(wǎng)卡:無額外資源來實(shí)現(xiàn)TCP offloading等協(xié)議加速功能;FPGA+x86:FPGA是硬件的可編程系統(tǒng),可以根據(jù)硬件資源的多少,以及業(yè)務(wù)處理的需要,在協(xié)議處理方面和x86系統(tǒng)靈活地劃分接口界限,實(shí)現(xiàn)TCP offloading等協(xié)議加速功能,把協(xié)議處理中的計(jì)算密集型的無狀態(tài)任務(wù)在硬件層面并行化,可以大大增強(qiáng)整個系統(tǒng)的處理能力。
x86+DPDK+網(wǎng)卡:x86系統(tǒng)在高速端口上無法實(shí)現(xiàn)小字節(jié)包長線速發(fā)流,更談不上精準(zhǔn)的流量調(diào)度了;FPGA+x86:面對測試業(yè)務(wù)流量越來越復(fù)雜和規(guī)模越來越大的交換機(jī)、路由器,F(xiàn)PGA系統(tǒng)架構(gòu)下支持產(chǎn)生成千上萬條流(比如高端測試儀中典型的64K條流),并且可以對每條流之間的帶寬比例、發(fā)送調(diào)度模式做到精確控制,甚至精確到小數(shù)點(diǎn)后面5位。
x86+DPDK+網(wǎng)卡:CPU的測試功能軟件實(shí)現(xiàn)本質(zhì)上是一個串行的指令集合,隨著多核的超線程等新技術(shù)的實(shí)現(xiàn),在指令級別可以實(shí)現(xiàn)部分的并行,但是對于一些統(tǒng)計(jì)數(shù)據(jù),比如實(shí)時的每秒收發(fā)幀數(shù)等,至少是由兩個參數(shù)來定義的(一定的時間間隔delta和該間隔內(nèi)的收發(fā)包數(shù)),若是這兩個參數(shù)的讀取是在一個CPU內(nèi)核上實(shí)現(xiàn)的,則指令的串行特性必然帶來很大的誤差;若是這兩個參數(shù)的讀取是在兩個內(nèi)核上實(shí)現(xiàn)的,則目前的CPU技術(shù)難以實(shí)現(xiàn)內(nèi)核之間ns級別的同步,同樣帶來統(tǒng)計(jì)值的不精確;
FPGA+x86:?FPGA內(nèi)部,通過硬件編程技術(shù),可以很輕松地實(shí)現(xiàn)統(tǒng)計(jì)值快照功能,嚴(yán)格保證上述兩個參數(shù)的讀取是精確對應(yīng)的。x86+DPDK+網(wǎng)卡:對于大規(guī)模的被測系統(tǒng),無論是x86的軟件實(shí)現(xiàn)還是FPGA+X86這樣的混合系統(tǒng),單機(jī)都無法完成測試任務(wù),系統(tǒng)級聯(lián)并且在10ns級別實(shí)現(xiàn)同步是必然的選項(xiàng)。x86系統(tǒng)面向通用計(jì)算,可以通過運(yùn)行NTP的協(xié)議可以實(shí)現(xiàn)多機(jī)同步,但是NTP的同步精度無法達(dá)到時延測試業(yè)務(wù)的要求;
FPGA+x86:在FPGA+x86的混合系統(tǒng)中,通過FPGA可以實(shí)現(xiàn)本地線纜級聯(lián)/GPS/1588v2等高精度同步技術(shù),保證時間測試精度。
另外,在FPGA+x86混合系統(tǒng)的實(shí)現(xiàn)中,2-3層的流量處理在FPGA內(nèi)實(shí)現(xiàn),不需要經(jīng)過CPU的協(xié)議?;蛘呱蠈討?yīng)用,CPU只需實(shí)現(xiàn)輕量級的配置下發(fā)、界面呈現(xiàn)等運(yùn)算,避免了CPU在線速收發(fā)流處理方面的天然缺陷;在X86一側(cè),也可以靈活部署DPDK技術(shù),由X86系統(tǒng)實(shí)現(xiàn)經(jīng)過加速后的純協(xié)議處理部分,將FPGA和x86的優(yōu)勢組合起來,實(shí)現(xiàn)高效的業(yè)務(wù)處理。
顯而易見,采用FPGA+x86混合系統(tǒng)是構(gòu)建高性能網(wǎng)絡(luò)測試儀的最佳選擇。
? ? ? (責(zé)任編輯:fqj)
評論
查看更多