水野 忠則 静岡大学情報学部情報科学科教授
石原 進 静岡大学情報学部情報科学科助手

 IPはIPデータグラムをルーター間でバケツリレーのように中継してあて先に送り届けます。しかしIPは通信経路自体には無頓着です。途中でエラーが起こって配送に失敗したことを送信元のホストに知らせたり,使いたい経路が生きているかどうかを調べる機能はIPにありません。こうした制御メッセージのやり取りはICMPアイシーエムピー(Internet Control Message Protocol)という別のプロトコルの役目です。

ICMPはIPの「お助け役」

 ICMPはIPを使ってルーターやホストの間でメッセージを交換します。ICMPのメッセージには15種類のタイプがあり,大きく二つのグループ(クラスと呼びます)に大別できます。

 一つ目のクラスはICMPエラー・メッセージです。 ルーターやホストはIPデータグラムの配送中に何か問題が起こったらICMPエラー・メッセージで送信元に報告します。「あて先到達不能」「発信抑制」「時間超過」といったメッセージがあります。

 あて先到達不能メッセージはデータグラムがあて先まで配送できないときに送ります。あて先IPアドレスで指定されたネットワークへ経路がないときや,分割(フラグメント)しないと転送できないサイズのデータグラムが届いたけれども,分割禁止が指定してあるときなどです。

 未送出のパケットが貯まり,新たなパケットを受信できない状態にあるルーターは「もうこれ以上送るな」という発信抑制メッセージを送信元に通知します。また,受け取ったデータグラムのTTL(Time To Live=生存時間)が0になって,データグラムを廃棄するときは,ルーターが時間超過メッセージを送信元に送ります。

 ICMPメッセージもIPデータグラムとして運ばれます。このためICMPメッセージの配送がエラーを起こすこともあり得ます。しかし,こうした場合は新たにエラー・メッセージを生成しません。エラー・メッセージが反復して生成され,ネットワークが混雑するのを避けるためです。