Framing (say over a serial port or over some streamed connection) is often necessary so that data doesn't become unsynchronized, and also for relaying packets with a known amount of data. I've been...