CN116366464A - 一种大规模虚拟网络的构建方法和装置 - Google Patents
一种大规模虚拟网络的构建方法和装置 Download PDFInfo
- Publication number
- CN116366464A CN116366464A CN202310311349.6A CN202310311349A CN116366464A CN 116366464 A CN116366464 A CN 116366464A CN 202310311349 A CN202310311349 A CN 202310311349A CN 116366464 A CN116366464 A CN 116366464A
- Authority
- CN
- China
- Prior art keywords
- network
- mininet
- virtual
- openstack
- virtual network
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/40—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种大规模虚拟网络的构建方法和装置。其中,该方法包括:采用应用容器引擎Docker技术将Mininet分布式部署到多台主机上,实现底层物理网络的仿真;通过在Docker容器中运行云计算管理平台OpenStack nova组件的方式,实现虚拟网络的仿真。本发明将Mininet与Docker技术相融合,实现了Mininet的分布式部署,增强业务场景测试能力。此外,在使用Docker容器模拟的vHost虚拟主机管理系统中,运行Openstack的Nova一套虚拟化管理程序组件,进一步提升虚拟化能力,能够创建更多网段、更大规模的虚拟网络。
Description
技术领域
本发明实施例涉及SDN(Software Defined Network,软件定义网络)技术领域,尤其涉及一种大规模虚拟网络的构建方法和装置。
背景技术
现代网络变得越来越复杂且更加依赖于实现方式,以至于现在不可能仅仅依靠simulations来研究和验证网络系统中算法、协议、应用的正确性。simulation运行应用程序抽象来代替真实软件,虽然这确保了规模的可扩展性,但可能会由于不切实际的行为影响其实验结果的真实性。因此,emulation越来越多地用于评估新的网络想法。emulation的优点是可以在测试中使用与生产代码完全相同的代码,直接运行真实软件来保证实验的正确性,但emulation并不是现实,它在大型和资源密集型实验中往往会遇到可扩展性问题。
就软件定义网络(SDN)而言,Mininet是迄今为止最受欢迎的emulator(仿真器)。因为轻量级地虚拟化技术和简单而又强大的API使得Mininet能够在一台机器上模拟大型网络,但又恰恰因为其被设计在一台机器上运行,这导致了其在具有大量内存或处理能力需求的实验中受限,在资源受限场景下,Mininet的实验结果在过载情况下也会受到失真影响。解决此问题的一种解决方案就是将实验分发到多台机器上,因此Mininet的实现方式必须被修改。
近年来,因为虚拟化技术的日益成熟,应用容器引擎Docker、Vxlan等新兴技术层出不穷,Mininet使用namespace(命名空间)这一轻量级的虚拟化技术虽然能快速搭建虚拟网络,但也受其限制,不支持更复杂的业务场景测试,如何解决这一难题也是项值得研究的问题。
发明内容
本发明提供一种大规模虚拟网络的构建方法和装置,以创建更多网段、更大规模的虚拟网络。
第一方面,本发明实施例提供了一种大规模虚拟网络的构建方法,包括:
S1、采用应用容器引擎Docker技术将Mininet分布式部署到多台主机上,实现底层物理网络的仿真;
S2、通过在Docker容器中运行云计算管理平台OpenStack nova组件的方式,实现虚拟网络的仿真。
可选的,所述S1具体包括:
将Mininet分布式部署到多台主机上,使用Docker容器取代Mininet中的命名空间namespace来模拟Mininet中的虚拟主机系统vHost和虚拟网络交换机vSwitch,再通过虚拟扩展局域网Vxlan隧道实现跨主机的vHost和vSwitch的通信。
可选的,所述S2具体包括:
在模拟物理服务器的Docker容器上运行OpenStack的nova组件,nova组件通过Vxlan隧道和独立主机上的Openstack控制节点进行互联,在Docker容器中创建namespace作为模拟的vm虚拟机。
可选的,基于整个Mininet网络搭建一个ONOS控制器集群。
相对于现有技术中的方案,本发明的优点是:
1.本发明的方法基于Vxlan(虚拟扩展局域网)隧道技术,实现了Mininet在跨主机上的分布式部署,解决了Mininet单机资源受限易过载的问题,可以创建出远大于单机Mininet可以模拟的Host,且可以根据实际需求定制化网络拓扑。
2.本发明的方法中通过使用Docker容器的方式创建Mininet部署的Host,可以执行Docker命令进入Host之中,加强对Host的监控与管理,且因为虚拟化的级别更高,可用性也更高,使得执行更复杂的网络场景测试成为可能。
3.本发明的方法通过将Mininet与Openstack与相结合,定制出可以运行Openstack Nova服务的容器,实现Openstack使用namespace启动实例,可以在Mininet网络上再创建一层Openstack网络,进一步提高虚拟网络的扩展性,且功能性也更强,支持复杂数据中心网络场景的验证测试。
4.本发明支持大规模网络平台的一键式部署,且支持通过K6实现测试脚本的下发。
本发明公开了一种基于Mininet、Docker和Openstack构建大规模数据中心虚拟网络的仿真方案,实现了Mininet在跨主机间的分布式部署,支持使用Docker容器虚拟化的方式模拟网络节点,实现Openstack nova组件的容器化,在Mininet网络之上使用Openstack再构建一层更大的虚拟网络,实现了只需使用有限物理资源就可以创建出几十k级别的虚拟网络,支持对云数据中心网络的模拟与测试。
附图说明
图1为本发明实施例提供的一种大规模虚拟网络的构建方法流程图;
图2为本发明实施例提供的一种大规模虚拟网络构建方法的整体架构图;
图3为本发明实施例提供的一种链路通信逻辑图;
图4为本发明实施例提供的一种OpenStack设计图;
图5为本发明实施例提供的一种双层网络场景图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
图1为本发明实施例提供的一种大规模虚拟网络的构建方法的流程图,具体包括如下步骤:
S1、采用应用容器引擎Docker技术将Mininet分布式部署到多台主机上,实现底层物理网络的仿真。
S2、通过在Docker容器中运行云计算管理平台OpenStack nova组件的方式,实现虚拟网络的仿真。
其中,上述S1具体包括:将Mininet分布式部署到多台主机上,使用Docker容器取代Mininet中的命名空间namespace来模拟Mininet中的虚拟主机系统vHost(ePM)网络交换机vSwitch(eVM),再通过虚拟扩展局域网Vxlan隧道实现跨主机的vHost和vSwitch的通信。
所述S2具体包括:
在模拟物理服务器的Docker容器上运行OpenStack的nova组件,nova组件通过Vxlan隧道和独立主机上的Openstack控制节点进行互联,在Docker容器中创建namespace作为模拟的vm虚拟机。
在上述实施例的基础上,本发明在基于Mininet实现的vHost上继续构建Overlay(重叠)网络,使用Docker容器取代Mininet中的namespace作为对物理网络节点的仿真,使其支持更复杂的业务场景模拟以及对数据中心物理网络拓扑的仿真。针对Overlay网络的仿真,本发明通过使用在容器中运行OpenStack nova组件的方式,大规模的部署namespace作为模拟的vm,这些vm会划分为许许多多的VPC,在逻辑上形成隔离域。进一步的,在Overlay网络测试阶段,通过使用K6自动性能测试框架下发任务,达到对大规模虚拟网络的自动验证。因此,本发明不仅通过分布式Mininet实现了底层数据中心的物理网络,还通过Docker和OpenStack技术构建出不同隔离域的虚拟网络,不仅大大提高了虚拟网络的规模,还提供了一种能够为控制平面与数据平面进行统一测试的框架。
进一步参见图2,本实施例中,将Mininet在多台主机上进行分布式部署,在每台主机上构建一个admin网络,客户端利用admin网络的ip可以通过ssh连接到其他工作机上,达到控制管理每台工作机的作用,随后构建需要仿真的虚拟网络,相对于Mininet使用Linuxcgroups和网络命名空间进行隔离,本实施例使用Docker容器隔离各个模拟节点,可以验证更为复杂的网络测试。对于分布在不同主机上的模拟节点,可以使用Vxlan隧道进行连接,将各个主机的Mininet网络融合成一个大的虚拟网络,使用统一的ONOS集群保证网络的连通性。对于Docker容器模拟的网络节点,可供的操作性更为复杂,可以在终端命令行使用docker exec命令进入容器,更为精确的监控系统当前的资源状况。
为了模拟出更大的虚拟网络,可以将容器模拟的vHost节点看作是数据中心的服务器,由定制化的网络拓扑进行连接,对于服务器上的众多VM,因为docker容器是比namespace更高一级的虚拟化,因此,可以在容器中再构建一层由namespace搭建的虚拟网络。为了保证这层网络的连通性,引入了Openstack技术。Openstack可以提供可靠的云平台部署和管理服务,但通常Opensatck都运行在物理机和虚拟机中。为此,结合Docker和Openstack技术,定制了封装有Openstack Nova组件的Docker容器,该容器可以运行Openstack的计算服务,由Opensatck控制节点调度部署特定需求的VM,容器中缺乏常规Openstack Nova服务部署VM的硬件和软件条件,为此,需要使用namespace作为VM的启动方式,由网络命名空间进行vm之间的相互隔离。在Mininet网络之上又构建了一层Openstack的虚拟网络,使得物理主机的软硬件资源得到了充分利用。
实施例
本实施例基于Mininet、Docker和Openstack构建10k级的大规模虚拟网络,部署在4台24核48线程125G的物理服务器上。大规模虚拟网络仿真平台的搭建主要包括以下步骤:
(1)客户机通过Admin Net在物理机上分布式部署改进后的Mininet,完成Mininet网络自定义拓扑的构建和SDN控制器的接入。
(2)在模拟物理服务器的ePM容器中运行OpenStack Nova服务,客户机上作为OpenStack控制节点探测发现这些计算节点。
(3)通过OpenStack控制节点向ePM节点发送虚拟网络创建请求,构建超大规模的虚拟网络。
具体的,所述步骤(1)中在一台客户机上下载本发明源文件,在四台工作服务器上安装Docker和一些依赖,通过客户机向四台物理机发送仿真开始信号,每台物理机都会创建自己的Mininet管理网络(即图2中的Admin Net),跨主机间的Admin Net会通过Vxlan隧道技术进行通信,使得客户机可以方便控制工作机,顺利完成ePM、eSwitch容器的初始化、网桥设备和veth对的生成,形成具有指定拓扑的虚拟云数据中心网络。由于eSwitch节点是负载了OVS服务的容器,仍然需要SDN控制器的协助完成流表项的下发,使得每个ePM节点之间都能够通信。网络节点之间的通信逻辑如图3所示,每台工作机都会创建一个admin-br网桥,在这台工作机上创建的ePM和eSwitch节点都会通过一对vethpair与之相连,这部分链路作为管理平面对工作机及虚拟网络节点进行控制,模拟具有指定拓扑的云数据中心网络,根据拓扑确定每个eSwitch需要连接的ePM,eSwitch和ePM之间通过网桥设备和vethpair进行通信。因此可以看出单机内部的链路逻辑基本都是使用linux设备进行模拟,跨主机的ePM间进行通信,需要在相应的eSwitch之间建立Vxlan隧道,因此外部链路逻辑采用了Vxlan隧道转发技术。
具体的,所述步骤(2)中,每一个ePM节点在容器正常启动后都会自动运行Openstack Nova服务,模拟计算节点的功能,并通过Vxlan隧道与客户机上的控制节点进行通信,控制节点会定时轮询发现这些计算节点。为接下来在ePM上创建更大的虚拟网络做好准备,具体架构如图4所示。
具体的,所述步骤(3)中,由于Openstack虚拟化能力主要由KVM、Qemu和Xen等提供,但这些技术在容器中支持的有限,所以为了在ePM节点上启动instance需要使用namespace,实现OpenStack对namespace的支持。接下来就可以在ePM上创建namespace作为eVM,因为OpenStack网络的支持,可以模拟不同VPC的eVM,这些eVM由OpenStack路由器实现不同子网下的隔离,具体情景图由图5所示,eVM1与eVM2由不同的ePM容器创建且处于不同的OpenStack子网中,但可以通过不同的网络配置实现不同的隔离性。
本发明实施例的技术方案,基于Mininet、Docker和Openstack构建大规模数据中心虚拟网络的仿真方案,实现了Mininet在跨主机间的分布式部署,支持使用Docker容器虚拟化的方式模拟网络节点,实现Openstack nova组件的容器化,在Mininet网络之上使用Openstack再构建一层更大的虚拟网络,实现了只需使用有限物理资源就可以创建出几十k级别的虚拟网络,同时还提供了一种能够为控制平面与数据平面进行统一测试的框架。
进一步的,本发明实施例还提供一种大规模虚拟网络的构建装置,包括:
底层物理网络的仿真模块,用于采用应用容器引擎Docker技术将Mininet分布式部署到多台主机上,实现底层物理网络的仿真;
虚拟网络的仿真模块,用于通过在Docker容器中运行云计算管理平台OpenStacknova组件的方式,实现虚拟网络的仿真。
可选的,所述底层物理网络的仿真模块具体用于:
将Mininet分布式部署到多台主机上,使用Docker容器取代Mininet中的命名空间namespace来模拟Mininet中的虚拟主机系统vHost和虚拟网络交换机vSwitch,再通过虚拟扩展局域网Vxlan隧道实现跨主机的vHost和vSwitch的通信。
可选的,所述虚拟网络的仿真模块具体用于:
在模拟物理服务器的Docker容器上运行OpenStack的nova组件,nova组件通过Vxlan隧道和独立主机上的Openstack控制节点进行互联,在Docker容器中创建namespace作为模拟的vm虚拟机。
可选的,本实施例基于整个Mininet网络搭建一个ONOS控制器集群。
进一步的,该装置还包括自动验证模块,用于通过K6自动性能测试框架实现虚拟网络的自动验证。
本发明实施例所提供的一种大规模虚拟网络的构建装置可执行本发明任意实施例所提供的一种大规模虚拟网络的构建方法,具备执行方法相应的功能模块和有益效果。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (8)
1.一种大规模虚拟网络的构建方法,其特征在于,包括:
S1、采用应用容器引擎Docker技术将Mininet分布式部署到多台主机上,实现底层物理网络的仿真;
S2、通过在Docker容器中运行云计算管理平台OpenStack nova组件的方式,实现虚拟网络的仿真。
2.根据权利要求1所述的方法,其特征在于,所述S1具体包括:
将Mininet分布式部署到多台主机上,使用Docker容器取代Mininet中的命名空间namespace来模拟Mininet中的虚拟主机系统vHost和虚拟网络交换机vSwitch,再通过虚拟扩展局域网Vxlan隧道实现跨主机的vHost 和vSwitch的通信。
3.根据权利要求1所述的方法,其特征在于,所述S2具体包括:
在模拟物理服务器的Docker容器上运行OpenStack的nova组件,nova组件通过Vxlan隧道和独立主机上的Openstack控制节点进行互联,在Docker容器中创建namespace作为模拟的vm虚拟机。
4.根据权利要求1所述的方法,其特征在于,基于整个Mininet网络搭建一个ONOS控制器集群。
5.根据权利要求1所述的方法,其特征在于,在所述S2之后还包括:通过K6自动性能测试框架实现虚拟网络的自动验证。
6.一种大规模虚拟网络的构建装置,其特征在于,包括:
底层物理网络的仿真模块,用于采用应用容器引擎Docker技术将Mininet分布式部署到多台主机上,实现底层物理网络的仿真;
虚拟网络的仿真模块,用于通过在Docker容器中运行云计算管理平台OpenStack nova组件的方式,实现虚拟网络的仿真。
7.根据权利要求6所述的装置,其特征在于,所述底层物理网络的仿真模块具体用于:
将Mininet分布式部署到多台主机上,使用Docker容器取代Mininet中的命名空间namespace来模拟Mininet中的虚拟主机系统vHost和虚拟网络交换机vSwitch,再通过虚拟扩展局域网Vxlan隧道实现跨主机的vHost 和vSwitch的通信。
8.根据权利要求6所述的装置,其特征在于,所述虚拟网络的仿真模块具体用于:
在模拟物理服务器的Docker容器上运行OpenStack的nova组件,nova组件通过Vxlan隧道和独立主机上的Openstack控制节点进行互联,在Docker容器中创建namespace作为模拟的vm虚拟机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310311349.6A CN116366464A (zh) | 2023-03-28 | 2023-03-28 | 一种大规模虚拟网络的构建方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310311349.6A CN116366464A (zh) | 2023-03-28 | 2023-03-28 | 一种大规模虚拟网络的构建方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116366464A true CN116366464A (zh) | 2023-06-30 |
Family
ID=86917230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310311349.6A Pending CN116366464A (zh) | 2023-03-28 | 2023-03-28 | 一种大规模虚拟网络的构建方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116366464A (zh) |
-
2023
- 2023-03-28 CN CN202310311349.6A patent/CN116366464A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9600386B1 (en) | Network testbed creation and validation | |
CN114363021B (zh) | 网络靶场系统、网络靶场系统的虚拟网络实现方法及装置 | |
JP2022022077A (ja) | アプリケーションをデプロイするための方法及び装置、電子機器、読み取り可能な記憶媒体並びにコンピュータプログラム | |
GB2523338A (en) | Testing a virtualised network function in a network | |
CN110995561B (zh) | 基于容器技术的虚拟网络数据通信交互方法与系统 | |
CN104410672A (zh) | 网络功能虚拟化应用升级的方法、转发业务的方法及装置 | |
CN106790046B (zh) | 基于超融合架构的网络攻防虚拟仿真系统 | |
US20230107891A1 (en) | User interface for cloud native software-defined network architectures | |
US20210288885A1 (en) | Simulation and testing of infrastucture as a service scale using a container orchestration engine | |
Bemby et al. | ViNO: SDN overlay to allow seamless migration across heterogeneous infrastructure | |
CN114422010B (zh) | 一种基于网络虚拟化的卫星通信仿真平台的协议测试方法 | |
Han et al. | ONVisor: Towards a scalable and flexible SDN‐based network virtualization platform on ONOS | |
Kim et al. | SDN and NFV benchmarking for performance and reliability | |
CN109150574B (zh) | 一种规模网络复现方法 | |
CN114968477A (zh) | 容器热迁移方法及容器热迁移装置 | |
US20190138337A1 (en) | Saas based solution- orchestration platform for orchestrating virtual network solutions on public/private cloud infrastructure for learning/development/evaluation/demos/validation/deployment | |
CN110247820A (zh) | 基于云计算开放网络操作系统的自动化测试方法及装置 | |
US11474930B2 (en) | Software bug reproduction | |
Pino et al. | Validation and Benchmarking of CNFs in OSM for pure Cloud Native applications in 5G and beyond | |
Đerić et al. | Coupling VNF orchestration and SDN virtual network reconfiguration | |
CN114365461B (zh) | 用于在网络设备上提供流量生成的系统和方法 | |
Fantom et al. | A NEAT way to test-driven network management | |
US11784880B2 (en) | Method and system for facilitating edge rack emulation | |
CN103634290B (zh) | 网络仿真系统 | |
CN116366464A (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 |