温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

FTP协议如何传输

发布时间:2026-09-15 16:53:41 来源:亿速云 阅读:88 作者:小樊 栏目:软件技术

FTP(File Transfer Protocol,文件传输协议)是一种用于在网络上在客户端和服务器之间传输文件的协议。它基于 TCP,通常同时使用两个连接:控制连接数据连接

下面从“工作方式”和“传输过程”两个方面说明 FTP 是如何传输文件的。


一、FTP 的两种连接

1. 控制连接(Control Connection)

  • 端口:TCP 21
  • 作用:发送命令和接收服务器响应
  • 特点
    • 在会话期间一直保持
    • 不传输文件内容,只传指令(如 USERPASSLISTRETRSTOR

2. 数据连接(Data Connection)

  • 作用:真正传输文件或目录列表
  • 端口不固定,取决于模式(见下文)
  • 每次传文件或列目录时建立,传完可关闭

二、FTP 的两种传输模式

1. 主动模式(PORT / Active Mode)

流程:

  1. 客户端从随机端口连接服务器 21(控制连接)
  2. 客户端通过 PORT 命令告诉服务器:

    “请连我的 IP:端口 X”

  3. 服务器从 20 端口主动连接客户端的端口 X
  4. 数据通过这条连接传输

⚠️ 问题:

  • 客户端若有防火墙/NAT,服务器可能连不进来
  • 现在较少使用

2. 被动模式(PASV / Passive Mode)

流程:

  1. 客户端连接服务器 21(控制连接)
  2. 客户端发送 PASV 命令
  3. 服务器回复一个随机端口 Y
  4. 客户端主动连接服务器的端口 Y
  5. 数据通过这条连接传输

✅ 优点:

  • 更适合防火墙/NAT 环境
  • 现代浏览器、FTP 工具默认多用 PASV

三、文件传输的基本过程(以下载为例)

以下载文件 test.txt 为例:

  1. 客户端连接服务器 21
  2. 登录:
    USER user1
    PASS 123456
    
  3. 进入被动模式:
    PASV
    227 Entering Passive Mode (192,168,1,10,10,20)
    
  4. 请求下载文件:
    RETR test.txt
    
  5. 数据连接建立,文件内容传输
  6. 传输完成,数据连接关闭
  7. 控制连接可保持或退出(QUIT

上传类似,只是用:

STOR test.txt

四、传输方式(ASCII vs 二进制)

FTP 支持两种文件类型:

  • ASCII 模式:适合文本文件(自动转换换行符)
  • 二进制模式(BINARY/I):适合图片、压缩包、程序

常见命令:

TYPE I     # 二进制
TYPE A     # ASCII

⚠️ 传非文本文件一定要用二进制,否则可能损坏


五、简单总结

  • FTP 用 控制连接发命令,数据连接传文件
  • 主动模式被动模式
  • 被动模式更适合现代网络
  • 文件分 文本 / 二进制 传输
  • 明文传输(不安全),建议用 FTPS 或 SFTP

如果你愿意,我也可以:

  • 画一张 FTP 传输示意图
  • 对比 FTP / FTPS / SFTP
  • 给你一个实际操作 FTP 的命令示例
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI