IS-IS for SR-MPLS
Item |
Function |
Position |
---|---|---|
Prefix-SID Sub-TLV |
Advertises the SR-MPLS prefix SID. |
|
Adj-SID Sub-TLV |
Advertises SR-MPLS Adjacency SIDs on a P2P network. |
|
LAN-Adj-SID Sub-TLV |
Advertises SR-MPLS Adjacency SIDs on a LAN. |
|
SID/Label Sub-TLV |
Advertises the SR-MPLS SID or MPLS Label. |
SR-Capabilities Sub-TLV and SR Local Block Sub-TLV |
SID/Label Binding TLV |
Advertises a mapping between the prefix and SID. |
IS-IS LSP |
SR-Capabilities Sub-TLV |
Advertises the SR-MPLS capabilities. |
IS-IS Router Capability TLV-242 |
SR-Algorithm Sub-TLV |
Advertises the used algorithm. |
IS-IS Router Capability TLV-242 |
SR Local Block Sub-TLV |
Advertises the label scope that an NE reserves for the local SID. |
IS-IS Router Capability TLV-242 |
IS-IS SID TLV Extensions
Prefix-SID Sub-TLV
Field Name |
Length |
Description |
---|---|---|
Type |
8 bits |
Unassigned. The recommended value is 3. |
Length |
8 bits |
Packet length. |
Flags |
8 bits |
Flags field. Figure 2-11 shows its format.
The meaning of each flag is as follows:
A node must compute an outgoing prefix label based on the P and E flags in a prefix SID advertised by a next hop, regardless whether the optimal path to the prefix SID passes through the next hop. When a node advertises reachability messages (for example, from Level-1 to Level-2 or from Level-2 to Level-1) generated by another IS-IS Speaker, the local node must set the P flag and clear the E flag in a prefix SID. The following behavior is related to P and E flags:
|
Algorithm |
8 bits |
Algorithm:
|
SID/Index/Label (variable) |
Variable length |
This field contains either of the following information based on the V and L flags:
|
Adj-SID Sub-TLV
Field Name |
Length |
Description |
---|---|---|
Type |
8 bits |
Unassigned. The recommended value is 31. |
Length |
8 bits |
Packet length. |
Flags |
8 bits |
Flags field. Figure 2-13 shows its format.
The meaning of each flag is as follows:
|
Weight |
8 bits |
Weight. The Adj-SID weight is used for load balancing. |
SID/Index/Label (variable) |
Variable length |
This field contains either of the following information based on the V and L flags:
|
A designated intermediate system (DIS) is elected as a medium during IS-IS communication on a LAN. On the LAN, an NE merely needs to advertise a link message to the DIS and obtain all link information from the DIS, but does not need to exchange link information between NEs.
In segment routing implementation, each NE advertises Adj-SIDs to all neighbors. On the LAN, each NE advertises only an IS-IS Extended IS reachability TLV-22 to the DIS and encapsulates neighbors' Adj-SIDs in a new TLV, which is a LAN-Adj-SID Sub-TLV. The TLV contains all Adj-SID that the NE allocates to all LAN neighbors.
A SID/Label Sub-TLV includes a SID or an MPLS label. The SID/Label Sub-TLV is a part of the SR-Capabilities Sub-TLV.
Field Name |
Length |
Description |
---|---|---|
Type |
8 bits |
Unassigned. The recommended value is 1. |
Length |
8 bits |
Packet length. |
SID/Label (variable) |
Variable length |
If the Length field value is set to 3, the rightmost 20 bits indicate an MPLS label. |
SID/Label Binding TLV
The SID/Label Binding TLV is used in communication between SR and LDP. It defines the mapping between a prefix and a SID.
Field Name |
Length |
Description |
---|---|---|
Type |
8 bits |
Unassigned. The recommended value is 1. |
Length |
8 bits |
Packet length. |
Flags |
8 bits |
Flags field.
+-+-+-+-+-+-+-+-+ |F|M|S|D|A| | +-+-+-+-+-+-+-+-+ |
Range |
16 bits |
Prefix address and range of SIDs associated with the prefix. |
Prefix Length |
8 bits |
Prefix length |
Prefix |
Variable length |
Prefix. |
SubTLVs |
Variable length |
Sub-TLV, such as SID Sub-TLV and Label Sub-TLV |
IS-IS SR Capability TLV Extension
In segment routing, each NE must be able to advertise its SR capability and global SID range (or global label index). To meet the preceding requirement, an SR-Capabilities Sub-TLV is defined and embed in the IS-IS Router Capability TLV-242 for transfer. The SR-Capabilities Sub-TLV can be propagated only within the same IS-IS level area.
Field Name |
Length |
Description |
---|---|---|
Type |
8 bits |
Unassigned. The recommended value is 2. |
Length |
8 bits |
Packet length. |
Flags |
8 bits |
Flags field. Figure 2-18 shows its format.
The meaning of each flag is as follows:
|
Range |
24 bits |
SRGB range. The advertising end releases the following SR-Capabilities in the following ranges. SR-Capability 1:Range: 100, SID value: 100 SR-Capability 2: Range: 100, SID value: 1000 SR-Capability 3: Range: 100, SID value: 500 The receive end links the preceding ranges and generates an SRGB. SRGB = [100, 199] [1000, 1099] [500, 599] Different label indexes may span multiple ranges. Index 0: label 100 ... Index 99: label 199 Index 100: label 1000 Index 199: label 1099 ... Index 200: label 500 ... |
SID/Label Sub-TLV (variable) |
Variable length |
See SID/Label Sub-TLV. The SRGB start value is included. When multiple SRGBs are configured, ensure that the SRGB sequence is correct and the SRGBs do not overlap. |
SR-Algorithm Sub-TLV
NEs use different algorithms, for example, the SPF algorithm and various SPF variant algorithms, to compute paths to the other nodes or prefixes. The newly defined SR-Algorithm Sub-TLV enables an NE to advertise its own algorithm. The SR-Algorithm Sub-TLV is also carried in the IS-IS Router Capability TLV-242 for transfer. The SR-Algorithm Sub-TLV can be propagated within the same IS-IS level.
Field Name |
Length |
Description |
---|---|---|
Type |
8 bits |
Unassigned. The recommended value is 2. |
Length |
8 bits |
Packet length. |
Algorithm |
8 bits |
Algorithm. |
SR Local Block Sub-TLV
The SR Local Block Sub-TLV contains a label range that an NE reserves for local SIDs. The local SIDs are used as adjacency SIDs or are allocated by the other components. For example, an application (App) or a controller instructs the NE to assign a special local SID. To notify the App or controller of available local SIDs, the NE must advertise an SR local block SRLB.
Field Name |
Length |
Description |
---|---|---|
Type |
8 bits |
Unassigned. The recommended value is 2. |
Length |
8 bits |
Packet length. |
Flags |
8 bits |
Flags field. This field is not defined. |
Range |
8 bits |
SRLG range. |
SID/Label Sub-TLV (variable) |
Variable length |
See SID/Label Sub-TLV. The SRGB start value is included. When multiple SRGBs are configured, ensure that the SRGB sequence is correct and the SRGBs do not overlap. |
The SRLB TLV advertised by the NE may contain a label range that is out of the SRLB. Such a label range is assigned locally and is not advertised in the SRLB. For example, an adjacency SID is assigned a local label, not a label within the SRLB range.
IS-IS SR LSP Creation
An intra-IGP-area SR LSP is created.
In Figure 2-21, devices run IS-IS. Segment routing is used and requires each device to advertise the SR capability and supported SRGB. In addition, the advertising end advertises a prefix SID offset within the SRGB range. The receive end computes an effective label value to generate a forwarding entry.
Devices A through F are deployed in areas of the same level. All Devices run IS-IS. An SR tunnel originates from Device A and is terminated at Device D.
An SRGB is configured on Device D. A prefix SID is set on the loopback interface of Device D. Device D encapsulates the SRGB and prefix SID into a link state protocol data unit (LSP) (for example, IS-IS Router Capability TLV-242 containing SR-Capability Sub-TLV) and floods the LSP across the network. After another device receives the SRGB and prefix SID, it uses them to compute a forwarding label, uses the IS-IS topology information, and runs the Dijkstra algorithm to calculate an LSP and LSP forwarding entries.
An inter-IGP area SR LSP is created
In Figure 2-22, to establish an inter-area SR LSP, the prefix SID must be advertised across areas by penetrating these areas. This overcomes the restriction on IS-IS's flooding scope within each area.
Devices A and D are deployed in different areas, and all devices run IS-IS. An SR tunnel originates from Device A and is terminated at Device D.
An SRGB is configured on Device D. A prefix SID is set on the loopback interface of Device D. Device D generates and delivers forwarding entries. It encapsulates the SRGB and prefix SID into an LSP (for example, IS-IS Router Capability TLV-242 containing SR-Capability Sub-TLV) and floods the LSP across the network. Upon receipt of the LSP, Device C parses the LSP to obtain the prefix SID, calculates and delivers forwarding entries, and penetrates the prefix SID and prefix address to the Level-2 area. Device B parses the LSP to obtain the prefix SID, calculates and delivers forwarding entries, and penetrates the prefix SID and prefix address to the Level-1 area. Device A parses the LSP and obtains the prefix SID, uses IS-IS to collect topology information, and runs the Dijkstra algorithm to compute a label switched path and tunnel forwarding entries.