Consultar la ubicación de la ISS con DNS
(shkspr.mobi)- Se puede consultar la información de ubicación en tiempo real de la Estación Espacial Internacional (ISS) usando un registro DNS LOC
- El registro LOC almacena información de latitud, longitud y altitud, y ofrece una función adecuada para el seguimiento de la posición de satélites
- Al hacer una consulta DNS al dominio de ejemplo (
where-is-the-iss.dedyn.io), devuelve la ubicación más reciente de la ISS - Usa la API de N2YO para obtener los datos de ubicación y el registro LOC se actualiza automáticamente cada 15 minutos
- A través de servicios de dominio con soporte de API como deSEC, es posible actualizar la información LOC de forma eficiente
Descripción general
- A partir del interés por la esoterica de DNS (funciones para entusiastas), se puede usar un registro DNS LOC para distribuir información de ubicación física real a todo el mundo
- Normalmente, un nombre de dominio se asocia con la ubicación física de un servidor, y con un registro LOC es posible registrar no solo servidores sino también la ubicación de dispositivos poco comunes
¿Qué es un registro DNS LOC?
- Es un estándar experimental definido en la RFC 1876 que permite registrar en DNS la latitud, longitud y altitud de un servidor
- Altitud mínima de -100,000 m (permite representar ubicaciones subterráneas como búnkeres) y máxima de 42,849,672 m (permite representar hasta satélites en órbita geoestacionaria)
- Ofrece una función para transmitir por DNS información de ubicación de distintos equipos, incluidos satélites
Implementación del servicio de consulta de ubicación de la Estación Espacial Internacional (ISS)
-
Se creó el dominio
where-is-the-iss.dedyn.io, y funciona solo con consultas DNS, sin sitio web aparte, ping ni interacción general -
En Linux y Mac, se puede consultar la ubicación de la ISS con el siguiente comando
dig where-is-the-iss.dedyn.io LOC -
Ejemplo de respuesta: se entrega la información de latitud/longitud/altitud en formato LOC
where-is-the-iss.dedyn.io. 1066 IN LOC 47 24 53.500 N 66 12 12.070 W 430520m 10000m 10000m 10000m -
Se actualiza con la información de ubicación más reciente cada 15 minutos (en modalidad best-effort)
Obtención y conversión de los datos de ubicación
-
A través del sitio web y la API de N2YO, se pueden rastrear diversos objetos en órbita, y ofrece una API con nivel gratuito
-
Con una llamada de ejemplo a la API, se puede obtener la posición más reciente del satélite (latitud, longitud, altitud, etc.) en formato JSON
https://api.n2yo.com/rest/v1/…=_____ -
La latitud y longitud devueltas están en formato decimal, y la altitud en Km → al convertirlas a un registro LOC, hace falta transformarlas a grados, minutos y segundos (DMS) y a metros (m)
Automatización de la actualización del registro LOC
- deSEC (una organización sin fines de lucro con sede en Berlín) permite crear y actualizar por API un registro LOC
- Ejemplo de registro inicial de LOC
curl https://desec.io/api/v1/domains/where-is-the-iss.dedyn.io/rrsets/ ... --data '{"type": "LOC", "records": ["..."], "ttl": 900}' - Para actualizarlo, se usa HTTP PATCH para enviar solo la información modificada
- Se configura con TTL (900 segundos, 15 minutos), y el código realiza la actualización automática cada 15 minutos
- Se entregan datos recientes de forma eficiente respetando los límites de uso de la API
- Además, también se puede ampliar con distintos usos, como registrar la hora de actualización mediante registros TXT
Conclusión
- Este intento es una demostración técnica de las posibilidades de uso poco comunes de DNS
- A futuro, también plantea la posibilidad de representar con registros DNS LOC la ubicación de muchos más objetos espaciales, como el Mars Rover
- Como caso novedoso de uso de DNS, también ofrece posibilidades de expansión hacia la automatización de tareas de infraestructura/IT y la gestión de información de ubicación
1 comentarios
Comentarios en Hacker News