ネットワークエンジニアを目指して・TCP/UDP - IPv6 NDP(Neighbor Discovery Protocol)

前回はリンクローカル・ユニキャストアドレスを割り当てるまでを
解説しました。

その後はグローバル・ユニキャストアドレスの割り当てを行うわけですが、
その際に NDP というプロトコルを使用します。

そこで今回はこの「NDP」について解説していきましょう。

 

NDP(Neighbor Discovery Protocol)

リンクローカル・ユニキャストアドレスを割り当てた後は、
グローバル・ユニキャストアドレスの割り当てを行うわけですが、
その際に NDP というプロトコルを使用します。

NDPIPv6向けに開発されたプロトコルで、IPv4では、
データリンク層のアドレス解決に、ARPを使用していましたが、
IPv6では、データリンク層のアドレス解決に NDP を使用します。

NDP の主な機能は以下の通りです。

  • リンク上に存在する近隣ノードのMAC アドレスの判別
  • アドレスの変更・停止検出
  • 近隣ノードへの到達性のチェック
  • リンク上にいるルータの検出及びパケットの転送先としての設定

NDP で利用される主なメッセージには以下のようなものがあります。

・近隣要請パケット (NS:Neighbor Solicitation)
特定のノードの MAC アドレスを解決するための要求で、
IPv4 の ARP リクエストと同じ動作です。
しかし IPv6 アドレスはブロードキャストが存在しないため、
マルチキャストを使用して送信します。

 

・近隣通知パケット (NA:neighbor Advertisement)
NS パケットに対する応答パケットです。

また前回説明した、重複アドレスを探すための DAD
(Duplicate Address Detection)も NS パケットと NA パケットを
使用して行います。

まず、アドレスを生成したノードから、NS パケットを
マルチキャストアドレス宛に生成したアドレスとともに送信します。

他のノードが NS パケットを受信し、付与されていたアドレスを
すでに使用している場合は、NA パケットを返信します。

どこからも NA パケットが返信されなければ、誰もそのアドレスを
使用していないことになります。

 

・ルータ要請パケット (RS:Router Solicitation)
リンク上のルータに向けて、ノードから送信されるリクエストパケット。
ノードがネットワークアドレス(プレフィクス)やゲートウェイアドレスなど
の情報を取得したい場合に、要求パケットとして送信されます。

RS パケットはノードが初めてリンクに接続されたときや、
ノードの再起動などによってインタフェースが初期化されたときなどに
送信されます。

 

・ルータ応答パケット (RA:Router Advertisement)
RS パケットに対する応答パケット。
RA パケットは RS パケットによって要求されたとき以外にも、
ルータが定期的に発行します。

 

・リダイレクトメッセージ
宛先に到達するために最適なネクストホップをノードに
通知するための ICMPv6 メッセージです。

以上が NDP の基本的な機能となります。

 

関連記事

メールマガジン

ネットワ-ク初心者のみなさま。
ネットワークの基礎知識を疎かにすることは
大変危険です!!

「初心者にも理解できるネットワーク技術」

これを読めばネットワークの基礎が分かる!!
ネットワーク関連の仕事に就きたいとお考えの学生の方や、ネットワークに興味があって転職を考えている社会人の方、まずは登録してみてください。

もちろん無料です!!

↓メールマガジン購読はこちら↓

メールアドレス: