PCE Working Group | D. Dhody |
Internet-Draft | U. Palle |
Intended status: Experimental | Huawei Technologies India Pvt Ltd |
Expires: September 21, 2014 | March 20, 2014 |
ISIS Protocol Extensions for Boundary Node Discovery (BND)
draft-dhody-pce-bn-discovery-isis-08
The Path Computation Element (PCE) may be used for computing multi-domain (Area or AS) Multiprotocol Label Switching (MPLS) and Generalized MPLS (GMPLS) Traffic Engineered (TE) Label Switch Path (LSP).
In this circumstance, it is highly desirable to be able to dynamically and automatically discover a set of Boundary Nodes (BN) along with their domain information in a simple way. For that purpose, this document defines extensions to the Intermediate System to Intermediate System(IS-IS) routing protocol for the advertisement of Boundary Node (BN)Discovery information within an IS-IS area or within the entire IS-IS routing domain.
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 September 21, 2014.
Copyright (c) 2014 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.
This document defines extensions to IS-IS [ISO10589] to allow a boundary node in an IS-IS routing domain to advertise its location, along with domain information.
Generic capability advertisement mechanisms for IS-IS are defined in [RFC4971]. These allow a router to advertise its capabilities within an IS-IS area or an entire IS-IS routing domain. This document leverages this generic capability advertisement mechanism to fully satisfy the dynamic BN discovery.
This document defines a new sub-TLV (named the BN Discovery (BND))to be carried within the IS-IS Router Capability TLV ([RFC4971]).
The BN information advertised is detailed in Section 6. Protocol extensions and procedures are defined in Section 7 and Section 8.
A detailed description about the need for auto discovery of Boundary Nodes (BN) and thier domains is also provided in this document.
The IS-IS extensions defined in this document allow for BN discovery within an IS-IS routing domain. Boundary Node can be an Area Border Router (ABR) or Autonomous System Border Router (ASBR).
This document defines a set of sub-TLVs that are nested within each other. When the degree of nesting TLVs is 2 (a TLV is carried within another TLV) the TLV carried within a TLV is called a sub-TLV. Strictly speaking, when the degree of nesting is 3, a sub-sub-TLV is carried within a sub-TLV that is itself carried within a TLV. For the sake of terminology simplicity, a TLV carried within another TLV is called a sub-TLV regardless of the degree of nesting.
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.
Backward Recursive Path Computation (BRPC) procedure as defined in [RFC5441], requires Path Computation Element (PCE) [RFC4655] to be aware of the BNs for the inter-domain path computation. This information would be either statically configured at PCE or learned via some mechanism, as listed in Section 4.
In case of static configuration, as shown in the Figure 1, incase of ISIS Backbone area(L2), configuration of BNs at PCE5 is extensive. BRPC procedure guarantees a best path only if BNs are selected correctly, any change in BNs at run time may lead to sub-optimal path. Also Administrator need to configure ABR / ASBR ID in such a way that it is reachable from all the domains, BND TLV can take care of this automatically.
+--------------------------+ +--------------------------+ | +------+| | +------+| | Area1(L1) | PCE1 || | Area2(L1) | PCE2 || | +--+---+| | +--+---+| | | | | | +---------------------+----------+--------------------+ | | | +------+ +------+| |+------+ +------+ | | | | | BN1 | | BN2 || || BN3 | | BN4 | | | | | +--+---+ +--+---+| |+--+---+ +---+--+ | | +----+----|-----------+----+ +---+-----------+----+-----+ | | | | | | | +-----------+-------+ +------+-----------+ | | | | | | | | | | ++----++ | | Backbone(L2) | PCE5 | | | ++----++ | | | | | | | | | | +-----------+-------+ +------+----------+ | | | | | | | | | | | | | +----+----+-----------+----+ +---+----------+-----+-----+ | | +--+---+ +--+---+| |+--+---+ +--+---+ | | | | | BN5 | | BN6 || || BN7 | | BN8 | | | | | +------+ +------+| |+------+ +------+ | | | +---------------------+----------+--------------------+ | | | | | | +------+| | +------+| | Area3(L1) | PCE3 || | Area4(L1) | PCE4 || | +--+---+| | +--+---+| +--------------------------+ +--------------------------+
Figure 1: ISIS Area Topology
The problems with existing mechanism to discover Boundary nodes are listed in Section 4.
Hierarchal PCE (H-PCE) [RFC6805] mechanim MAY require a parent PCE to be aware of child domain's boundary node, child PCE in any case should be aware of all its boundary nodes and can use mechnims as described in this document.
A simple solution would be to configure BNs (ABR and ASBR) at PCE(s) along with their domain information. As this information is fairly static this could work in simple situations. But as PCE are being used in bigger and multiple domains, any sort of static configurations would put extra effort on the system administrator. Selection of correct BNs is the core of any inter-domain path computation procedure, we feel this information should be dynamically learned and maintained.
There are methods to learn BNs dynamically from IGP, but the knowledge of neighboring-domains is not possible to obtain. Without this the correct BN based on the domain-path can't be selected. [RFC5441] mentions:
"Note that PCE(i) only considers the entry BNs of domain(i), i.e., only the BNs that provide connectivity from domain(i-1). In other words, the set BN-en(k,i) is only made of those BNs that provide connectivity from domain (i-1) to domain(i). "
This selection of correct BNs providing connectivity between correct domains cannot be made by the information obtained from IGP. Without the correct selection we would not be following [RFC5441].
[DOMAIN-SEQ] provides a standard representation of Domain Sequence in all deployment scenarios. The Domain Information carried in the BN-DOMAIN sub-tlv is same as the sub-objects inside the domain sequence.
The BN discovery information is composed of:
Changes in BN discovery information may occur as a result of BN configuration update or domain status change.
The flooding scope for BN information advertised through IS-IS can be a single L1 area, an L1 area and the L2 sub-domain, or the entire IS-IS routing domain.
The IS-IS BND sub-TLV contains a non-ordered set of sub-TLVs.
The format of the IS-IS BND sub-TLV and its sub-TLVs is identical to the TLV format used by the Traffic Engineering Extensions to IS-IS [RFC5305]. That is, the TLV is comprised of 1 octet for the type, 1 octet specifying the TLV length, and a value field. The Length field defines the length of the value portion in octets.
The IS-IS BND sub-TLV has the following format:
TYPE: To be assigned by IANA (suggested value 6) LENGTH: Variable VALUE: Set of sub-TLVs Two sub-TLVs are defined: Sub-TLV type Length Name 1 variable BN-ADDRESS sub-TLV 2 variable BN-DOMAIN sub-TLV
The BN-ADDRESS and BN-DOMAIN sub-TLVs MUST always be present within the BND sub-TLV.
Any unrecognized sub-TLV MUST be silently ignored.
The BND sub-TLV is carried within an IS-IS CAPABILITY TLV defined in [RFC4971].
The following sub-sections describe the sub-TLVs.
The BN-ADDRESS sub-TLV specifies an IP address that can be used to reach the BN. It is RECOMMENDED to make use of an address that is always reachable, provided the BN is alive and reachable.
The BN-ADDRESS sub-TLV is mandatory; it MUST be present within the BND sub-TLV. It MAY appear twice, when the BN has both an IPv4 and IPv6 address. It MUST NOT appear more than once for the same address type. If it appears more than once for the same address type, only the first occurrence is processed and any others MUST be ignored.
The BN-ADDRESS sub-TLV has the following format:
TYPE: 1 LENGTH: 5 for an IPv4 address or 17 for an IPv6 address. VALUE: This comprises one octet indicating the address -type and 4 or 16 octets encoding the IPv4 or IPv6 address to be used to reach the BN. Address-type: 1 IPv4 2 IPv6
The BN-DOMAIN sub-TLV specifies a BN-Domain (area and/or AS) where the BN has topology connectivity.
The BN-DOMAIN sub-TLV is mandatory; it MUST be present within the BND TLV.
A BND sub-TLV MUST include two or more BN-DOMAIN sub-TLVs as the BN has connectivity into multiple BN-Domains.
The BN-DOMAIN sub-TLV has the following format:
TYPE: 2 LENGTH: Variable VALUE: This is composed of one octet indicating the domain-type (area ID or AS Number) and a variable length IS-IS area ID or a 32-bit AS number, identifying a BN-Domain where the BN has visibility and can compute paths. Two domain types are defined: 1 Area ID 2 AS Number
The Area ID is the area address as defined in [ISO10589].
When the AS number is coded in two octets, the AS Number field MUST have its first two octets set to 0.
The BND sub-TLV is advertised within an IS-IS Router Capability TLV defined in [RFC4971]. As such, elements of procedures are inherited from those defined in [RFC4971].
The flooding scope is controlled by the S flag in the IS-IS Router Capability TLV (see [RFC4971]). When the scope of the BND sub-TLV is area local, it MUST be carried within an IS-IS Router Capability TLV having the S bit cleared. When the scope of the BND sub-TLV is the entire IS-IS routing domain, it MUST be carried within an IS-IS Router Capability TLV having the S bit set.
Note that an L1L2 node may include a BND TLV in a Router Capability TLV with the S bit cleared in both in its L1 and L2 LSPs. This allows the flooding scope to be restricted to the L1 area and the L2 sub-domain.
When the BN function is deactivated, the IS-IS speaker MUST originate a new IS-IS LSP that no longer includes the corresponding BND TLV.
The BN address (i.e., the address indicated within the BN-ADDRESS sub-TLV) SHOULD be reachable via some prefixes advertised by IS-IS.
The BND sub-TLV information regarding a specific BN is only considered current and useable when the router advertising this information is itself reachable via IS-IS calculated paths at the level of the LSP in which the BND sub-TLV appears.
A change in the state of a BN (activate, deactivate, domain change) MUST result in a corresponding change in the BND sub-TLV information advertised by an IS-IS router (inserted, removed, updated) in its LSP. The way BNs determine the information they advertise, and how that information is made available to IS-IS, is out of the scope of this document. Some information may be configured and other information may be automatically determined by ISIS.
A change in information in the BND sub-TLV MUST NOT trigger any SPF computation at a receiving router.
The BND TLV defined in this document does not introduce any interoperability issues.
An IS-IS router not supporting the BND sub-TLV will just silently ignore the sub-TLV as specified in [RFC4971].
The routers acting as BNs will originate LSP with BND Tlv; As there are only few BNs exist in the network, the performance impact in flooding is very less.
IANA has defined a registry for the sub-TLVs carried in the IS-IS Router Capability TLV defined in [RFC4971]. IANA has assigned a new sub-TLV codepoint for the BND sub-TLV carried within the Router Capability TLV.
Value Sub-TLV References ----- -------- ---------- To be BND sub-TLV (this document) assigned by IANA
This document defines IS-IS extensions for BN discovery within an administrative domain. Hence the security of the BN discovery relies on the security of IS-IS.
Mechanisms defined to ensure authenticity and integrity of IS-IS LSPs [RFC5304] and their TLVs, can be used to secure the BND sub-TLV as well.
IS-IS provides no encryption mechanism for protecting the privacy of LSPs and, in particular, the privacy of the BN discovery information.
TBD
We would like to thank Quintin Zhao, Daniel King, Adrian Ferral, Suresh babu, Pradeep Shastry, Saravana Kumar, Srinivasan and Venugopal reddy k 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. |