A---------R1----------R2-----------B (This is how the packet flows from A to B)
When we receive data from transport layer, then whole of it is considered as data by network layer to be sent .So, transport layer gives 900 + 20 (TCP header) = 920 B to the network layer to be sent .
Hence, the data to be considered is 920 B, which is what transport layer sends to IP layer.
1). First, we talk about how to successfully transmit data from A to R1.
No fragmentation required here, hence IP packet size = 920 B
2). Now, we see for R1 to R2. (For sending, R1 removes previous frame added of 14 B)
It says , it can support maximum frame size of 512 B including 8 B frame header .
Hence, it can be fragmented into 2 frames ( 480 and 440 ) . Finally, One IP packet is 480 + 20 = 500 B and second is
440 + 20 = 460 B . So, 2 packets are send to R2 .
3). We see for R2 to B. (For sending , R2 removes previous frame added of 8 B)
It says , it can support maximum frame size of 512 B including 12 B frame header , hence , no need to fragment it .
One frame is 480 + 20 = 500 B and other frame 440 + 20 = 460 B , will reach B.
Note: I have only considered here IP packet size (Payload + Header), and if this packet is sent to DLL then DLL packet size = IP packet size + DLL header. But that is not asked in the question .Question is only asking about IP packet size