華為敏捷交換機S12700近年風頭正勁,不久前還獲得了2014中國國際工業博覽會金獎。那么問題來了:什么是敏捷交換機?
這里就涉及什么是目前、或者說傳統交換機。從經典的范疇,傳統交換機就是采用了ASIC芯片的交換機,ASIC芯片主要起數據交換的作用,將進入交換機的數據流量通過ASIC限速轉發出去。并且在這其中實現:數據接收、轉發決策、報文存儲、報文編輯等等操作。ASIC有非常多的優點,它可以高速處理各種傳統的業務,如二層交換、三層路由、ACL、QoS以及組播處理等等。總結看來其實也沒什么:就是快,而且價格合適。
典型ASIC芯片交換機-華為S5700
那么這種ASIC交換機的缺點是什么?
ASIC芯片是固化的,一旦開發完畢就很難繼續擴展其他應用了,新功能的添加需要芯片研發公司花費較長開發周期。它不靈活,不能將更多的功能加入到硬件中。而當下那么多新的應用不斷的往外冒,如果依賴傳統ASIC,只要有一個新的應用出來,我們都要做一件事情:去查網絡上的所有的節點,所有的設備,所有的板卡是不是支持新的應用,如果不支持,就需要投錢去買新的設備。這種投入是無止境的,因為應用的發展是無止境的。解決的唯一辦法就是換掉ASIC,換一個靈活的、可編程的芯片。華為就是做了個ENP(以太網絡處理器)芯片,采用了ENP芯片的交換機就是“敏捷交換機”。
敏捷交換機長這樣
有人要說了,可編程的芯片多了去了。為什么是ENP?
是的。CPU功能易擴展,理論上可以實現任何網絡功能,但性能非常低,所以我們只用它做網絡設備的控制和管理。
FPGA可以反復編程、擦除、使用以及在外圍電路不動的情況下用不同軟件就可實現不同的功能,可以在一定程度上靈活地擴展業務處理類型。但可惜的是,FPGA由于技術的限制,發展至今其處理能力還是非常有限。
NP通過眾多并行運轉的微碼處理器,能夠通過微碼編程進行復雜的多業務擴展,不足是各廠家的NP需要統一標準,無法進行開發經驗的復制,同時NP的性能和ASIC相比依然還存在一些差距,所以NP網絡處理器被應用于高端路由器,但并不用于網絡傳統功能的實現。
ASIC之所以廣泛應用于交換機,就是因為“快”且“便宜”,我們只是要在這兩個特點上再加一個“靈活”。無疑,以上幾種芯片技術夠“靈活”卻不適合用在交換機上。
那么,ENP呢?
華為投入了大量的人力和物力研發ENP芯片出來,可謂是芯的創新,全球首款以太網絡處理器ENP,在整個業界主流的網絡廠商中,能夠真正擁有自己自研芯片技術的只有三家,華為便是其中之一。
ASIC和ENP對比
ENP芯片不同于NP,它采用了網絡處理優化的指令集,使用專用協處理硬件加速,在具備NP芯片的“靈活”可編程特性的同時還具備了ASIC“快速”的特點。更重要的一點是因為華為自研技術所成產品,其成本遠遠低于NP(NP貴在其各項高額專利費用),可以廣泛應用于交換機中。
ENP夠“靈活”。它可重新定義報文轉發流程,更好地處理專屬應用的數據轉發。通過可編程查找引擎,實現業務與資源解耦,靈活定制表項查找方式/索引規則/表項位置/表項大小等,通過軟件升級定制新業務。
ENP夠“快速”。處理數據時,首先,硬加速對業務進行預處理。比如對二層、三層、MPLS、VPN業務做全處理或部分處理,降低NPU內核的負載,提升了性能。再次,硬加速支持復雜指令集,對于一些常見的計算行為進行指令整合,使得基礎運算性能提高數倍。
ENP芯片架構
總而言之,業務需求催生技術,芯片決定品質。ENP芯片的成功研制和商用,讓華為先一步領跑網絡設備廠商。華為敏捷交換機在當下大行其道,有其必然性。