温馨提示×

温馨提示×

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

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

TCP/IP协议中的FTP协议是如何工作的

发布时间:2025-12-14 23:01:10 来源:亿速云 阅读:91 作者:小樊 栏目:软件技术

FTP在TCP/IP中的工作机制

核心概念与端口

  • FTP(File Transfer Protocol)是应用层协议,采用客户端/服务器模型,在传输层使用TCP实现可靠传输。
  • 使用两条并行的TCP连接:
    • 控制连接:默认端口21/TCP,用于发送命令与接收响应,整个会话期间保持打开。
    • 数据连接:用于实际传输文件/目录列表;在主动模式下由服务器从20/TCP端口主动连回客户端,在被动模式下由客户端连接到服务器通告的高位端口。
  • 控制信息以7位ASCII文本交换,命令与应答分离,便于命令交互与数据传输互不干扰。

会话流程

  1. 客户端向服务器21/TCP发起连接,建立控制连接
  2. 客户端发送USER/PASS等登录命令完成身份认证。
  3. 需要传输时:
    • 主动模式:客户端在控制通道发送PORT命令,告知自己的高位数据端口;服务器用20/TCP主动连接到该端口建立数据连接
    • 被动模式:客户端发送PASV命令;服务器在高位端口监听,并把端口信息返回;客户端主动连接到该端口建立数据连接
  4. 通过数据连接执行STOR/RETR/LIST等操作,完成后数据连接关闭,控制连接保持,可继续下一条命令。
  5. 会话结束,客户端发送QUIT断开控制连接。

主动模式与被动模式对比

维度 主动模式(PORT) 被动模式(PASV)
数据连接发起方 服务器(从20/TCP主动连客户端) 客户端(连服务器通告的高位端口)
典型端口 控制:21/TCP;数据:20/TCP → 客户端>1024 控制:21/TCP;数据:服务器>1024 ↔ 客户端>1024
防火墙/ NAT 适配 客户端在NAT/有防火墙时,入站数据连接常被拦截 服务器需开放高位端口范围;客户端一般无需特殊放行
适用场景 客户端具备公网IP且可放行入站高端口 客户端在NAT/受限防火墙后,或无法开放入站时优先使用

传输类型与常见命令应答

  • 传输类型
    • ASCII模式:面向文本,会对换行等做系统相关转换;适合纯文本。
    • 二进制模式(Image):逐位传输,不做内容转换;适合可执行文件、压缩包、图片、数据库文件等。实践中对非文本一律使用二进制更安全。
  • 常用命令与应答(示例)
    • 命令:USER、PASS、PORT、PASV、RETR、STOR、LIST、TYPE、QUIT
    • 应答:以三位数字码表示,如220服务就绪、331需密码、230登录成功、150打开数据连接、226关闭数据连接。

使用与安全注意

  • 认证与匿名访问
    • 常规需用户名/口令;公共资源可提供匿名FTP(用户名常为anonymous,口令多为邮箱地址),通常仅开放下载目录与只读权限。
  • 防火墙与模式选择
    • 客户端无公网IP或位于NAT/严格防火墙后,优先使用PASV;客户端有公网IP且使用PORT时,需在防火墙放行客户端**>1024的高端端口,以接受服务器20/TCP**的入站数据连接。
  • 安全性
    • 传统FTP的用户名、口令与数据均为明文,易被窃听;在公网/跨域传输敏感数据时,建议使用**FTPS(FTP over SSL/TLS)SFTP(SSH File Transfer Protocol)**替代。
向AI问一下细节

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

AI