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