FTP概念


FTP概念


FTP(File Transfer Protocol,文件传输协议)是用于Internet上控制文件的双向传输的标准规范。它也是一个应用程序。属于TCP/IP网络模型中的应用层协议。



一、FTP工作原理:


  1. 客户端向服务器发出连接请求,同时客户端会打开一个大于1024的端口等候服务器连接(例如:1030端口)。
  2. 当FTP服务器在端口21侦听到该请求,则会在客户端1030端口和服务器的21端口之间建立起一个FTP会话连接。
  3. 当客户端有数据传输请求时,FTP客户端在动态打开一个大于1024的端口(例如:1031),与FTP服务器的20端口连接,建立数据传输通道。
  4. 当数据传输完成后,数据传输通道自动断开,两个端口自动关闭。
  5. FTP客户端断开与FTP服务器的连接时,客户端上动态分配的端口自动释放。

注意:FTP的会话通道的建立,以及传输通道的建立,都是建立在tcp三次握手的应答基础上的。



二、FTP服务器默认端口:

控制连接端口:21

  • 主要用于命令传输,包括用户名密码设置传输方式等命令(又称命令通道)。

数据连接端口:20

  • 主要用于文件数据传送(ftp-data)。


三、FTP服务数据通道建立的两种模式。

     1. 主动方式(Active FTP)
     2. 被动方式(Passive FTP)


区别:
主动和被动相对于服务器而言:

  • 数据连接由服务器发起的称为主动方式,
  • 数据连接由客户端发起称为被动连接。


主动连接模式:

       FTP客户端随机开启一个大于1024的端口N(1025),向服务器的21端口发起连接。然后开启一个N+1(1026)端口进行监听,并向服务器发出PORT 1026(指定ip和端口的请求)命令。服务器接收到命令后,会用本地的FTP数据端口20来连接客户端指定的端口1026,进行数据传输。


被动连接模式:

       FTP客户端随机开启一个大于1024的端口N(1025),向服务器的21端口发起连接。同时开启一个N+1(1026)端口,然后向服务器发送PASV(通知服务器开放端口)命令,通知服务器自己属于被动模式。服务器收到命令后,会开放一个大于1024的端口P(1520)进行监听,然后用PORT P(指定ip和端口的请求)命令通知客户端,客户端收到后会通过1026号端口连接服务器的1520号端口,然后两个端口之间进行数据传输。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值