Difference between revisions of "RFC1293"

From RFC-Wiki
 
Line 1: Line 1:
 
 
 
 
 
 
Network Working Group                                        T. Bradley
 
Network Working Group                                        T. Bradley
 
Request for Comments: 1293                                      C. Brown
 
Request for Comments: 1293                                      C. Brown
 
                                       Wellfleet Communications, Inc.
 
                                       Wellfleet Communications, Inc.
 
                                                         January 1992
 
                                                         January 1992
 +
 
               Inverse Address Resolution Protocol
 
               Inverse Address Resolution Protocol
== Status of this Memo ==
+
 
 +
== Status of this Memo ==
 +
 
 
This RFC specifies an IAB standards track protocol for the Internet
 
This RFC specifies an IAB standards track protocol for the Internet
 
community, and requests discussion and suggestions for improvements.
 
community, and requests discussion and suggestions for improvements.
Line 15: Line 13:
 
Standards" for the standardization state and status of this protocol.
 
Standards" for the standardization state and status of this protocol.
 
Distribution of this memo is unlimited.
 
Distribution of this memo is unlimited.
== Abstract ==
+
 
 +
== Abstract ==
 +
 
 
This memo describes additions to ARP that will allow a station to
 
This memo describes additions to ARP that will allow a station to
 
request a protocol address corresponding to a given hardware address.
 
request a protocol address corresponding to a given hardware address.
Line 24: Line 24:
 
the other side of this connection.  It will also apply to other
 
the other side of this connection.  It will also apply to other
 
networks with similar circumstances.
 
networks with similar circumstances.
== Conventions ==
+
 
 +
== Conventions ==
 +
 
 
The following language conventions are used in the items of
 
The following language conventions are used in the items of
 
specification in this document:
 
specification in this document:
 +
 
   o Must, Will, Shall or Mandatory -- the item is an absolute
 
   o Must, Will, Shall or Mandatory -- the item is an absolute
 
     requirement of the specification.
 
     requirement of the specification.
 +
 
   o Should or Recommended -- the item should generally be
 
   o Should or Recommended -- the item should generally be
 
     followed for all but exceptional circumstances.
 
     followed for all but exceptional circumstances.
 +
 
   o May or Optional -- the item is truly optional and may be
 
   o May or Optional -- the item is truly optional and may be
 
     followed or ignored according to the needs of the
 
     followed or ignored according to the needs of the
 
     implementor.
 
     implementor.
== Introduction ==
+
 
 +
== Introduction ==
 +
 
 
This document will rely heavily on Frame Relay as an example of how
 
This document will rely heavily on Frame Relay as an example of how
 
the Inverse Address Resolution Protocol (InARP) can be useful. It is
 
the Inverse Address Resolution Protocol (InARP) can be useful. It is
Line 41: Line 48:
 
hardware addresses without indicating corresponding protocol
 
hardware addresses without indicating corresponding protocol
  
 +
addresses.
  
 +
== Motivation ==
  
 
 
 
 
addresses.
 
==  Motivation ==
 
 
The motivation for the development of Inverse ARP is a result of the
 
The motivation for the development of Inverse ARP is a result of the
 
desire to make dynamic address resolution within Frame Relay both
 
desire to make dynamic address resolution within Frame Relay both
Line 63: Line 66:
 
configuration or mechanism for discovering the protocol address of
 
configuration or mechanism for discovering the protocol address of
 
the other side, this new virtual circuit is unusable.
 
the other side, this new virtual circuit is unusable.
 +
 
Other resolution methods were considered to solve the problems, but
 
Other resolution methods were considered to solve the problems, but
 
were rejected.  Reverse ARP [4], for example, seemed like a good
 
were rejected.  Reverse ARP [4], for example, seemed like a good
Line 70: Line 74:
 
allow protocol address resolution of many protocols.  For this
 
allow protocol address resolution of many protocols.  For this
 
reason, we expanded the ARP protocol.
 
reason, we expanded the ARP protocol.
 +
 
Inverse Address Resolution Protocol (InARP) will allow a Frame Relay
 
Inverse Address Resolution Protocol (InARP) will allow a Frame Relay
 
station to discover the protocol address of a station associated with
 
station to discover the protocol address of a station associated with
Line 75: Line 80:
 
broadcast with multiple copies of the same message and it is more
 
broadcast with multiple copies of the same message and it is more
 
flexible than relying on static configuration.
 
flexible than relying on static configuration.
== Packet Format ==
+
 
 +
== Packet Format ==
 +
 
 
Inverse ARP is an extension of the existing ARP.  Therefore, it has
 
Inverse ARP is an extension of the existing ARP.  Therefore, it has
 
the same format as standard ARP.
 
the same format as standard ARP.
 +
 
   ar$hrd  16 bits        Hardware type
 
   ar$hrd  16 bits        Hardware type
 
   ar$pro  16 bits        Protocol type
 
   ar$pro  16 bits        Protocol type
Line 87: Line 95:
 
   ar$tha    nbytes        target hardware address
 
   ar$tha    nbytes        target hardware address
 
   ar$tpa    mbytes        target protocol address
 
   ar$tpa    mbytes        target protocol address
 
 
 
 
 
 
 
  
 
Possible values for hardware and protocol types are the same as those
 
Possible values for hardware and protocol types are the same as those
 
for ARP and may be found in the current Assigned Numbers RFC [2].
 
for ARP and may be found in the current Assigned Numbers RFC [2].
 +
 
Length of the hardware and protocol address are dependent on the
 
Length of the hardware and protocol address are dependent on the
 
environment in which InARP is running.  For example, if IP is running
 
environment in which InARP is running.  For example, if IP is running
 
over Frame Relay, the hardware address length is between 2 and 4, and
 
over Frame Relay, the hardware address length is between 2 and 4, and
 
the protocol address length is 4.
 
the protocol address length is 4.
 +
 
The operation code indicates the type of message, request or reply.
 
The operation code indicates the type of message, request or reply.
 +
 
   InARP request  = 8
 
   InARP request  = 8
 
   InARP reply = 9
 
   InARP reply = 9
 +
 
These values were chosen so as not to conflict with other ARP
 
These values were chosen so as not to conflict with other ARP
 
extensions.
 
extensions.
== Protocol Operation ==
+
 
 +
== Protocol Operation ==
 +
 
 
Basic InARP operates essentially the same as ARP with the exception
 
Basic InARP operates essentially the same as ARP with the exception
 
that InARP does not broadcast requests.  This is because the hardware
 
that InARP does not broadcast requests.  This is because the hardware
Line 115: Line 122:
 
encapsulate the packet for the specific network and send it directly
 
encapsulate the packet for the specific network and send it directly
 
to the target station.
 
to the target station.
 +
 
Upon receiving an InARP request, a station may put the requester's
 
Upon receiving an InARP request, a station may put the requester's
 
protocol address/hardware address mapping into its ARP cache as it
 
protocol address/hardware address mapping into its ARP cache as it
Line 123: Line 131:
 
the target addresses of the reply.  If the station is unable or
 
the target addresses of the reply.  If the station is unable or
 
unwilling to reply, it ignores the request.
 
unwilling to reply, it ignores the request.
 +
 
When the requesting station receives the InARP reply, it may complete
 
When the requesting station receives the InARP reply, it may complete
 
the ARP table entry and use the provided address information.  Note:
 
the ARP table entry and use the provided address information.  Note:
 
as with ARP, information learned via InARP may be aged or invalidated
 
as with ARP, information learned via InARP may be aged or invalidated
 
under certain circumstances.
 
under certain circumstances.
7.1.  Operation with Multi-Addressed Hosts
+
 
 +
=== Operation with Multi-Addressed Hosts ===
 +
 
 
In the context of this discussion, a Multi-Addressed host will refer
 
In the context of this discussion, a Multi-Addressed host will refer
 
to a host that has multiple protocol addresses assigned to a single
 
to a host that has multiple protocol addresses assigned to a single
Line 133: Line 144:
 
choose one address with which to respond. To make such a selection,
 
choose one address with which to respond. To make such a selection,
 
the receiving station must first look at the protocol address of the
 
the receiving station must first look at the protocol address of the
 
 
 
 
 
 
  
 
requesting station, and then respond with the protocol address
 
requesting station, and then respond with the protocol address
Line 149: Line 154:
 
does not have an IP address assigned to the interface that is a part
 
does not have an IP address assigned to the interface that is a part
 
of the requested subnet, the receiving station would not respond.
 
of the requested subnet, the receiving station would not respond.
 +
 
A multi-addressed host may choose to send an InARP request for each
 
A multi-addressed host may choose to send an InARP request for each
 
of the addresses defined for the given interface.  It should be
 
of the addresses defined for the given interface.  It should be
 
noted, however, that the receiving side may answer some or none of
 
noted, however, that the receiving side may answer some or none of
 
the requests depending on its configuration.
 
the requests depending on its configuration.
7.2.  Protocol Operation Within Frame Relay
+
 
 +
=== Protocol Operation Within Frame Relay ===
 +
 
 
One case where Inverse ARP can be used is when a new virtual circuit
 
One case where Inverse ARP can be used is when a new virtual circuit
 
is signalled.  The Frame Relay station may format an InARP request
 
is signalled.  The Frame Relay station may format an InARP request
Line 159: Line 167:
 
InARP, it may return a reply indicating the protocol address
 
InARP, it may return a reply indicating the protocol address
 
requested.
 
requested.
 +
 
The format for an InARP request is a follows:
 
The format for an InARP request is a follows:
 +
 
   ar$hrd - 0x000F the value assigned to Frame Relay
 
   ar$hrd - 0x000F the value assigned to Frame Relay
 
   ar$pro - protocol type for which you are searching
 
   ar$pro - protocol type for which you are searching
Line 172: Line 182:
 
   ar$tpa - 0; This is what we're looking for
 
   ar$tpa - 0; This is what we're looking for
  
 +
The InARP response will be completed similarly.
  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
The InARP response will be completed similarly.
 
 
   ar$hrd - 0x000F the value assigned to Frame Relay
 
   ar$hrd - 0x000F the value assigned to Frame Relay
 
   ar$pro - protocol type for which you are searching
 
   ar$pro - protocol type for which you are searching
Line 202: Line 195:
 
   ar$tha - Q.922 address of requesting station
 
   ar$tha - Q.922 address of requesting station
 
   ar$tpa - protocol 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
 
Note that the Q.922 addresses specified have the C/R, FECN, BECN, and
 
DE bits set to zero.
 
DE bits set to zero.
 +
 
Procedures for using InARP over a Frame Relay network are identical
 
Procedures for using InARP over a Frame Relay network are identical
 
to those for using ARP and RARP discussed in section 10 of the
 
to those for using ARP and RARP discussed in section 10 of the
 
Multiprotocol Interconnect over Frame Relay Networks document [3].
 
Multiprotocol Interconnect over Frame Relay Networks document [3].
== References ==
+
 
 +
== References ==
 +
 
 
[1]  Plummer, David C., "An Ethernet Address Resolution Protocol",
 
[1]  Plummer, David C., "An Ethernet Address Resolution Protocol",
 
     RFC-826, November 1982.
 
     RFC-826, November 1982.
 +
 
[2]  Reynolds, J. and Postel, J., "Assigned Numbers", RFC-1060, ISI,
 
[2]  Reynolds, J. and Postel, J., "Assigned Numbers", RFC-1060, ISI,
 
     March 1990.
 
     March 1990.
 +
 
[3]  Bradley, T., Brown, C., Malis, A.,  "Multiprotocol Interconnect
 
[3]  Bradley, T., Brown, C., Malis, A.,  "Multiprotocol Interconnect
 
     over Frame Relay Networks", RFC-1294, January 1992.
 
     over Frame Relay Networks", RFC-1294, January 1992.
 +
 
[4]  Finlayson, Mann, Mogul, Theimer, "A Reverse Address Resolution
 
[4]  Finlayson, Mann, Mogul, Theimer, "A Reverse Address Resolution
 
     Protocol", RFC-903, Stanford University, June 1984.
 
     Protocol", RFC-903, Stanford University, June 1984.
  
== Security Considerations ==
+
== Security Considerations ==
 +
 
 
Security issues are not addressed in this memo.
 
Security issues are not addressed in this memo.
  
 +
10.  Authors' Addresses
  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10.  Authors' Addresses
 
 
   Terry Bradley
 
   Terry Bradley
 
   Wellfleet Communications, Inc.
 
   Wellfleet Communications, Inc.
 
   15 Crosby Drive
 
   15 Crosby Drive
 
   Bedford, MA  01730
 
   Bedford, MA  01730
 +
 
   Phone:  (617) 275-2400
 
   Phone:  (617) 275-2400
 +
 
   Email:  [email protected]
 
   Email:  [email protected]
  
Line 247: Line 236:
 
   15 Crosby Drive
 
   15 Crosby Drive
 
   Bedford, MA  01730
 
   Bedford, MA  01730
 +
 
   Phone:  (617) 275-2400
 
   Phone:  (617) 275-2400
 +
 
   Email:  [email protected]
 
   Email:  [email protected]

Latest revision as of 21:32, 29 September 2020

Network Working Group T. Bradley Request for Comments: 1293 C. Brown

                                      Wellfleet Communications, Inc.
                                                        January 1992
              Inverse Address Resolution Protocol

Status of this Memo

This RFC specifies an IAB standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "IAB Official Protocol Standards" for the standardization state and status of this protocol. Distribution of this memo is unlimited.

Abstract

This memo describes additions to ARP that will allow a station to request a protocol address corresponding to a given hardware address. Specifically, this applies to Frame Relay stations that may have a Data Link Connection Identifier (DLCI), the Frame Relay equivalent of a hardware address, associated with an established Permanent Virtual Circuit (PVC), but do not know the protocol address of the station on the other side of this connection. It will also apply to other networks with similar circumstances.

