本文摘自PHP中文网,作者齐天大圣,侵删。
ftp不同于一般的服务,该服务需要同时开启两个端口,一个端口是命令通道,另一个端口为数据传输通道。根据数据传输通道建立的不同,分为了主动模式和被动模式。这里,详细的讲述下主动模式的工作流程,以及碰到问题如何去解决。主动模式流程
命令通道的建立。客户端会随机取出一个大于1024的端口与服务器端的21端口建立连接,当连接建立好的以后,客户端就可以通过该连接来对ftp服务执行命令,比如查询文件名、上传文件、下载文件等命令都是通过该通道来执行的。
通知服务端使用主动模式。21端口只是用来进行命令的执行,对于真正需要文件的传输则需要另起端口来操作。客户端会随机再开启一个端口用于文件传输,然后通过21端口告知ftp服务器两个信息,客户端用户文件传输的端口,采用主动模式进行文件传输。
ftp服务器主动向客户端建立连接。当ftp服务端知道了两个信息后,会主动的通过20端口与客户端建立连接。该连接建立好之后,文件就可以通过该连接进行传输。
主动模式可能遇到的问题
相关阅读 >>
更多相关阅读请进入《FTP》频道 >>