draft-ietf-mpls-entropy-label-02.txt   draft-ietf-mpls-entropy-label-03.txt 
Network Working Group K. Kompella Network Working Group K. Kompella
Internet-Draft J. Drake Internet-Draft J. Drake
Updates: 3031 (if approved) Juniper Networks Updates: 3031, 5036 (if approved) Juniper Networks
Intended status: Standards Track S. Amante Intended status: Standards Track S. Amante
Expires: November 8, 2012 Level 3 Communications, LLC Expires: November 10, 2012 Level 3 Communications, LLC
W. Henderickx W. Henderickx
Alcatel-Lucent Alcatel-Lucent
L. Yong L. Yong
Huawei USA Huawei USA
May 7, 2012 May 9, 2012
The Use of Entropy Labels in MPLS Forwarding The Use of Entropy Labels in MPLS Forwarding
draft-ietf-mpls-entropy-label-02 draft-ietf-mpls-entropy-label-03
Abstract Abstract
Load balancing is a powerful tool for engineering traffic across a Load balancing is a powerful tool for engineering traffic across a
network. This memo suggests ways of improving load balancing across network. This memo suggests ways of improving load balancing across
MPLS networks using the concept of "entropy labels". It defines the MPLS networks using the concept of "entropy labels". It defines the
concept, describes why entropy labels are useful, enumerates concept, describes why entropy labels are useful, enumerates
properties of entropy labels that allow maximal benefit, and shows properties of entropy labels that allow maximal benefit, and shows
how they can be signaled and used for various applications. how they can be signaled and used for various applications.
skipping to change at page 1, line 41 skipping to change at page 1, line 41
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on November 8, 2012. This Internet-Draft will expire on November 10, 2012.
Copyright Notice Copyright Notice
Copyright (c) 2012 IETF Trust and the persons identified as the Copyright (c) 2012 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 26 skipping to change at page 2, line 26
1.2. Motivation . . . . . . . . . . . . . . . . . . . . . . . . 6 1.2. Motivation . . . . . . . . . . . . . . . . . . . . . . . . 6
2. Approaches . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2. Approaches . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3. Entropy Labels and Their Structure . . . . . . . . . . . . . . 8 3. Entropy Labels and Their Structure . . . . . . . . . . . . . . 8
4. Data Plane Processing of Entropy Labels . . . . . . . . . . . 9 4. Data Plane Processing of Entropy Labels . . . . . . . . . . . 9
4.1. Egress LSR . . . . . . . . . . . . . . . . . . . . . . . . 9 4.1. Egress LSR . . . . . . . . . . . . . . . . . . . . . . . . 9
4.2. Ingress LSR . . . . . . . . . . . . . . . . . . . . . . . 10 4.2. Ingress LSR . . . . . . . . . . . . . . . . . . . . . . . 10
4.3. Transit LSR . . . . . . . . . . . . . . . . . . . . . . . 11 4.3. Transit LSR . . . . . . . . . . . . . . . . . . . . . . . 11
4.4. Penultimate Hop LSR . . . . . . . . . . . . . . . . . . . 11 4.4. Penultimate Hop LSR . . . . . . . . . . . . . . . . . . . 11
5. Signaling for Entropy Labels . . . . . . . . . . . . . . . . . 11 5. Signaling for Entropy Labels . . . . . . . . . . . . . . . . . 11
5.1. LDP Signaling . . . . . . . . . . . . . . . . . . . . . . 12 5.1. LDP Signaling . . . . . . . . . . . . . . . . . . . . . . 12
5.2. BGP Signaling . . . . . . . . . . . . . . . . . . . . . . 12 5.1.1. Processing the ELC TLV . . . . . . . . . . . . . . . . 12
5.3. RSVP-TE Signaling . . . . . . . . . . . . . . . . . . . . 13 5.2. BGP Signaling . . . . . . . . . . . . . . . . . . . . . . 13
5.3. RSVP-TE Signaling . . . . . . . . . . . . . . . . . . . . 14
5.4. Multicast LSPs and Entropy Labels . . . . . . . . . . . . 14
6. Operations, Administration, and Maintenance (OAM) and 6. Operations, Administration, and Maintenance (OAM) and
Entropy Labels . . . . . . . . . . . . . . . . . . . . . . . . 13 Entropy Labels . . . . . . . . . . . . . . . . . . . . . . . . 14
7. MPLS-TP and Entropy Labels . . . . . . . . . . . . . . . . . . 14 7. MPLS-TP and Entropy Labels . . . . . . . . . . . . . . . . . . 15
8. Point-to-Multipoint LSPs and Entropy Labels . . . . . . . . . 15 8. Entropy Labels in Various Scenarios . . . . . . . . . . . . . 15
9. Entropy Labels in Various Scenarios . . . . . . . . . . . . . 15 8.1. LDP Tunnel . . . . . . . . . . . . . . . . . . . . . . . . 16
9.1. LDP Tunnel . . . . . . . . . . . . . . . . . . . . . . . . 16 8.2. LDP Over RSVP-TE . . . . . . . . . . . . . . . . . . . . . 18
9.2. LDP Over RSVP-TE . . . . . . . . . . . . . . . . . . . . . 18 8.3. MPLS Applications . . . . . . . . . . . . . . . . . . . . 18
9.3. MPLS Applications . . . . . . . . . . . . . . . . . . . . 18 9. Security Considerations . . . . . . . . . . . . . . . . . . . 19
10. Security Considerations . . . . . . . . . . . . . . . . . . . 18 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19
11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19 10.1. Reserved Label for ELI . . . . . . . . . . . . . . . . . . 19
11.1. Reserved Label for ELI . . . . . . . . . . . . . . . . . . 19 10.2. LDP Entropy Label Capability TLV . . . . . . . . . . . . . 19
11.2. LDP Entropy Label Capability TLV . . . . . . . . . . . . . 19 10.3. BGP Entropy Label Capability Attribute . . . . . . . . . . 20
11.3. BGP Entropy Label Capability Attribute . . . . . . . . . . 19 10.4. RSVP-TE Entropy Label Capability flag . . . . . . . . . . 20
11.4. RSVP-TE Entropy Label Capability flag . . . . . . . . . . 19 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 20
12. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 20 12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 20
13. References . . . . . . . . . . . . . . . . . . . . . . . . . . 20 12.1. Normative References . . . . . . . . . . . . . . . . . . . 20
13.1. Normative References . . . . . . . . . . . . . . . . . . . 20 12.2. Informative References . . . . . . . . . . . . . . . . . . 21
13.2. Informative References . . . . . . . . . . . . . . . . . . 20 Appendix A. Applicability of LDP Entropy Label Capability TLV . . 22
Appendix A. Applicability of LDP Entropy Label Capability TLV . . 21
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 22 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 22
1. Introduction 1. Introduction
Load balancing, or multi-pathing, is an attempt to balance traffic Load balancing, or multi-pathing, is an attempt to balance traffic
across a network by allowing the traffic to use multiple paths. Load across a network by allowing the traffic to use multiple paths. Load
balancing has several benefits: it eases capacity planning; it can balancing has several benefits: it eases capacity planning; it can
help absorb traffic surges by spreading them across multiple paths; help absorb traffic surges by spreading them across multiple paths;
it allows better resilience by offering alternate paths in the event it allows better resilience by offering alternate paths in the event
of a link or node failure. of a link or node failure.
skipping to change at page 9, line 21 skipping to change at page 9, line 21
MUST be able to distinguish unambiguously between entropy labels and MUST be able to distinguish unambiguously between entropy labels and
application labels. This is accomplished by REQUIRING that the label application labels. This is accomplished by REQUIRING that the label
immediately preceding an entropy label (EL) in the MPLS label stack immediately preceding an entropy label (EL) in the MPLS label stack
be an 'entropy label indicator' (ELI). The ELI is a reserved label be an 'entropy label indicator' (ELI). The ELI is a reserved label
with value (TBD by IANA). An ELI MUST have 'Bottom of Stack' (BoS) with value (TBD by IANA). An ELI MUST have 'Bottom of Stack' (BoS)
bit = 0 ([RFC3032]). The TTL SHOULD be set to whatever value the bit = 0 ([RFC3032]). The TTL SHOULD be set to whatever value the
label above it in the stack has. The CoS field can be set to any label above it in the stack has. The CoS field can be set to any
value deemed appropriate; typically, this will be the value in the value deemed appropriate; typically, this will be the value in the
label above the ELI in the label stack. label above the ELI in the label stack.
Entropy labels are useful for pseudowires ([RFC4447]). Entropy labels are useful for pseudowires ([RFC4447]). [RFC6391]
[I-D.ietf-pwe3-fat-pw] explains how entropy labels can be used for explains how entropy labels can be used for RFC 4447-style
RFC 4447-style pseudowires, and thus is complementary to this memo, pseudowires, and thus is complementary to this memo, which focuses on
which focuses on how entropy labels can be used for tunnels, and thus how entropy labels can be used for tunnels, and thus for all other
for all other MPLS applications. MPLS applications.
4. Data Plane Processing of Entropy Labels 4. Data Plane Processing of Entropy Labels
4.1. Egress LSR 4.1. Egress LSR
Suppose egress LSR Y is capable of processing entropy labels for a Suppose egress LSR Y is capable of processing entropy labels for a
tunnel. Y indicates this to all ingresses via signaling (see tunnel. Y indicates this to all ingresses via signaling (see
Section 5). Y MUST be prepared to deal both with packets with an Section 5). Y MUST be prepared to deal both with packets with an
imposed EL and those without; the ELI will distinguish these cases. imposed EL and those without; the ELI will distinguish these cases.
If a particular ingress chooses not to impose an EL, Y's processing If a particular ingress chooses not to impose an EL, Y's processing
skipping to change at page 12, line 4 skipping to change at page 12, line 4
5. Signaling for Entropy Labels 5. Signaling for Entropy Labels
An egress LSR Y can signal to ingress LSR(s) its ability to process An egress LSR Y can signal to ingress LSR(s) its ability to process
entropy labels (henceforth called "Entropy Label Capability" or ELC) entropy labels (henceforth called "Entropy Label Capability" or ELC)
on a given tunnel. Note that Entropy Label Capability may be on a given tunnel. Note that Entropy Label Capability may be
asymmetric: if LSRs X and Y are at opposite ends of a tunnel, X may asymmetric: if LSRs X and Y are at opposite ends of a tunnel, X may
be able to process entropy labels, whereas Y may not. The signaling be able to process entropy labels, whereas Y may not. The signaling
extensions below allow for this asymmetry. extensions below allow for this asymmetry.
For an illustration of signaling and forwarding with entropy labels, For an illustration of signaling and forwarding with entropy labels,
see Section 9. see Section 8.
5.1. LDP Signaling 5.1. LDP Signaling
A new LDP TLV ([RFC5036]) is defined to signal an egress's ability to A new LDP TLV ([RFC5036]) is defined to signal an egress's ability to
process entropy labels. This is called the ELC TLV, and may appear process entropy labels. This is called the ELC TLV, and may appear
as an Optional Parameter of the Label Mapping Message TLV. as an Optional Parameter of the Label Mapping Message TLV.
The presence of the ELC TLV in a Label Mapping Message indicates to The presence of the ELC TLV in a Label Mapping Message indicates to
ingress LSRs that the egress LSR can process entropy labels for the ingress LSRs that the egress LSR can process entropy labels for the
associated LDP tunnel. The ELC TLV has Type (TBD by IANA) and Length associated LDP tunnel. The ELC TLV has Type (TBD by IANA) and Length
skipping to change at page 12, line 29 skipping to change at page 12, line 29
0 1 2 3 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 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| Type (TBD) | Length (0) | |U|F| Type (TBD) | Length (0) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: Entropy Label Capability TLV Figure 1: Entropy Label Capability TLV
where: where:
U: Unknown bit. This bit MUST be set to 1. If the Entropy Label U: Unknown bit. This bit MUST be set to 1. If the ELC TLV is not
Capability TLV is not understood, then the TLV is not known to the understood by the receiver, then it MUST be ignored.
receiver and MUST be ignored.
F: Forward bit. This bit MUST be set be set to 1. Since this F: Forward bit. This bit MUST be set be set to 1. Since the ELC
Capability TLV is going to be propagated hop-by-hop, the TLV TLV is going to be propagated hop-by-hop, it should be forwarded
should be forwarded even by nodes that may not understand it. even by nodes that may not understand it.
Type: Type field. To be assigned by IANA. Type: Type field. To be assigned by IANA.
Length: Length field. This field specifies the total length in Length: Length field. This field specifies the total length in
octets of the ELC TLV, and is currently defined to be 0. octets of the ELC TLV, and is currently defined to be 0.
5.1.1. Processing the ELC TLV
An LSR that receives a Label Mapping with the ELC TLV but does not
understand it MUST propagate it intact to its neighbors and MUST NOT
send a notification to the sender (following the meaning of the U-
and F-bits).
An LSR X may receive multiple Label Mappings for a given FEC F from
its neighbors. In its turn, X may advertise a Label Mapping for F to
its neighbors. If X understands the ELC TLV, and if any of the
advertisements it received for FEC F does not include the ELC TLV, X
MUST NOT include the ELC TLV in its own advertisements of F. If all
the advertised Mappings for F include the ELC TLV, then X MUST
advertise its Mapping for F with the ELC TLV. If any of X's
neighbors resends its Mapping, sends a new Mapping or Withdraws a
previously advertised Mapping for F, X MUST re-evaluate the status of
ELC for FEC F, and, if there is a change, X MUST re-advertise its
Mapping for F with the updated status of ELC.
5.2. BGP Signaling 5.2. BGP Signaling
When BGP [RFC4271] is used for distributing Network Layer When BGP [RFC4271] is used for distributing Network Layer
Reachability Information (NLRI) as described in, for example, Reachability Information (NLRI) as described in, for example,
[RFC3107], the BGP UPDATE message may include the ELC attribute as [RFC3107], the BGP UPDATE message may include the ELC attribute as
part of the Path Attributes. This is an optional, transitive BGP part of the Path Attributes. This is an optional, transitive BGP
attribute of type (to be assigned by IANA). The inclusion of this attribute of type (to be assigned by IANA). The inclusion of this
attribute with an NLRI indicates that the advertising BGP router can attribute with an NLRI indicates that the advertising BGP router can
process entropy labels as an egress LSR for all routes in that NLRI. process entropy labels as an egress LSR for all routes in that NLRI.
skipping to change at page 13, line 47 skipping to change at page 14, line 18
Entropy Label Capability (ELC) flag in the Attribute Flags TLV of the Entropy Label Capability (ELC) flag in the Attribute Flags TLV of the
LSP_ATTRIBUTES object [RFC5420]. The presence of the ELC flag in a LSP_ATTRIBUTES object [RFC5420]. The presence of the ELC flag in a
Path message indicates that the ingress can process entropy labels in Path message indicates that the ingress can process entropy labels in
the upstream direction; this only makes sense for a bidirectional LSP the upstream direction; this only makes sense for a bidirectional LSP
and MUST be ignored otherwise. The presence of the ELC flag in a and MUST be ignored otherwise. The presence of the ELC flag in a
Resv message indicates that the egress can process entropy labels in Resv message indicates that the egress can process entropy labels in
the downstream direction. the downstream direction.
The bit number for the ELC flag is to be assigned by IANA. The bit number for the ELC flag is to be assigned by IANA.
5.4. Multicast LSPs and Entropy Labels
Multicast LSPs [RFC4875], [RFC6388] typically do not use ECMP for
load balancing, as the combination of replication and multipathing
can lead to duplicate traffic delivery. However, these LSPs can
traverse bundled links [RFC4201] and LAGs. In both these cases, load
balancing is useful, and hence entropy labels can be of value for
multicast LSPs.
The methodology defined for entropy labels here will be used for
multicast LSPs; however, the details of signaling and processing ELs
for multicast LSPs will be specified in a companion document.
6. Operations, Administration, and Maintenance (OAM) and Entropy Labels 6. Operations, Administration, and Maintenance (OAM) and Entropy Labels
Generally OAM comprises a set of functions operating in the data Generally OAM comprises a set of functions operating in the data
plane to allow a network operator to monitor its network plane to allow a network operator to monitor its network
infrastructure and to implement mechanisms in order to enhance the infrastructure and to implement mechanisms in order to enhance the
general behavior and the level of performance of its network, e.g., general behavior and the level of performance of its network, e.g.,
the efficient and automatic detection, localization, diagnosis and the efficient and automatic detection, localization, diagnosis and
handling of defects. handling of defects.
Currently defined OAM mechanisms for MPLS include LSP Ping/Traceroute Currently defined OAM mechanisms for MPLS include LSP Ping/Traceroute
skipping to change at page 15, line 5 skipping to change at page 15, line 33
In order to have a BFD session on a given path, a value from the In order to have a BFD session on a given path, a value from the
label range for that path should be used as the EL value for BFD label range for that path should be used as the EL value for BFD
packets sent on that path. packets sent on that path.
7. MPLS-TP and Entropy Labels 7. MPLS-TP and Entropy Labels
Since MPLS-TP does not use ECMP, entropy labels are not applicable to Since MPLS-TP does not use ECMP, entropy labels are not applicable to
an MPLS-TP deployment. an MPLS-TP deployment.
8. Point-to-Multipoint LSPs and Entropy Labels 8. Entropy Labels in Various Scenarios
Point-to-Multipoint (P2MP) LSPs [RFC4875] typically do not use ECMP
for load balancing, as the combination of replication and
multipathing can lead to duplicate traffic delivery. However, P2MP
LSPs can traverse bundled links [RFC4201] and LAGs. In both these
cases, load balancing is useful, and hence entropy labels can be of
value for P2MP LSPs.
There is a potential complication with the use of entropy labels in
the context of P2MP LSPs, a consequence of the fact that the entire
label stack below the P2MP label must be the same for all egress
LSRs. This is that all egress LSRs must be willing to receive
entropy labels; if even one egress LSR is not willing, then entropy
labels MUST NOT be used for this P2MP LSP.
In this regard, the ingress LSR MUST keep track of the ability of
each egress LSR to process entropy labels, especially since the set
of egress LSRs of a given P2MP LSP may change over time. Whenever an
existing egress LSR leaves, or a new egress LSR joins the P2MP LSP,
the ingress MUST re-evaluate whether or not to include entropy labels
for the P2MP LSP.
In some cases, it may be feasible to deploy two P2MP LSPs, one to ELC
egress LSRs, and the other to the remaining non-ELC egress LSRs.
However, this requires more state in the network, more bandwidth, and
more operational overhead (tracking ELC LSRs, and provisioning P2MP
LSPs accordingly). Alternatively, an ingress LSR may choose to
signal two separate P2MP LSPs, one to ELC egresses, the other to non-
ELC egresses, trading off implementation complexity for operational
complexity.
9. Entropy Labels in Various Scenarios
This section describes the use of entropy labels in various This section describes the use of entropy labels in various
scenarios. scenarios.
In the figures below, the following conventions used to depict In the figures below, the following conventions used to depict
processing between X and Y. Note that control plane signaling goes processing between X and Y. Note that control plane signaling goes
right to left, whereas data plane processing goes left to right. right to left, whereas data plane processing goes left to right.
Protocols Protocols
Y: <--- [L, E] Y signals L to X Y: <--- [L, E] Y signals L to X
skipping to change at page 16, line 17 skipping to change at page 16, line 16
0: meaning egress is NOT entropy label capable, or 0: meaning egress is NOT entropy label capable, or
1: meaning egress is entropy label capable. 1: meaning egress is entropy label capable.
The line with LS: shows the label stack on the wire. Below that is The line with LS: shows the label stack on the wire. Below that is
the operation that each LSR does in the data plane, where + means the operation that each LSR does in the data plane, where + means
push the following label stack, - means pop the following label push the following label stack, - means pop the following label
stack, L~L' means swap L with L', and * means that the operation is stack, L~L' means swap L with L', and * means that the operation is
not depicted. not depicted.
9.1. LDP Tunnel 8.1. LDP Tunnel
The following illustrates several simple intra-AS LDP tunnels. The The following illustrates several simple intra-AS LDP tunnels. The
first diagram shows ultimate hop popping (UHP) with ingress inserting first diagram shows ultimate hop popping (UHP) with ingress inserting
an EL, the second UHP with no ELs, the third PHP with ELs, and an EL, the second UHP with no ELs, the third PHP with ELs, and
finally, PHP with no ELs, but also with an application label AL finally, PHP with no ELs, but also with an application label AL
(which could, for example, be a VPN label). (which could, for example, be a VPN label).
Note that, in all the cases below, the MPLS application does not Note that, in all the cases below, the MPLS application does not
matter; it may be that X pushes some more labels (perhaps for a VPN matter; it may be that X pushes some more labels (perhaps for a VPN
or VPLS) below the ones shown, and Y pops them. or VPLS) below the ones shown, and Y pops them.
skipping to change at page 18, line 6 skipping to change at page 18, line 6
X --------------- A --------- B ... W ---------- Y X --------------- A --------- B ... W ---------- Y
LS: <TL4, AL> <TL3, AL> <AL> LS: <TL4, AL> <TL3, AL> <AL>
X: +<TL4, AL> X: +<TL4, AL>
A: TL4~TL3 A: TL4~TL3
B: TL3~TL2 B: TL3~TL2
... ...
W: -TL1 W: -TL1
Y: -<AL> Y: -<AL>
LDP with PHP + VPN; ingress does not insert ELs LDP with PHP + VPN; ingress does not insert ELs
9.2. LDP Over RSVP-TE A: <--- [TL4, 1]
B: <-- [TL3, 1]
...
W: <-- [TL1, 1]
Y: <-- [3, 1]
VPN: <--------------------------------------------- [AL]
X --------------- A ------------ B ... W ---------- Y
LS: <TL4,ELI,EL,AL> <TL3,ELI,EL,AL> <ELI,EL,AL>
X: +<TL4,ELI,EL,AL>
A: TL4~TL3
B: TL3~TL2
...
W: -TL1
Y: -<ELI,EL,AL>
LDP with PHP + VPN; ingress inserts ELs
8.2. LDP Over RSVP-TE
The following illustrates "LDP over RSVP-TE" tunnels. X and Y are The following illustrates "LDP over RSVP-TE" tunnels. X and Y are
the ingress and egress (respectively) of the LDP tunnel; A and W are the ingress and egress (respectively) of the LDP tunnel; A and W are
the ingress and egress of the RSVP-TE tunnel. It is assumed that the ingress and egress of the RSVP-TE tunnel. It is assumed that
both the LDP and RSVP-TE tunnels have PHP. both the LDP and RSVP-TE tunnels have PHP.
LDP with ELs, RSVP-TE without ELs LDP with ELs, RSVP-TE without ELs
LDP: <--- [L4, 1] <------- [L3, 1] <--- [3, 1] LDP: <--- [L4, 1] <------- [L3, 1] <--- [3, 1]
RSVP-TE: <-- [Rn, 0] RSVP-TE: <-- [Rn, 0]
<-- [3, 0] <-- [3, 0]
X --------------- A --------- B ... W ---------- Y X --------------- A --------- B ... W ---------- Y
LS: <L4, ELI, EL> <Rn,L3,ELI,EL> ... <ELI, EL> LS: <L4, ELI, EL> <Rn,L3,ELI,EL> ... <ELI, EL>
DP: +<L4, ELI, EL> L4~<Rn, L3> * -L1 -<ELI, EL> DP: +<L4, ELI, EL> L4~<Rn, L3> * -L1 -<ELI, EL>
Figure 2: LDP over RSVP-TE Tunnels Figure 2: LDP over RSVP-TE Tunnels
9.3. MPLS Applications 8.3. MPLS Applications
An ingress LSR X must keep state per unicast tunnel as to whether the An ingress LSR X must keep state per unicast tunnel as to whether the
egress for that tunnel can process entropy labels. X does not have egress for that tunnel can process entropy labels. X does not have
to keep state per application running over that tunnel. However, an to keep state per application running over that tunnel. However, an
ingress PE can choose on a per-application basis whether or not to ingress PE can choose on a per-application basis whether or not to
insert ELs. For example, X may have an application for which it does insert ELs. For example, X may have an application for which it does
not wish to use ECMP (e.g., circuit emulation), or for which it does not wish to use ECMP (e.g., circuit emulation), or for which it does
not know which keys to use for load balancing (e.g., Appletalk over a not know which keys to use for load balancing (e.g., Appletalk over a
pseudowire). In either of those cases, X may choose not to insert pseudowire). In either of those cases, X may choose not to insert
entropy labels, but may choose to insert entropy labels for an IP VPN entropy labels, but may choose to insert entropy labels for an IP VPN
over the same tunnel. over the same tunnel.
10. Security Considerations 9. Security Considerations
This document describes advertisement of the capability to support This document describes advertisement of the capability to support
receipt of entropy labels which an ingress LSR may insert in MPLS receipt of entropy labels which an ingress LSR may insert in MPLS
packets in order to allow transit LSRs to attain better load packets in order to allow transit LSRs to attain better load
balancing across LAG and/or ECMP paths in the network. balancing across LAG and/or ECMP paths in the network.
This document does not introduce new security vulnerabilities to LDP, This document does not introduce new security vulnerabilities to LDP,
BGP or RSVP-TE. Please refer to the Security Considerations section BGP or RSVP-TE. Please refer to the Security Considerations section
of these protocols ([RFC5036], [RFC4271] and [RFC3209]) for security of these protocols ([RFC5036], [RFC4271] and [RFC3209]) for security
mechanisms applicable to each. mechanisms applicable to each.
skipping to change at page 19, line 17 skipping to change at page 19, line 34
the egress PE, then the PE will fall back to not using entropy labels the egress PE, then the PE will fall back to not using entropy labels
for load-balancing traffic over LAG or ECMP paths which is in general for load-balancing traffic over LAG or ECMP paths which is in general
no worse than the behavior observed in current production networks. no worse than the behavior observed in current production networks.
That said, it is recommended that operators monitor changes to PE That said, it is recommended that operators monitor changes to PE
configurations and, more importantly, the fairness of load configurations and, more importantly, the fairness of load
distribution over LAG or ECMP paths. If the fairness of load distribution over LAG or ECMP paths. If the fairness of load
distribution over a set of paths changes that could indicate a distribution over a set of paths changes that could indicate a
misconfiguration, bug or other non-optimal behavior on their PEs and misconfiguration, bug or other non-optimal behavior on their PEs and
they should take corrective action. they should take corrective action.
11. IANA Considerations 10. IANA Considerations
11.1. Reserved Label for ELI 10.1. Reserved Label for ELI
IANA is requested to allocate a reserved label for the Entropy Label IANA is requested to allocate a reserved label for the Entropy Label
Indicator (ELI) from the "Multiprotocol Label Switching Architecture Indicator (ELI) from the "Multiprotocol Label Switching Architecture
(MPLS) Label Values" Registry. (MPLS) Label Values" Registry.
11.2. LDP Entropy Label Capability TLV 10.2. LDP Entropy Label Capability TLV
IANA is requested to allocate the next available value from the IETF IANA is requested to allocate the next available value from the IETF
Consensus range in the LDP TLV Type Name Space Registry as the Consensus range in the LDP TLV Type Name Space Registry as the
"Entropy Label Capability TLV". "Entropy Label Capability TLV".
11.3. BGP Entropy Label Capability Attribute 10.3. BGP Entropy Label Capability Attribute
IANA is requested to allocate the next available Path Attribute Type IANA is requested to allocate the next available Path Attribute Type
Code from the "BGP Path Attributes" registry as the "BGP Entropy Code from the "BGP Path Attributes" registry as the "BGP Entropy
Label Capability Attribute". Label Capability Attribute".
11.4. RSVP-TE Entropy Label Capability flag 10.4. RSVP-TE Entropy Label Capability flag
IANA is requested to allocate a new bit from the "Attribute Flags" IANA is requested to allocate a new bit from the "Attribute Flags"
sub-registry of the "RSVP TE Parameters" registry. sub-registry of the "RSVP TE Parameters" registry.
Bit | Name | Attribute | Attribute | RRO Bit | Name | Attribute | Attribute | RRO
No | | Flags Path | Flags Resv | No | | Flags Path | Flags Resv |
----+--------------------------+------------+------------+----- ----+--------------------------+------------+------------+-----
TBD Entropy Label Capability Yes Yes No TBD Entropy Label Capability Yes Yes No
12. Acknowledgments 11. Acknowledgments
We wish to thank Ulrich Drafz for his contributions, as well as the We wish to thank Ulrich Drafz for his contributions, as well as the
entire 'hash label' team for their valuable comments and discussion. entire 'hash label' team for their valuable comments and discussion.
Sincere thanks to Nischal Sheth for his many suggestions and Sincere thanks to Nischal Sheth for his many suggestions and
comments, and his careful reading of the document, especially with comments, and his careful reading of the document, especially with
regard to data plane processing of entropy labels. regard to data plane processing of entropy labels.
13. References 12. References
13.1. Normative References 12.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3032] Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y., [RFC3032] Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y.,
Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack
Encoding", RFC 3032, January 2001. Encoding", RFC 3032, January 2001.
[RFC3107] Rekhter, Y. and E. Rosen, "Carrying Label Information in [RFC3107] Rekhter, Y. and E. Rosen, "Carrying Label Information in
BGP-4", RFC 3107, May 2001. BGP-4", RFC 3107, May 2001.
[RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V.,
and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP
Tunnels", RFC 3209, December 2001. Tunnels", RFC 3209, December 2001.
[RFC5036] Andersson, L., Minei, I., and B. Thomas, "LDP
Specification", RFC 5036, October 2007.
[RFC5420] Farrel, A., Papadimitriou, D., Vasseur, JP., and A. [RFC5420] Farrel, A., Papadimitriou, D., Vasseur, JP., and A.
Ayyangarps, "Encoding of Attributes for MPLS LSP Ayyangar, "Encoding of Attributes for MPLS LSP
Establishment Using Resource Reservation Protocol Traffic Establishment Using Resource Reservation Protocol Traffic
Engineering (RSVP-TE)", RFC 5420, February 2009. Engineering (RSVP-TE)", RFC 5420, February 2009.
13.2. Informative References 12.2. Informative References
[I-D.ietf-pwe3-fat-pw]
Bryant, S., Filsfils, C., Drafz, U., Kompella, V., Regan,
J., and S. Amante, "Flow Aware Transport of Pseudowires
over an MPLS Packet Switched Network",
draft-ietf-pwe3-fat-pw-07 (work in progress), July 2011.
[RFC4201] Kompella, K., Rekhter, Y., and L. Berger, "Link Bundling [RFC4201] Kompella, K., Rekhter, Y., and L. Berger, "Link Bundling
in MPLS Traffic Engineering (TE)", RFC 4201, October 2005. in MPLS Traffic Engineering (TE)", RFC 4201, October 2005.
[RFC4271] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway [RFC4271] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway
Protocol 4 (BGP-4)", RFC 4271, January 2006. Protocol 4 (BGP-4)", RFC 4271, January 2006.
[RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private [RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private
Networks (VPNs)", RFC 4364, February 2006. Networks (VPNs)", RFC 4364, February 2006.
skipping to change at page 21, line 27 skipping to change at page 21, line 42
[RFC4762] Lasserre, M. and V. Kompella, "Virtual Private LAN Service [RFC4762] Lasserre, M. and V. Kompella, "Virtual Private LAN Service
(VPLS) Using Label Distribution Protocol (LDP) Signaling", (VPLS) Using Label Distribution Protocol (LDP) Signaling",
RFC 4762, January 2007. RFC 4762, January 2007.
[RFC4875] Aggarwal, R., Papadimitriou, D., and S. Yasukawa, [RFC4875] Aggarwal, R., Papadimitriou, D., and S. Yasukawa,
"Extensions to Resource Reservation Protocol - Traffic "Extensions to Resource Reservation Protocol - Traffic
Engineering (RSVP-TE) for Point-to-Multipoint TE Label Engineering (RSVP-TE) for Point-to-Multipoint TE Label
Switched Paths (LSPs)", RFC 4875, May 2007. Switched Paths (LSPs)", RFC 4875, May 2007.
[RFC5036] Andersson, L., Minei, I., and B. Thomas, "LDP
Specification", RFC 5036, October 2007.
[RFC5586] Bocci, M., Vigoureux, M., and S. Bryant, "MPLS Generic
Associated Channel", RFC 5586, June 2009.
[RFC5884] Aggarwal, R., Kompella, K., Nadeau, T., and G. Swallow, [RFC5884] Aggarwal, R., Kompella, K., Nadeau, T., and G. Swallow,
"Bidirectional Forwarding Detection (BFD) for MPLS Label "Bidirectional Forwarding Detection (BFD) for MPLS Label
Switched Paths (LSPs)", RFC 5884, June 2010. Switched Paths (LSPs)", RFC 5884, June 2010.
[RFC6388] Wijnands, IJ., Minei, I., Kompella, K., and B. Thomas,
"Label Distribution Protocol Extensions for Point-to-
Multipoint and Multipoint-to-Multipoint Label Switched
Paths", RFC 6388, November 2011.
[RFC6391] Bryant, S., Filsfils, C., Drafz, U., Kompella, V., Regan,
J., and S. Amante, "Flow-Aware Transport of Pseudowires
over an MPLS Packet Switched Network", RFC 6391,
November 2011.
Appendix A. Applicability of LDP Entropy Label Capability TLV Appendix A. Applicability of LDP Entropy Label Capability TLV
In the case of unlabeled IPv4 (Internet) traffic, the Best Current In the case of unlabeled IPv4 (Internet) traffic, the Best Current
Practice is for an egress LSR to propagate eBGP learned routes within Practice is for an egress LSR to propagate eBGP learned routes within
a SP's Autonomous System after resetting the BGP next-hop attribute a SP's Autonomous System after resetting the BGP next-hop attribute
to one of its Loopback IP addresses. That Loopback IP address is to one of its Loopback IP addresses. That Loopback IP address is
injected into the Service Provider's IGP and, concurrently, a label injected into the Service Provider's IGP and, concurrently, a label
assigned to it via LDP. Thus, when an ingress LSR is performing a assigned to it via LDP. Thus, when an ingress LSR is performing a
forwarding lookup for a BGP destination it recursively resolves the forwarding lookup for a BGP destination it recursively resolves the
associated next-hop to a Loopback IP address and associated LDP label associated next-hop to a Loopback IP address and associated LDP label
 End of changes. 31 change blocks. 
96 lines changed or deleted 114 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/