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