RFC 2225

Classical IP and ARP over ATM

๐Ÿ“… published April 1998, from ietf

RFC 2225: Classical IP and ARP over ATM ๐Ÿฆ‹

okay so bestie, this one is from April 1998 ๐Ÿ“… and it was written by M. Laubach (Com21, Inc.) and J. Halpern (Newbridge Networks, Inc.) ๐Ÿ’… It's a Standards Track doc, so it's an actual Internet standards track protocol spec โœจ It obsoletes RFC 1626 and RFC 1577, and it doesn't list anything it updates ๐ŸŽ€


Status of this Memo ๐Ÿ“œ

this doc specifies an Internet standards track protocol for the Internet community, and it's literally asking for discussion and suggestions for improvements ๐Ÿ’ฌ for the standardization state and status of this protocol, check the current edition of the "Internet Official Protocol Standards" (STD 1) ๐Ÿ” distribution of this memo is unlimited ๐ŸŒธ

Copyright (C) The Internet Society (1998). All Rights Reserved.

Table of Contents ๐Ÿ—‚๏ธ

1. ABSTRACT  . . . . . . . . . . . . . . . . . . . . . . . . . .  2
2. ACKNOWLEDGMENT  . . . . . . . . . . . . . . . . . . . . . . .  2
3. CONVENTIONS . . . . . . . . . . . . . . . . . . . . . . . . .  3
4. INTRODUCTION  . . . . . . . . . . . . . . . . . . . . . . . .  3
5. IP SUBNETWORK CONFIGURATION . . . . . . . . . . . . . . . . .  6
5.1  Background  . . . . . . . . . . . . . . . . . . . . . . . .  6
5.2  LIS Configuration Requirements  . . . . . . . . . . . . . .  7
5.3  LIS Router Additional Configuration . . . . . . . . . . . .  8
6. IP PACKET FORMAT  . . . . . . . . . . . . . . . . . . . . . .  8
7. DEFAULT VALUE FOR IP MTU OVER ATM AAL5  . . . . . . . . . . .  9
7.1  Permanent Virtual Circuits  . . . . . . . . . . . . . . . .  9
7.2  Switched Virtual Circuits . . . . . . . . . . . . . . . . .  9
7.3  Path MTU Discovery Required . . . . . . . . . . . . . . . . 11
8. LIS ADDRESS RESOLUTION SERVICES . . . . . . . . . . . . . . . 11
8.1  ATM-based ARP and InARP Equivalent Services . . . . . . . . 11
8.2  Permanent Virtual Connections . . . . . . . . . . . . . . . 12
8.3  Switched Virtual Connections  . . . . . . . . . . . . . . . 12
8.4  ATMARP Single Server Operational Requirements . . . . . . . 13
8.5  ATMARP Client Operational Requirements  . . . . . . . . . . 14
8.5.1  Client ATMARP Table Aging . . . . . . . . . . . . . . . . 16
8.5.2  Non-Normal VC Operations  . . . . . . . . . . . . . . . . 17
8.5.3  Use of ATM ARP in Mobile-IP Scenarios . . . . . . . . . . 17
8.6  Address Resolution Server Selection . . . . . . . . . . . . 17
8.6.1  PVCs to ATMARP Servers  . . . . . . . . . . . . . . . . . 18
8.7  ATMARP Packet Formats . . . . . . . . . . . . . . . . . . . 18
8.7.1  ATMARP/InATMARP Request and Reply Packet Formats  . . . . 18
8.7.2  Receiving Unknown ATMARP packets  . . . . . . . . . . . . 20
8.7.3  TL, ATM Number, and ATM Subaddress Encoding . . . . . . . 20
8.7.4  ATMARP_NAK Packet Format  . . . . . . . . . . . . . . . . 21
8.7.5  Variable Length Requirements for ATMARP Packets . . . . . 21
8.8  ATMARP/InATMARP Packet Encapsulation  . . . . . . . . . . . 22
9. IP BROADCAST ADDRESS  . . . . . . . . . . . . . . . . . . . . 23
10. IP MULTICAST ADDRESS . . . . . . . . . . . . . . . . . . . . 23
11. SECURITY CONSIDERATIONS  . . . . . . . . . . . . . . . . . . 23
12. MIB SPECIFICATION  . . . . . . . . . . . . . . . . . . . . . 24
13. OPEN ISSUES  . . . . . . . . . . . . . . . . . . . . . . . . 24
14. REFERENCES . . . . . . . . . . . . . . . . . . . . . . . . . 24
15. AUTHORS' ADDRESSES . . . . . . . . . . . . . . . . . . . . . 26
APPENDIX A - Update Information  . . . . . . . . . . . . . . . . 27
FULL COPYRIGHT STATEMENT . . . . . . . . . . . . . . . . . . . . 28

1. ABSTRACT ๐ŸŒˆ

okay so this memo defines the first application of classical IP and ARP in an Asynchronous Transfer Mode (ATM) network environment, set up as a Logical IP Subnetwork (LIS) as described in Section 5 ๐Ÿฆ‹ it doesn't block ATM from growing into other areas tho. like, as single ATM networks grow to replace many Ethernet local LAN segments and become globally connected, IP and ARP are gonna get treated differently ๐Ÿ‘€

this memo only looks at ATM as a direct replacement for the "wires" and local LAN segments that connect IP end-stations ("members") and routers in the "classical" LAN-based paradigm ๐Ÿ’… issues from MAC level bridging and LAN emulation are out of scope for this paper ๐Ÿ™…

this memo introduces general ATM tech and nomenclature ๐Ÿ“š readers are encouraged to check out the ATM Forum and ITU-TS (formerly CCITT) references for way more detail on ATM implementation agreements and standards โœจ

2. ACKNOWLEDGMENT ๐Ÿซถ

the authors want to give a huge shoutout to the IP over ATM Working Group of the IETF ๐Ÿ’– without their substantial, and sometimes contentious, support of the Classical IP over ATM model, this updated memo literally wouldn't exist ๐Ÿ˜ญ Section 7, on Default MTU, was incorporated directly from Ran Atkinson's RFC 1626, with his permission ๐ŸŽ€ thanks also to Andy Malis for an early review and comments for rolc and ion related issues ๐ŸŒธ

3. CONVENTIONS ๐Ÿงš

the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [20] ๐Ÿ“–๐Ÿ’œ

4. INTRODUCTION โœจ

Okay bestie, so the goal here is to make sure every implementation can talk to every other one ๐Ÿซถ. That means sending IP datagrams and ATM Address Resolution Protocol (ATMARP) requests and replies over ATM Adaptation Layer 5 (AAL5)[2,6]. Iykyk ๐Ÿ’…

This memo lays down the stable foundation baseline operational model that will always be available in IP and ARP over ATM implementations. Later memos will build on and refine this model ๐Ÿฆ‹. But if those extensions are missing or break, everything falls back to what's in this memo, so this memo won't reference those other extensions. Clean.

This memo is only about how IP and address resolution work over ATM. It is not describing how ATM networks themselves operate, and that's not its job ๐Ÿ™ˆ. Anytime it says virtual connections, permanent virtual connections, or switched virtual connections, it only means the virtual channel connections used for IP and address resolution over ATM, which are assumed to be using AAL5. This memo doesn't put any rules on virtual connections used for other stuff.

Initial ATM deployment is basically a LAN segment replacement for:

  1. Local area networks (e.g., Ethernets, Token Rings and FDDI).
  2. Local-area backbones between existing (non-ATM) LANs.
  3. Dedicated circuits or frame relay PVCs between IP routers.

NOTE: For item 1, local IP routers with one or more ATM interfaces can connect islands of ATM networks. For item 3, public or private ATM Wide Area networks will be used to connect IP routers, which in turn may or may not connect to local ATM networks. ATM WANs and LANs may be interconnected.

Private ATM networks (local or wide area) will use the private ATM address structure from the ATM Forum UNI 3.1 specification [9], or the one in the ATM Forum UNI 4.0 specification [19]. That structure is modeled after the format of an OSI Network Service Access Point Address (NSAPA). A private ATM address uniquely identifies an ATM endpoint.

Public networks use either the address structure in ITU-TS recommendation E.164, or the private network ATM address structure. An E.164 address uniquely identifies an interface to a public network.

ATM is pretty different from LANs, and here's how:

  • ATM gives you a Virtual Connection (VC) switched environment. VC setup can be done on a Permanent Virtual Connection (PVC) or a dynamic Switched Virtual Connection (SVC) basis. SVC call management signalling is done via implementations of the UNI 3.1 protocol [7,9].
  • Data sent over a VC gets chopped up into 53 octet quantities called cells (5 octets of ATM header and 48 octets of data).
  • Mapping user Protocol Data Units (PDUs) into the information field of the ATM cell, and back again, is handled by the ATM Adaptation Layer (AAL). When a VC is created, a specific AAL type gets attached to it. There are four AAL types, referred to individually as "AAL1", "AAL2", "AAL3/4", and "AAL5". (NOTE: this memo is only about mapping IP and ATMARP over AAL5. The other AAL types are only mentioned for introductory purposes.) VC end points know the AAL type through the call setup mechanism, and it is not carried in the ATM cell header. For PVCs, the AAL type is administratively configured at the end points when the Connection (circuit) is set up. For SVCs, the AAL type is communicated along the VC path via UNI 3.1 as part of call setup establishment, and the end points use that signaled information for configuration. ATM switches generally don't care about the AAL type of VCs. The AAL5 format specifies a packet format with a maximum size of (64K - 1) octets of user data. Cells for an AAL5 PDU are transmitted first to last, with the last cell indicating the end of the PDU. ATM standards guarantee that on a given VC, cell ordering is preserved end-to-end. NOTE: AAL5 provides a non-assured data transfer service. It's up to higher-level protocols to provide retransmission.
  • ATM Forum signaling defines point-to-point and point-to-point Connection setup [9, 19.] Multipoint-to-multipoint is not yet specified by ITU-TS or ATM Forum.

An ATM Forum ATM address is either encoded as an NSAP form ATM EndSystem Address (AESA), or it is an E.164 Public-UNI address [9, 19]. In some cases, an ATMARP client needs both an AESA and an E.164 Public UNI address to reach another host or router.

Since AESAs and E.164 public UNI addresses are used by ATMARP the same way Ethernet addresses are, the notion of "hardware address" gets extended to cover ATM addresses in the context of ATMARP, even though ATM addresses don't need hardware significance. ATM Forum NSAP format addresses (AESA) use the same basic format as U.S. GOSIP OSI NSAPAs [11]. NOTE: ATM Forum addresses should not be construed as U.S. GOSIP NSAPAs. They aren't. The administration is different, which fields get filled out is different, etc. However, in this document, these will be referred to as NSAPAs.

This memo describes the initial deployment of ATM within "classical" IP networks, as a direct replacement for local area networks (Ethernets) and for IP links which interconnect routers, either within or between administrative domains. The "classical" model here refers to treating the ATM host adapter as a networking interface to the IP protocol stack, operating in a LAN-based paradigm.

Here are the characteristics of the classical model:

  • The same maximum transmission unit (MTU) size is the default for all VCs in a LIS. However, on a VC-by-VC point-to-point basis, the MTU size may be negotiated during connection setup using Path MTU Discovery, to better suit the needs of the cooperating pair of IP members or the attributes of the communications path. (Refer to Section 7.3)
  • Default LLC/SNAP encapsulation of IP packets.
  • End-to-end IP routing architecture stays the same.
  • IP addresses are resolved to ATM addresses by use of an ATMARP service within the LIS. ATMARPs stay within the LIS. From a client's perspective, the ATMARP architecture stays faithful to the basic ARP model presented in [3].
  • One IP subnet is used for many hosts and routers. Each VC directly connects two IP members within the same LIS.

Future memos will describe the operation of IP over ATM when ATM networks become globally deployed and interconnected.

The deployment of ATM into the Internet community is just beginning and will take many years to complete. During the early part of this period, we expect deployment to follow traditional IP subnet boundaries, for the following reasons:

  • Administrators and managers of IP subnetworks will tend to initially follow the same models they currently have deployed. The mindset of the community will change slowly over time as ATM increases its coverage and builds its credibility.
  • Policy administration practices rely on the security, access, routing, and filtering capability of IP Internet gateways, i.e., firewalls. ATM will not be allowed to "back-door" around these mechanisms until ATM provides better management capability than the existing services and practices.
  • Standards for global IP over ATM will take some time to complete and deploy.

This memo details the treatment of the classical model of IP and ATMARP over ATM. It does not preclude the subsequent treatment of ATM networks within the IP framework as ATM becomes globally deployed and interconnected. That will be the subject of future documents. This memo does not address issues related to transparent data link layer interoperability.


5. IP SUBNETWORK CONFIGURATION ๐ŸŒธ

5.1 Background

In the LIS scenario, each separate administrative entity configures its hosts and routers within a LIS. Each LIS operates and communicates independently of other LISs on the same ATM network.

In the classical model, hosts communicate directly via ATM to other hosts within the same LIS, using the ATMARP service as the mechanism for resolving target IP addresses to target ATM endpoint addresses. The ATMARP service has LIS scope only and serves all hosts in the LIS. Communication to hosts located outside of the local LIS is provided via an IP router. This router is an ATM endpoint attached to the ATM network that is configured as a member of one or more LISs. This configuration MAY result in a number of disjoint LISs operating over the same ATM network. Using this model, hosts of differing IP subnets MUST communicate via an intermediate IP router, even though it may be possible to open a direct VC between the two IP members over the ATM network.

By default, the ATMARP service and the classical LIS routing model MUST be available to any IP member client in the LIS.

