"Slow Start" protocol
"slow start" is kind of "sliding window", the difference between "sliding window" and "slow start" is that "slow start" allows various window size while "sliding window" has fixed window size. Using "slow start", the sender can transmit as much packets as the network can deliver.
2. How this protocol works..
1) Normal operation
|
The basic idea behind "slow start" is to send packets as much as the
network can accept. It starts to transmit 1 packet and if the that packet
is transmitted successfuly and receives an ACK, it increases its window
size to 2, and after receiving 2 ACKs it increases its window size to 4,
and then 8, and so on.. "slow start" increases its window size exponentially.
|
2) Timeout
|
If there is packet loss, "slow start" only sends that lost packet.
This mechanism is known as "Selective Repeat".
To do that the receiver keeps a record of correctly received packet numbers and ack the last successful packet number to the sender. |
3. How it is shown in nam (network animator)..
"slow-start" protocol can be shown as follows in nam.
1. When the sender starts to transmit, it only sends 1 packet and receives a ACK for that packet. |
|
2. After it receives the ACK for previous sent packet, the sender increases its window size by 1. So, it sends 2 packets. |
|
3. After the sender receives the previous 2 ACKs, it increases its window size by 2. So, the sender sends 4 packets. |
|
4. If the sender receives another 4 ACKs correctly, it will increase its window size to 8. In this way, "slow start" increase its window size exponentially. |
Here is ns script for this simulation. You can download ns script and nam file and run it by yourself.
4. Shortcoming
If the network bandwidth is always fixed for the
traffic, "sliding window" could have better performance than that of "slow
start's" if "sliding window" is well adjusted. But, in the Internet environment
where the traffic amount is not fixed, "slow start" could have better performance
than that of "sliding window".
The detail comparison about this will be discussed with an example
here.