Starlink(スターリンク)のネットワーク、アンテナのIPアドレス、NATの仕様などを調べました

2023年02月15日 水曜日


【この記事を書いた人】
谷口 崇

結構長くゲーム業界に出向していましたが、2022年秋に戻ってきました。ゲーム業界での経験も生かしながらIIJのエンジニアとしてちょっと面白いことを提供できていければいいなぁと思っています。格闘ゲームの世界チャンピオン(Evo2017)になった従兄弟がいますが彼にゲームを教えたのは僕ではありません。マスターリーグ大変そう、あと取締役就任おめでとう!

「Starlink(スターリンク)のネットワーク、アンテナのIPアドレス、NATの仕様などを調べました」のイメージ

Starlinkのネットワーク仕様は変化していきます、CGNATのポート番号の仕様についてはこちらも参照ください。

Starlinkのネットワークを再確認したら色々変わっていました

今回はネットワーク構成をもう少し深堀してアンテナから衛星側ネットワークやCGNATの仕様などについて調査したいと思います。過去ブログも是非一緒にご参照ください。

Starlinkを構成するネットワーク機器はこんな感じになっています。これまでDishと書いていましたが、アンテナと書いた方が直感的かなと思いますし、いちいちStarlink XXXXと書くのも長いので簡潔な表記にしています。

 

拠点やゲートウェイは国毎に用意されています。アンテナからの通信はコンステレーションを介してゲートウェイを通過、拠点からインターネットにつながっていきます。アンテナは拠点からキャリアグレード NAT (CGNAT) のISP shared IPv4 アドレス(100.64.0.0/10 の範囲)をDHCP で受け取ります。DHCPのリース時間は5分(FAQに記載あり)で、アンテナが別の場所とかに移動したりすることで変わる事があるようです。

アンテナのIPアドレスを調べる

拠点のIPアドレス(100.64.0.1)にpingしてみると疎通がある事がわかります。

$ ping 100.64.0.1
PING 100.64.0.1 (100.64.0.1) 56(84) bytes of data.
64 bytes from 100.64.0.1: icmp_seq=1 ttl=63 time=58.0 ms
64 bytes from 100.64.0.1: icmp_seq=2 ttl=63 time=48.5 ms

次に、アンテナ側のネットワークを指すCGNATのアドレス範囲で適当なIPアドレスにPingしてみます。

$ ping 100.64.100.1
PING 100.64.100.1 (100.64.100.1) 56(84) bytes of data.
From 100.114.157.229 icmp_seq=1 Destination Host Unreachable
From 100.114.157.229 icmp_seq=2 Destination Host Unreachable
From 100.114.157.229 icmp_seq=3 Destination Host Unreachable

するとICMP host unreachable が100.114.157.229から帰ってきました、どうやらこのIPアドレスがアンテナのIPアドレスのようです。

実はStarlinkの管理ページ(http://192.168.100.1/debug)からでも確認できます。

同じ方法でアメリカとドイツのアンテナも調べました。まとめてみるとこうなりました。

アンテナのIPアドレス
日本 100.114.157.229
アメリカ 100.74.16.158
ドイツ 100.97.149.110

これはあくまで検証につかっていた3台のアンテナに割り当てられたIPアドレスです。またDHCPで管理されているのでアドレスが変更されていく可能性もあります。

アンテナからの通信は拠点のCGNATを介してインターネットに到達します。日本に設置したアンテナからみたネットワークのつながりはこんな形になりました。赤字のIPアドレスがアンテナ毎に違う事になります。

CGNATについて調べる

CGNATは一つのパブリックIPアドレスを複数のアンテナで共有する事になります。そのため通信に使えるポート数は制限されます。この制限は家で色々な機器をネットワークに繋いでいると影響を受ける事があります。

FAQ等を調べてみてもCGNATの共有数の情報には辿り着けませんでした。そこでシンプルな方法ですがインターネット上にWEBサーバを立ち上げ、3箇所から実際にアクセスして割り振られたポート番号の範囲を調べました。

それぞれの国から1000回ぐらいアクセスし、WEBサーバ側でIPアドレスとポート番号の組み合わせを集計するとこのようになりました。

CGNATのアドレス 計測されたポートの範囲
ドイツ 145.224.72.171 17172 33159
アメリカ 98.97.57.51 1028 17131
日本 206.83.124.218 33299 49398

これをみると一つのアドレスを4台で共有している事が推測できます。また1024番未満は除外されている事がわかります。

ですので実際の割り当てはこのようになっていると思われます。使えるポート数が16,000を超えるのは悪くない割り当て数だと思います。

ポートの割り当て範囲(予想) 1024 17151
17152 33279
33280 49407
49408 65535

インターネットに出るまでに何段NATを通過するのか?

今回の調査で分かったのはStarlinkのIPv4ネットワークでは

  1. Wi-Fiルータで192.168.100.100に変換
  2. アンテナで100.114.157.229に変換
  3. 拠点で206.83.125.96に変換(4台で共有)

と3回NATによる変換が発生する事がわかりました。実はWi-Fiルータ部分はNATしなくてもつながる構成にできると思うのですが、実際に確認してみたところNATしていました。ですのでWi-Fiルータ配下に自営ルータを置けば4段NAT変換される事になります。ちょっとNATが多すぎると思うのですが仕方ないですね。アメリカのStarlinkではIPv6が使えるのでそちらに期待です。

衛星区間でのパケットの折り返しについて

ネットワークで仕事をしている人なら多分気になるのは衛星通信の部分で折り返し通信ができるのか?ではないかと思います。宇宙にある衛星部分で折り返しができたら物理的な距離が短くなって早くなるからです。ただ手元の検証環境ではアンテナが一つの国に1台なので折り返し通信ができるか確認する手段がありませんした。今後環境が整ったら試してみたいと思います。

STARLINK ビジネスが始まりました

このブログの執筆中に公式サイトでSTARLINKビジネスが始まりました。これで日本ではKDDIが提供するものと合わせて2種類の調達手段ができた事になります。

このサービスではキットの価格が365,000円、月額が28,000円です。STARLINKレジデンシャルとは月額だけでも4倍以上の価格差があります。

この差は主に通信の優先度になります。同じ場所にビジネスとレジデンシャルが存在すればビジネスの方が優先して通信を使える事になります。またキットのアンテナは高性能タイプとなり標準タイプより上空の視界が35%広く、より衛星を捉えやすくなっています。

28,000円という月額はビジネス向けのフレッツ料金よりも安いので企業での導入も検討しやすそうです。

準備が整えば、実際にどれくらいの性能差があるか今後検証してみたいと思います。

谷口 崇

2023年02月15日 水曜日

結構長くゲーム業界に出向していましたが、2022年秋に戻ってきました。ゲーム業界での経験も生かしながらIIJのエンジニアとしてちょっと面白いことを提供できていければいいなぁと思っています。格闘ゲームの世界チャンピオン(Evo2017)になった従兄弟がいますが彼にゲームを教えたのは僕ではありません。マスターリーグ大変そう、あと取締役就任おめでとう!

Related
関連記事