ping について


 ネットワーク帯域をどれだけたくさん消費しているかということも知りたいことの一つですが、どれだけ速く使えているか(=応答時間)についても多くの関心が寄せられています。応答時間は ping によって簡易に知ることができます。

  1. ping とは何か?
     ping は Packet InterNet Groper の略です。 grope は「手探りする、手探りして(…を)捜す[進む]」 (プログレッシブ英和中辞典 第2版 小学館 1987.)という意味です。 だから、ping というのはインターネット上を手探りで進むパケットということになるでしょうか。
     ping とは ICMP(Internet Control Message Protocol)の Echo Request / Replay のことです。ICMP は経路上のどこかに障害があったときに、それを伝えるために使われるプロトコルです。 Echo Request / Replay は終点へ到達できるかどうかをテストするために使われます。 ping は Echo Request と Echo Reply の往復で一対です。



  2. ICMP のフレームフォーマット
     フレームフォーマットの簡単な説明です。


  3. ping 結果の読み方
    例1
    host1:user1{24}ping host-b
    PING host-b: 64 byte packets
    64 bytes from 10.11.12.13: icmp_seq=0. time=51. ms
    64 bytes from 10.11.12.13: icmp_seq=1. time=48. ms
    64 bytes from 10.11.12.13: icmp_seq=2. time=103. ms
    64 bytes from 10.11.12.13: icmp_seq=3. time=97. ms
    64 bytes from 10.11.12.13: icmp_seq=4. time=137. ms
    64 bytes from 10.11.12.13: icmp_seq=5. time=51. ms
    64 bytes from 10.11.12.13: icmp_seq=6. time=72. ms
    64 bytes from 10.11.12.13: icmp_seq=7. time=72. ms
    64 bytes from 10.11.12.13: icmp_seq=8. time=67. ms
    64 bytes from 10.11.12.13: icmp_seq=9. time=79. ms
    64 bytes from 10.11.12.13: icmp_seq=10. time=86. ms
    64 bytes from 10.11.12.13: icmp_seq=11. time=59. ms

    ----host-b PING Statistics----
    12 packets transmitted, 12 packets received, 0% packet loss
    round-trip (ms) min/avg/max = 48/76/137
    host1:user1{25}
    例2
    host2:user1{107}ping host-b
    PING host-b (10.11.12.13): 56 data bytes
    64 bytes from 10.11.12.13: icmp_seq=0 ttl=61 time=39.615 ms
    64 bytes from 10.11.12.13: icmp_seq=1 ttl=61 time=59.012 ms
    64 bytes from 10.11.12.13: icmp_seq=2 ttl=61 time=40.011 ms
    64 bytes from 10.11.12.13: icmp_seq=3 ttl=61 time=49.868 ms
    64 bytes from 10.11.12.13: icmp_seq=4 ttl=61 time=53.703 ms
    64 bytes from 10.11.12.13: icmp_seq=5 ttl=61 time=40.393 ms
    64 bytes from 10.11.12.13: icmp_seq=6 ttl=61 time=51.516 ms
    64 bytes from 10.11.12.13: icmp_seq=7 ttl=61 time=69.417 ms
    64 bytes from 10.11.12.13: icmp_seq=8 ttl=61 time=39.618 ms
    64 bytes from 10.11.12.13: icmp_seq=9 ttl=61 time=89.739 ms
    64 bytes from 10.11.12.13: icmp_seq=10 ttl=61 time=47.153 ms
    64 bytes from 10.11.12.13: icmp_seq=11 ttl=61 time=54.361 ms
    ^C
    --- host-b ping statistics ---
    12 packets transmitted, 12 packets received, 0% packet loss
    round-trip min/avg/max/stddev = 39.615/52.867/89.739/14.112 ms
    host2:user1{108}
     だいたい見ての通りです。何バイトのデータ(64 bytes)が、どこから(from 10.11.12.13)、 順に(icmp_seq=)、どれくらいの時間で(time=51. ms)という意味になります。 例1と例2とで異なるのは、ttl= という部分です。TTL は Time To Live の略です。生存時間とういか、存在可能時間という意味ですね。

     icmp_seq (シーケンス番号)はどの ping に応答したかを示しており、 この番号が飛んでいれば(0, 1, 2, 4... のように) Request または Replay がネットワークのどこかでなくなったことを示しています。 この loss の値が 1 % 以下であれば、問題はないでしょう。 それ以上だとネットワークのどこかに問題があると言えます。 ( この見解は Wired Digital の ネットワークエンジニア Rob Robertson によります。)

     TTL はパケットが永遠に存在することを防ぐために設定される値で、ルータを一つ通過する度に一つ減ります。 したがって、TTL の値がまちまちならば、 それぞれのパケットが異なったルートを通っていることを示すことになります。 あんまりいいことではありません。

     応答時間は、一般的に言って 200 ms 以下ならばよい(best)と言えます。 ( この見解も Wired Digital の ネットワークエンジニア Rob Robertson によります。)
     人間工学的研究によると、レスポンスが 100 〜 200 ミリ秒以上かかると、人は「遅い」と感じるということです。 これは rfc1144 にも記載されていますが、その出典は 「Designing the User Interface : Strategies for Effective Human-Computer Interaction」 にあります。rfc1144 のデータはこの本の 1987 年版によります。その後 1997 年に第3版が出されていますが、それになんと書かれているのか、そこまでは確かめていません。
    あるゲームに関するサイトの ping に対する見解も参考までに示しておきます。 このサイトはここだったのですが、これももうありません。

    PING 値 解説
    0 - 70 ms Ethernet 直結か、専用線同士で接続した数値に匹敵します。一次プロバイダ内で、 ISDN 同士ならばお目にかかれる数値かも。どんなゲームもこれなら OK です。
    71 - 200 ms 良好。リアルタイムのアクションゲームでも、ちゃんと同期して動作できます。
    201 - 400 ms 平均的な数値です。日本国内のユーザ同士ならば、大体この程度の数値になります。 ゲームの実行には、ほとんど問題ありません。だだし、かなりの同期ズレを覚悟する必要があります。
    401 - 700 ms 23:00 以降の回線が混みだした頃は、これぐらいの数値です。同期ズレもかなり深刻になり、 場合によっては初期データリンクの時点でセッションが確立できない場合があります。
    701 - 1000 ms かなりネットワークが混んでいます。極めて運がよければ対戦できるかも知れません。
    Over 1001 ms 〜 はっきりいってこれではゲームになりません。Chat でもしながら、回線が空くのを待ちましょう。 毎回毎回こんな数値しかでないようなら、ISP の変更を検討しましょう。

    今(2003年)もっと速くできるでしょうね。ブロードバンド時代だから。。。