This UDP header carries a nonzero checksum field that will be recomputed next.

highlighted = computed this step

The checksum field is filled

This UDP header carries checksum 0x779f. A zero value would mean something special in IPv4, but this toy datagram uses a real checksum.

checksum=0x779f\text{checksum}=0x779f
Checksum fieldThe UDP header and tiny payload are decoded from exact bytes.UDP header64 bits / 8 bytes0x9c400035000a779fbyte 0byte 1byte 2byte 310011100010000000000000000110101byte 4byte 5byte 6byte 700000000000010100111011110011111source-port40000destination-port53length10checksum0x779fPayload16 bits / 2 bytes0x6869byte 0byte 10110100001101001payload0x6869

Read the field

The checksum field is the fourth word of the UDP header. Its displayed value is sliced from the exact header bytes.

checksum=0x779f\text{checksum}=0x779f
Checksum fieldThe UDP header and tiny payload are decoded from exact bytes.UDP header64 bits / 8 bytes0x9c400035000a779fbyte 0byte 1byte 2byte 310011100010000000000000000110101byte 4byte 5byte 6byte 700000000000010100111011110011111source-port40000destination-port53length10checksum0x779fPayload16 bits / 2 bytes0x6869byte 0byte 10110100001101001payload0x6869

What it will cover

UDP checksum coverage includes more than this visible header. The next chapter adds the IP addresses and protocol byte through a pseudo-header.

protocol=17\text{protocol}=17
Checksum fieldThe UDP header and tiny payload are decoded from exact bytes.UDP header64 bits / 8 bytes0x9c400035000a779fbyte 0byte 1byte 2byte 310011100010000000000000000110101byte 4byte 5byte 6byte 700000000000010100111011110011111source-port40000destination-port53length10checksum0x779fPayload16 bits / 2 bytes0x6869byte 0byte 10110100001101001payload0x6869

Summary

The UDP header gives ports, length, and checksum as exact fields. The checksum is validated next, not trusted as a label.

checksum=0x779f\text{checksum}=0x779f
Checksum fieldThe UDP header and tiny payload are decoded from exact bytes.UDP header64 bits / 8 bytes0x9c400035000a779fbyte 0byte 1byte 2byte 310011100010000000000000000110101byte 4byte 5byte 6byte 700000000000010100111011110011111source-port40000destination-port53length10checksum0x779fPayload16 bits / 2 bytes0x6869byte 0byte 10110100001101001payload0x6869