ICMP(Internet Control Message Protocol)その3
| 到達不能メッセージ ICMPタイプ3の到達不能メッセージはまさしくエラーレポートという感じがするメッセージです。 何らかの理由で送信先にデータを送ることができないというときに、送信元に対して「なぜ送ることができなかったのか?」ということをレポートします。 この到達不能メッセージを解析することによって、ある程度トラブルの切り分けを行うこともできるようになります。 タイプ3メッセージは、エラーの種類によって0〜12のコードを定義しています。コードとエラーの種類、意味は次のようになっています。
このようにたくさんあります。が、定義されているだけで実際には使われていないものもあります(というか、見たことがない・・・)。また、ネットワーク機器のベンダによって同じ状況でも違うコードを出していることがあります。あまり厳密に考えずにあて先に送ることができなかったことを知らせるために使われているんだなと思っててください。 |
| 実際にメッセージが出される様子 じゃ、実際に具体的なネットワークを考えてタイプ3のメッセージが出てくる様子を見てみましょう。 一番、たくさん出る(と思われる)「Host Unreachable」のメッセージを例に取ります。次のネットワークを考えましょう。 ![]() コンピュータA(10.0.0.1/8)がルータR1、R2をはさんでコンピュータB(30.0.0.1/8)にPINGを打ったとします。 ping 30.0.0.1 でも、ルータR1とR2にはまだ何にもルーティングの設定をしていません。その場合は、ルータは直接接続されているネットワークだけしかわかりません。AからBにパケットを送るためには、ネットワークが違うのでルータR1に送られていきます。R1はAからのパケットを受け取ると、あて先のIPアドレスを見てルーティングテーブルから次にどこに送ればいいのかを決めていきます。ところが、R1は30.0.0.0/8のネットワークへの経路を知りません。すると、そのパケットは破棄されてしまいます。 ![]() R1はパケットを破棄してしまったことを、送信元であるコンピュータAにICMPタイプ3を送って通知します。 ![]() ※このときのコードは、6の「Target Network Unknown」になるような気がするのですが、なぜかシスコのルータでは、1の「Host Unreachable」になってしまいます。ま、あんまり気にしないでおきましょう。 すると、ICMPタイプ3を受け取ったコンピュータAは次のように表示します。 Reply from 10.0.0.100: Destination Host Unreachable Reply from 10.0.0.100: Destination Host Unreachable Reply from 10.0.0.100: Destination Host Unreachable Reply from 10.0.0.100: Destination Host Unreachable 一瞬、Reply fromとなっているので、成功したのか!?と思うのですがそのあとが「Destination Host Unreachable」となっているのでICMPタイプ3が送られてきたことがわかります。よく見ると、Reply fromのあともルータのIPアドレスになっていて、PINGが失敗していることがわかります。 そしてその原因は、おそらくルータの設定漏れだなぁということを推測することができるようになるわけですね。 |
(C) Copyright 2000-2002 Gene All Right Reserved