CN113110111B - 基于ns3的分布式半实物仿真系统 - Google Patents
基于ns3的分布式半实物仿真系统 Download PDFInfo
- Publication number
- CN113110111B CN113110111B CN202110503870.0A CN202110503870A CN113110111B CN 113110111 B CN113110111 B CN 113110111B CN 202110503870 A CN202110503870 A CN 202110503870A CN 113110111 B CN113110111 B CN 113110111B
- Authority
- CN
- China
- Prior art keywords
- simulation
- physical
- distributed
- node
- communication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B17/00—Systems involving the use of models or simulators of said systems
- G05B17/02—Systems involving the use of models or simulators of said systems electric
Abstract
本发明公开一种基于NS3的分布式半实物仿真系统,应用于网络仿真领域,针对现有的NS3仿真,无法实现既进行分布式仿真又和真实网络中的节点通信的问题;本发明将仿真节点分散在分布式主机中运行,当仿真节点之间的通信在一个主机上时,按照使用的网络协议正常处理;当仿真节点之间的通信需要在不同主机上时,借助分布式协调器来进行,保证网络协议可以正常工作;当通信发生在仿真节点和实物节点上时,直接通过安装在仿真节点上的半实物接口把需要发送的数据发送给物理主机的网卡上,通过物理主机的真实网卡和实物节点进行通信针对仿真节点和实物节点通信。
Description
技术领域
本发明属于网络仿真领域,特别涉及一种分布式半实物仿真技术。
背景技术
NS3(NetworkSimulatorVersion-3)是一个综合了很多优秀模拟器特点的网络模拟器,NS3是免费开源的,在完备性和可扩展性等方面有独特的特点。NS3的功能丰富,集成了几十个模块,对多种网络通信模型及网络协议有很好的支持,同时也为开发者提供了丰富的接口和基类,开发者根据研究需要开发独立的模块,具有很好的扩展性。目前NS3的开源社区也是比较活跃的社区之一。使用NS3仿真小型网络的网络协议,NS3一般使用的是串行仿真,对于简单的网络拓扑通常都是没有问题的,对于需要进行大规模网络仿真而言,官方提供了mpi接口可以进行分布式仿真,对于需要和真实网络中的节点进行通信,官方提供了半实物接口来满足这样的场景,但是如果想同时既进行分布式仿真又想和真实网络中的节点通信,NS3本身是没有提供这样的接口的,同时也无法直接将mpi和半实物接口进行结合。
发明内容
为解决上述技术问题,本发明提出一种基于NS3的分布式半实物仿真系统,针对大规模网络仿真节点采用分布式仿真的方案,针对仿真节点和实物节点通信采用NS3半实物接口的方案,同时设计分布式协调器,来辅助分布式中的节点可以正常运行。
本发明采用的技术方案为:基于NS3的分布式半实物仿真系统,包括若干分布式架构的物理主机,每个物理主机包括一个分布式协调器,在各分布式协调器上安装FdNetDevice网络设备。
还包括,若物理主机上有和真实网络进行直连交互需求的仿真节点,则该仿真节点上安装FdNetDevice网络设备。
真实网络中的实物节点上安装FdNetDevice网络设备。
在仿真启动时,各分布式协调器交互各自物理主机上的仿真节点的拓扑结构。
当分布式协调器收集到完整拓扑后,进入监听状态,监听内容包括:监听器物理主机的仿真节点是否有数据发送、监听拓扑是否发生变化。
当监听到物理主机的仿真节点有数据需要发送时,具体通信包括以下三种情况:
当仿真节点之间的通信在一个物理主机上时,按照使用的网络协议进行处理;
当仿真节点之间的通信需要在不同物理主机上时,通过分布式协调器来进行,具体的:需要传送数据的仿真节点所运行的主机的分布式协调器将需要传送的数据通过半实物接口交送到目的物理主机的分布式协调器;
当通信发生在仿真节点和实物节点之间时,通过安装在仿真节点上的半实物接口把需要发送的数据发送给物理主机的网卡上,通过物理主机的真实网卡和实物节点进行通信。
若监听到拓扑发生变化时,则将该信息发送报文,告知其他分布式协调器。
本发明的有益效果:本发明在多台主机上分别运行大规模网络中的一部分,当仿真节点之间的通信在一个主机上时,按照使用的网络协议正常处理;当仿真节点之间的通信需要在不同主机上时,借助分布式协调器来进行,保证网络协议可以正常工作;当通信发生在仿真节点和实物节点上时,直接通过安装在仿真节点上的半实物接口把需要发送的数据发送给物理主机的网卡上,通过物理主机的真实网卡和实物节点进行通信;采用本发明的方法实现了仿真节点和实物节点的对等通信,以及实现了半实物仿真;本发明的方法包括以下优点:
1、本发明提出的分布式仿真有效的解决了现有仿真受到物理主机资源不足的瓶颈(主要体现在CPU计算能力方面)而不能满足大规模仿真的需求的问题;使得在单机性能有限的情况下,使用多台机器进行分布式仿真,提高仿真的容量;
2、本发明的方法代替之前提到的MPI分布式仿真,实现了同时既进行分布式仿真又和真实网络中的节点通信;
3、可以通过增加分布式主机数量,调节仿真运行时间,保证仿真正常运行;
4、分布式协调器的交互协议具备扩展性。
附图说明
图1为本发明实施例提供的实时分布式仿真示意图;
图2为本发明实施例提供的实物节点和仿真节点连接示意图;
图3为本发明实施例提供的分布式协调器流程图;
图4为本发明实施例提供的分布式协调器状态图。
具体实施方式
为便于本领域技术人员理解本发明的技术内容,下面结合附图对本发明内容进一步阐释。
本发明提供了一种基于NS3的分布式半实物仿真系统,主要针对大规模的无线传感器自组织网络,仿真节点是模拟和实物节点拥有相同网络协议栈的节点即无线传感器节点,下面结合附图对本发明的实现步骤作具体介绍。
NS3提供了两种与物理网络交互的方式,即两种半实物接口的实现:TapBridge和FdNetDevice。
TapBridge:它是NetDevice的一个子类,安装了TapBridge网络设备的节点可以从物理主机中收发分组,这赋予了NS3在模拟网络中测试物理节点协议栈的能力。
FdNetDevice:它也是NetDevice的一个子类,安装了FdNetDevice网络设备的节点可以直接接入物理网络,向远程主机发送分组;其与TapBridge的功能是相反的,使得可以在真实的网络环境中测试NS3协议性能。
因为本发明的目的是测试仿真中协议的性能,故采用FdNetDevice与物理网络交互,设计了使用分布式协调器安装FdNetDevice网络设备,来交互不同主机内仿真的汇聚节点的信息;且由于在使用FdNetDevice网络设备时必须是实时仿真,故采用了实时分布式架构来解决单机资源不足的问题。具体设计如图1,本发明拟采用在四台主机上分别运行有各自的仿真节点,这些在不同主机上运行的仿真节点,虽然物理上是运行在不同主机上,但是在逻辑上,即设计的拓扑中有些仿真节点是邻居,从而保证了即使是在不同主机上运行,但是这些汇聚节点之间还是有交互;其中在主机1中有一个仿真节点安装有FdNetDevice网络设备用来和真实网络进行交互,当然不仅可以只在一个仿真节点安装FdNetDevice网络设备,只要有和真实网络进行直连交互的需求都可以安装FdNetDevice网络设备;同时在每一个主机上有一个分布式协调器,分布式协调器本质上也是仿真系统当中的一个节点,只是不具备正常仿真节点的功能,分布式协调器上安装有FdNetDevice网络设备用来将需要跨主机的数据包按照路由进行递交,对于分布式协调器的具体功能后面会进行详细说明。
如图2,在真实网络中的实物节点上面,本发明也同样安装了一套NS3的协议栈,和运行在物理主机上面的仿真系统相比(图2中N1、N2、N3、N4代表仿真节点),这里只运行一个NS3的仿真节点,在NS3的应用层可以继续沿用仿真中实现的应用,和仿真节点类似的,也是通过一个半实物接口将NS3的上层数据发送给物理网卡,这样实物节点和仿真节点就可以相互通信。
如图3,分布式协调器的工作流程:首先每个主机都有一个分布式协调器,所以在仿真启动的时候,分布式协调器之间需要交互各自主机的仿真节点的拓扑结构,使得每个分布式协调器都具有整个大规模网络的拓扑结构;当汇聚节点有数据发送时,分布式协调器会自己复制一份,查看网络拓扑结构进行判断,找出不在本主机的目的仿真节点,然后通过FdNetDevice进行发送;当目的主机的分布式协调器收到数据后,根据设计的协议中的字段进行判断是不是自己主机中的仿真节点,如果是的话直接交给对应仿真节点进行接收。
如图4,分布式协调器启动后就进入了初始状态,只要一启动分布式协调器就发送同一主机的仿真节点的拓扑信息,然后进入收集状态;此时只要收到收集到了完整拓扑就结束该状态,如果收集完成,则进入监听状态,监听同一主机的仿真节点是否有业务数据发送、拓扑是否有变化,如果有数据或者拓扑有变化就发送报文告知其他分布式协调器。这里的业务数据发射主要指:当仿真节点之间的通信在一个物理主机上时、当仿真节点之间的通信需要在不同物理主机上时、当通信发生在仿真节点和实物节点之间时,这三种情况的业务数据发射。
由于必须要和真实的网络节点进行通信,在NS3半实物接口使用的事件推进机制是实时事件模拟器而在MPI模式下使用的事件推进机制是MPI专有的事件模拟器,又因为事件模拟器在仿真当中是唯一的,必须在上述两者当中二选一,即无法兼容;本发明的的事件推进机制是实时事件模拟器,实现了同时既进行分布式仿真又和真实网络中的节点通信的效果。
本发明还可以通过增加分布式主机数量,调节仿真运行时间,保证仿真正常运行;具体的:由于是实时仿真,即设置的仿真时间就是真实的运行时间,如果仿真运行时间明显慢于设置的运行时间,比如设置的运行时间是200s,但是最后仿真实际运行时间达到了250s,说明当前仿真规模对于主机负载相对严重,那么增加主机数量来减少单机仿真规模,增加的数量根据真实的运行时间来确定,当真实的运行时间和设置的运行时间相差不大时,即可保证仿真正常运行。
本发明的分布式协调器的交互协议具备扩展性,具体的:分布式协调器不仅可以透明转发数据,而且可以根据分布式协调器的交互协议进行扩展,在交互协议中预留了很大空间的报文类型字段,可以根据自己的需求来进行设计,使得兼容性更强。比如我希望获取节点的路由信息,那么可以在分布式协调器的交互协议中设计一种报文类型来交互不同主机中节点的路由信息。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (6)
1.基于NS3的分布式半实物仿真系统,其特征在于,包括若干分布式架构的物理主机,每个物理主机包括一个分布式协调器,在各分布式协调器上安装FdNetDevice网络设备 ;各分布式协调器交互各自物理主机上的仿真节点的拓扑结构;事件推进机制采用实时事件模拟器;
分布式协调器启动后就进入了初始状态,只要一启动分布式协调器就发送同一主机的仿真节点的拓扑信息,然后进入收集状态;此时只要收到收集到了完整拓扑就结束该状态,如果收集完成,则进入监听状态,监听同一主机的仿真节点是否有业务数据发送、拓扑是否有变化,如果有数据或者拓扑有变化就发送报文告知其他分布式协调器。
2.根据权利要求1所述的基于NS3的分布式半实物仿真系统,其特征在于,还包括,若物理主机上有和真实网络进行直连交互需求的仿真节点,则该仿真节点上安装FdNetDevice网络设备。
3.根据权利要求2所述的基于NS3的分布式半实物仿真系统,其特征在于,真实网络中的实物节点上安装FdNetDevice网络设备。
4.根据权利要求3所述的基于NS3的分布式半实物仿真系统,其特征在于,当分布式协调器收集到完整拓扑后,进入监听状态,监听内容包括:监听器物理主机的仿真节点是否有数据发送、监听拓扑是否发生变化。
5.根据权利要求4所述的基于NS3的分布式半实物仿真系统,其特征在于,当监听到物理主机的仿真节点有数据需要发送时,具体通信包括以下三种情况:
当仿真节点之间的通信在一个物理主机上时,按照使用的网络协议进行处理;
当仿真节点之间的通信需要在不同物理主机上时,通过分布式协调器来进行,具体的:需要传送数据的仿真节点所运行的主机的分布式协调器将需要传送的数据通过半实物接口交送到目的物理主机的分布式协调器;
当通信发生在仿真节点和实物节点之间时,通过安装在仿真节点上的半实物接口把需要发送的数据发送给物理主机的网卡上,通过物理主机的真实网卡和实物节点进行通信。
6.根据权利要求5所述的基于NS3的分布式半实物仿真系统,其特征在于,若监听到拓扑发生变化时,则将该信息发送报文,告知其他分布式协调器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110503870.0A CN113110111B (zh) | 2021-05-10 | 2021-05-10 | 基于ns3的分布式半实物仿真系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110503870.0A CN113110111B (zh) | 2021-05-10 | 2021-05-10 | 基于ns3的分布式半实物仿真系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113110111A CN113110111A (zh) | 2021-07-13 |
CN113110111B true CN113110111B (zh) | 2023-02-17 |
Family
ID=76721404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110503870.0A Active CN113110111B (zh) | 2021-05-10 | 2021-05-10 | 基于ns3的分布式半实物仿真系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113110111B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101645813A (zh) * | 2009-09-07 | 2010-02-10 | 中国电子科技集团公司第三十研究所 | 分布式半实物网络仿真系统及其半实物接口控制方法 |
CN101925102A (zh) * | 2010-06-08 | 2010-12-22 | 中国人民解放军理工大学 | 一种采用以太网混杂模式的无线网络拓扑仿真方法 |
CN103093059A (zh) * | 2013-02-05 | 2013-05-08 | 中国电子科技集团公司电子科学研究院 | 一种实时高效的分布式半实物仿真系统构建方法 |
CN104901832A (zh) * | 2015-05-18 | 2015-09-09 | 中国航空无线电电子研究所 | 一种航空自组网半实物网络仿真平台 |
CN105337833A (zh) * | 2015-11-24 | 2016-02-17 | 中国人民解放军理工大学 | 一种支持异构多信道的多跳无线网络拓扑仿真系统 |
CN105488288A (zh) * | 2015-12-07 | 2016-04-13 | 贵州电网公司信息通信分公司 | 一种ns3并行模拟仿真系统 |
CN205336305U (zh) * | 2015-12-07 | 2016-06-22 | 贵州电网公司信息通信分公司 | 一种ns3并行模拟仿真系统用的硬件构架 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105763570A (zh) * | 2016-04-26 | 2016-07-13 | 北京交通大学 | 一种基于虚拟化技术的分布式实时网络仿真系统 |
US9832705B1 (en) * | 2016-09-02 | 2017-11-28 | The University Of North Carolina At Chapel Hill | Methods, systems, and computer readable media for topology management and geographic routing in mobile ad-hoc networks |
CN109618302B (zh) * | 2019-01-25 | 2021-09-07 | 东华大学 | 面向车联网分布式mac协议的新型冲突监督避让策略与方法 |
CN113574517A (zh) * | 2019-03-14 | 2021-10-29 | 李亚东 | 生成分布式系统的规则编译器引擎装置、方法、系统和介质 |
-
2021
- 2021-05-10 CN CN202110503870.0A patent/CN113110111B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101645813A (zh) * | 2009-09-07 | 2010-02-10 | 中国电子科技集团公司第三十研究所 | 分布式半实物网络仿真系统及其半实物接口控制方法 |
CN101925102A (zh) * | 2010-06-08 | 2010-12-22 | 中国人民解放军理工大学 | 一种采用以太网混杂模式的无线网络拓扑仿真方法 |
CN103093059A (zh) * | 2013-02-05 | 2013-05-08 | 中国电子科技集团公司电子科学研究院 | 一种实时高效的分布式半实物仿真系统构建方法 |
CN104901832A (zh) * | 2015-05-18 | 2015-09-09 | 中国航空无线电电子研究所 | 一种航空自组网半实物网络仿真平台 |
CN105337833A (zh) * | 2015-11-24 | 2016-02-17 | 中国人民解放军理工大学 | 一种支持异构多信道的多跳无线网络拓扑仿真系统 |
CN105488288A (zh) * | 2015-12-07 | 2016-04-13 | 贵州电网公司信息通信分公司 | 一种ns3并行模拟仿真系统 |
CN205336305U (zh) * | 2015-12-07 | 2016-06-22 | 贵州电网公司信息通信分公司 | 一种ns3并行模拟仿真系统用的硬件构架 |
Non-Patent Citations (1)
Title |
---|
基于NS-3的大型地震数据传输系统仿真实现;周敏;《中国优秀硕士学位论文全文数据库 信息科技辑》;20190115;1-45 * |
Also Published As
Publication number | Publication date |
---|---|
CN113110111A (zh) | 2021-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2793428B1 (en) | Pcie switch-based server system and switching method and device thereof | |
EP1892929B1 (en) | A method, an apparatus and a system for message transmission | |
EP1871040B1 (en) | Management system and method based on intelligent platform management interface | |
CN100369423C (zh) | 网络仿真测试系统及方法 | |
JP2004062535A (ja) | マルチプロセッサシステムの障害処理方法、マルチプロセッサシステム及びノード | |
CN103125102A (zh) | 用于在中间件机器环境中提供基于无限带宽的以太网虚拟集线器可伸缩性的系统和方法 | |
CN106534178B (zh) | RapidIO网络通用套接字的实现系统及方法 | |
US10372633B1 (en) | Interconnection of peripheral devices on different electronic devices | |
CN110868278B (zh) | 一种轨道交通综合监控系统通信前置机双机冗余的方法 | |
CN115348126A (zh) | 一种网络靶场实体设备接入方法、装置及实现系统 | |
CN102760114A (zh) | 多处理器系统的通信仿真方法、引擎及系统 | |
CN112433826B (zh) | 混合异构虚拟化通信方法及芯片 | |
CN113110111B (zh) | 基于ns3的分布式半实物仿真系统 | |
EP3669502A1 (en) | Methods and systems for reconfigurable network topologies | |
CN101636963A (zh) | 测试网络系统的数据通信性能的方法和装置 | |
US11106359B1 (en) | Interconnection of peripheral devices on different electronic devices | |
CN115913809B (zh) | 数据分发通信方法、系统、计算机设备及存储介质 | |
CN115225708B (zh) | 一种报文转发方法计算机设备及存储介质 | |
US9081743B2 (en) | Communication system and communicaton method | |
Mohamed | Self-configuring communication middleware model for multiple network interfaces | |
CN111090503B (zh) | 一种基于fpga芯片的高性价比云计算服务系统 | |
CN106170022B (zh) | 一种分布式多媒体传感器控制系统 | |
CN116028202A (zh) | 一种在soa架构下的车载中央计算机系统 | |
CN104980371A (zh) | 微服务器 | |
CN116028279A (zh) | 业务数据的传输方法及装置、服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |