ARP table updates - how do they work??
- From: queisser <aqueisser@xxxxxxxxx>
- Date: Wed, 26 Mar 2008 16:00:03 -0700 (PDT)
I was under the assumption that any received packet would update the
ARP table but apparently only incoming ARP requests help populate the
ARP table. I set up the following experiment:
1) clear out ARP tables on machine A and B
2) ping from A to B
3) clear out ARP table on machine B
4) ping from A to B again
I expected to see machine A send an ARP request in step 2 and machine
B to cache the ARP entry for machine A as a result. That's exactly
what happened, good.
For step 3) I expected to see the ARP table on machine B (the target
of the ping) to update itself from the as soon as the next ping came
in. Instead I see machine B do an ARP request before sending the first
ping reply because I had wiped out the ARP cache. Why doesn't B simply
enter machine A in the arp cache when it gets the ping packet? Seems
like that would save time and be just as safe as taking the address
from arp requests.
So here's what happend when A had an ARP entry for B but B did not
have an entry for A:
A -> B ping req
B -> bcast ARP req
A -> B ARP resp
B -> A ping reply
A -> B ping req
B -> A ping reply
....
.
- Prev by Date: Re: tcp handshake and InternetOpenURL
- Next by Date: Re: Receiving multiple UDP packets at once / UDP socket hangs
- Previous by thread: Re: Find Default NIC card
- Next by thread: Re: Receiving multiple UDP packets at once / UDP socket hangs
- Index(es):
Relevant Pages
|