ICMP パケット ヘッダーのタイプ フィールドの値 135 は、ネイバー送信要求メッセージを示します。 ネイバー送信要求メッセージは、ノードが同じローカル リンク上の別のノードのリンク層アドレスを判断する必要がある場合にローカル リンクに送信されます(次の図を参照)。 ノードが別のノードのリンク層アドレスを判断する必要がある場合、ネイバー請求メッセージ内の送信元アドレスは、ネイバー請求メッセージを送信するノードの IPv6 アドレスです。 ネイバー送信要求メッセージ内の宛先アドレスは、宛先ノードの IPv6 アドレスに対応する送信要求ノード マルチキャスト アドレスです。 ネイバー送信要求メッセージには、送信元ノードのリンク層アドレスも含まれます。
図 2. IPv6 ネイバー探索 - ネイバー送信要求メッセージ
ネイバー送信要求メッセージを受信した後に、宛先ノードは、ICMP パケット ヘッダーのタイプ フィールドに値 136 を含むネイバー アドバタイズメント メッセージをローカル リンクに送信することで応答します。 ネイバー アドバタイズメント メッセージの送信元アドレスは、ネイバー アドバタイズメント メッセージを送信するノードの IPv6 アドレス(具体的には、ノード インターフェイスの IPv6 アドレス)です。 ネイバー アドバタイズメント メッセージ内の宛先アドレスは、ネイバー送信要求メッセージを送信したノードの IPv6 アドレスです。 ネイバー アドバタイズメント メッセージのデータ部分には、ネイバー アドバタイズメント メッセージを送信するノードのリンク層アドレスが含まれます。
送信元ノードがネイバー アドバタイズメントを受信すると、送信元ノードと宛先ノードが通信できるようになります。
ネイバー送信要求メッセージは、ネイバーのリンク層アドレスが識別された後に、ネイバーの到達可能性の確認にも使用されます。 あるノードがネイバーの到達可能性を検証する場合、ネイバー送信要求メッセージ内の宛先アドレスはネイバーのユニキャスト アドレスです。
ネイバー アドバタイズメント メッセージは、ローカル リンク上のノードのリンク層アドレスが変更されたときにも送信されます。 そのような変更があった場合、ネイバー アドバタイズメントの宛先アドレスは全ノード マルチキャスト アドレスになります。
ネイバー送信要求メッセージは、ネイバーのリンク層アドレスが識別された後に、ネイバーの到達可能性の確認にも使用されます。 ネイバー到達不能検出では、ネイバーの障害またはネイバーへの転送パスの障害が識別されます。この検出は、ホストとネイバー ノード(ホストまたはデバイス)間のすべてのパスで使用されます。 ネイバー到達不能検出は、ユニキャスト パケットだけが送信されるネイバーに対して実行され、マルチキャスト パケットが送信されるネイバーに対しては実行されません。
ネイバーは、(以前にネイバーに送信されたパケットが受信され、処理されたことを示す)肯定確認応答がネイバーから返された場合に、到達可能と見なされます。 到達可能であるという確認は、接続が動作中(宛先に到達中)であることを示す上位層プロトコル(TCP など)からの情報や、ネイバー送信要求メッセージに対するネイバー アドバタイズメント メッセージを受信することで行われます。 パケットがピアに到達している場合、それらのパケットは送信元のネクストホップ ネイバーにも到達しています。 したがって、転送の進行により、ネクストホップ ネイバーが到達可能であることも確認されます。
ローカル リンク上にない宛先の場合、転送の進行は、ファーストホップ デバイスが到達可能であることを暗に意味します。 上位層プロトコルからの確認応答がない場合、ノードは、ユニキャスト ネイバー送信要求メッセージを使用してネイバーを探し、転送パスがまだ機能していることを確認します。
ネイバーから返信された請求ネイバー アドバタイズメント メッセージは、転送パスがまだ機能しているという肯定確認応答です(請求フラグが値 1 に設定されたネイバー アドバタイズメント メッセージは、ネイバー請求メッセージへの返信としてだけ送信されます)。 非送信要求メッセージでは、送信元ノードから宛先ノードへの一方向パスだけが確認されます。送信要求ネイバー アドバタイズメント メッセージは、両方向のパスが機能していることを示します。
(注) |
送信要求フラグが値 0 に設定されたネイバー アドバタイズメント メッセージは、転送パスがまだ機能していることを示す肯定確認応答とは見なされません。
|
ネイバー送信要求メッセージは、ユニキャスト IPv6 アドレスがインターフェイスに割り当てられる前にそのアドレスが一意であることを確認するために、ステートレス自動設定プロセスでも使用されます。 新規のリンクローカル IPv6 アドレスに対しては、アドレスがインターフェイスに割り当てられる前に、最初に重複アドレス検出が実行されます(重複アドレス検出の実行中、新規アドレスは一時的な状態のままです)。 具体的には、ノードは未指定の送信元アドレスと一時的なリンクローカル アドレスをメッセージの本文に含むネイバー送信要求メッセージを送信します。 そのアドレスが別のノードですでに使用されている場合、ノードは一時的なリンクローカル アドレスを含むネイバー アドバタイズメント メッセージを返します。 別のノードが同じアドレスの一意性を同時に検証している場合は、そのノードもネイバー送信要求メッセージを返します。 ネイバー送信要求メッセージの返信としてネイバー アドバタイズメント メッセージが受信されず、同じ一時アドレスの検証を試行している他のノードからのネイバー送信要求メッセージも受信されない場合、最初のネイバー送信要求メッセージを送信したノードは、一時的なリンクローカル アドレスを一意であると見なし、そのアドレスをインターフェイスに割り当てます。
リンク上のすべての IPv6 ユニキャスト アドレス(グローバルまたはリンクローカル)が一意であることを検証する必要がありますが、リンクローカル アドレスの一意性が確認されるまでは、リンクローカル アドレスに関連付けられている他の IPv6 アドレスに対して重複アドレス検出は実行されません。 シスコ ソフトウェアでの重複アドレス検出のシスコ実装では、64 ビット インターフェイス識別子から生成されるエニーキャスト アドレスまたはグローバル アドレスの一意性は確認されません。