999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

WE6:實時高效Windows平臺IPv6網絡模擬器設計與實現

2008-12-31 00:00:00李學杰金志剛戴居豐
計算機應用研究 2008年8期

摘 要:IPv6網絡需要新的網絡協議和設備。在將新設備應用到實際環境前,需要大量的實驗對設備和協議進行驗證。網絡模擬器是進行這類實驗的有效工具。為此,設計了一種同時支持IPv6和IPv4協議的Windows平臺網絡模擬器:WE6(Windows-platform emulator IPv6)。可以實現對網絡帶寬、傳輸延遲、傳輸丟包率以及傳輸延遲抖動的控制和調節。在Cernet Ⅱ 上進行的實際使用表明,該網絡模擬器可以對IPv6業務進行精確的實驗環境控制,為協議和設備的開發與驗證提供可靠的條件。

關鍵詞:模擬器; IPv6; Windows平臺

中圖分類號:TP391.9 文獻標志碼:A 文章編號:1001-3695(2008)08-2502-03

Design and implementation of real-time and effective

network emulator of Windows for IPv6 (WE6)

LI Xue-jie, JIN Zhi-gang, DAI Ju-feng

(School of Electronics Engineering, Tianjin University, Tianjin 300072, China)

Abstract:With the development of Internet, new protocols and network equipments are required to develop. It is necessary to test the new protocols and network equipments extensively before deployment. This paper proposed the design and implementation of RENEW, a useable and accurate network emulator which supported both IPv4 and IPv6 protocols. Besides, it also worked on Windows platform. InIPv6 testbed,it used RENEW to emulate various network characteristics and conditions including bandwidth, delay packet loss and jitter. Compared with the expected values, results were acceptable. Through implementation and experimentation study, it shows that RENEW does provide the real-time control and change on the parameters of IPv6 network conditions effectively and expediently on Windows. It also gives enough accuracy and more satisfactory convenience to the development and test work for the new protocols.

Key words:emulator; IPv6; Windows platform

網絡模擬器可在實驗室為網絡研究人員提供可控、可再現的實驗環境,可加快網絡協議和設備的開發與應用進程。其優勢在于不像用軟件仿真(simulation)那樣還需要對網絡協議和服務再次在仿真軟件中實現[1]

目前,已經有研究和開發人員設計和開發了一些網絡模擬器。例如NISTNet 是美國國家標準局提出的運行于Linux平臺的模擬器軟件包 [2];Dummynet 是小型的、有一定靈活性的模擬器軟件[3],它基于FreeBSD操作系統。上述兩種模擬器的缺點是需要先對操作系統進行補丁操作[4]。ONE(Ohio network emulator) 是美國俄亥俄州立大學設計的運行在Sun公司的Solaris工作站環境下的模擬器軟件[5]。它工作時模仿路由器的工作,需要有兩個物理網卡。使用ONE模擬器時,需要運行ntpd和 inetd 等服務,并且用戶界面不夠友好,模擬器功能不夠全面。對于網絡模擬器的需求,也有企業進行了開發,提供了較成熟的產品。例如PacketStorm公司的產品Packetstorm 是一個功能強大的網絡模擬器 [6]。但是其價格非常高,而且主要針對大型的網絡環境。

另一方面,上述模擬器一般都是在IPv4環境下對協議進行模擬。但是隨著IP地址空間的日益緊張,下一代網絡將采用IPv6技術。如果不能及時提供支持IPv6功能的模擬器將影響到IPv6的推廣進程。

微軟公司的Windows 已經被市場廣泛認可,并且其易用性與界面的友好性比Linux類操作系統要高。考慮到Windows平臺上數量巨大的各種應用,實現其平臺上的模擬器對進一步減少網絡協議和新應用的重新編碼有巨大的作用。因此,本文提出了Windows平臺的同時支持IPv6和IPv4的實時、高效的網絡模擬器。該模擬器可對網絡中需要處理的數據包在傳輸過程中根據需要,修改其傳輸延遲、延遲抖動、控制傳輸帶寬、控制傳輸丟包率。

1 WE6總體設計

1.1 設計目標

WE6的首要目標是對IPv6的支持。當然為了適應各種IPv4和IPv6共存的環境,還需要支持IPv4。根據Windows平臺的特點,確定了下面的目標:

a)有效性與精確性。有效地對用戶設定的網絡環境進行模擬,并且足夠精確。這些仿真應該盡可能實時完成。

b)小干擾。當模擬器運行時,盡可能小地對Windows的正常任務的運行進行干擾。這樣的話,得到的模擬結果的可信性才比較高。

c)靈活性。要求網絡模擬器能夠實現盡量多的網絡環境模擬,并且適應不同的網絡硬件。

1.2 WE6系統結構

為了實現上述設計目標,經過對Windows的網絡協議棧的深入分析,WE6模擬器選擇了主要在數據鏈路層添加和修改Windows的代碼并且在網絡層進行少量的配合代碼的方式來實現。WE6的系統結構如圖1所示。選擇在數據鏈路層實現模擬器的主要原因是由于IPv6和IPv4的協議棧在網絡層實現上有較大的差異,但是在數據鏈路層實現基本相同。為了實現對IPv6和IPv4的支持,在網絡層使用了不同的代碼。這樣的分層結構使WE6網絡模擬器可以高效、準確地工作。

Windows操作系統提供了用戶和內核模式。WE6模擬器由兩個主要模塊組成,如圖2所示。a)用戶界面,工作于用戶模式。模擬器的用戶可以通過此界面控制需要調整的網絡參數來改變網絡環境。b)內核模塊,工作于內核模式。由于其嵌入到Windows的內核中,不會受到進程切換和Windows工作模式的影響。內核模塊提供了模擬器的主要模擬功能。它截獲收到的數據包,然后對其根據用戶的設置改變其傳輸的延遲、傳輸使用的帶寬和產生需要的丟包環境。

WE6的基本工作流程如下:每一個輸入的數據包都會被監測,包匹配模塊根據用戶設置的規則決定是否對數據包進行處理,以及進行哪種處理。為了區分不同的流,本文使用了業務表,將IP 地址(源和目的)、協議類型、端口號(源和目的)組合起來構成該表的條目。考慮到ICMP協議的特殊性,對ICMP與ICMPv6協議的業務流使用端口域存儲類型和代碼數據。為了進一步提高對數據包匹配和處理的實時性,WE6模擬器設計和實現了包分類器,通過此分類器對包進行實時匹配。

1.3 模擬功能實現策略

1.3.1 丟包控制

很多網絡協議和設備都需要驗證和測試在一定數據包丟失條件下的性能和可靠性。同時為了保證測試的可重復性,還希望此丟包場景是可準確再現的。丟包控制實現了此功能。當用戶設置的某個業務流期望的丟包率大于0時,模擬器根據期望的丟包率產生隨機數,并且根據用戶選擇的丟包策略,如drop tail、 隨機丟包等,丟棄特定的包。

1.3.2 傳輸延遲控制

延遲是影響網絡協議工作的另一個主要性能參數。在一般的網絡中,數據包的傳輸延遲由鏈路帶寬和業務流量等確定。但是用戶為了對協議進行測試,往往需要得到大延遲,或者延遲抖動情況下的行為。例如,網絡流媒體播放器需要實驗在大延遲,而且延遲抖動的環境下是否可以流暢工作。模擬器通過人工增加用戶可調節的延遲來實現用戶的需求。

具體實現的方法是,收到數據包后,將其按照需要在緩沖區中存放一定時間。其中的關鍵技術是實現高精度的內核定時器。在定時器的支持下,將需要延遲發送的數據包組成timer-list。按照其定時器的失效時間升序排列該鏈表中的項。此鏈表是動態維護的,隨時可能有新的項加入,也會有表項因為定時器超時被刪除。模擬器僅需要對表頭進行檢查,這使得其處理效率提高,實現實處理行。在具體實現時,僅使用了一個高精度定時器進行掃描,大大降低了對CPU和內存的消耗。為了保證高精度定時器的時間精度,將其單獨作為一個線程(主線程)。模擬器的其他功能模塊構成另外一個線程。當模擬器運行時,主線程負責對數據包的處理;定時器線程實現高精度的定時;定時器線程一旦掃描到超時的數據包就立刻將其傳遞給主線程進行相關處理。

1.3.3 傳輸延遲抖動(delay jitter)控制

數據包在網絡中傳輸時會有不同的傳輸延遲,不同的延遲形成了延遲抖動。延遲抖動對于網絡協議的性能、設置協議工作的正確性有很大的影響。WE6網絡模擬器提供了對延遲抖動的控制和模擬。為了實現對抖動的模擬和控制,使用了文獻[7]中的多結構延遲抖動模型。此模型采用了不相關采樣的概率分布函數來生成。其過程如圖3所示。

其中,拉普拉斯變換用來生成用戶指定的包傳輸延遲抖動的均值和標準差。為了與實際的抖動特性更加接近,進一步使用下面的公式變換。

F(X)=1/2 e|X-α|/β,X≤α(1)

F(X)=1-1/2 e|X-α|/β,X≤α(2)

α=mean,β=var/2

其中,高斯白噪聲用來得到大時間尺度的延遲。

2 模擬器實現關鍵技術

2.1 Windows 下的原型

為了實現對數據包的處理,模擬器需要控制所有穿越的數據。Windows操作系統的數據鏈路層功能是在網絡驅動程序中實現的。因此,WE6模擬器需要修改和擴展Windows的網絡驅動程序。將模擬器作為Windows XP (sp2)的設備驅動程序的擴展模塊。Windows XP平臺下的實現框架如圖4所示。

WE6模擬器采用了NDIS (network driver interface specification)規范,并使用WDM (Windows driver model) 編程模型。修改后的網絡驅動程序將不同的網卡看做不相互獨立的關系。數據包可以在用戶配置的控制下在卡間流動。通過NDIS技術,模擬器實現了對數據包的修改、延遲和丟包等操作。

當模擬器初始化時,主線程綁定到所有的網卡或設備句柄。一旦完成初始化,就啟動定時器線程。當有數據包到達時,主線程對其進行分類處理。另一方面,WE6模擬器雖然作為網絡驅動的模塊加入到Windows內核中,但是沒有修改原來驅動程序的功能模塊,保證了Windows的網絡功能不受影響。

2.2 高精度定時器實現

采用Windows提供的kernel dispatcher 對象來實現高精度定時器。在任意時刻,對象處于signaled 或 not-signaled 狀態之一。通過使用API函數KeWaitForSingleObject(), 可以阻塞某個線程,或者讓某個線程等待被signaled。在Windows操作系統的核心態,并且使用非分頁內存時,等待的時間單位是100 ns(即0.1 μs)。而直接使用Windows提供的默認定時器的定時精度是10 ms [8]。在Windows系統上對這類定時器的實際測量表明,當系統的負荷高時,定時器的精度很難保證。WE6模擬器使用kernel dispatcher對象方式實現的高精度定時器可以通過提高定時器線程的優先級來解決這些問題。

模擬器將kernel dispatcher 對象與截獲的數據包進行關聯,并且將對象的失效時刻也關聯上。這樣一來,僅需要對對象是否超時失效進行檢查,就可以實現精確的定時。

3 模擬器實驗驗證

3.1 實驗環境

為了驗證模擬器的功能,特別是其IPv6功能,在天津大學的IPv6網絡中進行了實驗。天津大學是Cernet的地區主節點,是Cernet Ⅱ純IPv6網絡的節點。實驗中,源節點和目的節點間通過WE6模擬器連接,使用的是100 Mbps的鏈路。模擬器軟件安裝在一臺Dell PC上 (Dimension3000),配置了兩個以太網卡,標記為D3000。目的節點是一臺Dell 筆記本電腦 (INSPIRON2200), 標記為 I2200。源節點是一臺ASUS 筆記本電腦 (U5 series),標記為 U5。邏輯連接如圖5所示。

3.2 模擬器實驗

為了測試對傳輸延遲的改變能力,對傳輸延遲實驗增加了延遲的范圍為0~100 ms。在源節點發送數據至目的節點。其中,設置延遲為50 ms時的屏幕截圖如圖6。可以看出模擬器的誤差非常小,其平均延遲誤差大約為3.8%。為了驗證模擬器的帶寬控制功能,使用了Iperf 工具來測量帶寬。實驗使用的是 The version of Iperf 1.7.0,支持IPv6。實驗中設置的帶寬測試范圍是0 Kbps~1 Mbps。圖7 給出了60 s的平均帶寬,平均誤差為6%。

測試數據包丟失率的控制同樣使用了Iperf工具。圖8給出了設置期望丟包率為10%情況下實際測量的截圖。實驗數據表明,丟包率的相對誤差不超過3.4%。

WE6網絡模擬器的另外一個重要功能是對傳輸延遲抖動的控制,實驗中采用Winpcap 4.0來進行截包和測量。將Winpcap得到的數據包的到達時刻進行處理,得到間隔時間,然后使用MATLAB繪制了延遲的變化圖。圖9中期望的延遲是50 ms,期望的延遲標準差為4 ms。

4 結束語

網絡模擬器對于協議的設計和驗證、網絡設備的應用與調試具有重要作用。功能全面、用戶友好的模擬器可加快上述過程,并提供一個用戶可控、場景可再現的網絡環境。本文設計了Windows平臺的IPv6網絡模擬器:WE6。在NDIS框架基礎上,設計和實現了通過對網絡驅動程序擴展來完成對數據包的處理的能力。通過使用Windows的特殊對象方式獲得了高精度的定時器,解決了數據包的定時問題。在此基礎上,針對模擬器的主要功能:傳輸延遲、帶寬控制、傳輸丟包率、延遲抖動等(圖9)進行了設計和實現。實驗表明其主要功能工作良好,實現了實時、高效的網絡模擬功能。大量實驗表明,該模擬器的精度較高,適合IPv6環境。

