APP下载

虚拟化与数字仿真融合的多尺度网络复现技术

2018-05-21吴文燕王晓锋

计算机应用 2018年3期
关键词:网段无缝粒度

吴文燕,姜 鑫,王晓锋,刘 渊

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

0 引言

网络与信息系统安全评估平台为网络安全评估与计算机系统安全评估提供了有力支撑,而网络复现技术[1]是整个平台的基石。近年来,围绕着如何复现大规模网络这个问题,关键技术主要集中在网络模拟、网络仿真和实物测试床三个方面。网络模拟技术具有高度的可扩展性,可模拟超大规模的网络;美国伦斯勒理工学院曾经就基于并行离散事件模拟技术,模拟了百万节点至十亿节点级规模的网络[2];但网络模拟技术依靠相关模型仅仅是模拟系统的一部分功能,难以支撑现实用户的操作和实际网络应用的部署,所构建的虚拟网络在逼真度上具有局限性。相比网络模拟,网络仿真和实物测试床能够有效满足网络实验和评估中对逼真度的要求,但是实物测试床存在成本高、灵活性差等缺点,难以支持大规模网络的研究。加拿大维多利亚大学的Case Lab曾基于1 000个物理服务器仿真了具有10 000台虚拟机规模的网络[3];网络仿真虽然在规模上依旧难以与网络模拟相比,但是超出实物测试床很多。综上而言,网络仿真技术摈弃网络模拟和实物测试床的缺点,集成二者的优点,是一种较为优秀的网络复现技术,但是,如何进一步提高网络研究实验中的大规模性和高逼真性是目前亟须解决的问题,网络模拟与网络仿真融合的网络复现技术可以有效解决以上问题。

融合网络复现技术结合了网络模拟、网络仿真各自的优点,可有效兼顾复现网络的规模和逼真度。文献[4]综合分布式网络模拟技术以及基于虚拟化的网络仿真技术,实现了模拟、仿真相融合的实验平台,重点研究了网络模拟与网络仿真的同步问题,但缺乏考虑网络仿真中的链路仿真。文献[5]重点研究了网络模拟与网络仿真的同步技术以及高性能仿真模型,同样实现了模拟与仿真相结合的实验平台。文献[6] 针对网络实验中路由器仿真的规模性、扩展性以及逼真度的问题,结合虚拟化技术和软件路由技术,提出了一种虚拟化的路由仿真平台设计方法,但是多个虚拟路由器实例会各自维护多个独立的路由表,导致平台的存储空间开销很高,并随着规模的扩大而急剧增长。文献[7]结合高性能大规模网络模拟和高保真网络仿真,使真正的网络应用及协议的实例能在实际操作环境上运行并在模拟的网络设置上被测试,但运行与测试的协议比较单一、缺乏多样性。文献[8-9]结合虚拟化平台技术,通过将物理资源虚拟化,并将多个全功能网络节点和模拟通信链路实体部署在虚拟机层面,设计了一种网络仿真准实验床系统。文献[10]提出了一个集成了轻量级的仿真系统和并行离散事件网络模拟器的网络测试平台,设计了一个全球同步的算法来管理虚拟时间与仿真时间的转换。OpenStack[11]作为当前云计算平台的代表,可实现全虚拟化、轻量级虚拟化仿真,但在两种虚拟化融合的网络仿真方面缺乏考虑,且忽视了数字仿真与上述两种虚拟化仿真无缝融合的问题。当前网络模拟与仿真融合的复现技术重点关注了网络模拟与网络仿真间的同步机制,缺乏对模拟与仿真融合网络的任意灵活构建与融合网络规模性的考虑。

本文针对上述方法和技术存在的缺陷提出了一种基于OpenStack的轻量级虚拟化、全虚拟化和数字仿真三种尺度无缝融合的网络复现技术。首先描述了该技术的体系架构;其次详细介绍了通过该技术构建多尺度融合仿真系统的具体过程以及关键技术;接着对融合仿真系统的透明性、并发性、灵活性、扩展性四个特性进行了详细说明,并通过实验验证了以上四个特性;然后在所构建的大规模多尺度融合仿真系统上进行多种协议的通信测试,证明大规模融合仿真系统的实用性;最后通过一个简单的网安实验验证了融合仿真系统效果评估的有效性。

