APP下载

可任意灵活接入的虚实网络融合仿真方法*

2018-01-24王晓静夏群峰王晓锋

传感器与微系统 2018年1期
关键词:网络拓扑实物报文

王晓静, 夏群峰, 王晓锋

(1.江南大学 物联网工程学院, 江苏 无锡 214122;2.江南计算技术研究所, 江苏 无锡 214000)

0 引 言

虚实网络融合的仿真技术可有效兼顾评估平台的性能与逼真度[1~3],因此,成为当前研究的热点。文献[4]讲述了综合分布式网络模拟技术以及基于虚拟化的网络仿真技术,实现了模拟、仿真融合的实验平台,进一步重点研究了网络模拟与网络仿真的同步问题。文献[5]在实现了模拟、仿真融合的网络实验平台的基础上,重点研究了网络模拟与仿真的同步技术以及高性能仿真模型。文献[6]摒弃了HLA/RTI 的同步机制,实现了模拟器与实物网络交替推进同步的分布式模拟机制。文献[7]在实现了一种基于QualNet 模拟器与实物互联互通方法的基础上,重点关注了基于隧道模式与解析模式的虚实报文互通技术。文献[8]重点关注了真实软件可无缝应用于模拟器的时钟同步方法。文献[9]重点关注了虚实结合仿真技术中报文解析与重构以及基于动态路由的报文转发技术。文献[3,10]实现了一种基于ARP 欺骗、报文捕获与构造的并行模拟器与实物设备互联互通的方法。文献[11]通过虚拟网卡桥接的虚实对接设计完成了物理网络和仿真网络边界节点的连通。总体看来,当前大部分虚实网络融合的仿真技术均基于网络模拟器的实现,虽然在融合方面重点考虑了同步机制以及虚实报文构造方法,但均存在缺乏考虑任意灵活接入实物设备的接入方法的问题。

本文在重点描述了虚实网络融合仿真系统的体系结构并实现了其功能的基础上,针对前期研究中存在的问题,提出了一种可任意灵活接入的虚实网络融合仿真方法,并通过具体网络拓扑实例深入阐述并验证了该方法的正确性和有效性。

1 虚实网络融合仿真系统的体系架构

虚实网络融合仿真系统由NS3模拟仿真网络、虚实网络融合仿真平台和物理设备3部分组成。其体系结构如图1所示。

图1 虚实网络融合仿真系统

1.1 NS 3模拟仿真网络

NS3[12~14]主要用于模拟仿真节点,构造多仿真节点组成的仿真网络拓扑,其中的仿真节点既可以作为发送方,也可以作为接收方,用于完成对虚拟报文的发送或接收。如图1所示,通过平台的灵活接入模块选择仿真网络中的任意仿真节点作为发送端,真实节点作为接收端,从而实现虚实链路间的通信过程。

1.2 虚实网络融合仿真平台

该平台是整个虚实网络融合仿真系统中最重要的部分,依附于实物设备运行,如图1所示,该平台与接入端设备(物理设备和NS3仿真节点)相连,主要通过MPI,Libnet,Libpcap等技术实现接入端设备的灵活任意接入、报文检测、报文解析、重构转发等功能,实现端与端之间的业务和数据信息的交互,完成双向代理功能。

1.3 物理设备

物理设备指真实节点,同样既可以作为发送端也可以作为接收端,用于完成对真实报文的发送或接收。当进行实虚相互通信时,即真实节点作为发送端,仿真节点作为接收端,同理完成实虚链路间的相互通信。

2 链路仿真的灵活构建

2.1 链路构建的虚实仿真平台

如图1所示,虚实网络融合仿真平台主要包括4个模块,进行虚实链路构建时的通信流程如图2所示,各模块的详细功能介绍如下:

1)灵活接入模块:根据用户的需求,灵活选择虚实网络中的任意两节点作为发送端节点和接收端目的节点。

2)报文检测模块:作用于通过虚实网络融合仿真平台进行真实节点到仿真节点通信时,利用Libpcap技术检测平台流经的数据报文,若为平台需要,则交由报文解析模块;则,丢弃。

3)报文解析模块:对流经该模块的数据报文进行处理,解析数据报文的类型、格式及内容,并交由重构转发模块。

4)重构转发模块:利用NS3内部机制或Libnet技术将流经该模块的数据报文重构为大小、类型、内容一致的且下一段链路能够识别的报文,然后利用MPI机制或Libnet技术发送重构报文到接收目的节点。

与文献[3]相比,虚实网络融合仿真平台在加入灵活接入模块的基础上,通过对该平台设置与仿真节点一致的网络地址,摒弃ARP模块,避免了不断寻址的问题,通过节省模拟时间,大幅提高了模拟效率。

2.2 任意灵活接入方式的实现过程

灵活接入,指将虚实仿真网络中的节点通过虚实网络融合仿真平台,构建出相应的虚实链路,其任意节点均可通过灵活接入模块完成隔离网络间的通信,网络间的任意节点均可成为发送方或者接收方;对于一定拓扑结构的隔离网络而言,经过灵活接入的接口可实现不同虚实链路间的任意切换。如图3所示。

实现原理:用户进行隔离网络间通信时,在读取预设定的网络拓扑构建配置文件后,通过灵活接入接口获取用户外部的灵活配置信息,该端口对配置信息进行处理,并根据不同的灵活配置信息对虚实平台内部相对应的网络节点进行不同的应用设置,然后开启通信进程,完成接入网络源节点与目标网络目的节点间的通信;到达目标网络节点后,若需完成不同链路间的通信,则通过灵活接入接口重新获取外部配置信息,即可实现另一链路的通信过程,实现不同链路间的通信切换。

2.3 关键技术—MPI机制

并行分布式离散事件仿真(MPI)[15],作为标准的消息传递接口,可以实现单一的仿真程序在多个处理器上的分布执行,从而将仿真程序拆分为多个逻辑进程,并且不同的逻辑进程由不同的处理器完成,最终完成不同宿主机仿真节点间的虚拟通信。如图4(a),(b) 运行相同的程序,在图4(a)中执行进程1,即节点A发送报文到A′,A′作为图4(b)中接收端节点B的映射节点;同理,在图4(b)中B′仅作为节点A的映射节点,执行进程2,即节点B接收来自映射点B′实质为节点A发送的数据报文。这种方法与传统的Socket通信相比大幅提高了大规模仿真事件的处理能力和物理设备的可用性。

图4 跨宿主机间的MPI通信原理

3 实验分析与验证

实验使用2台Windows物理主机和2台Linux服务器,其中一台服务器运行虚实网络融合仿真平台,另一台服务器运行NS3网络模拟器,用来构造仿真网络。为验证灵活接入方式的可行性,接入多个设备节点包括:物理主机A(192.168.1.190)、物理主机B(192.168.1.129)、仿真节点1~7,其中A,B为真实节点,节点1~7为NS3网络模拟器模拟出的仿真节点,图5左侧为构建的仿真网络拓扑。

分别选取仿真网络拓扑中节点4和节点6作为发送端,主机A和主机B作为目的端,采用灵活接入方式,完成不同虚实节点间链路的相互通信。

配置过程:如图5所示,针对接入设备的多个节点中,首先启动虚实网络融合仿真平台,读取预设的网络拓扑配置文件,同时根据平台所提示的发送端和目的端的地址IP选项信息,即仿真节点1~7,真实节点A,B,终端选择仿真节点4作为发送端,物理主机A作为目的端,自动将选择的数据信息生成配置文件,平台通过读取该配置文件,完成用户所选择的节点间的通信;选择仿真网络拓扑中的节点6和真实节点B分别作为发送端和目的端,只需重新选择该平台提供的发送端和目的端的地址选项信息自动生成新配置文件,平台读取该文件即可完成新的虚实链路间的通信,实现了不同设备的灵活接入。

图5 虚实网络间网络拓扑图

1)PING命令的虚实通信测试

选择图5中仿真节点4为发送端,物理主机A为接收端。实验结果如图6所示。

图6 仿真节点与真实节点的数据报文对比

图6(a)为TcpDump跟踪仿真节点4获取到虚拟数据报文,图6(b)为主机A通过Wireshark工具获取到的真实数据报文,数据报文的成功获取,表明了采用灵活接入方式可以成功实现虚实链路间的相互通信,同时经过详细对比发现,两者的数据报文的类型、大小、内容等完全一致,表明了数据报文在虚实网络中的传输与物理网络中的传输结果一致,保证了仿真结果的真实性。

2)基于TCP的Web访问测试

选择图5中物理主机B为请求方,仿真节点6为应答方,并在B上安装Fiddler Web Server客户端,在仿真节点6编写测试网页,假设物理B通过Fiddler能够访问到测试网页,则证明完成了实物网络到仿真网络的完整通信。

图7(a)为Fiddler通过端口8088向目的仿真节点6发送请求报文的页面状态,图的上部分显示HTTP(GET)报文的信息,下部分显示来自仿真节点6的HTTP(OK)应答报文的内容;图7(b)为接收HTTP(OK)应答报文后打开的测试页面,测试页面的正常显示不仅表明了实物网络与虚拟网络的通信,还可以在虚实通信的基础上进行具体的网络实验。

图7 Fiddler访问仿真节点的实验结果

实验结果表明:针对网络拓扑中的多个接入端设备,完成隔离网络间通信的前提下,利用灵活的接入方法,可以成功实现同一拓扑下不同虚实链路间通信的任意切换,验证了本文方法的可行性。

4 结束语

在实现了虚实网络融合仿真平台功能的基础上,重点提出并实现了接入端设备可任意灵活接入该平台的接入方法,并通过实例验证了该方法可有效提高网络仿真链路构建的灵活性。

[1] Andel T R,Stewart K E,Jeffrey H W.Using virtualization for cyber security education and experimentation[C]∥Proceedings of the14th Colloquium for Information Systems Security Education,Maryland,Baltimore,USA:IEEE,2010:130-136.

[2] Liu N,Carothers C,Cope J,et al.Model and simulation of exascale communication networks[J].Journal of Simulation,2012,6(6):227-236.

[3] 费海强,郝志宇,云晓春,等.一种实现实物设备无缝接入网络模拟器的系统及方法:中国,103078769A[P].2013—05—01.

[4] Jin D,Zheng Y,Nicol D M.A parallel network simulation and virtual time-based network emulation testbed[J].Journal of Simulation,2014,8(3):206-214.

[5] Erazo M A,Liu J.Leveraging symbiotic relationship between simulation and emulation for scalable network experimenta-tion[C]∥Proceedings of the2013ACM SIGSIM Conference on Principles of Advanced Discrete Simulation,ACM,2013:79-90.

[6] 张建军,韦 涛,田永春,等.分布式半实物网络仿真系统及其半实物接口控制方法:中国,101645813[P].2010—02—10.

[7] 栗 苹,龚 鹏,孔杰军,等.一种面向QualNet 网络半实物仿真的实物接入方法:中国,103200190A[P].2013—07—10.

[8] 林思明,王景飞,程学旗,等.一种离散事件网络模拟环境的时钟同步方法:中国,102662428A[P].2012—09—12.

[9] 赵 刚,况晓辉,郑纬民.LDS脆弱性分析实验环境体系结构研究与实现[J].清华大学学报:自然科学版,2011,51(12):1824-1830.

[10] 韦 涛,田永春,姜永广.基于协同的半实物网络仿真系统设计[J].通信技术,2011,44(12):64-66.

[11] 李广荣.基于NS—3的虚实网络结合系统的设计与实现[D].哈尔滨:哈尔滨工业大学,2015.

[12] NS—3manual[EB/OL].http:∥www.nsnam.org,2015—05—13.

[13] Riley G F,Henderson T R.Modeling & tools for network simulation[M].Berlin Heidelberg:Springer-Verlag,2010:55-57.

[14] Font J L,Ińigo P,Domínguez M,et al.Analysis of source code metrics from ns-2and ns-3network simulators[J].Simulation Modelling Practice & Theory,2011,19(5):1330-1346.

[15] Stoffers M,Riley G.Hybrid simulation of packet-level networks and functional-level routers[C]∥Proceedings of the26th ACM/IEEE International Conference on Principles of Advanced and Distributed Simulation (PADS),IEEE,2012:111-119.

猜你喜欢

网络拓扑实物报文
带你学习实物电路图的连接
基于J1939 协议多包报文的时序研究及应用
基于通联关系的通信网络拓扑发现方法
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
能量高效的无线传感器网络拓扑控制
当手绘遇上实物
基于Arduino控制的半实物模拟驾驶系统
劳斯莱斯古斯特与魅影网络拓扑图
实物与宣传不符,卖方担责吗?