One document matched: draft-tian-mpls-lsp-source-route-00.txt
Network Working Group Albert Tian
Internet Draft Redback Networks
Expiration Date: Nov 2004 George Apostolopoulos
ICS-FORTH
May 2004
Source Routed MPLS LSP using Domain Wide Label
draft-tian-mpls-lsp-source-route-00.txt
1. Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
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.''
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
2. Abstract
One advantage that MPLS provides is that it allows traffic to be
directed through an explicit path that deviates from IP routing.
Such ability is widely used in traffic-engineering and fast-reroute.
Currently signaling protocols such as RSVP is needed to establish and
maintain such an explicit Label Switched Path. When there are a large
number of such signaled LSPs in the network, the aggregated signaling
and maintenance overhead can be significant.
In this paper, we propose a way to establish a source routed explicit
path with zero signaling overhead. The scheme uses a stack of labels
and requires domain wide LDP FEC to label bindings.
Tian & Apostolopoulos [Page 1]
Internet Draft draft-tian-mpls-lsp-source-route-00.txt May 2004
3. Introduction
On merging capable LSRs, LDP builds merging LSP trees rooted at the
egress of the FEC. LDP allocated labels usually are only of local
significance. In other words, an FEC can bind to different labels on
different links in a network. By doing so, each LSR can achieve
conflict free label allocation without any coordination.
But in some cases, a domain wide FEC to label binding may be
desirable. In a domain wide FEC to label binding, a given label is
always bound to the same FEC on all links in the network, if a
binding for the given label exists. We call such a label a Domain
Wide Label(DWL). For example: FEC-d corresponds to a loopback
interface address d on LSR-D.
In traditional FEC to label binding, FEC-d can bind to different
labels on different links:
label 30 label 20 label 10
FEC-d : A ------- B ------- C ------- D
In domain wide label binding, FEC-D binds to the same label 10 on all
links:
label 10 label 10 label 10
FEC-d : A ------- B ------- C ------- D
4. Terminologies
Domain Wide Label (DWL): A label is said to be a Domain Wide Label if
the FECs that map to that label are always the same on all links in a
MPLS domain.
Local Label: A label is said to be a local label if multiple
distinctive FECs can map to that label on different links in a MPLS
domain.
Direct Label: A label is said to be a Direct Label if the label
binding belongs to an one hop LSP whose egress is adjacent to its
ingress.
Domain Wide Direct Label (DWDL): A Domain Wide Label that is also a
Direct Label.
Tian & Apostolopoulos [Page 2]
Internet Draft draft-tian-mpls-lsp-source-route-00.txt May 2004
5. Source Routed LSP
DWL allows an efficient way to support source route in an LDP based
network using a stack of labels.
5.1. An example
For example, in the following network there are 6 LSRs A through F.
Each LSR has a loopback interface with a domain wide label allocated
for it. Assuming LDP is running on all the LSRs and LDP can be
enhanced to distribute such domain wide label bindings throughout the
MPLS domain. The domain wide labels still have the same semantics as
other LDP labels, just that the same label here always maps to the
same FEC on all LSRs in the MPLS domain. Later in this document, we
will give out the details on the LDP enhancements.
+-------> 60/30/P ---> 30/P -------->+
^ |
| D-----------E-----------F |
| | 40 50 60 | v
50/60/30/P | | P
| 10 20 30 |
A-----------B-----------C
Fig. 1
The domain wide label allocation on all LSRs are as follows:
LSR Label Loopback-Interface-prefix/FEC
A 10 a
B 20 b
C 30 c
D 40 d
E 50 e
F 60 f
In this example, all LSRs would use label 10 to deliver packets to
address a on LSR A, and use label 30 to deliver packets to address c
on LSR C, and so on and so forth.
Lets say that normally LSR A would use label 30 to deliver packets to
C along path A-B-C. So FEC c to label 30 mapping must be installed on
all LSRs on the path. Here we assume this can be achieved by the
enhanced LDP.
Now if LSR A wants to use an alternative path A-D-E-F-C to deliver
packets to C, it can push an additional label stack 40/50/60/30 on to
Tian & Apostolopoulos [Page 3]
Internet Draft draft-tian-mpls-lsp-source-route-00.txt May 2004
the packet and forward the packet according to label FIB. Here 40 is
the top (outer most) label. If PHP is enabled, the top label 40 will
be popped on LSR A and the packet will be forwarded to LSR D
according to the action associated with label 40. When the packet
arrives on LSR D, the top label 50 will determine the nexthop to be
LSR E with action pop. Similar procedures will happen on LSR E and F,
eventually deliver the payload P to LSR C.
If PHP is disabled on these LSRs, the labels will not be popped at
the penultimate hop resulting in one extra label on the label stack
in the packet.
Similarly, LSR A can use stack 50/30 to specify a Loosely Source
Routed Path A-E-C. In this case top label will deliver the packet to
LSR E, and the next label 30 will deliver the packet to LSR C.
5.2. Benefits of Source Routed LSP
There are several advantages of such source routed LSPs.
5.2.1. Zero signaling and maintenance overhead
Since these LSPs are source routed, there is no signaling overhead
and no maintenance overhead. Also only the headend of the LSP needs
to maintain the state related to the LSP, other LSRs on the LSP are
not even aware of the existence of such LSPs.
This makes source routed LSPs perfect for establishing bypass LSPs
for fast-reroute. In such applications, numerous bypass LSPs need to
be created and maintained yet only to be used very infrequently when
some link or node fails in a network.
5.2.2. Zero signaling delay
Also because the LSPs are source routed, they can be used immediately
after the stack of labels are determined. This allows LSPs to be
adjusted on the fly without any interruption. In other words, make-
before-break is inherit in the design.
Tian & Apostolopoulos [Page 4]
Internet Draft draft-tian-mpls-lsp-source-route-00.txt May 2004
5.3. Strictly Source Routed Path
Using a stack of DWLs, one can construct a Loosely Source Routed
Path(LSRP).
In most LDP enabled networks, an one hop LDP LSP exists on every LDP
enabled link in the network. This will be true if at least one direct
link between any two adjacent LSRs is preferred by IP routing. In
such networks, if an explicitly route path specifies every node in
the path, then the corresponding source routed LSP constructed using
a stack of DWLs will represent a Strictly Source Routed Path.
However, in some cases if all direct links between two adjacent LSRs
have been configured with higher link costs than alternative indirect
paths, then these direct links will not be used by IP routing.
Z
/ \
1 1
/ \
X---3---Y
100
Fig. 2
In the example given in Fig. 2, the link costs are marked on the
links among three LSRs X, Y and Z. Label 100 is an LDP label whose
egress is on LSR Y. Even when there is a direct link between X and Y,
MPLS packets arriving on X with top label 100 will still be forwarded
to LSR Z, since the path X-Z-Y has a better metric.
In order to guarantee a Strictly Source Routed Path between X and Y
in this scenario, one hop LSPs need to be created over the link
between X and Y even though the link is not preferred by IP routing.
If a DWL is used in such a one hop LSP, it is called a DWDL. Using a
stack of DWDLs, we can construct a Strictly Source Routed Path.
Tian & Apostolopoulos [Page 5]
Internet Draft draft-tian-mpls-lsp-source-route-00.txt May 2004
6. Other applications of DWL
6.1. DWL and LDP node protection
In applications such as LDP node protection as described in [SHEN00],
an LSR needs to learn labels allocated by the next-nexthop LSR for a
given FEC. Without DWL, protocol extensions as outlined in [SHEN00]
will be needed to propagate that information. In a DWL enabled LDP
network, the protocol extensions described in [SHEN00] will not be
needed since the next-nexthop label for a FEC will be the same as the
label allocated on the local box if that label is a DWL.
6.2. DWL can help in troubleshooting
DWL makes the network easier to troubleshoot. Since each FECs using
DWL bind to the same label on all the hops, packets with such a label
can be correlated to the FEC easily.
7. LDP extensions
Here we assume platform label space is used.
7.1. LDP extensions for DWL
7.1.1. Reserve a pool of labels for DWL
A pool of labels need to be set aside on all LSRs in the domain to be
used as DWLs. Local labels MUST not be allocated from this pool,
otherwise we can not guarantee that the same label always maps to the
same FEC. After the pool of labels are reserved, LSRs can then
allocate domain wide labels from the pool.
We propose to reserve labels in range 0xFF000 to 0xFFFF0 for DWL.
Implementations should allow user to change the DWL label range. All
LSRs in a domain MUST agree on the range of labels reserved for DWL
to avoid allocating local labels from the DWL pool.
Tian & Apostolopoulos [Page 6]
Internet Draft draft-tian-mpls-lsp-source-route-00.txt May 2004
7.1.2. Allocate DWL
In most cases, each LSR is allocated a unique DWL from the DWL pool
for its loopback interface address FEC. This FEC to DWL binding will
be propergated throughout the MPLS domain using LDP.
This allocation can be achieved in several ways:
a) manually allocate via configuration, or
b) automatically allocate through a centralized server, or
c) algorithmatically derived from something else.
Method a) is the most strait forward. In this case the operator needs
to make sure there are no conflicts in DWL allocations. Since each
LSR only needs one or in some cases two DWLs, this should not be a
big burden for operators.
7.1.3. Detecting and Advertising DWL
An LSR can determine if a label is a DWL by checking if it falls
within the DWL range. Hence DWL can be advertised using the existing
Generic Label TLV.
7.1.4. Extension to label mapping procedure
When a LABEL MAPPING message is received with a DWL in the label TLV,
the receiving LSR SHOULD try to allocate the same label for the FEC.
If the received DWL is already allocated to a different FEC, a local
label SHOULD be allocated for the FEC, and a NOTIFICATION message
with non-fatal status code **TBD** SHOULD be sent to the advertising
router.
7.1.5. PHP
Since DWL label values need to be communicated to adjacent LSRs to be
further propagated upstream, implicit-null label can not be used to
indicate PHP operation. There are two solutions to this problem.
7.1.5.1. Implicit PHP
PHP is implied for /32 prefix FEC or host FEC if the address in the
FEC is among the addresses advertised in ADDRESS messages from the
adjacent LSR, and the advertising LSR is not a targeted neighbor.
Tian & Apostolopoulos [Page 7]
Internet Draft draft-tian-mpls-lsp-source-route-00.txt May 2004
7.1.5.2. Explicit PHP
If PHP is not desired for a /32 prefix FEC or a host FEC, or if PHP
is desired for other FECs, the explicit PHP mechanism should be used.
The N-bit in the optional Label Attribute TLV can be used to
explicitly signal PHP for DWL. If the N-bit is set, then the
advertising router is signaling that PHP is desired; otherwise, PHP
is not desired.
For compatibility reasons, a Generic Label TLV and a Label Attribute
TLV may co-exist in a LABEL MAPPING message to advertise the same DWL
for a given FEC.
7.2. LDP extensions for DWDL
7.2.1. Label Attribute TLV
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|0| Label Attribute TLV | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Label Value | Reserved |E|D|N|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flags (0 to 4*n bytes, reserved) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Label Value:
This is a 20-bit label value as specified in [RFC3032]
represented as a 20-bit number in a 4 octet field.
N-bit:
The Implicit Null bit. If set then the label should be
processed as if an Implicit Null Label(3) were received.
D-bit:
The Direct Label bit. If set then the label is a Direct Label.
E-bit:
The Egress bit. If set then the egress of the FEC that is
bound to the label is on the advertising router.
Flags:
Optional. Must be multiple of 4 bytes. Reserved.
Tian & Apostolopoulos [Page 8]
Internet Draft draft-tian-mpls-lsp-source-route-00.txt May 2004
7.2.2. DWDL Procedures
7.2.2.1. Egress LSR
The Egress LSR can allocate a DWDL for a FEC. The Egress LSR should
include a Label Attribute TLV in the LABEL MAPPING message for the
DWDL. The D-bit and the E-bit MUST be set. The N-bit can be set or
cleared depending on weather PHP is desired.
7.2.2.2. Neighbors of the Egress LSR
When a LABEL MAPPING message with Label Attribute TLV is received, if
both E-bit and D-bit are set, then a one hop LSP SHOULD be created
over the links between the receiving LSR and the advertising LSR, the
ingress of the LSP is the receiving LSR and the egress of the LSP is
the advertising LSR, the outgoing label is the DWDL, and the output
links are the direct links between the two LSRs.
The E-bit MUST be cleared when further propagating the Label
Attribute TLV upstream.
7.2.2.3. Other LSRs
When a LABEL MAPPING message with Label Attribute TLV is received, if
D-bit is set and E-bit is cleared, then the receiving LSR should
simply record the DWDL value and further propagate the Label
Attribute TLV upstream. No one hop LSP should be created for this
DWDL.
7.3. Construct Source Routed LSP using DWL
Assuming an explicitly routed path is specified by a list of IP
prefixes, each of which represents either a loose hop or a strict
hop. Given such a path, we can construct a Source Routed LSP using
the following algorithm:
a) Set the current node to be the last node in the path, and set the
label stack to be empty.
b) If the current node is a strict hop, find the DWDL that is bound
to the IP prefix, and push the DWDL on to the stack. If the
current node is a loose hop, or if the current node is a strict
hop but a DWDL is not found, find the DWL that is bound to the IP
prefix, and push the DWL on to the stack.
Tian & Apostolopoulos [Page 9]
Internet Draft draft-tian-mpls-lsp-source-route-00.txt May 2004
c) If the current node is the first node in the path, go to end.
Otherwise set the current node to its previous node in the path,
goto step a).
The resulting label stack represents a source routed LSP, and can be
used to forward packets from the first hop to the last hop following
the desired path.
8. Other Considerations
8.1. Typical Scenarios
8.1.1. DWL only with implied PHP
If in a network has LDP one hop LSPs on every link in the network,
then a stack of DWL can be used to construct either a strictly or
loosely source routed path. If LDP is advertising /32 loopback
interface FECs for all LSRs, then PHP can be implied. In this case,
DWLs can be allocated for each loopback FECs and can be implemented
without the Label Attribute TLV.
8.1.2. DWL with implied PHP on all nodes, DWDL on few nodes
If in a network, very few links have high cost configured therefore
do not have one hop LDP LSPs established over them, then DWDLs may be
allocated on LSRs adjacent to these links to create one hop LSPs over
them. The rest of the LSRs only need DWLs with implied PHP. Label
Attribute TLV will be needed to advertise the DWDLs.
8.1.3. Both Loose and Strict Source Routing -- DWL and DWDL
Operators may choose to use both DWL and DWDL in their networks for
maximum flexibility. One DWL and one DWDL will be allocated for each
LSR. Both the DWL and DWDL will be included in the LABEL MAPPING
messages, and Label Attribute TLV will be used.
8.2. Verification of Source Routed Paths
Standard tools such as MPLS ping and MPLS traceroute can be used to
verify a source routed path is functioning as expected.
Tian & Apostolopoulos [Page 10]
Internet Draft draft-tian-mpls-lsp-source-route-00.txt May 2004
8.3. Compatibility Considerations
The solution proposed in this document is compatible with existing
LDP specification. LSRs that do not understand DWL/DWDL will not get
the benefit of DWL, but basic LDP connectivity should remain intact.
8.4. Loop Prevention
One very nice attribute of the source routed LSP is that as long as
each hop is loop free, the path will also be loop free.
It is possible to construct a LSP that visit the same LSR twice by
including the same DWL twice in the stack, but no loop will be
created.
It is recommended for LSRs that support DWL to copy TTL values from
the outer label to inner label when a label is popped, to avoid
delayed TTL expiration.
9. Security Considerations
This document proposed a new and efficient way to implement source
route. All known security concerns related to source routing may also
be concerns here. The concerns can be reduced greatly by not
accepting LSPs from outside the MPLS domain.
10. Acknowledgments
The authors would like to thank Naiming Shen and Enke Chen for their
comments.
11. References
[RFC3036] L. Andersson, P. Doolan, N. Feldman, A. Fredette, and B.
Thomas, "LDP Specification", RFC 3036, January 2001.
[SHEN00] N. Shen, E. Chen, A. Tian, "Discovering LDP Next-Nexthop
Labels", draft-shen-mpls-ldp-nnhop-label-00.txt, work in progress.
[SHEN01] N. Shen and P. Pan, "Nexthop Fast ReRoute for IP and
MPLS", draft-shen-nhop-fastreroute-00.txt, work in progress.
Tian & Apostolopoulos [Page 11]
Internet Draft draft-tian-mpls-lsp-source-route-00.txt May 2004
12. Author Information
Albert Tian
Redback Networks, Inc.
300 Holger Way
San Jose, CA 95134
Email: tian@redback.com
George Apostolopoulos
ICS-FORTH, Institue of Computer Science,
Foundation of Research and Technology Hellas
Tian & Apostolopoulos [Page 12]
| PAFTECH AB 2003-2026 | 2026-04-23 23:40:38 |