CCAMP Working Group | D. Dhody |
Internet-Draft | U. Palle |
Intended status: Experimental | V. Kondreddy |
Expires: October 13, 2013 | Huawei Technologies India Pvt Ltd |
R. Casellas | |
CTTC - Centre Tecnologic de Telecomunicacions de Catalunya | |
April 11, 2013 |
Domain Subobjects for Resource ReserVation Protocol - Traffic Engineering (RSVP-TE)
draft-dhody-ccamp-rsvp-te-domain-subobjects-01
The RSVP-TE specification [RFC3209] and the GMPLS extensions to RSVP-TE [RFC3473] allow abstract nodes and resources to be explicitly included in a path setup. Further Exclude Routes extensions [RFC4874] allow abstract nodes and resources to be explicitly excluded in a path setup.
This document specifies new subobjects to include or exclude domains during path setup where domain is a collection of network elements within a common sphere of address management or path computational responsibility (such as an IGP area or an AS (4-Byte)). Note that the use of Autonomous Number (AS) (2-Byte) as an abstract node representing domain is already defined in [RFC3209] and [RFC4874].
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at http://datatracker.ietf.org/drafts/current/.
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."
This Internet-Draft will expire on October 13, 2013.
Copyright (c) 2013 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
The RSVP-TE specification [RFC3209] and the GMPLS extensions to RSVP-TE [RFC3473] allow abstract nodes and resources to be explicitly included in a path setup using the Explicit Route Object (ERO).
Further Exclude Routes extensions [RFC4874] allow abstract nodes or resources to be excluded from the whole path using the Exclude Route object (XRO). To exclude certain abstract nodes or resources between a specific pair of abstract nodes present in an ERO, a subobject Explicit Exclusion Route Subobject (EXRS) is used.
[RFC3209] already describes the notion of abstract nodes, where an abstract node is a group of nodes whose internal topology is opaque to the ingress node of the LSP. It further defines a subobject for Autonomous Systems (AS) (2-Byte).
This document extends the notion of abstract nodes by adding new subobjects for IGP Areas and 4-byte AS numbers. These subobjects MAY be included in Explicit Route Object (ERO), Exclude Route object (XRO) or Explicit Exclusion Route Subobject (EXRS).
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 [RFC2119].
The following terminology is used in this document.
[RFC4726] and [RFC4655] define domain as a separate administrative or geographic environment within the network. A domain may be further defined as a zone of routing or computational ability. Under these definitions a domain might be categorized as an Autonomous System (AS) or an Interior Gateway Protocol (IGP) area.
As per [RFC3209], an abstract node is a group of nodes whose internal topology is opaque to the ingress node of the LSP. Using this concept of abstraction, an explicitly routed LSP can be specified as a sequence of IP prefixes or a sequence of Autonomous Systems. In this document we extend the notion to include IGP area and 4-Byte AS number.
The sub-objects MAY appear in RSVP-TE, notably in -
As stated in [RFC3209], an explicit route is a particular path in the network topology. In addition to the ability to identify specific nodes along the path, an explicit route can identify a group of nodes (abstract nodes) that must be traversed along the path.
Some subobjects are defined in [RFC3209], [RFC3473], [RFC3477], [RFC4874] and [RFC5553] but new subobjects related to domains are needed.
The following subobject types are used in ERO.
Type Subobject 1 IPv4 prefix 2 IPv6 prefix 3 Label 4 Unnumbered Interface ID 32 Autonomous system number (2 Byte) 33 Explicit Exclusion (EXRS) 34 SRLG 64 IPv4 Path Key 65 IPv6 Path Key
This document extends the above list to support 4-Byte AS numbers and IGP Areas.
Type Subobject TBD Autonomous system number (4 Byte) TBD OSPF Area id TBD ISIS Area id
[RFC3209] already defines 2-Byte AS number.
To support 4-Byte AS numbers as per [RFC4893], the following subobject is defined:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |L| Type | Length | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AS Id (4 bytes) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
L: The L bit is an attribute of the subobject as defined in [RFC3209].
Type: (TBA by IANA) indicating a 4-Byte AS Number.
Length: 8 (Total length of the subobject in bytes).
Reserved: Zero at transmission, ignored at receipt.
AS-ID: The 4-Byte AS Number. Note that if 2-Byte AS numbers are in use, the low order bits (16 through 31) should be used and the high order bits (0 through 15) should be set to zero.
Since the length and format of Area-id is different for OSPF and ISIS, the following two subobjects are defined:
For OSPF, the area-id is a 32 bit number. The subobject is encoded 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |L| Type | Length | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OSPF Area Id (4 bytes) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
L: The L bit is an attribute of the subobject as define in [RFC3209].
Type: (TBA by IANA) indicating 4-Byte OSPF Area ID.
Length: 8 (Total length of the subobject in bytes).
Reserved: Zero at transmission, ignored at receipt.
OSPF Area Id: The 4-Byte OSPF Area ID.
For IS-IS, the area-id is of variable length and thus the length of the subobject is variable. The Area-id is as described in IS-IS by ISO standard [ISO 10589]. The subobject is encoded 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |L| Type | Length | Area-Len | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | // IS-IS Area ID // | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
L: The L bit is an attribute of the subobject as define in [RFC3209].
Type: (TBA by IANA) indicating IS-IS Area ID.
Length: Variable. As per [RFC3209], the total length of the subobject in bytes, including the L, Type and Length fields. The Length MUST be at least 4, and MUST be a multiple of 4.
Area-Len: Variable (Length of the actual (non-padded) IS-IS Area Identifier in bytes; Valid values are from 2 to 11 inclusive).
Reserved: Zero at transmission, ignored at receipt.
IS-IS Area Id: The variable-length IS-IS area identifier. Padded with trailing zeroes to a four-byte boundary.
The new subobjects to support 4-Byte AS and IGP (OSPF / ISIS) Area MAY also be used in the ERO to specify an abstract node (a group of nodes whose internal topology is opaque to the ingress node of the LSP).
All the rules of processing (for example Next Hop Selection, L bit processing, unrecognized subobjects etc) are as per the [RFC3209].
As stated in [RFC4874], the exclude route identifies a list of abstract nodes that should not be traversed along the path of the LSP being established.
Some subobjects are defined in [RFC3209], [RFC3477], [RFC4874] and [RFC6001] but new subobjects related to domains are needed.
The following subobject types are used in XRO.
Type Subobject 1 IPv4 prefix 2 IPv6 prefix 3 Label 4 Unnumbered Interface ID 32 Autonomous system number (2 Byte) 34 SRLG
This document extends the above list to support 4-Byte AS numbers and IGP Areas.
Type Subobject TBD Autonomous system number (4 Byte) TBD OSPF Area id TBD ISIS Area id
[RFC3209] and [RFC4874] already define a 2-Byte AS number.
To support 4-Byte AS numbers as per [RFC4893], the following subobject is defined:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |L| Type | Length | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AS Id (4 bytes) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The meaning of the L bit, similar to [RFC4874], is as follows:
0 indicates that the abstract node (AS) specified MUST be excluded.
1 indicates that the abstract node (AS) specified SHOULD be avoided.
The meaning of all the other elements (Type, Length, Reserved and 4-Byte AS Id) is same as explained above in Section 3.2.1.
Since the length and format of Area-id is different for OSPF and ISIS, the following two subobjects are defined:
For OSPF, the area-id is a 32 bit number. The subobject is encoded 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |L| Type | Length | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OSPF Area Id (4 bytes) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The meaning of the L bit, similar to [RFC4874], is as follows:
0 indicates that the abstract node (OSPF Area) specified MUST be excluded.
1 indicates that the abstract node (OSPF Area) specified SHOULD be avoided.
The meaning of all the other elements (Type, Length, Reserved and OSPF Area Id) is same as explained above in Section 3.2.2.
For IS-IS, the area-id is of variable length and thus the length of the subobject is variable. The Area-id is as described in IS-IS by ISO standard [ISO 10589]. The subobject is encoded 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |L| Type | Length | Area-Len | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | // IS-IS Area ID // | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The meaning of the L bit, similar to [RFC4874], is as follows:
0 indicates that the abstract node (IS-IS Area) specified MUST be excluded.
1 indicates that the abstract node (IS-IS Area) specified SHOULD be avoided.
The meaning of all the other elements (Type, Length, Area-Len, Reserved and IS-IS Area Id) is same as explained above in Section 3.2.2.
The new subobjects to support 4-Byte AS and IGP (OSPF / ISIS) Area MAY also be used in the XRO to specify exclusion of an abstract node (a group of nodes whose internal topology is opaque to the ingress node of the LSP).
All the rules of processing are as per the [RFC4874].
As per [RFC4874], the Explicit Exclusion Route defines abstract nodes or resources that must not or should not be used on the path between two inclusive abstract nodes or resources in the explicit route. EXRS is an ERO subobject that contains one or more subobjects of its own, called EXRS subobjects.
The EXRS subobject may carry any of the subobjects defined for XRO, thus the new subobjects to support 4-Byte AS and IGP (OSPF / ISIS) Area MAY also be used in the EXRS. The meanings of the fields of the new XRO subobjects are unchanged when the subobjects are included in an EXRS, except that scope of the exclusion is limited to the single hop between the previous and subsequent elements in the ERO.
All the rules of processing are as per the [RFC4874].
The domain subobjects to be used in Path Computation Element Protocol (PCEP) are referred to in [PCE-DOMAIN]. Note that the new domain subobjects follow the principle that subobjects used in PCEP [RFC5440] are identical to the subobjects used in RSVP-TE.
In an inter-area LSP path setup where the ingress and the egress belong to different IGP areas within the same AS, the domain subobjects MAY be represented using an ordered list of IGP area subobjects in an ERO. The AS number MAY be skipped, as area information is enough to uniquely identify a domain.
D2 Area D | | D1 | | ********BD1****** * | * * | * Area C Area A * | * * | * Ingress------A1-----ABF1------B1------BC1------C1------Egress / * | * / * | * / * Area | B * F1 * | * / ********BE1****** / | / | F2 E1 | Area F | E2 Area E * All IGP Area in one AS (AS 100)
Figure 1: Domain Corresponding to IGP Area
As shown in Figure 1, AS subobject is optional. So the signaling at Ingress MAY be -
ERO:(A1, ABF1, Area B, Area C, Egress); or
ERO:(A1, ABF1, AS 100, Area B, AS 100, Area C, Egress).
The AS subobject is optional and it MAY be skipped. An RSVP-TE implementation should be able to understand both notations and there is no change in the processing rules as mentioned in [RFC3209].
In an inter-AS LSP path setup where the ingress and the egress belong to different AS, the domain subobjects MAY be represented using an ordered list of AS subobjects in an ERO.
AS A AS E AS C <-------------> <----------> <-------------> A4----------E1---E2---E3---------C4 / / \ / / \ / / AS B \ / / <----------> \ Ingress------A1---A2------B1---B2---B3------C1---C2------Egress \ / / \ / / \ / / \ / / A3----------D1---D2---D3---------C3 <----------> AS D * All AS have one area (area 0)
Figure 2: Domain Corresponding to AS
As shown in Figure 2, where each AS has a single IGP area (area 0), the area subobject MAY be skipped as AS is enough to uniquely identify a domain. So the signaling at Ingress -
ERO:(A1, A2, AS B, AS C, Egress); or
ERO:(A1, A2, AS B, Area 0, AS C, Area 0, Egress).
Area subobject is optional and it MAY be skipped. An RSVP-TE implementation should be able to understand both notations and there is no change in the processing rules as mentioned in [RFC3209].
Note that to get a domain disjoint path, the ingress may also signal the backup path with -
XRO:(AS B)
As shown in Figure 3, where AS 200 is made up of multiple areas, the signaling MAY include both AS and Area subobject to uniquely identify a domain.
Ingress # | # | # X1 # | \ # | # \ |# \ # | \ Inter-As AS 100 # | \ Link # | \ # | \ # | \ | D2 Area D AS 200 | | | | Inter | D1 AS | | Link | | A3 ********BD1****** | * | * | * | * Area C | Area A * | * | * | * A2------A1------AB1------B1------BC1------C1------Egress * | * * | * * | * * Area | B * ********BE1****** | | E1 | | E2 Area E
Figure 3: Domain Corresponding to AS and Area
As shown in Figure 3 the signaling at Ingress -
ERO:(X1, AS 200, Area D, Area B, Area C, Egress).
The combination of both an AS and an Area uniquely identifies a domain, note that an Area domain identifier always belongs to the previous AS that appears before it or, if no AS subobjects are present, it is assumed to be the current AS. Also note that there are no changes in the processing rules as mentioned in [RFC3209] with respect to subobjects.
IANA registry: RSVP PARAMETERS
Subsection: Class Names, Class Numbers, and Class Types
IANA is requested to add further subobjects to the existing entry for:
20 EXPLICIT_ROUTE 232 EXCLUDE_ROUTE Subobject Type Reference TBA 4-Byte AS number [This I.D.] TBA OSPF Area ID [This I.D.] TBA IS-IS Area ID [This I.D.]
Security considerations for MPLS-TE and GMPLS signaling are covered in [RFC3209] and [RFC3473]. This document does not introduce any new messages or any substantive new processing, and so those security considerations continue to apply.
The route exclusion security consideration are covered in [RFC4874] and continue to apply.
We would like to thank Lou Berger, George Swallow, Chirag Shah, Reeja Paul and Sandeep Boina for their useful comments and suggestions.
[RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. |