Kotet's Personal Blog
| About | Products | Tags

#tech ネットワーク遅延と光速度【翻訳】

この記事は Network latencies and speed of light | The ryg blog を自分用に翻訳したものを 許可を得て 公開するものである。

ソース中にコメントの形で原文を残している。 誤字や誤訳など気になったら Pull requestを投げつけて くれると喜ぶ。


この短い投稿で私は、現代のネットワーク(インターネット)のレイテンシが既に今の物理学上で可能な限界にかなり近く、今後予測可能な範囲で普通のインターネットには使われそうにない勇敢な土木とネットワークエンジニアリングへの膨大な投資をもってしても2倍程度にしかならないため、今後も変わらないということを納得してもらうよう試みます。

これは私がときどきある議論で、それを聞いた相手は大抵驚きます。 昨年それについてメールを書くことがあり、私はそれをリサイクルしこの投稿にしようと思い立ちました。今後同じことが起きたらここへのリンクを送るだけで良くなります。 :)

2017年10月に元のメールを書いた時、私は私が知る限り(そしてGeo-IPサービスでわかる限り)1番遠いマサチューセッツ州、ケンブリッジのMITにあるマシンであるcsail.mit.eduへpingをしました。 私はワシントン州、シアトルの仕事用Windowsマシンの前にいました。

Pinging csail.mit.edu [128.30.2.121] with 32 bytes of data:
Reply from 128.30.2.121: bytes=32 time=71ms TTL=48
Reply from 128.30.2.121: bytes=32 time=71ms TTL=48
Reply from 128.30.2.121: bytes=32 time=70ms TTL=48
Reply from 128.30.2.121: bytes=32 time=71ms TTL=48

Ping timeはround-trip timeであり、ネットワークパケットが私のマシンからMITに送られる時間、サーバが返信を準備する時間、そして返信を送り、それが私のマシンへと帰ってきて、pingプロセスへと届けられるまでの時間が含まれます。 片道の時間はほぼRTTを2で割った時間であり、私のpingパケットはシアトルからボストンまで35ミリ秒で送られたと概算できます。

Google Mapsによると私のオフィスからCambridge MAまでの大円距離はおよそ4000キロメートル(キロメートルがわからないなら、2500マイルとも言えます)です。 私が現在送るすべてのネットワークパケットは普通のネットワークインフラストラクチャの上を通っており、たいてい光ファイバー(特に長距離のリンクでは)か銅線を媒質に使っています。 私が大学で学んだ経験則では、実際のシグナルの伝送速度は両方ともだいたい真空中の光速の3分の2です。 これはvelocity factorと呼ばれます。 この記事にはいくつか実際の値が載っており、それによるとカテゴリー6ツイストペアケーブル(10Gbit Ethernetで使われます)では0.65c、カテゴリー5e(1Gbit Ethernet)では0.64c、光ファイバーでは0.67cであり、どれも他と比べ先述の経験則の3分の2と近いため、以降この記事ではこれらを区別しません。

2500マイルを2/3cで割ると、4×106m / (2×108 m/s) = 2 × 10-2 s = 20ミリ秒が得られます。 これがシアトルとケンブリッジ間の大円、つまり球上での2点間の最短距離をまっすぐ張った仮想的光ファイバーによる伝達遅延です。 高低差を無視しているし地球は正確な球ではありませんが、ここでは概算にとどめておきます。 上で述べた片道のレイテンシの実測値が既にこの数値の2倍を下回っています。 従ってここまでの話では2倍の改善も起こりそうにありません。

さらに、目的がネットワークの構築(であり、単に2点間を繋ぐことではない)ならば、何もないところに長いケーブルを張りたくはありません。 再びGoogle Mapsによると、シアトルからケンブリッジまで主要な道を通った時の実際の距離はおよそ4800キロメートル(3000マイル)です。 なのでこの場合、ネットワーク構築の際に人口密集地を通り、五大湖の下にトンネルを掘ったりしないことによる20%の「オーバーヘッド」距離があります。 作りたいのが超高速リンクではなくインターネットの場合、これは適切なトレードオフです。 この20%のオーバーヘッドを計算に入れると伝達遅延は24ミリ秒になります。

