计算机网络应用层之文件传输协议——FTP(这一篇就够了)

文件传输协议:FTP

     HTTP 和 FTP 都是文件传输协议,但 FTP 使用两个并行的 TCP 连接来传输文件,一个是控制连接(control connection),一个是数据连接(data connection)
     控制连接用于在两个主机之间传输控制信息,如用户标识、口令、改变远程目录的命令。
     数据连接用于实际传输一个文件。
     也称 FTP 的控制信息是带外(out-of-band)带外传送的。

在这里插入图片描述

FTP传输文件的过程

使用FTP传输数据时,需要在服务器和客户机之间建立控制连接和数据连接

在这里插入图片描述
   
    当用户主机与远程主机开始一个 FTP 会话前,FTP 的客户机首先在 21 号端口上发起一个用于控制的与服务器的 TCP 连接。
    当 FTP 的服务器端从该连接上收到一个文件传输的命令后,在20 号端口发起一个到客户机的数据连接。FTP 在该数据连接上传送一个文件后关闭该连接。
    
    对FTP传输而言,控制连接贯穿了整个用户会话期间但是针对会话中的每一次文件传输都需要建立一个新的数据连接
    FTP 服务器在整个会话期间保留用户的状态信息。
例如服务器必须追踪用户在远程目录树上的当前位置。对每个活跃用户会话的状态进行追踪等。
 

FTP传输文模式

传输模式定义了数据在客户端和服务器之间传输时的格式
在这里插入图片描述

    FTP 命令和回答,都是按照 7 位 ASII 格式在控制连接上传送
常见的命令如下:

USER username 用于向服务器传送用户标识
PASS password 用干向服务器传送用户口令
LIST 用于请求服务器返回远程主机当前目录的所有文件列表
RETR filename 用于从远程主机的当前目录下载文件
STOR filename 用于向远程主机的当前目录上传文件

 
要注意区分用户在 FTP客户端输入的命令和 FTP协议在控制连接上发送的命令之间的区别,尽管它们一般有一一对应关系。每个命令都对应着一个从服务器返回到客户机的回答。回答是一个 3 位数字,后跟一个可选信息

FTP配置

在这里插入图片描述

执行ftp server enable命令使能FTP功能。
执行set default ftp-directory命令设置FTP用户的默认工作目录。

在这里插入图片描述

在配置FTP服务器时,可以使用AAA为每个用户分别配置登录账号和访问权限

aaa命令用来进入AAA视图。
local-user user-name { access-limit max-number | ftp-directory directory | idle-timeout 	minutes [ seconds ] | password cipher password [ opt ] | privilege level level | state {active | block } } *命令用来创建本地用户,并配置本地用户的各项参数。
user-name指定用户名。
local-user huawei service-type ftp命令用来配置本地用户的接入类型为ftp。
ftp-directory指定FTP用户可访问的目录。如果不配置FTP用户可访问的目录,则FTP用户无法登录设备。
access-limit指定用户名可建立的最大连接数目。
idle-timeout指定用户的闲置超时时间。
privilege level指定用户的优先级。

猜你喜欢

转载自blog.csdn.net/weixin_43522969/article/details/106127997