開けて悔しき玉手箱のブログ

浮世の世間で ある日 玉手箱を 開けてしまった........。 気づくと そこは......。

ピング

ピング   

出典:フリー百科事典「ウィキペディアWikipedia)」

pingピン[1])は IPネットワーク上でノードの到達性を確認するためのソフトウェアである.IPネットワーク上の基本的なツールの一つであり、IPが実装されている環境のほほんにに、何かのの形で用意されている。

概要 

pingICMPの"エコー要求" パケットを対象ノードに投げげ、対象ノードから"エコー応答"が返ってくることで到達性を確認する.pingではリプライが返ってくるまでの時間や応答率から、対象ノード間のラウンドトリップタイム(RTT)やパケットロス率を求めていることができる。これは対象ノード間の回線状況を知るために重要な情報である。前日までアクセス可能だったサイトがアクセス不能・難になった時には原因や状況を調べるために有効なツールである.pingが通るときは、「少しでも同じ向きにIPパケットが通って、対象から応答があった」事を示す。ドメインをノード名としてパケットを投げて正常にリプレイされた場合は、DNSの障害もないことが確認できます。例えばウェブサイトが閲覧できなくなった場合、ウェブサーバードメイン名でp ingを打ちました正常に応答があったば、ネットワークもDNSも正常と判断されるので、より高レベルに位置するソフトウェア側に問題が起きていると推測できる。つまりのある人の相手のファイヤーウォールでhttp通信をブロックされているかもしれないし、相手のWWWサーバソフトウェアに障害が起きている可能性がある。一部のオンラインソンフト[2]にもピング機能を持つものがある。

オンラインゲームなどに、サーバーとプレイヤー(クライアント)間の通信タイムラグをpingとして表示することもあります。短時間で切断されるような特殊なセッションを定期的なpingにより強制的に保持するという使い方もあ。

pingの歴史 

