METHOD FOR INSTANTIATING A NETWORK SERVICE AND CORRESPONDING APPARATUS
20230054537 · 2023-02-23
Inventors
- Mario De Vito (Gévezé, FR)
- Stephane Onno (Saint Gregoire, FR)
- Ulises Olvera-Hernandez (Saint-Lazare, CA)
Cpc classification
H04L45/036
ELECTRICITY
International classification
H04L45/00
ELECTRICITY
Abstract
Instantiating a Network Service described by a Forwarding Graph comprising Virtual Network Functions, VNF instances, which are interconnected via communication links. This includes splitting the Forwarding Graph into n VNF Elementary Graphs, VNF EGs. Each of the VNF EGs for a VNF Instance includes routing information for forwarding, by that VNF instance and to another VNF instance, packets output by that VNF instance based on a packet class identifier included in the packet. Each of the VNF EGs is transmitted to the corresponding VNF instance for that VNF EG. Each of the VNF instances, when outputting a packet handled by it, then transmits the packet to a next VNF instance based on the packet class identifier included in the packet.
Claims
1-29. (canceled)
30. A method for instantiating a network service comprising virtual network function instances (vnf instances), the vnf instances being interconnected via communication links, the method comprising: splitting chaining information relative to the vnf instances in the network service forming a chain via the communication links, into routing information for each vnf instance, the routing information comprising information for forwarding, by each vnf instance, packets output by the respective vnf instance based on identifier information in the packets; transmitting the routing information for each vnf instance to a corresponding vnf instance; and transmitting, by each vnf instance, via one of the communication links, a packet processed by the respective vnf instance to an input of another vnf instance, based on the identifier information in the packet and according to the routing information received by the respective vnf instance.
31. The method according to claim 30, wherein the chaining information relative to the vnf instances in the network service forming a chain via the communication links is a forwarding graph, and the routing information for each vnf instance is an elementary graph.
32. The method according to claim 30, 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.
33. The method according to claim 30, wherein the method is implemented by at least one network entity corresponding to at least one vnf instance instantiated in user plane functions, in a local data network or in a data network in one of at least one wireless transmit-receive unit and at least one application server.
34. The method according to claim 30, wherein the routing information is configured by a session management function, onto user plane functions, using packet detection rules and forward action rules.
35. The method according to claim 30, wherein the routing information is configured by a session management function, onto wireless transmit-receive units, using protocol configuration options and/or quality of service profiles, transmitted using non-access stratum messages, being any of a protocol data unit, session establishment and a protocol data unit session modification command.
36. The method according to claim 30, wherein the routing information is configured by a session management function, onto application servers, at a local data network, or a data network.
37. The method according to claim 30, wherein one of said vnf instances implements a packet classifier function, the packet classifier function inserting, into packets input into the network service, the identifier information, based on a packet property.
38. A device for instantiating a network service comprising virtual network function instances (vnf instances), the vnf instances being interconnected via communication links, the device comprising at least one processor configured to: split chaining information relative to the vnf instances in the network service forming a chain via the communication links, into routing information for each vnf instance, the routing information comprising information for forwarding, by each vnf instance, packets output by the respective vnf instance based on identifier information in the packets; transmit the routing information for each vnf instance to a corresponding vnf instance; and transmit, by each vnf instance, via one of the communication links, a packet processed by the respective vnf instance to an input of another vnf instance, based on the identifier information in the packet and according to the routing information received by the respective vnf instance.
39. The device according to claim 38, wherein the chaining information relative to the vnf instances in the network service forming a chain via the communication links is a forwarding graph, and the routing information for each vnf instance is an elementary graph.
40. The device according to claim 38, wherein the device 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.
41. The device according to claim 38, wherein the device is at least one network entity corresponding to at least one vnf instance instantiated in user Plane functions, implemented at a local data network or at a data network in one of: at least one wireless transmit-receive unit, at least one application server.
42. The device according to claim 38, wherein the routing information is configured by a session management function onto user plane functions, using packet detection rules and forward action rules.
43. The device according to claim 38, wherein the routing information is configured by a session management function, onto wireless transmit-receive units, using protocol configuration options and/or quality of service profiles, transmitted using non-access stratum messages, being any of a protocol data unit, session establishment and a protocol data unit session modification command.
44. The device according to claim 38, wherein one of the vnf instances implements a packet classifier function, the packet classifier function inserting, into packets input into the network service, the identifier information, based on a packet property.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0041] More advantages of the present disclosure will appear through the description of particular, non-restricting embodiments. To describe the way the advantages of the present disclosure can be obtained, particular descriptions of the present principles are rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. The drawings depict exemplary embodiments of the disclosure and are therefore not to be considered as limiting its scope. The embodiments described can be combined to form particular advantageous embodiments. In the following figures, items with same reference numbers as items already described in a previous figure will not be described again to avoid unnecessary obscuring the disclosure. The embodiments will be described with reference to the following drawings in which:
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
[0048] Function) and Forwarding Graph (FG) model provided by the Orchestrator 400. The SMF may execute the functions of 42 and 43, along with the routing policies provided by the PCF and build a set of elementary relationships between VNF placed onto WTRUs, UPFs and ASs.
[0049]
[0050]
[0051]
[0052]
[0053] It should be understood that the drawings are for purposes of illustrating the concepts of the disclosure and are not necessarily the only possible configuration for illustrating the disclosure.
DETAILED DESCRIPTION
[0054] The present description illustrates the principles of the present disclosure. It will thus be appreciated that those skilled in the art will be able to devise various arrangements that, although not explicitly described or shown herein, embody the principles of the disclosure and are included within its spirit and scope.
[0055] All examples and conditional language recited herein are intended for educational purposes to aid the reader in understanding the principles of the disclosure and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions.
[0056] Moreover, all statements herein reciting principles, aspects, and embodiments of the disclosure, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof. Additionally, it is intended that such equivalents include both currently known equivalents as well as equivalents developed in the future, i.e., any elements developed that perform the same function, regardless of structure.
[0057] A so-called VNF Forwarding Graph (VNFFG) (or information representative of a VNFFG) describes how the VNFs in an NS form a chain; the output data (result) of one VNF is the input data for another VNF. Packets take a route within the NS from one VNF to another, dependent on their content. So-called Forwarders are required per compute node (being the computing machine hosting one or more VNFs) which process packet traffic on the compute node, that is, they inspect packet content and depending on packet content steer the packet to a specific VNF. The Forwarders may contribute significantly to the overall packet transmission time and may cause important delays.
[0058] As an example, a NS forming a chain can be characterized through a collection of VNFs in the form of 3GPP Network Functions and/or Network Function Services that are interconnected to deliver this service. A particular used case where such NS can be deployed, involved packets that are routed from the 3GPP Network to the part of an Network Operator where value added services such as firewalls, carrier-grade Network Addres Translator (NAT), deep packet inspection and policy control, can be found, and that is commonly refer to as N6-LAN. In addition, it is commonly required that these packets, once that they have traverse the N6-LAN, they be routed back to the 3GPP Network for further processing, where the NS chain is terminated, This type of Use Case is not well served with current technologies as those described above. It is therefore desirable to provide a method and device for improved data communication between VNFs in an NS.
[0059]
[0060] It can thus be observed that inside the NS 100, the VNFs are ‘chained’ in a ‘graph’. The routing of packets is done by a function called ‘Forwarder’. The Forwarder inspects a Packet Class Identifier (PCI), which is added by a packet classifier function that may be instantiated in a VNF, which role is to add packet classifiers according to policy (e.g., ‘red’, ‘green’, or ‘blue’ policy). An index is further added which represents the packet 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’, i.e., the VNF update the ‘state’ (decrement the index) but ignores where to send the packet to. The Forwarders have this knowledge provided that the packet ‘state’ is set properly by the VNFs.
[0061] With the above described solution, a Forwarder is required per compute node (i.e., the computing machine hosting one or more VNFs). Forwarders may contribute significantly to packet transmission time between VNFs. The Forwarders must be configured and updated prior to deployment of VNFs. In addition, when a Network Service is implemented on infrastructures where a virtual link passes through a physical switch (router), such switch should support the chaining protocol as described above, thereby requiring specific hardware and/or software. In particular, these switches may need to support the Network Service Header (NHS) protocol.
[0062] Embodiments are described here that provide solutions to at least some of the above problems, including the state updating done by the VNFs and the added communication delays caused by the Forwarders, as well as the specific hardware requirement for any physical switches in routes between VNFs. A solution is provided herein where the index/state, as well as the Forwarders, are no longer required. Without the index field, the routing depends solely on the packet class. Any switches involved in the supporting infrastructure are no longer implied in the VNF chaining and may be basic items.
[0063] According to an embodiment, there is provided a new way of instantiating a (or information representative of a) Forwarding Graph (FG). The FG is distributed as configuration data among VNFs part of an NS, so that each VNF ‘knows’ to which VNF a packet of a given class is to be routed. The route of a packet is then solely determined by its class identifier, and does no longer depend on state information carried by an ‘index’ field; the system is therefore said to be stateless.
[0064]
[0065] The CI can be coded in a few bits. For example, in an IPv4 network, it is possible to use the ‘Type of Service’ (ToS) field; for IPv6, the ‘flow label’ field may be used to code the CI.
[0066] In addition, some VNFs of an NS may be deployed with a special request of having to share a same compute node (made up of CPUs and GPUs, Graphical Process Unit). In such cases, the CI may be a CPU/GPU process identifier or CPU/GPU thread identifier.
[0067] It can thus be observed that the described method, which does not rely or Forwarders, may use very efficient packet transfer protocols to speed up VNF to VNF communication, especially when VNFs of an NS share a same compute node.
[0068] The described method enables the use of packet processing acceleration means like Data Plane Development Kit (DPDK) or Single-Root Input/Output Virtualization (SR-IOV). In such cases, the CI may be either 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).
[0069] The described method supports routing of packets from the 3GPP System to the N6-LAN and back into the 3GPP System by enabling SMF to deploy and configure NS enabled by FGs into VNF (e.g. AS) deployed at the Data Network,e.g., directly through an AF or through an AF connected to the 3GPP System through a NEF API (i.e., interface).
[0070] The N6-LAN is the part of a network operator, between the 3GPP system and the Data Network, where value added services are typically provided. This is where functions such as firewalls, parental control, deep packet inspection, policy control and content optimization are found.
[0071]
[0072]
[0073]
[0074] (class 1, VNF1, VNF2)
[0075] (class 1, VNF2, VNF3)
[0076] (class 1, VNF3, VNF4)
[0077] (class 2, VNF1, VNF2)
[0078] (class 2, VNF2, VNF4)
[0079] (class 3, VNF1, VNF3)
[0080] (class 3, VNF3, VNF4)
[0081] The above relationship data (information) is input into a VNF configuration system 43 which transforms (splits) this data into data destined for each individual VNF so that the destination address of the packets going out of that VNF only depends on the packet class identifier. The destination address may be the IP address/port of a VNF, the destination Media Access Control (MAC) address, a reference (identifier of) to an encapsulation transport format like Virtual Extensible LAN (VxLAN), Generic Routing Encapsulation (GRE) protocol or any other type of overlay or underlay protocol/format, logical network interface field, a physical network interface field, a CPU thread or a process field, a GPU thread or a process field.
Given the example above, the VNF configuration system 43 would generate the following data:
[0082] Elementary graph data (VNFEG) for VNF1: [0083] class 1 packets to be routed to VNF1, class 2 packets to be routed to VNF2, class 3 packets to be routed to VNF3
[0084] Elementary graph data for VNF2: [0085] class 1 packets to VNF3, class 2 packets to VNF4
[0086] Elementary graph data for VNF3: [0087] class 1 packets to VNF4, class 3 packets to VNF4
[0088] Elementary graph data for VNF4: [0089] class 1/2/3 packets to CP9
[0090] Each of the elementary graphs for a VNF instance thus includes routing information for forwarding, by that VNF instance, packets output by that VNF instance based on packet class identifiers included in those packets. The elementary graph data is then transmitted to the VNFs, illustrated by thick arrows in
[0091] The routing information for a VNF instance may include a specific configuration of the packet property that the VNF instance uses for forwarding a packet to another VNF instance. For example, VNF2 may insert the Packet Class Identifier in the IPv4 ToS when forwarding class 1 packets to VNF4, while it may use a process ID when forwarding class 1 packets to VNF3 (for example, when VNF2 and VNF3 are executed on a same CPU).
[0092]
[0093] A graph breakdown function computed in the SMF may produce the following relationship data:
[0094] (class 1, VNF1, VNF2)
[0095] (class 1, VNF2, VNF3)
[0096] (class 1, VNF3, VNF4)
[0097] (class 2, VNF1, VNF2)
[0098] (class 2, VNF2, VNF4)
[0099] (class 3, VNF1, VNF3)
[0100] (class 3, VNF3, VNF4)
[0101] (class 4, VNF1, VNF4)
[0102] (class 4, VNF4, VNF2)
[0103] (class 4, VNF2, VNF5)
[0104] The above relationship data is input into a VNF(s) realizing SMF functionality, which transforms (splits) this data into data destined for each individual VNF so that the destination address of the packets going out of that VNF only depends on the packet class identifier. The destination address may be the IP address/port of a VNF, the destination Media Access Control (MAC) address, a reference (identifier of) to an encapsulation transport format like Virtual Extensible LAN (VxLAN), Generic Routing Encapsulation (GRE) protocol or any other type of overlay or underlay protocol/format, logical network interface field, a physical network interface field, a CPU thread or a process field, a GPU thread or a process field, Application ID or PDU Session ID, a QoS profile and or a Packet Filter Set as defined in 3GPP TS 23.501.
[0105] Given the example above, the SMF may generate the following data:
[0106] Elementary graph data (VNFEG) for VNF1 (VVTRU): [0107] class 1 and class 2 packets to be routed to VNF2 (UPF), class 3 and class 4 packets to be routed to VNF3 (UPF)
[0108] Elementary graph data for VNF2: [0109] class 1 packets to VNF3 (UPF), class 2 packets to VNF4 (Edge DN), class 4 to VNF5 (Central DN) and to CP10
[0110] Elementary graph data for VNF3: [0111] class 1, class 3 and class 4 packets to VNF4 (Edge DN)
[0112] Elementary graph data for VNF4: [0113] class 1, class 2, and class 3 packets to Edge DN and to CP9, class 4 packets to VNF2 (UPF)
[0114] The SMF may configure FG according to different communication protocols depending on the target VNF.
[0115] According to an embodiment, the SMF may configure the WTRU using Protocol Configuration Options and/or QoS Profiles conveyed via the Non-Access Stratum (NAS) protocol. The SMF may use a PDU Session
[0116] Establishment Accept message or a PDU Session Modification Command message for configuration of FG into the WTRU.
[0117] According to another embodiment, the SMF may configure a UPF through the 3GPP N4 interface, e.g., by enhancing Packet Detection Rules (PDR) and Forward Action Rules (FAR) part of the Packet Forwarding Control Protocol (PFCP) realizing the N4 interface or an equivalent protocol such OpenFlow or P4.
[0118] According to another embodiment, the SMF may configure FG in VNFs part of ASs either using an AF directly or through NEF 47. These AF and AS may be either a Central Data Network, or part of it, or an Edge Data Network or part of it.
[0119]
[0120] (UPF) 52 and 53. The Edge Network (EN) 501 includes plurality of User Equipments (UE) 50 and part of GW/RAN/Edge 51, and part of DNs 54 and 55. The curved lines indicate packet flows. A RAN 51 may be a Cloud RAN or Virtual RAN composed of a set of Base Band Units (BBUs) that serve a set of distant Remote Radio Heads (RRHs) from fronthaul communication links. A Fronthaul communication link separates a BBU from RRH at different communication layers L1/L2/L3. Identification means of the RRH resource entering the BBU may be used as classifier identifier for VNF1 (21) to forward the output packets to VNF2 (22), VNF2′ (another instance of VNF2, not shown in
[0121]
[0122] System (RPAS), Unmanned Aircraft System (UAS), a Robot or a Car equipped with a strong computing power unit for processing many tasks before sending the packet to the edge. In such cases, a UE may comprise a set of several VNF inside (not represented in
[0123]
[0124] The proposed embodiments may among others be used within the context of ETSI/MANO (European Telecommunications Standards Institute/Management and Orchestration). Among the many use cases described in the ETSI/MANO project, the Mobile-Edge Computing (MEC) service shows a very complex Network Service, that bridges three major standardization works: ETSI/MANO, MEC, and 3GPP (including 4G and 5G). The embodiments described in the present document may help to reach the high data rates required by, notably, new 5G applications. MANO benefits include a capability to deploy applications on a heterogenous set of hosting infrastructures called Network Function Virtualization Infrastructure (NFVI) and is of particular interest for deploying MEC hosts, which are supposed to be executed on relatively small computing resources located on the edge of the mobile network in a cloud like environment. In the MEC, each Mobile-Edge application (ME application) may comprise a set of VNFs, managed by MANO in another set of VNFs: the MEC orchestrator. Orchestrator 400 of
[0128]
[0129] It is to be appreciated that some elements in the drawings may not be used or be necessary in all embodiments. Some operations may be executed in parallel. Embodiments other than those illustrated and/or described are possible. For example, a device implementing the present principles may include a mix of hard- and software.
[0130] It is to be appreciated that aspects of the principles of the present disclosure can be embodied as a system, method or computer readable medium. Accordingly, aspects of the principles of the present disclosure can take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code and so forth), or an embodiment combining hardware and software aspects that can all generally be defined to herein as a “circuit”, “module” or “system”. Furthermore, aspects of the principles of the present disclosure can take the form of a computer readable storage medium. Any combination of one or more computer readable storage medium(s) can be utilized.
[0131] Thus, for example, it is to be appreciated that the diagrams presented herein represent conceptual views of illustrative system components and/or circuitry embodying the principles of the present disclosure. Similarly, it is to be appreciated that any flow charts, flow diagrams, state transition diagrams, pseudo code, and the like represent various processes which may be substantially represented in computer readable storage media and so executed by a computer or processor, whether such computer or processor is explicitly shown.
[0132] A computer readable storage medium can take the form of a computer readable program product embodied in one or more computer readable medium(s) and having computer readable program code embodied thereon that is executable by a computer. A computer readable storage medium as used herein is considered a non-transitory storage medium given the inherent capability to store the information therein as well as the inherent capability to provide retrieval of the information there from. A computer readable storage medium can be, for example, but is 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 is to be appreciated that the following, while providing more specific examples of computer readable storage mediums to which the present principles can be applied, is merely an illustrative and not exhaustive listing, as is readily appreciated by one of ordinary skill in the art: a hard disk, a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.