CN117640502A - Segment identification SID notification method, network equipment and storage medium - Google Patents

Segment identification SID notification method, network equipment and storage medium Download PDF

Info

Publication number
CN117640502A
CN117640502A CN202211674200.6A CN202211674200A CN117640502A CN 117640502 A CN117640502 A CN 117640502A CN 202211674200 A CN202211674200 A CN 202211674200A CN 117640502 A CN117640502 A CN 117640502A
Authority
CN
China
Prior art keywords
network device
message
tlv
sid
sids
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211674200.6A
Other languages
Chinese (zh)
Inventor
张卡
李臣习
王强
高远
张庭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN117640502A publication Critical patent/CN117640502A/en
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The application discloses a SID notification method, network equipment and a storage medium, wherein first network equipment receives a first message sent by second network equipment, and the first message comprises one or more SIDs. That is, the first network device receives SIDs advertised by other network devices. After acquiring SIDs advertised by other network devices, the first network device acquires priorities corresponding to the one or more SIDs, and further acquires forwarding path information according to the one or more SIDs and the priorities corresponding to the one or more SIDs. That is, when calculating the forwarding path, the first network device in the present application considers the priority corresponding to each SID, so that the forwarding path can be calculated by using the SID with high priority, and normal forwarding of the service packet is ensured.

Description

