background image
224 Chapter 5: Network Protocols
acknowledge the first so that the side taking down the connection doesn't start resending the
first TCP segment.
TCP Function Summary
Table 5-3 summarizes TCP functions.
User Datagram Protocol
The CCNA exam requires that you be able to compare and contrast the User Datagram Protocol
(UDP) with TCP. UDP was designed to provide a service for applications in which messages
could be exchanged. Unlike TCP, UDP provides no reliability, no windowing, and no function
to ensure that the data is received in the order in which it was sent. However, UDP provides
some functions of TCP, such as data transfer and multiplexing, and it does so with fewer bytes
of overhead in the UDP header.
UDP multiplexes use port numbers in an identical fashion to TCP. The only difference in UDP
(compared to TCP) sockets is that instead of designating TCP as the transport protocol, the
transport protocol is UDP. An application could open identical port numbers on the same host
but use TCP in one case and UDP in the other. This is not typical but certainly is allowed.
Servers that allow use of TCP and UDP reserve the use of the same port number for each, as
shown in the assigned numbers RFC (currently RFC 1700--www.isi.edu/in-notes/rfc1700.txt).
UDP data transfer differs from TCP in that no reordering or recovery is accomplished.
Applications using UDP are tolerant of the lost data, or they have some application mechanism
to recover lost data. For example, Domain Name System (DNS) requests use UDP because the
user will retry an operation if the DNS resolution fails. The Network File System (NFS)
performs recovery with application layer code, so UDP features are acceptable to NFS.
Table 5-3
TCP Function Summary
Function
Description
Data transfer
Continuous stream of ordered data.
Multiplexing
Function that allows receiving hosts to decide the
correct application for which the data is destined,
based on the port number.
Error recovery (reliability)
Process of numbering and acknowledging data
with sequence and acknowledgment header fields.
Flow control using windowing
Process that uses window sizes to protect buffer
space and routing devices.
Connection establishment and termination
Process used to initialize port numbers and
sequence and acknowledgement fields.
ch05.fm Page 224 Monday, March 20, 2000 5:06 PM