當前,軟件定義網(wǎng)絡(SDN)成為業(yè)界一個時髦的話題,SDN技術及其可能帶來的影響受到了學術界和產(chǎn)業(yè)界的高度重視,同時也存在著對SDN不同的理解和認識。本文試圖從梳理SDN技術的發(fā)展脈絡入手,分析SDN技術的內(nèi)涵、本質(zhì)特征、應用領域、發(fā)展趨勢,進而分析SDN技術發(fā)展帶來的影響。
一、“眾說紛紜”SDN
目前對SDN關注度比較高的專家大致可以分為三類:IDC設計與運維人員、數(shù)據(jù)設備設計研發(fā)人員、未來網(wǎng)絡研究與試驗人員。這三類專家關注SDN的出發(fā)點及對SDN的認識不一樣,對SDN的發(fā)展愿景和期待也各不相同。一項新技術出現(xiàn)后,對于追溯這個概念最早是誰提出、何時提出以及是不是一個新概念等種種討論通常只具有學術意義,對于認識新技術的本質(zhì)并無實質(zhì)性幫助。討論SDN概念還是要從其真正市場需求入手。
?。?)SDN商用需求最早出現(xiàn)在數(shù)據(jù)中心內(nèi)部
IDC內(nèi)部網(wǎng)絡為了支持應用服務器上虛擬機的遷移,通常是一個二層網(wǎng)絡,因為如果采用三層組網(wǎng),那么虛擬機遷移時,虛擬機對應的應用服務的IP地址要跟著變化,帶來業(yè)務部署和管理的困難,而二層網(wǎng)絡則沒有這個問題。
但是,在IDC內(nèi)部直接應用既有的二層網(wǎng)絡技術,則會主要帶來以下兩方面的問題:一個是在二層網(wǎng)絡中,為了消除廣播包的環(huán)路,通常采用生成樹(STP)協(xié)議,在網(wǎng)絡節(jié)點之間構建一棵邏輯樹,節(jié)點之間的流量按照這個“樹狀”拓撲來傳遞,即使網(wǎng)絡節(jié)點之間有多個物理鏈路,也只有一條鏈路真正傳遞數(shù)據(jù),其他鏈路都是空閑的(只起備份作用)。但是,在IDC內(nèi)部,多個服務器之間存在著頻繁的數(shù)據(jù)交換需求,基于STP的樹狀網(wǎng)絡拓撲不能高效支持這種“橫向”流量,服務器之間的空閑鏈路也造成了網(wǎng)絡資源的大量浪費,因此基于STP的二層網(wǎng)絡對于IDC來說過于簡單,需要進行變革,尤其是隨著云計算的發(fā)展,這種IDC內(nèi)部二層組網(wǎng)需求越來越迫切。另一個問題是通常IDC內(nèi)部的應用服務器眾多,有的達到上萬臺,甚至十幾萬臺,二層交換機需要利用ARP等協(xié)議,學習接收到的數(shù)據(jù)包的源地址來建立MAC地址表,由于應用服務器多,所以MAC地址表項也多,通常會超過常規(guī)二層交換機MAC地址表的容量,則造成大量MAC地址無法進入MAC地址表,二層交換機對于無法在MAC地址表中查到的MAC地址對應的數(shù)據(jù)幀進行二層域內(nèi)的廣播,造成二層網(wǎng)絡內(nèi)部的流量泛濫,影響IDC內(nèi)部網(wǎng)絡效率。
造成上述兩個問題的根本原因是,傳統(tǒng)的二層網(wǎng)絡設計的過于簡單,二層交換機只會學習MAC地址,不會基于MAC地址來規(guī)劃數(shù)據(jù)轉(zhuǎn)發(fā)路徑,也就是說傳統(tǒng)二層網(wǎng)絡中沒有一個控制平面(或者說控制平面的功能非常非常弱,且與轉(zhuǎn)發(fā)功能融合在一起),只有數(shù)據(jù)平面(負責數(shù)據(jù)幀的轉(zhuǎn)發(fā))。因此在二層網(wǎng)絡中增加控制平面(或者說強化控制平面功能),負責較大的二層網(wǎng)絡內(nèi)部節(jié)點間的流量調(diào)度和管理成為了一種迫切需求。目前較為主流的解決思路,就是利用IS-IS路由協(xié)議的變種來構建控制平面路由功能;利用Openflow來定義控制平面與轉(zhuǎn)發(fā)平面之間的接口。這就引出了控制平面與轉(zhuǎn)發(fā)平面分離的概念。但這只是二層網(wǎng)絡中的控制平面與轉(zhuǎn)發(fā)平面的分離。
?。?)SDN商用需求來自于路由器內(nèi)部功能優(yōu)化
在傳統(tǒng)路由器中,負責路由規(guī)劃、選路策略的控制平面與負責數(shù)據(jù)封裝、高速轉(zhuǎn)發(fā)的數(shù)據(jù)平面之間的接口是不開放的,是緊耦合在一起的。每個廠家都通過自有的協(xié)議或接口來連接控制平面和轉(zhuǎn)發(fā)平面,這也是CISCO、JUNIPER等優(yōu)勢廠商維持技術壁壘、排擠新興廠商的優(yōu)勢所在。
但是,有兩方面的力量正在悄悄地對這種模式提出挑戰(zhàn):一個是大型互聯(lián)網(wǎng)企業(yè),他們有自建企業(yè)網(wǎng)絡的需求,而且這些互聯(lián)網(wǎng)企業(yè)認為目前自己企業(yè)網(wǎng)絡的通信需求有特異性,而傳統(tǒng)路由器的功能太復雜,有80%以上的功能和特性在自己的網(wǎng)絡中用不到,但是在購買這些路由器時卻要為這些無用的功能買單,感覺比較“冤”,所以存在自主設計實現(xiàn)簡潔高效路由器的需求,這也是Facebook、Google、Yahoo等公司發(fā)起成立ONF(開放網(wǎng)絡論壇),研制SDN標準的初衷之一。由于這些互聯(lián)網(wǎng)企業(yè)具有在IDC內(nèi)部大量采用自己定制的應用服務器的成功經(jīng)驗,所以他們對于自主研發(fā)高效的路由器有著良好的期待。另一個力量是新興的數(shù)據(jù)設備廠商,他們試圖通過打破路由器內(nèi)部控制平面與數(shù)據(jù)平面之間的緊耦合,形成一個開放的、標準的設備接口,這樣可以把控制功能集中而且單獨剝離出去,這樣數(shù)據(jù)轉(zhuǎn)發(fā)設備可以做得更加通用和簡單,成本可以做得更低,有助于打破CISCO、JUNIPER等廠商的壟斷地位,這些廠商可以從中獲得新的發(fā)展機遇。
基于這種考慮,IETF較早的就開展了路由器內(nèi)部控制平面與轉(zhuǎn)發(fā)平面分離的研究工作,成立了FORCES工作組,定義了路由器內(nèi)部控制平面與轉(zhuǎn)發(fā)平面之間的通信協(xié)議。這雖然同樣引出了控制平面與轉(zhuǎn)發(fā)平面分離的概念,但這是三層網(wǎng)絡中的控制平面與轉(zhuǎn)發(fā)平面的分離。
?。?)SDN商用需求來自未來網(wǎng)絡研究與試驗
目前,為了解決IP網(wǎng)絡面臨的網(wǎng)絡地址空間不足、服務質(zhì)量難以保證、安全可信機制缺乏、網(wǎng)絡管控能力差等問題,未來網(wǎng)絡研究人員一方面積極研究新型網(wǎng)絡體系結(jié)構和關鍵技術,試圖解決這些問題,目前雖然研究方向眾多,但并未形成清晰的、共識的技術路線;另一方面,在技術路線不清楚,新方案層出不窮的情況下,有必要建立一個超大規(guī)模的未來網(wǎng)絡新技術的試驗驗證環(huán)境(試驗網(wǎng)絡),在這個試驗網(wǎng)絡上靈活地為各種技術方案提供資源獨立的試驗環(huán)境,從而孵化出優(yōu)選技術。美歐等國分別建立了GENI和FIRE網(wǎng)絡,目的就在于此。在試驗網(wǎng)絡建設過程中,設計人員希望能夠在網(wǎng)絡節(jié)點上靈活的控制和部署路由協(xié)議,實現(xiàn)高效的轉(zhuǎn)發(fā),因此形成了越來越強烈的、實驗網(wǎng)節(jié)點上控制平面和轉(zhuǎn)發(fā)平面分離的需求。通過控制平面的分離,可以實現(xiàn)網(wǎng)絡控制功能的智能和集中,以及網(wǎng)絡轉(zhuǎn)發(fā)功能的協(xié)議無關和高效。
在實驗網(wǎng)節(jié)點上控制平面和轉(zhuǎn)發(fā)平面分離的情況下,每出現(xiàn)一種新的網(wǎng)絡體系結(jié)構和解決方案,就可以在實現(xiàn)節(jié)點上以軟件的形式來設計和配置,快速實現(xiàn)新的網(wǎng)絡形態(tài),高效支持網(wǎng)絡技術創(chuàng)新與驗證。
除了上述三種SDN需求以及對應的三類專家以外,還有一些專家將SDN理解為統(tǒng)一智能網(wǎng)管,致力于實現(xiàn)一個網(wǎng)管系統(tǒng)可以統(tǒng)一、智能地管理多臺網(wǎng)絡設備的目的,如在LTE的部署中可以在IP RAN的設計中,通過一個綜合網(wǎng)管系統(tǒng)來配置和管理多臺簡化邊緣路由器,從而提高網(wǎng)絡策略部署效率。但是這種理解,是把管理平面從控制平面和數(shù)據(jù)平面中分離,不是控制平面和轉(zhuǎn)發(fā)平面的分離,不應理解為是SDN技術。
二、“正本清源”SDN
上面分析了SDN的三種發(fā)展需求,綜合來看,這些需求所追尋的都是網(wǎng)絡“開放”的理念。
網(wǎng)絡的開放是產(chǎn)業(yè)發(fā)展的必然趨勢,不但能夠帶來相應設備和網(wǎng)絡的高效,而且可以進一步細分產(chǎn)業(yè)鏈,帶來新的產(chǎn)業(yè)發(fā)展機遇。當年,機械零件之間的“開放”,實現(xiàn)了零件之間的標準互換,細化了機械加工的產(chǎn)業(yè)鏈,提高了成品機械的生產(chǎn)效率,極大地推動了工業(yè)革命的發(fā)展。在網(wǎng)絡通信領域,通過SDN技術可以實現(xiàn)類似的期待。
在數(shù)據(jù)設備內(nèi),可以概括為兩個平面,如下圖所示:
從網(wǎng)絡開放性的角度來理解SDN,我們可以把SDN分為三個類別,每個類別之間的開放性是遞增的關系: