グローバルネットワークのレイテンシ解説

レイテンシは現代のソフトウェアにとって致命的です。ネットワーク層での1ミリ秒の遅延が、アプリケーションでは数秒のラグを引き起こします。これは、リアルタイムツールやAIストリーミングの体験を損なう原因となります。

多くのエンジニアはインターネットを魔法のようなクラウドだと考えていますが、現実は物理的で厳格なものです。

光速の限界

データは海底光ファイバーケーブルを通って伝送されます。光は真空中よりもガラスの中の方が遅く進みます。光ファイバー内を伝わる光の速度は約204,500 km/sです。

太平洋を横断する9,000 kmの経路では、最小遅延は88msとなります。この限界を超えることはできません。物理法則がパフォーマンスの下限を決定するのです。

Anycast vs Unicast

Unicastネットワークでは、各サーバーに固有のIPが1つ割り当てられています。ロンドンのユーザーがニューヨークのサーバーにアクセスする場合、パケットは多くのホップを経て長い距離を移動します。これが高いレイテンシを生みます。

Anycastはこれを変えます。複数のエッジロケーションに同じIPを割り当てます。

  • ルーターはBGPを使用して最短経路を見つけます。
  • パケットは最も近い物理ノードに送られます。
  • 接続はユーザーの近くで開始されます。 これにより、ネットワークを顧客のより近くに配置できます。

パケットロスの危険性

多くの管理者は1%のパケットロスなら問題ないと考えていますが、高速APIにとっては致命的な事態です。

Cubicのような標準的なTCPプロトコルは、パケットロスを完全な混雑として扱います。パケットがドロップすると、システムは速度を30%削減します。ロスが繰り返されると、接続がフルスピードに達することさえできなくなります。

接続がタイムアウトに達すると、待ち時間は毎回倍増します。わずかなドロップが、アプリケーションを数秒間フリーズさせる原因となります。

解決策

現代のチームは、これらの限界を克服するために主に2つのツールを使用しています。

  • BBR: このアルゴリズムは、ドロップしたパケットに盲目的に反応するのではなく、実際の帯域幅を測定します。これにより速度を安定させます。
  • QUIC: このプロトコルはUDP上で動作します。1つのパケットロスが他のすべてのデータストリームを停止させるのを防ぎます。これにより、従来のTCPで見られるフリーズを回避できます。

これらの物理的およびルーティングのルールを理解することは、より高速なグローバルシステムを構築するのに役立ちます。

Source: https://dev.to/taohuawu/demystifying-global-network-latency-the-mechanics-of-anycast-routing-cross-border-fiber-optics-1bpa