0
点赞
收藏
分享

微信扫一扫

计算机网络-应用层-文件传输协议:FTP

蚁族的乐土 2022-03-30 阅读 78
网络协议

应用层-文件传输协议:FTP

文件传输协议:FTP

用户首先提供远程主机的主机名,使本地主机的FTP客户进程建立一个到远程主机FTP服务器进程的TCP连接。该用户接着提供用户标识和口令,作为FTP命令的一部分在该TCP 连接上传送。一旦该服务器向该用户授权,用户可以将存放在本地文件系统中的一个或者 多个文件复制到远程文件系统(反之亦然)。
FTP使用了两个并 行的TCP连接来传输文件.一个是控制连接(conud connection), —个是败据连接(data connection)o控制连接用于在两主机之间传输控制信息.如用户标识、口令、改变远程目录的命令以及“存放(put)”和“获取(gel)”文件的命令。数据连接用于实际发送一个 文件。因为FTP协议使用一个独立的控制连接,所以我们也称FTP的控制值息是带外 (out-of-band)传送的。
FTP用户与FTP服务器的一个会话:
1、FTP客户在服务器某一端口与服务器建立TCP连接,用户通过此连接传递控制信息(用户标识、口令等命令)
2、FTP服务器收到文件传输的命令,发起另一个向客户端的TCP数据连接用于传送文件,文件传送后此TCP数据连接关闭。
3、同一会话期间,TCP控制连接一直存在,但每一个传输文件都要建立和关闭一个TCP数据连接。
FTP服务器必须在整个会话期间保留用户的状态(state)。特别是,服务器必须把特 定的用户账户与控制连接联系起来,随着用户在远程目录树上徘徊。服务器必须追踪用户在远程目录树上的当前位置。对每个进行中的用户会话的状态信息进行追踪。大大限制了 FTP同时维持的会话总数。

FTP命令与回答

从客户到服务器的命令和从服务器到客户的回答,都是以7比特ASCII格式在控制连接上传送的。
FTP协议每个命令由4个大写字母ASCII字符组成,较为常见的命令如下:
•USER username:用于向服务器传送用户标识。
•PASS password:用于向服务器发送用户口令。
•LIST:用于清求服务器回送当前远程目录中的所有文件列表。该文件狗表是经一 个(新建且非持续连接)数据连接传送的,而不是在控制TCP连接上传送。
•RETR filename:用于从远程主机当前目录检索(即get)文件。该命令引起远程主 机发起一个数据连接.并经该数据连接发送所请求的文件。
•STOR filename;用于在远程主机的当前目录上存放(即put)文件。

贯穿控制连接,在用户发出的命令和FTP发送的命令之间通常有一一对应关系。每个 命令都对应善一个从服务器发向客户的冋答。回答是一个3位的数字,后跟一个可选信 &这与HTTP响应报文状态行的状态码和状态信息的结构相同。一些典型的回答连同它 们可能的报文如下所示:
•331 Username OK. Password rvquired (用户名 OK,需要口令)。
•125 Data connection already open; transfer starting (数据连接已经打开,开始传送)°
•425 Can’t open dala connection (无法打开数据连接)。
•452 Error writing file (写文件差错)

举报

相关推荐

0 条评论