赞
踩
本文参考了 https://www.cnblogs.com/SunSmileCS/archive/2012/12/28/2836927.html
以及https://blog.csdn.net/wb7931021/article/details/41077047
本文属于学习并做笔记,感谢来自博主的分享,如有侵权请联系,定及时删除。
One中的配置文件是设置了整个仿真环境的条件,包括以下内容:
1. 想定参数:
1) 想定名称
2) 是否模拟连接
3) 时间步进
4) 仿真结束时间
2. Interface参数
1) 传输速度
2) 传输范围
3. 节点信息(可以以组为单位对节点进行配置)
1) 移动模型(如随机走动模型、基于地图的运动模型);
2) 数量
3) 缓存大小
4) 等待时间范围
5) 移动速度
6) 消息存活最大时间
4. 路由算法
下面对default_settings.txt进行分析:
- One中的配置文件是设置了整个仿真环境的条件,包括以下内容:
- 1. 想定参数:
- 1) 想定名称
- 2) 是否模拟连接
- 3) 时间步进
- 4) 仿真结束时间
- 2. Interface参数
- 1) 传输速度
- 2) 传输范围
- 3. 节点信息(可以以组为单位对节点进行配置)
- 1) 移动模型(如随机走动模型、基于地图的运动模型);
- 2) 数量
- 3) 缓存大小
- 4) 等待时间范围
- 5) 移动速度
- 6) 消息存活最大时间
- 4. 路由算法
-
- 下面对default_settings.txt进行分析:
-
- #
- # Default settings for the simulation
- #
-
- ## Scenario settings
- #想定名称的作用,主要是生成report文件名称的一部分,
- #最好每次运行的时候加一个编号,以免仿真结束生成的报告覆盖上一次结果。
- Scenario.name = default_scenario
-
- #是否模拟节点连接的动作,
- #true则GUI界面中节点一直在动,而且会显示节点间的连接状况
- Scenario.simulateConnections = true
-
- #时间步进,单位为s,
- #ONE是时间驱动模型,通过累加时间片来模拟时间的推进
- #另一个比较有名的商业网络仿真器OPNET,则是事件驱动,
- #事件驱动就是以事件为单位来模拟时间推进的过程。
- Scenario.updateInterval = 0.1
-
- # 43200s == 12h
- #仿真整个过程持续时间
- Scenario.endTime = 43200
-
- #interface可以理解为DTN节点上的无线网卡,
- #在仿真器中的功能主要是判断两个节点是否连通
- #以及连通的传输速率,常量和变量都可以。
- ## Interface-specific settings:
- # type : 属于interface包中的哪个类,直接写类名称
- # For different types, the sub-parameters are interface-specific
- # 对于SimpleBroadcastInterface, 参数如下:
- # transmitSpeed : interface传输速率 (比特每秒)
- # transmitRange : interface传输范围 (米)
-
- # "Bluetooth" interface for all nodes
- btInterface.type = SimpleBroadcastInterface
- # Transmit speed of 2 Mbps = 250kBps
- btInterface.transmitSpeed = 250k
- btInterface.transmitRange = 10
-
- # High speed, long range, interface for group 4
- highspeedInterface.type = SimpleBroadcastInterface
- highspeedInterface.transmitSpeed = 10M
- highspeedInterface.transmitRange = 1000
-
- # Define 6 different node groups
- Scenario.nrofHostGroups = 6
-
- ## Group-specific settings:
- # One中节点的组织是通过组实现的,属于同一组的所有节点的参数配置一样
- # groupID : Group's identifier. Used as the prefix of host names
- # nrofHosts: number of hosts in the group
- # movementModel: movement model of the hosts (valid class name from movement package)
- # waitTime: minimum and maximum wait times (seconds) after reaching destination
- # speed: minimum and maximum speeds (m/s) when moving on a path
- # bufferSize: size of the message buffer (bytes)
- # router: router used to route messages (valid class name from routing package)
- # activeTimes: Time intervals when the nodes in the group are active (start1, end1, start2, end2, ...)
- # msgTtl : TTL (minutes) of the messages created by this host group, default=infinite
-
- ## Group and movement model specific settings
- # pois: Points Of Interest indexes and probabilities (poiIndex1, poiProb1, poiIndex2, poiProb2, ... )
- # for ShortestPathMapBasedMovement
- # okMaps : which map nodes are OK for the group (map file indexes), default=all
- # for all MapBasedMovent models
- # routeFile: route's file path - for MapRouteMovement
- # routeType: route's type - for MapRouteMovement
-
- #当仿真场景中涉及到多个组,那么可以设置所有组都默认的设置
- #然后在具体每个组再根据自己的特点进行设置,这样的设计可以简化节点配置
- # Common settings for all groups
- Group.movementModel = ShortestPathMapBasedMovement
- Group.router = EpidemicOracleRouter
- Group.bufferSize = 2000M
- Group.waitTime = 0, 120
- # All nodes have the bluetooth interface
- Group.nrofInterfaces = 1
- Group.interface1 = btInterface
- # Walking speeds
- Group.speed = 0.5, 1.5
- # Message TTL of 300 minutes (5 hours)
- Group.msgTtl = 300
-
- Group.nrofHosts = 40
-
- # group1 (pedestrians) specific settings
- Group1.groupID = p
-
- # group2 specific settings
- Group2.groupID = c
- # cars can drive only on roads
- Group2.okMaps = 1
- # 10-50 km/h
- Group2.speed = 2.7, 13.9
-
- # another group of pedestrians
- Group3.groupID = w
-
- # The Tram groups
- Group4.groupID = t
- #Group4.bufferSize = 1000M
- Group4.movementModel = ShortestPathMapBasedMovement
- Group4.routeFile = data/tram3.wkt
- Group4.routeType = 1
- Group4.waitTime = 10, 30
- Group4.speed = 7, 10
- Group4.nrofHosts = 2
- Group4.nrofInterfaces = 2
- Group4.interface1 = btInterface
- Group4.interface2 = highspeedInterface
-
- Group5.groupID = t
- #Group5.bufferSize = 1000M
- Group5.movementModel = ShortestPathMapBasedMovement
- Group5.routeFile = data/tram4.wkt
- Group5.routeType = 2
- Group5.waitTime = 10, 30
- Group5.speed = 7, 10
- Group5.nrofHosts = 2
-
- Group6.groupID = t
- #Group6.bufferSize = 1000M
- Group6.movementModel = ShortestPathMapBasedMovement
- Group6.routeFile = data/tram10.wkt
- Group6.routeType = 2
- Group6.waitTime = 10, 30
- Group6.speed = 7, 10
- Group6.nrofHosts = 2
-
-
- ## 消息生成参数
- # 事件发生器数量
- Events.nrof = 1
- # 事件发生器一的类名
- Events1.class = MessageEventGenerator
- # (following settings are specific for the MessageEventGenerator class)
- #消息生成的时间间隔,(在25~35秒之间生成一个消息)
- Events1.interval = 25,35
- # 消息大小 (500kB - 1MB)
- Events1.size = 500k,1M
- # 消息源节点和目的节点的地址范围
- #(one中节点的地址就是一个整形数字)
- Events1.hosts = 0,125
- # 消息ID前缀
- Events1.prefix = M
-
-
- ## 移动模型的设置
- # seed for movement models' pseudo random number generator (default = 0)
- MovementModel.rngSeed = 1
- # World's size for Movement Models without implicit size (width, height; meters)
- MovementModel.worldSize = 4500, 3400
- # How long time to move hosts in the world before real simulation
- MovementModel.warmup = 1000
-
- ## Map based movement -movement model specific settings
- MapBasedMovement.nrofMapFiles = 4
-
- MapBasedMovement.mapFile1 = data/roads.wkt
- MapBasedMovement.mapFile2 = data/main_roads.wkt
- MapBasedMovement.mapFile3 = data/pedestrian_paths.wkt
- MapBasedMovement.mapFile4 = data/shops.wkt
-
- ## Reports - all report names have to be valid report classes
- #所有报告都是在report包中的类名指定
- #报告的数量,或者最后需要输出多少种报告
- Report.nrofReports = 5
- #启动时间,或者说从什么时候开始收集数据 (模拟器的相对时间,单位是秒)
- Report.warmup = 0
- #报告生成的文件默认存放目录,相对于ONE源码顶级目录开始
- #如果是多次仿真对比结果,需要每一次都修改为不同的目录,以免被覆盖
- #或者修改最开始的Scenario的名称
- Report.reportDir = reports/
- #需要生成哪些报告,每个报告在上面的目录下生成一个txt文件。
- Report.report1 = MessageStatsReport
- Report.report2 = MessageDelayReport
- Report.report3 = MessageDeliveryReport
- Report.report4 = MessageGraphvizReport
- Report.report5 = MessageReport
-
-
- ## Default settings for some routers settings
- ProphetRouter.secondsInTimeUnit = 30
- SprayAndWaitRouter.nrofCopies = 6
- SprayAndWaitRouter.binaryMode = true
-
- ## 优化设置,会影响到仿真的速度
- ## 详细见core.world类
- Optimization.cellSizeMult = 5
- Optimization.randomizeUpdateOrder = true
-
-
- #界面设置
- ## GUI settings
-
- # GUI underlay image settings
- GUI.UnderlayImage.fileName = data/helsinki_underlay.png
- # Image offset in pixels (x, y)
- GUI.UnderlayImage.offset = 64, 20
- # Scaling factor for the image
- GUI.UnderlayImage.scale = 4.75
- # Image rotation (radians)
- GUI.UnderlayImage.rotate = -0.015
-
- # how many events to show in the log panel (default = 30)
- GUI.EventLogPanel.nrofEvents = 100
- # Regular Expression log filter (see Pattern-class from the Java API for RE-matching details)
- #GUI.EventLogPanel.REfilter = .*p[1-9]<->p[1-9]$

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。