draft-ietf-mpls-crldp-unnum-09.txt | draft-ietf-mpls-crldp-unnum-10.txt | |||
---|---|---|---|---|
Network Working Group Kireeti Kompella | Network Working Group Kireeti Kompella | |||
Internet Draft Juniper Networks | Internet Draft Juniper Networks | |||
Expiration Date: April 2003 Yakov Rekhter | Expiration Date: June 2003 Yakov Rekhter | |||
Juniper Networks | Juniper Networks | |||
Alan Kullberg | Alan Kullberg | |||
NetPlane Systems | NetPlane Systems | |||
Signalling Unnumbered Links in CR-LDP | Signalling Unnumbered Links in CR-LDP | |||
draft-ietf-mpls-crldp-unnum-09.txt | draft-ietf-mpls-crldp-unnum-10.txt | |||
1. Status of this Memo | 1. Status of this Memo | |||
This document is an Internet-Draft and is in full conformance with | This document is an Internet-Draft and is in full conformance with | |||
all provisions of Section 10 of RFC2026. | all provisions of Section 10 of RFC2026. | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF), its areas, and its working groups. Note that | Task Force (IETF), its areas, and its working groups. Note that | |||
other groups may also distribute working documents as Internet- | other groups may also distribute working documents as Internet- | |||
Drafts. | Drafts. | |||
skipping to change at page 2, line 31 | skipping to change at page 2, line 31 | |||
unnumbered links because the current signalling doesn't provide a way | unnumbered links because the current signalling doesn't provide a way | |||
to indicate an unnumbered link in its Explicit Route Objects. This | to indicate an unnumbered link in its Explicit Route Objects. This | |||
document proposes simple procedures and extensions that allow CR-LDP | document proposes simple procedures and extensions that allow CR-LDP | |||
signalling [CR-LDP] to be used with unnumbered links. | signalling [CR-LDP] to be used with unnumbered links. | |||
5. Link Identifiers | 5. Link Identifiers | |||
An unnumbered link has to be a point-to-point link. An LSR at each | 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 | 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 | identifier is a non-zero 32-bit number that is unique within the | |||
scope of the LSR that assigns it. The IS-IS and/or OSPF and RSVP | scope of the LSR that assigns it. If one is using OSPF or ISIS as the | |||
modules on an LSR must agree on the identifiers. | 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 | There is no a priori relationship between the identifiers assigned to | |||
a link by the LSRs at each end of that link. | a link by the LSRs at each end of that link. | |||
LSRs at the two end points of an unnumbered link exchange with each | LSRs at the two end points of an unnumbered link exchange with each | |||
other the identifiers they assign to the link. Exchanging the | other the identifiers they assign to the link. Exchanging the | |||
identifiers may be accomplished by configuration, by means of a | identifiers may be accomplished by configuration, by means of a | |||
protocol such as LMP ([LMP]), by means of RSVP/CR-LDP (especially in | protocol such as LMP ([LMP]), by means of CR-LDP (especially in the | |||
the case where a link is a Forwarding Adjacency, see below), or by | case where a link is a Forwarding Adjacency, see below), or by means | |||
means of IS-IS or OSPF extensions ([ISIS-GMPLS], [OSPF-GMPLS]). | of IS-IS or OSPF extensions ([ISIS-GMPLS], [OSPF-GMPLS]). | |||
Consider an (unnumbered) link between LSRs A and B. LSR A chooses an | Consider an (unnumbered) link between LSRs A and B. LSR A chooses an | |||
idenfitier for that link. So is LSR B. From A's perspective we refer | idenfitier for that link. So is LSR B. From A's perspective we refer | |||
to the identifier that A assigned to the link as the "link local | to the identifier that A assigned to the link as the "link local | |||
identifier" (or just "local identifier"), and to the identifier that | identifier" (or just "local identifier"), and to the identifier that | |||
B assigned to the link as the "link remote identifier" (or just | B assigned to the link as the "link remote identifier" (or just | |||
"remote identifier"). Likewise, from B's perspective the identifier | "remote identifier"). Likewise, from B's perspective the identifier | |||
that B assigned to the link is the local identifier, and the | that B assigned to the link is the local identifier, and the | |||
identifier that A assigned to the link is the remote identifier. | identifier that A assigned to the link is the remote identifier. | |||
In the context of this document the term "Router ID" refers to the | In the context of this document the term "Router ID" means a stable | |||
"Router Address" as defined in [OSPF-TE], or "Traffic Engineering | IP address of an LSR that is always reachable if there is any | |||
Router ID" as defined in [ISIS-TE]. | 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 case 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 to set the | ||||
Router ID to the "Router Address" as defined in [OSPF-TE], or | ||||
"Traffic Engineering Router ID" as defined in [ISIS-TE]. | ||||
This section is equally applicable to the case of unnumbered | This section is equally applicable to the case of unnumbered | |||
component links (see [LINK-BUNDLE]). | component links (see [LINK-BUNDLE]). | |||
6. Unnumbered Forwarding Adjacencies | 6. Unnumbered Forwarding Adjacencies | |||
If an LSR that originates an LSP advertises this LSP as an unnumbered | If an LSR that originates an LSP advertises this LSP as an unnumbered | |||
Forwarding Adjacency in IS-IS or OSPF (see [LSP-HIER]), or the LSR | Forwarding Adjacency in IS-IS or OSPF (see [LSP-HIER]), or the LSR | |||
uses the Forwarding Adjacency formed by this LSP as an unnumbered | uses the Forwarding Adjacency formed by this LSP as an unnumbered | |||
component link of a bundled link (see [LINK-BUNDLE]), the LSR MUST | component link of a bundled link (see [LINK-BUNDLE]), the LSR MUST | |||
skipping to change at page 4, line 7 | skipping to change at page 4, line 11 | |||
Interface ID field of the Reverse Interface ID TLV (for 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 | definition of Reverse Interface ID TLV see below). The LSR that is a | |||
tail-end of that Forwarding Adjacency sets the link local identifier | tail-end of that Forwarding Adjacency sets the link local identifier | |||
for that link to the value that the LSR allocates to that Forwarding | 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 | Adjacency, and the link remote identifier to the value carried in the | |||
Interface ID field of the Forward Interface ID TLV (for the | Interface ID field of the Forward Interface ID TLV (for the | |||
definition of Forward Interface ID see below). | definition of Forward Interface ID see below). | |||
6.1. LSP_TUNNEL_INTERFACE_ID TLV | 6.1. LSP_TUNNEL_INTERFACE_ID TLV | |||
The LSP_TUNNEL_INTERFACE ID TLV has Type to be determined by IETF | The LSP_TUNNEL_INTERFACE ID TLV has Type to be assigned by IANA and | |||
consensus and length 8. The format is given below. | length 8. The format is given below. | |||
Figure 1: LSP_TUNNEL_INTERFACE_ID TLV | Figure 1: LSP_TUNNEL_INTERFACE_ID TLV | |||
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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|0|0| Type | Length | | |0|0| Type | Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| LSR's Router ID | | | LSR's Router ID | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
skipping to change at page 4, line 33 | skipping to change at page 4, line 37 | |||
MAPPING message. In the former case, we call it the "Forward | MAPPING message. In the former case, we call it the "Forward | |||
Interface ID" for that LSP; in the latter case, we call it the | Interface ID" for that LSP; in the latter case, we call it the | |||
"Reverse Interface ID" for the LSP. | "Reverse Interface ID" for the LSP. | |||
7. Signalling Unnumbered Links in Explicit Route TLV | 7. Signalling Unnumbered Links in Explicit Route TLV | |||
A new Type of ER-Hop TLV of the Explicit Route TLV is used to specify | 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 | unnumbered links. This Type is called Unnumbered Interface ID, and | |||
has the following format: | has the following format: | |||
The Type is assigned by IANA, 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 | Figure 2: Unnumbered Interface ID | |||
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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|0|0| Type = 0x0805 | Length = 12 | | |0|0| Type | Length = 12 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|L| Reserved | | |L| Reserved | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Router ID | | | Router ID | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Interface ID (32 bits) | | | Interface ID (32 bits) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
The Type is 0x0805 (Unnumbered Interface ID) 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. | ||||
7.1. Processing the IF_ID TLV | 7.1. Processing the IF_ID TLV | |||
When an LSR receives a REQUEST message containing the IF_ID TLV (see | When an LSR receives a REQUEST message containing the IF_ID TLV (see | |||
[GMPLS-CRLDP]) with the IF_INDEX TLV, the LSR processes this TLV as | [GMPLS-CRLDP]) with the IF_INDEX TLV, the LSR processes this TLV as | |||
follows. The LSR must have information about the identifiers assigned | follows. The LSR must have information about the identifiers assigned | |||
by its neighbors to the unnumbered links between the neighbors and | by its neighbors to the unnumbered links between the neighbors and | |||
the LSR. The LSR uses this information to find a link with tuple | the LSR. The LSR uses this information to find a link with tuple | |||
<Router ID, local identifier> matching the tuple <IP Address, | <Router ID, local identifier> matching the tuple <IP Address, | |||
Interface ID> carried in the IF_INDEX TLV. If the matching tuple is | 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 | found, the match identifies the link for which the LSR has to perform | |||
skipping to change at page 6, line 8 | skipping to change at page 6, line 9 | |||
As part of the Explicit Route TLV processing, or to be more precise, | 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 | as part of the next hop selection, if the outgoing link is | |||
unnumbered, the REQUEST message that the node sends to the next hop | 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 | 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 | 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. | set to the identifier assigned to the link by the node. | |||
8. IANA Considerations | 8. IANA Considerations | |||
RFC3036 [LDP] defines the LDP TLV name space. RFC3212 [CD-LDP] | RFC3036 [LDP] defines the LDP TLV name space. RFC3212 [CD-LDP] | |||
further subdivides the range of RFC 3036 from that TLV space for TLVs | further subdivides the range of that TLV space for TLVs associated | |||
associated with the CR-LDP in the range 0x0800 - 0x08FF. | 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 | ||||
Following the policies outlined in [IANA], TLV types in this range | BCP 26 "Guidelines for Writing an IANA Considerations Section in | |||
are allocated through an IETF Consensus action. | 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 makes the following assignments: | this document. | |||
TLV Type | ||||
-------------------------------------- ---------- | ||||
UNNUMBERED_INTERFACE_ID 0x0805 | ||||
LSP_TUNNEL_INTERFACE_ID 0x08?? | ||||
9. Security Considerations | 9. Security Considerations | |||
This document extends CR-LDP and raises no new security issues. CR- | This document extends CR-LDP and raises no new security issues. CR- | |||
LDP inherits the same security mechanism described in Section 4.0 of | LDP inherits the same security mechanism described in Section 4.0 of | |||
[LDP] to protect against the introduction of spoofed TCP segments | [LDP] to protect against the introduction of spoofed TCP segments | |||
into LDP session connection streams. | into LDP session connection streams. | |||
10. Acknowledgments | 10. Acknowledgments | |||
End of changes. | ||||
This html diff was produced by rfcdiff 1.25, available from http://www.levkowetz.com/ietf/tools/rfcdiff/ |