無線網(wǎng)絡技術教程實驗手冊_第1頁
無線網(wǎng)絡技術教程實驗手冊_第2頁
無線網(wǎng)絡技術教程實驗手冊_第3頁
無線網(wǎng)絡技術教程實驗手冊_第4頁
無線網(wǎng)絡技術教程實驗手冊_第5頁
已閱讀5頁,還剩99頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、前 Ubuntu簡NS2簡 實驗步1234567.注意事仿真資無線局域1234567123456712234實驗步Linux下無線測量工具Linux下無線測量工具5671234實驗步開數(shù)據(jù)包處主程561234實驗結(jié).實驗步567123456712345.網(wǎng)絡的Iridium系統(tǒng)仿真實.36767 1234567. 1234路由頭路路由MAC層交NS2中集成新路567.注意事仿真資實驗十一無線自組織網(wǎng)的AODV 協(xié)議仿真實1234567實驗十二無線自組織網(wǎng)的DSR 協(xié)議仿真實123456.4實驗十三 無線自組織網(wǎng)的FSR 協(xié)議仿真實12FSR路由交FSR路由操34567.實驗十四無線自組織網(wǎng)的P

2、UMA 協(xié)議仿真實1234567仿真資實驗十五無線自組織網(wǎng)的AOMDV 協(xié)議仿真實1234567.實驗十六無線傳感網(wǎng)的定向擴散協(xié)議仿真實1234567.實驗十七無線傳感網(wǎng)的S-MAC 協(xié)議仿真實12345675實驗十八實驗十八無線個域網(wǎng)的IEEE802.15.4 協(xié)議仿真實1234567.實驗十九無線個域網(wǎng)的ZBR路由協(xié)議仿真實1234567.實驗二十無線車載網(wǎng)絡的IEEE802.11p 協(xié)議仿真實1234567實驗二十一無線車載網(wǎng)絡的VANET 仿真實1234567實驗二十二無線室內(nèi)定位仿真實1234567.注意事仿真資62345677的配套實驗內(nèi)容,的配套實驗內(nèi)容,提供了20 余項實驗,

3、; ;5. 的。以與進行交流, 或者有何問題和建議也可向/wireless/,作者的郵提出,。的是2014 4 81 1 2本 Ubuntu Cygwin Ubuntu Cygwin Linux 33.1Ubuntu簡Ubuntu(烏班圖)是基于Debian GNU/Linux,支持x86、amd64 ppc 架構(gòu),由專業(yè)開團隊6 個月,Ubuntu 新版本,利用代號和版本號(基于發(fā)布日期,如 4.10 表示 )進行區(qū)分,其/Ubuntu HYPERLINK http:/w/ 本 圖Ubuntu3.2 VirtualBox 簡9Qt 框架編Sun Oracle 收購后正式更Oracle VM

4、VirtualBox司Qt 框架編Sun Oracle 收購后正式更Oracle VM VirtualBox司的代碼??稍?VirtualBox 上安裝并執(zhí)行 Windows、DOS、Linux 等操作系統(tǒng)。VMwareVirtualPC比較,VirtualBox具備遠端桌面協(xié)議(RDP)、iSCSIUSB VirtualBox 在客戶端操作系統(tǒng)上已支持 USB 2.0 的硬件裝但其需安裝 選擇 VirtualBox 主要考慮:(1系統(tǒng)資源占用較少;(2)源碼開放本手冊實驗采用的 1.2 圖3.3NS2簡 TCPUDPnetWeb CBR VBR 本實 驗手 冊的 各種仿真實驗使 用 -2.3

5、5 源碼 包,第一版的實驗內(nèi)容, 即后面的實驗也提供為方便部分讀者使用, 同時保留-源 碼 包 搭 建 仿 真實 驗 環(huán) 境 ,為 :圖3.4Cygwin簡Cygwin 3.4Cygwin簡Cygwin LinuxWindows gnu Cygwin。 win32API 庫(就是cygwin.dll)win32 API 中沒Unix 風格的調(diào)用等)win32APIUnix系統(tǒng)庫的模擬代碼和這個共享庫連接到一起,就可使用 Unix 主機上的indows )Windows 關注后續(xù)實驗。NS2 仿真實驗環(huán)境主要分 3 種:(1) 基于 VirtualBox 虛擬機環(huán)境,直接使用本書提供的已搭建完成

