5
Figure 5 MPLS forwarding
PHP
An egress node must perform two forwarding table lookups to forward a packet:
•
Two LFIB lookups (if the packet has more than one label).
•
One LFIB lookup and one FIB lookup (if the packet has only one label).
The penultimate hop popping (PHP) feature can pop the label at the penultimate node, so the egress
node only performs one table lookup.
A PHP-capable egress node sends the penultimate node an implicit null label of 3. This label never
appears in the label stack of packets. If an incoming packet matches an LFIB entry containing the
implicit null label, the penultimate node pops the top label and forwards the packet to the egress
node. The egress node directly forwards the packet.
Sometimes, the egress node must use the TC field in the label to perform QoS. To keep the TC
information, you can configure the egress node to send the penultimate node an explicit null label of
0. If an incoming packet matches an LFIB entry containing the explicit null label, the penultimate hop
replaces the top label value with value 0, and forwards the packet to the egress node. The egress
node gets the TC information, pops the label of the packet, and forwards the packet.
Protocols and standards
•
RFC 3031,
Multiprotocol Label Switching Architecture
•
RFC 3032,
MPLS Label Stack Encoding
•
RFC 5462,
Multiprotocol Label Switching (MPLS) Label Stack Entry: "EXP" Field Renamed to
"Traffic Class" Field
MPLS configuration task list
Tasks at a glance
(Required.)