[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [DNA-BOF] DAD Optimization Problem Statement



Dear Jari 

Kindly find my inline comments. 
 
> >    Another problem of the current DAD is that it guarantees the
> >    uniqueness of an address only inside a link. Hence, when two adjacent
> >    links have the same prefix and any two hosts are individually located
> >    at the two links, the two hosts can have same address. If the two
> >    hosts meet at one of the two links, the address collision will occur.
> 
> I don't understand.

Current DAD scheme uses NS/ NA exchange which can't go over a router. 
Hence if there exists a duplicate (global) address in an another link, a node 
can't detect its presence. 

> > 3.3 Link local scope of DAD
> > 
> >    The current DAD scheme can guarantee the uniqueness of an address
> >    only inside a link. It uses the Neighbor Solicitation/Neighbor
> >    Advertisement message exchange to detect duplicate address. Because
> >    the messages can't go over a router, DAD may not detect a duplicate
> >    address in an another link.
> > 
> >    Here is an example. Assume a router has two interface attached to two
> >    separate links. It assigns the same prefix A:: to them and advertises
> >    the Router Advertisement messages with the prefix A:: with L bit
> >    (on-link flag) off and A bit (autonomous address-configuration flag)
> >    on.
> 
> Can someone educate me on the use of L=0 advertisements? Why
> are they used? 

This is tricky and gave me some trouble when I thought over movement 
detection. 

My guess is that it enables the node to check whether it has a valid address. 
In other words, if its IP address belongs to the advertised prefix (whether 
L=0 or L=1), the node can expect that the internet routing system will deliver 
packets destined to that address to itself. 

> Seems that the RFC 2462 Section 5.5.3 rules
> say even an L=0 advertisement causes an address to be configured
> and DAD invoked.

As in RFC 2461, a prefix might be used for address configuration with 
some of the addresses belonging to the prefix being on-link and others 
being off-link. 

But I am afraid this kind of usage may result in duplicate addresses 
like below. 
 
> >                            +------+
> >                  A::       |      |         A::
> >             ---------+-----+Router+-----+---------
> >                      |     |      |     |
> >                 A::1 |     +------+     | A::1
> >                  +---+---+          +---+---+
> >                  | Host1 |          | Host2 |
> >                  +-------+          +-------+
> > 
> > 
> >    Assume there is a host with address A::1 in the first link. Then
> >    another host arrives at the second link and forms an address with
> >    stateless address autoconfiguration. The second host happens to have
> >    1 as its interface id and picks A::1 as its address. Then, even
> >    though the second host performs DAD, it can not detect the duplicate
> >    address at the first link. If the second host moves to the first link
> >    (or the first host moves to the second link), hence, the address
> >    collision occurs, because the moving host considers the new link as
> >    the same link as the previous one and does not create a new address
> >    at the new link.
> 
> Isn't this just because the node failed to notice that it was
> on a new link? This would happen for link-local addresses, too,
> without considering any RAs.

Address collision occurs even when two nodes remain at two separate links. 
In the above example, the problem is that two nodes happen to have the 
same global IP address and have no way to detect it. 

I think the above paragraph is misleading. The paragraph after 'If the second 
host moves....' should be deleted like below.  

Assume there is a host with address A::1 in the first link. Then
another host arrives at the second link and forms an address with
stateless address autoconfiguration. The second host happens to have
1 as its interface id and picks A::1 as its address. Then, even
though the second host performs DAD, it can not detect the duplicate
address at the first link.