[TCP・IPマスタリング]5.4 ICMP(Internet Control Message Protocol)

 

5.4.1 IP を補助するICMP

ICMP には、IP パケットが目的のホストまで届くかどうかを確認する機能や、
何らかの原因でIP パケットが廃棄されたときにその原因を通知してくれる機
能、不十分な設定をよりよい設定に変更してくれる機能などがあります

 

ICMP には、大きく分類すると、エラー通知のためのエラーメッセージと診断
などを行う問い合わせメッセージの2 種類があります

 

image

 

5.4.2 主なICMP メッセージ

■ICMP 到達不能メッセージ(タイプ3)

ICMP 到達不能メッセージにより、送信元ホストは
どのような理由でデータが宛先に到達できなかったかを知ることができます

image

 

■ICMP リダイレクトメッセージ(タイプ5)

送信元ホストが最適ではない経路を使用しているのをルーターが検出したと
きに、ICMP リダイレクトメッセージ(ICMP Redirect Message)をそのホス
トに対して送信します。このメッセージの中には、最適経路の情報と元のデータ
グラムが入っています。これはルーターがホストよりもよい経路情報を持って
いる場合に動作します。このメッセージにより、送信元ホストへよりよい経路を
教えます

 

■ICMP 時間超過メッセージ(タイプ11)

IP パケットには、生存時間(TTL:Time To Live)というフィールドがあり
ます。この値は、パケットがルーターを1 つ通過するたびに1 ずつ減らされ0 になるとIP データグラムは破棄されます

このときIP ルーターは、ICMP 時間超過メッセージ(ICMP Time Exceeded Message)のコード0を送信元に送り返しパケットが破棄されたことを通知

IP に生存時間が決められているのはパケットが永久にネットワークを回り続けてネット
ワークが麻痺した状態になるのを防ぐため

image

 

■便利なtraceroute

ICMP 時間超過メッセージをうまく応用したアプリケーションにtracerouteがあります。

プログラムを実行したホストから特定の宛先のホストに到達
するまでに、どのようなルーターを通過するのかを表示してくれるプログラム

 

仕組みは、IP の生存時間を1 から順番に増やしながらUDP パケットを送信
し、ICMP 時間超過メッセージを無理矢理返させるのです。すると、通過するルー
ターのIP アドレスを1 つずつ知ることができます

 

■ICMP エコーメッセージ(タイプ0、8)

通信したいホストやルーターなどに、IP パケットが到達するかどうかを確認し
たいときに利用

相手先ホストに対してICMP エコー要求メッセージ
(ICMP Echo Request Message、タイプ8)を送信し、相手先ホストからICMP
エコー応答メッセージ(ICMP Echo Reply Message、タイプ0)が返ってくれ
ば到達可能です。ping コマンドはこのメッセージを使用

image

 

5.4.3 そのほかのICMP メッセージ

 

■ICMP 始点抑制メッセージ(タイプ4)

폭주를 완화해주는 역할

ICMP 始点抑制メッセージ(ICMP
Source Quench Message)をIP パケットの送信元に送ります。このメッセー
ジを受信したホストは、回線のどこかが混雑していることを知り、IP パケット
の送信間隔を空けたりします

不公平な通信を引き起こ
すおそれがあるため、ほとんど利用されていません

 

■ICMP ルーター探索メッセージ(タイプ9、10)

自分がつながっているネットワークのルーターを見つけたいときに利用

ホストがICMP ルーター請願メッセージ(Router Solicitation、タイ
プ10)を送信すると、ルーターはICMP ルーター広告メッセージ(Router
Advertisement、タイプ9)を返す

 

■ICMP アドレスマスクメッセージ(タイプ17、18)

サブネットマスクを調べたいホストやルーターがある場合に利用

調べたいホストやルーターに向けて、ICMP アドレスマスク要求メッセージ
(ICMP Address Mask Request、タイプ17)を送信すると、ICMP アドレスマ
スク応答メッセージ(ICMP Address Mask Reply、タイプ18)でサブネット
マスクの値を知ることができます

 

ICMP関連資料:http://www.scitech.co.kr/upload/book_image/s_012/Chapter11%20_%20ICMP.pdf

 

5.4.4 ICMPv6

 

■ICMPv6 の役割

 

IPv6 になるとICMP の役割が非常に大
きくなり、ICMPv6 がなければIPv6 による通信ができなくなります

特にIPv6 では、IP アドレスからMAC アドレスを調べるプロトコルがARP
からICMP の近隣探索メッセージ(Neighbor Discovery)に変更されます

近隣探索メッセージはIPv4 のARP とICMP リダイレクト、ICMP ルーター
選択メッセージなどの機能を組み合わせたものになっており、さらにIP アドレ
スの自動設定などの機能も提供

 

タイプ0~127 までがエラーメッセージ

タイプ128~255 までが情報メッセージ

タイプ133~137 までを近隣探索メッセージと呼び、ほかのメッセージと区
別しています。

image

■近隣探索

IPv6 アドレスとMAC アドレスの対応関係を調べるときには、近隣要請メッ
セージでMAC アドレスを問い合わせ、近隣告知メッセージでMAC アドレス
を通知してもらいます▼。近隣要請メッセージは、IPv6 のマルチキャストアドレスを使用▼して送信されます

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です