Send a packet.
Await an acknowledgement before sending the next Packet.
Repeat.
Retransmission after timeout
Because we might not get an ACK, we must buffer a packet a the sender and receiver.
Use a monotonically increasing sequence number to keep track of ordering.