FTP协议及应用介绍

一.FTP协议介绍

      文件传输协议(File Transfer Protocol,FTP)1971 年由 A KBHUSHAN 提出第一个 FTP 的RFC(RFC114)是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层

   FTP允许用户以文件操作的方式(如文件的增、删、改、查、传送等)与另一主机相互通信。

二.传输方式

     FTP的传输有两种方式:ASCII、二进制。

     一般我们传输文本文件都是选择ASCII模式

三.支持模式

     FTP支持两种模式:Standard (PORT方式,主动方式),Passive (PASV,被动方式)。

1.主动模式(Active Mode):

   - 客户端从一个随机端口N选择一个端口,向FTP服务器的标准控制端口(通常是21)发起控制连接。

   - 客户端通过控制连接发送PORT命令,告知服务器将要使用的数据连接的IP地址和端口号(N+1)。

   - 服务器通过N+1端口连接客户端的数据端口。

   - 客户端和服务器之间建立了两个连接:控制连接和数据连接。

   - 主动模式往往会遇到防火墙的问题。因为服务器主动连接客户端的数据端口,而防火墙默认会阻止从外部发起的连接。

2. 被动模式(Passive Mode):

   - 客户端从一个随机端口N选择一个端口,向FTP服务器的标准控制端口(通常是21)发起控制连接。

   - 客户端发送PASV命令告知服务器将使用被动模式进行数据连接。

   - 服务器在一个固定的端口上(通常是1024-65535之间)打开监听,等待客户端连接。

   - 服务器通过控制连接发送包含监听端口的响应给客户端。

   - 客户端基于服务器提供的IP和端口号建立数据连接。

   - 客户端和服务器之间建立了两个连接:控制连接和数据连接。

   - 被动模式通常是解决防火墙问题的一种方法,因为服务器监听连接,而客户端只需对外发起连接。

综上所述,主动模式要求服务器主动连接客户端的数据端口,而被动模式要求服务器在监听端口上等待客户端连接。被动模式通常是在网络中更常见和可靠的模式,尤其在存在防火墙的情况下。

3.应用说明

在FTP中,通常存在两个连接:控制连接和数据连接。控制连接用于发送命令和接收响应,而数据连接用于实际的文件传输。

在主动模式下,FTP服务器在数据连接中主动连接客户端,发送数据。然而,这种模式在防火墙后面可能会遇到问题,因为FTP服务器无法确定应该连接哪个IP地址和端口。

为了解决这个问题,就引入了被动模式。在被动模式下,FTP服务器开启一个额外的端口(称为监听端口)等待客户端来连接。当客户端发送PASV命令时,服务器会告诉客户端使用哪个端口建立数据连接。

PASV命令的格式如下:

```

PASV

```

服务器会发送一个响应,包含一个IP地址和一个端口号,客户端可以使用这些信息建立数据连接。

以下是一个PASV命令的示例响应:

```

227 Entering Passive Mode (192,168,0,1,12,34)

```

在此示例中,服务器告诉客户端使用IP地址192.168.0.1和端口号(12 * 256 + 34 = 3090)建立数据连接。

通过使用PASV命令和被动模式,FTP客户端可以在防火墙后面与FTP服务器建立可靠的数据连接。

4.三款ftp client软件下载

https://download.csdn.net/download/xieliru/88606040?spm=1001.2014.3001.5501

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI+程序员在路上

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值