Q1)
TCP port number: 65440
IP Address: [Link]
Q2) IP address: [Link]
TCP port number: 80
Q3)
Sequence number: 0
We identify it as SYN statement since it is the first connection message initiated between my
computer [Link] to the server [Link] and recognised as [SYN] with seq=0.
Q4)
This is the SYN-ACK segment as sent by [Link] to my computer [Link].
Sequence number: 0
Acknowledgment number: 1
The server sets the acknowledgment number to the client's initial sequence number plus one,
indicating it successfully received the client's SYN request. The acknowledgment number
indicates the next expected sequence number from the client, which confirms that the client's
initial sequence number has been received.
MSS=1380 as specified in the MSS field of the [SYN, ACK ] statement.
Q5)
First 6 packets of the HTTP POST request transmitted:
Sequence numbers and time each segment was sent:
1: 1 3.365803s
2: 616 3.367830s
3: 753 3.368045s
4: 2133 3.368050s
5: 3513 3.368053s
6: 4893 3.368056s
Now, for ACKs:
Cumulative ACK received upto sequence length 13173 received next. In TCP, the
acknowledgment (ACK) mechanism is cumulative. This means that each ACK number signifies
that all bytes up to that number have been successfully received.
ACKs Received:
● ACK for Segment 1 (616) at time 3.616675s
● ACK for Segment 2 (753) at time 3.616678s
● Cumulative ACK for segments up to 13173 at time 3.616679s
RTT Calculations
1. RTT for Segment 1:
○ Sent at: 3.365803s
○ ACK received at: 3.616675s
○ RTT = 3.616675s - 3.365803s = 0.250872s
2. RTT for Segment 2:
○ Sent at: 3.367830s
○ ACK received at: 3.616678s
○ RTT = 3.616678s - 3.367830s = 0.248848s
3. RTT for Segment 3:
○ Sent at: 3.368045s
○ ACK received is part of the cumulative ACK for 13173, at 3.616679s.
○ RTT = 3.616679s - 3.368045s = 0.248634s
4. RTT for Segment 4:
○ Sent at: 3.368050s
○ ACK received is part of the cumulative ACK for 13173, at 3.616679s.
○ RTT = 3.616679s - 3.368050s = 0.248629s
5. RTT for Segment 5:
○ Sent at: 3.368053s
○ ACK received is part of the cumulative ACK for 13173, at 3.616679s.
○ RTT = 3.616679s - 3.368053s = 0.248626s
6. RTT for Segment 6:
○ Sent at: 3.368056s
○ ACK received is part of the cumulative ACK for 13173, at 3.616679s.
○ RTT = 3.616679s - 3.368056s = 0.248623s
Now Doing the Estimated RTT calculations,
Using the formula EstimatedRTT=(1−α)×EstimatedRTT+α×RTT
Where alpha = 0.125
Starting EstimatedRTT: Set to the RTT of the first segment.
Initial EstimatedRTT: 0.250872s
After ACK for Segment 1:
EstimatedRTT = (1−0.125)×0.250872+0.125×0.250872
EstimatedRTT = 0.250872s
After ACK for Segment 2:
EstimatedRTT = (1−0.125)×0.250872+0.125×0.248848
EstimatedRTT = 0.220653+0.031106≈0.251759s
After ACK for Segment 3:
EstimatedRTT = (1−0.125)×0.251759+0.125×0.248634
EstimatedRTT = 0.220988+0.031079≈0.252067s
After ACK for Segment 4:
EstimatedRTT = (1−0.125)×0.252067+0.125×0.248629
EstimatedRTT = 0.220685+0.031078≈0.252062s
After ACK for Segment 5:
EstimatedRTT = (1−0.125)×0.252062+0.125×0.248626
EstimatedRTT = 0.220217+0.031078≈0.251295s
After ACK for Segment 6:
EstimatedRTT = (1−0.125)×0.251295+0.125×0.248623
EstimatedRTT = 0.220168+0.031078≈0.251246s
Graph as plotted by WireShark
Q6) Payload = Total length- header size(which is 20 bytes given in Wireshark)
Segment Total Length (bytes) Payload Size (bytes)
1 669 669 - 20 = 649
2 191 191 - 20 = 171
3 1434 1434 - 20 = 1414
4 1434 1434 - 20 = 1414
5 1434 1434 - 20 = 1414
6 1434 1434 - 20 = 1414
Q7)
We see in the threeway handshake segments that agreed window scale is 7, i.e 2^7 so we
multiply the window size value by 128 to get Calculated Window size.
To determine the minimum and maximum sizes of the available receiver buffer space advertised
by the server in the provided trace, we need to look for the TCP window size values in the SYN,
SYN-ACK, and ACK packets.
Minimum Window Size:
From the SYN packets: 65535 (seen in multiple SYN packets).
49 2.969834 [Link] [Link] TCP 78 65440 → 80
[SYN] Seq=0 Win=65535 Len=0 MSS=1460 WS=64 TSval=630022299 TSecr=0
SACK_PERM
From the SYN-ACK packet: 29200.
51 3.364442 [Link] [Link] TCP 66 80 → 65440
[SYN, ACK] Seq=0 Ack=1 Win=29200 Len=0 MSS=1380 SACK_PERM WS=128
From the ACK packets: 183296 (seen in one of the last ACK packets).
260 4.777234 [Link] [Link] TCP 56 80 → 65440
[ACK] Seq=1 Ack=152937 Win=183296 Len=0
Maximum Window Size:
The highest value observed is 183296 which is maximum advertised buffer space and
minimum is 29200 in the [SYN, ACK] statement.
These values can fluctuate based on network conditions, but these are the sizes noted in the
trace produced right now.
Q8) No, there are no retransmitted segments in this particular trace between my computer
[Link] and [Link]
What I checked for first:
Retransmission Indicators: The trace includes descriptions such as [TCP
Retransmission] next to certain packets. This explicitly indicates that those packets are
retransmissions of previously sent segments.
However, for the two hosts we’re concerned about, my computer and [Link], no
packet contains explicit mention of TCP Retransmission.
Then, I checked for same sequence numbers. I looked at the sequence numbers associated
with each packet. If a packet with the same sequence number is sent again without receiving an
acknowledgment for the original segment, it is considered a retransmission No such packets
were found.
Thirdly, i checked for similar ACKs. All ACK numbers are different and follow the expected
sequence, it reinforces that packets are being acknowledged correctly without the need for
retransmission.
Q9)
Ack 1:
Ack 2:
Ack 3:
Ack 4:
Ack 5:
Ack 6:
ACK 1: Acknowledges 615 bytes (this includes the first 615 bytes).
From ACK 1 to ACK 2:
○ Acknowledged Data = 753 - 616 = 137 bytes
From ACK 2 to ACK 3:
○ Acknowledged Data = 13173 - 753 = 12420 bytes
From ACK 3 to ACK 4:
○ Acknowledged Data = 15933 - 13173 = 2750 bytes
From ACK 4 to ACK 5:
○ Acknowledged Data = 26973 - 15933 = 11040 bytes
From ACK 5 to ACK 6:
○ Acknowledged Data = 29733 - 26973 = 2740 bytes
To find total data, we sum up all amounts acknowledged:
Total Acknowledged Data = 615 (from ACK 1) + 137 + 12420 + 2750 + 11040 + 2740
Total Acknowledged Data = 29702 bytes.
Q10)