无线网络仿真软件使用.docx

上传人:b****6 文档编号:3091051 上传时间:2022-11-17 格式:DOCX 页数:14 大小:708.79KB
下载 相关 举报
无线网络仿真软件使用.docx_第1页
第1页 / 共14页
无线网络仿真软件使用.docx_第2页
第2页 / 共14页
无线网络仿真软件使用.docx_第3页
第3页 / 共14页
无线网络仿真软件使用.docx_第4页
第4页 / 共14页
无线网络仿真软件使用.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

无线网络仿真软件使用.docx

《无线网络仿真软件使用.docx》由会员分享,可在线阅读,更多相关《无线网络仿真软件使用.docx(14页珍藏版)》请在冰豆网上搜索。

无线网络仿真软件使用.docx

无线网络仿真软件使用

无线网络仿真软件使用

——one

1.软件安装准备说明

(1)安装平台:

window8

(2)所需软件:

one_1.5.1.zip(windows版),jdk-8u20-windows-x64.exe(jdk1.8),ActivePerl(windows平台perl解释器),Graphviz(用于将程序生成的数据绘图,程序会生成与graphviz兼容的文件)。

2.软件安装

(1)安装JDK,双击jdk-8u20-windows-x64.exe文件,一直选择默认安装即可。

注意选择一个合适的安装路径即可。

(2)为JDK配置环境变量。

控制面板—>系统与安全—>系统—>高级系统设置—>环境变量中新建一个JAVA_BIN用户变量,如图1所示。

然后在系统变量中找到path变量,把JAVA_BIN添加到path中,并在后面加上“;(注意是英文输入法下的)”,添加完成如图2所示。

点击确定即可。

图1

图2

(3)测试JDK安装成功,打开DOS命令窗口,输入javac,如果在窗口中能够出来一些提示,如图4所示,就说明环境变量注册成功。

如果提示命令不存在,如图3所示,则表示注册不成功。

图3

图4

3.程序的运行

(1)编译源代码。

我的one程序文件夹的路径为E:

\one_1.5.1,在DOS窗口中用cd命令进入one_1.5.1所在的目录,如图5所示。

图5

(2)输入命令编译程序,命令为compile.bat,如图6所示。

图6

(3)执行程序。

输入命令执行程序,命令为one.bat,如图7所示。

将会出现程序图形界面,如图8所示。

此时程序运行成功,并且运行成功地是默认程序。

图7

图8

4.One的进一步学习

首先,从整体上把握ONE的基本框架,如图1-9所示。

从图上可以看出,在ONE中,一个模拟环境包含节点的移动模拟,路由模拟,可视化的界面以及消息报告模块。

移动模型可以通过整合的移动模块产生,也可以通过外部的接口人工导入,模拟产生的消息事件可以导出到报告模块做进一步分析。

节点移动行为通过movementmodels实现,软件已经整合了六种移动模型。

当然也可以自定义自己的移动模型,定义的方法有两种,一种方法通过外部收集的trace集进行导入,trace集有严格的数据格式(比如节点位置(GPS),buffersize,速度等)。

另外一种方法通过一个外部模块接口实现。

路由功能通过routingmodular实现,同样,ONE已经定义了六种路由模型

,这六种路由模型皆为activerouting,为了与外部的其他DTN路由模拟器的路由模型(如dtnsim)交互,或是方便自定义自己的路由算法,ONE特意设定了一个passiverouting接口,如此,方便了ONE路由模型的扩展。

路由模块主要负责消息的传送,包括消息的copy,relay,receive,abort等事件。

消息事件的产生则由eventgenerator负责。

模拟的结果作为输出事件通过simulationengine输入到reportmodular中做进一步分析处理,处理结果再进一步被外部的post-processingtools处理,产生关于本次模拟的统计信息,这些信息可以通过作图工具(如Graphviz和gnuplot)直观地显示出来。

另外,GUI可以显示出整个模拟的场景和节点的状态信息,如:

位置,相遇时间,信息携带者,信息传送的量等。

     各个模块详细记录了当前操作的状态,模块之间通过bus进行通信,共享各模块相互操作的结果。

如节点移动模块可以根据路由模块的状态改变它的移动行为,反过来,路由模块可以基于节点移动模块中的相遇时间调整通信的参数。

图5

4.1Softwarearchitecture

 首先,软件各个模块的package,以及它们之间的交互显示如图10所示。

图6

 每个模块分别对应上面的体系结构,其实现都是继承至一个基类,然后进行自身模块的扩展,corepackage实现了DTN主机以及它们之间的连接关系;guipackage实现和GUI相关的类,playfieldpackage是它的一个子类,负责整个界面的中央部分,ui实现了与用户交互的接口类和基于文本的console接口(传说中的黑框,ONE中也作为模拟界面,名为patch)。

routing实现路由功能,movement实现节点的移动行为,将routing和movement模块产生的结果导入到reportpackage中进行处理,最后,testpackage没有直接和核心模块相连,它主要包含系统测试的相关类,以此来检验模拟的结果是否达到真实的场景需求。

4.2Movementmodels

如图11所示,节点的移动实现都是继承自MovementModel,软件实现了六种基本的移动模型,每种模型的运作机理详见,ExternalMovement模块可以对导入的trace进行操作,trace数据的移动模型一般是基于map的,其数据格式是WKT,换句话说,只有WKT格式,ONE才能识别,有一个工具可以将获取的trace数据格式转化成WKT进行模拟,即一个GIS的开源项目OpenJUMP。

图7

4.3Routingmodels