1 虚拟化与数字仿真融合的复现技术分析

1.1 虚拟化与数字仿真融合的体系架构

如图1所示,虚拟化与数字仿真融合的多尺度复现体系架构是一个基于OpenStack云平台,融合了轻量级虚拟化、全虚拟化、数字仿真三个尺度的网络体系架构。OpenStack的基本架构包括一个控制节点、一个网络节点和若干个计算节点(本文中是3个计算节点),控制节点负责系统的管控功能,网络节点负责提供诸如动态主机配置协议(Dynamic Host Configuration Protocol, DHCP)服务和路由服务等网络服务,计算节点负责为虚拟主机的建立提供资源;其中网络节点只有一块外网网卡,用来连接实物主机,网络节点和控制节点相互独立开来。在OpenStack的计算节点上进行面向三个尺度融合的多粒度配置,融合性多粒度配置是构建多尺度无缝融合仿真系统的基础。无缝融合策略则是连接虚拟化与数字仿真层面和底层OpenStack的桥梁,无缝融合策略配置是否成功,关系着整个平台能否正常运行。

1.2 虚拟化与数字仿真技术性能分析

虚拟化与数字仿真技术已然成为当今计算机领域的热门技术,目前的虚拟化包括完全虚拟化、半虚拟化和基于容器的虚拟化等,其中半虚拟化和基于容器的虚拟化统称为轻量级虚拟化。全虚拟化以基于内核的虚拟机(Kernel-based Virtual Machine, KVM)[12]为代表,KVM虚拟化技术依赖物理CPU和内存,是硬件级别的,功能强大,比较适用于高性能计算服务的云计算环境中作为基础设施即服务(Infrastructure As A Service, IAAS)层的虚拟化部署工作。轻量级虚拟化中以Docker[13]容器作为代表,利用Linux容器(LinuX Container, LXC)实现了类似KVM的功能,从而利用更加节省的硬件资源提供给用户更多的计算资源。和KVM方式不同,LXC不是一套硬件虚拟化方法,而是一个共享Kernel的操作系统级虚拟化方法。通过在执行时不重复加载内核,且虚拟容器与宿主机之间共享内核来提高启动速度和减少内存消耗,减少了系统开销,提高了资源利用率。数字仿真以NS3(Network Simulator version 3)[14-16]为代表,NS3是一个极具特色的新型网络模拟器,具有完备性、开源性、易用性和可扩展性等方面的特色,优于现有的大多数主流网络模拟器。

KVM、Docker、NS3三种仿真技术各有优劣,通过大量文献与前人成果已知,KVM吞吐量、延时等性能优于Docker,且前两者吞吐量、延时等性能均优于NS3,但是由于KVM与Docker占内存大,在保证正常工作的情况下启动个数受内存大小和逻辑CPU个数所限制,所以一个计算节点能够启动的KVM与Docker路由器个数较少。为了满足规模性,而同时又不丢失逼真性,本文创新地提出与实现了KVM、Docker、NS3三种仿真技术在OpenStack平台上的融合。

图1 虚拟化与数字仿真融合的多尺度体系架构 Fig. 1 Multi-scale architecture for fusion of virtualization and digital simulation

2 虚拟化与数字仿真融合的关键技术

2.1 虚拟化与数字仿真融合网络构建

在OpenStack云平台中构建虚拟化与数字仿真融合的仿真系统,关键在于解决融合性多粒度配置和无缝融合策略配置问题,而融合性多粒度配置问题又可分为虚拟化粒度配置问题和数字仿真粒度配置问题,因此该融合仿真系统的实现可分为以下5个模块。

1)虚拟化粒度配置模块:该模块负责在OpenStack计算节点中根据目标网络拓扑创建并启动虚拟化节点,对两种虚拟化节点的网段以及宿主机等进行设置。

2)远程登录模块:该模块负责在实物主机与虚拟化节点之间建立联系,通过安全终端模拟程序访问OpenStack网络节点,输入ip netns list列出网络命名空间,选择正确的网络命名空间进行操作,然后登录虚拟化节点。

3)数字仿真粒度配置模块:该模块负责基于全虚拟化粒度进行创建并启动数字仿真节点操作,并对数字仿真节点的IP地址与MAC(Media Access Control)地址等进行设置。

