Method and corresponding device for instantiating a network service
By splitting the forwarding graph into VNF basic graph and routing based on the packet category identifier, the communication delay and hardware dependence problems between VNFs are solved, efficient stateless packet forwarding is achieved, and the performance of network services is improved.
Patent Information
- Application Number
- CN202180016035.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-01-31
- Filing Date
- 2021-01-26
- Publication Date
- 2025-07-08
- Estimated Expiration
- 2041-01-26
AI Technical Summary
In the prior art, there are increased delays caused by forwarders and hardware requirements for physical switches in data communication between virtual network functions (VNFs) in network function virtualization, affecting the efficiency of network services.
By splitting the forwarding graph into VNF basic graphs and routing based on the packet category identifier in each VNF instance, the dependence on the index and forwarder is cancelled, and stateless packet forwarding is used with the packet category identifier.
It realizes efficient data communication between VNFs, reduces packet transmission time, simplifies infrastructure requirements, and improves the performance of network services.
Smart Images

Figure CN115176450B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure generally relates to the field of network function virtualization (NFV), and more particularly to virtual network functions (VNFs). Background Art
[0002] Any background information described herein is intended to introduce the reader to various aspects of the field, which may be related to the embodiments of the present invention described below. This discussion is considered to be helpful in providing background information to the reader to facilitate a better understanding of various aspects of the present disclosure. Therefore, it should be understood that these statements will be interpreted from this perspective.
[0003] In the case of network function virtualization, network functions are implemented as virtualized network functions executed on servers in containers and / or virtual machines (VMs). A network service (NS) is defined as a set of VNFs interconnected by virtual links (VLs). The NS implements complex network functions, where the VNFs that make up the NS communicate with each other via VLs.
[0004] The so-called VNF forwarding graph (VNFFG) describes how the VNFs in an NS form a chain; the output data (result) of one VNF is the input data of another VNF. Packets are routed within the NS from one VNF to another based on their content. Each computing node (which is a computer hosting one or more VNFs) requires a so-called forwarder to handle packet traffic on the computing node, i.e., the forwarder examines the packet content and directs the packet to a specific VNF based on the packet content. The forwarder can significantly increase the total packet transmission time and may cause significant latency.
[0005] Therefore, there is a need to provide a method and device for improving data communication between VNFs in an NS. Summary of the Invention
[0006] According to one aspect of the present disclosure, there is provided a method for instantiating a network service described by information representing a forwarding graph according to the appended claims. The method includes: splitting the information representing the forwarding graph into information representing n VNF basic graphs, each VNF instantiating one VNF basic graph, wherein each basic graph in the basic graph of the VNF instance includes routing information for forwarding the packet by the VNF instance based on a packet class identifier included in the packet output by the VNF instance. The method further includes: transmitting the information representing each VNF basic graph in the VNF basic graphs to the corresponding VNF instance for the basic graph. In addition, the method includes: when each VNF instance in the VNF instances outputs a packet processed by the VNF instance, the VNF instance transmits the packet to the next VNF instance via one of the communication links based on the packet class identifier included in the packet.
[0007] According to another aspect of the method for instantiating a network service, the method is implemented by at least one network entity corresponding to at least one VNF that executes a 3GPP session management function (SMF), and the at least one VNF corresponds to a control plane network entity.
[0008] According to another aspect of the method for instantiating a network service, the method further includes configuring a VNF basic graph for relaying protocol messages by a network entity according to one of the following: an access and mobility management function (AMF) and an access network (AN), where the protocol message is a 3GPP non-access stratum (NAS) protocol message; a network exposure function (NEF) and an application function (AF), where the protocol message is a 3GPP N33 message.
[0009] According to another aspect of the method for instantiating a network service, the method is implemented by at least one network entity corresponding to at least one VNF instantiated in a 3GPP user plane function, and the at least one VNF executes in one of the following in a local data network or in a data network: at least one wireless transmit / receive unit (WTRU), at least one application server (AS).
[0010] According to another aspect of the method for instantiating a network service, the basic graph of a VNF instance including routing information for packet forwarding is configured by a session management function (SMF) onto a user plane function (UPF) using packet detection rules and forwarding behavior rules.
[0011] According to another aspect of the method for instantiating a network service, the basic graph of a VNF including routing information for packet forwarding is configured by a session management function (SMF) onto a wireless transmit / receive unit (WTRU) using protocol configuration options and / or a quality of service profile, and the protocol configuration options and / or the quality of service profile are transmitted using a 3GPP non-access stratum (NAS) message, and the NAS message is any one of a protocol data unit (PDU), a session establishment, and a PDU session modification command.
[0012] According to another aspect of the method for instantiating a network service, the basic graph of a VNF including routing information for packet forwarding is configured by a session management function (SMF) onto an application server (AS) at a local data network or in a data network.
[0013] According to another aspect of the method for instantiating a network service, one VNF instance in the VNF instances implements a packet classifier function, and the packet classifier function inserts a packet category identifier into a packet input to the network service based on packet attributes.
[0014] According to another aspect of the method for instantiating a network service, in a 3GPP network, the packet classifier function may be implemented as a set of packet filters used in QoS rules and packet detection rules (PDR) and forwarding behavior rules (FAR) (e.g., related 3GPP TS23.501).
[0015] According to another aspect of the method for instantiating a network service, in a 3GPP network, a VNF instance may be implemented as a component of a network function or network function service or as an entire network function or network function service (e.g., related 3GPP TS23.501 and TS23.502).
[0016] According to another aspect of the method for instantiating a network service, in a 3GPP network, a VNF instance may perform both user plane functions and control plane functions. The user plane VNF may use the configuration provided by the control plane VNF to implement an NS chain. Implementations of such mechanisms may involve 3GPP control plane entities, such as a session management function (SMF) or a part thereof, configuring a user plane function (UPF) or a part thereof (e.g., as part of the uplink classifier function part of the UPF) and a WTRU or a part thereof.
[0017] Additionally, the SMF may directly configure the VNF part and the AS using a service-based interface (SBI) on the control plane through an application function (AF) responsible for configuring an application server (AS) or through a 3GPP network exposure function (NEF) that connects the AF to the 3GPP network. The AF and the AS controlled by the AF may be part of a central data network or an edge data network. According to 3GPP, the NEF may communicate with a trusted or external AF through the N33 network interface.
[0018] When configuring a network service described by a forwarding graph, the SMF may utilize other network functions such as the AF, NEF, and access and mobility management function (AMF) to relay configuration messages to the VNFs executed in network entities such as the WTRU, UPF, and AS.
[0019] According to another aspect of the method for instantiating a network service, the packet attributes are at least one of the following: source address, source port number, destination address, destination port number, protocol identifier, logical network interface identifier, physical network interface identifier, central processing unit thread or process identifier, graphics processing unit thread or process identifier, protocol data unit session identifier (PDU session ID), application identifier, QoS profile, and / or a set of packet filters (related 3GPP TS23.501).
[0020] According to another aspect of the method for instantiating a network service, the packet attributes are determined by the VNF instance based on routing information.
[0021] According to another aspect of the method for instantiating a network service, the destination address is any one of an Internet Protocol address, a Media Access Control address, an index to an encapsulation transport format, and an index to an encapsulation protocol.
[0022] According to another aspect of the method for instantiating a network service, the encapsulation transport format is a Virtual Extensible Local Area Network (VxLAN).
[0023] According to another aspect of the method for instantiating a network service, the encapsulation transport format is a GPRS Tunneling Protocol (GTP).
[0024] According to another aspect of the method for instantiating a network service, the encapsulation protocol is a Generic Routing Encapsulation (GRE).
[0025] According to another aspect of the method for instantiating a network service, a packet class identifier is inserted into one of the following: the Type of Service field in the IPv4 header; the Flow Label field in the IPv6 header; a physical network interface field, a logical network interface field, a central processing unit thread or process field, a graphics processing unit thread or process field, or a PDU layer (related to 3GPP TS23.501).
[0026] According to another aspect of the present disclosure, there is provided an apparatus for instantiating a network service according to the appended claims. The principles of the present invention also relate to an apparatus for instantiating a network service described by information representing a forwarding graph, the network service including virtual network function (VNF) instances interconnected via a communication link. The apparatus includes at least one processor configured to split the information representing the forwarding graph into information representing n VNF basic graphs, one VNF basic graph for each VNF instance, wherein each basic graph in the basic graph of the VNF instance includes routing information for forwarding a packet by the VNF instance based on a packet class identifier included in the packet output by the VNF instance. The at least one processor is further configured to transmit each VNF basic graph in the VNF basic graphs to the corresponding VNF instance for that basic graph. When each VNF instance in the VNF instances outputs a packet processed by the VNF instance, the VNF instance is further configured to transmit the packet via one of the communication links in the communication link to the next VNF instance based on the packet class identifier included in the packet.
[0027] According to another aspect of the apparatus, the apparatus is at least one network entity corresponding to at least one VNF that performs a 3GPP session management function (SMF), and the at least one VNF corresponds to a control plane network entity.
[0028] According to another aspect of the device, the at least one processor is further configured to configure a VNF base graph for relaying protocol messages by a network entity according to one of the following: an access and mobility management function (AMF) and an access network (AN), where the protocol messages are 3GPP non-access stratum (NAS) protocol messages; a network exposure function (NEF) and an application function (AF), where the protocol messages are 3GPP N33 messages.
[0029] According to another aspect of the device, the device is at least one network entity corresponding to at least one VNF instantiated in a 3GPP user plane function, and the at least one VNF is executed in one of the following in a local data network or in a data network: at least one wireless transmit receive unit (WTRU), at least one application server (AS).
[0030] According to another aspect of the device, a base graph of a VNF instance including routing information for packet forwarding is configured by a session management function (SMF) onto a user plane function (UPF) using packet detection rules and forwarding behavior rules.
[0031] According to another aspect of the device, a base graph of a VNF including routing information for packet forwarding is configured by a session management function (SMF) onto a wireless transmit receive unit (WTRU) using protocol configuration options and / or a quality of service profile, and the protocol configuration options and / or the quality of service profile are transmitted using 3GPP non-access stratum (NAS) messages, where the NAS messages are any one of a protocol data unit (PDU), a session establishment, and a PDU session modification command.
[0032] According to another aspect of the device, a base graph of a VNF including routing information for packet forwarding is configured by a session management function (SMF) onto an application server (AS) in a local data network or in a data network.
[0033] According to another aspect of the device, one of the VNF instances in the VNF instance is configured to implement a packet classifier function, and the packet classifier function inserts a packet category identifier into a packet input to a network service based on packet attributes.
[0034] According to another aspect of the device, the packet attributes are at least one of the following: source address, source port number, destination address, destination port number, upper layer protocol identifier, physical network interface identifier, logical network interface identifier, central processing unit thread or process identifier, graphics processing unit thread or process identifier.
[0035] According to another aspect of the device, the destination address is any one of an Internet protocol address, a media access control address, an index to an encapsulation transport format, and an index to an encapsulation protocol.
[0036] According to another aspect of the device, the encapsulation transport format is Virtual Extensible Local Area Network (VxLAN).
[0037] According to another aspect of the device, the encapsulation protocol is Generic Routing Encapsulation (GRE).
[0038] According to another aspect of the device, the encapsulation protocol is GPRS Tunneling Protocol (GTP).
[0039] According to another aspect of the device, the packet class identifier is inserted into one of the following: the Type of Service field in the IPv4 header, the Flow Label field in the IPv6 header, the physical network interface field, the logical network interface field, the central processing unit thread or process field, the graphics processing unit thread or process field. BRIEF DESCRIPTION OF THE DRAWINGS
[0040] By way of a description of specific non-limiting embodiments, further advantages of the present disclosure will become apparent. To describe the manner in which the advantages of the present disclosure can be obtained, a particular description of the principles of the present invention is presented by reference to specific embodiments of the principles of the present invention illustrated in the drawings. The drawings depict exemplary embodiments of the present disclosure and should not, therefore, be considered as limiting its scope. The described embodiments can be combined to form particular advantageous embodiments. In the following drawings, items having the same reference numerals as those already described in previous figures will not be described again so as not to unnecessarily obscure the present disclosure. Embodiments will be described with reference to the following drawings, in which:
[0041] Figure 1 is a block diagram of an environment in which the principles of the present invention can be applied.
[0042] Figure 2 is an embodiment of a network service 200 according to the principles of the present invention.
[0043] Figure 3a is a forwarding graph corresponding to NS200 and shows Figure 2 the VNFs thereof as nodes and the communication links between the VNFs as edges.
[0044] Figure 3b is a forwarding graph corresponding to another NS similar to NS200, where the forwarding graph includes packets that are routed to VNFs (e.g., VNF4, VNF5) located outside the 3GPP network and are subsequently further routed back to the 3GPP network, for example, via N6-LAN.
[0045] Figure 4a shows a coordinator that processes the forwarding graph of a network service (e.g., NS200) and outputs n basic graphs or configuration data for each individual VNF in the NS.
[0046] Figure 4b Further shown is a VNF in which a basic graph is dynamically deployed by the SMF into the 3GPP system (to implement 3GPP network functions) based on a routing policy provided by the PCF (Policy Control Function) and a Forwarding Graph (FG) model provided by the coordinator 400. The SMF can execute the functions of 42 and 43 and the routing policy provided by the PCF, and construct a set of basic relationships among the VNFs located on the WTRU, UPF, and AS.
[0047] Figure 5 is an exemplary deployment of a VNF in a network including a core network and an edge network.
[0048] Figure 6 is a different exemplary deployment of a VNF in a network including a core network and an edge network.
[0049] Figure 7 is a flowchart of an embodiment of a method for instantiating a network service described by a forwarding graph according to the principles of the present invention.
[0050] Figure 8 is an embodiment of a device suitable for implementing an embodiment according to aspects of the present disclosure.
[0051] It should be understood that the purpose of the drawings is to illustrate the concepts of the present invention and not necessarily to illustrate the only possible configuration of the present disclosure. Detailed Description
[0052] This specification illustrates the principles of the present disclosure. Accordingly, it should be understood that those skilled in the art will be able to design various arrangements which, although not explicitly described or illustrated herein, embody the principles of the present disclosure and are included within its spirit and scope.
[0053] All of the examples and conditional language recited herein are for pedagogical purposes to aid the reader in understanding the principles of the present disclosure and the concepts contributed by the inventor to further the art, and are to be construed as not being limited to such specifically recited examples and conditions.
[0054] Furthermore, all statements herein reciting principles, aspects, and embodiments of the present disclosure, as well as specific examples thereof, are intended to cover their structural and functional equivalents. Additionally, it is intended that such equivalents include both currently known equivalents and equivalents developed in the future, i.e., any elements developed that perform the same function regardless of structure.
[0055] The so-called Virtual Network Function Forwarding Graph (VNFFG) (or the information representing the VNFFG) describes how the VNFs in an NS form a chain; the output data (result) of one VNF is the input data of another VNF. Packets are routed from one VNF to another within the NS according to their content. Each computing node (which is a computer hosting one or more VNFs) requires a so-called forwarder to handle the packet traffic on the computing node, that is, the forwarder checks the packet content and routes the packet to a specific VNF according to the packet content. The forwarder can significantly increase the total packet transmission time and may cause significant latency.
[0056] For example, an NS forming a chain can be characterized by a set of VNFs in the form of 3GPP network functions and / or network function services, which are interconnected to deliver the service. A particular use case where such an NS can be deployed involves routing packets from a 3GPP network to a network operator part where value-added services such as a firewall, a Carrier-Grade Network Address Translator (NAT), Deep Packet Inspection, and Policy Control may exist, and this network operator part is commonly referred to as the N6-LAN. Additionally, it is typically required that once these packets cross the N6-LAN, they are routed back to the 3GPP network where the NS chain terminates for further processing. This type of use case does not work well with the current technology described above. Therefore, there is a desire to provide a method and an apparatus for improving data communication between VNFs in an NS.
[0057] Figure 1 is a block diagram of an environment in which the principles of the present invention can be applied. Exemplary network service 100 includes three VNFs, namely VNF1 with reference numeral 10, VNF2 with reference numeral 11, and VNF3 with reference numeral 12. Of course, those skilled in the art will readily recognize that a network service can include any number of VNFs. In exemplary NS100, packets are input at connection point (CP) CP0 and output at connection point CP9. The connection points can correspond to network interfaces. Inside NS100, the VNFs are linked to the input CP of the NS, to the output CP of the NS, and to each other via virtual links (VLs). The first VL (VL1) connects NS input CP0 to VNF1(10) CP1. The second VL (VL2) connects CP2 of VNF1(10) to CP7 of VNF3(12). The third VL (VL3) connects CP3 of VNF1(10) to CP4 of VNF2(11) or CP6 of VNF3. The fourth VL (VL4) connects CP5 of VNF2(11) to CP6 of VNF3(12). For example, there are three routes defined according to the packet type / content, here called "red", "green", and "blue" packets, although Figure 1It is black and white. The red packets incoming at CP0 are processed by VNF1(10), and the resulting packets output by VNF1(10) at CP2 should be input to CP7 of VNF3(12) for further processing, and the resulting packets should be output at CP8 and output by NS at CP9. The blue packets incoming at CP0 should be input to CP1 of VNF1(10) for processing by VNF1, and the result should be output at CP3 of VNF1(10), input to CP6 of VNF3(12) for further processing by VNF3, and the result processed by VNF3(12) and output at CP8 of VNF3(12) should be transferred to the NS output CP9. The green packets incoming at NS100 CP0 should be input to CP1 of VNF1(10), the result output at CP3 of VNF1(10) should be transferred to the input CP4 of VNF2(11), and the VNF2 processing result outgoing from CP5 of VNF2(11) should be transferred to the input CP6 of VNF3(12), and the VNF3(12) processing result of the green packets output at CP8 of VNF3(12) should be transmitted to the NS100 output CP9.
[0058] Therefore, it can be observed that inside NS100, the VNFs are "linked" in a "graph". Routing of packets is done through a function called a "forwarder". The forwarder detects the Packet Class Identifier (PCI), which is added by a packet classifier function that can be instantiated in the VNF, and the role of this packet classifier function is to add a packet classifier according to policies (e.g., "red", "green", or "blue" policies). An index is further added, which represents the packet's position in the graph. This index gets an initial value when entering the NS and is decremented by each VNF on its route. The index makes the forwarding process "stateful", that is, the VNF updates the "state" (decrements the index), but ignores where to send the packet. If the VNF correctly sets the packet "state", the forwarder will know this information.
[0059] In the above solution, each computing node (i.e., a computer hosting one or more VNFs) requires a forwarder. The forwarder may significantly increase the packet transfer time between VNFs. The forwarder must be configured and updated before deploying the VNF. Additionally, when network services are implemented on an infrastructure where virtual links cross physical switches (routers), such switches should support the link protocol as described above, thus requiring specific hardware and / or software. Specifically, these switches may need to support the Network Service Header (NHS) protocol.
[0060] The embodiments described herein provide solutions to at least some of the above problems, which include state updates performed by VNFs, increased communication latency caused by forwarders, and specific hardware requirements for any physical switches in the routing between VNFs. A solution that no longer requires indexes / statuses and forwarders is provided herein. In the absence of an index field, routing depends only on the packet class. Any switches involved in the supporting infrastructure are no longer included in the VNF chain and can be basic items.
[0061] According to one embodiment, a new way of instantiating a forwarding graph (FG) (or information representing a forwarding graph) is provided. The FG is distributed as configuration data in the VNF part of the NS such that each VNF "knows" which VNF to route a given class of packets to. Then, the routing of a packet is determined only by its class identifier and no longer depends on the state information carried by an "index" field; thus, the system is referred to as stateless.
[0062] Figure 2is an exemplary implementation of a network service 200 according to the principles of the present invention. The exemplary NS 200 includes four VNFs, namely VNF1 with reference numeral 21, VNF2 with reference numeral 22, VNF3 with reference numeral 23, and VNF4 with reference numeral 24. VNF1 21 includes a so-called classifier function; it inserts a (packet) class identifier (CI or PCI) into the packets input to NS200 at CP0 based on packet attributes. For example, the packet attributes can be the source (IP) address and / or source port number, or the destination (IP) address and / or destination port number, the identifier of the communication protocol used ("protocol identifier") (e.g., the identifier of the User Datagram Protocol (UDP) or the Transmission Control Protocol (TCP) for the IP protocol), the central processing unit thread or process identifier, the graphics processing unit thread or process identifier. According to one embodiment, the destination address is any one of an Internet protocol address, a media access control address, an index to an encapsulation transport format, an index to an encapsulation protocol. According to one embodiment, the encapsulation transport format is Virtual Extensible Local Area Network (VxLAN). According to one embodiment, the encapsulation protocol is Generic Routing Encapsulation (GRE). According to another embodiment, the encapsulation protocol is General Packet Radio Service Tunneling Protocol (GTP). According to one embodiment, the packet attributes are determined by the VNF instance implementing the packet classifier function based on the configuration settings available to the VNF instance. According to different embodiments, the packet attributes are determined by the VNF instance based on the configuration settings available to the VNF instance. According to one embodiment, the packet class identifier is inserted into one of the following: the type of service field in the IPv4 header, the flow label field in the IPv6 header, the physical network interface field, the logical network interface field, the central processing unit thread or process field, the graphics processing unit thread or process field. In this exemplary NS, packets with CI1 travel from VNF1 to VNF2, VNF3, and VNF4, while packets with CI2 travel from VNF1 to VNF2 and VNF4, and packets with CI3 travel from VNF1 to VNF3 and then to VNF4 and are then output at NS CP9.
[0063] The CI can be encoded with several bits. For example, in an IPv4 network, the "type of service" (ToS) field can be used; for IPv6, the "flow label" field can be used to encode the CI.
[0064] In addition, when deploying some VNFs of the NS, there may be special requests to share the same computing node (which consists of a CPU and a GPU (graphics processing unit)). In such cases, the CI can be a CPU / GPU process identifier or a CPU / GPU thread identifier.
[0065] Thus, it can be observed that the described repeater-independent method can use a very efficient packet transmission protocol to accelerate VNF-to-VNF communication, especially when the VNFs of an NS share the same computing node.
[0066] The described method enables the use of packet processing acceleration means such as Data Plane Development Kit (DPDK) or Single Root I / O Virtualization (SR-IOV). In such cases, the CI can be a physical network port / interface identified by a hardware identifier (e.g., PCI device address 0000:01:00.0) or a logical network interface (e.g., dpdk0).
[0067] The described method supports the deployment and configuration of an NS enabled by FG into VNFs (e.g., AS) deployed at a data network by enabling the SMF to route packets from the 3GPP system to the N6-LAN and back to the 3GPP system, for example, directly through the AF or through the AF connected to the 3GPP system via the NEF API (i.e., interface).
[0068] The N6-LAN is part of the network operator and is located between the 3GPP system and the data network, where value-added services are typically provided. Functions such as firewalls, parental controls, deep packet detection, policy control, and content optimization can be available in the N6-LAN.
[0069] Figure 3a is the forwarding graph 301a corresponding to NS200, and will Figure 2 the VNFs of, i.e., VNF1, VNF2, VNF3, and VNF4 are respectively shown as node 1 with reference label 31, node 2 with reference label 32, node 3 with reference label 33, and node 4 with reference label 34, and the packet paths between the nodes are shown as edges.
[0070] Figure 3b is similar to Figure 3a shown is the forwarding graph 301b corresponding to an NS similar to NS200, where the forwarding graph includes packets being routed to a VNF located outside the 3GPP network, e.g., routed to VNF4 (node 34), and then further routed back to the 3GPP network through, for example, the N6-LAN, and then further routed to another VNF, e.g., routed to VNF 5 (node 35).
[0071] Figure 4a shown is the coordinator 400, which processes the forwarding graph (or information representing the forwarding graph) of a network service (e.g., NS200) and outputs n basic graphs (or information representing the basic graphs or configuration data) for each individual VNF in the NS. Now further based on the combination Figure 2As explained in connection with Figure 3, a forwarding graph model 41 for describing the forwarding graph 301 can be defined. The forwarding graph model 41 includes a set of network function paths, each network function path being identified by a class identifier generated by a packet class identifier function, and the class identifier being inserted into a specific packet by this function. The forwarding graph model 41 is used in a so-called coordinator 400, which includes a graph decomposition function 42 and a VNF configuration system 43. The forwarding graph model 41 is fed into the graph decomposition function 42, which decomposes the forwarding graph model 301 into a set of basic relationships between VNFs and adjacent VNFs. The graph decomposition function 42 can generate the following relationship data:
[0072] (Class 1, VNF1, VNF2)
[0073] (Class 1, VNF2, VNF3)
[0074] (Class 1, VNF3, VNF4)
[0075] (Class 2, VNF1, VNF2)
[0076] (Class 2, VNF2, VNF4)
[0077] (Class 3, VNF1, VNF3)
[0078] (Class 3, VNF3, VNF4)
[0079] The above relationship data (information) is input into the VNF configuration system 43, which converts (splits) this data into data for each individual VNF such that the destination address of a packet exiting from this VNF depends only on the packet class identifier. The destination address can be the IP address / port of the VNF, the destination media access control (MAC) address, an index (identifier) for an encapsulation transport format such as virtual extensible LAN (VxLAN), the generic routing encapsulation (GRE) protocol, or any other type of upper or lower layer protocol / format, a logical network interface field, a physical network interface field, a CPU thread or process field, a GPU thread or process field.
[0080] In view of the above example, the VNF configuration system 43 will generate the following data:
[0081] Basic graph data (VNFEG) for VNF1:
[0082] · Packets of Class 1 to be routed to VNF1, packets of Class 2 to be routed to VNF2, packets of Class 3 to be routed to VNF3
[0083] Basic graph data for VNF2:
[0084] · Class 1 packets to VNF3, Class 2 packets to VNF4
[0085] Basic graph data of VNF3:
[0086] · Class 1 packets to VNF4, Class 3 packets to VNF4
[0087] Basic graph data of VNF4:
[0088] · Class 1 / 2 / 3 packets to CP9
[0089] Therefore, each basic graph in the basic graph of a VNF instance includes routing information, which is used by the VNF instance to forward those packets based on the packet class identifier included in the packets output by the VNF instance. Then the basic graph data is transmitted to the VNF, as shown by the thick arrows in Figure 4. The basic graph data of VNF1 is transmitted to VNF1, the basic graph data of VNF2 is transmitted to VNF2, the basic graph data of VNF3 is transmitted to VNF3, and the basic graph data of VNF4 is transmitted to VNF4.
[0090] The routing information of a VNF instance may include a specific configuration of packet attributes that the VNF instance uses to forward packets to another VNF instance. For example, when forwarding a Class 1 packet to VNF4, VNF2 may insert the packet class identifier into IPv4ToS, while when forwarding a Class 1 packet to VNF3 (e.g., when VNF2 and VNF3 are executed on the same CPU), it may use the process ID.
[0091] Figure 4b A 3GPP system is shown, and specifically the SMF 46, which is configured to dynamically deploy a forwarding graph corresponding to a network service according to a routing policy provided by the PCF and a forwarding graph model provided by the coordinator 400. The SMF can execute the functions of 42 and 43 and the routing policy provided by the PCF 45, and construct a set of basic relationships between the VNFs located on the WTRU (401), UPF (403, 404), and AS (48, 404). When the SMF configures the basic relationships in the VNFs located in the AS, the SMF can directly address the AS through the AF or indirectly use the Network Exposure Function (NEF) 47. The NEF exposes an interface in the form of an API (Application Programming Interface) so that entities external to the 3GPP network can interact with the 3GPP system.
[0092] The graph decomposition function calculated in the SMF can generate the following relationship data:
[0093] (Class 1, VNF1, VNF2)
[0094] (Category 1, VNF2, VNF3)
[0095] (Category 1, VNF3, VNF4)
[0096] (Category 2, VNF1, VNF2)
[0097] (Category 2, VNF2, VNF4)
[0098] (Category 3, VNF1, VNF3)
[0099] (Category 3, VNF3, VNF4)
[0100] (Category 4, VNF1, VNF4)
[0101] (Category 4, VNF4, VNF2)
[0102] (Category 4, VNF2, VNF5)
[0103] The above relationship data is input into the VNF that implements the SMF function, and this VNF converts (splits) the data into data going to each individual VNF, such that the destination address of the packets coming out of this VNF depends only on the packet category identifier. The destination address can be the IP address / port of the VNF, the destination Media Access Control (MAC) address, an index (identifier) for an encapsulation transport format such as Virtual Extensible LAN (VxLAN), the Generic Routing Encapsulation (GRE) protocol, or any other type of upper or lower layer protocol / format, a logical network interface field, a physical network interface field, a CPU thread or process field, a GPU thread or process field, an application ID or PDU session ID, a QoS profile, and / or a set of packet filters, as defined in 3GPP TS23.501.
[0104] Given the above examples, the SMF can generate the following data:
[0105] Basic graph data (VNFEG) of VNF1 (WTRU):
[0106] · Packets of Category 1 and Category 2 to be routed to VNF2 (UPF), and packets of Category 3 and Category 4 to be routed to VNF3
[0107] (UPF)
[0108] Basic graph data of VNF2:
[0109] · Packets of Category 1 to VNF3 (UPF), packets of Category 2 to VNF4 (Edge DN), packets of Category 4 to VNF5 (Central DN) and to CP10
[0110] Basic graph data of VNF3:
[0111] · Class 1, Class 3, and Class 4 groupings to VPN4 (Edge DN)
[0112] Basic graph data of VNF4:
[0113] · Class 1, Class 2, and Class 3 groupings to Edge DN and to CP9, to VNF2
[0114] (UPF) Class 4 grouping
[0115] The SMF can configure the FG according to the target VNF based on different communication protocols.
[0116] According to one embodiment, the SMF can use protocol configuration options and / or QoS configuration files transmitted via the non-access stratum (NAS) protocol to configure the WTRU. The SMF can use a PDU session establishment acceptance message or a PDU session modification command message to configure the FG into the WTRU.
[0117] According to another embodiment, the SMF can configure the UPF through the 3GPP N4 interface, e.g., by enhancing the packet detection rule (PDR) and forwarding behavior rule (FAR) parts of the packet forwarding control protocol (PFCP) that implements the N4 interface, or an equivalent protocol such as OpenFlow or P4.
[0118] According to another embodiment, the SMF can directly use the AF or through the NEF 47 to configure the FG in the VNF part of the AS. These AF and AS can be the central data network or a part thereof, or the edge data network or a part thereof.
[0119] Figure 5An exemplary deployment of VNFs 1, 2, 3, and 4 corresponding to reference numerals 21, 22, 23, and 24 respectively in a network including a core network 500 and an edge network 501. VNF1 (21) and VNF2 (22) that implement classifier functions are implemented in, for example, a gateway (GW), a radio access network (RAN), or an edge 51. VNF3 (23) is implemented in a data network (DN) 54, while VNF4 (24) is implemented in DN 55. The core network (CN) 500 includes a part of GW / RAN / edge 51 to a part of DN 54, 55, and optionally user plane functions (UPF) 52 and 53. The edge network (EN) 501 includes a plurality of user equipments (UE) 50 and a part of GW / RAN / edge 51 and a part of DN 54 and 55. The curves indicate packet flows. The RAN 51 can be a cloud RAN or a virtual RAN composed of a set of baseband units (BBU), and this set of baseband units acts as a set of remote radio heads (RRH) from a fronthaul communication link. The fronthaul communication link separates the BBU from the RRH at different communication layers L1 / L2 / L3. The means for identifying the RRH resources entering the BBU can be used as a classifier identifier for VNF1 (21) to forward the output packets to VNF2 (22), VNF2' (another instance of VNF2, not shown in Figure 5 ), or VNF3 (23). The edge 51 can be any V2X (vehicle-to-everything) computing node for road infrastructure, such as a vehicle on-board unit or equipment (OBU or OBE), a roadside unit or equipment (RSU or RSE), a secure communication channel. The edge 51 can be AR / VR / XR (augmented reality, virtual reality, mixed reality) edge computing rendered close to the UE to meet low-latency constraints such as motion display latency. The edge 51 can be an edge server located near or co-located with the RAN node that serves an unmanned aerial vehicle (UAV), a remotely piloted aircraft system (RPAS), an unmanned aerial vehicle system (UAS). For such cases, one or several VNFs for image processing such as fire detection or dynamic object tracking can be implemented. The edge 51 can be an enhanced mobile broadband unit (such as EMBB / 5MBS) or a CDN edge network distribution.
[0120] Figure 6are different exemplary embodiments of VNFs 1-4 in a network. Here, the edge network 601 includes a part of the UE 60, GW / RAN / Edge 61, and parts of the DNs 54 and 55. The UE 60 includes the classifier VNF1 (21), while the GW / RAN / Edge 61 now only includes the VNF2 (22). The core network 600 includes a part of the GW / RAN / Edge 61, optionally the UPFs 52 and 53, and parts of the DNs 54 and 55. The UE can be a simple mobile phone, AR / VR / XR user equipment, unmanned aerial vehicle (UAV), remotely piloted aircraft system (RPAS), unmanned aircraft system (UAS), a robot or a car with a strong computing unit for processing many tasks before sending packets to the edge. In such cases, the UE may internally include a set of several VNFs (not shown in Figure 6 ), for processing UE-specific tasks that require extremely low latency or for security or privacy reasons. The UE may also perform similar tasks or preprocessing tasks for the VNFs of the Edge 61.
[0121] Figure 7 is a flowchart of an embodiment of a method 700 for instantiating a network service described by a forwarding graph according to the principles of the present invention, the network service including virtual network functions implemented by VNF instances. In 701, the forwarding graph is decomposed (split) into n VNF elementary graphs (VNF EGs), one VNF elementary graph for each VNF instance, and each elementary graph in the elementary graphs includes routing information for forwarding the packet to the next VNF instance (or to the NS output CP) by the corresponding VNF instance based on the packet class identifier included in the packet output (processed) by the VNF instance. In 702, each VNF EG in the VNFEGs is transmitted to the corresponding VNF instance for the elementary graph. In 703, each VNF instance in the VNF instances, when outputting the packet processed by it, uses the information included in its elementary graph to transmit the packet to the next VNF instance or to the NS output connection point based on the packet class identifier included in the packet.
[0122] The proposed implementation can be used in the context of ETSI / MANO (European Telecommunications Standards Institute / Management and Orchestration). Among the many use cases described in the ETSI / MANO project, Mobile Edge Computing (MEC) services emerge as very complex network services that bridge three major standardization efforts: ETSI / MANO, MEC, and 3GPP (including 4G and 5G). The implementation described in this document can contribute to achieving the high data rates required especially for new 5G applications. MANO benefits include the ability to deploy applications on a heterogeneous set of hosting infrastructures called the Network Function Virtualization Infrastructure (NFVI), and the deployment of MEC hosts is of particular interest, which are considered to execute on relatively small computing resources located at the edge of the mobile network in a cloud-like environment. In MEC, each Mobile Edge Application (ME application) can include a set of VNFs that are managed by MANO within another set of VNFs: the MEC coordinator. The coordinator 400 in Figure 4 can be the MEC coordinator, which will enable the MEC coordinator to benefit from certain advantages such as:
[0123] · There is no need to implement a forwarder function in the NFVI because each VNF itself sends the packets it has processed to the next VNF.
[0124] · There is no need to track "state" in the form of an index because the relevant part of the VNF forwarding graph (i.e., the base graph) is stored as configuration data in the VNF. The index is useless and the packet overhead is reduced.
[0125] · The system is now stateless, making it easier and faster to recover from crashes.
[0126] Figure 8This is an embodiment of a device suitable for implementing an embodiment according to the principles of the present disclosure. The device 800 is, for example, an access point device, a gateway, or a mobile communication device. The device includes at least one processor or central processing unit or processor 801, a memory 802, a first network interface 803 of, for example, the IEEE 802.11 (Wifi) type for connecting to a WLAN, and a second network interface 804 of, for example, the 3G, 4G, or 5G (New Radio (NR)) type for connecting 820 to another WLAN or RAN. The device 800 may optionally include a display interface 805 and / or an input interface 806. The display interface 805 and the input interface 806 may be combined in a single unit. Elements 800 - 803 are interconnected via an internal data communication bus 811. The memory 802 is configured to store machine-readable instructions executable by the processor 801. The device 800 is adapted to instantiate a network service described by a forwarding graph, which includes virtual network function (VNF) instances interconnected via communication links. At least one processor 801 is configured to split the forwarding graph into n VNF basic graphs, one VNF basic graph for each VNF instance, wherein each basic graph in the basic graph of the VNF instance includes routing information for forwarding a packet by the VNF instance based on a packet class identifier included in the packet output by the VNF instance. At least one processor 801 is further configured to transmit each VNF basic graph in the VNF basic graphs to the corresponding VNF instance for that basic graph. When each VNF instance in the VNF instances outputs a packet processed by the VNF instance, the VNF instance is configured to transmit the packet via one of the communication links in the communication links to the next VNF instance based on the packet class identifier included in the packet.
[0127] It should be understood that some elements in the drawings may not be used or required in all embodiments. Some operations may be performed in parallel. Embodiments other than those shown and / or described are possible. For example, a device implementing the principles of the present invention may include a hybrid of hardware and software.
[0128] It should be understood that aspects of the principles of the present disclosure may be embodied as a system, a method, or a computer-readable medium. Accordingly, aspects of the principles of the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, microcode, etc.), or an embodiment combining hardware and software aspects that may generally be defined herein as a "circuit", a "module", or a "system". In addition, aspects of the principles of the present disclosure may take the form of a computer-readable storage medium. Any combination of one or more computer-readable storage media may be utilized.
[0129] Thus, for example, it should be understood that the illustrations presented herein represent conceptual diagrams of exemplary system components and / or circuitry embodying the principles of the present disclosure. Similarly, it should be understood that any flow charts, state transition diagrams, pseudocode, etc. represent various processes that may be substantially represented in a computer-readable storage medium and executed by a computer or processor, whether or not such computer or processor is explicitly shown.
[0130] A computer-readable storage medium may take the form of a computer-readable program product, which is embodied in one or more computer-readable media and has computer-readable program code embodied thereon that is executable by a computer. Given the inherent ability to store information and the inherent ability to provide retrieval of information therefrom, the computer-readable storage medium used herein is considered a non-transitory storage medium. A computer-readable storage medium may be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. Some or all aspects of the storage medium may be remotely located (e.g., in the "cloud"). It should be understood that while more specific examples of computer-readable storage media to which the principles of the present invention may be applied are provided below, the following is merely an illustrative and not an exhaustive list, as will be readily understood by a person of ordinary skill in the art: hard disks, read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), portable compact disc read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
Claims
1. A method for instantiating a network service (200) including virtual network function (VNF) instances (21, 22, 23, 24), the VNF instances being interconnected via communication links, the method comprising: Splitting (701) link information about the VNF instances forming a chain via the communication links in the network service into routing information for each VNF instance, the routing information including routing information for the VNF instance to forward a packet based on identifier information included in a packet output by the VNF instance; Transmitting (702) the routing information for each VNF instance to the corresponding VNF instance; And Transmitting (703) the packet by each of the VNF instances in the network service to an input of another VNF instance in the network service via one of the communication links based on identifier information included in a packet processed by the VNF instance and according to the routing information received by the VNF instance.
2. The method according to claim 1, wherein the link information about the VNF instances forming a chain via the communication links in the network service is a forwarding graph, and the routing information for each VNF instance is a basic graph.
3. The method according to claim 1 or 2, wherein the method is implemented by at least one network entity corresponding to at least one VNF instance implementing a session management function, the at least one VNF instance corresponding to a control plane network entity.
4. The method according to claim 1 or 2, wherein the method is implemented by at least one network entity corresponding to at least one VNF instance instantiated in a user plane function, the at least one VNF instance being in one of at least one radio transceiver unit and at least one application server in a data network.
5. The method according to claim 1 or 2, wherein the routing information is configured by a session management function onto a user plane function using packet detection rules and forwarding behavior rules.
6. The method according to claim 1 or 2, wherein the routing information is configured by a session management function onto a radio transceiver unit using protocol configuration options and / or a quality of service profile, the protocol configuration options and / or the quality of service profile being transmitted using non-access stratum messages, the non-access stratum messages being any one of a protocol data unit, a session establishment, and a protocol data unit session modification command.
7. The method according to claim 1 or 2, wherein the routing information is configured by a session management function onto an application server at a data network.
8. The method according to claim 1 or 2, wherein one of the VNF instances implements a packet classifier function, the packet classifier function inserting the identifier information into a packet input to the network service based on packet attributes.
9. An apparatus (800) for instantiating a network service including virtual network function (VNF) instances, the VNF instances being interconnected via communication links, the apparatus including at least one processor (801), the at least one processor being configured to: Split link information regarding the VNF instances forming a chain via the communication links in the network service into routing information for each VNF instance, the routing information including routing information for the VNF instance to forward a packet based on identifier information included in the packet output by the VNF instance; Transmit the routing information for each VNF instance to the corresponding VNF instance; And By each VNF instance in the VNF instances in the network service, based on the identifier information included in the packet processed by the VNF instance and according to the routing information received by the VNF instance, transmit the packet to an input of another VNF instance in the VNF instances in the network service via one of the communication links.
10. The apparatus according to claim 9, wherein the link information regarding the VNF instances forming a chain via the communication links in the network service is a forwarding graph, and the routing information for each VNF instance is a basic graph.
11. The apparatus according to claim 9 or 10, wherein the apparatus is at least one network entity corresponding to at least one VNF instance implementing a session management function, the at least one VNF instance corresponding to a control plane network entity.
12. The apparatus according to claim 9 or 10, wherein the apparatus is at least one network entity corresponding to at least one VNF instance instantiated in a user plane function, the at least one VNF instance being implemented in a data network in one of: at least one radio transceiver unit, at least one application server.
13. The apparatus according to claim 9 or 10, wherein the routing information is configured by a session management function onto a user plane function using packet detection rules and forwarding behavior rules.
14. The apparatus according to claim 9 or 10, wherein the routing information is configured by a session management function onto a radio transceiver unit using protocol configuration options and / or a quality of service profile, the protocol configuration options and / or the quality of service profile being transmitted using non-access stratum messages, the non-access stratum messages being any one of protocol data units, session establishment, and protocol data unit session modification commands.
15. The apparatus according to claim 9 or 10, wherein one of the VNF instances implements a packet classifier function, the packet classifier function inserting the identifier information into a packet input to the network service based on packet attributes.
Citation Information
Patent Citations
Network service deployment method and device
CN106685679A
Method and Apparatus for NFV Management and Orchestration
US20160212016A1