劉行兵 范黎林



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