多模异构DTN网络模拟验证系统及方法转让专利

申请号 : CN201410030144.1

文献号 : CN103763142B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 邝育军林沐姚显青吴斌伟王健

申请人 : 电子科技大学

摘要 :

本发明公开了一种多模异构DTN网络模拟验证系统及方法,采用控制工作站和模拟工作站的分布式架构,通过虚拟DTN场景模块根据预设的DTN场景生成虚拟DTN节点属性信息和仿真事件队列,主控模块选择模拟工作站上的模拟DTN节点模块来模拟虚拟DTN节点,模拟DTN节点模块根据仿真事件进行模块间的通信,根据在模拟运行情况生成模拟运行数据,虚拟DTN场景模块根据整个模拟运行过程中所有模拟DTN节点模块的模拟运行数据计算网络性能指标值。模拟运行过程中控制工作站与模拟工作站的信息交互通过主控模块和受控模块完成。本发明可以较为真实地反应模拟的多模异构DTN网络的性能,并且可以进行大规模多模异构DTN的模拟验证。

权利要求 :

1.一种多模异构DTN网络模拟验证系统,其特征在于包括控制工作站和模拟工作站,控制工作站包括主控模块、虚拟DTN场景模块,模拟工作站包括受控模块、模拟DTN节点模块,其中:主控模块用于接收各模拟工作站受控模块发送的注册信息,根据注册信息和虚拟DTN场景模块发送的虚拟DTN节点属性信息,为模拟工作站分配模拟DTN节点,每个模拟DTN节点对应一个虚拟DTN节点,根据分配情况生成模拟DTN节点配置信息并发送给对应模拟工作站的受控模块,模拟DTN节点配置信息包括分配给模拟工作站的模拟DTN节点数量及对应的虚拟DTN节点的属性信息;根据各受控模块反馈的所属模拟工作站中参与模拟验证的所有模拟DTN节点模块的网络地址与EID号、通信接口模式的映射信息生成模拟验证的“网络地址-EID号与通信接口模式”映射表发送给各受控模块;根据虚拟DTN节点的分配情况,将虚拟DTN场景模块发送的仿真事件按照对应模拟DTN节点模块所属的模拟工作站进行分类,将仿真事件分发给对应的受控模块;将受控模拟反馈的模拟DTN节点模块的模拟运行数据汇总并转发给虚拟DTN场景模块;

虚拟DTN场景模块用于根据预设的DTN场景模型生成虚拟DTN节点属性信息、仿真事件队列和仿真结束事件并发送给主控模块,虚拟DTN节点属性信息包括EID号、通信接口模式和数量,仿真事件携带执行时间戳,仿真结束事件携带模拟验证结束时间戳;

受控模块用于将对应的模拟工作站注册信息发送给主控模块,注册信息包括模拟工作站的网络地址和模拟DTN节点模块信息;接收来自主控模块的模拟DTN节点配置信息,启动相应的模拟DTN节点模块,并将模拟DTN节点模块的属性信息设置为对应虚拟DTN节点的属性信息;汇总所属模拟工作站中参与模拟验证的模拟DTN节点模块的网络地址与EID号、通信接口模式的映射信息并反馈给主控模块,将主控模块返回的“网络地址-EID号与通信接口模式”映射表转发给所属模拟工作站中参与模拟验证的所有模拟DTN节点模块;将主控模块转发来的仿真事件队列根据模拟DTN节点模块进行分类并发送给相应的模拟DTN节点模块,并将主控模块转发来的仿真结束事件转发给所属模拟工作中参与模拟验证的所有模拟DTN节点模块;汇总所属模拟工作站中参与模拟验证的所有模拟DTN节点模块的模拟运行数据,反馈给主控模块;

模拟DTN节点模块配置至少一种通信接口模式,在被启动后,根据其属性信息生成自身对应的网络地址与EID号、通信接口模式的映射信息,并反馈给受控模块;在接收到仿真事件后,按照执行时间戳顺序,依次根据仿真事件与其他模拟DTN节点模块按照“网络地址-EID号与通信接口模式”映射表建立连接并进行通信,根据仿真结束事件的模拟验证结束时间戳结束模拟,生成其在整个模拟运行过程中的模拟运行数据并发送给受控模块。

2.根据权利要求1所述的多模异构DTN网络模拟验证系统,其特征在于,所述虚拟DTN场景模块还包括场景可视化子模块,用于对DTN场景进行显示。

3.根据权利要求1所述的多模异构DTN网络模拟验证系统,其特征在于,所述控制工作站和模拟工作站分别设置有时间同步模块,各模拟工作站根据控制工作站的时间同步模块的时间进行同步。

4.根据权利要求3所述的多模异构DTN网络模拟验证系统,其特征在于,所述控制工作站的时间同步模块为NTP时间服务器模块,所述模拟工作站的时间同步模块为NTP客户端授时监控模块。

