Consider two hosts P and Q connected through a router R. The maximum transfer…
2021
Consider two hosts P and Q connected through a router R. The maximum transfer unit (MTU) value of the link between P and R is 1500 bytes, and between R and Q is 820 bytes.
A TCP segment of size 1400 bytes was transferred from P to Q through R, with IP identification value as 0×1234. Assume that the IP header size is 20 bytes. Further, the packet is allowed to be fragmented, i.e., Don’t Fragment (DF) flag in the IP header is not set by P.
Which of the following statements is/are correct?
- A.
Two fragments are created at R and the IP datagram size carrying the second fragment is 620 bytes.
- B.
If the second fragment is lost, R will resend the fragment with the IP identification value 0×1234.
- C.
If the second fragment is lost, P is required to resend the whole TCP segment.
- D.
TCP destination port can be determined by analysing only the second fragment.
Attempted by 109 students.
Show answer & explanation
Correct answer: A, C
Final answer: Only the statement that two fragments are created and the second fragment's IP datagram size is 620 bytes is correct.
Reasoning:
Original IP datagram size = 20 bytes (IP header) + 1400 bytes (TCP segment) = 1420 bytes.
MTU on the R→Q link is 820 bytes, so maximum data per fragment = 820 - 20 = 800 bytes.
Fragment data must be a multiple of 8 bytes (fragment offset units). 800 is divisible by 8, and the remaining 600 bytes is also divisible by 8.
Therefore R creates two fragments:
- First fragment: 800 bytes of data + 20-byte IP header = 820-byte datagram (More Fragments bit set).
- Second fragment: remaining 600 bytes of data + 20-byte IP header = 620-byte datagram (More Fragments bit cleared).
Routers do not retransmit lost fragments; retransmission is the responsibility of the endpoints (TCP).
If the second fragment is lost, the destination cannot reassemble the datagram and TCP at the sender will retransmit the missing byte range according to TCP's loss recovery rules. It is not strictly correct to assert that the sender must resend the entire original TCP segment in all implementations, so the absolute statement is misleading.
TCP header fields (including destination port) appear in the first fragment only, so the second fragment alone does not allow determining the TCP destination port.
A video solution is available for this question — log in and enroll to watch it.