Reading Notes on NS2(13)
来源:互联网 发布:mac画架构图 编辑:程序博客网 时间:2024/05/21 18:45
无线网络的模拟
[1] 无线网络概述
无线网络是指以无线信道作为传输媒介的计算机网络,它直接利用电磁波在空中发送/接收数据,无需线缆介质,目前为止数据传输速率已经能够达到54Mbps,传输距离可达20km。
目前无线网络可以分为两类:
(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等无线网络进行模拟,还可以模拟有线和无线混合的复杂网络。
移动节点的结构
无线模型的核心是移动节点(Mobile Node),它代表实际无线网络中的站点(Station, STA)。
移动节点是由一系列的网络构建构成的,这些构件包括:LL, ARP, IFq, Mac, NetIF (详见P.91图3.23)
注意:
(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。
移动节点的创建
创建无线网络的模拟场景最主要的就是创建移动节点。移动节点的创建与有线节点的创建不同。
主要的区别是:在创建移动节点之前,必须对移动节点进行配置。
创建一个移动节点的方法:
步骤一:调用模拟器对象ns的内部过程node-config{}对移动节点进行配置。
步骤二:调用模拟器对象ns的内部过程node{}正真地创建移动节点。
移动节点的运动
NS2中,移动节点可以在一个三维的拓扑中运动,然而实际上第三维(z轴)并没有被使用。这样移动节点就在一个z=0的二维平面中运动。
有两种方法使移动节点运动:
(1)确定节点的起始位置和终止位置,然后通过调用节点对象的内部过程setdest{}使节点从起始位置向终止位置移动。
注意:
通常将设置节点运动的代码存放在一个单独的场景文件中。NS2也提供了setdest工具用来随机生成无线网络所需要的节点的运动场景文件。当节点较多时,使用setdest工具自动产生节点的运动场景给Tcl编程人员带来了极大的方便。
[Attention!] 代码中的setdest是node对象的一个内部过程,而后面的setdest工具是NS2用来自动生成节点运动场景的工具,两者的含义完全不同。一个是内部过程,而另一个是工具。setdest工具的用法见P.94
代码自动生成以后,可以在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] 无线网络的能量模型和无线传播模型
无线网络能量模型
NS2中实现的能量模型是一个节点的属性,它显示了移动主体的能量水平。在模拟开始时,节点的能量模型有一个初始值initialEnergy_。移动节点在发送数据和接受数据时都有能量消耗。在NS2中,可以通过 txPower_ 和 rxPower_ 这两个属性分别设定节点发送数据和接受数据时的能量消耗。
无线传播模型
NS2支持3种无线传播模型:FreeSpace、TowRayGround和Shadowing模型。
这些传播模型是移动节点用来预测接收到的每个分组的信号能量。
无线传播模型也是节点的一个属性,可以在节点配置时进行设定。
注意:
NS2提供threshold工具用来计算在某种传输模型下,如何设定接收功率阀值来控制无线传输的范围。(需要用gcc对源文件进行编译,见P.100)
[5] 无线Trace
无线Trace的格式有两个版本:老版本 和 修订版
详见P.102
[6] 无线网络模拟实例
模拟的范围区域为1000m*1000m,共有3个移动节点。在节点0和节点2之间建立一条CBR/UDP的连接。在模拟时间200s时,节点1开始从位置(500,500)移动到(500,900),然后在500s时,再从位置(500,900)移动到(500,100)。全部的模拟时间为1000s。拓扑为:
0 (350,500) 150m 1 (500,500) 150m 2 (650,500)
- Reading Notes on NS2(13)
- Reading Notes on NS2(1)
- Reading Notes on NS2(2)
- Reading Notes on NS2(3)
- Reading Notes on NS2(4)
- Reading Notes on NS2(5)
- Reading Notes on NS2(6)
- Reading Notes on NS2(7)
- Reading Notes on NS2(8)
- Reading Notes on NS2(9)
- Reading Notes on NS2(10)
- Reading Notes on NS2(11)
- Reading Notes on NS2(12)
- Reading Notes on NS2(8)
- Reading Notes on "Dive Into Python"
- Reading Notes on《Code Complete 2nd》
- Reading Notes
- Reading Notes
- reactos操作系统实现(140)
- WEB.XML配置数据库
- 位软件工程师的7年总结,借此导航自己人生
- 刚刚来,,多多关照
- SQL:如何把多行查询结果,作为一行返回
- Reading Notes on NS2(13)
- Begin to swear
- mysql变量类型
- yaokaosle
- Blog要停止几天,冲刺日本语二级!
- “赢在中国”点评人给80后年轻人的30个忠告
- File Download Tips for asp.net
- sentinel安装错误
- Silverlight应用程序模型