CS/ECpE 5516, Spring 1998
Homework 3
(Distributed 24 Feb, due 3 March 1998 at start of class)
Additional comments to answer questions from office hours on 2/26/98 are in purple.


Questions 1 through 5 refer to the class notes for TCP and the sheet distributed in class, "Summary of Post-1987 TCP Specification."


1. In TCP, list all conditions under which the value of n (in the go-back-n protocol) increases.  Note:  n in go-back-n is the minimum of the congestion window (CWND) and the receiver advertisement (Wi).

2. In TCP, list all conditions under which the value of n (in the go-back-n protocol) decreases.

3. In TCP, list all conditions under which the retransmission timeout value increases.

4. In TCP, list all conditions under which the retransmission timeout value decreases.

5. Refer to "Summary of Post-1987 TCP Specification" for the variable names used in this problem. Consider the use of TCP to send a message which is partitioned into seven segments (S0, S1, S2, ..., S6). Assume that the initial values of TCP’s variables are:

RTT0 = 10

DEV0 = 1.5

RTO0 = 15

Also assume that the connection is first opened immediately before time 0. Use a separate timer for each segment. Using d=1/8, calculate the value of

(a) RTTi,

(b) CWND, and

(c) RTOi

just after time 45 in the following scenario:
Time Event
0 A sends S0
10 Ack for all packets up to S0 arrives
11 A sends S1
12 A sends S2
18 Ack for all packets up to S2 arrives
19 Ack for all packets up to S1 arrives
20 A sends S3
21 A sends S4
22 A sends S5
23 A sends S6
35 Ack for all packets up to S5 arrives
45 Ack for all packets up to S6 arrives
The scenario does not show segment retransmissions. It does show the first time each segment is sent and all acknowledgements received up to time 45.

Show your work by completing the table below. To get at least partial credit, write the formulas used to fill each cell's value (e.g., "19-8=11" for a cell under "DIFF"). N/C means "no change."  TCP implementations generally set a timer for each segment that has been sent.  In this problem, you should keep track of a separate timer for each segment that has been sent and not acknowledged.  In each cell under the "Timers Set" column, make a list of the the timers that are set and their expiration times.
 
Time Event DIFF RTTi DEVi RTOi CWND Timers
Set
0- Initial - 10 1.5 15 1 none
0 A sends

S0

- N/C N/C N/C N/C S0@15
10 ... ... ... ... ... ... ...
6. Does the TCP protocol impose a limit on the number of clients and servers running simultaneously on a single host? Justify your answer in just a couple of two sentences.

7. Does TCP maintain a separate congestion window for each connection that a given host has open, or do all connections share one congestion window? Write no more than two sentences to justify your answer.

8. For each pair of host IP addresses listed below, identify whether they are attached to the same network (show how you obtained your answer):

(a) 128.173.62.128 and 128.174.63.129

(b) 192.173.62.128 and 192.174.63.129

(c) 126.173.62.128 and 126.174.63.129