ネットワークの不調は業務の妨げになする。そこで活躍するのが、ネットワークの状態を確かめる基本的なプログラム「Ping」だ。何を調査でき、トラブルシューティングにどう役立つのか。その仕組みと使用例を解説する。
「Ping」は、特定のIPアドレスが到達可能で、ネットワーク要求に応答できるかどうかをエンドユーザーが検証するための基本的なプログラムだ。ネットワークの通信状態やエラーに関する情報を確認、診断するトラブルシューティングで広く利用されている。本稿はPingの仕組みや具体的な使用方法、用例といった、ネットワーク管理に欠かせないPingの基礎知識を紹介する。
1983年、コンピュータ科学者のマイク・ムース氏は、音の反響から距離を測定する仕組み「エコーロケーション」に着想を得てPingを開発した。Pingという名称は、潜水艦がエコーロケーションに用いるソナーの反響音にちなんでいる。
ネットワーク管理において、Pingは名詞と動詞の両方を表す。名詞としてのPingは、ムース氏が開発したユーティリティー(特定の機能を補助するプログラムやツール)のことであり、動詞としてのPingは、ネットワーク接続の問題を解決するためにそのプログラムを使用する行為のことだ。
Pingは、ネットワーク内の特定のマシンにエコー要求(接続確認のための信号)を送信し、返ってきた応答から通信状態を判断する。送信先のマシンが正常であれば、即座にエコー応答(正常であることを示す応答信号)をPingの送信元に返す。通信状態を確認するためのプロトコル「ICMP」(Internet Control Message Protocol)に準拠する。
通常、Pingは複数のエコー要求をマシンに送信し、その可用性と応答性を評価する。相手のマシンが到達可能である場合(相手のマシンと正常に通信できる場合)、各応答は受信したバイト数と応答のRTT(Round-Trip Time:往復遅延時間)に関する情報を含む。他にも、Pingはパケットが破棄されるまでに通過できるネットワークホップ数(ネットワーク機器の上限)を示すTTL(Time To Live:生存時間)も提示する。
一連の送受信が終わった後、Pingは送信および受信した総パケット数、損失したパケットの割合、平均RTT値を含む要約を表示する。この情報は、エンドユーザーが接続性やパフォーマンスの問題を解決するのに役立つ。
対象のマシンが利用できない、応答しない、またはICMP通信をブロックしている場合、送信者は「Request timed out」「Destination host unreachable」「General failure」といったメッセージを受信することがある。場合によっては、全く応答を受信しないこともある。
PingはCLI(コマンドラインインタフェース)から実行できる。まず、エンドユーザーは「ping」という単語に続けて、宛先のドメイン名またはIPアドレスを入力する。ほとんどのOSは、Pingの動作を変更するためのオプションを提供している。送信するエコー要求の数を指定したり、手動で停止するまでPingを継続的に実行させたりといったオプションが利用可能だ。
以下に、ネットワークの接続とパフォーマンスに関連する基本的なタスクを実行するためのPingの用例を示す。
Pingはシンプルで簡単なプログラムであるため、自動テストや診断用のスクリプト(簡易プログラム)に組み込むことが容易だ。Pingが成功しても応答時間が遅い場合は、スピードテストをすることでさらに詳しい情報を得られる。
スピードテストは、インターネット接続の通信速度を確認する診断ツールだ。ダウンロード速度、アップロード速度、デバイスがサーバと通信して応答を得るまでのRTTの3項目を測定する。要求の送信から応答の受信までの時間はミリ秒単位で示すことが一般的だ。
よくあるスピードテストサービスは、世界中にサーバを保有している。ダウンロードおよびアップロードのスピードテストを実行する前、複数の近隣サーバにPingを送信して、最も遅延の少ないサーバを特定し、そのサーバを用いてスピードテストをする。これによって、スピードテストがエンドユーザーの所在地に対して可能な限り正確なものになる。
注意すべき点は、スピードテストで遅延の発生を把握できても、ネットワークのどこで遅延が発生しているかは分からないことだ。それを調査するには「traceroute」を用いる。
tracerouteは、パケットがネットワークを通過する経路をマッピングする診断ツールだ。経路上の各ホップ(中継点)を表示し、パケットが各ホップに到達するまでにかかる時間を測定する。OS「Windows」では「tracert」というコマンド名で利用できる。
エンドユーザーは、Pingとtracerouteを併用することで、遅延やパケット損失が発生している場所を特定できる可能性がある。この操作を通じて入手した情報は、特に遅延が大きい場合やPingの結果が一貫しない場合において有用だ。tracerouteはネットワークのどのセグメントで速度低下が始まっているのかを特定するのに役立つ。
Ping、スピードテスト、tracerouteを併用することで、ネットワークのトラブルシューティングを多角的に実施できる。
エンドユーザーがWebサイトに接続できない場合を例に考えよう。エンドユーザーはPingを使って、Webサーバが到達可能かどうかを判断できる。Pingが到達可能であれば、スピードテストで通信速度を評価し、tracerouteでエンドユーザーのデバイスとWebサーバ間にあるどのホップにおいて接続が失敗しているのかを調査可能だ。
今日、Windowsや「macOS」「UNIX」「Linux」といった、ネットワーク機能を備えたほぼ全てのOSは、トラブルシューティング目的でPingを標準搭載している。ただし、具体的な実装はOSの製造元によって異なる。一般的なモバイルデバイス用OSは、標準機能としてPingを搭載していないが、専用アプリケーションやエミュレーター(アプリケーションの実行環境を疑似的に再現するツール)を使えば、Pingを利用できる。
ルーターなどのネットワーク機器が、Webブラウザで利用可能な管理画面やCLIを通じて使用できるPingを搭載している場合もある。こうした組み込みのPingを使うことで、エンドユーザーはネットワーク機器を起点にして接続可能性をテストできる。
TechTarget.AI編集部は生成AIなどのサービスを利用し、米国Informa TechTargetの記事を翻訳して国内向けにお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
「テレワークでネットが遅い」の帯域幅じゃない“真犯人”はこれだ
ネットワークの問題は「帯域幅を増やせば解決する」と考えてはいないだろうか。こうした誤解をしているIT担当者は珍しくない。ネットワークを快適に利用するために、持つべき視点とは。
「サイト内検索」&「ライブチャット」売れ筋TOP5(2025年5月)
今週は、サイト内検索ツールとライブチャットの国内売れ筋TOP5をそれぞれ紹介します。
「ECプラットフォーム」売れ筋TOP10(2025年5月)
今週は、ECプラットフォーム製品(ECサイト構築ツール)の国内売れ筋TOP10を紹介します。
「パーソナライゼーション」&「A/Bテスト」ツール売れ筋TOP5(2025年5月)
今週は、パーソナライゼーション製品と「A/Bテスト」ツールの国内売れ筋各TOP5を紹介し...