一种支持动态创建的半实物仿真通信方法技术

技术编号:38687030 阅读:12 留言:0更新日期:2023-09-02 23:00
本发明专利技术公开了一种支持动态创建的半实物仿真通信方法,属于通信网络仿真技术领域。传统的基于OMNeT++仿真平台的半实物仿真通常使用单一Socket通信方法,不支持根据不同仿真场景灵活分配TCP和UDP的通信套接口的数量、类型。本发明专利技术在实现了TCP和UDP接口模块复用的基础上,支持根据规划的仿真场景文件内容,动态分配TCP和UDP的通信套接口的数量、类型,采取轮循检测的方式,有效降低仿真平台从本地网卡接收报文时延,为实现仿真平台与通信设备、外部业务应用软件的互联互通提供重要保障。部业务应用软件的互联互通提供重要保障。部业务应用软件的互联互通提供重要保障。

【技术实现步骤摘要】
一种支持动态创建的半实物仿真通信方法


[0001]本专利技术属于通信网络仿真
,特别涉及网络仿真平台的半实物通信方法,可用于对外连接设备进行半实物仿真,或用于需要将网络仿真平台集成到其他软件与系统的场景。

技术介绍

[0002]OMNeT++是开源的基于组件的模块化的开放网络仿真平台,它采用面向对象的方法进行建模与仿真,可支持多种有线与无线通信协议进行网络仿真。
[0003]随着半实物仿真技术的兴起,基于OMNeT++仿真平台的半实物仿真技术也得到了广泛应用。但是,传统的基于OMNeT++仿真平台的半实物仿真通常使用单一Socket通信方法,不支持根据不同仿真场景动态分配TCP和UDP的通信套接口的功能。

技术实现思路

