ARP Request, superfluous according to RFC?

From: Hyper4S (hyper_at_4s.com)
Date: 05/28/04


Date: Fri, 28 May 2004 13:29:15 GMT

Hi,

I have a question about the ARP mechanism in Linux systems, which seems to
use superfluous ARP Requests, contradicting RFC 826
(http://www.faqs.org/rfcs/rfc826.html).

>From that RFC I deduced that when an ARP Request is made to a specific host
(the target host),

that target host not only replies with an ARP Reply, but also uses the
hardware and IP address from the source host to update it's own ARP cache.
This ensures that the target is able to communicate with

the source host, without sending an extra ARP Request. Such an extra ARP
Request would thus be superfluous.

I tried this out in my home network, consisting of a Mandrake 9.0 (the
client, IP=192.168.0.105) and a Debian 3.0 (the server, IP=192.168.0.104)
system.

I verified that the ARP caches on both systems were empty (arp -a),
whereafter I sent an ICMP echo request from the client to the server. In the
meanwhile, I sniffed the network using Ethereal on a third host.

I expected the client to send out an ARP Request to resolve the hardware
address of the server, and that happened indeed.

I also expected that the server wouldnt send out an ARP Request to resolve
the hardware address of the client, because he already could have fetched
that from the ARP Request from the client earlier. Such an ARP Request would
therefore be superfluous.

This also seemed the case. The ping succeeded, with only one ARP Request
sent.

But, after sniffing a few seconds (about 4) longer, I noticed that the
server DOES send its own ARP Request to the client, albeit with some
delay...

Other tests gave the same results.

The entire Ethereal dump is printed below.

Now my question arises: why does the server still sends out an ARP Request,
if he could have fetched the necessary info earlier from the ARP Request of
the client? And are those "4seconds" a delay, introduced by bad capturing by
Ethereal, or is this some predefined value?

Some comments on this would be greatly appreciated,

Kristof

**************************ethereal dump************************************

No. Time Source Destination Protocol Info

1 0.000000 00:0c:29:95:58:d1 ff:ff:ff:ff:ff:ff ARP Who has 192.168.0.104?
Tell 192.168.0.105

2 0.004513 00:0c:29:ae:6a:25 00:0c:29:95:58:d1 ARP 192.168.0.104 is at
00:0c:29:ae:6a:25

3 0.004517 192.168.0.105 192.168.0.104 ICMP Echo (ping) request

4 0.029150 192.168.0.104 192.168.0.105 ICMP Echo (ping) reply

5 4.560555 00:0c:29:ae:6a:25 00:0c:29:95:58:d1 ARP Who has 192.168.0.105?
Tell 192.168.0.104

6 4.560559 00:0c:29:95:58:d1 00:0c:29:ae:6a:25 ARP 192.168.0.105 is at
00:0c:29:95:58:d1

***********************end dump*****************************************



Relevant Pages

  • Re: Image download BOOTME
    ... > BOOTME packets are UDP Broadcast with port 980. ... > - When the user attach the device from PB, the host wait for an EBOOT ... > - The host send an ARP request of the IP of the target. ...
    (microsoft.public.windowsce.platbuilder)
  • Re: MiM Simultaneous close attack
    ... What you said is right.I have succeeded in this.But in this way,I failed to fake the gateway's MAC. ... 4.The gateway frequently sends arp request like arp request who is at xx.xx tell gg.gg.Because ... 6.So the gateway's mac in Host B's cache will alternate between the fakeand the correct one.I have seen the phenomena in host Bwith arp -a. ... > Arp Broadcast who-has 10.0.0.3 tell ...
    (Vuln-Dev)
  • RE: arpwatch
    ... host, not the host for whom an ARP request has been made. ... is broadcasted it will work on a switched network. ... I don't agree, arp requests are broadcasts. ...
    (Security-Basics)
  • Re: VMware ESXi
    ... Virtual Server because my bios does not support virtualization. ... the vSpere client on my XP workstation. ... Now I want to create another VM on the same host this ... egg scenario if you have VMWare running with a DHCP assigned ...
    (microsoft.public.windows.server.sbs)
  • Re: VMware ESXi
    ... the vSpere client on my XP workstation. ... Now I want to create another VM on the same host this ... the VM server through the client and then click the DVD/CD Connect ... egg scenario if you have VMWare running with a DHCP assigned ...
    (microsoft.public.windows.server.sbs)