5.基于权利要求1所述的多模异构DTN网络模拟验证系统的多模异构DTN网络模拟验证方法,其特征在于,包括以下步骤:

S1:各个模拟工作站的受控模块向控制工作站的主控模块发送模拟工作站注册信息,包括该模块工作站的网络地址和模拟DTN节点模块信息;

S2:控制工作站的虚拟DTN场景模块根据预设的DTN场景模型生成虚拟DTN节点属性信息、仿真事件队列和仿真结束事件,发送给主控模块,虚拟DTN节点属性信息包括EID号、通信接口模式和数量,仿真事件携带执行时间戳,仿真结束事件携带模拟验证结束时间戳;

S3:主控模块根据接收到的注册信息和虚拟DTN节点属性信息,为模拟工作站分配模拟DTN节点,每个模拟DTN节点对应一个虚拟DTN节点,根据分配情况生成模拟DTN节点配置信息并发送给对应的模拟工作站的受控模块,模拟DTN节点配置信息包括分配给模拟工作站的模拟DTN节点数量及对应的虚拟DTN节点的属性信息;

S4:受控模块接收到模拟DTN节点配置信息后,启动相应的模拟DTN节点模块,并将模拟DTN节点模块的属性信息设置为对应虚拟DTN节点的属性信息;模拟DTN节点模块根据其属性信息生成自身对应的网络地址与EID号、通信接口模式的映射信息,并反馈给受控模块;

受控模块将所属模拟工作站所属模拟工作站中参与模拟验证的模拟DTN节点模块的网络地址与EID号、通信接口模式的映射信息进行汇总,并反馈给主控模块;主控模块生成“网络地址-EID号与通信接口模式”映射表,并通过受控模块转发给参与模拟验证的所有模拟DTN节点模块;

S5:主控模块将接收到的仿真事件队列按照对应模拟DTN节点所属的模拟工作站进行分类,形成多个仿真事件队列,发送给相应的受控模块,受控模块接收到仿真事件队列后,按照对应的模拟DTN节点模块进行分类并发送给相应的模拟DTN节点模块;主控模块将仿真结束事件通过受控模块转发给参与模拟验证的所有模拟DTN节点模块;

S6:模拟DTN节点模块在接收到仿真事件后,按照执行时间戳顺序,依次根据仿真事件与其他模拟DTN节点模块按照“网络地址-EID号与通信接口模式”映射表建立连接并进行通信,根据仿真结束事件的模拟验证结束时间戳结束模拟,生成其在整个模拟运行过程中的模拟运行数据并通过受控模块转发给主控模块;

S7:主控模块将参与模拟验证的所有模拟DTN节点模块的模拟运行数据汇总并转发给虚拟DTN场景模块,虚拟DTN场景模块根据模拟运行数据计算网络性能指标值并输出。

6.根据权利要求1所述的多模异构DTN网络模拟验证方法,其特征在于,所述每个模拟工作站在整个模拟验证过程中以控制工作站的时间为标准进行同步。

说明书 :

多模异构DTN网络模拟验证系统及方法

技术领域

[0001] 本发明属于计算机网络仿真技术领域,更为具体地讲,涉及一种多模异构DTN网络模拟验证系统及方法。

背景技术

[0002] 延迟容忍网络(delay torrent networks,DTN)是一种高移动性、通信连接间歇的异构网络,由多个DTN域组成,每个域各自运行不同的通信协议。通过Bundle协议的“存储-携带-转发”机制,允许不同的网络进行信息交互。评价路由算法和通信协议等在DTN中的网络性能的传统测试方法基本分为两类:软件仿真、实况模拟实验。
[0003] 软件仿真都要对仿真原型系统进行简化建模,以利于降低计算复杂度和软件实现,这将导致网络性能的仿真结果跟真实网络相比误差比较大,但是成本比较低,是评价网络性能的主要测试方法。DTN仿真软件主要有NS2、dtnsim2、ONE等,这些都是基于离散事件引擎的集中式仿真软件,而且都只支持对DTN网络的部分特征进行仿真。NS2能比较好地支持物理层等的仿真,但是对DTN网络的移动模型支持的不够好。dtnsim2是专门支持DTN网络环境的,但它主要是支持路由算法仿真。ONE是目前比较流行的DTN网络仿真软件,它能很好的支持移动模型、路由算法的仿真,但是无法体现数据流在物理层中的性能。
[0004] 实况模拟实验是在现实世界中搭建一定规模的DTN网络环境进行测试,以反映路由算法等在真实网络中的性能。实况模拟实验的成本比较高,无法普及使用。目前DTN实况模拟实验主要是利用开源软件DTN2,该软件已集成了bundle协议和LTP/TCP/UDP等汇聚层协议,能很好的支持数据流在真实的物理环境中传输,但是不支持移动模型和网络带宽、丢包、延时等网络条件以及多模通信接口。同时由于硬件依赖,对实测环境中的节点数量有限制,因此该软件只能作为一个组件使用。
[0005] 由以上分析可以看出,目前关于DTN网络的仿真和模拟软件由于软件本身或硬件依赖的限制,功能都比较单一,无法很好的支持DTN网络场景并准确评估算法和协议等在网络中的性能,同时在网络节点数量方面有限制,无法适应大规模多模异构DTN网络的需求。

