一、 概述
軟件定義網絡(SDN)和網絡功能虛擬化(NFV)技術代表著網絡演進的趨勢,即借助IT軟件的靈活性和硬件的規(guī)模效應,在不斷降低網絡的建設和運維成本的同時,不斷為用戶加速提供創(chuàng)新的網絡業(yè)務。從SDN的角度看,其主要目的是將網絡的復雜性轉換為抽象性,通過標準化的API接口實現網絡的可編程;NFV 則通過把私有、專用的網絡設備改造成基于通用計算和存儲的云計算架構下的虛擬設備,達到低成本和運維的靈活性。
那么SDN和NFV到底是什么關系?未來的網絡是否會朝IT化方向持續(xù)發(fā)展?本文試圖從宏觀和微觀層面對此加以澄清。
從宏觀層面的OSI協議層次模型來看,SDN中被定義的對象仍然是網絡,包括物理層(L1)到網絡層(L3)所組成的各種網絡,比如光網絡、IP/MPLS 網絡等。NFV的目標在于虛擬化網絡功能,因此NFV原則上可以包括鏈路層(L2)到應用層(L7)。當然NFV的概念還可以擴展到數據網絡之外,比如用于無線網絡的特定功能處理。表面上看,SDN和NFV在L2和L3存在交集(圖1),但是這種重疊并沒有反映SDN和NFV的實質。嚴格地說,OSI網絡層次模型僅僅考慮了數據平面,網絡的控制平面功能并沒有反映在模型中。下文將從數據平面和控制平面的區(qū)分中來考察SDN 和NFV,并試圖明確它們各自的應用場景和適用范圍。在微觀層面,IT 化意味著從專用的網絡硬件向通用的CPU轉型,下文將對網絡處理器NPU和CPU做簡單的比較,以判斷未來硬件的發(fā)展趨勢。
圖1 網絡層次模型中的SDN和NFV
二、SDN和NFV的關系
網絡功能大體可以分為三個平面,數據平面、控制平面和管理平面(圖2)。數據平面實現分組數據的轉發(fā),控制平面提供路由協議或者信令,管理平面實現對設備和網絡的管理功能。通常,數據平面要求高帶寬(吞吐),對CPU處理能力要求不高;而控制平面正相反,要求高CPU處理能力,而對帶寬要求不高。比如,建立VoIP 語音呼叫,需要對SIP信令進行分析處理,而語音包只需要實現端到端轉發(fā)即可。長期以來,數據平面的吞吐是網絡發(fā)展的瓶頸,因此數據平面功能一直主宰著網絡設備硬件的發(fā)展。
圖2 網絡設備模型
(一)SDN架構的優(yōu)勢
SDN架構(圖3)中控制平面和數據平面完全分離,兩者借助南向接口(比如Openflow)通信。SDN 控制平面是運行在標準服務器之上的純軟件;谛阅芎腿萘康目紤],SDN 的數據平面可以繼續(xù)采用專用硬件設備,也可以基于X86服務器。SDN的控制平面除了運行路由協議之外,將為應用提供北向接口。應用程序可以實現網絡的差異化功能。從歷史上看,控制平面和數據平面的分離由來已久,比如早期的Forces和PCE等,因此廣義的SDN不僅包含Openflow,還包括各種支持分離架構的協議。另外,由于以太網技術的成熟度非常高,市場上出現了大量低成本的商用交換芯片,其轉發(fā)性能接近主流的中檔路由器,這也帶動了SDN軟件市場的發(fā)展。
圖3 SDN架構
(二)NFV的來源
2012年,多家運營商通過ETSI發(fā)布了關于NFV的技術白皮書。在傳統(tǒng)的網絡中,各種各樣的網絡功能大多采用專用硬件加專用軟件的方式實現,軟件和硬件之間高度依賴,無法分離,比如各種路由器、DPI、防火墻和網關等設備。NFV的目標(圖4)是采用業(yè)界通用的硬件加軟件的方式實現各種網絡功能,通用硬件包括各種基于X86 架構的服務器和各種通用的以太網交換機等廉價設備。NFV意味著各種網絡功能將以軟件方式交付給運營商,而網絡運營商只需要在云計算數據中心環(huán)境下安裝,運行并維護該軟件即可。
圖4 NFV架構