Conventions

The following language conventions are used in the items of specification in this document:

 o Must, Will, Shall or Mandatory -- the item is an absolute
   requirement of the specification.
 o Should or Recommended -- the item should generally be
   followed for all but exceptional circumstances.
 o May or Optional -- the item is truly optional and may be
   followed or ignored according to the needs of the
   implementor.

Introduction

This document will rely heavily on Frame Relay as an example of how the Inverse Address Resolution Protocol (InARP) can be useful. It is not, however, intended that InARP be used exclusively with Frame Relay. InARP may be used in any network that provides destination hardware addresses without indicating corresponding protocol

addresses.

Motivation

The motivation for the development of Inverse ARP is a result of the desire to make dynamic address resolution within Frame Relay both possible and efficient. Permanent virtual circuits (PVCs) and eventually switched virtual circuits (SVCs) are identified by a Data Link Connection Identifier (DLCI). These DLCIs define a single virtual connection through the wide area network (WAN) and are the Frame Relay equivalent to a hardware address. Periodically, through the exchange of signalling messages, a network may announce a new virtual circuit with its corresponding DLCI. Unfortunately, protocol addressing is not included in the announcement. The station receiving such an indication will learn of the new connection, but will not be able to address the other side. Without a new configuration or mechanism for discovering the protocol address of the other side, this new virtual circuit is unusable.

Other resolution methods were considered to solve the problems, but were rejected. Reverse ARP [4], for example, seemed like a good candidate, but the response to a request is the protocol address of the requesting station not the station receiving the request as we wanted. IP specific mechanisms were limiting since we wished to allow protocol address resolution of many protocols. For this reason, we expanded the ARP protocol.

Inverse Address Resolution Protocol (InARP) will allow a Frame Relay station to discover the protocol address of a station associated with the virtual circuit. It is more efficiently than simulating a broadcast with multiple copies of the same message and it is more flexible than relying on static configuration.

Packet Format

Inverse ARP is an extension of the existing ARP. Therefore, it has the 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

Possible values for hardware and protocol types are the same as those for ARP and may be found in the current Assigned Numbers RFC [2].

Length of the hardware and protocol address are dependent on the environment in which InARP is running. 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 indicates the type of message, request or reply.

  InARP request  = 8
  InARP reply = 9

These values were chosen so as not to conflict with other ARP extensions.

Protocol Operation

Basic InARP operates essentially the same as ARP with the exception that InARP does not broadcast requests. This is because the hardware address of the destination station is already known. A requesting station simply formats a request by inserting its source hardware and protocol addresses and the known target hardware address. It then zero fills the target protocol address field. Finally, it will encapsulate the packet for the specific network and send it directly 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 as it would any ARP request. Unlike other ARP requests, however, 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 provided address information. Note: as with ARP, information learned via InARP may be aged or invalidated under certain circumstances.

Operation with Multi-Addressed Hosts

In the context of this discussion, a Multi-Addressed host will refer to a host that has multiple protocol addresses assigned to a single interface. If such a station receives an InARP request, it must choose one address with which to respond. To make such a selection, the receiving station must first look at the protocol address of the

requesting station, and then respond with the protocol address corresponding to the network of the requester. For example, if the requesting station is probing for an IP address, the responding multi-addressed station should respond with an IP address which corresponds to the same subnet as the requesting station. If the station does not have an address that is appropriate for the request it should not respond. In the IP example, if the receiving station does not have an IP address assigned to the interface that is a part of the requested subnet, the receiving station would not respond.

A multi-addressed host may choose to send an InARP request for each of the addresses defined for the given interface. It should be noted, however, that the receiving side may answer some or none of the requests depending on its configuration.

Protocol Operation Within Frame Relay

One case where Inverse ARP can be used is when a new virtual circuit is 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 indicating the protocol address requested.

The format for an InARP request is a 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 will be completed similarly.

  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.

Procedures for using InARP over a Frame Relay network are identical to those for using ARP and RARP discussed in section 10 of the Multiprotocol Interconnect over Frame Relay Networks document [3].

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.

Security Considerations

Security issues are not addressed in this memo.

10. Authors' Addresses

  Terry Bradley
  Wellfleet Communications, Inc.
  15 Crosby Drive
  Bedford, MA  01730
  Phone:  (617) 275-2400
  Email:  [email protected]
  Caralyn Brown
  Wellfleet Communications, Inc.
  15 Crosby Drive
  Bedford, MA  01730
  Phone:  (617) 275-2400
  Email:  [email protected]