同样,各路由模块的实现也是继承自MessageRouter,主要实现了六种activerouting, FirstContact,DirectDelivery,SprayandWait(normalandbinary),Epidemic,PRoPHETandMaxPropandwithinreference。

PassiveRouter模块定义了加载其他路由协议的接口。

图8

4.4MobilityModel

从大的方面,可以分为三种:

1)随机移动;

2)基于Map的随机移动;

3)基于用户行为的移动

进一步细分:

1)RandomWalk(RW)

2)RandomWaypoint(RWP)

3)RandomMap-Based Movement(MBM)

4)ShortestPathMap-BasedMovement(SPMBM)

5)RoutedMap-BasedMovement(RMBM).

6)WorkingDayMovementModel(WDM)

所有的移动模型都封装成一个类,继承于MovementModel,提供节点选择新路径的接口,SimMap类中描述了Map数据,DijkstraPathFinder类可以使用这些数据来找到一条最短路径,PointOfInterest类可以从Map数据中选择合理的POI数据点。

模型见初识theONE。

下面分别描述几种模型。

(1)RW:

节点从当前位置随机选择一个方向和速度移动到一个新的位置,方向和速度从一个预先定义的范围里面选择,如:

[speedmin,speedmax],[0,2π].通过一个固定的时间间隔t或固定的距离d之后,节点的方向和速度在重新计算。

如图13所示。

图9

(2)RWP:

该模型类似RW,只不过节点在选择下一个方向和速度时有一段自定义的暂停时间(Pausetime),节点需要在这个节点待一段时间,如图14所示。

图10

(3)MBM:

依托于Map数据,选择一个节点随机地放置在maparea,使其在该路段上行驶,直到到达一个路段终点,然后选择返回或结束,如果节点到达一个十字路口,再随机选择一个方向行驶,如果达到预先配置的距离或时间,停止一段时间,在继续行驶,如果达到目的地,则停止行驶。

(4)SPMBM:

该模型为MBM的升级版,节点从map数据中通过Dijkstra算法找出一条最短的路径,然后沿着这条路径进行行驶。

(5)RBMB:

该模型适用于一些有着预定义的路径的节点,如Bus,train等节点。

其包含了一条路径中所有可能遇到的stop和在stop停止的时间间隔。

(6)WDM:

该模型考虑了用户的行为,包括用户可能sleepingathome,workingatoffice,以及goingoutwithfriendsintheevening等活动。

此外,WDM中引入社交关系和社区(community)的概念。

4.5RoutingModel:

ONE实现了六种路由协议,涵盖了DTN路由协议的所有类型,包括single-copy,n-copy,unlimited-copy以及基于估计的协议。

1)DirectDelivery(DD),

2)FirstContact(FC)

3)Spray-and-Wait,

4)PRoPHET

5)Max-Prop,and

6)Epidemic.

所有的路由协议都封装成一个类,继承于MessageRouter类,该类有两个兄弟类,ActiveRouter和PassiveRouter类,所有实现的六种路由协议皆继承自ActiveRouter类,而PassiveRouter类提供用户自定义的路由协议类的上层接口。

(1)DD:

是一种single-copy的路由协议,只有当携带信息的节点遇到目的节点的时候,才进行数据转发。

(2)FC:

也是一种single-copy的路由协议,携带信息的节点只要遇到一个节点,就进行转发,直到到达目的节点。

这两种方法保证了整个网络中只有一个信息的copy,只要信息转发成功,就将原信息删除,是简单的store-and-forward.虽然节省了网络带宽,但不能提高网络中信息的传送率。

(3)Epidemic:

是一种n-copy的路由协议,泛洪式的信息传播方式,携带信息的节点将自己所有的信息进行泛洪,直到到达目的节点,或TTL时间到进行删除。

(4)Spray-and-Wait:

和Epidemic比较相像,只不过限制信息copy的数量。

这两种方法虽然能提高网络中信息的传送率,但大量消耗网络的资源,如网络带宽和节点的存储能力。

所以,为了权衡上面几种协议之间的利弊,提出了下面基于估计的两种协议。

基于估计的协议的本质的原理是:

通过节点之间维护着一张和其他节点相遇的表,通过概率模型计算,如果两个节点相遇,那么根据他们估计的相遇概率,可以估计它们下次再次相遇的概率,选择相遇概率大的节点进行转发。

(5)PRoPHET:

该协议模型选择和目的节点相遇概率大的节点进行转发。

(6)Max-Prop:

该协议进一步优化,使用相遇概率通过Dijskra算出从一个节点到目的节点的最短路径,选择在最短路径上的节点进行转发。

5.案例演示

5.1案例要求:

模拟无线网络:

100个节点,每个节点随机移动,速度1~2m/s;节点的无线通信设备的覆盖半径10m,传输速率1Mb/s;网络区域:

长5000m,宽5000m;仿真时间:

10000s。

5.2修改参数

(1)如图15所示,设置节点数为100个节点。

如图16所示为前3组中每一组的节点个数;如图17所示为第4组节点个数;如图18所示为第5组节点个数;如图19所示为第6组节点个数。

六组节点个数相加一共是100个。

图15

图16

图17

图18

图19

(2)如图20所示,设置每个节点移动速度为1~2m/s。

图20

(3)如图21所示,设置每个节点的无线通信设备的覆盖半径10m,传输速率1Mb/s。

图21

(4)如图22所示,设置网络区域:

长5000m,宽5000m。

图22

(5)如图23所示,设置仿真时间:

10000s。

图23

(6)配置完成之后在DOS窗口中

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1