# Lab 4 ### 4-1 What is the IP address and TCP port number used by your client computer (source) to transfer the file to gaia.cs.umass.edu? ::: info Ans: 192.168.1.106, 63583 ![](https://i.imgur.com/jHzEonT.png) ::: ### 4-2 What is the sequence number of the TCP SYN segment that is used to initiate the TCP connection between the client computer and gaia.cs.umass.edu? What is it in the segment that identifies the segment as a SYN segment? ::: info The sequence number of the TCP SYN segment is 0 since it is used to imitate the TCP connection between the client computer and gaia.cs.umass.edu. According to below figure, in the Flags section, the Syn flag is set to 1 which indicates that this segment is a SYN segment. ![](https://i.imgur.com/1O7eFvu.png) ![](https://i.imgur.com/NoY45dX.png) ::: ### 4-3 What is the sequence number of the SYNACK segment sent by gaia.cs.umass.edu to the client computer in reply to the SYN? What is the value of the Acknowledgement field in the SYNACK segment? How did gaia.cs.umass.edu determine that value? What is it in the segment that identifies the segment as a SYNACK segment? ::: info The value of the acknowledgement field in the SYNACK segment is 1. The value of the ACK field in the SYNACK segment is determined by the server gaia.cs.umass.edu. The server adds 1 to the initial sequence number of SYN segment form the client computer. For this case, the initial sequence number of SYN segment from the client computer is 0, thus the value of the ACK field in the SYNACK segment is 1. ![](https://i.imgur.com/FVFmTco.png) ::: ### 4-4 What is the sequence number of the TCP segment containing the HTTP POST command? Note that in order to find the POST command, you’ll need to dig into the packet content field at the bottom of the Wireshark window, looking for a segment with a “POST” within its DATA field. ::: info 1 ![](https://i.imgur.com/S1dfmp0.png) ::: ### 4-5-1 Consider the TCP segment containing the HTTP POST as the first segment in the TCP connection.What are the sequence numbers of the first six segments in the TCP connection (including the segment containing the HTTP POST)? ::: info Segment 1 sequence number is 1 Segment 2 sequence number is 579 Segment 3 sequence number is 416 Segment 4 sequence number is 1164 Segment 5 sequence number is 3252 Segment 6 sequence number is 5000 ::: ### 4-5-2 At what time was each segment sent?When was the ACK for each segment received? What is the RTT value for each of the six segments? ::: info Sent Time ACK Time RTT 05.003220 05.229284 0.226064 05.003582 05.246693 0.243111 05.003582 05.255980 0.252398 05.003582 05.269617 0.266035 05.003582 05.280389 0.276807 05.003582 05.294617 0.291035 ::: ### 4-5-3 What is the Estimated RTT value after the receipt of each ACK? ::: info ERTTt1 = SRTTs1 = 0.226064 ERTTt2 = 0.875 ∗ ERTTt1 + 0.125 ∗ SRTTs2 = 0.875 * 0.226064 + 0.125 * 0.243111 = 0.22819488 ERTTt3 = 0.875 ∗ ERTTt2 + 0.125 ∗ SRTTs3 = 0.875 * 0.22819488 + 0.125 * 0.252398 = 0.23122027 ERTTt4 = 0.875 ∗ ERTTt3 + 0.125 ∗ SRTTs4 = 0.875 * 0.23122027 + 0.125 * 0.266035 = 0.23557211 ERTTt5 = 0.875 ∗ ERTTt4 + 0.125 ∗ SRTTs5 = 0.875 * 0.23557211 + 0.125 * 0.276807 = 0.24072647 ERTTt6 = 0.875 ∗ ERTTt5 + 0.125 ∗ SRTTs6 = 0.875 * 0.24072647 + 0.125 * 0.291035 = 0.24701504 ::: ### 4-6 What is the length of each of the first six TCP segments? ::: info 707, 1400, 1400, 1400, 1400, 1400 ::: 4-7 What is the minimum amount of available buffer space advertised at the received for the entire trace? Does the lack of receiver buffer space ever throttle the sender? ::: info ![](https://i.imgur.com/dYWigVS.png) ::: ### 4-8 Are there any retransmitted segments in the trace file? What did you check for (in the trace) in order to answer this question? :::info No, the seq num never drop ![](https://i.imgur.com/ri7JlEJ.png) ::: ### 4-9 Can you identify cases where the receiver is ACKing every other received segment. :::info next seq no = prev seq no. + ack size ACK ACK Sequence Number Acknowledged data 1 708 707 2 2108 1400 3 3508 1400 4 4908 1400 5 6308 1400 6 7708 1400 ::: ### 4-10 What is the throughput (bytes transferred per unit time) for the TCP connection? Explain how you calculated this value. ::: info ![](https://i.imgur.com/ap6bBQq.png) data: 153829-1 = 153828 bytes time:06.618555-05.003220 = 1.615335 sec throughput = 153828/1.615335 = 95.22978241 KB/s :::