Service chain processing method and device, equipment, storage medium and program product

By parsing the segment identifier (SID) in the service flow, application and network capability identifiers can be obtained, and outgoing interface or IP address can be retrieved. This solves the problems of high SID quantity and routing complexity, and simplifies SIDs and optimizes routing.

CN122053460APending Publication Date: 2026-05-15CHINA MOBILE COMM LTD RES INST +1
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
CHINA MOBILE COMM LTD RES INST
Filing Date
2024-11-13
Publication Date
2026-05-15

AI Technical Summary

Technical Problem

The traditional segment identifier (SID) method for service chains based on Internet Protocol version 6 (SRV6) requires assigning SIDs to each service and each user and publishing related routes, resulting in a high number of SIDs and high routing complexity.

Method used

By receiving and parsing the segment identifier (SID) in the service flow, application and network capability identifiers can be obtained, and the outgoing interface or IP address corresponding to the service function (SF) indicated by the identifier can be obtained, thereby reducing the coupling between the SID and the service and reducing routing complexity.

Benefits of technology

This implements the SID as a network path identifier only, reducing the number of SIDs and routing complexity, and simplifying the allocation of SIDs and routes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122053460A_ABST
    Figure CN122053460A_ABST
Patent Text Reader

Abstract

The invention provides a service chain processing method and device, equipment, a storage medium and a program product, and relates to the technical field of communication, the method is applied to first equipment, the first equipment is gateway entrance equipment of a service chain, and the method comprises the following steps: receiving a service flow and analyzing an SID in the service flow; under the condition that the SID is analyzed to obtain a first function, an IPv6 message in the service flow is analyzed to obtain an application and network capability identifier; wherein the application and network capability identifier is used for indicating a service function (SF); and obtaining an outbound interface or an IP address to a next hop node corresponding to the SF indicated by the application and network capability identifier. Therefore, the service flow can be forwarded based on the outbound interface or the IP address, so that the SID is only used as the identifier of the network path, the coupling degree of the SID and the service is reduced, the number of the SID is reduced, and the routing complexity is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communication technology, and in particular to a service chain processing method, apparatus, equipment, storage medium, and program product. Background Technology

[0002] The traditional segment identifier (SID) method for Internet Protocol version 6 (IPv6) service chains requires assigning an SID to each service (including each service function (SF) and each user) and publishing related routes, which results in a high number of SIDs and high routing complexity. Summary of the Invention

[0003] This application provides a business chain processing method, apparatus, device, storage medium, and program product, which solves the problem that the current method of allocating SIDs and publishing related routes for each business has a high number of SIDs and high route complexity.

[0004] In a first aspect, to achieve the above objectives, embodiments of this application provide a service chain processing method applied to a first device, wherein the first device is a gateway entry device for the service chain, and the method includes:

[0005] Receive the service flow and parse the segment identifier (SID) in the service flow;

[0006] If the first function is obtained by parsing the SID, the Internet Protocol version 6 (IPv6) packets in the service flow are parsed to obtain the application and network capability identifier; wherein, the application and network capability identifier is used to indicate the service function SF.

[0007] Obtain the outgoing interface or IP address of the next-hop node corresponding to the SF indicated by the application and network capability identifier.

[0008] Specifically, parsing the Internet Protocol version 6 (IPv6) packets in the service flow to obtain application and network capability identifiers includes:

[0009] The extended option header of the IPv6 packet is parsed to obtain the application and network capability identifiers carried in the extended option header.

[0010] The process of obtaining the outgoing interface or IP address to the next-hop node corresponding to the SF indicated by the application and network capability identifier includes:

[0011] In the first association table, find the outgoing interface or IP address to the next-hop node corresponding to the SF indicated by the application and network capability identifier; wherein, the first association table includes: the association between the SF and the destination IP address or the association between the SF and the virtual interface.

[0012] The method further includes at least one of the following:

[0013] Receive the first association table sent by the controller device;

[0014] Obtain the first association table of static configuration.

[0015] The method further includes:

[0016] If the SF node in the service chain does not support IPv6 and IPv6-based segment routing SRv6, the first information is cached. The first information includes the segment routing header SRH and the application and network capability identifiers corresponding to the SRH. The first information is issued by the controller device or statically configured.

[0017] The method further includes:

[0018] The first information is synchronized to the second device, which is the gateway exit device of the business chain.

[0019] The method further includes:

[0020] The service flow is forwarded from the outgoing interface or IP address to the next-hop node.

[0021] Forwarding service flows from the outgoing interface or IP address to the next-hop node includes:

[0022] If the SF node in the service chain does not support IPv6 and SRv6, and the service flow is forwarded using a segmented tunneling method, the IPv6 packets parsed from the received service flow are tunnel encapsulated to obtain the service flow to be forwarded.

[0023] The service flow to be forwarded is sent from the outgoing interface or IP address to the target tunnel, the starting point of the target tunnel is the first device, and the ending point of the target tunnel is the next hop node.

[0024] The method further includes:

[0025] If the first device is also the gateway egress device of the service chain, and the SF node in the service chain does not support IPv6 and SRv6, if the second function is obtained by parsing the SID, then according to the cached first information, the SRH corresponding to the obtained application and network capability identifier is written into the returned message; the first information includes the SRH and the application and network capability identifier corresponding to the SRH.

[0026] The method further includes: if the first device is also the gateway egress device of the service chain, and the SF node in the service chain supports IPv6 but does not support SRv6, if the third function is obtained by parsing the SID, then according to the cached first information, the SID[0] in the SRH corresponding to the obtained application and network capability identifier is updated to the destination address DA field; the first information includes the SRH and the application and network capability identifier corresponding to the SRH.

[0027] The method further includes:

[0028] If an SF node anomaly or link failure is detected, and the fourth function is obtained by parsing the SID, the service flow will be forwarded to the node corresponding to the next SID adjacent to the parsed SID.

[0029] Send second information to the source node and / or controller device of the service chain, the second information including the situation of abnormal SF node or link failure.

[0030] Secondly, to achieve the above objectives, embodiments of this application provide a business chain processing method applied to a controller device, comprising:

[0031] A list of SIDs is sent to the source node of the service chain. The SIDs in the list corresponding to the first device carry a first function in their function field. The first function is used to instruct the first device to parse the IPv6 packets in the service flow and obtain application and network capability identifiers. The application and network capability identifiers are used to indicate SF. The source node of the service chain is used to send the service flow to the first device. The first device is the gateway entry device of the service chain.

[0032] The method further includes:

[0033] Send a first association table to the first device. The first association table includes: the association between SF and destination IP address or the association between SF and virtual interface.

[0034] The method further includes:

[0035] Send first information to the first device, or send first information to both the first device and the second device; wherein,

[0036] The first information includes an SRH and the application and network capability identifiers corresponding to the SRH, and the second device is the egress device of the service chain.

[0037] The method further includes:

[0038] Receive second information sent by the first device, the second information including the situation of abnormal SF node or link failure.

[0039] Thirdly, to achieve the above objectives, embodiments of this application provide a service chain processing method applied to a second device, the second device being a gateway egress device for the service chain, the method comprising:

[0040] Obtain first information; wherein, the first information includes an SRH and an application and network capability identifier corresponding to the SRH, the application and network capability identifier being used to indicate an SF;

