CN117061352A - 多模态虚拟网元的实现方法、装置、设备及介质 - Google Patents

多模态虚拟网元的实现方法、装置、设备及介质 Download PDF

Info

Publication number
CN117061352A
CN117061352A CN202311157892.1A CN202311157892A CN117061352A CN 117061352 A CN117061352 A CN 117061352A CN 202311157892 A CN202311157892 A CN 202311157892A CN 117061352 A CN117061352 A CN 117061352A
Authority
CN
China
Prior art keywords
message
data
virtual network
network
network element
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
Application number
CN202311157892.1A
Other languages
English (en)
Inventor
朱绪全
杨盾
张思绮
黄诗丰
张进
江逸茗
马海龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Information Engineering University of PLA Strategic Support Force
Network Communication and Security Zijinshan Laboratory
Original Assignee
Information Engineering University of PLA Strategic Support Force
Network Communication and Security Zijinshan Laboratory
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Information Engineering University of PLA Strategic Support Force , Network Communication and Security Zijinshan Laboratory filed Critical Information Engineering University of PLA Strategic Support Force
Priority to CN202311157892.1A priority Critical patent/CN117061352A/zh
Publication of CN117061352A publication Critical patent/CN117061352A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • H04L41/122Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种多模态虚拟网元的实现方法、装置、设备及介质,涉及互联网通信以及网络虚拟化技术领域。应用于基于虚拟化网络功能部署多模态虚拟网元系统的电子设备,多模态虚拟网元系统包括一个本地控制面、多个数据转发面以及交换单元,该方法包括:基于网卡虚拟化技术根据电子设备安装的物理网卡数量确定系统中不同模态的应用程序各自添加的虚拟网卡数量;通过数据转发面上的自定义功能接口,根据虚拟网卡数量在本地控制面上同步创建与虚拟网卡对应的网络接口;根据当前处理的数据报文的报文类型利用自定义功能接口与网络接口对数据报文进行并发处理。通过本申请的技术方案,可以实现多模态虚拟网元技术,灵活适配业务发展需求。

Description

