FTP协议

说明

  1. 如果只想关注计算机网络的应用:
    • 熟悉:FTP协议的作用和应用场景
  2. 如果想深入学习计算机网络:
    • 熟悉:本文档的全部内容。

概述

FTP(File Transfer Protocol,文件传输协议)是用于在计算机网络中实现文件传输的标准协议。

  • FTP是基于客户/服务器(C/S模型)的协议,用户端通过客户端访问远程的FTP服务器
  • 进行文件传输的主机的FTP服务端,遵循FTP协议并能向服务器传输文件的主机就是FTP客户端。

FTP提供交互式的访问,允许用户指明文件的类型与格式,并允许文件具有存取权限
FTP屏蔽了各计算机系统的细节,因而适合于异构网络中任意计算机直接传输文件

应用场景

​​
典型应用​​:

  • ​​网站管理​​:开发者通过FTP上传网页文件至服务器(如HTML、CSS)。
  • ​文件共享​​:企业内部或跨团队协作共享文档、代码等资源。
  • 软件分发​​:发布软件更新包或补丁,用户批量下载。
  • ​​远程备份​​:将重要数据备份至异地FTP服务器,防止本地数据丢失。

高级功能​​:

  • ​​负载均衡​​:通过多服务器配置提升并发传输效率。
  • ​动态DNS​​:为动态IP绑定固定域名,便于远程访问。

工作原理

FTP协议工作时使用两条TCP连接,一个是控制连接(服务器端口号21),一个是数据连接(服务器端口号20)。

alt text

匿名访问FTP通常使用anonymous作为用户名。

alt text

控制连接

服务器监听21号端口,等待用户连接,建立在这个端口上的连接称为控制连接,用来传输控制信息(连接请求,传送请求等)。控制连接不用来传输文件。在整个会话期间一直保持连接状态。

数据连接

服务器端的控制进程在收到TCP用户发送过来的文件传输请求后,就创建数据传送进程数据连接。数据传送用来完成文件的传送。