[0041] If the SF node in the service chain does not support IPv6 and SRv6, the header of the received service flow is restored according to the first information and the first association table.

[0042] The process of restoring the message header in the received service flow based on the first information and the first association table includes:

[0043] Based on the first association table, obtain the application and network service capabilities corresponding to the outgoing interface or IP address that forwards the service flow; wherein, the first association table includes: the association between SF and destination IP address or the association between SF and virtual interface;

[0044] Based on the first information and the obtained application and network service capabilities, the message header in the service flow is restored.

[0045] Among them, obtaining the first information includes:

[0046] Receive the first information sent by the controller device, or,

[0047] The system receives the first information synchronized by a first device, where the first device is the gateway entry device of the service chain.

[0048] Fourthly, to achieve the above objectives, embodiments of this application provide a service chain processing apparatus applied to a first device, wherein the first device is a gateway entry device for the service chain, and the apparatus includes:

[0049] The first receiving module is used to receive the service flow and parse the segment identifier (SID) in the service flow;

[0050] The parsing module is used to parse the Internet Protocol version 6 (IPv6) packets in the service flow to obtain the application and network capability identifier, provided that the first function is obtained by parsing the SID; wherein the application and network capability identifier is used to indicate the service function SF.

[0051] The first acquisition module is used to acquire the outgoing interface or IP address of the next-hop node corresponding to the SF indicated by the application and network capability identifier.

[0052] Fifthly, to achieve the above objectives, embodiments of this application provide a business chain processing apparatus applied to a controller device, comprising:

[0053] The first sending module is used to send a SID list to the source node of the service chain. The SID in the SID list corresponding to the first device carries a first function in its function field. The first function is used to instruct the first device to parse the IPv6 packets in the service flow and obtain the application and network capability identifier. The application and network capability identifier is used to indicate the SF. The source node of the service chain is used to send the service flow to the first device. The first device is the gateway entry device of the service chain.

[0054] Sixthly, to achieve the above objectives, embodiments of this application provide a service chain processing apparatus applied to a second device, the second device being a gateway egress device for the service chain, the apparatus comprising:

[0055] An acquisition module is used to acquire first information; wherein, the first information includes an SRH and an application and network capability identifier corresponding to the SRH, and the application and network capability identifier is used to indicate an SF;

[0056] The recovery module is used to recover the packet header in the received service flow based on the first information and the first association table, when the SF node in the service chain does not support IPv6 and SRv6.

[0057] In a seventh aspect, to achieve the above objectives, embodiments of this application provide a service chain processing device, including a transceiver, a processor, a memory, and a program stored in the memory and executable on the processor; when the processor executes the program, it implements the service chain processing method as described in the first aspect, or implements the service chain processing method as described in the second aspect, or implements the service chain processing method as described in the third aspect.

[0058] Eighthly, to achieve the above objectives, embodiments of this application provide a readable storage medium having a program or instructions stored thereon, which, when executed by a processor, implement the business chain processing method as described in the first aspect, or implement the business chain processing method as described in the second aspect, or implement the business chain processing method as described in the third aspect.

[0059] Ninthly, to achieve the above objectives, embodiments of this application provide a computer program product, including computer instructions, which, when executed by a processor, implement the business chain processing method as described in the first aspect, or implement the business chain processing method as described in the second aspect, or implement the business chain processing method as described in the third aspect.

[0060] The beneficial effects of the above technical solution in this application are as follows:

[0061] In the service chain processing method of this application's embodiments, firstly, a service flow is received and the segment identifier (SID) in the service flow is parsed; secondly, if a first function is obtained by parsing the SID, the Internet Protocol version 6 (IPv6) packets in the service flow are parsed to obtain application and network capability identifiers (SFs); wherein, the application and network capability identifiers are used to indicate service functions (SFs); and the outgoing interface or IP address corresponding to the SF indicated by the application and network capability identifier to the next-hop node is obtained. In this way, service flow forwarding can be performed based on the outgoing interface or IP address. Thus, the SID only serves as an identifier for the network path, reducing the coupling between the SID and the service, thereby eliminating the need to allocate an SID for each service, reducing the number of SIDs, and lowering routing complexity. Attached Figure Description

[0062] Figure 1 A schematic diagram of existing ARN technology;

[0063] Figure 2 This is a schematic diagram of service flow transmission;

[0064] Figure 3 This is one of the flowcharts illustrating the business chain processing method in an embodiment of this application;

[0065] Figure 4 This is a second flowchart illustrating the business chain processing method according to an embodiment of this application;

[0066] Figure 5 This is the third flowchart illustrating the business chain processing method according to an embodiment of this application;

[0067] Figure 6 This is one of the structural schematic diagrams of the business chain processing device according to an embodiment of this application;

[0068] Figure 7This is a second schematic diagram of the business chain processing device according to an embodiment of this application;

[0069] Figure 8 This is the third schematic diagram of the business chain processing device according to an embodiment of this application;

[0070] Figure 9 This is a schematic diagram of the business chain processing device according to an embodiment of this application. Detailed Implementation

[0071] To make the technical problems, technical solutions and advantages of this application clearer, a detailed description will be provided below in conjunction with the accompanying drawings and specific embodiments.

[0072] It should be understood that the phrase "one embodiment" or "an embodiment" throughout the specification means that a specific feature, structure, or characteristic related to the embodiment is included in at least one embodiment of this application. Therefore, "in one embodiment" or "in an embodiment" appearing throughout the specification does not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics can be combined in any suitable manner in one or more embodiments.

[0073] In the various embodiments of this application, it should be understood that the sequence number of each process described below does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0074] In addition, the terms "system" and "network" are often used interchangeably in this article.

[0075] In the embodiments provided in this application, it should be understood that "B corresponding to A" means that B is associated with A, and B can be determined based on A. However, it should also be understood that determining B based on A does not mean that B is determined solely based on A; B can also be determined based on A and / or other information.

[0076] Before describing the embodiments of this application, the relevant technical points will be explained first:

[0077] I. SRV6 Technology:

[0078] Internet Protocol Version 6 (IPv6) Segment Routing (SRv6) is a protocol designed based on source routing principles for forwarding IPv6 packets over a network. Based on the IPv6 forwarding plane, SRv6 inserts a Segment Routing Header (SRH) into IPv6 packets, pushing an explicit IPv6 address stack onto the SRH. Hop-by-hop forwarding is achieved by intermediate nodes continuously updating the destination address and offset address stack.

[0079] Specifically: SID is used to represent the ID of the SRv6 Segment. SID includes the Locator, Function, and Argument fields.

[0080] The Locator is an identifier assigned to a network node for routing and forwarding packets. In SRv6SID, the Locator is a variable-length part to adapt to networks of different sizes. The Locator identifier has two important attributes: routable and aggregable.

[0081] A function is used to express the forwarding action to be performed by the instruction, equivalent to the opcode of a computer instruction. In SRv6 network programming, different forwarding behaviors are expressed by different functions;

[0082] Argument is an optional field used to carry parameters required when executing instructions. These parameters may contain streams, services, or any other relevant information.

[0083] Specifically, the new SRH is used to carry a sequence of SRv6 SIDs, enabling flexible programming of SRv6 network paths and various functions. The SRH can also include an optional TLV field for carrying variable-length data, providing better scalability for SRv6.

[0084] II. Service Function Chain (SFC):

