The UDP checksum includes a small pseudo-header built from IP values.

highlighted = computed this step

UDP borrows a small IP summary

UDP checksum input starts with a pseudo-header: source IP, destination IP, protocol, and UDP length. This ties the checksum to the intended IP endpoints.

protocol=17\text{protocol}=17
UDP pseudo-headerThe pseudo-header fields are exact checksum inputs, not transmitted UDP header fields.UDP pseudo-header96 bits / 12 bytes0xc0a8010ac0a801010011000abyte 0byte 1byte 2byte 311000000101010000000000100001010byte 4byte 5byte 6byte 711000000101010000000000100000001byte 8byte 9byte 10byte 1100000000000100010000000000001010source-ip192.168.1.10destination-ip192.168.1.1zero0protocol17->UDPudp-length10

Source and destination IP

The source IP is 192.168.1.10, and the destination IP is 192.168.1.1.

src=192.168.1.10\text{src}=192.168.1.10
UDP pseudo-headerThe pseudo-header fields are exact checksum inputs, not transmitted UDP header fields.UDP pseudo-header96 bits / 12 bytes0xc0a8010ac0a801010011000abyte 0byte 1byte 2byte 311000000101010000000000100001010byte 4byte 5byte 6byte 711000000101010000000000100000001byte 8byte 9byte 10byte 1100000000000100010000000000001010source-ip192.168.1.10destination-ip192.168.1.1zero0protocol17->UDPudp-length10

Protocol and length

The protocol byte is 17 for UDP, and the UDP length is 10.

protocol=17,length=10\text{protocol}=17,\quad \text{length}=10
UDP pseudo-headerThe pseudo-header fields are exact checksum inputs, not transmitted UDP header fields.UDP pseudo-header96 bits / 12 bytes0xc0a8010ac0a801010011000abyte 0byte 1byte 2byte 311000000101010000000000100001010byte 4byte 5byte 6byte 711000000101010000000000100000001byte 8byte 9byte 10byte 1100000000000100010000000000001010source-ip192.168.1.10destination-ip192.168.1.1zero0protocol17->UDPudp-length10

Summary

The pseudo-header is not a separate UDP header on the wire. It is exact checksum input built from pinned IP values and the UDP length.

pseudo-header bytes=12\text{pseudo-header bytes}=12
UDP pseudo-headerThe pseudo-header fields are exact checksum inputs, not transmitted UDP header fields.UDP pseudo-header96 bits / 12 bytes0xc0a8010ac0a801010011000abyte 0byte 1byte 2byte 311000000101010000000000100001010byte 4byte 5byte 6byte 711000000101010000000000100000001byte 8byte 9byte 10byte 1100000000000100010000000000001010source-ip192.168.1.10destination-ip192.168.1.1zero0protocol17->UDPudp-length10