5.2 LIS Configuration Requirements โœจ

Okay bestie, here's what IP members (hosts and routers) need to be doing when they're hanging out in an ATM LIS ๐Ÿฆ‹

  • All members of the LIS have the same IP network/subnet number and address mask [8].
  • All members within a LIS are directly connected to the ATM network. ๐Ÿ”Œ
  • All members of a LIS MUST have a mechanism for resolving IP addresses to ATM addresses via ATMARP (based on [3]) and vice versa via InATMARP (based on [12]) when using SVCs. Peep Section 8 "LIS ADDRESS RESOLUTION SERVICES" in this memo for the deets ๐Ÿ’…
  • All members of a LIS MUST have a mechanism for resolving VCs to IP addresses via InATMARP (based on [12]) when using PVCs. Refer to Section 8 "LIS ADDRESS RESOLUTION SERVICES" in this memo.
  • All members within a LIS MUST be able to communicate via ATM with all other members in the same LIS; i.e., the Virtual Connection topology underlying the intercommunication among the members is fully meshed. Everyone talks to everyone, no exceptions ๐Ÿซถ

The following list identifies the set of ATM specific parameters that MUST be implemented in each IP station connected to the ATM network. These are the non-negotiables ๐Ÿ”ฅ

  • ATM Hardware Address (atm$ha). The ATM address of the individual IP station.
  • ATMARP Request Address list (atm$arp-req-list): atm$arp-req-list is a list containing one or more ATM addresses of individual ATMARP servers located within the LIS. In an SVC environment, ATMARP servers are used to resolve target IP addresses to target ATM address via an ATMARP request and reply protocol. ATMARP servers MUST have authoritative responsibility for resolving ATMARP requests of all IP members using SVCs located within the LIS. The server is the main character here ๐Ÿ‘‘

A LIS MUST have a single ATMARP service entry configured and available to all members of the LIS who use SVCs.

In the case where there is only a single ATMARP server within the LIS, then all ATMARP clients MUST be configured identically to have only one non-null entry in atm$arp-req-list configured with the same address of the single ATMARP service. Matching setups only, bestie ๐ŸŽ€

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. PVC-only members sit this one out ๐ŸŒธ

Within the restrictions mentioned above and in Section 8, local administration MUST decide which server address(es) are appropriate for atm$arp-req-list.

By default, atm$arp-req-list MUST be configured using the MIB [18].

Manual configuration of the addresses and address lists presented in this section is implementation dependent and beyond the scope of this document; i.e., this memo does not require any specific configuration method. This memo does require that these addresses MUST be configured completely on the client, as appropriate for the LIS, prior to use by any service or operation detailed in this memo. So basically, set it all up before you start doing anything ๐Ÿงš


5.3 LIS Router Additional Configuration ๐ŸŒˆ

It is RECOMMENDED that routers providing LIS functionality over the ATM network also support the ability to interconnect multiple LISs. Routers that wish to provide interconnection of differing LISs MUST be able to support multiple sets of these parameters (one set for each connected LIS) and be able to associate each set of parameters to a specific IP network/ subnet number. In addition, it is RECOMMENDED that a router be able to provide this multiple LIS support with a single physical ATM interface that may have one or more individual ATM endpoint addresses. Routers really said "one interface, many LISs" and we love a multitasker ๐Ÿ’…

NOTE: this does not necessarily mean different End System Identifiers (ESIs) when NSAPAs are used. The last octet of an NSAPA is the NSAPA Selector (SEL) field which can be used to differentiate up to 256 different LISs for the same ESI. (Refer to Section 5.1.3.1, "Private Networks" in [9].) ๐Ÿ™ˆ

6. IP PACKET FORMAT ๐Ÿ“ฆ

Implementations MUST support IEEE 802.2 LLC/SNAP encapsulation as described in [2]. LLC/SNAP encapsulation is the default packet format for IP datagrams. Main default, no drama ๐Ÿ’–

This memo recognizes that other encapsulation methods may be used however, in the absence of other knowledge or agreement, LLC/SNAP encapsulation is the default. Other formats are allowed to show up, but LLC/SNAP is still the fallback ๐Ÿฆ‹

This memo recognizes that end-to-end signaling within ATM may allow negotiation of encapsulation method on a per-VC basis. So the encapsulation can be picked per circuit if the signaling supports it โœจ


7. DEFAULT VALUE FOR IP MTU OVER ATM AAL5 ๐Ÿ“

Protocols in wide use throughout the Internet, such as the Network File System (NFS), currently use large frame sizes (e.g., 8 KB). Empirical evidence with various applications over the Transmission Control Protocol (TCP) indicates that larger Maximum Transmission Unit (MTU) sizes for the Internet Protocol (IP) tend to give better performance. Fragmentation of IP datagrams is known to be highly undesirable [16]. It is desirable to reduce fragmentation in the network and thereby enhance performance by having the IP Maximum Transmission Unit (MTU) for AAL5 be reasonably large. NFS defaults to an 8192 byte frame size. Allowing for RPC/XDR, UDP, IP, and LLC headers, NFS would prefer a default MTU of at least 8300 octets. Routers can sometimes perform better with larger packet sizes because most of the performance costs in routers relate to "packets handled" rather than "bytes transferred". So, there are a number of good reasons to have a reasonably large default MTU value for IP over ATM AAL5. Big packets, big vibes ๐Ÿ”ฅ

RFC 1209 specifies the IP MTU over SMDS to be 9180 octets, which is larger than 8300 octets but still in the same range [1]. There is no good reason for the default MTU of IP over ATM AAL5 to be different from IP over SMDS, given that they will be the same magnitude. Having the two be the same size will be helpful in interoperability and will also help reduce incidence of IP fragmentation. Same size, same squad ๐Ÿ‘ฏโ€โ™€๏ธ

Therefore, the default IP MTU for use with ATM AAL5 shall be 9180 octets. All implementations compliant and conformant with this specification shall support at least the default IP MTU value for use over ATM AAL5. 9180 is the official number, periodt ๐Ÿ‘‘


7.1 Permanent Virtual Circuits ๐ŸŒธ

Implementations which only support Permanent Virtual Circuits (PVCs) will (by definition) not implement any ATM signalling protocol. Such implementations shall use the default IP MTU value of 9180 octets unless both parties have agreed in advance to use some other IP MTU value via some mechanism not specified here. No signalling, so it's 9180 unless you two have pinky-promised something else ๐Ÿซถ


7.2 Switched Virtual Circuits ๐Ÿฆ‹

Implementations that support Switched Virtual Circuits (SVCs) MUST attempt to negotiate the AAL CPCS-SDU size using the ATM signalling protocol. The industry standard ATM signalling protocol uses two different parts of the Information Element named "AAL Parameters" to exchange information on the MTU over the ATM circuit being setup [9]. The Forward Maximum CPCS-SDU Size field contains the value over the path from the calling party to the called party. The Backwards Maximum CPCS-SDU Size Identifier field contains the value over the path from the called party to the calling party. The ATM Forum specifies the valid values of this identifier as 1 to 65535 inclusive. Note that the ATM Forum's User-to-Network-Interface (UNI) signalling permits the MTU in one direction to be different from the MTU in the opposite direction, so the Forward Maximum CPCS-SDU Size Identifier might have a different value from the Backwards Maximum CPCS-SDU Size Identifier on the same connection. Two directions, two different MTUs, it's giving asymmetric ๐Ÿ’…

If the calling party wishes to use the default MTU it shall still include the "AAL Parameters" information element with the default values for the Maximum CPCS-SDU Size as part of the SETUP message of the ATM signalling protocol [9]. If the calling party desires to use a different value than the default, it shall include the "AAL Parameters" information element with the desired value for the Maximum CPCS-SDU Size as part of the SETUP message of the ATM Signalling Protocol. The called party will respond using the same information elements and identifiers in its CONNECT message response [9].

If the called party receives a SETUP message containing the "Maximum CPCS-SDU Size" in the AAL Parameters information element, it shall handle the Forward and Backward Maximum CPCS-SDU Size Identifier as follows:

a) If it is able to accept the ATM MTU values proposed by the SETUP message, it shall include an AAL Parameters information element in its response. The Forward and Backwards Maximum CPCS-SDU Size fields shall be present and their values shall be equal to the corresponding values in the SETUP message. Easy yes, same numbers back โœจ

b) If it wishes a smaller ATM MTU size than that proposed, then it shall set the values of the Maximum CPCS-SDU Size in the AAL Parameters information elements equal to the desired value in the CONNECT message responding to the original SETUP message. Counteroffer time ๐Ÿ™ˆ

c) If the calling endpoint receives a CONNECT message that does not contain the AAL Parameters Information Element, but the corresponding SETUP message did contain the AAL Parameters Information element (including the forward and backward CPCS-SDU Size fields), it shall clear the call with cause "AAL Parameters cannot be supported". No AAL Parameters back? The call gets cleared ๐Ÿ’€

d) If either endpoint receives a STATUS message with cause "Information Element Non-existent or Not Implemented" or cause "Access Information Discarded", and with a diagnostic field indicating the AAL Parameters Information Element identifier, it shall clear the call with cause "AAL Parameters cannot be supported." Same energy, different message ๐ŸŒˆ

e) If either endpoint receives CPCS-SDUs in excess of the negotiated MTU size, it may use IP fragmentation or may clear the call with cause "AAL Parameters cannot be supported". In this case, an error has occurred either due to a fault in an end system or in the ATM network. The error should be noted by ATM network management for human examination and intervention. Oversized frames mean something's broken, so flag it for the humans ๐Ÿ”

If the called endpoint incorrectly includes the Forward and Backward Maximum CPCS-SDU Size fields in the CONNECT messages (e.g., because the original SETUP message did not include these fields) or it sets these fields to an invalid value, then the calling party shall clear the call with cause "Invalid Information Element Contents". Wrong fields in the CONNECT? Call's cleared, bestie ๐Ÿšซ


7.3 Path MTU Discovery Required ๐Ÿงš

The Path MTU Discovery mechanism is Internet Standard RFC 1191 [17] and is an important mechanism for reducing IP fragmentation in the Internet. This mechanism is particularly important because new subnet ATM uses a default MTU sizes significantly different from older subnet technologies such as Ethernet and FDDI.

In order to ensure good performance throughout the Internet and also to permit IP to take full advantage of the potentially larger IP datagram sizes supported by ATM, all router implementations that comply or conform with this specification must also implement the IP Path MTU Discovery mechanism as defined in RFC 1191 and clarified by RFC 1435 [14]. Host implementations should implement the IP Path MTU Discovery mechanism as defined in RFC 1191. Routers get the full PMTUD package, hosts are strongly encouraged to vibe with it too ๐ŸŒธ


8. LIS ADDRESS RESOLUTION SERVICES โœจ

8.1. ATM-based ARP and InARP Equivalent Services

Okay so address resolution inside an ATM LIS SHALL make use of ATMARP ๐Ÿ’– (based on [3]) and InATMARP ๐Ÿฆ‹ (based on [12]), as defined in this memo. ATMARP is basically the same protocol as ARP in [3], just with extra stuff added so it can handle address resolution in a unicast server ATM environment ๐ŸŽ€. InATMARP is the original InARP protocol from [12], just applied to ATM networks โœจ. Every IP station MUST support these protocols as updated and extended in this memo ๐Ÿซถ. How you use them depends on whether you're on PVCs or SVCs, so it's giving two different vibes ๐Ÿ’….

8.2. Permanent Virtual Connections

An IP station MUST have a mechanism (e.g., manual configuration) for figuring out what PVCs it has ๐ŸŒธ, and especially which PVCs are being used with LLC/SNAP encapsulation ๐Ÿ’œ. The details of that mechanism are beyond the scope of this memo, so that's a whole different story ๐Ÿ™ˆ.

All IP members that support PVCs are required to use InATMARP (refer to [12]) on those VCs using LLC/SNAP encapsulation ๐Ÿงš. In a strict PVC environment, the receiver SHALL infer the relevant VC from the VC that the InATMARP_Request or response InATMARP_Reply came in on ๐Ÿ”ฅ. When the ATM source and/or target address is unknown, the corresponding ATM address length in the InATMARP packet MUST be set to zero (0), which means a null length, and no storage be allocated in the InATMARP packet ๐Ÿ’€. Otherwise, the appropriate address field should be filled in and the corresponding length set appropriately โœจ. InATMARP packet format details are presented later in this memo ๐Ÿ“.

Directly from [12]: "When the requesting station receives the In[ATM]ARP_Reply, it may complete the [ATM]ARP table entry and use the provided address information. NOTE: as with [ATM]ARP, information learned via In[ATM]ARP may be aged or invalidated under certain circumstances." IP stations supporting PVCs MUST re-validate ATMARP table entries as part of the table aging process. See the Section 8.5.1 "Client ATMARP Table Aging".

If a client has more than one IP address within the LIS and is using PVCs, then when an InATMARP_Request is received, an InATMARP_Reply MUST be generated for each such address ๐Ÿ‘ฏโ€โ™€๏ธ.

8.3. Switched Virtual Connections

SVCs need support from address resolution services to resolve target IP addresses into target ATM endpoint addresses ๐Ÿฆ‹. All members in the LIS MUST use the same service. This service MUST have authoritative responsibility for resolving the ATMARP requests of all IP members within the LIS ๐Ÿ‘‘.

ATMARP servers don't actively establish connections ๐Ÿ™…โ€โ™€๏ธ. They depend on the clients in the LIS to initiate connections for the ATMARP registration procedure and for transmitting ATMARP requests. An individual client connects to the ATMARP server using a point-to-point LLC/SNAP VC. The client sends normal ATMARP request packets to the server. The ATMARP server examines each ATMARP_Request packet for the source protocol and source hardware address information of the sending client, and uses this information to build its ATMARP table cache. This information is then used to generate replies to any ATMARP requests it receives ๐Ÿ“จ.

InATMARP_Request packets MUST specify valid address information for ATM source number, ATM target number, and source protocol address; i.e., these fields MUST be non-null in InATMARP_Request packets ๐Ÿซข.

This memo defines the address resolution service in the LIS and constrains it to consist of a single ATMARP server. Client-server interaction is defined by using a single server approach as a reference model ๐ŸŒท.

This memo recognizes the future development of standards and implementations of multiple-ATMARP-server models, which will extend the operations defined in this memo to provide a highly reliable address resolution service. Future glow-up loading ๐ŸŒˆโœจ.

8.4. ATMARP Single Server Operational Requirements

A single ATMARP server accepts ATM calls/connections from other ATM end points. After receiving any ATMARP_Request, the server examines the source and target address information in the packet and makes note of the VC on which the ATMARP_Request arrived. It uses this information as necessary to build and update its ATMARP table entries ๐Ÿ“.

For each ATMARP_Request, then:

  1. If the source IP protocol address is the same as the target IP protocol address, and a table entry exists for that IP address, and if the source ATM hardware address does not match the table entry ATM address, and there is an open VC associated with that table entry that is not the same as the VC associated with the ATMARP_Request, the server MUST return the table entry information in the ATMARP_Reply, and MUST raise a "duplicate IP address detected" condition to the server's management. The table entry is not updated ๐Ÿšจ.
  2. Otherwise, if the source IP protocol address is the same as the target IP protocol address, and either there is no table entry for that IP address, or a table entry exists for that IP address and there is no open VC associated with that table entry, or the VC associated with that entry is the same as the VC for the ATMARP_Request, the server MUST either create a new entry or update the old entry as appropriate, and return that table entry information in the ATMARP Reply ๐Ÿซง.
  3. Otherwise, when the source IP protocol address does not match the target IP protocol address, the ATMARP server will generate the corresponding ATMARP_Reply if it has an entry for the target information in its ATMARP table. Otherwise, it will generate a negative ATMARP reply (ATMARP_NAK) ๐Ÿ™….
  4. Additionally, when the source IP protocol address does not match the target IP protocol address, and when the server receives an ATMARP_Request over a VC where the source IP and ATM address do not have a corresponding table entry, the ATMARP server MUST create a new table entry for the source information. Explanation: this allows old RFC 1577 clients to register with this ATMARP service by just issuing requests to it ๐Ÿงšโ€โ™€๏ธ.
  5. Additionally, when the source IP protocol address does not match the target IP protocol address, and where the source IP and ATM addresses match the association already in the ATMARP table, and the ATM address matches that associated with the VC, the server MUST update the table timeout on the source ATMARP table entry, but only if it has been more than 10 minutes since the last update. Explanation: if the client is sending ATMARP requests to the server over the same VC that it used to register its ATMARP entry, the server should examine the ATMARP request and note that the client is still "alive" by updating the timeout on the client's ATMARP table entry ๐Ÿ’“.
  6. Additionally, when the source IP protocol address does not match the target IP protocol address, and where the source IP and ATM addresses do not match the association already in the ATMARP table, the server MUST NOT update the ATMARP table entry ๐Ÿ›‘.

An ATMARP server MUST have knowledge of any open VCs it has and their association with an ATMARP table entry, and in particular, which VCs support LLC/SNAP encapsulation. In normal operation, active ATMARP clients will revalidate their entries before the server aging process takes effect โฐ.

Server ATMARP table entries are valid for 20 minutes. If an entry ages beyond 20 minutes without being updated (refreshed) by the client, that entry is deleted from the table regardless of the state of any VCs that may be associated with that entry. Not the table just dropping someone without warning ๐Ÿ˜ญ๐Ÿ’….

8.5 ATMARP Client Operational Requirements

okay bestie, the ATMARP client is the one in charge of checking in with the ATMARP service ๐Ÿ’… It has to sign itself up and keep its own info fresh โœจ

It also uses the service to look up and double-check ATMARP info about the other IP members in the LIS ๐Ÿฆ‹ (we get into server picking in Section 8.6). And like we said in Section 5.2, ATMARP clients MUST be configured with the ATM address of the right server before any ATMARP operation happens ๐Ÿซถ

Next up, IP clients MUST register their ATM endpoint address with their ATMARP server, using the ATM address structure that matches their ATM network connection ๐ŸŽ€ So LISs running over ATM LANs that follow ATM Forum UNI 3.1 should register with Structure 1, and LISs on an E.164 "public" ATM network should register with Structure 2. A LIS mixing ATM LANs and public ATM networks may need Structure 3 ๐ŸŒˆ Implementations based on this memo MUST support all three ATM address structures, no cap ๐Ÿ˜ญ Check out Section 8.7.1 for the nitty-gritty on the ATMARP Request packet format.

If a client has more than one IP address in a LIS, it MUST register each one when using an ATMARP server ๐Ÿ“

For the initial registration and later refreshes of its own info with the ATMARP service, clients MUST:

  1. Set up an LLC/SNAP VC connection to a server in the ATMARP service so it can send and receive ATMARP packets ๐Ÿงš
NOTE: when refreshing its own info, a client MAY reuse an existing connection to the ATMARP service, as long as that connection was previously used to either initially register its info or refresh it. ๐Ÿฆ‹
  1. Once the connection to the ATMARP service works, the client MUST send an ATMARP_Request asking for a target ATM address for its own IP address, using that IP address as the target IP protocol address ๐Ÿ“ฎ The client checks the ATMARP_Reply. If the source hardware and protocol addresses match the target hardware and protocol addresses, the client is registered with the ATMARP service ๐ŸŽ‰ If they don't match, the client MAY take action, raise alarms, etc. ๐Ÿšจ but those actions are beyond the scope of this memo. If a client has more than one IP address in the list, this step MUST be repeated for each IP address ๐Ÿ”
  2. Clients MUST respond to ATMARP_Request and InATMARP_Request packets received on any VC, appropriately ๐Ÿ’œ (Refer to Section 7, "Protocol Operation" in RFC 1293 [12].)
NOTE: for robustness reasons, clients MUST respond to ATMARP_Requests. ๐Ÿ›ก๏ธ
  1. Generate and send address resolution request packets to the address resolution service ๐Ÿ“จ Respond to address resolution reply packets appropriately to build or refresh its own client ATMARP table entries ๐Ÿ’–
  2. Generate and send InATMARP_Request packets as needed, and process InATMARP_Reply packets appropriately ๐ŸŒธ InATMARP_Reply packets should be used to build or refresh its own client ATMARP table entries. (Refer to Section 7, "Protocol Operation" in [12].) If a client has more than one IP address within the LIS when an InATMARP_Request arrives, an InATMARP_Reply MUST be generated for each such address ๐Ÿ‘‘

The client MUST refresh its ATMARP info with the server at least once every 15 minutes โฐ This is done by repeating steps 1 and 2.

An ATMARP client MUST know about any open VCs it has (permanent or switched), which ATMARP table entry each one is tied to, and especially which VCs support LLC/SNAP encapsulation ๐Ÿซถ

8.5.1 Client ATMARP Table Aging

Client ATMARP table entries are valid for a maximum of 15 minutes โณ

When an ATMARP table entry ages, an ATMARP client MUST invalidate that entry ๐Ÿ’… If there's no open VC associated with the invalidated entry, the entry gets deleted. If there is an invalidated entry and an open VC, the client MUST revalidate the entry before sending any non address resolution traffic on that VC. This applies to both PVCs and SVCs, no exceptions ๐Ÿ™…โ€โ™€๏ธ NOTE: the client is allowed to revalidate an ATMARP table entry before it ages, which restarts the aging clock once the revalidation succeeds ๐Ÿ”„ The client MAY keep using the open VC while revalidation is in progress, as long as the table entry hasn't aged yet ๐Ÿฆ‹

For an open PVC, the client revalidates the entry by sending an InATMARP_Request and updating the entry when an InATMARP_Reply comes back ๐Ÿ’Œ

For an open SVC, the client revalidates the entry by querying the address resolution service. If it gets a valid reply (e.g., ATMARP_Reply), the entry gets updated โœจ If the address resolution service can't resolve the entry (i.e., "host not found"), the SVC should be closed and the associated table entry removed ๐Ÿ’€ If the address resolution service isn't available (i.e., "server failure") and the SVC is LLC/SNAP encapsulated, the client MUST try to revalidate the entry by sending an InATMARP_Request on that VC, then updating the entry when an InATMARP_Reply arrives ๐Ÿ†˜ If that InATMARP_Request attempt fails to get an InATMARP_Reply back, the SVC should be closed and the associated table entry removed ๐Ÿฅฒ

If a VC with an associated invalidated ATMARP table entry gets closed, that table entry is removed ๐Ÿงน

8.5.2 Non-Normal VC Operations

The specific details on how clients detect non-normal VC connection setups or closures, or failed communications on an established VC, are beyond the scope of this memo ๐Ÿ™ˆ It is REQUIRED, however, that the client MUST remove the associated ATMARP entry for a VC that fails to operate properly (as defined by the client), when the client closes that VC, when it releases its resources for that VC, or before any attempt to reopen that VC. This behavior specifically REQUIRES that the client MUST refresh its ATMARP table information before any attempt to re-establish communication with an IP member after a non-normal communications problem has happened on a VC to that IP member ๐Ÿ˜ค๐Ÿซถ

8.5.3 Use of ATMARP In Mobile-IP Scenarios

When an ATM LIS is used as the home network in a mobile-IP scenario, it is RECOMMENDED that the home agent NOT maintain long term connections with the ATMARP service ๐Ÿ  Without that VC, a mobile node's registration, upon returning to the home network, can immediately preempt the home agent's previous gratuitous registration. Main character energy for the mobile node, honestly ๐Ÿ‘‘

8.6 Address Resolution Server Selection

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 ๐Ÿง

If the client supports SVCs, the client MUST have a non-NULL atm$arp-req-list pointing to the ATMARP server(s) that provide ATMARP service for the LIS ๐Ÿ“‹

The client MUST register with a server from atm$arp-req-list ๐Ÿ’–

The client SHALL attempt to communicate with any of the servers until a successful registration is done ๐Ÿ’ช The order in which the client picks servers to try is a local matter, and so are the number of retries and timeouts for those attempts ๐ŸŒˆ

8.6.1 PVCs to ATMARP Servers

In a mixed PVC and SVC LIS environment, an ATMARP client MAY have a PVC to an ATMARP server ๐Ÿฆ‹ In that case, the PVC is used for ATMARP requests and responses as if it were an established SVC. NOTE: if this PVC is going to be used for IP traffic, the ATMARP server MUST be prepared to accept and respond appropriately to InATMARP traffic ๐ŸŽ€

8.7 ATMARP Packet Formats

Internet addresses are assigned independently of ATM addresses ๐Ÿงš Each host implementation MUST know its own IP and ATM address(es) and MUST respond to address resolution requests appropriately. IP members MUST also use ATMARP and InATMARP to resolve IP addresses to ATM addresses when needed ๐Ÿ’…

NOTE: the ATMARP packet format in this memo is pretty general, in that the ATM number and ATM subaddress fields SHOULD map directly to the matching UNI 3.1 fields used in ATM call/connection setup signalling messages ๐Ÿ“ก The IP over ATM Working Group expects ATM Forum NSAPA numbers (Structure 1) to predominate over E.164 numbers (Structure 2) as ATM endpoint identifiers within ATM LANs ๐ŸŒธ The ATM Forum's VC Routing specification isn't complete yet, so its impact on the operational use of ATM Address Structure 3 is undefined ๐Ÿ™ƒ The ATM Forum will be defining this relationship in the future. This is exactly why IP members need to support all three ATM address structures ๐Ÿซถ

8.7.1 ATMARP/InATMARP Request and Reply Packet Formats

okay so ATMARP and InATMARP requests and replies reuse the same hardware type (ar$hrd), protocol type (ar$pro), and operation code (ar$op) data formats as ARP and InARP [3,12] ๐Ÿ’… those three fields sit in the exact same byte positions as in ARP and InARP packets โœจ. ATMARP gets its own unique hardware type value ๐Ÿฆ‹ and also picks up an extra operation code for ARP_NAK ๐Ÿ™ˆ. the rest of the ATMARP/InATMARP packet is different from the ARP/InARP one, so don't copy-paste it lol ๐Ÿ’€

The ATMARP and InATMARP protocols have several fields with the following format and values:

Data:
  ar$hrd   16 bits  Hardware type
  ar$pro   16 bits  Protocol type
  ar$shtl   8 bits  Type & length (TL) of source ATM number (q)
  ar$sstl   8 bits  Type & length (TL) of source ATM subaddress (r)
  ar$op    16 bits  Operation code (request, reply, or NAK)
  ar$spln   8 bits  Length of source protocol address (s)
  ar$thtl   8 bits  Type & length (TL) of target ATM number (x)
  ar$tstl   8 bits  Type & length (TL) of target ATM subaddress (y)
  ar$tpln   8 bits  Length of target protocol address (z)
  ar$sha   qoctets of source ATM number
  ar$ssa   roctets of source ATM subaddress
  ar$spa   soctets of source protocol address
  ar$tha   xoctets of target ATM number
  ar$tsa   yoctets of target ATM subaddress
  ar$tpa   zoctets of target protocol address

Where:

  • ar$hrd - assigned to the ATM Forum address family, and is 19 decimal (0x0013) [4].
  • ar$pro - see Assigned Numbers for the protocol type number of the protocol using ATMARP. (IP is 0x0800).
  • ar$shtl - type and length of the source ATM number. See Section 8.7.4 for TL encoding details.
  • ar$sstl - type and length of the source ATM subaddress. See Section 8.7.4 for TL encoding details.
  • ar$op - the operation type value (decimal):
ATMARP_Request   = ARP_REQUEST   = 1
ATMARP_Reply     = ARP_REPLY     = 2
InATMARP_Request = InARP_REQUEST = 8
InATMARP_Reply   = InARP_REPLY   = 9
ATMARP_NAK       = ARP_NAK       = 10
  • ar$spln - length in octets of the source protocol address. Value range is 0 or 4 (decimal). For IPv4, ar$spln is 4.
  • ar$thtl - type and length of the target ATM number. See Section 8.7.4 for TL encoding details.
  • ar$tstl - type and length of the target ATM subaddress. See Section 8.7.4 for TL encoding details.
  • ar$tpln - length in octets of the target protocol address. Value range is 0 or 4 (decimal). For IPv4, ar$tpln is 4.
  • ar$sha - source ATM number (E.164 or ATM Forum NSAPA)
  • ar$ssa - source ATM subaddress (ATM Forum NSAPA)
  • ar$spa - source protocol address
  • ar$tha - target ATM number (E.164 or ATM Forum NSAPA)
  • ar$tsa - target ATM subaddress (ATM Forum NSAPA)
  • ar$tpa - target protocol address

8.7.2 Receiving Unknown ATMARP Packets

okay so if an ATMARP client gets an ATMARP message with an operation code (ar$op) it isn't coded to support, it MUST gracefully discard the message and keep on with normal operation ๐Ÿซถ. it is NOT REQUIRED to send anything back to whoever sent the unsupported message ๐Ÿ’…

8.7.3 TL, ATM Number, and ATM Subaddress Encoding

the 8-bit TL (type and length) fields in ATMARP and In_ATMARP packets are encoded like this ๐Ÿงš

MSB   8     7     6     5     4     3     2     1   LSB
   +-----+-----+-----+-----+-----+-----+-----+-----+
   |  0  | 1/0 |   Octet length of address         |
   +-----+-----+-----+-----+-----+-----+-----+-----+
  • bit.8 (reserved) = 0 (for future use)
  • bit.7 (type) = 0 means ATM Forum NSAPA format, and = 1 means E.164 format
  • bit.6-1 (length) = 6 bit unsigned octet length of address (MSB = bit.6, LSB = bit.1). Value range is from 0 to 20 (decimal).

ATM addresses, as defined by the ATM Forum UNI 3.1 signaling specification [9], include a "Calling Party Number Information Element" and a "Calling Party Subaddress Information Element". These Information Elements (IEs) SHOULD map to ATMARP/InATMARP source ATM number and source ATM subaddress respectively ๐ŸŒธ. ATM Forum also defines a "Called Party Number Information Element" and a "Called Party Subaddress Information Element". These IEs map to ATMARP/InATMARP target ATM number and target ATM subaddress, respectively.

the ATM Forum defines three structures for using a number and a subaddress together [9] ๐Ÿ“

                    ATM Number      ATM Subaddress
                  --------------    --------------
    Structure 1   ATM Forum NSAPA        null
    Structure 2       E.164              null
    Structure 3       E.164         ATM Forum NSAPA

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. That means 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.

Null or unknown ATM addresses MUST be indicated by setting the appropriate address length to zero. That means ar$shtl.length and ar$thtl.length are zero, 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 โœจ

8.7.4 ATMARP_NAK Packet Format

the ATMARP_NAK packet is the same as the received ATMARP_Request packet, just with the operation code set to ARP_NAK ๐Ÿฆ‹. to be specific, the ATMARP_Request packet data is exactly copied (e.g., using bcopy) for transmission, with the ATMARP_Request operation code changed to the ARP_NAK value.

8.7.5 Variable Length Requirements for ATMARP Packets

ATMARP and InATMARP packets are variable in length ๐ŸŒˆ

a null or unknown source or target protocol address is shown by setting the matching length to zero. For example, when ar$spln or ar$tpln is zero, the physical space for the matching address structure MUST not be allocated in the packet.

for backward compatibility with older implementations, a null IPv4 protocol address may be received with length = 4 and an allocated address in storage set to the value 0.0.0.0. Receiving stations MUST be liberal in accepting this format of a null IPv4 address ๐Ÿซถ. however, when transmitting an ATMARP or InATMARP packet, a null IPv4 address MUST only be indicated by the length set to zero, and MUST have no storage allocated ๐Ÿ’…

8.8 ATMARP/InATMARP Packet Encapsulation

ATMARP and InATMARP packets are to be encoded in AAL5 PDUs using LLC/SNAP encapsulation. The format of the AAL5 CPCS-SDU payload field for ATMARP/InATMARP PDUs is:

            Payload Format for ATMARP/InATMARP PDUs:
            +------------------------------+
            |        LLC 0xAA-AA-03        |
            +------------------------------+
            |        OUI 0x00-00-00        |
            +------------------------------+
            |        EtherType 0x08-06     |
            +------------------------------+
            |                              |
            |   ATMARP/InATMARP Packet     |
            |                              |
            +------------------------------+

the LLC value of 0xAA-AA-03 (3 octets) tells you a SNAP header is present ๐Ÿ“

the OUI value of 0x00-00-00 (3 octets) tells you the following two bytes are an EtherType ๐Ÿงš

the EtherType value of 0x08-06 (2 octets) means ARP [4] ๐Ÿ’œ

the total size of the LLC/SNAP header is fixed at 8 octets. This lines the start of the ATMARP packet up on a 64-bit boundary relative to the start of the AAL5 CPCS-SDU โœจ

the LLC/SNAP encapsulation for ATMARP/InATMARP described here is consistent with the treatment of multiprotocol encapsulation of IP over ATM AAL5 specified in [2], and with the format of ATMARP over IEEE 802 networks specified in [5] ๐ŸŒธ

traditionally, address resolution requests are broadcast to all directly connected IP members within a LIS. It's conceivable that in the future, larger ATM networks may handle ATMARP requests to destinations outside the originating LIS, maybe even globally. Issues raised by ATMARPing outside the LIS or by a global ATMARP mechanism are beyond the scope of this memo ๐Ÿ”ฅ

9. IP BROADCAST ADDRESS โœจ

ATM does not support broadcast addressing, so there are no mappings from IP broadcast addresses to ATM broadcast services. Note: this lack of mapping does not restrict members from transmitting or receiving IP datagrams that specify any of the four standard IP broadcast address forms described in [8]. Members, upon receiving an IP broadcast or IP subnet broadcast for their LIS, MUST process the packet as if it were addressed to that station ๐Ÿซถ

