无线网络技术教程实验手册_第1页
无线网络技术教程实验手册_第2页
无线网络技术教程实验手册_第3页
无线网络技术教程实验手册_第4页
无线网络技术教程实验手册_第5页
已阅读5页,还剩99页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、前 Ubuntu简NS2简 实验步1234567.注意事仿真资无线局域1234567123456712234实验步Linux下无线测量工具Linux下无线测量工具5671234实验步开数据包处主程561234实验结.实验步567123456712345.网络的Iridium系统仿真实.36767 1234567. 1234路由头路路由MAC层交NS2中集成新路567.注意事仿真资实验十一无线自组织网的AODV 协议仿真实1234567实验十二无线自组织网的DSR 协议仿真实123456.4实验十三 无线自组织网的FSR 协议仿真实12FSR路由交FSR路由操34567.实验十四无线自组织网的P

2、UMA 协议仿真实1234567仿真资实验十五无线自组织网的AOMDV 协议仿真实1234567.实验十六无线传感网的定向扩散协议仿真实1234567.实验十七无线传感网的S-MAC 协议仿真实12345675实验十八实验十八无线个域网的IEEE802.15.4 协议仿真实1234567.实验十九无线个域网的ZBR路由协议仿真实1234567.实验二十无线车载网络的IEEE802.11p 协议仿真实1234567实验二十一无线车载网络的VANET 仿真实1234567实验二十二无线室内定位仿真实1234567.注意事仿真资62345677的配套实验内容,的配套实验内容,提供了20 余项实验,

3、; ;5. 的。以与进行交流, 或者有何问题和建议也可向/wireless/,作者的邮提出,。的是2014 4 81 1 2本 Ubuntu Cygwin Ubuntu Cygwin Linux 33.1Ubuntu简Ubuntu(乌班图)是基于Debian GNU/Linux,支持x86、amd64 ppc 架构,由专业开团队6 个月,Ubuntu 新版本,利用代号和版本号(基于发布日期,如 4.10 表示 )进行区分,其/Ubuntu HYPERLINK http:/w/ 本 图Ubuntu3.2 VirtualBox 简9Qt 框架编Sun Oracle 收购后正式更Oracle VM

4、VirtualBox司Qt 框架编Sun Oracle 收购后正式更Oracle VM VirtualBox司的代码。可在 VirtualBox 上安装并执行 Windows、DOS、Linux 等操作系统。VMwareVirtualPC比较,VirtualBox具备远端桌面协议(RDP)、iSCSIUSB VirtualBox 在客户端操作系统上已支持 USB 2.0 的硬件装但其需安装 选择 VirtualBox 主要考虑:(1系统资源占用较少;(2)源码开放本手册实验采用的 1.2 图3.3NS2简 TCPUDPnetWeb CBR VBR 本实 验手 册的 各种仿真实验使 用 -2.3

5、5 源码 包,第一版的实验内容, 即后面的实验也提供为方便部分读者使用, 同时保留-源 码 包 搭 建 仿 真实 验 环 境 ,为 :图3.4Cygwin简Cygwin 3.4Cygwin简Cygwin LinuxWindows gnu Cygwin。 win32API 库(就是cygwin.dll)win32 API 中没Unix 风格的调用等)win32APIUnix系统库的模拟代码和这个共享库连接到一起,就可使用 Unix 主机上的indows )Windows 关注后续实验。NS2 仿真实验环境主要分 3 种:(1) 基于 VirtualBox 虚拟机环境,直接使用本书提供的已搭建完成

