1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445
|
<pre>Network Working Group K. Kompella
Request for Comments: 3480 Y. Rekhter
Category: Standards Track Juniper Networks
A. Kullberg
NetPlane Systems
February 2003
<span class="h1">Signalling Unnumbered Links in CR-LDP</span>
<span class="h1">(Constraint-Routing Label Distribution Protocol)</span>
Status of this Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2003). All Rights Reserved.
Abstract
Current signalling used by Multi-Protocol Label Switching Traffic
Engineering (MPLS TE) does not provide support for unnumbered links.
This document defines procedures and extensions to Constraint-Routing
Label Distribution Protocol (CR-LDP), one of the MPLS TE signalling
protocols that are needed in order to support unnumbered links.
Specification of Requirements
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 <a href="https://www.rfc-editor.org/bcp/bcp14">BCP 14</a>, <a href="./rfc2119">RFC 2119</a>
[<a href="./rfc2119" title=""Key words for use in RFCs to Indicate Requirement Levels"">RFC2119</a>].
<span class="h2"><a class="selflink" id="section-1" href="#section-1">1</a>. Overview</span>
Supporting MPLS TE over unnumbered links (i.e., links that do not
have IP addresses) involves two components: (a) the ability to carry
(TE) information about unnumbered links in IGP TE extensions (ISIS or
OSPF), and (b) the ability to specify unnumbered links in MPLS TE
signalling. The former is covered in [<a href="#ref-GMPLS-ISIS" title=""IS-IS Extensions in Support of Generalized MPLS"">GMPLS-ISIS</a>, <a href="#ref-GMPLS-OSPF" title=""OSPF Extensions in Support of Generalized MPLS"">GMPLS-OSPF</a>]. The
focus of this document is on the latter.
<span class="grey">Kompella, et al. Standards Track [Page 1]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-2" ></span>
<span class="grey"><a href="./rfc3480">RFC 3480</a> Signalling Unnumbered Links in CR-LDP February 2003</span>
Current signalling used by MPLS TE does not provide support for
unnumbered links because the current signalling does not provide a
way to indicate an unnumbered link in its Explicit Route Objects.
This document proposes simple procedures and extensions that allow
CR-LDP signalling [<a href="#ref-CR-LDP" title=""Constraint-Based LSP Setup using LDP"">CR-LDP</a>] to be used with unnumbered links.
<span class="h2"><a class="selflink" id="section-2" href="#section-2">2</a>. Link Identifiers</span>
An unnumbered link has to be a point-to-point link. An LSR at each
end of an unnumbered link assigns an identifier to that link. This
identifier is a non-zero 32-bit number that is unique within the
scope of the LSR that assigns it. If one is using OSPF or ISIS as
the IGP in support of traffic engineering, then the IS-IS and/or OSPF
and CR-LDP modules on an LSR must agree on the identifiers.
There is no a priori relationship between the identifiers assigned to
a link by the LSRs at each end of that link.
LSRs at the two end points of an unnumbered link exchange with each
other the identifiers they assign to the link. Exchanging the
identifiers may be accomplished by configuration, by means of a
protocol such as LMP ([<a href="#ref-LMP" title=""Link Management Protocol (LMP)"">LMP</a>]), by means of CR-LDP (especially in the
case where a link is a Forwarding Adjacency, see below), or by means
of IS-IS or OSPF extensions ([ISIS-GMPLS], [OSPF-GMPLS]).
Consider an (unnumbered) link between LSRs A and B. LSR A chooses an
identifier for that link. So does LSR B. From A's perspective, we
refer to the identifier that A assigned to the link as the "link
local identifier" (or just "local identifier"), and to the identifier
that B assigned to the link as the "link remote identifier" (or just
"remote identifier"). Likewise, from B's perspective, the identifier
that B assigned to the link is the local identifier, and the
identifier that A assigned to the link is the remote identifier.
In the context of this document, the term "Router ID" means a stable
IP address of an LSR that is always reachable if there is any
connectivity to the LSR. This is typically implemented as a
"loopback address"; the key attribute is that the address does not
become unusable if an interface on the LSR is down. In some cases,
this value will need to be configured. If one is using OSPF or ISIS
as the IGP in support of traffic engineering, then it is RECOMMENDED
for the Router ID to be set to the "Router Address" as defined in
[<a href="#ref-OSPF-TE" title=""Traffic Engineering Extensions to OSPF Version 2"">OSPF-TE</a>], or "Traffic Engineering Router ID" as defined in [ISIS-
TE].
This section is equally applicable to the case of unnumbered
component links (see [<a href="#ref-LINK-BUNDLE" title=""Link Bundling in MPLS Traffic Engineering"">LINK-BUNDLE</a>]).
<span class="grey">Kompella, et al. Standards Track [Page 2]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-3" ></span>
<span class="grey"><a href="./rfc3480">RFC 3480</a> Signalling Unnumbered Links in CR-LDP February 2003</span>
<span class="h2"><a class="selflink" id="section-3" href="#section-3">3</a>. Unnumbered Forwarding Adjacencies</span>
If an LSR that originates an LSP advertises this LSP as an unnumbered
Forwarding Adjacency in IS-IS or OSPF (see [<a href="#ref-LSP-HIER" title=""LSP Hierarchy with MPLS TE"">LSP-HIER</a>]), or the LSR
uses the Forwarding Adjacency formed by this LSP as an unnumbered
component link of a bundled link (see [<a href="#ref-LINK-BUNDLE" title=""Link Bundling in MPLS Traffic Engineering"">LINK-BUNDLE</a>]), the LSR MUST
allocate an identifier to that Forwarding Adjacency (just like for
any other unnumbered link). Moreover, the REQUEST message used for
establishing the LSP that forms the Forwarding Adjacency MUST contain
an LSP_TUNNEL_INTERFACE_ID TLV (described below), with the LSR's
Router ID set to the head end's Router ID, and the Interface ID set
to the identifier that the LSR allocated to the Forwarding Adjacency.
If the REQUEST message contains the LSP_TUNNEL_INTERFACE_ID TLV, then
the tail-end LSR MUST allocate an identifier to that Forwarding
Adjacency (just like for any other unnumbered link). Furthermore,
the MAPPING message for the LSP MUST contain an
LSP_TUNNEL_INTERFACE_ID TLV, with the LSR's Router ID set to the
tail-end's Router ID, and the Interface ID set to the identifier
allocated by the tail-end LSR.
For the purpose of processing the Explicit Route TLV and the
Interface ID TLV, an unnumbered Forwarding Adjacency is treated as an
unnumbered (TE) link or an unnumbered component link as follows. The
LSR that originates the Adjacency sets the link local identifier for
that link to the value that the LSR allocates to that Forwarding
Adjacency, and the link remote identifier to the value carried in the
Interface ID field of the Reverse Interface ID TLV (for the
definition of Reverse Interface ID TLV see below). The LSR that is a
tail-end of that Forwarding Adjacency sets the link local identifier
for that link to the value that the LSR allocates to that Forwarding
Adjacency, and the link remote identifier to the value carried in the
Interface ID field of the Forward Interface ID TLV (for the
definition of Forward Interface ID see below).
<span class="grey">Kompella, et al. Standards Track [Page 3]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-4" ></span>
<span class="grey"><a href="./rfc3480">RFC 3480</a> Signalling Unnumbered Links in CR-LDP February 2003</span>
<span class="h3"><a class="selflink" id="section-3.1" href="#section-3.1">3.1</a>. LSP_TUNNEL_INTERFACE_ID TLV</span>
The LSP_TUNNEL_INTERFACE ID TLV has Type 0x0836 and length 8. The
format is given below.
Figure 1: LSP_TUNNEL_INTERFACE_ID 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| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LSR's Router ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Interface ID (32 bits) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
This TLV can optionally appear in either a REQUEST message or a
MAPPING message. In the former case, we call it the "Forward
Interface ID" for that LSP; in the latter case, we call it the
"Reverse Interface ID" for the LSP.
<span class="h2"><a class="selflink" id="section-4" href="#section-4">4</a>. Signalling Unnumbered Links in Explicit Route TLV</span>
A new Type of ER-Hop TLV of the Explicit Route TLV is used to specify
unnumbered links. This Type is called Unnumbered Interface ID, and
has the following format:
The Type is 0x0837, and the Length is 12. The L bit is set to
indicate a loose hop, and cleared to indicate a strict hop.
The Interface ID is the identifier assigned to the link by the LSR
specified by the router ID.
Figure 2: Unnumbered Interface ID
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| Type | Length = 12 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|L| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Router ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Interface ID (32 bits) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
<span class="grey">Kompella, et al. Standards Track [Page 4]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-5" ></span>
<span class="grey"><a href="./rfc3480">RFC 3480</a> Signalling Unnumbered Links in CR-LDP February 2003</span>
<span class="h3"><a class="selflink" id="section-4.1" href="#section-4.1">4.1</a>. Processing the IF_ID TLV</span>
When an LSR receives a REQUEST message containing the IF_ID
(Interface ID) TLV (see [<a href="#ref-GMPLS-CRLDP" title=""Generalized Multi- Protocol Label Switching (GMPLS) Signaling Constraint- based Routed Label Distribution Protocol (CR-LDP) Extensions"">GMPLS-CRLDP</a>]) with the IF_INDEX TLV, the LSR
processes this TLV as follows. The LSR must have information about
the identifiers assigned by its neighbors to the unnumbered links
between the neighbors and the LSR. The LSR uses this information to
find a link with tuple <Router ID, local identifier> matching the
tuple <IP Address, Interface ID> carried in the IF_INDEX TLV. If the
matching tuple is found, the match identifies the link for which the
LSR has to perform label allocation.
Otherwise, the LSR SHOULD return an error.
<span class="h3"><a class="selflink" id="section-4.2" href="#section-4.2">4.2</a>. Processing the Unnumbered Interface ID ER-Hop TLV</span>
The Unnumbered Interface ID ER-Hop is defined to be a part of a
particular abstract node if that node has the Router ID that is equal
to the Router ID field in the Unnumbered Interface ID ER-Hop, and if
the node has an (unnumbered) link or an (unnumbered) Forwarding
Adjacency whose local identifier (from that node's point of view) is
equal to the value carried in the Interface ID field of the
Unnumbered Interface ID ER-Hop.
With this in mind, the Explicit Route TLV processing in the presence
of the Unnumbered Interface ID ER-Hop follows the rules specified in
section 4.8.1 of [<a href="#ref-CR-LDP" title=""Constraint-Based LSP Setup using LDP"">CR-LDP</a>].
As part of the Explicit Route TLV processing, or to be more precise,
as part of the next hop selection, if the outgoing link is
unnumbered, the REQUEST message that the node sends to the next hop
MUST include the IF_ID TLV, with the IP address field of that TLV set
to the Router ID of the node, and the Interface ID field of that TLV
set to the identifier assigned to the link by the node.
<span class="h2"><a class="selflink" id="section-5" href="#section-5">5</a>. IANA Considerations</span>
<a href="./rfc3036">RFC 3036</a> [<a href="#ref-LDP" title=""LDP Specification"">LDP</a>] defines the LDP TLV name space. <a href="./rfc3212">RFC 3212</a> [CD-LDP]
further subdivides the range of that TLV space for TLVs associated
with the CR-LDP in the range 0x0800 - 0x08FF, and defines the rules
for the assignment of TLVs within that range using the terminology of
<a href="https://www.rfc-editor.org/bcp/bcp26">BCP 26</a>, <a href="./rfc2434">RFC 2434</a>, "Guidelines for Writing an IANA Considerations
Section in RFCs". Those rules apply to the assignment of TLV Types
for the Unnumbered Interface ID and LSP_TUNNEL_INTERFACE_ID TLVs
defined in this document.
<span class="grey">Kompella, et al. Standards Track [Page 5]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-6" ></span>
<span class="grey"><a href="./rfc3480">RFC 3480</a> Signalling Unnumbered Links in CR-LDP February 2003</span>
<span class="h2"><a class="selflink" id="section-6" href="#section-6">6</a>. Security Considerations</span>
This document extends CR-LDP and raises no new security issues. CR-
LDP inherits the same security mechanism described in Section 4.0 of
[<a href="#ref-LDP" title=""LDP Specification"">LDP</a>] to protect against the introduction of spoofed TCP segments
into LDP session connection streams.
<span class="h2"><a class="selflink" id="section-7" href="#section-7">7</a>. Acknowledgments</span>
Thanks to Rahul Aggarwal for his comments on the text. Thanks also
to Bora Akyol, Vach Kompella, and George Swallow.
<span class="h2"><a class="selflink" id="section-8" href="#section-8">8</a>. References</span>
<span class="h3"><a class="selflink" id="section-8.1" href="#section-8.1">8.1</a>. Normative References</span>
[<a id="ref-CR-LDP">CR-LDP</a>] Jamoussi, B., Andersson, L., Callon, R., Dantu, R., Wu,
L., Doolan, P., Worster, T., Feldman, N., Fredette, A.,
Girish, M., Gray, E., Heinanen, J., Kilty, T. and A.
Malis, "Constraint-Based LSP Setup using LDP", <a href="./rfc3212">RFC</a>
<a href="./rfc3212">3212</a>, January 2002.
[<a id="ref-GMPLS-SIG">GMPLS-SIG</a>] Berger, L., "Generalized Multi-Protocol Label Switching
(GMPLS) Signaling Functional Description", <a href="./rfc3471">RFC 3471</a>,
January 2003.
[<a id="ref-GMPLS-CRLDP">GMPLS-CRLDP</a>] Ashwood, P., Ed. and L. Berger, "Generalized Multi-
Protocol Label Switching (GMPLS) Signaling Constraint-
based Routed Label Distribution Protocol (CR-LDP)
Extensions", <a href="./rfc3472">RFC 3472</a> January 2003.
[<a id="ref-LDP">LDP</a>] Andersson, L., Doolan, P., Feldman, N., Fredette, A.
and B. Thomas, "LDP Specification", <a href="./rfc3036">RFC 3036</a>, January
2001
[<a id="ref-RFC2119">RFC2119</a>] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", <a href="https://www.rfc-editor.org/bcp/bcp14">BCP 14</a>, <a href="./rfc2119">RFC 2119</a>, March 1997.
<span class="h3"><a class="selflink" id="section-8.2" href="#section-8.2">8.2</a>. Informative References</span>
[<a id="ref-LINK-BUNDLE">LINK-BUNDLE</a>] Kompella, K., Rekhter, Y., and Berger, L., "Link
Bundling in MPLS Traffic Engineering", Work in
Progress.
[<a id="ref-LSP-HIER">LSP-HIER</a>] Kompella, K., and Rekhter, Y., "LSP Hierarchy with MPLS
TE", Work in Progress.
<span class="grey">Kompella, et al. Standards Track [Page 6]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-7" ></span>
<span class="grey"><a href="./rfc3480">RFC 3480</a> Signalling Unnumbered Links in CR-LDP February 2003</span>
[<a id="ref-LMP">LMP</a>] Lang, J., Mitra, K., et al., "Link Management Protocol
(LMP)", Work in Progress.
[<a id="ref-GMPLS-ISIS">GMPLS-ISIS</a>] Kompella, K., Rekhter, Y., Banerjee, A. et al, "IS-IS
Extensions in Support of Generalized MPLS", Work in
Progress.
[<a id="ref-GMPLS-OSPF">GMPLS-OSPF</a>] Kompella, K., Rekhter, Y., Banerjee, A. et al, "OSPF
Extensions in Support of Generalized MPLS", Work in
Progress.
[<a id="ref-OSPF-TE">OSPF-TE</a>] Katz, D., Yeung, D., Kompella, K., "Traffic Engineering
Extensions to OSPF Version 2", Work in Progress.
[<a id="ref-ISIS-TE">ISIS-TE</a>] Li, T., Smit, H., "IS-IS extensions for Traffic
Engineering", Work in Progress.
<span class="h2"><a class="selflink" id="section-9" href="#section-9">9</a>. Authors' Addresses</span>
Kireeti Kompella
Juniper Networks, Inc.
1194 N. Mathilda Ave.
Sunnyvale, CA 94089
EMail: kireeti@juniper.net
Yakov Rekhter
Juniper Networks, Inc.
1194 N. Mathilda Ave.
Sunnyvale, CA 94089
EMail: yakov@juniper.net
Alan Kullberg
NetPlane Systems, Inc.
Westwood Executive Center
200 Lowder Brook Drive
Westwood, MA 02090
EMail: akullber@netplane.com
<span class="grey">Kompella, et al. Standards Track [Page 7]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-8" ></span>
<span class="grey"><a href="./rfc3480">RFC 3480</a> Signalling Unnumbered Links in CR-LDP February 2003</span>
<span class="h2"><a class="selflink" id="section-10" href="#section-10">10</a>. Full Copyright Statement</span>
Copyright (C) The Internet Society (2003). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS 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.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
Kompella, et al. Standards Track [Page 8]
</pre>
|