Pipelining, Sliding Windows, and Bandwidth-Delay Product
Pipelining
To improve sender utilization, a protocol can use pipelining rather than stop-and-wait, permitting multiple packets to be sent before receiving ACKs.
Pipelining needs a larger sequence-number range because every in-flight packet needs a unique sequence number. Senders and receivers also need more storage for buffering packets.
Two basic approaches provide error recovery for pipelining:
- Go-Back-N
- Selective Repeat
Sliding Windows
The send window limits the number of unacknowledged packets in flight. identifies the oldest unacknowledged packet, while identifies the next packet to send. With window size , new data can be sent only if . Acknowledgments move the window forward.
Move a four-packet send window
Unlock the complete interactive lab, deeper explanations, and curated reference answers.
KNOWLEDGE QUIZ
Bandwidth-Delay Product and Utilization
BDP is the data a link can transmit within one propagation RTT. Here RTT excludes the first packet's serialization; ACK serialization and processing are negligible, packets have equal length, and no loss occurs:
To avoid a transmission gap before the first ACK returns, . The smallest integer window is:
Real networks also face loss, receiver-buffer limits, and congestion. A larger window cannot increase throughput indefinitely.
Fill a link with packets in flight
Unlock the complete interactive lab, deeper explanations, and curated reference answers.
KNOWLEDGE QUIZ
Size a packet window from RTT
A 10 Mbps link has propagation RTT 30 ms and packets of 1000 bytes. Ignore ACK serialization and loss. Compute BDP, utilization/throughput for N=1 and N=10, and the smallest integer window achieving full utilization. Explain the four regions at base=5, next=8, N=4.