当前位置:文档之家› 无线网络仿真软件使用

无线网络仿真软件使用

6)Epidemic.
所有的路由协议都封装成一个类,继承于MessageRouter类,该类有两个兄弟类,ActiveRouter和PassiveRouter类,所有实现的六种路由协议皆继承自ActiveRouter类,而PassiveRouter类提供用户自定义的路由协议类的上层接口。
(1)DD:是一种single-copy的路由协议,只有当携带信息的节点遇到目的节点的时候,才进行数据转发。
5)Routed Map-Based Movement (RMBM).
6)Working Day Movement Model(WDM)
所有的移动模型都封装成一个类,继承于MovementModel,提供节点选择新路径的接口,SimMap类中描述了Map数据,DijkstraPathFinder类可以使用这些数据来找到一条最短路径,PointOfInterest类可以从Map数据中选择合理的POI数据点。模型见初识the ONE。下面分别描述几种模型。
图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所示。
图7
4.3
同样,各路由模块的实现也是继承自MessageRouter,主要实现了六种active routing,First Contact , Direct Delivery, Spray and Wait (normal and binary), Epidemic, PRoPHET and MaxProp and within reference。PassiveRouter模块定义了加载其他路由协议的接口。
无线网络仿真软件使用
——one
1.
(1)安装平台:window 8
(2)所需软件:one_1.5.1.zip(windows版),jdk-8u20-windows-x64.exe(jdk1.8),ActivePerl(windows平台perl解释器),Graphviz(用于将程序生成的数据绘图,程序会生成与graphviz兼容的文件)。
5.2
(1)如图15所示,设置节点数为100个节点。如图16所示为前3组中每一组的节点个数;如图17所示为第4组节点个数;如图18所示为第5组节点个数;如图19所示为第6组节点个数。六组节点个数相加一共是100个。
图15
图16
图17
图18
图19
(2)如图20所示,设置每个节点移动速度为1~2 m/s。
图10
(3)MBM:依托于Map数据,选择一个节点随机地放置在map area,使其在该路段上行驶,直到到达一个路段终点,然后选择返回或结束,如果节点到达一个十字路口,再随机选择一个方向行驶,如果达到预先配置的距离或时间,停止一段时间,在继续行驶,如果达到目的地,则停止行驶。
(4)SPMBM:该模型为MBM的升级版,节点从map数据中通过Dijkstra算法找出一条最短的路径,然后沿着这条路径进行行驶。
图5
(2)输入命令编译程序,命令为compile.bat,如图6所示。
图6
(3)执行程序。输入命令执行程序,命令为one.bat,如图7所示。将会出现程序图形界面,如图8所示。此时程序运行成功,并且运行成功地是默认程序。
图7
图8
4. One
首先,从整体上把握ONE的基本框架,如图1-9所示。从图上可以看出,在ONE中,一个模拟环境包含节点的移动模拟,路由模拟,可视化的界面以及消息报告模块。移动模型可以通过整合的移动模块产生,也可以通过外部的接口人工导入,模拟产生的消息事件可以导出到报告模块做进一步分析。
(5)RBMB:该模型适用于一些有着预定义的路径的节点,如Bus,train等节点。其包含了一条路径中所有可能遇到的stop和在stop停止的时间间隔。
(6)WDM:该模型考虑了用户的行为,包括用户可能sleeping at home, working at office,以及going out with friends in the evening等活动。此外,WDM中引入社交关系和社区(community)的概念。
4.5
ONE实现了六种路由协议,涵盖了DTN路由协议的所有类型,包括single-copy,n-copy,unlimited-copy以及基于估计的协议。
1)Direct Delivery (DD),
2)First Contact (FC)
3)Spray-and-Wait,
4)PRoPHET
5)Max-Prop, and
(1)RW:节点从当前位置随机选择一个方向和速度移动到一个新的位置,方向和速度从一个预先定义的范围里面选择,如:[speedmin, speedmax],[0,2 π].通过一个固定的时间间隔t或固定的距离d之后,节点的方向和速度在重新计算。如图13所示。
图9
(2)RWP:该模型类似RW,只不过节点在选择下一个方向和速度时有一段自定义的暂停时间(Pause time),节点需要在这个节点待一段时间,如图14所示。
节点移动行为通过movement models实现,软件已经整合了六种移动模型。当然也可以自定义自己的移动模型,定义的方法有两种,一种方法通过外部收集的trace集进行导入,trace集有严格的数据格式(比如节点位置(GPS),buffer size,速度等)。另外一种方法通过一个外部模块接口实现。路由功能通过routing modular实现,同样,ONE已经定义了六种路由模型,这六种路由模型皆为active routing,为了与外部的其他DTN路由模拟器的路由模型(如dtnsim)交互,或是方便自定义自己的路由算法,ONE特意设定了一个passive routing接口,如此,方便了ONE路由模型的扩展。路由模块主要负责消息的传送,包括消息的copy,relay,receive,abort等事件。消息事件的产生则由event generator负责。模拟的结果作为输出事件通过simulation engine输入到report modular中做进一步分析处理,处理结果再进一步被外部的post-processing tools处理,产生关于本次模拟的统计信息,这些信息可以通过作图工具(如Graphviz和gnuplot)直观地显示出来。另外,GUI可以显示出整个模拟的场景和节点的状态信息,如:位置,相遇时间,信息携带者,信息传送的量等。
(2)FC:也是一种single-copy的路由协议,携带信息的节点只要遇到一个节点,就进行转发,直到到达目的节点。
这两种方法保证了整个网络中只有一个信息的copy,只要信息转发成功,就将原信息删除,是简单的store-and-forward.虽然节省了网络带宽,但不能提高网络中信息的传送率。
(3)Epidemic:是一种n-copy的路由协议,泛洪式的信息传播方式,携带信息的节点将自己所有的信息进行泛洪,直到到达目的节点,或TTL时间到进行删除。
图24
图25
(7)运行结束后如图26所示。
图26
图20
(3)如图21所示,设置每个节点的无线通信设备的覆盖半径10m,传输速率1Mb/s。
图21
(4)如图22所示,设置网络区域:长5000m,宽5000 m。
图22
(5)如图23所示,设置仿真时间:10000s。
图23
(6)配置完成之后在DOS窗口中运行程序,显示结果如图24所示。放大图片如图25所示。
图8
4.4
从大的方面,可以分为三种:
1)随机移动;
2)基于Map的随机移动;
3)基于用户行为的移动
进一步细分:
1)Random Walk(RW)
2)Random Waypoint(RWP)
3)Random Map-Based Movement (MBM)
4)Shortest Path Map-Based Movement (SPMBM)
2.
(1)安装JDK,双击jdk-8u20-windows-x64.exe文件,一直选择默认安装即可。注意选择一个合适的安装路径即可。
(2)为JDK配置环境变量。控制面板—>系统与安全—>系统—>高级系统设置—>环境变量中新建一个JAVA_BIN用户变量,如图1所示。然后在系统变量中找到path变量,把JAVA_BIN添加到path中,并在后面加上“;(注意是英文输入法下的)”,添加完成如图2所示。点击确定即可。
4.2
如图11所示,节点的移动实现都是继承自MovementModel,软件实现了六种基本的移动模型,每种模型的运作机理详见,ExternalMovement模块可以对导入的trace进行操作,trace数据的移动模型一般是基于map的,其数据格式是WKT,换句话说,只有WKT格式,ONE才能识别,有一个工具可以将获取的trace数据格式转化成WKT进行模拟,即一个GIS的开源项目OpenJUMP。
(5)PRoPHET:该协议模型选择和目的节点相遇概率大的节点进行转发。
(6)Max-Prop:该协议进一步优化,使用相遇概率通过Dijskra算出从一个节点到目的节点的最短路径,选择在最短路径上的节点进行转发。
5.
5.1
模拟无线网络:100个节点,每个节点随机移动,速度1~2 m/s;节点的无线通信设备的覆盖半径10m,传输速率1Mb/s;网络区域:长5000m,宽5000 m;仿真时间:10000s。
(4)Spray-and-Wait:和Epidemic比较相像,只不过限制信息copy的数量。
这两种方法虽然能提高网络中信息的传送率,但大量消耗网络的资源,如网络带宽和节点的存储能力。所以,为了权衡上面几种协议之间的利弊,提出了下面基于估计的两种协议。基于估计的协议的本质的原理是:通过节点之间维护着一张和其他节点相遇的表,通过概率模型计算,如果两个节点相遇,那么根据他们估计的相遇概率,可以估计它们下次再次相遇的概率,选择相遇概率大的节点进行转发。
相关主题