重複アドレス検出

読み:ちょうふくあどれすけんしゅつ / 英語表記:Duplicate Address Detection

IPv6で、自分が使おうとしているアドレスが、同じネットワークのほかの機器と重複していないかを使う前に確かめる仕組み。近隣探索プロトコルの機能の1つ。

イマシルちゃんの解説

新しく引っ越してきたら、表札を出す前に「この名前、ご近所に同じ人いませんか?」って確かめたくなるよね。
もし同じ名前の人がいたら、郵便物が混ざっちゃう!

IPv6の機器も、アドレスを使い始める前に「このアドレスを使ってる人はいませんか?」って聞いて回るんだ。
返事がなければ、晴れてそのアドレスを使えるよ!

より深い解説

定義

重複アドレス検出(DAD:Duplicate Address Detection)は、RFC 4862で定められた、IPv6アドレスの重複を確かめる手順である。近隣探索プロトコル(NDP)の近隣要請(NS)メッセージを使う。

自動生成したアドレスでも、手動で設定したアドレスでも、リンクローカルアドレスを含むすべてのユニキャストアドレスについて行う。

手順

  1. 使おうとするアドレスを「仮のアドレス」(tentative address)として扱い、まだ通信には使わない
  2. その仮のアドレスを問い合わせる近隣要請(NS)を送る
  1. 一定時間内に、そのアドレスについての近隣広告(NA)が返ってこなければ、重複なしと判断してアドレスを使い始める
  2. NAが返ってきたら、すでにほかの機器が使っているので、そのアドレスは使わない

重複が見つかったとき

重複が見つかったアドレスは使われない。特に、MACアドレスから作るリンクローカルアドレスが重複した場合は、MACアドレスの重複などハードウェアの問題が疑われるため、そのインタフェースでのIPv6の通信が止まることがある。

IPv4との比較

IPv4にも、ARPを使って同じことを行う仕組み(Gratuitous ARP、RFC 5227のアドレス競合検出)があるが、必須ではない。IPv6ではアドレスを自動生成すること(SLAAC)が前提なので、DADが標準の手順として組み込まれている。

実際の試験ではここに出る!

この用語が出てくる記事

↑