One document matched: draft-tian-mpls-lsp-source-route-01.txt
Differences from draft-tian-mpls-lsp-source-route-00.txt
Network Working Group Albert J. Tian
Internet Draft Redback Networks
Expiration Date: Jan 2005 George Apostolopoulos
ICS-FORTH
July 2004
Source Routed MPLS LSP using Domain Wide Label
draft-tian-mpls-lsp-source-route-01.txt
1. Status of this Memo
By submitting this Internet-Draft, I certify that any applicable
patent or other IPR claims of which I am aware have been disclosed,
or will be disclosed, and any of which I become aware will be
disclosed, in accordance with RFC 3668.
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
Tian & Apostolopoulos [Page 1]
Internet Draft draft-tian-mpls-lsp-source-route-01.txt July 2004
and requires domain wide LDP FEC to label bindings.
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).
Consider the following example where 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.
Tian & Apostolopoulos [Page 2]
Internet Draft draft-tian-mpls-lsp-source-route-01.txt July 2004
5. Source Routed LSP
DWL allows an efficient way to support source routing in an LDP
enabled 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-01.txt July 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-01.txt July 2004
5.3. Other Benefits of DWL
5.3.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.
5.3.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.
6. Strictly Source Routed Segments over High Cost Links
Using a stack of DWLs, one can construct a Loosely Source Routed
Path(LSRP), with each DWL representing a loose segment on the path.
In most LDP enabled networks, at direct link between two LSRs is the
shortest path between the two according to routing. In such a
network, a DWL for a directly connected neighbor will deliver packets
over one or more of the directly connect links to that neighbor. In
this case, strict segments in an explicit path can be implemented
using DWLs.
However, in some cases if all direct links between two adjacent LSRs
have been configured with higher link costs than the shortest
indirect paths, then these direct links will not be used by IP
routing except for packets whose destination address is the interface
address on the far end of the high cost link.
1-------------Z-------------1
| |
| |
| | 1.1.1.1/32 loopback label 100
X-------------3-------------Y
10.1.1.1/24 10.1.1.2/24 interface address label 10
Fig. 2
Tian & Apostolopoulos [Page 5]
Internet Draft draft-tian-mpls-lsp-source-route-01.txt July 2004
In the example given in Fig. 2, the costs of the links among three
LSRs X, Y and Z are marked on the links. Label 100 is a DWL for FEC
1.1.1.1/32 whose egress is a loopback interface address 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. The only traffic that will
be sent over the direct link between X and Y is traffic from X with
destination 10.1.1.2, and vise versa, due to the fact that most of
the implementations prefer directly connected interface route over
any other route types.
In order to guarantee a Strictly Source Routed Segment between X and
Y in this scenario, a new Longest Match Address FEC element (LM-
Address FEC element) is introduced that uses longest prefix match
instead of exact match to find its matching route. The LM-Address FEC
element is defined in 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LM-Address(4) | Address Family | Host Addr Len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Host Addr |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Address Family
Two octet quantity containing a value from ADDRESS FAMILY
NUMBERS in [RFC1700] that encodes the address family for the
address prefix in the Prefix field.
Host Addr Len
Length of the Host address in octets.
Host Addr
An address encoded according to the Address Family field.
The LM-Address FEC element is essentially the same as the Host
Address FEC element, except that it has a different FEC element type
0x04.
To solve the strict hop over high cost link problem, a DWL needs to
be allocated on Y and bound to LM-Address FEC element 10.1.1.2. When
the binding is advertised to X, X performs a longest prefix match in
its routing table and finds the route 10.1.1.0/24. A LSP will be
created with link X-Y as the outgoing interface.
Tian & Apostolopoulos [Page 6]
Internet Draft draft-tian-mpls-lsp-source-route-01.txt July 2004
To specify a strict hop over a high cost link in an explicit path,
the interface address 10.1.1.2/32 needs to be used.
7. LDP extensions for DWL
7.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.
Implementations MUST allow user to configure 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.
Since most existing implementations allocate local labels from near
the lower end of the label space, label ranges near the higher end of
the label space is usually more suitable for DWLs.
7.2. Allocating 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 propagated 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) algorithmically 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.3. Advertising and Detecting 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.
Tian & Apostolopoulos [Page 7]
Internet Draft draft-tian-mpls-lsp-source-route-01.txt July 2004
7.4. Extensions to Label Mapping Procedures
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 SHOULD be sent to the advertising router.
The value of the status code is TBD.
7.5. PHP
Since DWL label values need to be communicated to adjacent LSRs so
that they can be further propagated upstream, implicit-null label can
not be used to signal PHP operation. One solution is to infer PHP
from ADDRESS messages.
For FEC with /32 Prefix FEC elements, or Host Address FEC elements,
or LM-Address FEC elements, if all the addresses in the FEC are among
the addresses in the ADDRESS messages from the advertising LSR, and
the advertising LSR is not a targeted neighbor, then PHP is assumed
for the LSP unless otherwise instructed by local policy.
8. 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) For the IP prefix of the current node, find an FEC element that
exactly matches the IP prefix. Host Address FEC elements and
LM-Address FEC elements are considered of having prefix length
32. Then find the DWL that is bound to that FEC element. Push
the DWL onto the stack.
If such DWL can not be found, abort the algorithm with an error.
c) If the current node is the first node in the path, terminate the
algorithm.
Otherwise set the current node to its predecessor in the path
and goto step a).
Tian & Apostolopoulos [Page 8]
Internet Draft draft-tian-mpls-lsp-source-route-01.txt July 2004
The resulting label stack represents a source routed LSP, and can be
used to forward packets from the starting point to the last hop
following the desired path.
9. Other Considerations
9.1. Interface Label Space
A LSR support interface label space needs to reserve the same DWL
label range on all interfaces, and needs to allocate the same label
for an FEC out of the reserved DWL label range.
9.2. ATM and Frame Lable Encoding
For a network using ATM label TLV or Frame Relay Label TLV, a
seperate DWL label range must be defined for each different label
encodings. Still DWLs can be advertised using the same ATM Label TLV
or the Frame Relay Label TLV.
9.3. 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.
9.4. Compatibility Considerations
The solution proposed in this document is compatible with existing
LDP specification. LSRs that do not understand DWL will not get the
benefit of DWL, but basic LDP connectivity should remain intact.
9.5. 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 visits the same LSR twice by
including the same DWL twice in the stack, but no infinite 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.
Tian & Apostolopoulos [Page 9]
Internet Draft draft-tian-mpls-lsp-source-route-01.txt July 2004
10. Security Considerations
This document proposed a new and efficient way to implement source
routing. All known security concerns related to source routing may
also be concerns here.
Please note that an attacker can use a stack of labels to perform
source routing today if label bindings are known on all routers on
the path. With this proposal, if label bindings on one router is
known to the attacker, then source routing can be utilized by the
attacker.
The main security concerns related to source routing include the
following scenarios where source routing may be abused:
- to bypass administrative control
- to make a malicious packet appear as if it had come from a trusted
system
- to reach otherwise unreachable part of the network such as
private address space
- to collect information about a network
The concerns can be eliminated by not accepting DWLs from outside the
trusted domain. This can be achieved by doing the following:
1) Do not accept labeled packets from outside the trusted domain.
If labeled packets must be accepted from outside, then do not
accept DWLs from outside the trusted domain. Since the DWL range
is known, this policy can be achieved by label based filtering
at the entrance points of the trusted domain to block packets
with any DWLs in the label stack.
2) Do not accept labeled packets arriving from tunnels (such as GRE
or IP-in-IP, etc). This can be achieved by disabling protocol ID
MPLS at tunnel next protocol ID demux point.
If MPLS over tunnel must be supported, then do not accept
labeled packets from tunnels originated from outside the trusted
domain.
If labeled packet must be accepted from tunnels originated from
outside the trusted domain, then do not accept labeled packets
with DWLs from these tunnels.
One difference between MPLS source route and IP source route option
is that the IP source route option is designed to specify the path
for both the request in the forwarding direction and the response in
Tian & Apostolopoulos [Page 10]
Internet Draft draft-tian-mpls-lsp-source-route-01.txt July 2004
the reverse direction, while MPLS source route can only specify the
path in the forward direction. Therefore the security risk for MPLS
source route is lower than the IP source route option.
11. IANA Considerations
A new LM-Address FEC element TLV is defined in this document with FEC
element type 0x04. This LDP extension requires this FEC element type
to be allocated by IANA.
A new status code for LDP NOTIFICATION message to notify the
conflicts in DWLs needs to be defined and allcoated by IANA.
12. Acknowledgments
The authors would like to thank Naiming Shen, Enke Chen and Acee
Lindem for their comments.
13. 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-01.txt, work in progress.
[SHEN01] N. Shen and P. Pan, "Nexthop Fast ReRoute for IP and
MPLS", draft-shen-nhop-fastreroute-01.txt, work in progress.
14. Author Information
Albert Jining 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
Email: georgeap@ics.forth.gr
Tian & Apostolopoulos [Page 11]
Internet Draft draft-tian-mpls-lsp-source-route-01.txt July 2004
15. Full Copyright Statement
Copyright (C) The Internet Society (year). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Tian & Apostolopoulos [Page 12]
| PAFTECH AB 2003-2026 | 2026-04-23 23:35:18 |