您的位置:首页 > 编程语言 > PHP开发

关于ftp的主动模式和被动模式

2013-11-07 15:19 615 查看
今天遇到了同事询问ftp的模式是主动还是被动模式?做个笔记以便以后方便查看。

默认情况下ftp开启的是主动模式(active)。ftp服务器使用了两个连接,分别是命令通道和数据流通道(ftp-data).因为是tcp数据包,这两个连接需要经过三次的握手。
active mode:
1:首先是建立命令通道的连接
client端随机取1024以上端口与ftp的服务端的port21实现连接,经过3次握手之后,建立连接之后,客户端就可以对ftp服务器执行命令,包括查看,上传和下载等。

2:通知ftp服务器使用的Active且告知连接的端口号。
FTP的port21主要用于在命令的执行,涉及到数据流时就不用这个连接。当客户端需要数据流的时候就会告知服务器端要用 什么方式来连接。如果是主动的话(active),客户端会先随机启用的一个端口(port cc)并且通过命令通道 告知ftp服务器这个2个信息(模式和端口)。
3:FTP服务器主动向客户端连接
FTP服务器通过命令通道了解到客户端的需求。会主动有20端口向客户端的portcc进行连接。
数据通道只有当有数据传输的时候才会建立连接。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息