This preview shows page 1. Sign up to view the full content.
Unformatted text preview: nd TCP include a 12-byte pseudo-header with the UDP datagram (or TCP
segment) just for the checksum computation. This pseudo-header includes certain fields from file:///D|/Documents%20and%20Settings/bigini/Docu...homenet2run/tcpip/tcp-ip-illustrated/udp_user.htm (2 of 29) [12/09/2001 14.46.58] Chapter 11. UDP: User Datagram Protocol the IP header. The purpose is to let UDP double-check that the data has arrived at the correct
destination (i.e., that IP has not accepted a datagram that is not addressed to this host, and that
IP has not given UDP a datagram that is for another upper layer). Figure 11.3 shows the pseudoheader along with a UDP datagram. Figure 11.3 Fields used for computation of UDP checksum.
In this figure we explicitly show a datagram with an odd length, requiring a pad byte for the
checksum computation. Notice that the length of the UDP datagram appears twice in the
If the calculated checksum is 0, it is stored as all one bits (65535), which is equivalent in onescomplement arithmetic. If the transmitted checksum is 0, it indicates that the sender did not
compute the checksum.
If the sender did compute a checksum and the receiver detects a checksum error, the UDP
datagram is silently discarded. No error message is generated. (This is what happens if an IP
header checksum error is detected by IP.)
This UDP checksum is an end-to-end checksum. It is calculated by the sender, and then verified
by the receiver. It is designed to catch any modification of the UDP header or data anywhere
between the sender and receiver.
Despite UDP checksums being optional, they should always be enabled. During the 1980s some
computer vendors turned off UDP checksums by default, to speed up their implementation of
Sun's Network File System (NFS), which uses UDP. While this might be acceptable on a single
LAN, where the cyclic redundancy check on the data-link frame (e.g., Ethernet or token ring file:///D|/Documents%20and%20Settings/bigini/Docu...homenet2run/tcpip/tcp-ip-illustrated/udp_user.htm (3 of 29) [12/09/2001 14.46.58] Chapter 11. UDP: User Datagram Protocol f...
View Full Document
This test prep was uploaded on 04/04/2014 for the course ECE EL5373 taught by Professor Guoyang during the Spring '12 term at NYU Poly.
- Spring '12