In this illustration, we see a sender and a receiver positioned side-by-side. Each has a dotted line extending vertically downward from it, representing the passage of time. The operation is depicted in steps, with each step represented by a blue arrow pointing diagonally downward either to the right or to the left. Each arrow is labeled, as is each point along the sender and receiver's timeline.
The operation begins with the topmost point on the sender's timeline, labeled "send pkt0." A blue arrow labeled "pkt0" extends diagonally downward to the right, to a point on the receiver's timeline labeled "rcv pkt0, send ACK0." A blue arrow labeled "ACK0" extends to a point on the sender's timeline labeled "rcv ACK0, send pkt1." An arrow labeled "pkt1" extends to a point on the receiver's timeline labeled "rcv pkt1, send ACK 1." An arrow labeled "ACK 1" extends to a point on the sender's timeline labeled "rcv ACK1, send pkt 0." An arrow labeled "pkt0" extends to a point on the receiver's timeline labeled "rcv pkt 0, send ACK0." An arrow labeled "ACK0" extends to a point on the sender's timeline.