多模态虚拟网元的实现方法、装置、设备及介质
技术领域
本发明涉及互联网通信以及网络虚拟化技术领域,特别涉及一种多模态虚拟网元的实现方法、装置、设备及介质。
背景技术
随着网络技术及互联网的高速发展,数据增长越来越快,网络结构和网络业务越来越复杂,网络应用场景和网络形态不断拓展丰富,因此对网络形态的需求越来越多样和多变。现有网络技术体系存在网络结构僵化、单一IP(Internet Protocol,互联网协议)承载、网元结构封闭、资源/功能配置僵化、网络内在的能力与结构对业务需求的适应性差等基础性问题。无法动态灵活地满足泛在场景下各类型、各层次用户需求,也无法满足垂直行业的定制化需求。业务需求与网络基础能力之间的差距越发显著。
因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种多模态虚拟网元的实现方法、装置、设备及介质,能够改变当前网络固化的运行模式,充分满足新型网络不断演进的业务需求。其具体方案如下:
第一方面,本申请公开了一种多模态虚拟网元的实现方法,应用于基于虚拟化网络功能部署多模态虚拟网元系统的电子设备,其中,所述多模态虚拟网元系统包括一个本地控制面、多个数据转发面以及交换单元,所述方法包括:
基于网卡虚拟化技术根据所述电子设备安装的物理网卡的数量确定所述多模态虚拟网元系统中不同模态的应用程序各自添加的虚拟网卡的数量;其中,所述不同模态的应用程序各自对应一个数据转发面;
通过所述数据转发面上的自定义功能接口,根据所述虚拟网卡的数量在所述本地控制面上同步创建与所述虚拟网卡对应的网络接口;
确定当前处理的数据报文的报文类型,并根据所述报文类型利用所述自定义功能接口与所述网络接口对所述数据报文进行并发处理。
可选的,所述确定当前处理的数据报文的报文类型,并根据所述报文类型利用所述自定义功能接口与所述网络接口对所述数据报文进行并发处理,包括:
如果当前处理的数据报文为数据控制报文,则利用第一自定义功能接口与所述网络接口对所述数据控制报文进行并发处理;
如果当前处理的数据报文为数据转发报文,则利用第二自定义功能接口对所述数据转发报文进行并发处理。
可选的,所述如果当前处理的数据报文为数据控制报文,则利用第一自定义功能接口与所述网络接口对所述数据控制报文进行并发处理,包括:
如果当前处理的数据报文为第一数据控制报文,则获取所述第一数据控制报文对应的网卡信息,并根据所述网卡信息对所述第一数据控制报文添加第一标签以得到第一封装报文;
将所述第一封装报文发送至所述第一自定义功能接口,以便所述第一自定义功能接口根据所述第一封装报文中所述第一标签的信息将所述第一封装报文转发至对应的网络接口。
可选的,所述如果当前处理的数据报文为数据控制报文,则利用第一自定义功能接口与所述网络接口对所述数据控制报文进行并发处理,包括:
如果当前处理的数据报文为第二数据控制报文,则获取所述第二数据控制报文对应的网络接口信息,并根据所述网络接口信息通过所述交换单元对所述第二数据控制报文添加第二标签以得到第二封装报文;
将所述第二封装报文发送至所述第一自定义功能接口,以便所述第一自定义功能接口根据所述第二封装报文中所述第二标签的信息,将所述第二封装报文转发至对应的虚拟网卡。
可选的,所述如果当前处理的数据报文为数据转发报文,则利用第二自定义功能接口对所述数据转发报文进行并发处理,包括:
通过第二自定义接口与所述数据转发面建立第一GRPC通信机制;
基于所述第一GRPC通信机制接收所述本地控制面的第一数据转发报文,并根据所述第一数据转发报文的内容在转发模态流水线中进行匹配;
如果存在匹配结果,则根据预先配置的表项规则将所述第一数据转发报文进行转发,如果不存在所述匹配结果,则将所述第一数据转发报文丢弃。
可选的,所述根据预先配置的表项规则将所述第一数据转发报文进行转发,包括:
根据预先配置的表项规则,基于数据平面开发套件技术或eBPF技术将所述第一数据转发报文进行转发。
可选的,所述的多模态虚拟网元的实现方法,还包括:
通过第三自定义功能接口与外设软件定义网络控制器建立第二GRPC通信机制;
基于所述第二GRPC通信机制接收所述外设软件定义网络控制器的第二数据转发报文;
根据所述数据转发报文的内容在转发模态流水线中进行动态添加和/或删除。
第二方面,本申请公开了一种多模态虚拟网元的实现装置,应用于基于虚拟化网络功能部署多模态虚拟网元系统的电子设备,其中,所述多模态虚拟网元系统包括一个本地控制面、多个数据转发面以及交换单元,所述装置包括:
网卡确定模块,用于基于网卡虚拟化技术根据所述电子设备安装的物理网卡的数量确定所述多模态虚拟网元系统中不同模态的应用程序各自添加的虚拟网卡的数量;其中,所述不同模态的应用程序各自对应一个数据转发面;
接口创建模块,用于通过所述数据转发面上的自定义功能接口,根据所述虚拟网卡的数量在所述本地控制面上同步创建与所述虚拟网卡对应的网络接口;
报文处理模块,用于确定当前处理的数据报文的报文类型,并根据所述报文类型利用所述自定义功能接口与所述网络接口对所述数据报文进行并发处理。
第三方面,本申请公开了一种基于虚拟化网络功能部署多模态虚拟网元系统的电子设备,所述电子设备包括处理器和存储器;其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现如前所述的多模态虚拟网元的实现方法。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中所述计算机程序被处理器执行时实现如前所述的多模态虚拟网元的实现方法。
本申请提供了一种多模态虚拟网元的实现方法,应用于基于虚拟化网络功能部署多模态虚拟网元系统的电子设备,其中,所述多模态虚拟网元系统包括一个本地控制面、多个数据转发面以及交换单元,所述方法包括:基于网卡虚拟化技术根据所述电子设备安装的物理网卡的数量确定所述多模态虚拟网元系统中不同模态的应用程序各自添加的虚拟网卡的数量;其中,所述不同模态的应用程序各自对应一个数据转发面;通过所述数据转发面上的自定义功能接口,根据所述虚拟网卡的数量在所述本地控制面上同步创建与所述虚拟网卡对应的网络接口;确定当前处理的数据报文的报文类型,并根据所述报文类型利用所述自定义功能接口与所述网络接口对所述数据报文进行并发处理。
本申请的有益技术效果:首先,区别于传统的具有自己独立的硬件和软件系统的网络设备,本申请将多模态虚拟网元系统基于网络功能虚拟化的网络架构技术在电子设备上实现虚拟化网络功能部署,这样能够将多个网络模态功能封装成独立的模块化软件,通过在单一硬件设备上运行不同的模块化软件实现多样化、多模态的网络功能。其次,基于网卡虚拟化技术,一个物理网卡可以虚拟出多个轻量化的虚拟网卡,使得不同模态的应用程序上都添加了与物理网卡数量一致的虚拟网卡,能够实现物理网卡的复用,根据物理网卡支持的虚拟网卡数量支持多模态并行运行,从而支持多模态数据报文的并发处理。另外,将“软件定义”思想下沉到数据转发面,通过自定义功能接口支持用户自定义标识结构的数据报文结构,在本地控制面上同步创建与虚拟网卡对应的网络接口。由于多个数据转发面是进行的协议无关的数据编程技术,而不同模态的应用程序各自对应一个数据转发面,这样基于自定义功能接口与网络接口对不同报文类型的数据报文进行并发处理时,能够实现功能可定义,资源高效自动适配,灵活适配业务发展需求。
此外,本申请提供的一种多模态虚拟网元的实现装置、设备及存储介质,与上述多模态虚拟网元的实现方法对应,效果同上。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种多模态虚拟网元系统结构示意图;
图2为本申请公开的一种多模态虚拟网元的实现方法流程图;
图3为本申请公开的一种多模态虚拟网元服务器内部层次示意图;
图4为本申请公开的一种具体的多模态虚拟网元实现结构示意图;
图5为本申请公开的一种具体的多模态虚拟网元系统结构示意图;
图6为本申请公开的一种具体的多模态虚拟网元系统结构示意图;
图7为本申请公开的一种具体的多模态虚拟网元系统结构示意图;
图8为本申请公开的一种多模态虚拟网元的实现装置结构示意图;
图9为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
当前,现有网络技术体系存在网络结构僵化、单一IP承载、网元结构封闭、资源/功能配置僵化,网络内在的能力与结构对业务需求的适应性差等基础性问题,无法动态灵活地满足泛在场景下各类型、各层次用户对需求,也无法满足垂直行业的定制化需求,业务需求与网络基础能力之间的差距越发显著。
为此,本申请提供了一种多模态虚拟网元的实现方案,能够改变当前网络固化的运行模式,允许多样化应用的动态部署,充分满足新型网络不断演进的业务需求。
本发明实施例公开了一种多模态虚拟网元的实现方法,应用于基于虚拟化网络功能部署多模态虚拟网元系统的电子设备,其中,所述多模态虚拟网元系统包括一个本地控制面、多个数据转发面以及交换单元,参见图1所示为多模态虚拟网元系统的架构图。
多模态虚拟网元系统采用分布式架构。其中,本地控制面用于运行网络操作系统(Network Operating System,NOS),通常基于Linux来实现。安装包括IP标识、内容标识、身份标识和地理空间标识等各种模态的APP(Application,应用程序),实现基于IP、内容、身份、地理空间等标识的多种寻址路由模态。
本申请实施例中,数据转发面在一种具体的实施方式中可以是多个基于P4(Programming Protocol-Independent Packet Processors,一种数据面的高级编程语言)的数据转发面,包括硬件数据转发面和软件数据转发面。由于本地控制面实现了多模态应用程序的呈现,因此,不同模态的应用程序各自对应一个数据转发面,多个数据转发面共同构建软件数据转发面与硬件数据转发面。根据用户需求告诉数据转发面应该怎么做而不受数据转发面的局限,可以实现灵活表达多种任意控制意愿的特性需求。
本领域普通技术人员可以理解,基于P4的数据转发面仅为示意,并不对上述数据转发面的编程技术造成限定,以下实施例中均以基于P4的数据转发面为例进行说明,后面不再进行赘述。当数据转发面为基于P4的数据转发面时,其对应的硬件数据转发面通常为DPU(Data Processing Unit,处理器分散处理单元)或者智能网卡,能够实现对于不同的网络模态数据流级别的硬件卸载,从而提供数据路径的加速功能。基于P4的数据转发面的软件数据转发面示例性的在图示中基于DPDK(Data Plane Development Kit,数据平面开发套件)流水线进行转发,同样也可以基于EBPF(Extended Berkeley Packet Filter,扩展的伯克利包过滤器)流水线进行转发。由于硬件资源有限,因此软件数据转发面能够提供更多数量的网络模态支持,硬件数据转发面处理不了的网络模态可以由软件数据转发面进行处理。
交换单元在图中对应OVS(Open VSwitch,虚拟交换机),基于P4控制面与数据转发面之间建立GRPC(google Remote Procedure Call,谷歌远程过程调用),也即,P4 RT(runtime)Client与P4 RT(runtime)Server之间通过GRPC建立通信机制。数据转发面与控制面之间通过OVS转发数据报文。
另外,图1中可通过外设的软件定义网络控制器(SDN(Software DefinedNetwork)controller)充当控制面的作用进行控制,也即,可通过GRPC与外设软件定义网络控制器之间建立通信机制。
进一步的,参见图2所示,多模态虚拟网元的实现方法包括:
步骤S11:基于网卡虚拟化技术根据所述电子设备安装的物理网卡的数量确定所述多模态虚拟网元系统中不同模态的应用程序各自添加的虚拟网卡的数量;其中,所述不同模态的应用程序各自对应一个数据转发面。
区别于传统的网络设备,如路由器、交换机、防火墙、负载均衡等设备均有自己独立的硬件和软件系统,本申请实施例中,多模态虚拟网元系统基于网络功能虚拟化(Network Functions Virtualization,NFV)网络架构技术,快捷的安装在电子设备上,它将多个网络模态功能封装成独立的模块化软件,通过在硬件设备上运行不同的模块化软件,在单一硬件设备上实现多样化、多模态的网络功能。需要指出的是,多模态虚拟网元系统采用VNF(Virtualized Network Function,虚拟网络功能)形式部署,如图3所示可以部署于平时使用的X86服务器中,整体架构由以下几个关键部分组成:
①物理硬件和主机操作系统:通用的X86硬件平台,提供CPU(Central ProcessingUnit,中央处理器)、内存、网卡、存储等硬件资源和基础的操作系统服务。
②Hypervisor(虚拟机监视器):支持KVM(Kernel-based Virtual Machine,开源的系统虚拟化模块)作为物理服务器和虚拟机实例之间的中间软件层,实现虚拟机的管理,其允许多个虚拟机实例共享硬件资源,同时各个虚拟机之间增加了隔离和防护。其中,虚拟机实例为操作系统采用Ubuntu18.04,分配了独立的虚拟CPU、存储、内存、虚拟网卡等资源,承载具有多个模态等网络功能的路由器VNF实例。
③SR-IOV(Single-Root I/O Virtualization,单根I/O虚拟化)/PCI-passthrough(PCI透传):实现各个虚拟机实例之间以及虚拟机实例与外部网络之间的信息交换。
④多模态虚拟网元系统,其具体架构参考前述实施例中公开的相应内容,在此不再进行赘述。
本申请实施例中,电子设备中多模态虚拟网元系统所在的服务器网卡使用网卡虚拟化技术解决物理硬件的虚拟化方案,例如使用SR-IOV技术,一个物理网卡可以虚拟出来多个轻量化的PCI-e物理设备,每个设备对应一个虚拟网卡从而可以分配给虚拟机使用。由于SR-IOV技术是基于硬件实现的,因此,可以使虚拟机获得与宿主机媲美的I/O性能,从而提升物理I/O设备(常见的是网络适配器)的性能与可扩展性。
本申请实施例中,根据物理网卡的数量确定多模态虚拟网元系统中不同模态的应用程序各自添加的虚拟网卡的数量。如图4所示,假设服务器包含4个物理网卡,那么控制面和数据转发面将分别添加4个虚拟网卡。以模态1APP为例,数据转发面中的VNIC1-VNIC4对应模态1APP中的Vport1-Vport4,当借助网卡虚拟化技术后能够实现物理网卡的复用,根据物理网卡支持的多模态的应用程序添加的虚拟网卡数量N,即可支持最大N个模态的并行运行,从而支持N个模态数据报文的并发处理。
步骤S12:通过所述数据转发面上的自定义功能接口,根据所述虚拟网卡的数量在所述本地控制面上同步创建与所述虚拟网卡对应的网络接口。
可以理解的是,多样化应用需要多元化、专业化、智慧化的网络,必须发展颠覆性创新技术,实现网络全维可定义,使网络世界获得与现实世界可匹配的多模态融合活力。网络全维可定义技术可以改变当前网络固化的运行模式,允许多样化应用的动态部署,网络的功能和工作机理将不再受制于具体的协议,其服务能力不再依赖节点的初始植入设计,其服务能力空间将超越已知协议和机制的限制,充分满足新型网络不断演进的业务需求。本申请实施例中,将“软件定义”思想下沉到数据转发面,实现功能可定义,资源高效自动适配,灵活适配业务发展需求。
具体的,在数据转发面中自定义3个功能接口,分别是第一自定义功能接口VportA、第二自定义功能接口VportB和第三自定义功能接口VportC。在多模态虚拟网元系统启动时,启动程序将通过VportA根据P4数据转发面的网络接口同步创建出相应的基于P4的本地控制面的网络接口。由于每个模态的数据转发面都对应4张虚拟网卡,因此Vport1-Vport4即为在本地控制面上同步创建出的与模态1的数据转发面上的虚拟网卡对应的网络接口。相应的,Vport5-Vport8为在本地控制面上同步创建出的与模态2的数据转发面上的虚拟网卡对应的网络接口、Vport9-Vport12为在本地控制面上同步创建出的与模态3的数据转发面上的虚拟网卡对应的网络接口、Vport13-Vport16为在本地控制面上同步创建出的与模态N的数据转发面上的虚拟网卡对应的网络接口。
需要指出的是,本地控制面上同步创建的与虚拟网卡对应的网络接口的MAC(Media Access Control,媒体访问控制)地址与P4数据转发面保持一致,用于配置IP地址、ARP(Address Resolution Protocol,地址解析协议)学习等操作。控制面的APP通过该虚拟的网络接口与上下级网元进行通信以及协议交互工作。
步骤S13:确定当前处理的数据报文的报文类型,并根据所述报文类型利用所述自定义功能接口与所述网络接口对所述数据报文进行并发处理。
本申请实施例中,当前处理的数据报文分为数据控制报文和数据转发报文。经由多模态虚拟网元系统需要通过本地控制面与上级网元进行数据交互的实现多模态异构标识空间寻址与路由的报文为数据控制报文;多模态虚拟网元系统内部直接处理的报文为数据转发报文。
本申请实施例中,根据不同数据报文的报文类型决定如何对数据报文进行并发处理。在一种具体的实施方式中,如果当前处理的数据报文为数据控制报文,则利用第一自定义功能接口与所述网络接口对所述数据控制报文进行并发处理;在另一种具体的实施方式中,如果当前处理的数据报文为数据转发报文,则利用第二自定义功能接口对所述数据转发报文进行并发处理。
可以理解的是,数据控制报文通过第一自定义功能接口可以上送至本地控制面,进一步的,不同模态的应用程序收到数据控制报文后可以与上级网元建立链接关系,从而将本地控制面的数据控制报文发送出去。本地控制面通过第二自定义功能接口与数据转发面建立GRPC通信机制,对于数据转发面的各模态流水线表项通过数据转发报文利用第二自定义功能接口进行并行处理。
另外,由于可通过外设的软件定义网络控制器充当控制面的作用进行控制,因此,第三自定义功能接口用于与外设软件定义网络控制器建立GRPC通信机制。之后,可以接收外设软件定义网络控制器的报文对数据转发面的各模态流水线表项进行动态添加或删除。具体的,基于所述第二GRPC通信机制接收所述外设软件定义网络控制器的第二数据转发报文;根据所述数据转发报文的内容在转发模态流水线中进行动态添加和/或删除。在一种具体的实施方式中,当数据转发面为基于PS的数据转发面时,相应的可以接收外设软件定义网络控制器基于P4 Runtime格式的报文。
本申请提供了一种多模态虚拟网元的实现方法,应用于基于虚拟化网络功能部署多模态虚拟网元系统的电子设备,其中,所述多模态虚拟网元系统包括一个本地控制面、多个数据转发面以及交换单元,所述方法包括:基于网卡虚拟化技术根据所述电子设备安装的物理网卡的数量确定所述多模态虚拟网元系统中不同模态的应用程序各自添加的虚拟网卡的数量;其中,所述不同模态的应用程序各自对应一个数据转发面;通过所述数据转发面上的自定义功能接口,根据所述虚拟网卡的数量在所述本地控制面上同步创建与所述虚拟网卡对应的网络接口;确定当前处理的数据报文的报文类型,并根据所述报文类型利用所述自定义功能接口与所述网络接口对所述数据报文进行并发处理。
本申请的有益技术效果:首先,区别于传统的具有自己独立的硬件和软件系统的网络设备,本申请将多模态虚拟网元系统基于网络功能虚拟化的网络架构技术在电子设备上实现虚拟化网络功能部署,这样能够将多个网络模态功能封装成独立的模块化软件,通过在单一硬件设备上运行不同的模块化软件实现多样化、多模态的网络功能。其次,基于网卡虚拟化技术,一个物理网卡可以虚拟出多个轻量化的虚拟网卡,使得不同模态的应用程序上都添加了与物理网卡数量一致的虚拟网卡,能够实现物理网卡的复用,根据物理网卡支持的虚拟网卡数量支持多模态并行运行,从而支持多模态数据报文的并发处理。另外,将“软件定义”思想下沉到数据转发面,通过自定义功能接口支持用户自定义标识结构的数据报文结构,在本地控制面上同步创建与虚拟网卡对应的网络接口。由于多个数据转发面是进行的协议无关的数据编程技术,而不同模态的应用程序各自对应一个数据转发面,这样基于自定义功能接口与网络接口对不同报文类型的数据报文进行并发处理时,能够实现功能可定义,资源高效自动适配,灵活适配业务发展需求。
在一种具体的实施方式中,如果当前处理的数据报文为数据控制报文,则利用第一自定义功能接口与所述网络接口对所述数据控制报文进行并发处理,参见图5所示,包括:
步骤S211:如果当前处理的数据报文为第一数据控制报文,则获取所述第一数据控制报文对应的网卡信息,并根据所述网卡信息对所述第一数据控制报文添加第一标签以得到第一封装报文。
本申请实施例中,第一数据控制报文为需要从数据转发面上送至本地控制面的报文,如ARP、ICMPv6、路由协议报文、目的IP报文等可以为第一数据控制报文。如果当前处理的数据报文为第一数据控制报文,则获取所述第一数据控制报文对应的网卡信息,如图4所示,即确定第一控制报文对应的VNIC是哪个,然后基于P4的数据转发面会根据VNIC的信息对报文进行封装,如表一所示。
表一
网卡信息 P4上行封装动作
VNIC1 报文添加VID=1的VLAN tag
VNIC2 报文添加VID=2的VLAN tag
VNIC3 报文添加VID=3的VLAN tag
VNIC4 报文添加VID=4的VLAN tag
步骤S212:将所述第一封装报文发送至所述第一自定义功能接口,以便所述第一自定义功能接口根据所述第一封装报文中所述第一标签的信息将所述第一封装报文转发至对应的网络接口。
本申请实施例中,根据不同的网卡信息,第一数据控制报文被相应的添加了不同的VLAN tag(标签),得到添加了不同标签的第一封装报文。将第一封装报文发送到VportA,然后通过交换单元OVS继续上送报文,图4中的①、②均为一种示例性的第一数据控制报文进行并发处理的流程。OVS根据接收报文的VLAN信息将报文到转发对应的VLAN接口,如将VportA接收的VID=1的报文转发达到VLAN1接口,并在VLAN1接口将VLAN1的tag信息剥除还原成原始报文发送到P4控制面中的VPORT1。
如此一来,面向专业化、个性化服务承载需求,支持用户自定义标识结构的数据报文结构,并按照自定义的流水线逻辑进行报文处理,数据转发面会将不同网络模态的控制报文通过OVS转发至本地控制面对应的网络接口。
在另一种具体的实施方式中,如果当前处理的数据报文为数据控制报文,则利用第一自定义功能接口与所述网络接口对所述数据控制报文进行并发处理,参见图6所示,包括:
步骤S221:如果当前处理的数据报文为第二数据控制报文,则获取所述第二数据控制报文对应的网络接口信息,并根据所述网络接口信息通过所述交换单元对所述第二数据控制报文添加第二标签以得到第二封装报文。
本申请实施例中,不同模态的应用程序收到数据控制报文会与上级网元建立链接关系。可以理解的是,当数据转发面为基于P4的数据转发面时,控制面也相应的基于P4进行处理,因此,将生成的表项基于P4处理后生成的API写入软件数据转发面,进一步写入到硬件数据转发面,此时对应的数据报文为由本地控制面发送的第二数据控制报文。
如果当前处理的数据报文为第二数据控制报文,则获取第二数据控制报文对应的网络接口信息,如图4所示,即确定第二控制报文对应的Vport是哪个。OVS会根据Vport的信息对报文进行封装,根据不同的网络接口信息,第二数据控制报文被相应的添加了不同的标签(VID1-4)得到第二封装报文。进一步的,将第二封装报文发送到发送至第一自定义功能接口VportA。如将Vport1接收的报文添加VID=1的VLAN tag信息转发给VportA,将Vpor2接收的报文添加VID=2的VLAN tag信息转发给VportA,将Vport3接收的报文添加VID=3的VLAN tag信息转发给VportA,将Vpor4接收的报文添加VID=4的VLAN tag信息转发给VportA。
步骤S222:将所述第二封装报文发送至所述第一自定义功能接口,以便所述第一自定义功能接口根据所述第二封装报文中所述第二标签的信息,将所述第二封装报文转发至对应的虚拟网卡。
本申请实施例中,当第二封装报文发送至第一自定义功能接口VportA后,基于P4的数据转发面会根据从VportA接收报文中的VLAN信息还原成原始报文后转发至对应的虚拟网卡的数据接口,如表二所示。如将VID=1的报文剥除VLAN信息后转发到VNIC1的接口,将VID=2的报文剥除VLAN信息后转发到VNIC2的接口,以此类推。
表二
接收网卡 VLAN信息 P4下行操作
VportA VID=1 报文剥除VID=1,发送到VNIC1
VportA VID=2 报文添加VID=2,发送到VNIC2
VportA VID=3 报文添加VID=3,发送到VNIC3
VportA VID=4 报文添加VID=4,发送到VNIC4
示例性的,以IP路由转发模态为例,IP路由转发模态APP通过以上流程与上级路由器建立邻居状态,再将学习到的路由写到Kernel路由表,独立的模块化软件以bf_switchd插件的方式加载,通过netlink接口学习Kernel的路由表,借助VportB与数据转发面建立GRPC通信连接,以P4runtime格式写入IP路由转发流水线。
如此一来,面向专业化、个性化服务承载需求,支持用户自定义标识结构的数据报文结构,并按照自定义的流水线逻辑进行报文处理,本地控制面会将不同网络模态的控制报文通过OVS转发至数据转发面对应的虚拟网卡。
在一种具体的实施方式中,如果当前处理的数据报文为数据转发报文,则利用第二自定义功能接口对所述数据转发报文进行并发处理,参见图7所示,包括:
步骤S31:通过第二自定义接口与所述数据转发面建立第一GRPC通信机制。
步骤S32:基于所述第一GRPC通信机制接收所述本地控制面的第一数据转发报文,并根据所述第一数据转发报文的内容在转发模态流水线中进行匹配。
步骤S33:如果存在匹配结果,则根据预先配置的表项规则将所述第一数据转发报文进行转发,如果不存在所述匹配结果,则将所述第一数据转发报文丢弃。
本申请实施例中,通过第二自定义接口VportB与本地控制面建立GRPC通信机制,当数据转发面为基于P4的数据转发面时,将相应的接收本地控制面基于P4 Runtime格式的报文。对于数据转发报文,根据报文内容在各转发模态流水线中进行匹配查找,如命中,则根据配置的表项规则进行数据转发,否则,做丢弃处理。需要指出的是,同样可以基于第一GRPC通信机制对于数据转发面的各模态流水线表项进行动态添加或删除。
另外,在根据预先配置的表项规则将所述第一数据转发报文进行转发时,是基于数据平面开发套件技术或eBPF技术将所述第一数据转发报文进行转发。也即,基于DPDK或者EBPF流水线进行转发。如,在基于Ubuntu20.04中,使用P4 DPDK PIPELINE(P4-dpdk-target)技术或P4 EBPF(P4-ebpf-target)技术进行转发。
如此一来,全维可定义的数据转发面,根据用户需求告诉数据转发面应该怎么做,而不受数据转发面的局限,达到灵活表达多种任意控制意愿的特性需求。
相应的,本申请实施例还公开了一种多模态虚拟网元的实现装置,应用于基于虚拟化网络功能部署多模态虚拟网元系统的电子设备,其中,所述多模态虚拟网元系统包括一个本地控制面、多个数据转发面以及交换单元,参见图8所示,该装置包括:
网卡确定模块11,用于基于网卡虚拟化技术根据所述电子设备安装的物理网卡的数量确定所述多模态虚拟网元系统中不同模态的应用程序各自添加的虚拟网卡的数量;其中,所述不同模态的应用程序各自对应一个数据转发面;
接口创建模块12,用于通过所述数据转发面上的自定义功能接口,根据所述虚拟网卡的数量在所述本地控制面上同步创建与所述虚拟网卡对应的网络接口;
报文处理模块13,用于确定当前处理的数据报文的报文类型,并根据所述报文类型利用所述自定义功能接口与所述网络接口对所述数据报文进行并发处理。
其中,关于上述各个模块更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
由此可见,通过本实施例的上述方案,应用于基于虚拟化网络功能部署多模态虚拟网元系统的电子设备,其中,所述多模态虚拟网元系统包括一个本地控制面、多个数据转发面以及交换单元,所述装置包括:基于网卡虚拟化技术根据所述电子设备安装的物理网卡的数量确定所述多模态虚拟网元系统中不同模态的应用程序各自添加的虚拟网卡的数量;其中,所述不同模态的应用程序各自对应一个数据转发面;通过所述数据转发面上的自定义功能接口,根据所述虚拟网卡的数量在所述本地控制面上同步创建与所述虚拟网卡对应的网络接口;确定当前处理的数据报文的报文类型,并根据所述报文类型利用所述自定义功能接口与所述网络接口对所述数据报文进行并发处理。
本申请的有益技术效果:首先,区别于传统的具有自己独立的硬件和软件系统的网络设备,本申请将多模态虚拟网元系统基于网络功能虚拟化的网络架构技术在电子设备上实现虚拟化网络功能部署,这样能够将多个网络模态功能封装成独立的模块化软件,通过在单一硬件设备上运行不同的模块化软件实现多样化、多模态的网络功能。其次,基于网卡虚拟化技术,一个物理网卡可以虚拟出多个轻量化的虚拟网卡,使得不同模态的应用程序上都添加了与物理网卡数量一致的虚拟网卡,能够实现物理网卡的复用,根据物理网卡支持的虚拟网卡数量支持多模态并行运行,从而支持多模态数据报文的并发处理。另外,将“软件定义”思想下沉到数据转发面,通过自定义功能接口支持用户自定义标识结构的数据报文结构,在本地控制面上同步创建与虚拟网卡对应的网络接口。由于多个数据转发面是进行的协议无关的数据编程技术,而不同模态的应用程序各自对应一个数据转发面,这样基于自定义功能接口与网络接口对不同报文类型的数据报文进行并发处理时,能够实现功能可定义,资源高效自动适配,灵活适配业务发展需求。
进一步的,本申请实施例还公开了一种电子设备,图9是根据一示例性实施例示出的电子设备20结构图,图中内容不能认为是对本申请的使用范围的任何限制。
图9为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的多模态虚拟网元的实现方法中的相关步骤。另外,本实施例中的电子设备20具体可以为服务器。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222及数据223等,数据223可以包括各种各样的数据。存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的多模态虚拟网元的实现方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请实施例还公开了一种计算机可读存储介质,这里所说的计算机可读存储介质包括随机存取存储器(Random Access Memory,RAM)、内存、只读存储器(Read-Only Memory,ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、磁碟或者光盘或技术领域内所公知的任意其他形式的存储介质。其中,所述计算机程序被处理器执行时实现前述多模态虚拟网元的实现方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的多模态虚拟网元的实现方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种多模态虚拟网元的实现方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种多模态虚拟网元的实现方法,其特征在于,应用于基于虚拟化网络功能部署多模态虚拟网元系统的电子设备,其中,所述多模态虚拟网元系统包括一个本地控制面、多个数据转发面以及交换单元,所述方法包括:
基于网卡虚拟化技术根据所述电子设备安装的物理网卡的数量确定所述多模态虚拟网元系统中不同模态的应用程序各自添加的虚拟网卡的数量;其中,所述不同模态的应用程序各自对应一个数据转发面;
通过所述数据转发面上的自定义功能接口,根据所述虚拟网卡的数量在所述本地控制面上同步创建与所述虚拟网卡对应的网络接口;
确定当前处理的数据报文的报文类型,并根据所述报文类型利用所述自定义功能接口与所述网络接口对所述数据报文进行并发处理。
2.根据权利要求1所述的多模态虚拟网元的实现方法,其特征在于,所述确定当前处理的数据报文的报文类型,并根据所述报文类型利用所述自定义功能接口与所述网络接口对所述数据报文进行并发处理,包括:
如果当前处理的数据报文为数据控制报文,则利用第一自定义功能接口与所述网络接口对所述数据控制报文进行并发处理;
如果当前处理的数据报文为数据转发报文,则利用第二自定义功能接口对所述数据转发报文进行并发处理。
3.根据权利要求2所述的多模态虚拟网元的实现方法,其特征在于,所述如果当前处理的数据报文为数据控制报文,则利用第一自定义功能接口与所述网络接口对所述数据控制报文进行并发处理,包括:
如果当前处理的数据报文为第一数据控制报文,则获取所述第一数据控制报文对应的网卡信息,并根据所述网卡信息对所述第一数据控制报文添加第一标签以得到第一封装报文;
将所述第一封装报文发送至所述第一自定义功能接口,以便所述第一自定义功能接口根据所述第一封装报文中所述第一标签的信息将所述第一封装报文转发至对应的网络接口。
4.根据权利要求2所述的多模态虚拟网元的实现方法,其特征在于,所述如果当前处理的数据报文为数据控制报文,则利用第一自定义功能接口与所述网络接口对所述数据控制报文进行并发处理,包括:
如果当前处理的数据报文为第二数据控制报文,则获取所述第二数据控制报文对应的网络接口信息,并根据所述网络接口信息通过所述交换单元对所述第二数据控制报文添加第二标签以得到第二封装报文;
将所述第二封装报文发送至所述第一自定义功能接口,以便所述第一自定义功能接口根据所述第二封装报文中所述第二标签的信息,将所述第二封装报文转发至对应的虚拟网卡。
5.根据权利要求2所述的多模态虚拟网元的实现方法,其特征在于,所述如果当前处理的数据报文为数据转发报文,则利用第二自定义功能接口对所述数据转发报文进行并发处理,包括:
通过第二自定义接口与所述数据转发面建立第一GRPC通信机制;
基于所述第一GRPC通信机制接收所述本地控制面的第一数据转发报文,并根据所述第一数据转发报文的内容在转发模态流水线中进行匹配;
如果存在匹配结果,则根据预先配置的表项规则将所述第一数据转发报文进行转发,如果不存在所述匹配结果,则将所述第一数据转发报文丢弃。
6.根据权利要求5所述的多模态虚拟网元的实现方法,其特征在于,所述根据预先配置的表项规则将所述第一数据转发报文进行转发,包括:
根据预先配置的表项规则,基于数据平面开发套件技术或eBPF技术将所述第一数据转发报文进行转发。
7.根据权利要求1至6任一项所述的多模态虚拟网元的实现方法,其特征在于,还包括:
通过第三自定义功能接口与外设软件定义网络控制器建立第二GRPC通信机制;
基于所述第二GRPC通信机制接收所述外设软件定义网络控制器的第二数据转发报文;
根据所述数据转发报文的内容在转发模态流水线中进行动态添加和/或删除。
8.一种多模态虚拟网元的实现装置,其特征在于,应用于基于虚拟化网络功能部署多模态虚拟网元系统的电子设备,其中,所述多模态虚拟网元系统包括一个本地控制面、多个数据转发面以及交换单元,所述装置包括:
网卡确定模块,用于基于网卡虚拟化技术根据所述电子设备安装的物理网卡的数量确定所述多模态虚拟网元系统中不同模态的应用程序各自添加的虚拟网卡的数量;其中,所述不同模态的应用程序各自对应一个数据转发面;
接口创建模块,用于通过所述数据转发面上的自定义功能接口,根据所述虚拟网卡的数量在所述本地控制面上同步创建与所述虚拟网卡对应的网络接口;
报文处理模块,用于确定当前处理的数据报文的报文类型,并根据所述报文类型利用所述自定义功能接口与所述网络接口对所述数据报文进行并发处理。
9.一种基于虚拟化网络功能部署多模态虚拟网元系统的电子设备,其特征在于,所述电子设备包括处理器和存储器;其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至7任一项所述的多模态虚拟网元的实现方法。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的多模态虚拟网元的实现方法。
CN202311157892.1A 2023-09-08 2023-09-08 多模态虚拟网元的实现方法、装置、设备及介质 Pending CN117061352A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311157892.1A CN117061352A (zh) 2023-09-08 2023-09-08 多模态虚拟网元的实现方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311157892.1A CN117061352A (zh) 2023-09-08 2023-09-08 多模态虚拟网元的实现方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN117061352A true CN117061352A (zh) 2023-11-14

Family

ID=88669325

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311157892.1A Pending CN117061352A (zh) 2023-09-08 2023-09-08 多模态虚拟网元的实现方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN117061352A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117499318A (zh) * 2024-01-02 2024-02-02 中移(苏州)软件技术有限公司 云计算虚拟网络系统、及其使用方法、装置、设备及介质
CN117560235A (zh) * 2024-01-11 2024-02-13 南京沁恒微电子股份有限公司 一种网络自动接入方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117499318A (zh) * 2024-01-02 2024-02-02 中移(苏州)软件技术有限公司 云计算虚拟网络系统、及其使用方法、装置、设备及介质
CN117499318B (zh) * 2024-01-02 2024-04-09 中移(苏州)软件技术有限公司 云计算虚拟网络系统、及其使用方法、装置、设备及介质
CN117560235A (zh) * 2024-01-11 2024-02-13 南京沁恒微电子股份有限公司 一种网络自动接入方法及装置
CN117560235B (zh) * 2024-01-11 2024-04-02 南京沁恒微电子股份有限公司 一种网络自动接入方法及装置

Similar Documents

Publication Publication Date Title
US10757072B2 (en) Packet transmission method, apparatus, and system
CN107947961B (zh) 基于SDN的Kubernetes网络管理系统与方法
KR101840904B1 (ko) 가상화된 네트워크와 비-가상화된 네트워크 간 가상화 게이트웨이
US9602307B2 (en) Tagging virtual overlay packets in a virtual networking system
US9178828B2 (en) Architecture for agentless service insertion
EP2132647B1 (en) Configuring intercommunications between computing nodes
CN102801715B (zh) 一种网络中虚拟机迁移的方法、网关及系统
CN117061352A (zh) 多模态虚拟网元的实现方法、装置、设备及介质
EP3447965B1 (en) Network function instance management method and relevant device
CN102845035A (zh) 在虚拟环境中识别目的地的方法
CN106953848B (zh) 一种基于ForCES的软件定义网络实现方法
CN112398687B (zh) 云计算网络的配置方法、云计算网络系统以及存储介质
CN110633127A (zh) 一种数据处理方法及相关设备
JP5993817B2 (ja) キャリア網における経路制御システム及び方法
CN103414626A (zh) 基于网络虚拟化的报文处理方法及装置
CN112398688A (zh) 容器网络配置方法、容器网络系统以及存储介质
CN109194589B (zh) 一种mdc实现方法及装置
CN115379010B (zh) 一种容器网络构建方法、装置、设备及存储介质
CN113612688A (zh) 分布式软件定义网络控制系统及其构建方法
CN113630275B (zh) 虚拟机管理器集群的网络互通方法、计算设备和存储介质
CN103501295A (zh) 一种基于虚拟机迁移的远程访问方法和设备
CN110795209B (zh) 一种控制方法和装置
CN108353017B (zh) 计算系统和用于操作多网关虚拟机上的多个网关的方法
US11743180B2 (en) System and method for routing traffic onto an MPLS network
CN114928589B (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