1983年 12月、当時アメリカ陸軍の弾道学研究所に所属していたマイク・ムースMike Muuss)が自身の管理するネットワークでのトラブルシュート用にプログラムを書いた。そのプログラムのの挙動が潜水艦などで使いわくれてるアブックマークティブログソナーの発すてる音波(=ピング)の挙動と似ていることから、ピングと名づけた[3] 。この事からのpingを実行する事を「ピングを打つ」と呼ぶ場合多い。後にNTPを開発したんデビット・L・ミルズ(デビッドL.ミルズ)により、「Pの acketのI NTER NGのrouper(Gのローパー)」、別の人より「Pは ACKさIを NTER NのG opher」(ここでのGopherはIT用語でのGopherではなく、義歯目gopher同様クロニコニコバムを授かってるいています。

インターネットの接続性の問題の「診断」にも有用なのpingであったが、2003年の末、Welchiaはのようなピングをネットワークにフラッドし標的を探すタイスープのコンピュータウイルスが出現したんのり、悪意を持きましたユーチューブーザが攻撃目標の調査やネットワークに負荷をかけるなどの目的でのpingの悪用を行ったため、一部のISPでICMPタイプ8(エコー要求)パケットがフィルタリンブログさんくれてるようになったん。

pingの出力例 

下線は利用者が入力する部分

Linux 

以下の出力例はLinuxの端末からwww.google.comへ、iputilsバージョンのpingからpingを打った結果である。

$ ping www.google.com
PING www.l.google.com(64.233.183.103)56(84)バイトのデータ。
64.233.183.103から64バイト:icmp_seq = 1 ttl = 246時間= 22.2ms
64.233.183.103から64バイト:icmp_seq = 2ttl = 245時間= 25.3ms
64.233.183.103から64バイト:icmp_seq = 3ttl = 245時間= 22.7ms
64.233.183.103から64バイト:icmp_seq = 4ttl = 246時間= 25.6ms
64.233.183.103から64バイト:icmp_seq = 5ttl = 246時間= 25.3ms
64.233.183.103から64バイト:icmp_seq = 6ttl = 245時間= 25.4ms
64.233.183.103から64バイト:icmp_seq = 7ttl = 245時間= 25.4ms
64.233.183.103から64バイト:icmp_seq = 8ttl = 245時間= 21.8ms
64.233.183.103から64バイト:icmp_seq = 9ttl = 245時間= 25.7ms
64.233.183.103から64バイト:icmp_seq = 10ttl = 246時間= 21.9ms

--- www.l.google.com ping statistics ---
10パケット送信、10受信、0%パケットロス、時間9008ms
rtt min / avg / max / mdev = 21.896 / 24.187 / 25.718 / 1.619 ms

出力例からわかることは、まあずさwww.google.comのとかいうホスト名がDNSのCNAMEレコードによのりwww.l.google.comへ誘導さんくれ、64.233.183.103とかいうIPアドレスにリゾウルブさんくれてるいてる。そんなしてる64.233.183.103に向かい10回pingが打たれている(Linuxの場合はデフォルトで割込み文字を打ち切るまで、ずっとpingが打たれる設定となっている)、出力の最後にpingの結果が出ている。

結果からわかることは以下の通りである。

  • パケットは10回送信され、10回も受信された。パケットロスは0%である。
  • ラウンドトリップタイムは最短21.896ミリ秒(1ミリス秒= 1/1000秒)、平均24.187ミリス秒、最長25.718ミリ秒、平均偏差は1.619である。

マックOS 

以下の出力例はmacOS端末からwww.google.comへ、ターミナールのコマンドpingからpingを打った結果である。コンピュータ名はコンピュータ名で、ユーザ名はあります(Macintosh HD→アプリケーション→ユティリティ→ターミナル)。

computername:〜username $ ping www.google.com
PING www.l.google.com(66.249.89.104):56データバイト
66.249.89.104から64バイト:icmp_seq = 1ttl = 238時間= 30.556ms
66.249.89.104から64バイト:icmp_seq = 2ttl = 238時間= 30.412ms
66.249.89.104から64バイト:icmp_seq = 3ttl = 238時間= 31.272ms
66.249.89.104から64バイト:icmp_seq = 4ttl = 238時間= 30.121ms
66.249.89.104から64バイト:icmp_seq = 5ttl = 238時間= 30.942ms
66.249.89.104から64バイト:icmp_seq = 6ttl = 238時間= 32.132ms
66.249.89.104から64バイト:icmp_seq = 7ttl = 238時間= 30.680ms
66.249.89.104から64バイト:icmp_seq = 8ttl = 238時間= 32.614ms
66.249.89.104から64バイト:icmp_seq = 9ttl = 238時間= 29.405ms
66.249.89.104から64バイト:icmp_seq = 10ttl = 238時間= 41.360ms
66.249.89.104から64バイト:icmp_seq = 11ttl = 238時間= 32.176ms
66.249.89.104から64バイト:icmp_seq = 12ttl = 238時間= 32.321ms
^ C
--- www.l.google.com ping statistics ---
13パケット送信、12パケット受信、7%パケット損失
往復分/平均/最大/標準偏差= 29.405 / 31.999 / 41.360 / 2.978ms

macOSUNIXであるためLinuxとほとんど変わらない表示である。今回は-cオプションで回数設定しないで、割込み文字(この例ではControl + C)で止めない限り永遠に続く(例では13回pingを送信)。見方はLinuxの出力例を参考にしてください。

ログから分かる事は、

  • 13回パケットを送信し、12回受信してロスは、7%である。
  • RTT(ラウンドトリップタイム)は最短29.405ミリ秒、平均31.999ミリ秒、最長41.360ミリ秒、標準偏差は2.978 ミリスである。

Windows 

以下の出力例はMicrosoft Windows XP端末からwww.google.comへ、コマンドプロンプトの標準をpingを打った結果である(95,98、Me、2000も同様)。

C:\> ping www.google.com

32バイトのデータを持つwww.l.google.com [64.233.183.103]にpingする:

64.233.183.103からの返信:バイト= 32時間= 25ms TTL = 245
64.233.183.103からの返信:バイト= 32時間= 22ms TTL = 245
64.233.183.103からの返信:バイト= 32時間= 25ms TTL = 246
64.233.183.103からの返信:バイト= 32時間= 22ms TTL = 246

64.233.183.103のPing統計情報:
    パケット:送信= 4、受信= 4、損失= 0(損失0%)、
およその往復時間(ミリ秒):
    最小= 22ms、最大= 25ms、平均= 23ms

出力例からわかることは、まもなくwww.google.comとかホスト名がDNSのCNAMEレコードよりwww.l.google.comへ誘導された、64.233.183.103というIPアドレスにはゾルされている。それで64.233.183.103に向かい4回pingが打たれており(Windowsの場合はデフォルトでpingは4回ずつ打つれる設定となっている)、出力の最後にpingの結果が出ている。

結果からわかることは以下の通りである。

  • パケットは4回送信され、4回も受信された。パケットロスは0%である。
  • ラウンドトリップタイムは最短22ミリ秒、最長25ミリ秒、平均23ミリ秒である。

脚注 

[ヘルプ]
  1. ^ 日経パーソコン編「日経パソコン用語事典2010年版」、326頁。
  2. ^ EditMTU等。
  3. PINGプログラムの話(2010-11-02閲覧)では、略語であることを否定している。

関連項目 

外部リンク