劉行兵 范黎林
摘要:網(wǎng)絡(luò)仿真是繼網(wǎng)絡(luò)模擬和實際測試之后第三種協(xié)議評估手段,是網(wǎng)絡(luò)模擬和實際測試的折衷,兼有兩者的優(yōu)點,又可避開其不足??梢詾閰f(xié)議評估提供可控制、低成本、高真實度和可重復(fù)的測試平臺。文中分析了網(wǎng)絡(luò)仿真系統(tǒng)為實例,并對網(wǎng)絡(luò)仿真系統(tǒng)進(jìn)行了總結(jié),包括設(shè)計思想、體系結(jié)構(gòu)、仿真優(yōu)缺點等,最后,歸納了網(wǎng)絡(luò)仿真的發(fā)展趨勢。
關(guān)鍵詞:網(wǎng)絡(luò)仿真 協(xié)議評估 設(shè)計思想 MANET
中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2016)07-0231-02
1 網(wǎng)絡(luò)仿真系統(tǒng)
1.1 基于模擬擴(kuò)展的網(wǎng)絡(luò)仿真系統(tǒng)
該類仿真系統(tǒng)的基本設(shè)計思想是對原有的網(wǎng)絡(luò)模擬系統(tǒng)進(jìn)行擴(kuò)展,使之支持網(wǎng)絡(luò)仿真。這種設(shè)計可以充分利用原有網(wǎng)絡(luò)模擬系統(tǒng)的各種協(xié)議支持和分析工具,典型的代表是NSE,NSE(NS Emulation extension)是NS2[1]模擬器的擴(kuò)展,NS2是一個離散事件驅(qū)動的網(wǎng)絡(luò)模擬系統(tǒng),它是通過執(zhí)行一系列離散事件的處理函數(shù)來運行協(xié)議,NS2 內(nèi)部原有的調(diào)度器是非實時的,它按照時間先后順序取出事件,執(zhí)行其處理函數(shù),直至模擬過程結(jié)束。在事件執(zhí)行的過程中有可能又引入其它事件,現(xiàn)實已有協(xié)議或操作的復(fù)雜度用處理函數(shù)的復(fù)雜度來近似表示。NSE的目標(biāo)是子網(wǎng)仿真,即實現(xiàn)NS2與真實數(shù)據(jù)流的交互。擴(kuò)展NS2使其具有仿真功能可帶來兩個方面的影響:其一,如果能實現(xiàn)與外部數(shù)據(jù)流的交互。則NS2內(nèi)部的協(xié)議就可以經(jīng)過外界真實流量的檢驗,從而使得模擬的結(jié)果更加可靠;其二,NS2 可以對經(jīng)過的數(shù)據(jù)流施加各種影響,比如突發(fā)的丟包現(xiàn)象、擁塞等,從而可以驗證真實協(xié)議或程序在某些特殊情況下的行為。
為了實現(xiàn)仿真功能,首先需要對NS2內(nèi)部的調(diào)度機制進(jìn)行擴(kuò)展,實現(xiàn)一個實時的調(diào)度器,這種擴(kuò)展是很直接的,只需要引入真實的延遲,防止調(diào)度器直接進(jìn)入下一個事件的處理即可。另外,NS2內(nèi)部網(wǎng)絡(luò)層的編址方案與真實協(xié)議棧中網(wǎng)絡(luò)層編址方案之間存在一些差異,比如,NS2網(wǎng)絡(luò)層的地址中包含了端口號,而該端口號在真實協(xié)議棧中只有在運輸層才會出現(xiàn)。因此,除了調(diào)度方面要進(jìn)行擴(kuò)展之外,需要增加一些功能模塊來訪問外部流量和進(jìn)行包格式的轉(zhuǎn)換。NSE向NS2中引入了網(wǎng)絡(luò)對象(Network Objects)和TAP 代理(TAP Agent),網(wǎng)絡(luò)對象可以訪問外部的UDP、原始IP(rawIP)和MAC層的流量,UDP和原始IP流量是通過Socket機制來訪問的,而MAC層的流量是通過擴(kuò)展的BPF[2](Berkeley Packet Filter)來訪問的。當(dāng)外部流量進(jìn)入時,首先是網(wǎng)絡(luò)對象獲取外部流量,然后相應(yīng)的TAP代理把該流量轉(zhuǎn)換成NS2內(nèi)部的表示形式,向外部發(fā)送流量的過程與此相反。NS2的包格式中有一個Object域,其原始含義是數(shù)據(jù)包的凈荷,然而NS2內(nèi)部并沒有對該域進(jìn)行處理(它們簡單地假定該域永遠(yuǎn)是空指針),因此原先數(shù)據(jù)包的凈荷部分被放在NS2數(shù)據(jù)包頭的Extern指針上,如圖1所示。
NSE得到了相當(dāng)廣泛的使用,主要是由于NS2豐富的協(xié)議支持。但也存在,由于NS2內(nèi)部處理數(shù)據(jù)流速度的限制,NSE僅適用于外部流量的速率較小的情形,此外,現(xiàn)有的實現(xiàn)僅僅局限于系統(tǒng)與外界UDP、原始IP 和MAC 層流量的交互,卻沒有實現(xiàn)與TCP流量的交互,因此其使用范圍受到很大限制。
1.2 基于過濾控制
該類仿真系統(tǒng)的基本思想是:基于實驗室環(huán)境下的全連通局部網(wǎng)絡(luò),通過MAC層幀過濾的方式來構(gòu)造多跳的網(wǎng)絡(luò)環(huán)境,從而實現(xiàn)對MANET的仿真。典型的代表為MobiEmu。MobiEmu的體系結(jié)構(gòu)如圖2所示。
MobiEmu的特點在于概念清晰,系統(tǒng)構(gòu)造簡單;但,MobiEmu的MAC層是非真實的考慮仿真網(wǎng)絡(luò)有三個節(jié)點A、B、C的情形,由于A、B、C是全聯(lián)通的,任何兩個節(jié)點在任意時刻都有可能發(fā)生競爭,這與多跳的Ad hoc網(wǎng)絡(luò)的MAC層是不吻合,在這個意義上,MobiEmu僅實現(xiàn)了MAC層上連接性的有效仿真。
1.3 基于參數(shù)評估
該類仿真系統(tǒng)的基本思想是:一方面,通過實驗控制來減小兩次不同實驗運行實例中網(wǎng)絡(luò)參數(shù)的差異,另一方面,通過關(guān)鍵參數(shù)的評估來判斷兩次實驗過程是否具有重復(fù)性。典型的代表是APE。
APE通過高度動作化的場景文件的執(zhí)行,使得不同實驗過程的場景具有高度的重復(fù)性,并通過簡化系統(tǒng)安裝和控制命令來提高系統(tǒng)的擴(kuò)展性。APE的實驗設(shè)施是為每個實驗人員配備移動節(jié)點,實驗人員根據(jù)屏幕上顯示的指令執(zhí)行相應(yīng)的操作,例如向某個位置移動、停止運動等。APE由3個基本模塊組成,其一是場景解析模塊,圖3中的scenario interpreter,它通過解析場景文件來選擇實驗中所使用的流量發(fā)生器、路由模型和用于同步的TSB(timestamp broadcast);其二是實驗數(shù)據(jù)的記錄和收集模塊,圖3中的networkdriver,logging 等,它負(fù)責(zé)對MAC層和IP層的相關(guān)信息進(jìn)行統(tǒng)計和記錄,并將結(jié)果存儲在日志文件中,待實驗結(jié)束時把實驗結(jié)果上傳到指定節(jié)點進(jìn)行數(shù)據(jù)分析;最后是分析工具,負(fù)責(zé)日志文件的整合與分析,其主要功能是從日志文件中計算出一些網(wǎng)絡(luò)特征參數(shù),比如虛擬移動性參數(shù)(Virtual Mobility)、用鄰居總數(shù)度量的連接性、鏈路變化速率、丟包率等等。
2 網(wǎng)絡(luò)仿真發(fā)展趨勢
一是無線網(wǎng)絡(luò)的仿真將得到快速發(fā)展。像DummyNet、NIST Net 和Netbed等,都是有線網(wǎng)絡(luò)的仿真系統(tǒng),最近的一系列仿真系統(tǒng)包括MVLE、APE、MobiEmu和MobiNet等,都是無線網(wǎng)絡(luò)的仿真系統(tǒng)。究其原因,一方面,無線網(wǎng)絡(luò)的協(xié)議研究最近幾年已成為研究熱點;另一方面,無線網(wǎng)絡(luò)本身的復(fù)雜性使得網(wǎng)絡(luò)模擬系統(tǒng)中所使用的模型缺乏足夠的描述能力,網(wǎng)絡(luò)模擬的結(jié)果與在真實網(wǎng)絡(luò)中測試的結(jié)果出現(xiàn)了很大差別,無線網(wǎng)絡(luò)的協(xié)議開發(fā)迫切需要有效的協(xié)議評估途徑。
二是仿真系統(tǒng)設(shè)計將更加接近真實性網(wǎng)絡(luò)。越靠近低層的仿真越能接近反映真實的網(wǎng)絡(luò),如DummyNet和NIST Net,其仿真局限于網(wǎng)絡(luò)層及以上各層,而后來的仿真系統(tǒng),如MVLE、APE和MobiNet,仿真的層次深入到了MAC層。
3 結(jié)語
網(wǎng)絡(luò)仿真系統(tǒng)是一種不同于實際測試和模擬的協(xié)議評估途徑,它為協(xié)議評估提供了一種可控制、低成本、高真實度、可重復(fù)的測試平臺。本文分析不同的類別的仿真系統(tǒng)有著不同的設(shè)計思想,對應(yīng)網(wǎng)絡(luò)仿真存的優(yōu)缺點。由無線網(wǎng)絡(luò)的快速普及應(yīng)用,以及仿真的復(fù)雜性,這也將是網(wǎng)絡(luò)仿真發(fā)展的方向。
參考文獻(xiàn)
[1]Bajaj, Sandeep,et. al. Virtual internetwork testbed: Status and research agenda[R]. 1998:98-678.
[2]S. McCanne and V. Jacobson. The bsd packet filter: A new architecture for user-level packet capture[C].USENIX Winter Conference, 1993:259-269.