Subject: [MOBILE-IP] MIPv6 address conflict checking?

From: Jon-Olov Vatn <[email-masked]>
Date: Thu, 9 Dec 1999 11:46:12 +0100

An IPv6 node attached to a multicast enabled link, can use "IPv6
stateless autoconfiguration" (rfc 2462) to form a link-local and a
globally routable IPv6 address. The link-local address is formed by
appending the interface identifier to the well-known link-local prefix
and the global address is formed by appending the interface identifier
to the subnet prefix announced by a present router.

* If a Mobile IPv6 Node uses IPv6 stateless autoconfiguration to form
  care-of addresses, does it have to verify the uniqueness of the link
  local and globally routable address when it moves to a new IPv6
  subnet?

RFC 2462 describes the use of Neighbor Solicitation and Neighbor
Advertisement messages to detect address conflicts, however, it is not
clear to me whether doing this is a requirement. If it is a
requirement, making a fast handover is difficult, as waiting for a
Neighbor Advertisement "not to appear" is time consuming.

Given that the Mobile Node is assigned some global identifier (such as
an IEEE 48 bit MAC address), it can form a unique interface identifier
according to the IEEE EUI-64 format (rfc 2373, IP version 6 Addressing
Architecture). 

* Would it be ok to skip address conflict checking in this case?
* Or, could one perhaps do address conflict checking "reactively"
  (i.e. let the Mobile Node start to use the address immediately and
  resolve the rare(?) conflicts afterwards if they occur)?
* What do current Mobile IPv6 implementations do?

/J-O

----------------------------------------------------------------------
Jon-Olov Vatn                         Email:    [email-masked]
Royal Institute of Technology         Address:  KTH-Electrum/204    
Dep. of Teleinformatics                         S-164 40 Kista  SWEDEN
Telecommunication System Lab.         Tel:      +46 8 752 14 24
                                      Fax:      +46 8 751 17 93

---

From: Francis Dupont <[email-masked]>
Date: Thu, 9 Dec 1999 17:44:57 +0100

In your previous mail you wrote:

=> it SHOULD do it. Usually the DAD (uniqueness check) is done only
on the link-local address because other addresses are derived from it
using stateless autoconfiguration.

   RFC 2462 describes the use of Neighbor Solicitation and Neighbor
   Advertisement messages to detect address conflicts, however, it is not
   clear to me whether doing this is a requirement.

=> it is not a requirement but a very useful feature.

   If it is a requirement, making a fast handover is difficult,
   as waiting for a Neighbor Advertisement "not to appear" is time consuming.

=> it is a safety against speed trade-off. Personally I prefer safety...

=> same question, same answer.

=> if there is a conflict (rare because interface ID has 64 bits,
ie. you need more than 2^32 nodes to get collisions) you are dead!
The real problem is not with collisions but with management (ie. human)
errors and DAD is the only way to detect them before a disaster.
(believe me, DAD is *useful*!)

=> when a new interface is inserted my implementation does a (fast) DAD
(fast: no extra delay, cf RFC 2462 5.4.2 last paragraph), in other cases
(like when the mobile is connected to a new LAN without a clear indication
from lower layer) no DAD is done because in general it is too late to
avoid a conflict.

My opinion is when you are using something like a wireless or a cellular
network a lower layer mechanism can be far faster than mobile IPv6
handover, but you still need mobile IPv6 because it is more general,
for instance you can change the technology (for instance leave your
9600bits/s GSM data expensive service for a 100Mbits/s cheap Ethernet).
Then the speed of handover is not an issue for me.

Thanks

[email-masked]

---

From: Jon-Olov Vatn <[email-masked]>
Date: Sat, 11 Dec 1999 15:11:56 +0100

> from lower layer) no DAD is done because in general it is too late to

What about the case when you get an indication from the lower layer,
e.g., if your wavelan driver notifies that you have changed access point?

> Then the speed of handover is not an issue for me.

I agree that link layer mechanisms is preferred if you want a fast
handover, but that requires the access points to be on the same
IPv6 subnet?
If you also want to provide IPv6 multicast, you will probably want
to limit the number of access points per subnet.
 
/J-O

---

From: Francis Dupont <[email-masked]>
Date: Sat, 11 Dec 1999 17:56:16 +0100

=> my WaveLAN doesn't notify this... If you have a reliable indication
from the lower layer you MAY do a DAD. There is a thread about what
to do in such a case in the IPng mailing list.

=> yes and access points should be interconnected with a LAN
(WaveLAN access points are in fact an Ethernet + two WaveLANs bridge
and can/should be used this way).

=> you can limit multicast traffic using MLD spoofing (as we do
for IPv4 multicast with IGMP spoofing).

[email-masked]