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