RFC 1293
Inverse Address Resolution Protocol
RFC 1293: Inverse Address Resolution Protocol π
Okay bestie, this one is Inverse Address Resolution Protocol π¦ It's from the Network Working Group (Request for Comments: 1293), written by T. Bradley and C. Brown of Wellfleet Communications, Inc., and dated January 1992 β¨ It's an IAB standards track protocol, so it's officially on the standards track π The title block doesn't list anything it obsoletes or updates πΈ
1. Status of this Memo β¨
Okay so this RFC is an IAB standards track protocol for the Internet community, and it's asking for discussion and suggestions for improvements π For the current standardization state and status, check the current edition of the "IAB Official Protocol Standards" π Distribution of this memo is unlimited π
2. Abstract π¦
This memo adds stuff to ARP so a station can ask for the protocol address that goes with a given hardware address π― It's aimed at Frame Relay stations. Those have a Data Link Connection Identifier (DLCI), which is the Frame Relay version of a hardware address, tied to an established Permanent Virtual Circuit (PVC). But they don't know the protocol address of the station on the other side π₯Ί It also applies to other networks in similar situations πΈ
3. Conventions π
Here's how the language in this spec works, so you don't get confused later π«Ά
- Must, Will, Shall or Mandatory: the item is an absolute requirement of the specification. No wiggle room π
- Should or Recommended: the item should generally be followed, except in exceptional circumstances π₯
- May or Optional: the item is truly optional, and you can follow it or ignore it depending on what the implementor needs π§
4. Introduction π§
This document leans heavily on Frame Relay as its main example of how InARP can be useful β¨ But it's not meant to be used only with Frame Relay! InARP MAY be used in any network that gives you destination hardware addresses without the matching protocol addresses π
5. Motivation π
The whole reason Inverse ARP exists is to make dynamic address resolution in Frame Relay both possible and efficient π₯ PVCs (and eventually SVCs) get identified by a DLCI. A DLCI is one virtual connection through the wide area network (WAN), and it's the Frame Relay version of a hardware address πΈ Every so often, a network can announce a new virtual circuit and its DLCI using signalling messages π£ BUT the announcement doesn't include protocol addressing π So the station that gets the news learns about the new connection but can't address the other side π Without a new configuration, or some other way to find the protocol address on the other side, that new virtual circuit is unusable π
Other resolution methods were considered and rejected π€ Reverse ARP [4] looked like a good candidate, but its response gives you the protocol address of the requesting station, not the station that got the request, which is what we actually wanted. IP-specific mechanisms were limiting too, since we wanted protocol address resolution for many protocols. So we expanded ARP itself β¨
Inverse Address Resolution Protocol (InARP) lets a Frame Relay station discover the protocol address of a station on the other end of a virtual circuit π¦ It's more efficient than simulating a broadcast with multiple copies of the same message, and more flexible than relying on static configuration π
6. Packet Format π
InARP is an extension of regular ARP, so it has the exact same format as standard ARP π
ar$hrd 16 bits Hardware type
ar$pro 16 bits Protocol type
ar$hln 8 bits Byte length of each hardware address (n)
ar$pln 8 bits Byte length of each protocol address (m)
ar$op 16 bits Operation code
ar$sha nbytes source hardware address
ar$spa mbytes source protocol address
ar$tha nbytes target hardware address
ar$tpa mbytes target protocol address
The possible values for hardware and protocol types are the same as for ARP, and you can find them in the current Assigned Numbers RFC [2] π
The lengths of the hardware and protocol addresses depend on the environment InARP is running in πΈ For example, if IP is running over Frame Relay, the hardware address length is between 2 and 4, and the protocol address length is 4 π
The operation code tells you what kind of message it is, a request or a reply:
InARP request = 8
InARP reply = 9
These values were picked so they don't clash with other ARP extensions β¨
7. Protocol Operation π
Basic InARP works essentially like ARP, with one big difference: InARP does not broadcast requests π That's because the hardware address of the destination is already known π A requesting station formats its request by filling in its own source hardware and protocol addresses, plus the known target hardware address. Then it zero fills the target protocol address field π§ Finally, it encapsulates the packet for the specific network and sends it straight to the target station π
Upon receiving an InARP request, a station MAY put the requester's protocol address/hardware address mapping into its ARP cache, the same way it would with any ARP request. Unlike other ARP requests, though, the receiving station MAY assume that any InARP request it receives is destined for it π― For every InARP request, the receiving station MAY format a proper reply, using the source addresses from the request as the target addresses of the reply. If the station is unable or unwilling to reply, it ignores the request π
When the requesting station receives the InARP reply, it MAY complete the ARP table entry and use the address information provided β¨ Note: just like with ARP, information learned via InARP MAY be aged or invalidated under certain circumstances β³
7.1. Operation with Multi-Addressed Hosts π
Here, a Multi-Addressed host means a host that has multiple protocol addresses assigned to a single interface π If one of those receives an InARP request, it MUST choose one address to respond with. To make that choice, the receiving station MUST first look at the protocol address of the requesting station, and then respond with the protocol address that matches the requester's network π―
For example, if the requesting station is probing for an IP address, the responding multi-addressed station SHOULD respond with an IP address on the same subnet as the requester π If it doesn't have an address that's appropriate for the request, it SHOULD NOT respond π In the IP example, if the receiving station doesn't have an IP address on that interface that's part of the requested subnet, it would not respond π
A multi-addressed host MAY choose to send an InARP request for each of the addresses defined on the interface. Heads up though: the receiving side MAY answer some or none of those requests, depending on its configuration π€·
7.2. Protocol Operation Within Frame Relay πΈ
One time InARP is super useful is when a new virtual circuit gets signalled π¦ The Frame Relay station MAY format an InARP request addressed to the new virtual circuit. If the other side supports InARP, it MAY return a reply with the protocol address that was requested π
The format for an InARP request is as follows:
ar$hrd - 0x000F the value assigned to Frame Relay
ar$pro - protocol type for which you are searching
(i.e. IP = 0x0800)
ar$hln - 2,3, or 4 byte addressing length
ar$pln - byte length of protocol address for which you
are searching (for IP = 4)
ar$op - 8; InARP request
ar$sha - Q.922 address of requesting station
ar$spa - protocol address of requesting station
ar$tha - Q.922 addressed of newly announced virtual circuit
ar$tpa - 0; This is what we're looking for
The InARP response gets put together in a similar way:
ar$hrd - 0x000F the value assigned to Frame Relay
ar$pro - protocol type for which you are searching
(i.e. IP = 0x0800)
ar$hln - 2,3, or 4 byte addressing length
ar$pln - byte length of protocol address for which you
are searching (for IP = 4)
ar$op - 9; InARP response
ar$sha - Q.922 address of responding station
ar$spa - protocol address requested
ar$tha - Q.922 address of requesting station
ar$tpa - protocol address of requesting station
Note that the Q.922 addresses specified have the C/R, FECN, BECN, and DE bits set to zero πΈ
Using InARP over a Frame Relay network follows the exact same procedures as ARP and RARP, which are discussed in section 10 of the Multiprotocol Interconnect over Frame Relay Networks document [3] π
8. References π
- [1] Plummer, David C., "An Ethernet Address Resolution Protocol", RFC-826, November 1982.
- [2] Reynolds, J. and Postel, J., "Assigned Numbers", RFC-1060, ISI, March 1990.
- [3] Bradley, T., Brown, C., Malis, A., "Multiprotocol Interconnect over Frame Relay Networks", RFC-1294, January 1992.
- [4] Finlayson, Mann, Mogul, Theimer, "A Reverse Address Resolution Protocol", RFC-903, Stanford University, June 1984.
9. Security Considerations π
Security issues are not addressed in this memo. Read that twice, bestie π
10. Authors' Addresses π
Terry Bradley
Wellfleet Communications, Inc.
15 Crosby Drive
Bedford, MA 01730
Phone: (617) 275-2400
Email: tbradley@wellfleet.com
Caralyn Brown
Wellfleet Communications, Inc.
15 Crosby Drive
Bedford, MA 01730
Phone: (617) 275-2400
Email: cbrown@wellfleet.com
That's the whole thing, bestie! ππ β¨
π¦ where this page comes from
- ietf: rfc1293 1992-01
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms