TCP/IP详解卷1 读书笔记:第二十七章 FTP协议

来源:互联网 发布:淘宝售前客服流程视频 编辑:程序博客网 时间:2024/05/16 03:07

 



FTP是数据传输主流协议。

它采用两个信道(两个TCP连接)进行传输。

第一信道,控制信道,无论何时都是由客户端发起连接。采用客户端服务器模式。服务端监听21端口。用于控制命令的传输。

第二信道,数据信道。根据数据信道是否由服务端发起,区分ActiveMode和PassiveMode。

 

TCP的知名端口号(服务端的监听端口),21号,是控制信道的端口。

 

第一信道,主要任务就是认证,控制命令(如查看文件列表等)等。

但数据的传输走的是第二信道,包括文件列表数据的传输。

 


第二信道(数据信道),是由服务器主动发起的,即是ActiveMode。

第二信道(数据通道),是服务器被动接收的,即是PassiveMode。

可见,第二信道,即数据信道(传输数据而非控制命令),是由服务端主动发起的,即是主动模式(ActiveMode);如果不是服务器主动发起的,即是被动模式(PassiveMode)。

 

注意:第一信道中,客户端向FTP服务器发送的数据中,含有PORT(a,b,c,d,e,f)这里a,b,c,d,e,f每上表示0~255的数据,其中a,b,c,d表示客户端的IP,e,f表示客户端的第二通道的端口(计算方法是:e*256+f)。这主要是为了供第二通道中,服务端主动发起向客户端的连接使用的。

 


注意:由于用户名和密码都是明文传输,易于被截获,因此,对于FTP来说,使用匿名登陆反而更安全。

 


客户端第二通道是IP和端口是: 202.100.1.100,4*256+38

第一次传入PORT后,紧跟的是一个控制命令,LIST(查看列表)。

然后,服务端20号端口通过第二信道与客户端的4*256+38端口建立连接,并传送文件列表。

 


当单击文件列表中的一个文件,又出现了一个PORT发给服务端(注意这次的端口号有变化,4*256+42),接着又发了一个RETR命令,后面跟着所请求的文件。

这时,服务端20号端口又通过第二信道与客户端4*256+42端口建立连接,并传送该文件。(注意,与第一次不是同一个端口号,也就是说又建立了一次连接)

注意:这里是又建立了一次连接。

 

 

第二信道,服务器被动接受为被动模式(PassiveMode)。

在第一信道中,客户端发送PASV命令,询问服务端是否支持被动模式。服务端回复227表示支持,这时a,b,c,d,e,f表示服务端第二信道的IP和端口。

 

 

目前一般使用的是PassiveMode模式,客户端连接后,一般会发PASV询问服务器是否支持PassiveMode,如果支持,则使用PassiveMode。

 

0 0
原创粉丝点击