为了定义仿真场景,需要一种配置仿真器的方法。ONE 用配置文件来初始化仿真场景。 键值可以是字符串、数字值、或者类名。键名被分组到不同的命名空间中,所以在不同的上 下文环境中,同一个 key 可以有不同的值。
通过配置文件给出所有仿真环境的参数。这些配置文件的格式通常是些包含键—值对的
txt 类型,Namespace.key =value 是大多数变量的语法。
注释可以存在于配置文件中,一个注释以“#”开始。配置文件可以有多个,也可省略, 不管运行什么配置文件,ONE 总是会读取 default_setting.txt,它是默认配置文件,default.txt 文件中的一部分或全部的设置可以被用户自定义的配置文件覆盖。若省略配置文件,则 ONE 从默认的配置文件中读取仿真配置。若未省略,则 ONE 从指定配置文件中逐行读取,并重载 与默认配置文件相同的配置命令。
Scenario.nrofHostGroups: 指明场景中有多少个不同的主机组。
groupID: 定义主机组的标识符,可以使用一个字符或者字符串。在 GUI 视图和仿真报告 中,主机名以组标识符作为前缀,主机的完整名字为 groupID+networkAddress。
nrofHosts: 定义主机中主机数量的多少。
transmitRange: 定义主机的无线电通信范围,单位是 m。
transmitSpeed: 定义主机的无线电通信速度,单位是字节每秒(Byte/s)。 movementModel: 定义组内所有主机的移动模型,必须是移动模型包内的一个有效类名。 speed: 定义节点的移动速度,是一个速度区间,即最小速度和最大速度,中间用逗号分
隔开,单位是 m/s。
bufferSize: 定义节点缓存空间的大小,单位是字节。当缓存空间满时,节点不能再接受 任何新消息,除非它将缓存内的一些消息丢弃。
router: 定义用来进行消息路由的路由模块,同样必须是路由包内的一个有效类名。
msgTtl: 消息的生存周期。定义消息在仿真中能够存活的时间,单位是仿真分钟(simulated minute)。节点每隔一分钟检查一次缓存区,将生存周期耗尽的消息丢弃。如果未定义消息 的生存周期,则默认使用一个无限大的生存周期。
本科毕业设计说明书 第 7 页
3 DTN 路由协议的比较研究
3。1 协议分类
时延容忍网络中的路由算法都有不同的应用场景和路由优化目标,因此他们的出发点和 实现机理差别很大。DTN 路由的分类方法也千差万别,可以将节点间接触的可预测性划分为 三类:完全不可预测、完全可预测、部分可预测,并根据这一原则将非基础设施辅助路由算 法相应的分为复制策略路由算法(replication strategy routing)、转发策略路由算法(forwarding strategy routing)和混合策略路由算法(hybrid strategy routing)。如图 3。1 所示。
图 3。1 DTN 路由协议分类
另一种常见方式是以知识(knowledge)和复制(replication)为出发点来分类,以网络信 息为基础进行的路由选择叫做知识;以传输报文的若干拷贝为基础的路由选择叫做复制。由 此又可继续把路由分类:转发(forwarding)和洪泛(flooding)。还可以把路由根据连接确 定性分类为:随机性连接(stochastic)和确定性连接(deterministic)。
转发:通过网络拓扑选择消息的最佳传输路径,报文在最佳传输路径所经过的节点上进 行转发。文献综述
第 8 页 本科毕业设计说明书 基于ONE仿真平台的DTN网络路由协议分析研究(4):http://www.youerw.com/jisuanji/lunwen_84818.html