Service processing method and related device
By configuring multiple End SIDs on the same locator, each End SID corresponds to a different Flex-Algo, combining BGP and IGP routing information, the problem of increasing the number of locators in network shard scenarios is solved, and flexible service message mapping and reliability improvement in failure is achieved.
Patent Information
- Application Number
- CN202011066286.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-09-30
- Publication Date
- 2025-07-11
- Estimated Expiration
- 2040-09-30
AI Technical Summary
In network sharding scenarios, the prior art requires planning multiple locators to correspond to different Flex-Algo, resulting in an increase in the number of locators and insufficient flexibility and implementability.
By configuring multiple End SIDs on the same locator, each End SID corresponds to a different Flex-Algo, using the End SID sub-TLV to define the Flex-Algo attribute, combining BGP and IGP routing information, determine the correspondence between End SID and Flex-Algo, and implementing the mapping of multiple services and multiple Flex-Algo without deploying multiple locators.
It reduces the number of locator planning, improves the flexibility and realization of the solution, adapts to different service needs, and reduces the risk of service packet loss in the event of network failure.
Smart Images

Figure CN114338495B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of data processing, and particularly to a service processing method and related devices. Background Art
[0002] In a network slicing scenario, the network nodes End and the link End.X of the nodes can be deployed into a flexible algorithm (Flex-Algo) through segment routing for Internet Protocol version 6 (SRv6), so as to use Flex-Algo for service processing.
[0003] In a service processing method, different locators are configured with different Flex-Algo algorithms, and there is a one-to-one correspondence between the locator and Flex-Algo. Then, different Flex-Algos are mapped to different virtual private networks (VPNs) through the locator, and when processing services, a one-to-one correspondence between service packets and Flex-Algo is achieved.
[0004] In this service processing method, if different service requirements are to be met, multiple locators need to be planned to correspond to different Flex-Algos. Summary of the Invention
[0005] The embodiments of the present application provide a service processing method and related devices, which can reduce the number of locators that need to be planned when corresponding to different Flex-Algos.
[0006] The first aspect of the embodiments of the present application provides a service processing method, including:
[0007] The first device can determine a target End SID corresponding to the destination address according to the destination address carried in the received service packet. Multiple End SIDs are configured on the locator of the first device, and each End SID is configured with a different Flex-Algo. The first device can determine the target End SID from the multiple End SIDs and send the encapsulated service packet according to the target End SID.
[0008] From the above technical solutions, it can be seen that the embodiments of the present application have the following advantages:
[0009] In the embodiment of the present application, the first device may determine a target End SID corresponding to the target and send the encapsulated service message according to the target End SID. Among them, on the same locator, multiple End SIDs may be configured, and the Flex-Algo corresponding to each End SID is different. Based on one locator, the mapping relationship between multiple services and multiple Flex-Algos can be realized without deploying multiple locators.
[0010] Combined with the first aspect, in the first implementation manner of the first aspect of the embodiment of the present application, before receiving the service message, the first device may receive multiple End SIDs, and then determine the corresponding relationship between the End SID and the Flex-Algo according to the sub-type-length-value (sub-TLV) of the End SID.
[0011] In the embodiment of the present application, the first device may determine the corresponding relationship between the End SID and the Flex-Algo, improving the feasibility of the solution.
[0012] Combined with the first implementation manner of the first aspect, in the second implementation manner of the first aspect of the embodiment of the present application, since in the embodiment of the present application, the flexible algorithm attribute corresponding to the End SID is defined in the End SID sub-TLV, the first device may determine the Flex-Algo corresponding to the End SID by determining whether the Flex-Algo parameter is carried in the End SID sub-TLV. If the Flex-Algo parameter is carried in the End SID sub-TLV, it may be determined that the Flex-Algo corresponding to the End SID is the Flex-Algo indicated by the Flex-Algo parameter; if the Flex-Algo parameter is not carried in the End SID sub-TLV, it is determined that the Flex-Algo corresponding to the End SID is the default Flex-Algo.
[0013] In the embodiment of the present application, by determining whether the Flex-Algo parameter is carried in the End SID sub-TLV, the Flex-Algo corresponding to the End SID can be determined. Carrying the Flex-Algo parameter in the End SID sub-TLV enriches the content of the End SID sub-TLV and improves the feasibility of the solution.
[0014] Combined with the first or second implementation manner of the first aspect, in the third implementation manner of the first aspect of the embodiment of the present application, the encapsulated service message includes the target End SID.
[0015] Combined with the first aspect and any one of the first to third implementation manners of the first aspect, in the fourth implementation manner of the first aspect of the embodiments of the present application, the first device may also receive Border Gateway Protocol (BGP) routing information and Interior Gateway Protocol (IGP) routing information. Among them, the BGP routing information includes a destination address, a BGP Next-Hop information, and a coloring value color. There is a corresponding relationship between the destination address and the BGP NextHop information, a corresponding relationship between the destination address and the color, and a corresponding relationship between the BGP NextHop information and the color. The IGP routing information includes an End SID and a BGP Next-Hop information, and there is a corresponding relationship between the End SID and the BGP Next-Hop information. The first device may determine the corresponding relationship between the End SID and the color according to Flex-Algo. After that, the first device may determine the target End SID corresponding to the destination address according to the BGP routing information, the IGP routing information, and the corresponding relationship between the End SID and the color.
[0016] In the embodiments of the present application, the first device may determine the corresponding relationship between the destination address and the target End SID according to the BGP routing information, the IGP routing information, and the corresponding relationship between the End SID and the color, which improves the feasibility of the solution.
[0017] Combined with the first aspect and any one of the first to fourth implementation manners of the first aspect, in the fifth implementation manner of the first aspect of the embodiments of the present application, after determining the target End SID, the first device may detect whether a path for sending the encapsulated service packet fails, and in the case of a failure, may switch the sending path.
[0018] In the embodiments of the present application, the first device may switch the sending path in the case of a failure, which improves the flexibility of the solution.
[0019] Combined with the first aspect and any one of the first to fifth implementation manners of the first aspect, in the sixth implementation manner of the first aspect of the embodiments of the present application, after receiving the service packet, the first device may also determine a Virtual Private Network Segment Identification (VPN SID) corresponding to the destination address according to the destination address carried in the service packet. After that, the target End SID and the VPN SID corresponding to the destination address are encapsulated into the service packet to obtain an encapsulated service packet.
[0020] Combined with the sixth implementation manner of the first aspect, in the seventh implementation manner of the first aspect of the embodiments of the present application, the encapsulated service message includes a source-routing header (SRH), and the SRH includes the target End SID corresponding to the destination address and the VPN SID corresponding to the destination address.
[0021] Combined with the sixth or seventh implementation manner of the first aspect, in the eighth implementation manner of the first aspect of the embodiments of the present application, the first device may determine the VPN SID corresponding to the destination address according to the correspondence between the destination address and the VPN SID.
[0022] In the embodiments of the present application, the first device may determine which virtual private network (VPN) the service message enters according to the VPN SID, which can meet the needs of different services and improve the flexibility of the solution.
[0023] The second aspect of the embodiments of the present application provides a method for service processing, including:
[0024] The second device may send at least two End SIDs obtained to the first device. Among them, the at least two End SIDs have the same locator, and each End SID in the at least two End SIDs corresponds to a different Flex-Algo.
[0025] In the embodiments of the present application, multiple End SIDs may be configured on the same locator, and each End SID corresponds to a different Flex-Algo. Based on one locator, the mapping relationship between multiple services and multiple Flex-Algos can be implemented, and there is no need to deploy multiple locators.
[0026] Combined with the second aspect, in the first implementation manner of the second aspect of the embodiments of the present application, the second device may further send BGP routing information and IGP routing information to the first device. The BGP routing information includes the destination address, the BGP Next-Hop information, and the color. The IGP routing information includes the End SID and the BGP Next-Hop information.
[0027] In the embodiments of the present application, the second device may send at least two End SIDs, BGP routing information, and IGP routing information to the first device at the same time, or may send these information successively, and determine the sending order according to the actual application needs, which improves the flexibility of the solution.
[0028] Combined with the second aspect or the first implementation manner of the second aspect, in the second implementation manner of the second aspect of the embodiments of the present application, the at least two End SIDs sent by the second device to the first device include the target End SID. The second device may receive the encapsulated service packet, and the encapsulated service packet includes the target End SID. The second device may perform service processing according to the target End SID.
[0029] Combined with the second implementation manner of the second aspect, in the third implementation manner of the second aspect of the embodiments of the present application, the encapsulated service packet received by the second device may further include the VPN SID corresponding to the target address and the target End SID. The second device may perform service processing according to the VPN SID and the target End SID.
[0030] In the embodiments of the present application, the second device may determine which VPN network the service packet enters according to the received VPN SID, which can meet the needs of different services and improve the flexibility of the solution.
[0031] A service processing apparatus is provided in the third aspect of the embodiments of the present application, including:
[0032] A receiving unit, configured to receive a service packet, where the service packet carries a destination address;
[0033] A determining unit, configured to determine, according to the destination address, the target End SID corresponding to the destination address from at least two End SIDs, where the at least two End SIDs have the same locator, and each End SID in the at least two End SIDs corresponds to a different Flex-Algo;
[0034] A sending unit, configured to send the encapsulated service packet according to the target End SID.
[0035] This service processing apparatus is used to execute the method of the foregoing first aspect.
[0036] A service processing apparatus is provided in the fourth aspect of the embodiments of the present application, including:
[0037] An obtaining unit, configured to obtain at least two End SIDs;
[0038] A sending unit, configured to send at least two End SIDs to the first device, where the at least two End SIDs have the same locator, and each End SID in the at least two End SIDs corresponds to a different Flex-Algo.
[0039] This service processing apparatus is used to execute the method of the foregoing second aspect.
[0040] The fifth aspect of the embodiments of the present application provides a computer device, including:
[0041] A processor, a memory, an input / output device, and a bus. Among them, the processor, the memory, the input / output device are connected to the bus. Computer instructions are stored in the processor, and the processor is configured to execute the computer instructions so that the computer device performs the following steps:
[0042] Receive a service message, where the service message carries a destination address;
[0043] Determine a target End SID corresponding to the destination address from at least two End SIDs, where the at least two End SIDs have the same locator, and each End SID in the at least two End SIDs corresponds to a different Flex-Algo respectively;
[0044] Send the encapsulated service message according to the target End SID.
[0045] This computer device is used to execute the method of the foregoing first aspect.
[0046] The sixth aspect of the embodiments of the present application provides a computer device, including:
[0047] A processor, a memory, an input / output device, and a bus. Among them, the processor, the memory, the input / output device are connected to the bus. Computer instructions are stored in the processor, and the processor is configured to execute the computer instructions so that the computer device performs the following steps:
[0048] Obtain at least two End SIDs;
[0049] Send the at least two End SIDs to a first device, where the at least two End SIDs have the same locator, and each End SID in the at least two End SIDs corresponds to a different Flex-Algo respectively.
[0050] This computer device is used to execute the method of the foregoing second aspect.
[0051] The seventh aspect of the embodiments of the present application provides a computer-readable storage medium, in which a program is stored. When the computer executes the program, it executes the methods of the foregoing first aspect and second aspect.
[0052] The eighth aspect of the embodiments of the present application provides a computer program product. When the computer program product is executed on a computer, the computer executes the methods of the foregoing first aspect and second aspect. Description of the Drawings
[0053] Figure 1 Schematic diagram of an application scenario of the SRv6 network in an embodiment of the present application;
[0054] Figure 2a Schematic diagram of a format of the SRv6 End SID sub-TLV in an embodiment of the present application;
[0055] Figure 2b Schematic diagram of a format of the SRv6 End SID sub-sub-TLV in an embodiment of the present application;
[0056] Figure 3 Schematic diagram of an application scenario of the service processing method in an embodiment of the present application;
[0057] Figure 4 Schematic diagram of another application scenario of the service processing method in an embodiment of the present application;
[0058] Figure 5 Schematic diagram of a process of the service processing method in an embodiment of the present application;
[0059] Figure 6 Schematic diagram of another process of the service processing method in an embodiment of the present application;
[0060] Figure 7 Schematic diagram of another process of the service processing method in an embodiment of the present application;
[0061] Figure 8 Schematic diagram of another process of the service processing method in an embodiment of the present application;
[0062] Figure 9 Schematic diagram of a structure of the service processing apparatus in an embodiment of the present application;
[0063] Figure 10 Schematic diagram of another structure of the service processing apparatus in an embodiment of the present application;
[0064] Figure 11 Schematic diagram of a structure of the computer device in an embodiment of the present application;
[0065] Figure 12 Schematic diagram of another structure of the computer device in an embodiment of the present application. Detailed implementation manners
[0066] The embodiments of the present application provide a service processing method and related devices. By respectively defining Flex-Algo in multiple End SIDs on the same locator, the number of locators that need to be planned can be reduced when corresponding to different Flex-Algos.
[0067] Before introducing the technical solution of the embodiment of the present application, a brief description of the application scenario of the embodiment of the present application will be given. Please refer to Figure 1 , Figure 1 which is a schematic diagram of an application scenario of the SRv6 network in the embodiment of the present application.
[0068] SRv6 is a label addressing technology of segment routing (SR), which has the advantage of simple architecture. Generally, an SRv6 network includes multiple network devices that support the Internet Protocol Version 6 (IPv6). These network devices can be routers or switches, and specific details are not limited here. Figure 1 Taking a router as an example, router R1, router R2, and router R3, in the Figure 1 shown SRv6 network, through the interaction of the IGP protocol and the BGP protocol, flood routing information to realize the information transfer of the SRv6 network and the generation of the forwarding information data base (FIB).
[0069] Computers and terminals can establish a communication connection through the SRv6 network. There are multiple ways to establish this communication connection, which can be through a wireless network connection or a wired network connection, and specific details are not limited here. If it is through a wireless network connection, the specific connection form can be a cellular wireless network, a wireless fidelity (WiFi) network, or other types of wireless networks, and specific details are not limited here. After establishing the connection, the computer can send a service packet to router R1. Router R1 determines the target End SID corresponding to the destination address from at least two End SIDs according to the destination address carried in the service packet. Among them, at least two End SIDs have the same locator, and each End SID in at least two End SIDs has a different Flex-Algo. Then, router R1 can query the FIB table to determine the outgoing interface corresponding to the target End SID, thereby determining the forwarding path of the service packet, and sending the encapsulated service packet to router R4 through router R2 or router R3. Router R4 can send the service packet to the terminal.
[0070] In the SRv6 network, the 128-bit Ipv6 address commonly used at present is defined as the SRv6 SID. Among them, the SRv6 SID includes the segment identifier End.X SID of the link or the node segment identifier End SID. The standard document (draft-ietf-lsr-srv6-extensions) defines the publishing method of the SRv6 SID in the intermediate system-to-intermediate system (ISIS) routing protocol. Among them, the definition of the End SID used in the embodiments of this application is as Figure 2a shown. Please refer to Figure 2a , Figure 2a which is a format schematic diagram of the SRv6 End SID sub-TLV in the embodiments of this application.
[0071] Figure 2a As shown in the last field sub-TLVs (variable), the END SID is carried by the SRv6 End SID sub-TLV. In the embodiments of this application, the attribute of the sub-sub-type-length-value (sub-sub-TLV) can be defined in the sub-TLVs (variable) field to identify the Flex-Algo type corresponding to the End SID.
[0072] Please refer to Figure 2b , Figure 2b which is a format schematic diagram of the SRv6 End SID sub-sub-TLV in the embodiments of this application. In a possible implementation, the SRv6 End SID sub-sub-TLV can be defined in the following way:
[0073] Flex-Algo Sub-sub-TLV for End SID:
[0074] Type: 1 octet, TBD
[0075] Length: 1 octet, 2
[0076] Flags: 1 octet, all reserved
[0077] Algorithm: ctet, Associated algorithm
[0078] Among them, Type represents the type of this sub-sub-TLV, and TBD (to be defined) indicates that the type of this sub-sub-TLV is to be defined. The common definition method is determined according to the types provided by the Internet Assigned Numbers Authority (IANA), and the manifestation form is any value from 0 to 255, occupying 1 byte. This type can be the Transmission Control Protocol (TCP) or the User Datagram Protocol (UDP), which is determined according to actual needs in practical applications, and is not specifically limited here.
[0079] Length represents the number of remaining bytes after removing the bytes occupied by Type and Length from the total byte length of this sub-sub-TLV. Flags is the identifier of this sub-sub-TLV.
[0080] Algorithm represents the Flex-Algo parameter associated with this sub-sub-TLV. Since 0 to 127 are reserved in the SRv6 network and cannot be used as Flex-Algo, the value range of Algorithm is 128 to 255, and the associated Flex-Algo value is selected according to actual application needs, which is not specifically limited here. If the Flex-Algo parameter is not carried in the sub-sub-TLV, it means that the Flex-Algo attribute is not defined for this End SID, and the algorithm corresponding to this End SID is the default Flex-Algo.
[0081] There are various routing bases for different algorithms, which can be the minimum delay, the minimum traffic engineering, or the shortest path first, and are not specifically limited here.
[0082] In the embodiments of this application, a sub-sub-TLV can be carried in the sub-TLV of the End SID, and the Flex-Algo attribute of the sub-sub-TLV can be defined, which enriches the content of the sub-TLV and improves the feasibility of the solution.
[0083] The application scenarios of the service processing method in the embodiments of this application are described below. Please refer to Figure 3 , Figure 3 which is an embodiment of the application scenario in the service processing method of the embodiments of this application.
[0084] It should be noted that Figure 3In the application scenario shown, there are a total of ten routers. For the convenience of reading, nodes 0 to 9 used below correspond to routers 1 to 10 respectively. Node 0 can perform the operations executed by the first device in the above embodiments, and node 9 can perform the operations executed by the second device in the above embodiments.
[0085] In the embodiments of the present application, by defining sub-sub-TLV in the End SID sub-TLV field, the same locator configured by each router can be shared by the default algorithm and multiple Flex-Algos, as Figure 3 shown. Nodes 0 to 4, and node 9 support Flex-Algo 128. Node 0, and nodes 5 to 9 support Flex-Algo 129. Each node supports the default algorithm Flex-Algo 0. For example, in the locator A9:: / 64 of node 9, 3 End SIDs can be configured, and the Flex-Algos corresponding to each End SID are different. Node 9 sends IGP routing information to node 0, and the IGP routing information includes End SID and Flex-Algo. Therefore, node 0 can determine the mapping relationship between the End SID and Flex-Algo as shown in Table 1:
[0086] Table 1
[0087] End SID Flex-Algo A9::1 Flex-Algo 0 A9::2 Flex-Algo 128 A9::3 Flex-Algo 129
[0088] Optionally, the mapping relationship shown in Table 1 can be manually configured on node 0.
[0089] In the embodiments of the present application, the Flex-Algo attribute of sub-sub-TLV can be defined in the End SID sub-TLV, enriching the content of the sub-TLV and improving the feasibility of the solution.
[0090] Specifically, there is also a corresponding relationship between Flex-Algo and color on node 0, and this corresponding relationship can be manually configured on node 0. For example, the corresponding relationship between Flex-Algo and color can be as shown in Table 2:
[0091] Table 2
[0092] Flex-Algo Color Flex-Algo 0 NA Flex-Algo 128 100 Flex-Algo 129 200
[0093] Note that Flex-Algo 0 is the default algorithm and each node in the SRv6 network supports Flex-Algo 0. Therefore, there is no need to configure a color value for Flex-Algo 0. The "NA" in Table 2 indicates "not applicable". Combining Table 1 and Table 2, node 0 can determine the corresponding relationships among End SID, Flex-Algo, and Color. For example, the corresponding relationships can be as shown in Table 3:
[0094] Table 3
[0095] End SID Flex-Algo color A9::1 Flex-Algo 0 NA A9::2 Flex-Algo 128 100 A9::3 Flex-Algo 129 200
[0096] Specifically, each node will also configure multiple addresses, and each destination address has corresponding BGP Next-Hop information. Taking node 9 as an example, node 9 can use multiprotocol extensions for BGP (MP-BGP) to transfer its own routing information to node 0. This routing information can be public network routing information or private network routing information, which is not specifically limited here. The transfer method can be to establish a connection between node 0 and node 9 through MP-BGP and use the update message of MP-BGP for transfer. The transferred information includes the color value, destination address, and BGP Next-Hop information. Through flooding, other nodes in the SRv6 network can obtain the corresponding relationships among the destination address, BGP Next-Hop information, and color. For example, the corresponding relationships among the destination address, BGP Next-Hop information, and color obtained by node 0 can be as shown in Table 4:
[0097] Table 4
[0098] Destination Address BGP Next-Hop Information color 10.1.1.0 / 24 B9::1 NA 10.1.2.0 / 24 B9::1 100 10.1.3.0 / 24 B9::1 200
[0099] Specifically, after each node determines the End SID and the corresponding Flex-Algo for the End SID, in the control plane, it can flood IGP routing information through the IGP protocol. In this embodiment of the application, taking node 9 as an example, the process of flooding IGP routing information through the IGP protocol is described.
[0100] In the IGP routing information flooded by Node 9, it may include the End SID and the tail node endpoint information corresponding to the End SID. The endpoint information represents the IP address of an interface in Node 9, which has the same meaning as the BGP Next-Hop information shown in Table 4. Through flooding, other nodes in the SRv6 network can obtain the mapping relationship between the End SID and the endpoint. For example, the mapping relationship between the End SID and the endpoint information obtained by Node 0 can be as shown in Table 5:
[0101] Table 5
[0102] End SID Endpoint A9::1 B9::1 A9::2 B9::1 A9::3 B9::1
[0103] Specifically, the first device needs to determine the color corresponding to each End SID on the endpoint, which needs to be determined in combination with the corresponding relationships shown in Table 3, Table 4, and Table 5. Specifically, Node 0 can generate an SRv6 Policy. Among them, the SRv6 Policy can represent the corresponding relationship between the destination address and the End SID. For example, this corresponding relationship can be as shown in Table 6:
[0104] Table 6
[0105] endpoint color SID List B9::1 NA A9::1 B9::1 100 A9::2 B9::1 200 A9::3
[0106] It should be noted that the "SID List" entry shown in Table 6 represents the End SID.
[0107] Specifically, Node 0 can determine the target End SID corresponding to the destination address according to the corresponding relationships shown in Table 4 and Table 6. For example, the corresponding relationship between the destination address and the End SID can be as shown in Table 7:
[0108] Table 7
[0109] Destination Address Endpoint color SID List 10.1.1.0 / 24 B9::1 NA A9::1 10.1.2.0 / 24 B9::1 100 A9::2 10.1.3.0 / 24 B9::1 200 A9::3
[0110] It should be noted that the "SID List" entry shown in the table represents the End SID.
[0111] It should be understood that Tables 1 to 7 represent mapping relationships, which does not mean that they must be independent tables in implementation.
[0112] In the embodiment of the present application, Node 0 can determine the corresponding relationship between the destination address and the target End SID according to the BGP routing information, the IGP routing information, and the corresponding relationship between the End SID and the color, which improves the feasibility of the solution.
[0113] In the embodiments of the present application, node 0 can receive at least two End SIDs. By querying the End SID sub-TLV field, the corresponding Flex-Algo for the End SID can be determined, and the FIB table as shown in Table 8 can be generated:
[0114] Table 8
[0115]
[0116] It should be noted that different End SIDs are represented in the table entry "IP prefix". According to Table 8, node 0 can determine the outgoing interface (Out-interface) and Flex-Algo corresponding to different End SIDs.
[0117] Specifically, after receiving a service packet, node 0 can determine the target End SID corresponding to the destination address according to the corresponding relationship shown in Table 7 based on the destination address carried in the service packet. Then, according to the FIB table shown in Table 8, the outgoing interface and the target Flex-Algo corresponding to the target End SID are determined, and the encapsulated service packet is sent from the target outgoing interface using the target Flex-Algo. Among them, the encapsulated service packet includes the target End SID.
[0118] For example, when node 0 receives a service packet with a destination address of 10.1.2.0 / 24, it can determine that the target End SID is A9::2, and then query the FIB table to determine that the next hop is Node1 and the outgoing interface is toNode1.
[0119] In the embodiments of the present application, the FIB table generated by node 0 includes the corresponding relationship between the End SID and the Flex-Algo, which enriches the table entry content and improves the feasibility of the solution.
[0120] In a possible implementation, the FIB table can also include backup algorithms corresponding to different End SIDs in case of network failures or forwarding path failures. For example, the content included in the FIB table can be as shown in Table 9:
[0121] Table 9
[0122]
[0123] As can be seen from Table 9, when there is no fault in the network or forwarding path, the service packet destined for A9::2 can determine that the egress interface is toNode1, the next hop is Node1, and it is forwarded in Flex-Algo 128. If the path from node 0 to node 1 fails, Flex-Algo 128 will become unreachable, and the traffic destined for A9::2 will fall back to Flex-Algo0 for forwarding, and node 5 will be selected as the next hop.
[0124] In the embodiments of the present application, in the event of a fault, an escape path can be used for service forwarding, reducing the risk of loss of service packets and improving the reliability of service processing.
[0125] In the embodiments of the present application, the first device can determine the target End SID corresponding to the target, and send the encapsulated service packet according to the target End SID. Among them, on the same locator, multiple End SIDs can be configured, and each End SID corresponds to a different Flex-Algo. Based on one locator, the mapping relationship between multiple services and multiple Flex-Algos can be realized, and there is no need to deploy multiple locators.
[0126] Furthermore, when a node receives an End SID carrying a Flex-Algo ID, it will generate a FIB table for determining the forwarding path of the service packet. At the same time, the FIB table can also include an escape path, reducing the risk of loss of service packets and improving the reliability of data transmission.
[0127] The service processing method in the embodiments of the present application can also forward the service packet to a specific network. Taking the VPN network as an example below, the process of service processing will be described. Please refer to Figure 4 , Figure 4 This is an embodiment of the application scenario in the service processing method of the embodiments of the present application.
[0128] Figure 4 In the embodiment shown, the manner and content of the node 9 flooding BGP routing information and IGP routing information are similar to the corresponding content in the embodiment shown in Figure 3 The corresponding content in the shown embodiment will not be elaborated here.
[0129] The manner and process of node 0 generating an SRv6 Policy based on BGP routing information, IGP routing information, and the correspondence between End SID and color are similar to the corresponding content in the embodiment shown in Figure 3 The shown embodiment will not be elaborated here. The manner and process of node 0 determining the target End SID corresponding to the destination address based on BGP routing information and SRv6 Policy are similar to Figure 3The corresponding content in the illustrated embodiments is similar and will not be elaborated here.
[0130] The difference is that the BGP routing information may further include a VPN SID, and node 0 may also determine the VPN SID corresponding to the destination address according to the BGP routing information. For example, the correspondence between the destination address and the VPN SID may be as shown in Table 10:
[0131] Table 10
[0132] Destination Address VPN SID 10.1.1.0 / 24 A9::D100 10.1.2.0 / 24 A9::D200 10.1.3.0 / 24 A9::D300
[0133] Another difference is that node 0 may determine the correspondence between the destination address, the VPN SID, and the End SID according to the SRv6 Policy and the correspondence between the destination address and the VPN SID. For example, the correspondence between the destination address, the VPN SID, and the End SID may be as shown in Table 11:
[0134] Table 11
[0135] Destination Address VPN SID SRv6 Policy 10.1.1.0 / 24 A9::D100 endpoint=B9::1,Color=0,End SID=A9::1 10.1.2.0 / 24 A9::D200 endpoint=B9::1,Color=100,End SID=A9::2 10.1.3.0 / 24 A9::D300 endpoint=B9::1,Color=200,End SID=A9::3
[0136] It should be understood that Table 10 and Table 11 represent mapping relationships, and it does not necessarily mean that they are independent tables when implemented.
[0137] Another difference is that after node 0 determines the VPN SID corresponding to the destination address and the target End SID corresponding to the destination address, it may encapsulate the VPN SID and the target End SID in the SRH, and then determine the target outgoing interface according to the FIB table, and send the encapsulated service packet from the target outgoing interface. After receiving the encapsulated service packet, node 9 may forward the service packet to the VPN network corresponding to the VPN SID carried in the SRH.
[0138] In the embodiments of the present application, the first device may determine the target End SID corresponding to the target and send the encapsulated service packet according to the target End SID. Among them, on the same locator, multiple End SIDs may be configured, and each End SID corresponds to a different Flex-Algo. Based on one locator, the mapping relationship between multiple services and multiple Flex-Algos can be realized, and there is no need to deploy multiple locators.
[0139] Furthermore, the first device may also determine the VPN SID corresponding to the destination address, so that the second device sends the received service packet to the VPN network corresponding to the VPN SID according to the VPN SID, which can meet the needs of different services and improve the flexibility of the solution.
[0140] The following describes the service processing method according to the embodiments of the present application. It should be noted that Figures 5 to 8 in the illustrated embodiment, the first router corresponds to the first device in the foregoing embodiment, and the second router corresponds to the second device in the foregoing embodiment. Please refer to Figure 5 , Figure 5 which is an embodiment of the service processing method according to the embodiments of the present application, and includes:
[0141] 501. The first router receives BGP routing information;
[0142] In the SRv6 network, the first router may receive routing information transmitted through the BGP protocol. The BGP routing information received by the first router includes the destination addresses of different service packets, the coloring values corresponding to different destination addresses, and the IP addresses of remote routes, that is, the BGP Next-Hop information.
[0143] Exemplarily, the mapping relationship between the destination address and the BGP Next-Hop information may be as shown in Table 12:
[0144] Table 12
[0145] Destination Address BGP Next-Hop Information color 10.1.1.0 / 24 B9::1 NA 10.1.2.0 / 24 B9::1 100 10.1.3.0 / 24 B9::1 200
[0146] 502. The first router receives IGP routing information;
[0147] In the SRv6 network, the first router may also receive IGP routing information. The IGP routing information includes End SID and the IP information of the device interface where the End SID is located, that is, the endpoint information. The endpoint information here has the same meaning as the BGP Next-Hop information in step 501.
[0148] Exemplarily, the mapping relationship between the End SID and the endpoint information may be as shown in Table 13:
[0149] Table 13
[0150] End SID Endpoint A9::1 B9::1 A9::2 B9::1 A9::3 B9::1
[0151] 503. The first router receives at least two End SIDs;
[0152] In the SRv6 network, the IP information of the End SID and the device interface where the End SID is located can be flooded through the IGP protocol, and the first router can receive the End SID configured on other devices and the IP information of the interface where the End SID is located. Since a device has multiple interfaces, and each interface is configured with an End SID, and there are also multiple devices in the SRv6 network, the first router can receive at least two End SIDs. At the same time, a corresponding Flex-Algo can be configured on each End SID, and the Flex-Algo corresponding to the End SID can also be flooded to the first router through the IGP protocol.
[0153] Optionally, there is also a corresponding relationship between the Flex-Algo and the color on the first router. The first router can determine the corresponding relationship among the End SID, the Flex-Algo, and the Color based on the corresponding relationship between the End SID and the Flex-Algo, and the corresponding relationship between the Flex-Algo and the color. By way of example, the corresponding relationship can be as shown in Table 14:
[0154] Table 14
[0155] End SID Flex-Algo color A9::1 Flex-Algo 0 NA A9::2 Flex-Algo 128 100 A9::3 Flex-Algo 129 200
[0156] Optionally, the corresponding relationship shown in Table 14 can be manually configured on the first router.
[0157] It should be noted that there is no necessary sequence for steps 501, 502, and 503. Step 501 can be executed first, step 502 can be executed first, step 503 can be executed first, or any several of steps 501, 502, and 503 can be executed simultaneously. There is no specific limitation here.
[0158] 504. The first router generates the FIB;
[0159] After receiving the End SID, the first router can query the Flex-Algo parameter in the End SID sub-TLV field to determine the corresponding relationship between the End SID and the Flex-Algo.
[0160] The first router can query the sub-sub-TLV in the End SID sub-TLV field. If the Flex-Algo parameter is defined in the sub-sub-TLV, it can be determined that the Flex-Algo corresponding to the End SID is the Flex-Algo indicated by this Flex-Algo parameter. If the Flex-Algo parameter is not defined in the sub-sub-TLV, it can be determined that the Flex-Algo corresponding to the End SID is the default Flex-Algo.
[0161] Exemplarily, the Flex-Algo parameter can be defined in the Algorithm field in the sub-sub-TLV. The specific definition method has been specifically elaborated in the Figure 2b illustrated embodiment and will not be elaborated here.
[0162] After the first router determines the correspondence between the End SID and the Flex-Algo, it can generate a FIB table according to the correspondence on the control plane. The FIB table can contain the content shown in Table 15:
[0163] Table 15
[0164]
[0165] It should be noted that different End SIDs are represented in the "IP prefix" entry of the table. For ease of understanding, the first router can be regarded as Node 1. As shown in Table 15, in addition to including the End SID and the Flex-Algo corresponding to the End SID, the first FIB table can also include different next-hop addresses corresponding to different End SIDs in the SRv6 network. Taking EndSID A9::2 / 128 as an example, the Flex-Algo corresponding to this End SID is Flex-Algo 128, the position of the next hop is Node2, and the outgoing interface is toNode2.
[0166] 505. The first router receives a service packet;
[0167] The sender of the service packet can be different devices, which can be a computer or a personal computer, and is selected according to the actual application needs. No specific limitation is made here.
[0168] 506. The first router determines the target End SID;
[0169] After receiving the service packet, the first router can determine the destination address carried in the service packet. According to the destination address, the target End SID corresponding to the destination address can be determined.
[0170] Specifically, the first router needs to determine the color corresponding to each End SID on the endpoint, which can be determined according to the corresponding relationships shown in Table 12, Table 13, and Table 14. Specifically, the first router generates an SRv6 Policy. Among them, the SRv6 Policy can represent the corresponding relationship between the destination address and the End SID. By way of example, this corresponding relationship can be as shown in Table 16:
[0171] Table 16
[0172] endpoint color SID List B9::1 NA A9::1 B9::1 100 A9::2 B9::1 200 A9::3
[0173] Specifically, the first router can determine the target End SID corresponding to the destination address according to the corresponding relationships shown in Table 12 and Table 16. By way of example, the corresponding relationship between the destination address and the End SID can be as shown in Table 17:
[0174] Table 17
[0175] Destination Address Endpoint color SID List 10.1.1.0 / 24 B9::1 NA A9::1 10.1.2.0 / 24 B9::1 100 A9::2 10.1.3.0 / 24 B9::1 200 A9::3
[0176] It should be noted that the "SID List" entry in the table represents the End SID.
[0177] 507. The first router sends the encapsulated service packet according to the target End SID;
[0178] After the first device determines the target End SID, it can query the FIB table to determine the target Flex-Algo corresponding to the target End SID and the target outgoing interface corresponding to the target End SID. Then, it uses the target Flex-Algo to send the encapsulated service packet from the target outgoing interface. Among them, the service packet in the encapsulation includes the target End SID.
[0179] In the embodiments of the present application, the first device can determine the target End SID corresponding to the target and send the encapsulated service packet according to the target End SID. Among them, on the same locator, multiple End SIDs can be configured, and the Flex-Algo corresponding to each End SID is different. Based on one locator, the mapping relationship between multiple services and multiple Flex-Algos can be realized, and there is no need to deploy multiple locators.
[0180] Furthermore, the first device can determine the specific Flex-Algo value corresponding to the End SID according to the End SID sub-TLV field. The definition range of the End SID sub-TLV field is wide and can be determined according to the actual application needs, which improves the flexibility of the solution.
[0181] Please refer to Figure 6 , Figure 6 which is an embodiment of the service processing method in the embodiments of the present application, including:
[0182] 601. The first router receives BGP routing information;
[0183] 602. The first router receives IGP routing information;
[0184] 603. The first router receives at least two End SIDs;
[0185] Steps 601 to 603 are similar to steps 501 to 503 in the Figure 5 illustrated embodiment, and will not be elaborated here.
[0186] 604. The first router generates a FIB;
[0187] Step 604 is similar to step 504 in the Figure 5 illustrated embodiment, and will not be elaborated here.
[0188] The difference is that the FIB can also include backup algorithms corresponding to different End SIDs when there is a network failure or a forwarding path failure. For example, the content included in the FIB table can be as shown in Table 18:
[0189] Table 18
[0190]
[0191] For ease of understanding, the first router can be regarded as node 1. As shown in Table 18, in addition to including End SID and the corresponding Flex-Algo for the End SID, the FIB table can also include different next-hop addresses corresponding to different End SIDs in the SRv6 network. Taking End SID A9::3 / 128 as an example, the Flex-Algo corresponding to this End SID is Flex-Algo129, the position of the next hop is Node3, and the outgoing interface is toNode3.
[0192] In addition, the FIB table can also include optional backup algorithms for service packets when there is an algorithm failure. Taking End SID A9::3 / 128 as an example, the algorithm corresponding to this End SID is Flex-Algo129. When Flex-Algo 129 is normal, node 3 should be selected as the next hop. When node 3 fails, Flex-Algo 129 will become unreachable, and the traffic going to A9::3 will fall back to Flex-Algo 0 for forwarding, and the first router will select node 2 as the next hop.
[0193] 605. The first router receives service packets;
[0194] 606. The first router determines the target End SID;
[0195] Steps 605 to 606 are similar to Figure 5 steps 505 to 506 in the illustrated embodiment, and will not be elaborated here.
[0196] 607. The first router determines whether the sending path has a fault. If so, it executes step 608; if not, it executes step 609;
[0197] After the first router determines the target End SID, it can query the FIB table to determine the target Flex-Algo corresponding to the target End SID and the target outgoing interface corresponding to the target End SID. The first router can detect whether there is a fault in the sending path, so as to determine whether it is necessary to switch the sending path.
[0198] 608. The first router switches the sending path;
[0199] When the first router detects a fault in the sending path, it can switch the sending path. This fault may be a node fault on the sending path or a link fault on the sending path, and specific details are not limited here.
[0200] The first router can determine the switched sending path according to the FIB. The escape path shown in Table 18 in step 604 is the switched sending path here.
[0201] 609. The first router sends the encapsulated service packets using the target Flex-Algo;
[0202] If the sending path does not have a fault, the first router can send the service packets from the target outgoing interface using the target Flex-Algo.
[0203] In the embodiment of the present application, the first device can determine the target End SID corresponding to the target and send the encapsulated service packets according to the target End SID. Among them, on the same locator, multiple End SIDs can be configured, and the Flex-Algo corresponding to each End SID is different. Based on one locator, the mapping relationship between multiple services and multiple Flex-Algos can be realized, and there is no need to deploy multiple locators.
[0204] Furthermore, when there is an algorithm fault, the first device can forward the service packets using the backup algorithm in the first FIB table, reducing the risk of service packet loss and improving the reliability of service processing.
[0205] Please refer toFigure 7 , Figure 7 This is an embodiment of the service processing method in the embodiments of the present application, including:
[0206] 701. The first router receives BGP routing information;
[0207] 702. The first router receives IGP routing information;
[0208] 703. The first router receives at least two End SIDs;
[0209] 704. The first router generates a FIB;
[0210] 705. The first router receives service packets;
[0211] Steps 701 to 705 are similar to steps 601 to 605 in the Figure 6 embodiment shown, and will not be elaborated here.
[0212] 706. The first router determines the VPN SID;
[0213] The first router can also determine the VPN SID corresponding to the destination address based on the BGP routing information. By way of example, the correspondence between the destination address and the VPN SID can be as shown in Table 19:
[0214] Table 19
[0215] Destination Address VPN SID 10.1.1.0 / 24 A9::D100 10.1.2.0 / 24 A9::D200 10.1.3.0 / 24 A9::D300
[0216] The difference is further that the first router can determine the correspondence between the destination address, the VPN SID, and the End SID based on the SRv6 Policy and the correspondence between the destination address and the VPN SID. By way of example, the correspondence between the destination address, the VPN SID, and the End SID can be as shown in Table 20:
[0217] Table 20
[0218] Destination Address VPN SID SRv6 Policy 10.1.1.0 / 24 A9::D100 endpoint=B9::1,Color=0,End SID=A9::1 10.1.2.0 / 24 A9::D200 endpoint=B9::1,Color=100,End SID=A9::2 10.1.3.0 / 24 A9::D300 endpoint=B9::1,Color=200,End SID=A9::3
[0219] It should be understood that Table 19 and Table 20 represent mapping relationships, and do not necessarily mean that they are independent tables in implementation.
[0220] 707. The first router determines the target End SID;
[0221] 708. The first router determines whether the sending path has a fault. If so, step 709 is executed; if not, step 710 is executed;
[0222] 709. The first router switches the sending path;
[0223] 710. The first router uses the target Flex-Algo to send the encapsulated service packets.
[0224] Steps 707 to 710 are similar to steps 606 to 609 in the Figure 6 illustrated embodiment and will not be elaborated here.
[0225] In the embodiment of the present application, the first device can determine the target End SID corresponding to the target and send the encapsulated service packets according to the target End SID. Among them, on the same locator, multiple End SIDs can be configured, and the Flex-Algo corresponding to each End SID is different. Based on one locator, the mapping relationship between multiple services and multiple Flex-Algos can be realized without deploying multiple locators.
[0226] Furthermore, in case of an algorithm failure, the first device can forward the service packets according to the backup algorithm in the first FIB table, reducing the risk of service packet loss and improving the reliability of service processing.
[0227] Please refer to Figure 8 , Figure 8 which is an embodiment of the service processing method in the embodiment of the present application, including:
[0228] 801. The second router sends at least two End SIDs to the first router.
[0229] In the embodiment of the present application, after the End SID configuration is completed, the second router can send at least two End SIDs on the second router to the first router. These End SIDs are configured in the same locator of the second router, and the Flex-Algo corresponding to each End SID is different.
[0230] 802. The second router sends BGP routing information to the first router.
[0231] The second router can send BGP routing information to the first router. The BGP routing information includes the destination addresses of different service packets, the coloring values corresponding to different destination addresses, and the IP addresses of the remote routes, that is, the BGP Next-Hop information.
[0232] 803. The second router sends IGP routing information to the first router.
[0233] The second router may send IGP routing information to the first router. The IGP routing information includes an End SID and the IP information of the device interface where the End SID is located, that is, the endpoint information. The endpoint information here has the same meaning as the BGP Next-Hop information in step 802.
[0234] It should be noted that there is no necessary sequence for steps 801, 802, and 803. Step 801 may be executed first, step 802 may be executed first, step 803 may be executed first, or any several of steps 801, 802, and 803 may be executed simultaneously. There is no specific limitation here.
[0235] 804. The second router receives the encapsulated service packet;
[0236] The second router may receive the encapsulated service packet, and the encapsulated service packet may include a destination End SID. If the service packet is to enter a certain VPN network, the encapsulated service packet will also include a VPN SID. The content of the encapsulated service packet is selected according to the actual application needs, and there is no specific limitation here.
[0237] 805. The second router performs service processing;
[0238] The second router performs service processing according to the received encapsulated service packet. If the encapsulated service packet includes a VPN SID, the second router may forward the service packet to the corresponding VPN network according to the VPN SID.
[0239] In the embodiment of the present application, the first device may determine a target End SID corresponding to a target and send an encapsulated service packet according to the target End SID. Among them, on the same locator, multiple End SIDs may be configured, and each End SID corresponds to a different Flex-Algo. Based on one locator, the mapping relationship between multiple services and multiple Flex-Algos can be realized, and there is no need to deploy multiple locators.
[0240] Furthermore, the second device may determine which VPN network the service packet enters according to the VPN SID in the received SRH, which can meet the needs of different services and improve the flexibility of the solution.
[0241] The service processing device in the embodiment of the present application is described below:
[0242] Please refer to Figure 9 , Figure 9This is a schematic diagram of the service processing device 900 in an embodiment of the present application. An embodiment of the service processing device 900 in the present application includes:
[0243] A receiving unit 901, configured to receive service packets, where the service packets carry a destination address;
[0244] A determining unit 902, configured to determine a target End SID corresponding to the destination address from at least two End SIDs, where the at least two End SIDs have the same locator, and each End SID in the at least two End SIDs corresponds to a different Flex-Algo respectively;
[0245] A sending unit 903, configured to send the encapsulated service packet according to the target End SID.
[0246] In some alternative embodiments of the present application, the receiving unit 901 is further configured to receive at least two End SIDs;
[0247] The determining unit 902 is further configured to determine the correspondence between the End SID and the Flex-Algo according to each End SID sub-TLV in the at least two End SIDs.
[0248] In some alternative embodiments of the present application, the determining unit 902 is specifically configured to:
[0249] If the received End SID sub-TLV carries a Flex-Algo parameter, determine that the End SID has a correspondence with the Flex-Algo indicated by the Flex-Algo parameter;
[0250] If the received End SID sub-TLV does not carry a Flex-Algo parameter, determine that the End SID has a correspondence with the default Flex-Algo.
[0251] In some alternative embodiments of the present application, the sending unit 903 is specifically configured to send the encapsulated service packet, and the encapsulated service packet includes the target End SID.
[0252] In some alternative embodiments of the present application, the receiving unit 901 is further configured to:
[0253] Receive BGP routing information, where the BGP routing information includes a destination address, BGP Next-Hop information, and color;
[0254] Receive IGP routing information, where the IGP routing information includes an End SID and BGP Next-Hop information;
[0255] The determining unit 902 is further configured to:
[0256] Determine the correspondence between the End SID and the color;
[0257] According to the BGP routing information, the IGP routing information, and the correspondence between the End SID and the color, determine the target End SID corresponding to the destination address.
[0258] In some alternative embodiments of the present application, the service processing device 900 further includes a switching unit 904;
[0259] The switching unit 904 is configured to switch the sending path when it detects that the path for sending the encapsulated service packet fails.
[0260] In some alternative embodiments of the present application, the determining unit 902 is further configured to determine the VPN SID corresponding to the destination address according to the destination address;
[0261] The sending unit 903 is further configured to send the encapsulated service packet, and the encapsulated service packet includes the VPN SID and the target End SID.
[0262] In some alternative embodiments of the present application, the determining unit 902 is configured to determine the VPN SID corresponding to the destination address according to the correspondence between the destination address and the VPN SID.
[0263] In this embodiment, the service processing device 900 may perform the operations performed by node 0 in the foregoing Figure 3 or Figure 4 the operations performed by the first router in the illustrated embodiment, or Figures 5 to 7 the operations performed by the first router in the illustrated embodiment. Details are not described herein again.
[0264] Please refer to Figure 10 , Figure 10 FIG. 1000 is a schematic diagram of a service processing device 1000 in an embodiment of the present application. An embodiment of the service processing device 1000 in the present application includes:
[0265] An obtaining unit 1001, configured to obtain at least two End SIDs;
[0266] A sending unit 1002, configured to send at least two End SIDs to a first device, where the at least two End SIDs have the same locator, and each of the at least two End SIDs corresponds to a different Flex-Algo;
[0267] In some alternative embodiments of the present application, the sending unit 1002 is further configured to:
[0268] Send BGP routing information to the first device, where the BGP routing information includes the destination address of the service packet, BGP NextHop information, and color;
[0269] Send IGP routing information to the first device, where the IGP routing information includes End SID and BGP NextHop information.
[0270] In some alternative embodiments of the present application, the service processing apparatus 1000 further includes a receiving unit 1003 and a processing unit 1004;
[0271] At least two End SIDs sent by the sending unit 1002 include the target End SID;
[0272] The receiving unit 1003 is configured to receive the encapsulated service packet, where the encapsulated service packet includes the target End SID;
[0273] The processing unit 1004 is configured to perform service processing according to the target End SID.
[0274] In some alternative embodiments of the present application, the encapsulated service packet includes a VPN SID and a target End SID;
[0275] The processing unit 1004 is configured to perform service processing according to the VPN SID and the target End SID.
[0276] In this embodiment, the service processing apparatus 1000 may perform the operations performed by node 9 in the foregoing Figure 3 or Figure 4 the operations performed by the second router in the illustrated embodiment, or Figure 8 the operations performed by the second router in the illustrated embodiment. Details are not described herein again.
[0277] Figure 11 FIG. is a schematic structural diagram of a computer device provided by an embodiment of the present application. The computer device 1100 may include one or more central processing units (CPUs) 1101 and a memory 1105, and one or more application programs or data are stored in the memory 1105.
[0278] Among them, the memory 1105 may be volatile storage or persistent storage. The program stored in the memory 1105 may include one or more modules, and each module may include a series of instruction operations on the computer device. Further, the central processor 1101 may be configured to communicate with the memory 1105 and execute a series of instruction operations in the memory 1105 on the computer device 1100.
[0279] The computer device 1100 may also include one or more power supplies 1102, one or more wired or wireless network interfaces 1103, one or more input / output interfaces 1104, and / or one or more operating systems, such as Windows ServerTM, Mac OS XTM, UnixTM, LinuxTM, FreeBSDTM, etc.
[0280] The computer device 1100 may perform the operations performed by node 0 in the foregoing Figure 3 or Figure 4 the operations performed by the first router in the illustrated embodiments, or Figures 5 to 7 the operations performed by the second router in the illustrated embodiments. Details are not described herein again.
[0281] Figure 12 FIG. is a schematic structural diagram of a computer device provided by an embodiment of the present application. The computer device 1200 may include one or more central processing units 1201 and a memory 1205, and one or more application programs or data are stored in the memory 1205.
[0282] Among them, the memory 1205 may be volatile storage or persistent storage. The program stored in the memory 1205 may include one or more modules, and each module may include a series of instruction operations on the computer device. Further, the central processing unit 1201 may be configured to communicate with the memory 1205 and execute a series of instruction operations in the memory 1205 on the computer device 1120.
[0283] The computer device 1200 may also include one or more power supplies 1202, one or more wired or wireless network interfaces 1203, one or more input / output interfaces 1204, and / or one or more operating systems, such as Windows ServerTM, Mac OS XTM, UnixTM, LinuxTM, FreeBSDTM, etc.
[0284] The computer device 1200 may perform the operations performed by node 9 in the foregoing Figure 3 or Figure 4 the operations performed by the second router in the illustrated embodiments, or Figure 8 the operations performed by the second router in the illustrated embodiments. Details are not described herein again.
[0285] Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working processes of the systems, devices, and units described above may refer to the corresponding processes in the foregoing method embodiments and will not be described herein again.
[0286] In several embodiments provided by the present application, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections to each other can be through some interfaces, and the indirect couplings or communication connections of devices or units can be in electrical, mechanical, or other forms.
[0287] The units described as separate components may or may not be physically separated. The components displayed as units may or may not be physical units, that is, they can be located in one place, or can be distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0288] In addition, the functional units in various embodiments of the present application can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit. The above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.
[0289] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the present application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in various embodiments of the present application. The foregoing storage medium includes: USB flash drives, mobile hard disks, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical discs and other media that can store program codes.
Claims
1. A method for business processing, characterized in that, Including: Receiving a service message, where the service message carries a destination address; Determining, according to the destination address, a target End SID corresponding to the destination address from at least two node segment identifiers End SIDs, where the at least two End SIDs have the same locator, and each End SID in the at least two End SIDs corresponds to a different flexible algorithm Flex-Algo respectively; Sending the encapsulated service message according to the target End SID.
2. The method according to claim 1, characterized in that, Before sending the encapsulated service message according to the target End SID, the method further includes: Receiving the at least two End SIDs; Determining the corresponding relationship between each End SID and Flex-Algo according to the sub-TLV (sub-Type Length Value) of each End SID in the at least two End SIDs.
3. The method according to claim 2, wherein The determining the corresponding relationship between each End SID and Flex-Algo according to the sub-TLV of each End SID in the at least two End SIDs includes: If the Flex-Algo parameter is carried in the received End SID sub-TLV, determining that the End SID has a corresponding relationship with the Flex-Algo indicated by the Flex-Algo parameter; If the Flex-Algo parameter is not carried in the received End SID sub-TLV, determining that the End SID has a corresponding relationship with the default Flex-Algo.
4. The method according to claim 2, wherein The encapsulated service message includes the target End SID.
5. The method according to any one of claims 1 to 4, characterized in that, Before receiving the service message, the method further includes: Receiving Border Gateway Protocol (BGP) routing information, where the BGP routing information includes the destination address, the BGP next-hop Next-Hop information, and the coloring value color; Receiving Interior Gateway Protocol (IGP) routing information, where the IGP routing information includes the End SID and the BGP Next-Hop information; Determining the corresponding relationship between the End SID and the color; Determining the corresponding relationship between the destination address and the End SID according to the BGP routing information, the IGP routing information, and the corresponding relationship between the End SID and the color.
6. The method according to any one of claims 1 to 4, characterized in that After determining, according to the destination address, the target End SID corresponding to the destination address from at least two End SIDs, the method further includes: If it is detected that a failure occurs in the path for sending the encapsulated service message, switching the sending path.
7. The method according to any one of claims 1 to 4, characterized in that, After receiving the service message, the method further includes: Determining, according to the destination address, a Virtual Private Network identifier VPN SID corresponding to the destination address; The encapsulated service message includes the VPN SID and the target End SID.
8. The method according to claim 7, wherein The determining, according to the destination address, the VPN SID corresponding to the destination address includes: Determine the VPN SID corresponding to the destination address according to the correspondence between the destination address and the VPN SID.
9. A service processing method, characterized in that, It includes: Obtain at least two End SIDs; Send the at least two End SIDs to a first device, where the at least two End SIDs have the same locator, and each End SID in the at least two End SIDs corresponds to a different Flex-Algo respectively.
10. The method according to claim 9, wherein The method further includes: Send BGP routing information to the first device, where the BGP routing information includes a destination address, BGP Next-Hop information, and color; Send IGP routing information to the first device, where the IGP routing information includes the End SID and the BGP Next-Hop information.
11. The method according to claim 9 or 10, characterized in that, The at least two End SIDs include a target End SID; The method further includes: Receive an encapsulated service packet, where the encapsulated service packet includes the target End SID; Perform service processing according to the target End SID.
12. The method according to claim 11, characterized in that, The encapsulated service packet further includes the VPN SID corresponding to the destination address; Performing service processing according to the target End SID includes: Perform service processing according to the VPN SID and the target End SID.
13. A service processing device, characterized in that, It includes: A receiving unit, configured to receive a service packet, where the service packet carries a destination address; A determining unit, configured to determine, according to the destination address, a target End SID corresponding to the destination address from at least two End SIDs, where the at least two End SIDs have the same locator, and each End SID in the at least two End SIDs corresponds to a different Flex-Algo respectively; A sending unit, configured to send an encapsulated service packet according to the target End SID.
14. The device according to claim 13, characterized in that, The receiving unit is further configured to receive the at least two End SIDs; The determining unit is further configured to determine the correspondence between each End SID and Flex-Algo according to each End SID sub-TLV in the at least two End SIDs.
15. The device according to claim 14, wherein, The determining unit is specifically configured to: If the received End SID sub-TLV carries a Flex-Algo parameter, determine that the End SID has a correspondence with the Flex-Algo indicated by the Flex-Algo parameter; If the received End SID sub-TLV does not carry a Flex-Algo parameter, determine that the End SID has a correspondence with the default Flex-Algo.
16. The device according to claim 14, wherein The encapsulated service packet includes a target End SID.
17. The device according to any one of claims 13 to 16, characterized in that, The receiving unit is further configured to: Receive BGP routing information, where the BGP routing information includes the destination address, BGP Next-Hop information, and color; Receive IGP routing information, where the IGP routing information includes the End SID and the BGP Next-Hop information; The determining unit is further configured to: Determine the correspondence between the End SID and the color; Determine the correspondence between the destination address and the End SID according to the BGP routing information, the IGP routing information, and the correspondence between the End SID and the color.
18. The device according to any one of claims 13 to 16, characterized in that The apparatus further includes a switching unit; The switching unit is configured to switch the transmission path when it detects that the path for sending the encapsulated service packet fails.
19. The device according to any one of claims 13 to 16, characterized in that, The determining unit is further configured to determine the VPN SID corresponding to the destination address according to the destination address; The encapsulated service packet includes the VPN SID and the target End SID.
20. The apparatus according to claim 19, wherein The determining unit is configured to determine the VPN SID corresponding to the destination address according to the correspondence between the destination address and the VPN SID.
21. A service processing device, characterized in that, Comprising: An obtaining unit, configured to obtain at least two End SIDs; A sending unit, configured to send the at least two End SIDs to a first device, where the at least two End SIDs have the same locator, and each End SID in the at least two End SIDs corresponds to a different Flex-Algo respectively.
22. The device according to claim 21, wherein The sending unit is further configured to: Send BGP routing information to the first device, where the BGP routing information includes a destination address, BGP Next-Hop information, and color; Send IGP routing information to the first device, where the IGP routing information includes the End SID and the BGP Next-Hop information.
23. The device according to claim 21 or 22, characterized in that The apparatus further includes a receiving unit and a processing unit: The at least two End SIDs include a target End SID; The receiving unit is configured to receive an encapsulated service packet, where the encapsulated service packet includes the target End SID; The processing unit is configured to perform service processing according to the target End SID.
24. The device according to claim 23, characterized in that, The encapsulated service packet further includes the VPN SID corresponding to the destination address; The processing unit is configured to perform service processing according to the VPN SID and the target End SID.
25. A computer device, characterized in that, Comprising: A processor, a memory, an input / output device, and a bus; The memory is used to store computer instructions; The processor, the memory, and the input / output device are connected to the bus; The processor is configured to execute the computer instructions, so that the computer device is used to execute the method according to any one of claims 1 to 8.
26. A computer device, characterized in that, Comprising: A processor, a memory, an input / output device, and a bus; The memory is used to store computer instructions; The processor, the memory, and the input / output device are connected to the bus; The processor is configured to execute the computer instructions, so that the computer device is used to execute the method according to any one of claims 9 to 12.
27. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a program, and when the computer executes the program, it executes the method according to any one of claims 1 to 12.
28. A computer program product, characterized in that, When the computer program product is executed on a computer, the computer executes the method according to any one of claims 1 to 12.
Citation Information
Patent Citations
Packet forwarding method and device
CN109246011A
Transmission control method, node, network system and storage medium
CN110912795A