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