Skip to main content

7. 典型FTP场景 (Typical FTP Scenario)

主机U上的用户希望从/向主机S传输文件:

一般来说, 用户将通过中介user-FTP进程与服务器通信。以下可能是一个典型场景。user-FTP提示显示在括号中, ---->表示从主机U到主机S的命令, <----表示从主机S到主机U的回复。

用户的本地命令涉及的操作
ftp (host) multics<CR>连接到主机S, 端口L, 建立控制连接。
<---- 220 Service ready <CRLF>.
username Doe <CR>USER Doe<CRLF>---->
<---- 331 User name ok, need password<CRLF>.
password mumble <CR>PASS mumble<CRLF>---->
<---- 230 User logged in<CRLF>.
retrieve (local type) ASCII<CR>
(local pathname) test 1 <CR>
(for. pathname) test.pl1<CR>
User-FTP以ASCII方式打开本地文件。
RETR test.pl1<CRLF> ---->
<---- 150 File status okay; about to open data connection<CRLF>.
服务器建立到端口U的数据连接。
<---- 226 Closing data connection, file transfer successful<CRLF>.
type Image<CR>TYPE I<CRLF> ---->
<---- 200 Command OK<CRLF>
store (local type) image<CR>
(local pathname) file dump<CR>
(for.pathname) >udd>cn>fd<CR>
User-FTP以Image方式打开本地文件。
STOR >udd>cn>fd<CRLF> ---->
<---- 550 Access denied<CRLF>
terminateQUIT <CRLF> ---->
服务器关闭所有连接。

场景说明

这个典型场景展示了FTP会话的基本流程:

  1. 连接建立: 用户发起与FTP服务器的连接
  2. 身份验证: 通过USER和PASS命令进行用户身份验证
  3. 文件检索: 使用RETR命令从服务器检索文件
  4. 传输类型设置: 使用TYPE命令设置传输类型 (如Image)
  5. 文件存储: 使用STOR命令向服务器存储文件
  6. 会话终止: 使用QUIT命令结束FTP会话

每个步骤都显示了客户端命令和服务器回复的交互, 这是FTP协议工作原理的实际示例。