发明内容

[0006] 本发明的目的在于克服现有技术的不足,提供一种多模异构DTN网络模拟验证系统及方法,更加真实地反映路由算法和通信协议等在DTN网络中的性能,并且能够支持大规模DTN网络。
[0007] 为实现上述发明目的,本发明包括控制工作站和模拟工作站,控制工作站包括主控模块、虚拟DTN场景模块,模拟工作站包括受控模块、模拟DTN节点模块,其中:
[0008] 主控模块用于接收各模拟工作站受控模块发送的注册信息,根据注册信息和虚拟DTN场景模块发送的虚拟DTN节点属性信息,为模拟工作站分配模拟DTN节点,每个模拟DTN节点对应一个虚拟DTN节点,根据分配情况生成模拟DTN节点配置信息并发送给对应模拟工作站的受控模块,模拟DTN节点配置信息包括分配给模拟工作站的模拟DTN节点数量及对应的虚拟DTN节点的属性信息;根据各受控模块反馈的网络地址与EID号、通信接口模式的映射信息生成“网络地址-EID号与通信接口模式”映射表并发送给各受控模块;根据虚拟DTN节点的分配情况,将虚拟DTN场景模块发送的仿真事件按照对应模拟DTN节点模块所属的模拟工作站进行分类,将仿真事件分发给对应的受控模块;将受控模块反馈的模拟DTN节点模块的模拟运行数据汇总并转发给虚拟DTN场景模块;
[0009] 虚拟DTN场景模块用于生成根据预设的DTN场景模型生成虚拟DTN节点属性信息、仿真事件队列和仿真结束事件并发送给主控模块,虚拟DTN节点属性信息包括EID号、通信接口模式和数量,仿真事件携带执行时间戳,仿真结束事件携带模拟验证结束时间戳;
[0010] 受控模块用于将对应的模拟工作站注册信息发送给主控模块,注册信息包括模拟工作站的网络地址和模拟DTN节点模块信息;接收来自主控模块的模拟DTN节点配置信息,启动相应的模拟DTN节点模块,并将模拟DTN节点模块的属性信息设置为对应虚拟DTN节点的属性信息;汇总参与模拟验证的模拟DTN节点模块的网络地址与EID号、通信接口模式的映射信息并反馈给主控模块,将主控模块返回的“网络地址-EID号与通信接口模式”映射表转发给所属模拟工作站中参与模拟验证的所有模拟DTN节点模块;将主控模块转发来的仿真事件队列根据模拟DTN节点模块进行分类并发送给相应的模拟DTN节点模块,以及将主控模块转发来的仿真结束事件转发给所属模拟工作中参与模拟验证的所有模拟DTN节点模块;汇总所属模拟工作站中参与模拟验证的所有模拟DTN节点模块的模拟运行数据,反馈给主控模块;
[0011] 模拟DTN节点模块配置至少一种通信接口模式,在被启动后,根据其属性信息生成自身对应的网络地址与EID号、通信接口模式的映射信息,并反馈给受控模块;在接收到仿真事件后,按照执行时间戳顺序,依次根据仿真事件与其他模拟DTN节点模块按照“网络地址-EID号与通信接口模式”映射表建立连接并进行通信,根据仿真结束事件的时间戳结束模拟,生成其在整个模拟运行过程中的模拟运行数据并发送给受控模块。
[0012] 进一步地,虚拟DTN场景模块还包括场景可视化子模块,用于对DTN场景进行显示。
[0013] 进一步地,控制工作站和模拟工作站分别设置有时间同步模块,各模拟工作站根据控制工作站的时间同步模块的时间进行同步。
[0014] 进一步地,所述控制工作站的时间同步模块为NTP时间服务器模块,所述模拟工作站的时间同步模块为NTP客户端授时监控模块。
[0015] 本发明还提供一种多模异构DTN网络模拟验证方法,包括以下步骤:
[0016] S1:各个模拟工作站的受控模块向控制工作站的主控模块发送模拟工作站注册信息,包括该模块工作站的网络地址和模拟DTN节点模块信息;
[0017] S2:控制工作站的虚拟DTN场景模块根据预设的DTN场景模型生成虚拟DTN节点属性信息、仿真事件队列和仿真结束事件,发送给主控模块,虚拟DTN节点属性信息包括EID号、通信接口模式和数量,仿真事件携带执行时间戳,仿真结束事件携带模拟验证结束时间戳;
[0018] S3:主控模块根据接收到的注册信息和虚拟DTN节点属性信息,为模拟工作站分配模拟DTN节点,每个模拟DTN节点对应一个虚拟DTN节点,根据分配情况生成模拟DTN节点配置信息并发送给对应的模拟工作站的受控模块,模拟DTN节点配置信息包括分配给模拟工作站的模拟DTN节点数量及对应的虚拟DTN节点的属性信息;
[0019] S4:受控模块接收到模拟DTN节点配置信息后,启动相应的模拟DTN节点模块,并将模拟DTN节点模块的属性信息设置为对应虚拟DTN节点的属性信息;模拟DTN节点模块根据其属性信息生成自身对应的网络地址与EID号、通信接口模式的映射信息,并反馈给受控模块;受控模块将所属模拟工作站所属模拟工作站中参与模拟验证的模拟DTN节点模块的网络地址与EID号、通信接口模式的映射信息进行汇总,并反馈给主控模块;主控模块生成“网络地址-EID号与通信接口模式”映射表,并通过受控模块转发给参与模拟验证的所有模拟DTN节点模块;
[0020] S5:主控模块将接收到的仿真事件队列按照对应模拟DTN节点所属的模拟工作站进行分类,形成多个仿真事件队列,发送给相应的受控模块,受控模块接收到仿真事件队列后,按照对应的模拟DTN节点模块进行分类并发送给相应的模拟DTN节点模块;主控模块将仿真结束事件通过受控模块转发给参与模拟验证的所有模拟DTN节点模块;
[0021] S6:模拟DTN节点模块在接收到仿真事件后,按照执行时间戳顺序,依次根据仿真事件与其他模拟DTN节点模块根据“网络地址-EID号与通信接口模式”映射表建立连接并进行通信,根据仿真结束事件的模拟验证结束时间戳结束模拟,生成其在整个模拟运行过程中的模拟运行数据并通过受控模块转发给主控模块;
[0022] S7:主控模块将参与模拟验证的所有模拟DTN节点模块的模拟运行数据汇总并转发给虚拟DTN场景模块,虚拟DTN场景模块根据模拟运行数据计算网络性能指标值并输出。
[0023] 进一步地,每个模拟工作站在整个模拟验证过程中以控制工作站的时间为标准进行同步。
[0024] 本发明多模异构DTN网络模拟验证系统及方法,采用控制工作站和模拟工作站的分布式架构,通过虚拟DTN场景模块根据预设的DTN场景模块生成虚拟DTN节点属性信息和仿真事件队列,主控模块选择模拟工作站上的模拟DTN节点模块来模拟虚拟DTN节点,模拟DTN节点模块根据仿真事件进行模块间的通信,根据模拟运行情况生成模拟运行数据,虚拟DTN场景模块根据整个模拟运行过程中所有模拟DTN节点模块的模拟运行数据计算网络性能指标值。模拟运行过程中控制工作站与模拟工作站的信息交互通过主控模块和受控模块完成。
[0025] 本发明具有以下有益效果:
[0026] (1)与软件仿真相比,本发明在模拟运行过程中各模拟DTN节点模块产生了实际通信,得到的模拟运行数据更接近真实情况,并且通过模拟工作站的分布设置也可以使网络架构更接近真实情况,从而真实地反映路由算法和通信协议等在DTN网络中的性能;
[0027] (2)与实况模拟实验相比,本发明可以通过调整参与模拟验证的模拟DTN节点模块的数量来适应不同网络规模的需求,在大规模DTN网络的模拟验证上具有明显的优势;
[0028] (3)本发明在模拟运行过程中,除了模拟DTN节点模块之间的通信外,控制工作站和模拟工作站之间的信息交互通过主控模块和受控模块进行汇总和分发,从而减少网络连接数量,降低网络压力。

附图说明

[0029] 图1是本发明多模异构DTN网络模拟验证系统的结构示意图;
[0030] 图2是本发明多模异构DTN网络模拟验证系统的硬件网络示例图一;
[0031] 图3是本发明多模异构DTN网络模拟验证系统的硬件网络示例图二;
[0032] 图4是图1所示多模异构DTN网络模拟验证系统启动阶段流程图;
[0033] 图5是图1所示多模异构DTN网络模拟验证系统模拟验证阶段流程图。

具体实施方式

[0034] 下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
[0035] 实施例
[0036] 图1是本发明多模异构DTN网络模拟验证系统的结构示意图。如图1所示,本发明多模异构DTN网络模拟验证系统采用分布式架构,包括控制整个DTN网络模拟验证系统的控制工作站1和至少一台用于模拟物理DTN网络节点的模拟工作站2,本实施例中,控制工作站1包括主控模块11、虚拟DTN场景模块12、NTP时间服务器模块13,模拟工作站2包括受控模块21、模拟DTN节点模块22、NTP客户端授时监控模块23。每个模拟工作站2承载至少一个模拟DTN节点模块22,每个模拟DTN节点模块22对应实际DTN网络中的一个物理DTN节点。
[0037] 控制工作站1可以和模拟工作站2共用实体工作站,也可以单独使用一个实体工作站。模拟工作站2可以由实体工作站承担,也可以由实体工作站上的虚拟机软件形成的虚拟工作站承担。实体工作站需要能够保证其承担的控制工作站1和模拟工作站2能够通信,在地理位置上没有限制。图2是本发明多模异构DTN网络模拟验证系统的硬件网络示例图一。如图2所示,实体工作站可以分散分布在网络的不同地理空间,如因特网环境不同局域网中的,以充分利用远程硬件资源。图3是本发明多模异构DTN网络模拟验证系统的硬件网络示例图二。如图3所示,实体工作站可以集中分布在网络的同一地理空间,如实验室环境同一局域网中,以方便管理。实体工作站对硬件的配置没有严格的要求,只要支持模拟验证系统的相关模块运行即可,可以是服务器、笔记本电脑、普通台式主机,甚至是移动终端。可见,本发明多模异构DTN网络模拟验证系统对网络规模没有限制,只需要增减参与模拟验证的模拟DTN节点模块22的数量,就可以满足不同规模的网络模拟验证需求。
[0038] 下面详细说明本发明多模异构DTN网络模拟验证系统的各个模块:
[0039] 主控模块11,用于接收各模拟工作站2受控模块21发送的注册信息,根据注册信息和虚拟DTN场景模块12发送的虚拟DTN节点属性信息,为模拟工作站分配模拟DTN节点,每个模拟DTN节点对应一个虚拟DTN节点,根据分配情况生成模拟DTN节点配置信息并发送给对应模拟工作站2的受控模块21,模拟DTN节点配置信息包括分配给模拟工作站2的模拟DTN节点数量及对应的虚拟DTN节点的属性信息;根据各受控模块21反馈的所属模拟工作站2中参与模拟验证的所有模拟DTN节点模块22的网络地址与EID号、通信接口模式的映射信息生成参与模拟验证的所有模拟DTN节点模块22的“网络地址-EID号与通信接口模式”映射表发送给各受控模块21,这些映射信息由参与模拟验证的模拟DTN节点模块产生的;根据虚拟DTN节点的分配情况,将虚拟DTN场景模块22发送的仿真事件按照对应模拟DTN节点模块22所属的模拟工作站2进行分类,将仿真事件分发给对应的受控模块21。在模拟结束时,主控模块11需要将受控模拟21反馈的模拟DTN节点模块22的模拟运行数据汇总并转发给虚拟DTN场景模块22。
[0040] 可以看出,主控模块11承担控制工作站1的管理任务。主控模块11在分配虚拟DTN节点时,可以根据实际需要采用趋向集中或趋向分散的分配策略,除了数量外,在分配时还需要考虑虚拟DTN节点和待分配的模拟DTN节点模块22之间的匹配问题,例如模拟DTN节点模块22的通信接口模式和数量是否符合虚拟DTN节点的要求等。
[0041] 虚拟DTN场景模块12,用于生成根据预设的DTN场景模型生成虚拟DTN节点属性信息、仿真事件队列和仿真结束事件并发送给主控模块11。虚拟DTN场景模块12采用软件仿真的运行方式,DTN场景模型可以选用现有仿真软件中的模型,也可以根据需要重新设定。虚拟DTN场景模块12提供了本发明多模异构DTN网络模拟验证系统的模拟验证信息。在实际应用中,可以根据模拟验证需要来设置DTN场景模型中的相关信息,例如路由算法、通信协议、网络规模等。采用预设的DTN场景模型,可以重复再现仿真场景,便于进行模拟验证之间的对比。
[0042] 虚拟DTN节点用于对现实中的物理DTN节点进行模拟,在实际DTN网络中,各个物理DTN节点是不受集中控制的、完全独立的实体,这些实体独立地在现实网络场景中移动并与其它节点传输交换报文。物理DTN节点具备以下的功能:移动模型、路径、报文产生器、建立连接策略、路由功能、根据DTN协议(主要是bundle协议)发送接收报文、缓存策略,记录报文的传输情况等。相应地,在本发明中,虚拟DTN节点属性信息包括DTN节点的类型(固定节点、运动节点等)、EID号、通信接口模式和数量、路由算法、报文产生器、缓存空间大小、缓存策略、建立通信连接策略以及能量大小等。由于本发明是针对多模DTN异构网络的,因此虚拟DTN节点具有至少一个通信接口模式。仿真事件是根据DTN场景模型中的地图模型和虚拟DTN节点的路径和移动模型得到的,包括虚拟DTN节点的激活状态、连通性、带宽、能量控制等状态信息。可见,属性信息是虚拟DTN节点的“静态信息”,而仿真事件是虚拟DTN节点的“动态信息”。仿真事件携带执行时间戳,仿真结束事件携带模拟验证结束时间戳,仿真事件通过EID号来标识对应的虚拟DTN节点。
[0043] 为了便于观察与分析,虚拟DTN场景模块12可以配置一个场景可视化子模块,用于对虚拟DTN场景进行显示,即将模拟的DTN场景在显示设备上显示。
[0044] 受控模块21,与主控模块11类似,承担模拟工作站2的管理任务。在系统启动时,各模拟工作站2上的受控模块21要主动将所属模拟工作站2的注册信息发送给主控模块11,注册信息包括模拟工作站2的网络地址和模拟DTN节点模块信息,模拟DTN节点模块信息包括模拟DTN节点模块22的数量、支持的通信接口模式和数量等等,以便主控模块11进行虚拟DTN节点的分配。
[0045] 受控模块21在接收到主控模块11返回的模拟DTN节点配置信息后,启动相应的模拟DTN节点模块22,并将模拟DTN节点模块22的属性信息设置为对应虚拟DTN节点的属性信息。汇总参与模拟验证的模拟DTN节点模块22的网络地址与EID号、通信接口模式的映射信息并反馈给主控模块11,将主控模块11返回的“网络地址-EID号与通信接口模式”映射表转发给所属模拟工作站中参与模拟验证的所有模拟DTN节点模块22。将主控模块11转发来的仿真事件队列根据模拟DTN节点模块22进行分类并发送给相应的模拟DTN节点模块22,将主控模块11转发来的仿真结束事件转发给所属模拟工作中参与模拟验证的所有模拟DTN节点模块22。在模拟验证结束后,受控模块21汇总所属模拟工作站2上运行的所有模拟DTN节点模块22的模拟运行数据,反馈给主控模块11。
[0046] 模拟DTN节点模块22是模拟验证的执行模块,为了配合虚拟DTN节点需要,配置至少一种通信接口模式。模拟DTN节点模块22在被启动并设置后,根据其属性信息生成自身对应的网络地址与EID号、通信接口模式的映射信息,并反馈给受控模块21。在接收到仿真事件后,按照执行时间戳顺序,依次根据仿真事件与其他模拟DTN节点模块22按照“网络地址-EID号与通信接口模式”映射表建立连接并进行通信,根据仿真结束事件的模拟验证结束时间戳结束模拟,生成其在整个模拟运行过程中的模拟运行数据并发送给受控模块21。
[0047] 模拟DTN节点模块22是根据虚拟DTN的属性信息和DTN通信协议来进行模拟的:根据建立通信连接策略来判断与哪个模拟DTN节点模块建立连接,按照报文产生器产生报文、按照路由策略转发报文以及按照缓存策略删除过期的报文,按照DTN通信协议和通信接口的模式、带宽传输真实的数据流。与仿真软件相比,本发明中模拟DTN节点模块22之间的通信是真实通信,因此得到的模拟运行数据更接近于真实的网络。
[0048] 关于模拟DTN节点模块22的通信接口模式问题,根据虚拟DTN节点属性信息,如果模拟DTN节点模块22是工作在固定单模的状态,则只需要在初始化时将其配置为相应的通信接口模式即可;如果模拟DTN节点模块22是工作在动态单模的状态,则只需要在模拟DTN节点模块22的网络模拟运行过程中,根据仿真事件信息改变为对应通信接口模式即可;如果模拟DTN节点模块22是工作在固定多模的状态,则需要根据通信接口的数量,初始化对应数量的网络地址,这些通信接口工作在多线程的状态。模拟DTN节点模块22在发起通信连接前,根据映射表即可得到对方模拟DTN节点模块22的EID号和通信接口模式对应的网络地址。
[0049] 模拟DTN节点模块22在运行过程中,是按照所属模拟工作站2的操作系统时间处理仿真事件的。但是在实际应用中,不同模拟工作站的操作系统时间可能存在不同步的现象,这将影响在模拟验证系统运行过程中模拟DTN节点模块之间的通信,从而影响模拟验证结果——网络性能指标值的准确度。因此,一种优选方式是在控制工作站1和模拟工作站2分别设置时间同步模块,各模拟工作站根据控制工作站时间同步模块的时间进行同步。目前常用的时间同步技术为NTP(Network Time Protocol,网络时间协议)时间同步技术。本实施例中,控制工作站1的时间同步模块为NTP时间服务器模块13,所述模拟工作站2的时间同步模块为NTP客户端授时监控模块23。NTP时间服务器模块13和NTP客户端授时监控模块23先通过各自对应的主控模块11和受控模块21建立连接,然后NTP客户端授时监视模块23会自动定时更新模拟工作站的操作系统时间,与NTP时间服务器模块13的操作系统时间同步。
[0050] 本发明还提供了一种基于多模异构DTN网络模拟验证系统的多模异构DTN网络模拟验证方法。本实施例中,以图1所示的多模异构DTN网络模拟验证系统(包括NTP时间服务器模块13和NTP客户端授时监控模块23)为例说明多模异构DTN网络模拟验证方法的具体实施过程。为便于描述,此处将模拟验证方法分为两个阶段:系统启动阶段和模拟验证阶段,系统启动阶段主要进行模拟工作站的注册和虚拟DTN节点的分配,模拟验证阶段主要进行网络模拟运行与模拟运行数据采集。
[0051] 图4是图1所示多模异构DTN网络模拟验证系统启动阶段流程图。如图4所示,系统启动阶段包括以下步骤:
[0052] 1)各个模拟工作站的受控模块向控制工作站的主控模块发送模拟工作站的注册信息,注册信息包括该模块工作站的网络地址和模拟DTN节点模块信息,本实施例中还包括时间同步请求信息。
[0053] 2)主控模块接收到注册信息后,向虚拟DTN场景模块发送启动指令。
[0054] 3)主控模块接收到注册信息后,向NTP时间服务器模块发送启动指令。
[0055] 4)虚拟DTN场景模块根据启动指令启动,根据预设的DTN场景模型,初始化仿真场景,生成虚拟DTN节点的属性信息并反馈给主控模块。每个虚拟DTN节点对应一个实际物理DTN节点,虚拟DTN节点的属性信息包括DTN节点的类型(固定节点、运动节点等)、EID号、通信接口模式和数量、路由算法、报文产生器、缓存空间大小、缓存策略、建立通信连接策略以及能量大小等。
[0056] 5)NTP时间服务器模块根据启动指令启动,向主控模块反馈NTP时间服务器信息。
[0057] 6)主控模块根据步骤1)接收到的注册信息和步骤4)接收到的虚拟DTN节点的属性信息,为模拟工作站分配虚拟DTN节点,每个虚拟DTN节点对应一个模拟DTN节点模块,根据分配情况生成模拟DTN节点配置信息,模拟DTN节点配置信息包括分配给模拟工作站的模拟DTN节点数量及对应的虚拟DTN节点的属性信息。
[0058] 7)主控模块将步骤6)生成的模拟DTN节点配置信息分发给对应模拟工作站的受控模块,并将步骤5)中接收到的NTP服务器信息发送给参加模拟验证的所有模拟工作站的受控模块。
[0059] 8)受控模块接收到NTP服务器信息后向NTP客户端授时监控模块发送启动指令,并将NTP服务器信息转发给NTP客户端授时监控模块。
[0060] 9)NTP客户端授时监控模块根据启动指令启动,根据NTP时间服务器信息与NTP时间服务器建立连接并绑定。在之后的模拟验证系统运行过程中,NTP客户端授时监控模块会根据NTP时间服务器的时间,定时更新模拟工作站的操作系统时间,令模拟工作站与控制工作站的时间同步,以令各个模拟工作站的时间同步。
[0061] 10)受控模块接收到模拟DTN节点配置信息后,启动相应的模拟DTN节点模块并初始化,初始化是指将模拟DTN节点模块的属性信息设置为对应虚拟DTN节点的属性信息。
[0062] 11)由于本发明针对的是多模异构DTN网络,每一个模拟DTN节点模块有且仅有一个EID号,但是可以拥有多个通信接口模式,每一个通信接口模式对应一个网络地址,且这些通信接口模式可以处于同时工作状态,从而支持多模异构DTN网络的模拟验证。因此被启动并初始化的模块DTN节点模块根据其属性信息生成其自身对应的网络地址与EID号、通信接口模式的映射信息,并反馈给受控模块。
[0063] 12)受控模块将所属模拟工作站中被启动的参与模拟验证的模拟DTN节点模块的网络地址与EID号、通信接口模式的映射信息进行汇总。
[0064] 13)受控模块将步骤12)中得到的模拟工作站的网络地址与EID号、通信接口模式的映射信息发送给控制工作站的主控模块。
[0065] 14)主控模块收集完所有参与模拟验证的模拟工作站的网络地址与EID号、通信接口模式的映射信息后,生成“网络地址-EID号与通信接口模式”映射表。
[0066] 15)主控模块向参与模拟验证的所有模拟工作站的受控模块发送“网络地址-EID号与通信接口模式”映射表。
[0067] 16)受控模块接收到“网络地址-EID号与通信接口模式”映射表后,转发给该模拟工作站上参与模拟验证的所有模拟DTN节点模块。
[0068] 至此,整个模拟验证系统已启动完毕。此时模拟DTN节点模块处于准备就绪状态,等待仿真事件;而虚拟DTN场景模块虽然启动完毕,但是还没开始运行网络仿真流程。主控模块和受控模块处于监听状态,等待接收和转发仿真事件队列。NTP时间服务器模块和NTP客户端授时监控模块处于绑定运行状态。
[0069] 图5是图1所示多模异构DTN网络模拟验证系统模拟验证阶段流程图。在图5中省略了NTP时间服务器和NTP客户端授时监控模块的时间同步,并且步骤编号继续图4中系统启动阶段的编号。如图5所示,模拟验证阶段包括以下步骤:
[0070] 17)主控模块向虚拟DTN场景模块发送运行仿真指令。
[0071] 18)虚拟DTN场景模块在接收到运行仿真指令后根据预设的DTN场景模型开始仿真,主要是仿真运行虚拟DTN场景的地图模型、虚拟DTN节点的路径和移动模型,得到虚拟DTN节点的激活状态、连通性、带宽、能量控制等状态信息,这些状态信息形成仿真事件队列,仿真事件携带执行时间戳和对应虚拟DTN节点的EID号。
[0072] 19)虚拟DTN场景模块向主控模块发送仿真事件队列。由于虚拟DTN场景模块的仿真运行时间相对于整个模拟验证过程快很多,虚拟DTN场景模块可以待全部仿真事件队列生成完毕后一次性发送给主控模块,也可以分批次发送,本实施例中采用的是分批次发送方式。
[0073] 20)主控模块根据EID号将仿真事件按照对应模拟DTN节点所属的模拟工作站进行分类,形成多个仿真事件队列。
[0074] 21)主控模块向参与模拟验证的模拟工作站的受控模块发送相应的仿真事件队列。
[0075] 22)受控模块接收到仿真事件队列后,按照对应的模拟DTN节点模块进行分类。
[0076] 23)受控模块向所属模拟工作站中参与模拟验证的模拟DTN节点模块发送相应的仿真事件。本发明中,虚拟DTN场景模块在DTN场景模型仿真运行过程中生成的仿真事件,不是直接发送给对应的模拟DTN节点模块,而是通过主控模块和受控模块两级分发。这种模式有助于减少控制工作站和模拟工作站在整个模拟验证过程中的网络连接数量,降低模拟验证系统运行时通信网络的网络连接负担。
[0077] 24)模拟DTN节点模块在系统启动阶段完成初始化后,就进入模拟等待阶段。当接收到仿真事件后,按照执行时间戳顺序,依次根据仿真事件与其他模拟DTN节点模块进行通信。在通信时模拟现实DTN网络中物理DTN节点的通信流程,独立地按照建立通信连接策略判断与哪个模拟DTN节点模块进行通信,按照“网络地址-EID号与通信接口模式”映射表建立连接,按照报文产生器产生报文、按照路由策略转发报文以及按照缓存策略删除过期的报文,按照DTN通信协议和通信接口的模式、带宽传输真实的数据流。
[0078] 25)虚拟DTN场景模块在DTN场景模型仿真运行结束后,生成仿真结束事件,携带模拟验证结束时间戳。仿真结束事件的作用是通知所有参与模拟验证的模拟DTN节点模块当模拟运行到该仿真结束事件的模拟验证结束时间戳时,应停止模拟运行。
[0079] 26)虚拟DTN场景模块将仿真结束事件发送给主控模块。
[0080] 27)主控模块将仿真结束事件转发给所有参与模拟验证的模拟工作站的受控模块。
[0081] 28)受控模块将仿真结束事件转发给所属模拟工作站中参与模拟验证的所有模拟DTN节点模块,模拟DTN节点模块根据仿真结束事件携带的结束时间戳结束模拟。
[0082] 29)参与模拟验证的所有模拟DTN节点模块根据其模拟运行过程中的运行情况,例如报文的产生、发送、接收、丢弃等通信状态信息,生成其在整个模拟运行过程中的模拟运行数据。这些数据表征模拟DTN节点模块在虚拟DTN场景控制下模拟运行过程中的通信交互过程,一定程度上反映物理DTN节点在现实网络场景中的通信交互过程。模拟运行数据可以根据想要得到的网络性能指标值来进行设置。
[0083] 30)每个模拟DTN节点模块将其模拟运行数据发送给所属模拟工作站的受控模块。
[0084] 31)受控模块汇总所属模拟工作站中参与模拟验证的所有模拟DTN节点模块的模拟运行数据。通常为了减少受控模块和主控模块网络连接的次数,受控模块会等到所属模拟工作站中参与模拟验证的所有模拟DTN节点模块的模拟运行数据全部收集完毕后,再一次性发送给主控模块。
[0085] 32)受控模块将其汇总的模拟运行数据发送给主控模块。
[0086] 33)主控模块汇总参与模拟验证的所有模拟工作站的受控模块发送的模拟运行数据。
[0087] 34)主控模块将模拟验证中的所有模拟运行数据转给虚拟DTN场景模块。
[0088] 35)虚拟DTN场景模块根据接收的模拟运行数据,统计计算网络性能指标值并输出,例如报文的成功递交率、开销比例、平均跳数、丢包率等。
[0089] 尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。