STUDY COMPANION FOR COMPUTER NETWORKING, THIRD EDITION
Most Important Ideas and Concepts from Chapter 2
In Chapter 1 we noted that “
format and the order of messages exchanged between two or more communicat-
ing entities, as well as the actions taken on the transmission and/or receipt of a mes-
sage or other event
.” In chapter 2, we have seen how processes send and receive
messages in an application-layer protocol. As a review, identify the messages ex-
changed and actions taken by the following protocols: HTTP, FTP, DNS, SMTP.
Client/server versus peer-to peer.
These are the two approaches that we studied
structuring a network application. In the client/server paradigm (see page 75 of
the textbook), a client process requests a service by sending one or more messages
to a server process. The server process implements a service by reading the client
request, performing some action (for example, in the case of an HTTP server, find-
ing a Web page), and sending one or more messages in reply (in the case of HTTP,
returning the requested object). In a peer-to-peer approach, the two ends of the
protocol are equals (as in a telephone call).
Two services provided by the Internet’s transport layer: reliable, congestion-
controlled data transfer (TCP), and unreliable data transfer (UDP).
the only services available to an Internet application to transfer data from one process
to another remote process. The Internet transport layer does not provide a minimum
guaranteed transfer rate, or a bound on the delay from source to destination.
HTTP: request/response interaction.
The HTTP protocol is a simple applica-
tion-layer protocol. A client (Web browser) makes a request with a GET message,
and a Web server provides a reply (see Figure 2.6 on page 89 in your textbook).
This is a classical client/server approach. Since HTTP uses TCP to provide reliable
transfer of the GET request from client-to-server, and the reply from server-to-
client, a TCP connection must be set up. ATCP setup request is sent from the TCP
in the client to the TCP in the server, with the TCP server replying to the TCP
client. Following this exchange, the HTTP GET message can be sent over the TCP
connection from client-to-server, and the reply received (see Figure 2.7 on page 92
in your textbook). With non-persistent HTTP, a new TCP connection must be set
up each time the client wants to contact the server. With persistent HTTP, multi-
ple HTTP GET messages can be sent over a single TCP connection, resulting in
performance gains from not having to set up a new TCP for each of the HTTP re-
quests beyond the first.