Internet Draft Network Working Group Noritoshi Demizu Internet Draft SonyCSL Expiration Date: February 1998 August 1997 VC pool and ATM SVC support for ATM-LSRs <draft-demizu-vcpool-00.txt> Status of this memo This document is an Internet-Draft. 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.'' To learn the current status of any Internet-Draft, please check the ``1id-abstracts.txt'' listing contained in the Internet- Drafts Shadow Directories on ftp.is.co.za (Africa), ftp.nordu.net (Europe), munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or ftp.isi.edu (US West Coast). Abstract Several label switching schemes are proposed to fuse and integrate Layer 2 and Layer 3. ATM-LSR is one of the major applications of label switching. Certain types of Virtual Connections (VCs) including ATM SVC require signaling to establish VCs before employing them and to release VCs after utilizing them. Because signaling may introduce delays and costs, some kind of optimization is important. This document proposes to introduce a VC pool to reduce the delays and the costs of signaling. This document also proposes procedures to deal with ATM SVCs between LSRs. 1. Introduction Several label switching schemes[ARIS][RFC2098][RFC2105][RFC1953] are proposed to fuse and integrate the cost-performance and QoS assurance of devices of Layer 2 and the flexibility and functionality protocols of Layer 3. Those label switching schemes can be applied to various datalinks. ATM-LSR is one of the major applications of label switching. ATM has two types of Virtual Connections (VCs) from the point of view of dependency to signaling; Permanent VC (PVC) and Switched VC (SVC). Certain types of VCs including ATM SVC require signaling to establish VCs before employing them and to release VCs after utilizing them. Because signaling may take long time and carriers may charge each signaling, connecting time and/or the amount of traffic, some kind of optimization is important to reduce the delays and the costs of such signaling. This document proposes to introduce a VC pool to reduce them. This document also proposes procedures to deal with ATM SVCs between LSRs. 2. Proposal of VC pool 2.1 VC pool A VC pool is a pool where a number of VCs are prepared. VCs can be picked from the VC pool on BIND procedures immediately and will be put back to the VC pool on UNBIND procedures. Those VCs can be recycled without unnecessary signaling. If there are too many VCs in a VC pool, some of them may be released to reduce the costs to keep VCs. It becomes easy to use both directions of VCs with a VC pool. Each established VC in a VC pool is associated with a VC-ID[VCID], because it is sometimes impossible to use datalink specific information as an identifier of a VC in a VC pool due to its small range. For example, the BLLI of the ATM Forum Signaling cannot be used to distinguish more than 128 VCs. However, the association between a VC and a VC-ID can be postponed until the VC will be used if protocol optimization is necessary. Another benefit of VC pool is that it hides the details of signaling procedures of each datalink from label distribution protocols. An LSR may have multiple VC pools for each VC class. The examples of VC classes here are UBR VCs, CBR VCs, point-to-multipoint VCs, etc. Note that the idea of VC pool does not conflict with current potential implementations, because they can be considered as subsets of VC pool, where all VCs are prepared apriori and there is no way to establish VCs nor to release VCs. Also note that VC pool can be applied to other datalinks than ATM. 2.2 Parameters of VC pool A VC pool has following parameters: Low water mark: - It is required to prepare at least this number of VCs in the VC pool. High water mark: - It is required to release VCs, if the number of VCs in the pool exceeds this number under the constraint of the hold time parameter. Hold time: - It is required to wait for at least hold time seconds before releasing VCs after its use. Releasing can be postponed until just before next charging time. Limit: - The total number of established VCs, including both those in the VC pool and those in use, must not exceed this number. Array of the pair of Min and Max: - The range of VC-ID is the union of the ranges specified by each Min and Max pair. 2.3 Examples of parameters Parameters of a VC pool should be carefully chosen to reduce delays and costs case by case, by considering various characteristics of datalinks, binding schemes, tariff, etc. Here are the examples of parameters chosen for the following cases. The values bellow are only for examples. Case 1: In the case of ATM SVC with a traffic-driven scheme: - All VCs are UBR - Low_water = 5, High_water = 20, Hold_time = several seconds - Min, Max, Limit are given (Effective if signaling takes long time or signaling is expensive) Case 2: In the case of ATM SVC with a topology-driven scheme: - All VCs are UBR - Low_water = 0, High_water = 0, Hold_time = few seconds - Min, Max, Limit are given. (Effective if signaling takes long time or signaling is expensive, especially when route changes) Case 3: In the case where it is difficult to recycle VCs, for instance, VCs with reserved resources or point-to-multipoint VCs: - Low_water = 0, High_water = 0, Hold_time = several seconds - Min, Max, Limit are given Case 4: In the case of ATM VP or PVC: - Low_water = High_water = Limit = the number of available VCs - Hold_time = 0 - Min, Max are given. (VC pool need not be implemented for this case.) Note that the case 4 represents the current potential implementations. 3. ATM SVC 3.1 ATM Forum Signaling The ATM Forum defines a signaling protocol to set up SVCs. In this document, it is called as "ATM Forum Signaling". Callers can transfer out-of-band information to callees by the ATM Forum Signaling. BLLI is one of information that must be transferred and is user specific 7 bit field in L3 protocol field in BLLI IE (Broadband Low Layer Information, Information Element). When a new VC is established by the ATM Forum Signaling, the callee can read the BLLI value and caller's ATM address of the VC. In the proposal of this document, BLLI value is used as a temporary identifier of a VC, and its lifetime is limited to the VC-ID negotiation period of the VC between a caller LSR and a callee LSR. So the BLLI value of the new VC should not be assigned for other VCs to avoid conflicts until a VC-ID is associated with the new VC. And after the association of the BLLI to the VC-ID has been completed, the BLLI value of the new VC can be assigned to other VCs. VC-ID values can be assigned independently from BLLI values. A point-to-multipoint VC can also be established by using ADD_PARTY of the ATM Forum Signaling. ADD_PARTY adds a new VC leaf to an existing VC or an existing VC tree and makes a point-to-multipoint VC tree as a result. In this procedure, the BLLI value of ADD_PARTY should be the same value as that was used to establish the first point-to-point VC of the tree. However, different VC trees can use the same BLLI value without any conflicts between them. So the BLLI value of each signaling should be determined by the root node of the existing tree for consistency. There can be another method to exchange identity information of VCs between negotiating LSRs. For example, a caller can send an in-band control message to a callee over the established new VC in order to notify the identity information of the VC. This method works well in unicast case, but causes a problem in multicast. The caller need temporarily unsplice the active VC each time a new leaf LSR joins the multicast tree in order to send such in-band messages to the leaf. This will cause serious degradation in the performance at the LSR. Otherwise, we should mandate mon-interleaving switching fabric for the LSR. So this document does not employ this method. The remaining part of this section describes procedures to negotiate a VC-ID between a caller and a callee. The detailed procedures should be defined in each label distribution protocol. How to get the ATM address of a callee at a caller is out of scope of this document. 3.2 Support for unicast traffic This section proposes procedures to establish a VC and to negotiate its VC-ID for unicast traffic. In the case where an upstream LSR allocates a VC-ID for a new VC, this document proposes following procedures. 0. In the case where a downstream LSR starts to prepare a VC in a VC pool, the downstream LSR sends a VC establishment request message to its upstream LSR. Otherwise, skip step 0. 1. An upstream LSR performs an ATM Forum Signaling to establish a VC between the downstream LSR with unique BLLI value at this moment. (If the association between the VC and a VC-ID should be postponed until the VC starts to be used, resume here.) 2. The upstream LSR notifies a pair of the BLLI value and a VC-ID to the downstream LSR by using a message dedicated for this purpose or together within a BIND message. 3. The downstream LSR associates the VC of the BLLI value with the VC-ID, and sends an ACK message to the upstream LSR. If the VC-ID is used by some other VC, discard the old VC. 4. After the upstream LSR receives the ACK message, it assotiates the VC with the VC-ID. The VC is ready to be used at this step, and the BLLI value that was allocated to the VC is able to be re-used for other VC at this step. In the case where a downstream LSR allocates a VC-ID for a new VC, this document proposes following procedures. 0. In the case where a downstream LSR starts to prepare a VC in a VC pool, the downstream LSR sends a VC establishment request message to its upstream LSR. Otherwise, skip step 0. 1. An upstream LSR performs an ATM Forum Signaling to establish a VC between the downstream LSR with unique BLLI value at this moment. (If the association between the VC and a VC-ID should be postponed until the VC starts to be used, resume here.) 2. The downstream LSR notifies a pair of the BLLI value and a VC-ID to the upstream LSR by using a message dedicated for this purpose or together within a BIND message. 3. The upstream LSR associates the VC of the BLLI value with the VC-ID, and sends an ACK message to the downstream LSR. If the VC-ID is used by some other VC, discard the old VC. 4. After the downstream LSR receives the ACK message, it associates the VC with the VC-ID. The VC is ready to be used at this step, and the BLLI value that was allocated to the VC is able to be re-used for other VC at this step. 3.3 Support for multicast traffic This section proposes procedures to establish the first VC for a multicast stream and to add a new VC leaf to an existing VC tree including the negotiation of its VC-ID for a multicast stream by using point-to-multipoint VCs. In this proposal, An upstream LSR determines both VC-ID and BLLI value. The reason BLLI value is determined by an upstream LSR is described in section 3.1. Since it is hard to recycle point-to-multipoint VCs, VC pool would not be used for multicast. This document proposes following procedure for the first VC. 1. An upstream LSR performs an ATM Forum Signaling to establish a VC between its downstream LSR with unique BLLI value at this moment. 2. The upstream LSR notifies a pair of the BLLI value and a VC-ID to the downstream LSR by using a message dedicated for this purpose or together within a BIND message. 3. The downstream LSR associates the VC of the BLLI value with the VC-ID, and sends an ACK message to the upstream LSR. If the VC-ID is used by some other VC, discard the old VC. 4. After the upstream LSR receives the ACK message, the VC is ready to be used and the BLLI value can be used for other VC. This document proposes following procedures for the second VC or later. 1. The upstream LSR performs an ATM Forum Signaling to establish a VC between its downstream LSR with the BLLI value that was used for the first signaling. In the case where another VC is using the BLLI value for its signaling just the same time, wait for the completion of the signaling procedure. 2. Goto step 2 of the procedure for the first VC. Security Considerations Security issues are not discussed in this document. Acknowledgments The author would like to acknowledge valuable technical comments from members of LAST-WG of WIDE Project, in particular from Kenichi Nagami, Hiroshi Esaki and Yasuhiro Katsube. The author also would like to acknowledge Paul Doolan. References [ARIS] A. Viswanathan, et. al., "ARIS: Aggregate Route-Based IP Switching", draft-viswanathan-aris-overview-00.txt, Mar 1997 [RFC2098] Y. Katsube, et. al., "Toshiba's Router Architecture Extensions for ATM : Overview", RFC2098, Feb 1997 [RFC2105] Y. Rekhter, et. al., "Cisco Systems' Tag Switching Architecture Overview", RFC2105, Feb 1997 [RFC1953] P. W. Edwards, et. al., "Ipsilon Flow Management Protocol Specification for IPv4 Version 1.0", RFC1953, May 1996 [ATM_SVC] H. Esaki, et. al., "IP Address Resolution and ATM Signaling for MPLS over ATM SVC services" draft-katsube-mpls-over-svc-00.txt, Jun 1997 [TAG_ATM] B. Davie, et. al., "Use of Tag Switching With ATM" draft-davie-tag-switching-atm-01.txt, Jan 1997 [PLASMA] K. Fujikawa, "Point-to-point Link Assembly for Simple Multiple Access (PLASMA)", draft-fujikawa-plasma-00.txt, Mar 1997 [RFC2129] K. Nagami, et. al., "Toshiba's Flow Attribute Notification Protocol (FANP) Specification", RFC2129, Apr 1997 [TDP] P. Doolan et. al., "Tag Distribution Protocol", draft-doolan-tdp-spec-01.txt, May 1997 [ARISP] N. Feldman, A. Viswanathan, "ARIS Specification", draft-feldman-aris-spec-00.txt, Mar 1997 [VCID] N. Demizu, "VC-ID", draft-demizu-vcid-00.txt, Aug 1997 Author Information Noritoshi Demizu Sony Computer Science Laboratory, Inc. Takanawa Muse Bldg. 3-14-13, Higashigotanda, Shinagawa-ku, Tokyo, 141 Japan Phone: +81-3-5448-4380 E-mail: demizu@csl.sony.co.jp