Internetworking Over NBMA James V. Luciani INTERNET-DRAFT (Bay Networks) Joel Halpern (Newbridge Networks, Inc) Barbara A. Fox (Lucent Technologies) Expires May 1999 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 ftp.is.co.za (Africa), ftp.nordu.net (Northern Europe), ftp.nis.garr.it (Southern Europe), munnari.oz.au (Pacific Rim), ftp.ietf.org (US East Coast), or ftp.isi.edu (US West Coast). 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 Luciani, Halpern, Fox [Page 1] INTERNET-DRAFT SCSP Expires May 1999 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 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 Luciani, Halpern, Fox [Page 2] INTERNET-DRAFT SCSP Expires May 1999 Server's cache entry for the ATMARP Client, SCSP updates will occur at a maximum rate of once every 10+Random(2) minutes. When an ATMARP server receives database information via SCSP, it checks it against the locally registered clients. Information not related to locally registered clients is simply accepted. (Note to implementors: this may result in transient multiple possible resolutions for an IP->ATM address binding. The server may provide any one of these bindings to a client who sends in an ATMARP request.) If there is a collision with the locally registered client base, then the base must be checked for whether the information is associated with a connected client. If it is not, then the local information is presumed to be supersceded and must be purged and transmitted to peer ATMARP servers with 0 lifetime. If the local information is associated with a connected client, then an effort needs to be made to determine if the remote information is also associated with a connected client. Therefore: 1) The ATMARP server will wait an interval T1 before taking any action. If the duplicative information is purged, no further action is necessary. 2) If the duplicate information is not purged, the ATMARP Server will then consider both sets of information (local and remote) to be invalid. A Network Management notification is generated. 3) The ATMARP Server will disconnect the local client. An ARPNAK should be sent to the client prior to disconnecting the VC. After waiting an interval T2, the ATMARP Server will purge the locally generated information from the system. (This avoids the potential for one of the two clients to randomly remain in the system when both are wrong.) When an ATMARP server receives a registration from a client, it checks the database of known clients. If there is a known local collision, the procedures from Classic II are followed. If there is a collision with an entry in the remote database, then the registration is accepted and flooded out, and the timer from (1) above is started so as to resolve the apparent collision. 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. Luciani, Halpern, Fox [Page 3] INTERNET-DRAFT SCSP Expires May 1999 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Lifetime | 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]. Lifetime This field contains a value (in minutes) which represents the lifetime of the ATMARP entry. A value of 0 indicates that the entry should be deleted. 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 Luciani, Halpern, Fox [Page 4] INTERNET-DRAFT SCSP Expires May 1999 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 Address 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. 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] "Classical IP and ARP over ATM", Mark Laubach and Joel Halpern, RFC 2225. Luciani, Halpern, Fox [Page 5] INTERNET-DRAFT SCSP Expires May 1999 [2] "Server Cache Synchronization Protocol (SCSP)", Luciani, Armitage, Halpern, RFC 2334. [3] Assigned Numbers, J. Reynolds and J. Postel, RFC 1700. Acknowledgments We would like to thank the members of the ION working group of the IETF, whose review and discussion of this document has been invaluable. 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 Joel Halpern Newbridge Networks, Inc 593 Herndon Parkway Herndon, VA 22070-5241 phone: +1-703-736-5954 email: jhalpern@Newbridge.com Barbara A. Fox Lucent Technologies 300 Baker Ave, Suite 100 Concord, MA 01742-2168 phone: +1-978-287-2843 email: barbarafox@lucent.com Luciani, Halpern, Fox [Page 6]