Computer Networks · free preview
User Datagram Protocol
The transport layer's first job is turning the network's host-to-host delivery into process-to-process delivery, and the User Datagram Protocol does almost exactly that and no more, adding 16-bit port numbers that name processes indirectly since operating system process ids are meaningless across machines, well-known ports and port mappers solving the bootstrap question of how a client finds a server, an optional checksum computed over a pseudo-header that reaches into the IP header to catch misdelivery, and message boundaries preserved exactly as sent, which makes UDP the right substrate for request-reply protocols, real-time streams, and anything that would rather build its own reliability than inherit someone else's.
1. From Hosts to Processes
From Hosts to Processes
2. The Bootstrap Problem
The Bootstrap Problem
3. The Header and Its One Luxury
The Header and Its One Luxury
4. Choosing the Floor
Choosing the Floor
5. Why ports exist
A single server host runs a name service, a mail service, and a web service. What problem do port numbers solve?
6. Why not process ids
Why doesn't UDP identify processes by their operating system process ids?
7. Finding the server
How does a client learn which port a service listens on?
8. The pseudo-header
UDP's checksum covers fields copied from the IP header as well as UDP's own. What error is this pseudo-header designed to catch?
9. Message boundaries
An application sends two 100-byte requests over UDP, and the receiver issues one big read. What does it get?
10. Choosing UDP
A live voice application must choose a transport. Why might it prefer UDP over a reliable one?
11. Port width
A UDP port number is how many bits wide, giving each host 65536 of them?
12. The famous 53
Which well-known port does the domain name service listen on?
13. The one exception
Which field of the eight-byte UDP header is optional in IPv4 and covers a pseudo-header when used?
14. The directory
Which service, itself at a single well-known port, tells clients which port a given service currently occupies on that host?
Practice this interactively
Free account · instant grading · spaced review that schedules itself.
Start this course for free