this memo recognizes the future development of standards and implementations that will extend the operations defined here to provide an IP broadcast capability for use by the classical client ๐Ÿฆ‹

10. IP MULTICAST ADDRESS โœจ

ATM does not directly support IP multicast address services, so there are no mappings from IP multicast addresses to ATM multicast services. Current IP multicast implementations (i.e., MBONE and IP tunneling, see [10]) will keep working over ATM based logical IP subnets when operated in the WAN configuration ๐ŸŒˆ

this memo recognizes the future development of ATM multicast service addressing by the ATM Forum. When it's available and widely implemented, the roll-over from the current IP multicast architecture to this new ATM architecture will be straightforward ๐Ÿ’–

this memo recognizes the future development of standards and implementations that will extend the operations defined here to provide an IP multicast capability for use by the classical client ๐Ÿงš

11. SECURITY CONSIDERATIONS ๐Ÿ™ˆ

bestie, this one is serious ๐Ÿ’€ not all of the security issues relating to IP over ATM are clearly understood yet, because the ATM specs are still fluid, the tech is new, and there are other factors too.

it is believed that ATM and IP facilities for authenticated call management, authenticated end-to-end communications, and data encryption will be needed in globally connected ATM networks. Future security facilities like these, and how IP networks use them, are beyond the scope of this memo ๐Ÿ”

there are known security issues relating to host impersonation via the address resolution protocols used in the Internet [13]. No special security mechanisms have been added to the address resolution mechanism defined here for use with networks using IP over ATM. so please, be careful out there ๐Ÿ˜ญ

12. MIB SPECIFICATION ๐Ÿ’œ

Clients built to this specification MUST implement and provide a Management Information Base (MIB) as defined in "Definitions of Managed Objects for Classical IP and ARP Over ATM Using SMIv2" [18] ๐Ÿ‘‘

13. OPEN ISSUES ๐Ÿซถ

okay bestie, this section is where the doc admits what's still unfinished ๐Ÿฅบ

  • automatic configuration of client ATM addresses via DHCP [15] or via ATM UNI 3.1 Interim Local Management Interface (ILMI) services would be a useful extended service addition to this document and should be addressed in a separate memo ๐ŸŒธ
  • > ATMARP packets are not authenticated. This is a potentially serious flaw in the overall system, because it opens a door for corrupt information to get into the server system. ๐Ÿ’€ this one is serious, no cap

14. REFERENCES ๐Ÿ“š

  • [1] Piscitello, D., and J. Lawrence, "The Transmission of IP Datagrams over the SMDS Service", STD 52, RFC 1209, March 1991.
  • [2] Heinanen, J., "Multiprotocol Encapsulation over ATM Adaptation Layer 5", RFC 1483, July 1993.
  • [3] Plummer, D., "An Ethernet Address Resolution Protocol - or - Converting Network Protocol Addresses to 48.bit Ethernet Address for Transmission on Ethernet Hardware", STD 37, RFC 826, November 1982.
  • [4] Reynolds, J., and J. Postel, "Assigned Numbers", STD 2, RFC 1700, July 1992.
  • [5] Postel, J., and J. Reynolds, "A Standard for the Transmission of IP Datagrams over IEEE 802 Networks", STD 43, RFC 1042, February 1988.
  • [6] CCITT, "Draft Recommendation I.363", CCITT Study Group XVIII, Geneva, 19-29 January 1993.
  • [7] CCITT, "Draft text for Q.93B", CCITT Study Group XI, 23 September - 2 October 1992.
  • [8] Braden, R., "Requirements for Internet Hosts -- Communication Layers", STD 3, RFC 1122, October 1989.
  • [9] ATM Forum, "ATM User-Network Interface (UNI) Specification Version 3.1.", ISBN 0-13-393828-X, Prentice-Hall, Inc., Upper Saddle River, NJ, 07458, September, 1994.
  • [10] Deering, S., "Host Extensions for IP Multicasting", STD 5, RFC 1112, August 1989.
  • [11] Colella, R., Gardner, E., and R. Callon, "Guidelines for OSI NSAP Allocation in the Internet", RFC 1237, July 1991.
  • [12] Bradely, T., and C. Brown, "Inverse Address Resolution Protocol", RFC 1293, January 1992.
  • [13] Bellovin, Steven M., "Security Problems in the TCP/IP Protocol Suite", ACM Computer Communications Review, Vol. 19, Issue 2, pp. 32-48, 1989.
  • [14] Knowles, S., "IESG Advice from Experience with Path MTU Discovery", RFC 1435, March 1993.
  • [15] Droms, R., "Dynamic Host Configuration Protocol", RFC 1541, March 1997.
  • [16] Kent C., and J. Mogul, "Fragmentation Considered Harmful", Proceedings of the ACM SIGCOMM '87 Workshop on Frontiers in Computer Communications Technology, August 1987.
  • [17] Mogul, J., and S. Deering, "Path MTU Discovery", RFC 1191, November 1990.
  • [18] Green, M., Luciani, J., White, K., and T. Kuo, "Definitions of Managed Objects for Classical IP and ARP over ATM Using SMIv2", RFC 2320, April 1998.
  • [19] ATM Forum, "ATM User-Network Interface (UNI) Specification Version 4.0", ATM Forum specfication af-sig-0061.000, ftp://ftp.atmforum.com/, July, 1996.
  • [20] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

15. AUTHORS' ADDRESSES ๐Ÿ–‹๏ธ

Mark Laubach
Com21, Inc.
750 Tasman Drive
Milpitas, CA 95035

Phone: 408.953.9175
FAX:   408.953.9299
EMail: laubach@com21.com


Joel Halpern
Newbridge Networks, Inc.
593 Herndon Parkway
Herndon, VA  22070-5241

Phone: 703.736.5954
FAX:   703.736.5959
EMail: jhalpern@Newbridge.com

APPENDIX A - Update Information ๐Ÿฆ‹

this memo is an update to RFC 1577 and RFC 1626, and here's everything that changed โœจ

  • pointer to Classical MIB I-D for setting of variables
  • single ATMARP server address to ATMARP server list, configurable via the MIB
  • RFC 1626 text replaces MTU section
  • client registration procedure from In_ATMARP to first ATMARP_Request
  • clarification of variable length ATMARP packet format
  • clarification of ARP_NAK packet format
  • clarification of InATMARP packet format for null IPv4 addresses
  • clarification on ATMARP registration and use of InATMARP_Reply for clients having more than one IP address in a LIS

the legal bits stay exactly as written, no edits, because they matter ๐Ÿซถ

Copyright (C) The Internet Society (1998).  All Rights Reserved.

This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implmentation may be prepared, copied, published
andand distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works.  However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.

The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.

This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
๐Ÿ“ฆ where this page comes from