4)无缝融合策略配置模块:该模块负责实现基于OpenStack云平台的面向轻量级虚拟化、全虚拟化和数字仿真三个尺度的无缝融合策略配置,实现轻量级虚拟化、全虚拟化和数字仿真三个尺度的无缝安全连接。

5)动作执行模块:上述模块完成以后,多尺度融合仿真系统拓扑就已创建完毕,动作执行模块负责根据源节点和目的节点的地址,进行从源地址到目的地址的通信行为。

各模块之间的关系如图2所示。

图2 各模块之间的联系 Fig. 2 Relation of different modules

2.2 融合性多粒度配置与无缝融合策略配置

作为整个构建仿真系统过程中最重要的两个部分,融合性多粒度配置的作用是创建并启动虚拟化节点与数字仿真节点,对虚拟化节点的网段、宿主机等进行设置,对数字仿真节点的IP地址、MAC地址等进行设置,完成多尺度融合网络拓扑的构建;无缝融合策略配置的作用主要是对OpenStack安全组、虚拟化粒度的路由信息、端口安全、网卡模式以及数字仿真拓扑的路由信息、运行协议等进行配置。这两个部分使得所有节点之间的数据包传输可以正常进行,主要涉及到多尺度融合仿真系统的虚拟化粒度配置模块、数字仿真粒度配置模块以及无缝融合策略配置模块;虚拟化粒度配置模块在OpenStack的计算节点上进行,数字仿真粒度配置模块在全虚拟化节点上进行,而无缝融合策略配置模块则需要在OpenStack、虚拟化节点与数字仿真节点上同时进行。

虚拟化粒度配置是对应于网络与宿主机的,每添加一个虚拟化节点都需要设置它的网络与宿主机;数字仿真粒度配置则对应于IP地址与MAC地址,每添加一个数字仿真节点都需要对它的IP地址与MAC地址进行设置。多粒度配置的详细步骤如下:

步骤1 远程登录OpenStack dashboard。

步骤2 判断OpenStack云平台中是否有网络或是否有足够的网络,若有且网络数量足够则进行下一步,若没有或网络数量不足,则根据目标网络拓扑需要创建网络。

步骤3 虚拟化粒度宿主机配置,以KVM构建全虚拟化节点,以Docker构建轻量级虚拟化节点;选择全虚拟化节点与轻量级虚拟化节点的宿主机,轻量级虚拟化节点的宿主机是设置成Docker模式的计算节点3,全虚拟化节点的宿主机则可以是计算节点1或2中任意一个。

步骤4 虚拟化粒度网络配置,轻量级虚拟化节点与全虚拟化节点的网段均需要进行设置。在融合网络拓扑中,作为虚拟主机的虚拟化节点的网络配置较为简单,虚拟主机一般只需要设置一个网段,而作为路由器的虚拟化节点的网络配置较为复杂,路由器一般需要设置多个网段,以此来实现不同网段之间的互联互通。

步骤5 配置完成,执行创建虚拟化节点操作。

步骤6 远程登录作为虚拟主机的全虚拟化节点,此为远程登录模块,不赘述。

步骤7 在作为虚拟主机的全虚拟化节点上以NS3构建数字仿真节点,部署数字仿真节点的IP地址与MAC地址。

由以上步骤可知,本文中使用KVM虚拟化技术来部署虚拟化节点,KVM在Linux内核部署,任何场景下都可以直接和硬件进行交互,而不需要修改虚拟化的操作系统,可以方便控制虚拟化进程;使用Docker虚拟化技术来部署轻量级虚拟化节点,Docker 是一个开源的应用容器引擎,性能开销很小,可以很容易地在机器和数据中心运行,而且Docker不依赖于任何语言、框架包括系统;使用NS3仿真技术来部署数字仿真节点,NS3是一个极具特色的新型网络模拟器,具有完备性、开源性、易用性和可扩展性等方面的特色,优于现有的大多数主流网络模拟器。此外,KVM是操作系统级仿真,Docker是轻量级仿真,NS3是数字仿真,已知KVM逼真度优于Docker优于NS3,但是规模性是NS3优于Docker优于KVM,所以面向全虚拟化、轻量级虚拟化和数字仿真三种尺度无缝融合的网络复现技术,可有效满足融合网络的逼真性和可伸缩性需求。

