[IPPROTO_RDTP = 0x9D]
Specification of a reliable transport layer protocol to be used over IP networks, along a simplistic and modular implementation in Go.
- Reliability
- Polish socket dialer
- Implement socket listener
- Implement selective acknowledgements
- Flow Control
- Receiver window in header
0 7 8 15 16 23 24 31
+--------+--------+--------+--------+
| Src. Port | Dst. Port |
+--------+--------+--------+--------+
| Length | Checksum |
+--------+--------+--------+--------+
| Sequence Number |
+--------+-----------------+--------+
| Acknowledgement Number |
+--------+-----------------+--------+
| Flags | |
+--------+ |
| ( Data ) |
+ .... +
The value for the underlying IP header's "Protocol" field must be set to 0x9D (157 -- currently Unassigned)
Here's a Wireshark capture of an RDTP packet over the wire:
(The highlighted bytes are the RDTP header + payload)