[0004]针对现有技术中的缺陷,本专利技术提出一种支持动态创建的半实物仿真通信方法,该方法可以克服现有OMNeT++网络仿真中半实物通信接口数量可拓展性差、无法同时支持TCP、UDP传输协议、多套接口接收报文时延大的问题。
[0005]为了实现上述目的,本专利技术采用的技术方案为:
[0006]一种支持动态创建的半实物仿真通信方法,包括以下步骤:
[0007](1)在OMNeT++仿真软件中配置与导调软件通信的UDP接口模块,用于接收导调软件下发的网络拓扑文件和与通信设备、应用业务软件通信的Socket配置文件;
[0008](2)OMNeT++仿真软件接收并读取用于仿真的网络拓扑文件和Socket配置文件内容,在仿真网络中加入节点、链路和对应数量的TCP、UDP接口模块;
[0009](3)根据接收的TCP和UDP接口的IP地址和端口号,按照数量和类型,分别进行本地网卡Socket绑定操作;
[0010](4)启动仿真,所有TCP接口开启监听,接收外部软件客户端TCP连接请求,建立TCP连接;
[0011](5)仿真端接收外部应用业务软件报文,完成业务仿真流程后,将报文发至接收方的应用业务软件;
[0012](6)仿真结束后,关闭所有的套接口,包括TCP接口和UDP接口。
[0013]进一步地,步骤(2)具体包括以下步骤:
[0014](201)读取网络节点文件内容,加入节点模块,设置节点属性,节点属性包括节点号;
[0015](202)读取网络链路文件内容,根据不同信道类型,选择相应信道连接各个节点,设置速率、带宽、误码率、时延参数;
[0016](203)读取Socket配置文件内容,根据Socket接口类型和数量,加入相应数量的TCP接口模块或者UDP接口模块,如果某些网络节点具备和外界通信功能,则将该节点号写
入到对应的接口模块参数表中。
[0017]进一步地,步骤(3)具体包括以下步骤:
[0018](301)读取UDP接口信息内容,包括本地和对端的IP地址和端口号,调用bind()函数,完成所有UDP接口绑定;
[0019](302)读取TCP接口信息内容,包括本机服务器的IP地址和端口号,调用bind()函数,完成所有TCP接口绑定。
[0020]进一步地,步骤(4)具体包括以下步骤:
[0021](401)使用select()函数轮询读取各套接口上的待接收报文;
[0022](402)通过内部接口模块解析报文,生成回执报文;
[0023](403)调用send()函数发送TCP确认报文;
[0024](404)完成TCP握手过程,建立TCP连接。
[0025]进一步地,步骤(5)具体包括以下步骤:
[0026](501)仿真端将接收到的应用报文进行解析,得到源节点号,发至拓扑中的源节点;
[0027](502)源节点的网络层查询路由表,得到下一跳通信方式,封装应用报文并发送至对应通信设备的接口层;
[0028](503)设备接口层再次对报文进行封装,通过调用对应的UDP接口模块,将报文发送至对应通信设备;
[0029](504)仿真内部目的节点从通信设备收到应用报文后,调用对应的TCP模块,将应用报文发至接收方的应用业务软件。
[0030]本专利技术相比
技术介绍
的优点在于:
[0031]1.传统的基于OMNeT++仿真平台的半实物仿真通常使用单一Socket通信方法,不支持根据不同仿真场景灵活分配TCP和UDP的通信套接口的数量、类型。本专利技术实现了基于OMNeT++仿真平台的多种半实物接口通信功能,支持TCP、UDP套接口同时使用。
[0032]2.本专利技术基于非阻塞式Socket编程方法,有效降低从套接口接收报文时延。
[0033]3.本专利技术可根据不同网络仿真场景,灵活分配与通信设备和外部软件的半实物通信模块,解决了同一类通信模块无法复用问题。
附图说明
[0034]图1是本专利技术的原理框图;
[0035]图2是半实物接口模块生成流程图;
[0036]图3是支持多半实物接口的实时事件调度流程图;
[0037]图4是轮询检测Socket模块流程图。
具体实施方式
[0038]下面结合附图和具体实施例对本专利技术做进一步详细的说明。
[0039]一种支持动态创建的半实物仿真通信方法,包括以下步骤:
[0040](1)在OMNeT++仿真软件中配置与导调软件通信的UDP接口模块,用于接收导调软件下发的网络拓扑文件和与通信设备、应用业务软件通信的Socket配置文件。
[0041](2)OMNeT++仿真软件接收并读取用于仿真的网络拓扑文件和Socket配置文件内容,在仿真网络中加入节点、链路和对应数量的TCP、UDP接口模块。
[0042](3)根据接收的TCP和UDP接口信息(IP地址和端口号),按照数量和类型,分别进行本地网卡Socket绑定操作。
[0043](4)启动仿真,所有TCP接口开启监听,接收外部软件客户端TCP连接请求,建立TCP连接。
[0044](5)仿真端接收外部应用业务软件报文,完成业务仿真流程后,将报文发至接收方的应用业务软件。
[0045](6)结束仿真,关闭所有的套接口,包括TCP接口和UDP接口。
[0046]步骤(2)包括以下内容:
[0047](201)读取网络节点文件内容,加入节点模块,设置节点属性,包括节点号等内容。
[0048](202)读取网络链路文件内容,根据不同信道类型,选择相应信道连接各个节点,设置速率、带宽、误码率、时延等参数等内容。
[0049](203)读取Socket配置文件内容,根据Socket接口类型和数量,加入相应数量的TCP接口模块或者UDP接口模块,如果某些网络节点具备和外界通信功能,则将该节点号写入到对应的接口模块参数表中。
[0050]步骤(3)包括以下内容:
[0051](301)读取UDP接口信息内容,包括本地和对端的IP地址和端口号,调用b本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种支持动态创建的半实物仿真通信方法,其特征在于,包括以下步骤:(1)在OMNeT++仿真软件中配置与导调软件通信的UDP接口模块,用于接收导调软件下发的网络拓扑文件和与通信设备、应用业务软件通信的Socket配置文件;(2)OMNeT++仿真软件接收并读取用于仿真的网络拓扑文件和Socket配置文件内容,在仿真网络中加入节点、链路和对应数量的TCP、UDP接口模块;(3)根据接收的TCP和UDP接口的IP地址和端口号,按照数量和类型,分别进行本地网卡Socket绑定操作;(4)启动仿真,所有TCP接口开启监听,接收外部软件客户端TCP连接请求,建立TCP连接;(5)仿真端接收外部应用业务软件报文,完成业务仿真流程后,将报文发至接收方的应用业务软件;(6)仿真结束后,关闭所有的套接口,包括TCP接口和UDP接口。2.根据权利要求1所述的一种支持动态创建的半实物仿真通信方法,其特征在于,步骤(2)具体包括以下步骤:(201)读取网络节点文件内容,加入节点模块,设置节点属性,节点属性包括节点号;(202)读取网络链路文件内容,根据不同信道类型,选择相应信道连接各个节点,设置速率、带宽、误码率、时延参数;(203)读取Socket配置文件内容,根据Socket接口类型和数量,加入相应数量的TCP接口模块或者UDP接口模块,如果某些网络节点具备和外界通信功能,则将该节点号...

【专利技术属性】
技术研发人员:宋晓倩王昕羽赵阳吴丹肖永剑张永涛于晓磊李梓杨
申请(专利权)人:中国电子科技集团公司第五十四研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1