A network link has 100 Mbps bandwidth and a 200 ms round-trip time. A stop-and-wait sender achieves roughly 0.05% link utilization. What window size (in 1500-byte packets) is needed to approach full utilization?
AApproximately 1,667 packets — matching the bandwidth-delay product so the sender has enough in-flight data to keep the link busy during the full round-trip
BExactly 2 packets — one being transmitted and one in the acknowledgment pipeline is sufficient for any link speed
CThe window size is irrelevant; link utilization depends only on packet size and link bandwidth, not on the number of in-flight packets
DApproximately 10 packets — a standard TCP initial window size that balances throughput and reliability for all link types
Bandwidth-delay product = 100 Mbps × 0.200 s = 20 Mbits = 2.5 MB. At 1,500 bytes per packet, that is approximately 1,667 packets. The window must be large enough to fill this 'pipe volume' — to keep new data flowing while waiting for ACKs from packets sent at the start of the round trip. Stop-and-wait is equivalent to window size 1, which fills only one packet's transmission time out of an entire RTT. This calculation reveals why high-bandwidth, high-latency links (satellite, intercontinental fiber) require window sizes in the thousands to achieve near-maximum utilization.
Question 2 Multiple Choice
A sender using Go-Back-N with window size 8 transmits packets 1–8. Packet 4 is lost; packets 5–8 arrive correctly at the receiver. What does the receiver do with packets 5–8?
ADiscards them — Go-Back-N receivers do not buffer out-of-order packets, so packets 5–8 are dropped and must be retransmitted after packet 4 is recovered
BBuffers packets 5–8 and sends individual SACKs (selective acknowledgments) requesting only packet 4 be retransmitted
CSends a cumulative ACK through packet 8, trusting the sender to detect the gap via timeout and retransmit only what was lost
DBuffers packets 5–8 silently and delivers them in order once packet 4 is recovered, without sending any ACKs until the gap is filled
Go-Back-N receivers only accept packets in order — they maintain no out-of-order buffer. Since packet 4 is missing, packets 5–8 arrive out of sequence and are discarded. The receiver keeps sending duplicate ACK 3 (the last correctly received in-order packet). When the sender detects the loss, it must retransmit packet 4 *and* all subsequent packets (5, 6, 7, 8) even though many were received correctly. This wasteful retransmission is Go-Back-N's main disadvantage compared to Selective Repeat, which only retransmits the specific lost packets and buffers the out-of-order ones.
Question 3 True / False
The sliding window protocol improves link utilization over stop-and-wait by allowing the sender to transmit new packets while waiting for acknowledgments of earlier ones.
TTrue
FFalse
Answer: True
Stop-and-wait enforces strict alternation: send one packet, idle while waiting for its ACK, then send the next. On any link where round-trip time significantly exceeds transmission time, the sender is idle for most of the time — utilization is approximately (transmission time)/(round-trip time). The sliding window keeps the pipeline filled by permitting multiple unacknowledged packets in flight simultaneously. As long as the window size meets the bandwidth-delay product, the sender always has data to transmit immediately, approaching 100% link utilization.
Question 4 True / False
In TCP, the receiver's advertised window (rwnd) directly determines the sender's congestion window (cwnd), which limits how fast the sender transmits.
TTrue
FFalse
Answer: False
TCP maintains two independent window mechanisms. The receive window (rwnd) is advertised by the receiver and reflects its available buffer space — this enforces flow control, preventing a fast sender from overwhelming a slow receiver. The congestion window (cwnd) is maintained entirely by the sender based on network feedback (packet loss, delay signals) — this enforces congestion control, preventing the sender from overwhelming intermediate network links. The sender's effective limit is the *minimum* of rwnd and cwnd. Conflating these two windows is a common mistake; they address different bottlenecks and are managed by different algorithms.
Question 5 Short Answer
What is the bandwidth-delay product, and why must a sliding window be at least this large to fully utilize a high-latency link?
Think about your answer, then reveal below.
Model answer: The bandwidth-delay product (BDP) is the product of link bandwidth (bits/second) and round-trip time (seconds), giving the number of bits that can be simultaneously in transit on the link. A window smaller than the BDP means the sender exhausts its permitted in-flight data before the first ACK returns, forcing it to pause. Only when the window ≥ BDP/packet_size can the sender always have new data ready the moment link capacity is available, keeping the pipe continuously full.
Intuitively, the BDP is the 'pipe volume' — how many bits fit inside the network at any given moment. Stop-and-wait has a pipeline capacity of exactly one packet, which is far below the BDP on any high-latency link. A window of W packets allows W × packet_size bits in transit, and when W ≥ BDP/packet_size, the sender never has to stall. This is why satellite links (RTT ~600 ms) and transcontinental fiber links require window sizes in the thousands of packets to reach full utilization — the large RTT demands a proportionally large window to fill the pipe.