ネットワーク接続に関わる用語はなかなか実態が見えなくて理解しづらいですよね。
この記事では、たまたまpingという言葉を見かけたけどまったく詳細がわからない人でも理解できるよう、丁寧にまとめました。
- そもともpingとはなにか
- pingコマンドを試す方法
について解説しています。
pingコマンドとはネットワーク接続診断プログラム
結論から言うと、pingコマンドとはネットワークが正しく接続されているか診断する基本的なプログラムです。
pingは「Packet InterNet Groper」の略称で「ピン」「ピング」などと呼ばれます。
ネットワークの領域では、TCP/IPという接続方法のプロトコル(決まりごと)を定めた規格があります。
世界中のシステムで採用されているルールの一つです。
そして少しややこしいですが、TCP/IPでの接続がきちんと行われているかを確認するために使われるプロトコルがICMP(Internet Control Message Protocol)です。
実際に自分がネットワークに接続しようとしているとき、ICMPに沿って正しく接続できているか?を確認するときに活躍するのがpingなんですね。
pingコマンドでは、指定したIPアドレスやホスト名に一定のデータを送り、相手先で変換させずそのまま送り返してもらうことで通信状態を確認します。
もし接続できなかったときは、「Request time out」つまり接続に時間がかかって切断されてしまったという結果が得られるので、接続不良だと知ることが可能です。
pingコマンドを試す方法
pingコマンドは、IPアドレスが使える機器なら簡単に利用することができます。
実際にネットワークに接続しているPCなら間違いなくIPアドレスを使えるので、ぜひご自身の端末で試してみてください。
使ってみたほうが概要を理解できると思います。
pingコマンドを送信する
Macの場合はターミナル、Windowsの場合はコマンドプロンプトを起動してください。
pingは非常にシンプルで、以下のコマンドだけで成立します。
$ ping 接続先 オプション
接続先にはホスト名かIPアドレスを設定できます。
今回はメジャーどころのwww.google.co.jp
にpingを送信してみましょう。
オプションは付けなくても大丈夫です。
$ ping www.google.co.jp
https://
はつけないようにしてください。
正常にネットワーク接続できている場合、次のような表示が出てくると思います。
PING www.google.co.jp (142.250.207.3): 56 data bytes
64 bytes from 142.250.207.3: icmp_seq=0 ttl=114 time=19.292 ms
64 bytes from 142.250.207.3: icmp_seq=1 ttl=114 time=62.107 ms
64 bytes from 142.250.207.3: icmp_seq=2 ttl=114 time=86.033 ms
64 bytes from 142.250.207.3: icmp_seq=3 ttl=114 time=19.056 ms
pingコマンドにて通信を何度か試している状況です。
おそらくターミナル(コマンドプロンプト)をそのままにしていると何度もping通信をしてしまうので、適当なところでCommand + C
(もしくはCtrl + C
)にて中断してください。
--- www.google.co.jp ping statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 17.938/47.574/104.394/37.600 ms
最後に通信結果についてまとめが表示されます。
pingコマンドの結果についての解説
細かく表示結果をみていきます。
PING www.google.co.jp (142.250.207.3): 56 data bytes
これは、ホスト名www.google.co.jp
はIPアドレス142.250.207.3
に変換されて、56バイトのデータが送られようとしていることを意味しています。
64 bytes from 142.250.207.3: icmp_seq=0 ttl=114 time=19.292 ms
通信を1回試すごとに上記の表示が出ます。
先ほど用意された56バイトのデータに、ICMPに関する8バイトのデータを合算した64バイトが142.250.207.3
とやり取りされました。
icmp_seq
はpingを送信した回数を表します。
最初は0からスタートし、次は1、その次は2となっていきます。
もしこの番号に抜けがあった場合は、ここで通信失敗したと判断できます。
あるデータが破棄されるまでの時間をTTL(Time To Liveの略)というのですが、ttl=114
とあるので、今回のping通信におけるTTLは114だったということもわかりました。
最後のtime
部分は、pingにてデータを送信してから返ってくるまでの時間です。
4 packets transmitted, 4 packets received, 0.0% packet loss
今回は4回通信を行い、4回とも正常な応答がありました。
0.0% packet loss
とあるので、送ったデータは少しも破損されずそのまま送り返されたという意味ですね。
round-trip min/avg/max/stddev = 17.938/47.574/104.394/37.600 ms
最後に表示されるのは、今回の応答にかかった時間の統計です。
後半の数字部分にて、最小時間/平均時間/最大時間/ばらつきぐあい、の順で表示されます。
つまり、今回のping通信にかかった時間は平均47.574ミリ秒だったということがわかります。
まとめ
ネットワーク接続の診断として使えるpingコマンド。
簡単にまとめると以下。
- ICMPに則った接続状況を確認
- ホスト名もしくはIPアドレスを使用して通信
- 一定のデータを相手に送り、そのまま送り返してもらって接続状況を確認
ネットワーク接続に関わる用語はわかりにくいですが、pingは基本的なものですのでぜひ抑えておきましょう。
コメント