Comments about the test

No. Title Result Log Script Packet Dump
(bin)
Dump
(txt)
3 DAD Success when NUT received no packet on Stateless Link-local address autoconfiguration FAIL X X X Link0 Link0

Category

Commentaries

DAD でアドレス重複を検出しなかった場合、正しくアドレスが設定されることを 確認するテスト。
Linux の link-loacal アドレスが設定されているはず(注1) なのに、 DAD NS に対して NA を応答しない。
このため、すでに Linux が使っているアドレスを、他の実装が使ってしまう 可能性がある。(注2)
注1:
テストでは、DAD が終了(アドレス重複していないことを確認)してから、 1 秒(=RetransTimer)経過した時点では、Linux のアドレスが設定されていない (DAD NS に対して NA を応答しない) ことを確認した。 またテストとは別に、少なくとも30秒程度経過すれば、Linux のアドレスが設定される (DAD NS に対し NA を応答する) ことを、確認している。
このことから Linux は、DAD が終了してからアドレスを設定するまでに、 時間がかかっている可能性がある。
RFC2462 には、DAD が終了してから、アドレス設定されるまでの時間の規定はない。 しかし DAD の趣旨からすれば、DAD 終了後すぐにアドレス設定しないと意味がないので、 遅くとも RetransTimer 後にはアドレス設定されると想定した。
注2:
注1 のような動作をする場合、Linux→他の実装、の順に(例えば2秒間をおいて) 同じアドレスを設定したときに、アドレス重複検出できない可能性がある。

References

RFC 2461 Neighbor Discovery for IPv6
7.2.3.  Receipt of Neighbor Solicitations

   A valid Neighbor Solicitation that does not meet any the following
   requirements MUST be silently discarded:

    - The Target Address is a "valid" unicast or anycast address
      assigned to the receiving interface [ADDRCONF],

    - The Target Address is a unicast address for which the node is
      offering proxy service, or

    - The Target Address is a "tentative" address on which Duplicate
      Address Detection is being performed [ADDRCONF].

   If the Target Address is tentative, the Neighbor Solicitation should
   be processed as described in [ADDRCONF].  Otherwise, the following
   description applies.  If the Source Address is not the unspecified
   address and, on link layers that have addresses, the solicitation
   includes a Source Link-Layer Address option, then the recipient
   SHOULD create or update the Neighbor Cache entry for the IP Source
   Address of the solicitation.  If an entry does not already exist, the
   node SHOULD create a new one and set its reachability state to STALE
   as specified in Section 7.3.3.  If an entry already exists, and the
   cached link-layer address differs from the one in the received Source
   Link-Layer option, the cached address should be replaced by the
   received address and the entry's reachability state MUST be set to
   STALE.

   If a Neighbor Cache entry is created the IsRouter flag SHOULD be set
   to FALSE.  This will be the case even if the Neighbor Solicitation is
   sent by a router since the Neighbor Solicitation messages do not
   contain an indication of whether or not the sender is a router.  In
   the event that the sender is a router, subsequent Neighbor
   Advertisement or Router Advertisement messages will set the correct
   IsRouter value.  If a Neighbor Cache entry already exists its
   IsRouter flag MUST NOT be modified.
   
   If the Source Address is the unspecified address the node MUST NOT
   create or update the Neighbor Cache entry.

   After any updates to the Neighbor Cache, the node sends a Neighbor
   Advertisement response as described in the next section.

7.2.4.  Sending Solicited Neighbor Advertisements

   A node sends a Neighbor Advertisement in response to a valid Neighbor
   Solicitation targeting one of the node's assigned addresses.  The
   Target Address of the advertisement is copied from the Target Address
   of the solicitation.  If the solicitation's IP Destination Address is
   not a multicast address, the Target Link-Layer Address option MAY be
   omitted; the neighboring node's cached value must already be current
   in order for the solicitation to have been received.  If the
   solicitation's IP Destination Address is a multicast address, the
   Target Link-Layer option MUST be included in the advertisement.
   Furthermore, if the node is a router, it MUST set the Router flag to
   one; otherwise it MUST set the flag to zero.

   If the Target Address is either an anycast address or a unicast
   address for which the node is providing proxy service, or the Target
   Link-Layer Address option is not included, the Override flag SHOULD
   be set to zero.  Otherwise, the Override flag SHOULD be set to one.
   Proper setting of the Override flag ensures that nodes give
   preference to non-proxy advertisements, even when received after
   proxy advertisements, and also ensures that the first advertisement
   for an anycast address "wins".
   
   If the source of the solicitation is the unspecified address, the
   node MUST set the Solicited flag to zero and multicast the
   advertisement to the all-nodes address. Otherwise, the node MUST set
   the Solicited flag to one and unicast the advertisement to the Source
   Address of the solicitation.

   If the Target Address is an anycast address the sender SHOULD delay
   sending a response for a random time between 0 and
   MAX_ANYCAST_DELAY_TIME seconds.

   Because unicast Neighbor Solicitations are not required to include a
   Source Link-Layer Address, it is possible that a node sending a
   solicited Neighbor Advertisement does not have a corresponding link-
   layer address for its neighbor in its Neighbor Cache.  In such
   situations, a node will first have to use Neighbor Discovery to
   determine the link-layer address of its neighbor (i.e, send out a
   multicast Neighbor Solicitation).

Notes

Implementors information


[email protected]