こんにちは、小澤です。
前回は、ICMPv6 について、その概要とフォーマットについて説明しました。今回も、ICMPv6 についての説明を続けましょう。ICMPv6 のエラーメッセージと情報メッセージについて説明することにします。教科書では「5.1ICMPv6 フォーマット」(118 ページ〜125 ページ)の部分です。
なお、「プロフェッショナルIPv6」の電子書籍は無償でダウンロードできます。以下をご覧ください。
https://booth.pm/ja/items/913273
エラーメッセージ
ICMPv6 エラーメッセージは、IPv6 ネットワーク内で問題が発生したときに情報を提供し、エラーの診断を支援します。ネットワークの異常に関して、送信元に対して何が間違っているのかを通知することで、問題解決を促します。ネットワーク管理者やエンドユーザーがネットワークの問題を迅速に特定し、適切な対策を講じるための重要な手がかりです。以下に、ICMPv6 の主なエラーメッセージタイプを示します。
Type 1 : 宛 先 到 達 不 能 メ ッ セ ー ジ ( DestinationUnreachable)
このメッセージは、宛先へのパケットの配送が何らかの理由で不可能であることを示します。メッセージフォーマットにはコード(Code)を含み、それぞれ異なる理由を示します。
Code 0:宛先に到達できない
送信元ノードが、宛先ノードへのルートを見つけることができないことを示します。
Code 1:管理上禁止されている通信
管理上の理由によりパケットが破棄されたことを示します。宛先へパケットを送信することが、何らかのポリシーやルールによって禁じられているとか、ファイアウォールによってブロックされたことを示します。
Code 2:宛先アドレスが未割り当て
宛先アドレスがネットワーク上でどのノードにも割り当てられていない場合に使用されます。
Code 3:送信元アドレスが不適切
パケットの送信元アドレスが適切なアドレスではない、たとえば、マルチキャストアドレスや特定のユニキャストアドレスの場合などに使用されます。
Code 4:宛先ポートに到達できない
指定されたトランスポートプロトコルのポートが宛先ノードでアクティブではない、またはリッスンしていないことを示します。
Type2:パケットが大きすぎるメッセージ(Packet Too Big)
このメッセージは、パケットが中継するネットワークセグメントの最大伝送単位(MTU)を超えており、そのために宛先に届かなかったことを示します。IPv6 ネットワーク内でパケットのサイズに関する問題を診断し、送信元がパケットサイズを調整できるようにするために重要です。IPv6 では、パケットの断片化は送信元で行われ、ルータでは行われません。したがって、送信元は、このICMPv6 エラーメッセージを受け取ると、パケットのサイズを調整し、指定されたMTU 値以下のサイズで再送する必要があります。これにより、パケットが宛先に確実に届くようになり、ネットワークの効率と性能が向上します。なお、このメッセージタイプでは、コードは0 に設定されます。
Type3:時間超過メッセージ(Time Exceeded)
時間超過メッセージは、パケットが生存時間(TTL)を超えたこと、またはパケットのフラグメントの再構築が許容時間内に完了しなかったことを示します。ネットワーク上でのループや遅延などの問題を診断するのに役立ちます。このメッセージタイプには2 つのコードがあります。
Code 0:ホップリミット超過
パケットがネットワーク内を転送される際、各ルータはホップリミットの値を1 減らします。ホップリミットが0 になった場合、ルーターはそのパケットを破棄し、時間超過メッセージを送信元に戻します。これは、ネットワーク内のループや過度に長い経路を検出するのに役立ちます。
Code 1:フラグメント再構築時間超過
送信されたパケットがフラグメント化された場合、宛先ではこれらのフラグメントが再構築されて元のパケットを形成します。しかし、この再構築プロセスが許容される時間内に完了しない場合、時間超過メッセージが生成され、送信元に通知されます。これは、フラグメント化されたパケットの一部が失われたり、ネットワークが過負荷状態にあることを示す場合があります。
Type4:パラメータ問題メッセージ
パラメータ問題メッセージは、IPv6 パケットの処理中にノード(通常は宛先ホスト)がパケットのヘッダに問題を検出した場合に送信されます。このメッセージは、ネットワーク上でのパケットの正しい処理を妨げる可能性のあるエラーを指摘するために使用され、送信元に対してパケットの修正や問題の診断を促します。特に、新しい拡張ヘッダやオプションが導入されるとき、全てのノードがそれらをすぐに認識するわけではないため、このメッセージがより頻繁に発生する可能性があります。このメッセージタイプには3 つのコードがあります。
Code 0
エラーが検出されたパケット内の問題点を指し示すポインタを含みます。
Code 1
IPv6 ヘッダに未知のNext Header タイプが含まれていることを示します。
Code 2
IPv6 拡張ヘッダやオプションが未知、または不正であることを示します。
情報メッセージ
情報メッセージは、ネットワークデバイス間での診断情報や状態情報の交換に使用されるメッセージであり、エラーメッセージとは異なる目的で設計されています。ネットワークの設定や性能テストなど、さまざまな用途に役立ちます。情報メッセージには、エコー要求とエコー応答があります。エコー要求(Echo Request)とエコー応答(Echo Reply)は、おそらく最もよく知られているICMPv6 情報メッセージで、ネットワークの到達可能性や遅延を測定するために使用されます。エコー要求・応答のメカニズムは、シンプルながら非常に効果的なツールで、ネットワーク管理者やエンドユーザーが日常的に使用する基本的な診断手段です。ネットワークの健全性を簡単に確認し、特定のホストへのパスが正しく機能しているかをテストすることができます。
Type128:エコー要求(Echo Request)
ネットワークのホストが他のホストの到達可能性をテストするために送信します。エコー要求メッセージを受け取ったホストは、エコー応答メッセージで応答する必要があります。
Type12:エコー応答(Echo Reply)
エコー要求メッセージに対する応答として送信されます。これにより、要求を送信したホストは、目的のホストが動作しており、ネットワーク上で到達可能であることを確認できます。
まとめ
前回と今回の2 回にわたって、ICMPv6 について説明しました。ICMPv6 は、主に制御メッセージの送受信に使用され、ネットワークの正常な運用やエラー通知に重要な役割を果たします。ネットワーク上の問題を検出したり、エラー情報を送信したりするときに使用されます。次回は、近隣探索プロトコルについて説明します。次回も引き続きご覧ください。
<お知らせ>
IPv6 の学習のチェックにIPv6 基礎検定はいかがでしょうか?全国350 か所で通年受験が可能です。詳細は以下をご覧ください。
https://network-engineer.jp/ipv6basic