MPLS forwarding

This section describes the MPLS forwarding information.

LFIB

An LFIB has the following table entries:

FTN and ILM are associated with NHLFE through Token.

MPLS data forwarding

Figure 18: MPLS forwarding process diagram

In an MPLS domain, a packet is forwarded in the following procedure:

  1. Router B (the ingress LSR) receives a packet carrying no label. It determines the FEC of the packet according to the destination address, and searches the FIB table for the Token value. Because the Token value is not Invalid, Router B looks for the corresponding NHLFE entry that contains the Token value. According to the NHLFE entry, Router B pushes label 40 to the packet, and forwards the labeled packet to the next hop LSR (Router C) through the outgoing interface (GigabitEthernet 1/0/2).

  2. Upon receiving the labeled packet, Router C looks for the ILM entry that contains the label 40 to get the Token value. Because the Token value is not empty, Router C looks for the NHLFE entry containing the Token value. According to the NHLFE entry, Router C swaps the original label with label 50, and then forwards the labeled packet to the next hop LSR (Router D) through the outgoing interface (GigabitEthernet 1/0/2).

  3. Upon receiving the labeled packet, Router D (the egress) looks for the ILM entry according to the label (50) to get the Token value. Because the Token is empty, Router D removes the label from the packet. If the ILM entry records the outgoing interface, Router D forwards the packet through the outgoing interface. If no outgoing interface is recorded, router D forwards the packet according to the IP header of the packet.

PHP

In an MPLS network, when an egress node receives a labeled packet, it looks up the LFIB, pops the label of the packet, and then performs the next level label forwarding or performs IP forwarding. The egress node needs to do two forwarding table lookups to forward a packet: looking up the LFIB twice or looking up the LFIB and the FIB once each.

The penultimate hop popping (PHP) feature can pop the label at the penultimate node to relieve the egress of the label operation burden.

PHP is configured on the egress node. The label assigned by a PHP-capable egress node to the penultimate hop can be one of the two listed:

Queue scheduling for MPLS

Queue scheduling uses a resource scheduling policy to determine the packet forwarding sequence when network congestion occurs.

To implement priority mapping and queue scheduling for packets: