一种基于容器的路由仿真系统及方法与流程

专利2026-03-08  17


本发明涉及网络仿真的,更具体地,涉及一种基于容器的路由仿真系统及方法。


背景技术:

1、网络仿真技术是一种通过建立网络设备和网络链路的统计模型,并模拟网络流量的传输,从而获取网络设计或优化所需要的网络性能数据的仿真技术。通过网络仿真,可以对目前常见的网络设备、网络通信链路、数据包传输等进行模拟,并可以对仿真的流量和数据包进行抓取分析,以满足学习和研究的目的。目前的网络仿真工具主要有exata、qualnet、opnet、ns等。然而,上述工具存在一些共性缺点,例如学习门槛高、调试困难,且在仿真软件中运行的代码与实际设备上运行的代码完全不同,无法进行代码层级的调试,也不具备移植性。此外,软件还有各自的缺点,如qualnet、opnet、ns不支持半实物仿真;opnet、ns仿真网络规模和流量很大时,仿真效率会明显降低;opnet对路由协议的仿真比较适合,但是对链路的仿真则较困难。


技术实现思路

1、为解决当前路由仿真技术成本高、消耗大、学习门槛高、无法与真实设备互联互通的问题,本发明提出一种基于容器的路由仿真系统及方法,在网络协议行为层次对真实路由器进行建模与仿真,在同一物理机上搭建由多个虚拟路由器组成的网络环境,灵活逼真、资源消耗较低,能实现代码级仿真,且具备半实物仿真能力。

2、为了达到上述技术效果,本发明的技术方案如下:

3、一种基于容器的路由仿真系统,包括:

4、虚拟网络节点构建单元、虚拟拓扑构建单元、软件路由单元、链路模拟单元和半实物互联单元;

5、所述虚拟网络节点构建单元用于构建网络设备,例如虚拟路由器、虚拟交换机、虚拟服务器、虚拟终端等虚拟网络节点,在本路由仿真系统中主要用于生成虚拟路由器节点。

6、所述软件路由单元在虚拟路由器节点中运行,用于通过构建路由管理层,使虚拟网络节点在行为和功能上模拟路由器;

7、所述虚拟拓扑构建单元用于生成虚拟网络节点之间的虚拟链路,使虚拟网络节点最终呈现用户指定的网络拓扑连接关系;

8、所述链路模拟单元用于设置虚拟链路的属性,模拟真实环境下的带宽、丢包、时延等特定场景;

9、所述半实物互联单元用于在虚拟网络节点与实物路由节点互联互通时打通虚拟网络节点与物理节点间的数据流,实现协议报文和业务数据的互相转发。

10、本技术方案提出由虚拟网络节点构建单元、虚拟拓扑构建单元、软件路由单元、链路模拟单元、半实物互联单元组成的路由仿真系统,能够用于实现轻量化、定制化的路由仿真方法,且可与真实设备互联互通,具备半实物仿真能力。

11、优选地,所述虚拟网络节点构建单元、虚拟拓扑构建单元、软件路由单元、链路模拟单元和半实物互联单元基于linux系统实现。

12、优选地,所述虚拟网络节点构建单元的部署步骤包括:

13、在主机上安装并启动docker服务,并拉取对应操作系统版本的docker镜像;

14、创建docker镜像的一个实例,在该实例中安装基本网络工具,并将该实例封装为新镜像,作为虚拟网络节点的基础docker镜像;

15、在虚拟网络节点的基础docker镜像的实例中安装软件路由单元,使该实例具备路由器基本功能。

16、在此,采用容器技术在单台物理主机上来构建多个虚拟化节点,与传统虚拟化不同的是,docker只模拟一个程序最核心的运行环境,而不是模拟真实硬件并创建出一台拥有完整功能的逻辑计算机,因而docker十分轻量、启动更快。

17、优选地,所述软件路由单元包括转发模块、路由管理模块、路由协议模块和用户控制台;

18、所述转发模块用于实现对数据包的处理和转发;

19、所述路由管理模块用于向各个路由协议模块提供统一访问内核路由表的接口,实现对内核路由表的维护和管理;

20、所述路由协议模块用于实现对具体路由协议的支持,执行路由发现、路由计算等功能;

21、所述用户控制台用于模拟真实路由器的控制台,为用户提供访问、配置路由器的各种命令,实现对路由器的管理与控制。

22、优选地,所述转发模块包括内核转发表和软件交换模块,所述软件交换模块根据内核转发表执行不同数据的具体转发行为。

23、优选地,所述软件路由单元中的路由管理模块、路由协议模块、用户控制台使用基于zebra的quagga平台实现,将linux系统变成一台路由器,具有兼容性好、轻量化、灵活性高、开源等优点;软件路由单元中的转发模块使用linux内核的fib系统实现。

24、优选地,所述虚拟拓扑构建单元利用ovs-docker工具创建虚拟网络节点之间的网络拓扑。

25、优选地,所述链路模拟单元利用linux内核中的netem模块出模拟复杂的互联网传输性能,实现模拟真实环境下的特定场景,所述特定场景包括但不限于带宽、丢包、时延;其中,通过linux系统中的tc工具控制netem模块的工作模式。

