idnits 2.17.1 draft-ietf-ion-ipatm-classic2-03.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Cannot find the required boilerplate sections (Copyright, IPR, etc.) in this document. Expected boilerplate is as follows today (2024-04-19) according to https://trustee.ietf.org/license-info : IETF Trust Legal Provisions of 28-dec-2009, Section 6.a: This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. IETF Trust Legal Provisions of 28-dec-2009, Section 6.b(i), paragraph 2: Copyright (c) 2024 IETF Trust and the persons identified as the document authors. All rights reserved. IETF Trust Legal Provisions of 28-dec-2009, Section 6.b(i), paragraph 3: This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://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. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** Missing expiration date. The document expiration date should appear on the first and last page. ** The document seems to lack a 1id_guidelines paragraph about Internet-Drafts being working documents. ** The document seems to lack a 1id_guidelines paragraph about 6 months document validity. ** The document seems to lack a 1id_guidelines paragraph about the list of current Internet-Drafts. ** The document seems to lack a 1id_guidelines paragraph about the list of Shadow Directories. == Mismatching filename: the document gives the document name as 'draft-ion-ipatm-classic2-03', but the file name used is 'draft-ietf-ion-ipatm-classic2-03' == No 'Intended status' indicated for this document; assuming Proposed Standard Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an Introduction section. ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. -- The draft header indicates that this document obsoletes RFC1577, but the abstract doesn't seem to mention this, which it should. -- The draft header indicates that this document obsoletes RFC1626, but the abstract doesn't seem to mention this, which it should. Miscellaneous warnings: ---------------------------------------------------------------------------- == Line 913 has weird spacing: '... ar$sha qoct...' == Line 914 has weird spacing: '... ar$ssa roct...' == Line 915 has weird spacing: '... ar$spa soct...' == Line 916 has weird spacing: '... ar$tha xoct...' == Line 917 has weird spacing: '... ar$tsa yoct...' == (1 more instance...) -- The exact meaning of the all-uppercase expression 'NOT REQUIRED' is not defined in RFC 2119. If it is intended as a requirements expression, it should be rewritten using one of the combinations defined in RFC 2119; otherwise it should not be all-uppercase. == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'MUST not' in this paragraph: If the IP member is operating with PVCs only, then atm$arp-req-list MUST be configured with all null entries and the client MUST not make queries to either address resolution service. == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'MUST not' in this paragraph: If the client supports PVCs only, the ATMARP server list is empty and the client MUST not generate any address resolution requests other than the InATMARP requests on a PVC needed to validate that PVC. == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'MUST not' in this paragraph: ATMARP and InATMARP requests and replies for ATM address structures 1 and 2 MUST indicate a null or unknown ATM subaddress by setting the appropriate subaddress length to zero; i.e. ar$sstl.length = 0 or ar$tstl.length = 0, the corresponding type field (ar$sstl.type or ar$tstl.type) MUST be ignored and the physical space for the ATM subaddress buffer MUST not be allocated in the ATMARP packet. For example, if ar$sstl.length=0, the storage for the source ATM subaddress is not allocated and the first byte of the source protocol address ar$spa follows immediately after the last byte of the source hardware address ar$sha in the packet. == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'MUST not' in this paragraph: Null or unknown ATM addresses are MUST be indicated by setting the appropriate address length to zero; i.e., ar$shtl.length and ar$thtl.length is zero and the corresponding type field (ar$sstl.type or ar$tstl.type) MUST be ignored and the physical space for the ATM address or ATM subaddress buffer MUST not be allocated in the ATMARP packet. == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'MUST not' in this paragraph: MUST not be allocated in the packet. == Couldn't figure out when the document was first submitted -- there may comments or warnings related to the use of a disclaimer for pre-RFC5378 work that could not be issued because of this. Please check the Legal Provisions document at https://trustee.ietf.org/license-info to determine if you need the pre-RFC5378 disclaimer. -- The document date (6 April 1998) is 9510 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) ** Obsolete normative reference: RFC 1483 (ref. '2') (Obsoleted by RFC 2684) ** Obsolete normative reference: RFC 1340 (ref. '4') (Obsoleted by RFC 1700) -- Possible downref: Non-RFC (?) normative reference: ref. '6' -- Possible downref: Non-RFC (?) normative reference: ref. '7' -- Possible downref: Non-RFC (?) normative reference: ref. '9' ** Obsolete normative reference: RFC 1237 (ref. '11') (Obsoleted by RFC 1629) ** Obsolete normative reference: RFC 1293 (ref. '12') (Obsoleted by RFC 2390) -- Possible downref: Non-RFC (?) normative reference: ref. '13' ** Downref: Normative reference to an Informational RFC: RFC 1435 (ref. '14') ** Obsolete normative reference: RFC 1541 (ref. '15') (Obsoleted by RFC 2131) -- Possible downref: Non-RFC (?) normative reference: ref. '16' -- No information found for draft-ietf-ipatm-mib - is the name correct? -- Possible downref: Normative reference to a draft: ref. '18' -- Possible downref: Non-RFC (?) normative reference: ref. '19' Summary: 15 errors (**), 0 flaws (~~), 14 warnings (==), 12 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group Mark Laubach 3 INTERNET DRAFT Com21, Inc. 4 Expires 6 April 1998 5 Obsoletes: 1577, 1626 Joel Halpern 6 Newbridge Networks, Inc. 8 6 October 1997 10 Classical IP and ARP over ATM 12 Status of this Memo 14 This memo is an internet draft. Internet Drafts are working documents 15 of the Internet Engineering Task Force (IETF), its Areas, and its 16 Working Groups. Note that other groups may also distribute working 17 documents as Internet Drafts. 19 Internet Drafts are draft documents valid for a maximum of six 20 months. Internet Drafts may be updated, replaced, or obsoleted by 21 other documents at any time. It is not appropriate to use Internet 22 Drafts as reference material or to cite them other than as a "working 23 draft" or "work in progress". Please check the lid-abstracts.txt 24 listing contained in the internet-drafts shadow directories on 25 nic.ddn.mil, nnsc.nsf.net, nic.nordu.net, ftp.nisc.src.com, or 26 munnari.oz.au to learn the current status of any Internet Draft. 28 Table of Contents 30 1. ABSTRACT . . . . . . . . . . . . . . . . . . . . . . . . . . 2 31 2. ACKNOWLEDGMENT . . . . . . . . . . . . . . . . . . . . . . . 3 32 3. CONVENTIONS . . . . . . . . . . . . . . . . . . . . . . . . . 3 33 4. INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . 3 34 5. IP SUBNETWORK CONFIGURATION . . . . . . . . . . . . . . . . . 6 35 5.1 Background . . . . . . . . . . . . . . . . . . . . . . . . 6 36 5.2 LIS Configuration Requirements . . . . . . . . . . . . . . 7 37 5.3 LIS Router Additional Configuration . . . . . . . . . . . . 8 38 6. IP PACKET FORMAT . . . . . . . . . . . . . . . . . . . . . . 8 39 7. DEFAULT VALUE FOR IP MTU OVER ATM AAL5 . . . . . . . . . . . 9 40 7.1 Permanent Virtual Circuits . . . . . . . . . . . . . . . . 9 41 7.2 Switched Virtual Circuits . . . . . . . . . . . . . . . . . 9 42 7.3 Path MTU Discovery Required . . . . . . . . . . . . . . . . 11 43 8. LIS ADDRESS RESOLUTION SERVICES . . . . . . . . . . . . . . . 11 44 8.1 ATM-based ARP and InARP Equivalent Services . . . . . . . . 11 46 DRAFT Classical IP and ARP over ATM October 1997 48 8.2 Permanent Virtual Connections . . . . . . . . . . . . . . . 12 49 8.3 Switched Virtual Connections . . . . . . . . . . . . . . . 12 50 8.4 ATMARP Single Server Operational Requirements . . . . . . . 13 51 8.5 ATMARP Client Operational Requirements . . . . . . . . . . 14 52 8.5.1 Client ATMARP Table Aging . . . . . . . . . . . . . . . . 16 53 8.5.2 Non-Normal VC Operations . . . . . . . . . . . . . . . . 17 54 8.5.3 Use of ATM ARP in Mobile-IP Scenarios . . . . . . . . . . 17 55 8.6 Address Resolution Server Selection . . . . . . . . . . . . 17 56 8.6.1 PVCs to ATMARP Servers . . . . . . . . . . . . . . . . . 18 57 8.7 ATMARP Packet Formats . . . . . . . . . . . . . . . . . . . 18 58 8.7.1 ATMARP/InATMARP Request and Reply Packet Formats . . . . 18 59 8.7.2 Receiving Unknown ATMARP packets . . . . . . . . . . . . 20 60 8.7.3 TL, ATM Number, and ATM Subaddress Encoding . . . . . . . 20 61 8.7.4 ATMARP_NAK Packet Format . . . . . . . . . . . . . . . . 21 62 8.7.5 Variable Length Requirements for ATMARP Packets . . . . . 21 63 8.8 ATMARP/InATMARP Packet Encapsulation . . . . . . . . . . . 22 64 9. IP BROADCAST ADDRESS . . . . . . . . . . . . . . . . . . . . 23 65 10. IP MULTICAST ADDRESS . . . . . . . . . . . . . . . . . . . . 23 66 11. SECURITY . . . . . . . . . . . . . . . . . . . . . . . . . . 23 67 12. MIB SPECIFICATION . . . . . . . . . . . . . . . . . . . . . 24 68 13. OPEN ISSUES . . . . . . . . . . . . . . . . . . . . . . . . 24 69 14. REFERENCES . . . . . . . . . . . . . . . . . . . . . . . . . 24 70 15. AUTHORS . . . . . . . . . . . . . . . . . . . . . . . . . . 26 71 APPENDIX A - Update Information . . . . . . . . . . . . . . . . 27 73 1. ABSTRACT 75 This memo defines an initial application of classical IP and ARP in 76 an Asynchronous Transfer Mode (ATM) network environment configured as 77 a Logical IP Subnetwork (LIS) as described in Section 5. This memo 78 does not preclude the subsequent development of ATM technology into 79 areas other than a LIS; specifically, as single ATM networks grow to 80 replace many Ethernet local LAN segments and as these networks become 81 globally connected, the application of IP and ARP will be treated 82 differently. This memo considers only the application of ATM as a 83 direct replacement for the "wires" and local LAN segments connecting 84 IP end-stations ("members") and routers operating in the "classical" 85 LAN-based paradigm. Issues raised by MAC level bridging and LAN 86 emulation are beyond the scope of this paper. 88 This memo introduces general ATM technology and nomenclature. 89 Readers are encouraged to review the ATM Forum and ITU-TS (formerly 90 CCITT) references for more detailed information about ATM 91 implementation agreements and standards. 93 DRAFT Classical IP and ARP over ATM October 1997 95 2. ACKNOWLEDGMENT 97 The authors would like to thank the efforts of the IP over ATM 98 Working Group of the IETF. Without their substantial, and sometimes 99 contentious support, of the Classical IP over ATM model, this updated 100 memo would not have been possible. Section 7, on Default MTU, has 101 been incorporated directly from Ran Atkinson's RFC-1626, with his 102 permission. Thanks for Andy Malis for an early review and comments 103 for rolc and ion related issues. 105 3. CONVENTIONS 107 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 108 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 109 document are to be interpreted as described in RFC 2119 [20]. 111 4. INTRODUCTION 113 The goal of this specification is to allow compatible and 114 interoperable implementations for transmitting IP datagrams and ATM 115 Address Resolution Protocol (ATMARP) requests and replies over ATM 116 Adaptation Layer 5 (AAL5)[2,6]. 118 This memo specifies the stable foundation baseline operational model 119 which will always be available in IP and ARP over ATM 120 implementations. Subsequent memos will build upon and refine this 121 model, however, in the absence or failure of those extensions, 122 operations will default to the specifications contained in this memo. 123 Consequently, this memo will not reference these other extensions. 125 This memo defines only the operation of IP and address resolution 126 over ATM, and is not meant to describe the operation of ATM networks. 127 Any reference to virtual connections, permanent virtual connections, 128 or switched virtual connections applies only to virtual channel 129 connections used to support IP and address resolution over ATM, and 130 thus are assumed to be using AAL5. This memo places no restrictions 131 or requirements on virtual connections used for other purposes. 133 Initial deployment of ATM provides a LAN segment replacement for: 135 1) Local area networks (e.g., Ethernets, Token Rings and FDDI). 137 2) Local-area backbones between existing (non-ATM) LANs. 139 3) Dedicated circuits or frame relay PVCs between IP routers. 141 DRAFT Classical IP and ARP over ATM October 1997 143 NOTE: In 1), local IP routers with one or more ATM interfaces will be 144 able to connect islands of ATM networks. In 3), public or private 145 ATM Wide Area networks will be used to connect IP routers, which in 146 turn may or may not connect to local ATM networks. ATM WANs and LANs 147 may be interconnected. 149 Private ATM networks (local or wide area) will use the private ATM 150 address structure specified in the ATM Forum UNI 3.1 specification 151 [9] or as in the ATM Forum UNI 4.0 specification [19]. This structure 152 is modeled after the format of an OSI Network Service Access Point 153 Address. A private ATM address uniquely identifies an ATM endpoint. 154 Public networks will use either the address structure specified in 155 ITU-TS recommendation E.164 or the private network ATM address 156 structure. An E.164 address uniquely identifies an interface to a 157 public network. 159 The characteristics and features of ATM networks are different than 160 those found in LANs: 162 o ATM provides a Virtual Connection (VC) switched environment. VC 163 setup may be done on either a Permanent Virtual Connection (PVC) 164 or dynamic Switched Virtual Connection (SVC) basis. SVC call 165 management signalling is performed via implementations of the UNI 166 3.1 protocol [7,9]. 168 o Data to be passed by a VC is segmented into 53 octet quantities 169 called cells (5 octets of ATM header and 48 octets of data). 171 o The function of mapping user Protocol Data Units (PDUs) into the 172 information field of the ATM cell and vice versa is performed in 173 the ATM Adaptation Layer (AAL). When a VC is created a specific 174 AAL type is associated with the VC. There are four different AAL 175 types, which are referred to individually as "AAL1", "AAL2", 176 "AAL3/4", and "AAL5". (NOTE: this memo concerns itself with the 177 mapping of IP and ATMARP over AAL5 only. The other AAL types are 178 mentioned for introductory purposes only.) The AAL type is known 179 by the VC end points via the call setup mechanism and is not 180 carried in the ATM cell header. For PVCs the AAL type is 181 administratively configured at the end points when the Connection 182 (circuit) is set up. For SVCs, the AAL type is communicated 183 along the VC path via UNI 3.1 as part of call setup establishment 184 and the end points use the signaled information for 185 configuration. ATM switches generally do not care about the AAL 186 type of VCs. The AAL5 format specifies a packet format with a 187 maximum size of (64K - 1) octets of user data. Cells for an AAL5 188 PDU are transmitted first to last, the last cell indicating the 189 end of the PDU. ATM standards guarantee that on a given VC, cell 190 ordering is preserved end-to-end. NOTE: AAL5 provides a non- 192 DRAFT Classical IP and ARP over ATM October 1997 194 assured data transfer service - it is up to higher-level 195 protocols to provide retransmission. 197 o ATM Forum signaling defines point-to-point and point-to- 198 multipoint Connection setup [9, 19]. Multipoint-to-multipoint 199 VCs are not yet specified by ITU-TS or ATM Forum. 201 o An ATM Forum ATM address is either encoded as an NSAP form ATM 202 EndSystem Address (AESA) or is an E.164 Public-UNI address [9, 203 19]. In some cases, both an AESA and an E.164 Public UNI address 204 are needed by an ATMARP client to reach another host or router. 205 Since the use of AESAs and E.164 public UNI addresses by ATMARP 206 are analogous to the use of Ethernet addresses, the notion of 207 "hardware address" is extended to encompass ATM addresses in the 208 context of ATMARP, even though ATM addresses need not have 209 hardware significance. ATM Forum NSAP format addresses (AESA) 210 use the same basic format as U.S. GOSIP OSI NSAPAs [11]. NOTE: 211 ATM Forum addresses should not be construed as being U.S. GOSIP 212 NSAPAs. They are not, the administration is different, which 213 fields get filled out are different, etc. In this document these 214 will be referred to as NSAPAs. 216 This memo describes the initial deployment of ATM within "classical" 217 IP networks as a direct replacement for local area networks 218 (Ethernets) and for IP links which interconnect routers, either 219 within or between administrative domains. The "classical" model here 220 refers to the treatment of the ATM host adapter as a networking 221 interface to the IP protocol stack operating in a LAN-based paradigm. 223 Characteristics of the classical model are: 225 o The same maximum transmission unit (MTU) size is the default for 226 all VCs in a LIS [2]. However, on a VC-by-VC point-to-point 227 basis, the MTU size may be negotiated during connection setup 228 using Path MTU Discovery to better suit the needs of the 229 cooperating pair of IP members or the attributes of the 230 communications path. (Refer to Section 7.3) 231 o Default LLC/SNAP encapsulation of IP packets. 233 o End-to-end IP routing architecture stays the same. 235 o IP addresses are resolved to ATM addresses by use of an ATMARP 236 service within the LIS - ATMARPs stay within the LIS. From a 237 client's perspective, the ATMARP architecture stays faithful to 238 the basic ARP model presented in [3]. 240 o One IP subnet is used for many hosts and routers. Each VC 241 directly connects two IP members within the same LIS. 243 DRAFT Classical IP and ARP over ATM October 1997 245 Future memos will describe the operation of IP over ATM when ATM 246 networks become globally deployed and interconnected. 248 The deployment of ATM into the Internet community is just beginning 249 and will take many years to complete. During the early part of this 250 period, we expect deployment to follow traditional IP subnet 251 boundaries for the following reasons: 253 o Administrators and managers of IP subnetworks will tend to 254 initially follow the same models as they currently have deployed. 255 The mindset of the community will change slowly over time as ATM 256 increases its coverage and builds its credibility. 258 o Policy administration practices rely on the security, access, 259 routing, and filtering capability of IP Internet gateways: i.e. 260 firewalls. ATM will not be allowed to "back-door" around these 261 mechanisms until ATM provides better management capability than 262 the existing services and practices. 264 o Standards for global IP over ATM will take some time to complete 265 and deploy. 267 This memo details the treatment of the classical model of IP and 268 ATMARP over ATM. This memo does not preclude the subsequent treatment 269 of ATM networks within the IP framework as ATM becomes globally 270 deployed and interconnected; this will be the subject of future 271 documents. This memo does not address issues related to transparent 272 data link layer interoperability. 274 5. IP SUBNETWORK CONFIGURATION 276 5.1 Background 278 In the LIS scenario, each separate administrative entity configures 279 its hosts and routers within a LIS. Each LIS operates and 280 communicates independently of other LISs on the same ATM network. 282 In the classical model, hosts communicate directly via ATM to other 283 hosts within the same LIS using the ATMARP service as the mechanism 284 for resolving target IP addresses to target ATM endpoint addresses. 285 The ATMARP service has LIS scope only and serves all hosts in the 286 LIS. Communication to hosts located outside of the local LIS is 287 provided via an IP router. This router is an ATM endpoint attached to 288 the ATM network that is configured as a member of one or more LISs. 289 This configuration MAY result in a number of disjoint LISs operating 290 over the same ATM network. Using this model hosts of differing IP 291 subnets MUST communicate via an intermediate IP router even though it 293 DRAFT Classical IP and ARP over ATM October 1997 295 may be possible to open a direct VC between the two IP members over 296 the ATM network. 298 By default, the ATMARP service and the classical LIS routing model 299 MUST be available to any IP member client in the LIS. 301 5.2 LIS Configuration Requirements 303 The requirements for IP members (hosts, routers) operating in an ATM 304 LIS configuration are: 306 o All members of the LIS have the same IP network/subnet number and 307 address mask [8]. 309 o All members within a LIS are directly connected to the ATM 310 network. 312 o All members of a LIS MUST have a mechanism for resolving IP 313 addresses to ATM addresses via ATMARP (based on [3]) and vice 314 versa via InATMARP (based on [12]) when using SVCs. Refer to 315 Section 8 "Address Resolution" in this memo. 317 o All members of a LIS MUST have a mechanism for resolving VCs to 318 IP addresses via InATMARP (based on [12]) when using PVCs. Refer 319 to Section 8 "Address Resolution" in this memo. 321 o All members within a LIS MUST be able to communicate via ATM with 322 all other members in the same LIS; i.e., the Virtual Connection 323 topology underlying the intercommunication among the members is 324 fully meshed. 326 The following list identifies the set of ATM specific parameters that 327 MUST be implemented in each IP station connected to the ATM network: 329 o ATM Hardware Address (atm$ha). The ATM address of the individual 330 IP station. 332 o ATMARP Request Address list (atm$arp-req-list): atm$arp-req-list 333 is a list containing one or more ATM addresses of individual 334 ATMARP servers located within the LIS. In an SVC environment, 335 ATMARP servers are used to resolve target IP addresses to target 336 ATM address via an ATMARP request and reply protocol. ATMARP 337 servers MUST have authoritative responsibility for resolving 338 ATMARP requests of all IP members using SVCs located within the 339 LIS. 341 A LIS MUST have a single ATMARP service entry configured and 342 available to all members of the LIS who use SVCs. 344 DRAFT Classical IP and ARP over ATM October 1997 346 In the case where there is only a single ATMARP server within the 347 LIS, then all ATMARP clients MUST be configured identically to have 348 only one non-null entry in atm$arp-req-list configured with the same 349 address of the single ATMARP service. 351 If the IP member is operating with PVCs only, then atm$arp-req-list 352 MUST be configured with all null entries and the client MUST not make 353 queries to either address resolution service. 355 Within the restrictions mentioned above and in Section 8, local 356 administration MUST decide which server address(es) are appropriate 357 for atm$arp-req-list. 359 By default, atm$arp-req-list MUST be configured using the MIB [18]. 361 Manual configuration of the addresses and address lists presented in 362 this section is implementation dependent and beyond the scope of this 363 document; i.e. this memo does not require any specific configuration 364 method. This memo does require that these addresses MUST be 365 configured completely on the client, as appropriate for the LIS, 366 prior to use by any service or operation detailed in this memo. 368 5.3 LIS Router Additional Configuration 370 It is RECOMMENDED that routers providing LIS functionality over the 371 ATM network also support the ability to interconnect multiple LISs. 372 Routers that wish to provide interconnection of differing LISs MUST 373 be able to support multiple sets of these parameters (one set for 374 each connected LIS) and be able to associate each set of parameters 375 to a specific IP network/ subnet number. In addition, it is 376 RECOMMENDED that a router be able to provide this multiple LIS 377 support with a single physical ATM interface that may have one or 378 more individual ATM endpoint addresses. NOTE: this does not 379 necessarily mean different End System Identifiers (ESIs) when NSAPAs 380 are used. The last octet of an NSAPA is the NSAPA Selector (SEL) 381 field which can be used to differentiate up to 256 different LISs for 382 the same ESI. (Refer to Section 5.1.3.1, "Private Networks" in [9].) 384 6. IP PACKET FORMAT 386 Implementations MUST support IEEE 802.2 LLC/SNAP encapsulation as 387 described in [2]. LLC/SNAP encapsulation is the default packet 388 format for IP datagrams. 390 This memo recognizes that other encapsulation methods may be used 391 however, in the absence of other knowledge or agreement, LLC/SNAP 392 encapsulation is the default. 394 DRAFT Classical IP and ARP over ATM October 1997 396 This memo recognizes that end-to-end signaling within ATM may allow 397 negotiation of encapsulation method on a per-VC basis. 399 7. DEFAULT VALUE FOR IP MTU OVER ATM AAL5 401 Protocols in wide use throughout the Internet, such as the Network 402 File System (NFS), currently use large frame sizes (e.g. 8 KB). 403 Empirical evidence with various applications over the Transmission 404 Control Protocol (TCP) indicates that larger Maximum Transmission 405 Unit (MTU) sizes for the Internet Protocol (IP) tend to give better 406 performance. Fragmentation of IP datagrams is known to be highly 407 undesirable [16]. It is desirable to reduce fragmentation in the 408 network and thereby enhance performance by having the IP Maximum 409 Transmission Unit (MTU) for AAL5 be reasonably large. NFS defaults 410 to an 8192 byte frame size. Allowing for RPC/XDR, UDP, IP, and LLC 411 headers, NFS would prefer a default MTU of at least 8300 octets. 412 Routers can sometimes perform better with larger packet sizes because 413 most of the performance costs in routers relate to "packets handled" 414 rather than "bytes transferred". So there are a number of good 415 reasons to have a reasonably large default MTU value for IP over ATM 416 AAL5. 418 RFC-1209 specifies the IP MTU over SMDS to be 9180 octets, which is 419 larger than 8300 octets but still in the same range [1]. There is no 420 good reason for the default MTU of IP over ATM AAL5 to be different 421 from IP over SMDS, given that they will be the same magnitude. Having 422 the two be the same size will be helpful in interoperability and will 423 also help reduce incidence of IP fragmentation. 425 Therefore, the default IP MTU for use with ATM AAL5 shall be 9180 426 octets. All implementations compliant and conformant with this 427 specification shall support at least the default IP MTU value for use 428 over ATM AAL5. 430 7.1 Permanent Virtual Circuits 432 Implementations which only support Permanent Virtual Circuits (PVCs) 433 will (by definition) not implement any ATM signalling protocol. Such 434 implementations shall use the default IP MTU value of 9180 octets 435 unless both parties have agreed in advance to use some other IP MTU 436 value via some mechanism not specified here. 438 7.2 Switched Virtual Circuits 440 Implementations that support Switched Virtual Circuits (SVCs) MUST 441 attempt to negotiate the AAL CPCS-SDU size using the ATM signalling 442 protocol. The industry standard ATM signalling protocol uses two 443 different parts of the Information Element named "AAL Parameters" to 445 DRAFT Classical IP and ARP over ATM October 1997 447 exchange information on the MTU over the ATM circuit being setup [9]. 448 The Forward Maximum CPCS-SDU Size field contains the value over the 449 path from the calling party to the called party. The Backwards 450 Maximum CPCS-SDU Size Identifier field contains the value over the 451 path from the called party to the calling party. The ATM Forum 452 specifies the valid values of this identifier as 1 to 65535 453 inclusive. Note that the ATM Forum's User-to-Network-Interface (UNI) 454 signalling permits the MTU in one direction to be different from the 455 MTU in the opposite direction, so the Forward Maximum CPCS-SDU Size 456 Identifier might have a different value from the Backwards Maximum 457 CPCS-SDU Size Identifier on the same connection. 459 If the calling party wishes to use the default MTU it shall still 460 include the "AAL Parameters" information element with the default 461 values for the Maximum CPCS-SDU Size as part of the SETUP message of 462 the ATM signalling protocol [9]. If the calling party desires to use 463 a different value than the default, it shall include the "AAL 464 Parameters" information element with the desired value for the 465 Maximum CPCS-SDU Size as part of the SETUP message of the ATM 466 Signalling Protocol. The called party will respond using the same 467 information elements and identifiers in its CONNECT message response 468 [9]. 470 If the called party receives a SETUP message containing the "Maximum 471 CPCS-SDU Size" in the AAL Parameters information element, it shall 472 handle the Forward and Backward Maximum CPCS-SDU Size Identifier as 473 follows: 475 a) If it is able to accept the ATM MTU values proposed by the SETUP 476 message, it shall include an AAL Parameters information element 477 in its response. The Forward and Backwards Maximum CPCS-SDU Size 478 fields shall be present and their values shall be equal to the 479 corresponding values in the SETUP message. 481 b) If it wishes a smaller ATM MTU size than that proposed, then it 482 shall set the values of the Maximum CPCS-SDU Size in the AAL 483 Parameters information elements equal to the desired value in the 484 CONNECT message responding to the original SETUP message. 486 c) If the calling endpoint receives a CONNECT message that does not 487 contain the AAL Parameters Information Element, but the 488 corresponding SETUP message did contain the AAL Parameters 489 Information element (including the forward and backward CPCS-SDU 490 Size fields), it shall clear the call with cause "AAL Parameters 491 cannot be supported". 493 d) If either endpoint receives a STATUS message with cause 494 "Information Element Non-existent or Not Implemented" or cause 496 DRAFT Classical IP and ARP over ATM October 1997 498 ""Access Information Discarded", and with a diagnostic field 499 indicating the AAL Parameters Information Element identifier, it 500 shall clear the call with cause "AAL Parameters cannot be 501 supported." 503 e) If either endpoint receives CPCS-SDUs in excess of the negotiated 504 MTU size, it may use IP fragmentation or may clear the call with 505 cause "AAL Parameters cannot be supported". In this case, an 506 error has occurred either due to a fault in an end system or in 507 the ATM network. The error should be noted by ATM network 508 management for human examination and intervention. 510 If the called endpoint incorrectly includes the Forward and Backward 511 Maximum CPCS-SDU Size fields in the CONNECT messages (e.g. because 512 the original SETUP message did not include these fields) or it sets 513 these fields to an invalid value, then the calling party shall clear 514 the call with cause "Invalid Information Element Contents". 516 7.3 Path MTU Discovery Required 518 The Path MTU Discovery mechanism is Internet Standard RFC-1191 [17] 519 and is an important mechanism for reducing IP fragmentation in the 520 Internet. This mechanism is particularly important because new subnet 521 ATM uses a default MTU sizes significantly different from older 522 subnet technologies such as Ethernet and FDDI. 524 In order to ensure good performance throughout the Internet and also 525 to permit IP to take full advantage of the potentially larger IP 526 datagram sizes supported by ATM, all routers implementations that 527 comply or conform with this specification must also implement the IP 528 Path MTU Discovery mechanism as defined in RFC-1191 and clarified by 529 RFC-1435 [14]. Host implementations should implement the IP Path MTU 530 Discovery mechanism as defined in RFC-1191. 532 8. LIS ADDRESS RESOLUTION SERVICES 534 8.1 ATM-based ARP and InARP Equivalent Services 536 Address resolution within an ATM LIS SHALL make use of the ATM 537 Address Resolution Protocol (ATMARP) (based on [3]) and the Inverse 538 ATM Address Resolution Protocol (InATMARP) (based on [12]) and as 539 defined in this memo. ATMARP is the same protocol as the ARP 540 protocol presented in [3] with extensions needed to support address 541 resolution in a unicast server ATM environment. InATMARP is the same 542 protocol as the original InARP protocol presented in [12] but applied 543 to ATM networks. All IP stations MUST support these protocols as 544 updated and extended in this memo. Use of these protocols differs 545 depending on whether PVCs or SVCs are used. 547 DRAFT Classical IP and ARP over ATM October 1997 549 8.2 Permanent Virtual Connections 551 An IP station MUST have a mechanism (e.g. manual configuration) for 552 determining what PVCs it has, and in particular which PVCs are being 553 used with LLC/SNAP encapsulation. The details of the mechanism are 554 beyond the scope of this memo. 556 All IP members supporting PVCs are required to use the Inverse ATM 557 Address Resolution Protocol (InATMARP) (refer to [12]) on those VCs 558 using LLC/SNAP encapsulation. In a strict PVC environment, the 559 receiver SHALL infer the relevant VC from the VC on which the 560 InATMARP_Request or response InATMARP_REPLY was received. When the 561 ATM source and/or target address is unknown, the corresponding ATM 562 address length in the InATMARP packet MUST be set to zero (0) 563 indicating a null length, and no storage be allocated in the InATMARP 564 packet, otherwise the appropriate address field should be filled in 565 and the corresponding length set appropriately. InATMARP packet 566 format details are presented later in this memo. 568 Directly from [12]: "When the requesting station receives the 569 In[ATM]ARP_Reply, it may complete the [ATM]ARP table entry and use 570 the provided address information. NOTE: as with [ATM]ARP, information 571 learned via In[ATM]ARP may be aged or invalidated under certain 572 circumstances." IP stations supporting PVCs MUST re-validate ATMARP 573 table entries as part of the table aging process. See the Section 574 8.5.1 "Client ATMARP Table Aging". 576 If a client has more than one IP address within the LIS and if using 577 PVCs, when an InATMARP_Request is received an InATMARP_Reply MUST be 578 generated for each such address. 580 8.3 Switched Virtual Connections 582 SVCs require support from address resolution services for resolving 583 target IP addresses to target ATM endpoint addresses. All members in 584 the LIS MUST use the same service. This service MUST have 585 authoritative responsibility for resolving the ATMARP requests of all 586 IP members within the LIS. 588 ATMARP servers do not actively establish connections. They depend on 589 the clients in the LIS to initiate connections for the ATMARP 590 registration procedure and for transmitting ATMARP requests. An 591 individual client connects to the ATMARP server using a point-to- 592 point LLC/SNAP VC. The client sends normal ATMARP request packets to 593 the server. The ATMARP server examines each ATMARP_Request packet for 594 the source protocol and source hardware address information of the 595 sending client and uses this information to build its ATMARP table 596 cache. This information is used to generate replies to any ATMARP 598 DRAFT Classical IP and ARP over ATM October 1997 600 requests it receives. 602 InATMARP_Request packets MUST specify valid address information for 603 ATM source number, ATM target number, and source protocol address; 604 i.e., these fields MUST be non-null in InATMARP_Request packets. 606 This memo defines the address resolution service in the LIS and 607 constrains it to consist of a single ATMARP server. Client-server 608 interaction is defined by using a single server approach as a 609 reference model. 611 This memo recognizes the future development of standards and 612 implementations of multiple-ATMARP-server models that will extend the 613 operations as defined in this memo to provide a highly reliable 614 address resolution service. 616 8.4 ATMARP Single Server Operational Requirements 618 A single ATMARP server accepts ATM calls/connections from other ATM 619 end points. After receiving any ATMARP_Request, the server will 620 examine the source and target address information in the packet and 621 make note of the VC on which the ATMARP_Request arrived. It will use 622 this information as necessary to build and update its ATMARP table 623 entries. 625 For each ATMARP_Request, then: 627 1. If the source IP protocol address is the same as the target IP 628 protocol address and a table entry exists for that IP address and 629 if the source ATM hardware address does not match the table entry 630 ATM address and there is an open VC associated with that table 631 entry that is not the same as the VC associated with the 632 ATMARP_Request, the server MUST return the table entry 633 information in the ATMARP_Reply, and MUST raise a "duplicate IP 634 address detected" condition to the server's management. The table 635 entry is not updated. 637 2. Otherwise, if the source IP protocol address is the same as the 638 target IP protocol address, and either there is no table entry 639 for that IP address, or a table entry exists for that IP address 640 and there is no open VC associated with that table entry, or if 641 the VC associated with that entry is the same as the VC for the 642 ATMARP_Request, the server MUST either create a new entry or 643 update the old entry as appropriate and returns that table entry 644 information in the ATMARP Reply. 646 3. Otherwise, when the source IP protocol address does not match the 648 DRAFT Classical IP and ARP over ATM October 1997 650 target IP protocol address, the ATMARP server will generate the 651 corresponding ATMARP_Reply if it has an entry for the target 652 information in its ATMARP table. Otherwise it will generate a 653 negative ATMARP reply (ATMARP_NAK). 655 4. Additionally, when the source IP protocol address does not match 656 the target IP protocol address and when the server receives an 657 ATMARP_Request over a VC, where the source IP and ATM address do 658 not have a corresponding table entry, the ATMARP server MUST 659 create a new table entry for the source information. Explanation: 660 this allows old RFC1577 clients to register with this ATMARP 661 service by just issuing requests to it. 663 5. Additionally, when the source IP protocol address does not match 664 the target IP protocol address and where the source IP and ATM 665 addresses match the association already in the ATMARP table and 666 the ATM address matches that associated with the VC, the server 667 MUST update the table timeout on the source ATMARP table entry 668 but only if it has been more than 10 minutes since the last 669 update. Explanation: if the client is sending ATMARP requests to 670 the server over the same VC that it used to register its ATMARP 671 entry, the server should examine the ATMARP request and note that 672 the client is still "alive" by updating the timeout on the 673 client's ATMARP table entry. 675 6. Additionally, when the source IP protocol address does not match 676 the target IP protocol address and where the source IP and ATM 677 addresses do not match the association already in the ATMARP 678 table, the server MUST NOT update the ATMARP table entry. 680 An ATMARP server MUST have knowledge of any open VCs it has and their 681 association with an ATMARP table entry, and in particular, which VCs 682 support LLC/SNAP encapsulation. In normal operation, active ATMARP 683 clients will revalidate their entries prior to the server aging 684 process taking effect. 686 Server ATMARP table entries are valid for 20 minutes. If an entry 687 ages beyond 20 minutes without being updated (refreshed) by the 688 client, that entry is deleted from the table regardless of the state 689 of any VCs that may be associated with that entry. 691 8.5 ATMARP Client Operational Requirements 693 The ATMARP client is responsible for contacting the ATMARP service to 694 both initially register and subsequently refresh its own ATMARP 695 information. 697 DRAFT Classical IP and ARP over ATM October 1997 699 The client is also responsible for using the ATMARP service to gain 700 and revalidate ATMARP information about other IP members in the LIS 701 (server selection overview is discussed in Section 8.6). As noted in 702 Section 5.2, ATMARP clients MUST be configured with the ATM address 703 of the appropriate server prior to client ATMARP operation. 705 IP clients MUST register their ATM endpoint address with their ATMARP 706 server using the ATM address structure appropriate for their ATM 707 network connection: i.e., LISs implemented over ATM LANs following 708 ATM Forum UNI 3.1 should register using Structure 1; LISs implemented 709 over an E.164 "public" ATM network should register using Structure 2. 710 A LIS implemented over a combination of ATM LANs and public ATM 711 networks may need to register using Structure 3. Implementations 712 based on this memo MUST support all three ATM address structures. 713 See Section 8.7.1 for more details regarding the ATMARP Request 714 packet format. 716 To handle the case when a client has more than one IP address within 717 a LIS, when using an ATMARP server, the client MUST register each 718 such address. 720 For initial registration and subsequent refreshing of its own 721 information with the ATMARP service, clients MUST: 723 1. Establish an LLC/SNAP VC connection to a server in the ATMARP 724 service for the purposes of transmitting and receiving ATMARP 725 packets. 727 NOTE: in the case of refreshing its own information with the 728 ATMARP service, a client MAY reuse an existing established 729 connection to the ATMARP service provided that the connection was 730 previously used either to initially register its information with 731 the ATMARP service or to refresh its information with the ATMARP 732 service. 734 2. After establishing a successful connection to the ATMARP service, 735 the client MUST transmit an ATMARP_Request packet, requesting a 736 target ATM address for its own IP address as the target IP 737 protocol address. The client checks the ATMARP_Reply and if the 738 source hardware and protocol addresses match the respective 739 target hardware and protocol addresses, the client is registered 740 with the ATMARP service. If the addresses do not match, the 741 client MAY take action, raise alarms, etc.; however, these 742 actions are beyond the scope of this memo. In the case of a 743 client having more than one IP address in the list, this step 744 MUST be repeated for each IP address. 746 3. Clients MUST respond to ATMARP_Request and InATMARP_Request 748 DRAFT Classical IP and ARP over ATM October 1997 750 packets received on any VC appropriately. (Refer to Section 7, 751 "Protocol Operation" in RFC1293 [12].) 753 NOTE: for reasons of robustness, clients MUST respond to 754 ATMARP_Requests. 756 4. Generate and transmit address resolution request packets to the 757 address resolution service. Respond to address resolution reply 758 packets appropriately to build/refresh its own client ATMARP 759 table entries. 761 5. Generate and transmit InATMARP_Request packets as needed and to 762 process InATMARP_Reply packets appropriately. InATMARP_Reply 763 packets should be used to build/refresh its own client ATMARP 764 table entries. (Refer to Section 7, "Protocol Operation" in 765 [12].) If a client has more than one IP address within the LIS 766 when an InATMARP_Request is received an InATMARP_Reply MUST be 767 generated for each such address. 769 The client MUST refresh its ATMARP information with the server at 770 least once every 15 minutes. This is done by repeating steps 1 and 771 2. 773 An ATMARP client MUST have knowledge of any open VCs it has 774 (permanent or switched), their association with an ATMARP table 775 entry, and in particular, which VCs support LLC/SNAP encapsulation. 777 8.5.1 Client ATMARP Table Aging 779 Client ATMARP table entries are valid for a maximum time of 15 780 minutes. 782 When an ATMARP table entry ages, an ATMARP client MUST invalidate the 783 table entry. If there is no open VC server associated with the 784 invalidated entry, that entry is deleted. In the case of an 785 invalidated entry and an open VC, the client MUST revalidate the 786 entry prior to transmitting any non address resolution traffic on 787 that VC; this requirement applies to both PVCs and SVCs. NOTE: the 788 client is permitted to revalidate an ATMARP table entry before it 789 ages, thus restarting the aging time when the table entry is 790 successfully revalidate. The client MAY continue to use the open VC, 791 as long as the table entry has not aged, while revalidation is in 792 progress. 794 In the case of an open PVC, the client revalidates the entry by 795 transmitting an InATMARP_REQUEST and updating the entry on receipt of 796 an InATMARP_REPLY. 798 DRAFT Classical IP and ARP over ATM October 1997 800 In the case of an open SVC, the client revalidates the entry by 801 querying the address resolution service. If a valid reply is 802 received (e.g., ATMARP_Reply), the entry is updated. If the address 803 resolution service cannot resolve the entry (i.e., "host not found"), 804 the SVC should be closed and the associated table entry removed. If 805 the address resolution service is not available (i.e. "server 806 failure") and if the SVC is LLC/SNAP encapsulated, the client MUST 807 attempt to revalidate the entry by transmitting an InATMARP_Request 808 on that VC and updating the entry on receipt of an InATMARP_Reply. If 809 the InATMARP_Request attempt fails to return an InATMARP_Reply, the 810 SVC should be closed and the associated table entry removed. 812 If a VC with an associated invalidated ATMARP table entry is closed, 813 that table entry is removed. 815 8.5.2 Non-Normal VC Operations 817 The specific details on client procedures for detecting non-normal VC 818 connection establishment or closures, or failed communications on an 819 established VC are beyond the scope of this memo. It is REQUIRED 820 however, that the client MUST remove the associated ATMARP entry for 821 a VC that fails to operate properly, as defined by the client, when 822 the client closes that VC, when it releases its resources for a VC, 823 or prior to any attempt to reopen that VC. This behavior specifically 824 REQUIRES that the client MUST refresh its ATMARP table information 825 prior to any attempt to re-establish communication to an IP member 826 after a non-normal communications problem has occurred on a VC 827 previously to that IP member. 829 8.5.3 Use of ATMARP In Mobile-IP Scenarios 831 When an ATM LIS is used as the home network in a mobile-IP scenario, 832 it is RECOMMENDED that the home agent NOT maintain long term 833 connections with the ATMARP service. The absence of this VC will 834 permit a mobile node's registration, upon its return to the home 835 network, to immediately preempt the home agent's previous gratuitous 836 registration. 838 8.6 Address Resolution Server Selection 840 If the client supports PVCs only, the ATMARP server list is empty and 841 the client MUST not generate any address resolution requests other 842 than the InATMARP requests on a PVC needed to validate that PVC. 844 If the client supports SVCs, then the client MUST have an non-NULL 845 atm$arp-req-list pointing to the ATMARP server(s) which provide 846 ATMARP service for the LIS. 848 DRAFT Classical IP and ARP over ATM October 1997 850 The client MUST register with a server from atm$arp-req-list. 852 The client SHALL attempt to communicate with any of the servers until 853 a successful registration is accomplished. The order in which client 854 selects servers to attempt registration, is a local matter, as are 855 the number of retries and timeouts for such attempts. 857 8.6.1 PVCs to ATMARP Servers 859 In a mixed PVC and SVC LIS environment, an ATMARP client MAY have a 860 PVC to an ATMARP server. In this case, this PVC is used for ATMARP 861 requests and responses as if it were an established SVC. NOTE: if 862 this PVC is to be used for IP traffic, then the ATMARP server MUST be 863 prepared to accept and respond appropriately to InATMARP traffic. 865 8.7 ATMARP Packet Formats 867 Internet addresses are assigned independently of ATM addresses. Each 868 host implementation MUST know its own IP and ATM address(es) and MUST 869 respond to address resolution requests appropriately. IP members 870 MUST also use ATMARP and InATMARP to resolve IP addresses to ATM 871 addresses when needed. 873 NOTE: the ATMARP packet format presented in this memo is general in 874 nature in that the ATM number and ATM subaddress fields SHOULD map 875 directly to the corresponding UNI 3.1 fields used for ATM 876 call/connection setup signalling messages. The IP over ATM Working 877 Group expects ATM Forum NSAPA numbers (Structure 1) to predominate 878 over E.164 numbers (Structure 2) as ATM endpoint identifiers within 879 ATM LANs. The ATM Forum's VC Routing specification is not complete 880 at this time and therefore its impact on the operational use of ATM 881 Address Structure 3 is undefined. The ATM Forum will be defining this 882 relationship in the future. It is for this reason that IP members 883 need to support all three ATM address structures. 885 8.7.1 ATMARP/InATMARP Request and Reply Packet Formats 887 The ATMARP and InATMARP request and reply protocols use the same 888 hardware type (ar$hrd), protocol type (ar$pro), and operation code 889 (ar$op) data formats as the ARP and InARP protocols [3,12]. The 890 location of these three fields within the ATMARP packet are in the 891 same byte position as those in ARP and InARP packets. A unique 892 hardware type value has been assigned for ATMARP. In addition, 893 ATMARP makes use of an additional operation code for ARP_NAK. The 894 remainder of the ATMARP/InATMARP packet format is different than the 895 ARP/InARP packet format. 897 The ATMARP and InATMARP protocols have several fields that have the 899 DRAFT Classical IP and ARP over ATM October 1997 901 following format and values: 903 Data: 904 ar$hrd 16 bits Hardware type 905 ar$pro 16 bits Protocol type 906 ar$shtl 8 bits Type & length (TL) of source ATM number (q) 907 ar$sstl 8 bits Type & length (TL) of source ATM subaddress (r) 908 ar$op 16 bits Operation code (request, reply, or NAK) 909 ar$spln 8 bits Length of source protocol address (s) 910 ar$thtl 8 bits Type & length (TL) of target ATM number (x) 911 ar$tstl 8 bits Type & length (TL) of target ATM subaddress (y) 912 ar$tpln 8 bits Length of target protocol address (z) 913 ar$sha qoctets of source ATM number 914 ar$ssa roctets of source ATM subaddress 915 ar$spa soctets of source protocol address 916 ar$tha xoctets of target ATM number 917 ar$tsa yoctets of target ATM subaddress 918 ar$tpa zoctets of target protocol address 920 Where: 921 ar$hrd - assigned to ATM Forum address family and is 922 19 decimal (0x0013) [4]. 924 ar$pro - see Assigned Numbers for protocol type number for 925 the protocol using ATMARP. (IP is 0x0800). 927 ar$shtl - Type and length of source ATM number. See 928 Section 8.7.4 for TL encoding details. 930 ar$sstl - Type and length of source ATM subaddress. See 931 Section 8.7.4 for TL encoding details. 933 ar$op - The operation type value (decimal): 935 ATMARP_Request = ARP_REQUEST = 1 936 ATMARP_Reply = ARP_REPLY = 2 937 InATMARP_Request = InARP_REQUEST = 8 938 InATMARP_Reply = InARP_REPLY = 9 939 ATMARP_NAK = ARP_NAK = 10 941 ar$spln - length in octets of the source protocol address. Value 942 range is 0 or 4 (decimal). For IPv4 ar$spln is 4. 944 ar$thtl - Type and length of target ATM number. See 945 Section 8.7.4 for TL encoding details. 947 ar$tstl - Type and length of target ATM subaddress. See 948 Section 8.7.4 for TL encoding details. 950 DRAFT Classical IP and ARP over ATM October 1997 952 ar$tpln - length in octets of the target protocol address. Value 953 range is 0 or 4 (decimal). For IPv4 ar$tpln is 4. 955 ar$sha - source ATM number (E.164 or ATM Forum NSAPA) 957 ar$ssa - source ATM subaddress (ATM Forum NSAPA) 959 ar$spa - source protocol address 961 ar$tha - target ATM number (E.164 or ATM Forum NSAPA) 963 ar$tsa - target ATM subaddress (ATM Forum NSAPA) 965 ar$tpa - target protocol address 967 8.7.2 Receiving Unknown ATMARP packets 969 If an ATMARP client receives an ATMARP message with an operation code 970 (ar$op) for which it is not coded to support, it MUST gracefully 971 discard the message and continue normal operation. An ATMARP client 972 is NOT REQUIRED to return any message to the sender of the 973 unsupported message. 975 8.7.3 TL, ATM Number, and ATM Subaddress Encoding 977 The encoding of the 8-bit TL (type and length) fields in ATMARP and 978 In_ATMARP packets is as follows: 980 MSB 8 7 6 5 4 3 2 1 LSB 981 +-----+-----+-----+-----+-----+-----+-----+-----+ 982 | 0 | 1/0 | Octet length of address | 983 +-----+-----+-----+-----+-----+-----+-----+-----+ 985 Where: 986 bit.8 (reserved) = 0 (for future use) 988 bit.7 (type) = 0 ATM Forum NSAPA format 989 = 1 E.164 format 991 bit.6-1 (length) = 6 bit unsigned octet length of address 992 (MSB = bit.6, LSB = bit.1) Value 993 range is from 0 to 20 (decimal). 995 ATM addresses, as defined by the ATM Forum UNI 3.1 signaling 996 specification [9], include a "Calling Party Number Information 997 Element" and a "Calling Party Subaddress Information Element". These 998 Information Elements (IEs) SHOULD map to ATMARP/InATMARP source ATM 1000 DRAFT Classical IP and ARP over ATM October 1997 1002 number and source ATM subaddress respectively. Furthermore, ATM Forum 1003 defines a "Called Party Number Information Element" and a "Called 1004 Party Subaddress Information Element". These IEs map to 1005 ATMARP/InATMARP target ATM number and target ATM subaddress 1006 respectively. 1008 The ATM Forum defines three structures for the combined use of number 1009 and subaddress [9]: 1011 ATM Number ATM Subaddress 1012 -------------- -------------- 1013 Structure 1 ATM Forum NSAPA null 1014 Structure 2 E.164 null 1015 Structure 3 E.164 ATM Forum NSAPA 1017 ATMARP and InATMARP requests and replies for ATM address structures 1 1018 and 2 MUST indicate a null or unknown ATM subaddress by setting the 1019 appropriate subaddress length to zero; i.e. ar$sstl.length = 0 or 1020 ar$tstl.length = 0, the corresponding type field (ar$sstl.type or 1021 ar$tstl.type) MUST be ignored and the physical space for the ATM 1022 subaddress buffer MUST not be allocated in the ATMARP packet. For 1023 example, if ar$sstl.length=0, the storage for the source ATM 1024 subaddress is not allocated and the first byte of the source protocol 1025 address ar$spa follows immediately after the last byte of the source 1026 hardware address ar$sha in the packet. 1028 Null or unknown ATM addresses are MUST be indicated by setting the 1029 appropriate address length to zero; i.e., ar$shtl.length and 1030 ar$thtl.length is zero and the corresponding type field (ar$sstl.type 1031 or ar$tstl.type) MUST be ignored and the physical space for the ATM 1032 address or ATM subaddress buffer MUST not be allocated in the ATMARP 1033 packet. 1035 8.7.4 ATMARP_NAK Packet Format 1037 The ATMARP_NAK packet format is the same as the received 1038 ATMARP_Request packet format with the operation code set to ARP_NAK, 1039 i.e., the ATMARP_Request packet data is exactly copied (e.g. using 1040 bcopy) for transmission with the ATMARP_Request operation code 1041 changed to ARP_NAK value. 1043 8.7.5 Variable Length Requirements for ATMARP Packets 1045 ATMARP and InATMARP packets are variable in length. 1047 A null or unknown source or target protocol address is indicated by 1048 the corresponding length set to zero: e.g., when ar$spln or ar$tpln 1049 is zero the physical space for the corresponding address structure 1051 DRAFT Classical IP and ARP over ATM October 1997 1053 MUST not be allocated in the packet. 1055 For backward compatibility with previous implementations, a null IPv4 1056 protocol address may be received with length = 4 and an allocated 1057 address in storage set to the value 0.0.0.0. Receiving stations MUST 1058 be liberal in accepting this format of a null IPv4 address, however 1059 on transmitting an ATMARP or InATMARP packet, a null IPv4 address 1060 MUST only be indicated by the length set to zero and MUST have no 1061 storage allocated. 1063 8.8 ATMARP/InATMARP Packet Encapsulation 1065 ATMARP and InATMARP packets are to be encoded in AAL5 PDUs using 1066 LLC/SNAP encapsulation. The format of the AAL5 CPCS-SDU payload field 1067 for ATMARP/InATMARP PDUs is: 1069 Payload Format for ATMARP/InATMARP PDUs: 1070 +------------------------------+ 1071 | LLC 0xAA-AA-03 | 1072 +------------------------------+ 1073 | OUI 0x00-00-00 | 1074 +------------------------------+ 1075 | Ethertype 0x08-06 | 1076 +------------------------------+ 1077 | | 1078 | ATMARP/InATMARP Packet | 1079 | | 1080 +------------------------------+ 1082 The LLC value of 0xAA-AA-03 (3 octets) indicates the presence of a 1083 SNAP header. 1085 The OUI value of 0x00-00-00 (3 octets) indicates that the following 1086 two-bytes is an ethertype. 1088 The Ethertype value of 0x08-06 (2 octets) indicates ARP [4]. 1090 The total size of the LLC/SNAP header is fixed at 8-octets. This 1091 aligns the start of the ATMARP packet on a 64-bit boundary relative 1092 to the start of the AAL5 CPCS-SDU. 1094 The LLC/SNAP encapsulation for ATMARP/InATMARP presented here is 1095 consistent with the treatment of multiprotocol encapsulation of IP 1096 over ATM AAL5 as specified in [2] and in the format of ATMARP over 1097 IEEE 802 networks as specified in [5]. 1099 Traditionally, address resolution requests are broadcast to all 1100 directly connected IP members within a LIS. It is conceivable in the 1102 DRAFT Classical IP and ARP over ATM October 1997 1104 future that larger scaled ATM networks may handle ATMARP requests to 1105 destinations outside the originating LIS, perhaps even globally; 1106 issues raised by ATMARPing outside the LIS or by a global ATMARP 1107 mechanism are beyond the scope of this memo. 1109 9. IP BROADCAST ADDRESS 1111 ATM does not support broadcast addressing, therefore there are no 1112 mappings available from IP broadcast addresses to ATM broadcast 1113 services. Note: this lack of mapping does not restrict members from 1114 transmitting or receiving IP datagrams specifying any of the four 1115 standard IP broadcast address forms as described in [8]. Members, 1116 upon receiving an IP broadcast or IP subnet broadcast for their LIS, 1117 MUST process the packet as if addressed to that station. 1119 This memo recognizes the future development of standards and 1120 implementations that will extend the operations as defined in this 1121 memo to provide an IP broadcast capability for use by the classical 1122 client. 1124 10. IP MULTICAST ADDRESS 1126 ATM does not directly support IP multicast address services, 1127 therefore there are no mappings available from IP multicast addresses 1128 to ATM multicast services. Current IP multicast implementations 1129 (i.e., MBONE and IP tunneling, see [10]) will continue to operate 1130 over ATM based logical IP subnets if operated in the WAN 1131 configuration. 1133 This memo recognizes the future development of ATM multicast service 1134 addressing by the ATM Forum. When available and widely implemented, 1135 the roll-over from the current IP multicast architecture to this new 1136 ATM architecture will be straightforward. 1138 This memo recognizes the future development of standards and 1139 implementations that will extend the operations as defined in this 1140 memo to provide an IP multicast capability for use by the classical 1141 client. 1143 11. SECURITY 1145 Not all of the security issues relating to IP over ATM are clearly 1146 understood at this time, due to the fluid state of ATM 1147 specifications, newness of the technology, and other factors. 1149 It is believed that ATM and IP facilities for authenticated call 1150 management, authenticated end-to-end communications, and data 1151 encryption will be needed in globally connected ATM networks. Such 1153 DRAFT Classical IP and ARP over ATM October 1997 1155 future security facilities and their use by IP networks are beyond 1156 the scope of this memo. 1158 There are known security issues relating to host impersonation via 1159 the address resolution protocols used in the Internet [13]. No 1160 special security mechanisms have been added to the address resolution 1161 mechanism defined here for use with networks using IP over ATM. 1163 12. MIB SPECIFICATION 1165 Clients built to this specification MUST implement and provide a 1166 Management Information Base (MIB) as defined in "Definitions of 1167 Managed Objects for Classical IP and ARP Over ATM Using SMIv2" [18]. 1169 13. OPEN ISSUES 1171 o Automatic configuration of client ATM addresses via DHCP [15] or 1172 via ATM UNI 3.1 Interim Local Management Interface (ILMI) 1173 services would be a useful extended service addition to this 1174 document and should be addressed in a separate memo. 1176 o ATMARP packets are not authenticated. This is a potentially 1177 serious flaw in the overall system by allowing a mechanism by 1178 which corrupt information may be introduced into the server 1179 system. 1181 14. REFERENCES 1183 [1] Piscitello, D., and Lawrence, J., "IP and ARP over the SMDS 1184 Service", RFC-1209, USC/Information Sciences Institute, March 1185 1991. 1187 [2] Heinanen, Juha, "Multiprotocol Encapsulation over ATM Adaptation 1188 Layer 5", RFC-1483, USC/Information Sciences Institute, July 1189 1993. 1191 [3] Plummer, D., "An Ethernet Address Resolution Protocol - or - 1192 Converting Network Addresses to 48.bit Ethernet Address for 1193 Transmission on Ethernet Hardware", RFC-826, MIT, November 1982. 1195 [4] Reynolds, J., and Postel, J., "Assigned Numbers", RFC-1340, USC/ 1196 Information Sciences Institute, July 1992. 1198 [5] Postel, J., and Reynolds, J., "A Standard for the Transmission of 1199 IP Datagrams over IEEE 802 Networks", RFC-1042, USC/Information 1200 Sciences Institute, February 1988. 1202 DRAFT Classical IP and ARP over ATM October 1997 1204 [6] CCITT, "Draft Recommendation I.363", CCITT Study Group XVIII, 1205 Geneva, 19-29 January 1993. 1207 [7] CCITT, "Draft text for Q.93B", CCITT Study Group XI, 23 September 1208 - 2 October 1992. 1210 [8] Braden, R., "Requirements for Internet Hosts -- Communication 1211 Layers", RFC-1122, USC/Information Sciences Institute, October 1212 1989. 1214 [9] ATM Forum, "ATM User-Network Interface (UNI) Specification 1215 Version 3.1.", ISBN 0-13-393828-X, Prentice-Hall, Inc., Upper 1216 Saddle River, NJ, 07458, September, 1994. 1218 [10] Deering, S, "Host Extensions for IP Multicasting", RFC-1112, 1219 USC/Information Sciences Institute, August 1989. 1221 [11] Colella, Richard, and Gardner, Ella, and Callon, Ross, 1222 "Guidelines for OSI NSAP Allocation in the Internet", RFC-1237, 1223 USC/Information Sciences Institute, July 1991. 1225 [12] Bradely, T., and Brown, C., "Inverse Address Resolution 1226 Protocol", RFC-1293, USC/Information Sciences Institute, January 1227 1992. 1229 [13] Bellovin, Steven M., "Security Problems in the TCP/IP Protocol 1230 Suite", ACM Computer Communications Review, Vol. 19, Issue 2, pp. 1231 32-48, 1989. 1233 [14] Knowles, S., "IESG Advice from Experience with Path MTU 1234 Discovery, RFC-1435, IESG, March 1993. 1236 [15] Droms, R., "Dynamic Host Configuration Protocol", RFC1541, 1237 Bucknell University, October 1993. 1239 [16] Kent C., and J. Mogul, "Fragmentation Considered Harmful", 1240 Proceedings of the ACM SIGCOMM '87 Workshop on Frontiers in 1241 Computer Communications Technology, August 1987. 1243 [17] Mogul, J., and S. Deering, "Path MTU Discovery", RFC-1191, 1244 DECWRL, Stanford University, November 1990. 1246 [18] Green, M., Luciani, J., White, K., Kuo, T., "Definitions of 1247 Managed Objects for Classical IP and ARP over ATM Using SMIv2", 1248 IETF, draft-ietf-ipatm-mib-01 (work in progress), February, 1996. 1250 DRAFT Classical IP and ARP over ATM October 1997 1252 [19] ATM Forum, "ATM User-Network Interface (UNI) Specification 1253 Version 4.0", ATM Forum specfication afsig-0061.000, 1254 ftp://ftp.atmforum.com/, July, 1996. 1256 [20] Bradner, S., "Key words for use in RFCs to Indicate Requirement 1257 Levels", RFC2119, Harvard University, March 1997. 1259 15. AUTHORS 1261 Mark Laubach 1262 Com21, Inc. 1263 750 Tasman Drive 1264 Milpitas, CA 95035 1266 Phone: 408.953.9175 1267 FAX: 408.953.9299 1268 EMail: laubach@com21.com 1270 Joel Halpern 1271 Newbridge Networks, Inc. 1272 593 Herndon Parkway 1273 Herndon, VA 22070-5241 1275 Phone: 703.736.5954 1276 FAX: 703.736.5959 1277 EMail: jhalpern@Newbridge.com 1279 DRAFT Classical IP and ARP over ATM October 1997 1281 APPENDIX A - Update Information 1283 This draft represents an update to RFC-1577 and RFC-1626. The 1284 following changes are included in this memo: 1286 o Pointer to Classical MIB I-D for setting of variables 1288 o Single ATMARP server address to ATMARP server list, configurable 1289 via the MIB. 1291 o RFC1626 text replaces MTU section 1293 o Client registration procedure from In_ATMARP to first 1294 ATMARP_Request 1296 o Clarification of variable length ATMARP packet format 1298 o Clarification of ARP_NAK packet format 1300 o Clarification of InATMARP packet format for null IPv4 addresses 1302 o Clarification on ATMARP registration and use of InATMARP_Reply 1303 for clients having more than one IP address in a LIS