ARP request retransmitting

Gleb Smirnoff glebius at FreeBSD.org
Mon Nov 7 06:53:03 PST 2005


On Mon, Nov 07, 2005 at 02:40:43PM +0000, Robert Watson wrote:
R> > I have a proposition on changing the behavior of ARP retransmitting. 
R> >Currently we after sending several ARP requests, sending ARP requests 
R> >for given IP is suppressed for some interval (by default 20 seconds). 
R> >Probably this feature was designed in early 90th, when sending one 
R> >additional broadcast packet was an expensive thing.
R> >
R> > I suggest to keep sending ARP requests while there is a demand for this 
R> >(we are trying to transmit packets to this particular IP), ratelimiting 
R> >these requests to one per second. This will help in a quite common case, 
R> >when some host on net is rebooting, and we are waiting for him to come 
R> >up, and notice this only after 1 - 20 seconds since the time it is 
R> >reachable.
R> 
R> While networks have gotten a lot faster in the last few years, I've 
R> noticed that many of the ones I deal with have also gotten a lot larger in 
R> terms of number of hosts.  This has been possible both because of the 
R> absolute increase in bandwidth, and also because of the widespread use of 
R> switches to suppress unnecessary unicast traffic to segments.  I worry 
R> that significantly increasing the amount of broadcast traffic will be a 
R> problem for sites with large bridged network configurations.  On the other 
R> hand, they already have to deal with things like windows network 
R> neighborhoods, various service discovery protocols, and so on.
R> 
R> Do you have any information on what other operating systems may have done 
R> in terms of tweaking ARP for improved responsiveness?  I imagine we can't 
R> be the first to discuss such changes, and if there is already a widely 
R> deployed system with ARP adaptations of this sort, it would be interesting 
R> to know if they've seen any problems or have recommendations.

Frankly speaking, I have written my email after looking at Linux behavior.
It sends one ARP request per second while there is demand for this ARP entry.
After demand has disapparead, it sends a few retransmits driven by timer. If
again there is a demand, it starts to retransmit again. Under "demand" here
I mean a traffic to this particular IP, either locally generated or routed.

-- 
Totus tuus, Glebius.
GLEBIUS-RIPN GLEB-RIPE


More information about the freebsd-arch mailing list