1 - 2 - 3 - 4 - 6 - 8 - A - B - C - D - E - F - G - H - I - L - M - N - O - P - Q - R - S - T - U - V - W
fragment
Click on the red underlined text to get to the source
... internet modules use fields in the internet header to fragment and
reassemble internet datagrams ...
... circumstances. If internet datagram marked don't fragment cannot be
delivered to its destination without fragmenting it, it is to be
...
... datagram into an almost arbitrary number of pieces that
can be later reassembled. The receiver of the fragments uses the
identification field to ensure that fragments of different datagrams ...
... receiver of the fragments uses the
identification field to ensure that fragments of different datagrams
are not mixed. The fragment ...
... fragments of different datagrams
are not mixed. The fragment offset field tells the receiver the
...
... offset field tells the receiver the
position of a fragment in the original datagram. The fragment
...
... position of a fragment in the original datagram. The fragment
offset and length determine the portion of the original datagram
...
... offset and length determine the portion of the original datagram
covered by this fragment. The more-fragments flag indicates (by
being reset) the last fragment ...
... original datagram
covered by this fragment. The more-fragments flag indicates (by
being reset) the last fragment. These fields provide sufficient
...
... fragment. The more-fragments flag indicates (by
being reset) the last fragment. These fields provide sufficient
information to reassemble datagrams.
...
...
The identification field is used to distinguish the fragments of one
datagram from those of another. The originating protocol module of
...
... originating protocol module of a complete datagram sets the
more-fragments flag to zero and the fragment offset to zero.
...
... but the first must be). Call the number of 8 octet blocks in the
first portion NFB (for Number of Fragment Blocks). The first
portion of the data is placed in the first new internet datagram ...
... and the total length field is set to the length of the first
datagram. The more-fragments flag is set to one. The second
portion of the data is placed in the second new internet datagram ...
... and the total length field is set to the length of the second
datagram. The more-fragments flag carries the same value as the
long datagram. The fragment ...
... fragments flag carries the same value as the
long datagram. The fragment offset field of the second new internet
...
... destination, and protocol. The combination
is done by placing the data portion of each fragment in the relative
position indicated by the fragment offset in that fragment ...
... data portion of each fragment in the relative
position indicated by the fragment offset in that fragment's
internet ...
... fragment in the relative
position indicated by the fragment offset in that fragment's
internet header ...
... internet header. The first fragment will have the fragment offset
zero, and the last fragment ...
... internet header. The first fragment will have the fragment offset
zero, and the last fragment will have the more-fragments ...
... fragment will have the fragment offset
zero, and the last fragment will have the more-fragments flag reset
to zero.
...
... fragment offset
zero, and the last fragment will have the more-fragments flag reset
to zero.
...
... Type of Service| Total Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identification |Flags| Fragment Offset |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time to Live ...
... to accept datagrams of up to 576 octets (whether they arrive whole
or in fragments). It is recommended that hosts only send datagrams
...
... An identifying value assigned by the sender to aid in assembling the
fragments of a datagram.
...
...
This field indicates where in the datagram this fragment belongs.
The fragment offset is measured in units of 8 octets ...
... datagram this fragment belongs.
The fragment offset is measured in units of 8 octets (64 bits). The
...
...
The copied flag indicates that this option is copied into all
fragments on fragmentation.
...
...
Not copied on fragmentation, goes in first fragment only.
Appears at most once in a datagram.
...
... timestamp option is not copied upon fragmentation. It is
carried in the first fragment. Appears at most once in a
datagram.
...
... MF) is set if the datagram is not the
last fragment. The Fragment Offset field identifies the fragment ...
... fragment. The Fragment Offset field identifies the fragment
location, relative to the beginning of the original unfragmented
datagram ...
... location, relative to the beginning of the original unfragmented
datagram. Fragments are counted in units of 8 octets. The
fragmentation ...
... has all zero fragmentation information (MF = 0, fragment offset =
0). If an internet datagram ...
...
This format allows 2**13 = 8192 fragments of 8 octets each for a
total of 65,536 octets. Note that this is consistent with the the
...
... datagram total length field (of course, the header is counted in the
total length and not in the fragments).
...
... When fragmentation occurs, some options are copied, but others
remain with the first fragment only.
...
... destination must be able to receive a datagram of 576
octets either in one piece or in fragments to be reassembled.
...
...
One example of use of the Don't Fragment feature is to down line
load a small host. A small host ...
... datagram
processing; otherwise cut the datagram into two fragments, the
first fragment being the maximum size, and the second fragment ...
... datagram into two fragments, the
first fragment being the maximum size, and the second fragment
being the rest of the datagram ...
... fragments, the
first fragment being the maximum size, and the second fragment
being the rest of the datagram. The first fragment ...
... fragment
being the rest of the datagram. The first fragment is submitted
to the next step in datagram processing, while the second fragment ...
... fragment is submitted
to the next step in datagram processing, while the second fragment
is submitted to this procedure in case it is still too large.
...
... Internet Header Length
OMF - Old More Fragments flag
OTL - Old Total Length
NFB - Number of Fragment ...
... More Fragments flag
OTL - Old Total Length
NFB - Number of Fragment Blocks
MTU - Maximum Transmission Unit ...
... datagram processing;
To produce the second fragment:
(7) Selectively copy the internet header ...
...
In the above procedure each fragment (except the last) was made
the maximum allowable size. An alternative might produce less
than the maximum size datagrams ...
... fragmentation procedure that repeatly divided large datagrams in
half until the resulting fragments were less than the maximum
transmission unit size.
...
... identification fields. If this is a whole datagram (that is both
the fragment offset and the more fragments fields are zero), then
any reassembly resources associated with this buffer ...
... datagram (that is both
the fragment offset and the more fragments fields are zero), then
any reassembly resources associated with this buffer identifier ...
... data length field, and a timer. The data from the
fragment is placed in the data buffer according to its fragment
...
... fragment is placed in the data buffer according to its fragment
offset and length, and bits are set in the fragment ...
... fragment
offset and length, and bits are set in the fragment block bit
table corresponding to the fragment ...
...
If this is the first fragment (that is the fragment offset is
zero) this header is placed in the header ...
... header buffer. If this is the
last fragment ( that is the more fragments field is zero) the
total data length ...
... buffer. If this is the
last fragment ( that is the more fragments field is zero) the
total data length is computed. If this fragment ...
... more fragments field is zero) the
total data length is computed. If this fragment completes the
datagram (tested by checking the bits ...
... datagram (tested by checking the bits set in the fragment block
table), then the datagram is sent to the next step in datagram ...
... timer value and the value of the time to live field from
this fragment; and the reassembly routine gives up control.
...
... the waiting time will be increased if the Time to Live in the
arriving fragment is greater than the current timer value but will
not be decreased if it is less. The maximum this timer ...
... TTL - Time To Live
NFB - Number of Fragment Blocks
TL - Total Length
TDL - Total Data Length ...
... TIMER <- TLB; TDL <- 0;
(8) put data from fragment into data buffer with
BUFID from octet FO ...
...
In the case that two or more fragments contain the same data
either identically or through a partial overlap, this procedure
will use the more recently arrived copy in the data buffer ...
... Identifier for a datagram is based on the need to
provide a way to uniquely identify the fragments of a particular
datagram. The protocol module assembling fragments ...
... fragments of a particular
datagram. The protocol module assembling fragments judges fragments
to belong to the same datagram ...
... datagram. The protocol module assembling fragments judges fragments
to belong to the same datagram if they have the same source,
...
... destination pair and
protocol for the time the datagram (or any fragment of it) could be
alive in the internet.
...
... retransmission carried the same identifier
as the original transmission since fragments of either datagram
could be used to construct a correct TCP ...
... Type of Service| Total Length = 21 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identification = 111 |Flg=0| Fragment Offset = 0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time = 123 | Protocol = 1 | header checksum ...
... datagram (452
data octets), then two internet fragments that might result from the
fragmentation of this datagram ...
... Type of Service| Total Length = 472 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identification = 111 |Flg=0| Fragment Offset = 0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time = 123 | Protocol = 6 | header checksum ...
... Type of Service| Total Length = 276 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identification = 111 |Flg=1| Fragment Offset = 0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time = 119 | Protocol = 6 | Header Checksum ...
...
And the second fragment.
...
... Type of Service| Total Length = 216 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identification = 111 |Flg=0| Fragment Offset = 32 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time = 119 | Protocol = 6 | Header Checksum ...
... Type of Service| Total Length = 576 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identification = 111 |Flg=0| Fragment Offset = 0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time = 123 | Protocol = 6 | Header Checksum ...
... Fragment Offset ...
... header field carrying the identifying value
assigned by the sender to aid in assembling the fragments of a
datagram. ...
... more-fragments flag ...
... data portion of an
internet fragment. That is, the length of a portion of data
measured in 8 octet units. ...
