張?zhí)煺?/p>
摘要:在深入分析網(wǎng)絡(luò)處理器的構(gòu)成和特點(diǎn)的基礎(chǔ)上,結(jié)合具體實(shí)例介紹了網(wǎng)絡(luò)處理器在骨干網(wǎng)和接入網(wǎng)中的應(yīng)用情況;結(jié)合通信網(wǎng)絡(luò)的發(fā)展趨勢(shì)和邏輯編程方式設(shè)計(jì)網(wǎng)絡(luò)處理器的方法,從應(yīng)用角度闡述了網(wǎng)絡(luò)處理器在傳統(tǒng)網(wǎng)絡(luò)以及軟件定義網(wǎng)絡(luò)等新型網(wǎng)絡(luò)中的作用,并分析了網(wǎng)絡(luò)處理器的發(fā)展方向、潛在的應(yīng)用場(chǎng)景。
關(guān)鍵詞:網(wǎng)絡(luò)處理器 接入網(wǎng) 骨干網(wǎng) 通信網(wǎng)絡(luò)
中圖分類號(hào): TP393.05 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2016)06-0000-00
1 引言
網(wǎng)絡(luò)處理器是一種面向通信領(lǐng)域、軟件可編程的專用芯片;具有ASIC的處理速度和通用CPU編程靈活性;可滿足通信網(wǎng)絡(luò)中第2層到第7層涉及的各類處理需求;已經(jīng)成為數(shù)據(jù)網(wǎng)、電信網(wǎng)等領(lǐng)域中的關(guān)鍵部件。隨著新業(yè)務(wù)的不斷涌現(xiàn),軟件定義網(wǎng)絡(luò)等新型網(wǎng)絡(luò)[1]的試驗(yàn)與部署,網(wǎng)絡(luò)處理器也得到了更快的發(fā)展、更廣的應(yīng)用。在分析網(wǎng)絡(luò)處理器主要構(gòu)成和特點(diǎn)的基礎(chǔ)上,結(jié)合EZchip公司和PMC-Sierra公司的相關(guān)產(chǎn)品介紹了網(wǎng)絡(luò)處理器在數(shù)據(jù)網(wǎng)骨干層、電信網(wǎng)接入層的應(yīng)用情況;通過對(duì)Xilinx公司的以邏輯編程方式設(shè)計(jì)網(wǎng)絡(luò)處理器方法的分析,闡述了網(wǎng)絡(luò)處理器在新型網(wǎng)絡(luò)中的作用及其未來的發(fā)展方向和應(yīng)用場(chǎng)景。
2 網(wǎng)絡(luò)處理器的構(gòu)成和特點(diǎn)
如圖1所示,網(wǎng)絡(luò)處理器通常由處理單元、流量管控單元、互連單元、存儲(chǔ)單元等部分構(gòu)成。處理單元通常包括一個(gè)通用處理引擎、多個(gè)專用處理引擎和硬件加速引擎,形成一個(gè)多處理器系統(tǒng);通用處理引擎通常采用通用CPU架構(gòu),用于系統(tǒng)的管理與維護(hù)、異常的處理等工作;專用處理引擎多采用定制架構(gòu),用于對(duì)數(shù)據(jù)包進(jìn)行不同層面、不同深度的高速處理;硬件加速引擎一般由支持哈希查找、數(shù)據(jù)編解碼等功能的硬件電路構(gòu)成,配合專用處理引擎工作。流量管控單元對(duì)每個(gè)數(shù)據(jù)包及關(guān)聯(lián)的數(shù)據(jù)流進(jìn)行綜合處理以滿足QoS等方面的要求。互連單元采用多種高速總線將各個(gè)單元連接起來,形成硬件并行的數(shù)據(jù)通路結(jié)構(gòu)。存儲(chǔ)單元提供數(shù)據(jù)包、表項(xiàng)類、指令類等多種類型的片內(nèi)存儲(chǔ)空間,并通過Flash、TCAM、RLDRAM等接口提供大量的片外存儲(chǔ)空間。
網(wǎng)絡(luò)處理器高速、靈活的特性主要體現(xiàn)在專用處理引擎處理數(shù)據(jù)包的能力方面。專用處理引擎具有相對(duì)獨(dú)立的存儲(chǔ)、指令譯碼與執(zhí)行、狀態(tài)、控制等部件;通過多線程切換、塊傳輸、多總線等機(jī)制并行的處理數(shù)據(jù)包;可協(xié)同硬件加速引擎進(jìn)一步提高處理速度。利用專用處理引擎之間無直接關(guān)聯(lián)的特點(diǎn),通過流水線可實(shí)現(xiàn)系統(tǒng)指令的并行處理,使網(wǎng)絡(luò)處理器線速工作。設(shè)計(jì)人員可通過對(duì)專用處理引擎微碼編程控制數(shù)據(jù)包的整個(gè)處理過程,具有比擬于通用CPU的靈活性,使基于網(wǎng)絡(luò)處理器的設(shè)備能夠以軟件升級(jí)的方式快速適應(yīng)需求的變化。
3 網(wǎng)絡(luò)處理器的應(yīng)用
3.1 網(wǎng)絡(luò)處理器在骨干網(wǎng)中的應(yīng)用
骨干網(wǎng)的建設(shè)周期長(zhǎng)、投入多,承載的業(yè)務(wù)量大、可靠性要求高;其網(wǎng)絡(luò)設(shè)備需要兼顧當(dāng)前和長(zhǎng)遠(yuǎn)發(fā)展的各種需求;通常采用以網(wǎng)絡(luò)處理器為核心部件設(shè)計(jì)性能高、擴(kuò)展性強(qiáng)的網(wǎng)絡(luò)設(shè)備。如圖2所示,全雙工線卡主要由4顆EZchip公司的網(wǎng)絡(luò)處理器NP-4構(gòu)成[2],最大處理速率100Gbps。NP-4主要由多個(gè)專用處理引擎(TOPs,Task Optimized Processors)、流量管理控制器(TM,Traffic Managers)、內(nèi)部互連單元、控制CPU、QoS管理CPU等部分構(gòu)成;圖中虛線展示了數(shù)據(jù)包在全雙工線卡中的主要傳輸過程。
如圖3所示,NP-4主要通過TOPs和TM對(duì)每包數(shù)據(jù)分階段處理。TOPs根據(jù)網(wǎng)絡(luò)協(xié)議或應(yīng)用要求對(duì)輸入數(shù)據(jù)包的相關(guān)字段進(jìn)行解析,并提取關(guān)鍵字;然后根據(jù)關(guān)鍵字查找相關(guān)的路由表、會(huì)話表、策略表等表項(xiàng);根據(jù)查找的結(jié)果進(jìn)行判斷、決策、更新會(huì)話狀態(tài)、啟用附加查找等操作;最后根據(jù)處理結(jié)果修改數(shù)據(jù)包的相關(guān)內(nèi)容后輸出。TM依據(jù)QoS等方面的要求對(duì)數(shù)據(jù)包以及關(guān)聯(lián)的數(shù)據(jù)流進(jìn)行WRED等多方面的處理。EZchip公司根據(jù)數(shù)據(jù)包分階段相對(duì)獨(dú)立處理、整體硬件結(jié)構(gòu)異構(gòu)并行等特點(diǎn),開發(fā)了專用的編程環(huán)境,設(shè)計(jì)人員可以采用扁平化的編程模型,分層次編輯和維護(hù)軟件代碼,大幅降低了多核處理系統(tǒng)的應(yīng)用難度。目前,NP-4主要用在高端路由器等網(wǎng)絡(luò)設(shè)備中。
3.2 網(wǎng)絡(luò)處理器在接入網(wǎng)中的應(yīng)用
接入網(wǎng)距離用戶通常只有幾跳,業(yè)務(wù)需求、網(wǎng)絡(luò)拓?fù)浜土髁孔兓容^快,但是業(yè)務(wù)量較少,可靠性要求不高;集成多種功能的低成本、低功耗網(wǎng)絡(luò)處理器也越來越多的應(yīng)用在接入網(wǎng)設(shè)備中。如圖4所示,PMC-Sierra公司的WinPath3網(wǎng)絡(luò)處理器[3]集成了GE、10GE、E1、SDH等多種常見的通信接口;支持以太網(wǎng)OAM、MPLS、PWE3、PB等多種類型的通信協(xié)議;支持參考時(shí)鐘源、GPS、IEEE1588等多種同步方式;可面向終端用戶提供數(shù)據(jù)業(yè)務(wù)和傳統(tǒng)電信業(yè)務(wù)的接入以及接入層的匯聚等功能。WinPath3的業(yè)務(wù)處理核心主要由12個(gè)專用處理引擎、64個(gè)協(xié)處理引擎和多種類型的硬件加速處理單元構(gòu)成;對(duì)數(shù)據(jù)業(yè)務(wù)的處理主要包括解析、查找、流量管量與控制、QoS等網(wǎng)絡(luò)處理器通常涉及的處理環(huán)節(jié);對(duì)于傳統(tǒng)電信業(yè)務(wù),協(xié)同TDM、時(shí)鐘等處理單元進(jìn)行同步、時(shí)隙抽取與插入、包流轉(zhuǎn)換等一系列處理;系統(tǒng)的管理、控制、異常處理等工作主要由芯片內(nèi)的兩個(gè)MIPS處理器具體實(shí)現(xiàn)。目前,基于WinPath3處理器線卡主要應(yīng)用在移動(dòng)回傳網(wǎng)以及企業(yè)專用通信系統(tǒng)等領(lǐng)域。
3.3 網(wǎng)絡(luò)處理器與新型網(wǎng)絡(luò)
隨著用戶和運(yùn)營(yíng)商對(duì)新的連接方式、服務(wù)、標(biāo)準(zhǔn)等方面需求的不斷涌現(xiàn),軟件定義網(wǎng)絡(luò)等新型網(wǎng)絡(luò)逐漸從試驗(yàn)走向部署,網(wǎng)絡(luò)處理器也以各種應(yīng)用形式不斷提高這些網(wǎng)絡(luò)的可編程性、可定制能力。如圖5所示,軟定義線卡的處理核心采用FPGA方式實(shí)現(xiàn),并且能夠支持多種常見的軟件定義網(wǎng)絡(luò)規(guī)范;設(shè)計(jì)人員在Xilinx公司提供的開發(fā)環(huán)境中,通過SDNet組件[4]設(shè)計(jì)線卡的可編程數(shù)據(jù)包處理器、可編程流量管控器等業(yè)務(wù)處理部分;通過SDAccel組件及其庫文件設(shè)計(jì)MAC、外部存儲(chǔ)器接口等邏輯部分。設(shè)計(jì)人員根據(jù)實(shí)際應(yīng)用的要求,通過C/C++編程方式對(duì)業(yè)務(wù)處理過程中的解析、查找、QoS等環(huán)節(jié)進(jìn)行原理設(shè)計(jì),具體實(shí)現(xiàn)細(xì)節(jié)由開發(fā)軟件自動(dòng)生成,無需重新編程即可擴(kuò)展設(shè)計(jì)的性能、功率、資源,形成自定義的硬件結(jié)構(gòu)。邏輯編程的實(shí)現(xiàn)方式使得網(wǎng)絡(luò)處理器泛化為一種不依賴具體硬件形態(tài)的數(shù)據(jù)處理技術(shù),靈活性從軟件可編程拓展到硬件可定制;有利于提高新型網(wǎng)絡(luò)適應(yīng)業(yè)務(wù)、網(wǎng)絡(luò)架構(gòu)變化的能力;有利于網(wǎng)絡(luò)處理器拓展到傳統(tǒng)的FPGA應(yīng)用領(lǐng)域,更廣泛的應(yīng)用于網(wǎng)絡(luò)終端。
4 結(jié)語
網(wǎng)絡(luò)處理器從數(shù)據(jù)網(wǎng)到電信網(wǎng),從接入層到骨干層都有這廣泛的應(yīng)用。隨著需求的推動(dòng)和技術(shù)間的交叉融合,網(wǎng)絡(luò)處理器在保持高速、靈活特性的基礎(chǔ)上,融入了通用性強(qiáng)、開發(fā)環(huán)境友好、軟硬件融合度高等設(shè)計(jì)理念,并泛化為數(shù)據(jù)處理技術(shù);網(wǎng)絡(luò)處理器在交換、路由、網(wǎng)絡(luò)融合與演進(jìn)等傳統(tǒng)領(lǐng)域?qū)⒗^續(xù)發(fā)揮關(guān)鍵部件的作用,并可進(jìn)一步拓展到網(wǎng)絡(luò)終端等領(lǐng)域。
參考文獻(xiàn)
[1]張朝昆,崔勇,唐翯祎,等.軟件定義網(wǎng)絡(luò)(SDN)研究進(jìn)展[J].軟件學(xué)報(bào),2015,26(1):62-81.
[2]EZchip.NP-4 specification[EB/OL].2014.
[3]PMC-Sierra.WinPath3 Product Datasheet[EB/OL].2012.
[4]Xilinx. Software defined specification environment for networking(SDNet)[EB/OL]. 2014.