26、优选地,所述半实物互联单元基于openvswitch实现,过程包括:

27、通过宿主机的openvswitch工具创建网桥,将docker实例中与外部互联的虚拟网卡和宿主机网卡桥接在一起,实现虚拟网卡与真实网卡的物理互联;

28、下发docker虚拟网卡与宿主机网卡数据包双向转发流表,实现虚拟网卡与真实网卡的逻辑互通。

29、在此,在路由软件层级,路由仿真系统与实物路由器并无不同,实物路由器无法区分互联节点是否为虚拟网络节点。

30、本发明还提出一种基于容器的路由仿真方法,包括:

31、s1.以容器形式创建虚拟网络节点,并对虚拟网络节点进行封装;

32、s2.构建网络拓扑,创建虚拟网络节点之间的虚拟链路,并将虚拟网络节点与实物节点互联;

33、s3.设置虚拟链路的属性,如带宽、时延、抖动、丢包率等,模拟真实环境下的链路情况;

34、s4.在虚拟网络节点上运行路由软件所述路由软件为软件路由单元中运行的软件,如ospf进程,相应网口使能ospf协议,配置正确的参数,如域号、网络类型等,使虚拟网络节点在行为和功能上模拟路由器。

35、与现有技术相比,本发明技术方案的有益效果是:

36、本发明提出一种基于容器的路由仿真系统及方法,所述路由仿真系统由虚拟网络节点构建单元、虚拟拓扑构建单元、软件路由单元、链路模拟单元、半实物互联单元组成,以容器形式创建虚拟网络节点并进行封装,构建网络拓扑,创建虚拟网络节点之间的虚拟链路,并将虚拟网络节点与实物节点互联,在虚拟链路上配置链路参数以模拟实际的链路情况,最后在虚拟网络节点上运行路由软件,得到搭建好的路由仿真环境,实现高效、灵活、逼真、成本低且物理资源消耗较低的路由仿真系统,可仿真设备级代码,按需定制特殊网络设备、场景,并且能够与真实设备互联互通,具备半实物仿真能力。



技术特征:

1.一种基于容器的路由仿真系统,其特征在于,包括:虚拟网络节点构建单元、虚拟拓扑构建单元、软件路由单元、链路模拟单元和半实物互联单元;

2.根据权利要求1所述的基于容器的路由仿真系统,其特征在于,所述虚拟网络节点构建单元、虚拟拓扑构建单元、软件路由单元、链路模拟单元和半实物互联单元基于linux系统实现。

3.根据权利要求2所述的基于容器的路由仿真系统,其特征在于,所述虚拟网络节点构建单元的部署步骤包括:

4.根据权利要求1所述的基于容器的路由仿真系统,其特征在于,所述软件路由单元包括转发模块、路由管理模块、路由协议模块和用户控制台;

5.根据权利要求4所述的基于容器的路由仿真系统,其特征在于,所述转发模块包括内核转发表和软件交换模块,所述软件交换模块根据内核转发表执行不同数据的具体转发行为。

6.根据权利要求5所述的基于容器的路由仿真系统,其特征在于,所述软件路由单元中的路由管理模块、路由协议模块、用户控制台使用基于zebra的quagga平台实现,软件路由单元中的转发模块使用linux内核的fib系统实现。

7.根据权利要求4所述的基于容器的路由仿真系统,其特征在于,所述虚拟拓扑构建单元利用ovs-docker工具创建虚拟网络节点之间的网络拓扑。

8.根据权利要求2所述的基于容器的路由仿真系统,其特征在于,所述链路模拟单元利用linux内核中的netem模块出模拟复杂的互联网传输性能,实现模拟真实环境下的特定场景,所述特定场景包括但不限于带宽、丢包、时延;其中,通过linux系统中的tc工具控制netem模块的工作模式。

9.根据权利要求7所述的基于容器的路由仿真系统,其特征在于,所述半实物互联单元基于openvswitch实现,过程包括:

10.一种基于容器的路由仿真方法,其特征在于,包括:


技术总结
本发明提出一种基于容器的路由仿真系统及方法,涉及网络仿真的技术领域,路由仿真系统由虚拟网络节点构建单元、虚拟拓扑构建单元、软件路由单元、链路模拟单元、半实物互联单元组成,以容器形式创建虚拟网络节点并进行封装,创建虚拟网络节点之间的虚拟链路,构建网络拓扑,并将虚拟网络节点与实物节点互联,虚拟链路上配置链路参数以模拟实际的链路情况,最后在虚拟网络节点上运行路由软件,得到搭建好的路由仿真环境,实现高效、灵活、逼真、成本低且物理资源消耗较低的路由仿真,可仿真设备级代码,按需定制特殊网络设备、场景,并且能够与真实设备互联互通,具备半实物仿真能力。

技术研发人员:陈泽婵,蔡斯亮,张建丰,张大明,李勇,刘臻,谢树山,肖小崖
受保护的技术使用者:中国电子科技集团公司第七研究所
技术研发日:
技术公布日:2024/6/26
转载请注明原文地址:https://doc.8miu.com/read-1828672.html

最新回复(0)