Review questions from slides Flashcards
TCP uses a finite field to contain stream sequence numbers. Study the protocol specification to find out how it allows an arbitrary length stream to pass from one machine to another
TCP uses a 32-bit field for sequence numbers. It handles sequence numbers with modulo arithmetic, allowing continuous transmission of data without length restrictions. When it reaches the maximum value, it wraps around to 0, ensuring support for arbitrary data stream lengths.
Under what conditions of delay, bandwidth, load, and packet loss will TCP retransmit significant volumes of data unnecessarily?
TCP can retransmit significant volumes of data unnecessarily when it encounters high delay, low bandwidth, heavy network load, and intermittent or spurious packet loss.
A lost TCP acknowledgement does not necessarily force retransmission. Explain why.
TCP lets the receiver indicate for retransmission or waits for the timeout. A lost TCP acknowledgment does not necessarily force retransmission because TCP uses cumulative acknowledgments. When an acknowledgment is lost, the sender waits for a series of duplicate acknowledgments or a timeout to trigger retransmission. This mechanism helps avoid unnecessary retransmissions for isolated acknowledgment losses, allowing the network to recover without overloading it with retransmitted data.
Imagine an implementation of TCP that discards segments that arrive out of order, even if they fall in the current window. That is, the imagined version only accepts segments that extend the byte stream it has already received. Does it work? How does it compare to a standard TCP implementation?
standard TCP implementations maintain and buffer out-of-order segments until they can be correctly assembled and delivered. This ensures that data is reliably and efficiently transmitted, respecting TCP’s reliability, flow control, and congestion control mechanisms.
The imagined version of TCP, which discards out-of-order segments, would likely lead to significant issues in terms of reliability, network efficiency, and compatibility with standard TCP implementations. Standard TCP is designed to handle out-of-order segments, making it more robus
Suppose an implementation of TCP uses initial sequence number 1 when it creates a connection. Explain how a system crash and restart can confuse a remote system into believing that the old connection remained open.
After a system crash and restart, if a new connection uses a fixed ISN (e.g., 1), the remote system may incorrectly associate it with the old connection. This can lead to confusion, potential data issues, and security vulnerabilities like session hijacking or data tampering.
Assume TCP is sending segments using a maximum window size (64 Kbytes) on a channel that has unbounded bandwidth and an average roundtrip time of 20 milliseconds. What is the maximum throughput? How does throughput change if the roundtrip time increases to 40 milliseconds (while bandwidth remains infinite)? For simplicity consider that the congestion-window is very large and does not impose any limitations.
To calculate the maximum throughput, you can use the formula:
Throughput = maximum window size/ RTT
=64/0.02=3.2
=64/0.04=1.6