SDN:從理想到現(xiàn)實(shí)
SDN已經(jīng)10多歲了,甫一問(wèn)世,其控制平面與數(shù)據(jù)平面分離的理念引起了網(wǎng)絡(luò)界的極大關(guān)注和研究熱潮。如今,SDN的光環(huán)不再,有人說(shuō),“SDN已死,有事燒紙”;有人說(shuō),SDN精神不朽,“萬(wàn)變不離其宗”。何為SDN?SDN目前究竟如何?SDN的理想與現(xiàn)實(shí)有何差距?
虛擬化的發(fā)展導(dǎo)致網(wǎng)絡(luò)流量,尤其是數(shù)據(jù)中心流量發(fā)生了很大變化。Core/Distribution/Access的三層網(wǎng)絡(luò)架構(gòu)在傳統(tǒng)的Client-Server網(wǎng)絡(luò)架構(gòu)中非常有效,然而如今,用戶到服務(wù)器的南北流量遠(yuǎn)低于服務(wù)器到服務(wù)器的東西流量,當(dāng)東西向流量急劇增加時(shí),三層網(wǎng)絡(luò)架構(gòu)開(kāi)始變得力不從心。
同時(shí),傳統(tǒng)網(wǎng)絡(luò)系統(tǒng)也暴露出諸多局限——系統(tǒng)過(guò)于復(fù)雜,無(wú)法根據(jù)企業(yè)的業(yè)務(wù)需求靈活應(yīng)對(duì)變化。因此,快速部署、靈活的可擴(kuò)展性、自動(dòng)化和易于集成是網(wǎng)絡(luò)必須滿足的關(guān)鍵屬性。
市場(chǎng)的需求催生了網(wǎng)絡(luò)行業(yè)新趨勢(shì)的誕生:SDN(軟件定義網(wǎng)絡(luò))!
SDN:從靈感到本質(zhì)
根據(jù)ONF(開(kāi)放網(wǎng)絡(luò)基金會(huì))的說(shuō)法,SDN 是一種控制平面和數(shù)據(jù)平面分離且可編程的網(wǎng)絡(luò)架構(gòu)。
何為控制平面和數(shù)據(jù)平面?舉個(gè)栗子,我們熟知家到公司的路線,不需要導(dǎo)航就可出發(fā),因?yàn)槲覀円呀?jīng)提前獲得了數(shù)據(jù)和決策。但是,如果要從家到陌生客戶所在的A 公司,如何規(guī)劃路線呢?我們需要思考、查找并選擇正確的路徑,計(jì)算和決策路徑在網(wǎng)絡(luò)語(yǔ)言中相當(dāng)于使用了控制平面;而從家走到公司,不需要計(jì)算和決策,只需要直接出發(fā),相當(dāng)于在數(shù)據(jù)平面上處理。
網(wǎng)絡(luò)系統(tǒng)也是如此。要將數(shù)據(jù)從A點(diǎn)傳輸?shù)紹點(diǎn),每個(gè)網(wǎng)絡(luò)設(shè)備上必須同時(shí)包含計(jì)算功能(即控制平面)和數(shù)據(jù)傳輸功能(即數(shù)據(jù)平面)。在 SDN 網(wǎng)絡(luò)中,控制平面與設(shè)備分離,并集中在一個(gè)稱為 SDN 控制器(本質(zhì)上是為控制網(wǎng)絡(luò)而編程的軟件)的地方。網(wǎng)絡(luò)系統(tǒng)有數(shù)百個(gè)設(shè)備,但只需要一個(gè)控制器來(lái)計(jì)算和決策,設(shè)備僅通過(guò)控制器的指令進(jìn)行數(shù)據(jù)傳輸。
在架構(gòu)方面,SDN分為三層?;A(chǔ)設(shè)施層包括所有具有數(shù)據(jù)轉(zhuǎn)發(fā)功能(即數(shù)據(jù)平面執(zhí)行)的網(wǎng)絡(luò)設(shè)備。SDN控制層包含一個(gè)或多個(gè)控制器,負(fù)責(zé)管理和控制底層網(wǎng)絡(luò)設(shè)備的分組轉(zhuǎn)發(fā),這兩層之間使用南向接口(例如OpenFlow)進(jìn)行通信。最上層是應(yīng)用層,包括應(yīng)用和服務(wù)(如流量控制、安全、QoS等),它們通過(guò)北向接口直接與控制層交互。
有了上面的網(wǎng)絡(luò)架構(gòu),SDN網(wǎng)絡(luò)帶來(lái)了很多變革:
首先,分離控制平面和數(shù)據(jù)平面有助于為整個(gè)網(wǎng)絡(luò)創(chuàng)建“全局視圖”,提高可見(jiàn)性和策略一致性。理論上設(shè)備只執(zhí)行數(shù)據(jù)平面任務(wù)的話將簡(jiǎn)化設(shè)計(jì),大大降低硬件生產(chǎn)成本,因?yàn)樵O(shè)備本身不需要運(yùn)行太多的協(xié)議,只需執(zhí)行來(lái)自控制器的命令。最重要的是,這種分離可以更好地抽象網(wǎng)絡(luò)系統(tǒng)。
“抽象”是SDN網(wǎng)絡(luò)中一個(gè)非常重要的特性。如今的網(wǎng)絡(luò)愈加趨于簡(jiǎn)單和自動(dòng)化,為此必須對(duì)網(wǎng)絡(luò)系統(tǒng)進(jìn)行抽象。通過(guò)分層的網(wǎng)絡(luò)架構(gòu),網(wǎng)絡(luò)管理員可以根據(jù)需要對(duì)網(wǎng)絡(luò)系統(tǒng)進(jìn)行編程,在不需要對(duì)數(shù)百個(gè)設(shè)備、數(shù)千行代碼和復(fù)雜協(xié)議進(jìn)行交互的情況下,向下推進(jìn)底層實(shí)現(xiàn)。
從集中控制平面創(chuàng)建整個(gè)網(wǎng)絡(luò)的“全局視圖”,到通過(guò) API 進(jìn)行層間通信,SDN 中的所有網(wǎng)絡(luò)元素都支持自定義編程。這種組合有助于網(wǎng)絡(luò)管理員提高其網(wǎng)絡(luò)的自動(dòng)化程度,應(yīng)用程序、網(wǎng)絡(luò)服務(wù)可以實(shí)時(shí)運(yùn)行。網(wǎng)絡(luò)系統(tǒng)完全可以定制和優(yōu)化所需的特性,而不依賴于設(shè)備制造商。
SDN:從理想到現(xiàn)實(shí)
SDN的理想與現(xiàn)實(shí)之間存在著許多差異。與SDN定義和研究相比,SDN實(shí)際產(chǎn)品存在著許多不同。對(duì)于實(shí)際的SDN產(chǎn)品,控制平面和數(shù)據(jù)平面真的是分開(kāi)的嗎?這些設(shè)備會(huì)獨(dú)立制造而不依賴于供應(yīng)商嗎?Openflow 是流行的通信協(xié)議嗎?
SDN在不斷地發(fā)展,網(wǎng)絡(luò)架構(gòu)也非常多樣化:
上文提到的SDN網(wǎng)絡(luò)架構(gòu)就是上圖架構(gòu)(2a),控制平面和數(shù)據(jù)平面完全分離。OSPF、BGP等路由協(xié)議或MAC學(xué)習(xí)機(jī)制都集中在控制器中,設(shè)備只是實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā)的物理部分,這被認(rèn)為是原始的 SDN 架構(gòu)。
然而,這種架構(gòu)可能多存在于研究實(shí)驗(yàn)室和一些實(shí)驗(yàn)產(chǎn)品中。真正落實(shí)到商業(yè) SDN 產(chǎn)品時(shí)卻有不同,例如 SD-WAN使用的是架構(gòu)(2b),控制整個(gè)網(wǎng)絡(luò)的組件集中在控制器上,但控制平面保留在設(shè)備上,以便設(shè)備可以相對(duì)獨(dú)立地運(yùn)行。甚至,有些解決方案雖然被稱為SDN,但實(shí)際上控制平面完全在設(shè)備上,控制器只傾向于集中管理整個(gè)網(wǎng)絡(luò),以支持與應(yīng)用層和用戶的通信。
圖中架構(gòu)(3)所示為基于SDN的Overlay架構(gòu),也是當(dāng)今市場(chǎng)上許多軟件定義產(chǎn)品的一部分。Overlay網(wǎng)絡(luò)旨在使用網(wǎng)絡(luò)虛擬化在物理基礎(chǔ)設(shè)施之上建立連接的邏輯網(wǎng)絡(luò)。
從SDN的理念來(lái)看,市場(chǎng)上提供的解決方案產(chǎn)品非常多樣化,被稱為SDX(軟件定義xx)。因?yàn)?SDN 不是產(chǎn)品,它是一種架構(gòu)、一種理念,最終產(chǎn)品取決于構(gòu)建目的和具體的解決方案。
例如 SDN 可用于網(wǎng)絡(luò)流量調(diào)度。通常傳統(tǒng)網(wǎng)絡(luò)的路徑選擇依據(jù)是通過(guò)路由協(xié)議計(jì)算出的“最優(yōu)”路徑,但結(jié)果可能會(huì)導(dǎo)致“最優(yōu)”路徑上流量擁塞,其他非“最優(yōu)”路徑空閑。當(dāng)采用SDN網(wǎng)絡(luò)架構(gòu)時(shí),具有“全局視野”的SDN就可以根據(jù)網(wǎng)絡(luò)流量狀態(tài)智能調(diào)整網(wǎng)絡(luò)流量路徑,提升網(wǎng)絡(luò)利用率。SD-WAN 就是很好的一個(gè)例子。
對(duì)于網(wǎng)絡(luò)功能的虛擬化,包括多租戶環(huán)境中物理網(wǎng)絡(luò)基礎(chǔ)設(shè)施的虛擬化,SDN有助于在數(shù)據(jù)中心創(chuàng)建虛擬網(wǎng)絡(luò),為基礎(chǔ)設(shè)施層和應(yīng)用程序提供快速配置。
由此可以看到,從SDN網(wǎng)絡(luò)的思想來(lái)看,它可以發(fā)展成不同的產(chǎn)品和解決方案,以克服很多傳統(tǒng)網(wǎng)絡(luò)不可能或難以解決的問(wèn)題。
SDN(或者更確切地說(shuō)是SDN的思想)將繼續(xù)被應(yīng)用和發(fā)展,在未來(lái)帶來(lái)更加多樣化和改進(jìn)的產(chǎn)品。希望通過(guò)本文能夠讓有興趣的讀者更好地掌握市場(chǎng)趨勢(shì),了解SDN網(wǎng)絡(luò)的本質(zhì)以及在實(shí)踐中的應(yīng)用。