免费注册 查看新帖 |

Chinaunix

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

FTP 的主动模式( active )和被动模式( passive ) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-06-12 21:02 |只看该作者 |倒序浏览
FTP 是一种档传输协议 (File Transfer Protocol),它的连接模式有两种: \r\n主动模式( active )和被动模式( passive )。以下说明 FTP 的连接是怎样创建的: \r\n\r\n在 active 模式下 (一般缺省的模式)﹕ \r\n1. FTP client 打开一个随机选择的TCP port 调用 FTP server 的 port 21请求连接。当顺 \r\n 利完成 Three-Way Handshake 之后,连接就成功创建,但这仅是命令通道的创建 \r\n 。 \r\n2.当两端需要传送数据的时候,client 通过命令通道用一个 port command 告诉 server \r\n ,client可以用另一个TCP port 做数据通道。 \r\n3.然后 server 用 port 20 和刚才 client 所告知的 TCP port 创建数据连接。请注意:连 \r\n 线方向这是从 server 到 client 的,TCP 封包会有一个 SYN flag。 \r\n4.然后 client 会返回一个带 ACK flag的确认封包,并完成另一次的 Three-Way \r\n Handshake 手续。这时候,数据通道才能成功创建。 \r\n5.开始数据传送。 \r\n\r\n在 passive 模式下 \r\n1.FTP client 打开一个随机选择的TCP port 调用 FTP server 的 port 21请求连接,并完 \r\n 成命令通道的创建。 \r\n2.当两端需要传送数据的时候,client 通过命令通道送一个 PASV command 给 \r\n server,要求进入 passive 传输模式。 \r\n3.然后 server 像上述的正常模式之第 2 步骤那样,挑一个TCP port ,并用命令通道 \r\n 告诉 client。 \r\n4.然后 client 用另一个TCP port 调用刚才 server 告知的 TCP port 来创建数据通道。此 \r\n 时封包带 SYN flag。 \r\n5.server 确认后响应一个 ACK 封包。并完成所有交握手续、成功创建数据通道。 \r\n6.开始数据传送。 \r\n\r\n在实际使用上, active mode 用来登录一些开设在主机上及没有安装防火墙的 FTP server,或是开设於 client side 的 FTP server! \r\n\r\nPassive mode (简称 PASV)用来登录一些架设於防火墙保护下而又是开设於主机上的 FTP server! \r\n\r\n如果您觉得太深奥而弄不清楚, 那就先用缺省的 active mode 登录, 失败改用 passive mode 登录就是了。 \r\n\r\n\r\nPS: 并不是每套 FTP 软件都支持 passive mode 登录

论坛徽章:
0
2 [报告]
发表于 2009-06-13 09:51 |只看该作者
学习了,感谢楼主同学!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP