本文へスキップ
IPeek

Ping(TCP)

TCP 経由での到達性と遅延

チェック中…

TCP pingとは?

TCP pingは、ICMPエコーを送る代わりにTCP接続を開くことで、ホストが到達可能かどうか、またどれだけ速く応答するかを測定します。ICMPはほとんどのホスティングやCDNの背後で利用できないため、IPeekはポート443と80へのTCP接続で到達性と遅延を測定し、複数回の試行にわたる最小・平均・最大の往復時間を報告します。

TCP pingとICMP pingの違い

従来のpingコマンドはICMPエコー要求を送り、応答までの時間を計測します。これはローカルネットワークでは機能しますが、ファイアウォール、CDN、クラウドプロバイダーがICMPを日常的に破棄または優先度を下げるため、公衆インターネットの多くで失敗します。TCP pingは代わりにサービスポートへ実際の接続を開き、ハンドシェイクにかかる時間を計測します。ウェブサーバーは機能するために443と80で接続を受け入れなければならないため、ICMPに決して応答しないホストにも確実に到達し、実際にトラフィックを運ぶ経路の遅延を測定します。

遅延の結果の読み解き方

IPeekは複数回の試行にわたる最小・平均・最大の往復時間を報告します。最小は経路の最良の遅延、平均は通常期待できる値です。最小と最大の差はジッターです。差が小さければ安定した接続、大きく広がっていれば輻輳や過負荷のホストを示します。おおまかな目安として、50 ms未満は優秀、50〜150 msはリージョンをまたぐ通常範囲で、一貫して高いか大きく変動する時間はネットワークまたはサーバーの問題を示し、調査する価値があります。

TCP pingが適したツールであるとき

通常のpingが100%のパケットロスを報告するのにサイトは明らかに読み込まれる、つまりICMPがフィルタリングされているだけのときに、TCP pingを使ってください。サーバーがウェブポートで接続を受け入れているか確認したり、自分の場所からホストへの遅延を比較したり、障害になる前の断続的な遅さを発見したりするのにも使えます。また、ブラウザやAPIが使うのと同じTCP経路を計測し、別のICMPチャネルではないため、実際のユーザー体験を気にかけるときの正直な測定でもあります。

ICMPがしばしばブロックされる理由

運用者は攻撃対象領域とノイズを減らすためにICMPをブロックまたはレート制限します。ICMPフラッドは古典的なサービス拒否の手段であり、エコー応答は偵察に役立つ情報を漏らします。CDNやロードバランサーもエッジで接続を終端するため、ICMP pingはオリジンではなく最寄りのエッジノードを計測してしまいます。このため、ICMP pingの失敗はサイトが稼働しているかどうかについて何も語りません。サービスが実際に待ち受けるポートへのTCP pingは、到達性について信頼できるyes/noを与えます。

よくある質問

通常のpingが失敗してもTCP pingが機能するのはなぜですか?

通常のpingはICMPを使い、ファイアウォールやCDNが頻繁に破棄するため、サイトが完全にオンラインでも失敗を報告することがあります。TCP pingは443や80のようなサービスポートへの接続を開き、稼働中のウェブサーバーはこれを受け入れなければなりません。実トラフィックと同じ経路を使うため、ICMPがフィルタリングされている場所でも成功します。

良いping遅延とはどのくらいですか?

50 ms未満は優秀で瞬時に感じられ、50〜150 msはリージョンや大陸をまたぐ接続では通常で、150 msを超えると対話的な利用で気になり始めます。絶対値より重要なのは一貫性です。最小と最大の差が小さく安定した平均は健全な経路を意味し、大きな変動は輻輳や過負荷のサーバーを示します。

最小・平均・最大の往復時間とは何を意味しますか?

これらは複数回の計測を要約したものです。最小は最速の応答で、ネットワーク経路の最良の遅延を表します。平均は期待できる典型的な遅延です。最大は最も遅い試行です。最小と最大の差はジッターで、差が小さければ安定した接続、大きければ経路上の輻輳や不安定さを示します。

ICMPをブロックするホストにpingできますか?

はい、それがまさにTCP pingの目的です。ICMPエコーの代わりに、ウェブサーバーがトラフィックを提供するために受け入れなければならないポート443と80へTCP接続を開きます。これにより、ICMPを黙って破棄するファイアウォールやCDNの背後のホストにも到達し、通常のpingならタイムアウトするところで、実際の到達性と遅延の測定値が得られます。

IPeekがポート443と80をpingするのはなぜですか?

これらはウェブサーバーが機能するために開いたままにしておかなければならない標準のHTTPSおよびHTTPポートであり、接続ベースのpingの信頼できる対象となります。これらのポートへのTCPハンドシェイクを計測することで、IPeekは実際にウェブトラフィックを運ぶ経路の遅延を測定し、現代のホスティングやCDNの背後でICMPエコー要求に決して応答しないホストの到達性を確認します。