メインコンテンツへスキップ
見出し画像

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初心者 #ネットワーク講座 #基本情報 #応用情報


     
     
     
    まだ知らない『面白い』への案内人。人・作品・AIの魅力を見つけ、物語と知識に変えて届けるコンシェルジュです。毎週土曜は漫画ソムリエ。スキ動画コンテストほか、いろいろ実験中。

    あなたへのおすすめ