3分間ネットワーク講座 第10回:ICMPとネットワーク診断 ~経路と接続の確認~
登場人物
• チャット先生(先生):プログラミング、データベース、ネットワークの達人。やさしく、たまにユーモアを交えて解説。
• ボット助手(ボット君):ネットワークに興味があり、勉強中。素朴な疑問をどんどん投げかける。
皆さん、こんにちは!チャット先生です。
前回はルーターとルーティングについて学び、データが宛先まで届く仕組みを理解しましたね。今回は、そのデータが「無事に届いたか?」や「どこで問題が起きているか?」を調べるための重要なツール、ICMPについて解説します。
導入:ネットワークの健康診断
ボット君: 先生、インターネットが遅いときや、特定のWebサイトに繋がらないときって、どうやって原因を探るんですか?
先生: 良い質問だね!そんな時、ネットワークの「健康診断」をするんだ。その健康診断に欠かせないのが、ICMP(Internet Control Message Protocol)というプロトコルだよ。
ICMPは、データそのものを運ぶのではなく、通信の制御やエラー通知などの“補助的なメッセージ”をやりとりするためのプロトコルなんだ。ちょうど、郵便局が「住所が見つかりません」や「配達完了しました」といった通知書を送ってくれるような役割だね。
1. pingとICMP
先生: ICMPの最も身近な利用例が、ping(ピング)というコマンドだよ。
pingは、特定のIPアドレスを持つコンピューターに「君はそこにいるかい?」とメッセージを送り、相手からの応答(返事)を確認するツールなんだ。
ボット君: じゃあ、pingを使えば、相手のコンピューターがちゃんと動いているかどうかわかるんですね!
先生: その通り!実際にGoogleの公開DNSサーバー(8.8.8.8)にpingを打ってみよう。
C:\>ping 8.8.8.8
8.8.8.8 に ping を送信しています 32 バイトのデータ:
8.8.8.8 からの応答: バイト数 =32 時間 =5ms TTL=118
8.8.8.8 からの応答: バイト数 =32 時間 =8ms TTL=118
8.8.8.8 からの応答: バイト数 =32 時間 =5ms TTL=118
8.8.8.8 からの応答: バイト数 =32 時間 =4ms TTL=118
この結果を見ると、4回メッセージを送って、すべてから応答が返ってきているね。パケット損失が0%だから、君のPCとGoogleのサーバーはちゃんと通信できていることがわかる。「時間=5ms」は、メッセージを送ってから応答が返ってくるまでの遅延(レイテンシ)だよ。この時間が短いほど応答が早いことを意味するけど、ファイルのダウンロード速度(帯域幅)とは違う指標なんだ。
2. tracerouteとICMP
先生: pingが「目的地に到達できるか」を確認するツールだとすると、traceroute(トレースルート)は「目的地までの経路」を教えてくれるツールだ。これもICMPを利用しているんだよ。
ボット君: 経路を教えてくれるんですか?どうやって?
先生: tracerouteは、TTL(Time to Live)という値を1から順に増やしながらパケットを送信し、途中のルーターから返されるICMPの「Time Exceeded」メッセージを利用して経路を調べているんだ。TTLは、パケットが経由できるルーターの数を示す値だよ。
tracerouteの実装はOSによって異なるんだ。
Windowsの tracert コマンドは、ICMPエコー要求を使い、TTLが切れたルーターからICMPのTime Exceededメッセージを受け取って経路を特定する。
LinuxやmacOSの traceroute コマンドは、UDPパケットを使い、同様にTTLが切れたルーターからのICMP Time Exceededメッセージで経路を特定する。
実際にGoogleのサーバーまでtracerouteを実行した例を見てみよう。
C:\>tracert 8.8.8.8
dns.google [8.8.8.8] へのルートをトレースしています
経由するホップ数は最大 30 です:
1 1 ms 12 ms 1 ms aterm.me [192.168.10.XXX]
2 2 ms 2 ms 2 ms 133.88.79.XXX
3 2 ms 1 ms 2 ms 202.89.240.XXX
4 2 ms 2 ms 3 ms 202.89.240.XXX
5 5 ms 15 ms 4 ms 210.171.224.XXX
6 6 ms 5 ms 5 ms 108.170.248.XXX
7 4 ms 8 ms 4 ms 142.251.226.XXX
8 5 ms 4 ms 7 ms dns.google [8.8.8.8]
先生: この結果を見ると、君のPCからGoogleのサーバー(8.8.8.8)まで、8つの「ホップ」(ルーターを1つ経由すること)を辿ってデータが届いていることがわかるね。もし途中で応答が途切れたり、時間が急に遅くなったりしたら、「あ、このルーターで問題が起きたな」と原因を特定できるんだ。
※ 企業ネットワークでは、セキュリティ対策のため、pingやtracerouteが制限されている場合があります。その際は、ネットワーク管理者に確認してから使用しましょう。
3. 今日のまとめ
ICMPは、ネットワークのエラーや状態を通知する制御メッセージ専用のプロトコル。
pingは、ICMPを利用して相手への接続可否を調べるツール。
tracerouteは、ICMPとTTLを使い、目的地までの経路を調べるツール。
ボット君: ICMPって、ネットワークのお医者さんみたいですね!
先生: まさにその通り!これらのツールは、ネットワークトラブルの診断には欠かせないから、ぜひ覚えておいてほしい。
次回予告
第11回:トランスポート層(レイヤ4)の役割 ~データの信頼性とポート番号~
#ネットワーク入門 #ICMP #ping #traceroute #ネットワーク診断 #IT初心者 #ネットワーク講座 #基本情報 #応用情報
いいなと思ったら応援しよう!
もしこの記事が少しでも役に立ったり、楽しんでいただけたりしたら、チップをいただけるととても嬉しいです!
いただいたチップは、今後のより良いコンテンツ制作のための書籍代📚とnote購入🗒️、他の方へのチップ代💰に使わせていただきます。
いつも応援ありがとうございます!