融合性多粒度配置流程如图3所示。

图3 多粒度配置流程 Fig. 3 Flow chart of multi-granularity configuration

与此同时,无缝融合策略配置则是对应于OpenStack、虚拟化粒度和数字仿真粒度的,不论是OpenStack云平台还是轻量级虚拟化节点、全虚拟化节点亦或数字仿真节点,都需要进行无缝融合策略配置,其详细步骤如下:

步骤1 登录OpenStack云平台,添加新的iptable或在原有iptable上添加新的规则,一个安全组就是网络访问规则的组合,比如防火墙策略,这些访问规则指定了哪些传入网络流量应该被发送与接收,哪些流量则应该被丢弃。用户可以随时修改安全组的规则,所有运行中的实例以及从那时起启动的实例将强制使用这些新的规则。

步骤2 远程登录轻量级虚拟化节点与全虚拟化节点,此为远程登录模块,不赘述,并且命令输出所有虚拟化节点的IP地址与MAC地址。

步骤3 完成作为虚拟主机的全虚拟化节点的网卡模式配置,网卡模式设置成混杂模式。

步骤4 完成作为虚拟主机的虚拟化节点上的默认路由设置,虚拟主机转发数据包的下一跳指定为与该虚拟主机相连的路由器接口。

步骤5 完成作为虚拟路由器的虚拟化节点的静态路由设置,虚拟路由器需要为数字仿真拓扑中的网段设置静态路由,因为虚拟路由器之间的路由信息可以相互学习,但是数字仿真拓扑与虚拟路由器之间的路由信息不可以相互学习,所以必须在虚拟路由器上为数字仿真网络设置静态路由。

步骤6 完成全虚拟化节点与轻量级虚拟化节点上端口安全配置,访问OpenStack控制节点,在控制节点上使用CURL执行POST命令,每发送一个虚拟化节点MAC地址信息,则可以关闭该MAC地址对应端口安全组。

步骤7 完成数字仿真节点组成的数字仿真拓扑的路由信息设置以及运行协议设置,数字仿真拓扑的路由可以设置为默认路由也可以设置为静态路由,拓扑内部协议为开放式最短路径优先(Open Shortest Path First, OSPF)协议。

无缝融合策略配置流程如图4所示。

图4 无缝融合策略配置流程 Fig. 4 Flow chart of seamless fusion strategy configuration

融合性多粒度配置与无缝融合策略配置完成后,一个网段的虚拟化节点或数字仿真节点就可以与另一个网段的虚拟化节点或数字仿真节点进行正常的流量交互了。

2.3 并发性与可扩展性

依靠上述体系架构和关键技术构建的多尺度融合仿真系统具有并发性和可扩展性。

并发性是指多尺度融合网络中虚拟化节点、数字仿真节点之间的流量交互不限于一对一的交互,本文实现多对虚拟化节点、数字仿真节点之间的数据包并发地发送与接收。扩展性包括两方面:一是指能够在虚拟化与数字仿真融合网络中接入更多的轻量级虚拟化节点、全虚拟化节点与数字仿真节点,从而构建更为复杂的网络拓扑;二是指数字仿真节点组成的数字仿真拓扑的规模是可扩展的,这意味着不仅仅需要实现某网段多个独立的数字仿真节点与另一网段多个独立的数字仿真节点之间的通信,而是可以实现某网段多个数字仿真节点组成的数字仿真拓扑内部通信以及与外部的通信,因此可以添加更多的数字仿真节点,从而构成更为复杂的数字仿真拓扑,组成大规模的多尺度融合仿真网络。

2.4 灵活性与透明性

在本文中实现了两个方面的灵活配置:一是虚拟化节点和数字仿真节点可灵活接入融合复现网络;二是不同网段之间的流量可灵活控制。此外,本文实现的融合复现网络还具有透明性特点,具体是指涉及到数字仿真节点的不同网段之间的数据包的发送与接收均对作为数字仿真节点宿主机的全虚拟化节点透明,跟踪数据包转发路径可知作为虚拟主机的全虚拟化节点的IP地址对不同网段之间的流量透明。

