A Segmented Routing Information Advertisement Method and System Based on Intra-Domain Routing Protocol Extensions

By extending the intra-domain routing protocol, routing nodes can obtain and allocate segment identifier ranges in the IPv4 network, realizing comprehensive advertising of segmented routing information and flexible and efficient allocation of segment identifiers. This solves the compatibility problem of segmented routing information advertising in the IPv4 network and supports segmented route forwarding in the IPv4 network.

CN120017566BActive Publication Date: 2025-10-31NAT UNIV OF DEFENSE TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510023734.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-01-07
Publication Date
2025-10-31
Estimated Expiration
2045-01-07

AI Technical Summary

Technical Problem

Existing technologies cannot effectively advertise segmented routing information in IPv4 networks, and SRv6 technology is incompatible with the IPv4 protocol, making it impossible to achieve flexible and efficient segment identifier allocation and comprehensive advertising of segmented routing information in IPv4 networks.

Method used

By extending the intra-domain routing protocol, routing nodes obtain the segment identifier range allocated by the centralized management and control system, and allocate node segment identifiers within the segment identifier range. They also communicate segmented routing information to each other through the extended intra-domain routing protocol, including segmented routing capability, segment identifier range, maximum node segment identifier depth, and maximum link segment identifier depth. The link state message (LSP) is used to maintain the segment identifier of the routing node and the segment identifier of its neighbors.

Benefits of technology

It implements segmented routing information announcement applicable to IPv4 networks, realizes flexible and efficient allocation of segment identifiers and comprehensive announcement of various segmented routing information, and promptly clears segment identifiers and ranges, supporting segmented routing forwarding in IPv4 networks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120017566B_ABST
    Figure CN120017566B_ABST
Patent Text Reader

Abstract

This invention discloses a segmented routing information announcement method and system based on an extended intra-domain routing protocol. The method includes: routing nodes obtaining a segment identifier range allocated by a centralized management system according to a preset segmented routing identifier allocation scheme; routing nodes allocating node segment identifiers within the segment identifier range and simultaneously allocating neighbor segment identifiers for active neighbors; routing nodes mutually announcing segmented routing information through an extended intra-domain routing protocol; and each routing node maintaining its segment identifier and neighbor segment identifiers using Link State Messages (LSPs). This invention aims to achieve segmented routing information announcement suitable for IPv4-compatible networks, enabling flexible and efficient allocation of segment identifiers, comprehensive announcement of various segmented routing information, and timely clearing of segment identifiers and ranges.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of computer network technology, and specifically relates to a segmented routing information announcement method and system based on intra-domain routing protocol extension. Background Technology

[0002] The current method of determining packet forwarding paths based on network address prefixes and device configurations is no longer sufficient to meet the ever-changing communication needs of network applications. Segment Routing for IPv6 (SRv6) is a source routing technology that allocates segments to each node or link. The header node combines these segments to form a segment sequence, guiding packets to be forwarded according to this sequence. Segment routing uses two encapsulation formats at the forwarding layer: MPLS (Multiprotocol Label Switching), i.e., SR MPLS, and IPv6, i.e., SRv6. SRv6 not only inherits the advantages of SR MPLS but also possesses the advantages of unlimited label space, network-wide uniqueness, and reachability from any point. By enabling programmable forwarding capabilities of network protocols, SRv6 technology can provide network applications with more flexible and richer routing strategies, improving the quality of service (QoS) of network applications. To support SRv6, the IS-IS protocol advertises SRv6 Locator and SID (Segment ID) information by extending the corresponding TLV (type-length-value) (see RFC 9352). The former helps other nodes in the network locate the node that advertised the SID; the latter fully describes the function of the node's segment identifier. Currently, most networks still use IPv4, but SRv6 technology is incompatible with the IPv4 protocol and cannot be applied to IPv4 networks. Existing technologies have proposed segmented routing data forwarding methods based on identifier translation. This method uses an independent segment identifier space, supports IPv4 address-to-segment identifier mapping, and achieves segmented routing forwarding compatible with IPv4 networks by extending the IPv4 packet header and encapsulating segmented routing list options. However, how to implement segmented routing information advertising suitable for IPv4-compatible networks remains a key technical problem that urgently needs to be solved. Summary of the Invention

[0003] The technical problem to be solved by the present invention is to provide a segmented routing information announcement method and system based on intra-domain routing protocol extension, which addresses the above-mentioned problems in the prior art. The present invention aims to realize segmented routing information announcement applicable to IPv4 compatible networks, and can also realize flexible and efficient allocation of segment identifiers, comprehensive announcement of various segmented routing information, and timely clearing of segment identifiers and ranges.

[0004] To solve the above-mentioned technical problems, the technical solution adopted by the present invention is as follows:

[0005] A segmented routing information announcement method based on an intra-domain routing protocol extension includes the following steps:

[0006] S1, the routing node obtains the segment identifier range allocated by the centralized management and control system according to the preset segmented routing identifier allocation scheme;

[0007] S2, the routing node allocates its own node segment identifier within the segment identifier range and also allocates neighbor segment identifiers for active neighbors;

[0008] S3, routing nodes communicate segmented routing information to each other through an extended intra-domain routing protocol. The segmented routing information includes some or all of the following: support for segmented routing, segment identifier range, segment identifier, maximum segment identifier depth (MSD) of a node, maximum segment identifier depth of a link, and adjacent segment identifier.

[0009] S4, each routing node uses Link State Messages (LSPs) to maintain the segment identifier of the routing node and the segment identifier of its neighbors.

[0010] Optionally, when segmented routing information is mutually advertised through the extended intra-domain routing protocol in step S3, the segmented routing end node mutually advertises its segmented routing capability through the extended intra-domain routing protocol, including: the segmented routing end node sends a Link State Message (LSP) to its neighbor, and in the routing capability node TLV carried in the LSP, the 0th bit of the Capability field is set to "1" and the 1st bit is set to "1" to advertise support for the IS-IS protocol and segmented routing; the 2nd bit of the Flags field is set to "1" to advertise support for the Operation and Maintenance Management (OAM) function.

[0011] Optionally, in step S3, when segmented routing information is mutually advertised through an extended intra-domain routing protocol, the segment identifier range advertised between routing nodes through the extended intra-domain routing protocol includes: a segment routing end node sending a Link State Message (LSP) to its neighbor, and carrying a segment identifier range TLV in the LSP to advertise the node's segment identifier range. The segment identifier range TLV includes three fields: Type, Length, and Segment Routing Global Block (SRGB). The Type indicates the type of the segment identifier range, the Length indicates the field length of the SRGB segment routing global block, and the SRGB segment routing global block includes a metric, flags, algorithm, SRGB start, SRGB end, and sub-TLV length. The TLV consists of a Len and sub-TLVs. The metric (Mertic) records the link cost with traffic engineering extensions. The flags are the flags for the segment identifier range TLV. The algorithm (Algorithm) indicates the supported routing algorithms, with a value of "0" indicating support for the SPF algorithm and a value of "1" indicating support for the strict SPF algorithm. The SRGB Start and SRGB End are used to record the start and end values ​​of the segment identifier range, respectively. The sub-TLV length (Sub-TLV Len) specifies the length of the sub-TLV. The sub-TLVs indicate the sub-TLVs contained in the SRGB segment identifier block.

[0012] Optionally, in step S3, when segmented routing information is mutually advertised through an extended intra-domain routing protocol, the mutual advertising of the node's maximum segment identifier depth (MSD) and the link's maximum segment identifier depth between routing nodes through the extended intra-domain routing protocol includes: a segment routing end node sending a Link State Message (LSP) to its neighbor, and the node's maximum segment identifier depth sub-TLV (MSD Sub-TLV) carried in the routing capability node TLV carried in the LSP and the link's maximum segment identifier depth sub-TLV (MSD Sub-TLV) carried in the neighbor information TLV to advertise the maximum segment identifier depth that the node can handle and the maximum segment identifier depth that the link can handle. When the centralized management system calculates the segmented routing path, the segment identifier stack depth of the calculated path does not exceed the number of segment identifiers that the node can apply. If only the maximum segment identifier depth sub-TLV is advertised but the link's maximum segment identifier depth sub-TLV is not advertised, then the node's maximum segment identifier depth sub-TLV is regarded as the link's maximum segment identifier depth sub-TLV; the maximum segment identifier depth sub-TLV (MSD Sub-TLV)... The fields in the Sub-TLV include: Type, which indicates the type of the Maximum Segment Identifier Depth Sub-TLV (MSD Sub-TLV); Length, which indicates the sum of the lengths of all fields in the Maximum Segment Identifier Depth Sub-TLV except for Type and Length; Remaining Maximum Segment Identifier Depth Type (TypeMaxSegLeft), which indicates the type of the remaining maximum segment identifier depth (MaxSegLeft); Remaining Maximum Segment Identifier Depth (MaxSegLeft), which indicates the maximum value of the remaining segment quantity field in the segment routing list options, used to announce the maximum segment identifier depth that the node can process; Pop-up Maximum Segment Identifier Depth Type (TypeMaxEndPop), which indicates the type of pop-up maximum segment identifier depth (MaxEndPop); Pop-up Maximum Segment Identifier Depth (MaxEndPop), used to... This indicates the maximum number of segments before the pop segment routing list option associated with the Penultimate Segment Pop (PSP) or Last Segment Pop (USP) attribute behavior. If it is "0", it means that the Penultimate Segment Pop (PSP) or Last Segment Pop (USP) operation is not supported for the segment routing list option; `TypeMaxHInsert` indicates the type of the maximum number of segments to insert (`MaxHInsert`); `MaxHInsert` indicates the maximum number of segments allowed to be inserted when inserting the segment routing list option. If it is "0", it means that the function of inserting the segment routing list option is not supported; `TypeMaxEndD` indicates the type of the maximum segment identifier depth to unpack (`maxEndD`).The maximum segment identifier depth (maxEnd D) is used to identify the maximum segment identifier depth supported by nodes when decapsulating packets related to a specified action. If this field is set to "0" or not advertised, the router cannot perform any decapsulation and forwarding operations on internal datagrams with external IP headers carrying the segmented routing list option.

[0013] Optionally, in step S3, when segmented routing information is mutually advertised through an extended intra-domain routing protocol, the segment identifiers advertised between routing nodes through the extended intra-domain routing protocol include: when a node's segmented routing policy is to forward to a designated node, carrying an End Segment Identifier Sub-TLV (End SID Sub-TLV) in the segment identifier range TLV for advertising segmented routing segment identifiers. The End SID Sub-TLV includes Type, Length, Flags, Endpoint Behavior, Segment Identifier (SID), Sub-sub-TLV Length, and Sub-sub-TLVs. Type indicates the type of the sub-TLV, Length indicates the length of the remaining fields besides Type and Length, Flags are flags, and Endpoint Behavior... Behavior is used to advertise the segment command functions supported by the segment route endpoint; Segment ID (SID) is used to indicate the segment identifier of the advertised segment route, and the segment identifier must be assigned from its associated segment identifier range; Sub-sub-TLV length is used to indicate the length of the sub-sub-TLV; the field length of the sub-sub-TLV group is variable and optional, used to indicate the value of the specific sub-sub-TLV, and the receiver ignores behavior values ​​that are not supported or cannot be recognized; Endpoint behavior (Endpoint) The segment command functions announced by the Behavior include the first function (End), the second function (End.T), and the third function (End.DT). The first function (End) is used to decrement the number of remaining segments by 1, and based on the number of remaining segments, update the IPv4 address corresponding to the next segment identifier (SID) in the segment routing list option to the destination address field of the IPv4 packet header, and then perform table lookup and forwarding. The second function (End.T) is used to decrement the number of remaining segments by 1, and based on the number of remaining segments, update the IPv4 address corresponding to the next segment identifier (SID) in the segment routing list option to the destination address field of the IPv4 packet header, and then perform table lookup and forwarding in the specified IPv4 forwarding table. The third function (End.DT) is used to decapsulate the segmented routing packet, and then perform table lookup and forwarding in the specified IPv4 forwarding table.

[0014] Optionally, in step S3, when segmented routing information is mutually advertised through an extended intra-domain routing protocol, the segment identifiers advertised between routing nodes through the extended intra-domain routing protocol include: for point-to-point links, the segmented routing policy is forwarding through a specified outgoing interface, and the End.X segment identifier sub-TLV (End.X SID Sub-TLV) is carried in the intra-regional neighbor information TLV of the Link State Protocol Data Unit (LSP) message. The End.X segment identifier sub-TLV (End.X SID Sub-TLV) includes type, length, flags, algorithm, weight, endpoint behavior, segment identifier (SID), and sub-sub-TLV length. The TLV consists of a segment identifier (length) and sub-sub-TLVs. The Type field indicates the type of the sub-TLV, and the Length field indicates the length of all fields other than Type and Length. Flags are used to store flags; bit 0 is reserved. Setting bit 1 to "1" indicates that the segment identifier is associated with a set of adjacencies, and setting bit 2 to "1" indicates that the segment identifier is constantly assigned and does not change even after router restarts or interface state changes. The Algorithm field indicates the routing algorithm type; a value of "0" indicates the use of the SPF algorithm, and a value of "1" indicates the use of the strict SPF algorithm. The Weight field is used for load balancing. Endpoint Behavior is used to advertise the segment command functions supported by the segment routing endpoints. The Segment ID (SID) indicates the advertised adjacent segment identifiers, and the segment identifier is bound to the corresponding adjacency. The Sub-sub-TLV length is also specified. The length field is used to indicate the length of the sub-sub-TLV. The sub-sub-TLV group field has a variable length and is optional. It is used to indicate the value of the specific sub-sub-TLV. The receiver ignores unsupported or unrecognizable behavior values. The segment instruction functions announced by the Endpoint Behavior include the fourth function (End.X) and the fifth function (End.DX). The fourth function (End.X) decrements the remaining segment count by 1 and updates the IPv4 address corresponding to the next segment identifier (SID) in the segmented routing list option to the destination address field of the IPv4 packet header according to the remaining segment count. Then, it forwards the packet according to the specified outgoing interface. The fifth function (End.DX) decapsulates the segmented routing packet and then forwards the packet to the specified Layer 3 adjacency.

[0015] Optionally, in step S4, when each routing node maintains the segment identifier and neighbor segment identifier of the routing node using the Link State Message (LSP), this includes when a routing node fails or a link is disconnected, neighboring routing nodes perceive changes in link state in real time according to the LSP, update intra-domain routing information through intra-domain routing protocols, and automatically clear the segment identifier information corresponding to the faulty node based on the route convergence operation. The centralized management and control system perceives node failures or changes in link state in real time according to the LSP, and reclaims the segmented routing identifier range corresponding to the faulty node with a set periodic delay.

[0016] Furthermore, the present invention also provides a segmented routing information announcement system based on intra-domain routing protocol extension, comprising a microprocessor and a memory interconnected thereto, wherein the microprocessor is programmed or configured to execute the segmented routing information announcement method based on intra-domain routing protocol extension.

[0017] Furthermore, the present invention also provides a computer-readable storage medium storing a computer program or instructions that are programmed or configured to execute the segmented routing information announcement method based on intra-domain routing protocol extensions via a processor.

[0018] Furthermore, the present invention also provides a computer program product, including a computer program or instructions, which are programmed or configured to execute the segmented routing information announcement method based on intra-domain routing protocol extensions via a processor.

[0019] Compared with existing technologies, the present invention has the following main advantages: The segmented routing information announcement method based on the extended intra-domain routing protocol of the present invention includes: routing nodes obtaining the segment identifier range allocated by the centralized management system according to a preset segmented routing identifier allocation scheme; routing nodes allocating node segment identifiers within the segment identifier range and simultaneously allocating neighbor segment identifiers for active neighbors; routing nodes mutually announcing segmented routing information through the extended intra-domain routing protocol; each routing node maintaining its segment identifier and neighbor segment identifier using Link State Messages (LSPs). Using the present invention, segmented routing information announcement applicable to IPv4 compatible networks can be achieved, and the following technical effects can be achieved: 1. The present invention uses a centralized control system to allocate the node segment identifier range, and the nodes execute the segment identifier allocation, achieving flexible and efficient allocation of segment identifiers. 2. By extending the intra-domain routing protocol, the present invention can achieve comprehensive announcement of segmented routing information, including support for segmented routing capabilities, segment identifier range, segment identifier, adjacent segment identifier, maximum node segment identifier depth, maximum link segment identifier depth, and node segment identifier functions. 3. This invention utilizes Link State Messages (LSPs) to maintain node segment identifiers and neighbor segment identifiers, enabling timely clearing of segment identifiers and ranges. Attached Figure Description

[0020] Figure 1 This is a schematic diagram of the basic process of the method in an embodiment of the present invention.

[0021] Figure 2 This refers to the extended segment identifier range (TLV) message format used in this embodiment of the invention.

[0022] Figure 3 This is the extended End SID Sub-TLV message format in the embodiments of the present invention.

[0023] Figure 4 This refers to the extended End.X SID Sub-TLV message format used in this embodiment of the invention. Detailed Implementation

[0024] To enable those skilled in the art to better understand the technical solutions of the present invention, the technical solutions of the present invention will be further described in detail below with reference to the accompanying drawings in the embodiments of the present invention.

[0025] like Figure 1 As shown, the segmented routing information announcement method based on the intra-domain routing protocol extension in this embodiment includes the following steps:

[0026] S1, the routing node obtains the segment identifier range allocated by the centralized management and control system according to the preset segmented routing identifier allocation scheme;

[0027] S2, the routing node allocates its own node segment identifier within the segment identifier range and also allocates neighbor segment identifiers for active neighbors;

[0028] S3, routing nodes communicate segmented routing information to each other through an extended intra-domain routing protocol. The segmented routing information includes some or all of the following: segmented routing capability, segment identifier range, segment identifier, node maximum segment identifier depth (MSD), link maximum segment identifier depth, and adjacent segment identifier.

[0029] S4. Each routing node uses Link State Messages (LSPs) to maintain the segment identifier of the routing node and the neighbor segment identifier.

[0030] This embodiment, based on an extended intra-domain routing protocol, employs a centralized allocation of segment identifier ranges and a distributed approach to determine node segment identifiers. Segment routing endpoints communicate with each other via an extended IS-IS protocol, announcing their segment routing capabilities, segment identifier ranges, segment identifiers, adjacent segment identifiers, maximum node segment identifier depth, and maximum link segment identifier depth. This also announces the node's segment identifier function, guiding the forwarding of IPv4-compatible segment routing data. Node and neighbor segment identifiers are maintained using Link State Packets (LSPs). When a node fails or a link is disconnected, the segment identifier information corresponding to the failed node is cleared. The centralized management system detects node failures or link status changes in real time and then reclaims the segment routing identifier range corresponding to the failed node after a certain periodic delay.

[0031] In step S3 of this embodiment, when segmented routing information is mutually advertised through the extended intra-domain routing protocol, the segmented routing end node (the router that supports segmented routing) advertises its support for segmented routing capability to its neighbor by sending a Link State Message (LSP) to its neighbor. In the LSP, the routing capability node TLV carries a Capability field with bit 0 set to "1" and bit 1 set to "1" to advertise support for the IS-IS protocol and segmented routing. Bit 2 of the Flags field is set to "1" to advertise support for Operation and Maintenance Management (OAM) function.

[0032] In step S3 of this embodiment, when segmented routing information is mutually advertised through an extended intra-domain routing protocol, the segment identifier range advertised between routing nodes through the extended intra-domain routing protocol includes: a segment routing end node sending a Link State Message (LSP) to its neighbor, and carrying a segment identifier range (TLV) in the LSP to advertise the segment identifier range of that node, such as... Figure 2 As shown, in this embodiment, the segment identifier range TLV includes three fields: Type, Length, and Segment Routing Global Block (SRGB). The start and end values ​​of the segment identifier range are announced using the SRGB Start and SRGB End fields, respectively.

[0033] Type: This field is 1 byte long and is used to indicate the type of the segment identifier range. The specific type number is "29".

[0034] Length: This field is 1 byte long and indicates the length of the sRGB field in the segment routing global block.

[0035] Segment Routing Global Block (SRGB): Fields of variable length indicate the segment identifier range used by the current node. It can contain multiple ranges, including: metric (Mertic), flags, algorithm, SRGB Start, SRGB End, Sub-TLV Length (Sub-TLV Len), and Sub-TLV Groups (Sub-TLVs). The fields are defined as follows:

[0036] Mertic: This 1-byte field records the link cost with traffic engineering extensions.

[0037] Flags: A 1-byte field containing flags for the segment identifier range (TLV).

[0038] Algorithm: This field is 1 byte long and is used to indicate the supported routing algorithms. A value of "0" indicates support for the SPF algorithm, a value of "1" indicates support for the strict SPF algorithm, and the rest are undefined.

[0039] Segment Routing Global Block Start (SRGB Start): This field is 4 bytes long and is used to record the starting value of the segment identifier range;

[0040] The SRGB End field of the segment route global block is 4 bytes long and is used to record the end value of the segment identifier range;

[0041] Sub-TLV Length (Sub-TLV Len): This field is 1 byte long and is used to specify the length of the sub-TLV.

[0042] Sub-TLVs: Field length is variable and is used to indicate the sub-TLVs contained in the segment routing global block SRGB, such as End SID Sub-TLV, etc.

[0043] In step S3 of this embodiment, when segmented routing information is mutually advertised through the extended intra-domain routing protocol, the communication between routing nodes via the extended intra-domain routing protocol to advertise the node's Maximum Segment Identifier Depth (MSD) and the link's Maximum Segment Identifier Depth (MSD) includes: the segment routing end node sending a Link State Message (LSP) to its neighbor, and the maximum segment identifier depth sub-TLV (MSD Sub-TLV) carried in the routing capability node TLV of the LSP and the maximum segment identifier depth sub-TLV (MSD) of the link carried in the neighbor information TLV. The Sub-TLV announces the maximum segment identifier depth that the node can handle and the maximum segment identifier depth that the link can handle. When the centralized management system calculates the segmented routing path, the segment identifier stack depth of the calculated path does not exceed the number of segment identifiers that the node can apply (when the centralized management system calculates the segmented routing path, it needs to know the maximum segment identifier depth that can be applied to each node / link of a given segmented routing path to ensure that the segment identifier stack depth of the calculated path does not exceed the number of segment identifiers that the node can apply). If only the maximum segment identifier depth sub-TLV is announced but the maximum segment identifier depth sub-TLV of the link is not announced, then the maximum segment identifier depth sub-TLV of the node is regarded as the maximum segment identifier depth sub-TLV of the link.

[0044] In this embodiment, the fields in the Maximum Segment Identifier Depth Sub-TLV (MSD Sub-TLV) include:

[0045] Type: The field is 1 byte long and is used to indicate the type of the Maximum Segment Identifier Depth Sub-TLV (MSD Sub-TLV). The type number is "23".

