RFC 791:INTERNET PROTOCOL
RFC-Ref

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 ...


... An internet datagram can be marked "don't fragment." Any internet datagram ...
... 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. ...
... datagram sets the more-fragments flag to zero and the fragment offset to zero. ...
... To fragment a long internet datagram, an internet protocol ...
... 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 ...
... To assemble the fragments of an internet datagram, an internet protocol ...
... 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. ...
... Bit 1: (DF) 0 = May Fragment, 1 = Don't Fragment. Bit ...
... Bit 1: (DF) 0 = May Fragment, 1 = Don't Fragment. Bit 2: (MF ...
... Bit 2: (MF) 0 = Last Fragment, 1 = More Fragments. ...
... Bit 2: (MF) 0 = Last Fragment, 1 = More Fragments. 0 1 2 ...
... +---+---+---+ Fragment Offset: 13 bits ...
... 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 ...
... 8 octets (64 bits). The first fragment has offset zero. Time to Live ...
... 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. ...
... protocol fields, to identify datagram fragments for reassembly. ...
... The More Fragments flag bit (MF) is set if the datagram ...
... MF) is set if the datagram is not the last fragment. The Fragment Offset field identifies the fragment ...
... 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. ...
... internet header may be up to 60 octets, and the minimum fragment is 8 octets. ...
... destination must be able to receive a datagram of 576 octets either in one piece or in fragments to be reassembled. ...
... (1) options field (2) more fragments flag (3) fragment offset ...
... (2) more fragments flag (3) fragment offset (4) internet header ...
... If the Don't Fragment flag (DF) bit is set, then internet ...
... host does not have sufficient resources to reassemble internet fragments. ...
... 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. ...
... FO - Fragment Offset IHL - Internet Header ...
... Header Length DF - Don't Fragment flag MF - More Fragments ...
... Don't Fragment flag MF - More Fragments flag TL - Total Length OFO - Old Fragment ...
... More Fragments flag TL - Total Length OFO - Old Fragment Offset OIHL - Old Internet Header ...
... 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 ELSE To produce the first fragment: (1) Copy the original internet header ...
... Recompute Checksum; (6) Submit this fragment to the next step in datagram processing; ...
... datagram processing; To produce the second fragment: (7) Selectively copy the internet header ...
... MF <- OMF; Recompute Checksum; (10) Submit this fragment to the fragmentation test; DONE. ...
... 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 ...
... If no other fragment with this buffer identifier is on hand then ...
... buffer, a header buffer, a fragment block bit table, a total data length ...
... 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 ...
... fragment block bit table corresponding to the fragment blocks received. ...
... If this is the first fragment (that is the fragment offset is zero) this header ...
... 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 ...
... FO - Fragment Offset IHL - Internet Header ...
... Header Length MF - More Fragments flag TTL - Time To Live ...
... TTL - Time To Live NFB - Number of Fragment Blocks TL - Total Length TDL - Total Data Length ...
... Buffer Identifier RCVBT - Fragment Received Bit Table TLB - Timer ...
... TIMER <- TLB; TDL <- 0; (8) put data from fragment into data buffer with BUFID from octet FO ...
... TIMER,TTL); (18) give up until next fragment or timer expires; (19) timer ...
... 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 ...
... Identifier DF = Don't Fragment opt = option data result = response ...


... Type of Service| Total Length = 21 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Identification = 111 |Flg=0| Fragment Offset = 0 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Time = 123 | Protocol = 1 | header checksum ...
... datagram is a complete datagram (not a fragment). ...
... 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 ...
... Now the first fragment that results from splitting the datagram after 256 data octets. ...
... Type of Service| Total Length = 276 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Identification = 111 |Flg=1| Fragment Offset = 0 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Time = 119 | Protocol = 6 | Header Checksum ...
... Example Internet Fragment Figure 7. ...
... And the second fragment. ...
... Type of Service| Total Length = 216 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Identification = 111 |Flg=0| Fragment Offset = 32 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Time = 119 | Protocol = 6 | Header Checksum ...
... Example Internet Fragment Figure 8. ...
... Type of Service| Total Length = 576 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Identification = 111 |Flg=0| Fragment Offset = 0 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Time = 123 | Protocol = 6 | Header Checksum ...


... The Don't Fragment bit carried in the flags field. ...
... Fragment Offset ...
... internet datagram a fragment belongs. ...
... header field carrying the identifying value assigned by the sender to aid in assembling the fragments of a datagram. ...
... internet fragment ...
... The More-Fragments Flag carried in the internet header flags field ...
... more-fragments flag ...
... The Number of Fragment Blocks in a the data portion of an internet ...
... data portion of an internet fragment. That is, the length of a portion of data measured in 8 octet units. ...



Google
Web
RFC-Ref