こんにちは、小澤です。
これまで、IPv6 ネットワークにおける近隣探索プロトコル(NeighborDiscovery Protocol;NDP)の要素について説明してきました。NDP は、IPv4 で使用されるARP(Address Resolution Protocol)に相当するプロト
コルであり、IPv6 ネットワークの運用と管理に不可欠な機能を提供します。
IPv6 の普及に伴い、ネットワークエンジニアにとってNDP の理解はますます重要となってきました。NDP のメカニズムを正確に理解すると、ネットワークの安定性と効率性を維持することができ、ネットワーク障害時の迅速な対応も可能となります。ぜひ、これらの機能とその実装方法についての理解を深めましょう。
今回は、教科書では「第6 章 近隣探索プロトコル」の「6.3 リンク層アドレスの解決と近隣不到達性の検知」「6.4 Redirect メッセージ」「6.5 近隣探索メッセージのオプション」(136 ページ〜153 ページ)の部分に焦点を当て、それぞれ説明しましょう。
なお、「プロフェッショナルIPv6」の電子書籍は無償でダウンロードできます。以下をご覧ください。
https://booth.pm/ja/items/913273
リンク層アドレスの解決
IPv6 ネットワークでは、リンク層アドレスの解決にはICMPv6 の近隣探索プロトコル(Neighbor Discovery Protocol;NDP)を使用することを既に説明しました。これはIPv4 のARP(Address Resolution Protocol)に相当します。
NDP を使用すると、IPv6 ノードはNeighbor Solicitation メッセージを送信し、ターゲットノードからのNeighbor Advertisement メッセージを受信し、これによってリンク層アドレスが解決されます。
・Neighbor Solicitation(NS)メッセージ
他のノードのリンク層アドレスを取得するために送信される。宛先アドレスがマルチキャストの場合、リンク上のすべてのノードが受信する。
・Neighbor Advertisement(NA)メッセージ
Neighbor Solicitation メッセージに対する応答として送信される。送信者のリンク層アドレスを含む。
リンク層アドレスの解決プロセスは以下のようになります。
1. NS メッセージの送信
送信元ノードがターゲットノードのリンク層アドレスを解決するためにNS メッセージを送信します。このメッセージはSolicited-Node マルチキャストアドレスを使用して送信されます。
2. NA メッセージの受信
ターゲットノードがNS メッセージを受信すると、NA メッセージを作成して送信元ノードに送り返します。このNA メッセージには、ターゲットノードのリンク層アドレスが含まれています。
3. リンク層アドレスのキャッシュ
送信元ノードは受信したNA メッセージからリンク層アドレスを取得し、近隣キャッシュに保存します。このキャッシュにより、後続の通信で迅速にリンク層アドレスを参照することができます。
近隣不到達性の検知
近隣不到達性の検知(Neighbor Unreachability Detection;NUD)は、近隣ノードが到達可能かどうかを確認するためのプロセスです。NUD は以下のようなメカニズムで動作します。
・定期的な確認
ノードは、近隣キャッシュに格納されているエントリの到達可能性を定期的に確認します。これは、一定期間通信がない場合でも行われます。
・NS メッセージの再送
あるノードにパケットを送信したが応答がない場合、送信元ノードは再度NS メッセージを送信します。この再送は、ターゲットノードが依然として到達可能かどうかを確認するためです。
・NA メッセージの受信
ターゲットノードが到達可能である場合、NA メッセージが送信元ノードに返されます。これにより、送信元ノードはターゲットノードが依然として到達可能であることを確認します。
・近隣キャッシュの更新
NA メッセージを受信した場合、送信元ノードは近隣キャッシュを更新し、ターゲットノードが到達可能である状態を維持します。応答がない場合、一定の再送回数を超えると、そのエントリは到達不能とマークさ
れ、必要に応じて削除されます。
近隣キャッシュのステート
近隣キャッシュには、近隣不到達性検知の仕組みを通じて管理される情報も含まれます。それは、近隣への到達可能性を示す以下の5 種類の「ステート(state)」です。
1. INCOMPLETE:リンク層アドレスがまだ解決されていない状態。
2. REACHABLE:ノードが到達可能であると確認されている状態。
3. STALE:到達性が確認されてから一定期間が経過した状態。
4. DELAY:送信済みパケットの通知を待っている状態。
5. PROBE:到達性を再確認するためにプローブメッセージを送信している状態。
Redirectメッセージ
Redirect メッセージは、IPv6 ネットワークにおいて、ホストに対して最適な経路を知らせるために使用されます。これにより、ホストは直接適切なルータにパケットを送信することができます。Redirect メッセージは、以下の状況で送信されます。
・ホストが間違ったルータにパケットを送信した場合。
・ルータがホストに対して、より適切な経路を通知する必要がある場合。
Redirect メッセージのフォーマットは以下の通りです。
・Type(8 ビット):メッセージの種類を示すフィールド。Redirect メッセージの場合、この値は137 です。
・Code(8 ビット):常に0 です。
・Checksum(16 ビット):メッセージの誤り検出用のチェックサムです。
・Reserved(32 ビット):予約済みフィールドで、将来の使用のために0 に設定されています。
・Target Address(128 ビット):新しい次ホップのIPv6 アドレスです。
・Destination Address(128 ビット):最初に送信されたパケットの宛先IPv6 アドレスです。
Redirect メッセージのオプションフィールドには、以下の情報が含まれます。
・ターゲットリンク層アドレス:新しい次ホップのリンク層アドレスです。
・リダイレクトヘッド:最初に送信されたパケットのヘッダ情報です。
Redirect メッセージは、ホストが効率的にパケットを転送できるようにし、ネットワークのパフォーマンスを向上させるために重要です。
近隣探索メッセージのオプション
近隣探索プロトコル(NDP)は、IPv6 ネットワークにおいてさまざまな機能を提供しますが、それぞれのメッセージにはオプションフィールドが含まれており、これによって追加の情報を伝えることができます。
Target Link-layer Address(ターゲットリンク層アドレス)オプション
このオプションは、Neighbor Advertisement およびRedirect メッセージで使用されます。ターゲットリンク層アドレスオプションは、送信元が自分のリンク層アドレスをターゲットに通知するために使用されます。
・Type(8 ビット):このオプションの種類を示します。ターゲットリンク層アドレスオプションのタイプは2 です。
・Length(8 ビット):オプション全体の長さを示します。
・Link-Layer Address(可変長):リンク層アドレスを示します。
Prefix Information(プレフィックス情報)オプション
このオプションは、Router Advertisement メッセージで使用され、ホストにプレフィックス情報を提供します。
・Type(8 ビット):このオプションの種類を示します。プレフィックス情報オプションのタイプは3 です。
・Length(8 ビット):オプション全体の長さを示します。
・Prefix Length(8 ビット):プレフィックスの長さを示します。
・L フラグ(1 ビット):このフラグが1 に設定されている場合、そのプレフィックスはリンクローカルアドレスとして使用されます。
・A フラグ(1 ビット):このフラグが1 に設定されている場合、そのプレフィックスは自動設定可能であることを示します。
・Reserved1(6 ビット):予約済みフィールドで、0 に設定されています。
・Valid Lifetime(32 ビット):プレフィックスが有効である期間を示します。
・Preferred Lifetime(32 ビット):プレフィックスが推奨される期間を示します。
・Reserved2(32 ビット):予約済みフィールドで、0 に設定されています。
・Prefix(128 ビット):IPv6 プレフィックスを示します。
MTUオプション
このオプションは、Router Advertisement メッセージで使用され、ホストにリンク上のMTU 情報を提供します。
・Type(8 ビット):このオプションの種類を示します。MTU オプションのタイプは5 です。
・Length(8 ビット):オプション全体の長さを示します。
・Reserved(16 ビット):予約済みフィールドで、0 に設定されています。
・MTU(32 ビット):最大伝送単位(MTU)を示します。
まとめ
リンク層アドレスの解決、近隣不到達性の検知、Redirect メッセージ、および近隣探索メッセージのオプションは、IPv6 ネットワーク運用における重要な役割を果たします。これらのメカニズムを理解し、適切に実装することにより、ネットワークの効率性と信頼性を大幅に向上させることが可能となります。次回は、IPv6 アドレスの自動設定の章に入っていきます。次回も引き続きご覧いただければ幸いです。
<お知らせ>
IPv6 の学習のチェックにIPv6 基礎検定はいかがでしょうか?全国350 か所で
通年受験が可能です。詳細は以下をご覧ください。https://network-engineer.jp/ipv6basic