FTP协议

FTP(文件传输协议)是一种多通道协议,意为FTP协议有多个端口与外界进行通信,工作模式有“FTP服务器和FTP客户端”。默认使用TCP端口的20和21端口,20端口用于数据传输,21端口用于控制连接。

主要作用是为了用户上传和下载文件

工作方式

1.控制连接

客户端与FTP服务器建立文件上传下载连接时,它首先向服务器的TCP 21端口发起一个建立连接的请求,FTP服务器接收来自客户端的请求,完成连接的建立

2.数据连接

客户端与ftp服务器建立连接之后,就可以进行数据传输了,传输文件的过程教书ftp数据连接

ftp数据连接又分为两种传输模式:主动传输和被动传输,主动和被动都是以服务器进行参照的。

  • 主动传输:

客户端通过任意端口N(N>1024)向服务器的ftp端口(默认是21)发送连接请求,服务器接收连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器客户端生成的端口是N+1。于是服务器从20端口向客户端N+1端口发送连接请求,建立一条数据传输链路路,用来文件的上传和下载

在这里要说明一下为什么客户端端口是N+1,因为客户端在与服务器建立控制连接服务时,与服务器的21端口连接的是N端口,N端口被占用,所以用N+1端口与服务器的20端口建立数据连接服务

  • 被动传输

客户端通过任意端口N(N>1024)向服务器的ftp端口(默认是21)发送连接请求并监听N+1端口。服务器接收客户端请求,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端服务器随机生成的端口P(P>1024).于是客户端通过N+1端口向服务器的P端口发送连接请求,建立一条数据链路用来传送数据。

 FTP传输常用工具

FTP客户端

用于用户访问ftp服务

命令行工具        

www浏览器

专用图形工具(用户界面)

        FlashFXP

       FileZilla

        CuteFTP 

        其它

资源管理器

FTP服务端

用来发布ftp服务

Windows  server  2016  IIS

Serv—U   

FileZilla Server


版权声明:本文为weixin_45293608原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。