RFC 5443 INFORMATIONAL MPLS · ROUTING · LDP

LDP IGP Sync: LDP IGP Synchronization

How a router can keep traffic off a link where routing is up but label switching is not, with no protocol changes.

On rfc-editor.org ↗
PUBLISHED
March 2009
AUTHORS
M. Jork, A. Atlas, L. Fang
STREAM
IETF
UPDATED BY
RFC 6138 — LDP IGP Sync Broadcast, RFC 10041 — OSPF unreachable links
OSPF MAXIMUM COST
LSInfinity, 0xFFFF
IS-IS MAXIMUM COST USED
2^24-2 (0xFFFFFE)
PROTOCOL CHANGES
None
DEFAULT HOLD-DOWN TIMER
Not defined
DOI
10.17487/RFC5443

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Network Working Group                                            M. Jork
Request for Comments: 5443                                       GENBAND
Category: Informational                                         A. Atlas
                                                         British Telecom
                                                                 L. Fang
                                                     Cisco Systems, Inc.
                                                              March 2009


                       LDP IGP Synchronization

Status of This Memo

   This memo provides information for the Internet community.  It does
   not specify an Internet standard of any kind.  Distribution of this
   memo is unlimited.

Copyright Notice

   Copyright (c) 2009 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents in effect on the date of
   publication of this document (http://trustee.ietf.org/license-info).
   Please review these documents carefully, as they describe your rights
   and restrictions with respect to this document.

   This document may contain material from IETF Documents or IETF
   Contributions published or made publicly available before November
   10, 2008. The person(s) controlling the copyright in some of this
   material may not have granted the IETF Trust the right to allow
   modifications of such material outside the IETF Standards Process.
   Without obtaining an adequate license from the person(s) controlling
   the copyright in such materials, this document may not be modified
   outside the IETF Standards Process, and derivative works of it may
   not be created outside the IETF Standards Process, except to format
   it for publication as an RFC or to translate it into languages other
   than English.

Abstract

   In certain networks, there is dependency on the edge-to-edge Label
   Switched Paths (LSPs) setup by the Label Distribution Protocol (LDP),
   e.g., networks that are used for Multiprotocol Label Switching (MPLS)
   Virtual Private Network (VPN) applications.  For such applications,
   it is not possible to rely on Internet Protocol (IP) forwarding if
   the MPLS LSP is not operating appropriately.  Blackholing of labeled
   traffic can occur in situations where the Interior Gateway Protocol
   (IGP) is operational on a link on which LDP is not.  While the link
   could still be used for IP forwarding, it is not useful for MPLS
   forwarding, for example, MPLS VPN applications or Border Gateway
   Protocol (BGP) route-free cores.  This document describes a mechanism
   to avoid traffic loss due to this condition without introducing any
   protocol changes.

Table of Contents

   1. Introduction ....................................................2
      1.1. Conventions Used in This Document ..........................3
   2. Proposed Solution ...............................................3
   3. Applicability ...................................................4
   4. Interaction with TE Tunnels .....................................5
   5. Security Considerations .........................................5
   6. References ......................................................6
      6.1. Normative References .......................................6
      6.2. Informative References .....................................6
   7. Acknowledgments .................................................6

1.  Introduction

   LDP [RFC5036] establishes MPLS LSPs along the shortest path to a
   destination as determined by IP forwarding.  In a common network
   design, LDP is used to provide Label Switched Paths throughout the
   complete network domain covered by an IGP such as Open Shortest Path
   First (OSPF) [RFC2328] or Intermediate System to Intermediate System
   (IS-IS) [ISO.10589.1992]; i.e., all links in the domain have IGP as
   well as LDP adjacencies.

   A variety of services a network provider may want to deploy over an
   LDP-enabled network depend on the availability of edge-to-edge label
   switched paths.  In a layer 2 (L2) or layer 3 (L3) VPN scenario, for
   example, a given Provider-Edge (PE) router relies on the availability
   of a complete MPLS forwarding path to the other PE routers for the
   VPNs it serves.  This means that all the links along the IP shortest
   path from one PE router to the other need to have operational LDP
   sessions, and the necessary label binding must have been exchanged
   over those sessions.  If only one link along the IP shortest path is
   not covered by an LDP session, a blackhole exists and services
   depending on MPLS forwarding will fail.  This might be a transient or
   a persistent error condition.  Some of the reasons for this could be:

   - A configuration error.

   - An implementation bug.

   - The link has just come up and has an IGP adjacency but LDP has
     either not yet established an adjacency or session, or has not yet
     distributed all the label bindings.

   The LDP protocol has currently no way to correct the issue.  LDP is
   not a routing protocol; it cannot re-direct traffic to an alternate
   IGP path.

1.1.  Conventions Used in This Document

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119].

2.  Proposed Solution

   The problem described above exists because LDP is tied to
   IP-forwarding decisions but no coupling between the IGP and LDP
   operational state on a given link exists.  If IGP is operational on a
   link but LDP is not, a potential network problem exists.  So the
   solution described by this document is to discourage a link from
   being used for IP forwarding as long as LDP is not fully operational.

   This has some similarity to the mechanism specified in [RFC3137],
   which allows an OSPF router to advertise that it should not be used
   as a transit router.  One difference is that [RFC3137] raises the
   link costs on all (stub) router links, while the mechanism described
   here applies on a per-link basis.

   In detail: when LDP is not "fully operational" (see below) on a given
   link, the IGP will advertise the link with maximum cost to avoid any
   transit traffic over it.  In the case of OSPF, this cost is
   LSInfinity (16-bit value 0xFFFF), as proposed in [RFC3137].  In the
   case of ISIS, the maximum metric value is 2^24-2 (0xFFFFFE).  Indeed,
   if a link is configured with 2^24-1 (the maximum link metric per
   [RFC5305]), then this link is not advertised in the topology.  It is
   important to keep the link in the topology to allow IP traffic to use
   the link as a last resort in case of massive failure.

   LDP is considered fully operational on a link when an LDP hello
   adjacency exists on it, a suitable associated LDP session (matching
   the LDP Identifier of the hello adjacency) is established to the peer
   at the other end of the link, and all label bindings have been
   exchanged over the session.  At the present time, the latter
   condition cannot generally be verified by a router and some
   estimation may have to be used.  A simple implementation strategy is
   to use a configurable hold-down timer to allow LDP session
   establishment before declaring LDP fully operational.  The default
   timer is not defined in this document due to concerns of the large
   variations of the Label Information Base (LIB) table size and
   equipment capabilities.  In addition, there is a current work in
   progress on LDP End-of-LIB as specified in [End-of-LIB], which
   enables the LDP speaker to signal the completion of its initial
   advertisement following session establishment.  When LDP End-of-LIB
   is implemented, the configurable hold-down timer is no longer needed.
   The neighbor LDP session is considered fully operational when the
   End-of-LIB notification message is received.

   This is typically sufficient to deal with the link when it is being
   brought up.  LDP protocol extensions to indicate the complete
   transmission of all currently available label bindings after a
   session has come up are conceivable, but not addressed in this
   document.

   The mechanism described in this document does not entail any protocol
   changes and is a local implementation issue.

   The problem space and solution specified in this document have also
   been discussed in an IEEE Communications Magazine paper
   [LDP-Fail-Rec].

3.  Applicability

   In general, the proposed procedure is applicable in networks where
   the availability of LDP-signaled MPLS LSPs and avoidance of
   blackholes for MPLS traffic are more important than always choosing
   an optimal path for IP-forwarded traffic.  Note however that non-
   optimal IP forwarding only occurs for a short time after a link comes
   up or when there is a genuine problem on a link.  In the latter case,
   an implementation should issue network management alerts to report
   the error condition and enable the operator to address it.

   Example network scenarios that benefit from the mechanism described
   here are MPLS VPNs and BGP-free core network designs where traffic
   can only be forwarded through the core when LDP forwarding state is
   available throughout.

   The usefulness of this mechanism also depends on the availability of
   alternate paths with sufficient bandwidth in the network should one
   link be assigned to the maximum cost due to the unavailability of LDP
   service over it.

   On broadcast links with more than one IGP/LDP peer, the cost-out
   procedure can only be applied to the link as a whole and not to an
   individual peer.  So a policy decision has to be made whether the
   unavailability of LDP service to one peer should result in the
   traffic being diverted away from all the peers on the link.

4.  Interaction with TE Tunnels

   In some networks, LDP is used in conjunction with RSVP-TE, which sets
   up traffic-engineered tunnels.  The path computation for the TE
   tunnels is based on the TE link cost that is flooded by the IGP in
   addition to the regular IP link cost.  The mechanism described in
   this document should only be applied to the IP link cost to prevent
   unnecessary TE tunnel reroutes.

   In order to establish LDP LSPs across a TE tunnel, a targeted LDP
   session between the tunnel endpoints needs to exist.  This presents a
   problem very similar to the case of a regular LDP session over a link
   (the case discussed so far): when the TE tunnel is used for IP
   forwarding, the targeted LDP session needs to be operational to avoid
   LDP connectivity problems.  Again, raising the IP cost of the tunnel
   while there is no operational LDP session will solve the problem.
   When there is no IGP adjacency over the tunnel and the tunnel is not
   advertised as a link into the IGP, this becomes a local issue of the
   tunnel headend router.

5.  Security Considerations

   A Denial-of-Service (DoS) attack that brings down LDP service on a
   link or prevents it from becoming operational on a link could be one
   possible cause of LDP-related traffic blackholing.  This document
   does not address how to prevent LDP session failure.  The mechanism
   described here prevents the use of the link where LDP is not
   operational while IGP is.  Assigning the IGP cost to maximum on such
   a link should not introduce new security threats.  The operation is
   internal to the router to allow LDP and IGP to communicate and react.
   Making many LDP links unavailable, however, is a security threat that
   can cause dropped traffic due to limited available network capacity.
   This may be triggered by operational error or implementation error.
   These errors are considered general security issues and implementors
   should follow the current best security practice [MPLS-GMPLS-Sec].

6.  References

6.1.  Normative References

   [RFC2119]        Bradner, S., "Key words for use in RFCs to Indicate
                    Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC2328]        Moy, J., "OSPF Version 2", STD 54, RFC 2328, April
                    1998.

   [RFC5036]        Andersson, L., Ed., Minei, I., Ed., and B. Thomas,
                    Ed., "LDP Specification", RFC 5036, October 2007.

6.2.  Informative References

   [End-of-LIB]     Asati, R., LDP End-of-LIB, Work in Progress, January
                    2009.

   [ISO.10589.1992] International Organization for Standardization,
                    "Intermediate system to intermediate system intra-
                    domain-routing routine information exchange protocol
                    for use in conjunction with the protocol for
                    providing the connectionless-mode Network Service
                    (ISO 8473)", ISO Standard 10589, 1992.

   [LDP-Fail-Rec]   Fang, L., Atlas, A., Chiussi, F., Kompella, K., and
                    G. Swallow, "LDP Failure Detection and Recovery",
                    IEEE Communications Magazine, Vol.42, No.10, October
                    2004.

   [MPLS-GMPLS-Sec] Fang. L., Ed., "Security Framework for MPLS and
                    GMPLS Networks", Work in Progress, November 2008.

   [RFC3137]        Retana, A., Nguyen, L., White, R., Zinin, A., and D.
                    McPherson, "OSPF Stub Router Advertisement", RFC
                    3137, June 2001.

   [RFC5305]        Li, T. and H. Smit, "IS-IS Extensions for Traffic
                    Engineering", RFC 5305, October 2008.

7.  Acknowledgments

   The authors would like to thank Bruno Decraene for his in-depth
   discussion and comments, Dave Ward for his helpful review and input,
   and Loa Andersson, Ross Callon, Amanda Baber, Francis Dupont, Donald
   Eastlake, Russ Housley, Pasi Eronen, Dan Romascanu, Bin Mo, Lan
   Zheng, Bob Thomas, and Dave Ojemann for their reviews and comments.

Authors' Addresses

   Markus Jork
   GENBAND
   3 Federal St.
   Billerica, MA 01821
   USA

   EMail: Markus.Jork@genband.com


   Alia Atlas
   British Telecom

   EMail: alia.atlas@bt.com


   Luyuan Fang
   Cisco Systems, Inc.
   300 Beaver Brook Road
   Boxborough, MA 01719
   USA

   EMail: lufang@cisco.com
   Phone: 1 (978) 936-1633

AI ELI5

On this page
PROBLEMA link can be up in the IGP while LDP is not working on it. IP traffic would still use the link, but labeled (MPLS) traffic, such as VPN traffic, is blackholed.
MECHANISMWhile LDP is not fully operational on a link, the IGP advertises that link with its maximum cost, so transit traffic avoids it but the link stays in the topology.
WHY IT MATTERSLabeled traffic is steered to other paths until LDP is ready. The mechanism is a local implementation matter and needs no protocol changes.

§1The Blackhole Problem

LDP builds MPLS label switched paths (LSPs) along the shortest path to a destination as determined by IP forwarding. In a common design, every link in an IGP domain (for example OSPF or IS-IS) has both an IGP adjacency and an LDP adjacency.

