軟件定義網(wǎng)絡(luò)(SDN)任重而道遠(yuǎn)
當(dāng)前,軟件定義網(wǎng)絡(luò)(SDN)成為業(yè)界一個(gè)時(shí)髦的話題,SDN技術(shù)及其可能帶來(lái)的影響受到了學(xué)術(shù)界和產(chǎn)業(yè)界的高度重視,同時(shí)也存在著對(duì)SDN不同的理解和認(rèn)識(shí)。本文試圖從梳理SDN技術(shù)的發(fā)展脈絡(luò)入手,分析SDN技術(shù)的內(nèi)涵、本質(zhì)特征、應(yīng)用領(lǐng)域、發(fā)展趨勢(shì),進(jìn)而分析SDN技術(shù)發(fā)展帶來(lái)的影響。
一、“眾說(shuō)紛紜”SDN
目前對(duì)SDN關(guān)注度比較高的專家大致可以分為三類:IDC設(shè)計(jì)與運(yùn)維人員、數(shù)據(jù)設(shè)備設(shè)計(jì)研發(fā)人員、未來(lái)網(wǎng)絡(luò)研究與試驗(yàn)人員。這三類專家關(guān)注SDN的出發(fā)點(diǎn)及對(duì)SDN的認(rèn)識(shí)不一樣,對(duì)SDN的發(fā)展愿景和期待也各不相同。一項(xiàng)新技術(shù)出現(xiàn)后,對(duì)于追溯這個(gè)概念最早是誰(shuí)提出、何時(shí)提出以及是不是一個(gè)新概念等種種討論通常只具有學(xué)術(shù)意義,對(duì)于認(rèn)識(shí)新技術(shù)的本質(zhì)并無(wú)實(shí)質(zhì)性幫助。討論SDN概念還是要從其真正市場(chǎng)需求入手。
?。?)SDN商用需求最早出現(xiàn)在數(shù)據(jù)中心內(nèi)部
IDC內(nèi)部網(wǎng)絡(luò)為了支持應(yīng)用服務(wù)器上虛擬機(jī)的遷移,通常是一個(gè)二層網(wǎng)絡(luò),因?yàn)槿绻捎萌龑咏M網(wǎng),那么虛擬機(jī)遷移時(shí),虛擬機(jī)對(duì)應(yīng)的應(yīng)用服務(wù)的IP地址要跟著變化,帶來(lái)業(yè)務(wù)部署和管理的困難,而二層網(wǎng)絡(luò)則沒(méi)有這個(gè)問(wèn)題。
但是,在IDC內(nèi)部直接應(yīng)用既有的二層網(wǎng)絡(luò)技術(shù),則會(huì)主要帶來(lái)以下兩方面的問(wèn)題:一個(gè)是在二層網(wǎng)絡(luò)中,為了消除廣播包的環(huán)路,通常采用生成樹(shù)(STP)協(xié)議,在網(wǎng)絡(luò)節(jié)點(diǎn)之間構(gòu)建一棵邏輯樹(shù),節(jié)點(diǎn)之間的流量按照這個(gè)“樹(shù)狀”拓?fù)鋪?lái)傳遞,即使網(wǎng)絡(luò)節(jié)點(diǎn)之間有多個(gè)物理鏈路,也只有一條鏈路真正傳遞數(shù)據(jù),其他鏈路都是空閑的(只起備份作用)。但是,在IDC內(nèi)部,多個(gè)服務(wù)器之間存在著頻繁的數(shù)據(jù)交換需求,基于STP的樹(shù)狀網(wǎng)絡(luò)拓?fù)洳荒芨咝еС诌@種“橫向”流量,服務(wù)器之間的空閑鏈路也造成了網(wǎng)絡(luò)資源的大量浪費(fèi),因此基于STP的二層網(wǎng)絡(luò)對(duì)于IDC來(lái)說(shuō)過(guò)于簡(jiǎn)單,需要進(jìn)行變革,尤其是隨著云計(jì)算的發(fā)展,這種IDC內(nèi)部二層組網(wǎng)需求越來(lái)越迫切。另一個(gè)問(wèn)題是通常IDC內(nèi)部的應(yīng)用服務(wù)器眾多,有的達(dá)到上萬(wàn)臺(tái),甚至十幾萬(wàn)臺(tái),二層交換機(jī)需要利用ARP等協(xié)議,學(xué)習(xí)接收到的數(shù)據(jù)包的源地址來(lái)建立MAC地址表,由于應(yīng)用服務(wù)器多,所以MAC地址表項(xiàng)也多,通常會(huì)超過(guò)常規(guī)二層交換機(jī)MAC地址表的容量,則造成大量MAC地址無(wú)法進(jìn)入MAC地址表,二層交換機(jī)對(duì)于無(wú)法在MAC地址表中查到的MAC地址對(duì)應(yīng)的數(shù)據(jù)幀進(jìn)行二層域內(nèi)的廣播,造成二層網(wǎng)絡(luò)內(nèi)部的流量泛濫,影響IDC內(nèi)部網(wǎng)絡(luò)效率。
造成上述兩個(gè)問(wèn)題的根本原因是,傳統(tǒng)的二層網(wǎng)絡(luò)設(shè)計(jì)的過(guò)于簡(jiǎn)單,二層交換機(jī)只會(huì)學(xué)習(xí)MAC地址,不會(huì)基于MAC地址來(lái)規(guī)劃數(shù)據(jù)轉(zhuǎn)發(fā)路徑,也就是說(shuō)傳統(tǒng)二層網(wǎng)絡(luò)中沒(méi)有一個(gè)控制平面(或者說(shuō)控制平面的功能非常非常弱,且與轉(zhuǎn)發(fā)功能融合在一起),只有數(shù)據(jù)平面(負(fù)責(zé)數(shù)據(jù)幀的轉(zhuǎn)發(fā))。因此在二層網(wǎng)絡(luò)中增加控制平面(或者說(shuō)強(qiáng)化控制平面功能),負(fù)責(zé)較大的二層網(wǎng)絡(luò)內(nèi)部節(jié)點(diǎn)間的流量調(diào)度和管理成為了一種迫切需求。目前較為主流的解決思路,就是利用IS-IS路由協(xié)議的變種來(lái)構(gòu)建控制平面路由功能;利用Openflow來(lái)定義控制平面與轉(zhuǎn)發(fā)平面之間的接口。這就引出了控制平面與轉(zhuǎn)發(fā)平面分離的概念。但這只是二層網(wǎng)絡(luò)中的控制平面與轉(zhuǎn)發(fā)平面的分離。
?。?)SDN商用需求來(lái)自于路由器內(nèi)部功能優(yōu)化
在傳統(tǒng)路由器中,負(fù)責(zé)路由規(guī)劃、選路策略的控制平面與負(fù)責(zé)數(shù)據(jù)封裝、高速轉(zhuǎn)發(fā)的數(shù)據(jù)平面之間的接口是不開(kāi)放的,是緊耦合在一起的。每個(gè)廠家都通過(guò)自有的協(xié)議或接口來(lái)連接控制平面和轉(zhuǎn)發(fā)平面,這也是CISCO、JUNIPER等優(yōu)勢(shì)廠商維持技術(shù)壁壘、排擠新興廠商的優(yōu)勢(shì)所在。
但是,有兩方面的力量正在悄悄地對(duì)這種模式提出挑戰(zhàn):一個(gè)是大型互聯(lián)網(wǎng)企業(yè),他們有自建企業(yè)網(wǎng)絡(luò)的需求,而且這些互聯(lián)網(wǎng)企業(yè)認(rèn)為目前自己企業(yè)網(wǎng)絡(luò)的通信需求有特異性,而傳統(tǒng)路由器的功能太復(fù)雜,有80%以上的功能和特性在自己的網(wǎng)絡(luò)中用不到,但是在購(gòu)買(mǎi)這些路由器時(shí)卻要為這些無(wú)用的功能買(mǎi)單,感覺(jué)比較“冤”,所以存在自主設(shè)計(jì)實(shí)現(xiàn)簡(jiǎn)潔高效路由器的需求,這也是Facebook、Google、Yahoo等公司發(fā)起成立ONF(開(kāi)放網(wǎng)絡(luò)論壇),研制SDN標(biāo)準(zhǔn)的初衷之一。由于這些互聯(lián)網(wǎng)企業(yè)具有在IDC內(nèi)部大量采用自己定制的應(yīng)用服務(wù)器的成功經(jīng)驗(yàn),所以他們對(duì)于自主研發(fā)高效的路由器有著良好的期待。另一個(gè)力量是新興的數(shù)據(jù)設(shè)備廠商,他們?cè)噲D通過(guò)打破路由器內(nèi)部控制平面與數(shù)據(jù)平面之間的緊耦合,形成一個(gè)開(kāi)放的、標(biāo)準(zhǔn)的設(shè)備接口,這樣可以把控制功能集中而且單獨(dú)剝離出去,這樣數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備可以做得更加通用和簡(jiǎn)單,成本可以做得更低,有助于打破CISCO、JUNIPER等廠商的壟斷地位,這些廠商可以從中獲得新的發(fā)展機(jī)遇。
基于這種考慮,IETF較早的就開(kāi)展了路由器內(nèi)部控制平面與轉(zhuǎn)發(fā)平面分離的研究工作,成立了FORCES工作組,定義了路由器內(nèi)部控制平面與轉(zhuǎn)發(fā)平面之間的通信協(xié)議。這雖然同樣引出了控制平面與轉(zhuǎn)發(fā)平面分離的概念,但這是三層網(wǎng)絡(luò)中的控制平面與轉(zhuǎn)發(fā)平面的分離。
評(píng)論