ARP request retransmitting
    Chuck Swiger 
    cswiger at mac.com
       
    Mon Nov  7 08:16:31 PST 2005
    
    
  
Hi--
Gleb Smirnoff wrote:
>   I have a proposition on changing the behavior of ARP retransmitting.
> Currently we after sending several ARP requests, sending ARP requests
> for given IP is suppressed for some interval (by default 20 seconds).
> Probably this feature was designed in early 90th, when sending one
> additional broadcast packet was an expensive thing.
Well, we've got ten or a hundred times as much bandwidth, so sending more data 
is relatively cheap, but the per-packet overhead hasn't improved to the same 
extent.  ARP requests still get sent to and are processed by all machines on 
the network, even if a switch is being used.
>   I suggest to keep sending ARP requests while there is a demand for
> this (we are trying to transmit packets to this particular IP),
> ratelimiting these requests to one per second. This will help in a
> quite common case, when some host on net is rebooting, and we are
> waiting for him to come up, and notice this only after 1 - 20 seconds
> since the time it is reachable.
> 
>   Any objections?
No, no objection.  However, this type of situation could be handled by either 
an incremental or exponential timeout.  Instead of waiting:
1 1 1 1 1
...seconds between packets as you proposed, consider waiting either of:
1 2 3 4 5
1 2 4 8 16
...seconds, and cap the maximum wait between ARP requests to 16 or so.  Backing 
off politely and gradually when the host is not getting any answers is more 
network-friendly.
-- 
-Chuck
    
    
More information about the freebsd-arch
mailing list