In this blog, I will briefly touch at the various Label Distribution and Assignment Modes. While writing a blog on another topic, I wanted to include details about various label distribution and assignment modes and I realized that this is such a fundamental topic, it deserved its own post.
- Upstream: It is the direction towards the packet source.
- Downstream: It is the direction towards the packet destination.
- Ingress Node: It is the farthest Upstream Node (close to the source).
- Egress Node: It is the farthest Downstream node (close to the destination).
- Egress LSR: An LSR is an egress LSR for a FEC when the FEC is its directly attached interface or when MPLS is not configured on the next-hop interface.
Label allocation and Distribution Terms:
- Downstream and Upstream Label Allocation: Direction in which labels can flow.
- Ordered Control: LSR waits to hear from its upstream/downstream neighbors first before responding to a label request.
- Independent Control: LSR doesn’t wait for its upstream/downstream neighbors before responding to a label request.
Label Allocation Mode: The label allocation refers which LSR (Downstream or Upstream) is going to allocate the labels for a given FEC.
- Downstream Label Allocation: In this mode label allocation happens in the opposite direction of the actual Data flow
- Upstream Label Allocation: In this mode label allocation happens in the direction of the actual Data flow.
Label Distribution Mode:
- Downstream on Demand: In this mode a Downstream device doesn’t provide Label mapping until requested by an Upstream device (Hence the term on demand). For instance, in RSVP-TE, a Headend sends a PATH request first to the tail-end and then the Tail end router replies back with RESV which includes the FEC-to-Label mapping towards the head end. This mode is used by RSVP and by LDP in Seamless MPLS.
- Downstream Unsolicited: In this mode an LSR does not wait for a request from an upstream device before signaling FEC-to-label bindings. As soon as the LSR learns a route, it sends a binding for that route to all peer LSRs, both upstream and downstream. One disadvantage of this is that it doesn’t help in conserving labels as LSR receives label mappings from neighbors that may not be the next hop for the destination. This mode is used by BGP-LU and LDP.
Label Control Mode:
This is about whether an LSR wait to hear from its upstream/downstream neighbors before responding to a Label request.
- Ordered Control: In this approach, an LSR doesn’t advertise a FEC unless it’s the egress LSR for that FEC or until it has received a label for the FEC from its downstream peer. For each FEC for which the LSR is not the egress and no mapping exists, the LSR MUST wait until a label from a downstream LSR is received before mapping the FEC and passing corresponding labels to upstream LSRs. This is used by RSVP, LDP (JunOS) and BGP-LU.
- Independent Control: This means that the LSR sending the label acts independently of its downstream peer. It does not wait for a label from the downstream LSR before it sends a label to its peers. This mode has the potential of blackholing the traffic. For instance, when operating in independent Downstream on Demand mode, an LSR may answer requests for label mappings immediately, without waiting for a label mapping from the next hop. This mode is used by LDP (IOS/IOS-XR)
Downstream On Demand with Ordered Control
Downstream on Demand with Independent Control
Label Retention Mode:
- Liberal Retention Mode: In this mode LSR store all the labels received by the neighbors. One dis-advantage of this mode is that it requires more memory to store all the labels but provides faster convergence.
- Conservative Retention Mode: In this mode LSR store only labels from a neighbor who is currently next hop for a FEC. The advantage is that it requires less memory
Please feel free to comment if I have got something wrong or missing.