參考文獻:

[1]JIN Zhi-gang,WU Xiu-li,SHU Yan-tai. Designing and implementing of a wireless network emulator[C]//Proc of IEEE Canadian Confe-rence on Electrical and Computer Engineering.Ontario:IEEE Publication,2004:341-344.

[2]NIST Internetworking Technology Group.NIST net network emulation package[EB/OL]. http://snad.ncsl.nist.gov/itg/nistnet .

[3]RIZZO L.Dummynet:a simple approach to the evaluation of network protocols [J].ACM Computer Communication Review, 1997,27(1):31-41.

[4]KAYSSI A,El-HAJ-MAHMOUD A. EmuNET: a real-time network emulator[C]//Proc of ACM Symposium on Applied Computing.New York: ACM Publication,2004:357-362.

[5]ALLMAN M, CALDWELL A, OSTEMANN S. ONE:the Ohio network emulator,TechReport TR-19972[R].[S.l.]:Ohio University,1997.

[6]PacketStorm Communication Inc.White papers of PacketStorm[EB/OL].http://www.packetstorm.com .

[7]DANIEL E, CHRISTOPHER W, TEAGUE K.An inter-arrival delay jitter model using multi-structure network delay characteristics for packet networks[C]//Conference Record of the Asilomar Conference on Signals, Systems and Computers.Asilomar Ground: IEEE Publication,2003:1738-1742.

[8]DDK document[EB/OL]. http://msdn2. microsoft.com /en-us/library/aa973517.aspx.

注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文

主站蜘蛛池模板: 波多野结衣一二三| 亚洲成a人片77777在线播放| 国产福利小视频在线播放观看| 国产91色在线| 国产免费高清无需播放器| 天天躁夜夜躁狠狠躁图片| 2021亚洲精品不卡a| 视频二区国产精品职场同事| 黄色网站不卡无码| 在线精品自拍| 亚洲IV视频免费在线光看| 高潮毛片无遮挡高清视频播放| 女人18毛片一级毛片在线 | 国产一区二区三区日韩精品 | 天天爽免费视频| 日韩麻豆小视频| 国产欧美视频综合二区| www.亚洲国产| 91久久偷偷做嫩草影院电| 午夜精品久久久久久久无码软件 | 亚洲色图在线观看| 亚洲人在线| 四虎永久在线| 欧美成人a∨视频免费观看| 欧美日韩午夜视频在线观看| 国产精品女在线观看| 无码区日韩专区免费系列| 国产精品思思热在线| 天天摸夜夜操| 无码精品福利一区二区三区| 色综合五月| 久久久久久午夜精品| av一区二区无码在线| 真实国产乱子伦视频| 国产精品爽爽va在线无码观看 | 精品久久高清| 91小视频在线观看免费版高清| 亚洲精品成人片在线观看| 国产丝袜丝视频在线观看| 99热这里只有精品国产99| 国产女人18水真多毛片18精品| 日韩毛片免费| 色综合中文综合网| 九九免费观看全部免费视频| 国产精品自在自线免费观看| 99久久亚洲精品影院| 无码国产伊人| 久久精品这里只有国产中文精品| 国产91色| 99久久国产精品无码| 亚洲无线国产观看| 亚洲人成网站18禁动漫无码| 色综合中文字幕| 亚洲色婷婷一区二区| 思思99思思久久最新精品| 久久精品人人做人人| 国产精品浪潮Av| 国产va在线观看| 亚洲综合色吧| 国产欧美日韩另类精彩视频| 波多野结衣国产精品| 亚洲欧美一区二区三区蜜芽| 国产成人亚洲毛片| 亚洲无限乱码一二三四区| 无码又爽又刺激的高潮视频| 岛国精品一区免费视频在线观看 | 青青草原国产免费av观看| 国产精品久线在线观看| 97se亚洲综合在线天天| 国产亚洲视频播放9000| 久久久精品国产SM调教网站| 欧美综合区自拍亚洲综合天堂| 久久semm亚洲国产| 亚洲国产成人在线| 日韩AV手机在线观看蜜芽| 亚洲欧美另类久久久精品播放的| 国产成人狂喷潮在线观看2345| 色噜噜狠狠狠综合曰曰曰| 久久综合丝袜日本网| 高清乱码精品福利在线视频| 亚洲 欧美 中文 AⅤ在线视频| 成人福利在线观看|