Load Balancing and OAM in Service Function Chaining Using Multiprotocol Label Switching

By using indicator tags and service function tags of MPLS forwarding surfaces in the service function chain of wireless communication networks, the problems of load balancing and OAM management are solved, and efficient network operation and management are achieved.

CN116057911BActive Publication Date: 2025-04-25ZTE CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202080103020.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-09-22
Publication Date
2025-04-25
Estimated Expiration
2040-09-22

AI Technical Summary

Technical Problem

In the service function chain in wireless communication networks, it is difficult for the prior art to effectively realize the efficient management of load balancing and operation, management and maintenance (OAM) functions.

Method used

By using the service function chain of the multi-protocol label switching (MPLS) forwarding surface, the combination of indicator tags and service function tags is used to realize the load balancing of packets and the management of OAM functions. The specific method includes determining a first destination of the message when the indicator tag exists, and when it does not exist, transmitting a payload to a second destination selected based on the service function indicator.

Benefits of technology

It realizes a mechanism to support OAM protocol at the service function path level, and load balancing between different service function forwarders through the MPLS data plane, improving the operation efficiency and manageability of the network.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116057911B_ABST
    Figure CN116057911B_ABST
Patent Text Reader

Abstract

An apparatus, system, and method for load balancing and operation, administration, and maintenance (OAM) in a service function chain using a multi-protocol label switching (MPLS) forwarding plane are disclosed. In some embodiments, a packet processing method includes: based on the presence of an indicator label in the plurality of labels, processing a network packet including a plurality of labels, such that if the indicator label is present in the network packet, the indicator label is used to determine a first destination of a payload of the network packet, and if the indicator label is not present in the network packet, the payload is delivered to a second destination selected based on the service function indicator in the plurality of labels.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present patent application relates to service function chaining in a wireless communication network. Background Art

[0002] The delivery of end-to-end services often requires a variety of service functions, ranging from traditional firewalls and IP Network Address Translators (NATs) to application-specific functions. Packets are often directed to follow a specific order through a collection of service functions before reaching their destination. The definition and instantiation of an ordered set of service functions and the subsequent traffic direction through the service functions can be referred to as Service Function Chaining (SFC). Summary of the invention

[0003] This patent application describes, inter alia, load balancing and operation, administration and maintenance (OAM) in a service function chain using a Multiprotocol Label Switching (MPLS) forwarding plane.

[0004] In some embodiments of the disclosed technology, a message processing method includes: based on the presence of an indicator tag among the multiple tags, processing a network message including multiple tags, so that: when the indicator tag exists in the network message, the indicator tag is used to determine a first destination of a payload of the network message, and when the indicator tag does not exist in the network message, the payload is passed to a second destination selected based on a service function indicator among the multiple tags.

[0005] In some embodiments of the disclosed technology, a data communication method includes: receiving a data packet including a payload and a plurality of labels, the plurality of labels including a service path identifier label and a service function label; determining whether the plurality of labels include at least one of a first label indicating a channel for exchanging a test message or a second label including load balancing information; delivering the data packet to a service function selected based on at least one of the service path identifier label or the service index label; and upon determining that the plurality of associated labels include at least one of a first label and a second label, delivering the data packet to a destination determined based on at least one of the first label and the second label.

[0006] In another exemplary aspect, the method described above and / or the method described in the present patent application is embodied in the form of processor executable code and stored in a computer readable program medium. The computer readable program is stored on a non-transitory computer readable medium, and the computer readable program includes code that, when executed by a processor, causes the processor to implement the method described in the present patent application.

[0007] In yet another exemplary embodiment, a device is disclosed, which is configured or operable to perform the method described above and / or the method described in this patent application.

[0008] The above and other aspects and embodiments thereof are described in more detail in the drawings, the description and the claims. BRIEF DESCRIPTION OF THE DRAWINGS

[0009] Figure 1 An example of a service function chain (SFC) reference model is shown.

[0010] Figure 2A An example of a basic unit of a Multi-Protocol Label Switching (MPLS) label stack for SFC is shown.

[0011] Figure 2B Another example of a basic unit of a Multi-Protocol Label Switching (MPLS) label stack for SFC is shown.

[0012] Figure 2C Another example of a basic unit of a Multi-Protocol Label Switching (MPLS) label stack for SFC is shown.

[0013] Figure 3 An example flow chart for processing the operations of a base unit in a swap method is shown.

[0014] Figure 4 An example flow chart of operations for processing a base unit in a stacking approach is shown.

[0015] Figure 5 An example flow chart of the operation of a basic unit for processing a Special Purpose Label (SPL) is shown.

[0016] Figure 6 An example flow chart for processing the operation of an SPL block is shown.

[0017] Figure 7 An exemplary block diagram of a hardware platform that may be part of a network device is shown.

[0018] Figure 8 Examples of message processing methods based on some example embodiments of the disclosed technology are shown.

[0019] Fig. 9 Examples of data communication methods based on some example embodiments of the disclosed technology are shown. DETAILED DESCRIPTION

[0020] Since the initial deployment of the Internet, the amount of data processed by the Internet infrastructure worldwide has exploded. As such, many improvements have been made to the original Internet framework to allow efficient data transmission over a wide geographic network. An example Internet technology is called "service function chaining," which is used to control message routing through applicable network functions. A network consists of devices that process messages and links connecting these devices. In the past, only physical devices were used, and adding new functions (e.g., firewalls, NAT, or routing) required new chassis or upgrading existing chassis. With the advent of the virtualization (Network Function Virtualization, NFV) model of the network, an alternative solution has emerged. The chassis has been decomposed into functional components that are implemented as software applications running on general-purpose servers (sometimes with hardware assistance to improve performance). Service function chaining (SFC) provides a method for navigating messages through these virtual network functions to achieve processing equivalent to that performed in a sequence of physical network devices.

[0021] Figure 1 An example of a service function chain (SFC) reference model is shown.

[0022] Service function chaining involves the definition and instantiation of an ordered set of network functions and the subsequent data flow routing through them. Service function chaining defines an ordered set of abstract service functions and the ordering constraints that must be applied to packets, frames and / or flows selected as a result of classification. Such a service function chain includes a classifier, a service function forwarder (SFF) and a service function (SF). Figure 1 As shown, the service function chain can use different types of service functions (e.g., SFs of types A, B, and C). In some embodiments, more than one instance of a service function can be connected to a service function forwarder. For example, two instances of service function A (SF A, SF A') and two instances of service function C (SF C, SF C') are connected to a first service function forwarder (SFF 1) and a third service function forwarder (SFF 3), respectively.

[0023] In some embodiments, service function chaining (SFC) can be implemented using a network service header (NSH). The network service header (NSH) can be applied to a message or frame to implement service function paths (SFPs). The network service header also provides a mechanism for metadata exchange along an instantiated service path. The network service header can be a service function chain encapsulation required to support the service function chaining architecture.

[0024] In this patent application, the term "network service" is used to indicate a product provided by an operator that is delivered using one or more service functions. In the context of this patent application, the term "service" is used to mean a "network service".

[0025] In some embodiments, the network service header includes a basic header, one or more service path headers, and one or more context headers. The basic header may include a next protocol field to identify the type of payload immediately following the network service header. A service path identifier (SPI) may be used to uniquely identify a service function path (SFP).

[0026] A set of Operations, Administration, and Maintenance (OAM) protocols provide fault management and performance monitoring as part of the FCAPS (Fault, Configuration, Accounting, Performance, Security) model of network management. Such OAM protocols can be classified by their use of specially constructed messages. Active OAM methods rely on the use of generated and injected network test messages to detect defects and / or measure network performance. A complete set of OAM protocols is essential for the operation of the network, whether it is the underlying network or the upper layer network.

[0027] Service Function Chaining (SFC) can be implemented in a Multi-Protocol Label Switching (MPLS) network through the logical representation of the Network Service Header (NSH) in the MPLS label stack. That is, even if the NSH is not used, the fields of the NSH are mapped to the fields in the MPLS label stack.

[0028] When MPLS label stack is used to carry logical NSH, the basic representation unit is used. The basic unit can replicate the NSH semantics and implement the service function chain (SFC) on the MPLS forwarding plane (SFC-MPLS).

[0029] The disclosed techniques may be used in some implementations to provide a mechanism to support OAM protocols at the service function path (SFP) layer while using the MPLS data plane between different service function forwarders (SFFs).

[0030] Figure 2A An example of a basic unit of a Multi-Protocol Label Switching (MPLS) label stack for a Service Function Chain (SFC) is shown. Figure 2B Another example of a basic unit of an MPLS label stack for SFC is shown. Figure 2C Another example of a basic unit of an MPLS label stack for SFC is shown.

[0031] like Figure 2A-2C As shown, the basic unit may include a label field, a TC bit, an S bit, and a TTL field. The label field of the basic unit may include a service function chain (SFC) context label and a service function (SF) label, and the interpretation of the SFC context label and the SF label depends on whether the transport label is switched or stacked. If the switching method is used between SFFs, a single basic unit can implement SFC.

[0032] like Figure 2A As shown, the basic unit may include an SFC context label, an SF label, a traffic class (TC) field, a stack bottom (S) bit, and a time-to-live (TTL) field. In the example, the TTL field can be used to indicate the maximum number of service function forwarder (SFF) hops of a service function path (SFP). The TTL field can also be used for service plane loop detection. The TTL in the SF label stack entry can be set according to its use for MPLS label switching or MPLS label stack. In some embodiments, when a router forwards a message, it will reduce the TTL by at least one. If the router stores the message for more than one second, it may decrement the TTL by one per second. In this way, TTL can be used as a time count.

[0033] The TC field can be used to indicate Quality of Service (QoS) priority and explicit congestion notification. The S bit can be set according to its position in the label stack. For example, for the last entry in the label stack (i.e., for the bottom of the stack), the S bit can be set to 1, while for all other label stack entries, the S bit can be set to 0.

[0034] In some embodiments, the basic unit may include a Generic Associated Channel Label (GAL) arranged between a service function chain (SFC) context label and a service function (SF) label. In one example, the GAL has a reserved MPLS label value, which can be used to identify the presence of an associated channel header, and a Generic Associated Channel (G-Ach) can be identified by setting the value of the S field to "1".

[0035] In some embodiments, the basic unit may include an entropy label indicator (ELI) and an entropy label (EL) arranged between a service function chain (SFC) context label and a service function (SF) label. The ELI is used to indicate the presence of the EL, and in some embodiments, the EL can be used in MPLS to improve load balancing by providing entropy. For example, a router calculates a hash based on several fields from a given message and puts the result into an entropy label, which can be used as part of a hash key.

[0036] Figure 3 An example flow chart 300 of operations for processing a base unit in a swap method is shown.

[0037] In an example scenario of exchanging transmission labels, the SFC context label field contains a service path identifier (SPI) label, and the service function (SF) label field of the basic unit contains a service index (SI) label. In another example scenario where the label stack method is used to transmit messages between service function forwarders (SFFs), the basic unit for each SFF is inserted in the label stack. In some embodiments, the value of the TTL field of the SF label element is not parsed, but the value of the SF label itself is decremented.

[0038] In some implementations, a Generic Associated Label (GAL) may be used to identify a Generic Associated Channel (G-Ach), which may be used to carry control and management information (including OAM test messages).

[0039] Entropy Label Indicator (ELI) and entropy labels can be used to improve load balancing in MPLS networks and can also be used for segment routing tunnels in networks with MPLS data planes.

[0040] In some embodiments, Figure 3 As shown, the operations for processing the basic unit in the switching method may include: at operation 310, determining whether the SPI tag exists in the basic unit label stack associated with the message; at operation 320, when it is determined that the SPI tag exists, performing a lookup operation based on the SI tag; at operation 330, passing the message to the SF instance; and at operation 340, decrementing the TTL value in the SI label.

[0041] Figure 4 An example flow chart 400 of operations for processing a base unit in a stacking approach is shown.

[0042] In some embodiments, an operation for processing a basic unit in a stack method may include: at operation 410, determining whether an SFC context tag exists in a basic unit label stack associated with a message; at operation 420, when it is determined that the SFC context tag exists, performing a lookup operation based on the SFC context tag; at operation 430, passing the message to an SF instance; and at operation 440, decrementing the value of the SF tag.

[0043] Figure 5 An example flow chart 500 of the operation of a base unit for processing a Special Purpose Label (SPL) is shown.

[0044] The behavior requirements for instances of the basic unit used to represent a specific SFP are as follows: Figure 3 When the SFC context label value is shown, the service function forwarder (SFF) passes the payload to the service function (SF) instance as a specific network function (NF) interface. However, if the payload is an OAM message generated for monitoring the SFP, the NF will likely not recognize it and may discard it completely, resulting in a false negative defect detection state. The disclosed technology can be used in some embodiments to avoid false negatives in defect detection on SFPs using an MPLS forwarding plane (SFC-MPLS). In some embodiments of the disclosed technology, such as Figure 5 As shown, special purpose labels (SPL) may be used to process blocks.

[0045] In some embodiments, an operation for processing a basic unit with a special purpose label (SPL) includes: at operation 510, determining whether a service path identifier (SPI) label is present in a basic unit label stack associated with a packet; at operation 520, when it is determined that the SPI label is present, determining whether the SPL is present in the packet; at operation 530, when it is determined that the SPL is not present, performing a lookup operation based on the SI label; at operation 540, passing the packet to an SF instance; at operation 550, decrementing a TTL value in the SI label; and at operation 560, when it is determined that the SPL is present in the packet, performing SPL processing.

[0046] Figure 6 An example flow chart for processing the operation of an SPL block is shown.

[0047] In some embodiments, when a GAL is detected in a base unit, a message may be determined to be a test message, and the message may be passed to process the message as a test message. If the SPL in the base unit label stack is a GAL, the payload is not passed to the Service Function Instance (SFI), but is processed by decrementing the TTL value of the SFL. If the TTL value is equal to 0 after decrement, the payload is passed to the control plane of the SFF to process the test message associated with the GAL in the base unit.

[0048] In some embodiments, upon detecting the insertion of ELI and entropy labels in the basic unit, the packet can be processed to improve load balancing in the MPLS network. By inserting ELI and entropy labels in the basic unit, the operator can control the load balancing between SFs of the same type connected to the same SFF. For example, Figure 1 The service function chain in includes two SFFs connected to more than one SF. In this scenario, the controller that programs the label stack can select the value of the entropy label to balance the load between SF A and SF A' and between SF C and SF C'.

[0049] In some embodiments, an operation for processing an SPL block includes: at operation 610, determining whether an SPL in a basic unit stack corresponds to a GAL; at operation 620, when it is determined that the SPL does not correspond to the GAL, determining whether the SPL corresponds to an EPI; at operation 630, when it is determined that the SPL corresponds to the EPI, passing a message to an SF instance based on an entropy tag value; at operation 640, when it is determined that the SPL does not correspond to the EPI, discarding the message as an unknown SPL.

[0050] At operation 650, when it is determined that the SPL corresponds to the GAL, the TTL value of the SF label element is decremented; at operation 660, it is determined whether the current TTL value is zero (0); at operation 670, when it is determined that the TTL value is not all zero (0), the message is sent to the next SFF; and at operation 680, when it is determined that the TTL value is all zero (0), the message is sent to the local control plane.

[0051] In some embodiments of the disclosed technology, a base unit may be used for an optional special purpose, or an extended special purpose tag may be inserted into the base unit.

[0052] In some implementations of the disclosed technology, the GAL may be inserted into the basic unit to control how the SFF processes the payload of the SFC-MPLS message.

[0053] In some embodiments of the disclosed technology, the SFF behavior may be modified to process the basic unit to determine the destination of the message instead of passing the payload to the SF instance mapped to the SFF.

[0054] In some embodiments of the disclosed technology, a combination of the GAL and the TTL field of the SF tag may be used to track the SFF of a given service function path (SFP).

