Data Communications II Autumn 2004
Problem set 1. (21.9.)
- A TCP connection has the line
transmit rate of 100 Mbps and the round-trip time (RTT) of 200 ms.
- What is the maximun transmission
rate of the connection without using the options of the TCP
protocol?
- What window scale option gives
the full line speed (transmission rate) for this connection?
- How is the window scale option used?
- How is the speed of a TCP
connection affected by the fact that the maximum time-to-live for a
TCP segment is 2 minutes? Is it possible to achieve the speed of 200
Mbps for a TCP connection at all? What different solutions there are
for the problem of sequence numbers wrapping around too fast? Can
time stamp option be a solution?
- Show as a diagram how the 'basic'
TCP (TCP with slow start, retransmission timer, fast retransmit and
fast recovery) handles the following situations. MSS is the default
MSS = 536 bytes (RFC 879) and transmission rate is 100 kbps.
- In the very beginning of the
transmit the very first packet arrives corrupted to the receiver.
The size of the congestion window is 2 MSS.
- The size of the congestion window
is 8 MSS. At first the sender succeeds to send one segment
correctly, but after that an error burst corrups the following 3
packets.
- The size of the congestion window
is 8 MSS. The second segment is routed to a congested router and it
arrives to the receiver first after the fourth segment sent. Other
segments arrive in order.
In all these cases the round-trip-time RTT is 200 ms and value of
the retransmission timer is set to 2 * RTT. The transmission is
constrained only by the congestion window.
- Show with a diagram how the
different cases of the former problem will be handled with a TCP
using limited transmit. In what situations limited transmit seems to
be usefull?
- Suppose the SACK-option (Selective
ACK) is in use. Show with a diagram how the segments are sent in the
following situations.
- The size of the congestion window
is 8 MSS. At first the sender succeeds to send one segment
correctly, but after that an error burst corrups the following 3
packets.
- The size of the congestion window is 8 MSS. The second
segment is routed to a congested router and it arrives to the
receiver first after the fourth segment sent. Other segments arrive
in order.
- The sending TCP follows the Nagle
algorithm.
- An application sends data byte by
byte. How is it possible to force the TCP to send the data, even
one byte, immediately after it has arrived? Are there situations,
when this kind of fast but unefficient data transfer is needed and
necessary?
- Could the Nagle algorithm be useful in avoiding the silly
window syndrome?