SR-MPLS TE Data Forwarding

Forwarders perform label operations on packets according to the label stacks corresponding to a specific SR-MPLS TE tunnel's LSP and search for outbound interfaces hop by hop according to the top label to guide packet forwarding to the destination address of the tunnel.

SR-MPLS TE Data Forwarding (Based on Adjacency Labels)

Figure 1 provides an example of SR-MPLS TE data forwarding based on manually specified adjacency labels.
Figure 1 SR-MPLS TE data forwarding based on adjacency labels
In Figure 1, the SR-MPLS TE path computed by the controller is A->B->C->D->E->F. It corresponds to two label stacks <1003, 1006, 100> and <1005, 1009, 1010>, which are delivered to the ingress A and stitching node C, respectively. Label 100 functions as a stitching label and is associated with the label stack <1005, 1009, 1010>. The other labels are all adjacency labels. In this case, a data packet can be forwarded over the SR-MPLS TE path through the following process:
  1. The ingress A adds the label stack <1003, 1006, 100> to the packet, searches for an adjacency matching the top label 1003, finds that the corresponding outbound interface is on the A->B adjacency, and removes the label 1003. Then, the node forwards the packet carrying the label stack <1006, 100> to downstream node B over the A->B adjacency.

  2. After receiving the packet, transit node B searches for an adjacency matching the top label 1006, finds that the corresponding outbound interface is on the B->C adjacency, and removes the label 1006. Then, the node forwards the packet carrying the label stack <100> to downstream node C over the B->C adjacency.
  3. After the stitching node C receives the packet, it searches stitching label entries, determines that the top label 100 is a stitching label, and swaps the stitching label 100 with the associated label stack <1005, 1009, 1010>. After that, the node searches for an adjacency matching the new top label 1005, finds that the corresponding outbound interface is on the C->D adjacency, and removes the label 1005. Then, the node forwards the packet carrying the label stack <1009, 1010> to downstream node D over the C->D adjacency. For details about stitching nodes and stitching labels, see SR-MPLS TE.
  4. After nodes D and E receive the packet, they process it in the same way as transit node B. Node E removes the last label 1010 and forwards the packet to the egress F.
  5. As the packet received by the egress F does not contain any label, the egress F searches the routing table for further packet forwarding.

According to the preceding process, manually specifying adjacency labels enables devices to forward a packet hop by hop along the explicit path specified in the label stack of the packet. As such, this forwarding method is also called strict path-based SR-MPLS TE.

SR-MPLS TE Data Forwarding (Based on Node and Adjacency Labels)

If strict path-based SR-MPLS TE is used in a scenario where equal-cost paths exist, load balancing cannot be implemented. To address this issue, node labels are introduced to SR-MPLS TE paths.

When manually specifying a mixed label stack with both node and adjacency labels, you can specify inter-node labels. After the controller delivers a mixed label stack to the ingress forwarder through PCEP or NETCONF, the forwarder searches for the outbound interface based on the label stack, removes the top label, and forwards the packet to the next hop. The packet is forwarded hop by hop until it reaches the destination address of the involved tunnel.
Figure 2 SR-MPLS TE data forwarding based on node and adjacency labels
On the network shown in Figure 2, a mixed label stack <1003, 1006, 1005, 101> is manually specified for a packet to enter the specified tunnel from node A. In the label stack, labels 1003, 1006, and 1005 are adjacency labels, and label 101 is a node label.
  1. According to the top adjacency label 1003, node A finds that the corresponding outbound interface is on the A->B adjacency. Then, the node removes the label 1003 and forwards the packet to the next-hop node B.

  2. Similar to node A, node B searches for the corresponding outbound interface according to the top label 1006, removes the label, and then forwards the packet to the next-hop node C.
  3. Similar to node A, node C searches for the corresponding outbound interface according to the top label 1005, removes the label, and then forwards the packet to the next-hop node D.
  4. Node D processes the top node label 101, which indicates that load balancing needs to be performed for the traffic to node F. In this case, the traffic is hashed to corresponding links based on IP 5-tuple information.
  5. Nodes E and G perform operations according to the node label 101 and swap the label with the next-hop node label. As the two nodes are penultimate hops, they remove the label and forward the packet to node F to complete E2E traffic forwarding.

According to the preceding process, manually specifying both node and adjacency labels enables devices to forward traffic either in shortest-path mode or in load-balancing mode. The forwarding paths are not fixed, and therefore, this forwarding method is also called loose path-based SR-MPLS TE.

Copyright © Huawei Technologies Co., Ltd.
Copyright © Huawei Technologies Co., Ltd.
< Previous topic Next topic >