MF bit is set to 1 on all the fragments except the last one. It indicates to the receiver that the current datagram is a fragment of some larger datagram. It indicates to the receiver that the current datagram is either the last fragment in the set or that it is the only fragment. An error message is sent to the sender saying that the datagram has been discarded due to its settings. If network requires the datagram to be fragmented to travel further but settings does not allow its fragmentation, then it is discarded. It indicates the intermediate devices not to fragment the IP datagram at any cost. It grants the permission to the intermediate devices to fragment the datagram if required. It helps to identify to which IP datagram, the fragmented datagram belongs to. This number is useful during the re assembly of fragmented datagrams. Each fragmented datagram is assigned the same identification number. It is used for the identification of the fragments of an original IP datagram. Maximum total length of datagram = Maximum value of 16 bit word = 65535 bytes. Minimum total length of datagram = 20 bytes (20 bytes header + 0 bytes data). Total length = Header length + Payload length Total length is a 16 bit field that contains the total length of the datagram (in bytes). The datagram is marked for giving a certain treatment using this field. Type of service is a 8 bit field that is used for Quality of Service (QoS). This is because the range of header length is always. If the given value lies in the range then it must be the header length field value. The range of header length field value is always. Header length and Header length field value are two different things. If header length field contains decimal value 15 (represented as 1111), then. If header length field contains decimal value 10 (represented as 1010), then. If header length field contains decimal value 5 (represented as 0101), then. Header length = Header length field value x 4 bytes So, to represent the header length, we use a scaling factor of 4. So, the range of decimal values that can be represented is. So, maximum length of IP header = 20 bytes + 40 bytes = 60 bytes. The size of Options field can go up to 40 bytes. The size of the 6th row representing the Options field vary. So, minimum length of IP header = 5 x 4 bytes = 20 bytes. The initial 5 rows of the IP header are always used. The length of IP header always lies in the range. It helps in knowing from where the actual data begins.
Header length is a 4 bit field that contains the length of the IP header. IPv6 datagrams are parsed by version-6 parsers. IPv4 datagrams are parsed by version-4 parsers. Datagrams belonging to different versions have different structures. So, this field always contains the decimal value 4. The most popularly used IP versions are version-4 (IPv4) and version-6 (IPv6). Version is a 4 bit field that indicates the IP version used.