在前文中通过融合性多粒度配置和无缝融合策略配置实现了虚拟化与数字仿真融合网络的流量正常传输。在一些实验中,实验人员对仿真网络间流量的流向有特定要求,本文中的环境可以实现流量限制以及网络分流,例如指定某些网络的流量只能流向指定网络。

涉及到数字仿真节点的不同网段之间的数据包转发对作为虚拟主机的全虚拟化节点完全透明,即对不同网段之间的流量交互,从源节点发出数据包到目的节点接收到数据包,路径列表中不会显示数字仿真节点所在的宿主虚拟主机,可以看成数字仿真节点的数据包不通过宿主虚拟主机,直接与外部拓扑通信。

3 实验分析与验证

运用本文中的多尺度融合复现技术可以在OpenStack中构建一个透明、并发、灵活、可扩展的虚拟化与数字仿真融合的网络环境,基于该环境可以进行面向多种协议的灵活并发通信。如图5所示,该环境中拥有多个全虚拟化节点、轻量级虚拟化节点以及数字仿真节点,创建了多个仿真网络,其中由数字仿真节点组成的网络是虚拟网络1,2,3。

图5 实验拓扑图 Fig. 5 Experiment topology

3.1 连通性测试及结果分析

如图6所示的网络拓扑,拥有2个全虚拟化节点、2个轻量级虚拟化节点和2个数字仿真节点。为了验证虚拟化与数字仿真融合网络的连通性,先让两个数字仿真节点互相执行ping命令,再让数字仿真节点与轻量级虚拟化节点互相执行ping命令,最后让两个轻量级虚拟化节点互相执行ping命令,结果显示该融合网络中三个尺度的节点之间可以无缝连通。表1是多尺度节点之间互ping结果(全虚拟化节点不用测试,因为不论是上述哪两个节点进行测试均需经过全虚拟化节点)。

图6 连通性测试拓扑 Fig. 6 Topology for connectivity test 表1 连通性测试结果 Tab. 1 Result of connectivity test

源主机目的主机是否互通源主机目的主机是否互通NS3-1NS3-2是Docker1Docker2是NS3-1Docker1是

3.2 透明性测试及结果分析

虚拟化与数字仿真融合网络中的全虚拟化节点既可以作为虚拟路由器,又可以作为数字仿真节点的宿主虚拟主机,通过多尺度融合网络复现技术实现的融合网络使得数据包的转发在此融合网络中从总体效果上而言对作为虚拟主机的全虚拟化节点是透明的。

实验证明,从一个数字仿真节点到另一个数字仿真节点,中间虽然经过源数字仿真节点所在的宿主机以及目的数字仿真节点所在的宿主机,但是不会在数据包的路由路径上多出两跳。同理,数字仿真节点与虚拟化节点之间的数据包传输同样对作为数字仿真节点宿主机的全虚拟化节点透明。如图7所示,在本测试中选用NS3- 1和NS3- 2作为数据包传输的源节点和目的节点,用traceroute命令跟踪数据包的路由路径,结果如图8所示,路径只有目的数字仿真节点这一跳,证明数据包传输对作为宿主机的全虚拟化节点的透明性。

图7 透明性测试拓扑 Fig. 7 Topology for transparency test

图8 traceroute的输出结果 Fig. 8 Output of traceroute

接下来,加入虚拟路由器,参与测试的两个数字仿真节点不属于同一个网络,中间经过一个虚拟路由器,拓扑如图9所示。在NS3- 1上以NS3- 2为目的地址执行traceroute命令,结果如图10所示,NS3- 1到NS3- 2之间的路径只有虚拟路由器、目的数字仿真节点这两跳,符合预期,证明透明性。其余情况下的透明性不再进行重复实验。

图9 加入虚拟路由的透明性测试拓扑 Fig. 9 Topology for transparency test with virtual router

图10 加入虚拟路由后traceroute的输出结果 Fig. 10 Output of traceroute with virtual router

3.3 并发性测试及结果分析

为了验证虚拟化与数字仿真融合网络的并发性,在图6所示原有拓扑的基础上,在每个涉及到数字仿真节点的虚拟网络中均新添加了一个数字仿真节点(并且为了接下来的灵活性测试实验,又新添加了一个虚拟网络),拓扑如图11所示。

