计算机网络-应用层协议2(FTP)
1.文件传输协议(FTP)原理
如图所示,FTP工作原理如下:
- 用户或主机通过FTP用户接口与FTP客户进程交互。
- 该用户首先提供远程主机的主机名,使本地主机的FTP客户进程建立一个到远程FTP服务器进程的TCP连接。
- 紧接着该用户提供用户标识和口令,作为FTP命令的一部分在该TCP上传送。
- 服务器收到用户标识和口令后,向用户授权,用户可以将本地主机的文件复制到远程文件系统(反之亦然)。
FTP和HTTP都是文件传输协议,有很多共同点。也有一些重要的区别:
- FTP用两个并行的TCP连接来传输文件,一个是控制连接,另一个是数据连接。控制连接发送命令、数据连接传输文件。
- FTP的TCP控制连接端口为21,数据连接端口是20。
- 在同一个会话期间,用户需要传输另一个文件,FTP会打开另一个数据连接。
- FTP服务器必须在整个会话期间保留用户的状态,是个有状态协议。
2.FTP命令和回答
2.1 命令
- UESR username:用于向服务器传送用户标识。
- PASS password:用户向服务器发送用户口令。
- LIST:用户请求服务器回送当前远程目录中的所有文件列表。
- RETR filename:用于从远程主机当前目录检索文件。
- STOR filename:用于在远程主机当前目录存放文件。
2.2 回答
- 331 Username OK,Password required(用户名OK,需要口令)
- 125 Data connection already open;transfer starting(数据连接已经打开,开始传送)
- 425 Can’t open data connection(无法打开数据连接)
- 452 Error writing file(写文件差错)