Starting from:

$30

CS3700-Homework 6 Solved

Problem A. Consider transferring an enormous file of L bytes from Host A to Host B. Assume an MSS of 536 bytes. (hint: MSS: Maximum Segment Size, i.e., the maximum size of the payload of a TCP segment, not including the TCP segment header.  It’s essentially the largest amount of application-layer data, in Bytes, that a TCP segment can carry.)

(a)    What is the maximum value of L such that TCP sequence numbers are not exhausted? Recall that the TCP sequence number field has 4 bytes.

(b)    For the L you obtain in (a), find how long it takes 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 155 Mbps link. Ignore flow control and congestion control so A can pump out the segments back to back and continuously. (Hint: it is assumed that the window size N is large enough such that the segments can be sent out back to back without the need to wait for the next sequence number to be available and there is no loss of packet or ack.)

 

Problem B. Host A and B are communicating over a TCP connection, and Host B has already received from A all bytes up through byte 126. Suppose Host A then sends two segments to Host B back- to- back. The first and second segments contain 80 and 40 bytes of data, respectively. In the first segment, the sequence number is 127, the source port number is 302, and the destination port number is 80. Host B sends an acknowledgment whenever it receives a segment from Host A. 

(a)    In the second segment sent from Host A to B, what are the sequence number, source port number, and destination port number?

(b)    If the first segment arrives before the second segment, in the acknowledgment of the first arriving segment, what is the acknowledgment number, the source port number, and the destination port number?

(c)    If the second segment arrives before the first segment, in the acknowledgment of the first arriving segment, what is the acknowledgment number? (Hint: The reliability control used in TCP is basically a GBN approach with some variation.)

(d)    Suppose the two segments sent by A arrive in order at B. The first acknowledgment is lost and the second acknowledgment arrives after the first time-out interval. Draw a timing diagram, showing these segments and all other segments and acknowledgments sent. (Assume there is no additional packet loss.) For each segment in your figure, provide the sequence number and the number of bytes of data; for each acknowledgment that you add, provide the acknowledgment number. (hint: draw all the segments and ACKs that are exchanged between Hosts A and B involved in delivering these two segments)

 

Problem C. Referring to the Slide 38 titled “TCP Flow Control”, if RcvBuffer = 4096 bytes, 1280 bytes data is buffered,  (a) what is the rwnd value in the TCP header of the next receiver-to-sender segment?  

(b) When the sender receives the above TCP segment, it has sent out 2560 bytes not yet ACKed.  At most how many more bytes can the sender send out before receiving any ACK?

 

Problem D. (a) List the following three TCP segments in the order of being transmitted in the TCP 3-way handshake for establishing a TCP connection; (b) describe the sender and receiver of EACH TCP segment as client-to-server or server-to-client; (c) what is the initial sequence number chosen by the client; (d) what is the initial sequence number chosen by the server? 

               TCP Segment [SYNBit = 1, Seq = 58, ACKbit = 1, ACKnum = 126]

               TCP Segment [ACKbit = 1, ACKnum = 59]

               TCP Segment [SYNBit = 1, Seq = 125]

 

Problem E. Given that the client initiates the procedure of closing a TCP connection, the last byte sent from client to server before the FIN segment is byte #1,742, the last byte sent from server to client before the FIN segment is byte #6,029, (a) list four TCP segments exchanged between client and server for closing a TCP connection, where EACH TCP Segment must be described in the format used in Problem B; (b) describe the sender and receiver of EACH TCP segment as client-to-server or server-to-client. 

 

 

 

Problem F. The initial ssthresh is 16, the sender experiences a 3-duplicate-ACKs event right after the 9th transmission round in both Tahoe and Reno cases, and then the sender experiences a timeout event right after the 16th round in a TCP Tahoe case and after right after the 19th round in a TCP Reno case, FILL the following table to illustrate the congestion window size in segments (cwnd) and ssthresh as functions of transmission round for the time from the 1st to the 22th round if (a) TCP Tahoe is used for congestion control; and (b) TCP Reno is used for congestion control.  (Hint: be aware that the figure in the slide titled “TCP: switching from slow start to CA” illustrates both cases in the same graph.)  

 

                                                                            

 
TCP Tahoo

 
 
 
 
TCP Reno

 
 
 
 
 
 
 
 
 
 
 
 
Trans. Round

 
cwnd

 
ssthresh

 
 
Trans. Round

 
cwnd

 
Ssthresh

 
 
1st
 
 
 
1st
 
 
 
2nd
 
 
 
2nd
 
 
 
3rd
 
 
 
3rd
 
 
 
4th
 
 
 
4th
 
 
 
5th
 
 
 
5th
 
 
 
6th
 
 
 
6th
 
 
 
7th 
 
 
 
7th 
 
 
 
8th 
 
 
 
8th 
 
 
 
9th 
 
 
 
9th 
 
 
 
10th 
 
 
 
10th 
 
 
 

 
11th
 
 
 
11th
 
 
 
12th
 
 
 
12th
 
 
 
13th
 
 
 
13th
 
 
 
14th
 
 
 
14th
 
 
 
15th
 
 
 
15th
 
 
 

 
16th
 
 
 
16th
 
 
 
17th
 
 
 
17th
 
 
 
18th
 
 
 
18th
 
 
 
19th
 
 
 
19th
 

 
 
 
20th
 
 
 
20th
 
 
 
21st
 
 
 
21st
 
 
 
22nd 
 
 
 
22nd 
 
 

More products