324 字
2 分钟
FTP
2024-07-29

File Transfer Protocol#

工作原理#

服务器#

  • 主进程 只有一个 一直打开,准备响应新的请求
  • 从进程 多个 需要时打开,负责处理单个请求 处理完单个请求后关闭

工作步骤#

  1. 打开控制端口(21),使得客户进程能够连接
  2. 等待客户进程发送请求
  3. 启动从属进程处理请求
  4. 主进程继续等待其他请求

控制连接与数据连接#

Pasted image 20240729203231

  • 控制连接
    • 负责传输请求
    • 始终保持连接
    • 服务端端口号为21
  • 数据连接
    • 负责传输数据
    • 需要时打开连接 传输完数据后连接关闭
    • 端口号与传输模式有关
      • 主动方式:20(客户端的端口号自定)
      • 被动方式:服务端与客户端商定(>1024)
  • 主动与被动模式
    • 主动模式服务器主动连接客户端
    • 被动模式服务器被动地被客户端连
  • 有点类似于控制与数据两条总线,不过这两条总线是TCP连接罢了

数据传输方式#

  • 文本方式:ASCII模式,以文本序列传输数据
  • 二进制方式:Binary模式,以二进制序列传输数据