Starlink : une critique et quelques astuces
Je pourrais probablement être décrit comme un passionné de SpaceX. J'attrape leurs lancements quand je peux et j'ai suivi le développement de Starship avec beaucoup d'intérêt. Mais l'effet secondaire du système de lancement réutilisable de SpaceX est que se rendre dans l'espace est devenu beaucoup moins cher. Avoir une capacité de lancement excédentaire signifie que des projets spatiaux qui étaient auparavant irréalisables deviennent soudainement au moins plausibles. L'un d'eux est Starlink.
Starlink est le service Internet par satellite de SpaceX. L'Internet sans fil et cellulaire a aidé dans certains endroits, mais si vous vivez vraiment dans les bâtons, l'Internet par satellite est votre seule option. Et bien que l'Internet par satellite ne soit pas vraiment nouveau, Starlink est un peu différent. Hughesnet, un autre fournisseur, possède une poignée de satellites en orbite géostationnaire, à environ 22 000 milles au-dessus de la Terre. Pour citer Grace Hopper, tenant une longueur de fil de près d'un pied représentant une nanoseconde, "Entre ici et le satellite, il y a un très grand nombre de nanosecondes."
SpaceX a choisi de faire quelque chose d'un peu différent. Dans ce qui semblait être une chimère insensée à l'époque, ils prévoyaient de lancer une constellation de satellites de 12 000 oiseaux, certains d'entre eux volant jusqu'à 214 milles d'altitude. L'inconvénient de voler si bas est qu'ils ne resteront pas en orbite aussi longtemps, mais SpaceX les lance beaucoup plus rapidement qu'ils ne descendent. Jusqu'à présent, près de 1 600 satellites Starlink sont en orbite, selon un schéma croisé à 342 miles (550 km) de haut.
Cette différence d'altitude au centuple compte. Une connexion Hughesnet a une latence théorique minimale de 480 ms, et en réalité tourne plus près de 600 ms. Starlink prédit un minimum théorique inférieur à 10 ms, bien que les performances réelles ne soient pas encore si faibles. Au cours des quelques semaines où j'ai eu le service, les temps de ping sont passés du milieu des années 60 à 20 et 30. La façon dont Starlink fonctionne actuellement, les données remontent vers le satellite le plus proche et directement vers la station au sol connectée. Le plan à long terme est de permettre aux satellites de se parler directement via des liaisons laser, en sautant les stations au sol. Étant donné que la vitesse de la lumière est plus élevée dans le vide que dans un câble à fibre optique, le système entièrement déployé pourrait potentiellement avoir une latence plus faible que même Internet par fibre, en fonction de l'emplacement du point de terminaison et du nombre de sauts à effectuer.
J'ai une configuration Starlink et j'ai essayé le service bêta. Voici mon expérience, et un hack bonus pour démarrer.
Dans la boîte, vous obtenez un routeur, un injecteur PoE, un simple trépied et "Dishy McFlatface" - l'antenne parabolique innovante avec un câble Ethernet de 100 pieds attaché en permanence. Le routeur lui-même est inintéressant et possède une page de configuration initiale pour configurer le WiFi, et aucune autre configuration. Cependant, ce qui m'intéresse beaucoup, c'est le fait que le routeur se signale comme étant un périphérique OpenWRT. Démonter le boîtier était assez pénible, car les coutures sont serrées et les clips sont un peu en retrait. Une fois que vous l'avez fait, cependant, il y a un en-tête qui est probablement un port série.
La brique PoE est très intéressante. Il a deux sorties. L'un alimente le routeur en faible puissance, mais l'autre port alimente l'antenne parabolique avec 56 V à 1,6 A x 2. Pour ceux qui suivent à la maison, c'est un peu moins de 180 watts de puissance avec un câble Cat5e. Je n'ai pas encore trouvé d'autres implémentations PoE qui poussent autant de puissance, il semble donc que nous soyons limités à l'utilisation de l'alimentation fournie pour Dishy.
Le plat lui-même est motorisé et automatique. Il n'y a pas de pointage manuel fastidieux dont d'autres plats ont besoin. Dishy détermine son emplacement et son orientation sur le démarrage et se dirige automatiquement dans la bonne direction. À partir de là, l'antenne réseau à commande de phase oriente le faisceau pour cibler avec précision les satellites survolant.
Le plus gros problème à résoudre est d'éviter les obstacles. Dishy a besoin d'une vue dégagée du ciel, et la fréquence EHF utilisée est très sensible aux barrières physiques. Les feuilles des arbres suffisent à bloquer complètement le signal. Étant donné que le système communique avec des satellites qui se déplacent continuellement, la fenêtre du ciel qui doit être dégagée est assez large. Certaines optimisations ont été ajoutées récemment pour être plus tolérantes aux pannes des obstructions, comme un basculement automatisé vers un satellite secondaire lorsque le point de terminaison préféré n'est pas disponible. Le système peut éventuellement être suffisamment robuste pour bien fonctionner avec les obstructions, mais pour l'instant, les obstructions signifient toujours des interruptions de service, il est donc essentiel de mettre la parabole à l'air libre.
Ce n'est pas de la fibre Gigabit, mais je reçois régulièrement 200 Mbps en baisse et 15 Mbps en hausse. Les temps de ping sont suffisamment faibles pour que la latence ne soit pas un problème notable.
Cela ne veut pas dire qu'il n'y a pas de problèmes. Il y a trois désagréments principaux. Le premier concerne les abandons. Selon la page de statistiques intégrée, les lacunes dans la couverture satellite ont entraîné cinq minutes d'indisponibilité au cours des dernières 24 heures, avec deux minutes supplémentaires d'indisponibilité diverse : deux neuf.
Cela n'a l'air de rien, mais ces décrochages s'étalent ici et là sur quelques secondes, et c'est énervant. Ironiquement, un deuxième problème concerne les mises à jour. Pendant la période bêta, les mises à jour sont automatiquement installées, ce qui entraîne des déconnexions imprévisibles.
La dernière irritation à mentionner est que la connectivité IPv4 est fournie à l'aide de Carrier Grade NAT (CGNAT). Je suis actuellement affecté à 100.82.35.212, qui fait partie de l'espace d'adressage spécifiquement réservé à CGNAT. Le bit important est que ce n'est pas une adresse routable. Je me demandais si Starlink acheminerait entre ces adresses, d'une connexion Starlink à une autre, mais lors de mes tests, ces paquets ont été bloqués.
— statistiques de ping google.com — 100 paquets transmis, 100 reçus, 0 % de perte de paquets, temps 99130msrtt min/avg/max/mdev = 17,801/27,748/44,228/5,769 ms
Pourtant, les temps de ping s'améliorent et les décrochages sont de moins en moins nombreux à mesure que de plus en plus de satellites sont lancés. Les mises à jour du firmware seront probablement plus contrôlables une fois la période bêta terminée. Et bien que Starlink ne distribue pas d'IPv4 routable, il attribue un préfixe IPv6, si vous avez un routeur qui le prend en charge. Ils ne prennent pas encore en charge la distribution d'adresses IPv4 statiques ou de préfixes IPv6, mais il semble que ce soit une fonctionnalité qu'ils prévoient de prendre en charge à terme.
En parlant de support éventuel, sachez que Starlink est géolocké. Ils ont divisé le monde en cellules d'environ 15 miles de diamètre, et ils activent leur support un par un. Vous vous inscrivez à Starlink à votre domicile et votre Dishy est attribué à la cellule associée. Vous pouvez décrocher et vous déplacer, mais si vous sortez de cette cellule, votre connexion ne fonctionnera pas. Pour l'instant, il suffit d'un changement d'adresse de service pour que les choses fonctionnent à nouveau. Elon s'est publiquement engagé à le rendre entièrement mobile, jusqu'à et y compris rester connecté en mouvement.
Ouais, devrait être entièrement mobile plus tard cette année, vous pouvez donc le déplacer n'importe où ou l'utiliser sur un camping-car ou un camion en mouvement. Nous avons besoin de quelques lancements de satellites supplémentaires pour obtenir une couverture complète et quelques mises à jour logicielles clés.
– Elon Musk (@elonmusk) 15 avril 2021
Alors, quel genre de revue Hackaday serait-ce sans un hack intelligent pour rendre Starlink plus utile ? Mon Internet par câble existant est en fait assez correct : les vitesses sont bonnes et la latence est assez faible. Le plus gros ennui est qu'il s'agissait uniquement d'IPv4. Starlink a une grande vitesse, une latence légèrement pire et aucune adresse IPv4 routable, uniquement IPv6. Curieusement, cela en fait le complément parfait au câble.
La chose intéressante à propos d'avoir IPv4 et IPv6 sur le même réseau est que l'adressage et le routage sont complètement séparés l'un de l'autre. Ou pour le dire autrement, il n'y a aucune raison pour que votre passerelle IPv4 soit le même appareil que votre passerelle IPv6.
Pour ce faire, j'ai branché Dishy à mon routeur OpenWRT existant en tant que deuxième périphérique WAN. J'ai dû activer une interface DHCP IPv4 pour que DHCP IPv6 fonctionne, et j'ai remarqué une option dans l'interface OpenWRT : "Utiliser la passerelle par défaut. Si elle n'est pas cochée, aucune route par défaut n'est configurée." Ce paramètre, et les quelques autres commutateurs pour réactiver le support IPv6, et j'ai soudainement eu Internet IPv4 fourni par mon câblodistributeur, et IPv6 fourni par Starlink.
Je ne sais pas si vous avez déjà envisagé d'équilibrer votre réseau entre deux connexions Internet, mais c'est un problème résolument non trivial. Faire un basculement est facile en comparaison - vous détectez simplement quand une connexion est en panne et assurez-vous que votre route par défaut passe par l'autre. Essayer d'utiliser les deux à la fois est plus difficile, car le routeur doit suivre les connexions et maintenir les différentes connexions dans les bons tuyaux. Les services Web complexes peuvent consister en plusieurs connexions, et il peut y avoir des problèmes si le service vous voit venir de différentes adresses IP. En séparant IPv4 et IPv6, vous bénéficiez d'un équilibrage gratuit car seuls certains services sont compatibles avec IPv6. Vous bénéficiez également d'un basculement limité car une grande partie d'Internet est conçue pour essayer IPv6 et revenir à IPv4.
Comme je l'ai mentionné au début, il y a ce qui ressemble à un point de test dans le routeur, avec une résistance SMD manquante. Il est très probable qu'il y ait un port série à trouver ici. Espérons que nous verrons un futur hack où nous pourrons ajouter la résistance et l'en-tête, et entrer dans le routeur. Si vous reconnaissez exactement quel connecteur y correspond, faites-le nous savoir.
Une autre astuce de bricolage que vous devez savoir est que le câble fourni est un câble FTP (Foil Twisted Pair) classé Cat5e pour l'extérieur, avec des conducteurs 24 AWG. C'est assez standard pour l'Ethernet évalué à l'extérieur.
Qu'est-ce que cela signifie? Vous pouvez réaliser une installation portable en coupant simplement le câble de 100 pieds à une longueur convenable et en le raccordant vous-même. Faites passer soit le câble d'origine, soit un autre câble conçu pour l'extérieur, et jetez une prise de terre à l'extrémité. Mettez-le dans un boîtier étanche, et vous avez maintenant une solution portable. Prêt à prendre la route ? Débranchez simplement Dishy et vous êtes prêt à partir, tant que vous restez dans votre cellule. Ce n'est pas encore parfait, mais Starlink s'améliore avec le temps. De mon point de vue, du moins, l'avenir est prometteur. Maintenant, tout ce dont j'ai besoin est de construire une cabane quelque part dans les montagnes, et mes rêves de refuge connecté numériquement se réaliseront.