Reliable datagram protocols - select repeat ARQ etc.

I’ve set myself the goal to simulate a serial stream over XBee API mode (i.e. use XBee addressing/meshing and support a reliable datagram with crcs and acks).

It’s been an interesting exercise. Timing the packets and optimising packet size has been important.

But as for the actual protocol, am wondering if there has been any work done on this? A crude select repeat ARQ is giving me ~224 bits per second at 9600baud with 100byte packet sizes.

Am convinced we can do better. i.e. the protocol might be able to be tweaked to only send a single ack/nack per window rather than per frame.

Am curious to know if anyone has been down this road before me and what their conclusions were.

Which XBee product and firmware version are you working with?

A pair of XBee 900 Pros

If you are referring to the XBee PRO 900 HP or the old XBee PRO 900 product and related firmware versions, then your maximum payload size is 256 bytes per RF packet. In both cases, this was derived from the NP command.

Thanks. But what about the selection of algorithms for a secure datagram layer? Has this been implemented before?