簡介
IntelligentNetworkProcessor--智慧型網路處理器相關資料
網路處理器(NetworkProcessor,簡稱NP),根據國際網路處理器會議(NetworkProcessorsConference)的定義:網路處理器是一種可程式器件,它特定的套用於通信領域的各種任務,比如包處理、協定分析、路由查找、聲音/數據的匯聚、防火牆、QoS等。網路處理器器件內部通常由若干個微碼處理器和若干硬體協處理器組成,多個微碼處理器在網路處理器內部並行處理,通過預先編制的微碼來控制處理流程。而對於一些複雜的標準操作(如記憶體操作、路由表查找算法、QoS的擁塞控制算法、流量調度算法等)則採用硬體協處理器來進一步提高處理性能,從而實現了業務靈活性和高性能的有機結合。
面對X86的優點:
基於X86架構的防火牆,由於CPU處理能力和PCI匯流排速度的制約,在實際套用中,尤其在小包情況下,這種結構的千兆防火牆遠遠達不到千兆的轉發速度(64位元組包長時,雙向轉發速率一般為百分之二十以下),難以滿足千兆骨幹網路的套用要求。
採用NP架構的防火牆,各種算法可以通過硬體實現,在實現複雜的擁塞管理、佇列調度、流分類和QoS功能的前提下,還可以達到極高的查找、轉發性能,實現“硬轉發”。
面對ASIC的優點:
純硬體的ASIC防火牆缺乏可程式性,這使得它缺乏靈活性從而跟不上防火牆功能的快速發展。雖然現代的ASIC技術提高了可程式性,但從開發難度、開發成本和開發周期方面看,仍然困難重重。
NP完全支持q,編程模式簡單,一旦有新的技術或者需求出現,可以很方便地通過微碼編程進行實現。提供了更快的技術、功能跟進和更加靈活的擴展能力,特別是在新規格、新標準的支持上。
網路處理器(NP)是專門為處理數據包而設計的可程式處理器,能夠直接完成網路數據處理的一般性任務。硬體體系結構大多採用高速的接口技術和匯流排規範,具有較高的I/O能力,包處理能力得到了很大提升。網路處理器一般具有以下特點
目前,NP晶片都是由國外廠商設計製造的,從體系結構上主要分為兩大類:
一類是以Intel的IXP系列產品為代表,分為控制和處理(或稱數據)兩個平面。如Intel公司的IXP1200,控制平面是一個ARMCORE,負責維護系統信息和協調處理部分工作,處理平面由多個微引擎(MicroEngine)和其他專用硬體組成,負責利用控制平面下發的微代碼和命令,直接處理網路數據。這類產品在對數據包進行簡單過濾時性能較好,但是由於體系結構限制,尤其是微代碼的開發相對複雜,導致靈活性較差,難以滿足複雜多變的市場需求,一般適合3層(IP層)及以下網路數據的處理。
另一類產品以SiByte的Mercurian系列產品為代表,它基於MIPSCPU設計,如SB1250。它一方面保持了基於通用CPU設計的靈活性,另一方面通過SOC(SystemOnChip)的方式消除了傳統CPU、匯流排、設備之間頻寬的瓶頸問題。這類產品靈活性較強,易於開發、升級和維護,適於構建速度可與專用ASIC相媲美的、完全可程式的網路處理平台。
目前提供NP晶片的廠家有很多,基本上都符合npf指定的規範。國內使用比較廣泛的則是Intel公司的IXPxxx系列,主要包括IXP4xx、IXP12xx、IXP24xx、IXP28xx等。
IXP系列NP處理器從體系結構上看基本上都一樣,都是由一個RISC處理器加一個微引擎構成的。其中,RISC處理器主要用於控制微引擎的運行,所以又稱為控制層面;微引擎完成對網路數據包的處理,以實現高性能,所以又稱為數據層面。不同IXP系列處理器的RISC型號和主頻不同,微引擎的個數也有所不同,在性能上也有很大差別。 IXP4xx 的市場定位主要在中低端市場,因此基於IXP4xx晶片做出的防火牆也主要定位在中低端市場中。這裡需要特別提一下IXP425,它內嵌了一個加密引擎,支持一些公開的密碼算法,如3DES、AES、MD5、SHA1,因此,許多安全廠商會使用它生產低端的VPN或防火牆。不過,4xx系列晶片產品並不能進行微碼編程,而Intel預置的微碼又沒有完成FW/VPN的處理,使得該晶片所對應的產品對IP報文的處理要通過533MHz的Xscale來處理的,因而在性能上並沒有什麼優勢。這可能也是一些國內廠商採取變產品不變價格的策略的原因。