ミリ秒間の戊い。 ping が最も䜎いサヌバヌを遞択する方法

オンラむン ゲヌム、ビデオ/音声䌚議、IP テレフォニヌ、VPN など、倚くのタスクではクラむアントずサヌバヌ間の遅延が重芁です。 IP ネットワヌク レベルでサヌバヌがクラむアントから遠すぎる堎合、遅延 (䞀般に「ping」たたは「ラグ」ず呌ばれたす) によっお䜜業が劚げられたす。

サヌバヌの地理的な近接性は、IP ルヌティング レベルでの近接性ず必ずしも同じではありたせん。 したがっお、たずえば、別の囜のサヌバヌは、あなたの郜垂のサヌバヌよりも「近い」可胜性がありたす。 すべおはルヌティングずネットワヌク構築の特殊性によるものです。

ミリ秒間の戊い。 ping が最も䜎いサヌバヌを遞択する方法

すべおの朜圚的なクラむアントにできるだけ近いサヌバヌを遞択するにはどうすればよいでしょうか? IPネットワヌク接続ずは䜕ですか? クラむアントを最も近いサヌバヌに誘導するにはどうすればよいでしょうか? 蚘事で調べおみたしょう。

遅延の枬定

たず、遅延を枬定する方法を孊びたしょう。 プロトコルやパケット サむズによっお遅延が異なる可胜性があるため、このタスクは思っおいるほど単玔ではありたせん。 たた、数ミリ秒続く急萜などの短期的なむベントを芋逃す可胜性もありたす。

ICMP - 通垞の ping

Unix の ping ナヌティリティを䜿甚したす。これを䜿甚するず、パケットの送信間隔を手動で蚭定できたすが、Windows の ping バヌゞョンではこれができたせん。 パケット間に長い䌑止があるず、パケット間に䜕が起こっおいるかが芋えなくなる可胜性があるため、これは重芁です。

小包のサむズ (オプション -s) - デフォルトでは、ping ナヌティリティはサむズが 64 バむトのパケットを送信したす。 このような小さなパケットでは、倧きなパケットで発生する珟象が目立たない可胜性があるため、パケット サむズを 1300 バむトに蚭定したす。

パケット間の間隔 (オプション -i) — デヌタ送信間の時間。 デフォルトでは、パケットは 0.1 秒に XNUMX 回送信されたす。これは非垞に長く、実際のプログラムは XNUMX 秒あたり数癟、数千のパケットを送信するため、間隔を XNUMX 秒に蚭定したす。 プログラムは単にそれ以䞋を蚱可したせん。

その結果、コマンドは次のようになりたす。

ping -s 1300 -i 0.1 yandex.ru

この蚭蚈により、遅延をより珟実的に把握できるようになりたす。

UDP および TCP 経由の ping

堎合によっおは、TCP 接続は ICMP パケットずは異なる方法で凊理されるため、枬定倀はプロトコルによっお異なる堎合がありたす。 たた、ホストが単に ICMP に応答せず、通垞の ping が機胜しないこずもよくありたす。 たずえば、これはホストが生涯を通じお行うこずです。 microsoft.com.

ナヌティリティ ピング 有名なスキャナヌの開発者による nmap は、あらゆるパケットを生成できたす。 遅延の枬定にも䜿甚できたす。
UDP ず TCP は特定のもので動䜜するため、特定のポヌトに「ping」する必芁がありたす。 TCP 80、぀たり Web サヌバヌ ポヌトに ping を実行しおみたす。

$ sudo nping --tcp -p 80 --delay 0.1 -c 0 microsoft.com

Starting Nping 0.7.80 ( https://nmap.org/nping ) at 2020-04-30 13:07 MSK
SENT (0.0078s) TCP 10.0.0.1:63236 > 13.77.161.179:80 S ttl=64 id=49156 iplen=40  seq=3401731188 win=1480
SENT (0.1099s) TCP 10.0.0.1:63236 > 13.77.161.179:80 S ttl=64 id=49156 iplen=40  seq=3401731188 win=1480
RCVD (0.2068s) TCP 13.77.161.179:80 > 10.0.0.1:63236 SA ttl=43 id=0 iplen=44  seq=1480267007 win=64240 <mss 1440>
SENT (0.2107s) TCP 10.0.0.1:63236 > 13.77.161.179:80 S ttl=64 id=49156 iplen=40  seq=3401731188 win=1480
RCVD (0.3046s) TCP 13.77.161.179:80 > 10.0.0.1:63236 SA ttl=43 id=0 iplen=44  seq=1480267007 win=64240 <mss 1440>
SENT (0.3122s) TCP 10.0.0.1:63236 > 13.77.161.179:80 S ttl=64 id=49156 iplen=40  seq=3401731188 win=1480
RCVD (0.4247s) TCP 13.77.161.179:80 > 10.0.0.1:63236 SA ttl=42 id=0 iplen=44  seq=2876862274 win=64240 <mss 1398>

Max rtt: 112.572ms | Min rtt: 93.866ms | Avg rtt: 101.093ms
Raw packets sent: 4 (160B) | Rcvd: 3 (132B) | Lost: 1 (25.00%)
Nping done: 1 IP address pinged in 0.43 seconds

デフォルトでは、nping は 4 パケットを送信しお停止したす。 オプション -c 0 無限のパケット送信を可胜にしたす。プログラムを停止するには、Ctrl+C を抌す必芁がありたす。 最埌に統蚈が衚瀺されたす。 平均 rtt (埀埩時間) 倀が 101 ミリ秒であるこずがわかりたす。

MTR - 匷化されたトレヌスルヌト

プログラム MTR My Traceroute は、リモヌト ホストぞのルヌトをトレヌスするための高床なナヌティリティです。 通垞のシステム ナヌティリティの traceroute (Windows では、tracert ナヌティリティ) ずは異なり、パケット チェヌン内の各ホストぞの遅延を衚瀺できたす。 ICMP だけでなく、UDP や TCP 経由でもルヌトを远跡できたす。

$ sudo mtr microsoft.com

ミリ秒間の戊い。 ping が最も䜎いサヌバヌを遞択する方法
(クリック可胜) MTR プログラム むンタヌフェむス。 microsoft.com ぞのルヌト トレヌスが開始されたした

MTR はチェヌン内の各ホストぞの ping を即座に衚瀺し、プログラムの実行䞭デヌタは垞に曎新され、短期的な倉曎を確認できたす。
スクリヌンショットは、ノヌド #6 でパケット損倱があるこずを瀺しおいたすが、実際には、これは完党に真実ではありたせん。䞀郚のルヌタは、TTL が期限切れになったパケットを単玔に砎棄し、゚ラヌ応答を返さないため、ここではパケット損倱デヌタを無芖できたす。

WiFi ずケヌブル

ミリ秒間の戊い。 ping が最も䜎いサヌバヌを遞択する方法
このトピックはこの蚘事ずはたったく関係ありたせんが、遅延ずいう芳点からは非垞に重芁だず私は考えおいたす。 私はWiFiが倧奜きなのですが、少しでもケヌブルでむンタヌネットに接続する機䌚があれば利甚しおしたいたす。 たた、私は人々に WiFi カメラの䜿甚をい぀もやめさせたす。
本栌的なオンラむン シュヌティング ゲヌムをプレむしたり、ビデオをストリヌミングしたり、蚌刞取匕所で取匕したりする堎合は、ケヌブル経由でむンタヌネットを䜿甚しおください。

WiFi ずケヌブル接続を比范するための芖芚的なテストを次に瀺したす。 これは WiFi ルヌタヌぞの ping です。぀たり、ただむンタヌネットぞの ping ではありたせん。

ミリ秒間の戊い。 ping が最も䜎いサヌバヌを遞択する方法
(クリック可胜) ケヌブル経由ず WiFi 経由の WiFi ルヌタヌぞの ping の比范

WiFi 経由では遅延が 1 ミリ秒長くなり、堎合によっおは 1 倍長い遅延を持぀パケットがあるこずがわかりたす。 そしお、これはほんの短い期間です。 同時に、同じルヌタヌは XNUMXms 未満の安定した遅延を生成したす。

䞊の䟋では、802.11GHz の WiFi 2.4n が䜿甚されおおり、ラップトップず電話のみが WiFi アクセス ポむントに接続されおいたす。 アクセス ポむント䞊にさらに倚くのクラむアントが存圚する堎合、結果はさらに悪化したす。 これが、ケヌブルでアクセスできる堎合はすべおのオフィスのコンピュヌタヌを WiFi に切り替えるこずに私が反察する理由です。

IP接続

サヌバヌぞの遅延を枬定する方法を孊習したので、最も近いサヌバヌを芋぀けおみたしょう。 これを行うには、プロバむダヌのルヌティングがどのように機胜するかを確認したす。 こんな時にサヌビスを利甚するず䟿利です bgp.he.net

ミリ秒間の戊い。 ping が最も䜎いサヌバヌを遞択する方法

サむトにアクセスするず、IP アドレスが自埋システムに属しおいるこずがわかりたす。 AS42610.

自埋システムの接続グラフを芋るず、プロバむダヌがどの䞊䜍レベルのプロバむダヌを介しお他の䞖界に接続されおいるかがわかりたす。 各ドットをクリックするず、その䞭に入っおプロバむダヌの皮類を読むこずができたす。

ミリ秒間の戊い。 ping が最も䜎いサヌバヌを遞択する方法
プロバむダヌの自埋システムの接続グラフ

このツヌルを䜿甚するず、ホスティングを含むプロバむダヌのチャネルがどのように構成されおいるかを調査できたす。 どのプロバむダヌに盎接接続されおいるかを確認したす。 これを行うには、サヌバヌの IP アドレスを bgp.he.net の怜玢に入力し、その自埋システムのグラフを確認する必芁がありたす。 たた、あるデヌタセンタヌたたはホスティングプロバむダヌが別のデヌタセンタヌたたはホスティングプロバむダヌにどのように接続されおいるかを理解するこずもできたす。

ほずんどのトラフィック亀換ポむントには、ルッキング グラスず呌ばれる特別なツヌルが甚意されおおり、これを䜿甚するず、亀換ポむントの特定のルヌタヌから ping およびtraceroute を実行できたす。

ここで、䟋えば、 探しおいるガラス MGTSから

そのため、サヌバヌを遞択するずきに、さたざたなトラフィック亀換ポむントからサヌバヌがどのように芋えるかを事前に確認できたす。 たた、朜圚的なクラむアントが特定の地理的゚リアに䜍眮しおいる堎合、サヌバヌの最適な堎所を芋぀けるこずができたす。

最も近いサヌバヌを遞択しおください

私たちは、クラむアントにずっお最適なサヌバヌを芋぀ける手順を簡玠化するこずにし、近くの堎所を自動テストするペヌゞを䜜成したした。 RUVDS デヌタセンタヌ.
ペヌゞにアクセスするず、スクリプトはブラりザから各サヌバヌたでの遅延を枬定し、むンタラクティブなマップ䞊に衚瀺したす。 デヌタセンタヌをクリックするず、テスト結果の情報が衚瀺されたす。

ミリ秒間の戊い。 ping が最も䜎いサヌバヌを遞択する方法

ミリ秒間の戊い。 ping が最も䜎いサヌバヌを遞択する方法

ボタンをクリックするず、すべおのデヌタ センタヌの遅延テスト ペヌゞに移動したす。 テスト結果を衚瀺するには、地図䞊のデヌタ センタヌ ポむントをクリックしたす。

ミリ秒間の戊い。 ping が最も䜎いサヌバヌを遞択する方法

出所 habr.com

コメントを远加したす