免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4317 | 回复: 1
打印 上一主题 下一主题

[FTP] 阅读ftp RFC 959的疑惑 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-02-22 17:04 |只看该作者 |倒序浏览
RFC 959中提到,用户可以与两个ftp server建立控制连接,然后让两个ftp server之间建立数据连接。
这样就可以实现两个ftp server之间的文件传输,而无须用户主机中转。

请问,用什么命令可以实现这种场景

      In another situation a user might wish to transfer files between
      two hosts, neither of which is a local host. The user sets up
      control connections to the two servers and then arranges for a
      data connection between them.  In this manner, control information
      is passed to the user-PI but data is transferred between the
      server data transfer processes.  Following is a model of this
      server-server interaction.

      
                    Control     ------------   Control
                    ---------->| User-FTP |<-----------
                    |          | User-PI  |           |
                    |          |   "C"    |           |
                    V          ------------           V
            --------------                        --------------
            | Server-FTP |   Data Connection      | Server-FTP |
            |    "A"     |<---------------------->|    "B"     |
            -------------- Port (A)      Port (B) --------------
      

                                 Figure 2

      The protocol requires that the control connections be open while
      data transfer is in progress.  It is the responsibility of the
      user to request the closing of the control connections when
      finished using the FTP service, while it is the server who takes
      the action.  The server may abort data transfer if the control
      connections are closed without command.

论坛徽章:
0
2 [报告]
发表于 2010-03-10 09:38 |只看该作者
本帖最后由 0vk0 于 2010-03-10 09:39 编辑

数据连接是双向的,它不用整个时间都存在。上图中用户PI开始控制连接,控制连



接与Telnet协议很象。在开始阶段,标准FTP命令由用户PI产生并通过控制连接传送到服务



器进程。服务器PI向用户PI返回标准应答。FTP命令指定数据连接参数和文件系统操作。用



户DTP在特定数据端口侦听,服务器开始数据连接并以指定的参数开始数据传输。数据端口



不必在开始FTP命令的机器上,但用户或用户FTP进程必须确定它在指定的数据端口上侦听



。这个数据连接是全双工的。






在另外一种情况下,用户或许希望在两个主机间传送文件,不是两个本地主机。用户在两



台主机间建立控制连接,然后规划数据连接。用这种方式,控制信息由用户PI获得,但是



数据在服务器DTP之间传送。下面就是一个例子:












协议要求数据传输在处理时打开控制连接。在完成FTP服务后由用户中止控制连接,而服务



器具体操作。如果在未接收命令时关闭了控制连接,服务器也会关闭数据传输。FTP和Tel



net很有联系,FTP使用Telnet协议进行控制连接,可有两种方法达到目的:用户PI或服务



器PI可以在自己的过程中实现Telnet协议的功能;第二种方法是利用系统中现有的Telnet



模块。实现上,FTP对Telnet协议的依赖也不多,即使重新实现,代码量也不大。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP