近隣探索 (キンリンタンサク) とは | 意味や読み方など丁寧でわかりやすい用語解説

作成日: 更新日:

近隣探索 (キンリンタンサク) の読み方

日本語表記

近隣探索 (キンリンタンサク)

英語表記

Neighborhood search (ネイバーフッドサーチ)

近隣探索 (キンリンタンサク) の意味や用語解説

近隣探索とは、IPv6ネットワークにおいて、同一の物理的なネットワーク(リンク)上に存在するノード同士が、互いの存在を発見し、通信に必要な情報を交換するためのプロトコル群である。正式名称はNeighbor Discovery Protocol (NDP) と呼ばれ、IPv6を構成する上で不可欠な基盤技術の一つと位置づけられている。IPv4で利用されていたARP(Address Resolution Protocol)やICMPルーター発見、ICMPリダイレクトといった複数の機能を統合し、より高機能かつ効率的な仕組みとして再設計されたものである。このプロトコルの主な目的は、IPv6アドレスと、データリンク層で通信相手を特定するために必要なMACアドレスとの対応付け、ネットワーク上のルーターの発見、そしてノードが自身のIPv6アドレスを自動的に設定することなどを実現することにある。これらの機能はすべて、ICMPv6(Internet Control Message Protocol for IPv6)のメッセージを利用して実行される。 近隣探索プロトコルが持つ主要な機能は多岐にわたる。まず最も基本的な機能が「アドレス解決」である。これは、特定のIPv6アドレスを持つノードのMACアドレスを問い合わせる機能であり、IPv4におけるARPの役割に相当する。通信を行いたいノードは、宛先のIPv6アドレスは知っているが、実際にパケットを送信するために必要なMACアドレスを知らない場合、近隣要請(Neighbor Solicitation, NS)メッセージをマルチキャストで送信する。このメッセージには「このIPv6アドレスを持つノードは、あなたのMACアドレスを教えてください」という要求が含まれている。指定されたIPv6アドレスを持つノードは、このNSメッセージを受信すると、自身のMACアドレス情報を含んだ近隣広告(Neighbor Advertisement, NA)メッセージを、NSメッセージの送信元に対してユニキャストで返信する。これにより、送信元ノードは宛先ノードのMACアドレスを知ることができ、以降の通信が可能となる。 次に重要なのが「ルーター発見」機能である。ネットワークに接続されたノードは、他のネットワーク、特にインターネットと通信するために、出口となるルーター(デフォルトゲートウェイ)の存在を知る必要がある。ノードは起動時などに、ルーター要請(Router Solicitation, RS)メッセージをマルチキャストで送信し、「このリンク上にルーターはいますか」と問い合わせる。これを受け取ったルーターは、ルーター広告(Router Advertisement, RA)メッセージを送信元またはリンク上の全ノードに応答する。このRAメッセージには、自身の存在を知らせる情報に加え、ネットワークプレフィックス、リンクのMTU(Maximum Transmission Unit)、デフォルトゲートウェイとして自身を利用すべきかといった、ノードが通信を行う上で必要な様々な設定情報が含まれている。ルーターはRSメッセージへの応答としてだけでなく、定期的にもRAメッセージを送信し、常に最新のネットワーク情報を提供する。 このルーター発見機能と密接に関連するのが「アドレス自動設定(Stateless Address Autoconfiguration, SLAAC)」である。これは、DHCPサーバーのようなアドレスを一元管理するサーバーが存在しない環境でも、ノードが自動的にグローバルユニキャストアドレスを生成する仕組みである。ノードは、ルーターからRAメッセージで通知されたネットワークプレフィックスと、自身のMACアドレスなどから一意に生成されるインターフェース識別子を組み合わせることで、自身のIPv6アドレスを自律的に設定する。これにより、ネットワーク管理者の手間を大幅に削減し、プラグアンドプレイに近い手軽なネットワーク接続を実現する。 さらに、生成したアドレスがネットワーク上で他と重複していないかを確認する「重複アドレス検出(Duplicate Address Detection, DAD)」機能も備わっている。ノードは、自動設定したアドレスを本格的に使用する前に、そのアドレスを宛先としたNSメッセージを送信する。もし、そのアドレスを既に使用している他のノードが存在すれば、そのノードからNAメッセージが返信される。NAメッセージが返ってきた場合、アドレスが重複していると判断し、そのアドレスの使用を中止する。一定時間応答がなければ、アドレスは重複していないと判断し、正式に通信に使用を開始する。これは、ネットワークの安定性を確保するための重要な仕組みである。 その他にも、一度通信した相手の情報(IPアドレスとMACアドレスの対応など)をキャッシュしておくが、その相手がまだ通信可能な状態かを検証する「近隣到達性確認(Neighbor Unreachability Detection, NUD)」や、ある宛先へのパケットを特定のルーターに送信した際に、より最適な経路が存在する場合にそのルーターが送信元ホストに対して最適なネクストホップルーターを通知する「リダイレクト」機能も近隣探索プロトコルに含まれる。 このように、近隣探索は単なるアドレス解決にとどまらず、ルーターの発見、アドレスの自動設定、重複の検出、到達性の確認といった、IPv6ネットワークにおけるノード間の通信を自律的かつ動的に確立・維持するための包括的なメカニズムを提供する。システムエンジニアにとって、このプロトコルの動作原理を深く理解することは、IPv6ネットワークの設計、構築、そしてトラブルシューティングを行う上で極めて重要である。

近隣探索 (キンリンタンサク) とは | 意味や読み方など丁寧でわかりやすい用語解説