每个虚拟网络中均有不止一个数字仿真节点,同一个虚拟网络中的数字仿真节点相当于是通过交换机与虚拟路由器互联,为每一个数字仿真节点配置了固定的IP地址与MAC地址。发送数据包时指定源IP地址以及目的IP地址,就可以实现多对节点之间的并发通信。

图11 并发性测试拓扑 Fig. 11 Topology for concurrency test

3.1节已经实现了虚拟化与数字仿真融合网络中三个尺度节点之间的无缝连通;在此基础上实现不同网络中三个尺度节点之间的并发通信。实验结果如表2所示,NS3- 1与NS3- 3,NS3- 2与NS3- 4之间的通信可同时进行;NS3- 1与Docker2,NS3- 3与Docker1之间的通信也可同时进行;此外,NS3- 1与NS3- 3,Docker1与Docker2之间的通信同样可以同时进行;由此验证了虚拟化与数字仿真融合网络的并发性。

表2 并发性测试结果Tab. 2 Results of concurrency test

3.4 灵活性测试及结果分析

如图11所示拓扑,对比图7所示拓扑,可以看出新添加了全虚拟化节点、轻量级虚拟化节点以及数字仿真节点,只需将这些节点的IP地址设置为想接入的网络的IP地址中的地址即可,以上证明了虚拟化节点和数字仿真节点可灵活接入多尺度融合仿真网络。

如图11所示拓扑,不同网络之间的流量可灵活控制。实验验证,虚拟网络1中数字仿真节点NS3- 1可以和虚拟网络2中数字仿真节点NS3- 3或NS3- 4互通,也可以与虚拟网络3中数字仿真节点NS3- 5或NS3- 6互通,还可以与Docker1或Docker2互通;虚拟网络1中数字仿真节点NS3- 1、NS3- 2可同时分别与虚拟网络2中NS3- 3、虚拟网络3中NS3- 5互通,也可同时分别与Docker1、Docker2互通;以上均证明了对虚拟化与数字仿真融合网络流量的灵活控制。

此外,虚拟网络1中数字仿真节点NS3- 1、NS3- 2可同时分别与虚拟网络2中NS3- 3、虚拟网络3中NS3- 5互通,也可同时分别与Docker1、Docker2互通,进一步验证了3.3节中所述的并发性。

3.5 扩展性测试及结果分析

一方面,比较图6所示简单网络拓扑和图5所示复杂网络拓扑,拓扑中的虚拟化节点与数字仿真节点的数量都有了明显增加,证明了虚拟化与数字仿真融合网络的可扩展性。

另一方面,对图5所示拓扑,可以看出有多个由数字仿真节点组成的数字仿真拓扑,本文实现了数字仿真拓扑内部通信以及不同数字仿真拓扑之间的通信。根据2.2节中无缝融合策略配置,对数字仿真拓扑运行OSPF协议以及进行路由设置。例如,虚拟网络1中的所有数字仿真节点构成了数字仿真拓扑1,虚拟网络2中的所有数字仿真节点构成了数字仿真拓扑2;拓扑1中的任一数字仿真节点想与拓扑2中任一数字仿真节点通信,不仅需在源节点和目的节点上添加路由信息,还需在边界节点上配置转发规则,因为数据包的传输要经过两个数字仿真拓扑中的边界节点转发,而边界节点的转发依据是此节点上添加的路由信息或数字仿真拓扑运行的OSPF协议。数字仿真拓扑规模具有高度可扩展性,因此融合复现技术所复现的仿真网络也具有可扩展性。

3.6 不同复现技术规模性对比

实验环境:基于OpenStack分别部署在3台物理服务器上的计算节点1、2、3,其中计算节点3为Docker模式,只能启动轻量级虚拟化实例,计算节点1、2则可以启动全虚拟化与数字仿真实例。计算节点1、2、3的配置都是24 VCPU,32 GB内存,而全虚拟化节点的配置是2 VCPU,4 GB内存。

经过实验验证,面向图5所示网络拓扑,计算节点1、2中约可同时启动16个全虚拟化节点(4个作为虚拟路由器和12个作为数字仿真节点宿主机)与4 800个数字仿真节点,并实现以上节点与计算节点3中轻量级虚拟化节点组成的三尺度融合网络的大规模实例同时运行、通信,在有限的物理资源条件下,实现较大规模的虚拟化与数字仿真融合的多尺度复现网络。

表3是在以上实验环境下,分别使用全虚拟化技术、轻量级虚拟化技术、数字仿真技术以及三种尺度融合的复现技术创建的仿真网络规模对比数据。由结果可以看出,三尺度融合复现技术所构建的仿真网络规模远大于单一全虚拟化技术或轻量级虚拟化技术所构建的仿真网络规模,规模仅小于使用低逼真度的数字仿真技术所构建的仿真网络规模。

表3 规模对比Tab. 3 Contrast of scale

3.7 大规模网络多协议测试及结果分析

通过多尺度无缝融合复现技术构建了如图5所示大规模网络,本文实现了该多尺度融合大规模网络中基于多种协议的正常通信,该网络中的虚拟化节点、数字仿真节点可以灵活并发地发送与接收传输控制协议(Transmission Control Protocol, TCP)、用户数据报协议(User Datagram Protocol, UDP)、Internet控制报文协议(Internet Control Message Protocol, ICMP)数据包,验证了面向三种尺度无缝融合的大规模网络的实用性。实验结果如表4所示(“Y”表示报文正常,“N”表示报文有误,“—”表示此报文不需要)。图12是不同虚拟网络中两个数字仿真节点之间通信时,在通信链路上任取一个节点使用wireshark工具进行抓包的报文捕获情况,可以看出仿真结果符合表4实验结论。

表4 协议测试结果Tab. 4 Results of protocol test

图12 捕获到的三种协议报文 Fig. 12 Captured messages of three protocols

3.8 简单网络安全实验

由3.6节可知,基于现有计算资源,面向图5所示网络拓扑,计算节点1、2、3中约可同时启动16个全虚拟化节点(4个作为虚拟路由器和12个作为数字仿真节点宿主机)、4 800个数字仿真节点与200个轻量级虚拟化节点共5 000个仿真节点。虚拟网络中有一节点A,IP地址为192.168.1.100,当此节点创建完毕并启动运行时,整个融合网络拓扑中任一节点都可以正常访问仿真节点A,同一网段中节点B访问节点A的结果如图13所示。

融合网络拓扑中除节点A、B以外所有节点不间断地向节点A发送TCP、UDP或ICMP协议报文,此时仍选择节点B来访问节点A,由图14可知节点B无法正常访问节点A,结果显示简单流量攻击实验成功。

图13 正常访问结果 Fig. 13 Access result of normal situation

图14 攻击时访问结果 Fig. 14 Access result of attacked situation

4 结语

网络复现是当前进行网络研究的主要方法,本文在分析当前网络复现技术存在的不足的前提下,提出了一种透明、并发、灵活、可扩展的虚拟化与数字仿真融合的多尺度网络复现方法,并针对该方法的这四个特性进行了说明和实验论证,然后在此基础上实现了基于该方法所构建的大规模融合网络上多种协议的通信与流量攻击实验。本文重点研究了面向三种尺度无缝融合的网络构建技术,在通过该技术所创建的大规模融合网络上进行网安实验方面还有不足,所以在下一步的研究中,将重点考虑在所创建的大规模融合网络中进行多种复杂的网络安全实验,进一步提高融合网络的规模性、实用性和逼真度。

参考文献(References)

[1] 方滨兴,贾焰,李爱平,等.网络空间靶场技术研究[J].信息安全学报,2016,1(3):1-9. (FANG B X, JIA Y, LI A P, et al. Cyber ranges: state-of-the-art and research challenges [J]. Journal of Cyber Security, 2016, 1(3): 1-9.)

[2] LIU N, CAROTHERS C, COPE J, et al. Model and simulation of exascale communication networks [J]. Journal of Simulation, 2012, 6(4): 227-236.

[3] NEVILLE S W, LI K F. The rational for developing larger-scale 1000+ machine emulation-based research test beds [C]// WAINA ’09: Proceedings of the 2009 International Conference on Advanced Information Networking and Applications Workshops. Washington, DC: IEEE Computer Society, 2009: 1092-1099.

