SDN定義
軟件定義網(wǎng)絡(luò)(Software Defined Network, SDN ),是Emulex網(wǎng)絡(luò)一種新型網(wǎng)絡(luò)創(chuàng)新架構(gòu),其核心技術(shù)OpenFlow通過將網(wǎng)絡(luò)設(shè)備控制面與數(shù)據(jù)面分離開來,從而實(shí)現(xiàn)了網(wǎng)絡(luò)流量的靈活控制。
我覺得這一段對(duì)于計(jì)算機(jī)的發(fā)展歷程的描述,其實(shí)也是一段對(duì)于集中式與分布式的很好的論斷。用“水”來比喻計(jì)算機(jī)資源確是一個(gè)很精妙的想法。從人類對(duì)于水資源 的處理歷史來看,可以發(fā)現(xiàn)這樣一個(gè)有趣的現(xiàn)象:人們首先是依賴于水源,然后又自己鉆井來獲取水源,到最后又由統(tǒng)一的工廠來集中管理水源。這種模式對(duì)于網(wǎng)絡(luò) 存儲(chǔ)而言,就是這樣:最早的計(jì)算機(jī)統(tǒng)一存儲(chǔ)信息,用戶受網(wǎng)絡(luò)性能影響,再到后面,個(gè)人計(jì)算機(jī)發(fā)展,整個(gè)網(wǎng)絡(luò)資源彼此分布在各家各戶的計(jì)算機(jī)硬盤之中,而到了現(xiàn)在,存儲(chǔ)云端化則又是將整個(gè)資源集中化,這種現(xiàn)象其實(shí)就是一個(gè)由集中式到分布式再到集中式的過程。可以發(fā)現(xiàn),集中與分布的概念往往出現(xiàn)在對(duì)于資源的管 理上,當(dāng)許多資源集中在一個(gè)地方是,這是集中式;而當(dāng)資源分散在不同地方是,這便是分布式。對(duì)于集中式與分布式,它們各自有各自的優(yōu)缺點(diǎn)。后面會(huì)結(jié)合具體 的網(wǎng)絡(luò)實(shí)際進(jìn)行分析。
那么,對(duì)于整個(gè)網(wǎng)絡(luò)環(huán)境來說,我們又應(yīng)該怎樣看待網(wǎng)絡(luò)的集中式與分布式呢?在這里,我們所說的網(wǎng)絡(luò)的集中式與分布式通常指的是控制平面的結(jié)構(gòu)。下圖是《SDN—軟件定義網(wǎng)絡(luò)》一書中對(duì)于控制平面與數(shù)據(jù)平面分布式選項(xiàng)的譜系圖。
從上面的譜系圖,我們可以看出,作者認(rèn)為網(wǎng)絡(luò)控制平面的體系有三種不同模型,一種是嚴(yán)格的集中式,另一種是半集中式或邏輯集中式,最后一種是完全分布式。
對(duì)于嚴(yán)格集中式控制平面,其有以下特點(diǎn):
1.最常用于實(shí)驗(yàn)性的SDN控制器;
2.統(tǒng)一配置平臺(tái);
3.單點(diǎn)故障;
4.難以橫向擴(kuò)展。
而對(duì)于半集中式或邏輯集中式的控制平面,其特點(diǎn)為:
1.現(xiàn)代SDN控制器的典型方案;
2.統(tǒng)一配置平面,需要與幕后的其他控制平面實(shí)例進(jìn)行同步,但需花費(fèi)一段時(shí)間;3.可恢復(fù)多點(diǎn)故障,但仍易受與其他控制平面實(shí)例狀態(tài)同步的影響;4.易于橫向擴(kuò)展,僅需部署控制平面的新實(shí)例。
對(duì)于完全分布式的控制平面,其特點(diǎn)為:
1.典型的方法;
2.每個(gè)(邏輯的或真實(shí)的)設(shè)備上有一個(gè)控制平面的實(shí)例;
3.已證明對(duì)故障的高可恢復(fù)性;
4.可能有收斂上的困難;
5.需要配置和管理N個(gè)實(shí)例;
6.難以橫向擴(kuò)展,橫向擴(kuò)展時(shí)需要增加新的設(shè)備。
那么在SDN中,我們應(yīng)該怎樣決定控制平面的放置位置呢?Ken Gray提出了一個(gè)很有趣的概念:革命(revolution)、演進(jìn)(evolution)、傳統(tǒng)(tradition)。
那么什么是革命方式呢?革命方式提出了將網(wǎng)絡(luò)的控制平面完全采用集中式這樣一種推倒重來的全新方案。在這一模型中,設(shè)備上并不具有控制平面的功能,這種模型 中的設(shè)備都是傻的速度很快的交換設(shè)備,被位于遠(yuǎn)端的集中式控制平面完全控制。在這里,對(duì)于魯棒性問題,其在OpenFlow中其實(shí)已經(jīng)有了一個(gè)很好的解決 方案,即同時(shí)采用多個(gè)控制器(OpenFlow在網(wǎng)元設(shè)備與控制器建立通信時(shí)提到了這個(gè)方案)來處理控制器異常情況。對(duì)于多個(gè)控制器之間的共存方 式,OpenFlow提出了兩種模式,一種是對(duì)等模式(Equal),另一種是主從模式(Master/Slave)。關(guān)于這兩種模式的不同,在后面關(guān)于 OpenFlow協(xié)議以及SDN控制器方面還會(huì)有一個(gè)詳細(xì)的講解。
演進(jìn)方式指的是譜系圖中間的半集中式控制平面模型,它著眼于一般定義下的網(wǎng)絡(luò)域。這種模式通常能以某種形式和分布式的控制平面一起工作,這意味著設(shè)備還保留 了一些傳統(tǒng)的控制平面功能(如ARP處理或MAC地址學(xué)習(xí)),同時(shí)允許一個(gè)集中式的控制器來操控其他功能,即采用集中式操作范式更方便的那些功能,這種觀 點(diǎn)往往被當(dāng)作混合模式或“承載/疊加”的概念,即分布式控制平面作為承載,而集中式控制平面在利用承載網(wǎng)進(jìn)行網(wǎng)絡(luò)傳輸?shù)幕A(chǔ)上,在邏輯上疊加新的功能。對(duì) 于這種模式,我們常常需要考慮到這樣一個(gè)問題,如何實(shí)現(xiàn)“承載/疊加”?在OpenFlow白皮中,定義了兩種不同的交換機(jī),一種是OpenFlow專用 交換機(jī)(Dedicated OpenFlow Switch),另外一種是兼容OpenFlow交換機(jī)(OpenFlow- Enabled Switch)。其實(shí),在這里,兼容OpenFlow交換機(jī)就是演進(jìn)方式下的產(chǎn)品。兼容OpenFlow的交換機(jī)與OpenFlow專用 交換機(jī)的不同在于兩個(gè)方面:一是兼容型交換機(jī)有一個(gè)Normal預(yù)留端口(Resevered Port);二是兼容型交換機(jī)支持從正常處理管線轉(zhuǎn)發(fā)數(shù)據(jù) 包的數(shù)據(jù)包處理方式。由于這種交換機(jī)只需在傳統(tǒng)交換機(jī)上兼容OpenFlow協(xié)議,因此可以作為由完全分布式到嚴(yán)格集中式的有效過渡。
傳統(tǒng)方式,顧名思義,幾十只目前大多數(shù)商用交換機(jī)所采用的控制層面模式,即完全分布式。在這個(gè)模型中,每個(gè)設(shè)備除了擁有至少一個(gè)數(shù)據(jù)平面外,還要擁有一個(gè)完整的控制平面。而且,在該模型中每一個(gè)獨(dú)立的控制平面必須與其他控制平面合作,以支持一個(gè)整體的、可運(yùn)行的網(wǎng)絡(luò)。顯然,這個(gè)方案并沒有新意,既不是革命性的,也不是演進(jìn)性的。
SDN最能引起人們共鳴的三個(gè)概念是:可編程、控制平面與數(shù)據(jù)平面分離,以及用與網(wǎng)絡(luò)瞬時(shí)狀態(tài)管理的集中式控制模型。而具體而言,網(wǎng)絡(luò)控制層面體系模型的確立是 控制平面與數(shù)據(jù)平面分離后整個(gè)網(wǎng)絡(luò)體系結(jié)構(gòu)組成的核心思想之一。
分布式到集中式的轉(zhuǎn)變,意味著集中式控制層面必須要解決其不足之處,同時(shí)盡量多的發(fā)揮出集 中式的優(yōu)勢(shì)。對(duì)于集中式控制層面而言,控制層面的集中化必然會(huì)便于網(wǎng)絡(luò)管理者管理和配置整個(gè)網(wǎng)絡(luò),合理的調(diào)動(dòng)網(wǎng)絡(luò)資源,進(jìn)一步地優(yōu)化網(wǎng)絡(luò),提高網(wǎng)絡(luò)有效利用率。同時(shí),利用資源集中化優(yōu)勢(shì),可以更好地實(shí)現(xiàn)網(wǎng)絡(luò)可編程化。但是,其魯棒性的劣勢(shì)需要合理地進(jìn)行相關(guān)保護(hù)措施,保障控制層面的安全,并且采用多種措施 來解決其擴(kuò)展性問題。謝謝閱讀,希望能幫到大家,請(qǐng)繼續(xù)關(guān)注武林網(wǎng),我們會(huì)努力分享更多優(yōu)秀的文章。
新聞熱點(diǎn)
疑難解答
圖片精選