Implementation methods, devices, equipment and media for multimodal virtual network elements
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-08
- Publication Date
- 2026-08-14
AI Technical Summary
现有网络技术体系存在网络结构僵化、单一IP(Internet Protocol,互联网协议)承载、网元结构封闭、资源/功能配置僵化、网络内在的能力与结构对业务需求的适应性差等基础性问题
[0034]本申请提供了一种多模态虚拟网元的实现方法,应用于基于虚拟化网络功能部署多模态虚拟网元系统的电子设备,其中,所述多模态虚拟网元系统包括一个本地控制面、多个数据转发面以及交换单元,所述方法包括:基于网卡虚拟化技术根据所述电子设备安装的物理网卡的数量确定所述多模态虚拟网元系统中不同模态的应用程序各自添加的虚拟网卡的数量;其中,所述不同模态的应用程序各自对应一个数据转发面;通过所述数据转发面上的自定义功能接口,根据所述虚拟网卡的数量在所述本地控制面上同步创建与所述虚拟网卡对应的网络接口;确定当前处理的数据报文的报文类型,并根据所述报文类型利用所述自定义功能接口与所述网络接口对所述数据报文进行并发处理。
Smart Images

Figure CN117061352B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the fields of Internet communication and network virtualization technology, and in particular to a method, apparatus, device and medium for implementing multimodal virtual network elements. Background Technology
[0002] With the rapid development of network technology and the Internet, data is growing faster and faster, network structures and services are becoming increasingly complex, and network application scenarios and network forms are constantly expanding and enriching. Therefore, the demands on network forms are becoming increasingly diverse and changeable. The existing network technology system suffers from fundamental problems such as rigid network structure, reliance on a single IP (Internet Protocol) carrier, closed network element structure, rigid resource / function configuration, and poor adaptability of the network's inherent capabilities and structure to business needs. It cannot dynamically and flexibly meet the needs of various types and levels of users in ubiquitous scenarios, nor can it meet the customized needs of vertical industries. The gap between business needs and basic network capabilities is becoming increasingly significant.
[0003] Therefore, how to provide a solution to the above-mentioned technical problems is a problem that needs to be solved by those skilled in the art. Summary of the Invention
[0004] In view of this, the purpose of this invention is to provide a method, apparatus, device, and medium for implementing multimodal virtual network elements, which can change the current fixed operating mode of the network and fully meet the evolving service needs of new networks. The specific solution is as follows:
[0005] In a first aspect, this application discloses a method for implementing a multimodal virtual network element, applied to an electronic device deploying a multimodal virtual network element system based on virtualized network functions, wherein the multimodal virtual network element system includes a local control plane, multiple data forwarding planes, and a switching unit, and the method includes:
[0006] Based on network interface card (NIC) virtualization technology, the number of virtual NICs added by each application of different modes in the multimodal virtual network element system is determined according to the number of physical NICs installed in the electronic device; wherein, each application of different modes corresponds to a data forwarding plane;
[0007] Through the custom function interface on the data forwarding plane, network interfaces corresponding to the virtual network cards are synchronously created on the local control plane according to the number of virtual network cards;
[0008] Determine the message type of the currently processed data message, and perform concurrent processing of the data message using the custom function interface and the network interface according to the message type.
[0009] Optionally, determining the packet type of the currently processed data packet and concurrently processing the data packet using the custom function interface and the network interface according to the packet type includes:
[0010] If the data packet being processed is a data control packet, then the first custom function interface and the network interface are used to process the data control packet concurrently.
[0011] If the data packet being processed is a data forwarding packet, then the second custom function interface is used to process the data forwarding packet concurrently.
[0012] Optionally, if the currently processed data packet is a data control packet, then concurrent processing of the data control packet is performed using the first custom function interface and the network interface, including:
[0013] If the data packet being processed is a first data control packet, then obtain the network interface card information corresponding to the first data control packet, and add a first tag to the first data control packet according to the network interface card information to obtain a first encapsulated packet;
[0014] The first encapsulated message is sent to the first custom function interface so that the first custom function interface forwards the first encapsulated message to the corresponding network interface according to the information of the first tag in the first encapsulated message.
[0015] Optionally, if the currently processed data packet is a data control packet, then concurrent processing of the data control packet is performed using the first custom function interface and the network interface, including:
[0016] If the data packet being processed is a second data control packet, then the network interface information corresponding to the second data control packet is obtained, and a second tag is added to the second data control packet through the switching unit according to the network interface information to obtain a second encapsulated packet;
[0017] The second encapsulated message is sent to the first custom function interface so that the first custom function interface forwards the second encapsulated message to the corresponding virtual network card according to the information of the second tag in the second encapsulated message.
[0018] Optionally, if the currently processed data packet is a data forwarding packet, then the second custom function interface is used to perform concurrent processing on the data forwarding packet, including:
[0019] A first GRPC communication mechanism is established with the data forwarding plane through a second custom interface;
[0020] The first data forwarding message of the local control plane is received based on the first GRPC communication mechanism, and matching is performed in the forwarding mode pipeline according to the content of the first data forwarding message;
[0021] If a matching result exists, the first data forwarding message is forwarded according to the pre-configured table entry rules; if no matching result exists, the first data forwarding message is discarded.
[0022] Optionally, forwarding the first data forwarding message according to pre-configured table entry rules includes:
[0023] According to the pre-configured table entry rules, the first data forwarding message is forwarded based on data plane development kit technology or eBPF technology.
[0024] Optionally, the method for implementing the multimodal virtual network element further includes:
[0025] A second GRPC communication mechanism is established with the peripheral software-defined network controller through a third custom function interface;
[0026] The second data forwarding message of the peripheral software-defined network controller is received based on the second GRPC communication mechanism.
[0027] The content of the forwarding message is dynamically added and / or deleted in the forwarding mode pipeline based on the data forwarding message.
[0028] Secondly, this application discloses an implementation apparatus for a multimodal virtual network element, applied to an electronic device deploying a multimodal virtual network element system based on virtualized network functions, wherein the multimodal virtual network element system includes a local control plane, multiple data forwarding planes, and a switching unit, and the apparatus includes:
[0029] The network interface card (NIC) determination module is used to determine, based on NIC virtualization technology and the number of physical NICs installed in the electronic device, the number of virtual NICs added by each application in different modes of the multimodal virtual network element system; wherein, each application in different modes corresponds to a data forwarding plane;
[0030] The interface creation module is used to synchronously create network interfaces corresponding to the virtual network cards on the local control plane according to the number of virtual network cards through the custom function interface on the data forwarding plane;
[0031] The message processing module is used to determine the message type of the currently processed data message, and to perform concurrent processing of the data message using the custom function interface and the network interface according to the message type.
[0032] Thirdly, this application discloses an electronic device for deploying a multimodal virtual network element system based on virtualized network functions. The electronic device includes a processor and a memory. The memory is used to store a computer program, which is loaded and executed by the processor to implement the multimodal virtual network element implementation method described above.
[0033] Fourthly, this application discloses a computer-readable storage medium for storing a computer program; wherein the computer program, when executed by a processor, implements the method for implementing the multimodal virtual network element as described above.
[0034] This application provides a method for implementing multimodal virtual network elements, applied to an electronic device deploying a multimodal virtual network element system based on virtualized network functions. The multimodal virtual network element system includes a local control plane, multiple data forwarding planes, and a switching unit. The method includes: determining the number of virtual network cards added by different modal applications in the multimodal virtual network element system based on the number of physical network cards installed in the electronic device, using network card virtualization technology; wherein each of the different modal applications corresponds to a data forwarding plane; synchronously creating network interfaces corresponding to the virtual network cards on the local control plane according to the number of virtual network cards through a custom function interface on the data forwarding plane; determining the packet type of the currently processed data packet, and concurrently processing the data packet using the custom function interface and the network interface according to the packet type.
[0035] The beneficial technical effects of this application are as follows: First, unlike traditional network devices with their own independent hardware and software systems, this application implements virtualized network function deployment on electronic devices based on network function virtualization (NFV) network architecture technology for multimodal virtual network element systems. This allows multiple network modal functions to be encapsulated into independent modular software, enabling diverse and multimodal network functions by running different modular software on a single hardware device. Second, based on NIC virtualization technology, a single physical NIC can virtualize multiple lightweight virtual NICs, allowing different modal applications to add the same number of virtual NICs as the physical NICs. This enables the reuse of physical NICs and supports multimodal parallel operation based on the number of virtual NICs supported by the physical NIC, thereby supporting concurrent processing of multimodal data packets. Furthermore, the "software-defined" concept is pushed down to the data forwarding plane, allowing users to customize data packet structures with custom identifiers through custom function interfaces, and synchronously creating network interfaces corresponding to the virtual NICs on the local control plane. Since multiple data forwarding planes utilize protocol-independent data programming techniques, and each application mode corresponds to a data forwarding plane, concurrent processing of data packets of different packet types based on custom function interfaces and network interfaces enables functional definition, efficient and automatic resource adaptation, and flexible adaptation to business development needs.
[0036] Furthermore, the multimodal virtual network element implementation apparatus, device, and storage medium provided in this application correspond to the above-mentioned multimodal virtual network element implementation method and have the same effect. Attached Figure Description
[0037] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.
[0038] Figure 1 This is a schematic diagram of a multimodal virtual network element system structure disclosed in this application;
[0039] Figure 2 This is a flowchart illustrating a method for implementing a multimodal virtual network element disclosed in this application;
[0040] Figure 3 This is a schematic diagram of the internal hierarchy of a multimodal virtual network element server disclosed in this application;
[0041] Figure 4 This is a schematic diagram of a specific multimodal virtual network element implementation structure disclosed in this application;
[0042] Figure 5This is a schematic diagram of a specific multimodal virtual network element system structure disclosed in this application;
[0043] Figure 6 This is a schematic diagram of a specific multimodal virtual network element system structure disclosed in this application;
[0044] Figure 7 This is a schematic diagram of a specific multimodal virtual network element system structure disclosed in this application;
[0045] Figure 8 This is a schematic diagram of the implementation device for a multimodal virtual network element disclosed in this application;
[0046] Figure 9 This is a structural diagram of an electronic device disclosed in this application. Detailed Implementation
[0047] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0048] Currently, the existing network technology system suffers from fundamental problems such as rigid network structure, single IP carrying, closed network element structure, rigid resource / function configuration, and poor adaptability of the network's inherent capabilities and structure to business needs. It cannot dynamically and flexibly meet the needs of various types and levels of users in ubiquitous scenarios, nor can it meet the customized needs of vertical industries. The gap between business needs and basic network capabilities is becoming increasingly significant.
[0049] To this end, this application provides a multimodal virtual network element implementation scheme that can change the current fixed operation mode of the network, allow the dynamic deployment of diverse applications, and fully meet the evolving business needs of new networks.
[0050] This invention discloses a method for implementing a multimodal virtual network element, applied to an electronic device deploying a multimodal virtual network element system based on virtualized network functions. The multimodal virtual network element system includes a local control plane, multiple data forwarding planes, and a switching unit. (See also...) Figure 1 The diagram shows the architecture of a multimodal virtual network element system.
[0051] The multimodal virtual network element system adopts a distributed architecture. The local control plane runs the Network Operating System (NOS), typically based on Linux. It installs various modalities of applications, including IP identifiers, content identifiers, identity identifiers, and geospatial identifiers, enabling multiple addressing and routing modes based on IP, content, identity, and geospatial identifiers.
[0052] In this embodiment, the data forwarding plane can be multiple data forwarding planes based on P4 (Programming Protocol-Independent Packet Processors, a high-level programming language for the data plane), including hardware data forwarding planes and software data forwarding planes. Since the local control plane implements the presentation of multimodal applications, each application mode corresponds to a data forwarding plane, and multiple data forwarding planes jointly construct the software and hardware data forwarding planes. By instructing the data forwarding planes to perform actions according to user requirements without being limited by the data forwarding planes themselves, it is possible to flexibly express various arbitrary control intentions.
[0053] It will be understood by those skilled in the art that the P4-based data forwarding plane is merely illustrative and does not limit the programming techniques of the aforementioned data forwarding plane. The following embodiments all use the P4-based data forwarding plane as an example for explanation, and will not be elaborated upon further. When the data forwarding plane is based on P4, its corresponding hardware data forwarding plane is typically a DPU (Data Processing Unit) or a smart network interface card (NIC), capable of offloading hardware at different network modality data stream levels, thereby providing data path acceleration. The software data forwarding plane based on the P4 data forwarding plane is exemplarily shown in the diagram as forwarding based on the DPDK (Data Plane Development Kit) pipeline, and can also be forwarded based on the EBPF (Extended Berkeley Packet Filter) pipeline. Due to limited hardware resources, the software data forwarding plane can provide support for a greater number of network modalities; network modalities that the hardware data forwarding plane cannot handle can be handled by the software data forwarding plane.
[0054] In the diagram, the switching unit corresponds to OVS (Open VSwitch, Virtual Switch). It establishes GRPC (Google Remote Procedure Call) between the P4 control plane and the data forwarding plane; that is, the P4 RT (runtime) Client and P4 RT (runtime) Server establish a communication mechanism via GRPC. Data packets are forwarded between the data forwarding plane and the control plane through OVS.
[0055] in addition, Figure 1 Control can be achieved by using the software-defined network controller (SDN) of the peripheral device as the control plane. In other words, a communication mechanism can be established between GRPC and the peripheral software-defined network controller.
[0056] Further, see Figure 2 As shown, the implementation methods of multimodal virtual network elements include:
[0057] Step S11: Based on the number of physical network cards installed in the electronic device, determine the number of virtual network cards added by each application of different modes in the multimodal virtual network element system; wherein, each application of different modes corresponds to a data forwarding plane.
[0058] Unlike traditional network devices such as routers, switches, firewalls, and load balancers, which have their own independent hardware and software systems, the multimodal virtual network element system in this embodiment is based on Network Functions Virtualization (NFV) network architecture technology. It can be quickly installed on electronic devices, encapsulating multiple network modal functions into independent modular software. By running different modular software on hardware devices, diverse and multimodal network functions can be implemented on a single hardware device. It should be noted that the multimodal virtual network element system is deployed in the form of VNF (Virtualized Network Function), such as... Figure 3 The diagram shows a system that can be deployed on commonly used x86 servers. The overall architecture consists of the following key components:
[0059] ① Physical hardware and host operating system: General-purpose x86 hardware platform, providing hardware resources such as CPU (Central Processing Unit), memory, network card, storage and basic operating system services.
[0060] ② Hypervisor: Supports KVM (Kernel-based Virtual Machine, an open-source system virtualization module) as an intermediate software layer between the physical server and virtual machine instances, enabling virtual machine management. It allows multiple virtual machine instances to share hardware resources while adding isolation and protection between virtual machines. The virtual machine instance uses Ubuntu 18.04 as its operating system and is allocated independent virtual CPU, storage, memory, virtual network cards, and other resources to host a router VNF instance with multiple network modes.
[0061] ③SR-IOV (Single-Root I / O Virtualization) / PCI-passthrough: Enables information exchange between virtual machine instances and between virtual machine instances and the external network.
[0062] ④ The specific architecture of the multimodal virtual network element system is as disclosed in the aforementioned embodiments and will not be repeated here.
[0063] In this embodiment, the server network interface card (NIC) housing the multimodal virtual network element system in the electronic device uses NIC virtualization technology to solve the virtualization scheme of physical hardware. For example, using SR-IOV technology, one physical NIC can virtualize multiple lightweight PCI-e physical devices, each device corresponding to a virtual NIC, which can then be allocated to virtual machines. Since SR-IOV technology is hardware-based, it can enable virtual machines to achieve I / O performance comparable to the host machine, thereby improving the performance and scalability of physical I / O devices (commonly network adapters).
[0064] In this embodiment of the application, the number of virtual network cards added by each application of different modes in the multimodal virtual network element system is determined based on the number of physical network cards. For example... Figure 4 As shown, assuming the server has 4 physical network interface cards (NICs), then 4 virtual NICs will be added to both the control plane and the data forwarding plane. Taking Modality 1 APP as an example, VNIC1-VNIC4 in the data forwarding plane correspond to Vport1-Vport4 in Modality 1 APP. With the help of NIC virtualization technology, physical NICs can be reused. Based on the number N of virtual NICs added according to the multimodal applications supported by the physical NICs, a maximum of N modalities can be supported for parallel operation, thereby supporting the concurrent processing of N modal data packets.
[0065] Step S12: Through the custom function interface on the data forwarding plane, create network interfaces corresponding to the virtual network cards on the local control plane according to the number of virtual network cards.
[0066] Understandably, diverse applications require diversified, specialized, and intelligent networks, necessitating the development of disruptive innovative technologies to achieve fully definable networks, enabling the network world to achieve multimodal integration vitality that matches the real world. Fully definable network technology can change the current fixed operating mode of networks, allowing for the dynamic deployment of diverse applications. The functions and working mechanisms of the network will no longer be constrained by specific protocols, and its service capabilities will no longer depend on the initial design of node implantation. Its service capability space will transcend the limitations of known protocols and mechanisms, fully meeting the evolving business needs of new networks. In this application embodiment, the "software-defined" concept is implemented down to the data forwarding plane, achieving definable functions, efficient and automatic resource adaptation, and flexible adaptation to business development needs.
[0067] Specifically, three custom functional interfaces are defined in the data forwarding plane: VportA (first custom functional interface), VportB (second custom functional interface), and VportC (third custom functional interface). When the multimodal virtual network element system starts, the startup program will synchronously create the corresponding local control plane network interface based on P4 using VportA, according to the network interface of the P4 data forwarding plane. Since each mode's data forwarding plane corresponds to four virtual network cards, Vport1-Vport4 are the network interfaces synchronously created on the local control plane corresponding to the virtual network cards on the mode 1 data forwarding plane. Correspondingly, Vport5-Vport8 are the network interfaces synchronously created on the local control plane corresponding to the virtual network cards on the mode 2 data forwarding plane, Vport9-Vport12 are the network interfaces synchronously created on the local control plane corresponding to the virtual network cards on the mode 3 data forwarding plane, and Vport13-Vport16 are the network interfaces synchronously created on the local control plane corresponding to the virtual network cards on the mode N data forwarding plane.
[0068] It should be noted that the MAC (Media Access Control) address of the network interface corresponding to the virtual network card, synchronously created on the local control plane, is consistent with that on the P4 data forwarding plane. This is used for configuring IP addresses, ARP (Address Resolution Protocol) learning, and other operations. The control plane application communicates and interacts with upstream and downstream network elements through this virtual network interface.
[0069] Step S13: Determine the packet type of the data packet being processed, and perform concurrent processing of the data packet using the custom function interface and the network interface according to the packet type.
[0070] In this embodiment, the currently processed data packets are divided into data control packets and data forwarding packets. Data control packets are those that require data interaction with upper-level network elements via the local control plane through the multimodal virtual network element system to achieve multimodal heterogeneous identifier space addressing and routing; data forwarding packets are those directly processed within the multimodal virtual network element system.
[0071] In this embodiment, the method for concurrent processing of data packets is determined based on the packet type. In one specific implementation, if the currently processed data packet is a data control packet, the data control packet is processed concurrently using a first custom function interface and the network interface; in another specific implementation, if the currently processed data packet is a data forwarding packet, the data forwarding packet is processed concurrently using a second custom function interface.
[0072] Understandably, data control messages can be sent to the local control plane via the first custom function interface. Furthermore, after receiving the data control messages, applications of different modes can establish links with higher-level network elements, thereby sending out the data control messages from the local control plane. The local control plane establishes a GRPC communication mechanism with the data forwarding plane via the second custom function interface. For each mode pipeline entry in the data forwarding plane, parallel processing is performed using the second custom function interface via data forwarding messages.
[0073] Furthermore, since control can be achieved through the peripheral software-defined network controller acting as a control plane, the third custom function interface is used to establish a GRPC communication mechanism with the peripheral software-defined network controller. Subsequently, messages from the peripheral software-defined network controller can be received to dynamically add or delete entries in each modal pipeline table of the data forwarding plane. Specifically, based on the second GRPC communication mechanism, the second data forwarding message from the peripheral software-defined network controller is received; dynamic additions and / or deletions are performed in the forwarding modal pipeline according to the content of the data forwarding message. In one specific embodiment, when the data forwarding plane is a PS-based data forwarding plane, messages from the peripheral software-defined network controller based on the P4 Runtime format can be received accordingly.
[0074] This application provides a method for implementing multimodal virtual network elements, applied to an electronic device deploying a multimodal virtual network element system based on virtualized network functions. The multimodal virtual network element system includes a local control plane, multiple data forwarding planes, and a switching unit. The method includes: determining the number of virtual network cards added by different modal applications in the multimodal virtual network element system based on the number of physical network cards installed in the electronic device, using network card virtualization technology; wherein each of the different modal applications corresponds to a data forwarding plane; synchronously creating network interfaces corresponding to the virtual network cards on the local control plane according to the number of virtual network cards through a custom function interface on the data forwarding plane; determining the packet type of the currently processed data packet, and concurrently processing the data packet using the custom function interface and the network interface according to the packet type.
[0075] The beneficial technical effects of this application are as follows: First, unlike traditional network devices with their own independent hardware and software systems, this application implements virtualized network function deployment on electronic devices based on network function virtualization (NFV) network architecture technology for multimodal virtual network element systems. This allows multiple network modal functions to be encapsulated into independent modular software, enabling diverse and multimodal network functions by running different modular software on a single hardware device. Second, based on NIC virtualization technology, a single physical NIC can virtualize multiple lightweight virtual NICs, allowing different modal applications to add the same number of virtual NICs as the physical NICs. This enables the reuse of physical NICs and supports multimodal parallel operation based on the number of virtual NICs supported by the physical NIC, thereby supporting concurrent processing of multimodal data packets. Furthermore, the "software-defined" concept is pushed down to the data forwarding plane, allowing users to customize data packet structures with custom identifiers through custom function interfaces, and synchronously creating network interfaces corresponding to the virtual NICs on the local control plane. Since multiple data forwarding planes utilize protocol-independent data programming techniques, and each application mode corresponds to a data forwarding plane, concurrent processing of data packets of different packet types based on custom function interfaces and network interfaces enables functional definition, efficient and automatic resource adaptation, and flexible adaptation to business development needs.
[0076] In one specific implementation, if the currently processed data packet is a data control packet, then the data control packet is processed concurrently using the first custom function interface and the network interface. (See [link to relevant documentation]). Figure 5 As shown, it includes:
[0077] Step S211: If the data packet being processed is a first data control packet, then obtain the network card information corresponding to the first data control packet, and add a first tag to the first data control packet according to the network card information to obtain a first encapsulated packet.
[0078] In this embodiment, the first data control message is a message that needs to be sent from the data forwarding plane to the local control plane, such as ARP, ICMPv6, routing protocol messages, destination IP messages, etc. If the currently processed data message is a first data control message, then the network interface card information corresponding to the first data control message is obtained, such as... Figure 4 As shown in Table 1, the VNIC corresponding to the first control message is determined, and then the data forwarding plane based on P4 encapsulates the message according to the VNIC information.
[0079] Table 1
[0080] VNIC1 Add a VLAN tag with VID=1 to the message VNIC2 Add a VLAN tag with VID=2 to the message VNIC3 Add a VLAN tag with VID=3 to the message VNIC4 Add a VLAN tag with VID=4 to the message
[0081] Step S212: Send the first encapsulated message to the first custom function interface so that the first custom function interface forwards the first encapsulated message to the corresponding network interface according to the information of the first tag in the first encapsulated message.
[0082] In this embodiment, based on different network interface card (NIC) information, the first data control message is tagged with different VLAN tags, resulting in a first encapsulated message with different tags. The first encapsulated message is sent to VportA, and then the message continues to be sent up through the OVS switching unit. Figure 4 ① and ② in the text are both exemplary procedures for concurrent processing of the first data control message. OVS forwards the message to the corresponding VLAN interface based on the VLAN information of the received message. For example, it forwards the message with VID=1 received by VportA to the VLAN1 interface, and then removes the VLAN1 tag information on the VLAN1 interface to restore the original message and sends it to VPORT1 in the P4 control plane.
[0083] In this way, to meet the needs of professional and personalized service delivery, the system supports user-defined data packet structures with custom identifiers and processes packets according to custom pipeline logic. The data forwarding plane will forward control packets of different network modes to the corresponding network interfaces of the local control plane through OVS.
[0084] In another specific implementation, if the currently processed data packet is a data control packet, then the data control packet is processed concurrently using the first custom function interface and the network interface, see [link to relevant documentation]. Figure 6 As shown, it includes:
[0085] Step S221: If the currently processed data packet is a second data control packet, obtain the network interface information corresponding to the second data control packet, and add a second tag to the second data control packet through the switching unit according to the network interface information to obtain a second encapsulated packet.
[0086] In this embodiment, applications of different modes establish a link with the upper-level network element upon receiving a data control message. It is understood that when the data forwarding plane is based on P4, the control plane also processes data based on P4. Therefore, the generated entries, after processing based on P4, are written to the software data forwarding plane, and further to the hardware data forwarding plane. At this time, the corresponding data message is the second data control message sent by the local control plane.
[0087] If the currently processed data packet is a second data control packet, then obtain the network interface information corresponding to the second data control packet, such as... Figure 4 As shown, this determines which Vport corresponds to the second control message. OVS encapsulates the message based on the Vport information. Depending on the network interface information, different tags (VID1-4) are added to the second data control message to obtain the second encapsulated message. Further, the second encapsulated message is sent to the first custom function interface, VportA. For example, messages received by Vport1 are forwarded to VportA with a VLAN tag of VID=1, messages received by Vport2 are forwarded to VportA with a VLAN tag of VID=2, messages received by Vport3 are forwarded to VportA with a VLAN tag of VID=3, and messages received by Vport4 are forwarded to VportA with a VLAN tag of VID=4.
[0088] Step S222: Send the second encapsulated message to the first custom function interface so that the first custom function interface forwards the second encapsulated message to the corresponding virtual network card according to the information of the second tag in the second encapsulated message.
[0089] In this embodiment, when the second encapsulated packet is sent to the first custom function interface VportA, the P4-based data forwarding plane will restore the original packet based on the VLAN information received from VportA and then forward it to the corresponding virtual network card's data interface, as shown in Table 2. For example, packets with VID=1 are stripped of their VLAN information and forwarded to the interface of VNIC1, packets with VID=2 are stripped of their VLAN information and forwarded to the interface of VNIC2, and so on.
[0090] Table 2
[0091] VportA VID=1 The message with VID=1 removed is sent to VNIC1. VportA VID=2 The message is appended with VID=2 and sent to VNIC2. VportA VID=3 The message is appended with VID=3 and sent to VNIC3. VportA VID=4 The message is appended with VID=4 and sent to VNIC4.
[0092] For example, taking the IP routing forwarding mode as an example, the IP routing forwarding mode APP establishes neighbor status with the upper-level router through the above process, and then writes the learned routes into the Kernel routing table. The independent modular software is loaded as a bf_switchd plugin, learns the Kernel routing table through the netlink interface, establishes a GRPC communication connection with the data forwarding plane through VportB, and writes it into the IP routing forwarding pipeline in P4runtime format.
[0093] In this way, to meet the needs of professional and personalized services, the system supports user-defined data packet structures with custom identifiers and processes packets according to custom pipeline logic. The local control plane will forward control packets of different network modes to the virtual network interface card corresponding to the data forwarding plane through OVS.
[0094] In one specific implementation, if the currently processed data packet is a data forwarding packet, then the second custom function interface is used to perform concurrent processing on the data forwarding packet, see [link to relevant documentation]. Figure 7 As shown, it includes:
[0095] Step S31: Establish a first GRPC communication mechanism with the data forwarding plane through the second custom interface.
[0096] Step S32: Receive the first data forwarding message from the local control plane based on the first GRPC communication mechanism, and perform matching in the forwarding mode pipeline according to the content of the first data forwarding message.
[0097] Step S33: If a matching result exists, the first data forwarding message is forwarded according to the pre-configured table entry rules; if no matching result exists, the first data forwarding message is discarded.
[0098] In this embodiment, a GRPC communication mechanism is established with the local control plane through the second custom interface VportB. When the data forwarding plane is a P4-based data forwarding plane, it will receive packets from the local control plane in P4 Runtime format. For data forwarding packets, a matching search is performed in each forwarding mode pipeline based on the packet content. If a match is found, the data is forwarded according to the configured table entry rules; otherwise, it is discarded. It should be noted that entries in each mode pipeline of the data forwarding plane can also be dynamically added or deleted based on the first GRPC communication mechanism.
[0099] Furthermore, when forwarding the first data forwarding packet according to the pre-configured table entry rules, the forwarding is based on Data Plane Development Kit (DPDK) technology or eBPF technology. That is, forwarding is based on DPDK or EBPF pipeline. For example, in Ubuntu 20.04, forwarding is performed using P4 DPDK PIPELINE (P4-dpdk-target) technology or P4 EBPF (P4-ebpf-target) technology.
[0100] In this way, the fully definable data forwarding plane can tell the data forwarding plane what to do according to the user's needs, without being limited by the data forwarding plane, thus achieving the characteristic requirement of flexibly expressing a variety of arbitrary control intentions.
[0101] Accordingly, this application also discloses an implementation apparatus for a multimodal virtual network element, applied to an electronic device deploying a multimodal virtual network element system based on virtualized network functions. The multimodal virtual network element system includes a local control plane, multiple data forwarding planes, and a switching unit. See [link to relevant documentation]. Figure 8 As shown, the device includes:
[0102] The network interface card (NIC) determination module 11 is used to determine the number of virtual NICs added by different modal applications in the multimodal virtual network element system based on the number of physical NICs installed in the electronic device, according to NIC virtualization technology; wherein, each of the different modal applications corresponds to a data forwarding plane;
[0103] The interface creation module 12 is used to synchronously create network interfaces corresponding to the virtual network cards on the local control plane according to the number of virtual network cards through the custom function interface on the data forwarding plane;
[0104] The message processing module 13 is used to determine the message type of the currently processed data message, and to perform concurrent processing of the data message using the custom function interface and the network interface according to the message type.
[0105] For more detailed information on the working process of each of the above modules, please refer to the relevant content disclosed in the foregoing embodiments, which will not be repeated here.
[0106] Therefore, the above-described solution in this embodiment is applied to an electronic device deploying a multimodal virtual network element system based on virtualized network functions. The multimodal virtual network element system includes a local control plane, multiple data forwarding planes, and a switching unit. The device includes: determining the number of virtual network cards added by different modal applications in the multimodal virtual network element system based on the number of physical network cards installed in the electronic device, using network card virtualization technology; wherein each of the different modal applications corresponds to a data forwarding plane; synchronously creating network interfaces corresponding to the virtual network cards on the local control plane according to the number of virtual network cards through a custom function interface on the data forwarding plane; determining the packet type of the currently processed data packet, and concurrently processing the data packet using the custom function interface and the network interface according to the packet type.
[0107] The beneficial technical effects of this application are as follows: First, unlike traditional network devices with their own independent hardware and software systems, this application implements virtualized network function deployment on electronic devices based on network function virtualization (NFV) network architecture technology for multimodal virtual network element systems. This allows multiple network modal functions to be encapsulated into independent modular software, enabling diverse and multimodal network functions by running different modular software on a single hardware device. Second, based on NIC virtualization technology, a single physical NIC can virtualize multiple lightweight virtual NICs, allowing different modal applications to add the same number of virtual NICs as the physical NICs. This enables the reuse of physical NICs and supports multimodal parallel operation based on the number of virtual NICs supported by the physical NIC, thereby supporting concurrent processing of multimodal data packets. Furthermore, the "software-defined" concept is pushed down to the data forwarding plane, allowing users to customize data packet structures with custom identifiers through custom function interfaces, and synchronously creating network interfaces corresponding to the virtual NICs on the local control plane. Since multiple data forwarding planes utilize protocol-independent data programming techniques, and each application mode corresponds to a data forwarding plane, concurrent processing of data packets of different packet types based on custom function interfaces and network interfaces enables functional definition, efficient and automatic resource adaptation, and flexible adaptation to business development needs.
[0108] Furthermore, embodiments of this application also disclose an electronic device, Figure 9 This is a structural diagram of an electronic device 20 according to an exemplary embodiment. The content of the diagram should not be construed as limiting the scope of this application.
[0109] Figure 9This is a schematic diagram of the structure of an electronic device 20 provided in an embodiment of this application. Specifically, the electronic device 20 may include: at least one processor 21, at least one memory 22, a power supply 23, a communication interface 24, an input / output interface 25, and a communication bus 26. The memory 22 stores a computer program, which is loaded and executed by the processor 21 to implement the relevant steps in the implementation method of the multimodal virtual network element disclosed in any of the foregoing embodiments. Furthermore, the electronic device 20 in this embodiment may specifically be a server.
[0110] In this embodiment, the power supply 23 is used to provide operating voltage for each hardware device on the electronic device 20; the communication interface 24 can create a data transmission channel between the electronic device 20 and external devices, and the communication protocol it follows can be any communication protocol applicable to the technical solution of this application, and is not specifically limited here; the input / output interface 25 is used to acquire external input data or output data to the outside world, and its specific interface type can be selected according to specific application needs, and is not specifically limited here.
[0111] In addition, the memory 22, as a carrier for resource storage, can be a read-only memory, random access memory, disk, or optical disk, etc. The resources stored on it can include an operating system 221, computer programs 222, and data 223, etc. The data 223 can include various types of data. The storage method can be temporary storage or permanent storage.
[0112] The operating system 221 is used to manage and control the various hardware devices on the electronic device 20 and the computer program 222, which may be Windows Server, Netware, Unix, Linux, etc. In addition to including a computer program capable of implementing the multimodal virtual network element implementation method disclosed in any of the foregoing embodiments, the computer program 222 may further include a computer program capable of performing other specific tasks.
[0113] Furthermore, this application also discloses a computer-readable storage medium, which includes random access memory (RAM), main memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disks, magnetic disks, optical disks, or any other form of storage medium known in the art. The computer program, when executed by a processor, implements the aforementioned method for implementing multimodal virtual network elements. Specific steps of this method can be found in the corresponding content disclosed in the foregoing embodiments, and will not be repeated here.
[0114] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the apparatus disclosed in the embodiments, since it corresponds to the method disclosed in the embodiments, the description is relatively simple; relevant parts can be referred to in the method section.
[0115] The steps of the implementation methods or algorithms for multimodal virtual network elements described in conjunction with the embodiments disclosed herein can be implemented directly using hardware, software modules executed by a processor, or a combination of both. The software modules can be located in random access memory (RAM), main memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disks, removable disks, CD-ROMs, or any other form of storage medium known in the art.
[0116] Finally, it should be noted that in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0117] The above provides a detailed description of the implementation method, apparatus, device, and medium for a multimodal virtual network element provided by the present invention. Specific examples have been used to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only for the purpose of helping to understand the method and core ideas of the present invention. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of the present invention. Therefore, the content of this specification should not be construed as a limitation of the present invention.
Claims
1. A method for implementing a multimodal virtual network element, characterized in that, An electronic device applied to a multimodal virtual network element system deployed based on virtualized network functions, wherein the multimodal virtual network element system includes a local control plane, multiple data forwarding planes, and a switching unit, the method comprising: Based on network interface card (NIC) virtualization technology, the number of virtual NICs added by different modal applications in the multimodal virtual network element system is determined according to the number of physical NICs installed in the electronic device; wherein, each of the different modal applications corresponds to a data forwarding plane; Through the custom function interface on the data forwarding plane, network interfaces corresponding to the virtual network cards are synchronously created on the local control plane according to the number of virtual network cards; Determine the message type of the currently processed data message, and perform concurrent processing of the data message using the custom function interface and the network interface according to the message type.
2. The method for implementing multimodal virtual network elements according to claim 1, characterized in that, The step of determining the packet type of the currently processed data packet and performing concurrent processing of the data packet using the custom function interface and the network interface according to the packet type includes: If the data packet being processed is a data control packet, then the first custom function interface and the network interface are used to process the data control packet concurrently. If the data packet being processed is a data forwarding packet, then the second custom function interface is used to process the data forwarding packet concurrently.
3. The method for implementing multimodal virtual network elements according to claim 2, characterized in that, If the currently processed data packet is a data control packet, then the data control packet is processed concurrently using the first custom function interface and the network interface, including: If the data packet being processed is a first data control packet, then obtain the network interface card information corresponding to the first data control packet, and add a first tag to the first data control packet according to the network interface card information to obtain a first encapsulated packet; The first encapsulated message is sent to the first custom function interface so that the first custom function interface forwards the first encapsulated message to the corresponding network interface according to the information of the first tag in the first encapsulated message.
4. The method for implementing multimodal virtual network elements according to claim 2, characterized in that, If the currently processed data packet is a data control packet, then the data control packet is processed concurrently using the first custom function interface and the network interface, including: If the data packet being processed is a second data control packet, then the network interface information corresponding to the second data control packet is obtained, and a second tag is added to the second data control packet through the switching unit according to the network interface information to obtain a second encapsulated packet; The second encapsulated message is sent to the first custom function interface so that the first custom function interface forwards the second encapsulated message to the corresponding virtual network card according to the information of the second tag in the second encapsulated message.
5. The method for implementing multimodal virtual network elements according to claim 2, characterized in that, If the currently processed data packet is a data forwarding packet, then the second custom function interface is used to perform concurrent processing on the data forwarding packet, including: A first GRPC communication mechanism is established with the data forwarding plane through a second custom interface; The first data forwarding message of the local control plane is received based on the first GRPC communication mechanism, and matching is performed in the forwarding mode pipeline according to the content of the first data forwarding message; If a matching result exists, the first data forwarding message is forwarded according to the pre-configured table entry rules; if no matching result exists, the first data forwarding message is discarded.
6. The method for implementing a multimodal virtual network element according to claim 5, characterized in that, The step of forwarding the first data forwarding message according to the pre-configured table entry rules includes: According to the pre-configured table entry rules, the first data forwarding message is forwarded based on data plane development kit technology or eBPF technology.
7. The method for implementing a multimodal virtual network element according to any one of claims 1 to 6, characterized in that, Also includes: A second GRPC communication mechanism is established with the peripheral software-defined network controller through a third custom function interface; The second data forwarding message of the peripheral software-defined network controller is received based on the second GRPC communication mechanism. The content of the forwarding message is dynamically added and / or deleted in the forwarding mode pipeline based on the data forwarding message.
8. A device for implementing a multimodal virtual network element, characterized in that, An electronic device applied to a multimodal virtual network element system deployed based on virtualized network functions, wherein the multimodal virtual network element system includes a local control plane, multiple data forwarding planes, and a switching unit, the device comprising: The network interface card (NIC) determination module is used to determine, based on NIC virtualization technology and the number of physical NICs installed in the electronic device, the number of virtual NICs added by each application in different modes of the multimodal virtual network element system; wherein, each application in different modes corresponds to a data forwarding plane; The interface creation module is used to synchronously create network interfaces corresponding to the virtual network cards on the local control plane according to the number of virtual network cards through the custom function interface on the data forwarding plane; The message processing module is used to determine the message type of the data message being processed, and to perform concurrent processing of the data message using the custom function interface and the network interface according to the message type.
9. An electronic device for deploying a multimodal virtual network element system based on virtualized network functions, characterized in that, The electronic device includes a processor and a memory; wherein the memory is used to store a computer program, which is loaded and executed by the processor to implement the method for implementing a multimodal virtual network element as described in any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that, Used to store computer programs; wherein the computer programs, when executed by a processor, implement the method for implementing multimodal virtual network elements as described in any one of claims 1 to 7.
Citation Information
Patent Citations
Data frame transmission method and device, equipment and computer readable storage medium
CN110519147A
NDN (Named Data Networking) modal implementation method based on protocol non-perceptual forwarding and NDN controller application program
CN114244919A