<コラム> こだま(エコー)を返しているのはだれ?
山登りに出かけて,山頂から「ヤッホー」と叫んだことがありますか.周りに同じくらいの高さの山がなければ,こだまは返ってきません(本当に数kmも先の山に声が反射して,戻ってくるのか?という疑問はありますが).
同様に,TCP/IPの世界でエコー要求を送っても,エコーを返してくれるソフトウェアがなければ応答はありません.
実は,このエコーの要求と応答は,ICMP(Internet Control Message Protocol)というプロトコルに従っていて,TCP/IPソフトウェアには必ず実装しなくてはならないものなのです.
ICMPは,TCP/IPソフトウェアがきちんと動いているかどうかを確認したり,受信したパケットに何らかの問題があったときに,送り元のコンピュータにそのことを伝えるためのプロトコルです.
そして,TCP/IPソフトウェアの中には,ICMPを実装した部分が必ずあります.
ここがほかのコンピュータからのエコー要求に答えたり,アプリケーション(この場合はping)からのエコー要求を受け付けて,実際にエコー要求を送信する処理を行っています.
ICMPはTCP/IPソフトウェアの中の機能ですから,コンピュータどうしがTCP/IPを介して通信できていることを確認することができます.
ただし,あるコンピュータのWebサーバと通信できないときに,pingを使うことでWebサーバの動いているコンピュータのTCP/IPソフトウェアと通信できるかどうかを確認することができるのであって,Webサーバソフトウェアと通信できているかどうかは確認できないことに注意してください.
|