[譚紹鋒 王為亮 邱帆]
近年,隨著SDN 技術(shù)的興起,基于SDN 的PTN 設(shè)備如SPTN[1]設(shè)備越來越多被使用。由于SPTN 設(shè)備的生產(chǎn)成本和生產(chǎn)周期因素,無論是需要少量SPTN 設(shè)備還是需要大量SPTN 設(shè)備進(jìn)行研究與實(shí)驗,使用SPTN 仿真軟件能大幅度降低成本和周期,特別是針對大規(guī)模SPTN 設(shè)備組網(wǎng)實(shí)驗,采用網(wǎng)絡(luò)仿真軟件通常是一種比較方便的解決方案。
由于各廠家設(shè)備的復(fù)雜性和差異性,目前流行的網(wǎng)絡(luò)仿真軟件如NS2[2],OMNET++[3]、SensorSim[4]等軟件并不能針對廠家的設(shè)備進(jìn)行仿真,同時也無法實(shí)現(xiàn)仿真軟件與SPTN 實(shí)物設(shè)備的融合組網(wǎng)。本文提出了一種既能實(shí)現(xiàn)大規(guī)模組網(wǎng)仿真又能與實(shí)物設(shè)備融合進(jìn)行大規(guī)模組網(wǎng)的方案,并且通過基于該方案實(shí)現(xiàn)的平臺軟件進(jìn)行了實(shí)驗,實(shí)驗結(jié)果滿足要求。本文提出的基于KVM[5]虛擬化技術(shù)大規(guī)模仿真組網(wǎng)是一種通用化設(shè)計方案,需要將設(shè)備軟件移植到KVM 平臺上來,通過開發(fā)基于仿真節(jié)點(diǎn)管理軟件即可實(shí)現(xiàn)大規(guī)模組網(wǎng)仿真。仿真規(guī)模的大小與計算資源的規(guī)模和實(shí)物設(shè)備的模擬能力有關(guān)。
雖然近年SDN 技術(shù)快速發(fā)展,但是基于SDN 的通用設(shè)備仿真軟件目前暫未發(fā)現(xiàn)。由于云計算和虛擬化技術(shù)的成熟,基于虛擬化技術(shù)的設(shè)備仿真成為了一種技術(shù)方案。目前KVM 技術(shù)已經(jīng)發(fā)展成熟并得到較為廣泛的應(yīng)用。采用設(shè)備軟件移植到KVM 虛擬機(jī)的方式實(shí)現(xiàn)單臺設(shè)備仿真與普通模擬仿真軟件相比,更接近實(shí)際設(shè)備。當(dāng)然,具體移植方案取決于各設(shè)備軟件的技術(shù)實(shí)現(xiàn)細(xì)節(jié)。本文設(shè)備基于SPTN 設(shè)備軟件進(jìn)行移植,通過平臺軟件管控大規(guī)模SPTN 虛擬機(jī)節(jié)點(diǎn)實(shí)現(xiàn)與實(shí)際設(shè)備基本功能一樣的SPTN組網(wǎng)。
針對SPTN 大規(guī)模仿真組網(wǎng),仿真平臺應(yīng)該具備以下基本功能:
(1)具備較大規(guī)模組網(wǎng)仿真功能。通過增加計算資源來擴(kuò)大仿真網(wǎng)絡(luò)規(guī)模。SPTN 網(wǎng)絡(luò)仿真軟件的協(xié)議和基本功能與實(shí)際設(shè)備保持一致。
(2)具備實(shí)物組網(wǎng)與仿真組網(wǎng)相互融合。SPTN 仿真節(jié)點(diǎn)能與PTN 實(shí)物設(shè)備融合組網(wǎng),保持業(yè)務(wù)和協(xié)議相通。同時SDN 控制器能統(tǒng)一管控仿真節(jié)點(diǎn)與SPTN 實(shí)物設(shè)備節(jié)點(diǎn)。既能快速開通仿真節(jié)點(diǎn)的SPTN 業(yè)務(wù),也能快速開通SPTN 實(shí)物設(shè)備的業(yè)務(wù)。做到實(shí)物組網(wǎng)和仿真組網(wǎng)相融合。
(3)具備良好的用戶交互功能。仿真平臺需要具備良好的用戶交互能力,能夠快速搭建用戶需要的網(wǎng)絡(luò)拓?fù)?。在較大網(wǎng)絡(luò)規(guī)模節(jié)點(diǎn)的基礎(chǔ)上快速實(shí)現(xiàn)SPTN 業(yè)務(wù)的發(fā)放與回收,同時具備良好的持久化能力。
SPTN 仿真平臺由仿真宿主機(jī)、仿真控制平臺、SPTN網(wǎng)管與SDN 控制器、PTN 設(shè)備構(gòu)成。用戶通過Web 瀏覽器登錄仿真控制平臺,通過仿真控制平臺管理仿真宿主機(jī),仿真控制平臺提供可視化界面讓用戶按照需求快速創(chuàng)建仿真網(wǎng)絡(luò)拓?fù)?。用戶也可以根?jù)需要加入PTN 設(shè)備進(jìn)行融合組網(wǎng),通過SPTN 網(wǎng)管統(tǒng)一管控各節(jié)點(diǎn)。仿真平臺架構(gòu)如圖1 所示。
圖1 大規(guī)模組網(wǎng)仿真平臺架構(gòu)圖
在SPTN 設(shè)備軟件的基礎(chǔ)上將PTN 協(xié)議棧功能遷移到x86 平臺,交換芯片功能采用x86 芯片來模擬(數(shù)據(jù)交換處理能力變?nèi)酰?。PTN x86 鏡像使用Qemu-kvm[6]虛擬機(jī)加載,遷移項如表1 所示。PTN 虛擬機(jī)端口與PC 端口采用橋接模式進(jìn)行連接,PTN 虛擬設(shè)備鏈路采用網(wǎng)橋和VXLAN 技術(shù)實(shí)現(xiàn)。這樣通過kvm 虛擬機(jī)承載的方式實(shí)現(xiàn)了PTN 仿真功能,由于PTN 協(xié)議棧(包括L2、L3、MPLS 協(xié)議等)與實(shí)際設(shè)備一致,因此仿真設(shè)備完全模擬實(shí)體設(shè)備的通信協(xié)議,所以具備實(shí)物和仿真融合組網(wǎng)能力。由于Qemu-KVM 實(shí)現(xiàn)了對計算資源的虛擬化,因此可以通過增加計算資源來擴(kuò)大節(jié)點(diǎn)規(guī)模。理論上計算資源越多,KVM 節(jié)點(diǎn)規(guī)模越大。KVM 虛擬機(jī)部署于宿主機(jī)上,因此仿真宿主機(jī)一般采用工作站或者服務(wù)器來充當(dāng)。當(dāng)一臺宿主機(jī)的計算資源耗盡時,需要增加宿主機(jī)的數(shù)量來進(jìn)一步擴(kuò)大網(wǎng)絡(luò)規(guī)模。
表1 PTN 仿真設(shè)備與SPTN 設(shè)備遷移對比
由于PTN 仿真虛擬機(jī)與SPTN 設(shè)備的協(xié)議棧一致,因此二者可以進(jìn)行聯(lián)合組網(wǎng),SPTN 設(shè)備使用電口與宿主機(jī)網(wǎng)卡進(jìn)行連接,同時將PTN 仿真節(jié)點(diǎn)的端口橋接到宿主機(jī)網(wǎng)卡,SPTN 設(shè)備電口與PTN 仿真虛擬端口通過DCN 協(xié)議建立三層鏈路,形成虛擬設(shè)備與實(shí)物設(shè)備的交互通道,從而實(shí)現(xiàn)實(shí)物與仿真融合組網(wǎng),連接方式如圖2所示。
圖2 SPTN 設(shè)備與PTN 仿真連接圖
當(dāng)使用純仿真網(wǎng)絡(luò)時,SPTN 的SDN 控制器需要單獨(dú)部署來管控SPTN 仿真網(wǎng)絡(luò),此時需要接入SPTN 網(wǎng)管來管理整個網(wǎng)絡(luò),包括后續(xù)接入的SPTN 設(shè)備,其中SDN控制器與SPTN(包括SPTN 仿真節(jié)點(diǎn)和SPTN 設(shè)備)交互的南向接口協(xié)議使用主流的NetConf 協(xié)議,如圖3 所示。用戶可以通過SPTN 網(wǎng)管快速發(fā)放和回收SPTN 業(yè)務(wù),SDN 控制器與網(wǎng)管交互的北向接口協(xié)議使用主流的RESTFul 協(xié)議。
圖3 SDN 控制器與SPTN 交互協(xié)議
仿真控制平臺是SPTN 仿真組網(wǎng)的控制核心。主要功能模塊包括Web 服務(wù)層、核心調(diào)度模塊、仿真宿主機(jī)分布式節(jié)點(diǎn)管理模塊、網(wǎng)絡(luò)規(guī)劃模塊、KVM 虛擬機(jī)管理模塊、數(shù)據(jù)持久化層。功能結(jié)構(gòu)如圖4 所示。
圖4 仿真控制平臺軟件功能結(jié)構(gòu)圖
(1)Web 服務(wù)層。提供Web 人際交互界面。用戶可以通過可視化界面規(guī)劃拓?fù)?、管理仿真宿主機(jī)和KVM 虛擬機(jī)。
(2)核心調(diào)度模塊。是仿真控制平臺的核心服務(wù)模塊。主要處理Web 服務(wù)層的業(yè)務(wù)請求,調(diào)度下層業(yè)務(wù)模塊處理業(yè)務(wù)邏輯。
(3)仿真宿主機(jī)分布式節(jié)點(diǎn)管理。該模塊集中管理仿真宿主機(jī)資源,包括KVM 虛擬機(jī)資源分配和調(diào)度,各宿主機(jī)的業(yè)務(wù)狀態(tài)等。
(4)網(wǎng)絡(luò)規(guī)劃模塊。該模塊根據(jù)用戶的需求創(chuàng)建網(wǎng)絡(luò)拓?fù)?。網(wǎng)絡(luò)規(guī)劃完成后,核心調(diào)度模塊根據(jù)拓?fù)湫枨蠓峙渌拗鳈C(jī)資源來創(chuàng)建KVM 虛擬機(jī)節(jié)點(diǎn)和鏈路,從而完成仿真組網(wǎng)。
(5)KVM 虛擬機(jī)管理模塊。管理虛擬機(jī)的生命周期,包括虛擬機(jī)的創(chuàng)建、刪除、查找等功能。
(6)數(shù)據(jù)持久化層。持久化拓?fù)鋽?shù)據(jù)、KVM 虛擬機(jī)數(shù)據(jù)和用戶數(shù)據(jù)等信息。平臺掉電重啟后能恢復(fù)正常。
經(jīng)測試,每個運(yùn)行仿真鏡像的qemu-kvm 虛擬機(jī)需要分配至少1vcpu,2G 內(nèi)存。基于現(xiàn)有硬件條件,使用2 臺工作站搭建50 個仿真節(jié)點(diǎn),實(shí)驗網(wǎng)絡(luò)拓?fù)淙鐖D5 所示。使用SPTN 網(wǎng)管對仿真設(shè)備發(fā)放業(yè)務(wù),業(yè)務(wù)狀態(tài)正常,LSP 路徑和LSP 狀態(tài)如圖6 和圖7 所示。
圖5 全仿真實(shí)驗拓?fù)?/p>
圖6 網(wǎng)管呈現(xiàn)的LSP 路徑
圖7 仿真設(shè)備中LSP 狀態(tài)
在全仿真實(shí)驗的基礎(chǔ)上,通過兩臺工作站網(wǎng)卡接入50 臺SPTN 實(shí)物設(shè)備,組成100 個節(jié)點(diǎn)的網(wǎng)絡(luò),實(shí)驗網(wǎng)絡(luò)拓?fù)淙鐖D8 所示,上面50 臺設(shè)備是仿真設(shè)備,下面50臺設(shè)備是實(shí)物設(shè)備。使用SPTN 網(wǎng)管對仿真設(shè)備發(fā)放。當(dāng)LSP 路徑通過仿真網(wǎng)絡(luò)時業(yè)務(wù)狀態(tài)正常。LSP 路徑和LSP狀態(tài)如圖9 和圖10 所示。
圖8 實(shí)物與仿真實(shí)驗拓?fù)?/p>
圖9 網(wǎng)管呈現(xiàn)的LSP 路徑和狀態(tài)
圖10 仿真設(shè)備中LSP 狀態(tài)
本文提出了一種大規(guī)模組網(wǎng)仿真平臺設(shè)計方案并進(jìn)行了實(shí)現(xiàn),通過移植SPTN 設(shè)備軟件到KVM 虛擬機(jī)的方式來創(chuàng)建仿真設(shè)備節(jié)點(diǎn),使用仿真控制平臺軟件來搭建和管理仿真網(wǎng)絡(luò)拓?fù)?,?shí)現(xiàn)了大規(guī)模仿真組網(wǎng)和實(shí)物與仿真融合組網(wǎng)。為設(shè)備開發(fā)、網(wǎng)絡(luò)學(xué)習(xí)、網(wǎng)絡(luò)研究以及網(wǎng)絡(luò)方案驗證提供了方便,同時也可以節(jié)約用戶成本。下一步我們將研究SPTN 網(wǎng)絡(luò)與云平臺網(wǎng)絡(luò)虛擬化技術(shù)相融合,使SPTN 大規(guī)模組網(wǎng)仿真平臺在云平臺底層解藕,以便部署在私有云或公有云平臺上方便提供給多用戶并發(fā)使用或協(xié)同學(xué)習(xí)研究。