[0085] SFC (Service Frame Connection) is a technology that provides ordered services at the application layer. SFC logically connects services on network devices to form an ordered service composition. SFC achieves this by adding service chain path information to the original packets, ensuring that packets pass through service devices sequentially along a specified path.

[0086] When data packets are transmitted through a network, they often need to pass through various service nodes to ensure that the network can provide users with secure, fast, and stable services according to a pre-planned schedule. These service nodes include well-known firewalls (FW), intrusion prevention systems (IPS), application accelerators, and network address translation (NAT). Network traffic needs to pass through these service nodes in a predetermined order required by business logic in order to achieve the required service.

[0087] SRv6 Traffic Engineering (TE) policies instruct network devices to follow specified paths for forwarding via segment lists, making them well-suited for traffic chaining scenarios. If a packet is redirected to an SRv6 TE policy, the SRv6 TE policy's segment list is added to the packet from the header, and the remaining network devices execute the instructions embedded in the segment list.

[0088] SF is divided into two modes: SRv6-unaware and SRv6-aware.

[0089] SRv6-aware SF: An SF node that supports SRv6 can directly connect to the Service Function Forwarder (SFF). The SF needs to publish the corresponding SID, which corresponds to the service function, hence it is called the Service SID.

[0090] SRv6-unaware SF: SF nodes that do not support SRv6 need to first deploy an SRv6 proxy between the SFF and the SRv6unaware SF to complete the processing of SRv6 messages.

[0091] SRv6 Proxy: An SRv6 proxy that forwards packets from the SRv6 network to the SRv6-unawareSF and back from the SRv6-unawareSF to the SRv6 network. Depending on the proxy type, there are various proxy Service SIDs. Specifically, these include:

[0092] End.AS: Static Proxy SID, published by the SRv6 Proxy node. The function of End.AS is to strip the SRH and send the original packet to the SF through the corresponding interface or virtual interface (such as the interface corresponding to the Virtual Local Area Network (VLAN) ID). After the packet carrying the specified VLAN ID returns from the SF to the SRv6 Proxy, the cached SRH is inserted into the returned packet according to the VLAN ID, and forwarding continues. The mapping relationship between SRH and virtual interface is generated through static configuration, hence the name Static Proxy SID.

[0093] End.AD: Dynamic Proxy SID, published by the SRv6 Proxy node. End.AD adds dynamic learning capabilities to the static proxy SID, changing the mapping relationship between SRH and virtual interface from static configuration to dynamic generation based on the SRH of received packets.

[0094] End.AM: Masquerading Proxy SID, published by the SRv6 Proxy node. The function of End.AM is to update the destination address (DA) field with the real destination address, i.e., SID[0] in the Segment List, thereby masquerading an IPv6 packet carrying the real destination address and forwarding it to SF. The packet returned by SF needs to have the next SID replaced with DA at the SRv6 Proxy and continue to be forwarded.

[0095] III. Application Response Network (APN):

[0096] With the emergence of services demanding ultra-low latency and high reliability, differentiated protection requirements have arisen for networks. However, current network capabilities, such as network slicing and flow detection, are not effectively accessible to users, hindering the provision of adequate protection for applications. Existing application-aware technologies, such as APN, place a significant burden on the network and raise concerns about user privacy. Therefore, it is necessary to research a differentiated service protection technology that is low-burden, secure, and effective, thereby comprehensively enhancing the network's ability to protect diverse services.

[0097] Based on the above problems, the following proposals are put forward: Figure 1 The overall framework of the proposed solution is shown. This solution adopts a network-centric approach, proposes APN technology, solves a series of security problems, eliminates the impact of rapidly changing applications on network stability, and enables large-scale deployment by allowing applications to actively invoke network capabilities.

[0098] This solution introduces an ARN ID field in the IP packet header, which binds the application and the network together. The ARN ID not only expresses the calling relationship between the application and the network, but also expresses the requirements for the network path, such as path constraints such as latency, packet loss, jitter, and bandwidth.

[0099] On the user side, the network carries label information identifying network capabilities through existing packet fields (IPv6 Destination Options Header (DOH)); on the network side, the network provides corresponding service guarantees by recognizing the label information and combining it with new network capabilities, such as slicing and G-SRv6 Policy.

[0100] Based on the foregoing, the existing method of assigning SIDs and publishing related routes for each service suffers from high SID quantity and route complexity. Embodiments of this application provide a service chain processing method, apparatus, device, storage medium, and program product. The embodiments of this application will now be described in detail with specific examples.

[0101] Embodiments of this application provide a service chain processing method, which is applied to a first device, the first device being a gateway entry device for the service chain, for example, the first device being a gateway (GW) (e.g.) Figure 2 The GW1 or Service Function Forwarder (SFF) node shown (e.g.) Figure 2 As shown in SFF1), where GW specifically refers to a cloud boundary gateway, such as... Figure 3 As shown, the method includes:

[0102] Step 301: Receive the service flow and parse the segment identifier (SID) in the service flow.

[0103] In step 301 above, the service flow received by the first device is sent by the source node of the service chain. Wherein, with Figure 2 Taking the service chains marked ①②③ as an example, the source node is a Software Defined Wide Area Network (SD-WAN) user, which can be a Customer Premise(s) Equipment (CPE).

[0104] Step 302: If the first function is obtained by parsing the SID, the IPv6 packets in the service flow are parsed to obtain the application response network identifier; wherein, the application and network capability identifier is used to indicate the service function SF. Here, the application and network capability identifier can be represented by an ARN ID, where the SF indicated by the application and network capability can specifically be a value-added service, for example, one or more value-added services purchased by the user. In addition, the "application and network capability" in the "application and network capability identifier" can specifically be the application's call to network functions and / or the network's ability to open up to the application.

[0105] In step 302 above, the first function is used to instruct the first device to parse the IPv6 packets in the service flow. The first function is a newly added Function type, specifically, for example: End.Side-mounted. Here, the IPv6 packet carries application and network capability identifiers to identify the SF (Service Provider ID), allowing the SID to serve solely as a network path identifier. This reduces the coupling between the SID and the service, eliminating the need to allocate an SID for each service, thus reducing the number of SIDs and lowering routing complexity.

[0106] Step 303: Obtain the outgoing interface or IP address of the next-hop node corresponding to the SF indicated by the application and network capability identifier. In this way, the obtained outgoing interface or IP address can be used to send the corresponding service flow, realizing the forwarding of the service flow in the network.

[0107] In the service chain processing method of this application embodiment, firstly, a service flow is received and the segment identifier (SID) in the service flow is parsed; secondly, if a first function is obtained by parsing the SID, the Internet Protocol version 6 (IPv6) packets in the service flow are parsed to obtain application and network capability identifiers (SFs); wherein, the application and network capability identifiers are used to indicate service functions (SFs); thirdly, the outgoing interface or IP address corresponding to the SF indicated by the application and network capability identifier is obtained to the next-hop node. In this way, the SID serves only as a network path identifier, thereby reducing the coupling between the SID and the service. Therefore, it is not necessary to allocate a SID for each service, reducing the number of SIDs and the complexity of routing, and greatly simplifying the SID and routing allocation method.

[0108] As a specific implementation, step 302 includes:

[0109] The extended option header of the IPv6 packet is parsed to obtain the application and network capability identifiers carried in the extended option header.

