IP over ATM Working Group Juha Heinanen Reguest for Comments: DRAFT Telecom Finland Expires August 12, 1993 February 12, 1993 NBMA Address Resolution Protocol (NBMA ARP) Abstract This document contains an informal description of the NBMA ARP protocol and is only intended as a basis for a discussion. The section describing the protocol procedures in detail will be filled in later. 1. Introduction The NBMA Address Resolution Protocol (NBMA ARP) allows a source terminal (a host or router) connected to a non-broadcast, multiaccess link layer network (called NBMA for short) to resolve a network layer address of a destination terminal to its link layer address in the same NBMA. The destination terminal can be connected to the NBMA either directly or indirectly via a router. Once the address resolution has been completed, the source terminal may either start sending network layer Protocol Data Units (PDUs) to the destination (connectionless NBMA) or may first establish a connection to the destination with a desired bandwidth and other QOS characteristics (connection oriented NBMA). Note that an NBMA can be non-broadcast either because it technically doesn't support broadcasting (e.g. an X.25 network) or because broadcasting is not feasible for one reason or another (e.g. an SMDS broadcast group would be too large). 2. Protocol Overview The NBMA ARP protocol is based on interaction between terminals (hosts and routers) and so-called NBMA ARP servers (ARP servers for short). A terminal generates an NBMA ARP Request (ARP Request for short) to one of its ARP servers. The server then either responds with an NBMA ARP Reply (ARP Reply for short) or forwards the request to another ARP server. Forwarding of the requests and replies is based on the network layer destination address found in the ARP PDU (see section 4). The forwarding function requires that ARP servers are able to route each supported network layer protocol. ARP servers don't, however, need to be able to switch network layer PDUs belonging to those Heinanen Expires August 12, 1993 [Page 1] RFC DRAFT NBMA ARP February 1993 protocols. Exceptions are ARP servers acting as proxys for terminals connected to other link layer networks. Such servers must also be able to switch network layer PDUs between the NBMA and the other link layer networks. Each terminal is associated with one or more ARP servers to which the terminal advertizes its network and NBMA addresses and which the terminal uses to resolve network layer addresses of other terminals. When a terminal wants to resolve a network layer address of a destination terminal, it sends an ARP Request to one of its ARP servers. After receiving an ARP Request, an ARP server checks if it is serving the destination terminal. If so, it generates a positive ARP Reply that contains the NBMA address of the destination terminal and forwards it towards the network address of the source terminal. If the ARP server is not serving the destination terminal, it looks up from its forwarding table the next hop towards the destination. If no entry is found, the ARP server generates a negative ARP Reply and forwards it towards the network address of the source terminal. If a forwarding entry is found, the ARP server checks if the next hop is behind its NBMA interface. If so, it forwards the ARP Request to the next hop ARP server. If the next hop is behind some other interface, the ARP server may be willing to act as a proxy for the destination terminal, in which case it generates a positive ARP Reply containing its own NBMA address as the link layer address of the destination terminal. When a positive ARP Reply reaches the source terminal, it may need to establish a connection to the given NBMA address before starting to send network layer PDUs to the destination. If communication attempt fails and the ARP reply was non-authoritative, the terminal may, before giving up, send another ARP Request, this time asking for an authoritative answer. A positive ARP Reply will be non-authoritative if an ARP server is replying based on cached information. 3. Configuration Terminals A terminal connected to an NBMA is configured with its network and NBMA addresses as well as with an NBMA address of each of its ARP servers. The configuration may be manual or automatic depending on the network layer protocol and the properties of the NBMA. For example, an ATM network may help a connected terminal to determine its ATM address and may also define one or more predefined ATM addresses of ARP servers. Heinanen Expires August 12, 1993 [Page 2] RFC DRAFT NBMA ARP February 1993 Once the addresses are configured, the terminal may set up a connection to each of its ARP servers (unless a permanent connection has already been configured or the NBMA is connectionless). Then the terminal can inform the ARP servers about its network and NBMA addresses using a suitable discovery protocol. The discovery protocol depends on the network layer protocol. For example, an IP terminal may use InARP [RFC 1923] and a CLNP terminal may use ES-IS [ISO 9542]. If a terminal is connected to more than one link layer network, it may also need to be configured to receive routing information from its ARP servers. The terminal can then use the routing information to find out which network address prefixes are reachable via which link layer networks and at which cost. ARP Servers An ARP server is configured with a set of network address prefixes that correspond to the network addresses of the terminals it is prepared to serve. An IP ARP server, for example, must belong to the same IP networks as the served terminals. Similarly, a CLNP ARP server must share common area addresses with the terminals it is serving. An ARP server must also be configured with whatever information is needed so that it can exchange routing information with its neighboring ARP servers (if any). Routing information is exchanged using regular intra- and/or inter-domain routing protocols such as OSPF, (dual) IS-IS, BGP, or IDRP. As mentioned above, it may also need to be configured to advertize its routing information to the served terminals. An ARP server acting as a proxy for terminals connected to other link layer networks, must, in addition to the above, be configured to redistribute routing information between the NBMA and the other link layer networks. 4. PDU Format The NBMA ARP PDU format is a modification of the standard ARP [RFC 826] PDU format. In both formats, the operation code field is located at the same offset from the beginning of the PDU, which makes it possible to use the same protocol identification codes (e.g. EtherType) for both the standard ARP and the NBMA ARP. The format of the NBMA ARP PDU is shown below: Heinanen Expires August 12, 1993 [Page 3] RFC DRAFT NBMA ARP February 1993 nbma-arp$lnk 2 bytes Link layer type nbma-arp$net 2 bytes Network layer type nbma-arp$sll 1 byte Length of source link layer address nbma-arp$snl 1 byte Length of source network layer address nbma-arp$op 1 byte Operation code nbma-arp$dll 1 byte Length of destination link layer address nbma-arp$dnl 1 byte Length of destination network layer address nbma-arp$sla m bytes Source link layer address nbma-arp$sna n bytes Source network layer address nbma-arp$dla o bytes Destination link layer address nbma-arp$dna p bytes Destination network layer address The possible values for the Link layer type and Network layer type fields are the same as for the Hardware type and Protocol type of the standard ARP and may be found in the current Assigned Numbers RFC. All Length fields give the length of the corresponding address in bits. An empty address field is indicated with the length value 0. The operation code indicates the type of the message. The assigned values are: NBMA ARP Request = 10 NBMA ARP Request for Authoritative Information = 11 NBMA ARP Positive, Authoritative Reply = 12 NBMA ARP Positive, Non-Authoritative Reply = 13 NBMA ARP Negative, Authoritative Reply = 14 These values were chosen so as not to conflict with other ARP extensions. In requests and negative replies, the Destination link layer address field is always empty. All fields are present in all other messages. The difference between NBMA Request and NBMA Request for Authoritative Information is that in the former case an NBMA ARP server is not allowed to reply based on cached information. There also exists two versions of positive replies so that the requester knows if a reply to an NBMA ARP Request was based on authoritative or cached information. Heinanen Expires August 12, 1993 [Page 4] RFC DRAFT NBMA ARP February 1993 5. Protocol Operation A detailed specification of the NBMA ARP protocol will be added later. 6. Discussion The result of an ARP Request depends on how routing is configured among the ARP servers. If the destination terminal is directly connected to the NBMA and the ARP servers always prefer NBMA routes over routes via other link layer networks, then the ARP Reply always returns the NBMA address of the destination terminal itself rather than the NBMA address of some proxy ARP server. For destinations outside the NBMA, routing between proxy ARP servers and routers in the other link layer networks should be organized so that the desired proxy ARP server is always found. In addition to ARP servers, an NBMA terminal could also be associated with one or more regular routers that could act as "connectionless servers" for the terminal. Then the terminal could choose whether to try to resolve the network layer address of a destination to its NBMA address or whether just to send the network layer PDUs to one of the terminal's connectionless servers. The latter option may be desirable if communication with the destination is short lived and/or doesn't require much network resources. The connectionless servers could, of course, be physically integrated in the ARP servers by augmenting them with network layer switching functionality. Although the above description of the NBMA ARP protocol deals with resolving network layer addresses to link layer addresses, the protocol can as well be applied to resolving a network or link layer address to another network or link layer address. Such a capability may be needed if a single logical network consists of subnetworks implementing different addressing schemes. An example could be an ATM network consisting of both NSAP and E.164 addressed subnetworks. Several levels of ARPing may, however, add a considerable delay to the connection set up process and should thus be avoided. Acknowledgements I would like to thank Dennis Ferguson of ANS, Joel Halpern of Network Systems, and Paul Tsuchiya of Bellcore for their valuable insight and comments to earlier versions of this draft. Author's Address Juha Heinanen Telecom Finland, PO Box 228, SF-33101 Tampere, Finland Heinanen Expires August 12, 1993 [Page 5] RFC DRAFT NBMA ARP February 1993 Phone: +358 49 500 958 Email: Juha.Heinanen@datanet.tele.fi Heinanen Expires August 12, 1993 [Page 6]