Internetworking Over NBMA James V. Luciani INTERNET-DRAFT (Bay Networks) Barbara Fox (Harris & Jeffries) Expires September 1997 A Distributed ATMARP Service Using SCSP 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 ds.internic.net (US East Coast), nic.nordu.net (Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific Rim). Abstract This document describes a method for distributing an ATMARP service within a LIS[1]. This method uses the Server Cache Synchronization Protocol (SCSP)[2] to synchronize the ATMARP server databases within a LIS. When SCSP is used to synchronize the caches of ATMARP servers in a LIS, the LIS defines the boundary of an SCSP Server Group (SG). 1. Introduction An ATMARP Client implicitly registers (e.g., by sending an ATMARP Request for itself; see [1]) and refreshes its own ATMARP information with a single ATMARP server in its atm$arp-req-list table. In addition, the ATMARP Client uses the ATMARP service to gain access to and re-validate ATMARP information about other ATMARP Clients in its Logical IP Subnet (LIS). Since, there MAY be multiple ATMARP servers in a given LIS, and since any ATMARP server within the LIS MUST be Luciani, Fox [Page 1] INTERNET-DRAFT SCSP Expires September 1997 able to reply to ATMARP requests for ATMARP information about any ATMARP Clients within the LIS, there MUST be a method by which to synchronize ATMARP information across all ATMARP Servers within the LIS. The Server Cache Synchronization Protocol (SCSP) solves the generalized server synchronization/cache-replication problem for distributed databases, and thus SCSP MAY be applied to the ATMARP server database synchronization problem with the LIS. When SCSP is used to synchronize the caches of ATMARP servers in a LIS, the LIS defines the boundary of an SCSP Server Group (SG). SCSP is defined in two parts: the protocol independent part and the client/server protocol specific part. The protocol independent part is specified in [2] whereas this document will specify the client/server protocol specific part where ATMARP is the client/server protocol. 2. Overview All ATMARP servers belonging to a Logical IP Subnet (LIS)[1] are said to belong to a Server Group (SG). An SG is identified by, not surprisingly, its SGID which is contained in a field in all SCSP packets. All SCSP packets contain a Protocol ID (PID) field as well. This PID field is set to 0x0001 to signify that SCSP is synchronizing ATMARP server databases as opposed to synchronizing some other protocol's databases (see Section B.2.0.1 of [2] for more details). In general, PIDs for SCSP will be assigned by IANA upon request given that a client/server protocol specific specification has been written. In the case of ATMARP, the client/server protocol specific specification was initially written at the same time as SCSP, and thus a PID=0x0001 was assigned by the author. SCSP places no topological requirements upon an ATMARP SG. Obviously, however, the resultant graph of ATMARP servers must span the set of ATMARP servers to be synchronized. For more information about the client/server protocol independent part of SCSP, the reader is encouraged to see [2]. When an ATMARP SG is using SCSP for synchronization, a given ATMARP Client will use only one ATMARP server and it will use that server for remainder of its participation in the SG. This server is said to be the "serving ATMARP server." There needs to be some hysteresis on refreshes since every ATMARP Request may cause a cache update/refresh in the serving ATMARP Server, and such refreshes might cause excessive traffic if propagated to all ATMARP Servers in the SG. In the case of mere refreshes, where no change occurs to the ATMARP Server's cache entry for the ATMARP Client, SCSP updates will occur at a maximum rate of once every 10+Random(2) minutes. Luciani, Fox [Page 2] INTERNET-DRAFT SCSP Expires September 1997 When an ATMARP client has left a server group (e.g., as the result of a crash), it MUST NOT rejoin the SG by generating new ATMARP requests to any other ATMARP Server than the one it previously used for a period of time greater than 20 minutes minus the time since the last ATMARP request was made by the ATMARP Client. This is necessary because no mechanism exists to tell the ATMARP service that the ATMARP Client has left the SG and because ATMARP Server table entries are valid for 20 minutes from the time the entries are created/updated. 3. Format of the CSA Record ATMARP Specific Part CSA Records in SCSP contain a "Client/Server Protocol Specific Part" which contains the non-protocol independent information for a given server's cache entry. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Hardware Type | Protocol Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | State | ATM Addr T/L |ATM SubAddr T/L| Proto Addr Len| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ATM Address (variable length) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ATM SubAddress (variable length) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Protocol Address (variable length) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ With the exception of the State and unused fields, these fields contain the values specified in the ATMARP Request and Reply packets defined in [1] which are used to create, update, and access ATMARP server cache entries. Hardware Type Defines the type of "link layer" addresses being carried. This value is the ATM Forum 'address family number' specified in [3] as 19 decimal (0x0013). This is the ar$hrd field defined in [1]. Protocol Type This field is the protocol type number for the protocol using ATMARP from [3]. (IP is 0x0800). This is the ar$pro field from [1]. State This field contains a value which represents the new state of the Luciani, Fox [Page 3] INTERNET-DRAFT SCSP Expires September 1997 client. 0 - New client available. 1 - Client entry has been updated. Note that a time-out of a cache entry does not cause a CSA Record to be sent because, if everything is working properly then all ATMARP servers have the cache entry timing out at the same time. Thus, the individual servers would take the appropriate actions necessary. ATM Addr T/L This field contains the type and length of the ATM Address field. The type and length encodings are described in Section 8.7.3 of [1]. ATM SubAddr T/L This field contains the type and length of the ATM SubAddress field. The type and length encodings are described in Section 8.7.3 of [1]. Proto Addr Len This field contains the length of the Protocol Address field. For IPv4, the value is 4. ATM Number This is the ATM address of an address binding in an ATMARP server cache entry. The address, if specified, is E.164 or ATM Forum NSAPA. ATM Subaddress This is the ATM subaddress of an address binding in an ATMARP server cache entry. The subaddress, if specified, is an ATM Forum NSAPA. If null, no storage will be allocated. Protocol Address This is the internetwork address of an address binding in an ATMARP server cache entry. 4. Values for SCSP Protocol Independent Part The following sections give values for fields of the SCSP Protocol Independent Part of the various SCSP messages. Luciani, Fox [Page 4] INTERNET-DRAFT SCSP Expires September 1997 4.1 Values for the SCSP "Mandatory Common Part" Protocol ID = 0x0001 Sender ID Len = 0x04 Recvr ID Len = 0x04 See Section B.2.0.1 of [2] for a detailed description of these fields. 4.2 Values for the SCSP "CSAS Record" Cache Key Len = 0x04 Orig ID Len = 0x04 See Section B.2.0.2 of [2] for a detailed description of these fields. References [1] "Classic IP and ARP over ATM", Mark Laubach and Joel Halpern, draft-ion-ipatm-classic2-02.txt, March, 1997. [2] "Server Cache Synchronization Protocol", Luciani, Armitage, Halpern, draft-ietf-ion-scsp-01.txt. [3] Assigned Numbers, J. Reynolds and J. Postel, RFC 1700. Acknowledgments I would also like to thank the members of the ION working group of the IETF, whose review and discussion of this document has been invaluable. Luciani, Fox [Page 5] INTERNET-DRAFT SCSP Expires September 1997 Author's Address James V. Luciani Bay Networks, Inc. 3 Federal Street, BL3-04 Billerica, MA 01821 phone: +1-508-916-4734 email: luciani@baynetworks.com Barbara A. Fox Harris & Jeffries 888 Washington Street Dedham, MA 02026 phone: +1-617-329-3200 email: bfox@hjinc.com Luciani, Fox [Page 6]