Say that an IP fragment of length 5000bytes is fragmented into 2 2500byte fragments.
Is it possible for each 2500byte fragment to be further fragmented? If so, which IP header fields tells the destination host how to reassemble the sub fragments?
It is possible to further fragment IP fragments at any point on the path.
However, the 're-assembly' is done only at the destination -- so no 'de-fragmentation'.
Reassembly at the receiving end-host is done based on the fragment-offset
and more-fragments
flag in each fragmented IP packet header. The Identification
field help collect all the fragments of an IP packet together.
You might also be interested to know the host of problems this introduces.
And, IPv6 handles packet-life differently.
Another interesting ref: Resolve IP Fragmentation, MTU, MSS, and PMTUD Issues with GRE and IPSEC
Yes, this is possible. Reassembly is possible because each fragment contains an offset which is relative to the original payload, not the fragemented payload. You can read more here http://penguin.dcs.bbk.ac.uk/academic/networks/network-layer/fragmentation/index.php.