Connection Oriented Protocol
Much like CLP. Differences:
Packet IDs will be sequential based on octets sent instead of random.
Ack packets will have the highest packet number before which everything has been received followed by any out of order packets. Unlike TCP, COP needs to know which packets were dropped and which were received in order to determine which LOC sets are dropped packets and which are working.
Layer-4 will automatically retransmit missing packets. It only needs to resend the dropped packets, not everything after the the last acked.
Have a receive window as well in each ack indicating the additional data (other than retransmits) that can be sent before the buffer is full.
Window size to be: 8 bit size, 8-bit scaler. Scaler is the number of binary zeros after the 8-bit size. App may treat any scaler larger than it supports as being the largest it supports.
Adust delay option for acks. If layer-4 notices its getting acks but they're late, it can advise the other side to adjust its delay expectation before retransmitting. Allows long, slow channels. Maybe?
Add in the other goodness from TCP that isn't otherwise damaged by the above.
What about forward error correction? Helpful to make this a standard part of the protocol from the outset?