郭宇瑩,徐展琦,李允博,杜 爽
(1.西安電子科技大學 綜合業(yè)務網(wǎng)理論及關(guān)鍵技術(shù)國家重點實驗室,陜西 西安 710071;2.中國移動通信研究院,北京 100053)
隨著網(wǎng)絡技術(shù)的高速發(fā)展,網(wǎng)絡規(guī)模日益增大,網(wǎng)絡業(yè)務逐漸多元化,不斷提出新型網(wǎng)絡架構(gòu)、協(xié)議及算法,并得到應用。專業(yè)人員需要靈活地規(guī)劃或優(yōu)化網(wǎng)絡,從而實現(xiàn)降低資本支出與運營成本、提高網(wǎng)絡服務質(zhì)量、減小資源消耗等目標。
傳統(tǒng)網(wǎng)絡性能仿真主要采用經(jīng)驗分析、數(shù)學計算及實驗設計等方法。經(jīng)驗分析方法需要專業(yè)人員全面細致地掌控全網(wǎng)狀況;數(shù)學計算方法以一定的假設和限制條件為基礎,將研究對象抽象為數(shù)學模型,以此來分析網(wǎng)絡性能;實驗設計方法通過軟硬件結(jié)合來搭建測試平臺,配置實驗環(huán)境,再研究網(wǎng)絡協(xié)議評估網(wǎng)絡性能。然而,由于網(wǎng)絡的異構(gòu)性、網(wǎng)絡數(shù)據(jù)傳輸過程的復雜性和網(wǎng)絡業(yè)務屬性的多變性,采用經(jīng)驗分析和數(shù)學計算方法來設計和規(guī)劃網(wǎng)絡已變得十分困難,使用實驗設計方法搭建測試平臺所需要的成本也日益昂貴。同時,傳統(tǒng)網(wǎng)絡性能仿真方法難以確保所獲取仿真結(jié)果的準確性,也很難客觀地衡量諸如可靠性、有效性以及用戶服務質(zhì)量等網(wǎng)絡性能。為彌補上述方法的缺陷,網(wǎng)絡性能仿真軟件應運而生。
網(wǎng)絡性能仿真軟件通過搭建網(wǎng)絡模型,模擬網(wǎng)絡資源分配、業(yè)務處理與傳輸及交換等過程,使專業(yè)人員根據(jù)仿真結(jié)果來驗證算法性能,或以較低的成本獲取網(wǎng)絡性能的影響因素和可優(yōu)化參數(shù),從而最大程度地提高網(wǎng)絡設計、運營與優(yōu)化的效能,實現(xiàn)風險最小化、收益最大化及資源利用合理化等目標[1-2]。
目前,國內(nèi)外已經(jīng)研究并開發(fā)出多種網(wǎng)絡性能仿真軟件。按照適用范圍可以將它們分為兩類:一類是通用型網(wǎng)絡性能仿真軟件,可支持多種網(wǎng)絡場景的仿真需求,主流軟件有NS2[3]、NS3[4]、OMNeT++[5]、OPNET[6]及QualNet[7-9]等;另一類是側(cè)重于某個特定研究方向的專用型網(wǎng)絡性能仿真軟件,如主要應用于光網(wǎng)絡場景的VPItransportMaker[10]、Net2Plan[11-12]、ElasticO++[13]及SimEON[14]等。這些網(wǎng)絡性能仿真軟件可極大地方便網(wǎng)絡研究,得到廣泛應用。
本文首先簡述主流通用型和光網(wǎng)絡專用型網(wǎng)絡性能仿真軟件的基本功能、主要特點和適用范圍,然后根據(jù)總結(jié)的網(wǎng)絡性能仿真軟件性能評價指標對其進行多屬性對比分析,最后提出網(wǎng)絡性能仿真軟件的未來發(fā)展設想。
通用型網(wǎng)絡性能仿真軟件適用于大多數(shù)網(wǎng)絡場景,兼具穩(wěn)定性、集成性和高效性等特點,主要介紹其中主流的NS2、NS3、OMNeT++、OPNET和QualNeT。
NS2 (Network Simulator-Version 2)[3]是UC Berkeley大學開發(fā)的離散事件網(wǎng)絡性能仿真軟件,在學術(shù)界應用廣泛,適用于有線網(wǎng)絡、無線網(wǎng)絡、局域網(wǎng)以及衛(wèi)星網(wǎng)絡等多種網(wǎng)絡場景。
NS2主要運行于UNIX/LINUX操作系統(tǒng),采用Otcl和C++兩種開發(fā)語言,分別用于網(wǎng)絡環(huán)境的配置和仿真程序的編寫,方便用戶修改環(huán)境參數(shù)、高效執(zhí)行仿真程序。
NS2封裝的功能模塊數(shù)目多且易于擴展,但模塊間互操作性與耦合性較差,版本更新時容易產(chǎn)生模塊不兼容等問題。此外,NS2不支持圖形用戶界面(Graphical User Interface,GUI),仿真操作不直觀,用戶只能借助XGraph和NAM(Network AniMator)等數(shù)據(jù)分析工具來觀察仿真結(jié)果。由于NS2不支持分布式仿真,仿真速度比其他通用型仿真軟件慢。
NS3 (Network Simulator-Version 3)[4]是將NS2簡化后,結(jié)合其他仿真器的優(yōu)勢與應用經(jīng)驗所開發(fā)出的開源跨平臺離散事件網(wǎng)絡模擬器,主要用于課堂教學和學術(shù)研究。
NS3的各功能模塊均通過編寫C++代碼實現(xiàn),用戶可根據(jù)自身需求選用C++或Python語言編寫腳本來配置仿真環(huán)境,通過調(diào)用各個模塊來實現(xiàn)不同的網(wǎng)絡功能,但NS3內(nèi)置模塊數(shù)量有限,需要對其進行擴展,才能滿足用戶對更多網(wǎng)絡功能的需求。
此外,NS3提供數(shù)據(jù)跟蹤功能,用戶可以采用可視化界面工具Pyviz和統(tǒng)計作圖工具gnuplot等數(shù)據(jù)分析工具來處理數(shù)據(jù)并分析結(jié)果。該軟件還支持分布式仿真和并行仿真,運行速度較快。
OMNeT++(Objective Modular Network Testbed in C++)[5]是由布達佩斯大學通信工程系的研究團隊開發(fā)的離散事件仿真工具,具備開源和跨平臺等特性,可用于硬件體系結(jié)構(gòu)的驗證和復雜軟件系統(tǒng)性能的評估。
它采用混合式建模方法,即采用網(wǎng)絡描述語言配置網(wǎng)絡性能仿真模型,C++語言編寫普通模塊的功能,從而將網(wǎng)絡的數(shù)據(jù)模型和控制操作分離,結(jié)合兩種語言在各自領(lǐng)域運行速度的優(yōu)勢,可有效提高代碼的執(zhí)行效率。
OMNeT++兼容Eclipse的集成開發(fā)環(huán)境(Integrated Development Environment,IDE),用戶可以利用Eclipse的插件將該軟件與第三方軟件聯(lián)合使用。該軟件模塊化的設計方式使得各個模塊的功能調(diào)試和擴展互不干擾,具有較高的靈活性和可擴展性。
OMNeT++提供全面的用戶手冊和豐富的說明文檔,并擁有簡單易用的GUI及高效的調(diào)試工具,使用戶學習和使用的難度較低。另外,該軟件還擁有并行仿真機制,仿真速度快。
OPNET (Optimized Network Engineering Tool)[6]是1986年由麻省理工學院的研究團隊開發(fā)、基于離散事件驅(qū)動的網(wǎng)絡性能仿真軟件,是目前世界上最先進的同類軟件之一,廣泛用于學術(shù)研究和產(chǎn)業(yè)商用。
它有OPNET Modeler、IT Guru、Service Provider Guru和WDM Guru四個系列產(chǎn)品。OPNET Modeler用于協(xié)議模型設計和網(wǎng)絡性能分析;IT Guru實現(xiàn)大中型企業(yè)網(wǎng)絡的狀態(tài)預測和性能評估;Service Provider Guru是面向網(wǎng)絡運營商的智能網(wǎng)絡管理軟件;WDM Guru是針對使用波分復用(Wavelength Division Multiplexing,WDM)網(wǎng)絡的運營商和設備制造商研發(fā)的性能評估軟件。
其中,OPNET Modeler應用最為廣泛,其模型精度高,且內(nèi)部采用三層建模機制,符合開放系統(tǒng)互連(Open System Interconnection,OSI)分層模型的設計規(guī)范,使該軟件可高度模擬實際網(wǎng)絡的數(shù)據(jù)傳輸過程。該軟件還借助映射概念將實際網(wǎng)絡中的物理設備抽象到軟件中,從而有效提高網(wǎng)絡模型的真實度。由于軟件所提供的模型庫內(nèi)容陳舊,且模塊多已固化,功能擴展的難度較大,導致用戶難以得到最恰當?shù)木W(wǎng)絡設備仿真參數(shù)。
作為一款商用軟件,OPNET功能較為齊全,其擁有全面的用戶手冊、豐富的學習資料和簡單易用的GUI,方便用戶構(gòu)建網(wǎng)絡模型、修改網(wǎng)絡拓撲參數(shù)、自定義仿真過程及分析仿真結(jié)果等。軟件還支持并行仿真,運行速度較快。
離散事件驅(qū)動的QualNet[7-8]是由Scalable Networks Technologies公司開發(fā)的跨平臺商業(yè)網(wǎng)絡性能仿真軟件,主要用于有線網(wǎng)絡、無線網(wǎng)絡和混合動態(tài)網(wǎng)絡的性能分析,也可用于新型協(xié)議模型的設計和大規(guī)模網(wǎng)絡的構(gòu)建等。
QualNet遵循OSI分層模型的設計規(guī)范,可高度模擬實際網(wǎng)絡的數(shù)據(jù)傳輸過程。此外,軟件包含移動模型和地理模型等預設模型,可較為真實地模擬預定義節(jié)點的實際移動軌跡,還可利用平面地圖還原仿真場景的地理信息。
QualNet可配置包含上萬個網(wǎng)絡節(jié)點的網(wǎng)絡模型[7],運行在多核和多處理器系統(tǒng)上,支持并行仿真與分布式仿真。因此與其他仿真軟件相比,其仿真速度在小規(guī)模網(wǎng)絡中可提高幾倍,而在大規(guī)模網(wǎng)絡中可提高十幾倍到近千倍[9]。
此外,QualNet界面友好,使用方便,可用內(nèi)置數(shù)據(jù)分析工具處理仿真結(jié)果,并通過外接第三方軟件擴展軟件功能。
NS2、NS3、OMNeT++和OPNET同樣適用于光網(wǎng)絡場景,例如段靖遠等擴展NS2的功能,使其支持IEEE-1394b光網(wǎng)絡的模型優(yōu)化與性能評估,從而獲取該網(wǎng)絡的帶寬利用率等性能參數(shù)[15];Arokkiam等在NS3基礎上擴展XG-PON (10G-capable Passive Optical Network)模塊,用于研究XG-PON技術(shù)的部署策略[16];梁兵采用OMNeT++搭建網(wǎng)絡環(huán)境,可仿真多層多域光網(wǎng)絡中的路由和保護算法[17];郭珊宜采用OPNET搭建時分波分復用無源光網(wǎng)絡(Time and Wavelength Division Multiplexed Passive Optical Network,TWDM-PON)場景,仿真驗證所提出的基于長短期記憶網(wǎng)絡(Long Short-Term Memory,LSTM)的提前休眠喚醒節(jié)能算法的性能[18]。
光纖具有傳輸帶寬大、信息保密性強及價格低廉等優(yōu)點,已經(jīng)成為接入網(wǎng)、城域網(wǎng)和核心網(wǎng)的最重要傳輸介質(zhì),因此有關(guān)光網(wǎng)絡規(guī)劃與優(yōu)化的研究也日益成為人們的關(guān)注重點。光網(wǎng)絡專用型網(wǎng)絡性能仿真軟件可用于研究多層多域光網(wǎng)絡中的聯(lián)合規(guī)劃以及各類算法在其他復雜網(wǎng)絡環(huán)境下的性能,主要介紹其中常見的4種仿真軟件VPItransportMaker、Net2Plan、ElasticO++和SimEON。
VPItransportMaker[10]是由VPIsystemsTM公司開發(fā)的網(wǎng)絡設計和優(yōu)化工具,用于準同步數(shù)字序列 (Plesiochronous Digital Hierarchy,PDH)、同步數(shù)字序列 (Synchronous Digital Hierarchy,SDH)、波分復用(Wavelength Division Multiplexing,WDM)以及光傳送網(wǎng) (Optical Transport Network,OTN)等光網(wǎng)絡的設計與優(yōu)化。
VPItransportMaker主要特點有:
① 可以通過GUI對網(wǎng)絡進行多形態(tài)設計,包括鏈狀、環(huán)形及網(wǎng)狀等網(wǎng)絡構(gòu)型,也可借助網(wǎng)絡構(gòu)型設計引擎以更改網(wǎng)絡布局。
② 提供多層網(wǎng)絡建模功能,覆蓋客戶層、網(wǎng)絡層、拓撲約束層和多樣性約束層,支持光層、SDH/SONET、PDH及以太網(wǎng)等多種業(yè)務類型。
③ 擁有Plug-In伸縮擴展結(jié)構(gòu)和Scripting腳本引擎功能,便于用戶進行有關(guān)故障模擬和業(yè)務恢復的網(wǎng)絡可靠性分析。
④ 擁有專用的路由和波長分配設計引擎,方便用戶進行路由和波長分配問題的研究。
⑤ 提供算法接口,使用戶可以繼承該接口以添加自定義算法。
⑥ 支持豐富的數(shù)據(jù)報表和圖形報表,可以將結(jié)果以XML、TXT及XLSX等格式進行存儲。
Net2Plan[11]是由西班牙卡塔赫納理工大學的研究人員于2011年開發(fā)的開源網(wǎng)絡性能仿真軟件,主要用于WDM網(wǎng)絡、IP路由網(wǎng)絡、軟件定義網(wǎng)絡(Software Defined Networking,SDN)以及網(wǎng)絡功能虛擬化(Network Functions Virtualization,NFV)網(wǎng)絡等的性能分析、評估和優(yōu)化。
其主要特點有:
① 提供用戶交互界面(Graphical User Interface,GUI)和命令行界面(Command Line Interface,CLI)。其中,GUI較為直觀,CLI支持多批次實驗,可節(jié)約計算機資源。
② 將節(jié)點、鏈路及路由等組件抽象化,便于網(wǎng)絡拓撲的構(gòu)建和網(wǎng)絡參數(shù)的修改。
③ 采用綜合容量模型(Integrated Capacity Model,ICM)[12]開發(fā)多層網(wǎng)絡規(guī)劃與設計工具,可進行多層網(wǎng)絡拓撲的構(gòu)建;
④ 可通過GUI自定義網(wǎng)絡拓撲或業(yè)務請求,能夠驗證離線網(wǎng)絡和在線網(wǎng)絡算法的性能;通過GUI添加專用的.n2p文件實現(xiàn)新增網(wǎng)絡拓撲或業(yè)務請求的功能。
⑤ 自動生成軟件內(nèi)置的或用戶自定義的仿真報告,提供豐富的API接口以集成自定義算法,支持代碼復用,可按需功能擴展。
⑥ 擁有大量視頻教程和學習資料。
ElasticO++[13]是基于OMNeT++的彈性光網(wǎng)絡(Elastic Optical Network,EON)仿真工具,是第一個用于研究動態(tài)EON場景下頻譜碎片問題的軟件。
ElasticO++完全兼容OMNet++的GUI,能夠可視化地查看網(wǎng)絡模型、修改網(wǎng)絡參數(shù)、觀察仿真過程、輸出仿真結(jié)果。仿真時可以配置諸如轉(zhuǎn)發(fā)器、可重構(gòu)光分插復用器(Reconfigurable Optical Add-Drop Multiplexer,ROADM)及光纖等光網(wǎng)絡設備以提高網(wǎng)絡模型的精度。該軟件還支持批量仿真,仿真結(jié)束后可分別采用Excel和Origin軟件統(tǒng)計并分析仿真結(jié)果中的阻塞率、碎片數(shù)目及運行時間等參數(shù)。
ElasticO++注重算法重用,可借助C++的模板和繼承概念將軟件內(nèi)置的十個算法重新組合,用于求解EON場景下的路由與頻譜分配問題,具有較好的靈活性。同時,該軟件可以使用多線程和并行運算等技術(shù)以加快仿真速度。
SimEON (Simulator for Elastic Optical Networks)[14]是基于C++語言開發(fā)的開源網(wǎng)絡性能仿真軟件,主要用于在EON場景下設計再生器的放置算法和路由算法,也可用于評估網(wǎng)絡參數(shù)對網(wǎng)絡性能的影響。
SimEON的開發(fā)遵循軟件工程基本原理,因此軟件質(zhì)量較高,可支持并行仿真以加快仿真速度。此外,其采用模塊化的設計思想,使各功能模塊層次分明,用戶可以繼承接口修改完善現(xiàn)有功能或添加新功能。同時,該軟件還可以與其他網(wǎng)絡性能仿真軟件結(jié)合使用以進行功能擴展。
隨著網(wǎng)絡的發(fā)展,國內(nèi)也涌現(xiàn)了一批針對于光網(wǎng)絡場景的網(wǎng)絡性能仿真軟件。烽火通信研發(fā)出面向于智能波分網(wǎng)絡設計與優(yōu)化的網(wǎng)絡規(guī)劃系統(tǒng)OTN Planner,它支持同步數(shù)字體系(Synchronous Digital Hierarchy,SDH)、多業(yè)務傳送平臺(Multi-Service Transport Platform,MSTP)、自動交換光網(wǎng)絡(Automatically Switched Optical Network,ASON)及光傳送網(wǎng)OTN等光網(wǎng)絡技術(shù)的仿真。中興公司推出ZXTOP系列軟件,可提供網(wǎng)絡設計、設備配置、性能評估、網(wǎng)絡優(yōu)化及故障模擬等功能。
此外,北京郵電大學黃善國等采用Java語言開發(fā)“network spider傳送網(wǎng)絡優(yōu)化規(guī)劃系統(tǒng)軟件”[19-20],使該軟件具備網(wǎng)絡拓撲管理、業(yè)務預測及網(wǎng)絡評估等基本功能;該團隊還在OPNET的基礎上開發(fā)ASON網(wǎng)絡性能仿真軟件,目前該軟件已具備ASON的大部分網(wǎng)絡功能[21]。西安電子科技大學徐展琦等開發(fā)“基于PCE的多層多域光網(wǎng)絡資源優(yōu)化性能仿真軟件”[22],可解決業(yè)務聯(lián)合疏導與選路問題。電子科技大學李興民和歐雪剛等開發(fā)“NetNumen-TOP”光網(wǎng)絡規(guī)劃與優(yōu)化軟件等系統(tǒng)[23-24],主要用于研究WDM網(wǎng)絡場景下的路由與波長分配問題。華盛頓州立大學BOWen等開發(fā)基于NS的WDM光網(wǎng)絡性能仿真軟件OWns。浙江工業(yè)大學余建軍等人開發(fā)基于OWns的WDM光網(wǎng)絡性能仿真軟件RwaOWns,使其支持多種路由與波長分配算法性能的研究[25]。
為了選擇合適的網(wǎng)絡性能仿真軟件,目前已有許多研究人員對各網(wǎng)絡性能仿真軟件進行對比[26-30],主要評價指標有:
① 仿真速度:仿真相同網(wǎng)絡場景或相同規(guī)模網(wǎng)絡的模型時,所需仿真時間的長短。
② 計算資源:仿真相同場景或相同規(guī)模的網(wǎng)絡模型時,所需計算資源的多少。
③ 易用性:軟件操作難易程度,具體包括軟件的易安裝性、用戶界面的易用性、對第三方軟件(如數(shù)據(jù)分析工具等)的可支持性、用戶文檔的完備性、仿真模型設計和修改的復雜性,仿真數(shù)據(jù)收集和分析的直觀性等。
④ 可擴展性:仿真軟件功能是否可以擴展以及功能擴展的復雜程度。
根據(jù)上述評價指標,表1給出了本文所述各種網(wǎng)絡性能仿真軟件的主要性能指標對比結(jié)果(*越多表明該指標在所對應的屬性上表現(xiàn)越好,+越多表示計算資源消耗越多,-表示目前難以確定)。由表格可知,通用型網(wǎng)絡性能仿真軟件中,NS2與OMNeT++采用雙語言架構(gòu),便于用戶修改網(wǎng)絡參數(shù);NS3、OMNeT++與QualNet支持并行仿真和分布式仿真,仿真速度較快;NS3在同類軟件中計算資源消耗較少;商用軟件OPNET與QualNet功能較強,易用性較好;開源軟件NS2、NS3與OMNeT++的可擴展性好,用戶可修改或添加功能模塊以實現(xiàn)不同的網(wǎng)絡功能;NS2、NS3、OMNeT++和OPNET均支持光網(wǎng)絡性能仿真。在光網(wǎng)絡專用型網(wǎng)絡性能仿真軟件中,商用軟件VPItransportMaker易用性較強,但可擴展性較差;開源軟件Net2Plan比ElasticO++和SimEON的易用性好,且三者都具有較優(yōu)的可擴展性。
表1 網(wǎng)絡性能仿真軟件的主要屬性比較
網(wǎng)絡性能仿真軟件可以幫助研究人員以較低成本綜合評估網(wǎng)絡,有效提高網(wǎng)絡設計與優(yōu)化的可信度與時效性。本文調(diào)研主流通用型與光網(wǎng)絡專用型網(wǎng)絡性能仿真軟件,闡述各軟件的基本功能、主要特點、應用場景和適用范圍,并根據(jù)多種評價指標進行評估。在實際工作中,研發(fā)人員應綜合考慮軟件需求、應用場景、時間成本和資源消耗等多種因素來選擇合適的軟件開發(fā)平臺,完成網(wǎng)絡性能仿真或相關(guān)軟件的再開發(fā)。
通過對比分析各網(wǎng)絡性能仿真軟件的主要特點及性能,結(jié)合新技術(shù)發(fā)展對網(wǎng)絡性能仿真軟件的迫切需求,在此提出關(guān)于網(wǎng)絡性能仿真軟件的未來發(fā)展設想:
① 開發(fā)軟件應當摒棄專用編程語言,采用C++、Java與Python等通用編程語言,增加易用性;
② 借助并行計算和分布式計算等高效能計算技術(shù),充分考慮算力增強設備的適用性,提高網(wǎng)絡性能仿真軟件執(zhí)行速度與效能;采用模塊化的設計思想,提高軟件的可擴展性和模塊的復用性,可實現(xiàn)與OPNET和Matlab等現(xiàn)有主流網(wǎng)絡仿真軟件的接口;
③ 遵循OSI和TCP/IP的分層設計思想,模擬真實網(wǎng)絡場景的協(xié)議處理與數(shù)據(jù)傳輸過程,具備半實物仿真能力,提高仿真結(jié)果的可信度;
④ 加強軟件與物理設備的交互,確保所獲取數(shù)據(jù)的實時性和準確性;加強用戶支持,提供良好的GUI及全面的用戶使用文檔;
⑤ 確保仿真軟件適合更復雜的場景,涵蓋用戶駐地網(wǎng)、接入網(wǎng)和核心網(wǎng),包括諸如軟件定義網(wǎng)絡SDN、網(wǎng)絡虛擬化NV、網(wǎng)絡切片NS以及5G/6G移動網(wǎng)絡等新型網(wǎng)絡體制與架構(gòu);
⑥ 結(jié)合機器學習和大數(shù)據(jù)等前沿技術(shù),深度分析網(wǎng)絡數(shù)據(jù),并提取該數(shù)據(jù)的特征,進而對網(wǎng)絡模型進行優(yōu)化分析,提高軟件內(nèi)網(wǎng)絡模型的真實度。
網(wǎng)絡技術(shù)的不斷演進,推動著網(wǎng)絡性能仿真方法的發(fā)展,衍生出數(shù)量龐大的網(wǎng)絡性能仿真軟件,對專業(yè)人員進行網(wǎng)絡研究提供巨大的幫助。如何開發(fā)一款仿真速度快、計算資源消耗少、易用性與通用性強、可擴展性和保真度好的網(wǎng)絡性能仿真軟件,仍然值得深入研究。