6、的环境(4.2 节多(2基于(3)基于 Windows XP/ Windows 7 系统(建议采用 WinXP,若在 Win7 意管理员权限)和 本手册的实验环境(4.4节),搭建 Linux 模拟环境,然后基于 -2.34 源码4.1 VirtualBox 虚拟机 图 图图图 图图 图 制作成虚拟主机文件, 具体可到本对应的网盘中本书配套电子资源单击1.10 左上角的新建按钮,会出1.11 所示的界面,根据图 1.11 红色提示框的内容图图图4.3 源码包搭建 图图图图图图 完成虚拟主机 Ubuntu10.04 系统。开始安装 图 图设置好虚拟主机的 Ubuntu 10.04 至图 1.28

7、,注意红色方框中的设置。其中,图 设置完之后需要等待约 30 分钟(依据 图 图 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需要注意键安装过程需要虚拟电脑已联网,否则无法正常安装。默认

8、情况下,只要宿主电脑联网,虚拟主机即联网。安装完成后,需要重新启动终端,否则环境变量无法及时生效,造成”命令无法找到。4.4 基于WindowsXP/7CygwinNS2为便于不熟悉 Ubuntu 系统的读者使用, 下面介绍在 Windows XP/7 系统中利用.htm?source=1) 变在本电子资源包的说明文中及时更新*/Cygwin 2.3-2.34(1Cygwin。将运行 Setup.exe(Windows XP 系统直接双击即可),如图 1.31 所示。紧后以管1.321.37Cygwin图,可完成安装。注意,首次安装完成后,在 图1.37 大约需要等待 30 分钟下可能会缺少一

9、个 ,需要运行生成(2)Cygwin 版本的ar.gz 和experiment.tar.gz 文到“/home/用户(3)双;图 “tar -zxvf “tar -zxvf 段时间后(不同性能的计算机会有不同),即可完成 NS2 的安装,环境变量可自动配置(也可;拷贝到WNT中,并输入“cdWNT”进入 可用命令“rm experiment.tar.gz”删除不必要的文件。 或“startxwin”命令,启动 Xwindows 图形界面。安装完成后,需重新启动 Cygwin,否则5。进6 。注意事。仿真资 nsNS2 使用說明手冊金光. . .12不12不参3.8.1 节的内容A C 同时想发

10、送数据给中BA C 都在彼此传输范围内。所以当 A 发送数据给 B 前网络中无数据传输,会将数据传输给 B。即 A 并未检测到 A 正在传输数据,会认C 同时将数据传输给 B,使得数据在 3.8.1节介绍的请求发送(Requestto和清除发送(Clear to Send,CTS) 3.8.13隐藏节点的实验分析采用了实验一搭建的实,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设置,仅对必要的参数进行修改,若未给出则意味采用 NS2 中的默认值;1422行,对仿真中需要用到的变量进行设置,该部分代码仅为便于修改代码(多处 4.2 实验步骤和 中“”Windows 系统的用户名在不同子文件夹中,文件夹命名规则为:“实验 x” 图仿 令“startxwin.bat”),输入WNT/experiment/exp2”命令进入 图 NAM 图仿真程序运行说明:仿真开始时(01s),节点之间相互广播路由(DSDV)信息,建1.5s010需要知 (.tr)进行分析,并绘制图形trace 5 NS2 中演示

17、仿真动画采用 671212S1的数据发送。而事实上,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时,两条流的传输同时结束,此后(.tr)进行分析,并绘制图形trace 5机制则较好的缓解隐藏节点造成NS2 中演示仿真动画采用 671 WL

18、AN 无线测量工具可分为 3 类:(1有线测量工具改进或衍生,如Wireshark 和2 , 表Linux 。1 WLAN 无线测量工具可分为 3 类:(1有线测量工具改进或衍生,如Wireshark 和2 , 表Linux 。Linux 前身是 3.5.2Kismet 工输入方法/格输出格包捕Linux 无线字符界图形界文数据 ows(受限用Java 编写 多用Perl 编写3 Windows 下无线测量 图4.2图图 Next,然I Agree,如图 4.3 所示。这里可选择双的安装文件,点点击 Next,选择是否创和关联文件;点击 Next,选择安装位置;点击 Next,择是否安装 ap

19、,如图所示。由于 ap 捕获包的基础,因此如ap图ap图ap 主 toolbar(Capture Help(Files/Online提供一些有用图 (1包列表(Packet List)3, 图Wireshark Capture 图 据包,这是由于无线网卡驱动不支持混杂模式(promiscuous mode)造成,可在 Options4.10图图XP下的错图内核的系统(即 XP 以上程序需以管理(2针对Windows 运行,否则会ap(3)针对 Windows NT6.X 内核的系统(即 XP 以上,微软公司在驱动中做了一些修改,图 图图图图T:在本机和服务器之间建立可靠的网络连接,为数据传输做

20、好准备,包括标准的.4。 3图Linux 下无线测量工具 的Ubuntu12.04 (2) 打开终端,输入 sudo apt-get install wireshark 命令,系统自动源图(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接口上捕获数据。 中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:里面有各的一的排序规则,默认自动排序。windows下面可看到探,以及捕获包的数量和速度,最下面是控制台信息。 nts 可以图AP信图56本实验主要对WireShark 和 Kismet 进行分析,7去12版12版本4.12:。3VS2008 。VisualC6.0VC6.0题,如需使用 VC6.0 开发,可使用 3.X 版本的 ap 开发包。地址为:开 ,如“D:WpdPack”,可看到里面包含 Lib,Include,文档和示例程序,如图 5.1 图apincludeVS2008:选择工具-选项-项目和解决方案,在显示以下内容图VS2008添加, 5.3图VC6添加ap图V

24、S2008添加VC6:在上一个步骤的基础上,选择“Library files”,然后添ap 开发包中 图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”。包字节:采用“Edit Control”,设置“Multiline”、“Readonly”、“Auto Vscroll”、“Horizon Scroll”、“Vertical Scroll”均为“True”。协议头部结包字节:采用“Edit Control”,设置“Multiline”、“Readonly”、“Auto Vscroll”、“Horizon Scroll”、“Vertical Scroll”均为“True”。协议头部结构Protocol_Define.h,编写各类协议头部结构u_chardest6; u_char src6; u_short

26、type;帧的/6 数据包以太网协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 协UDPTCPICMPUDPTCPIPv6ARPcasecasereturn-1; return -1;return打开程获取网络casecaseretur

27、n-1; return -1;return打开程获取网络接 更新包字节列新建线结束程器(nNMCustodrawList1,更新包细节列 设置过滤编译过滤处理数据获取设捕获数据图5图6 112接。s Controller:接入控制器WLAN 间充当网关,AC 同AP间的数据汇聚,并33本实验采用多台具有无线网卡的终端设备(智、PAD、笔记本电脑)以及一 AP无线局域网WLAN 组网模式和信道配置如图 6.1 所示无线路由器为 MEDIALINK,详细步骤如下:参照路由器使浏览器输入 http: / 进入无线路由器的 LAN 端口点击“Wireless Settings进行基本配置,开启无线功能

28、,选择“Enable Wireless 配置网络模式为 11g Mode(主流支持模式)或者混合模式(5) 设置该无线网络标示Broadcast)为 wirelessLAN 并开启广播功能(对外可见)(6)选择信道(该网络所在频段)为 channel 8(2447MHz),该设置根据所在网络环境选择(7)开启无线设置信道带宽(channel bandwidth)启用已设置完毕的路由无线功能,点击“apply”图态地址分配(DHCP)进行配置,如图 6.2 所示,具体步骤如下: (2)设置 IP 地址池(IP Pool)的地址段,如 0000; (3)图DHCP设 (1) 点击Security”

29、无(2) 选择“wirlesslink”(3选PS(WiFi 设置 WPS(简化 WiFi 无线安全设置与网络管理)功能为关闭;点击“apply”生效图点击“apply”图此外,也可在“Security Settings”选项卡下设置nt Filter”子选项卡的过滤规则,如设置“Filter Mode”,可选择“Disable”、“Forbidonly”和“Permit only”3种,不同无线路(2)5051; (3)165535范围内; (4)设置规则适用的协议类型,如 TCP、UDP 等;选择“Enable”后的选择框,使该规则生效,点击“apply”图无线网络物理层接收信号强度(RS

30、SI)AP和客户机之间的RSSI 受多WLANAPRSSI654738291图 到图 6.7 和图 6.8 所示的结果。从结果可看出,相同 AP 随着测量时间的变图图位置变化测量:实验测量了位置变化情况下,AP 6.9、6.10 WLAN 3 、 、噪和 Cise-Wlan2)的传输性能。由于 WLAN 传输受多方影响CMCCAP 5 1成功,APDHCP图的内容, 请关注:有关测量/ 。具体可:6 在满足用户需求的情形下,尽可能降低无线路由器的信号覆(3) 为进一步保证无线路由器的安全,可设为隐藏,只有才能接入(4) 在空闲时段,建议关闭无线路由器,以降低对其他网络设备通信的影响。11 2

31、4.83 NS2 图仿打开终端(Ubuntu为命令“Ctrl+Alt+T”,Cygwin“startxwin.bat”),输入WNT/experiment/exp7”命令进入本。图 7.3 01、2、3、4、5发送不同类型(UGS、ertPS、 10s(.tr)进行分析,并绘制图形trace 5(1) WiMax 在传输过程中存在哪些特?(2) 无线城域网技术和其它同类技术相比有 671253 、UDP1253 、UDPtrace文件(NS2运行仿真时产生的数据文5.74网络为 3 维结构,在 NAM 动画中难以演示,因此利用分析数据予以呈现。下面将 本实验为实验八,子文件夹为“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网络 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运行仿真时产生的数据1253 UDPtrace文件(NS2运行仿真

37、时产生的数据5.7本实验分网络为 3 维结构,在 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网络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无线网络发展初期,基本的路由算法被用于控制和路由网络流,如动态源路由(DSR)2 . 3,所4 protoname.h: protoname.cc: protoname pkt.h: protoname rtable.h: Protoname rtable.cc: 路由头 12-16 行定义 头部的函数和头部在数据包中的偏移变量(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 行定义 头部的函数和头部在数据包中的偏移变量(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: 图路所有的路由发起, 协议包和数据包转发都在该模块中实现,具体定义代码见文件 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层交 较容易实现。在具体实现中,可通过回调在layer-2 调layer-3(网络层)layer-3layer-2 针依赖数据包向下传递。图10.6 所示为layer-3 layer-2 交互的过程,具体见向的函数;第 10-11 行通过修改数据包的特定域,以达到向下传递回调指针的目的。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 中集成新数据包头部类型的定义主要通过修改数据包定义文件完成,具体见 Trace中)traceAODV路由协议和1中tcl/lib/ns-packet.tcl 容,具体详见文献1tcl/lib/ns-default.tcl 路由协议的 协议,必须修改 tcl/lib/ns-lib.tcl 中的内容,具体参考文献1中的内容。PriQueuePriQueue 仿真接口队列,而在该模块实现中赋予了协PriQueue 模块进行修改,具体见文献1。MakefileMakefile 文件,具体内容见文献1,读者需根据自身实现的协议进行添

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),节点间未交换路由信息,路由表尚未建立(DSR8RREQ/RREP20.25s4开始向节点 trace (.tr)进行分析,并绘制图形567仿实验十三 无线自组织网的 1 2123311图FSR(Fisheye Se Routing)是一个先验式(表驱动)的路由协议。其使用鱼眼技术,在FSR 的信息,FSR 2.1FSR路由交 2.1FSR路由交 13.2 图 FSR 的FS

54、R 路由操如 2.1 节所述,FSR 对节点拓扑数据表的离节点的距离(图 13.1 中的“HOP”字段 2.2.2(1如的信息。标志“NeedToSend”(2) 否则2.2.2(1如的信息。标志“NeedToSend”(2) 否则,。标志“NeedToSend”为真(3) 对不满足上述两点的目标来说,如果接受信息的序号比将在下一个更新周期内被送出。标志“Need 2.2.3MANET 2.2.4表,FSRDijstra算法做了一定修改,并依据修改后的算法进行最短路径计算。有关 FSR 路由协议的内容详见:3 NS2 读者可根据该步骤运行和分析本实验。注意,UbuntuCygwin中的实验过程

55、基本相同,不图仿打开终端(Ubuntu为命令“Ctrl+Alt+T”,Cygwin“startxwin.bat”),输入WNT/experiment/exp13”命令进入本。图 图仿真程序运行说明:仿真开始时(01s)(距离受限1s 7 13 TCP/TP 数据传输。TP30s0 9 UDP/CBR 40s 4 1 UDP/CBR 0s时,3 (.tr)进行分析,并绘制图形trace 5 据(FSR.tr)NS2 NAM,它将网络仿真过程中拓扑结构、 图 图仿真持续74.5s时节点0和节点4分别向节点3和节点6传输数据 FSRtrace的 FSR 有关(1) FSR 路由协议具有怎样的特点(2

56、) FSR 路由协议存在哪 67仿11 2主要对 中采用通告机制多播/组播路由协议进行仿真分析,即 PUMA,它为 PUMAIP 多播/组播服务模型,允许任何源节点发送多播/组播数据包给特定多播/发送数据到该多播/组播组。与 和 MAODV 类似,PUMA 采用接收者驱动的方法,接收者使用特定节点地址加入多播/ PUMA 实现了一个分布式算法。通知至少一个下一跳网络中每个路由节点选择每个。PUMA 中ayan3 NS2图仿打开终端(Ubuntu为命令“Ctrl+Alt+T”,Cygwin“startxwin.bat”),输入WNT/experiment/exp14”命令进入本。 图NAM 14

57、.4 2开始向组播组中发送数据;2.6s3开始向组播组发送数据;2.8s时,节(.tr)进行分析,并绘制图形trace 5仿真开始时,所有节点加入地址为 0 xE000000 的多播/组播组,如图 14.5 所示。图网 图2.8s时节点4开始多播/组6仿真资1R.ayan,J.J.-a-Aceves.EfficientandRobustMulticastAd Hoc Networks. Proceedings of Systems,Oct.ernational Conference on Mobile Ad-hoc and 12交的路径来实现多路径协议。在分析 AOMDV 协议前,读者需要对

58、AODV 路由协议有一定 了解,有关 AODV 协议的相关内容详见6.3 节。AOMDV 主要有2 部分与AODV 不同:(1) 路由发现:AOMDV 路由发现阶段与 AODV 类似,为确保路径无环,仍使用目标点的最大跳数、链表及一个路由列表。每次路由更新都要对新目标序2EEQ 1 1(2路AOMDV 。3NS2 15.2 3 列数据对应的为节点目标位置(x,y)15.1 图仿打开终端(Ubuntu为命令“Ctrl+Alt+T”,Cygwin“startxwin.bat”),输入WNT/experiment/exp15”命令进入本。 图NAM 15.5 仿真程序运行说明:仿真开始时,节点开始运

59、行,此时在节点间并未建立路由。从 1s trace (.tr)进行分析,并绘制图形515.6 16的AOMDV (1) AOMDV 路由,(2) AOMDV 路有协议存在哪6AOMDV 712 12 3NS24图仿打开终端(Ubuntu为命令“Ctrl+Alt+T”,Cygwin“startxwin.bat”),输入WNT/experiment/exp16”命令进入本。 图 图仿真程序运行说明:仿真开始时,节点之间未交换路由信息,此时无数据传输。在 时,节2 9 发送者进行 publish 操作,并通过 DD 协议进扩散。在1.15s 时接收者进行subscribe 操作;2.30s 时,节8

60、 接收者进行 subscribe 作;3.45s7 subscribe100strace (.tr)进行分析,并绘制图形5 67仿11Sensor MAC(S-MAC)是一种基于竞争的 MAC 层协议,主要适于节点空闲时间较长、可27.3.43 4图仿打开终端(Ubuntu为命令“Ctrl+Alt+T”,Cygwin“startxwin.bat”),输入WNT/experiment/exp17”命令进入本。图 图较高负载的节点会出现颜色变化(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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论