つまり、片道約35ミリ秒のうち、24ミリ秒は物理(光速度、光ファイバーの屈折率)とロジスティクス(ネットワークのリンクは2点間の最小距離のフルメッシュではない)によるものです。 残りの11ミリ秒はおそらくシグナルブースターとネットワークスタックのルータに少しの間エンキューされた時間です。 ここはネットワーク技術の発展で改善できます。 しかしこのコストをゼロにしたとしても1.5倍のスピードアップにしかなりません。 これがメインストリームのネットワーク技術が近いうちにこれ以上速くなることはないと考える理由です。

もし距離を縮めるためプライベートの専用ファイバーリンクを敷くために金をかけるのもやむなしと考えるなら(またはそこに都合よく敷かれている正しい方を向いた未使用のファイバーを使うなら)どうでしょう? まだメインストリームの技術のみを使い、余分なより道(物理的な道)にかかるほんの僅かの時間を削るためにお金をかけ、それを維持管理するつもりならば普通のファイバーでもRTTは45ミリ秒から50ミリ秒になるでしょう。

しかし、これはまだファイバー(もしくは銅線)を使い、それが地球表面にくっつくように張られていると仮定しています。 「金に糸目をつけない」として、ボンド映画の悪役の領域に片足を突っ込むならば、2点間をつなぐ完璧に真っ直ぐなトンネルを掘り、内部を真空に保ち(厳密には真空にする必要はありませんが、せっかくなのでやっておきましょう)、強力なマイクロ波で接続することで、信号の速度を完全な光速にまでアップグレードし、地球の曲率のような邪魔な回り道をなくすことができます。 ビームの発散を考慮すると数千キロメートルくらいが限界かもしれません。 本題に戻ると、十分に高出力なマイクロ波送信機はその気になればいい感じの殺人光線を出せるので、なかなか魅力的な気もします。 さらに真剣に考えてみると、高出力のポイント・ツー・ポイントマイクロ波リンクは現実のものであり、高頻度取引などの非常にレイテンシが重要な分野で使われています。 しかし私の知る限り(間違ってるかもしれないのでその時は教えてください!)個々のセグメントは数百マイル、数十マイルにも及ばず、通常数マイル程度です。 それ以上に長いリンクは複数のセグメントを連動させることで(事実上リピータの列)構築され、その分割のたびに小さな遅延が発生するため、実際どれくらいのものか知りませんが、伝送速度は完全な光速よりはるかに低くなります。 もちろんこのようなシステムは視界がまっすぐ通っている必要が(ボンド映画の悪役でない限り)あり、視界の悪くなる悪天候時などでは動作しないか、能力が低下します。

とにかく、そのレベルの投資をすれば片道の時間は12ミリ秒、往復24秒ほどになります。 これは現在のメインストリームのネットワーク技術の3倍速く、既知の物理学の限界にかなり近づきますが、構築、維持が非常に高くつき、信頼性など様々な問題があります。

つまり、まとめると:

  • あなたがコンシューマレベル/ビジネスレベルの優れたインターネットコネクションを持っているならば、同じ環境にいる人へPingをして、その間のネットワークに大きな問題がない場合は、RTTは現在知られている物理法則で可能な限界の3倍以内になります。我々が特殊相対性理論を回避する方法を見つけ出さない限り、まっすぐ視界の通った光速通信より速くなることはありません。
  • 適切な方を向いて敷設されている未使用のファイバーを多額の費用をかけて買収する気があるなら、専用のリンクを構築することで十分メインストリームな技術で光速の限界の2倍以下の(そして通常のネットワークから1.5倍ほど改善した)速度が得られます。
  • 現代の技術を超えて改善させるならば、大きな土木工学と殺人光線が必要です。利点:殺人光線はいいものです。