TCP uses several different technologies to ensure reliable
bit stream delivery. First of all, data is delivered in the
order in which it was sent, and TCP has mechanisms of
keeping track of each data segment sent. A dynamic
windowing system controls traffic congestion and
ensures that the sender doesn’t overwhelm the receiver
with too much data. If packets are lost on the way to the
destination or become corrupted in transit, TCP handles
the retransmission of this data. If the data becomes
duplicated in transmission, the duplicate data is
discarded at the receiver.
UDP is a connectionless datagram protocol that is used
in situations where timely data delivery is more
important than reliability. It is a best-effort, unreliable
protocol that implements a basic checksum mechanism
for error detection. UDP is typically used for applications
such as streaming media, voice, and video.
The TCP/IP model transport layer corresponds roughly
to the OSI model transport layer described earlier in this
chapter.
The application layer, as the name suggests, contains all
the end-user applications that need to exchange data
over the network. The application layer protocols
exchange data on top of the end-to-end, sender-to-
receiver connection that is established by the lower-layer
protocols. There are a large number of application layer
protocols, including the following:
Hypertext Transfer Protocol (HTTP) is used for transferring web pages
between web browsers and web servers.
File Transfer Protocol (FTP) is used for transferring files between a
client and a server.
Dynamic Host Configuration Protocol (DHCP) is used to dynamically
assign IP addresses to devices on a network.
The application layer in the TCP/IP reference model
corresponds to the session, presentation, and application
layers of the OSI model.