[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 experimentation [C]// SIGSIM PADS ’13: Proceedings of the 1st ACM SIGSIM Conference on Principles of Advanced Discrete Simulation. New York: ACM, 2013: 79-90.

[6] 黄敏桓,张尧学,许飞,等.基于虚拟化技术的路由仿真实验平台设计[J].系统仿真学报,2014,26(8):1672-1677. (HUANG M H, ZHANG Y X, XU F, et al. Design of virtualization platform for router emulation [J]. Journal of System Simulation, 2014, 26(8): 1672-1677.)

[7] ERAZO M A, RONG R, LIU J. Symbiotic network simulation and emulation [J]. ACM Transactions on Modeling and Computer Simulation, 2015, 26(1): Article No. 2.

[8] 黄锦松,杨艺,王文鼐.一种基于虚拟化平台的网络仿真准实验床[J].计算机技术与发展,2015,25(8):208-212. (HUANG J S, YANG Y, WANG W N. A network simulation test bed based on the virtualization platform [J]. Computer Technology and Development, 2015, 25(8): 208-212.)

[9] 何新华,金国柱,王琼.仿真试验中的虚拟化技术应用[J].四川兵工学报,2011,32(8):71-73,82. (HE X H, JIN G Z, WANG Q. The simulation test of virtualization technology application [J]. Journal of Sichuan Ordnance, 2011, 32(8): 71-73, 82.)

[10] FUJIMOTO R M. Research challenges in parallel and distributed simulation [J]. ACM Transactions on Modeling & Computer Simulation, 2016, 26(4): Article No. 22.

[11] GE X, LIU Y, DU D H C, et al. OpenANFV: accelerating network function virtualization with a consolidated framework in OpenStack [C]// SIGCOMM ’14: Proceedings of the 2014 ACM Conference on SIGCOMM. New York: ACM, 2015: 353-354.

[12] LI Y, GUO L, LIN T, et al. Key technique research on virtual machine management based on KVM [C]// AsiaSim 2016, SCS AutumnSim 2016: Proceedings of the 2016 Asian Simulation Conference on Theory, Methodology, Tools and Applications for Modeling and Simulation of Complex Systems, CCIS 645. Berlin: Springer-Verlag, 2016: 540-546.

[13] MERKEL D. Docker: lightweight Linux containers for consistent development and deployment [J]. Linux Journal, 2014, 2014(239): 2.

[14] KIM B S, LEE D, CHOI T H. Performance evaluation for Modbus/TCP using network simulator NS3 [C]// TENCON 2015: Proceedings of the 2015 IEEE Region 10 Conference. Piscataway, NJ: IEEE, 2016: 1-5.

[15] RAJANKUMAR P, NIMISHA P, KAMBOJ P. A comparative study and simulation of AODV MANET routing protocol in NS2 & NS3 [C]// Proceedings of the 2014 IEEE International Conference on Computing for Sustainable Global Development. Piscataway, NJ: IEEE, 2014: 889-894.

[16] ALDALBAHI A, RAHAIM M, KHREISHAH A, et al. Extending NS3 to simulate visible light communication at network-level [C]// Proceedings of the 2016 3rd IEEE International Conference on Telecommunications. Piscataway, NJ: IEEE, 2016: 1-6.

This work is partially supported by the National Natural Science Foundation of China (61672264), the National Key Research and Development Program of China (2016YFB0800801).

WUWenyan, born in 1994, M. S. candidate. Her research interests include network emulation, network security.

JIANGXin, born in 1982, Ph. D., engineer. His research interests include network and information security.

WANGXiaofeng, born in 1978, Ph. D., associate professor. His research interests include network emulation, network security.

LIUYuan, born in 1967, M. S., professor. His research interests include computer network, network security.

猜你喜欢

网段无缝粒度
让农民工培训与就业“无缝对接”
“复兴号”17辆编组动车组列车总线网段扩展的设计研究
粉末粒度对纯Re坯显微组织与力学性能的影响
探究房建施工中大体积混凝土无缝技术探究
动态更新属性值变化时的最优粒度
中小学数学教学无缝衔接的对策
单位遭遇蠕虫类病毒攻击
配置局域网访问方式
丰富无缝对接机制内涵 安置帮教工作提质见效
广义不完备多粒度标记决策系统的粒度选择