Chap 19 ftp & tftp
-
Upload
noctorous-jamal -
Category
Engineering
-
view
200 -
download
1
description
Transcript of Chap 19 ftp & tftp
![Page 1: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/1.jpg)
TCP/IP Protocol Suite 1
Chapter 19Chapter 19
Upon completion you will be able to:
File Transfer:File Transfer:FTP and TFTPFTP and TFTP
• Understand the connections needed for FTP file transfer• Be familiar with FTP commands and responses• Know the differences between FTP and TFTP• Be familiar with TFTP message types• Understand TFTP flow and error control
Objectives
![Page 2: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/2.jpg)
TCP/IP Protocol Suite 2
19.1 FILE TRANSFER PROTOCOL (FTP)
File Transfer Protocol (FTP) is the standard mechanism provided by File Transfer Protocol (FTP) is the standard mechanism provided by TCP/IP for copying a file from one host to another. TCP/IP for copying a file from one host to another.
The topics discussed in this section include:The topics discussed in this section include:
Connections Connections Communication Communication Command Processing Command Processing File Transfer File Transfer Anonymous FTP Anonymous FTP
![Page 3: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/3.jpg)
TCP/IP Protocol Suite 3
FTP uses the services of TCP. It needs two TCP connections.
The well-known port 21 is used for the control connection and the well-known
port 20 for the data connection.
Note:Note:
![Page 4: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/4.jpg)
TCP/IP Protocol Suite 4
Figure 19.1 FTP
![Page 5: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/5.jpg)
TCP/IP Protocol Suite 5
Figure 19.2 Opening the control connection
![Page 6: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/6.jpg)
TCP/IP Protocol Suite 6
Figure 19.3 Creating the data connection
![Page 7: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/7.jpg)
TCP/IP Protocol Suite 7
Figure 19.4 Using the control connection
![Page 8: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/8.jpg)
TCP/IP Protocol Suite 8
Figure 19.5 Using the data connection
![Page 9: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/9.jpg)
TCP/IP Protocol Suite 9
Figure 19.6 Command processing
![Page 10: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/10.jpg)
TCP/IP Protocol Suite 10
Table 19.1 Table 19.1 Access commandsAccess commands
![Page 11: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/11.jpg)
TCP/IP Protocol Suite 11
Table 19.2 Table 19.2 File management commandsFile management commands
![Page 12: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/12.jpg)
TCP/IP Protocol Suite 12
Table 19.3 Table 19.3 Data formatting commandsData formatting commands
![Page 13: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/13.jpg)
TCP/IP Protocol Suite 13
Table 19.4 Table 19.4 Port defining commandsPort defining commands
![Page 14: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/14.jpg)
TCP/IP Protocol Suite 14
Table 19.5 Table 19.5 File transfer commandsFile transfer commands
![Page 15: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/15.jpg)
TCP/IP Protocol Suite 15
Table 19.5 Table 19.5 File transfer commands (continued)File transfer commands (continued)
![Page 16: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/16.jpg)
TCP/IP Protocol Suite 16
Table 19.6 Table 19.6 Miscellaneous commandsMiscellaneous commands
![Page 17: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/17.jpg)
TCP/IP Protocol Suite 17
Table 19.7 Table 19.7 ResponsesResponses
![Page 18: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/18.jpg)
TCP/IP Protocol Suite 18
Table 19.7 Table 19.7 Responses (continued)Responses (continued)
![Page 19: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/19.jpg)
TCP/IP Protocol Suite 19
Table 19.7 Table 19.7 Responses (continued)Responses (continued)
![Page 20: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/20.jpg)
TCP/IP Protocol Suite 20
Table 19.7 Table 19.7 Responses (continued)Responses (continued)
Table 19.7 Table 19.7 Responses (continued)Responses (continued)
![Page 21: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/21.jpg)
TCP/IP Protocol Suite 21
Table 19.7 Table 19.7 Responses (continued)Responses (continued)
Table 19.7 Table 19.7 Responses (continued)Responses (continued)
![Page 22: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/22.jpg)
TCP/IP Protocol Suite 22
Figure 19.7 File transfer
![Page 23: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/23.jpg)
TCP/IP Protocol Suite 23
Figure 19.8 shows an example of using FTP for retrieving a list of items in a directory.
1. After the control connection to port 21 is created, the FTP server sends the 220 (service ready) response on the control connection.2. The client sends the USER command.3. The server responds with 331 (user name is OK, password is required).4. The client sends the PASS command.
5. The server responds with 230 (user login is OK)
Example 1
See Next Slide
![Page 24: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/24.jpg)
TCP/IP Protocol Suite 24
6. The client issues a passive open on an ephemeral port for the data connection and sends the PORT command (over the control connection) to give this port number to the server.7. The server does not open the connection at this time, but it prepares itself for issuing an active open on the data connection between port 20 (server side) and the ephemeral port received from the client. It sends response 150 (data connection will open shortly).8. The client sends the LIST message.9. Now the server responds with 125 and opens the data connection.
Example 1 (cONTINUED)
See Next Slide
![Page 25: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/25.jpg)
TCP/IP Protocol Suite 25
10. The server then sends the list of the files or directories (as a file) on the data connection. When the whole list (file) is sent, the server responds with 226 (closing data connection) over the control connection.11. The client now has two choices. It can use the QUIT command to request the closing of the control connection or it can send another command to start another activity (and eventually open another data connection). In our example, the client sends a QUIT command.12. After receiving the QUIT command, the server responds with 221 (service closing) and then closes the control connection.
Example 1 (cONTINUED)
See Next Slide
![Page 26: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/26.jpg)
TCP/IP Protocol Suite 26
Figure 19.8 Example 1
![Page 27: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/27.jpg)
TCP/IP Protocol Suite 27
The following shows an actual FTP session that parallels Example 1. The colored lines show the responses from the server control connection; the black lines show the commands sent by the client. The lines in white with black background shows data transfer.
Example 2
See Next Slide
$ ftp voyager.deanza.fhda.eduConnected to voyager.deanza.fhda.edu.220 (vsFTPd 1.2.1)530 Please login with USER and PASS.Name (voyager.deanza.fhda.edu:forouzan): forouzan331 Please specify the password.
![Page 28: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/28.jpg)
TCP/IP Protocol Suite 28
Example 2
Password:230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp> ls reports227 Entering Passive Mode (153,18,17,11,238,169)150 Here comes the directory listing.
drwxr-xr-x 2 3027 411 4096 Sep 24 2002 businessdrwxr-xr-x 2 3027 411 4096 Sep 24 2002 personaldrwxr-xr-x 2 3027 411 4096 Sep 24 2002 school
226 Directory send OK.ftp> quit221 Goodbye.
![Page 29: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/29.jpg)
TCP/IP Protocol Suite 29
Figure 19.9 shows an example of how an image (binary) file is stored.1. After the control connection to port 21 is created, the FTP server sends the 220 (service ready) response on the control connection.2. The client sends the USER command.3. The server responds with 331 (user name is OK, a password is required).4. The client sends the PASS command.5. The server responds with 230 (user login is OK).6. The client issues a passive open on an ephemeral port for the data connection and sends the PORT command (over the control connection) to give this port number to the server.
Example 3
See Next Slide
![Page 30: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/30.jpg)
TCP/IP Protocol Suite 30
7. The server does not open the connection at this time, but prepares itself for issuing an active open on the data connection between port 20 (server side) and the ephemeral port received from the client. It sends the response 150 (data connection will open shortly).8. The client sends the TYPE command.9. The server responds with the response 200 (command OK).10. The client sends the STRU command.11. The server responds with 200 (command OK). 12. The client sends the STOR command.13. The server opens the data connection and sends the response 250.
Example 3 (cONTINUED)
See Next Slide
![Page 31: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/31.jpg)
TCP/IP Protocol Suite 31
14. The client sends the file on the data connection. After the entire file is sent, the data connection is closed. Closing the data connection means end-of-file.15. The server sends the response 226 on the control connection.16. The client sends the QUIT command or uses other commands to open another data connection for transferring another file. In our example, the QUIT command is sent.17. The server responds with 221 (service closing) and it closes the control connection.
Example 3 (cONTINUED)
See Next Slide
![Page 32: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/32.jpg)
TCP/IP Protocol Suite 32
Figure 19.9 Example 3
![Page 33: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/33.jpg)
TCP/IP Protocol Suite 33
We show an example of anonymous FTP. We assume thatsome public data are available at internic.net.
Example 4
See Next Slide
$ ftp internic.netConnected to internic.net220 Server readyName: anonymous331 Guest login OK, send “guest” as passwordPassword: guestftp > pwd257 ’/’ is current directory
![Page 34: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/34.jpg)
TCP/IP Protocol Suite 34
bin. . .. . .. . .
Example 4
ftp > close221 Goodbyeftp > quit
![Page 35: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/35.jpg)
TCP/IP Protocol Suite 35
19.2 TRIVIAL FILE TRANSFER PROTOCOL (TFTP)
Trivial File Transfer Protocol (TFTP) is a simple file transfer protocol Trivial File Transfer Protocol (TFTP) is a simple file transfer protocol without the sophisticated features of FTP.without the sophisticated features of FTP.
The topics discussed in this section include:The topics discussed in this section include:
Messages Messages Connection Connection Data Transfer Data Transfer UDP Ports UDP Ports TFTP Example TFTP Example TFTP Options TFTP Options Security Security Applications Applications
![Page 36: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/36.jpg)
TCP/IP Protocol Suite 36
TFTP uses the services of UDP on the well-known port 69.
Note:Note:
![Page 37: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/37.jpg)
TCP/IP Protocol Suite 37
Figure 19.10 Message categories
![Page 38: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/38.jpg)
TCP/IP Protocol Suite 38
Figure 19.11 RRQ format
![Page 39: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/39.jpg)
TCP/IP Protocol Suite 39
Figure 19.12 WRQ format
![Page 40: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/40.jpg)
TCP/IP Protocol Suite 40
Figure 19.13 DATA format
![Page 41: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/41.jpg)
TCP/IP Protocol Suite 41
Figure 19.14 ACK format
![Page 42: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/42.jpg)
TCP/IP Protocol Suite 42
Figure 19.15 ERROR format
![Page 43: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/43.jpg)
TCP/IP Protocol Suite 43
Table 19.8 Table 19.8 Error numbers and their meaningsError numbers and their meanings
![Page 44: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/44.jpg)
TCP/IP Protocol Suite 44
Figure 19.16 Connection establishment
![Page 45: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/45.jpg)
TCP/IP Protocol Suite 45
Figure 19.17 Sorcerer’s apprentice bug
![Page 46: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/46.jpg)
TCP/IP Protocol Suite 46
Figure 19.18 UDP port numbers used by TFTP
![Page 47: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/47.jpg)
TCP/IP Protocol Suite 47
Figure 19.19 TFTP example
![Page 48: Chap 19 ftp & tftp](https://reader033.fdocuments.net/reader033/viewer/2022052206/55851befd8b42ae4748b4791/html5/thumbnails/48.jpg)
TCP/IP Protocol Suite 48
Figure 19.20 Use of TFTP with BOOTP