3 points par GN⁺ 2025-07-07 | 1 commentaires | Partager sur WhatsApp
  • Il est possible d’interroger la position en temps réel de la Station spatiale internationale (ISS) à l’aide d’un enregistrement DNS LOC
  • Les enregistrements LOC stockent la latitude, la longitude et l’altitude, et offrent une fonctionnalité adaptée au suivi de la position d’un satellite
  • Lors d’une requête DNS sur le domaine d’exemple (where-is-the-iss.dedyn.io), la position la plus récente de l’ISS est renvoyée
  • Les données de position sont récupérées via l’API N2YO, et l’enregistrement LOC est mis à jour automatiquement toutes les 15 minutes
  • Des services de domaine avec prise en charge d’API comme deSEC permettent de mettre à jour efficacement les informations LOC

Vue d’ensemble

  • En s’appuyant sur l’intérêt pour les aspects ésotériques de DNS, il est possible de distribuer dans le monde entier des informations de position physique réelles via les enregistrements DNS LOC
  • En général, un nom de domaine est lié à l’emplacement physique d’un serveur, et les enregistrements LOC permettent de consigner non seulement la position d’un serveur, mais aussi celle d’équipements atypiques

Qu’est-ce qu’un enregistrement DNS LOC ?

  • Il s’agit d’un standard expérimental défini dans la RFC 1876, qui permet d’inscrire dans le DNS les informations de latitude, longitude et altitude d’un serveur
  • Altitude minimale : -10000 m (ce qui permet d’exprimer des emplacements souterrains comme un bunker), altitude maximale : 4200 84900 672 m (ce qui permet d’aller jusqu’aux satellites en orbite géostationnaire)
  • Cette fonctionnalité permet de transmettre via DNS la position de divers équipements, y compris des satellites

Mise en œuvre d’un service de consultation de la position de la Station spatiale internationale (ISS)

  • Création du domaine where-is-the-iss.dedyn.io, qui fonctionne uniquement via des requêtes DNS, sans site web séparé, ping ou interaction classique

  • Sous Linux et Mac, la position de l’ISS peut être interrogée avec la commande suivante

    dig where-is-the-iss.dedyn.io LOC
    
  • Exemple de réponse : les informations de latitude/longitude/altitude sont fournies au format LOC

    where-is-the-iss.dedyn.io. 1066 IN  LOC 47 24 53.500 N 66 12 12.070 W 430520m 10000m 10000m 10000m
    
  • Les données sont mises à jour toutes les 15 minutes avec la position la plus récente (sur une base best-effort)

Acquisition et conversion des données de position

  • Le site web et l’API de N2YO permettent de suivre divers objets en orbite, et un niveau gratuit de l’API est disponible

  • Un appel API d’exemple permet d’obtenir la position la plus récente du satellite (latitude, longitude, altitude, etc.) au format JSON

    https://api.n2yo.com/rest/v1/…=_____
    
  • La latitude et la longitude renvoyées sont au format décimal, et l’altitude en kilomètres ; lors de la conversion vers un enregistrement LOC, il faut convertir en degrés/minutes/secondes (DMS) et en mètres (m)

Automatisation de la mise à jour de l’enregistrement LOC

  • deSEC (organisation à but non lucratif basée à Berlin) permet, via API, la création initiale et la mise à jour d’un enregistrement LOC
  • Exemple d’enregistrement initial d’un LOC
    curl https://desec.io/api/v1/domains/where-is-the-iss.dedyn.io/rrsets/ ... --data '{"type": "LOC", "records": ["..."], "ttl": 900}'
    
  • Les mises à jour utilisent HTTP PATCH pour n’envoyer que les informations modifiées
  • Le TTL (900 secondes, 15 minutes) est configuré de sorte que le code effectue automatiquement une mise à jour toutes les 15 minutes
  • Cela permet de fournir efficacement des données récentes tout en respectant les limites d’utilisation de l’API
  • Il est aussi possible d’étendre le système de différentes manières, par exemple en enregistrant l’heure de mise à jour via un enregistrement TXT

Conclusion

  • Cette tentative constitue une démonstration technique des possibilités originales d’utilisation de DNS
  • Elle ouvre aussi la possibilité de représenter via des enregistrements DNS LOC la position d’objets spatiaux encore plus variés, comme le Mars Rover
  • Il s’agit d’un exemple d’application inventive de DNS, avec un potentiel d’extension vers l’automatisation des opérations d’infrastructure/IT ou la gestion d’informations de localisation

