A satellite link is a radio signal between a ground station and a spacecraft moving at 7.5 km/s, visible for 10 minutes at a time, over a channel measured in kilobits per second. If you have used TCP/IP, the protocol structure will look familiar: there is a transport layer that handles reliability, a network layer that handles addressing, and an application layer where the actual data lives. The difference is the link. The protocol suite that handles this is CCSDS (Consultative Committee for Space Data Systems), a set of standards maintained since 1982 by NASA, ESA, JAXA, and most other space agencies. Nearly every satellite launched in the last 30 years speaks some subset of CCSDS. If you want to talk to a satellite, this is the stack you need to understand. Most implementations are proprietary C libraries inside ground segment frameworks. I wanted something I could test in a browser. So I have been implementing these protocols in OCaml using the typed binary codec approach I…
No comments yet. Log in to reply on the Fediverse. Comments will appear here.