当前位置:文档之家› 无线网络的模拟

无线网络的模拟

NS2对WiFi的支持
[1] 无线网络概述
目前无线网络可以分为两类:
(1)有固定接入点的无线网络(Infrastructure Wireless Networks)
通常所说的移动通信系统(例如手机)属于这类,特点是所有移动终端的通信都必须通过固定接入点(例如基站)来完成。

(2)无固定接入点的无线网络(Infrastructureless Wireless Networks)
通常称这种网络为Ad Hoc网络或MANET(Mobile Adhoc Networks)。

Ad Hoc网络无固定的路由器,网络中的节点既是通信终端,同时也是转发数据包的路由器,通常又称之为自组织网络(self-organized network)。

注意:
(a)Ad Hoc网络无需任何固定接入节点,信息数据的交互全部通过无线网络各移动终端之间接力的方式来实现。

(b)Ad Hoc网络通常应用于很难设立固定接入点或者固定接入点建造代价较高的场合。

[2] NS2的无线网络的移动节点
无线模块最初是由CMU的Monarch工作组引入到NS中的。

此无线模块不仅可以对WLAN 或者多跳的Ad Hoc等无线网络进行模拟,还可以模拟有线和无线混合的复杂网络。

2.1、移动节点的结构
无线模型的核心是移动节点(Mobile Node),它代表实际无线网络中的站点(Station, STA)。

移动节点是由一系列的网络构建构成的,这些构件包括:LL, ARP, IFq, Mac, NetIF 注意:
(1)NS2中实现了WLAN采用的IEEE 802.11的DCF(Distributed Coordination Function)MAC协议。

此外,还实现了无线传感器网络(WSN)所使用的IEEE 802.15标准。

(2)802.11的MAC控制采用的是CSMA/CA (通过物理载波检测和虚拟载波检测[NAV网络分配矢量,表示媒介空闲剩余时间值]策略的结合);而以太网802.3的MAC控制采用是CSMA/CD。

2.2、移动节点的创建
创建无线网络的模拟场景最主要的就是创建移动节点。

移动节点的创建与有线节点的创建不同。

主要的区别是:在创建移动节点之前,必须对移动节点进行配置。

创建一个移动节点的方法:
步骤一:调用模拟器对象ns的内部过程node-config{}对移动节点进行配置。

步骤二:调用模拟器对象ns的内部过程node{}正真地创建移动节点。

2.3、移动节点的运动
NS2中,移动节点可以在一个三维的拓扑中运动,然而实际上第三维(z轴)并没有被使用。

这样移动节点就在一个z=0的二维平面中运动。

有两种方法使移动节点运动:
(1)确定节点的起始位置和终止位置,然后通过调用节点对象的内部过程setdest{}使节点从起始位置向终止位置移动。

注意:
通常将设置节点运动的代码存放在一个单独的场景文件中。

NS2也提供了setdest工具用来随机生成无线网络所需要的节点的运动场景文件。

当节点较多时,使用setdest工具自动产生节点的运动场景给Tcl编程人员带来了极大的方便。

[Attention!] 代码中的setdest是node对象的一个内部过程,而后面的setdest工具是NS2用来自动生成节点运动场景的工具,两者的含义完全不同。

一个是内部过程,而另一个是工具。

代码自动生成以后,可以在Tcl脚本中使用source命令引入所生成文件中的代码,即:source scen-filename 但是在使用的时候必须要保证两点:
1,source scen-filename这行代码必须放在创建移动节点之后;
2,自动产生的代码中的node数组、模拟器对象、god对象必须已经在Tcl脚本中创建并且名称相同。

这样才可以直接使用。

(2)使用start命令使节点随机运动。

$mobilenode是移动节点对象,start命令能使移动节点从随机位置开始随机运动,终止位置和移动速度都是随机产生的。

[总结] 创建一个无线网络模拟场景的步骤
(1)创建一个拓扑对象,设定移动节点运动的范围。

(2)配置节点,调用模拟器对象ns的内部过程node-config{}配置节点。

(3)创建一个god对象,动态地保存各移动节点之间的连接关系。

(4)调用模拟器对象ns的node{}内部过程创建移动节点。

(5)调用god对象的set-dist{}过程,设置各节点之间的最短跳数。

(6)使用上面两种方法引发节点运动。

[3] NS2的无线网络的路由代理
在NS2中实现了4种Ad Hoc无线路由协议:
表驱动路由协议
(1)DSDV——是传统的距离向量算法的改进版本
按需路由协议
(2)DSR——包含路由发现和路由维护
(3)AODV——是DSR和DSDV的结合
(4)TORA
在NS2中,无线节点的Adhoc routing属性有4个可选值(DSDV、DSR、AODV、TORA),可以根据需要在配置节点时选择合适的路由算法。

[4] 无线网络的能量模型和无线传播模型
4.1、无线网络能量模型
NS2中实现的能量模型是一个节点的属性,它显示了移动主体的能量水平。

在模拟开始时,节点的能量模型有一个初始值initialEnergy_。

移动节点在发送数据和接受数据时都有能量消耗。

在NS2中,可以通过txPower_ 和rxPower_ 这两个属性分别设定节点发送数据和接受数据时的能量消耗。

4.2、无线传播模型:
NS2支持3种无线传播模型:Free Space、Two Ray Ground和Shadowing模型。

这些传播模型是移动节点用来预测接收到的每个分组的信号能量。

无线传播模型也是节点的一个属性,可以在节点配置时进行设定。

Free Space(自由空间传播模型)是无线电波传播的最简单的模型,无线电波的损耗只和传播距离和电波频率有关系;在给定信号的频率的时候,只和距离有关系。

在实际传播环境中,还要考虑环境因子n,则公式简化为L=38.45+10*n*log(dBm)。

n一般根据环境可取2~5之间。

注意:
NS2提供threshold工具用来计算在某种传输模型下,如何设定接收功率阀值来控制无线传输的范围。

(需要用gcc对源文件进行编译)
[5] 无线Trace
无线Trace的格式有两个版本:老版本和修订版
1.老版本的Trace格式
目前,无线模拟的Trace支持使用cmu-trace对象,该对象有三种类型,分别为:CMUTrace/Drop、CMUTrace/Recv
和CMUTrace/Send。

在无线模拟时,分别用来记录代理、路由器、MAC层或接口队列产生的丢失、接收和发送分组的事件信息。

每条记录有20栏。

[6].无线网络性能评估的指标
1、分组投递率:应用层信宿接收到分组数与信源发送的分组数之比,反映了网络传输的可靠性,投递率越高,可靠性越大. Packet Delivery Fraction = 目的节点收到的数据包的个数/源节点发送的数据包的个数.
2、端到端的平均时延:批一个数据分组从源节点的IP层到目的节点的IP层所需要的平均时间.包括路由发现时延/队列中的等待时延/传输时延/MAC层重传时延,反映了路由的有效性.
Average End-End Delay = sum(接收到数据包的时间-发送包的时间)/发数据包的个数
3、归一个的路由开销:每发送一个数据分组所需要的路由控制分组数.使用归一化路由开销即路由分组数更能说明协议的开销.
Normalized rooting load = 用于路由发现和路由维护控制包的个数/接收到的数据包的个数
4、路由发现频率:每秒发起路由发现的次数.
Route discovery frequency = 路由发现次数/仿真时间。

相关主题