What Is the MPLS PHP (Penultimate Hop Popping) Label Operation?

Describe MPLS operations (LSR, LDP, label switching, LSP)
Answer Correct answer: A — In MPLS PHP, the downstream node (egress PE) signals label removal with the implicit-null label so the penultimate P router pops the outer label.

What is a MPLS PHP label operation?

  1. Downstream node signals to remove the label. Correct Answer
  2. It uses implicit-NULL for traffic congestion from source to destination forwarding.
  3. PE removes the outer label before sending to the P router.
  4. It improves P router performance by not performing multiple label lookup.

Community Votes

A
100%

100% of anonymous learners picked answer A. Votes are pick records left by other test-takers — they are not the verified answer.

Community Insight

The question tests who signals PHP and who performs it — the downstream egress LSR advertises the implicit-null label and the penultimate P router pops the outer label — while the trap is crediting the performance gain to the P router instead of the egress PE.

MPLS Penultimate Hop Popping (PHP) is the behavior where the second-to-last LSR in an LSP removes the outermost label before forwarding the packet to the egress PE, so that PE only performs an IP lookup. This page confirms option A — the downstream node signals the label removal — and explains why C and D describe the wrong router or the wrong benefit.

The most common wrong pick is D, because PHP is usually memorized as a performance feature and learners assume the P router is the beneficiary. In reality the pop is signalled by the downstream node, and the saved lookup happens on the egress PE, which receives an unlabeled packet.

Community Discussion (5 comments)

Pietjeplukgeluk 👍 6 Selected: A
A seems OK, Penultimate Hop Popping will mean that the P before the PE pops the label as the P knows the PE can directly route it. The answer A will just indicate that the PE signals the P to do this.
Sammy3637 👍 1 Selected: D
PHP improves P router performance by eliminating the need for multiple label lookups. Here’s the reasoning: P routers are responsible for forwarding packets based on labels, but they don’t need to look up multiple labels when PHP is in place. By removing the outermost label before the packet reaches the last hop, the penultimate hop reduces the work that needs to be done by the last hop (the egress PE router), which only has to forward the packet to its final destination.
[Removed] 👍 2 Selected: A
A is correct P router: is the second-to-last router in the MPLS path, removes the outer MPLS label before forwarding the packet to the last hop router (PE router). PE router: is the last hop router, which receives the packet with the outer label already removed and can directly forward the packet to its final destination without needing to process any MPLS labels. C is incorrect, P is the one which removes the outer label not PE. nice post to read: https://web.archive.org/web/20131213202855/http://journey4ccie.com/2013/02/04/mpls-vpns-and-issues-related-with-php-penultimate-hop-popping/
twofhk 👍 1
A is correct
RickAO76 👍 1 Selected: C
voting C on this one.

Comments & Corrections

No comments yet — spotted an error or have a note? Share it below.

Log in to comment, report an error, or add a note about this question.

Submitted for moderation before publishing. Keep it helpful and respectful.

Expert Analysis

Why the Answer Is Correct

Penultimate Hop Popping is driven by signalling from the downstream end of the LSP: the egress LSR (the PE) binds the destination prefix to the implicit-null label and distributes that binding with LDP, which tells its upstream neighbor to pop the top label instead of swapping it. The penultimate LSR — the P router one hop before the egress PE — acts on that binding, pops the outermost label, and forwards the packet unlabeled to the PE. Option A captures exactly this: a downstream node signals that the label should be removed before the packet reaches it. That is why the answer key and the large majority of the community land on A.

Why the Other Options Are Wrong

Option C reverses the roles: it is the P router (penultimate LSR) that pops the outer label before sending to the PE, not the PE that strips a label before sending to a P router; a PE would only pop a label if it were acting as a transit LSR, which is not the PHP case. Option B is a fabricated mechanism — implicit-null is a label value (label 3) advertised for a FEC as part of normal LDP operation, and it has nothing to do with traffic congestion between source and destination. Option D fails on two counts: the efficiency gain of PHP lands on the egress PE, which avoids a label lookup plus an IP lookup, and transit P routers continue to swap labels for all traffic that is not theirs to deliver.

Community Comment Notes

Pietjeplukgeluk reasoned that PHP means the P router before the PE pops the label because it knows the PE can route the packet directly, adding that "The answer A will just indicate that the PE signals the P to do this" — which matches the downstream-signalling idea in option A. A removed commenter gave the clearest role split, stating the P router "removes the outer MPLS label before forwarding the packet to the last hop router" while the PE receives the packet already unlabeled, and explicitly flagged C as incorrect. Sammy3637 voted D, arguing PHP improves P router performance by eliminating multiple lookups, which is a good illustration of the trap: the benefit is at the egress LSR, not the penultimate P router. RickAO76 cast a lone vote for C, which inverts the router roles and conflicts with the standard Cisco description of PHP.

Official Reference

Exam Strategy

For any MPLS forwarding question, first separate the signalling from the action: the egress PE advertises implicit-null downstream, the penultimate P router pops, and the PE receives an unlabeled packet. Then eliminate any option that credits the performance benefit to the P router, because only the egress LSR skips the extra label lookup.

Frequently Asked Questions

Why doesn't the egress PE router pop the label itself in MPLS PHP?

The egress PE advertises the implicit-null label so its upstream neighbor pops the top label first, letting the PE do only an IP lookup. Option C reverses this by having the PE strip a label before sending to a P router.

Does PHP improve P router performance as stated in option D?

No. The savings belong to the egress PE, which avoids a label lookup followed by an IP lookup, while transit P routers keep swapping labels. Option D misplaces both the router and the lookup saved.

What label value actually triggers penultimate hop popping?

The implicit-null label, value 3, is bound to the destination FEC by the egress LSR and advertised with LDP. Receiving it tells the penultimate LSR to pop the outer label instead of swapping it.

Related Analysis

Practice All 300-410 Questions

Access 159 questions with complete answers and detailed explanations.

View Full 300-410 Practice Test →

← Back to 300-410 Study Guide