The More Fragments flag marks whether another fragment follows this one.

highlighted = computed this step

MF means more fragments

The first fragment has MF set to 1, so another fragment follows.

first MF=1\text{first MF}=1
MF says whether more followThe two toy IPv4 fragment headers show MF and offset fields.Fragment 1 header160 bits / 20 bytes0x450000241c4620004006d1feac100a63ac100a0cbyte 0byte 1byte 2byte 301000101000000000000000000100100byte 4byte 5byte 6byte 700011100010001100010000000000000byte 8byte 9byte 10byte 1101000000000001101101000111111110byte 12byte 13byte 14byte 1510101100000100000000101001100011byte 16byte 17byte 18byte 1910101100000100000000101000001100version4ihl5dscp-ecn0x00total-length36identification0x1c46fragment-offset0ttl64protocol6->TCPheader-checksum0xd1fesource172.16.10.99destination172.16.10.12reserved: clear df: clear mf: setFragment 2 header160 bits / 20 bytes0x4500001c1c4600024006f204ac100a63ac100a0cbyte 0byte 1byte 2byte 301000101000000000000000000011100byte 4byte 5byte 6byte 700011100010001100000000000000010byte 8byte 9byte 10byte 1101000000000001101111001000000100byte 12byte 13byte 14byte 1510101100000100000000101001100011byte 16byte 17byte 18byte 1910101100000100000000101000001100version4ihl5dscp-ecn0x00total-length28identification0x1c46fragment-offset2ttl64protocol6->TCPheader-checksum0xf204source172.16.10.99destination172.16.10.12reserved: clear df: clear mf: clear

The last fragment clears MF

The second fragment has MF 0, so it is the last fragment in this toy packet.

second MF=0\text{second MF}=0
MF says whether more followThe two toy IPv4 fragment headers show MF and offset fields.Fragment 1 header160 bits / 20 bytes0x450000241c4620004006d1feac100a63ac100a0cbyte 0byte 1byte 2byte 301000101000000000000000000100100byte 4byte 5byte 6byte 700011100010001100010000000000000byte 8byte 9byte 10byte 1101000000000001101101000111111110byte 12byte 13byte 14byte 1510101100000100000000101001100011byte 16byte 17byte 18byte 1910101100000100000000101000001100version4ihl5dscp-ecn0x00total-length36identification0x1c46fragment-offset0ttl64protocol6->TCPheader-checksum0xd1fesource172.16.10.99destination172.16.10.12reserved: clear df: clear mf: setFragment 2 header160 bits / 20 bytes0x4500001c1c4600024006f204ac100a63ac100a0cbyte 0byte 1byte 2byte 301000101000000000000000000011100byte 4byte 5byte 6byte 700011100010001100000000000000010byte 8byte 9byte 10byte 1101000000000001101111001000000100byte 12byte 13byte 14byte 1510101100000100000000101001100011byte 16byte 17byte 18byte 1910101100000100000000101000001100version4ihl5dscp-ecn0x00total-length28identification0x1c46fragment-offset2ttl64protocol6->TCPheader-checksum0xf204source172.16.10.99destination172.16.10.12reserved: clear df: clear mf: clear

MF and offset work together

The first fragment says more are coming; the second starts at offset 2 and clears MF.

offset=2\text{offset}=2
MF says whether more followThe two toy IPv4 fragment headers show MF and offset fields.Fragment 1 header160 bits / 20 bytes0x450000241c4620004006d1feac100a63ac100a0cbyte 0byte 1byte 2byte 301000101000000000000000000100100byte 4byte 5byte 6byte 700011100010001100010000000000000byte 8byte 9byte 10byte 1101000000000001101101000111111110byte 12byte 13byte 14byte 1510101100000100000000101001100011byte 16byte 17byte 18byte 1910101100000100000000101000001100version4ihl5dscp-ecn0x00total-length36identification0x1c46fragment-offset0ttl64protocol6->TCPheader-checksum0xd1fesource172.16.10.99destination172.16.10.12reserved: clear df: clear mf: setFragment 2 header160 bits / 20 bytes0x4500001c1c4600024006f204ac100a63ac100a0cbyte 0byte 1byte 2byte 301000101000000000000000000011100byte 4byte 5byte 6byte 700011100010001100000000000000010byte 8byte 9byte 10byte 1101000000000001101111001000000100byte 12byte 13byte 14byte 1510101100000100000000101001100011byte 16byte 17byte 18byte 1910101100000100000000101000001100version4ihl5dscp-ecn0x00total-length28identification0x1c46fragment-offset2ttl64protocol6->TCPheader-checksum0xf204source172.16.10.99destination172.16.10.12reserved: clear df: clear mf: clear

Summary

MF tells whether the receiver should expect another fragment after this one.

MF values=1,0\text{MF values}=1,0
MF says whether more followThe two toy IPv4 fragment headers show MF and offset fields.Fragment 1 header160 bits / 20 bytes0x450000241c4620004006d1feac100a63ac100a0cbyte 0byte 1byte 2byte 301000101000000000000000000100100byte 4byte 5byte 6byte 700011100010001100010000000000000byte 8byte 9byte 10byte 1101000000000001101101000111111110byte 12byte 13byte 14byte 1510101100000100000000101001100011byte 16byte 17byte 18byte 1910101100000100000000101000001100version4ihl5dscp-ecn0x00total-length36identification0x1c46fragment-offset0ttl64protocol6->TCPheader-checksum0xd1fesource172.16.10.99destination172.16.10.12reserved: clear df: clear mf: setFragment 2 header160 bits / 20 bytes0x4500001c1c4600024006f204ac100a63ac100a0cbyte 0byte 1byte 2byte 301000101000000000000000000011100byte 4byte 5byte 6byte 700011100010001100000000000000010byte 8byte 9byte 10byte 1101000000000001101111001000000100byte 12byte 13byte 14byte 1510101100000100000000101001100011byte 16byte 17byte 18byte 1910101100000100000000101000001100version4ihl5dscp-ecn0x00total-length28identification0x1c46fragment-offset2ttl64protocol6->TCPheader-checksum0xf204source172.16.10.99destination172.16.10.12reserved: clear df: clear mf: clear