沈家屹,張麗秋,何璐茜
(中國移動(dòng)通信集團(tuán)設(shè)計(jì)院有限公司上海分公司,上海 200060)
網(wǎng)絡(luò)虛擬化是依靠互聯(lián)網(wǎng)技術(shù)代替物理線路連接的方式,為兩個(gè)或多個(gè)計(jì)算機(jī)系統(tǒng)之間建立聯(lián)系,以此來構(gòu)成網(wǎng)絡(luò)通道,讓人們根據(jù)學(xué)習(xí)和工作需求,便捷的完成數(shù)據(jù)信息的實(shí)時(shí)傳遞?;谌藗冃聲r(shí)期對(duì)信息技術(shù)各項(xiàng)功能的使用需求不斷增多,技術(shù)人員在推廣網(wǎng)絡(luò)虛擬化技術(shù)時(shí),也要積極展開創(chuàng)新研究。目前,SDN 成為了實(shí)現(xiàn)網(wǎng)絡(luò)虛擬化的一種新方式,為科技信息技術(shù)的發(fā)展奠定了堅(jiān)實(shí)基礎(chǔ)。
在網(wǎng)絡(luò)虛擬化技術(shù)當(dāng)中展開SDN 架構(gòu)工作,可以在不改變基礎(chǔ)軟硬件配置的前提下,分離系統(tǒng)控制層。要先做好分層架構(gòu)工作,根據(jù)網(wǎng)絡(luò)虛擬化技術(shù)的基本功能和運(yùn)行特點(diǎn),通常SDN 架構(gòu)應(yīng)分成三層,包括應(yīng)用層、控制層和基礎(chǔ)設(shè)施層。應(yīng)用層要搭載相應(yīng)的軟件和技術(shù)以滿足人們的業(yè)務(wù)應(yīng)用需要,控制層則統(tǒng)一安裝SDN 控制器,集中、靈活的控制網(wǎng)絡(luò)系統(tǒng),實(shí)現(xiàn)快速編程處理,為基礎(chǔ)數(shù)據(jù)傳輸工作提供便利。標(biāo)準(zhǔn)架構(gòu)圖見圖1。結(jié)合圖1 來看,SDN 架構(gòu)體系的特點(diǎn)是以網(wǎng)絡(luò)互聯(lián)為基礎(chǔ),在對(duì)控制軟件的各項(xiàng)功能進(jìn)行編程處理時(shí),解除基層設(shè)備層對(duì)應(yīng)用層的限制,讓軟件和硬件的功能充分發(fā)揮出來。在這個(gè)網(wǎng)絡(luò)架構(gòu)體系中,基礎(chǔ)設(shè)施與傳統(tǒng)意義中的路由器、交換機(jī),都只是數(shù)據(jù)的轉(zhuǎn)發(fā)設(shè)備。改變了分布式管理的模式,讓網(wǎng)絡(luò)控制工作難度更低,更便于人們?nèi)粘2僮鳌?/p>
圖1 SDN 標(biāo)準(zhǔn)架構(gòu)
SDN 下的網(wǎng)絡(luò)技術(shù)實(shí)現(xiàn)了網(wǎng)絡(luò)互聯(lián),可以連接在核心控制系統(tǒng)當(dāng)中的應(yīng)用層增多,基礎(chǔ)硬件設(shè)施種類多、數(shù)量大、范圍廣[1]。基于核心控制層要處理的數(shù)據(jù)比較多,網(wǎng)絡(luò)系統(tǒng)當(dāng)中的緩存量越大,越容易影響系統(tǒng)運(yùn)行的穩(wěn)定性?;诖耍ㄔO(shè)虛擬私有云時(shí),應(yīng)以便于人們操作的方式簡化網(wǎng)絡(luò)結(jié)構(gòu),具體的私有云平臺(tái)架構(gòu)思路見圖2。SDN 的使用范圍比較廣,在實(shí)際建設(shè)私有云平臺(tái)時(shí)應(yīng)融入創(chuàng)新意識(shí),設(shè)計(jì)多個(gè)方案,結(jié)合實(shí)際使用情況研究優(yōu)化方案的可行方法。比如,目前推行的架構(gòu)方式主要有3 種。第一種是以VWware 的NSX 為代表,完全依靠軟件實(shí)現(xiàn)網(wǎng)絡(luò)架構(gòu)工作。第二種是以先進(jìn)的硬件裝置為網(wǎng)絡(luò)虛擬化提供支持,第三種則以軟件和硬件相結(jié)合的方式,優(yōu)化云計(jì)算處理方案[2]。
圖2 SDN 云網(wǎng)絡(luò)架構(gòu)
2.1.1 集成架構(gòu)設(shè)計(jì)
本次設(shè)計(jì)工作中使用SDN 技術(shù)就是為了對(duì)系統(tǒng)進(jìn)行統(tǒng)一、集中的管理。首要任務(wù)是進(jìn)行集成架構(gòu)設(shè)計(jì),應(yīng)了解系統(tǒng)結(jié)構(gòu)中要使用的軟件類型,分析各種軟件的功能特點(diǎn)。相關(guān)結(jié)構(gòu)圖見圖3。
圖3 控制器和云平臺(tái)集成架構(gòu)
2.1.2 通訊過程設(shè)計(jì)
設(shè)計(jì)人員應(yīng)考慮網(wǎng)絡(luò)準(zhǔn)入問題,做好節(jié)點(diǎn)配置工作,關(guān)鍵應(yīng)當(dāng)完成通訊過程的網(wǎng)絡(luò)布局工作,確定SDN 控制系統(tǒng)在整個(gè)通訊環(huán)節(jié)的作用,順利完成數(shù)據(jù)交換操作。技術(shù)人員通常需要?jiǎng)?chuàng)建網(wǎng)絡(luò)、進(jìn)行端口的增設(shè)和刪減等操作,還要完成網(wǎng)絡(luò)更新處理,在組網(wǎng)系統(tǒng)當(dāng)中完成對(duì)各個(gè)子網(wǎng)的統(tǒng)一管理。此外,進(jìn)行SDN 網(wǎng)絡(luò)虛擬化設(shè)計(jì)工作時(shí),也要考慮信息傳遞給子網(wǎng)的速度和質(zhì)量問題。
SDN 與其他控制系統(tǒng)之間的最大差異就是該系統(tǒng)能夠?qū)φ麄€(gè)網(wǎng)絡(luò)結(jié)構(gòu)層進(jìn)行全面監(jiān)管,技術(shù)人員通過在后臺(tái)控制層操作,可以觀察所有應(yīng)用軟件、硬件裝置的運(yùn)行情況。實(shí)際優(yōu)化這項(xiàng)功能時(shí),注意做好路徑算法設(shè)計(jì)工作[3]。以多路徑算法為例,本文在原有的路徑計(jì)算方式下,嘗試進(jìn)行創(chuàng)新設(shè)計(jì),目標(biāo)是優(yōu)化網(wǎng)絡(luò)運(yùn)行路徑,其中最基礎(chǔ)的布局結(jié)構(gòu)見圖4。假定讓H1按照S1-S2-S4-S5 路徑來到達(dá)H2,運(yùn)行流程比較復(fù)雜?;诖?,在設(shè)計(jì)時(shí)邏輯上可以斷開S1、S2、S4、S5之間的聯(lián)系,選擇最優(yōu)路徑。
圖4 簡單網(wǎng)絡(luò)拓?fù)鋱D
2.3.1 建設(shè)模型
依靠SDN 的網(wǎng)絡(luò)虛擬化技術(shù)進(jìn)行云平臺(tái)的基礎(chǔ)設(shè)計(jì)工作,應(yīng)重點(diǎn)從組網(wǎng)工作環(huán)節(jié)出發(fā),完成網(wǎng)絡(luò)模型的建設(shè)。傳統(tǒng)云平臺(tái)的組網(wǎng)模式有很多,一般以Flat、VLAN 為主。為了體現(xiàn)SDN 控制系統(tǒng)的應(yīng)用價(jià)值,要融入創(chuàng)新理念,嘗試使用新的組網(wǎng)模式。相關(guān)模型建設(shè)方案見圖5。
圖5 新組網(wǎng)模式的布局圖
2.3.2 網(wǎng)絡(luò)部署
有了組網(wǎng)模型后,應(yīng)通過節(jié)點(diǎn)設(shè)計(jì)工作完成網(wǎng)絡(luò)部署,以保障網(wǎng)絡(luò)虛擬系統(tǒng)各項(xiàng)功能的應(yīng)用價(jià)值可以充分發(fā)揮。節(jié)點(diǎn)設(shè)計(jì)任務(wù)分為兩大類,其一是進(jìn)行控制節(jié)點(diǎn)部署,要從系統(tǒng)管理、數(shù)據(jù)庫構(gòu)建等環(huán)節(jié)入手,提供網(wǎng)絡(luò)服務(wù)。其二是進(jìn)行計(jì)算節(jié)點(diǎn)的部署,要設(shè)計(jì)統(tǒng)一的服務(wù)模塊,現(xiàn)階段普遍使用的網(wǎng)絡(luò)虛擬系統(tǒng)以nova-compute 服務(wù)為主。
在設(shè)計(jì)方案中確定控制器插件類型時(shí),應(yīng)從計(jì)算機(jī)系統(tǒng)的版本方面分析各種插件的兼容性,對(duì)比插件之間的功能是否存在差異,還要考慮網(wǎng)絡(luò)控制技術(shù)的操作難度。本次設(shè)計(jì)工作以虛擬化的方式將控制器安裝在虛擬設(shè)備中,并融入各類控制器的功能,以單一控制器來管控虛擬系統(tǒng)。
設(shè)計(jì)網(wǎng)絡(luò)虛擬系統(tǒng),應(yīng)合理設(shè)定準(zhǔn)入?yún)f(xié)議,規(guī)定系統(tǒng)控制的范圍,確定系統(tǒng)能夠連接的子網(wǎng)數(shù)量和類型。協(xié)議的設(shè)計(jì)要從網(wǎng)絡(luò)端口的設(shè)計(jì)角度出發(fā),通常要盡量減少對(duì)協(xié)議的改動(dòng)[4]。以O(shè)penFlow 協(xié)議為例,要根據(jù)虛擬化技術(shù)的應(yīng)用要點(diǎn),確定協(xié)議的擴(kuò)展方向,必要時(shí)應(yīng)經(jīng)過試驗(yàn)來完成協(xié)議的自定義設(shè)計(jì)。
控制系統(tǒng)自身應(yīng)具有監(jiān)控功能,基于此,在虛擬化設(shè)計(jì)階段,技術(shù)人員會(huì)重點(diǎn)研究如何優(yōu)化監(jiān)控功能。主要是監(jiān)測信息的發(fā)送和接收情況,要集中記錄和整理系統(tǒng)運(yùn)行的數(shù)據(jù)信息,方便后續(xù)用于優(yōu)化系統(tǒng),并可以全面保障系統(tǒng)運(yùn)行安全。
在SDN 控制層的北向接口進(jìn)行應(yīng)用組件設(shè)計(jì),需要從控制模塊、監(jiān)測模塊、算法調(diào)度以及信息反饋模塊的設(shè)計(jì)工作中,完成基礎(chǔ)網(wǎng)絡(luò)組件的設(shè)計(jì)任務(wù),目的是豐富系統(tǒng)功能,提高SDN 虛擬系統(tǒng)的使用價(jià)值。
完成基礎(chǔ)設(shè)計(jì)任務(wù)后,應(yīng)有序進(jìn)行測試,分析設(shè)計(jì)環(huán)節(jié)是否存在不足之處,及時(shí)進(jìn)行修改,確保虛擬系統(tǒng)能夠順利投入使用,提升網(wǎng)絡(luò)虛擬化技術(shù)水平??梢栽谶\(yùn)行虛擬系統(tǒng)時(shí),輸入一些控制指令,觀察后臺(tái)編程信息的變化和網(wǎng)絡(luò)系統(tǒng)的整體運(yùn)行狀態(tài)。具體步驟如下:
(1) 在系統(tǒng)控制端通過編程操作對(duì)系統(tǒng)發(fā)出指令,一般在還沒有創(chuàng)建網(wǎng)絡(luò)結(jié)構(gòu)時(shí),界面會(huì)有大面積的留白部分,這屬于正?,F(xiàn)象,相關(guān)留白位置后續(xù)會(huì)顯示出網(wǎng)絡(luò)結(jié)構(gòu)圖。
(2) 依靠網(wǎng)址登錄到系統(tǒng)的界面當(dāng)中,完成網(wǎng)絡(luò)創(chuàng)建任務(wù)。
(3) 在網(wǎng)絡(luò)創(chuàng)建完成后,應(yīng)將工作信息保存在數(shù)據(jù)庫當(dāng)中,后續(xù)可以在控制層當(dāng)中查詢相關(guān)數(shù)據(jù)。要重點(diǎn)通過控制系統(tǒng)關(guān)注交換機(jī)的端口及流表,相關(guān)測試代碼輸入見圖6。
圖6 交換機(jī)端口列表測試圖
(4) 要在交換機(jī)當(dāng)中觀察系統(tǒng)連接情況,應(yīng)用SDN 控制器完成流標(biāo)控制任務(wù)。
結(jié)合這些測試步驟可以證明虛擬系統(tǒng)的運(yùn)作正常,注意要在測試階段驗(yàn)證安裝操作是否能夠成功,具體應(yīng)根據(jù)不同計(jì)算機(jī)的系統(tǒng)配置情況,來判斷SDN網(wǎng)絡(luò)架構(gòu)的兼容性問題。
4.2.1 網(wǎng)絡(luò)拓?fù)?/p>
技術(shù)人員應(yīng)進(jìn)行網(wǎng)絡(luò)布局結(jié)構(gòu)的合理性分析,注意測試網(wǎng)絡(luò)虛擬技術(shù)的各項(xiàng)功能是否達(dá)標(biāo)。測試流程為:
(1) 進(jìn)行控制器注冊(cè),再注冊(cè)交換機(jī),根據(jù)網(wǎng)絡(luò)運(yùn)行情況使用控制器進(jìn)行系統(tǒng)更新。
(2) 收集系統(tǒng)運(yùn)行的數(shù)據(jù),建立拓?fù)鋱D,從中判斷系統(tǒng)的可行性。
(3) 要登錄到虛擬云平臺(tái)當(dāng)中,檢查平臺(tái)各項(xiàng)功能是否能夠正常使用。
在測試過程中,應(yīng)當(dāng)考慮虛擬系統(tǒng)如何連接網(wǎng)絡(luò)的問題,用控制器分配源MAC,一般LLDP 的源MAC為00:00:00:00:00:01。在交換數(shù)據(jù)信息時(shí),應(yīng)保證系統(tǒng)能夠識(shí)別鏈路包,精準(zhǔn)定位傳輸位置,完成傳輸工作。
4.2.2 運(yùn)行路徑
在對(duì)運(yùn)行路徑進(jìn)行系統(tǒng)測試時(shí),要分成兩部分完成本次工作任務(wù)。包括拓?fù)涓乱约奥酚捎?jì)算,更新拓?fù)鋱D的前提是:讓新的交換機(jī)與網(wǎng)絡(luò)系統(tǒng)相連,可以嘗試進(jìn)行控制器注冊(cè),測試交換機(jī)提供協(xié)議、端口連接工作的自動(dòng)化程度,技術(shù)人員要提前設(shè)定程序,根據(jù)拓?fù)涓滦枨螅瓿蓪?duì)鏈路包的發(fā)送和接收處理[5]。相關(guān)代碼見圖7。
圖7 路徑代碼
進(jìn)行網(wǎng)絡(luò)虛擬化技術(shù)的設(shè)計(jì)工作,應(yīng)進(jìn)行需求分析,討論可行性、可靠性和功能需求。有序完成整體結(jié)構(gòu)、路徑算法、虛擬云平臺(tái)及系統(tǒng)控制器的優(yōu)化設(shè)計(jì)。最后,從網(wǎng)絡(luò)協(xié)議、監(jiān)測功能、基礎(chǔ)組件等方面完善設(shè)計(jì)方案,提升設(shè)計(jì)水平??梢钥闯?,SDN 的網(wǎng)絡(luò)虛擬化技術(shù)設(shè)計(jì)工作可以實(shí)現(xiàn)對(duì)系統(tǒng)的集約化控制管理,還能達(dá)到監(jiān)測效果,提高系統(tǒng)運(yùn)行的安全性和穩(wěn)定性。因此,目前技術(shù)人員正在展開對(duì)系統(tǒng)的創(chuàng)新研究,以擴(kuò)大SDN 控制系統(tǒng)的適用范圍。