[0110] In other words, the application and network capability identifiers are carried within the extended options header of the IPv6 packet. The significance of the first function is to parse the extended options header of the (outer or inner) packet. This extended options header may include, for example, a DOH (Domain-Owned) or a Hop-by-Hop Options Header (HOH).

[0111] As an optional implementation, step 303 includes:

[0112] In the first association table, find the outgoing interface or IP address to the next-hop node corresponding to the SF indicated by the application and network capability identifier; wherein, the first association table includes: the association between the SF and the destination IP address or the association between the SF and the virtual interface.

[0113] In other words, the first device pre-stores the first association table, which identifies the correspondence between the SF and the destination IP address corresponding to the first device, or the correspondence between the SF and the virtual interface to be forwarded on the first device. Based on this first association, the first device can determine the IP address or outgoing interface used to forward the service flow to the next hop node.

[0114] Furthermore, as an optional implementation, the method also includes at least one of the following:

[0115] The controller receives the first association table sent by the controller device; here, the controller device is, for example, a... Figure 2 The metropolitan area network controller in the middle;

[0116] Obtain the first association table of static configuration.

[0117] In the above-mentioned optional implementation methods, the first association table can be pre-sent to the first device by the controller device (e.g., when a service function / value-added service is about to be activated, or when the service function / value-added service is triggered to the controller device, or when a tunnel is established), or the first association table can be pre-configured on the first device by relevant personnel. This application embodiment does not specifically limit the method of obtaining the first association table. In this way, the first device can subsequently obtain the outgoing interface or IP address of the next-hop node based on the first association table to realize the forwarding of service flows.

[0118] Furthermore, as an optional implementation, the method also includes:

[0119] If the service function SF node in the business chain does not support IPv6 and IPv6-based segment routing SRv6, the first information is cached. The first information includes the segment routing header SRH and the application and network capability identifier corresponding to the SRH. The first information is issued by the controller device or statically configured. That is, this step is: the first information is statically configured in advance on the first device or the first information issued by the controller device is received in advance.

[0120] Furthermore, as an optional implementation, the method also includes:

[0121] The first information is synchronized to the second device, which is the gateway egress device of the service chain; in this way, the second device can perform IPv6 and SRH packet header recovery based on the first information.

[0122] Specifically, the first device can synchronize the first information to the second device in the following ways: through routing protocols such as Border Gateway Protocol (BGP).

[0123] The two optional implementation methods mentioned above may include the following situations: Situation 1: The first device receives and caches the first information sent by the controller device; Situation 2: The first device receives and caches the first information sent by the controller device, and synchronizes the first information to the second device; Situation 3: The first device caches the first information statically configured by the user on the first device; Situation 4: The first device caches the first information statically configured by the user on the first device, and synchronizes the first information to the second device.

[0124] The above-mentioned optional implementation method is applicable to situations where the SF in the service chain does not support SRv6 and IPv6, and the gateway egress device and gateway ingress device in the service chain are inconsistent. By caching the first information in both the first device and the second device, the second device can restore the IPv6 and SRH packet headers in the service flow after receiving the service flow, so as to continue the subsequent service flow forwarding process.

[0125] Furthermore, as an optional implementation, the method also includes:

[0126] The service flow is forwarded from the outgoing interface or IP address to the next-hop node.

[0127] In the above steps, the service data in the service flow forwarded by the first device is the same as the service data in the service flow received by the first device. However, the message headers in the two service flows are different. For example, the SRH in the service flow forwarded by the first device is obtained by updating the SRH in the service flow received by the first device.

[0128] Based on the above, after the first device obtains the outgoing interface or IP address of the next-hop node, if the first device supports SRv6, the method further includes: replacing the DA of the IPv6 with the SID address of the next-hop node, and simultaneously decrementing SL by 1; that is, the local SID of GW2; or, if the first device supports IPv6 but does not support SRv6, replacing the DA with the actual destination address, that is, replacing the DA with the SID in the Segment List[0]. In this way, it can be guaranteed that after a series of value-added services are executed, the service flow will be forwarded from the gateway exit at which time.

[0129] As a specific implementation, forwarding the service flow from the outgoing interface or IP address to the next-hop node includes:

[0130] If the SF node in the service chain does not support IPv6 and SRv6, and the service flow is forwarded using a segmented tunneling method, the IPv6 packets parsed from the received service flow are tunnel-encapsulated to obtain the service flow to be forwarded.

[0131] The service flow to be forwarded is sent from the outgoing interface or IP address to the target tunnel, the starting point of the target tunnel is the first device, and the ending point of the target tunnel is the next hop node.

[0132] Here Figure 2 For example, the implementation process of the above optional implementation methods will be illustrated:

[0133] like Figure 2 As shown, the end-to-end (CPE to PE) tunnel is broken down into three tunnels: CPE→GW1 (tunnel 1), GW1→GW2 (tunnel 2, where GW1 and GW2 can be the same device or different devices), and GW2→PE (tunnel 3). When a packet enters tunnel 1, the CPE encapsulates the SRH of tunnel 1, where the destination address is the GW1 address. After the packet is passed to the GW1 device, the outer packet (the layer of tunnel encapsulation) terminates, exposing the inner IPv6 packet. The GW1 device can parse / map the ARN information in the DOH extension packet, then encapsulate it in tunnel 2, process the relevant services, and pass it to the GW2 device. The GW2 device terminates the header of the encapsulated packet, exposing the inner IPv6 packet containing the DOH. Based on the destination address and ARN ID of the IPv6 packet, and according to the behavior of network edge devices, it encapsulates it again in tunnel 3, thus passing the packet to the PE device.

[0134] Furthermore, as an optional implementation, the method also includes:

[0135] If the first device is also the gateway egress device of the service chain (that is, the first device is both the gateway ingress device and the gateway egress device of the service chain), and the SF node in the service chain does not support IPv6 and SRv6, if the second function is obtained by parsing the SID, then according to the cached first information, the SRH corresponding to the obtained application and network capability identifier is written into the returned message; the first information includes the SRH and the application and network capability identifier corresponding to the SRH.

[0136] In the above steps, the second function is to add a new encapsulation function, for example, the second function is End.Side.AS and / or End.Side.AD.

[0137] It should be noted that the original End.AS and END.AD generated the mapping relationship between SRH and virtual interface through static configuration or dynamic learning, and cached the SRH that needed to be stripped. However, in this embodiment, since the mapping relationship between ARN ID and virtual interface is pre-formed (based on the first association table (the association relationship between SF and destination IP address or virtual interface) and the first information (the correspondence between SRH and application and network capability identifier)), it is not necessary to select the SRH to be backfilled based on a specific interface (i.e., service), but rather to select the SRH to be backfilled based on the ARN ID carried in the message.

[0138] Furthermore, as another optional implementation, the method further includes:

[0139] If the first device is also the gateway egress device of the service chain, and the SF node in the service chain supports IPv6 but does not support SRv6, if the third function is obtained by parsing the SID, then according to the cached first information, the SID[0] in the SRH corresponding to the obtained application and network capability identifier is updated to the destination address DA field; the first information includes the SRH and the application and network capability identifier corresponding to the SRH.

[0140] In the above steps, the third function is a new encapsulation function, for example, the third function is End.side.AM.

