【入門編】 ICMPv6と近隣探索プロトコル(NDP)の役割 – ネットワーク基礎とWebセキュリティ実践ガイド

「ARPはもう古い?」IPv6の近隣探索(NDP)を郵便配達に例えて徹底解説!

ネットワークエンジニアの皆さん、こんにちは!
日々、インフラ構築やトラブルシューティングの現場に立っていると、「IPv6って結局何が便利なの?」という疑問をぶつけられることがよくあります。

確かに、IPアドレスが128ビットになったことで桁数は増えましたが、それだけではありません。実はIPv6では、私たちのネットワークを長年支えてきた「ARP(Address Resolution Protocol)」という仕組みが根本から見直され、より賢く、より自動化された「NDP(Neighbor Discovery Protocol:近隣探索プロトコル)」という仕組みに生まれ変わりました。

今回は、このNDPがネットワークの世界で一体どんな「郵便配達」を行っているのか、専門用語を極力減らして紐解いていきましょう。一歩ずつ、一緒に見ていきましょうね!

—

1. 昔のネットワークは「大声で叫んでいた」?(ARPの限界)

IPv4の世界では、通信相手のMACアドレス(物理的な住所)を知るために、ネットワーク内の全員に対して「◯◯というIPアドレスを持っている人は誰ですか?」と大声で叫ぶ必要がありました。これがARPです。

しかし、全員に聞こえるように叫ぶ(ブロードキャスト)のは、セキュリティ的にも効率的にもあまりよろしくありません。そこでIPv6では、この無駄を省き、よりスマートに相手を探す仕組みとしてNDPが導入されました。

—

2. IPv6の郵便配達員:NDPの4つの主役

NDPの役割は、大きく分けて「相手探し(アドレス解決)」と「住所の配布(プレフィックス配布)」の2つです。これを現実の郵便配達に例えてみましょう。

① 近隣要請(NS:Neighbor Solicitation)

「誰か『〇〇さん』の住所(MACアドレス)を知りませんか?」
自分が送りたい相手のIPアドレスは知っているけれど、物理的な住所がわからないときに、近所のネットワーク機器に向けて投げる「問い合わせ」です。

② 近隣広告(NA:Neighbor Advertisement)

「はい、私がその『〇〇』です。私の住所はこれですよ」
NSを受け取った本人が、「自分ですよ!」と自分の住所を名乗り出る返信です。

③ ルーター要請(RS:Router Solicitation)

「この街のルール(ネットワーク設定)を教えてくれるルーターさんはどこですか?」
PCをネットワークに繋いだ直後、まずは設定を教えてくれるボス(ルーター)を探すために投げかける「挨拶」です。

④ ルーター広告(RA:Router Advertisement)

「ここがこの街のルールです。ゲートウェイは私で、ネットワークのプレフィックスはこれを使ってくださいね」
ルーターが定期的に、あるいはRSに応答して発信する「街のガイドブック」のような情報です。

—

3. 実践!LinuxでNDPの動きを覗いてみよう

理論だけではつまらないですよね。実際にLinuxサーバーを使って、このNDPがどのようにやり取りされているかを確認してみましょう。

まずは、自分の端末が把握している近隣の情報を確認するコマンドです。

# 現在の近隣キャッシュ(住所録)を表示するコマンド
ip -6 neigh show

# 実行結果のイメージ
# fe80::20c:29ff:fe12:3456 dev eth0 lladdr 00:0c:29:12:34:56 STALE
# ↑「このIPアドレスの機器は、このMACアドレスにいますよ」という情報

ここで STALE と出ているのは、「しばらく通信していないので、また今度確認しますね」という状態を指します。もし通信が発生すれば、NSとNAが飛び交い、状態が REACHABLE に変わります。

また、ネットワークに繋いだ瞬間のパケットをキャプチャしたい場合は、tcpdump を使うのが現場の鉄則です。

# ICMPv6の通信だけをフィルタリングして覗き見する
# -i eth0: インターフェース指定
# icmp6: ICMPv6プロトコルのみ
sudo tcpdump -i eth0 icmp6

このコマンドを叩いた状態で、PCを再起動したりケーブルを抜き差ししたりしてみてください。画面上に RS や RA が大量に流れてくるのがわかるはずです。これが、あなたのPCがネットワークに参加するための「挨拶」の瞬間です!

—

4. なぜこれが「ゼロトラスト」につながるのか

「ただの通信手順でしょ?」と思うかもしれませんが、ここがネットワークセキュリティの入り口です。

従来のIPv4(ARP)は、悪意のある攻撃者が「私がそのルーターです!」と嘘の広告(ARPスプーフィング)を出すのが非常に簡単でした。しかし、IPv6のNDPでは、SEND(SEcure Neighbor Discovery)といった暗号化技術を組み合わせることで、「本当にそのルーターが発信したものか?」を検証する仕組みを構築できます。

ゼロトラストアーキテクチャでは、「ネットワーク内だから安心」という考えを捨てます。NDPのような基礎的なプロトコルが、どのように認証されているかを知ることは、強固な防御を築くための第一歩になるのです。

—

まとめ:ネットワークは「対話」でできている

いかがでしたか?
ICMPv6によるNDPの仕組みは、決して小難しいビットの羅列ではなく、「相手を探し、ルールを確認し、正しく通信を始める」ための丁寧な会話なのです。

1. RS/RAで街のルールを知る
2. NS/NAで相手の顔(MACアドレス)を確認する

この流れを頭に入れておくだけで、ネットワークのトラブルシューティングの精度は劇的に上がります。「通信できない」という壁にぶつかったとき、まずは ip -6 neigh や tcpdump を使って、パケットたちの会話に耳を傾けてみてください。きっと、解決の糸口が見えてくるはずですよ!

それでは、次回の記事もお楽しみに!現場からは以上です。

コメント

タイトルとURLをコピーしました