[0046] Length: The field length is 1 byte, used to represent the sum of the lengths of all fields other than Type and Length in the Maximum Segment Identifier Sub-TLV;

[0047] Remaining maximum segment identifier depth type (TypeMaxSegLeft): The field length is 1 byte, used to indicate the type of remaining maximum segment identifier depth (MaxSegLeft), and the value is fixed to "41";

[0048] Maximum Remaining Segment ID Depth (MaxSegLeft): This field is 1 byte long and is used to indicate the maximum value of the remaining segment count field in the segmented routing list options. It is used to announce the maximum segment ID depth that the node can process (SID).

[0049] Pop-up Maximum Segment Identifier Depth Type (TypeMaxEndPop): This field is 1 byte long and is used to indicate the type of the pop-up maximum segment identifier depth (MaxEndPop). Its value is fixed at "42".

[0050] MaxEndPop: This field is 1 byte long and indicates the maximum number of segments before the pop segment routing list option associated with the Penultimate Segment Pop (PSP) or Last Segment Pop (USP) attribute behavior. If it is "0", it means that the Penultimate Segment Pop (PSP) or Last Segment Pop (USP) operation is not supported for the segment routing list option.

[0051] The maximum number of segments to insert (TypeMaxHInsert) field is 1 byte long and is used to represent the type of the maximum number of segments to insert (MaxHInsert). Its value is fixed at "43".

[0052] Maximum number of segments to insert (MaxHInsert): This indicates the maximum number of segments allowed to be inserted when inserting the segmented routing list option. If it is "0", it means that the function of inserting the segmented routing list option is not supported. Encapsulation maximum segment identifier depth type (TypeMaxEnd D): The field length is 1 byte and is used to indicate the type of decapsulation maximum segment identifier depth (maxEnd D).

[0053] Maximum Segment Identifier Depth (maxEnd D): This field is 1 byte long and indicates the maximum segment identifier depth supported by nodes when decapsulating packets related to the specified behavior. If this field is "0" or not published, the router cannot perform any decapsulation and forwarding operations on internal data packets with external IP headers carrying segmented routing list options. Specified behaviors include, but are not limited to, End.DX, End.DT, End, and End.X SID.

[0054] In step S3 of this embodiment, when segmented routing information is mutually advertised through the extended intra-domain routing protocol, the segment identifiers advertised between routing nodes through the extended intra-domain routing protocol include: when a node's segmented routing policy is to forward to a designated node, carrying an End SID Sub-TLV in the segment identifier range TLV for advertising segmented routing identifiers, such as... Figure 3 As shown, the End SID Sub-TLV includes Type, Length, Flags, Endpoint Behavior, Segment Identifier (SID), Sub-sub-TLVLength, and Sub-sub-TLVs, where:

[0055] Type: This field is 1 byte long and is used to represent the type of the sub-TLV. The type number is "5".

[0056] Length: The field length is 1 byte, used to represent the length of all fields other than Type and Length (the sum of the Sub-TLV lengths);

[0057] Flags: This field is 2 bytes long and consists of flags that must be "0".

[0058] Endpoint Behavior: This field is 2 bytes long and is used to announce the segment command functions supported by the segment routing endpoint.

[0059] Segment ID (SID): This field is 4 bytes long and is used to indicate the segment ID of the advertised segment route. The segment ID must be assigned from its associated segment ID range.

[0060] Sub-sub-TLV length: This field is 1 byte long and is used to represent the length of the sub-sub-TLV.

[0061] Sub-sub-TLVs: Fields with variable lengths are optional. They are used to represent the values ​​of specific sub-sub-TLVs. The receiver ignores values ​​that are not supported or cannot be recognized.

[0062] The segment command functions announced by the Endpoint Behavior include three functions: End, End.T, and End.DT. End decrements the remaining segment count by 1, updates the IPv4 address corresponding to the next segment identifier (SID) in the segmented routing list option to the destination address field of the IPv4 packet header, and then performs a table lookup and forwarding. End decrements the remaining segment count by 1, updates the IPv4 address corresponding to the next segment identifier (SID) in the segmented routing list option to the destination address field of the IPv4 packet header, and then performs a table lookup and forwarding in the specified IPv4 forwarding table. End.DT decapsulates the segmented routing packet and then performs a table lookup and forwarding in the specified IPv4 forwarding table. Specifically, in this embodiment, the segment command functions supported by the segmented routing end node are announced by setting the value of this field. End SID Sub-TLV announces that the node supports the following three segment command functions:

[0063] When the value is "1", it means that the end node behavior is End function: decrement the value of the remaining number of segments by 1, and update the IPv4 address corresponding to the next segment identifier (SID) in the segment routing list option to the destination address field of the IPv4 packet header according to the remaining number of segments, and then perform table lookup and forwarding.

[0064] When the value is "9", it means that the end node behavior is End.T: decrement the value of the remaining number of segments by 1, and update the IPv4 address corresponding to the next segment identifier (SID) in the segment routing list option to the destination address field of the IPv4 packet header according to the remaining number of segments, and then perform table lookup and forwarding in the specified IPv4 forwarding table.

[0065] When the value is "19", it means that the end node behavior is End.DT: decapsulate the segmented routing message and then look up the table in the specified IPv4 forwarding table for forwarding.

[0066] In step S3 of this embodiment, when segmented routing information is mutually advertised through the extended intra-domain routing protocol, the segment identifiers advertised between routing nodes through the extended intra-domain routing protocol include: for point-to-point links, the segmented routing policy is to forward to the specified outgoing interface, and the End.X segment identifier sub-TLV is carried in the intra-regional neighbor information TLV (TLV22) of the Link State Protocol Data Unit (LSP).

[0067] like Figure 4 As shown, in this embodiment, the End.X SID Sub-TLV includes nine fields: Type, Length, Flags, Algorithm, Weight, Endpoint Behavior, Segment ID, Sub-sub-TLV length, and Sub-sub-TLVs. The definitions of each field are as follows:

[0068] Type: This field is 1 byte long and is used to represent the type of the sub-TLV. The type number is "43".

[0069] Length: The field length is 1 byte, used to indicate the length of all fields other than Type and Length;

[0070] Flags: This field is 2 bytes long and is a flag field. The 0th bit is reserved. Setting the 1st bit to "1" indicates that the segment identifier is associated with a set of adjacencies. Setting the 2nd bit to "1" indicates that the segment identifier is a constant allocation and will not change even if the router restarts or the interface state changes.

[0071] Algorithm: This 1-byte field indicates the routing algorithm type. A value of "0" indicates the use of the SPF algorithm, and a value of "1" indicates the use of the strict SPF algorithm; other values ​​are undefined. By setting the Algorithm field value, the type of routing algorithm used is advertised to enable route calculation based on the End.X SID.

[0072] Weight: This field is 1 byte long and is used to identify the weight in load balancing.

[0073] Endpoint Behavior: This field is 2 bytes long and is used to announce the segment command functions supported by the segment routing endpoint.

[0074] Segment ID (SID): This field is 4 bytes long and is used to represent the adjacent segment ID of the announcement. The segment ID is bound to the corresponding adjacent segment.

[0075] Sub-sub-TLV length: This field is 1 byte long and is used to represent the length of the sub-sub-TLV.

[0076] Sub-sub-TLVs: Fields with variable lengths are optional. They are used to represent the values ​​of specific sub-sub-TLVs. The receiver ignores values ​​that are not supported or cannot be recognized.

[0077] In this embodiment, the segment command functions announced by the Endpoint Behavior include a fourth function (End.X) and a fifth function (End.DX). The fourth function (End.X) decrements the remaining segment count by 1, updates the IPv4 address corresponding to the next segment identifier (SID) in the segment routing list option to the destination address field of the IPv4 packet header based on the remaining segment count, and then forwards the packet according to the specified outgoing interface. The fifth function (End.DX) decapsulates the segmented routing packet and then forwards the packet to the specified Layer 3 adjacency. In this embodiment: when the value is "5", it indicates that the end node behavior is End.X: decrements the remaining segment count by 1, updates the IPv4 address corresponding to the next segment identifier (SID) in the segment routing list option to the destination address field of the IPv4 packet header based on the remaining segment count, and then forwards the packet according to the specified outgoing interface; when the value is "17", it indicates that the end node behavior is End.DX: decapsulates the segmented routing packet and then forwards the packet to the specified Layer 3 adjacency.

[0078] In step S4 of this embodiment, when each routing node maintains the segment identifier and neighbor segment identifier of the routing node using the Link State Message (LSP), the adjacent routing nodes perceive the link state changes in real time according to the LSP when the routing node fails or the link is disconnected, update the intra-domain routing information through the intra-domain routing protocol, and automatically clear the segment identifier information corresponding to the faulty node based on the route convergence operation. The centralized management and control system perceives the node failure or link state changes in real time according to the LSP, and reclaims the segment routing identifier range corresponding to the faulty node with a set periodic delay.

[0079] In summary, this embodiment implements an IPv4-compatible segment routing forwarding information announcement scheme. The method uses a centralized management system to allocate segment identifier ranges to each routing node according to a segmented routing identifier allocation scheme. Network nodes allocate node segment identifiers within their respective identifier ranges, and simultaneously allocate neighbor segment identifiers for active neighbors. Furthermore, the IS-IS protocol extends the corresponding TLV announcement nodes to support segmented routing capabilities, segment identifier ranges, segment identifiers, adjacent segment identifiers, maximum node segment identifier depth, and maximum link segment identifier depth, announcing different segment identifier functions through the Endpoint Behavior field, such as designated node forwarding, designated interface forwarding, and decapsulation. Routing nodes announce all segment identifier information for all nodes within their region through an extended intra-domain routing protocol to guide the forwarding of segmented routing packets within the region. When a node fails or a link is disconnected, neighboring nodes will detect the link status change in real time and update their intra-domain routing information through the intra-domain routing protocol, while automatically clearing the segment identifier information corresponding to the failed node based on route convergence operations. The centralized management system detects node failures or link status changes in real time and then reclaims the segmented routing identifier range corresponding to the failed node after a certain periodic delay. The method in this embodiment can realize segmented routing information announcement applicable to IPv4 compatible networks, and can also realize flexible and efficient allocation of segment identifiers, comprehensive announcement of various segmented routing information, and timely clearing of segment identifiers and ranges.

[0080] Furthermore, this embodiment also provides a segmented routing information announcement system based on intra-domain routing protocol extensions, including a microprocessor and a memory interconnected, wherein the microprocessor is programmed or configured to execute the segmented routing information announcement method based on intra-domain routing protocol extensions.

[0081] Furthermore, this embodiment also provides a computer-readable storage medium storing a computer program or instructions that are programmed or configured to execute the segmented routing information announcement method based on intra-domain routing protocol extensions via a processor.

[0082] In addition, this embodiment also provides a computer program product, including a computer program or instructions, which are programmed or configured to execute the segmented routing information announcement method based on intra-domain routing protocol extensions via a processor.

[0083] Those skilled in the art will understand that the technical solutions provided by the embodiments of this application may be in the form of a method, system, or computer program product. Therefore, this application may take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application may take the form of a computer program product embodied on one or more computer-readable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code. This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create an implementation for the process. Figure 1 One or more processes and / or boxes Figure 1 The computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The functions specified in one or more boxes. These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable apparatus for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0084] The above description is merely a preferred embodiment of the present invention. The scope of protection of the present invention is not limited to the above embodiments. All technical solutions falling within the scope of the present invention's concept are within the scope of protection of the present invention. It should be noted that for those skilled in the art, any improvements and modifications made without departing from the principles of the present invention should also be considered within the scope of protection of the present invention.