Segment identification SID notification method, network equipment and storage medium
The present application claims priority from chinese patent application No. 202211064394.8, entitled "a method, network device, and system for achieving SRv6 smooth evolution," filed on 1, 9, 2022, the entire contents of which are incorporated herein by reference.
Technical Field
The present disclosure relates to the field of communications technologies, and in particular, to a segment identifier (Segment Identifier, SID) notification method, a network device, and a storage medium.
Background
Segment Routing (SR) is a protocol designed based on the source Routing concept to forward packets over a network. Segment Routing divides the network path into segments and assigns SIDs to the segments and forwarding nodes in the network. The network device or the controller can obtain a forwarding path by orderly arranging the segments and the network nodes, and encapsulates the path into the message header for transmission along with the message. When the SR is deployed on an internet protocol version 6 (Internet Protocol Version, IPv 6) data plane, it is referred to as IPv6 segment routing (Segment Routing IPv, SRv 6).
The SID includes a location (Locator) field and a Function (Function) field, and the Locator has a routing Function, so it is generally unique in the SR domain. Other nodes in the network can be positioned to the node through the Locator network segment route, and all SIDs issued by the node can also reach through the Locator network segment route. After deploying locators on SR enabled devices, each device will independently allocate SIDs for forwarding and diffuse through IGP within the SR domain. After the SIDs are reported to the controller, the controller uses the SIDs to perform path calculation and sends the calculated paths to the head node through a protocol.
In the current network application, some service scenarios may involve modification of the locator deployment, for example: the network segment address of the locator does not meet the use requirements of the existing network. The scene needs to modify the locators, and the modification of the locators can cause the revocation of the forwarding SID, the deletion and reconstruction of the forwarding path, and the like, so that established services can be influenced.
Disclosure of Invention
The application provides a SID notification method, network equipment and a storage medium, so that a first network equipment can generate a forwarding path according to the priority of SIDs in a SID notification mode, and normal operation of a service is ensured.
In a first aspect of the present application, there is provided a method of SID advertisement, comprising: the first network equipment receives a first message sent by the second network equipment, wherein the first message comprises one or more SIDs; the first network device obtains the priorities corresponding to the one or more SIDs, and obtains forwarding path information according to the one or more SIDs and the priorities corresponding to the one or more SIDs. That is, when calculating the forwarding path, the first network device in the present application considers the priority corresponding to each SID, so that the forwarding path can be calculated by using the SID with high priority, and normal forwarding of the service packet is ensured.
The first network device may obtain priorities corresponding to one or more SIDs by:
one is that a first message includes priorities corresponding to one or more SIDs, and a first network device obtains the priorities corresponding to the one or more SIDs from the first message. In this implementation, the priority corresponding to one or more SIDs may be carried directly in the first packet, in which case the first network device may extract from the first packet.
One is that the first message includes a location and priorities corresponding to the location, and the first network device uses the priorities corresponding to the location as priorities corresponding to one or more SIDs. In this implementation manner, if the priority corresponding to the Locator in the SID is carried in the first packet, the priority corresponding to the Locator is taken as the priority corresponding to one or more SIDs.
One is that the first network device obtains from the source node the configured priority corresponding to the SID or SIDs.
The first network device may be a head node of a forwarding path corresponding to the forwarding path information, or the first network device is a controller. If the first network device is a controller, the first network device receives a first message sent by the second network device, including: the first network device receives a first message which is sent by the second network device and is generated based on a second message sent by the third network device. The second message includes the SID advertised by the third network device, the second network device is a head node of the forwarding path corresponding to the forwarding path information, and the third network device is other nodes except the head node on the forwarding path corresponding to the forwarding path information.
In some embodiments, if the first network device is a controller, the first network device sends the forwarding path information to the second network device after obtaining the forwarding path information.
In some embodiments, if the first packet is a border gateway protocol-Link State (BGP-LS) packet and the first packet includes one or more priorities corresponding to the SIDs, the priorities are carried in a first type length value (Type Length Value, TLV) of the first packet or a sub-TLV of the first TLV. The first TLV is SRv6 End SID TLV, SRv6 end.X SID TLV or SRv6 SID Structure TLV.
In some embodiments, if the first packet is a BGP-LS packet and the first packet includes a priority corresponding to a Locator, the priority is carried in a second TLV of the first packet or a sub-TLV of the second TVL. Wherein the second TLV is a Locator TLV.
In some embodiments, if the first packet is an intermediate system-to-intermediate system (ISIS-Intermediate system to intermediate system, ISIS) packet or an open shortest path first (Open Shortest Path First, OSPF) packet and the first packet includes a priority corresponding to one or more SIDs, the priority is carried in the first sub-TLV of the first packet or a sub-TLV of the first sub-TLV. The first sub-TLV is SRv6 End SID sub-TLV or SRv6 end.xsid sub-TLV.
In some embodiments, if the first packet is an intermediate system to intermediate system packet or an OSPF packet, the first packet includes a priority corresponding to a Locator, and the priority is carried in a third TLV of the first packet. Wherein the third TLV is a Locator TLV.
In some implementations, the forwarding path information includes a segment list SID list. Wherein each SID in the SID list is the highest priority SID of the corresponding network device, or a partial SID in the SID list is the highest priority SID of the corresponding network device.
Wherein the first network device may obtain forwarding path information by:
one is that the first network device obtains forwarding path information based on the first calculation rule, the one or more SIDs, and the priority of the one or more SIDs. Wherein the first calculation rule instructs the first network device to calculate a forwarding path based on the SID of the highest priority of the candidate network devices.
Alternatively, the first network device obtains forwarding path information based on the second calculation rule, the one or more SIDs, and the priority of the one or more SIDs. Wherein the second calculation rule instructs the first network device to calculate the forwarding path with the SID of the highest priority of the candidate network devices.
In some embodiments, the method further comprises: the first network device forwards the message by replacing the second forwarding path with the first forwarding path indicated by the forwarding path information. The second forwarding path is a path for forwarding the message before forwarding path information is acquired.
In some embodiments, the forwarding node corresponding to the first forwarding path is the same as the forwarding node of the second forwarding path, or the forwarding node corresponding to the first forwarding path is different from the forwarding node of the second forwarding path.
In some embodiments, the method further comprises: the first network device receives a notification message sent by a source node. The notification message is used for indicating the first network device to delete the Locator with low priority, and the source node is a node for notifying the SID. In this implementation, after completing the forwarding path switching, the source node may notify other nodes to delete the low-priority locators advertised by the source node.
In some embodiments, the method further comprises: the first network equipment receives a third message sent by the second network equipment, wherein the third message comprises a service SID and a priority corresponding to the service SID; and the first network equipment encapsulates the service SID in the service message according to the priority corresponding to the service SID.
In some embodiments, the priority corresponding to the Service SID is carried in a SRv Service Data sub-TLV in the second message.
In a second aspect of the present application, there is provided a method of SID advertisement, comprising: the second network equipment generates a first message, wherein the first message comprises one or more SIDs; the second network device sends a first message to the first network to trigger the first network device to obtain one or more SIDs and priorities corresponding to the one or more SIDs.
In some embodiments, the second network device generates a first message comprising: the second network device receives the second message sent by each third network device. The second message comprises a SID corresponding to the third network device, and the SID is determined by the third network device based on the deployed position Locator; the second network device generates a first message according to the SID in the second message.
The first network device is a controller, the second network device is a head node corresponding to the transmission service message, and the third network device is an intermediate node corresponding to the transmission service message.
In some embodiments, the first network device is a head node corresponding to the transmission service message, and the second network device is an intermediate node corresponding to the transmission service message.
In some embodiments, the first message includes priorities corresponding to one or more SIDs, or the first message includes a location Locator and a priority corresponding to the location Locator. The priorities corresponding to the locators are used for determining the priorities corresponding to one or more SIDs.
In some embodiments, if the first packet is a BGP-LS packet, the priorities corresponding to the one or more SIDs are carried in a first TLV of the first packet or a sub-TLV of the first TLV. The first TLV is SRv6 End SID TLV, SRv6 end.X SID TLV or SRv6 SID Structure TLV.
In some embodiments, if the first packet is a BGP-LS packet, the priority corresponding to the Locator is carried in a second TLV of the first packet or a sub-TLV of the second TVL. Wherein the second TLV is a Locator TLV.
In some embodiments, if the first packet is an intermediate system-to-intermediate system packet or an OSPF packet, the priority corresponding to the one or more SIDs is carried in a first sub-TLV of the first packet or a sub-TLV of the first sub-TLV. The first sub-TLV is SRv6 End SID sub-TLV or SRv6 end.x SID sub-TLV.
In some embodiments, if the first packet is an intermediate system to intermediate system packet or an OSPF packet, the priority corresponding to the Locator is carried in a third TLV of the first packet. Wherein the third TLV is a Locator TLV.
In some embodiments, the method further comprises: the second network equipment generates a third message, wherein the third message comprises a service SID and a priority corresponding to the service SID; and the second network equipment sends a third message to the first network equipment so that the first network equipment encapsulates the service SID with high priority in the service message according to the priority corresponding to the SID.
In some embodiments, the priority corresponding to the Service SID is carried in a SRv Service Data sub-TLV in the third message.
In a third aspect of the present application, there is provided a network device, the network device being a first network device in a network, comprising: a receiving unit, configured to receive a first packet sent by a second network device, where the first packet includes one or more SIDs; and the processing unit is used for obtaining the priorities corresponding to the one or more SIDs and obtaining forwarding path information according to the one or more SIDs and the priorities corresponding to the one or more SIDs.
In some embodiments, the first packet includes priorities corresponding to the one or more SIDs, and the processing unit is specifically configured to obtain the priorities corresponding to the one or more SIDs from the first packet.
In some embodiments, the first message includes a location Locator and priorities corresponding to the location Locator, and the processing unit is specifically configured to use the priorities corresponding to the location Locator as priorities corresponding to the one or more SIDs.
In some embodiments, the processing unit is specifically configured to obtain, by the first network device, a priority corresponding to the configured one or more SIDs from a source node.
In some embodiments, the first network device is a head node of a forwarding path corresponding to the forwarding path information, or the first network device is a controller.
In some embodiments, if the first network device is a controller, the receiving unit is specifically configured to receive a first packet generated based on a second packet sent by a second network device, where the second packet includes an SID advertised by a third network device, the second network device is a head node of a forwarding path corresponding to the forwarding path information, and the third network device is other nodes, except the head node, on the forwarding path corresponding to the forwarding path information.
In some embodiments, the apparatus further comprises: a transmitting unit;
The sending unit is configured to send the forwarding path information to the second network device.
In some embodiments, if the first message is a BGP-LS message, the priority is carried in a first TLV of the first message or a sub-TLV of the first TLV, where the first TLV is a SRv6End SID TLV, a srv6end.x SID TLV, or a SRv SID TLV SID Structure TLV.
In some embodiments, the first message is a BGP-LS message, and the priority is carried in a second TLV of the first message or a sub-TLV of a second TVL, where the second TLV is a Locator TLV.
In some embodiments, if the first packet is an intermediate system-to-intermediate system packet or an OSPF packet, the priority is carried in a first sub-TLV of the first packet or a sub-TLV of the first sub-TLV, and the first sub-TLV is a SRv6End SID sub-TLV or a SRv end.x SID sub-TLV.
In some embodiments, if the first packet is an intermediate system to intermediate system packet or an OSPF packet, the priority is carried in a third TLV of the first packet, and the third TLV is a Locator TLV.
In some embodiments, the forwarding path information includes a segment list SID list.
In some embodiments, each SID in the SID list is the highest priority SID of the corresponding network device, or a portion of the SIDs in the SID list are the highest priority SIDs of the corresponding network device.
In some embodiments, the processing unit is specifically configured to obtain forwarding path information according to a first calculation rule, the one or more SIDs and priorities of the one or more SIDs, where the first calculation rule instructs the first network device to calculate a forwarding path according to a SID of a highest priority of candidate network devices; alternatively, forwarding path information is obtained according to a second calculation rule, the one or more SIDs, and the priority of the one or more SIDs, the second calculation rule indicating that the first network device preferentially calculates forwarding paths using the SID of the highest priority of the candidate network devices.
In some embodiments, the processing unit is further configured to replace a second forwarding path with the first forwarding path indicated by the forwarding path information, where the second forwarding path is a path used for forwarding the packet before the forwarding path information is acquired.
In some embodiments, the forwarding node corresponding to the first forwarding path is the same as the forwarding node of the second forwarding path, or the forwarding node corresponding to the first forwarding path is different from the forwarding node of the second forwarding path.
In some embodiments, the receiving unit is further configured to receive a notification message sent by a source node, where the notification message is used to instruct the first network device to delete a Locator with a low priority, and the source node is a node that announces a SID.
In some embodiments, the receiving unit is further configured to receive a third packet sent by the second network device, where the third packet includes a service SID and a priority corresponding to the service SID;
and the processing unit is also used for packaging the service SID in the service message according to the priority corresponding to the service SID.
In some embodiments, the priority corresponding to the Service SID is carried in a SRv6 Service Data sub-TLV in the second packet.
In a fourth aspect of the present application, there is provided a network device, the network device being a second network device in a network, comprising: the processing unit is used for generating a first message, and the first message comprises one or more SIDs; and the sending unit is used for sending the first message to a first network to trigger the first network equipment to acquire the one or more SIDs and the priorities corresponding to the one or more SIDs.
In some embodiments, the processing unit is specifically configured to receive a second packet sent by each third network device, where the second packet includes a SID corresponding to the third network device, where the SID is determined by the third network device based on the deployed location; and generating a first message according to the SID in the second message.
In some embodiments, the first network device is a controller, the second network device is a head node corresponding to a transmission service message, and the third network device is an intermediate node corresponding to the transmission service message.
In some embodiments, the first network device is a head node corresponding to a transmission service message, and the second network device is an intermediate node corresponding to the transmission service message.
In some embodiments, the first message includes priorities corresponding to the one or more SIDs, or the first message includes a location Locator and a priority corresponding to the location Locator, where the priority corresponding to the location Locator is used to determine the priority corresponding to the one or more SIDs.
In some embodiments, if the first packet is a BGP-LS packet, the priority corresponding to the one or more SIDs is carried in a first TLV of the first packet or a sub-TLV of the first TLV, where the first TLV is a SRv6End SID TLV, a SRv6 end.x SID TLV, or a SRv6 SID Structure TLV.
In some embodiments, the first message is a BGP-LS message, and the priority corresponding to the Locator is carried in a second TLV of the first message or a sub-TLV of the second TVL, where the second TLV is a Locator TLV.
In some embodiments, if the first packet is an intermediate system-to-intermediate system packet or an OSPF packet, the priority corresponding to the one or more SIDs is carried in a first sub-TLV of the first packet or a sub-TLV of the first sub-TLV, where the first sub-TLV is a SRv End SID sub-TLV or a SRv end.x SID sub-TLV.
In some embodiments, if the first packet is an intermediate system to intermediate system packet or an OSPF packet, the priority corresponding to the Locator is carried in a third TLV of the first packet, where the third TLV is a Locator TLV.
In some embodiments, the processing unit is further configured to generate a third packet, where the third packet includes a service SID and a priority corresponding to the service SID; the sending unit is further configured to send the third packet to the first network device, so that the first network device encapsulates the service SID with high priority in the service packet according to the priority corresponding to the service SID.
In some embodiments, the priority corresponding to the Service SID is carried in a SRv6 Service Data sub-TLV in the third packet.
In a fifth aspect of the present application, there is provided a network device comprising: a processor and a memory;
The memory is used for storing instructions or computer programs;
the processor is configured to execute the instructions or computer program in the memory to cause the network device to perform the method in the first aspect or any of the possible designs in the first aspect or to perform the method in the second aspect or any of the possible designs in the second aspect.
In a sixth aspect of the present application, there is provided a network system, the system comprising: a first network device and a second network device; the first network device for performing the method of the first aspect or any of the possible designs of the first aspect; the second network device is configured to perform the method of the second aspect or any of the possible designs of the second aspect.
In a seventh aspect of the present application, there is provided a computer readable storage medium comprising instructions which, when run on a computer, cause the computer to perform the method of the first aspect or any of the possible designs of the first aspect or perform the method of the second aspect or any of the possible designs of the second aspect.
In an eighth aspect of the present application, there is provided a computer program product comprising a program which, when run on a processor, causes a computer or network device to perform the method of the first aspect or any of the possible designs in the first aspect or to perform the method of the second aspect or any of the possible designs in the second aspect.
According to the technical scheme, the first network equipment receives the first message sent by the second network equipment, and the first message comprises one or more SIDs. That is, the first network device receives SIDs advertised by other network devices. After acquiring SIDs advertised by other network devices, the first network device acquires priorities corresponding to the one or more SIDs, and further acquires forwarding path information according to the one or more SIDs and the priorities corresponding to the one or more SIDs. That is, when calculating the forwarding path, the first network device in the present application considers the priority corresponding to each SID, so that the forwarding path can be calculated by using the SID with high priority, and normal forwarding of the service packet is ensured. Further, in some scenarios involving the modification of the locators, the second network device sets the priority of the modified locators higher than that of the original locators, so that after receiving the modified locators, the first network device can calculate a new forwarding path according to the SID corresponding to the high-priority locators, and then replace the original forwarding path with the new forwarding path, so that even if the SID corresponding to the original locators is withdrawn, the service message forwarding will not lose packets, thereby improving the reliability of service forwarding.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings that are required to be used in the embodiments or the description of the prior art will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments described in the present application, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 is a flowchart of a SID notification method provided in an embodiment of the present application;
FIG. 2 is a schematic diagram of an application field provided in an embodiment of the present application;
fig. 3a is a schematic diagram of a SRv end.x SID TLV structure according to an embodiment of the present application;
fig. 3b is a schematic structural diagram of a sub TLV according to an embodiment of the present application;
fig. 3c is a schematic structural diagram of a SRv Locator TLV according to an embodiment of the present disclosure;
fig. 4a is a schematic diagram of a SRv end.x SID sub-TLV structure according to an embodiment of the present application;
fig. 4b is a schematic structural diagram of a sub-TLV according to an embodiment of the present application;
fig. 4c is a schematic diagram of a SRv Service Data sub-TLV structure according to an embodiment of the present application;
fig. 5 is a schematic structural diagram of a first network device according to an embodiment of the present application;
Fig. 6 is a schematic structural diagram of a second network device according to an embodiment of the present application;
fig. 7 is a schematic structural diagram of a network device according to an embodiment of the present application;
fig. 8 is a schematic structural diagram of another network device according to an embodiment of the present application.
Detailed Description
In order to make those skilled in the art better understand the solutions in the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only some embodiments of the present application, but not all embodiments.
The SR is a protocol designed based on the source routing concept and used for forwarding data packets on a network, and supports explicit specification of data packet forwarding paths at a source node. In the SRv application, forwarding path information is carried by a segment routing header (segment routing header, SRH) containing a segment identification list (SID list). The SID list includes a plurality of Segment Identifiers (SIDs) arranged in sequence, each representing a plurality of segments, each segment being an instruction or set of instructions for processing a message. The SRH is encapsulated in a message, and the processing procedure of the message is carried by the SR network through the segment identification list therein.
According to the difference of functions, the nodes in the SRv network are divided into three roles: head node, transit node, and tail (Endpoint) node. In the embodiment of the present application, the network node and the network device have the same meaning, and all refer to a switch, a router, a virtual routing device, a virtual forwarding device, or other forwarding devices.
Wherein, the head node: the method is responsible for inserting an SRH extension header into an IPv6 header of an IPv6 message, or adding the IPv6 header into the message and inserting the SRH extension header. The node introduces the message flow into the SRv path defined by Segment List in SRH. If only one SID is contained in the Segment List and no information needs to be carried in the SRH, the destination address of the IPv6 header may be set to the SID without inserting the SRH. Of course, SRH can also be inserted. If multiple SIDs are contained in the Segment List, then an SRH needs to be inserted. The source node may be a host that generates a SRv message or may be an edge device of SRv domain.
Transfer node: on the SRv path of the message, SRv processing is not participated, and only ordinary IPv6 message forwarding is executed. The transit node may be a node supporting SRv6 or may be a node not supporting SRv.
Endpoint node: SRv6 relevant processing is performed on the received SRv6 message. The IPv6 destination address of the received SRv message must be the SID configured on the Endpoint node, which needs to process as instructed by the SID and update the SRH.
SRv6 defines a plurality of types of SIDs, different SIDs having different roles, indicating different forwarding actions. Wherein the SID is used to define a certain network function, representing a certain network instruction. SRv6 SIDs take the form of IPv6 addresses. For example, end SID: for identifying a certain destination address prefix in the network. The forwarding action corresponding to the End SID is to subtract 1 from the SL value in the SRH, take out the next SID from the SRH to update to the destination address of the IPv6 message header according to the SL, and look-up table and forward according to the IPv6 destination address. SIDs of Endpoint (Endpoint with cross-connect to an array of layer-3adjacencies, end.X) cross-connect to the L3 contiguous array: the forwarding action corresponding to the end.X SID is to forward to a specific next hop according to the three-layer interface bound by the SID.
SRv6 SID consists of two parts, namely a location (Locator) field and a Function (Function) field, the format is Locator: function, wherein Locator occupies the high-order bits of the IPv6 address, and Function part occupies the rest of the IPv6 address. The Locator has a routing function, so is generally unique within the SR domain. Other nodes in the network can be positioned to the node through the Locator network segment route, and all SRv SIDs issued by the node can also reach through the Locator network segment route. Functions represent instructions (instructions) of the device, which are preset by the device, and the Function part is used to instruct the generating node of SRv SID to perform corresponding functional operations.
The Function part may also separate an optional parameter segment (fragments), where the SRv SID format is changed to a Locator, and the fragments occupy the low-order bits of the IPv6 address, and through the fragments field, some information such as flow and service of the message may be defined. One important application is the CE multi-homing scenario of EVPN VPLS, where the horizontal segmentation is achieved with the artifacts when forwarding BUM traffic. Both functions and artifacts are definable, which also reflects that the SRv SID structure is more advantageous for programming networks.
After deployment of locators on SRv enabled devices, each device would independently allocate SID and/or traffic SID for forwarding and to diffuse within SR domains through an interior gateway protocol (interior Gateway Protocols, IGP). After the SIDs are reported to the controller, the controller uses the SIDs to perform path computation, and the computed paths issue segment routing policies (SR Policy) to the head node via border gateway protocol (Border Gateway Protocol, BGP) or path computation element communication protocol (Path Computation Element Communication Protocol, PCEP).
Some service scenarios may involve modification of the locator deployment, which may cause revocation of the original forwarding SID, so that the forwarding path in the SR Policy is invalid, which may affect the established service.
Based on this, the embodiment of the application provides a SID notification method, when a SID deployed on a network device is updated, a first message is sent to a first network device, where the first message includes one or more SIDs. The first network device obtains the priorities corresponding to the one or more SIDs. The first network device obtains forwarding path information according to one or more SIDs and priorities corresponding to the one or more SIDs. That is, after receiving the SID including the priority, the first network device calculates a forwarding path according to the priority of the SID, so as to obtain a forwarding path composed of the SID with high priority, thereby forwarding the service packet by using the forwarding path.
In order to facilitate understanding of the technical solutions corresponding to the embodiments of the present application, the following description will be given with reference to the accompanying drawings.
Referring to fig. 1, the flowchart of a SID notification method provided in an embodiment of the present application, as shown in fig. 1, includes:
s101: the second network device generates a first message.
In this embodiment, the second network device generating the first packet may include the following implementation manners:
when a new Locator is deployed on a second network device on the forwarding path, the second network device may acquire the SID according to the newly deployed Locator, and generate a first message according to the SID. Wherein the first message contains one or more SIDs. That is, the second network device generates the first message using its corresponding SID.
In another implementation manner, the second network device receives a second message sent by each third network device, where the second message includes a SID corresponding to the third network device; the second network device generates a first message according to the SID in the second message. The SID corresponding to the third network device is determined by the third network device based on the deployed Locator. That is, the second network device may receive the SID advertised by the other network device and generate a first message based on the SID advertised by the other network device, where the first message includes the SID advertised by the other network device and the SID of the second network device itself.
The first message may further include priorities corresponding to one or more SIDs, or the first message includes priorities corresponding to locators, where the priorities of SIDs are determined according to the priorities of locators.
The priority corresponding to the SID can be obtained by directly taking the priority corresponding to the Locator as the priority corresponding to the SID; the other is to generate the priority corresponding to the SID according to the priority corresponding to the Locator. Specifically, the priority corresponding to the SID may be obtained according to the priority corresponding to the Locator and a preset correspondence, where the preset correspondence includes a correspondence between the priority of the Locator and the priority of the SID. Wherein, the one or more SID types included in the first message may be END or END.
S102, the second network device sends a first message to the first network device.
Wherein the first network device may be a head node or a controller of the forwarding path. Either the head node or the controller, the forwarding path may be calculated using the SID in the first message. When the first network device is a controller, the second network device may be a head node corresponding to the transmission service message, and the third network device is an intermediate node corresponding to the transmission service message. For example, in the application scenario shown in fig. 2, a client edge device (CE) and a network device edge device (PE) are included, and an intermediate transmission device P is included. The first network device is the controller in fig. 2, the second network device is PE1, and the third network device is a P1, P2, and PE2 node. When the first network device is a head node, the second network device may be an intermediate node corresponding to the transmission service message. For example, in fig. 2, the first network device is PE1, and the second network devices are P1, P2, and PE2.
S103: the first network device receives the first message and acquires priorities corresponding to one or more SIDs.
In this embodiment, after obtaining one or more SIDs through the first packet, the first network device also obtains priorities corresponding to the one or more SIDs.
The first network device may obtain priorities corresponding to one or more SIDs by:
in one implementation, if the first packet includes priorities corresponding to one or more SIDs, the first network device obtains the priorities corresponding to the one or more SIDs from the first packet. That is, the first message includes one or more SIDs and priorities corresponding to the one or more SIDs, and the first network device obtains the priority corresponding to each SID in the one or more SIDs by parsing the first message.
In another implementation manner, if the first packet includes a Locator and a priority corresponding to the Locator, the first network device uses the priority corresponding to the Locator as the priority corresponding to one or more SIDs. That is, when the priority corresponding to the Locator is included in the first message, the first network device obtains the Locator corresponding to each SID from one or more SIDs included in the first message, matches the Locator with the Locator included in the first message, and takes the priority corresponding to the Locator as the priority of the matched SID after the matching is successful.
In yet another implementation, the first network device obtains, from the source node, priorities corresponding to the configured one or more SIDs. That is, the first network device may obtain, in advance, the priority configured for the SID from the source node advertising the SID, and after the first network device receives the first packet, determine, by parsing each SID in one or more SIDs in the first packet, the priority corresponding to the SID. The first network device may obtain the configured priority corresponding to the one or more SIDs from the source node through a target communication protocol, where the target communication protocol may be a communication protocol that is pre-negotiated by the first network device with the source node, for example, the target communication protocol is a network configuration protocol (Network Configuration Protocol, netConf), or is a NetConf-Yang protocol.
And S104, the first network equipment obtains forwarding path information according to the one or more SIDs and the priorities corresponding to the one or more SIDs.
In this embodiment, after acquiring one or more SIDs and priorities corresponding to the SIDs, the first network device calculates a forwarding path according to the one or more SIDs and priorities corresponding to the SIDs, and obtains forwarding path information. The segment list SID list corresponding to the forwarding path information contains one or more SIDs, where the plurality of SIDs refers to the SID of each node through which the head node reaches the destination node, and not just the SID set by the second network. Each SID in the SID list is the highest priority SID of the corresponding network device, or a partial SID in the SID list is the highest priority SID of the corresponding network device.
It should be noted that the following two scenarios may be applied in this embodiment:
one is that the first network device calculates a forwarding path by using the SID with the priority for the first time, and obtains forwarding path information, where the SIDs included in the forwarding path information all have priorities. That is, the scenario refers to a scenario in which the first network device switches from SID to SID without priority when calculating the forwarding path.
Alternatively, the first network device has calculated the forwarding path (i.e., the second forwarding path) using the SID carrying the priority, and when receiving the SID carrying the higher priority, recalculates the forwarding path (i.e., the first forwarding path) using the SID carrying the higher priority again, and switches from the second forwarding path to the first forwarding path. The forwarding node corresponding to the first forwarding path may be the same as or different from the forwarding node corresponding to the second forwarding path, and the priority of the SID corresponding to the first forwarding path is higher than the priority of the SID corresponding to the second forwarding path. For example, in some scenarios involving locator modification, the second network device sets the priority of the modified locator higher than that of the original locator, so that after receiving the modified locator, the first network device may calculate a new forwarding path according to the SID corresponding to the high priority locator, and replace the original forwarding path with the new forwarding path, so that the service packet is forwarded without packet loss even if the SID corresponding to the original locator is revoked, thereby improving the reliability of service forwarding.
The first network device obtaining forwarding path information according to one or more SIDs and priorities corresponding to the one or more SIDs may include the following two implementations:
one is that the first network device obtains forwarding path information according to the first calculation rule, the one or more SIDs, and priorities corresponding to the one or more SIDs. Wherein the first calculation rule instructs the first network device to calculate a forwarding path based on the SID of the highest priority of the candidate network devices. The SID with the highest priority of the candidate network device refers to the SID with the highest priority among the SIDs corresponding to the candidate network device.
Alternatively, the first network device obtains forwarding path information according to the second calculation rule, the one or more SIDs, and priorities corresponding to the one or more SIDs. Wherein the second calculation rule instructs the first network device to calculate the forwarding path with the SID of the highest priority of the candidate network devices.
That is, the first network device may pre-configure the calculation rule to control the first network device to calculate the forwarding path using the SID of high priority strictly or to preferentially select the SID calculation path of high priority. Specifically, the calculation rule can be conveniently configured by a user by setting a switch. The step of strictly using the SID with high priority to calculate the forwarding path means that when the first network device calculates the forwarding path, each node on the forwarding path is required to have the SID with high priority, otherwise, the path calculation fails. For example, it may be specified that a forwarding path is calculated using a SID with a priority of 100 strictly, and if the SID of a forwarding node has a priority of 200, the smaller the value corresponding to the priority, the higher the priority, and the path calculation fails because the SID of the forwarding node has a lower priority than the specified priority. The preferred high-priority SID calculation path means that the first network device, when calculating the forwarding path, preferentially selects the high-priority SID calculation path, and if there is no high-priority SID, can continue to calculate the forwarding path using the low-priority SID. In general, it is preferable that the high priority SID calculation path be applied in a scenario where the intermediate node does not support the issuing SID priority.
For example, in the application scenario shown in fig. 2, PE1 is a head node corresponding to a forwarding path, and PE2 is a tail node corresponding to the forwarding path. The forwarding nodes corresponding to the forwarding paths comprise PE1, P2 and PE2, and before deploying a new Locator, SIDs corresponding to the forwarding nodes are respectively A1:100:1, A1:200: 1. a1:300:1 and A1:400:1, the SID contained in the current forwarding path is A1:100:1, A1:200: 1. a1:300:1 and A1:400:1. When a new Locator is deployed on each device (PE 1, P2, PE 2) and the priority of the Locator is specified, each device issues a new SID by using the new Locator, the priority of the SID is the priority specified by the Locator, or each device issues a new SID by using the new Locator and carries the priority of the Locator in a message for issuing the new SID. The 4 devices respectively correspond to the new SIDs of B1:100:1, B1:200:1, B1:300:1 and B1:400:1, and report the corresponding new SIDs to the controller so that the controller can recalculate the paths according to the priorities. If the reported message includes the SID and the priority corresponding to the SID, the controller recalculates the forwarding path by using the SID with high priority when calculating the path, wherein the forwarding path includes SIDs of B1:100:1, B1:200:1, B1:300:1 and B1:400:1 respectively. If the reported message includes the SID and the priority corresponding to the Locator, the controller firstly takes the priority corresponding to the Locator as the priority of the SID when calculating the path, and then calculates the forwarding path by using the SID with high priority.
When the first network device is a head node of the forwarding path, the first network device replaces the second forwarding path with the first forwarding path indicated by the forwarding path information after obtaining the forwarding path information, and then encapsulates the first forwarding path in the service message after receiving the service message, so as to forward the service message by using the first forwarding path. When the first network device is a controller, the first network device sends forwarding path information to the second network device, so that the second network device encapsulates the forwarding path information in the service message, and further forwards the service message by using the forwarding path information. And after receiving the forwarding path information, the second network device switches the original forwarding path to a new forwarding path indicated by the forwarding path information if the original forwarding path exists, so as to forward the message by using the new forwarding path.
In some embodiments, the first network device may further receive a notification message sent by the source node, so as to delete the low-priority Locator and/or SID according to the notification message. The notification message is used for indicating the first network device to delete the Locator and/or the SID with low priority, and the source node is a node for notifying the SID. Specifically, when the switching from the original forwarding path to the new forwarding path is completed, the source node may send a notification message to other nodes, so that the other nodes delete the low-priority locators and/or SIDs advertised by the source node.
In some embodiments, when a new Locator is redeployed on the second network device, the second network device acquires a service SID corresponding to the second network device and a priority corresponding to the service SID; and the second network equipment generates a third message according to the service SID and the priority corresponding to the service SID, and sends the third message to the first network equipment. The third message includes the service SID and the priority corresponding to the service SID, so that the first network device encapsulates the service SID with high priority in the service message. Typically, the first network device is a head node on the forwarding path, which encapsulates the service SID in a service message after receiving the service SID. Wherein the second network device is a tail node on the forwarding path, and the service SID may be a segment identification (virtual private network segment identification, VPN SID) of the virtual private network. In addition, the SIDs with lower priority can be deleted or replaced according to the priority corresponding to the service SIDs, so that the message can be processed by using the service SIDs with high priority.
Wherein the SID is a peer SID when the first network device and the second network device are network devices that span a network domain. Specifically, BGP pees (Egress Peer Engineering) can be utilized to assign BGP pees to paths between 2 different network domains, which are passed directly to the controller through BGP-LS protocol extensions. For the forwarding device which does not establish the BGP-LS neighbor with the controller, the Peer SID information may be transferred to the BGP neighbor through BGP-LS, and then transferred to the controller through BGP-LS by the BGP neighbor. Among other things, GPEPE can assign Peer Node Segment (Peer-Node SID), peer Adjacency Segment (Peer-Adj SID) and Peer-Set SIDs to peers.
The Peer-Node SID is used to indicate a Peer Node. Each time a BGP session is established, a Peer-Node SID is assigned. When the EBGP neighbor is established based on a Loopback (Loopback) interface, the Peer-Node SID corresponds to a plurality of physical links, and the Peer-Node SID for the neighbor corresponds to a plurality of egress interfaces. That is, the Peer-Node SID directs traffic to the relevant Peer.
The Peer-Adj SID is used to indicate an adjacency to the Peer. The EBGP neighbors established based on the Loopback interface can correspond to a plurality of physical links, each adjacency can be allocated with a Peer-Adj SID, and the designated links can only be used for forwarding during forwarding. I.e. the Peer-Adj SID directs traffic to the relevant Peer via a specific Peer link.
The Peer-Set SID is used to indicate a Set of neighbors. BGP supports program a Set of neighbors as a Set and then assign a SID based on the Set, referred to as a Peer-Set SID, which can correspond to multiple egress interfaces when forwarded. One Peer-Set consists of a plurality of Peer-nodes and Peer-Adj, then the SID assigned for that Peer-Set corresponds to a plurality of Peer-Node SIDs and Peer-Adj SIDs. That is, the Peer-Set SID is used to direct traffic to a Set of PeerNode-SIDs, peerAdj-SIDs.
When the first packet carries a priority, the priority may carry a TLV, a sub-LTV, or a sub-TLV in the first packet. The sub-TLV and the sub-TLV may be an original TLV in the first packet, or a TLV newly added in the first packet, which is not limited herein. The first message types are different, and the carrying modes are also different, which will be described below.
The first message is BGP-LS message
One is that when the first message includes priorities corresponding to one or more SIDs, the priorities may be carried in the first TLV of the first message or a sub-TLV of the first TLV. The first TLV may be a SID TLV, in particular a SRv6 End SID TLV, a SRv6 end.x SID TLV or a SRv6 SID Structure TLV. . Referring to the schematic diagram of the SRv6 end.x SID TLV format shown in fig. 3a, the SRv end.x SID TLV includes a Type (Type) field, a Length (Length) field, a tail node behavior (Endpoint Behavior) field, FLags (FLags) field, an Algorithm (Algorithm) field, a Weight (Weight) field, a Reserved (Reserved) field, a SID, and sub-TLVs, etc. The priority may be carried in the reserved field or in a sub-TLV.
The format of the sub-TLV is shown in fig. 3b, where the Type (Type) may be defined as Priority, the Length (Length) may be 4 bytes, and the Priority: 0-255, default to 0, lowest priority, higher priority with larger value.
One is that when the first message includes a priority corresponding to the Locator, the priority is carried in the second TLV of the first message or carried in a sub-TLV corresponding to the second TLV. The second TLV may be a Locator TLV. Referring to the schematic diagram of the SRv Locator TLV format shown in FIG. 3c, the SRv Locator TLV includes a Type field, a Length field, a FLags field, an Algorithm field, a Reserved field, a Metric field, and a sub-TLV. The priority may be carried in the reserved field or in a sub-TLV. Wherein the format of the sub-TLV can be seen in fig. 3 b.
The first message is an intermediate system-to-intermediate system message or an OSPF message
One is that when the first packet includes one or more priorities corresponding to the SIDs, the priorities are carried in the first sub-TLV of the first packet or in sub-TLVs corresponding to the first sub-TLV. For example, the first sub-TLV may be a SRv6 End SID sub-TLV or a SRv end.x SID sub-TLV. The SRv End SID sub-TLV may be a sub-TLV corresponding to the SRv6 Locator TLV, and the SRv6 end.x SID sub-TLV may be a sub-TLV corresponding to the E-Router-Link TLV. Referring to fig. 4a, which is a schematic diagram of SRv end.x SID sub-TLV format, the SRv end.x SID sub-TLV includes a Type (Type) field, a Length (Length) field, a tail node behavior (Endpoint Behavior) field, FLags (FLags) field, an Algorithm (Algorithm) field, a Weight (Weight) field, a SID, a Length of sub-TLV, a sub-TLV, and the like. The priority may be carried in a bit not yet occupied in the flag field or in a sub-TLV.
When the sub-TLV is the original TLV in the first message, then the sub-TLV may be a SRv6 SID Structure sub-TLV. When the sub-TLV is a TLV newly added in the first packet, the format of the sub-TLV may be as shown in fig. 4b, where the type (Yype) may be defined as priority, and the Length (Length) may be 2 bytes, and the priority (priority): 0-255, default to 0, lowest priority, higher priority with larger value.
Alternatively, when the first packet includes a priority corresponding to the Locator, the priority is carried in the third TLV of the first packet. The third TLV may be a SRv6 Locator TLV.
In some embodiments, the Service SID and the priority corresponding to the Service SID may be carried in the third packet, and the priority may be carried in a SRv Service Data sub-TLV. The format of the SRv Service Data sub-TLV is shown in fig. 4 c.
Based on the foregoing method embodiments, a network device provided in the embodiments of the present application will be described below with reference to the accompanying drawings.
Referring to fig. 5, a block diagram of a network device according to an embodiment of the present application is provided, where the network device 500 is capable of implementing the functions of the first network device in the method example described in fig. 1. Or may implement the functionality of PE1 or the controller in the embodiment shown in fig. 2. The network device 500 may include: a receiving unit 501 and a processing unit 502. The above-mentioned units may perform the relevant functions of the first network device in the above-mentioned method embodiments.
The receiving unit 501 may perform S103 in the embodiment shown in fig. 1; the processing unit 502 may execute S103 and S104 in the embodiment shown in fig. 1 described above. Wherein the receiving unit 501 may also perform other processes performed by the first network device in the techniques described herein. Reference is made to the detailed description of the corresponding steps in the embodiment shown in fig. 1, and details are not repeated here. For example, the receiving unit 501 is configured to perform the above method embodiment, where the first network device receives the third message sent by the second network device, and receives the notification message sent by the source node, and so on.
Optionally, the network device 500 may further include: a transmitting unit;
the sending unit is configured to send the forwarding path information to the second network device.
Optionally, the processing unit 502 is further configured to replace a second forwarding path with the first forwarding path indicated by the forwarding path information, where the second forwarding path is a path used for forwarding the message before the forwarding path information is acquired.
Referring to fig. 6, a block diagram of a network device according to an embodiment of the present application is provided, where the network device 600 is capable of implementing the functions of the second network device in the method example described in fig. 1. Or may implement the functionality of the nodes such as PE1 or PE2 in the embodiment shown in fig. 2. The network device 600 may include: a processing unit 601 and a transmitting unit 602. The above-described units may perform the relevant functions of the second network device in the above-described method embodiments.
The processing unit 601 may execute S101 in the embodiment shown in fig. 1; the transmitting unit 602 may perform S102 in the embodiment shown in fig. 1 described above. Wherein the processing unit 601 may also perform other processes performed by the second network device in the techniques described herein. Reference is made to the detailed description of the corresponding steps in the embodiment shown in fig. 1, and details are not repeated here. For example, the processing unit 601 is configured to execute the method in the embodiment of the present invention to generate a third packet, where the third packet includes a service SID and a priority level corresponding to the service SID; a sending unit 602, configured to send the third message to the first network device by using the second network device in the above method example.
It should be noted that, in the embodiment of the present application, the division of the units is schematic, which is merely a logic function division, and other division manners may be implemented in actual practice. Each functional unit in the embodiments of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. For example, in the above embodiment, the processing unit and the transmitting unit may be the same unit or may be different units. The integrated units may be implemented in hardware or in software functional units.
Fig. 7 is a schematic structural diagram of a network device provided in the embodiment of the present application, where the network device may be, for example, a first network device, a second network device, or a third network device in the embodiment of the method described above, or may also be a specific implementation of the network device 500 in the embodiment shown in fig. 5 or the network device 600 in the embodiment shown in fig. 6.
The network device 700 includes: processor 710, communication interface 720, and memory 730. Where the number of processors 710 in the communication device 700 may be one or more, one processor is illustrated in fig. 7. In the present embodiment, processor 710, communication interface 720, and memory 730 may be connected by a bus system or other means, such as by bus system 740 in fig. 7.
The processor 710 may be a CPU, an NP, or a combination of a CPU and NP. Processor 710 may further include a hardware chip. The hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (programmable logic device, PLD), or a combination thereof. The PLD may be a complex programmable logic device (complex programmable logic device, CPLD), a field-programmable gate array (field-programmable gate array, FPGA), general-purpose array logic (generic array logic, GAL), or any combination thereof.
Memory 730 may include volatile memory (RAM), such as random-access memory (RAM); memory 730 may also include non-volatile memory (nonvolatile memory), such as flash memory (flash memory), hard disk (HDD) or Solid State Drive (SSD); memory 730 may also include a combination of the above types of memory. The memory 730 may store, for example, the aforementioned segment routing SR policies, etc.
Memory 730 optionally stores an operating system and programs, executable modules or data structures, or a subset thereof, or an extended set thereof, where the programs may include various operational instructions for performing various operations. The operating system may include various system programs for implementing various underlying services and handling hardware-based tasks. Processor 710 may read the program in memory 730 to implement the method provided in the embodiments of the present application.
The memory 730 may be a storage device in the communication device 700 or may be a storage device independent of the communication device 700.
The bus system 740 may be a peripheral component interconnect (peripheral component interconnect, PCI) bus, or an extended industry standard architecture (extended industry standard architecture, EISA) bus, among others. The bus system 740 may be divided into an address bus, a data bus, a control bus, and the like. For ease of illustration, only one thick line is shown in fig. 7, but not only one bus or one type of bus.
Fig. 8 is a schematic structural diagram of a network device 800 provided in the embodiment of the present application, where the network device may be, for example, a first network device, a second network device, or a third network device in the embodiment of the method described above, or may also be a specific implementation of the network device 500 in the embodiment shown in fig. 5 or the device 600 in the embodiment shown in fig. 6.
The network device 800 includes: a main control board 810 and an interface board 830.
The main control board 810 is also called a main processing unit (main processing unit, MPU) or a routing processing card (route processor card), and the main control board 810 controls and manages various components in the network device 800, including routing computation, device management, device maintenance, and protocol processing functions. The main control board 810 includes: a central processor 811 and a memory 812.
Interface board 830 is also referred to as a line interface unit card (line processing unit, LPU), line card, or service board. The interface board 830 is used to provide various service interfaces and to implement forwarding of data packets. The service interfaces include, but are not limited to, ethernet interfaces, such as flexible ethernet service interfaces (Flexible Ethernet Clients, flexE Clients), POS (Packet over SONET/SDH) interfaces, etc. The interface board 830 includes: a central processor 831, a network processor 832, a forwarding table entry memory 834, and a physical interface card (physical interface card, PIC) 833.
The central processor 831 on the interface board 830 is used to control and manage the interface board 830 and communicate with the central processor 811 on the main control board 810.
The network processor 832 is configured to implement forwarding processing of the message. The network processor 832 may be in the form of a forwarding chip. Specifically, the processing of the uplink message includes: processing a message input interface and searching a forwarding table; the processing of the downstream message includes forwarding table lookup and the like.
The physical interface card 833 is used to implement the docking function of the physical layer, from which the original traffic enters the interface board 830, and the processed messages are sent out from the physical interface card 833. The physical interface card 833 includes at least one physical interface, also referred to as a physical port. The physical interface card 833, also called a daughter card, may be mounted on the interface board 830, and is responsible for converting the photoelectric signal into a message, performing validity check on the message, and forwarding the message to the network processor 832 for processing. In some embodiments, the central processor 831 of the interface board 803 may also perform the functions of the network processor 832, such as implementing software forwarding based on a general purpose CPU, so that the network processor 832 is not required in the physical interface card 833.
Optionally, the network device 800 comprises a plurality of interface boards, e.g. the network device 800 further comprises an interface board 840, the interface board 840 comprising: central processor 841, network processor 842, forwarding table entry memory 844, and physical interface card 843.
Optionally, the network device 800 further comprises a switching network board 820. The switch fabric 820 may also be referred to as a switch fabric unit (switch fabric unit, SFU). In the case of a network device having a plurality of interface boards 830, the switch fabric 820 is used to complete the data exchange between the interface boards. For example, interface board 830 and interface board 840 may communicate through switch fabric 820.
The main control board 810 is coupled to the interface board 830. For example. The main control board 810, the interface board 830 and the interface board 840 are connected with the system backboard through a system bus to realize intercommunication. In one possible implementation, an inter-process communication protocol (inter-process communication, IPC) channel is established between the main control board 810 and the interface board 830, and communication is performed between the main control board 810 and the interface board 830 through the IPC channel.
Logically, network device 800 includes a control plane that includes a main control board 810 and a central processor 831, and a forwarding plane that includes various components that perform forwarding, such as a forwarding table entry memory 834, a physical interface card 833, and a network processor 832. The control plane performs the functions of router, generating forwarding table, processing signaling and protocol message, configuring and maintaining the state of the device, etc., and the control plane issues the generated forwarding table to the forwarding plane, where the network processor 832 forwards the message received by the physical interface card 833 based on the forwarding table issued by the control plane. The forwarding table issued by the control plane may be stored in forwarding table entry memory 834. In some embodiments, the control plane and the forwarding plane may be completely separate and not on the same device.
It should be understood that the operations on the interface board 840 are consistent with the operations of the interface board 830 in the embodiment of the present application, and are not repeated for brevity. It should be understood that the network device 800 of the present embodiment may correspond to the first network device in the foregoing method embodiments, and the main control board 810, the interface board 830, and/or the interface board 840 in the network device 800 may implement the various steps in the foregoing method embodiments, which are not described herein for brevity.
It should be understood that the master control board may have one or more pieces, and that the master control board may include a main master control board and a standby master control board when there are more pieces. The interface boards may have one or more, the more data processing capabilities the network device is, the more interface boards are provided. The physical interface card on the interface board may also have one or more pieces. The switching network board may not be provided, or may be provided with one or more blocks, and load sharing redundancy backup can be jointly realized when the switching network board is provided with the plurality of blocks. Under the centralized forwarding architecture, the network device may not need to exchange network boards, and the interface board bears the processing function of the service data of the whole system. Under the distributed forwarding architecture, the network device may have at least one switching fabric, through which data exchange between multiple interface boards is implemented, providing high-capacity data exchange and processing capabilities. Therefore, the data access and processing power of the network devices of the distributed architecture is greater than that of the devices of the centralized architecture. Alternatively, the network device may be in the form of only one board card, i.e. there is no switching network board, the functions of the interface board and the main control board are integrated on the one board card, and the central processor on the interface board and the central processor on the main control board may be combined into one central processor on the one board card, so as to execute the functions after stacking the two, where the data exchange and processing capability of the device in this form are low (for example, network devices such as a low-end switch or a router). Which architecture is specifically adopted depends on the specific networking deployment scenario.
In some possible embodiments, the network device may be implemented as a virtualized device. For example, the virtualized device may be a Virtual Machine (VM) running a program for sending message functions, the virtual machine deployed on a hardware device (e.g., a physical server). Virtual machines refer to complete computer systems that run in a completely isolated environment with complete hardware system functionality through software emulation. The virtual machine may be configured as a network device. For example, the network device may be implemented based on a generic physical server in combination with network function virtualization (network functions virtualization, NFV) technology. The network device is a virtual host, a virtual router, or a virtual switch. Those skilled in the art can virtually obtain the network device with the above functions on the general physical server by combining with the NFV technology through reading the present application, and details are not repeated here.
It should be understood that the network devices in the above various product forms have any function of the first network device or the second network device in the above method embodiments, which is not described herein.
The embodiment of the application also provides a chip, which comprises a processor and an interface circuit, wherein the interface circuit is used for receiving the instruction and transmitting the instruction to the processor; a processor, such as one specific implementation of the apparatus 600 shown in fig. 6, may be used to perform the above-described methods. Wherein the processor is coupled to a memory for storing programs or instructions which, when executed by the processor, cause the system-on-a-chip to implement the method of any of the method embodiments described above.
Alternatively, the processor in the system-on-chip may be one or more. The processor may be implemented in hardware or in software. When implemented in hardware, the processor may be a logic circuit, an integrated circuit, or the like. When implemented in software, the processor may be a general purpose processor, implemented by reading software code stored in a memory.
Alternatively, the memory in the system-on-chip may be one or more. The memory may be integral with the processor or separate from the processor, and is not limited in this application. For example, the memory may be a non-transitory processor, such as a ROM, which may be integrated on the same chip as the processor, or may be separately provided on different chips, and the type of memory and the manner of providing the memory and the processor are not specifically limited in this application.
The system-on-chip may be, for example, a field programmable gate array (field programmable gate array, FPGA), an application-specific integrated chip (ASIC), a system-on-chip (SoC), a central processing unit (central processor unit, CPU), a network processor (network processor, NP), a digital signal processing circuit (digital signal processor, DSP), a microcontroller (micro controller unit, MCU), a programmable controller (programmable logic device, PLD) or other integrated chip.
The embodiment of the application also provides a network equipment system, which comprises a first network equipment and a second network equipment, wherein the first network equipment performs the corresponding related methods of the above embodiments S103-S104; the second network device executes the relevant method corresponding to S101-S102 in the above embodiment.
The present embodiments also provide a computer-readable storage medium comprising instructions or a computer program which, when run on a computer, causes the computer to perform the SID advertisement method provided by the above embodiments.
The present embodiments also provide a computer program product comprising instructions or a computer program which, when run on a computer, cause the computer to perform the SID advertisement method provided by the above embodiments.
The terms "first," "second," "third," "fourth" and the like in the description and in the claims of this application and in the above-described figures, if any, are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate such that the embodiments described herein may be implemented in other sequences than those illustrated or otherwise described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
It will be clear to those skilled in the art that, for convenience and brevity of description, specific working procedures of the above-described systems, apparatuses and units may refer to corresponding procedures in the foregoing method embodiments, which are not repeated herein.
In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, e.g., the division of units is merely a logical service division, and there may be additional divisions in actual implementation, e.g., multiple units or components may be combined or integrated into another system, or some features may be omitted, or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical or other form.
The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed over a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each service unit in each embodiment of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software business units.
The integrated units, if implemented in the form of software business units and sold or used as stand-alone products, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application may be embodied in essence or a part contributing to the prior art or all or part of the technical solution in the form of a software product stored in a storage medium, including several instructions to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods of the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
Those of skill in the art will appreciate that in one or more of the examples described above, the services described herein may be implemented in hardware, software, firmware, or any combination thereof. When implemented in software, the services may be stored in a computer-readable medium or transmitted as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage media may be any available media that can be accessed by a general purpose or special purpose computer.
The foregoing embodiments have been provided for the purpose of illustrating the objects, technical solutions and advantageous effects of the present application in further detail, and it should be understood that the foregoing embodiments are merely exemplary embodiments of the present application.
The above embodiments are only for illustrating the technical solution of the present application, and not for limiting the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some technical features thereof can be replaced by equivalents; such modifications and substitutions do not depart from the spirit of the corresponding technical solutions from the scope of the technical solutions of the embodiments of the present application.

Claims (43)

1. A method of segment identification, SID, announcement, comprising:
the method comprises the steps that first network equipment receives a first message sent by second network equipment, wherein the first message comprises one or more SIDs;
the first network device obtains priorities corresponding to the one or more SIDs;
and the first network equipment obtains forwarding path information according to the one or more SIDs and priorities corresponding to the one or more SIDs.
2. The method of claim 1, wherein the first network device obtaining the priority corresponding to the one or more SIDs comprises:
the first message includes priorities corresponding to the one or more SIDs, and the first network device obtains the priorities corresponding to the one or more SIDs from the first message.
3. The method of claim 1, wherein the first network device obtaining the priority corresponding to the one or more SIDs comprises:
the first message includes a location and priorities corresponding to the location, and the first network device uses the priorities corresponding to the location as priorities corresponding to the one or more SIDs.
4. The method of claim 1, wherein the first network device obtaining the priority corresponding to the one or more SIDs comprises:
The first network device obtains the configured priorities corresponding to the one or more SIDs from the source node.
5. The method according to any of claims 1-4, wherein the first network device is a head node of a forwarding path to which the forwarding path information corresponds, or the first network device is a controller.
6. The method of claim 5, wherein if the first network device is a controller, the first network device receives a first message sent by a second network device, comprising:
the first network device receives a first message generated based on a second message sent by a third network device and sent by a second network device, wherein the second message comprises an SID advertised by the third network device, the second network device is a head node of a forwarding path corresponding to the forwarding path information, and the third network device is other nodes except the head node on the forwarding path corresponding to the forwarding path information.
7. The method of claim 6, wherein the method further comprises:
the first network device sends the forwarding path information to the second network device.
8. The method of claim 2, wherein if the first message is a BGP-LS message, the priority is carried in a first TLV of the first message or a sub-TLV of the first TLV, and the first TLV is a SRv6 End SID TLV, a SRv6 end.x SID TLV, or a SRv6 SID Structure TLV.
9. The method of claim 3, wherein the first message is a BGP-LS message, and the priority is carried in a second TLV of the first message or a sub-TLV of a second TVL, and the second TLV is a Locator TLV.
10. The method of claim 2, wherein if the first message is an intermediate system-to-intermediate system message or an OSPF message, the priority is carried in a first sub-TLV of the first message or a sub-TLV of the first sub-TLV, and the first sub-TLV is a SRv6 End SID sub-TLV or a SRv6 end.x SID sub-TLV.
11. The method of claim 3, wherein if the first message is an intermediate system to intermediate system message or an OSPF message, the priority is carried in a third TLV of the first message, and the third TLV is a Locator TLV.
12. The method according to any of claims 1-11, wherein the forwarding path information comprises a segment list SIDlist.
13. The method of claim 12, wherein each SID in the SID list is a highest priority SID of the corresponding network device, or wherein a partial SID in the SID list is a highest priority SID of the corresponding network device.
14. The method of any of claims 1-13, wherein the first network device obtaining forwarding path information based on the one or more SIDs and priorities corresponding to the one or more SIDs comprises:
the first network device obtains forwarding path information according to a first calculation rule, the one or more SIDs and the priority of the one or more SIDs, and the first calculation rule indicates the first network device to calculate a forwarding path according to the SID of the highest priority of the candidate network devices; or,
the first network device obtains forwarding path information according to a second calculation rule, the one or more SIDs and priorities of the one or more SIDs, the second calculation rule indicating that the first network device calculates a forwarding path with priority of a SID of a highest priority of candidate network devices.
15. The method according to any one of claims 1-14, further comprising:
And the first network equipment replaces a second forwarding path for forwarding the message by using the first forwarding path indicated by the forwarding path information, wherein the second forwarding path is a path for forwarding the message before the forwarding path information is acquired.
16. The method of claim 15, wherein the forwarding node corresponding to the first forwarding path is the same as the forwarding node of the second forwarding path or the forwarding node corresponding to the first forwarding path is different from the forwarding node of the second forwarding path.
17. The method according to claim 14 or 15, characterized in that the method further comprises:
the first network device receives a notification message sent by a source node, where the notification message is used to instruct the first network device to delete a Locator with a low priority, and the source node is a node for notifying the SID.
18. The method according to any one of claims 1-17, further comprising:
the first network equipment receives a third message sent by the second network equipment, wherein the third message comprises a service SID and a priority corresponding to the service SID;
and the first network equipment encapsulates the service SID in the service message according to the priority corresponding to the service SID.
19. The method of claim 18, wherein the priority corresponding to the Service SID is carried in a SRv Service Data sub-TLV in the second message.
20. A method of segment identification, SID, announcement, comprising:
the second network equipment generates a first message, wherein the first message comprises one or more SIDs;
the second network device sends the first message to a first network to trigger the first network device to obtain the one or more SIDs and priorities corresponding to the one or more SIDs.
21. The method of claim 20, wherein the second network device generates the first message comprising:
the second network equipment receives second messages sent by third network equipment, wherein the second messages comprise SIDs corresponding to the third network equipment, and the SIDs are determined by the third network equipment based on deployed position locators;
and the second network equipment generates a first message according to the SID in the second message.
22. The method of claim 21, wherein the first network device is a controller, the second network device is a head node corresponding to a transmission service message, and the third network device is an intermediate node corresponding to the transmission service message.
23. The method of claim 20, wherein the first network device is a head node corresponding to a transmission service message, and the second network device is an intermediate node corresponding to the transmission service message.
24. The method of any of claims 20-23, wherein the first message includes priorities corresponding to the one or more SIDs, or wherein the first message includes a location Locator and priorities corresponding to the location Locator, and wherein the priorities corresponding to the location Locator are used to determine priorities corresponding to the one or more SIDs.
25. The method of claim 24, wherein if the first message is a BGP-LS message, the priorities corresponding to the one or more SIDs are carried in a first TLV of the first message or a sub-TLV of the first TLV, and the first TLV is a SRv6 End SID TLV, a SRv6 end.x SID TLV, or a SRv6 SID Structure TLV.
26. The method of claim 24, wherein the first message is a BGP-LS message, and the priority corresponding to the Locator is carried in a second TLV of the first message or a sub-TLV of a second TVL, and the second TLV is a Locator TLV.
27. The method of claim 24, wherein if the first packet is an intermediate system-to-intermediate system packet or an OSPF packet, the priority corresponding to the one or more SIDs is carried in a first sub-TLV of the first packet or a sub-TLV of the first sub-TLV, and the first sub-TLV is a SRv6End SID sub-TLV or an srv6end.x SID sub-TLV.
28. The method of claim 24, wherein if the first message is an intermediate system to intermediate system message or an OSPF message, the priority corresponding to the Locator is carried in a third TLV of the first message, and the third TLV is a Locator TLV.
29. The method according to any one of claims 20-28, further comprising:
the second network equipment generates a third message, wherein the third message comprises a service SID and a priority corresponding to the service SID;
and the second network equipment sends the third message to the first network equipment so that the first network equipment encapsulates the service SID with high priority in the service message according to the priority corresponding to the service SID.
30. The method of claim 28, wherein the priority corresponding to the Service SID is carried in a SRv Service Data sub-TLV in the third message.
31. A network device, wherein the network device is a first network device in a network, comprising:
a receiving unit, configured to receive a first packet sent by a second network device, where the first packet includes one or more SIDs;
and the processing unit is used for obtaining the priorities corresponding to the one or more SIDs and obtaining forwarding path information according to the one or more SIDs and the priorities corresponding to the one or more SIDs.
32. The network device of claim 31, wherein the first message includes priorities corresponding to the one or more SIDs,
the processing unit is specifically configured to obtain priorities corresponding to the one or more SIDs from the first packet.
33. The network device of claim 31, wherein the first message includes a location Locator and a priority corresponding to the location Locator,
the processing unit is specifically configured to take the priority corresponding to the Locator as the priority corresponding to the one or more SIDs.
34. The network device of claim 31, wherein the processing unit is configured to obtain, from a source node, the configured priorities corresponding to the one or more SIDs.
35. The network device according to any of claims 31-34, wherein the first network device is a head node of a forwarding path to which the forwarding path information corresponds, or the first network device is a controller.
36. The network device of claim 35, wherein if the first network device is a controller, the receiving unit is specifically configured to receive a first packet generated based on a second packet sent by a second network device, where the second packet includes an SID advertised by a third network device, the second network device is a head node of a forwarding path corresponding to the forwarding path information, and the third network device is other nodes on the forwarding path corresponding to the forwarding path information except the head node.
37. The method of claim 36, wherein the apparatus further comprises: a transmitting unit;
the sending unit is configured to send the forwarding path information to the second network device.
38. The network device of claim 32, wherein if the first message is a BGP-LS message, the priority is carried in a first TLV of the first message or a sub-TLV of the first TLV, and the first TLV is a SRv6 End SID TLV, a SRv6 end.x SID TLV, or a SRv6 SID Structure TLV.
39. The network device of claim 33, wherein the first message is a BGP-LS message, and the priority is carried in a second TLV of the first message or a sub-TLV of a second TVL, and the second TLV is a Locator TLV.
40. A network device, wherein the network device is a second network device in a network, comprising:
the processing unit is used for generating a first message, and the first message comprises one or more SIDs;
and the sending unit is used for sending the first message to a first network to trigger the first network equipment to acquire the one or more SIDs and the priorities corresponding to the one or more SIDs.
41. The network device of claim 40, wherein the processing unit is configured to receive a second packet sent by each third network device, the second packet including a SID corresponding to the third network device, the SID being determined by the third network device based on the deployed location; and generating a first message according to the SID in the second message.
42. A computer readable storage medium comprising instructions which, when run on a computer, cause the computer to perform the method of any one of the preceding claims 1-19 or to perform the method of any one of the claims 20-30.
43. A computer program product comprising a program which, when run on a processor, causes a computer or network device to perform the method of any of the preceding claims 1-19 or to perform the method of any of the claims 20-30.
CN202211674200.6A 2022-09-01 2022-12-26 Segment identification SID notification method, network equipment and storage medium Pending CN117640502A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211064394 2022-09-01
CN2022110643948 2022-09-01

Publications (1)

Publication Number Publication Date
CN117640502A true CN117640502A (en) 2024-03-01

Family

ID=90018749

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211674200.6A Pending CN117640502A (en) 2022-09-01 2022-12-26 Segment identification SID notification method, network equipment and storage medium

Country Status (1)

Country Link
CN (1) CN117640502A (en)

Similar Documents

Publication Publication Date Title
US20210084009A1 (en) Route generation method and device
CN112583717B (en) Method, peer device, and medium for constructing next hop attribute change label
CN110661711B (en) Method for generating label forwarding table, message sending method, device and equipment
CN112311673B (en) Use and processing per-slice segment identifiers in networks employing segment routing
CN113347091B (en) Flexible algorithm aware border gateway protocol prefix segment route identifier
EP3764606A1 (en) Resilient multiprotocol label switching (mpls) rings using segment routing
US11240063B2 (en) Methods, nodes and computer readable media for tunnel establishment per slice
CN113395735B (en) Message transmission method, device and network equipment
CN113973082A (en) Message processing method and network equipment
WO2022007702A1 (en) Message processing method and network device
WO2022048418A1 (en) Method, device and system for forwarding message
WO2022028216A1 (en) Network layer reachable information transmission method, system and apparatus, and network device
CN115550252A (en) Method, device, equipment and storage medium for routing publishing and forwarding message
CN114760244B (en) Method, device and network equipment for transmitting Binding Segment Identification (BSID)
WO2022188530A1 (en) Route processing method and network device
KR20230128564A (en) Packet processing method and related device
CN117640502A (en) Segment identification SID notification method, network equipment and storage medium
KR20230057459A (en) Routing information transmission method and device
US11070468B1 (en) Serverless segment routing (SR)-label distribution protocol (LDP) stitching
KR20190039596A (en) A method for synchronizing topology information in an SFC network,
CN114301839A (en) Multicast message transmission method and device
CN113438160B (en) Routing method, routing device and computer readable storage medium
WO2023125774A1 (en) Vxlan packet transmission method, network device, and system
CN114143142B (en) Message transmission method and device
WO2023155733A1 (en) Network slice information transmission method and apparatus

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication