web-dev-qa-db-ja.com

ホストがダウンしているかどうかをpingで確認する方法

サーバーをpingするとき、2種類の結果が得られることがあります。

  • タイムアウト
  • ホストがダウンしているというメッセージ

pingコマンドは、ホストがダウンしているかどうかをどのようにして知るのですか?どちらの場合も、ホストはpingパケットに応答を送信しないので、どのようにpingで違いを確認できますか?

11
Bob5421

Host is downメッセージ:

これは、目的の宛先へのルートが不明であること、またはリモートルーターが宛先へのルートがないことを報告していることを示します。

タイムアウト:

エコー応答メッセージがないことを示します。デフォルトの時間内にパッケージを受け取りませんでした。

3
SantiCarta

応答の違いは、実際にはICMP自体ではなく、間接的に決定されます。

ICMPは次のものを区別できます。

  0 = net unreachable;

  1 = Host unreachable;

  2 = protocol unreachable;

  3 = port unreachable;

  4 = fragmentation needed and DF set;

  5 = source route failed.

しかし、それは他のネットワークリソースでそうします。コード0、1、4、および5はゲートウェイから受信できます。コード2と3はホストから受信できます。

ゲートウェイのルーティングテーブルの情報に従って、宛先ネットワークに到達できない場合(ネットワークへの距離が無限大など)、ゲートウェイは宛先に到達できないメッセージをデータグラムのインターネットソースホストに送信する場合があります。さらに、一部のネットワークでは、ゲートウェイがインターネットの宛先ホストに到達できないかどうかを判断できる場合があります。宛先ホストに到達できないときに宛先ホストに到達できないメッセージを送信できるのは、これらのネットワークのゲートウェイであり、そのため、実際にはICMPが決定を行っていません。

宛先ホストで、示されたプロトコルモジュールまたはプロセスポートがアクティブでないためにIPモジュールがデータグラムを配信できない場合、宛先ホストは「宛先到達不能」メッセージを送信元ホストに送信することがあります。

最後に、ゲートウェイで転送するためにデータグラムをフラグメント化する必要があるが、「フラグメントしない」フラグがオンになっている場合、ゲートウェイはデータグラムを破棄し、「宛先に到達できません」というメッセージを返します。

ここで、2つの個別のケースの違いについて説明します。要求がタイムアウトしたということは、設定された時間内にエコー応答メッセージが受信されなかったことを意味します。これは、ARPリクエストの失敗、ネットワークの輻輳、パケットフィルタリング、ルーティングエラー、サイレント破棄など、さまざまな原因が考えられます。

[IPアドレス]からの返信を受け取ると、「宛先ホストに到達できません」という問題が発生しました。この問題は、[IPアドレス]で示されているリモートルーターで発生しました。つまり、ルーターと宛先アドレスの間に問題があることを伝えるルーターです。

24
Overmind