近隣者発見プロトコル

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

近隣者発見プロトコル(きんりんしゃはっけん-)は、IPv6 (インターネット・プロトコル・バージョン 6) における近隣者発見(Neighbor Discovery) のためのプロトコル。NDP と略称される。

近隣者発見プロトコルは RFC 2461 において定義されている。 IPv4 においては近隣者発見のために ARP (Address Resolution Protocol) という専用のプロトコルが使用されたが、IPv6 においてはそのために ICMPv6 (IPv6 のためのインターネット制御メッセージ・プロトコル) が使用される。近隣探索プロトコルまたは近隣発見プロトコルと翻訳されることもある。

近隣者発見の機能[編集]

この方法によってつぎのような機能が実現される。

  • ルータ発見 (Router Discovery): ホスト・コンピュータがそれと同一リンク上にあるルータの位置を特定する。
  • プレフィックス発見 (Prefix Discovery): ホスト・コンピュータが接続されたリンクのアドレス・プレフィックスをみつける。
  • パラメタ発見 (Parameter Discovery): リンク MTU や外向きパケットのホップ・リミットのようなインターネット・パラメータを学習する。
  • アドレス自動設定 (Address Autoconfiguration): インタフェースに自動的にアドレスを設定する。
  • アドレス解決 (Address Resolution): 宛先 IPアドレスだけを知っているときにリンク上の宛先 (たとえば近隣者) のリンク層アドレスを決定する。
  • 次転送先決定 (Next-hop Determination): 宛先 IP アドレスをそのパケットを送るべき近隣者の IP アドレスにマップする。
  • 近隣者到達不可能性検出 (NUD, Neighbor Unreachability Detection): 近隣者にもはや連絡可能ではないことを知る。
  • 重複アドレス検出 (DAD, Duplicate Address Detection): 使おうとしたアドレスを他のノードが使用していないかどうかを知る。
  • リダイレクト (Redirect): 特定の宛先に届けるためによりよい次転送先ノードがあるとルータがホストに知らせる。

プロトコル・メッセージ[編集]

上記の機能を実現するため、次のような 5 種類の ICMPv6 パケットが使用される。

  • ルータ要請 (Router Solicitation): インタフェースが使用可能になったとき、ホストがルータにルータ要請を送ることによって、次の予定されたルータ広告の前にすぐにルータ広告を受信することができる。
  • ルータ広告 (Router Advertisement): ルータが周期的またはルータ要請メッセージにこたえて、ルータの存在と種々なリンクとインターネット・パラメータを広告する。
  • 近隣者要請 (Neighbor Solicitation): 近隣者のリンク層アドレスを決定するか、キャッシュされたリンク層アドレスで近隣者にまだ到達可能であるかを確かめるためにノードから送信される。
  • 近隣者広告 (Neighbor Advertisement): 近隣者要請メッセージに対する応答。 または、ノードがリンク層アドレスの変更を通知するために要請されていない近隣者広告を送信することもある。
  • リダイレクト (Redirect): もっとよい次転送先をルータがホストに知らせるために使用される。

RFC[編集]

  • RFC 2461 – Neighbor Discovery for IP Version 6 (IPv6)
  • RFC 3122 – Extensions to IPv6 Neighbor Discovery for Inverse Discovery Specification

関連項目[編集]

  • IPv6
  • ICMPv6 (Internet Control Message Protocol for IPv6)