[0141] It should be noted that since SF internally supports IPv6, it only needs to update the actual destination address, i.e., SID[0] in the Segment List, to DA, and can also include the SRH header. There is no need to strip the header for caching; it only needs to be forwarded according to the corresponding service interface mapped by the ARN ID. Among them, the packets returned by SF need to have the next SID replaced with DA at the SRv6 Proxy and continue to be forwarded.

[0142] Furthermore, as an optional implementation, the method also includes:

[0143] If an SF node anomaly or link failure is detected, and the fourth function is obtained by parsing the SID, the service flow will be forwarded to the node corresponding to the next SID adjacent to the parsed SID.

[0144] In the above steps, an SF node anomaly could be caused by factors such as excessive SF node load (unable to handle service processing), link failure, or equipment failure. Additionally, the fourth function is used to indicate skipping the abnormal SF node, that is, directly executing forwarding with the next-hop SID as the destination node to ensure network and other service connectivity.

[0145] In other words, if the fourth function used to indicate skipping abnormal SF nodes / faulty links / faulty devices is obtained after resolving the SID, and an abnormal SF node / link / device is detected, the service flow that needs to be forwarded will skip the abnormal SF node / faulty link / faulty device and forward it to the next-hop node adjacent to the abnormal SF node or faulty link, so as to ensure the connectivity of the network and other services.

[0146] Send second information to the source node and / or controller device of the service chain, the second information including the situation of abnormal SF node or link failure.

[0147] In the above steps, by sending information about abnormal SF nodes or link failures to the source node and / or controller device of the service chain, it is easier to switch the end-to-end link and improve network quality. Specifically, the first device can notify the source node through Internet Control Message Protocol (ICMP) error messages, Bidirectional Forwarding Detection (BFD), Two-Way Active Measurement Protocol (Twamp) / Single-Way Active Measurement Protocol (Swamp) messages, and extend the notification to the controller device through Border Gateway Protocol-Link State (BGP-LS) messages.

[0148] The aforementioned ICMP message now includes a new SF (Signal Fault) type, carried in the data portion. The SF type / length / value (TLV) is defined as the type used to carry SF fault information to the head node in the STAMP reflection packet. BGP-LS can also define the sub-TLV format of Node Network Layer Reachability Information (NLRI) / Link NLRI as SF fault, SF overload, SF link fault, etc.

[0149] Embodiments of this application also provide a business chain processing method applied to a controller device, such as... Figure 4 As shown, the method includes:

[0150] Step 401: Send a SID list to the source node of the service chain. The SID in the SID list corresponding to the first device carries a first function in its function field. The first function is used to instruct the first device to parse the IPv6 packets in the service flow and obtain the application and network capability identifier. The application and network capability identifier is used to indicate the SF. The source node of the service chain is used to send the service flow to the first device. The first device is the gateway entry device of the service chain.

[0151] In the above steps, the SID list sent to the source node of the service chain includes a first function carried in the function field of the SID corresponding to the first device. This allows the first function to be resolved by parsing the SID and obtaining the first function, which in turn further parses the IPv6 packet to obtain the application and network capability identifier carried in the IPv6 packet to identify the SF (Service Provider). This, in turn, yields the outgoing interface or IP address of the SF to the next-hop node, enabling the forwarding of the service flow corresponding to the SF. By indicating the SF through the application and network capability identifier, the application and network capability identifier connects network service capabilities, ensuring that the SID only serves as a network path identifier, thus reducing the coupling between the SID and the service.

[0152] In the service chain processing method of this application embodiment, firstly, a SID list is sent to the source node of the service chain. The SID in the SID list corresponding to the first device carries a first function in its function field. This first function instructs the first device to parse IPv6 packets in the service flow to obtain application and network capability identifiers. The application and network capability identifiers indicate the Service Provider (SF). The source node of the service chain sends the service flow to the first device, which is the gateway entry device of the service chain. This allows the first device to further parse IPv6 packets based on the first function to obtain the application and network capability identifiers that identify the SF, and further obtain the outgoing interface or IP address of the next-hop node corresponding to the SF indicated by the application and network capability identifiers, thus enabling the forwarding of the service flow corresponding to the SF. In this way, the SID only serves as a network path identifier, reducing coupling with services, reducing the number of SIDs and routing complexity, and facilitating true commercial deployment.

[0153] Furthermore, as an optional implementation, the method also includes:

[0154] Send a first association table to the first device. The first association table includes: the association between SF and destination IP address or the association between SF and virtual interface.

[0155] In the above steps, by sending the first association table to the first device, the first device can then determine the outgoing interface or IP address of the service flow corresponding to the SF to be forwarded to the next hop node based on the first association table, so as to realize the forwarding of the service flow.

[0156] Furthermore, as an optional implementation, the method also includes:

[0157] Send first information to the first device, or send first information to both the first device and the second device; wherein the first information includes an SRH and an application and network capability identifier corresponding to the SRH, and the second device is the egress device of the service chain.

[0158] In this optional implementation, by sending first information to the first device, the first device can cache the first information and synchronize it to the second device. Alternatively, by sending first information to both the first and second devices, the receiving device (first device / second device) can cache the first information. This allows the second device to recover the IPv6 and SRH packet headers based on the cached first information when the SF in the service chain does not support IPv6 and SRv6, thereby enabling the second device to forward the service flow to the corresponding device.

[0159] Furthermore, as an optional implementation, the method also includes:

[0160] Receive second information sent by the first device, the second information including the situation of abnormal SF node or link failure.

[0161] In the above-mentioned optional implementation, the controller device can adjust the routing path of the service flow based on the received second information to skip abnormal SF nodes or links, improve network quality, and thus improve the reliability of the routing process.

[0162] Embodiments of this application also provide a service chain processing method applied to a second device, wherein the second device is a gateway egress device for the service chain, such as... Figure 5 As shown, the method includes:

[0163] Step 501, obtain first information; wherein, the first information includes SRH and application and network capability identifiers corresponding to the SRH, and the application and network capability identifiers are used to indicate SF;

[0164] Step 502: If the SF node in the service chain does not support IPv6 and SRv6, restore the IPv6 and SRH headers of the packets in the received service flow according to the first information and the first association table.

[0165] It should be noted that the second device can obtain the first association table in the following ways: static configuration, controller device distribution, or synchronization with the first device.

[0166] In the service chain processing method of this application embodiment, firstly, first information is obtained; wherein, the first information includes an SRH and an application and network capability identifier corresponding to the SRH, the application and network capability identifier being used to indicate an SF; secondly, if the SF node in the service chain does not support IPv6 and SRv6, the IPv6 and SRH headers corresponding to the packets in the received service flow are restored according to the first information and a first association table. Thus, it is unnecessary to select the header to be backfilled based on the interface (IP address or outgoing interface) that forwards the service flow; instead, the header to be backfilled is selected based on the application and network capability identifier. This allows the SID to serve only as an identifier for the network path, reducing the coupling between the SID and the service, and eliminating the need to allocate SIDs and publish related routes for each service, thereby reducing the number of SIDs and the complexity of routing.

[0167] As a specific implementation, step 502 includes:

[0168] Based on the first association table, obtain the application and network service capabilities corresponding to the outgoing interface or IP address that forwards the service flow; wherein, the first association table includes: the association between SF and destination IP address or the association between SF and virtual interface;

[0169] Based on the first information and the obtained application and network service capabilities, the message header in the service flow is restored.

[0170] In the specific implementation described above, the SF corresponding to the service flow is determined based on the application and network capability identifier, the virtual interface or destination IP address corresponding to the SF is determined based on the first association table, and the SRH corresponding to the IPv6 packet carrying the application and network capability identifier is determined based on the first information, so as to obtain the correspondence between the virtual interface / destination IP address, the application and network capability identifier and the SRH, and finally the packet header of IPv6 and SRH is restored based on the obtained correspondence.

[0171] As a specific implementation, step 501 includes:

[0172] Receive the first information sent by the controller device, or,

[0173] The system receives the first information synchronized from a first device, which is the gateway entry device of the service chain. Specifically, the first device can synchronize the first information to the second device via BGP.

[0174] The embodiments of this application propose a novel SFC service process based on ARN, and add an SRv6SID Function type to support parsing ARN IDs to identify services and execute corresponding value-added service processes. The main contents include the following:

[0175] 1. When the entry and exit devices of the business chain gateway are inconsistent, and the SF node supports SRv6 / IPv6, a new Function type End.Side-mounted is added. The outer or inner DOH header information is parsed by looking up the table, that is, the ARN ID is parsed. The gateway device can find the next hop outgoing interface or IP address by looking up the association table stored locally.

[0176] 2. Based on point 1 above, for cases that support SRv6, the gateway device also replaces the DA destination address of IPv6 with the next-hop SID address (while simultaneously decrementing SL by 1). For cases that support IPv6, the actual destination address is directly replaced, i.e., SID[0] in the Segment List is updated to DA.

[0177] 3. Based on step 1 above, the controller orchestrates and encapsulates the SRH SID list and assigns it to the head node of the service chain. The SID at the location of GW / SFF is encapsulated as a new Function type. At the same time, the controller issues the association relationship between the value-added service (ARN ID) and the corresponding destination IP address / virtual interface to be forwarded.

[0178] 4. Based on 1 or 3 above, if the ingress and egress devices of the service chain gateway are inconsistent and the SF node does not support SRv6 / IPv6, add a process of caching the packet header and synchronizing it from the ingress to the egress. This process can be done through routing protocols such as BGP, or directly synchronized from the controller to each GW.

[0179] 5. Based on 1, 3, or 4 above, after GW2 receives the message returned by SF, it performs IPv6 and SRH message header recovery according to the correspondence between the virtual interface and ARN and SRH.

[0180] 6. Based on point 1 above, if the entry and exit devices of the service chain gateway are inconsistent and the SF node does not support SRv6 / IPv6, or if a segmented tunnel solution is adopted, the device parses / maps the ARN information in the DOH extended message, then encapsulates it into tunnel 2, processes the relevant services, and then transmits it to the GW2 device.

[0181] 7. When the ingress and egress devices of the service chain gateway are consistent, and the SF node supports SRv6 / IPv6, add the encapsulation End.Side.AM, that is, SFF / GW forwards the service based on the ARN identifier mapping to the corresponding service interface. Also supports point 2 above.

[0182] 8. When the ingress and egress devices of the business chain gateway are the same and the SF node does not support SRv6 / IPv6, add functions End.Side.AS and End.Side.AD. Select which SRH header to fill back based on the ARN ID carried in the message. It is necessary to cache the correspondence between the SRH and the ARN ID in advance when caching the SRH to facilitate the lookup and addition of the header when the message is returned.

[0183] In the business chain processing method of this application embodiment, based on the existing ARN and SRv6 technologies, the definition and parameter attributes are extended, providing a new, feasible and deployable solution for the value-added service capability of business chain computing network integration.

[0184] Embodiments of this application also provide a service chain processing device, applied to a first device, wherein the first device is a gateway entry device for the service chain, such as... Figure 6 As shown, the device includes:

[0185] The first receiving module 601 is used to receive the service flow and parse the segment identifier SID in the service flow;

[0186] The parsing module 602 is used to parse the Internet Protocol version 6 (IPv6) packets in the service flow to obtain the application and network capability identifier, provided that the first function is obtained by parsing the SID; wherein the application and network capability identifier is used to indicate the service function SF.

[0187] The first acquisition module 603 is used to acquire the outgoing interface or IP address of the next-hop node corresponding to the SF indicated by the application and network capability identifier.

[0188] The parsing module 602 includes:

[0189] The parsing submodule is used to parse the extended option header of the IPv6 packet to obtain the application and network capability identifiers carried in the extended option header.

[0190] The first acquisition module 603 includes:

[0191] The lookup submodule is used to look up the outgoing interface or IP address to the next-hop node corresponding to the SF indicated by the application and network capability identifier in the first association table; wherein, the first association table includes: the association between the SF and the destination IP address or the association between the SF and the virtual interface.

[0192] The device further includes at least one of the following:

[0193] The second receiving module is used to receive the first association table sent by the controller device;

[0194] The second acquisition module is used to acquire the first association table of static configuration.

[0195] The device further includes:

[0196] The caching module is used to cache first information when the SF node in the service chain does not support IPv6 and IPv6-based segment routing SRv6. The first information includes the segment routing header SRH and the application and network capability identifier corresponding to the SRH. The first information is issued by the controller device or statically configured.

[0197] The device further includes:

[0198] The synchronization module is used to synchronize the first information to the second device, which is the gateway exit device of the business chain.

[0199] The device further includes:

[0200] The first sending module is used to forward the service flow from the outgoing interface or IP address to the next-hop node.

[0201] The first sending module includes:

[0202] The encapsulation submodule is used to encapsulate the IPv6 packets parsed from the received service flow in a tunnel when the SF node in the service chain does not support IPv6 and SRv6 and the service flow is forwarded in a segmented tunnel manner, so as to obtain the service flow to be forwarded.

[0203] The sending submodule is used to send the service flow to be forwarded from the outgoing interface or IP address to the target tunnel, the starting end of the target tunnel is the first device, and the ending end of the target tunnel is the next hop node.

[0204] The device further includes:

[0205] The processing module is configured to, when the first device is also the gateway egress device of the service chain, and the SF node in the service chain does not support IPv6 and SRv6, if the second function is obtained by parsing the SID, write the SRH corresponding to the obtained application and network capability identifier into the returned message according to the cached first information; the first information includes the SRH and the application and network capability identifier corresponding to the SRH.

[0206] The device further includes:

[0207] The update module is used to update the SID[0] in the SRH corresponding to the obtained application and network capability identifier to the destination address DA field according to the cached first information, if the first device is also the gateway egress device of the service chain, and the SF node in the service chain supports IPv6 but does not support SRv6, and the third function is obtained by parsing the SID. The first information includes the SRH and the application and network capability identifier corresponding to the SRH.

[0208] The device further includes:

[0209] The second sending module is used to forward the service flow to the node corresponding to the next SID adjacent to the parsed SID if the fourth function is obtained by parsing the SID when an SF node abnormality or link failure is detected.

[0210] The third sending module is used to send second information to the source node and / or controller device of the service chain, the second information including the situation of abnormal SF node or link failure.

[0211] It should be noted that the business chain processing apparatus provided in this application embodiment can implement all the method steps implemented in the business chain processing method embodiment applied to the first device, and can achieve the same technical effect. Here, the parts that are the same as those in the method embodiment and the beneficial effects will not be described in detail.

[0212] Embodiments of this application also provide a business chain processing apparatus, applied to a controller device, such as... Figure 7 As shown, the device includes:

