Internet DRAFT - draft-ldp-ila-extension
draft-ldp-ila-extension
Network Working Group A. Lo
Internet-Draft K. Patel
Intended status: Standards Track V. Lim
Expires: July 4, 2012 Cisco Systems
January 1, 2012
Incremental Label Announcement Extensions for LDP
draft-ldp-ila-extension-01.txt
Abstract
The current LDP Graceful Restart (GR) mechanism specified in RFC3478
requires a complete re-advertisement of the LDP label binding
information across a session restart, even though complete label
binding information might be preserved.
In this document we specify extensions to LDP graceful restart in
order to support avoiding unnecessary transmission of the label
binding information preserved across a session restart, thus
accelerating the router re-convergence. More specifically, we
describe a version number based batching mechanism for keeping track
of the label binding information across a session restart.
The new 1) LDP ILA capability TLV, 2) LDP VERSION ID TLV and 3) LDP
ILA Version message type, is introduced for checkpointing the label
binding version maintained for a neighbor. We also specify
procedures for handling label binding table version update across a
session restart.
Status of this Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on July 4, 2012.
Copyright Notice
Lo, et al. Expires July 4, 2012 [Page 1]
Internet-Draft Incremental Label Announcement for LDP January 2012
Copyright (c) 2012 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
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
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.
Lo, et al. Expires July 4, 2012 [Page 2]
Internet-Draft Incremental Label Announcement for LDP January 2012
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 4
2. Incremental Label Announcement Capability TLV . . . . . . . . 4
3. Incremental Label Announcement FEC Version TLV . . . . . . . . 5
4. Incremental Label Announcement Version Message . . . . . . . . 6
5. Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5.1. Session Initialization . . . . . . . . . . . . . . . . . . 7
5.2. Label Mapping Sender/Receiver (LM-S/LM-R) . . . . . . . . 7
5.3. ILA Version ID=0 Handling . . . . . . . . . . . . . . . . 9
5.4. ILA Version ID Assignment . . . . . . . . . . . . . . . . 9
5.5. ILA Version ID wraparound . . . . . . . . . . . . . . . . 9
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 10
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10
8. Security Considerations . . . . . . . . . . . . . . . . . . . 10
9. Normative References . . . . . . . . . . . . . . . . . . . . . 10
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 11
Lo, et al. Expires July 4, 2012 [Page 3]
Internet-Draft Incremental Label Announcement for LDP January 2012
1. Introduction
This document defines a new LDP Incremental Label Announcement
extension for LDP Graceful restart. This mechanism avoids
unnecessary transmission of the label binding information during
session restarts and thus improve the overall router convergence.
1.1. Requirements Language
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 RFC 2119 [RFC2119].
2. Incremental Label Announcement Capability TLV
The LDP Incremental Label Announcement (ILA) Capability TLV is used
by an LDP speaker to list the FEC types that support the ILA
capability. This TLV MUST be announced in the LDP initialization
message along with the LDP FT Session TLV. An implementation that
support LDP ILA MUST implement the procedures for Capability
Parameters in LDP Initialization Messages.
The format of a "Incremental Label Announcement Capability" TLV is as
follows:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|U|F| ILA Capability (TBD IANA) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|S| Reserved | |
+-+-+-+-+-+-+-+-+ FEC Type List |
| +-+-+-+-+-+-+-+-+-+-+
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
U-bit:
The Unknown TLV bit should be set to the value 1.
F-bit:
The forward unknown TLV bit should be set to the value 0.
ILA Capability:
The ILA Capability code is assigned by IANA (TBD).
Lo, et al. Expires July 4, 2012 [Page 4]
Internet-Draft Incremental Label Announcement for LDP January 2012
Length:
The length indicates the number of octets for S/Reserved byte
and the bytes found in the FEC Type List Data.
S-bit:
The State Bit MUST always be set to 1. It indicates whether the
sender is advertising or withdrawing the capability
corresponding to the TLV code point.
The State Bit value is used as follows:
1 - The TLV is advertising the capability specified by the TLV
code point.
0 - The TLV is withdrawing the capability specified by the TLV
code point.
FEC Type List:
The FEC type list indicates the sender supported ILA FEC types.
Each Octet of FEC Type List Data corresponds to a FEC type
defined in the LDP Forwarding Equivalence Class (FEC) Type
Namespace.
3. Incremental Label Announcement FEC Version TLV
The ILA Version TLV is defined for controlling/versioning label
mapping advertisements/withdraw messages for a given FEC type. This
TLV is used by the receiver of the label advertisements/withdraw
message to request which versions of Label bindings the LDP speaker
should announce from. Furthermore, it is also used by the LDP
speaker to verify that the labels advertisements for a given FEC type
do fall within the specified version id. The LDP speaker uses this
information in generating incremental announcements.
The "ILA Version" TLV has the following format:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|U|F| ILA Version (TBD IANA) | Length = 12 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| FEC Type | Mode | Reserved (must be zero) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Label Version ID (8 octets) |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Lo, et al. Expires July 4, 2012 [Page 5]
Internet-Draft Incremental Label Announcement for LDP January 2012
U-bit:
The Unknown TLV bit MUST be set to the value 0.
F-bit:
The forward unknown TLV bit MUST be set to the value 0.
ILA Version:
The ILA Version TLV type is assigned by IANA (TBD).
Length:
The length field is always set to 12.
FEC type:
Identifies the FEC type for which the ILA version message
applies.
Mode:
0 - Request Mode: Request label bindings starting from
specified version.
1 - Assign Mode: Assign the specified version ID to the
bindings that follow.
Label Version ID:
A 64 bit version number.
4. Incremental Label Announcement Version Message
The new Incremental Label Announcement Version message is used by the
speaker to send 1 or more ILA Version TLVs. This message contains
one or more per FEC type TLVs used to request the peer to start
sending labels with a given version number and to inform the peer the
current version ID assigned to the bindings that follow. If there
are multiple TLVs of a specific FEC type, at most there MUST be one
Version-id "request", and Version-ID "assign" TLV for a given FEC
type.
An LDP speaker MUST not send this message unless the LDP peer has
previously announced its ability to support the ILA capabilities.
Only the LDP FEC types supported by both endpoints should appear in
the the ILA version TLVs. If unsupported FEC types appear, they will
be discarded by the receiver.
The ILA Version message is defined as following:
Lo, et al. Expires July 4, 2012 [Page 6]
Internet-Draft Incremental Label Announcement for LDP January 2012
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| ILA (IANA) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TLV_1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| . . . |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TLV_N |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
where TLV_1 through TLV_N are currently used for ILA Version-ID TLVs.
5. Procedures
5.1. Session Initialization
An LDP speaker that is capable and willing to support the ILA
procedures for a given FEC type advertises this ability through the
Incremental Label Announcement Capability TLV in the LDP session
initialization message. The ILA Capability TLV MUST only be included
in the LDP initialization message if LDP initialization message
contains a FT session TLV indicating its ability to support LDP
Graceful Restart. The sender of the ILA Capability TLV MUST include
all the FEC types for which it intends to support ILA procedures.
The set of FEC types that is found in both the sent ILA Capability
TLV and the received ILA Capability TLV represents the FEC types for
which both LDP endpoints will follow ILA procedures when advertising/
withdrawing label bindings.
The FEC type list may potentially change across a LDP restart. When
this happens, the bindings for FEC types previously supporting ILA
that changed disappeared for the new LDP session need to be purged.
5.2. Label Mapping Sender/Receiver (LM-S/LM-R)
During label mapping advertisement/withdraw, an LDP endpoint plays
the role of the label mapping sender (LM-S) or label mapping receiver
(LM-R).
For FEC types which the ILA procedures apply, the LM-S will need to
maintain a local label binding table and associate an ILA VERSION-ID
Lo, et al. Expires July 4, 2012 [Page 7]
Internet-Draft Incremental Label Announcement for LDP January 2012
with each binding. Each time a local label binding changes (such
that a re-advertisement or withdraw needs to be sent), the VERSION-ID
for the binding must be updated such that the value is greater than
or equal to the current VERSION-ID being used to advertise/withdraw
label mapping bindings. The local label binding table and associated
VERSION-ID must be maintained across a LDP session restart. This
version id can be managed either on a router basis or on a per
session level and is left to the implementer.
The LM-R similarly, will need to keep 1) bindings learned from an
LM-S in a remote binding table, and 2) the last VERSION-ID "assign"
value learned from the LM-S. Both the remote binding table and the
LM-S version ID "assign" value needs to be maintained across a LDP
session restart.
After session establishments, the LM-S must wait for a VERSION-ID
"request" message from the LM-R. The LM-R sends the VERSION-ID that
it last processed from the LM-S. If the LM-R needs to purge its
remote binding table, it can optionally send a VERSION ID=0 "request"
to the LM-S request that it re-send all its bindings. The LM-R does
not necessarily send a VERSION-ID "request" TLV immediately after a
session is established. It sends the request when it's ready to
receive bindings.
After receiving a VERSION-ID "request" message from the LM-R, an LM-S
should send a VERSION-ID "assign" message starting with VERSION-ID
not greater than the VERSION-ID requested by the LM-R. The LM-R upon
receiving the VERSION-ID "assign", must mark all bindings with
VERSION-ID greater than the assigned VERSION-ID as stale and purge
them after the graceful restart period expires. The LM-S should then
scan its local label binding table and advertise/withdraw bindings
with VERSION-IDs starting with the version id less than or equal to
the VERSION-ID "assign" message. The LM-S MUST also scan its local
label binding table and mark all previously withdrawn bindings with
VERSION-ID less than the "request" version ID as released.
If the LM-S is not able to honor sending with the requested
Version-ID, it should send a VERSION-ID "assign" message with
VERSION-ID equal to zero to indicate that all previously advertised
label bindings should be discarded and that the LM-S will be re-
advertising all bindings. The bindings to be removed needs to be
marked stale and purged if not reclaimed after the GR recovery
period.
Unlike the existing LDP Graceful restart behavior, after a session
goes down and is re-established, label bindings previously advertised
are not implied withdrawn, so an LM-S MUST keep track of all its
bindings and withdraw them. If bindings are deleted from the local
Lo, et al. Expires July 4, 2012 [Page 8]
Internet-Draft Incremental Label Announcement for LDP January 2012
label binding table while a "downed" neighbor is still in a LDP GR
recovery period, that session must be flagged to indicate that if the
LDP session re-establishes, then a VERSION ID "assign" message must
use a value=0, to force the LM-R to purge all previously learned
bindings.
5.3. ILA Version ID=0 Handling
VERSION-ID=0 is a special value that MUST NOT be used as a version-id
value for a label mapping. If an LM-S sends a VERSION-ID assign TLV
with this version ID:
1) the LM-R upon processing this message, MUST mark all it's
received bindings as stale and follow LDP GR restart procedures.
2) The LM-S does not need to send label withdraws for previously
advertised bindings, as all previously advertised bindings are
implied withdrawn.
5.4. ILA Version ID Assignment
It's left to the implementer to decide how to assign ILA VERSION-ID
values to label mappings and how frequently to send per FEC type ILA
Version ID "assign" updates from the LM-S to the LM-R. The simplest
approach is to assign a unique version ID per label mapping messages.
Unlike BGP, LDP announcements complete in a relative short period
after the LDP session re-establishes, so a single ILA VERSION-ID
update per FEC type sent after finishing LIB advertisement completes
is sufficient.
5.5. ILA Version ID wraparound
The Version ID field is defined as a 64 bit value, so wraparound is
unlikely unless the implementer uses a fewer number of bytes
internally to represent the version-id. This section describes how
to handle this rare case. Since the each subsequent VERSION-ID needs
to be assigned a value greater than the previously assigned value,
when wraparound occurs, this situations needs to be handled otherwise
the ILA procedures will fail if the session resets before the re-
announcment updates to the LM-R completes.
When wraparound occurs, the LM-S MUST:
mark all the affected LDP peers with a "re-announcement required"
flag indicating that labels must be completely re-announced.
send an ILA VERSION-ID =1 "assign" update to reset the version id
to lest possible value for every affected LM-R.
Lo, et al. Expires July 4, 2012 [Page 9]
Internet-Draft Incremental Label Announcement for LDP January 2012
walk entire LIB and update the VERSION-ID value of every label
binding.
reannounce all local label bindings to the affected LM-R.
for each affected LM-R, clear the "re-announce required" flag only
after VERSION-ID renumber/re-announcement is complete.
If the LDP session goes down and re-establishes with the "re-announce
require"d flag still set, the LM-S MUST respond to the LM-R
VERSION-ID request with a LM-S VERSION-ID "Assign" with version-id
set to 0 and re-announce all its bindings.
6. Acknowledgements
The authors wish to thank Bin Mo and Eric Rosen for their comments.
7. IANA Considerations
This draft require any new allocations by IANA for the 1) LDP ILA
capability TLV, 2) LDP ILA Version ID TLV, and 3) LDP ILA Version
Message..
8. Security Considerations
This extension to LDP does not change the underlying security issues
inherent in the existing [RFC3478] and [RFC5036]
9. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3478] Leelanivas, M., Rekhter, Y., and R. Aggarwal, "Graceful
Restart Mechanism for Label Distribution Protocol",
RFC 3478, February 2003.
[RFC5036] Andersson, L., Minei, I., and B. Thomas, "LDP
Specification", RFC 5036, October 2007.
[RFC5561] Thomas, B., Raza, K., Aggarwal, S., Aggarwal, R., and J.
Le Roux, "LDP Capabilities", RFC 5561, July 2009.
Lo, et al. Expires July 4, 2012 [Page 10]
Internet-Draft Incremental Label Announcement for LDP January 2012
Authors' Addresses
Alton Lo
Cisco Systems
170 W. Tasman Drive
San Jose, CA 95134
USA
Email: altonlo@cisco.com
Keyur Patel
Cisco Systems
170 W. Tasman Drive
San Jose, CA 95134
USA
Email: keyupate@cisco.com
Vanson Lim
Cisco Systems
1414 Massachusetts Avenue
Boxborough, MA 01719
USA
Email: vlim@cisco.com
Lo, et al. Expires July 4, 2012 [Page 11]