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