Every part is similar, besides the Fragment Offset and Header Checksum. The Extra Fragments isn’t set on the final fragment, however on all of the others. The 4 key fields that have to be the identical are Identification, Supply, Vacation spot, and Protocol.
RFC 791, Web Protocol explains all about fragmentation and reassembly.
Fragmentation
Fragmentation of an web datagram is critical when it originates
in a neighborhood web that permits a big packet dimension and should traverse a
native web that limits packets to a smaller dimension to achieve its
vacation spot.An web datagram might be marked “do not fragment.” Any web
datagram so marked is to not be web fragmented below any
circumstances. If web datagram marked do not fragment can’t be
delivered to its vacation spot with out fragmenting it, it’s to be
discarded as an alternative.Fragmentation, transmission and reassembly throughout a neighborhood community
which is invisible to the web protocol module known as intranet
fragmentation and could also be used [6].The web fragmentation and reassembly process must be in a position
to interrupt a datagram into an virtually arbitrary variety of items that may
be later reassembled. The receiver of the fragments makes use of the
identification discipline to make sure that fragments of various datagrams
will not be blended. The fragment offset discipline tells the receiver the
place of a fraction within the authentic datagram. The fragment offset
and size decide the portion of the unique datagram coated by
this fragment. The more-fragments flag signifies (by being reset) the
final fragment. These fields present enough info to
reassemble datagrams.The identification discipline is used to differentiate the fragments of 1
datagram from these of one other. The originating protocol module of an
web datagram units the identification discipline to a worth that should
be distinctive for that source-destination pair and protocol for the time
the datagram might be energetic within the web system. The originating
protocol module of an entire datagram units the more-fragments flag to
zero and the fragment offset to zero.To fragment an extended web datagram, an web protocol module (for
instance, in a gateway), creates two new web datagrams and copies
the contents of the web header fields from the lengthy datagram into
each new web headers. The information of the lengthy datagram is split
into two parts on a 8 octet (64 bit) boundary (the second portion
may not be an integral a number of of 8 octets, however the first have to be).
Name the variety of 8 octet blocks within the first portion NFB (for Quantity
of Fragment Blocks). The primary portion of the information is positioned within the
first new web datagram, and the entire size discipline is about to the
size of the primary datagram. The more-fragments flag is about to 1.
The second portion of the information is positioned within the second new web
datagram, and the entire size discipline is about to the size of the
second datagram. The more-fragments flag carries the identical worth because the
lengthy datagram. The fragment offset discipline of the second new web
datagram is about to the worth of that discipline within the lengthy datagram plus
NFB.This process might be generalized for an n-way cut up, somewhat than the
two-way cut up described.To assemble the fragments of an web datagram, an web
protocol module (for instance at a vacation spot host) combines web
datagrams that each one have the identical worth for the 4 fields:
identification, supply, vacation spot, and protocol. The mixture is
accomplished by inserting the information portion of every fragment within the relative
place indicated by the fragment offset in that fragment’s web
header. The primary fragment could have the fragment offset zero, and the
final fragment could have the more-fragments flag reset to zero.