忘记密码
 新成员注册
查看: 719|回复: 0

[转帖]解析Ftp协议的两种工作模式

[复制链接]
我的人缘0
发起活动
0 次
参加活动
0 次
龙能跃 发表于 2007-7-3 19:29 | 显示全部楼层 |阅读模式

你还没有登录,登录后可以看到更多精彩内容

您需要 登录 才可以下载或查看,没有账号?新成员注册

×
ftp协议的两种工作模式:主动模式active和被动模式passive


ftp 是一种数据传输协议 (file transfer protocol),它的连接模式有两种: 主动模式( active )和被动模式( passive )。


以下说明ftp的连接是怎样建立的:


在 active 模式下 (一般预设的模式):


ftp client 开启一个随机选择的tcp port 呼叫 ftp server 的 port 21请求建立连接。当完成 three-way handshake 之后,连接就成功建立,但这仅是命令通道的建立。

当两端需要传送数据资料的时候,client 透过命令通道用一个 port command 告诉 server ,client可以用另一个tcp port 做数据通道。

然后 server 用 port 20 和刚才client 所告知的 tcp port 建立数据连接。注意:连接方向是从server 到 client 的,tcp 分组中会有一个 syn flag。

然后 client 会返回一个带 ack flag的确认分组,并完成另一次的 three-way handshake 过程。这时候,数据连接才能成功建立。开始数据传送。


在 passive 模式下:


ftp client 开启一个随机选择的tcp port 呼叫 ftp server 的 port 21请求建立连接,完成命令通道的建立。

当两端需要传送数据的时候,client 通过命令通道发送一个 pasv command 给server,要求进入 passive 传输模式。

然后 server 像上述的正常模式之第 2 步骤那样,挑一个tcp port ,并用命令通道告诉 client。

然后 client 用另一个tcp port 呼叫刚才 server 告知的 tcp port 来建立数据通道。此时分组中带有 syn flag。

server 确认后回送一个 ack 分组。并完成所有握手过程、成功建立数据通道。

开始数据传送。 在实际使用中, active mode 用来登入一些架设在主机上没有安装防火墙的 ftp server,或是架设在 client side 的 ftp server! passive mode (简称 pasv)用来登陆一些架设于防火墙保护下而又是开设于主机上的 ftp server!
踩过的脚印
充实自我,展现自我!没有完美的个人,只有优秀的团队!计协我的家,建设靠大家!只有真正的融入了,你才会体会快乐哦~
您需要登录后才可以回帖 登录 | 新成员注册

本版积分规则

QQ|手机版|CA之家 ( 桂ICP备07006672号-6 )

GMT+8, 2025-9-15 17:14

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表