在IT業(yè),軟件和硬件一直在高速發(fā)展,為什么NFV直到最近才被運營(yíng)商提上議事日程呢?最重要的原因是CPU 的技術(shù)發(fā)展改變了方向。從2000年開(kāi)始,由于功耗和散熱的限制,X86 CPU時(shí)鐘頻率達到了上限,因此采用并行計算包括超標量和多核技術(shù)成為提供更強處理能力的關(guān)鍵。多核技術(shù)為計算虛擬化打開(kāi)了大門(mén),為了充分利用計算能力,人們開(kāi)始考慮網(wǎng)絡(luò )功能虛擬化。毫無(wú)疑問(wèn),控制平面功能更加適合通用CPU,許多現有的網(wǎng)絡(luò )控制功能也是基于X86的通用處理器實(shí)現。然而,由于通用服務(wù)器的設計不是為了實(shí)現分組的高效轉發(fā),因此直到近四、五年CPU技術(shù)的最新進(jìn)展才使得NFV 技術(shù)成為可能。這些技術(shù)包括CPU多核技術(shù)帶來(lái)的并行處理能力增長(cháng),CPU高速緩存的不斷增加和CPU外圍芯片增加了整體帶寬等。多核技術(shù)引發(fā)了虛擬化技術(shù)的快速發(fā)展,虛擬機在管理器的監控之下成為資源池。借助于云計算的編排技術(shù),人們可以自動(dòng)化創(chuàng )建、動(dòng)態(tài)遷移虛擬機,實(shí)現計算資源的最佳調配。這種運維成本的節省將是NFV所帶來(lái)的最大優(yōu)勢。
NFV是運營(yíng)商主導的演進(jìn)技術(shù)。長(cháng)期以來(lái),設備商主導的專(zhuān)用硬件加專(zhuān)用軟件的設計開(kāi)發(fā)模式,不僅費時(shí)費力,而且價(jià)格昂貴。專(zhuān)用硬件設備的發(fā)貨量遠低于標準化的X86服務(wù)器,專(zhuān)用硬件的更新?lián)Q代通常需要4到5年,而同期遵循摩爾定律的IT硬件則實(shí)現了2到3代的更新,每一代都可以提供更高的性?xún)r(jià)比。封閉的專(zhuān)用硬件開(kāi)發(fā)模式也意味著(zhù)電信市場(chǎng)存在很高的進(jìn)入門(mén)檻,中小企業(yè)無(wú)法參與創(chuàng )新。與此相反,標準化的服務(wù)器硬件由于規模效應,發(fā)展出高度競爭的市場(chǎng),通過(guò)購買(mǎi)廉價(jià)的計算能力來(lái)驅動(dòng)網(wǎng)絡(luò )業(yè)務(wù)無(wú)疑是運營(yíng)商降低成本的選擇。
(三)SDN和NFV的關(guān)系
當前,SDN技術(shù)普遍部署在數據中心網(wǎng)絡(luò ),而NFV中的各種VNF 也都建立在數據中心基礎設施之上。比如開(kāi)源的云計算管理平臺Openstack的網(wǎng)絡(luò )管理部分Neutron包含SDN控制器插件,支持Openflow對下層的網(wǎng)絡(luò )設施編程,用來(lái)創(chuàng )建子網(wǎng)和路由規則等。SDN的控制平面可以作為NFV的VNF來(lái)部署。在小規模受限網(wǎng)絡(luò )環(huán)境中,所有的控制和數據平面功能都可以VNF的方式部署,因此所有的交換和路由都采用軟件實(shí)現。
SDN和NFV有許多相似之處,它們的核心之處都在于在網(wǎng)絡(luò )中實(shí)現軟件和硬件分離,同時(shí)盡量采用標準的硬件和獨立開(kāi)發(fā)的軟件。在業(yè)務(wù)提供方面,它們都與數據中心和云計算環(huán)境相關(guān),并實(shí)現網(wǎng)絡(luò )業(yè)務(wù)的自動(dòng)部署和管理。然而,SDN更是革命性的技術(shù),它打破了傳統路由協(xié)議的局限,各種新的路由協(xié)議和路由策略可以更加方便地引入網(wǎng)絡(luò )。
軟件開(kāi)發(fā)和高資本投入的硬件開(kāi)發(fā)不同,它的進(jìn)入門(mén)檻不高,而且軟件通過(guò)不斷累積可以實(shí)現增量開(kāi)發(fā)。因此可以預期基于軟件的網(wǎng)絡(luò )功能將形成高度競爭的市場(chǎng),并給運營(yíng)商帶來(lái)更多的選擇。運營(yíng)商也將發(fā)現基于軟件的網(wǎng)絡(luò )功能更易于部署,更容易實(shí)現擴展性和自動(dòng)化管理。為了實(shí)現網(wǎng)絡(luò )創(chuàng )新,運營(yíng)商可以在網(wǎng)絡(luò )中低成本部署各種實(shí)驗功能。在虛擬機上對各種業(yè)務(wù)進(jìn)行驗證的成本很低,對現有業(yè)務(wù)的干擾也可以通過(guò)沙盒技術(shù)顯著(zhù)降低。不成功的創(chuàng )新業(yè)務(wù)可以馬上下線(xiàn),而成功的業(yè)務(wù)也可以馬上批量大規模展開(kāi),這種“快速”正是大量OTT 運營(yíng)商業(yè)務(wù)創(chuàng )新成功的關(guān)鍵所在。
三、網(wǎng)絡(luò )處理器(NPU)和CPU的比較
當前的X86 CPU通常可以支持8~16核,每核可以支持10個(gè)或者更多的并發(fā)執行單元。這些并發(fā)單元可以執行浮點(diǎn)運算、數據加密和內存管理等功能。然而,CPU大部分功能對數據平面的包轉發(fā)是沒(méi)有意義的,比如在包轉發(fā)期間,浮點(diǎn)運算執行單元將完全處于空閑狀態(tài)。如果將相應不使用的執行單元和指令集去除,那么每個(gè)核將占用更小的空間,或者說(shuō)在每塊芯片上可以集成更多的內核,因而芯片每秒鐘指令執行數也將大大提升。比如,阿爾卡特朗訊的FP3網(wǎng)絡(luò )處理器有288核,接近通常X86處理器內核數量的30倍。
為了充分利用處理器的并行計算能力,各種超標量計算體系架構層出不窮。各種并行技術(shù)包括:并行處理、指令亂序和多線(xiàn)程等。通常內存訪(fǎng)問(wèn),算邏單元和浮點(diǎn)運算單元可以并行處理。通過(guò)對指令重新排序,算術(shù)和浮點(diǎn)運算單元可以保持高負荷運行,而內存訪(fǎng)問(wèn)單元則保持不斷把新的數據加載到寄存器。多線(xiàn)程技術(shù)則在內核實(shí)現了多任務(wù)切換調度。在網(wǎng)絡(luò )設備中,通常NPU 只需執行更少的指令,因此指令亂序基本上沒(méi)有什么優(yōu)勢。此外,大部分指令與內存讀取相關(guān),因此多線(xiàn)程更加重要。由于內存數據讀取的相關(guān)性非常高,為了實(shí)現擴展性,需要更多的線(xiàn)程。
現代的CPU通常都有片上內存(L1/L2/L3),它們的讀取速度遠快于RAM。高檔的CPU有20~30M字節L3緩沖。如果前后包之間有很強的相關(guān)性,那么緩沖的命中率會(huì )非常高,這也意味著(zhù)每個(gè)包會(huì )經(jīng)歷相同的處理流程。對虛擬的網(wǎng)絡(luò )業(yè)務(wù)而言,這個(gè)假設可以滿(mǎn)足實(shí)時(shí)性需求,因此網(wǎng)絡(luò )業(yè)務(wù)可以通過(guò)虛擬機實(shí)現橫向線(xiàn)性擴展。然而,對于IP 網(wǎng)絡(luò )核心和匯聚層而言,大量的業(yè)務(wù)流毫不相干,它們要經(jīng)歷不同的路由查表、計數和指令處理,因此網(wǎng)絡(luò )的處理能力必須能夠實(shí)現縱向線(xiàn)性擴展。為了達到線(xiàn)速轉發(fā)能力,網(wǎng)絡(luò )處理器內存管理需要提供大容量緩沖,通常需要2G 字節L3緩沖。此外,在網(wǎng)絡(luò )處理器中通常會(huì )集成TCAM,它可以在單個(gè)時(shí)鐘周期內高速實(shí)現特定的查表功能,這樣NPU可以保證對各種業(yè)務(wù)的實(shí)時(shí)處理。
在過(guò)去的幾十年中,CPU變得越來(lái)越強大,各種特殊計算功能包括浮點(diǎn)運算、多媒體處理和IO等層出不窮。CPU可以高效地支持服務(wù)器和PC的需求。同時(shí),NPU的發(fā)展和CPU一樣服從摩爾定律,但是NPU專(zhuān)注于分組處理,因此兩者發(fā)展出完全不同的能力集(表1)。
表1 NPU和CPU的比較
四、結論
IT技術(shù)在很大程度上驅動(dòng)著(zhù)網(wǎng)絡(luò )向SDN和NFV方向演進(jìn)。網(wǎng)絡(luò )的動(dòng)態(tài)需求是SDN產(chǎn)生的背景,采用通用硬件降低成本并提供靈活性是NFV的目標。基于網(wǎng)絡(luò )處理器和CPU的比較,我們可以發(fā)現,NPU和CPU在SDN和NFV演進(jìn)中將發(fā)展出互補關(guān)系。未來(lái),虛擬化的網(wǎng)絡(luò )功能和網(wǎng)絡(luò )的控制平面將基于X86通用處理器。通用CPU可以執行網(wǎng)絡(luò )數據平面和控制平面的功能。在網(wǎng)絡(luò )的接入和邊緣,各種虛擬的網(wǎng)絡(luò )功能可以實(shí)現橫向線(xiàn)性擴展。疊加在物理網(wǎng)絡(luò )之上的虛擬網(wǎng)絡(luò )功能將減輕網(wǎng)絡(luò )的處理負擔。基于NPU的硬件在高端(匯聚和核心)應用中將繼續扮演關(guān)鍵角色。在網(wǎng)絡(luò )的核心,隨著(zhù)網(wǎng)絡(luò )接口速度從100Gbps向400Gbps和1Tbps邁進(jìn),業(yè)界需要處理能力更強大的網(wǎng)絡(luò )處理器。