A structured field can spend individual bits on yes-or-no flags. This lesson reads those bits without modeling the later fragmentation behavior.

highlighted = computed this step

Why flags share space

Flags are single-bit yes-or-no fields, so several can fit beside a larger offset. The strip reads those bits directly before any fragmentation behavior is discussed.

flag bits=3\text{flag bits}=3

Flags share two bytes

The first 3 bits are flags. The next 13 bits are the fragment offset.

3+13=163+13=16
Flag bits and offsetThe two bytes are tiled by three flags and one offset.Flags and offset16 bits / 2 bytes0x4000byte 0byte 10100000000000000fragment-offset0reserved: clear df: set mf: clear

DF is set

The reserved flag is clear, DF (Don't-Fragment) is set, MF (More-Fragments) is clear, and the offset is 0. Fragmentation behavior is dynamics, deferred; here we only read the bits.

offset=0\text{offset}=0
Flag bits and offsetThe two bytes are tiled by three flags and one offset.Flags and offset16 bits / 2 bytes0x4000byte 0byte 10100000000000000fragment-offset0reserved: clear df: set mf: clear

Decode it again

In 0x20b9, DF is clear, MF is set, and the fragment offset is 185. MF set means more fragments follow. The offset counts 8-byte units, so 185×8 gives byte offset 1480. Fragmentation behavior is deferred dynamics.

185×8=1480185\times8=1480
Middle fragment flagsMF is set and the offset is non-zero.Middle fragment16 bits / 2 bytes0x20b9byte 0byte 10010000010111001fragment-offset185reserved: clear df: clear mf: set

Summary

The strip only says which flag bits are set and what offset number is present. Byte layout only; timing/throughput is not modeled here. Timing/throughput is not modeled here — only the exact byte layout.

flags=3\text{flags}=3
Flag bits and offsetThe two bytes are tiled by three flags and one offset.Flags and offset16 bits / 2 bytes0x4000byte 0byte 10100000000000000fragment-offset0reserved: clear df: set mf: clear