[0213] The first sending module 701 is used to send a SID list to the source node of the service chain. The SID in the SID list corresponding to the first device carries a first function in its function field. The first function is used to instruct the first device to parse the IPv6 packets in the service flow and obtain the application and network capability identifier. The application and network capability identifier is used to indicate the SF. The source node of the service chain is used to send the service flow to the first device. The first device is the gateway entry device of the service chain.

[0214] The device further includes:

[0215] The second sending module is used to send a first association table to the first device. The first association table includes: the association between SF and destination IP address or the association between SF and virtual interface.

[0216] The device further includes:

[0217] The third sending module is used to send first information to the first device, or to send first information to the first device and the second device; wherein the first information includes an SRH and an application and network capability identifier corresponding to the SRH, and the second device is the egress device of the service chain.

[0218] The device further includes:

[0219] The receiving module is used to receive second information sent by the first device, the second information including the situation of abnormal SF nodes or link failure.

[0220] It should be noted that the business chain processing apparatus provided in this application embodiment can implement all the method steps implemented in the above-mentioned business chain processing method embodiment applied to controller device, and can achieve the same technical effect. Here, the parts that are the same as those in the method embodiment and the beneficial effects will not be described in detail.

[0221] Embodiments of this application also provide a service chain processing device, applied to a second device, the second device being a gateway entry device for the service chain, such as... Figure 8As shown, the device includes:

[0222] The acquisition module 801 is used to acquire first information; wherein, the first information includes an SRH and an application and network capability identifier corresponding to the SRH, and the application and network capability identifier is used to indicate an SF;

[0223] The recovery module 802 is used to recover the packet header in the received service flow based on the first information and the first association table when the SF node in the service chain does not support IPv6 and SRv6.

[0224] The recovery module 802 includes:

[0225] The acquisition submodule is used to acquire the application and network service capabilities corresponding to the outgoing interface or IP address that forwards the service flow based on the first association table; wherein, the first association table includes: the association between SF and destination IP address or the association between SF and virtual interface;

[0226] The recovery submodule is used to recover the packet headers in the service flow based on the first information and the obtained application and network service capabilities.

[0227] The acquisition module 801 includes:

[0228] The first receiving submodule is used to receive the first information sent by the controller device, or...

[0229] The second receiving submodule is used to receive the first information synchronized by the first device, where the first device is the gateway entry device of the service chain.

[0230] It should be noted that the business chain processing apparatus provided in this application embodiment can implement all the method steps implemented in the business chain processing method embodiment applied to the second device, and can achieve the same technical effect. Here, the parts that are the same as those in the method embodiment and the beneficial effects will not be described in detail.

[0231] Embodiments of this application also provide a service chain processing device, including a transceiver 910, a processor 900, a memory 920, and a program stored in the memory 920 and executable on the processor 900; when the processor 900 executes the program, it implements the service chain processing method applied to a first device as described above, or implements the service chain processing method applied to a controller device as described above, or implements the service chain processing method applied to a second device as described above, and achieves the same technical effect. To avoid repetition, it will not be described again here.

[0232] The transceiver 910 is used to receive and send data under the control of the processor 900.

[0233] Among them, Figure 9 In this context, the bus architecture can include any number of interconnected buses and bridges, specifically linking various circuits together, represented by one or more processors (processor 900) and memory (memory 920). The bus architecture can also link various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art and therefore will not be described further herein. The bus interface provides an interface. The transceiver 910 can be multiple elements, including transmitters and receivers, providing a unit for communicating with various other devices over a transmission medium. For different devices, processor 900 is responsible for managing the bus architecture and general processing, while memory 920 can store data used by processor 900 during operation.

[0234] An embodiment of this application provides a readable storage medium storing a program or instructions. When the program or instructions are executed by a processor, they implement the service chain processing method applied to a first device as described above, or the service chain processing method applied to a controller device as described above, or the service chain processing method applied to a second device as described above, and can achieve the same technical effect. To avoid repetition, further details are omitted here.

[0235] This application also provides a computer program product, including computer instructions. When executed by a processor, the computer instructions implement the above-described business chain processing method applied to a first device, or implement the above-described business chain processing method applied to a controller device, or implement the various processes of the above-described business chain processing method embodiment applied to a second device, and can achieve the same technical effect. To avoid repetition, they will not be described again here.

[0236] The processor mentioned above is the processor in the business chain processing device described in the above embodiments. The readable storage medium includes computer-readable storage media, such as computer read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0237] It should be further noted that the devices described in this manual include, but are not limited to, computers, and many of the described functional components are referred to as modules in order to emphasize the independence of their implementation.

[0238] In this embodiment, the module can be implemented in software so that it can be executed by various types of processors. For example, an identified executable code module may include one or more physical or logical blocks of computer instructions, which may be constructed as objects, procedures, or functions. Nevertheless, the executable code of the identified module does not need to be physically located together, but may include different instructions stored in different bits, which, when logically combined, constitute the module and achieve the module's intended purpose.

[0239] In practice, an executable code module can be a single instruction or many instructions, and can even be distributed across multiple different code segments, different programs, and across multiple memory devices. Similarly, operational data can be identified within the module and can be implemented in any suitable form and organized within any suitable type of data structure. This operational data can be collected as a single dataset or distributed across different locations (including different storage devices), and can exist, at least in part, solely as electronic signals within the system or network.

[0240] When a module can be implemented using software, considering the current level of hardware technology, modules that can be implemented in software can be implemented using hardware circuits by those skilled in the art to achieve the corresponding functions, without considering cost. These hardware circuits include conventional very-large-scale integrated circuits (VLSI) or gate arrays, as well as existing semiconductors such as logic chips and transistors, or other discrete components. Modules can also be implemented using programmable hardware devices, such as field-programmable gate arrays, programmable array logic, and programmable logic devices.

[0241] The exemplary embodiments described above are with reference to the accompanying drawings. Many different forms and embodiments are feasible without departing from the spirit and teachings of this application. Therefore, this application should not be construed as limiting the exemplary embodiments set forth herein. Rather, these exemplary embodiments are provided to make this application complete and convey the scope of this application to those skilled in the art. In these drawings, component dimensions and relative dimensions may be exaggerated for clarity. The terminology used herein is for the purpose of describing particular exemplary embodiments only and is not intended to be limiting. As used herein, unless clearly indicated otherwise, the singular forms “a,” “an,” and “the” are intended to include all such forms. It will be further understood that the terms “comprising” and / or “including”, when used in this specification, indicate the presence of the stated features, integers, steps, operations, components, and / or elements, but do not exclude the presence or addition of one or more other features, integers, steps, operations, components, and / or groups thereof. Unless otherwise indicated, when stated, a range of values ​​includes the upper and lower limits of the range and any subranges in between.

[0242] The above description is the preferred embodiment of this application. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principles described in this application, and these improvements and modifications should also be considered within the scope of protection of this application.

Claims

1. A business chain processing method, characterized in that, Applied to a first device, which is the gateway entry device of the service chain, the method includes: Receive the service flow and parse the segment identifier (SID) in the service flow; If the first function is obtained by parsing the SID, the Internet Protocol version 6 (IPv6) packets in the service flow are parsed to obtain the application and network capability identifier; wherein, the application and network capability identifier is used to indicate the service function SF. Obtain the outgoing interface or IP address of the next-hop node corresponding to the SF indicated by the application and network capability identifier.

