gpt4 book ai didi

ftp - 为什么我们需要在 ftp 服务器和 ftp 客户端之间建立两个连接

转载 作者:行者123 更新时间:2023-12-04 03:05:27 29 4
gpt4 key购买 nike

根据 FTP 协议(protocol)(​​rfc 959),当 ftp 客户端连接到 ftp 服务器时,应该在 ftp 客户端和 ftp 服务器之间建立控制连接。而当ftp客户端发送{LIST, RETR, STOR, etc}的请求时,首先要建立客户端和服务器之间的数据连接,在数据连接中传输ftp数据。

所以,我的问题是:为什么我们需要第二个连接——数据连接?为什么不是所有的请求、响应和 ftp 数据都在控制连接中传输?

最佳答案

1972 年 4 月 14 日至 15 日,在 MIT 的数据和文件传输研讨会上决定在 FTP 中使用单独的控制和数据连接。

RFC310“另一个看数据和文件传输协议(protocol)”于 4 月 3 日发布,为研讨会做准备。该 RFC 中的一些相关信息:

  • TENEX 系统上使用的 CPYNET 协议(protocol)关闭了控制连接并打开了一个可能不同字节大小的新连接。字节大小的选择对于某些计算机可能很重要,例如:36 位 PDP-10。
  • TELNET 之上的 Ad-hoc 协议(protocol),其中接收进程必须检查每个字节被认为很慢。建议使用单独的连接来避免这种开销。
  • 在数据传输协议(protocol)(相当于 FTP 中的现代数据连接)中, block 模式被认为成本太高,仅提供控制/数据分离和 EOF 指示。同样,建议打开/关闭单独的数据连接作为替代方案(这也将允许选择适当的字节大小)。
  • 对于 FTP 的实用性,效率被认为很重要,并且再次建议使用可能不同字节大小的单独连接,并指出关闭连接可能是由于 EOF 指示或错误导致的模棱两可。
  • 对于在 TIP/IMP(终端接口(interface)消息处理器)中使用,其中一些没有文件系统,并且有设备监听特定的套接字,允许将数据发送到指定的套接字被认为是方便的。

  • RFC327:“数据和文件传输研讨会笔记”,于 4 月 27 日发布,简要总结了研讨会中的讨论和做出的决定。文件传输的速度和效率被认为很重要,字节大小和数据格式转换被认为是影响速度和效率的一些最重要的因素。最后,决定使用单独的控制和数据连接。做出了其他决定:控制连接将是 TELNET 连接,控制连接将使用 ASCII 人类可读的命令和响应,并且 DTP(数据传输协议(protocol))将不再作为一个单独的实体存在,并成为在FTP的数据连接。

    最后,1972 年 7 月 8 日发布的 RFC354:“文件传输协议(protocol)”成为 FTP RFC 的第一个化身,具有单独的控制和数据连接。它使用了 SOCK命令,而不是我们熟悉的 PORTPASV命令。

    附录

    1973 年 8 月 12 日发布的 RFC542“ARPA 网络的文件传输协议(protocol)”中出现了服务器间文件传输(AKA FTP 反弹/FXP),并引入了 PASV。命令。

    最后,1980 年 6 月发布的 RFC765“文件传输协议(protocol)”被修改为使用 TCP 而不是 NCP,更改了 SOCK PORT 的命令命令。

    关于ftp - 为什么我们需要在 ftp 服务器和 ftp 客户端之间建立两个连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18700840/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com