Claims

1. A segmented routing information announcement method based on intra-domain routing protocol extension, characterized in that, Includes the following steps: S1, the routing node obtains the segment identifier range allocated by the centralized management and control system according to the preset segmented routing identifier allocation scheme; S2, the routing node allocates its own node segment identifier within the segment identifier range and also allocates neighbor segment identifiers for active neighbors; S3, routing nodes communicate segmented routing information to each other through an extended intra-domain routing protocol. The segmented routing information includes some or all of the following: support for segmented routing, segment identifier range, segment identifier, maximum segment identifier depth (MSD) of a node, maximum segment identifier depth of a link, and adjacent segment identifier. S4, Each routing node uses Link State Messages (LSPs) to maintain the segment identifier of the routing node and the segment identifier of its neighbors; In step S3, when segmented routing information is mutually advertised through the extended intra-domain routing protocol, the segment identifiers advertised between routing nodes through the extended intra-domain routing protocol include: When a node's segmentation routing policy specifies forwarding to a designated node, it carries an End SID Sub-TLV within the Segment Identifier Range TLV for advertising segmentation route identifiers. The End SID Sub-TLV includes Endpoint Behavior. The segment command functions announced by (Behavior) include the first function (End), the second function (End.T), and the third function (End.DT). The first function (End) is used to decrement the number of remaining segments by 1, and based on the number of remaining segments, update the IPv4 address corresponding to the next segment identifier (SID) in the segmented routing list option to the destination address field of the IPv4 packet header, and then perform table lookup and forwarding. The second function (End.T) is used to decrement the number of remaining segments by 1, and based on the number of remaining segments, update the IPv4 address corresponding to the next segment identifier (SID) in the segmented routing list option to the destination address field of the IPv4 packet header, and then perform table lookup and forwarding in the specified IPv4 forwarding table. The third function (End.DT) is used to decapsulate the segmented routing packet, and then perform table lookup and forwarding in the specified IPv4 forwarding table. For point-to-point links, the segmented routing strategy is to forward packets to a specified outgoing interface. The Link State Protocol Data Unit (LSP) packet carries an End.X Segment Identifier Sub-TLV (End.X SID Sub-TLV) within the regional neighbor information TLV. This End.X SID Sub-TLV includes Endpoint Behavior. The segment command functions announced by Endpoint Behavior include a fourth function (End.X) and a fifth function (End.DX). The fourth function (End.X) decrements the remaining segment count by 1 and, based on the remaining segment count, updates the IPv4 address corresponding to the next segment identifier (SID) in the segmented routing list options to the destination address field of the IPv4 packet header, then forwards the packet to the specified outgoing interface. The fifth function (End.DX) decapsulates the segmented routing packet and then forwards it to the specified Layer 3 adjacency.

2. The segmented routing information announcement method based on intra-domain routing protocol extension according to claim 1, characterized in that, In step S3, when segmented routing information is mutually advertised through the extended intra-domain routing protocol, the segmented routing end node advertises its segmented routing capability to its neighbor by setting the 0th bit of the Capability field to "1" and the 1st bit to "1" in the routing capability node TLV carried in the Link State Message LSP to advertise support for the IS-IS protocol and segmented routing; and setting the 2nd bit of the Flags field to "1" to advertise support for the Operation and Maintenance Management (OAM) function.

3. The segmented routing information announcement method based on intra-domain routing protocol extension according to claim 2, characterized in that, In step S3, when segmented routing information is mutually advertised through the extended intra-domain routing protocol, the segment identifier range is advertised between routing nodes through the extended intra-domain routing protocol. This includes: a segment routing end node sending a Link State Message (LSP) to its neighbor, and carrying a segment identifier range (TLV) in the LSP to advertise the node's segment identifier range. The segment identifier range (TLV) includes three fields: Type, Length, and Segment Routing Global Block (SRGB). The Type indicates the type of segment identifier range, the Length indicates the field length of the SRGB segment routing global block, and the SRGB segment routing global block includes a metric, flags, algorithm, SRGB start, SRGB end, and sub-TLV length. The TLV consists of a Len and sub-TLVs. The metric (Mertic) records the link cost with traffic engineering extensions. The flags are the flags for the segment identifier range TLV. The algorithm (Algorithm) indicates the supported routing algorithms, with a value of "0" indicating support for the SPF algorithm and a value of "1" indicating support for the strict SPF algorithm. The SRGB Start and SRGB End are used to record the start and end values ​​of the segment identifier range, respectively. The sub-TLV length (Sub-TLV Len) specifies the length of the sub-TLV. The sub-TLVs indicate the sub-TLVs contained in the SRGB segment identifier block.

