0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

数年前から、月や火星、宇宙のニュースが増えてきましたね。

先日、久々に火星移住の記事を目にして、ふと
「火星にいる知人へ SNS でメッセージを送ったら、どれくらいかかるのか」
と考えてみました。

その結果、そもそも宇宙空間では、TCP/IP が実用レベルでは成り立たないという結論に至りました。

AWS やオンプレで日常的に扱っている TCP のハンドシェイク、再送、タイムアウト、輻輳制御、、
これらはすべて、「通信相手が比較的近くにいて、ほぼ常時つながっている」という前提の上に成り立っています。

今回は、宇宙における TCP/IP の実用性について調べてみました。

1. 光速でも時間がかかる

まず最初の課題が、物理的な距離です。

地球と火星の距離は、

  • 最短:約 5,500 万 km
  • 最遠:約 4 億 km

光速(約 30 万 km/s)で通信しても、

  • 片道 約 3〜22 分(位置関係によって異なる)
  • 往復(RTT) 約 6〜44 分(同上)

という世界です。

TCP の 3-way ハンドシェイクが終わらない

TCP の接続確立には、以下の 3 ステップが必要です。

  1. SYN(送信元 → 宛先)
  2. SYN/ACK(宛先 → 送信元)
  3. ACK(送信元 → 宛先)

地球上では数ミリ秒で終わるやり取りですが、地球と火星では事情が異なります。

  • SYN を送信
  • SYN/ACK が返ってくるまで 最大 44 分
  • ACK を返して、ようやく通信開始

接続だけで数十分以上かかります。

多くの OS やミドルウェアでは、TCP のコネクション確立待ち時間は数十秒〜数分がデフォルトです。
そのため、SYN/ACK が返ってくる前に「相手が応答しない」と判断され、タイムアウトしてしまいます。

理論上は TCP は動きますが、デフォルトの設定のままでは、接続は難しくなります。


2. 「常時切れる」が前提になる

次の課題は、通信の安定性です。

宇宙空間は何も遮るものがないように思えますが、実際には、惑星が障害物になります。

探査機や衛星が惑星の裏側に回り込むと、地球との通信は完全に遮断されます。

例えば、

  • 火星周回衛星
  • 月周回衛星

などは、数時間単位で通信不能になるようです。
(衛星やロケットとの通信に関する話題では、必ず出てきますね)

地上なら、トンネルで数分切れることはありますが、
宇宙では「数時間つながらない」ことが普通に起こります。

TCP はエンドツーエンドでの「継続的な接続」を前提にしたプロトコルです。
数時間通信できなければ、コネクションは破棄され、再接続が必要になります。

そして再接続するためには、上記の「ハンドシェイク」が必要になります。


3. TCP の「親切な設計」

TCP には、「輻輳制御」という、親切な仕組みがあります。これは、

  • ACK が遅い
  • パケットが欠落している

といった状況を検知すると、
「ネットワークが混雑している」と判断し、送信速度を自動的に落とす仕組みです。

地球上のネットワークでは、これは非常に優秀な設計です。

しかし、宇宙では、以下が常時発生します。

  • ACK が返っくるのに、非常に時間がかかる
  • パケットロスしていなくても RTT(パケットの往復時間)が長い

そのため、「送りたいデータが全然送れない」
となってしまいます。


4. 宇宙では TCP/IP は実用的ではない

ここまでの話をまとめると、

  • TCP/IP は、理論上は宇宙でも動く
  • しかし、実用的ではない

ということになります。

まとめ

宇宙での通信は、以下のように、地上の通信とは事情が異なります。

  • 光速でも往復数十分かかる
  • 数時間単位で通信が途切れる
  • 常時接続を前提とした通信は成立しない

このような環境では、上記を前提とした技術が必要になります。

そこで登場するのが、
DTN(Delay / Disruption Tolerant Networking) です。

次回は、この DTN がどのようにして「遅れても切れても大丈夫」な通信を実現しているのか、そして、深宇宙ネットワーク(Deep Space Network) についても記載します。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?