Kiểm tra vị trí của ISS bằng DNS
(shkspr.mobi)- Có thể truy vấn thông tin vị trí thời gian thực của Trạm Vũ trụ Quốc tế (ISS) bằng bản ghi DNS LOC
- Bản ghi LOC lưu trữ thông tin vĩ độ, kinh độ và độ cao, cung cấp một cơ chế phù hợp để theo dõi vị trí vệ tinh
- Khi truy vấn DNS với tên miền ví dụ (
where-is-the-iss.dedyn.io), hệ thống sẽ trả về vị trí mới nhất của ISS - Sử dụng N2YO API để lấy dữ liệu vị trí, và bản ghi LOC được tự động cập nhật mỗi 15 phút
- Có thể cập nhật thông tin LOC hiệu quả thông qua các dịch vụ tên miền hỗ trợ API như deSEC
Tổng quan
- Xuất phát từ sự hứng thú với những tính năng ít người dùng của DNS, có thể sử dụng bản ghi DNS LOC để phân phối thông tin vị trí vật lý thực tế trên toàn cầu
- Thông thường, tên miền gắn với vị trí vật lý của máy chủ, và thông qua bản ghi LOC, không chỉ máy chủ mà cả vị trí của các thiết bị đặc biệt cũng có thể được ghi lại
Bản ghi DNS LOC là gì?
- Là một tiêu chuẩn thử nghiệm được định nghĩa trong RFC 1876, cho phép ghi thông tin vĩ độ, kinh độ, độ cao của máy chủ vào DNS
- Độ cao tối thiểu là -100.000m (có thể biểu diễn vị trí ngầm như bunker), tối đa là 42.849.672m (có thể biểu diễn tới cả vệ tinh địa tĩnh)
- Cung cấp khả năng truyền tải thông tin vị trí của nhiều loại thiết bị, bao gồm cả vệ tinh, qua DNS
Triển khai dịch vụ tra cứu vị trí của Trạm Vũ trụ Quốc tế (ISS)
-
Tạo tên miền
where-is-the-iss.dedyn.io, hoạt động chỉ bằng truy vấn DNS mà không cần website riêng, ping hay tương tác thông thường -
Trên Linux và Mac, có thể truy vấn thông tin vị trí ISS bằng lệnh dưới đây
dig where-is-the-iss.dedyn.io LOC -
Ví dụ kết quả trả về: thông tin vĩ độ/kinh độ/độ cao được cung cấp ở định dạng LOC
where-is-the-iss.dedyn.io. 1066 IN LOC 47 24 53.500 N 66 12 12.070 W 430520m 10000m 10000m 10000m -
Được cập nhật bằng thông tin vị trí mới nhất mỗi 15 phút (theo cơ chế best-effort)
Thu thập và chuyển đổi dữ liệu vị trí
-
Thông qua website và API của N2YO, có thể theo dõi nhiều đối tượng đang ở quỹ đạo khác nhau, và dịch vụ này cung cấp API ở gói miễn phí
-
Có thể lấy vị trí vệ tinh mới nhất (vĩ độ, kinh độ, độ cao, v.v.) ở định dạng JSON bằng lời gọi API ví dụ sau
https://api.n2yo.com/rest/v1/…=_____ -
Vĩ độ/kinh độ trả về ở dạng thập phân, còn độ cao ở đơn vị Km → khi chuyển sang bản ghi LOC cần đổi sang định dạng độ-phút-giây (DMS) và đơn vị mét (m)
Tự động hóa cập nhật bản ghi LOC
- Với deSEC (tổ chức phi lợi nhuận có trụ sở tại Berlin), có thể dùng API để tạo và cập nhật bản ghi LOC lần đầu
- Ví dụ đăng ký LOC ban đầu
curl https://desec.io/api/v1/domains/where-is-the-iss.dedyn.io/rrsets/ ... --data '{"type": "LOC", "records": ["..."], "ttl": 900}' - Việc cập nhật sử dụng HTTP PATCH để chỉ gửi phần thông tin đã thay đổi
- Đặt TTL (900 giây, 15 phút) để mã tự động cập nhật mỗi 15 phút
- Cung cấp dữ liệu mới nhất một cách hiệu quả trong khi vẫn tuân thủ giới hạn sử dụng API
- Ngoài ra còn có thể mở rộng theo nhiều cách khác, chẳng hạn ghi lại thời điểm cập nhật bằng bản ghi TXT
Kết luận
- Thử nghiệm này là một màn trình diễn kỹ thuật cho thấy khả năng ứng dụng khác lạ của DNS
- Về sau, còn mở ra khả năng biểu diễn vị trí của nhiều đối tượng không gian hơn như Mars Rover bằng bản ghi DNS LOC
- Đây là một ví dụ ứng dụng sáng tạo của DNS, đồng thời cho thấy khả năng mở rộng sang tự động hóa công việc hạ tầng/IT, quản lý thông tin vị trí, v.v.
1 bình luận
Ý kiến trên Hacker News
http://open-notify.org/
https://www.ckdhr.com/dns-loc/