1 commentaires

 
GN⁺ 2025-07-07
Commentaires sur Hacker News
  • Un autre enregistrement, le Name Authority Pointer (NAPTR), fournit les informations du numéro de téléphone du Johnson Space Center à Houston
    > dig where-is-the-iss.dedyn.io NAPTR
    
    ; <<>> DiG 9.10.6 <<>> where-is-the-iss.dedyn.io NAPTR
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31786
    ;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 1232
    ;; QUESTION SECTION:
    ;where-is-the-iss.dedyn.io. IN NAPTR
    
    ;; ANSWER SECTION:
    where-is-the-iss.dedyn.io. 3600 IN NAPTR 100 100 "u" "E2U+voice:tel" "!^.*$!tel:+12814830123!" .
    
    ;; Query time: 84 msec
    ;; SERVER: 100.100.100.100#53(100.100.100.100)
    ;; WHEN: Sun Jul 06 10:53:39 EDT 2025
    ;; MSG SIZE rcvd: 111
    
  • Je sais qu'il y a des limitations d'API, mais un intervalle de mise à jour de 15 minutes me paraît assez important pour un objet qui fait le tour complet de la Terre en 90 minutes, soit en moyenne une erreur potentielle d'environ 1/12 de la circonférence terrestre, à peu près la distance entre Lisbonne et Istanbul
    • Je pense que c'est vrai ; le billet dit aussi de ne pas l'utiliser pour des opérations d'amarrage, et s'il existait un DNS gratuit pouvant être mis à jour chaque minute, je basculerais dessus immédiatement
  • Quelqu'un raconte avoir d'abord lu la phrase d'ouverture comme « I love DNS erotica », réalisant qu'il était probablement resté enfermé trop longtemps et qu'il était temps d'aller faire une promenade
    • Aussi surprenant que cela puisse paraître, je suis certain que beaucoup de gens trouveraient ce genre de contenu intéressant
    • Plaisanterie disant qu'en réalité, ce projet est justement de la DNS erotica, et qu'une douche froide serait peut-être nécessaire
    • Merci de se retenir, je n'ai pas envie de devenir créateur sur OnlyFans
    • Blague disant que le mème « It's always DNS » prend désormais un nouveau sens
  • Projet jugé vraiment génial, immédiatement ajouté à dns.toys
    dig iss.sky +short @dns.toys
    
    • C'est vraiment pratique et fascinant, merci ; curiosité de savoir si tous les outils n'utilisent que des enregistrements TXT, ou s'ils exploitent aussi LOC et NAPTR
  • Énormes compliments pour cette idée vraiment ingénieuse et pédagogique ; la première question qui vient à l'esprit est de savoir si on pourrait faire la même chose pour JWST ; malheureusement, l'enregistrement DNS LOC ne prend en charge que jusqu'à environ 42 millions de mètres (420 km), et JWST est 38 fois plus éloigné, donc il y a une limite pour représenter sa position ; pour Hubble, cela pourrait peut-être être possible
    • JWST orbite autour du point de Lagrange L2, donc il n'est pas simple de lui attribuer des coordonnées GPS ; c'est un peu comme demander des coordonnées GPS sur la Lune ; en 2023, la NASA a testé avec LRO la réception de faibles signaux GPS sur la Lune, mais ce n'est pas pratique pour la navigation ; l'ISS peut, en plus du point subsatellite, recevoir des signaux GPS quelle que soit son altitude au-dessus du sol ; les TLE (éléments orbitaux à deux lignes) s'appliquent aux satellites en orbite terrestre basse comme l'ISS, avec calcul de position et de vitesse via des modèles comme SGP4
    • Avis selon lequel l'altitude des GSO (satellites en orbite géostationnaire) coïncide presque exactement avec la limite des enregistrements LOC
  • Au-delà d'un cache codé en dur, les valeurs TTL de l'infrastructure DNS elle-même devraient aussi aider pour la mise en cache, surtout vu le grand nombre de résolveurs DNS publics majeurs comme Cloudflare 1.1.1.1 et Google 8.8.8.8 ; le DNS a les caractéristiques d'une base de données cohérente à l'échelle mondiale, permettant de stocker des données temporaires, et d'un protocole naïf qui se fait difficilement bloquer par les pare-feu, même s'il est aussi souvent intercepté
  • Présentation d'une autre ressource, OpenNotify (fonctionnalités limitées et moins tape-à-l'œil)
    http://open-notify.org/
  • Présentation d'informations détaillées sur les enregistrements DNS LOC
    https://www.ckdhr.com/dns-loc/
  • Après avoir consulté la RFC, quelqu'un note qu'elle n'explique pas pourquoi cette fonctionnalité était nécessaire, et se demande si, en 1996, cela n'avait pas un lien avec les universités ou la logistique des datacenters
    • La section 5.1 de la RFC (Suggested Uses) propose, de manière un peu vague, plusieurs cas d'usage : cartes des flux du backbone USENET, application de traceroute visuel (visualisation du trajet géographique des paquets IP), ou encore génération de cartes d'hôtes et de routeurs dans des applications de gestion réseau
    • Les RFC définissent souvent mal le problème à résoudre ; pour les enregistrements LOC, on pourrait penser qu'une simple adresse lisible par un humain aurait suffi au lieu de coordonnées
  • Résumé : le DNS est un magasin clé-valeur fédéré, optimisé pour la lecture, géorépliqué et à cohérence éventuelle