# Flow Control

This animation illustrates the interaction between a TCP sender and receiver.
Both of them have an application and a send/receive buffer.

The application at the senders side tries to transmit a file with a certain size to the Receiver. The application at the receivers side consumes chunks of 2Kbytes (except the very last one) from the send/receive buffer at random time.

When a packet is received the ack always contains the number of bytes the receiver has left in his buffer (advertised window). If the sender gets a advertised window size of 0 he just sends 1 byte until the application on the receivers side has consumed and so there is some space in the receivers buffer.

## configuration

### file size

the size of the file the sender application wants to send to the receiver

### buffer size

size of the buffers

### propagation time

propagation time between sender and receiver

### pause

pause or resume scrolling of the simulation

### start

start or restart the simulation

## legend

| ack
| data

buffer
application
sender
buffer
application
receiver

coded by Johannes Kessler 2012