WO2016206742A1 - Method and system for managing data traffic in a computing network - Google Patents
Method and system for managing data traffic in a computing network Download PDFInfo
- Publication number
- WO2016206742A1 WO2016206742A1 PCT/EP2015/064374 EP2015064374W WO2016206742A1 WO 2016206742 A1 WO2016206742 A1 WO 2016206742A1 EP 2015064374 W EP2015064374 W EP 2015064374W WO 2016206742 A1 WO2016206742 A1 WO 2016206742A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- cache
- packets
- information
- network
- function
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/742—Route cache; Operation thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/31—Flow control; Congestion control by tagging of packets, e.g. using discard eligibility [DE] bits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/354—Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Definitions
- the present invention relates to a method for managing data traffic in a computing network wherein the data traffic is transmitted in the computing network via flows of packets.
- the present invention further relates to a system for managing data traffic in a computing network, wherein the data traffic is transmitted in the computing network via flows of packets.
- a 3GPP EPC network is shown: On the left of Fig. 1 base stations in the form of a LTE radio access network are connected to an evolved packet core EPC. Between an EPC packet data gateway and the packet data network, in Fig. 1 depicted as external network, a so-called SGi-LAN is implemented. Within the domain of SGi-LAN a technique or methodology referred to as service function chaining 'SFC is usually implemented.
- SFC service function chaining
- data packets are steered through a series of network functions, 'NF', where each NF will process/service the arriving packets to and from the EPC based on its functional and/or operational scope.
- the SFC domain comprises a classification function, a control function, a forwarding function and network function entities.
- the network functions provide network services, 'NS', to arriving flows of packets.
- a classification function 'CF' based on some policy or rule that will determine the service(s) that the flows require.
- the classification may be based on detecting traffic type or application type, i.e. the classification function determines the service chain 'SC.
- a control function will create a network function forwarding graph, 'NFFG', for the respective flow(s).
- the NFFG lists the relevant network functions NF in the service chain SC that are required to provide a range of services to the respective flows.
- the NFFG also specifies the order of a chain in which these networks functions NF will be visited by the packets of the respective flows.
- the length of the service chains may vary depending on the flows' service requirements.
- the network functions can be hosted on specific physical nodes or they can be virtualized.
- NFV Network Functions Virtualization
- a conventional functional overview of the SFC domain is shown, i.e. a high level functional overview of an SFC domain comprising a chain of virtual network functions VNF1 to VNF4 is depicted in Fig. 2.
- the control function For the routing of packets from one VNF to the next VNF in the chain, the control function translates the VNFFG into determining a Network Path, 'NP', from which forwarding rules are derived. These rules are then communicated by the control function towards the forwarding function, 'FF', which is part of the transport layer.
- the FF stores the forwarding rules in a forwarding table. In its simplest form the forwarding rule will specify the egress ports for packets arriving on ingress ports.
- the FF is responsible for steering traffic to the next hop VNF in the NP or service chain, 'SC.
- the FF will identify the packet, for example based on its header information, and forward it to the egress port specified in the forwarding table, from where the packet will be delivered to a next hop VNF or a FF that may in turn forward the packet to the next VNF in the chain.
- the packet forwarding may be done based on the original packet header or a transport header TH', which may be appended to the original packet header where the TH may be a MPLS label, GRE header, VxLAN type header or the like or be a simple tag or label that may identify the service chain or flow as for example disclosed in the non-patent literature of S. Homma et al, "Analysis on Forwarding Methods for Service Chaining, draft-homma-sfc-forwarding-methods- analysis-01 , January 23, 2015. Each VNF will then process/service the arriving packets based on its functional/operational scope before passing the packets again to a FF to steer it to the next hop VNF in the chain. In this way packets of flows are steered through a chain of multiple VNFs before it gets forwarded to its destination.
- Protocol header for example TCP/UDP and IP of each packet that goes through a service chain SC will be processed by each network function NF in the chain for local delivery to identify a flow and to select the associated processing rules to process the packet as per function's operational and functional scope. This results in processing delay which gets compounded with every packet that goes through a service chain.
- intermediate virtual network functions VNFs may add metadata to a packet that may be required by the subsequent virtual network functions VNFs in the service chain SC and this overhead in addition to the packet's own header will increase the packet size thereby increasing the likelihood of the packet size to exceed the MTU size. Consequently this will add additional complexity of managing packet fragmentation and reassembly and, considering the high traffic volume in the SGi-LAN, this additional overhead will also increase the load in the SFC domain.
- Embodiments of the invention therefore address the above-mentioned problems. Objectives of embodiments of the invention are therefore to reduce the protocol header processing overhead of packets, to eliminate or at least reduce packet fragmentation and reassembly, e.g. in the SFC domain, to optimize resource utilization and to reduce the byte load in SFC domain.
- the present invention provides a method for managing data traffic in a computing network, wherein the data traffic is transmitted in the computing network via flows of packets, and wherein the one or more packets are processed by one or more network functions, wherein
- processing information for processing said one or more packets of an identified flow is determined by a determining function
- header information is stripped from said one or more packets by a stripping function
- tag information is added to said one or more packets by a tag adding function
- a mapping between said tag information and said header information is stored in a cache by a mapping function
- said packets are processed by said one or more network functions according to said identified processing information, wherein said one or more network functions query said cache using said tag information to retrieve information associated with the tag information from said cache if required to process said one or more packets.
- the present invention provides a system for managing data traffic in a computing network, wherein the data traffic is transmitted in the computing network via flows of packets, and wherein the packets are processed by one or more network functions provided by one or more network entities, said system comprising
- one or more output interfaces for outputting flows of packets
- At least one cache for storing information
- one or more computing entities connected to at least one of the input and output interfaces and adapted to determine processing information for processing said packets of an identified flow, to strip header information from said one or more packets, to add tag information to said one or more packets, to store a mapping between said tag information and said header information in said cache and to process said one or more packets by said one or more network functions according to said identified processing information, wherein said one or more network functions query said cache using said tag information to retrieve header information associated with the tag information from said cache if required to process said one or more packets.
- embodiments of the present invention enable any additional headers that may not be of any relevance to the protocol or functional scope of the network function to be stripped off, cached and replaced by an identifier referred to as a tag.
- the relevant payload is available to the network functions which not only reduces the packet size but also simplifies its structure aiding towards reduced packet processing by eliminating or reducing the need for the network functions to parse the successive headers before it can process the payload.
- At least one embodiment provides the advantage to reduce the packet size by stripping it off any headers that may not be relevant for processing by the network functions for example in a SFC. This significantly reduces the processing overhead and associated costs such as header parsing by every network function for every packet.
- Another advantage of embodiments of the present invention is to enable an elimination of a possibility of packet fragmentation and reassembly due to the fact that any extra header or metadata pertaining to a packet or flow is written in a cache and not to the packet itself.
- a further advantage of at least one embodiment of the present invention is an optimized utilization of the resources such as computation, network, etc. consumed by the network functions. Further the byte load is reduced due to stripped off headers.
- flow in connection with packets is to be understood in its broadest sense and is not limited to in particular the term “flow” according to the OpenFlow protocol.
- a flow may be any kind of a group of information or information parts to be transmitted.
- entity is to be understood in its broadest sense and is to be understood as any kind of physical or virtual computing entity or computing entities and may include, but is not limited to the following: an application running on a computer, a microprocessor, a single, dual, quad or octa-core processor or processors or the like or a computer, processor, or the like with a memory.
- Said application, computer or processor may have one or more interfaces, ports or the like for communication with other devices, entities, ports, interfaces or the like.
- function is to be understood in its broadest sense and may include, but is not limited to any kind of computing entity which provides a corresponding function by an application or the like is hardcoded into a memory, processor, or the like.
- Examples for network functions to be performed may be, but not limited to Deep Packet Inspection, Firewall, Access Control List, Load balancing, Security, Video optimization, Transcoding, Compression, Parental control, Network Address Translation, etc.
- the tag information may be replaced by said corresponding header information of said cache after processing said one or more packets by all network functions, e.g. by a replacing function. This ensures that until the time the packets get processed by all network functions constituting a service chain the header is provided in its original structure if applicable with modified values due to processing by the network functions. Thus further processing within the network is enabled easily.
- Said header information may be updated in the cache when a change is introduced by a network function. This enhances the flexibility: When a network function in the case a necessary change in the header, for example when providing updated values, for example TTL field, is introduced these can be also efficiently handled in the cache and can therefore be further provided to network functions further down in the network function service chain.
- An additional transport header may be added to the tag information.
- An additional transport header enables the steering of packets efficiently, for example in the SFC domain by using the transport header for forwarding according to packet forwarding rules or protocol.
- Additional metadata for a flow may be stored in the cache and associated with said tag information. Additional metadata or any other miscellaneous information pertaining to the flow can provide additional information for the network functions further enhancing an efficient handling of the data traffic and increasing the flexibility, allowing network functions to perform tasks of a greater scope.
- the received header information may be locally cached by said network function initiating said query. Local caching avoids a repeated querying of the cache for every arriving packet of the same flow by the network function and thus efficiency is further enhanced.
- a second cache may store at least part of the information of said cache said second cache being in sync with said cache. Said second cache reduces the exchange of transactions between the first cache of d) and network functions. Further the flexibility is enhanced since said second cache enables a distribution of flows and hence the workload between the network functions and the caches.
- Said cache may be distributed among said network functions. This further reduces the workload by enabling a distribution of flows between multiple instances of virtual network functions and virtual distributed second cache.
- Each network function may cache the mapping for flows processed by said corresponding network function. This avoids repeated querying of the cache of corresponding flows by every arriving packet.
- Said cache of d) may comprise multiple caches, wherein network functions are assigned to different groups, wherein each of said groups uses a different cache out of said multiple caches. This further enhances caches to be used by groups of network functions enhancing the flexibility and an efficient handling.
- f) may be performed by a network function. This has the advantage that flows and the corresponding workload can be distributed between multiple virtual network functions for example.
- At least one network function is virtualized.
- Virtualizing has the advantage to distribute corresponding processing load and network traffic. Further flexibility in terms of using of computing resources, network resources, memory resources or the like is enhanced.
- a processing scope of the network functions may be determined, and based on said processing scope, said header information are stripped off. For instance a classifying function determines the processing scope of the respective network functions and a highest protocol level at which the packets of the flows are processed. Then any other header above that protocol level will be stripped off the said stripping function. This enables an efficient handling leaving only the protocol levels for the headers necessary for processing.
- Said one or more computing entities may be adapted to replace the tag information by said corresponding header information of said cache. This ensures that until the time the packets get processed by all network functions constituting a service chain the header is provided in its original structure if applicable with modified values due to processing by the network functions. Thus further processing within the network is enabled easily.
- Said system may further comprise a controller adapted to control flows according to service requirements by guiding packets of flows to network function for processing according to the service requirement and/or to host said cache. This enables the centralized handling of the packets as well as of the mapping stored in said cache.
- the said controller may extend its control via the forwarding function FF.
- Fig. 1 shows a conventional 3GPP network schematically
- Fig. 2 shows in more detail the SFC domain shown in Fig. 1 ;
- Fig. 3 shows a system and method according to an embodiment of the present invention
- Fig. 4 shows part of a method according to a further embodiment of the present invention.
- Fig. 5 shows part of a method according to a further embodiment of the present invention.
- Fig. 6 shows part of a method according to a further embodiment of the present invention.
- Fig. 1 shows a conventional 3GPP network schematically
- Fig. 1 a SFC domain with respect to a 3 GPP EPC network is shown.
- Fig. 1 was described above.
- Fig. 2 shows in more detail the SFC domain shown in Fig. 1.
- Fig. 2 a conventional functional overview of the SFC domain is shown. Fig. 2 was also described above.
- Fig. 3 shows a system and method according to an embodiment of the present invention.
- FIG. 3 a schematically conceptual overview of an embodiment of the method and of a system is shown.
- the system comprises the following functional elements:
- Classification function CF identifies and classifies a flow based on the flow's packet header and/or SLA information. It also determines the set of services required by that flow and the order in which the services shall be applied.
- the classification function CF may also be realized as a virtual function.
- Header stripping function HSF strips an incoming packet of its headers to expose the relevant payload. It will replace the stripped header with a tag and an additional transport header TH for steering of packets in the service function chaining SFC domain.
- the header stripping function HSF can also comprise network function of address/port filtering (Firewall).
- Load balancer (not shown in Figure 3) dispatches traffic between multiple classification function CF/header stripping function HSF instances. Hence, classifier is overloaded to classify but already filter traffic according to information which is stripped then by the header stripping function HSF (hence not available in the chain).
- a virtualized instance of this function is referred to as virtualized header stripping function VHSF.
- Header appending function HAF appends an outgoing packet with its original header or an updated header in case the header appending function HAF is overloaded to apply policies for NA(P)T.
- a virtualized instance of this function is referred to as virtualized header appending function VHAF.
- Flow-id binding cache FBC a master cache that maintains for all flows a mapping between the tag-id (that identifies the flow) and the packet's stripped header information. It may be co-located within the service function chaining SFC controller or it may be realized as a separate cache.
- Secondary flow-id binding cache sFBC - contains a copy of the subset entries of the Flow-id Binding Cache FBC. It may be co-located with the header appending function HAF or it may be realized as a distributed cache.
- Service function chaining SFC Map - specifies a complete map for a service function chaining SFC indicating the associated flows, the VNFFG and the associated VHAF/secondary flow-id binding cache sFBC.
- a packet arriving at the service function chaining SFC domain will first get identified, classified and its service requirements determined by said classification function CF.
- the classification can be based on operator specified policy/rules that the classification function CF can access/derive from the information provided by the mobile network's control plane entity; such as a PCRF/HSS in 3GPP based mobile networks.
- the classification policy/rules will take into account the information in the packet header(s), for example L2-L4 header information, that will enable the system to identify the flow, its application type and determine the flows' SLA. Based on this, the classification function CF will determine the service function chaining SFC by deriving the VNFFG for the flow.
- the VNFFG identifies the relevant virtualized network functions VNFs in the service chain SC and also specifies their respective order in the service chain SC.
- classification function CF will determine the processing scope of the respective virtualized network functions VNFs and determine the highest protocol level at which the flows' packets will be processed. Any other header above that protocol level will be stripped off by the header stripping function HSF, which can either be collocated with the classification function CF or can be a virtualized functional entity (i.e., virtual header stripping function VHSF) proceeding the classification function CF.
- the classification function CF (or the header stripping function HSF if realized as a separate function) will generate and append a unique service function chaining SFC header, referred to as a tag.
- This tag uniquely identifies a flow from other flows and all packets that belong to the same flow will be appended with the same tag.
- a standard TH will also be appended for transport of traffic by the forwarding functions FFs within the service function chaining SFC domain.
- the TH can either be standard MPLS or GRE header or it can be a VxLAN based encapsulation that is identifiable by the forwarding functions FFs.
- a simplified tag could be defined that is not only also used to identify the flow and the service chain SC but it may also be used by the forwarding function FFs in the underlying transport network of the service function chaining SFC domain for traffic steering; whereas the scope/format of this tag will be unique to the service function chaining SFC domain and used by the forwarding function FFs for steering the packets from one virtualized network function VNF to the next virtualized network function VNF in the service function chaining SFC specified for the flow. For instance the latter may have an impact on software-defined network SDN based controllers and switches where they need to understand and process the tag.
- the tag may comprise a unique-id for flow identification and the payload size so that the processing virtualized network function VNF may know the position of the payload.
- the classification function CF will inform the service function chaining SFC controller of the tag-id, TH and the VNFFG that it has derived for the flow, which in turn will instantiate the relevant virtualized network functions VNFs in the VNFFG and will configure the packet forwarding rules in the underlying forwarding functions FFs based on the tag-id or TH.
- the service function chaining SFC controller may maintain a service function chaining SFC Map that identifies the flows (identified by the tag-id) associated with a specific service function chaining SFC, which in turn is characterized by the VNFFG and also indicates the (V)HAF and secondary Flow-id Binding Cache sFBC of which it is the member of.
- SFC-1 is composed of VNF1 ⁇ VNF2 ⁇ VNF3 ⁇ VNF7 and 3 flows, identified by tag-id 1 ,3 and 5, share this service chain SC. It also indicates that (V)HAF-1 and sFBC-1 is shared between SFC-1 and SFC-2.
- Table 1 Overview of the service function chaining SFC Map
- FBC Flow-id Binding Cache
- Table 2 An associative FBC mapping the service function chaining SFC Tag -id with the flow header information
- the flow-id binding cache FBC can be realized as an associative container where the packet tag is used as a key to reference the packet's original header that has been stripped off by the (virtualized) header stripping function (V)HSF. Besides the header information, the flow-id binding cache FBC can also maintain any additional meta-information and/or any miscellaneous information pertaining to the flow.
- the flow-id binding cache FBC can be maintained/managed as part of the service function chaining SFC Controller (see Figure 3), or it can also be realized as an external cache.
- the system may also comprise distributed instances of the Flow-id Binding Cache FBC, which maintain a copy of the subset of flow-id binding cache FBC entries, and is referred to as secondary Flow-id Binding Cache sFBC.
- Figure 3 shows secondary Flow-id Binding Cache sFBC as part of (V)HAF and if it is external then the (V)HAF must have access rights to it.
- the underlying virtualized network functions VNFs have read/write access to both flow-id binding cache FBC and secondary Flow-id Binding Cache sFBC.
- Fig. 4 shows part of a method according to a further embodiment of the present invention.
- a virtualized network function VNF sends query request, i.e. the quer_req message in Fig. 4 to the FBC to resolve the tag-id to the associated header information, which is then returned to the virtualized network function VNF in the reply message, i.e., query_rep message in Fig. 4.
- the forwarding function FF will strip off the transport header TH and forward the packet (with the service function chaining SFC tag) to the next hop virtualized network function VNF in the service chain SC.
- the virtualized network function VNF will strip off the tag, process the payload, re-append the tag and send it down to the FF for steering it to the next virtualized network function VNF in the service chain SC or to its destination.
- the virtualized network function VNF requires header information for processing the packet, it will query the FBC to resolve the header information associated with the tag-id and perform the necessary processing.
- the virtualized network function VNF may also store the just queried header information in its local cache to avoid repeated querying of the FBC for every arriving packet of the same flow.
- the HAF Header Appending Function
- the HAF will query the FBC to resolve the header information associated with the tag-id, remove that tag and re-append (or re-encapsulate) the packet with the original protocol headers, adopting the original or updated values (e.g. for the TTL field).
- the HAF shall maintain the copy of the resolved header in a local cache, referred to as sFBC.
- the sFBC may also be realized as a distributed cache that can be accessed by the HAF.
- Fig. 5 shows part of a method according to a further embodiment of the present invention.
- FIG. 5 an example scenario is illustrating the utilization of VHAF and sFBC is shown.
- the HAF is realized as a virtualized network function VNF, i.e. as virtualized header appending function VHAF.
- VNF virtualized network function
- VHAF virtualized header appending function
- SFCs and SFC-1 and SFC-2 are grouped under VHAF- 1 and sFBC-1
- SFC-3 and SFC-4 are grouped under VHAF-2 and sFBC-2.
- the sFBC can also be co-located but here they are considered as distributed caches.
- the grouping or membership of service function chains SFCs to a particular instance of VHAF and sFBC is decided by the service function chaining SFC controller and indicated in the forwarding rules of the underlying FFs.
- the sFBC will only maintain the mapping of flows that are part of the member service function chains SFCs. In other words a sFBC will contain a subset of the FBC entries relevant to the member flows.
- All the virtualized network functions VNFs in the service function chaining SFC will have read/write access to their respective sFBC and the FBC, where the sFBCs will remain in sync with FBC for any changes that a particular virtualized network function VNF my cause in the header fields that has been stripped.
- Fig. 6 shows part of a method according to a further embodiment of the present invention.
- Fig. 6 shows a use case scenario for an intermediate virtual network function in the service chain that may need to encode the ECN codepoint in the IP header to reflect the state of congestion when a packet arrives.
- the service function chaining SFC of Fig. 6 is composed of a virtual firewall application function (vFW), a virtualized video optimizer function (vVidOpt), a virtualized traffic shaper/scheduler function (vSched) and a virtualized NA(P)T function (vNAPT) respectively.
- vFW virtual firewall application function
- vVidOpt virtualized video optimizer function
- vSched virtualized traffic shaper/scheduler function
- vNAPT virtualized NA(P)T function
- the flows that belong to this service function chaining SFC after being admitted by the vFW will be forwarded to vVidOpt function that will perform video optimization functions (such as transcoding, transrating, transizing, transmuxing etc.) on the packets of different flows.
- the vVidOpt will be able to differentiate between flows based on their header information that it resolved with the FBC using the tag-id as shown with reference to Figure 4.
- the packets will then be forwarded to the vSched that will schedule between flows based on some scheduling algorithm and also detect congestion.
- the vSched In order to prioritize between flows for scheduling based on the header information, the vSched will need to resolve the header information (assume L3 header) associated with the tag-id of the incoming packets and store them in a local cache.
- the vSched receives the first packet for the flows, it will query the sFBC of the L3 header information based on the tag-id (message [1] in Fig. 6).
- the sFBC will respond to the query and provide a copy of the L3 header to the vSched function (message [2] in Fig. 6).
- the vSched will store the L3 header information in its local cache and, based on its source and/or destination IP address, will identify the flow priority based on some pre-defined rules/policy. It could be that some flows may experience congestion in the vSched due to the presence of some high priority flows and/or high load.
- the vSched will thus need to notify the end-hosts of congestion by setting the Explicit Congestion Notification (ECN) codepoint in the IP header of flows that are low in the scheduling priority and hence experiencing delays.
- ECN Explicit Congestion Notification
- the vSched will thus notify the sFBC the change in the status of ECN bits in the DiffServ field of the IP header of relevant flows by sending a notification message. This notification message (message [3] in Fig.
- the service function chaining SFC controller may decide to take necessary management actions to relieve the state of congestion by, for example, scaling up the vSched virtualized network function VNF instance by instantiating one or more additional vSched instance and distribute load between them. Such an action will require reassigning some flows to the newly instantiated instance(s) of vSched function, resulting in the changes in the service function chaining SFC map.
- the service function chaining SFC controller will thus update the corresponding entry in the service function chaining SFC map and will notify the forwarding function FF to modify the VNFFG for the respective flow identified by the tag-id (message [6] in Fig. 6).
- the packets will be re-appended with the modified header indicating the state of congestion to the end-hosts.
- the vSched instead of parsing and indicating the ECN codepoints in the header for every arriving packet will only do it once.
- any metadata information for example introduced by the vVidOpt function, instead of being introduced to every packet needs to be written only once to the sFBC/FBC cache and then appended by the HAF to the outgoing packets.
- changes to the TCP header fields can also be updated in the sFBCs and FBC in case of a virtualized proxy-TCP function.
- any function that is required to update any field in the header that has been stripped away can employ the above method.
- An advantage of this is that such functions need to write the changes only once, i.e., for the first packet, while other packets will just pass through.
- the sFBC cache entries may be made part of the virtualized network functions VNFs instead of having them realize as a separate cache.
- the virtualized network functions VNFs thus will maintain their own local copy of the FBC cache for the relevant flows, and will keep its state in sync with the main FBC cache.
- the present invention provides a method and system enabling the system to strip away any access headers of a packet to expose payload relevant for the processing by multiple virtualized functions constituting a service chain, the system comprising
- a header stripping function removing the headers of the incoming packets and exposing the payload that the virtualized network functions VNFs, in a service function chaining SFC, need to process.
- the stripped header is replaced with an identifier, i.e. a tag-id, that identifies the packets of a flow.
- the stripped header is also bound to the identifier in a cache referred to as FBC.
- the FBC maintains a map of the tag-id with the header and metadata information and/or any other related information.
- the original or modified header is accessed from the FBC, or a co- located sFBC, while using the tag-id as a reference key.
- the FBC cache can be central and there may be distributed instances of FBC cache, referred to as secondary FBC sFBC where each sFBC contains a sub-set of the FBC entries.
- the sFBC in combination with (V)HAF will reduce the exchange of transactions between the (V)HAF and the FBC.
- VHAF virtualized instances of HAF
- sFBC distributed instances of FBC cache
- the present invention provides a distribution of the FBC between the virtualized network function VNF of a chain where each virtualized network function VNF show and maintain their FBC entry for the member flows. This enables the virtualized networks VNF to have local read/write access to the header information of the corresponding flows identified by the appended tag.
- the packets are forwarded from one virtualized network function VNF to the next by the underlying transport network, based on the transport header complying with the underlying transport protocol.
- Each visiting virtualized network function VNF in the chain will identify the packet based on it's tag-id by querying the associative cache that maintains a binding between the tag-id and the header information.
- At least one embodiment provides at least one of the following advantages: 1. Reduction of processing overhead of packets in the service function chaining SFC domain by significantly reducing the header parsing by every virtualized network function VNF in the chain for every individual packet.
- Embodiments of the invention or parts of the embodiments can be used or provided virtualized and/or non-virtualized.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
The present invention relates to a method for managing data traffic in a computing network, wherein the data traffic is transmitted in the computing network via flows of packets, and wherein the one or more packets are processed by one or more network functions, wherein a) processing information for processing said one or more packets of said identified flow is determined, b) header information is stripped from said one or more packets c) tag information is added to said one or more packets, d) a mapping between said tag information and said header information is stored in a cache and e) said packets are processed by said one or more network functions according to said identified processing information, wherein said one or more network functions query said cache using saidtag information to retrieve information associated with the tag information from said cache if required to process said one or more packets.
Description
METHOD AND SYSTEM FOR MANAGING DATA TRAFFIC
IN A COMPUTING NETWORK
The present invention relates to a method for managing data traffic in a computing network wherein the data traffic is transmitted in the computing network via flows of packets.
The present invention further relates to a system for managing data traffic in a computing network, wherein the data traffic is transmitted in the computing network via flows of packets.
Although applicable to any kind of network, the present invention will be described with regard to a 3GPP EPC network. In Fig. 1 a conventional 3GPP EPC network is shown: On the left of Fig. 1 base stations in the form of a LTE radio access network are connected to an evolved packet core EPC. Between an EPC packet data gateway and the packet data network, in Fig. 1 depicted as external network, a so-called SGi-LAN is implemented. Within the domain of SGi-LAN a technique or methodology referred to as service function chaining 'SFC is usually implemented. In service function chaining, SFC, data packets are steered through a series of network functions, 'NF', where each NF will process/service the arriving packets to and from the EPC based on its functional and/or operational scope. Conventionally and in the following the SFC domain comprises a classification function, a control function, a forwarding function and network function entities. The network functions provide network services, 'NS', to arriving flows of packets. When flows are arriving in the SFC domain they are classified by a classification function 'CF', based on some policy or rule that will determine the service(s) that the flows require. The classification may be based on detecting traffic type or application type, i.e. the classification function determines the service chain 'SC. Based on the service requirements a control function will create a network function forwarding graph, 'NFFG', for the respective flow(s). The NFFG lists the relevant network functions NF in the service chain SC that are required to provide a range
of services to the respective flows. The NFFG also specifies the order of a chain in which these networks functions NF will be visited by the packets of the respective flows. The length of the service chains may vary depending on the flows' service requirements. The network functions can be hosted on specific physical nodes or they can be virtualized. When being virtualized they are generally referred to as virtualized network function, 'VNF', and the NFFG is referred to a virtual NFFG, 'VNFFG', and the overall service provided by a SFC is referred to as network service, 'NS', as disclosed in the non-patent literature of ETSI Network Functions Virtualization (NFV), "Terminology for Main Concepts in NFV", ETSI GS NFV 003 V1.2.1 , December 2014.
In Fig. 2 a conventional functional overview of the SFC domain is shown, i.e. a high level functional overview of an SFC domain comprising a chain of virtual network functions VNF1 to VNF4 is depicted in Fig. 2. For the routing of packets from one VNF to the next VNF in the chain, the control function translates the VNFFG into determining a Network Path, 'NP', from which forwarding rules are derived. These rules are then communicated by the control function towards the forwarding function, 'FF', which is part of the transport layer. The FF stores the forwarding rules in a forwarding table. In its simplest form the forwarding rule will specify the egress ports for packets arriving on ingress ports. The FF is responsible for steering traffic to the next hop VNF in the NP or service chain, 'SC. The FF will identify the packet, for example based on its header information, and forward it to the egress port specified in the forwarding table, from where the packet will be delivered to a next hop VNF or a FF that may in turn forward the packet to the next VNF in the chain.
The packet forwarding may be done based on the original packet header or a transport header TH', which may be appended to the original packet header where the TH may be a MPLS label, GRE header, VxLAN type header or the like or be a simple tag or label that may identify the service chain or flow as for example disclosed in the non-patent literature of S. Homma et al, "Analysis on Forwarding Methods for Service Chaining, draft-homma-sfc-forwarding-methods- analysis-01 , January 23, 2015.
Each VNF will then process/service the arriving packets based on its functional/operational scope before passing the packets again to a FF to steer it to the next hop VNF in the chain. In this way packets of flows are steered through a chain of multiple VNFs before it gets forwarded to its destination.
However, the traffic load in the SFC domain is very high as most of the traffic entering the mobile core network converges in the SGi-LAN as shown in Fig. 1. Protocol header, for example TCP/UDP and IP of each packet that goes through a service chain SC will be processed by each network function NF in the chain for local delivery to identify a flow and to select the associated processing rules to process the packet as per function's operational and functional scope. This results in processing delay which gets compounded with every packet that goes through a service chain. A further disadvantage - besides processing overhead - is additional overhead which may also be incurred as the packets entering the SFC domain will be appended with an additional header or tag as disclosed in the non-patent literature of S. Homma et al, "Analysis on Forwarding Methods for Service Chaining, draft- homma-sfc-forwarding-methods-analysis-01 , January 23, 2015. Such an additional header or tag is used to uniquely distinguish between packets belonging to particular flows. These additional tags enable a forwarding function to steer the packets belonging to a particular flow through the respective service chains.
Further some intermediate virtual network functions VNFs may add metadata to a packet that may be required by the subsequent virtual network functions VNFs in the service chain SC and this overhead in addition to the packet's own header will increase the packet size thereby increasing the likelihood of the packet size to exceed the MTU size. Consequently this will add additional complexity of managing packet fragmentation and reassembly and, considering the high traffic volume in the SGi-LAN, this additional overhead will also increase the load in the SFC domain.
Embodiments of the invention therefore address the above-mentioned problems.
Objectives of embodiments of the invention are therefore to reduce the protocol header processing overhead of packets, to eliminate or at least reduce packet fragmentation and reassembly, e.g. in the SFC domain, to optimize resource utilization and to reduce the byte load in SFC domain.
In an embodiment the present invention provides a method for managing data traffic in a computing network, wherein the data traffic is transmitted in the computing network via flows of packets, and wherein the one or more packets are processed by one or more network functions, wherein
a) processing information for processing said one or more packets of an identified flow is determined by a determining function,
b) header information is stripped from said one or more packets by a stripping function,
c) tag information is added to said one or more packets by a tag adding function, d) a mapping between said tag information and said header information is stored in a cache by a mapping function and
e) said packets are processed by said one or more network functions according to said identified processing information, wherein said one or more network functions query said cache using said tag information to retrieve information associated with the tag information from said cache if required to process said one or more packets.
In a further embodiment the present invention provides a system for managing data traffic in a computing network, wherein the data traffic is transmitted in the computing network via flows of packets, and wherein the packets are processed by one or more network functions provided by one or more network entities, said system comprising
one or more input interfaces for receiving flows of packets,
one or more output interfaces for outputting flows of packets
at least one cache for storing information and
one or more computing entities connected to at least one of the input and output interfaces and adapted to determine processing information for processing said packets of an identified flow, to strip header information from said one or more packets, to add tag information to said one or more
packets, to store a mapping between said tag information and said header information in said cache and to process said one or more packets by said one or more network functions according to said identified processing information, wherein said one or more network functions query said cache using said tag information to retrieve header information associated with the tag information from said cache if required to process said one or more packets.
In other words embodiments of the present invention enable any additional headers that may not be of any relevance to the protocol or functional scope of the network function to be stripped off, cached and replaced by an identifier referred to as a tag. Thus the relevant payload is available to the network functions which not only reduces the packet size but also simplifies its structure aiding towards reduced packet processing by eliminating or reducing the need for the network functions to parse the successive headers before it can process the payload.
At least one embodiment provides the advantage to reduce the packet size by stripping it off any headers that may not be relevant for processing by the network functions for example in a SFC. This significantly reduces the processing overhead and associated costs such as header parsing by every network function for every packet.
Another advantage of embodiments of the present invention is to enable an elimination of a possibility of packet fragmentation and reassembly due to the fact that any extra header or metadata pertaining to a packet or flow is written in a cache and not to the packet itself.
A further advantage of at least one embodiment of the present invention is an optimized utilization of the resources such as computation, network, etc. consumed by the network functions. Further the byte load is reduced due to stripped off headers.
The term "flow" in connection with packets is to be understood in its broadest sense and is not limited to in particular the term "flow" according to the OpenFlow
protocol. A flow may be any kind of a group of information or information parts to be transmitted.
The term "entity" is to be understood in its broadest sense and is to be understood as any kind of physical or virtual computing entity or computing entities and may include, but is not limited to the following: an application running on a computer, a microprocessor, a single, dual, quad or octa-core processor or processors or the like or a computer, processor, or the like with a memory. Said application, computer or processor may have one or more interfaces, ports or the like for communication with other devices, entities, ports, interfaces or the like.
The term "function" is to be understood in its broadest sense and may include, but is not limited to any kind of computing entity which provides a corresponding function by an application or the like is hardcoded into a memory, processor, or the like.
Examples for network functions to be performed may be, but not limited to Deep Packet Inspection, Firewall, Access Control List, Load balancing, Security, Video optimization, Transcoding, Compression, Parental control, Network Address Translation, etc.
Further features, advantages and further embodiments are described only become apparent in the following. As a further step f) the tag information may be replaced by said corresponding header information of said cache after processing said one or more packets by all network functions, e.g. by a replacing function. This ensures that until the time the packets get processed by all network functions constituting a service chain the header is provided in its original structure if applicable with modified values due to processing by the network functions. Thus further processing within the network is enabled easily.
Said header information may be updated in the cache when a change is introduced by a network function. This enhances the flexibility: When a network
function in the case a necessary change in the header, for example when providing updated values, for example TTL field, is introduced these can be also efficiently handled in the cache and can therefore be further provided to network functions further down in the network function service chain.
An additional transport header may be added to the tag information. An additional transport header enables the steering of packets efficiently, for example in the SFC domain by using the transport header for forwarding according to packet forwarding rules or protocol.
Additional metadata for a flow may be stored in the cache and associated with said tag information. Additional metadata or any other miscellaneous information pertaining to the flow can provide additional information for the network functions further enhancing an efficient handling of the data traffic and increasing the flexibility, allowing network functions to perform tasks of a greater scope.
After querying said cache with tag information the received header information may be locally cached by said network function initiating said query. Local caching avoids a repeated querying of the cache for every arriving packet of the same flow by the network function and thus efficiency is further enhanced.
A second cache may store at least part of the information of said cache said second cache being in sync with said cache. Said second cache reduces the exchange of transactions between the first cache of d) and network functions. Further the flexibility is enhanced since said second cache enables a distribution of flows and hence the workload between the network functions and the caches.
Said cache may be distributed among said network functions. This further reduces the workload by enabling a distribution of flows between multiple instances of virtual network functions and virtual distributed second cache.
Each network function may cache the mapping for flows processed by said corresponding network function. This avoids repeated querying of the cache of corresponding flows by every arriving packet.
Said cache of d) may comprise multiple caches, wherein network functions are assigned to different groups, wherein each of said groups uses a different cache out of said multiple caches. This further enhances caches to be used by groups of network functions enhancing the flexibility and an efficient handling. f) may be performed by a network function. This has the advantage that flows and the corresponding workload can be distributed between multiple virtual network functions for example.
At least one network function is virtualized. Virtualizing has the advantage to distribute corresponding processing load and network traffic. Further flexibility in terms of using of computing resources, network resources, memory resources or the like is enhanced.
A processing scope of the network functions may be determined, and based on said processing scope, said header information are stripped off. For instance a classifying function determines the processing scope of the respective network functions and a highest protocol level at which the packets of the flows are processed. Then any other header above that protocol level will be stripped off the said stripping function. This enables an efficient handling leaving only the protocol levels for the headers necessary for processing.
Said one or more computing entities may be adapted to replace the tag information by said corresponding header information of said cache. This ensures that until the time the packets get processed by all network functions constituting a service chain the header is provided in its original structure if applicable with modified values due to processing by the network functions. Thus further processing within the network is enabled easily.
Said system may further comprise a controller adapted to control flows according to service requirements by guiding packets of flows to network function for processing according to the service requirement and/or to host said cache. This enables the centralized handling of the packets as well as of the mapping stored in
said cache. The said controller may extend its control via the forwarding function FF.
There are several ways how to design and further develop the teaching of the present invention in an advantageous way. To this end it is to be referred to the patent claims subordinate to patent claims on the one hand and to the following explanation of further embodiments of the invention by way of example, illustrated by the figure on the other hand. In connection with the explanation of the further embodiments of the invention by the aid of the figure, generally further embodiments and further developments of the teaching will be explained.
In the drawings
Fig. 1 shows a conventional 3GPP network schematically;
Fig. 2 shows in more detail the SFC domain shown in Fig. 1 ;
Fig. 3 shows a system and method according to an embodiment of the present invention;
Fig. 4 shows part of a method according to a further embodiment of the present invention;
Fig. 5 shows part of a method according to a further embodiment of the present invention; and
Fig. 6 shows part of a method according to a further embodiment of the present invention.
Fig. 1 shows a conventional 3GPP network schematically
In Fig. 1 a SFC domain with respect to a 3 GPP EPC network is shown. Fig. 1 was described above.
Fig. 2 shows in more detail the SFC domain shown in Fig. 1.
In Fig. 2 a conventional functional overview of the SFC domain is shown. Fig. 2 was also described above.
Fig. 3 shows a system and method according to an embodiment of the present invention.
In Fig. 3 a schematically conceptual overview of an embodiment of the method and of a system is shown.
The system comprises the following functional elements:
1. Classification function CF - identifies and classifies a flow based on the flow's packet header and/or SLA information. It also determines the set of services required by that flow and the order in which the services shall be applied. The classification function CF may also be realized as a virtual function.
2. Header stripping function HSF - strips an incoming packet of its headers to expose the relevant payload. It will replace the stripped header with a tag and an additional transport header TH for steering of packets in the service function chaining SFC domain. The header stripping function HSF can also comprise network function of address/port filtering (Firewall). Load balancer (not shown in Figure 3) dispatches traffic between multiple classification function CF/header stripping function HSF instances. Hence, classifier is overloaded to classify but already filter traffic according to information which is stripped then by the header stripping function HSF (hence not available in the chain). A virtualized instance of this function is referred to as virtualized header stripping function VHSF.
3. Header appending function HAF - appends an outgoing packet with its original header or an updated header in case the header appending function HAF is overloaded to apply policies for NA(P)T. A virtualized
instance of this function is referred to as virtualized header appending function VHAF.
4. Flow-id binding cache FBC - a master cache that maintains for all flows a mapping between the tag-id (that identifies the flow) and the packet's stripped header information. It may be co-located within the service function chaining SFC controller or it may be realized as a separate cache.
5. Secondary flow-id binding cache sFBC - contains a copy of the subset entries of the Flow-id Binding Cache FBC. It may be co-located with the header appending function HAF or it may be realized as a distributed cache.
6. Service function chaining SFC Map - specifies a complete map for a service function chaining SFC indicating the associated flows, the VNFFG and the associated VHAF/secondary flow-id binding cache sFBC.
A packet arriving at the service function chaining SFC domain will first get identified, classified and its service requirements determined by said classification function CF. The classification can be based on operator specified policy/rules that the classification function CF can access/derive from the information provided by the mobile network's control plane entity; such as a PCRF/HSS in 3GPP based mobile networks. The classification policy/rules will take into account the information in the packet header(s), for example L2-L4 header information, that will enable the system to identify the flow, its application type and determine the flows' SLA. Based on this, the classification function CF will determine the service function chaining SFC by deriving the VNFFG for the flow.
The VNFFG identifies the relevant virtualized network functions VNFs in the service chain SC and also specifies their respective order in the service chain SC. Once the VNFFG is computed, classification function CF will determine the processing scope of the respective virtualized network functions VNFs and determine the highest protocol level at which the flows' packets will be processed.
Any other header above that protocol level will be stripped off by the header stripping function HSF, which can either be collocated with the classification function CF or can be a virtualized functional entity (i.e., virtual header stripping function VHSF) proceeding the classification function CF. The classification function CF (or the header stripping function HSF if realized as a separate function) will generate and append a unique service function chaining SFC header, referred to as a tag. This tag uniquely identifies a flow from other flows and all packets that belong to the same flow will be appended with the same tag. A standard TH will also be appended for transport of traffic by the forwarding functions FFs within the service function chaining SFC domain. The TH can either be standard MPLS or GRE header or it can be a VxLAN based encapsulation that is identifiable by the forwarding functions FFs. A simplified tag could be defined that is not only also used to identify the flow and the service chain SC but it may also be used by the forwarding function FFs in the underlying transport network of the service function chaining SFC domain for traffic steering; whereas the scope/format of this tag will be unique to the service function chaining SFC domain and used by the forwarding function FFs for steering the packets from one virtualized network function VNF to the next virtualized network function VNF in the service function chaining SFC specified for the flow. For instance the latter may have an impact on software-defined network SDN based controllers and switches where they need to understand and process the tag. In its simplest form, the tag may comprise a unique-id for flow identification and the payload size so that the processing virtualized network function VNF may know the position of the payload.
Afterwards, the classification function CF will inform the service function chaining SFC controller of the tag-id, TH and the VNFFG that it has derived for the flow, which in turn will instantiate the relevant virtualized network functions VNFs in the VNFFG and will configure the packet forwarding rules in the underlying forwarding functions FFs based on the tag-id or TH. For this purpose, the service function chaining SFC controller may maintain a service function chaining SFC Map that identifies the flows (identified by the tag-id) associated with a specific service function chaining SFC, which in turn is characterized by the VNFFG and also indicates the (V)HAF and secondary Flow-id Binding Cache sFBC of which it is the
member of. This is illustrated in Table 1 where, for example, SFC-1 is composed of VNF1 ^VNF2^VNF3^VNF7 and 3 flows, identified by tag-id 1 ,3 and 5, share this service chain SC. It also indicates that (V)HAF-1 and sFBC-1 is shared between SFC-1 and SFC-2.
Table 1 : Overview of the service function chaining SFC Map The system of the embodiment also maintains a mapping between the packet's tag and its original header in a cache referred to as Flow-id Binding Cache (FBC), the conceptual overview of which is shown as Table 2:
Flow Id Binding Cache (FBC)
Key Value
L2 Header Information
L3 Header Information
SFC Tag-id L4 Header Information
Lx Header Information
Metadata
Miscellaneous flow information
Table 2: An associative FBC mapping the service function chaining SFC Tag -id with the flow header information
The flow-id binding cache FBC can be realized as an associative container where the packet tag is used as a key to reference the packet's original header that has been stripped off by the (virtualized) header stripping function (V)HSF. Besides the header information, the flow-id binding cache FBC can also maintain any additional meta-information and/or any miscellaneous information pertaining to the flow. The flow-id binding cache FBC can be maintained/managed as part of the service function chaining SFC Controller (see Figure 3), or it can also be realized as an external cache. The system may also comprise distributed instances of the Flow-id Binding Cache FBC, which maintain a copy of the subset of flow-id binding cache FBC entries, and is referred to as secondary Flow-id Binding Cache sFBC. Figure 3 shows secondary Flow-id Binding Cache sFBC as part of (V)HAF and if it is external then the (V)HAF must have access rights to it. The underlying virtualized network functions VNFs have read/write access to both flow-id binding cache FBC and secondary Flow-id Binding Cache sFBC.
Fig. 4 shows part of a method according to a further embodiment of the present invention.
In Fig. 4 packet forwarding and processing in an overview is shown. It is also shown that a virtualized network function VNF sends query request, i.e. the quer_req message in Fig. 4 to the FBC to resolve the tag-id to the associated
header information, which is then returned to the virtualized network function VNF in the reply message, i.e., query_rep message in Fig. 4.
The forwarding function FF will strip off the transport header TH and forward the packet (with the service function chaining SFC tag) to the next hop virtualized network function VNF in the service chain SC. The virtualized network function VNF will strip off the tag, process the payload, re-append the tag and send it down to the FF for steering it to the next virtualized network function VNF in the service chain SC or to its destination. In case the virtualized network function VNF requires header information for processing the packet, it will query the FBC to resolve the header information associated with the tag-id and perform the necessary processing. The virtualized network function VNF may also store the just queried header information in its local cache to avoid repeated querying of the FBC for every arriving packet of the same flow.
After the packet gets processed by the successive virtualized network functions VNFs in the service function chaining SFC, it is forwarded to the Header Appending Function (HAF) (see Figure 3). Based on the tag-id, the HAF will query the FBC to resolve the header information associated with the tag-id, remove that tag and re-append (or re-encapsulate) the packet with the original protocol headers, adopting the original or updated values (e.g. for the TTL field). In order to avoid repeated querying of the FBC for header information resolution for every arriving packet, the HAF shall maintain the copy of the resolved header in a local cache, referred to as sFBC. The sFBC may also be realized as a distributed cache that can be accessed by the HAF. Once the flow (i.e., session) ends or times out, the corresponding entry in the FBC can be deleted and the service function chaining SFC controller can also signal the sFBC to remove the corresponding entry from its cache. Fig. 5 shows part of a method according to a further embodiment of the present invention.
In Fig. 5 an example scenario is illustrating the utilization of VHAF and sFBC is shown. Here the HAF is realized as a virtualized network function VNF, i.e. as
virtualized header appending function VHAF. This will have the advantage of distributing the flows and the workload between multiple instances of virtual header appending functions VHAF. In Fig. 5 the following is shown: there are 4 service function chainings SFCs and SFC-1 and SFC-2 are grouped under VHAF- 1 and sFBC-1 , while SFC-3 and SFC-4 are grouped under VHAF-2 and sFBC-2. The sFBC can also be co-located but here they are considered as distributed caches. The grouping or membership of service function chains SFCs to a particular instance of VHAF and sFBC is decided by the service function chaining SFC controller and indicated in the forwarding rules of the underlying FFs. Thus all flows belonging to any of these service function chains SFCs will be served by the respective VHAF and sFBC. The sFBC will only maintain the mapping of flows that are part of the member service function chains SFCs. In other words a sFBC will contain a subset of the FBC entries relevant to the member flows. All the virtualized network functions VNFs in the service function chaining SFC will have read/write access to their respective sFBC and the FBC, where the sFBCs will remain in sync with FBC for any changes that a particular virtualized network function VNF my cause in the header fields that has been stripped.
Fig. 6 shows part of a method according to a further embodiment of the present invention.
In Fig. 6 as schematical process overview for a virtualized scheduler function to modify a field entry of a stripped-off L3 header is shown. Fig.6 shows a use case scenario for an intermediate virtual network function in the service chain that may need to encode the ECN codepoint in the IP header to reflect the state of congestion when a packet arrives. The service function chaining SFC of Fig. 6 is composed of a virtual firewall application function (vFW), a virtualized video optimizer function (vVidOpt), a virtualized traffic shaper/scheduler function (vSched) and a virtualized NA(P)T function (vNAPT) respectively. The flows that belong to this service function chaining SFC after being admitted by the vFW will be forwarded to vVidOpt function that will perform video optimization functions (such as transcoding, transrating, transizing, transmuxing etc.) on the packets of different flows. The vVidOpt will be able to differentiate between flows
based on their header information that it resolved with the FBC using the tag-id as shown with reference to Figure 4. The packets will then be forwarded to the vSched that will schedule between flows based on some scheduling algorithm and also detect congestion. In order to prioritize between flows for scheduling based on the header information, the vSched will need to resolve the header information (assume L3 header) associated with the tag-id of the incoming packets and store them in a local cache. Thus when the vSched receives the first packet for the flows, it will query the sFBC of the L3 header information based on the tag-id (message [1] in Fig. 6). The sFBC will respond to the query and provide a copy of the L3 header to the vSched function (message [2] in Fig. 6).
The vSched will store the L3 header information in its local cache and, based on its source and/or destination IP address, will identify the flow priority based on some pre-defined rules/policy. It could be that some flows may experience congestion in the vSched due to the presence of some high priority flows and/or high load. The vSched will thus need to notify the end-hosts of congestion by setting the Explicit Congestion Notification (ECN) codepoint in the IP header of flows that are low in the scheduling priority and hence experiencing delays. The vSched will thus notify the sFBC the change in the status of ECN bits in the DiffServ field of the IP header of relevant flows by sending a notification message. This notification message (message [3] in Fig. 6) will contain the tag-id and the modified L3 header information which is then used by the sFBC to update the corresponding entry in the cache. The sFBC will also notify the FBC of the change (message [4] in Fig. 6), which will update its corresponding entry. The FBC will then inform the service function chaining SFC controller of the changes made to the header information of particular flow(s) (message [5] in Fig. 6). The message [5] will indicate to the service function chaining SFC controller the SFC-id, the tag- id and the VNF-id that has modified the header information. Depending on the control policy, the service function chaining SFC controller may decide to take necessary management actions to relieve the state of congestion by, for example, scaling up the vSched virtualized network function VNF instance by instantiating one or more additional vSched instance and distribute load between them. Such an action will require reassigning some flows to the newly
instantiated instance(s) of vSched function, resulting in the changes in the service function chaining SFC map. The service function chaining SFC controller will thus update the corresponding entry in the service function chaining SFC map and will notify the forwarding function FF to modify the VNFFG for the respective flow identified by the tag-id (message [6] in Fig. 6). At the (V)HAF the packets will be re-appended with the modified header indicating the state of congestion to the end-hosts. Thus, upon the change in the state of congestion, the vSched instead of parsing and indicating the ECN codepoints in the header for every arriving packet will only do it once. Similarly any metadata information, for example introduced by the vVidOpt function, instead of being introduced to every packet needs to be written only once to the sFBC/FBC cache and then appended by the HAF to the outgoing packets.
Similarly changes to the TCP header fields can also be updated in the sFBCs and FBC in case of a virtualized proxy-TCP function. In other words any function that is required to update any field in the header that has been stripped away can employ the above method. An advantage of this is that such functions need to write the changes only once, i.e., for the first packet, while other packets will just pass through.
In another embodiment, the sFBC cache entries may be made part of the virtualized network functions VNFs instead of having them realize as a separate cache. The virtualized network functions VNFs thus will maintain their own local copy of the FBC cache for the relevant flows, and will keep its state in sync with the main FBC cache.
In summary in an embodiment the present invention provides a method and system enabling the system to strip away any access headers of a packet to expose payload relevant for the processing by multiple virtualized functions constituting a service chain, the system comprising
1. A header stripping function removing the headers of the incoming packets and exposing the payload that the virtualized network functions VNFs, in a service function chaining SFC, need to process.
a. The stripped header is replaced with an identifier, i.e. a tag-id, that identifies the packets of a flow. The stripped header is also bound to the identifier in a cache referred to as FBC.
b. The FBC maintains a map of the tag-id with the header and metadata information and/or any other related information.
2. A header appending function HAF re-encapsulating the payload of the outgoing packets with the original or modified header, where
a. The original or modified header is accessed from the FBC, or a co- located sFBC, while using the tag-id as a reference key. b. The FBC cache can be central and there may be distributed instances of FBC cache, referred to as secondary FBC sFBC where each sFBC contains a sub-set of the FBC entries.
c. The sFBC in combination with (V)HAF will reduce the exchange of transactions between the (V)HAF and the FBC.
3. The virtualized instances of HAF (i.e., VHAF) and distributed instances of FBC cache (i.e., sFBC) allowing the distribution of flows, and hence the workload, between multiple instances of VHAF and sFBC.
4. One time Header modification in the remote cache (FBC) and not directly on the packets.
5. One time recording/writing of headers modified by SF in the chain for every flow.
In a further embodiment the present invention provides a distribution of the FBC between the virtualized network function VNF of a chain where each virtualized network function VNF show and maintain their FBC entry for the member flows. This enables the virtualized networks VNF to have local read/write access to the header information of the corresponding flows identified by the appended tag.
In a further embodiment the present invention provides a method comprising the following steps:
1. Classification of flows and identifying them to a service function chaining SFC, to enable service function chains SFCs.
2. Stripping off the header information and to expose payload that is of relevance to the virtualized network functions VNFs in a service chain SC.
3. Replacing the stripped header with an identifier (i.e., a tag) and storing the tag with the associated header in an associative cache, where the header information can be accessed (read/write access) based on the tag-id.
4. The packets are forwarded from one virtualized network function VNF to the next by the underlying transport network, based on the transport header complying with the underlying transport protocol.
5. Each visiting virtualized network function VNF in the chain will identify the packet based on it's tag-id by querying the associative cache that maintains a binding between the tag-id and the header information.
6. Any changes that a virtualized network function VNF may want to introduce to a packet header is done once and written to the relevant entry in the cache.
7. The packets of a flow are stripped off the tag and appended with the original/modified header before leaving the service function chaining SFC domain.
At least one embodiment of the present invention provides at least one of the following:
1. An ability to accumulate the header modifications made by several SF in the chain and apply them once in the (V)HAF.
2. An ability to reduce the packet size by stripping it off any headers that may not be relevant for processing by the virtualized network functions VNFs in a service function chaining SFC. This will significantly reduce the processing overhead and associated costs, such as header parsing, by every virtualized network function VNF for every packet.
3. A system still being able to allow modifying changes in the stripped header field(s). Such a modification can only be performed once for a packet and does not need to be repeated for every incoming packet.
At least one embodiment provides at least one of the following advantages:
1. Reduction of processing overhead of packets in the service function chaining SFC domain by significantly reducing the header parsing by every virtualized network function VNF in the chain for every individual packet.
2. Elimination of the possibility of packet fragmentation and reassembly in the service function chaining SFC domain due to the fact that any extra head er/m eta-data pertaining to a packet/flow is written in a FBC and not to the packet itself.
3. Optimized utilization of the resources, such as compute, network etc, consumed by the virtualized network functions VNFs.
4. Reduced byte load in the service function chaining SFC domain due to stripped off headers.
Embodiments of the invention or parts of the embodiments can be used or provided virtualized and/or non-virtualized.
Many modifications and other embodiments of the invention set forth herein will come to mind to the one skilled in the art to which the invention pertains having the benefit of the teachings presented in the foregoing description and the associated drawings. Therefore, it is to be understood that the invention is not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.
Claims
C l a i m s
A method for managing data traffic in a computing network, wherein the data traffic is transmitted in the computing network via flows of packets, and wherein the one or more packets are processed by one or more network functions, wherein
a) processing information for processing said one or more packets of an identified flow is determined by a determining function,
b) header information is stripped from said one or more packets by a stripping function,
c) tag information is added to said one or more packets by a tag adding function
d) a mapping between said tag information and said header information is stored in a cache by a mapping function, and
e) said packets are processed by said one or more network functions according to said identified processing information, wherein said one or more network functions query said cache using said tag information to retrieve information associated with the tag information from said cache if required to process said one or more packets.
The method according to claim 1 , comprising the further step f): after processing said one or more packets by all network functions, the tag information is replaced by said corresponding header information of said cache.
The method according to one of the claims 1 -2, wherein said header information is updated in the cache when a change is introduced by a network function.
The method according to claim 1 -3, wherein an additional transport header is added to the tag information.
5. The method according to one of the claims 1 -4, wherein additional metadata for a flow is stored in the cache and associated with said tag information.
6. The method according to one of the claims 1 -5, wherein after querying said cache with tag information the received header information is locally cached by said network function initiating said query.
7. The method according to one of the claims 1 -6, wherein a second cache stores at least part of the information of said cache, said second cache being in sync with said cache.
8. The method according to one of the claims 1 -7, wherein said cache and/or said second cache is distributed among said network functions.
9. The method according to one of the claims 1 -8, characterized in that each network function caches the mapping for flows processed by said corresponding network function.
10. The method according to one of the claims 1 -9, wherein said cache of d) comprises multiple caches, wherein network functions are assigned to different groups, wherein each of said groups uses a different cache out of said multiple caches.
1 1. The method according to at least claim 2, wherein f) is performed by a network function.
12. The method according to one of the claims 1 -1 1 , wherein at least one network function is virtualized.
13. The method according to one of the claims 1 -12, wherein a processing scope of the network functions is determined, and based on said processing scope, said header information are stripped off.
14. A system for managing data traffic in a computing network, wherein the data traffic is transmitted in the computing network via flows of packets, and wherein one or more packets are processed by one or more network functions provided by one or more network entities, said system comprising one or more input interfaces for receiving flows of packets, one or more output interfaces for outputting flows of packets at least one cache for storing information and
one or more computing entities connected to at least one of the input and output interfaces and adapted to determine processing information for processing said one or more packets of an identified flow, to strip header information from said one or more packets, to add tag information to said packets, to store a mapping between said tag information and said header information in said cache and to process said one or more packets by said one or more network functions according to said identified processing information, wherein said one or more network functions query said cache using said tag information to retrieve information associated with the tag information from said cache if required to process said one or more packets.
15. The system of claim 14, wherein said system further comprising a controller adapted to control flows according to service requirements by guiding packets of flows to network functions for processing according to their service requirements and/or to host said cache.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP15738287.0A EP3314827B1 (en) | 2015-06-25 | 2015-06-25 | Method and system for managing data traffic in a computing network |
PCT/EP2015/064374 WO2016206742A1 (en) | 2015-06-25 | 2015-06-25 | Method and system for managing data traffic in a computing network |
JP2018518774A JP6592595B2 (en) | 2015-06-25 | 2015-06-25 | Method and system for managing data traffic in a computing network |
US15/739,167 US10530691B2 (en) | 2015-06-25 | 2015-06-25 | Method and system for managing data traffic in a computing network |
CN201580082656.5A CN108353029B (en) | 2015-06-25 | 2015-06-25 | Method and system for managing data traffic in a computing network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2015/064374 WO2016206742A1 (en) | 2015-06-25 | 2015-06-25 | Method and system for managing data traffic in a computing network |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016206742A1 true WO2016206742A1 (en) | 2016-12-29 |
Family
ID=53610855
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2015/064374 WO2016206742A1 (en) | 2015-06-25 | 2015-06-25 | Method and system for managing data traffic in a computing network |
Country Status (5)
Country | Link |
---|---|
US (1) | US10530691B2 (en) |
EP (1) | EP3314827B1 (en) |
JP (1) | JP6592595B2 (en) |
CN (1) | CN108353029B (en) |
WO (1) | WO2016206742A1 (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110249594A (en) * | 2017-02-08 | 2019-09-17 | 日本电信电话株式会社 | Communication device and communication means |
US10805164B2 (en) | 2018-12-14 | 2020-10-13 | At&T Intellectual Property I, L.P. | Controlling parallel data processing for service function chains |
JP2021122126A (en) * | 2017-02-10 | 2021-08-26 | 日本電信電話株式会社 | Data processing device, data output method, and computer program |
US11146506B2 (en) | 2018-12-14 | 2021-10-12 | At&T Intellectual Property I, L.P. | Parallel data processing for service function chains spanning multiple servers |
US11303738B2 (en) | 2018-03-16 | 2022-04-12 | Acklio | Method and apparatus processing of message data |
US11704148B2 (en) | 2021-03-05 | 2023-07-18 | Vmware, Inc. | Datapath load distribution for a RIC |
US11836551B2 (en) | 2021-03-05 | 2023-12-05 | Vmware, Inc. | Active and standby RICs |
US11838176B1 (en) | 2022-12-19 | 2023-12-05 | Vmware, Inc. | Provisioning and deploying RAN applications in a RAN system |
US11882200B2 (en) | 2018-03-16 | 2024-01-23 | Acklio | Method and apparatus processing of message data |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017020203A1 (en) * | 2015-07-31 | 2017-02-09 | 华为技术有限公司 | Routing rule acquisition method, device and system |
US11201761B2 (en) * | 2016-02-11 | 2021-12-14 | Lg Electronics Inc. | Method and terminal for acquiring information on service function chain in next-generation mobile communication network |
CN107453884B (en) * | 2016-05-30 | 2020-01-10 | 华为技术有限公司 | Method and device for detecting service quality of network equipment |
EP3485608B1 (en) * | 2016-07-13 | 2020-06-24 | Telefonaktiebolaget LM Ericsson (PUBL) | Methods and servers for managing traffic steering policies |
CN107659419B (en) * | 2016-07-25 | 2021-01-01 | 华为技术有限公司 | Network slicing method and system |
US20180219765A1 (en) | 2017-01-31 | 2018-08-02 | Waltz Networks | Method and Apparatus for Network Traffic Control Optimization |
US11706127B2 (en) | 2017-01-31 | 2023-07-18 | Vmware, Inc. | High performance software-defined core network |
US10778528B2 (en) | 2017-02-11 | 2020-09-15 | Nicira, Inc. | Method and system of connecting to a multipath hub in a cluster |
US10764176B1 (en) * | 2017-07-09 | 2020-09-01 | Barefoot Networks, Inc. | Compiler and hardware interactions to reuse register fields in the data plane of a network forwarding element |
US10999100B2 (en) | 2017-10-02 | 2021-05-04 | Vmware, Inc. | Identifying multiple nodes in a virtual network defined over a set of public clouds to connect to an external SAAS provider |
US11115480B2 (en) | 2017-10-02 | 2021-09-07 | Vmware, Inc. | Layer four optimization for a virtual network defined over public cloud |
US10805114B2 (en) | 2017-10-02 | 2020-10-13 | Vmware, Inc. | Processing data messages of a virtual network that are sent to and received from external service machines |
US11223514B2 (en) | 2017-11-09 | 2022-01-11 | Nicira, Inc. | Method and system of a dynamic high-availability mode based on current wide area network connectivity |
US11184283B2 (en) * | 2018-02-22 | 2021-11-23 | Futurewei Technologies, Inc. | Service function chaining congestion tracking |
US11032190B2 (en) * | 2018-09-12 | 2021-06-08 | Corsa Technology Inc. | Methods and systems for network security universal control point |
KR102589484B1 (en) * | 2018-11-23 | 2023-10-13 | 후아웨이 테크놀러지 컴퍼니 리미티드 | Service function chaining network service |
EP3925193A1 (en) * | 2019-02-22 | 2021-12-22 | VMware, Inc. | Virtual service networks |
US11057306B2 (en) * | 2019-03-14 | 2021-07-06 | Intel Corporation | Traffic overload protection of virtual network functions |
JP2021019294A (en) * | 2019-07-19 | 2021-02-15 | ソニー株式会社 | Communication device and communication method |
CN110365796B (en) | 2019-08-01 | 2022-04-29 | 腾讯科技(深圳)有限公司 | Service request processing method and device |
CN112787921B (en) * | 2019-11-08 | 2023-05-19 | 华为技术有限公司 | Message transmission method, proxy node and storage medium |
US11689959B2 (en) | 2020-01-24 | 2023-06-27 | Vmware, Inc. | Generating path usability state for different sub-paths offered by a network link |
US11601356B2 (en) | 2020-12-29 | 2023-03-07 | Vmware, Inc. | Emulating packet flows to assess network links for SD-WAN |
US11979325B2 (en) | 2021-01-28 | 2024-05-07 | VMware LLC | Dynamic SD-WAN hub cluster scaling with machine learning |
US12009987B2 (en) | 2021-05-03 | 2024-06-11 | VMware LLC | Methods to support dynamic transit paths through hub clustering across branches in SD-WAN |
US12015536B2 (en) | 2021-06-18 | 2024-06-18 | VMware LLC | Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics of types of resource elements in the public clouds |
US12047282B2 (en) * | 2021-07-22 | 2024-07-23 | VMware LLC | Methods for smart bandwidth aggregation based dynamic overlay selection among preferred exits in SD-WAN |
CN113395362B (en) * | 2021-08-17 | 2021-11-16 | 杭州雅观科技有限公司 | Service chain grouping and reforming method for mobile edge computing |
US11943146B2 (en) | 2021-10-01 | 2024-03-26 | VMware LLC | Traffic prioritization in SD-WAN |
US11909815B2 (en) | 2022-06-06 | 2024-02-20 | VMware LLC | Routing based on geolocation costs |
US12057993B1 (en) | 2023-03-27 | 2024-08-06 | VMware LLC | Identifying and remediating anomalies in a self-healing network |
US12034587B1 (en) | 2023-03-27 | 2024-07-09 | VMware LLC | Identifying and remediating anomalies in a self-healing network |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003028341A2 (en) * | 2001-09-28 | 2003-04-03 | Intel Corporation | Tagging packets with a lookup key to facilitate usage of a unified packet forwarding cache |
US20150124815A1 (en) * | 2013-11-04 | 2015-05-07 | Telefonaktiebolaget L M Ericsson (Publ) | Service chaining in a cloud environment using software defined networking |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7149225B2 (en) * | 2003-03-10 | 2006-12-12 | Cisco Technology, Inc. | Arrangement for traversing an IPv4 network by IPv6 mobile nodes via a mobility anchor point |
US7961739B2 (en) * | 2005-07-21 | 2011-06-14 | Genband Us Llc | Systems and methods for voice over multiprotocol label switching |
US7610330B1 (en) * | 2006-03-30 | 2009-10-27 | Packeteer, Inc. | Multi-dimensional computation distribution in a packet processing device having multiple processing architecture |
CN101584162B (en) * | 2007-01-17 | 2013-05-29 | 北方电讯网络有限公司 | Method and apparatus for interworking Ethernet and MPLS networks |
US7894450B2 (en) * | 2007-12-31 | 2011-02-22 | Nortel Network, Ltd. | Implementation of VPNs over a link state protocol controlled ethernet network |
JP2010088080A (en) * | 2008-10-03 | 2010-04-15 | Fujitsu Ltd | Communication apparatus and communication method |
CN102025586B (en) * | 2009-09-09 | 2014-07-09 | 华为技术有限公司 | Intercommunicating method, device and system for multiple protocol label switching network and Ethernet |
CN102769557B (en) * | 2012-08-09 | 2015-08-12 | 深圳市共进电子股份有限公司 | A kind of transmission method of business datum message and device |
US9148367B2 (en) * | 2012-10-02 | 2015-09-29 | Cisco Technology, Inc. | System and method for binding flows in a service cluster deployment in a network environment |
CN103841023B (en) * | 2012-11-22 | 2017-03-08 | 华为技术有限公司 | The method and apparatus of data forwarding |
US9787567B1 (en) * | 2013-01-30 | 2017-10-10 | Big Switch Networks, Inc. | Systems and methods for network traffic monitoring |
US9794379B2 (en) * | 2013-04-26 | 2017-10-17 | Cisco Technology, Inc. | High-efficiency service chaining with agentless service nodes |
US9660909B2 (en) * | 2014-12-11 | 2017-05-23 | Cisco Technology, Inc. | Network service header metadata for load balancing |
US20160212048A1 (en) * | 2015-01-15 | 2016-07-21 | Hewlett Packard Enterprise Development Lp | Openflow service chain data packet routing using tables |
US10530697B2 (en) * | 2015-02-17 | 2020-01-07 | Futurewei Technologies, Inc. | Intent based network configuration |
US9769065B2 (en) * | 2015-05-06 | 2017-09-19 | Telefonaktiebolaget Lm Ericsson (Publ) | Packet marking for L4-7 advanced counting and monitoring |
WO2016181461A1 (en) * | 2015-05-11 | 2016-11-17 | 富士通株式会社 | Transfer device, communication system, communication method, and communication program |
-
2015
- 2015-06-25 EP EP15738287.0A patent/EP3314827B1/en active Active
- 2015-06-25 JP JP2018518774A patent/JP6592595B2/en active Active
- 2015-06-25 CN CN201580082656.5A patent/CN108353029B/en active Active
- 2015-06-25 US US15/739,167 patent/US10530691B2/en active Active
- 2015-06-25 WO PCT/EP2015/064374 patent/WO2016206742A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003028341A2 (en) * | 2001-09-28 | 2003-04-03 | Intel Corporation | Tagging packets with a lookup key to facilitate usage of a unified packet forwarding cache |
US20150124815A1 (en) * | 2013-11-04 | 2015-05-07 | Telefonaktiebolaget L M Ericsson (Publ) | Service chaining in a cloud environment using software defined networking |
Non-Patent Citations (3)
Title |
---|
"Terminology for Main Concepts in NFV", ETSI GS NFV 003 V1.2.1, December 2014 (2014-12-01) |
HOMMA K NAITO D R LOPEZ TELEFONICA I+D M STIEMERLING NEC/H-DA D DOLSON SANDVINE A GORBUNOV NOKIA N LEYMANN S: "Analysis on Forwarding Methods for Service Chaining; draft-homma-sfc-forwarding-methods-analysis-02.txt", ANALYSIS ON FORWARDING METHODS FOR SERVICE CHAINING; DRAFT-HOMMA-SFC-FORWARDING-METHODS-ANALYSIS-02.TXT, INTERNET ENGINEERING TASK FORCE, IETF; STANDARDWORKINGDRAFT, INTERNET SOCIETY (ISOC) 4, RUE DES FALAISES CH- 1205 GENEVA, SWITZERLAND, 8 June 2015 (2015-06-08), pages 1 - 31, XP015106579 * |
S. HOMMA ET AL., ANALYSIS ON FORWARDING METHODS FOR SERVICE CHAINING, DRAFT-HOMMA-SFC-FORWARDING-METHODS-ANALYSIS-01, 23 January 2015 (2015-01-23) |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110249594A (en) * | 2017-02-08 | 2019-09-17 | 日本电信电话株式会社 | Communication device and communication means |
EP3582457A4 (en) * | 2017-02-08 | 2021-01-13 | Nippon Telegraph And Telephone Corporation | Communication device and communication method |
US11424959B2 (en) | 2017-02-08 | 2022-08-23 | Nippon Telegraph And Telephone Corporation | Communication apparatus and communication method that control processing sequence of communication packet |
JP7093045B2 (en) | 2017-02-10 | 2022-06-29 | 日本電信電話株式会社 | Data processing equipment, data output method and computer program |
JP2021122126A (en) * | 2017-02-10 | 2021-08-26 | 日本電信電話株式会社 | Data processing device, data output method, and computer program |
EP3541040B1 (en) * | 2018-03-16 | 2022-04-13 | Acklio | Method and apparatus for processing message data |
US11882200B2 (en) | 2018-03-16 | 2024-01-23 | Acklio | Method and apparatus processing of message data |
US11303738B2 (en) | 2018-03-16 | 2022-04-12 | Acklio | Method and apparatus processing of message data |
US11622030B2 (en) | 2018-03-16 | 2023-04-04 | Acklio | Method and apparatus processing of message data |
US11146506B2 (en) | 2018-12-14 | 2021-10-12 | At&T Intellectual Property I, L.P. | Parallel data processing for service function chains spanning multiple servers |
US11502910B2 (en) | 2018-12-14 | 2022-11-15 | At&T Intellectual Property I, L.P. | Controlling parallel data processing for service function chains |
US11582167B2 (en) | 2018-12-14 | 2023-02-14 | At&T Intellectual Property I, L.P. | Parallel data processing for service function chains spanning multiple servers |
US10805164B2 (en) | 2018-12-14 | 2020-10-13 | At&T Intellectual Property I, L.P. | Controlling parallel data processing for service function chains |
US11979290B2 (en) | 2018-12-14 | 2024-05-07 | At&T Intellectual Property I, L.P. | Controlling parallel data processing for service function chains |
US11962514B2 (en) | 2018-12-14 | 2024-04-16 | At&T Intellectual Property I, L.P | Parallel data processing for service function chains spanning multiple servers |
US11704148B2 (en) | 2021-03-05 | 2023-07-18 | Vmware, Inc. | Datapath load distribution for a RIC |
US11831517B2 (en) | 2021-03-05 | 2023-11-28 | Vmware, Inc. | Data IO and service on different pods of a RIC |
US11836551B2 (en) | 2021-03-05 | 2023-12-05 | Vmware, Inc. | Active and standby RICs |
US11805020B2 (en) | 2021-03-05 | 2023-10-31 | Vmware, Inc. | Cloudified MAC scheduler |
US11750466B2 (en) | 2021-03-05 | 2023-09-05 | Vmware, Inc. | RIC and RIC framework communication |
US11973655B2 (en) | 2021-03-05 | 2024-04-30 | VMware LLC | SDL cache for O-RAN |
US11743131B2 (en) | 2021-03-05 | 2023-08-29 | Vmware, Inc. | Cloudified user-level tracing |
US12047245B2 (en) | 2021-03-05 | 2024-07-23 | VMware LLC | RIC with a dedicated IO thread and multiple data processing threads |
US12113678B2 (en) | 2021-03-05 | 2024-10-08 | VMware LLC | Using hypervisor to provide virtual hardware accelerators in an O-RAN system |
US11838176B1 (en) | 2022-12-19 | 2023-12-05 | Vmware, Inc. | Provisioning and deploying RAN applications in a RAN system |
Also Published As
Publication number | Publication date |
---|---|
EP3314827A1 (en) | 2018-05-02 |
JP6592595B2 (en) | 2019-10-16 |
US20190081894A1 (en) | 2019-03-14 |
CN108353029B (en) | 2021-02-26 |
US10530691B2 (en) | 2020-01-07 |
JP2018518927A (en) | 2018-07-12 |
EP3314827B1 (en) | 2022-08-03 |
CN108353029A (en) | 2018-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3314827B1 (en) | Method and system for managing data traffic in a computing network | |
US12095882B2 (en) | Accelerated network packet processing | |
US9455915B2 (en) | Hierarchical congestion control with congested flow identification hardware | |
US9762497B2 (en) | System, method and apparatus for network congestion management and network resource isolation | |
US10135735B2 (en) | Method and system for managing flows in a network | |
CN113326228B (en) | Message forwarding method, device and equipment based on remote direct data storage | |
US20180083876A1 (en) | Optimization of multi-table lookups for software-defined networking systems | |
US20170331741A1 (en) | Mac chaining load balancer | |
US9674080B2 (en) | Proxy for port to service instance mapping | |
US20140010083A1 (en) | Flow-based network switching system | |
US10892992B2 (en) | Load balancing | |
US11516140B2 (en) | Distributed anticipatory bidirectional packet steering for software network functions | |
US10348683B2 (en) | Network packet filtering via media access control (MAC) address learning | |
US20150043586A1 (en) | Control Apparatus, Communication Apparatus, Communication System, Communication Method, and Program | |
CN114079638A (en) | Data transmission method, device and storage medium of multi-protocol hybrid network | |
US7961612B2 (en) | Limiting transmission rate of data | |
US10397127B2 (en) | Prioritized de-queueing | |
AU2004237319A1 (en) | Method for the priority classification of frames | |
US10291517B1 (en) | Generating a dummy VLAN tag for indicating quality of service classification information in a distributed routing system | |
CN114793217B (en) | Intelligent network card, data forwarding method and device and electronic equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15738287 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2018518774 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2015738287 Country of ref document: EP |