Hello,

my proposition is the same as Teemu's or very similar.

1) I propose to change the default Lifetime from
[MaxRtrAdvInterval, 2*MaxRtrAdvInterva] to a single
agreed-upon recommended default value. Almost nobody
would need to change this default value.

5*MaxRtrAdvInterval is IMO a good value to start with. This should
be enough to avoid the need to send RS.

2) I propose to add at least some best practice about router
solicitations. Typically, RS should only be used as a last resort.

I suggest to start sending RS at 0.8*Lifetime +/- 0.1*Lifetime (if
sending RS at all) and repeat let's say every 10-20 seconds.

Note:

Please remember that wireless links *sometimes* lose packets. Please
remember that wireless links *often* lose multicast packets. Even
some ethernet switches do.

Example:

MaxRtrAdvInterval = 10 minutes
AdvRDNSSLifetime = (Default) 5*MaxRtrAdvInterval = 50 minutes
0.8*Lifetime = 40 minutes
0.1*Lifetime = 5 minutes

Let's simplify the situation and act as if MaxRtrAdvInterval is the
absolute interval (it is not!).

00:00 Router Advertisement, Lifetime = 50 minutes
00:10 Lifetime = 40 minutes (it could already time out according to the
current RFC)
00:10 Router Advertisement (lost)
00:20 Lifetime = 30 minutes
00:20 Router Advertisement (lost again)
00:30 Lifetime = 20 minutes
00:30 Router Advertisement (lost the third time!)
00:35 Lifetime = 15 minutes
00:35 This is the first time RS can be sent with this best practice
(the last time is 00:45, counted like that 0.8*00:50 +/- 0.1*00:50)
00:35 Router Solicitation

Since then, router solicitations would be issued regularly until
client recieves RA with RDNSS, connection is cancelled by user or:

00:50 Lifetime = 0
00:50 RDNSS expired

Note:

It is not perfect. The concept of finitely valid RDNSS is quite new.
There is an open question, when to consider RDNSS information lost. It
could be:

1) Last RDNSS from RAs expired.
2) Last IPv6 RDNSS expired (RDNSS or DHCPv6)
3) Last RDNSS lost (IPv6 or IPv4)

Pavel Simerda


On Thu, 2012-04-26 at 14:00 +0200, Ole Trøan wrote:
> Pavel,
> 
> I concur with your description of the problem.
> do you have a proposal for how it can be solved?
> 
> Best regards,
> Ole
> 
> 
> On Apr 19, 2012, at 23:32 , Pavel Šimerda wrote:
> 
> > Hello,
> > 
> > I'm starting my work on linux NetworkManager. I've been following
> > several bugreports during the recent months that all lead to problems
> > with maintaining the list of recursive nameservers.
> > 
> > I've already spent quite some time analyzing RDNSS problems and I came
> > to a conclusion that the problem actually lives in the RFC itself.
> > 
> > Please look at section 5.1. in RFC 6106. It states:
> > 
> > MaxRtrAdvInterval <= Lifetime <= 2*MaxRtrAdvInterval
> > 
> > Considering MaxRtrAdvInterval the maximum time between RAs, setting
> > Lifetime to MaxRtrAdvInterval IMO constitutes a race condition.
> > Moreover, any Lifetime in this interval can timeout with just one or two
> > lost RAs.
> > 
> > This makes RA-based IPv6-only networks drop RDNSS regularly. In many
> > implementations IPv6 and IPv4 are bound together so that if one of them
> > fails, the whole link is restarted. This is also the case in
> > NetworkManager.
> > 
> > In the current situation, it's not advisable to use RFC 6106 in
> > production because it can cause problems even to IPv4 applications.
> > 
> > In the real world, radvd uses Lifetime=MaxRtrAdvInterval by default and
> > NetworkManager internally adds 10s to the lifetime, that only helps to
> > avoid the race condition but not lost packets that are common on
> > wireless networks.
> > 
> > I appreciate any help to get this right both in the standards and in the
> > software.
> > 
> > Cheers,
> > 
> > Pavel Šimerda
> > 
> > 
> > --------------------------------------------------------------------
> > IETF IPv6 working group mailing list
> > ipv6@ietf.org
> > Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
> > --------------------------------------------------------------------
> 


--------------------------------------------------------------------
IETF IPv6 working group mailing list
ipv6@ietf.org
Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
--------------------------------------------------------------------

Reply via email to