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ò)流量的靈活控制。
控制器負(fù)責(zé)整個SDN網(wǎng)絡(luò)的集中化控制,對于把握全網(wǎng)置資源視圖、改善網(wǎng)絡(luò)資源交付都具有非常重要的作用。但控制能力的集中化,也意味著控制器局的安全性和性能成為全網(wǎng)的瓶頸,一旦控制器在性能或安全性上得不到保障,隨之而來的是全網(wǎng)的服務(wù)能力的降級甚至是癱。;另外,單一的控制器也無法應(yīng)對跨多個地域的SND網(wǎng)絡(luò)問題,需要多個SDN控制器組成的分布式集群,以避免單一的控制器節(jié)點(diǎn)在可靠性、擴(kuò)展性、性能方面的問題。目前,用于多個控制器之間溝通和聯(lián)系的東西向接口還沒定義標(biāo)準(zhǔn),但專家表示,一些非常成熟的集群技術(shù)可以被運(yùn)用到SDN網(wǎng)絡(luò)中來解決上述難題。
控制器的軟件化讓服務(wù)器可以作為控制器的載體,控制器集群可以以服務(wù)器集群為基礎(chǔ)搭建。因?yàn)镾DN控制器在SDN網(wǎng)絡(luò)中的重要作用,控制器集群的設(shè)計(jì)更具特殊性,例如要能夠支持正在運(yùn)行的集群中增加新的控制器,以改善擴(kuò)展性、保存失效控制器對應(yīng)的交換機(jī)狀態(tài)一保證可靠性,特別是因?yàn)榭刂破髡莆罩W(wǎng)的SDN交換設(shè)備,通過分布式的協(xié)作方式確保網(wǎng)絡(luò)狀態(tài)的一致性尤其重要,一個典型的基于控制器集群的SDN架構(gòu)如圖所示。

基于控制器集群的SDN架構(gòu)
如圖,SDN可充分利用服務(wù)器集群技術(shù)(例如Hazelcast)部署用軟件實(shí)現(xiàn)的控制器,而對一個分布式的集群而言,最關(guān)鍵的是控制器之間的協(xié)作,系統(tǒng)中需要專門設(shè)置集群通信機(jī)制用于控制器之間的信息傳遞,如JGroups通信庫已經(jīng)成為了比較成熟的技術(shù)。
為保證控制器集群對SDN網(wǎng)絡(luò)的控制效果,有兩個方面的設(shè)計(jì)與實(shí)現(xiàn)非常重要。第一是主控制器的選舉,主控制器主要負(fù)責(zé)生成和維護(hù)全網(wǎng)范圍內(nèi)的控制器和交換機(jī)狀態(tài)信息,一旦出現(xiàn)失效,就需要從集群的副控制器中選舉一個成為新的主控制器。第二是控制器集群對交換機(jī)的透明化,即在SDN網(wǎng)絡(luò)的運(yùn)行過程中,交換機(jī)無需關(guān)心當(dāng)前他接受的是哪一臺控制器發(fā)來的命令,同時在其向控制器發(fā)送數(shù)據(jù)包時,能保持之前單一控制器的操作方式,從而保證控制器在邏輯上的集中。為了實(shí)現(xiàn)上述目標(biāo),控制器集群設(shè)計(jì)的關(guān)鍵要素包含以下:
1. 主控制器選舉
在網(wǎng)絡(luò)運(yùn)行過程中,集群的副控制器需要周期性的監(jiān)控主控制器的工作狀態(tài),一旦發(fā)現(xiàn)訪問不可達(dá),就要啟動主控制器的選舉,集群中主控制器的選舉,業(yè)界已有不少算法,例如基于paxos的分布式選舉算法,在算法設(shè)計(jì)中,需要考慮算法實(shí)現(xiàn)的復(fù)雜度,特別是如果控制器集群部署在廣域網(wǎng)中,還要考慮帶寬/延遲等網(wǎng)絡(luò)質(zhì)量因素。
2. 集群虛擬地址
為了實(shí)現(xiàn)控制器之間的負(fù)載均衡,控制器集群可以利用傳統(tǒng)的負(fù)載均衡技術(shù),例如在交換機(jī)向控制器進(jìn)行注冊時,可以向某個靜態(tài)的虛擬IP地址發(fā)送,然后控制器集群會根據(jù)負(fù)載均衡算法,通過控制器間的通信確定并記錄該虛擬地址對應(yīng)的控制器,并要求其負(fù)責(zé)對該交換機(jī)的控制,而控制器返回給交換機(jī)的數(shù)據(jù)包也將以虛擬IP地址為源地址,實(shí)現(xiàn)控制器集群對交換機(jī)的透明化。
3. 全網(wǎng)拓?fù)浍@取
SDN網(wǎng)絡(luò)中的拓?fù)湫畔⑹菍?shí)現(xiàn)資源優(yōu)化調(diào)度的關(guān)鍵。為了獲得全網(wǎng)控制器和交換機(jī)的工作情況,需要各個控制器周期的進(jìn)行鏈路發(fā)現(xiàn),并將采集回來的網(wǎng)絡(luò)信息發(fā)送給主控制器匯總,再由主控制器統(tǒng)一下發(fā)給各個控制器。如果在定制數(shù)據(jù)流的轉(zhuǎn)發(fā)策略時,控制器發(fā)現(xiàn)數(shù)據(jù)流傳輸涉及的設(shè)備超過其控制的交換機(jī)范圍時,將會根據(jù)全網(wǎng)拓?fù)涓嬷粨Q機(jī)對應(yīng)的控制器,并通過協(xié)商制定一致的策略,進(jìn)而統(tǒng)一下發(fā)給交換機(jī)。
4. 控制器失效應(yīng)付
無論主控制器還是副控制器失效,集群都可以利用負(fù)載均衡技術(shù),將此前指派失效服務(wù)器的虛擬IP地址映射到其他工作正常的控制器,同時觸發(fā)對全網(wǎng)拓普信息的更新和獲取。
利用集群化的控制器,SDN網(wǎng)路將能夠避免單一的控制器造成的單點(diǎn)失效問題,同時能夠具有良好的擴(kuò)展性,以應(yīng)對巨大的交換機(jī)流量。特別是在廣域網(wǎng)環(huán)境,多地部署的控制器可有效改善openflow數(shù)據(jù)包額傳輸延遲,提升網(wǎng)絡(luò)性能。
控制器集群是解決控制器東西向擴(kuò)展的重要技術(shù)之一,雖然當(dāng)前有很多成熟的技術(shù)和成功的經(jīng)驗(yàn)可供參考,但對SDN網(wǎng)絡(luò)而言,還有許多內(nèi)容需要進(jìn)一步研究,例如控制器之間東西向接口標(biāo)準(zhǔn)的指定,這將有助于在控制層面提供更好的開放性,實(shí)現(xiàn)控制器之間的兼容,更好的支持SDN部署規(guī)模的提升。
以上就是SDN控制器之東西向擴(kuò)展技術(shù),希望能幫到大家,謝謝閱讀,請繼續(xù)關(guān)注VEVB武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選