The whole header is one byte-exact strip of tiled fields. This lesson reads two complete headers end to end and keeps checksum mechanics deferred.
highlighted = computed this step
Read left to right
A full header is still a sequence of exact fields. The full header starts with version 4 and IHL 5. After IHL comes the type-of-service byte 0x00, then total length 60.
4∣5∣0x00∣60
Middle fields
Next comes identification 0x1c46. The flags reconnect to the flags lesson: DF is set, and the fragment offset is 0. TTL is 64 (0x40) before protocol.
0x1c46∣1∣64
Protocol and endpoints
Protocol 6 maps to TCP. The source is 172.16.10.99 and the destination is 172.16.10.12.
6↦TCP
Checksum note
The checksum field is 0xb1e6. The checksum is recomputed and verified in a later book, The checksum that never lies.
checksum=0xb1e6
Decode it again
Now do the whole thing again. The second full header starts with version 4, IHL 5, type-of-service 0x00, and total length 40. Its identification is 0xabcd, all fragment flags are clear, TTL is 128, and protocol 17 maps to UDP.
0xabcd∣128∣17
Contrast the two headers
Compared with the first header, TTL changes from 64 to 128; protocol changes from TCP to UDP; DF changes from set to clear; and the destination becomes 8.8.8.8.
64→128
Summary
Both full headers are decoded by the same tiling rule. The checksum fields are shown here, but checksum verification is still explained in the later checksum book. Byte layout only; timing/throughput is not modeled here. Timing/throughput is not modeled here — only the exact byte layout.