2. The method according to claim 1, characterized in that, Parse the Internet Protocol version 6 (IPv6) packets in the aforementioned service flow to obtain application and network capability identifiers, including: The extended option header of the IPv6 packet is parsed to obtain the application and network capability identifiers carried in the extended option header.

3. The method according to claim 1, characterized in that, Obtaining the outgoing interface or IP address to the next-hop node corresponding to the SF indicated by the application and network capability identifier includes: In the first association table, find the outgoing interface or IP address to the next-hop node corresponding to the SF indicated by the application and network capability identifier; wherein, the first association table includes: the association between the SF and the destination IP address or the association between the SF and the virtual interface.

4. The method according to claim 3, characterized in that, The method further includes at least one of the following: Receive the first association table sent by the controller device; Obtain the first association table of static configuration.

5. The method according to claim 1 or 2, characterized in that, The method further includes: If the SF node in the service chain does not support IPv6 and IPv6-based segment routing SRv6, the first information is cached. The first information includes the segment routing header SRH and the application and network capability identifiers corresponding to the SRH. The first information is issued by the controller device or statically configured.

6. The method according to claim 5, characterized in that, The method further includes: The first information is synchronized to the second device, which is the gateway exit device of the business chain.

7. The method according to claim 1, characterized in that, The method further includes: The service flow is forwarded from the outgoing interface or IP address to the next-hop node.

8. The method according to claim 7, characterized in that, Forwarding service flows from the outgoing interface or IP address to the next-hop node includes: If the SF node in the service chain does not support IPv6 and SRv6, and the service flow is forwarded using a segmented tunneling method, the IPv6 packets parsed from the received service flow are tunnel encapsulated to obtain the service flow to be forwarded. The service flow to be forwarded is sent from the outgoing interface or IP address to the target tunnel, the starting point of the target tunnel is the first device, and the ending point of the target tunnel is the next hop node.

9. The method according to claim 1, characterized in that, The method further includes: If the first device is also the gateway egress device of the service chain, and the SF node in the service chain does not support IPv6 and SRv6, if the second function is obtained by parsing the SID, then according to the cached first information, the SRH corresponding to the obtained application and network capability identifier is written into the returned message; the first information includes the SRH and the application and network capability identifier corresponding to the SRH.

10. The method according to claim 1, characterized in that, The method further includes: If the first device is also the gateway egress device of the service chain, and the SF node in the service chain supports IPv6 but does not support SRv6, if the third function is obtained by parsing the SID, then according to the cached first information, the SID[0] in the SRH corresponding to the obtained application and network capability identifier is updated to the destination address DA field; the first information includes the SRH and the application and network capability identifier corresponding to the SRH.

11. The method according to claim 1, characterized in that, The method further includes: If an SF node anomaly or link failure is detected, and the fourth function is obtained by parsing the SID, the service flow will be forwarded to the node corresponding to the next SID adjacent to the parsed SID. Send second information to the source node and / or controller device of the service chain, the second information including the situation of abnormal SF node or link failure.

12. A business chain processing method, characterized in that, Applied to controller devices, including: A list of SIDs is sent to the source node of the service chain. The SIDs in the list corresponding to the first device carry a first function in their function field. The first function is used to instruct the first device to parse the IPv6 packets in the service flow and obtain application and network capability identifiers. The application and network capability identifiers are used to indicate SF. The source node of the service chain is used to send the service flow to the first device. The first device is the gateway entry device of the service chain.

13. The method according to claim 12, characterized in that, The method further includes: Send a first association table to the first device. The first association table includes: the association between SF and destination IP address or the association between SF and virtual interface.

14. The method according to claim 12, characterized in that, The method further includes: Send first information to the first device, or send first information to both the first device and the second device; wherein the first information includes an SRH and an application and network capability identifier corresponding to the SRH, and the second device is the egress device of the service chain.

15. The method according to claim 12, characterized in that, The method further includes: Receive second information sent by the first device, the second information including the situation of abnormal SF node or link failure.

16. A business chain processing method, characterized in that, Applied to a second device, which is the gateway egress device of the service chain, the method includes: Obtain first information; wherein, the first information includes an SRH and an application and network capability identifier corresponding to the SRH, the application and network capability identifier being used to indicate an SF; If the SF node in the service chain does not support IPv6 and SRv6, the header of the received service flow is restored according to the first information and the first association table.

17. The method according to claim 16, characterized in that, Based on the first information and the first association table, the message headers in the received service flow are restored, including: Based on the first association table, obtain the application and network service capabilities corresponding to the outgoing interface or IP address that forwards the service flow; wherein, the first association table includes: the association between SF and destination IP address or the association between SF and virtual interface; Based on the first information and the obtained application and network service capabilities, the message header in the service flow is restored.

18. The method according to claim 16, characterized in that, Obtain first information, including: Receive the first information sent by the controller device, or, The system receives the first information synchronized by a first device, where the first device is the gateway entry device of the service chain.

19. A business chain processing device, characterized in that, Applied to a first device, which is a gateway entry device for the business chain, the device includes: The first receiving module is used to receive the service flow and parse the segment identifier (SID) in the service flow; The parsing module is used to parse the Internet Protocol version 6 (IPv6) packets in the service flow to obtain the application and network capability identifier, provided that the first function is obtained by parsing the SID; wherein the application and network capability identifier is used to indicate the service function SF. The first acquisition module is used to acquire the outgoing interface or IP address of the next-hop node corresponding to the SF indicated by the application and network capability identifier.

20. A business chain processing device, characterized in that, Applied to a controller device, the device includes: The first sending module is used to send a SID list to the source node of the service chain. The SID in the SID list corresponding to the first device carries a first function in its function field. The first function is used to instruct the first device to parse the IPv6 packets in the service flow and obtain the application and network capability identifier. The application and network capability identifier is used to indicate the SF. The source node of the service chain is used to send the service flow to the first device. The first device is the gateway entry device of the service chain.

21. A business chain processing device, characterized in that, Applied to a second device, which is a gateway egress device for the business chain, the device includes: An acquisition module is used to acquire first information; wherein, the first information includes an SRH and an application and network capability identifier corresponding to the SRH, and the application and network capability identifier is used to indicate an SF; The recovery module is used to recover the packet header in the received service flow based on the first information and the first association table, when the SF node in the service chain does not support IPv6 and SRv6.

22. A service chain processing device, comprising a transceiver, a processor, a memory, and a program stored in the memory and executable on the processor; characterized in that, When the processor executes the program, it implements the business chain processing method as described in any one of claims 1 to 11, or implements the business chain processing method as described in any one of claims 12 to 15, or implements the business chain processing method as described in any one of claims 16 to 18.

23. A readable storage medium having a program or instructions stored thereon, characterized in that, When the program or instructions are executed by the processor, they implement the business chain processing method as described in any one of claims 1 to 11, or the business chain processing method as described in any one of claims 12 to 15, or the business chain processing method as described in any one of claims 16 to 18.

24. A computer program product, characterized in that, The method includes computer instructions that, when executed by a processor, implement the business chain processing method as described in any one of claims 1 to 11, or implement the business chain processing method as described in any one of claims 12 to 15, or implement the business chain processing method as described in any one of claims 16 to 18.