Professional Documents
Culture Documents
UDP 2
UDP: Checksum
Ø Checksum is the16-bit one's complement of the one's
complement sum of a pseudo header of information from the
IP header, the UDP header, and the data, padded with zero
octets at the end (if necessary) to make a multiple of two
octets.
Ø Checksum header, data and pre-pended IP pseudo-header
Ø But the header contains the checksum itself?
Ø What’s IP pseudo-header?
Ø How is checksum optional?
IP pseudo-header
UDP header
UDP payload
UDP 3
UDP: Checksum
Ø Get important values from the IP header
• IP addresses, protocol field
• Layers violation??
Ø Padding for zero to byte align the pseudo-header
Ø Pseudo-header is not transmitted to the receiver
UDP 4
UDP checksum
Goal: detect “errors” (e.g., flipped bits) in transmitted
segment
sender: receiver:
Ø treat segment contents, Ø compute checksum of
including header fields, received segment
as sequence of 16-bit
integers Ø check if computed
checksum equals checksum
Ø checksum: addition field value:
(one’s complement
sum) of segment • NO - error detected
contents • YES - no error detected.
Ø sender puts checksum But maybe errors
value into UDP nonetheless? More later
checksum field • UDP doesn’t take any
action on error detection
UDP 5
Internet checksum: example
example: add two 16-bit integers
1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0
1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
wraparound 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1
sum 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0
checksum 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1
UDP 6
4500 003C 1C46 4000 4006 B1E6 AC10 0A63 AC10 0A0C
4500 -> 0100010100000000
003c -> 0000000000111100
453C -> 0100010100111100
As compared to TCP
Ø No connection establishment (which can add
delay)
Ø Simple: no connection state at sender, receiver
Ø Small header size
Ø No congestion control: UDP can blast away as
fast as desired
UDP 8