Services such as layer 2 or layer 3 VPNs depend on a complete edge-to-edge MPLS path between provider-edge routers. If even one link on the IP shortest path has no operational LDP session, a blackhole exists and services that depend on MPLS forwarding fail.

The RFC lists some causes: a configuration error, an implementation bug, or a link that has just come up and has an IGP adjacency while LDP has not yet established a session or distributed all label bindings. LDP itself cannot fix this, because it is not a routing protocol and cannot redirect traffic to another IGP path.

If one road in a chain is closed to delivery trucks, the whole delivery fails, even though cars can still drive there. The trucks cannot choose a different road by themselves.

§2Costing Out the Link Until LDP Is Ready

The root cause is that LDP follows IP forwarding decisions, but nothing couples the IGP state and the LDP state of a link. The fix is to discourage use of a link for IP forwarding as long as LDP is not fully operational on it. This is similar to RFC 3137, which lets an OSPF router advertise that it should not be used for transit, except that here it is applied per link.

In detail, the IGP advertises the link with its maximum cost. For OSPF that is LSInfinity (the 16-bit value 0xFFFF). For IS-IS it is 2^24-2 (0xFFFFFE), because a link configured with 2^24-1 is not advertised in the topology at all. The link is deliberately kept in the topology so IP traffic can still use it as a last resort in a massive failure.

LDP is fully operational on a link when an LDP hello adjacency exists, a matching LDP session is established with the peer, and all label bindings have been exchanged. A router generally cannot verify the last condition, so a simple strategy is a configurable hold-down timer; the RFC defines no default. When LDP End-of-LIB (then work in progress) is implemented, the timer is no longer needed, because receiving the End-of-LIB notification marks the session fully operational.

The mechanism needs no protocol changes and is a local implementation issue.

The router puts a huge toll on the half-ready road so nobody picks it, but leaves it open in case every other road breaks. When the truck lane is finished, the toll goes away.

MAXIMUM LINK COST BY IGP (RFC 5443)
IGPCost while LDP is not readyNote
OSPFLSInfinity, 0xFFFF (16-bit)As proposed in RFC 3137
IS-IS2^24-2 (0xFFFFFE)2^24-1 would remove the link from the topology

§3When to Use It

The procedure fits networks where having working LDP-signaled LSPs, and avoiding blackholes for MPLS traffic, matters more than always choosing the best path for IP-forwarded traffic. MPLS VPNs and BGP-free core designs are the examples given. Non-optimal IP forwarding only happens briefly after a link comes up or when there is a genuine problem, and in the latter case an implementation should issue network management alerts so the operator can fix it.

It also needs alternate paths with enough bandwidth, since the costed-out link takes no transit traffic.

On a broadcast link with more than one IGP/LDP peer, the cost-out can only apply to the link as a whole, not to one peer. A policy decision is needed on whether losing LDP to one peer should divert traffic from all peers on the link.

This is worth it when delivery trucks matter more than taking the shortest route for cars. It only works if there are other good roads to use instead.

§4Interaction with TE Tunnels

Some networks use LDP together with RSVP-TE, which sets up traffic-engineered tunnels. Tunnel path computation uses a separate TE link cost flooded by the IGP. The RFC says the mechanism should be applied only to the regular IP link cost, to prevent unnecessary TE tunnel reroutes.

LDP LSPs across a TE tunnel need a targeted LDP session between the tunnel endpoints. That is the same problem as a regular link: if the tunnel is used for IP forwarding, its targeted session must be operational. Raising the IP cost of the tunnel while there is no operational session solves it. When there is no IGP adjacency over the tunnel and the tunnel is not advertised into the IGP, this is a local matter for the tunnel headend router.

Special reserved lanes have their own price list. Only the normal price list is changed, so the reserved lanes are not moved around for no reason.

§5Security Considerations

A denial-of-service attack that brings down LDP on a link, or stops it from becoming operational, could be one cause of blackholing. The RFC does not address how to prevent LDP session failure. Setting the IGP cost to the maximum on such a link is not expected to introduce new threats, since the operation is internal to the router.

Making many LDP links unavailable at once could still drop traffic because of limited remaining capacity. That could be triggered by operational or implementation error, and the RFC treats these as general security issues where implementors should follow current best security practice.

Someone could break the truck lanes on purpose. The fix does not stop that, but it does not make it any worse either.

§6References