[0055] In some embodiments of the disclosed technology, a combination of ELI and entropy tags inserted into a base unit may be used to balance the load between SFs of the same type mapped to SFFs.

[0056] Figure 7 An example block diagram of a hardware platform 700 is shown, which can be part of a network device that performs the operations discussed in this patent application. The hardware platform 700 includes at least one processor 710 and a memory 705 that stores instructions associated with the operations discussed in this patent application. The instructions, when executed by the processor 710, configure the hardware platform 700 to perform the operations described in this patent application. The transmitter 715 transmits or sends information or data packets to another communication node or device. The receiver 720 receives information or data packets transmitted or sent by another communication node or device.

[0057] Figure 8 Examples of message processing methods based on some example embodiments of the disclosed technology are shown.

[0058] In some embodiments of the disclosed technology, a message processing method includes: at 802, based on the presence of an indicator tag among the multiple tags, processing a network message including multiple tags, so that at 804, in a case where the indicator tag is present in the network message, the indicator tag is used to determine a first destination of a payload of the network message; and at 806, in a case where the indicator tag is not present in the network message, the payload is passed to a second destination selected based on a service function indicator among the multiple tags.

[0059] In some embodiments, the plurality of labels may include a service function chain (SFC) context label, a service function (SF) label, a general associated channel label (GAL), an entropy label indicator (ELI), and an entropy label (EL), as described above with reference to Figure 2A-2C As discussed. In an example, a generic associated channel label (GAL) may be an example of an indicator label, where the first destination is a control plane associated with a generic associated channel (G-ACh), which may be used to carry control and management information (including OAM test messages). In another example, an entropy label indicator (ELI) and an entropy label (EL) may be examples of indicator labels, where messages are processed to improve load balancing in an MPLS network. In some embodiments, when the entropy label indicator (ELI) and the entropy label (EL) are indicator labels present in a network message, an operator may control load balancing between service functions (SFs) of the same type connected to the same service function forwarder (SFF).

[0060] Fig. 9 Examples of data communication methods based on some example embodiments of the disclosed technology are shown.

[0061] In some embodiments of the disclosed technology, a data communication method includes: at 902, receiving a data packet including a payload and a plurality of labels, the plurality of labels including a service path identifier label and a service function label; at 904, determining whether the plurality of labels include at least one of a first label indicating a channel for exchanging a test message or a second label including load balancing information; at 906, delivering the data packet to a service function selected based on at least one of the service path identifier label or the service index label; and at 908, when determining that the plurality of associated labels include at least one of the first label and the second label, delivering the data packet to a destination determined based on at least one of the first label and the second label.

[0062] In some embodiments, the service path identifier may be a field of a basic unit used to uniquely identify a service function path (SFP). In one example, the SFC context tag field may include the service path identifier. In some embodiments, the service function tag may be a field of a basic unit including a service index (SI) tag.

[0063] In some embodiments, the first tag includes a generic associated channel tag (GAL), and the second tag includes an entropy tag indicator (ELI) and an entropy tag (EL), as described above with reference to Figure 2A-2C discussed.

[0064] When the plurality of associated labels include a first label such as a general associated channel label (GAL), the data packet is determined to be an OAM test packet and is therefore sent to the local control plane, such as Figure 6 In another example, an entropy label indicator (ELI) and an entropy label (EL) may be examples of indicator labels, wherein the packet is processed to improve load balancing in an MPLS network. When the plurality of associated labels include a second label such as an entropy label indicator (ELI) and an entropy label (EL), as Figure 6 As shown, data packets are delivered to one or more service function instances based on the entropy label value for load balancing purposes. In this way, operators can control the load balancing between service functions (SFs) of the same type connected to the same service function forwarder (SFF).

[0065] Some embodiments described herein are described in the general context of methods or processes, which in one embodiment may be implemented by a computer program product embodied in a computer-readable medium, which includes computer executable instructions such as program code executed by a computer in a networked environment. Computer-readable media may include removable and non-removable storage devices, including but not limited to read-only memory (ROM), random access memory (RAM), compact discs (CD), digital versatile discs (DVD), etc. Therefore, computer-readable media may include non-transitory storage media. Generally, program modules may include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. Computer or processor executable instructions, associated data structures, and program modules represent examples of program codes for executing the steps of the methods disclosed herein. Specific sequences of these executable instructions or associated data structures represent examples of corresponding actions for implementing the functions described by such steps or processes.

[0066] Some of the disclosed embodiments may be implemented as devices or modules using hardware circuits, software or a combination thereof. For example, a hardware circuit implementation may include discrete analog and / or digital components, which are, for example, integrated as a part of a printed circuit board. Alternatively or additionally, the disclosed components or modules may be implemented as application specific integrated circuits (ASIC) and / or field programmable gate arrays (FPGA) devices. Some embodiments may additionally or alternatively include a digital signal processor (DSP), which is a specialized microprocessor with an architecture optimized for the operation needs of digital signal processing associated with the functions disclosed in the present application. Similarly, various components or subcomponents within each module may be implemented with software, hardware or firmware. Connectivity between modules and / or components within a module may be provided using any of connection methods and media known in the art, including but not limited to communication using appropriate protocols over the Internet, wired or wireless networks.

[0067] Some embodiments may implement one or more of the following solutions listed in clause format.In the above examples and throughout this application, the following clauses are supported and further described.

[0068] Clause 1. A method of processing a message, comprising: processing a network message including a plurality of tags based on the presence of an indicator tag in the plurality of tags. The specific tasks performed in the processing may depend on whether the indicator tag is present in the network message. For example, reference Figure 2A-2C Various embodiments of indicator tags are described. The processing can be such that, in the event that the indicator tag is present in a network message, the indicator tag is used to determine a first destination for a payload of the network message, and in the event that the indicator tag is not present in the network message, the payload is delivered to a second destination selected based on a service function indicator in the plurality of tags.

[0069] Clause 2. The method of clause 1, wherein the network message comprises an operations, administration, and maintenance (OAM) network test message generated to monitor a service function path. The OAM network test message may be identified by a special message type.

[0070] Clause 3. The method of clause 1, wherein the second destination includes a service function selected based on the service function indicators in the plurality of tags. Figure 1 Several example embodiments of service functionality are described.

[0071] Clause 4. The method of clause 3, wherein the service function indicator comprises at least one of a service function (SF) tag or a service function chain (SFC) context tag.

[0072] Clause 5. The method of clause 4, wherein the service function is selected based on a service index tag in a service function (SF) tag.

[0073] Clause 6. The method according to clause 5 further comprises: when delivering the load to the selected service function, decrementing the lifetime value of the service index label in the service function (SF) label. As described above, the lifetime value can be used as a time count and can be the basis for determining whether to send the message to the next service function forwarder or the local control plane, as described above with reference to Figure 6 discussed.

[0074] Clause 7. The method of clause 4, wherein the service function is selected based on a service function chain (SFC) context tag.

[0075] Clause 8. The method according to clause 7, further comprising: decrementing the value of the service function label when delivering the payload to the selected service function. For example, after delivering the message to the service function instance, the value in the TTL field of the service function label stack entry is decremented.

[0076] Clause 9. A method according to clause 1, wherein the multiple labels are assigned to the load and include a service function (SF) label and a service function chain (SFC) context label, wherein the indicator label, the service function (SF) label and the service function chain (SFC) context label are stacked on top of each other, and wherein the indicator label is arranged between the service function label and the service function chain context label.

[0077] Clause 10. A method according to clause 2, wherein the indicator tag includes a generic association tag (GAL) to indicate a generic association channel over which the OAM test message is exchanged. In some embodiments, a control plane associated with a generic association channel (G-ACh) may be used to carry control and management information (including OAM test messages). If the indicator tag includes the GAL, the message may be considered an OAM test message and it may be exchanged over the generic association channel (G-ACh).

[0078] Clause 11. The method of clause 10, wherein the first destination comprises a serving function forwarder different from the current serving function forwarder.

[0079] Clause 12. The method of clause 10, wherein the first destination comprises a control plane associated with a current serving function forwarder.

[0080] Clause 13. The method of clause 1, wherein the indicator tag comprises an entropy tag indicator (ELI) and an entropy tag.

[0081] Clause 14. The method of clause 13, wherein the first destination comprises a service function selected based on at least one of an entropy label indicator (ELI) and an entropy label.

[0082] Clause 15. A data communication method, comprising: receiving a data packet including a payload and a plurality of labels, the plurality of labels including a service path identifier label and a service function label; determining whether the plurality of labels include at least one of a first label indicating a channel for exchanging a test message or a second label including load balancing information; delivering the data packet to a service function selected based on at least one of the service path identifier label or the service index label; and upon determining that the plurality of associated labels include at least one of the first label and the second label, delivering the data packet to a destination determined based on at least one of the first label and the second label.

[0083] Clause 16. The method of clause 15, wherein the data message comprises an operations, administration, and maintenance (OAM) test message, the OAM network test message being generated to monitor a service function path.

[0084] Clause 17. The method according to clause 16 further includes: when it is determined that the multiple associated labels include a first label indicating a channel for exchanging test messages, decrementing the lifetime value of the service index label in the service function label.

[0085] Clause 18. The method of clause 17, wherein the first label comprises a generic association label (GAL) configured to indicate a generic association channel over which the OAM test messages are exchanged.

[0086] Clause 19. The method according to Clause 18 further includes: decrementing the time-to-live (TTL) value of the service index label; and when the TTL value reaches zero after decrementing the TTL value of the service index label, passing the OAM test message to the control plane of the service function forwarder; or when the TTL value does not reach zero, passing the OAM test message to the next service function forwarder.

[0087] Clause 20. The method of clause 15, wherein the second label comprises an entropy label indicator (ELI) and an entropy label.

[0088] Clause 21. The method according to clause 20 further includes: when it is determined that the multiple associated tags include the second tag: selecting a service function as the destination based on the value of the entropy tag; and passing the data packet to the selected service function.

[0089] Clause 22. The method of clause 21, wherein the selection of the service function is based on load balancing between multiple service functions of the same type mapped to the service function forwarder.

[0090] Clause 23. The method of clause 15, further comprising: upon determining that the plurality of associated tags do not include any of the first tag and the second tag, discarding the data packet.

[0091] Clause 24. An apparatus for wireless communication, comprising a memory and a processor, wherein the processor reads code from the memory and implements the method of any one of clauses 1 to 23.

[0092] Clause 25. A computer-readable program storage medium having stored thereon code which, when executed by a processor, causes the processor to implement the method according to any one of clauses 1 to 23.

[0093] The embodiments discussed in this patent application can be used to implement various message processing methods and data communication methods that enable a service function forwarder in a data communication network implementing a service function linking technique to identify OAM test messages and other messages including dedicated information to determine the destination or use of the message based on its special purpose. In this way, the message processing methods and data communication methods implemented based on some embodiments of the disclosed technology can avoid potentially generating a false negative defect detection state, which would otherwise occur if the message had been delivered to a fixed destination regardless of the special purpose of the message.

[0094] Although this document contains many details, these details should not be interpreted as limitations on the scope of the claimed invention or the content that may be claimed, but rather as descriptions of features specific to a particular embodiment. Certain features described in the context of a separate embodiment in this application may also be implemented in combination in a single embodiment. On the contrary, the various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments. In addition, although features may be described above as working in certain combinations, and even initially claimed as such, in some cases, one or more features from the claimed combination may be deleted from the combination, and the claimed combination may be for a variation of a sub-combination or a sub-combination. Similarly, although each operation is depicted in a particular order in the accompanying drawings, this should not be understood as requiring these operations to be performed in the particular order shown or in a continuous order, or all operations shown to be performed, to achieve the desired result.

[0095] Only a few implementations and examples are described, and other implementations, enhancements, and variations may be made based on what is described and illustrated in this disclosure.

Claims

1. A message processing method, comprising: Based on whether an indicator tag for indicating that the message is a test message exists among the multiple tags, processing the message including the payload and the multiple tags; When determining that the indicator tag exists to indicate that the message is a test message, continue processing the message without delivering the message to the destination; When it is determined that the indicator tag does not exist to indicate that the message is not a test message, the message is delivered to the destination.

