Maximum Payload of 1200 B per frame is given ,i.e , as the above picture says Payload = MSS, hence, it is different from packet size.
Answer is C).
Question says TCP message is of size = 2100 B, hence header is encapsulated with the frame and send to IP layer, and IP layer when receives this message thinks it as complete data to be send .
To be send across the first network, It is fragmented into 2 payloads of sizes 1200 and 900 .
No need to add IP Header size with 2100B, as fragmentation acts on data/Payload and not the packet.
Now, since, IP thinks 2100B as the data so, it will directly fragment it and hence, no need to add any header.
Payload / Fragment 1: 1200 B {1200 / 8 = 150, Except last fragment all the fragments should be divisible by 8}
Payload 2: 900 B
At the second network, 1200 B is fragmented into 400 B,400 B and 400 B .
Similarly, 900 B is fragmented into 400, 400 and 100 B.
Since, 2100 B is fragmented into 6 data payloads and Header is attached to all the payloads when they will be forwared to DLL layer. So, Total Overhead = 6 * 20 = 120 B
Hence, DLL layer will receive total Data = 2100 + 120 = 2220 B and DLL will treat it as a complete data to be sent and DLL header will be encapsulated in DLL frame.