4. The segmented routing information announcement method based on intra-domain routing protocol extension according to claim 3, characterized in that, In step S3, when segmented routing information is mutually advertised through the extended intra-domain routing protocol, the communication between routing nodes via the extended intra-domain routing protocol includes: a segmented routing end node sending a Link State Message (LSP) to its neighbor, and the maximum segment identifier depth (MSD) sub-TLV carried in the routing capability node TLV of the LSP and the maximum segment identifier depth (MSD) sub-TLV carried in the neighbor information TLV to announce the maximum segment identifier depth that the node can handle and the maximum segment identifier depth that the link can handle. When the centralized management system calculates the segmented routing path, the segment identifier stack depth of the calculated path does not exceed the number of segment identifiers that the node can apply. If only the maximum segment identifier depth sub-TLV is advertised but the maximum segment identifier depth sub-TLV of the link is not advertised, then the maximum segment identifier depth sub-TLV of the node is regarded as the maximum segment identifier depth sub-TLV of the link; the maximum segment identifier depth sub-TLV (MSD) The fields in the Sub-TLV include: Type, which indicates the type of the Maximum Segment Identifier Depth Sub-TLV (MSD Sub-TLV); Length, which indicates the sum of the lengths of all fields in the Maximum Segment Identifier Depth Sub-TLV (MSDSub-TLV) except for Type and Length; Remaining Maximum Segment Identifier Depth Type (TypeMaxSegLeft), which indicates the type of the remaining maximum segment identifier depth (MaxSegLeft); Remaining Maximum Segment Identifier Depth (MaxSegLeft), which indicates the maximum value of the remaining segment quantity field in the segment routing list options, used to announce the maximum segment identifier depth that the node can process; and Pop-up Maximum Segment Identifier Depth Type (TypeMaxEndPop), which indicates the type of pop-up maximum segment identifier depth (MaxEndPop); Pop-up... `MaxEndPop` represents the maximum number of segments before the pop segment routing list option associated with the Penultimate Segment Pop (PSP) or Last Segment Pop (USP) attribute behavior. A value of "0" indicates that the Penultimate Segment Pop (PSP) or Last Segment Pop (USP) operation is not supported for segment routing list options. `TypeMaxHInsert` represents the type of the maximum number of segments to insert (`MaxHInsert`). `MaxHInsert` represents the maximum number of segments allowed to be inserted when inserting segment routing list options. A value of "0" indicates that the function of inserting segment routing list options is not supported. `TypeMaxEndD` represents the type of the maximum segment identifier depth to unpack (`maxEndD`).The maximum segment identifier depth (maxEnd D) is used to identify the maximum segment identifier depth supported by nodes when decapsulating packets related to a specified action. If this field is "0" or not advertised, the router cannot perform any decapsulation and forwarding operations on internal datagrams with external IP headers carrying the segmented routing list option.

5. The segmented routing information announcement method based on intra-domain routing protocol extension according to claim 1, characterized in that, When the segmentation routing policy of a node is to forward to a designated node, the End Segment Identifier Sub-TLV (End SID Sub-TLV) carried in the segment identifier range TLV also includes Type, Length, Flags, Segment Identifier (SID), Sub-sub-TLV length, and Sub-sub-TLVs. Type indicates the type of the sub-TLV, Length indicates the length of all fields other than Type and Length, Flags are the flags for the End Segment Identifier Sub-TLV, Endpoint Behavior is used to advertise the segment command functions supported by the segment routing endpoints, Segment Identifier (SID) indicates the advertised segmentation route segment identifier, and the segment identifier must be allocated from its associated segment identifier range; Sub-sub-TLV length... The length field is used to indicate the length of a sub-sub-TLV. The field length of a sub-sub-TLV group is variable and optional. It is used to indicate the value of a specific sub-sub-TLV. The receiver ignores behavior values ​​that are not supported or cannot be recognized.

6. The segmented routing information announcement method based on intra-domain routing protocol extension according to claim 1, characterized in that, For point-to-point links, when the segmented routing strategy specifies forwarding through an outgoing interface, the End.X Segment Identifier Sub-TLV (End.X SID Sub-TLV) carried in the Link State Protocol Data Unit (LSP) neighbor information TLV within the area also includes type, length, flags, algorithm, weight, segment identifier (SID), and sub-sub-TLV length. The segment identifier is defined as follows: `length` and `sub-sub-TLVs`. The `Type` field indicates the type of the sub-TLV, and `Length` indicates the length of all fields other than `Type` and `Length`. Flags are used to store flags; bit 0 is reserved. Setting bit 1 to "1" indicates that the segment identifier is associated with a set of adjacencies, and setting bit 2 to "1" indicates that the segment identifier is constantly assigned and does not change even after router restarts or interface state changes. The `Algorithm` field indicates the routing algorithm type; a value of "0" indicates the use of the SPF algorithm, and a value of "1" indicates the use of the strict SPF algorithm. The `Weight` field is used for load balancing. `EndpointBehavior` is used to advertise the segment command functions supported by the segment routing endpoints. The `SegmentIdentifier` (SID) indicates the advertised adjacent segment identifiers, and the segment identifier is bound to the corresponding adjacency. The sub-sub-TLV length is defined as follows: `length`. The length field is used to indicate the length of a sub-sub-TLV. The field length of a sub-sub-TLV group is variable and optional. It is used to indicate the value of a specific sub-sub-TLV. The receiver ignores behavior values ​​that are not supported or cannot be recognized.

7. The segmented routing information announcement method based on intra-domain routing protocol extension according to claim 1, characterized in that, In step S4, each routing node maintains its segment identifier and neighbor segment identifier using Link State Message (LSP). This includes neighboring routing nodes sensing link state changes in real time based on LSP when a routing node fails or a link is disconnected, updating intra-domain routing information through intra-domain routing protocols, and automatically clearing the segment identifier information corresponding to the faulty node based on route convergence operations. The centralized management system senses node failures or link state changes in real time based on LSP and reclaims the segmented routing identifier range corresponding to the faulty node with a set periodic delay.

8. A segmented routing information notification system based on an extended intra-domain routing protocol, comprising a microprocessor and a memory interconnected, characterized in that, The microprocessor is programmed or configured to execute the segmented routing information announcement method based on intra-domain routing protocol extensions as described in any one of claims 1 to 7.

9. A computer-readable storage medium storing a computer program or instructions, characterized in that, The computer program or instructions are programmed or configured to execute, via a processor, the segmented routing information announcement method based on any one of claims 1 to 7.

10. A computer program product, comprising a computer program or instructions, characterized in that, The computer program or instructions are programmed or configured to execute, via a processor, the segmented routing information announcement method based on any one of claims 1 to 7.

Citation Information

Patent Citations

  • Segment routing: PCE driven dynamic setup of forwarding adjacencies and explicit path

    CN105075201A

  • Ethernet segment identifier adjacency detection processing method, device, and storage medium

    WO2019201014A1