This repo holds a naive, partial implementation of the CCSDS File Delivery Protocol in Go. It implements a very small subset of the full spec, including:
- Unacknowledged transaction types.
- A minimal set of PDUs needed to support Copy File operations.
- TLV, LV value encoding.
- End-to-end testing for a
ListDirectoryoperation. - Support for UDP transport.
- CRC32, Proximity-1 CRC and modular checksums.
- CFPD spec
- Notes & papers on real-world deployments:
- James Webb Space Telescope - L2 Communications for Science Data Processing
- LRO (Lunar Reconnaissance Orbiter)
- NASA Ground Network Support of the Lunar Reconnaissance Orbiter
- Ground-space communication solution for the European Space Agency (ESA)
- File Based Operations - Architectures and the EUCLID Example