2. The method according to claim 1, wherein: The test message includes an operations, administration and maintenance (OAM) network test message, and the OAM network test message is generated to monitor a service function path.

3. The method according to claim 1, wherein: The destination includes a service function selected based on the service function indicators in the plurality of tags.

4. The method according to claim 3, wherein: The service function indicator includes at least one of a service function (SF) tag or a service function chain (SFC) context tag.

5. The method according to claim 4, wherein: The service function is selected based on a service index tag in a service function (SF) tag.

6. The method according to claim 5, further comprising: When the payload is delivered to the selected service function, the lifetime value of the service index tag in the service function (SF) tag is decremented.

7. The method according to claim 4, wherein: The service function is selected based on a service function chain (SFC) context tag.

8. The method according to claim 7, further comprising: When the payload is passed to the selected service function, the value of the service function (SF) tag is decremented.

9. The method according to claim 1, wherein: The multiple labels are assigned to the payload and include a service function (SF) label and a service function chain (SFC) context label, wherein the indicator label, the service function (SF) label and the service function chain (SFC) context label are stacked on top of each other, and wherein the indicator label is placed between the service function label and the service function chain context label.

10. The method according to claim 2, wherein: The indicator tags include a Generic Association Label (GAL) to indicate a Generic Association Channel on which the OAM network test message is exchanged.

11. The method according to claim 10, wherein: The destination comprises a serving capability forwarder different from the current serving capability forwarder.

12. The method according to claim 10, wherein: The destination includes a control plane associated with a current serving function forwarder.

13. The method according to claim 1, wherein: The indicator label includes an entropy label indicator (ELI) and an entropy label.

14. The method according to claim 13, wherein: The message is delivered to a service function selected based on at least one of an entropy label indicator (ELI) and an entropy label.

15. A data communication method, comprising: receiving a message including a payload and a plurality of labels, the plurality of labels including a service path identifier label and a service function label; determining whether the plurality of labels include at least one of a first label indicating a channel for exchanging test messages or a second label including load balancing information; When determining that the first tag exists to indicate that the message is a test message, processing the message without delivering the message to a destination; as well as When it is determined that the first tag does not exist to indicate that the message is not a test message, the message is delivered to the destination.

16. The method according to claim 15, wherein: The message includes an operations, administration and maintenance (OAM) network test message, which is generated to monitor a service function path.

17. The method according to claim 16, further comprising: When the payload is transferred to the selected service function, the lifetime value of the service index tag in the service function tag is decremented.

18. The method according to claim 17, wherein: The first label includes a Generic Association Label (GAL) configured to indicate a Generic Association Channel on which the OAM network test message is exchanged.

19. The method according to claim 18, further comprising: Decrement the TTL value of the service index label; as well as When the TTL value of the service index label reaches zero after decrementing the TTL value of the service index label, delivering the OAM network test message to a control plane of a service function forwarder; or When the TTL value does not reach zero, the OAM network test message is transferred to the next service function forwarder.

20. The method according to claim 15, wherein: The second label includes an entropy label indicator (ELI) and an entropy label.

21. The method according to claim 20, further comprising: When it is determined that the plurality of associated tags include the second tag: selecting a service function as a destination based on the value of the entropy tag; and The message is passed to the selected service function.

22. The method according to claim 21, wherein: The selection of the service function is based on load balancing between multiple service functions of the same type mapped to the service function forwarders.

23. The method of claim 15, further comprising: When it is determined that the plurality of associated labels do not include any one of the first label and the second label, the message is discarded.

24. An apparatus for wireless communication, comprising a memory and a processor, wherein: The processor reads code from the memory and implements the method according to any one of claims 1 to 23.

25. A computer-readable program storage medium having stored thereon codes which, when executed by a processor, cause the processor to implement the method according to any one of claims 1 to 23.

Citation Information

Patent Citations

  • Methods and arrangement in a mpls-tp telecommunications network for oam functions

    CN102577260A

  • Techniques for decreasing multiprotocol label switching entropy label overhead

    US20170366461A1