written 5.8 years ago by |
An illustration of a sliding window in (a) initial, (b) intermediate, and (c) final positions.
• Sliding window can increase throughput dramatically.
• To understand why, compare the sequence of transmissions with a stop-and-go scheme and a sliding window scheme. Figure contains a comparison for a 4-packet transmission.
Comparison of transmission using (a) stop-and-go, and (b) sliding window.
• In Figure a, a sender transmits four packets, but waits for an acknowledgement before sending each successive packet.
• If the delay required to send a single packet on one trip through the network is N, the total time required to send four packets is 8N.
• In Figure b, a sender transmits all packets in the window before it waits. The figure shows a small delay between successive packet transmissions because transmission is never instantaneous — a short time (usually a few microseconds) is required for the hardware to complete transmission of a packet and begin to transmit the next packet.
• Thus, the total time required to send four packets is 2N +ε, where ε denotes the small delay.
• To understand the significance of sliding window, imagine an extended communication that involves many packets.
• In such cases, the total time required for transmission is so large that ε can be ignored.
• For such networks, a sliding window protocol can increase performance substantially. The potential improvement is:
$$Tw = Tg \times W$$
• where Tw is the throughput that can be achieved with a sliding window protocol, Tg is the throughput that can be achieved with a stop-and-go protocol, and W is the window size.
• The equation explains why the sliding window protocol illustrated in Figure b has approximately four times the throughput of the stop-and-go protocol in Figure a.
• Of course, throughput cannot be increased arbitrarily merely by increasing the window size. The bandwidth of the underlying network imposes an upper bound — bits cannot be sent faster than the hardware can carry them.
• Thus, the equation can be rewritten:
$$Tw = \min (B, Tg \times W)$$
• Where B is the underlying hardware bandwidth.