Ch26 Ameera Almasoud 1 Based on Data Communications and
Networking, 4th Edition. by Behrouz A. Forouzan, McGraw-Hill
Companies, Inc., 2007
Slide 2
FILE TRANSFER File Transfer Protocol (FTP) is the standard
mechanism provided by TCP/IP for copying a file from one host to
another. Although transferring files from one system to another
seems simple and straightforward. Before transferring, some
problems must be dealt with first, such as: two systems may use
different file name conventions. Two systems may have different
ways to represent text and data. Two systems may have different
directory structures. All of these problems have been solved by FTP
in a very simple and elegant approach. Ameera Almasoud Based on
Data Communications and Networking, 4th Edition. by Behrouz A.
Forouzan, McGraw-Hill Companies, Inc., 20072
Slide 3
FILE TRANSFER FTP differs from other client-server applications
in that it establishes two connections between the hosts. One
connection is used for data transfer, the other for control
information (commands and responses). Separation of commands and
data transfer makes FTP more efficient. We need to transfer only a
line of command or a line of response at a time. Ameera Almasoud
Based on Data Communications and Networking, 4th Edition. by
Behrouz A. Forouzan, McGraw-Hill Companies, Inc., 20073
Slide 4
FILE TRANSFER The control connection uses very simple rules of
communication. The data connection, on the other hand, needs more
complex rules due to the variety of data types transferred. FTP
uses two well-known TCP ports: Port 21 is used for the control
connection, port 20 is used for the data connection. Ameera
Almasoud Based on Data Communications and Networking, 4th Edition.
by Behrouz A. Forouzan, McGraw-Hill Companies, Inc., 20074
Slide 5
FTP Ameera Almasoud Based on Data Communications and
Networking, 4th Edition. by Behrouz A. Forouzan, McGraw-Hill
Companies, Inc., 20075
Slide 6
Control Connection There are two steps: 1. The server issues a
passive open on the well-known port 21 and waits for a client. 2.
The client uses an ephemeral port and issues an active open. The
connection remains open during the entire process. The service
type, used by the IP protocol, is minimize delay because this is an
interactive connection between a user (human) and a server. The
user types commands and expects to receive responses without
significant delay. Ameera Almasoud Based on Data Communications and
Networking, 4th Edition. by Behrouz A. Forouzan, McGraw-Hill
Companies, Inc., 20076
Slide 7
Opening the control connection Ameera Almasoud Based on Data
Communications and Networking, 4th Edition. by Behrouz A. Forouzan,
McGraw-Hill Companies, Inc., 20077
Slide 8
Data Connection The data connection uses the well-known port 20
at the server site. The following shows how FTP creates a data
connection: 1. The client, not the server, issues a passive open
using an ephemeral port. 2. The client sends this port number to
the server using the PORT command. 3. The server receives the port
number and issues an active open using the well known port 20 and
the received ephemeral port number. Ameera Almasoud Based on Data
Communications and Networking, 4th Edition. by Behrouz A. Forouzan,
McGraw-Hill Companies, Inc., 20078
Slide 9
Creating the data connection Ameera Almasoud Based on Data
Communications and Networking, 4th Edition. by Behrouz A. Forouzan,
McGraw-Hill Companies, Inc., 20079
Slide 10
The data connection is opened and then closed for each file
transferred. It opens each time commands that involve transferring
files are used, and it closes when the file is transferred. While
the control connection is open, the data connection can be opened
and closed multiple times if several files are transferred. Ameera
Almasoud Based on Data Communications and Networking, 4th Edition.
by Behrouz A. Forouzan, McGraw-Hill Companies, Inc., 200710 Data
Connection
Slide 11
Communication The FTP client and server, which run on different
computers, must communicate with each other. These two computers
may use: different operating systems different character sets
different file structures different file formats FTP must make this
heterogeneity compatible. FTP has two different approaches, one for
the control connection and one for the data connection. Ameera
Almasoud Based on Data Communications and Networking, 4th Edition.
by Behrouz A. Forouzan, McGraw-Hill Companies, Inc., 200711
Slide 12
Communication over Control Connection FTP uses the same
approach as SMTP to communicate across the control connection. It
uses the 7-bit ASCII character set. Communication is achieved
through commands and responses. Each command or response is only
one short line, so we need not worry about file format or file
structure. Each line is terminated with a two-character (carriage
return and line feed) end-of-line token. Ameera Almasoud Based on
Data Communications and Networking, 4th Edition. by Behrouz A.
Forouzan, McGraw-Hill Companies, Inc., 200712
Slide 13
Using the control connection Ameera Almasoud Based on Data
Communications and Networking, 4th Edition. by Behrouz A. Forouzan,
McGraw-Hill Companies, Inc., 200713
Slide 14
Communication over Data Connection File transfer occurs over
the data connection under the control of the commands sent over the
control connection. We prepare for transmission through the control
connection. The heterogeneity problem is resolved by defining three
attributes of communication before sending the file through the
data connection : file type data structure transmission mode Ameera
Almasoud Based on Data Communications and Networking, 4th Edition.
by Behrouz A. Forouzan, McGraw-Hill Companies, Inc., 200714
Slide 15
Using the data connection Ameera Almasoud Based on Data
Communications and Networking, 4th Edition. by Behrouz A. Forouzan,
McGraw-Hill Companies, Inc., 200715
Slide 16
File Type FTP can transfer one of the following file types
across the data connection: ASCII file. EBCDIC file image file. The
ASCII file is the default format for transferring text files. Each
character is encoded using 7-bit ASCII. The sender transforms the
file from its own representation into ASCII characters, and the
receiver transforms the ASCII characters to its own representation.
The EBCDIC file used If one or both ends of the connection use
EBCDIC encoding (the file format used by IBM). The image file is
the default format for transferring binary files. The file is sent
as continuous streams of bits without any interpretation or
encoding. This is mostly used to transfer binary files such as
compiled programs. Ameera Almasoud Based on Data Communications and
Networking, 4th Edition. by Behrouz A. Forouzan, McGraw-Hill
Companies, Inc., 200716
Slide 17
Data Structure FTP can transfer a file across the data
connection by using one of the following interpretations about the
structure of the data: file structure: the file is a continuous
stream of bytes. record structure: the file is divided into
records. This can be used only with text files. page structure: the
file is divided into pages, with each page having a page number and
a page header. The pages can be stored and accessed randomly or
sequentially. Ameera Almasoud Based on Data Communications and
Networking, 4th Edition. by Behrouz A. Forouzan, McGraw-Hill
Companies, Inc., 200717
Slide 18
Transmission Mode FTP can transfer a file across the data
connection using one of the following three transmission modes:
Stream mode. Block mode. Compressed mode. Stream mode: This is the
default mode. Data are delivered from FTP to TCP as a continuous
stream of bytes. TCP is responsible for chopping data into segments
of appropriate size. If the data is simply a stream of bytes (file
structure), no end-of-file is needed. End-of-file in this case is
the closing of the data connection by the sender. If the data are
divided into records (record structure), each record will have a
1-byte end-of-record (EOR) character and the end of the file will
have a 1-byte end-of-file (EOF) character. Ameera Almasoud Based on
Data Communications and Networking, 4th Edition. by Behrouz A.
Forouzan, McGraw-Hill Companies, Inc., 200718
Slide 19
Block mode: Data can be delivered from FTP to TCP in blocks.
Each block is preceded by a 3-byte header. The first byte is called
the block descriptor; the next two bytes define the size of the
block in bytes. Compressed mode: If the file is big, the data can
be compressed. The compression method normally used is run-length
encoding. consecutive appearances of a data unit are replaced by
one occurrence and the number of repetitions. In a text file, this
is usually spaces (blanks). In a binary file, null characters are
usually compressed. Ameera Almasoud Based on Data Communications
and Networking, 4th Edition. by Behrouz A. Forouzan, McGraw-Hill
Companies, Inc., 200719 Transmission Mode
Slide 20
Command Processing FTP uses the control connection to establish
a communication between the client control process and the server
control process. During this communication, the commands are sent
from the client to the server and the responses are sent from the
server to the client. Ameera Almasoud Based on Data Communications
and Networking, 4th Edition. by Behrouz A. Forouzan, McGraw-Hill
Companies, Inc., 200720
Slide 21
Commands Commands are sent from the FTP client control process.
are in the form of ASCII uppercase, which may or may not be
followed by an argument. commands are divided into six groups:
access commands file management commands data formatting commands
port defining commands file transferring commands miscellaneous
commands Ameera Almasoud Based on Data Communications and
Networking, 4th Edition. by Behrouz A. Forouzan, McGraw-Hill
Companies, Inc., 200721
Slide 22
Access commands: These commands let the user access the remote
system. Ameera Almasoud Based on Data Communications and
Networking, 4th Edition. by Behrouz A. Forouzan, McGraw-Hill
Companies, Inc., 200722 Commands
Slide 23
File management commands: These commands let the user access
the file system on the remote computer. They allow the user to
navigate through the directory structure, create new directories,
delete files, and so on. Ameera Almasoud Based on Data
Communications and Networking, 4th Edition. by Behrouz A. Forouzan,
McGraw-Hill Companies, Inc., 200723 Commands
Slide 24
Data formatting commands: These commands let the user define
the data structure, file type, and transmission mode. The defined
format is then used by the file transfer commands. Ameera Almasoud
Based on Data Communications and Networking, 4th Edition. by
Behrouz A. Forouzan, McGraw-Hill Companies, Inc., 200724
Commands
Slide 25
Port defining commands: These commands define the port number
for the data connection on the client site. Ameera Almasoud Based
on Data Communications and Networking, 4th Edition. by Behrouz A.
Forouzan, McGraw-Hill Companies, Inc., 200725 Commands
Slide 26
File transfer commands: These commands actually let the user
transfer files. Ameera Almasoud Based on Data Communications and
Networking, 4th Edition. by Behrouz A. Forouzan, McGraw-Hill
Companies, Inc., 200726 Commands
Slide 27
Miscellaneous commands: These commands deliver information to
the FTP user at the client site. Ameera Almasoud Based on Data
Communications and Networking, 4th Edition. by Behrouz A. Forouzan,
McGraw-Hill Companies, Inc., 200727 Commands
Slide 28
Responses Every FTP command generates at least one response. A
response has two parts: a three digit number followed by text. The
numeric part defines the code. The first digit defines the status
of the command. The second digit also defines the status of the
command The third digit provides additional information the text
part defines needed parameters or extra explanations. Ameera
Almasoud Based on Data Communications and Networking, 4th Edition.
by Behrouz A. Forouzan, McGraw-Hill Companies, Inc., 200728
Slide 29
Ameera Almasoud Based on Data Communications and Networking,
4th Edition. by Behrouz A. Forouzan, McGraw-Hill Companies, Inc.,
200729
Slide 30
Ameera Almasoud Based on Data Communications and Networking,
4th Edition. by Behrouz A. Forouzan, McGraw-Hill Companies, Inc.,
200730
Slide 31
File Transfer file transfer in FTP means one of three things:
Retrieving: A file is to be copied from the server to the client.
It is done under the supervision of the RETR command. Storing: A
file is to be copied from the client to the server. It is done
under the supervision of the STOR command. List: A list of
directory or file names is to be sent from the server to the
client. This is done under the supervision of the LIST command. FTP
treats a list of directory or file names as a file. Ameera Almasoud
Based on Data Communications and Networking, 4th Edition. by
Behrouz A. Forouzan, McGraw-Hill Companies, Inc., 200731
Slide 32
Ameera Almasoud Based on Data Communications and Networking,
4th Edition. by Behrouz A. Forouzan, McGraw-Hill Companies, Inc.,
200732 File Transfer
Slide 33
Example: using FTP for retrieving a list of items in a
directory Ameera Almasoud Based on Data Communications and
Networking, 4th Edition. by Behrouz A. Forouzan, McGraw-Hill
Companies, Inc., 200733
Slide 34
Example: an actual FTP session Ameera Almasoud Based on Data
Communications and Networking, 4th Edition. by Behrouz A. Forouzan,
McGraw-Hill Companies, Inc., 200734
Slide 35
Ameera Almasoud Based on Data Communications and Networking,
4th Edition. by Behrouz A. Forouzan, McGraw-Hill Companies, Inc.,
200735 Example: how an image (binary) file is stored
Slide 36
Anonymous FTP To use FTP, a user needs an account (user name)
and a password on the remote server. Some sites have a set of files
available for public access, to enable anonymous FTP. To access
these files, a user does not need to have an account or password.
the user can use anonymous as the user name and guest as the
password. User access to the system is very limited. Some sites
allow anonymous users only a subset of commands. For example, most
sites allow the user to copy some files, but do not allow
navigation through the directories. Ameera Almasoud Based on Data
Communications and Networking, 4th Edition. by Behrouz A. Forouzan,
McGraw-Hill Companies, Inc., 200736
Slide 37
Ameera Almasoud Based on Data Communications and Networking,
4th Edition. by Behrouz A. Forouzan, McGraw-Hill Companies, Inc.,
200737 Example
Slide 38
Security for FTP The FTP protocol was designed when the
security was not a big issue. 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. The solution
is by adding a Secure Socket Layer between the FTP application
layer and the TCP layer. is called SSL-FTP. Ameera Almasoud Based
on Data Communications and Networking, 4th Edition. by Behrouz A.
Forouzan, McGraw-Hill Companies, Inc., 200738
Slide 39
The sftp Program Another way to transfer files using a secure
channel is to use another independent protocol called sftp (secure
file transfer protocol). This is actually a program in Unix called
sftp that is part of the SSH (Secure Shell)protocol. When SSH has
established a secure connection between an SSH client and an SSH
server, sftp can be used. Ameera Almasoud Based on Data
Communications and Networking, 4th Edition. by Behrouz A. Forouzan,
McGraw-Hill Companies, Inc., 200739