Licklider Transmission Protocol (CCSDS 734.1-B) for reliable DTN links
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Resolve merge conflicts in ocaml-delegation

Keep Service naming (more generic than Unikernel).
Also fix bundle/bpsec source URLs to use tangled.org.

+61
+61
README.md
··· 1 + # ltp 2 + 3 + Pure OCaml implementation of Licklider Transmission Protocol (RFC 5326) 4 + for reliable data delivery over high-delay and disruption-prone links. 5 + 6 + ## Overview 7 + 8 + LTP is designed for deep-space communications where round-trip times can be 9 + minutes to hours. It provides selective acknowledgment and retransmission 10 + with support for both reliable and unreliable data segments. 11 + 12 + ## Features 13 + 14 + - SDNV (Self-Delimiting Numeric Value) encoding/decoding 15 + - Session management with engine/session IDs 16 + - Data segment types: 17 + - **Red segments** - reliable with acknowledgment 18 + - **Green segments** - best-effort delivery 19 + - Control segments: 20 + - Report segments (acknowledge received ranges) 21 + - Report-ack segments 22 + - Cancel segments 23 + - Checkpoint and report-based flow control 24 + 25 + ## Installation 26 + 27 + ``` 28 + opam install ltp 29 + ``` 30 + 31 + ## Usage 32 + 33 + ```ocaml 34 + open Ltp 35 + 36 + (* Create a session ID *) 37 + let session = { originator = 1L; number = 42L } 38 + 39 + (* Encode an SDNV value *) 40 + let encoded = encode_sdnv 127L 41 + 42 + (* Decode an SDNV value *) 43 + match decode_sdnv encoded 0 with 44 + | Ok (value, _offset) -> Printf.printf "Value: %Ld\n" value 45 + | Error msg -> Printf.printf "Error: %s\n" msg 46 + ``` 47 + 48 + ## Related Work 49 + 50 + - [ION](https://sourceforge.net/projects/ion-dtn/) - NASA/JPL DTN with LTP 51 + - [µD3TN](https://gitlab.com/d3tn/ud3tn) - Lightweight DTN with LTP support 52 + 53 + ## References 54 + 55 + - [RFC 5326](https://datatracker.ietf.org/doc/html/rfc5326) - LTP Specification 56 + - [RFC 5325](https://datatracker.ietf.org/doc/html/rfc5325) - LTP Motivation 57 + - [RFC 5327](https://datatracker.ietf.org/doc/html/rfc5327) - LTP Security Extensions 58 + 59 + ## License 60 + 61 + ISC License. See [LICENSE.md](LICENSE.md) for details.