6、的環(huán)境(4.2 節(jié)多(2基于(3)基于 Windows XP/ Windows 7 系統(tǒng)(建議采用 WinXP,若在 Win7 意管理員權限)和 本手冊的實驗環(huán)境(4.4節(jié)),搭建 Linux 模擬環(huán)境,然后基于 -2.34 源碼4.1 VirtualBox 虛擬機 圖 圖圖圖 圖圖 圖 制作成虛擬主機文件, 具體可到本對應的網(wǎng)盤中本書配套電子資源單擊1.10 左上角的新建按鈕,會出1.11 所示的界面,根據(jù)圖 1.11 紅色提示框的內(nèi)容圖圖圖4.3 源碼包搭建 圖圖圖圖圖圖 完成虛擬主機 Ubuntu10.04 系統(tǒng)。開始安裝 圖 圖設置好虛擬主機的 Ubuntu 10.04 至圖 1.28

7、,注意紅色方框中的設置。其中,圖 設置完之后需要等待約 30 分鐘(依據(jù) 圖 圖 NS2sUUbuntu10.04版本的WNT_Ubuntu.tar.gzexperiment.tar.gz 圖U盤切入虛擬電圖圖U盤切入虛擬電圖輸入“mkdir WNT”WNT文件夾,并用“cp WNT_Ubuntu.tar.gz 到輸入“cdWNT”,并用“tar -zxvf WNT_Ubuntu.tar.gz” (用戶設定 WNT 中,并輸入“cd WNT” ,利用命令“tar至此,NS2 Ubuntu 10.04 xren.rgzrm ern.rg需要注意鍵安裝過程需要虛擬電腦已聯(lián)網(wǎng),否則無法正常安裝。默認

8、情況下,只要宿主電腦聯(lián)網(wǎng),虛擬主機即聯(lián)網(wǎng)。安裝完成后,需要重新啟動終端,否則環(huán)境變量無法及時生效,造成”命令無法找到。4.4 基于WindowsXP/7CygwinNS2為便于不熟悉 Ubuntu 系統(tǒng)的讀者使用, 下面介紹在 Windows XP/7 系統(tǒng)中利用.htm?source=1) 變在本電子資源包的說明文中及時更新*/Cygwin 2.3-2.34(1Cygwin。將運行 Setup.exe(Windows XP 系統(tǒng)直接雙擊即可),如圖 1.31 所示。緊后以管1.321.37Cygwin圖,可完成安裝。注意,首次安裝完成后,在 圖1.37 大約需要等待 30 分鐘下可能會缺少一

9、個 ,需要運行生成(2)Cygwin 版本的ar.gz 和experiment.tar.gz 文到“/home/用戶(3)雙;圖 “tar -zxvf “tar -zxvf 段時間后(不同性能的計算機會有不同),即可完成 NS2 的安裝,環(huán)境變量可自動配置(也可;拷貝到WNT中,并輸入“cdWNT”進入 可用命令“rm experiment.tar.gz”刪除不必要的文件。 或“startxwin”命令,啟動 Xwindows 圖形界面。安裝完成后,需重新啟動 Cygwin,否則5。進6 。注意事。仿真資 nsNS2 使用說明手冊金光. . .12不12不參3.8.1 節(jié)的內(nèi)容A C 同時想發(fā)

10、送數(shù)據(jù)給中BA C 都在彼此傳輸范圍內(nèi)。所以當 A 發(fā)送數(shù)據(jù)給 B 前網(wǎng)絡中無數(shù)據(jù)傳輸,會將數(shù)據(jù)傳輸給 B。即 A 并未檢測到 A 正在傳輸數(shù)據(jù),會認C 同時將數(shù)據(jù)傳輸給 B,使得數(shù)據(jù)在 3.8.1節(jié)介紹的請求發(fā)送(Requestto和清除發(fā)送(Clear to Send,CTS) 3.8.13隱藏節(jié)點的實驗分析采用了實驗一搭建的實,NS2 的版本為 2.35。的 即安裝這些模塊。本手冊的實驗一已提供了實搭建模塊,如果完成實驗一,4實驗代碼分碼如下,可在電子資源的 exp2 中找到對應的代碼文件(Hidden_Terminal.tcl)。Mac/802_11setRTSThreshold_ A

11、ntenna/OmniAntenna set X_ Antenna/OmniAntenna set Y_ Antenna/OmniAntenna set Z_ Antenna/OmniAntenna set Gt_ Antenna/OmniAntenna set Gr_ Phy/WirelessPhysetCPThresh_ Phy/WirelessPhysetCSThresh_ Phy/WirelessPhyset8.91754e-2.81838e-Phy/WirelessPhy set Pt_ Phy/WirelessPhy set freq_ Phy/WirelessPhy set L_

12、setval(prop) setval(netif) setval(mac) set val(ifq) set val(ll) set val(ant)set val(rp)setns newsetfopenHidden_Terminal.tr$nstrace-all$nseventtrace-setnfopenHidden_Terminalnam$nsnamtrace-all-wireless$nf500set topo new $topoload_flatgrid500create-godsetchannew$nsnode-config -adhocRouting$val(rp)-llTy

13、pe $val(ll) -macType $val(mac) -ifqType $val(ifq) -propType$val(prop)-phyType$val(netif)-channel$chan -macTraceON-movementTraceforseti 0$i 3incriset node_($i) $ns $node_($i)random-motion $node_(0)setX_$node_(0)setY_$node_(0)setZ_$node_(1)setX_$node_(1)setY_$node_(1)setZ_$node_(2)setX_$node_(2)setY_$

14、node_(2)setZ_#setudpnew$udpset_filename$nsattach-agent$node_(0)setnullnew$nullset_filename$nsattach-agent$node_(1)$nsconnect$udpsetcbrnew$cbrattach-agent$cbrsettype_$cbrsetpacket_size_$cbrset rate_$cbrsetrandom_$nsat1.5$cbr$nsat15.0$cbrsetudp2new$udp2set_filename$nsattach-agent$node_(2)setnull2new$n

15、ull2set_filename$nsattach-agent$node_(1)$nsconnect$udp2setcbr2new $cbr2attach-agent$cbr2settype_$cbr2setpacket_size_$cbr2setrate_$cbr2setrandom_$nsat 2.0$cbr2$nsat15.0$cbr2forseti 0$i 3incri$ns$node_($i)$nsat20.0$node_($i) procfinishglobalnsfnf $nsflush-closecloseexecnamHidden_Terminalnamexit$nsat 2

16、0.0$nsat20.1putsNSEXITING.;$ns$ns4.1.2設置,僅對必要的參數(shù)進行修改,若未給出則意味采用 NS2 中的默認值;1422行,對仿真中需要用到的變量進行設置,該部分代碼僅為便于修改代碼(多處 4.2 實驗步驟和 中“”Windows 系統(tǒng)的用戶名在不同子文件夾中,文件夾命名規(guī)則為:“實驗 x” 圖仿 令“startxwin.bat”),輸入WNT/experiment/exp2”命令進入 圖 NAM 圖仿真程序運行說明:仿真開始時(01s),節(jié)點之間相互廣播路由(DSDV)信息,建1.5s010需要知 (.tr)進行分析,并繪制圖形trace 5 NS2 中演示

17、仿真動畫采用 671212S1的數(shù)據(jù)發(fā)送。而事實上,S2R2的,因R2S1 關33.8.2,NS2 2.35安裝這些模塊。本手冊的實驗一已提供搭建模塊,如果完成實驗一,本4 本實驗為實驗三,實的對應子文件夾為“exp3”,如圖 3.1 所示圖仿打開終端(Ubuntu 為命令“Ctrl+Alt+T”,Cygwin “startxwin.bat”),輸入WNT/experiment/exp3”命令進入本。輸入“ns 圖圖 圖1.5s101需要 (23)15s時,兩條流的傳輸同時結(jié)束,此后(.tr)進行分析,并繪制圖形trace 5機制則較好的緩解隱藏節(jié)點造成NS2 中演示仿真動畫采用 671 WL

18、AN 無線測量工具可分為 3 類:(1有線測量工具改進或衍生,如Wireshark 和2 , 表Linux 。1 WLAN 無線測量工具可分為 3 類:(1有線測量工具改進或衍生,如Wireshark 和2 , 表Linux 。Linux 前身是 3.5.2Kismet 工輸入方法/格輸出格包捕Linux 無線字符界圖形界文數(shù)據(jù) ows(受限用Java 編寫 多用Perl 編寫3 Windows 下無線測量 圖4.2圖圖 Next,然I Agree,如圖 4.3 所示。這里可選擇雙的安裝文件,點點擊 Next,選擇是否創(chuàng)和關聯(lián)文件;點擊 Next,選擇安裝位置;點擊 Next,擇是否安裝 ap

19、,如圖所示。由于 ap 捕獲包的基礎,因此如ap圖ap圖ap 主 toolbar(Capture Help(Files/Online提供一些有用圖 (1包列表(Packet List)3, 圖Wireshark Capture 圖 據(jù)包,這是由于無線網(wǎng)卡驅(qū)動不支持混雜模式(promiscuous mode)造成,可在 Options4.10圖圖XP下的錯圖內(nèi)核的系統(tǒng)(即 XP 以上程序需以管理(2針對Windows 運行,否則會ap(3)針對 Windows NT6.X 內(nèi)核的系統(tǒng)(即 XP 以上,微軟公司在驅(qū)動中做了一些修改,圖 圖圖圖圖T:在本機和服務器之間建立可靠的網(wǎng)絡連接,為數(shù)據(jù)傳輸做

20、好準備,包括標準的.4。 3圖Linux 下無線測量工具 的Ubuntu12.04 (2) 打開終端,輸入 sudo apt-get install wireshark 命令,系統(tǒng)自動源圖(1)Windows MAC802.11 (1aircrack-ng 中的airmon-(1)Windows MAC802.11 (1aircrack-ng 中的airmon-來開啟和關模式,這是最簡單的方法 sudo airmon-ng start wlan0 模式從mon0中啟動(2Ubuntu 中的iw 命令(在常見的 版中均可使用,相對第法 新的 monN 設備本來沒有 monN 設備則選擇 0 ,即

21、使用 mon0 iw erfaceaddmonnumtype monitor ifconfigmonnumupmonnum接口上捕獲數(shù)據(jù)。 中mon04.16圖wlan04.17圖fconfigmon0upmon04.17 Libpcap 提示警告:以root 運行可能會Wireshark 需要 root Libpcap 提示警告:以root 運行可能會Wireshark 需要 root 用戶運行,而 Wireshark 本身并不需要,使用 root 用戶運行可能會造成其。本實驗暫不考慮,直接使用 root 用戶運行 ,具體信 息可參見 文件E.DebianPobe(equest/espons

22、e探測幀(請求和響應獲到了,如圖 4.18: 圖Authentication:認證步連接做準備,如圖 4.19。tion(equestesponse:連接幀(請求和響應 AP 4.19 BSS 至另一個 BSS 時,并與新 BSS 連接時,站點會使用重連而非普通連接reqest/espnse圖 Linux 下無線測量工具 KismetUbuntu deb 載完成后可直接雙擊通過 中心安裝,安裝完成可以在終端中使用命令 kismet 基于字符界面,有少量圖形,如圖 4.20。打后,選擇默認的是 設置為 mon0,輸入第二個 name,然后 add,如圖 4.21。f4.22 Kismet4kis

23、metsort:里面有各的一的排序規(guī)則,默認自動排序。windows下面可看到探,以及捕獲包的數(shù)量和速度,最下面是控制臺信息。 nts 可以圖AP信圖56本實驗主要對WireShark 和 Kismet 進行分析,7去12版12版本4.12:。3VS2008 。VisualC6.0VC6.0題,如需使用 VC6.0 開發(fā),可使用 3.X 版本的 ap 開發(fā)包。地址為:開 ,如“D:WpdPack”,可看到里面包含 Lib,Include,文檔和示例程序,如圖 5.1 圖apincludeVS2008:選擇工具-選項-項目和解決方案,在顯示以下內(nèi)容圖VS2008添加, 5.3圖VC6添加ap圖V

24、S2008添加VC6:在上一個步驟的基礎上,選擇“Library files”,然后添ap 開發(fā)包中 圖VS2008:項目-項目屬性-配置屬性-C/C+-預處理器, 在預處理定義中添WPCAP 和 HAVE_REMOTE,如圖 5.6 所示圖 和 HAVE_REMOTE,如圖 5.7 圖VC6添加預處理器定 VS2008:VS2008:項目-項目屬性-配置屬性wpcap.lib,如圖 5.8 器-命令行,在附加選項中加入圖VS2008添加wpcap.lib庫文5.9 VS2008wpcap.libapAPI的源文件中添加#includepcap.h”文件夾中的 UDPdumples-程序界面

25、圖 At Root”均為“True”。包字節(jié):采用“Edit Control”,設置“Multiline”、“Readonly”、“Auto Vscroll”、“Horizon Scroll”、“Vertical Scroll”均為“True”。協(xié)議頭部結(jié)包字節(jié):采用“Edit Control”,設置“Multiline”、“Readonly”、“Auto Vscroll”、“Horizon Scroll”、“Vertical Scroll”均為“True”。協(xié)議頭部結(jié)構(gòu)Protocol_Define.h,編寫各類協(xié)議頭部結(jié)構(gòu)u_chardest6; u_char src6; u_short

26、type;幀的/6 數(shù)據(jù)包以太網(wǎng)協(xié)IP圖 yze_frame(constu_char*pkt,structdatapkt*data,structstructethhdr*ethh=(structdata-ethh=(structethhdr*)malloc(sizeof(structethhdr); if(NULL = data-ethh)return -1; data-ethh-srci = ethh-srci; = type)case 協(xié)UDPTCPICMPUDPTCPIPv6ARPcasecasereturn-1; return -1;return打開程獲取網(wǎng)絡casecaseretur

27、n-1; return -1;return打開程獲取網(wǎng)絡接 更新包字節(jié)列新建線結(jié)束程器(nNMCustodrawList1,更新包細節(jié)列 設置過濾編譯過濾處理數(shù)據(jù)獲取設捕獲數(shù)據(jù)圖5圖6 112接。s Controller:接入控制器WLAN 間充當網(wǎng)關,AC 同AP間的數(shù)據(jù)匯聚,并33本實驗采用多臺具有無線網(wǎng)卡的終端設備(智、PAD、筆記本電腦)以及一 AP無線局域網(wǎng)WLAN 組網(wǎng)模式和信道配置如圖 6.1 所示無線路由器為 MEDIALINK,詳細步驟如下:參照路由器使瀏覽器輸入 http: / 進入無線路由器的 LAN 端口點擊“Wireless Settings進行基本配置,開啟無線功能

28、,選擇“Enable Wireless 配置網(wǎng)絡模式為 11g Mode(主流支持模式)或者混合模式(5) 設置該無線網(wǎng)絡標示Broadcast)為 wirelessLAN 并開啟廣播功能(對外可見)(6)選擇信道(該網(wǎng)絡所在頻段)為 channel 8(2447MHz),該設置根據(jù)所在網(wǎng)絡環(huán)境選擇(7)開啟無線設置信道帶寬(channel bandwidth)啟用已設置完畢的路由無線功能,點擊“apply”圖態(tài)地址分配(DHCP)進行配置,如圖 6.2 所示,具體步驟如下: (2)設置 IP 地址池(IP Pool)的地址段,如 0000; (3)圖DHCP設 (1) 點擊Security”

29、無(2) 選擇“wirlesslink”(3選PS(WiFi 設置 WPS(簡化 WiFi 無線安全設置與網(wǎng)絡管理)功能為關閉;點擊“apply”生效圖點擊“apply”圖此外,也可在“Security Settings”選項卡下設置nt Filter”子選項卡的過濾規(guī)則,如設置“Filter Mode”,可選擇“Disable”、“Forbidonly”和“Permit only”3種,不同無線路(2)5051; (3)165535范圍內(nèi); (4)設置規(guī)則適用的協(xié)議類型,如 TCP、UDP 等;選擇“Enable”后的選擇框,使該規(guī)則生效,點擊“apply”圖無線網(wǎng)絡物理層接收信號強度(RS

30、SI)AP和客戶機之間的RSSI 受多WLANAPRSSI654738291圖 到圖 6.7 和圖 6.8 所示的結(jié)果。從結(jié)果可看出,相同 AP 隨著測量時間的變圖圖位置變化測量:實驗測量了位置變化情況下,AP 6.9、6.10 WLAN 3 、 、噪和 Cise-Wlan2)的傳輸性能。由于 WLAN 傳輸受多方影響CMCCAP 5 1成功,APDHCP圖的內(nèi)容, 請關注:有關測量/ 。具體可:6 在滿足用戶需求的情形下,盡可能降低無線路由器的信號覆(3) 為進一步保證無線路由器的安全,可設為隱藏,只有才能接入(4) 在空閑時段,建議關閉無線路由器,以降低對其他網(wǎng)絡設備通信的影響。11 2

31、4.83 NS2 圖仿打開終端(Ubuntu為命令“Ctrl+Alt+T”,Cygwin“startxwin.bat”),輸入WNT/experiment/exp7”命令進入本。圖 7.3 01、2、3、4、5發(fā)送不同類型(UGS、ertPS、 10s(.tr)進行分析,并繪制圖形trace 5(1) WiMax 在傳輸過程中存在哪些特?(2) 無線城域網(wǎng)技術和其它同類技術相比有 671253 、UDP1253 、UDPtrace文件(NS2運行仿真時產(chǎn)生的數(shù)據(jù)文5.74網(wǎng)絡為 3 維結(jié)構(gòu),在 NAM 動畫中難以演示,因此利用分析數(shù)據(jù)予以呈現(xiàn)。下面將 本實驗為實驗八,子文件夾為“exp8”,如

32、圖 8.1 所示圖仿 “startxwin.bat”),輸入WNT/experiment/exp8”命令進入本。輸 圖分析trace文件(awk(3) 文件放置在相下或正確指明文件路徑8.3 所示至,可采用命令:awk -f delay.awk sat-Iridium.tr delay.txt 進行分析,其中 if (packet_id highest_packet_id) if (start_timepacket_id=0) =0&action!=d)if(actio f(%f 至(4) trace 實驗采用 gnuplot,有關 gunplot 知識,讀者可參見,此處不再贅述。具 至5 5

33、 5.767網(wǎng)絡 trace 文件解+421.0000288169cbr 288.0 289.0 7 7 39.54 116.28 44.57 108.48-421.0000288169cbr 288.0 289.0 7 7 39.54 116.28 44.57 108.48r421.0068288169cbr 288.0 289.0 7 7 39.54 116.28 44.57 108.48+421.0068169193cbr 288.0 289.0 7 7 44.57 108.48 37.12 122.27-421.0068169193cbr 288.0 289.0 7 7 44.57 1

34、08.48 37.12 122.27r421.0125169193cbr 288.0 289.0 7 7 44.57 108.48 37.12 122.27+421.0125193289cbr 288.0 289.0 7 7 37.12 122.27 31.12 121.26-421.0125193289cbr 288.0 289.0 7 7 37.12 122.27 31.12 121.26r421.0189193289cbr 288.0 289.0 7 7 37.12 122.27 31.12 121.26+481.0000288169cbr 288.0 289.0 8 8 39.54 1

35、16.28 47.72 108.85-481.0000288169cbr 288.0 289.0 8 8 39.54 116.28 47.72 108.85r481.0073288169cbr 288.0 289.0 8 8 39.54 116.28 47.72 108.85+481.0073169193cbr 288.0 289.0 8 8 47.72 108.85 40.28 122.50-481.0073169193cbr 288.0 289.0 8 8 47.72 108.85 40.28 122.50r481.0128169193cbr 288.0 289.0 8 8 47.72 1

36、08.85 40.28 122.50+481.0128193289cbr 288.0 289.0 8 8 40.28 122.50 31.12 121.26-481.0128193289cbr 288.0 289.0 8 8 40.28 122.50 31.12 121.26Trace 文件每共 16 列,每列之間用空格隔開,各列的解釋如下1列:事件(r: Receive接收;d:Drop丟棄;e: Error錯誤;+: Enqueue入隊;-: Dequeue出隊); Awk 到、exp81253 UDPtrace文件(NS2運行仿真時產(chǎn)生的數(shù)據(jù)1253 UDPtrace文件(NS2運行仿真

37、時產(chǎn)生的數(shù)據(jù)5.7本實驗分網(wǎng)絡為 3 維結(jié)構(gòu),在 NAM 動畫中難以演示,因此利用分 本實驗為實驗九,子文件夾為“exp9”,如圖 9.1 所示圖仿 “startxwin.bat”),輸入WNT/experiment/exp9”命令進入本。輸“ns 圖分析trace文件(awk(4) 到的edesic 和 trace 文件放置在相下或正確指明文件路徑。圖9.3 所示至延,可采用命令:awk-fdelay.awk 中delay.awk 9.3 所示saedesic.tr 為trace 文件,表示重定向輸出dela.tx if (packet_id highest_packet_id) if (s

38、tart_timepacket_id=0) =0&action!=d)if(actio f(%f 至(5) trace 實驗采用 gnuplot,有關 gunplot 知識,可參見其,此處不再贅述。步驟到至5 5.75 5.767網(wǎng)絡trace 文件解+421.0000288169cbr 288.0 289.0 7 7 39.54 116.28 44.57 108.48-421.0000288169cbr 288.0 289.0 7 7 39.54 116.28 44.57 108.48r421.0068288169cbr 288.0 289.0 7 7 39.54 116.28 44.57

39、108.48+421.0068169193cbr 288.0 289.0 7 7 44.57 108.48 37.12 122.27-421.0068169193cbr 288.0 289.0 7 7 44.57 108.48 37.12 122.27r421.0125169193cbr 288.0 289.0 7 7 44.57 108.48 37.12 122.27+421.0125193289cbr 288.0 289.0 7 7 37.12 122.27 31.12 121.26-421.0125193289cbr 288.0 289.0 7 7 37.12 122.27 31.12

40、121.26r421.0189193289cbr 288.0 289.0 7 7 37.12 122.27 31.12 121.26+481.0000288169cbr 288.0 289.0 8 8 39.54 116.28 47.72 108.85-481.0000288169cbr 288.0 289.0 8 8 39.54 116.28 47.72 108.85r481.0073288169cbr 288.0 289.0 8 8 39.54 116.28 47.72 108.85+481.0073169193cbr 288.0 289.0 8 8 47.72 108.85 40.28

41、122.50-481.0073169193cbr 288.0 289.0 8 8 47.72 108.85 40.28 122.50r481.0128169193cbr 288.0 289.0 8 8 47.72 108.85 40.28 122.50+481.0128193289cbr 288.0 289.0 8 8 40.28 122.50 31.12 121.26-481.0128193289cbr 288.0 289.0 8 8 40.28 122.50 31.12 121.26Trace 文件每共 16 列,每列之間用空格隔開,各列的解釋如下1列:事件(r: Receive接收;d:

42、Drop丟棄;e: Error錯誤;+: Enqueue入隊;-: Dequeue出隊); 7.2 Awk 到、exp9NS21NS21無線網(wǎng)絡發(fā)展初期,基本的路由算法被用于控制和路由網(wǎng)絡流,如動態(tài)源路由(DSR)2 . 3,所4 protoname.h: protoname.cc: protoname pkt.h: protoname rtable.h: Protoname rtable.cc: 路由頭 12-16 行定義 頭部的函數(shù)和頭部在數(shù)據(jù)包中的偏移變量(offset_)。具體1:#ifndef 2:#define protoname_pkt_h 3: #include 4: #def

43、ine HDR_PROTONAME_PKT(p) hdr_protoname_pkt:ac5: struct hdr_protoname_pkt 12-16 行定義 頭部的函數(shù)和頭部在數(shù)據(jù)包中的偏移變量(offset_)。具體1:#ifndef 2:#define protoname_pkt_h 3: #include 4: #define HDR_PROTONAME_PKT(p) hdr_protoname_pkt:ac5: struct hdr_protoname_pkt 17: nsaddr_tpkt_src_;/Nodewhichoriginatedthispacket u_ 16_t

44、 pkt_len_; / Packet length (in bytes)u_ 8_tpkt_seq_num_;/Packetsequencenumber inline nsaddr_t& pkt_src() return pkt_src_; inline u_ 16_t& pkt_len() return pkt_len_; inlineu_ 8_t&pkt_seq_num()returnpkt_seq_num_; s icinlines &offset()returnoffset_;inlines ichdr_protoname_pkt*s(constPacket*return(hdr_p

45、rotoname_pkt*)p-18:圖10.1 1:#includeprotoname_pkt3:s icclassProtonameHeaderClass:public 4: ProtonameHeaderClass(): 8: 圖路所有的路由發(fā)起, 協(xié)議包和數(shù)據(jù)包轉(zhuǎn)發(fā)都在該模塊中實現(xiàn),具體定義代碼見文件 d 功能,該部分代碼在 protoname.cc 文件中,本實驗不再給出,讀者可參考電子資源中“exp10”1:#ifndef 2: #define 3: #include protoname_pkt h 1:#ifndef 2: #define 3: #include protonam

46、e_pkt h 5: #include 7: #include 8:#includetimer-9: #include 11:#include 12:#include arp.h 13:#include ll h 14:#include mac h 15:#include ip h 16:#includedelay h 18:#defineJITTER(Random:uniform()*0.5) 19: class Protoname; 21: 23:agent_=agent; 24: 25: virtualvoidexpire(Event*e); 28 ;29:classProtoname:

47、publicAgentnsaddr_t ra_addr_; protoname_rtablertable_;u_ 8_t 35: MobileNode*node_; Trace*inlinensaddr_t&ra_addr()returnra_addr_&acsible_var () return acvoid forward_data (Packet*); voidsend_protoname_pkt 46: 51: d( ,constchar*const*); void recv (Packet*, Handler*); 52:圖路protoname.cc 1:s icclassProto

48、nameClass:public 1:s icclassProtonameClass:public 2: TclObject*argc,constchar*const*argv)assert(argc=return(newProtoname(nsaddr_t)Address: instance ().str2addr (argv 4);7: 8: 圖路圖 10.5 所示為路由表的定義代碼,具體見 protoname_rtable.h 1:#ifndef 2:#define protoname_rtable_h 3: #include 4:#include5:typedefstd: 6:clas

49、sprotoname_rtable16: void voidclearvoidrm_entryvoidadd_entry(nsaddr_t,nsaddr_t); nsaddr_t lookup (nsaddr_t);u_ 32_t size17:圖MAC層交 較容易實現(xiàn)。在具體實現(xiàn)中,可通過回調(diào)在layer-2 調(diào)layer-3(網(wǎng)絡層)layer-3layer-2 針依賴數(shù)據(jù)包向下傳遞。圖10.6 所示為layer-3 layer-2 交互的過程,具體見向的函數(shù);第 10-11 行通過修改數(shù)據(jù)包的特定域,以達到向下傳遞回調(diào)指針的目的。1:s1:s icvoidprotoname_mac_fa

50、iled_callback(Packet*p,void*arg) 3: (Protoname*) arg)-mac_failed 4:voidProtoname:mac_failed(Packet*p)9: struct hdr_ip* ih = HDR_IP (p); structhdr_cmn*ch=HDR_CMN(p);drop(p,/*.dosomething.Modifysend_protoname_pkt()orforward_data() 10: ch-xmit_failure_ = protoname_mac_failed_callback; 11: ch-xmit_failu

51、re_data_ = (void*) this;圖MAC層交互擴NS2 中集成新數(shù)據(jù)包頭部類型的定義主要通過修改數(shù)據(jù)包定義文件完成,具體見 Trace中)traceAODV路由協(xié)議和1中tcl/lib/ns-packet.tcl 容,具體詳見文獻1tcl/lib/ns-default.tcl 路由協(xié)議的 協(xié)議,必須修改 tcl/lib/ns-lib.tcl 中的內(nèi)容,具體參考文獻1中的內(nèi)容。PriQueuePriQueue 仿真接口隊列,而在該模塊實現(xiàn)中賦予了協(xié)PriQueue 模塊進行修改,具體見文獻1。MakefileMakefile 文件,具體內(nèi)容見文獻1,讀者需根據(jù)自身實現(xiàn)的協(xié)議進行添

52、加。編譯之前,如果僅修改了 common/packet.h touch common/packet.cc 文件,否則可能在編譯5 計6注意事仿真資1 Francisco J. Ros, Pedro M. Ruiz. Implementing et Unicast Routing Protocol .Dec.11 2事 6.3 3 ,NS22.35 本實驗為實驗十一,對應子文件夾為“exp11”,如圖 11.1 所示圖仿 “startxwin.bat”),輸入WNT/experiment/exp11”命令進入本圖 圖 (.tr)進行分析,并繪制圖形trace 5 67仿112DSR DSR6.3

53、3 6.7 82本實驗為實驗十二,對應子文件夾為“exp12”,如圖 12.1 所示圖仿 “startxwin.bat”),輸入WNT/experiment/exp12”命令進入本圖 圖仿真程序運行說明:仿真開始時(0s),節(jié)點間未交換路由信息,路由表尚未建立(DSR8RREQ/RREP20.25s4開始向節(jié)點 trace (.tr)進行分析,并繪制圖形567仿實驗十三 無線自組織網(wǎng)的 1 2123311圖FSR(Fisheye Se Routing)是一個先驗式(表驅(qū)動)的路由協(xié)議。其使用魚眼技術,在FSR 的信息,F(xiàn)SR 2.1FSR路由交 2.1FSR路由交 13.2 圖 FSR 的FS

54、R 路由操如 2.1 節(jié)所述,F(xiàn)SR 對節(jié)點拓撲數(shù)據(jù)表的離節(jié)點的距離(圖 13.1 中的“HOP”字段 2.2.2(1如的信息。標志“NeedToSend”(2) 否則2.2.2(1如的信息。標志“NeedToSend”(2) 否則,。標志“NeedToSend”為真(3) 對不滿足上述兩點的目標來說,如果接受信息的序號比將在下一個更新周期內(nèi)被送出。標志“Need 2.2.3MANET 2.2.4表,F(xiàn)SRDijstra算法做了一定修改,并依據(jù)修改后的算法進行最短路徑計算。有關 FSR 路由協(xié)議的內(nèi)容詳見:3 NS2 讀者可根據(jù)該步驟運行和分析本實驗。注意,UbuntuCygwin中的實驗過程

55、基本相同,不圖仿打開終端(Ubuntu為命令“Ctrl+Alt+T”,Cygwin“startxwin.bat”),輸入WNT/experiment/exp13”命令進入本。圖 圖仿真程序運行說明:仿真開始時(01s)(距離受限1s 7 13 TCP/TP 數(shù)據(jù)傳輸。TP30s0 9 UDP/CBR 40s 4 1 UDP/CBR 0s時,3 (.tr)進行分析,并繪制圖形trace 5 據(jù)(FSR.tr)NS2 NAM,它將網(wǎng)絡仿真過程中拓撲結(jié)構(gòu)、 圖 圖仿真持續(xù)74.5s時節(jié)點0和節(jié)點4分別向節(jié)點3和節(jié)點6傳輸數(shù)據(jù) FSRtrace的 FSR 有關(1) FSR 路由協(xié)議具有怎樣的特點(2

56、) FSR 路由協(xié)議存在哪 67仿11 2主要對 中采用通告機制多播/組播路由協(xié)議進行仿真分析,即 PUMA,它為 PUMAIP 多播/組播服務模型,允許任何源節(jié)點發(fā)送多播/組播數(shù)據(jù)包給特定多播/發(fā)送數(shù)據(jù)到該多播/組播組。與 和 MAODV 類似,PUMA 采用接收者驅(qū)動的方法,接收者使用特定節(jié)點地址加入多播/ PUMA 實現(xiàn)了一個分布式算法。通知至少一個下一跳網(wǎng)絡中每個路由節(jié)點選擇每個。PUMA 中ayan3 NS2圖仿打開終端(Ubuntu為命令“Ctrl+Alt+T”,Cygwin“startxwin.bat”),輸入WNT/experiment/exp14”命令進入本。 圖NAM 14

57、.4 2開始向組播組中發(fā)送數(shù)據(jù);2.6s3開始向組播組發(fā)送數(shù)據(jù);2.8s時,節(jié)(.tr)進行分析,并繪制圖形trace 5仿真開始時,所有節(jié)點加入地址為 0 xE000000 的多播/組播組,如圖 14.5 所示。圖網(wǎng) 圖2.8s時節(jié)點4開始多播/組6仿真資1R.ayan,J.J.-a-Aceves.EfficientandRobustMulticastAd Hoc Networks. Proceedings of Systems,Oct.ernational Conference on Mobile Ad-hoc and 12交的路徑來實現(xiàn)多路徑協(xié)議。在分析 AOMDV 協(xié)議前,讀者需要對

58、AODV 路由協(xié)議有一定 了解,有關 AODV 協(xié)議的相關內(nèi)容詳見6.3 節(jié)。AOMDV 主要有2 部分與AODV 不同:(1) 路由發(fā)現(xiàn):AOMDV 路由發(fā)現(xiàn)階段與 AODV 類似,為確保路徑無環(huán),仍使用目標點的最大跳數(shù)、鏈表及一個路由列表。每次路由更新都要對新目標序2EEQ 1 1(2路AOMDV 。3NS2 15.2 3 列數(shù)據(jù)對應的為節(jié)點目標位置(x,y)15.1 圖仿打開終端(Ubuntu為命令“Ctrl+Alt+T”,Cygwin“startxwin.bat”),輸入WNT/experiment/exp15”命令進入本。 圖NAM 15.5 仿真程序運行說明:仿真開始時,節(jié)點開始運

59、行,此時在節(jié)點間并未建立路由。從 1s trace (.tr)進行分析,并繪制圖形515.6 16的AOMDV (1) AOMDV 路由,(2) AOMDV 路有協(xié)議存在哪6AOMDV 712 12 3NS24圖仿打開終端(Ubuntu為命令“Ctrl+Alt+T”,Cygwin“startxwin.bat”),輸入WNT/experiment/exp16”命令進入本。 圖 圖仿真程序運行說明:仿真開始時,節(jié)點之間未交換路由信息,此時無數(shù)據(jù)傳輸。在 時,節(jié)2 9 發(fā)送者進行 publish 操作,并通過 DD 協(xié)議進擴散。在1.15s 時接收者進行subscribe 操作;2.30s 時,節(jié)8

60、 接收者進行 subscribe 作;3.45s7 subscribe100strace (.tr)進行分析,并繪制圖形5 67仿11Sensor MAC(S-MAC)是一種基于競爭的 MAC 層協(xié)議,主要適于節(jié)點空閑時間較長、可27.3.43 4圖仿打開終端(Ubuntu為命令“Ctrl+Alt+T”,Cygwin“startxwin.bat”),輸入WNT/experiment/exp17”命令進入本。圖 圖較高負載的節(jié)點會出現(xiàn)顏色變化(21s0、6、2、3、12、5開始變黃)。仿真時 trace (.tr)進行分析,并繪制圖形5 6 7仿1 1 2 8.33IEEE 802.15.4的8

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論