King Fahd University of Petroleum & Minerals
College of Computer Science & Engineering
Information & Computer Science Department
ICS 343
Fundamentals of Computer Networks
Standard Client-Server Protocols
These slides are based on:
Chapter 26, Data Communications and Networking, 5th Edition
Web Caching: Proxy Servers
◼ HTTP supports proxy servers.
◼ A proxy server is a computer that keeps copies of responses to
recent requests.
◼ The HTTP client sends a request to the proxy server.
◼ The proxy server checks its cache:
◼ If the response is not stored in the cache, the proxy server sends
the request to the corresponding server.
◼ Incoming responses are sent to the proxy server and stored for
future requests from other clients.
◼ The proxy server reduces the load on the original server,
decreases traffic, and improves latency.
Figure 26.9: Example of a proxy server
More about Web caching
◼ Cache acts as both client and server
◼ Typically, the cache is installed by ISP (university,
company, residential ISP)
Why Web caching?
1. Reduce response time for client request
2. Reduce traffic on an institution’s access link
Outline
◼ Introduction
◼ 26.1 World-Wide Web (WWW) and HTTP
◼ 26.2 FTP
◼ 26.3 Electronic Mail
◼ 26.5 Secure Shell (SSH)
◼ 26.6 Domain Name System (DNS)
File Transfer Protocol (FTP)
◼ Helps to transfer files from one host to another.
◼ Based on client-server architecture.
◼ The two connections in FTP:
◼ The control connection remains connected during the entire
interactive FTP session.
◼ The data connection is opened and then closed for each file
transfer activity. It opens each time when transferring of a file is
involved, and it closes when the file is transferred.
◼ Why two connections?
◼ Separation of commands and data transfer makes FTP more
efficient.
◼ The control connection uses very simple rules of communication.
◼ The data connection needs more complex rules due to the variety
of data types transferred.
◼ FTP uses port 21 is used for the control connection, and port 20
is used for the data connection.
FTP
Control
connection
Data
connection
Control Communication
◼ Network Virtual Terminal (NVT) ASCII-based command sent
over the control channel.
◼ Communication is achieved through commands and responses,
one command (or response) at a time.
FTP Commands
Some Status Code in FTP
Data Connection
◼ The data connection uses the well-known port 20 at
the server site.
◼ The client, not the server, issues a passive open using
a temporary port.
◼ Using the PORT command, the client sends this port
number to the server.
◼ The server receives the port number and issues an
active open using the well-known port 20 and the
received temporary port number.
Data Communication
◼ File Type
◼ ASCII
◼ EBCDIC
◼ Image
◼ Data Structure
◼ File
◼ Record
◼ Page
◼ Transmission Mode
◼ Stream
◼ Block
◼ Compressed
Example 26.10
Security for FTP
◼ The FTP protocol was designed when security was not
a big issue.
◼ Although FTP requires a password, the password is
sent in plaintext (unencrypted), which means it can be
intercepted and used by an attacker.
◼ The data transfer connection also transfers data in
plaintext, which is insecure.
◼ To be secure, one can add a Secure Socket Layer(SSL)
between the FTP application layer and the TCP layer.
◼ In this case FTP is called SSL-FTP.
Outline
◼ Introduction
◼ 26.1 World-Wide Web (WWW) and HTTP
◼ 26.2 FTP
◼ 26.3 Electronic Mail
◼ 26.5 Secure Shell (SSH)
◼ 26.6 Domain Name System (DNS)
Electronic Mail (e-mail)
◼ Electronic mail (or e-mail) allows users to exchange
messages.
◼ The nature of this application is different from other
applications discussed so far.
◼ This means that the idea of client/server programming
should be implemented in another way: using some
intermediate computers (servers).
E-mail Architecture: Common Scenario
1 9
2
8
3 7
4 5 6
Postal Mail vs E-mail
Email Address
Protocols Used in E-mails
◼ Message Transfer Agent (MTA):
◼ The formal protocol that defines the MTA client and server on the
Internet is called Simple Mail Transfer Protocol (SMTP).
◼ SMTP (Push protocol) uses commands and responses to
transfer messages between an MTA client and an MTA server.
SMTP Commands
Responses
◼ Responses are sent from the server to the client.
◼ A response is a three-digit code that may be followed by
additional textual information.
Responses
Example
Protocols used in E-mail
◼ Message Access Agent (MAA):
◼ The third stage needs a pull protocol; the client must pull messages
from the server.
◼ Post Office Protocol, version 3 (POP3)
◼ Internet Mail Access Protocol, version 4 (IMAP4).
POP3
◼ A simple but limited in functionality
◼ The client POP3 software is installed on the recipient computer
◼ The server POP3 software is installed on the mail server
IMAP4
◼ IMAP4 is more powerful and more complex.
◼ The user can check the e-mail header prior to downloading
◼ User can search the contents of the e-mail for a specific
string of characters prior to downloading
◼ User can partially download the e-mail
◼ Users can create, delete, or rename mailboxes on the mail
server
◼ User can create a hierarchy of mailboxes in a folder for e-
mail storage
MIME
◼ Multipurpose Internet Mail Extensions (MIME)
◼ It is a supplementary protocol that allows non-ASCII
data to be sent through email.
◼ It transforms non-ASCII data to ASCII data and vice
versa.
◼ A MIME header is added to the original email header
section to define the message transformation
parameters.
Content-Transfer-Encoding
Next Lecture
◼ Introduction
◼ 26.1 World-Wide Web (WWW) and HTTP
◼ 26.2 FTP
◼ 26.3 Electronic Mail
◼ 26.5 Secure Shell (SSH)
◼ 26.6 Domain Name System (DNS)
Important to do at home :
- Read chapter 26 of the textbook