Vous êtes sur la page 1sur 26

Review Questions

Review Question 1
Why an application developer might
choose to run an application over UDP
rather than TCP

An application developer may not want its

application to use TCPs congestion control,
which can throttle the applications sending
rate at times of congestion. Often, designers of
IP telephony and IP videoconference
applications choose to run their applications
over UDP because they want to avoid TCPs
congestion control. Also, some applications do
not need the reliable data transfer provided by

Review Question 2
Is it possible for an application to enjoy
reliable data transfer even when the
application runs over UDP? If so, how?

Yes. The application developer can put

reliable data transfer into the
application layer protocol.

Review Question 3
Consider transferring a file of L bytes from Host
A to Host B. Assume an MSS of 1460 bytes.
(a) What is the maximum value of L such that
TCP sequence numbers are not exhausted?
(b) For the L you obtain in (a), find how long
does it take to transmit the file. Assume that a
total of 66 bytes of transport, network, and data
link header are added to each segment before
the resulting packet is sent out over a 10 Mbps
link. Ignore flow control and congestion control

are 4,294,967,296

possible sequence numbers.
a) The sequence number does not increment by one
with each segment. Rather, is increments by the number
of bytes of data sent. So the size of the MSS is irrelevant
-- the maximum size file that can be sent from A to B is
simply the number of bytes equal to 2 4.19 Gbytes.
b) The number of segments 1460
is . Now 66

bytes of header get added to each segment giving a total

of 194,156,028 bytes of header. The total number of
bytes transmitted is 2 194,156,028 3,591 10 bits.
Thus it would take 3,591 seconds = 59 minutes to
transmit the file over a 10~Mbps link



Review Question 4
For RTT estimation, Why do you think
TCP avoids measurement of SampleRTT
for the retransmitted segments

What happens if TCP measure SampleRTT

for a retransmitted segment. Suppose the
source sends packet P1, the timer for P1
expires, and the source then sends P2, a new
copy of the same packet. Further suppose
the source measures SampleRTT for P2 (the
retransmitted packet). Finally suppose that
acknowledgment for P1 arrives. The source
will mistakenly take this acknowledgment as
an acknowledgment for P2 and calculate an
incorrect value of SampleRTT

Review Question 5
TCP waits until it has received three
duplicate ACKs before performing a fast
retransmit. Why?

Suppose packets n, n+1, and n+2 are sent, and that

packet n is received and ACKed. If packets n+1 and n+2
are reordered along the end-to-end-path (i.e., are
received in the order n+2, n+1) then the receipt of packet
n+2 will generate a duplicate ack for n and would trigger
a retransmission under a policy of waiting only for second
duplicate ACK for retransmission. By waiting for a triple
duplicate ACK, it must be the case that two packets after
are correctly received, while n+1 was not
received. The designers of the triple duplicate ACK
scheme probably felt that waiting for two packets (rather
than 1) was the right tradeoff between triggering a quick
retransmission when needed, but not retransmitting
prematurely in the face of packet reordering.

Review Question 6
To achieve a TCP throughput of 10GPS,
find the tolerable segment loss probability

Lets assume 1500-byte packets and a

100 ms round-trip time. From the TCP
throughput equation, we have10 Gbps =
1.22 * (1500*8 bits) / (.1 sec * srqt(L)),
orsqrt(L) = 14640 bits / (10^^9 bits) =
0.00001464, or L = 2.14 * 10^^-10

Review Question 7
If suppose the TCP sender sends a large
amount of data and then goes idle at time
A and becomes active again at B. What
are the adv./disadv. of TCP using the
Congwin and threshold values from A , at

An advantage of using the earlier values of

CongWin and Threshold at B is that TCP would
not have to go through slow start and congestion
avoidance to ramp up to the throughput value
obtained at A. A disadvantage of using these
values is that they may be no longer accurate.
In particular, if the path has become more
congested between A and B, the sender will
send a large windows worth of segments into an
already (more) congested path.

Review Question 8
Suppose TCP increased its congestion
window by two rather than by one for each
received acknowledgement during slow
start. First window consists of one, second
three and so on. Find the latency

K- number of windows that cover the

min{k : 30 31 3k 1 O / S }

1 3k
min k :
O / S
1 3

min{k : 3k 1 2O / S}

log 3 (1 2O / S )

Q is the number of times the server

would idle for an object of infinite size.

Q max k : RTT 3k 1 0


1 log 3 (1
S / R

Latency 2 RTT stallk
k 1


2 RTT RTT 3k 1

k 1

(3P 1) S
2 RTT P ( RTT S / R )

Review Question 9
Let RTT=1sec and O = 100kbytes.
Prepare a chart that compares minimum
latency with that of slow start for R =
28kbps, 100kbps, 1Mbps and 10Mbps.



Latency with
slow start

28 Kbps

29.25 s


33.18 sec


8.19 s


13.86 sec

1 Mbps


2.81 sec

9.26 sec

10 Mbps

82 msec

2 sec

9 sec

Review Question 10
Consider sending an object of size
O=100kbytes from server to client. Let
S=536 bytes and RTT=100msec. Suppose
TCP use static window size with window
size W. Find the minimum possible latency
and the window size that achieves this
minimum value for transmission rates of
28kbps, 100kbps, 1Mbps and 10Mbps.

The minimum latency is 2RTT+O/R.

The minimum W that achieves this latency
is W min w : w RTT S / R

S / R


min latency

28 Kbps

28.77 sec

100 Kbps

8.2 sec

1 Mbps

1 sec


10 Mbps

0.28 sec


Review Question 11
The idea of doubling of the timeout
interval can be considered to be a
mechanism for congestion control. Justify.
Does TCP need to employ window based
congestion control

If TCP were a stop-and-wait protocol, then the

doubling of the time out interval would suffice as a
congestion control mechanism. However, TCP uses
pipelining (and is therefore not a stop-and-wait
protocol), which allows the sender to have multiple
doubling of the timeout interval does not prevent a
TCP sender from sending a large number of firsttime-transmitted packets into the network, even
when the end-to-end path is highly congested.
Therefore a congestion-control mechanism is
needed to stem the flow of data received from the
application above when there are signs of network