1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333
|
<pre>Network Working Group T. Bradley
Request for Comments: 1293 C. Brown
Wellfleet Communications, Inc.
January 1992
<span class="h1">Inverse Address Resolution Protocol</span>
<span class="h2"><a class="selflink" id="section-1" href="#section-1">1</a>. Status of this Memo</span>
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.
<span class="h2"><a class="selflink" id="section-2" href="#section-2">2</a>. Abstract</span>
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.
<span class="h2"><a class="selflink" id="section-3" href="#section-3">3</a>. Conventions</span>
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.
<span class="h2"><a class="selflink" id="section-4" href="#section-4">4</a>. Introduction</span>
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
<span class="grey">Bradley, Brown [Page 1]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-2" ></span>
<span class="grey"><a href="./rfc1293">RFC 1293</a> Inverse ARP January 1992</span>
addresses.
<span class="h2"><a class="selflink" id="section-5" href="#section-5">5</a>. Motivation</span>
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 [<a href="#ref-4" title=""A Reverse Address Resolution Protocol"">4</a>], 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.
<span class="h2"><a class="selflink" id="section-6" href="#section-6">6</a>. Packet Format</span>
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
<span class="grey">Bradley, Brown [Page 2]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-3" ></span>
<span class="grey"><a href="./rfc1293">RFC 1293</a> Inverse ARP January 1992</span>
Possible values for hardware and protocol types are the same as those
for ARP and may be found in the current Assigned Numbers RFC [<a href="#ref-2" title=""Assigned Numbers"">2</a>].
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.
<span class="h2"><a class="selflink" id="section-7" href="#section-7">7</a>. Protocol Operation</span>
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.
<span class="h3"><a class="selflink" id="section-7.1" href="#section-7.1">7.1</a>. Operation with Multi-Addressed Hosts</span>
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
<span class="grey">Bradley, Brown [Page 3]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-4" ></span>
<span class="grey"><a href="./rfc1293">RFC 1293</a> Inverse ARP January 1992</span>
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.
<span class="h3"><a class="selflink" id="section-7.2" href="#section-7.2">7.2</a>. Protocol Operation Within Frame Relay</span>
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
<span class="grey">Bradley, Brown [Page 4]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-5" ></span>
<span class="grey"><a href="./rfc1293">RFC 1293</a> Inverse ARP January 1992</span>
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 <a href="#section-10">section 10</a> of the
Multiprotocol Interconnect over Frame Relay Networks document [<a href="#ref-3" title=""Multiprotocol Interconnect over Frame Relay Networks"">3</a>].
<span class="h2"><a class="selflink" id="section-8" href="#section-8">8</a>. References</span>
[<a id="ref-1">1</a>] Plummer, David C., "An Ethernet Address Resolution Protocol",
<a href="./rfc826">RFC-826</a>, November 1982.
[<a id="ref-2">2</a>] Reynolds, J. and Postel, J., "Assigned Numbers", <a href="./rfc1060">RFC-1060</a>, ISI,
March 1990.
[<a id="ref-3">3</a>] Bradley, T., Brown, C., Malis, A., "Multiprotocol Interconnect
over Frame Relay Networks", <a href="./rfc1294">RFC-1294</a>, January 1992.
[<a id="ref-4">4</a>] Finlayson, Mann, Mogul, Theimer, "A Reverse Address Resolution
Protocol", <a href="./rfc903">RFC-903</a>, Stanford University, June 1984.
<span class="h2"><a class="selflink" id="section-9" href="#section-9">9</a>. Security Considerations</span>
Security issues are not addressed in this memo.
<span class="grey">Bradley, Brown [Page 5]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-6" ></span>
<span class="grey"><a href="./rfc1293">RFC 1293</a> Inverse ARP January 1992</span>
<span class="h2"><a class="selflink" id="section-10" href="#section-10">10</a>. Authors' Addresses</span>
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
Bradley, Brown [Page 6]
</pre>
|