无线网络技术-无线网络技术教程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
无线网络技术教程——原理、应用与仿真实验配套实验手册
Ver. 1.3
金光、江先亮编著
清华大学出版社
2013年10月
目录
实验一组建无线网络仿真环境 (6)
1 实验要求与目的 (6)
2 实验原理与背景知识 (6)
2.1 Cygwin简介 (6)
2.2 NS2简介 (6)
3 实验环境与模块简介 (7)
4 实验步骤与仿真演示 (7)
5 结果分析与讨论 (8)
6 仿真扩展与分析 (8)
7 注意事项与资源 (9)
7.1 注意事项 (9)
7.2 仿真资源 (9)
实验二 3.5.1节隐藏节点仿真 (10)
1 实验要求和目的 (10)
2 实验原理和背景知识 (10)
3 实验环境和模块简介 (10)
4 实验步骤与仿真演示 (10)
4.1 模块安装 (10)
4.2 运行仿真与演示 (11)
5 结果分析与讨论 (12)
6 仿真扩展与分析 (13)
7 注意事项与资源 (13)
实验三 3.5.2节暴露节点仿真 (14)
1 实验要求和目的 (14)
2 实验原理和背景知识 (14)
3 实验环境和模块简介 (14)
4 实验步骤与仿真演示 (14)
5 结果分析与讨论 (15)
6 仿真扩展与分析 (16)
7 注意事项与资源 (16)
实验四 4.6.2节WiMax仿真 (17)
1 实验要求和目的 (17)
2 实验原理和背景知识 (17)
3 实验环境和模块简介 (17)
4 实验步骤与仿真演示 (17)
4.1模块安装 (17)
4.2仿真运行 (18)
5 结果分析与讨论 (19)
6 仿真扩展与分析 (19)
7 注意事项与资源 (19)
实验五 6.5.1节AODV仿真 (20)
1 实验要求和目的 (20)
3 实验环境和模块简介 (20)
4 实验步骤与仿真演示 (20)
5 结果分析与讨论 (21)
6 仿真扩展与分析 (22)
7 注意事项与资源 (22)
实验六 6.5.2节DSR仿真 (23)
1 实验要求和目的 (23)
2 实验原理和背景知识 (23)
3 实验环境和模块简介 (23)
4 实验步骤与仿真演示 (23)
5 结果分析与讨论 (24)
6 仿真扩展与分析 (25)
7 注意事项与资源 (25)
实验七 7.6.1节DD仿真 (26)
1 实验要求和目的 (26)
2 实验原理和背景知识 (26)
3 实验环境和模块简介 (26)
4 实验步骤与仿真演示 (26)
5 结果分析与讨论 (27)
6 仿真扩展与分析 (27)
7 注意事项与资源 (28)
实验八 7.6.2节SMAC仿真 (29)
1 实验要求和目的 (29)
2 实验原理和背景知识 (29)
3 实验环境和模块简介 (29)
4 实验步骤与仿真演示 (29)
5 结果分析与讨论 (30)
6 仿真扩展与分析 (31)
7 注意事项与资源 (31)
实验九 8.7.1节802.15.4仿真 (32)
1 实验要求和目的 (32)
2 实验原理和背景知识 (32)
3 实验环境和模块简介 (32)
4 实验步骤与仿真演示 (32)
5 结果分析与讨论 (33)
6 仿真扩展与分析 (33)
7 注意事项与资源 (34)
实验十 8.7.2节Zigbee仿真 (35)
1 实验要求和目的 (35)
2 实验原理和背景知识 (35)
3 实验环境和模块简介 (35)
4 实验步骤与仿真演示 (35)
5 结果分析与讨论 (36)
7 注意事项与资源 (37)
实验十一 9.4.2节Iridium仿真 (38)
1 实验要求和目的 (38)
2 实验原理和背景知识 (38)
3 实验环境和模块简介 (38)
4 实验步骤与仿真演示 (38)
5 结果分析与讨论 (40)
6 仿真扩展与分析 (40)
7 注意事项与资源 (41)
7.1卫星网络trace文件解读 (41)
7.2 Awk文件位置 (41)
实验十二 9.4.3节Teledesic仿真 (43)
1 实验要求和目的 (43)
2 实验原理和背景知识 (43)
3 实验环境和模块简介 (43)
4 实验步骤与仿真演示 (43)
5 结果分析与讨论 (45)
6 仿真扩展与分析 (45)
7 注意事项与资源 (45)
7.1卫星网络trace文件解读 (45)
7.2 Awk文件位置 (46)
实验十三移动Ad Hoc中FSR协议仿真 (47)
1 实验要求和目的 (47)
2 实验原理和背景知识 (47)
2.1FSR路由交换 (48)
2.2FSR路由操作 (48)
3 实验环境和模块简介 (49)
4 实验步骤与仿真演示 (49)
4.1模块安装 (50)
4.2仿真运行 (50)
5 结果分析与讨论 (51)
6 仿真扩展与分析 (53)
7 注意事项与资源 (53)
实验十四移动网中AOMDV协议仿真 (54)
1 实验要求和目的 (54)
2 实验原理和背景知识 (54)
3 实验环境和模块简介 (54)
4 实验步骤与仿真演示 (54)
5 结果分析与讨论 (56)
6 仿真扩展与分析 (57)
7 注意事项与资源 (57)
实验十五移动网中Blackhole和Greyhole攻击仿真 (58)
1 实验要求和目的 (58)
3 实验环境和模块简介 (58)
4 实验步骤与仿真演示 (58)
4.1模块安装 (58)
4.2仿真运行 (59)
5 结果分析与讨论 (60)
6 仿真扩展与分析 (62)
7 注意事项与资源 (62)
实验十六 802.11WLAN数据包捕获和分析 (63)
1 实验要求和目的 (63)
2 实验原理和背景知识 (63)
2.1 Wireshark (64)
2.2 Kismet (64)
3 实验环境和模块简介 (64)
4 实验步骤 (64)
4.1 Windows下无线测量工具 (64)
4.2 Linux下无线测量工具Wireshark (72)
4.3 Linux下无线测量工具Kismet (74)
5 分析和讨论 (77)
实验十七 WLAN测量程序开发 (78)
1 实验目的和要求 (78)
2 实验原理和背景知识 (78)
3 实验环境和模块简介 (78)
4 实验步骤 (78)
4.1 开发平台的配置 (78)
4.2 程序界面设计 (83)
4.3 协议头部结构定义 (83)
4.4 数据包处理 (84)
4.5 主程序 (86)
5 实验结果 (87)
6 分析和讨论 (88)
实验一组建无线网络仿真环境
1 实验要求与目的
1.学会搭建NS2仿真环境
2.熟悉NS2仿真过程
2 实验原理与背景知识
2.1 Cygwin简介
Cygwin是一个在Windows平台上运行的Linux模拟环境。
它由cygnus solutions公司开发,并可以免费使用的自由软件。
它对于学习Unix/Linux操作环境,或从Linux到Windows 的应用程序移植,或者进行某些特殊的开发工作,尤其使用gnu工具集在Windows上进行嵌入式系统开发等,非常有用。
随着嵌入式系统开发日渐流行,越来越多的开发者对Cygwin 产生了兴趣。
cygnus当初首先把gcc,gdb,gas等开发工具进行了改进,使它们能够生成并解释win32的目标文件。
然后,把这些工具移植到Windows平台上去。
一种方案是基于win32 api对这些工具的源代码进行大幅修改,这样需要大量工作。
因此,采取了一种不同的方法——编写一个共享库(就是cygwin.dll),把win32 api中没有的Unix风格的调用(如fork, spawn, signals, select, sockets等)封装在里面。
也就是说,基于win32 api编写一个Unix系统库的模拟层。
这样只要把这些工具的源代码和这个共享库连接到一起,就可以使用Unix主机上的交叉编译器来生成可在Windows平台上运行的工具集。
以这些移植到Windows平台上的开发工具为基础,cygnus又逐步把其他工具(几乎不需要对源代码进行修改,只需要修改配置脚本)软件移植到Windows上来。
这样,在Windows 平台上运行bash和开发工具、用户工具,感觉好像在Linux上工作。
2.2 NS2简介
NS2是指Network Simulator version 2,它是一种针对网络技术的源代码公开、免费的软件仿真平台,研究人员使用它很容易进行网络技术研发,而且发展到今天,它所包含的模块几乎涉及到网络技术的所有方面。
NS2是目前广泛使用的一种网络仿真软件。
此外,NS2也可作为一种辅助教学的工具,逐步广泛应用在网络技术教学领域。
总之,目前在学术界和教育界,有许多人正在或试图使用NS2。
NS2是一种面向对象的网络仿真器,本质上是一个离散事件模拟器。
由UC Berkeley开发而成。
它本身有一个虚拟时钟,所有仿真都由离散事件驱动。
目前NS2可以用于仿真各种不同的IP网,已经实现的一些仿真有:网络传输协议,如TCP和UDP;业务源流量产生器,如FTP, Telnet, Web CBR和VBR;路由队列管理机制,如Droptail , RED和CBQ;路由算法,如Dijkstra等。
NS2也为进行局域网仿真而实现了多播及一些MAC子层协议。
NS2
也提供了很多无线网络的协议仿真。
有关NS2的相关知识请参考教材第48-56页的内容,也可查阅参考文献[1-4]。
3 实验环境与模块简介
Windows XP系统或Linux系统,在Windows XP系统中采用了Cygwin作为Linux的外壳,并在其上进行安装;在Linux中可直接安装NS2。
本实验采用前者。
4 实验步骤与仿真演示
本实验采用Cygwin2.510.2.2和ns-allinone-2.34两个安装包完成,可以在下面给出的网址中获取。
具体安装过程如下:
(1)获取Cygwin和ns-allinone-2.34的软件包。
其中,Cygwin软件包获取的网址为:/,ns-allinone-2.34软件包获取的网址为:/projects/ nsnam/files/allinone/。
(2)安装Cygwin。
将软件包解压,然后点击Setup.exe进行如图1.1至图1.6的安装:
图1.1 初始安装图1.2 安装来源
图1.3 安装目标图1.4 选择文件
图1.5 组件选择图1.6 安装进度图1.6中大约需要等待20分钟或更多,可完成安装。
注意,首次安装完成后,在Cygwin 目录下缺少一个home目录,需要运行Cygwin软件生成。
(3)安装ns-allinone-2.34。
将获得的ns-allinone-2.34软件包解压到“home/<用户名>/”目录下,解压命令为:tar –zxvf ns-allinone-2.34,或者直接在文件上单击右键选择解压。
然后运行Cygwin软件,用cd命令转到ns-allinone-2.34/目录下。
紧接着输入./install命令进行安装,大约半个小时,安装可以完成(不同性能的计算机会有不同)。
(4)安装完成后,需要配置环境变量,这里推荐一种快速方法,直接将ns-allinone-2.34下的bin目录中的全部文件复制和覆盖Cygwin的bin目录。
安装完成后,可以运行,如图1.7至图1.10所示。
图1.7 启动Cygwin 图1.8 启动ns2
图1.9 启动XWindows 图1.10 XWindows界面
5 结果分析与讨论
初学者在NS2的安装过程中可能会遇到一些问题,可在NS2的官方网站上寻找解决问题的方法,也可直接在google中检索相关的问题,基本能获得很好的解决。
如果还是存在问题,可以与我进行交流,E-mail: norbert_jxl@。
6 仿真扩展与分析
本实验手册在Windows XP中基于Cygwin安装了ns-allinone-2.34,感兴趣的同学也可在Linux下进行安装和实验,并测试不同版本的NS2安装有何差别,分析其模块情况。
7 注意事项与资源
7.1 注意事项
(1)Cygwin的版本要注意,不同版本可能会出现问题。
(2)ns-allinone-2.34安装完成后,需要配置环境变量,务必不能配置错误。
(3)安装模块时,需要注意编译问题,如果修改了Makefile.in文件,需要在ns-allinone-2.34/ns-2.34目录下执行:./configure; make clean; make,否则在相同的目录下执行:make clean; make。
7.2 仿真资源
[1] The Network Simulator version 2, /nsnam/ns/.
[2] ns (simulator), /wiki/Ns_(simulator).
[3] NS2 使用說明手冊, .tw/~smallko/ns2/ns2.htm.
[4] 金光. 网络技术实践教程. 电子工业出版社. 2009.
实验二 3.5.1节隐藏节点仿真
1 实验要求和目的
●掌握无线网络中隐藏节点问题的本质;
●利用NS2仿真隐藏节点问题。
2 实验原理和背景知识
隐藏节点指在接收节点的覆盖范围内而在发送节点的覆盖范围外的节点。
由于听不到发送节点的发送,隐藏节点可能向相同的接收节点发送分组,导致分组在接收节点处冲突。
隐藏节点可以分为隐发送节点和隐接收节点。
如教材第80页的图3.17所示,节点A和C同时想发送数据给节点B,但A和C都不在对方的传送范围内。
所以当A发送数据给B时,C并未检测到A也在发送数据,会认为目前网络中无数据传送,会将数据发送给B。
这样,A和C同时将数据发送给B,使得数据在B处产生冲突,最终导致发送的数据不可用。
这种因传送距离而发生误判的问题称为隐藏节点问题。
为了解决隐藏节点问题,可以使用教材3.5.1节介绍的请求发送(Request to Send,RTS)和清除发送(Clear to Send,CTS)的控制信息来避免冲突。
当发送方发出数据前,先送出一个RTS包,告知在传送范围内的所有节点不要有任何发送操作。
如果接收方目前空闲,则响应一个CTS包,告诉发送方可开始发送数据,此CTS包也会告知所有在接收方信号传输范围内的其它节点不要进行任何传输操作。
过程如教材第80页的图3.18所示。
更多有关隐藏节点的知识详见教材第3.5.1节。
3 实验环境和模块简介
隐藏节点的仿真分析采用的实验平台为Cygwin + ns-allinone-2.34,同时需要安装mUDP 模块进行实验扩展。
mUDP模块是UDP的延伸,除了具有UDP的功能外,还能记录所发送的包的信息。
mUdpSink可以把接收到的包的信息记录到文件中。
4 实验步骤与仿真演示
4.1 模块安装
仿真所需模块的安装过程如下:
(1)获取mUDP, mUdpSink的模块文件,具体有下列几个文件,可以在电子资源中的实验源代码的3.5.1中获得,主要文件如下所示;
mudp.h mudpsink.h
(2)在/ns-allinone-2.34/ns-2.34/下新建measure文件夹,把这四个文件放入其中;
(3)修改/ns-allinone-2.34/ns-2.34/common/下的packet.h文件,将如下程序添加到struct hdr_cmn{}中,如图2.1所示;
int frametype_;
double sendtime_;
unsigned int pkt_id_;
unsigned int frame_pkt_id_;
图2.1 代码添加位置
(4)修改/ns-allinone-2.34/ns-2.34/下的Makefile.in文件,将如下程序添加到OBJ_CC中如图2.2所示的位置;
measure/mudp.o measure/mudpsink.o \
图2.2 Makefile修改位置
(5)修改/ns-allinone-2.34/ns-2.34/tcl/lib/下的ns-default.tcl,将如下程序添加到文件的最后一行;
Agent/mUDP set packetSize_ 1000
(6)在Cygwin中转到/ns-allinone-2.34/ns-2.34目录下执行./configure; make clean; make,如图2.3所示,编译约十几分钟完成即可。
图2.3 编译添加模块的切换路径
4.2 运行仿真与演示
安装完成模块后,就可以开始仿真。
仿真过程如下,拓扑见教材第80页。
(1)在“home/<用户名>/”目录下新建一个目录用于放置运行的仿真脚本,并将不同类型脚本用子目录分开,紧接着将仿真脚本Hidden_Terminal.tcl复制到该目录下(tcl脚本的编写不再赘述,请参考相关文献)。
如图2.4所示,这里新建了一个WNT目录,然后在目录中放置了各实验仿真代码的子目录。
本实验是教材3.5.1节的内容,将子目录命名为3.5.1;
图2.4 仿真代码位置
(2)在Cygwin中利用cd命令切换到该新建的子目录(有关cd命令的使用请参考Linux相关书籍),如图2.4所示,紧接着输入:ns Hidden_Terminal.tcl,回车即可运行,此时无动画显示,如图2.5所示;
图2.5 不运行NAM方式的仿真
(3)如果想看nam仿真动画,则需要启动XWin,然后按(2)中的过程在XWin窗口中进行仿真即可,如图2.7所示。
XWin的启动方式为:在Cygwin中输入startxwin.bat,回车即可,如图2.6所示;
图2.6 启动XWin
图2.7 运行NAM进行仿真
具体仿真演示见电子资源中的实验动画目录下的3.5.1文件。
5 结果分析与讨论
无线局域网隐藏节点问题对网络的传输影响较大,极大的降低了网络的吞吐量,增大了时延,而CTS/RTS机制则较好的解决隐藏节点问题。
仿真结果可以从两个方面来分析,即仿真动画和仿真数据。
在NS2中演示仿真动画采用NAM,它将网络仿真过程中拓扑结构、数据包传输情况及队列丢包等以动画形式展现,本实验的仿真动画见电子资源中的实验动画目录下的3.5.1文件。
仿真结束后,可以通过分
析产生的数据来对仿真过程中的延迟、丢包、吞吐量等进行分析。
有关本实验的结果分析和代码说明详见教材第3.5.1节。
6 仿真扩展与分析
在本实验的基础上,学生可自己动手设计不同网络场景下的仿真,分析网络的性能,分析解读实验相关的程序代码。
7 注意事项与资源
为保证仿真代码的正常运行,仿真之前一定要正确安装本手册提供的模块。
仿真主要涉及mUDP模块和相关的仿真脚本,具体代码参见电子资源—《无线网络技术教程》实验源代码—3.5.1。
实验三 3.5.2节暴露节点仿真
1 实验要求和目的
●掌握暴露节点的问题本质;
●在NS2中仿真实现暴露节点相关问题。
2 实验原理和背景知识
暴露节点是指在发送节点的覆盖范围内而在接收节点覆盖范围外的节点,暴露节点因监听到发送节点的发送而可能延迟发送。
但是,它其实是在接收节点的通信范围之外,它的发送不会造成冲突。
这就引入了不必要的延时。
暴露节点问题和隐藏节点问题不同,当一个节点要发送数据给另一节点时,因邻近节点也正在发送数据,影响了原来节点的数据传送。
以教材第84页的图3.25为例,有4个节点S1、S2、R1、R2,其中R1、R2均不在对方的传送范围内,而S1、S2均在彼此的传送范围内。
因此,当S1正传送数据给R1时,S2却不能将数据传送给R2,因为S2会检测到S1正发送数据,如果其也发送数据的话,就会影响S1的数据发送。
而事实上,S2是可以正确无误将数据发给R2的,因为R2并不在S1的传送距离内。
为解决暴露节点问题,也采用RTS/CTS机制。
当一个节点侦听到邻近节点发出来的RTS,但却没有听到相对应CTS时,可判定它本身是一个暴露节点,所以允许传送数据到其它邻近节点。
这个节点可以成功送出RTS,但相应的CTS不一定能被成功地收到。
当S2收到S1发出的RTS,但未收到对应CTS时,S2可推测自己是暴露节点,则可同时发送数据。
但此时,虽然S2发出的数据不会冲突,但其它节点发给S2的数据(CTS/ACK)却可能与S1发出的数据发生冲突,影响传输系统质量。
因此这种情况下,使用RTS/CTS并不能完全解决暴露节点问题。
有关暴露节点问题的更多知识,请参考教材第3.5.2节的内容。
3 实验环境和模块简介
暴露节点的仿真分析采用的实验平台为Cygwin + ns-allinone-2.34,同时需要安装mUDP 模块进行实验扩展。
mUDP模块是UDP的延伸,除了具有UDP的功能外,还能记录所发送的包的信息。
mUdpSink可以把接收到的包的信息记录到文件中。
4 实验步骤与仿真演示
暴露节点仿真进行之前需要安装特定的模块,具体见实验二中的4.1节内容,在此不再重复。
暴露节点的具体仿真过程如下,仿真拓扑见教材第85页。
(1)在“home/<用户名>/”目录下新建一个目录用于放置运行的仿真脚本,并将不同类型脚本用子目录分开,紧接着将仿真脚本Exposed_Terminal.tcl拷贝到该目录下。
如图3.4所示,
这里新建了一个WNT目录,然后在目录中放置了各实验仿真代码的子目录。
本实验是书中3.5.2节的内容,将子文件夹命名为3.5.2;
图3.4 仿真代码位置
(2)在Cygwin中利用cd命令转到该新建的目录,紧接着输入:ns Exposed_Terminal.tcl ,回车即可运行,此时无动画显示,如图3.5所示;
图3.5 未运行NAM进行仿真
(3)如果想看nam仿真动画,则需要启动XWin,然后按(2)中的过程进行仿真即可,如图3.7所示。
XWin的启动方式为:在Cygwin中输入startxwin.bat,回车即可,如图3.6所示;
图3.6 启动XWin
图3.7 运行NAM进行仿真
具体仿真演示见电子资源中的实验动画目录下的3.5.2文件。
5 结果分析与讨论
无线局域网暴露节点问题对网络的传输影响较大,极大的降低了网络的吞吐量,增大了时延,而CTS/RTS机制则较好的解决隐藏节点问题。
仿真结果可以从两个方面来分析,即仿真动画和仿真数据。
在NS2中演示仿真动画采用NAM,它将网络仿真过程中拓扑结构、数据包传输情况及队列丢包等以动画形式展现,本实验的仿真动画见电子资源中的实验动画目录下的3.5.2文件。
仿真结束后,可以通过分析产生的数据来对仿真过程中的延迟、丢包、吞吐量等进行分析。
有关本实验的结果和代码说明详见教材第3.5.2节。
6 仿真扩展与分析
在本实验的基础上,学生可自己动手设计不同网络场景下的仿真,分析网络的性能,分析解读实验相关的程序代码。
7 注意事项与资源
为保证仿真代码的正常运行,仿真之前一定要正确安装本手册提供的模块。
仿真主要涉及mUDP模块和相关的仿真脚本,具体代码参见电子资源—《无线网络技术教程》实验源代码—3.5.2。
实验四 4.6.2节WiMax仿真
1 实验要求和目的
●掌握无线城域网的组网形式
●掌握WiMax的工作原理
●利用NS2仿真WiMax的数据传输和通信过程
2 实验原理和背景知识
无线城域网(WMAN)是以无线方式构建的城域网并提供面向互联网的高速连接,它是在无线局域网的基础上产生的,由多个WLAN连接而成。
WMAN的推出是为了满足日益增长的宽带无线接入的市场需求,目的是用于解决城域网的最后一公里接入问题,代替电缆(Cable)、数字用户线(xDSL)、光纤等。
以802.16标准为基础的无线城域网技术,覆盖范围达几十公里,传输速率高,并提供灵活、经济、高效的组网方式,支持固定的802.16d和移动的802.16e宽带无线接入方式。
802.16也称WiMax(World wide Interoperability for Microwave Access,全球微波接入互操作性),但WiMax是一个商业化的名称,其产业联盟称为WiMax论坛。
WiMax能达到最高70MBps的速率,比WLAN要高得多。
WMAN能有效解决有线方式无法覆盖地区的宽带接入问题,有较完备的QoS机制,可根据业务需要提供实时、非实时不同速率要求的数据传输服务,为居民和各类企业的宽带接入业务提供新的方案。
本实验仿真拓扑包含了11个节点,其中,中心节点0与其周围的10个节点分别进行了通信,周围节点之间不直接进行通信,详细拓扑结构见教材第100页。
3 实验环境和模块简介
WiMax仿真采用的实验平台为Cygwin + ns-allinone-2.34,在标准的ns2中尚未集成WiMax模块,因此在实验前需要进行安装,详细步骤见4.1节。
4 实验步骤与仿真演示
4.1模块安装
具体安装过程如下:
⑴获取WiMax的补丁文件,可以在电子资源中的实验源代码文件夹的新增仿真实例文件夹中找到,文件名为“WiMax.diff”;
⑵将获得的补丁文件拷贝到ns-allinone-2.34文件夹中,并在Cygwin窗口中用“cd”命令
进入到ns-allinone-2.34目录下,执行打补丁命令:patch -p0 < WiMax.diff。
注意:ns-allinone-2.34必须为未更改过的官方(标准)版本,否则patch不一定成功;
⑶在Cygwin窗口中用“cd”命令进入到ns-allinone-2.34/ns-2.34目录下,执行命令:./configure; make clean; make,大约编译十几分钟(具体依据机器性能) 即可完成。
4.2仿真运行
WiMax仿真的具体过程如下:
⑴在“home/<用户名>/”目录下新建一个目录用于放置运行的仿真脚本,并将不同类型脚本用子目录分开,紧接着将仿真脚本WiMax.tcl拷到该目录下。
如图4.1所示。
这里新建一个WNT目录,然后在该目录中放置了各实验仿真代码的子目录。
本实验是教材4.6.2节的内容,将文件夹命名为4.6.2;
图4.1 仿真代码位置
⑵在Cygwin中利用cd命令转到该新建的目录,紧接着输入:ns WiMax.tcl,回车即可运行,此时无动画显示,如图4.2所示;
图4.2 非NAM方式运行仿真
⑶如果想要显示NAM仿真动画,则需要启动XWin,然后按(2)中所述的过程进行仿真即可,如图4.4所示。
XWin的启动方式为:在Cygwin中输入startxwin.bat,回车即可,如图4.3所示;
图4.3 启动XWin
图4.4 运行NAM仿真
5 结果分析与讨论
无线城域网的应用广泛,提供了相对速率更高、范围更广的无线通信能力,本文主要对无线城域网中的WiMax模块进行场景仿真。
无线城域网(WiMax)的仿真分析可从两个方面来分析实现结果,即仿真动画和仿真数据。
在NS2中演示仿真动画的工具采用了NAM,它将网络仿真过程中拓扑结构、数据包传输情况及队列丢包等以动画的形式展现。
仿真结束后,可以通过数据来对仿真过程中的延迟、丢包、吞吐量等问题进行分析。
本实验的结果分析和代码说明详见教材4.6.2节,相关电子资源可到本书出版社网站下载。
在仿真分析的过程中,需要注意以下两个问题:
(1)WiMax在传输过程中存在哪些特点和不足?
(2)无线城域网技术和其它同类技术相比有何不同?
6 仿真扩展与分析
在本实验的基础上,学生可自己动手设计不同网络场景下的仿真,分析网络的性能,分析解读实验相关的程序代码。
7 注意事项与资源
仿真之前必须安装WiMax的模块,已有的ns-allinone-2.34中不包含该模块。
仿真主要涉及WiMax模块和相关的仿真脚本,具体代码参见电子资源——《无线网络技术教程》实验源代码——4.6.2。
实验五 6.5.1节AODV仿真
1 实验要求和目的
●掌握无线自组织网络的组网方式
●掌握AODV路由协议的工作过程
●利用NS2仿真实现AODV路由协议
2 实验原理和背景知识
AODV是应用最广泛的按需路由协议之一,它是DSDV算法的改进,但中间节点不需事先维护路由。
AODV中节点移动可能会导致原来路由不可用,它采用逐跳路由转发分组,同时加入了组播路由协议扩展,从路由查找回复RREP。
整个通信过程是对称的,路由可逆,所以AODV协议不支持单向路由。
有关AODV协议的具体实现过程和原理,请参考教材第6.5.1节。
针对AODV路由协议仿真,NS2中已有丰富的模块,能够满足基本的仿真需求,本实验的仿真采用教材第131页图6.13的拓扑,共需用到13个移动节点,分别是节点0~12。
其中,节点8是源节点,节点2是目的节点。
3 实验环境和模块简介
AODV仿真采用的实验平台为Cygwin + ns-allinone-2.34,在标准的ns2中已集成了相应的模块。
4 实验步骤与仿真演示
具体仿真过程如下:
⑴在“home/<用户名>/”目录下新建一个目录用于放置运行的仿真脚本,并将不同类型的脚本用子目录分开,紧接着将仿真脚本AODV.tcl和AODV_topo.scn拷到该目录下,如图5.1所示。
这里仿真新建了一个WNT目录,然后在目录中放置了各实验仿真代码的子目录。
本实验是教材6.5.1节的内容,将文件夹命名为6.5.1;
图5.1 仿真代码位置
⑵在Cygwin中利用cd命令转到该目录,紧接着输入:ns AODV.tcl,回车即可运行,此时无动画显示,如图5.2所示;。