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

2023年02月15日 水曜日


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

結構長くゲーム業界に出向していましたが、2022年秋に戻ってきました。 ゲーム業界での経験も生かしながらIIJのエンジニアとしてちょっと面白いことを提供できていければいいなぁと思っています。 格闘ゲームの世界チャンピオン(Evo2017)になった従兄弟がいますが彼にゲームを教えたのは僕ではありません。2023年は4位でしたね、おめでとうというべきか残念というべきか。 どうぞよろしくお願いします。

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

 

    今回はネットワーク構成をもう少し深堀してアンテナから衛星側ネットワークや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)になった従兄弟がいますが彼にゲームを教えたのは僕ではありません。2023年は4位でしたね、おめでとうというべきか残念というべきか。 どうぞよろしくお願いします。

    Related
    関連記事