FTP服务联机过程

FTP的主要工作就是让 Client 与 Server 端可以进行文件的传输。是采用可靠性较高的TCP连接来进行联机的。

主动模式下的FTP联机过程:

1.Client 向Server端发起联机请求:Client 随机选取一个大于1024的端口来主动联机到FTP主机的21端口,这个联机带有SYN标志。

2.Sever 端接收后建立等待联机资源来响应 Client 端请求,并向 Client 发送带有SYNACK的封包

3.Client 端接收该封包后会再次发送一个确认封包给 Server。指令通道建立。这个指令通道(21端口)仅能进行FTP指令传输,文件的传输需要另外建立数据信道。

4.Client 启用另一个高于1024的端口,然后通过指令信道向 Server 端发送数据传输请求,并告知 Server 所启用的数据端口号。

5.Server 21端口在收到Client端发送的数据请求后,会启用20端口作为数据端口,Server 端会通过20端口向client端发起联机请求。该请求带有SYN标志的TCP封包。

6.Client端响应TCP包,并继续完成剩余的握手工作。此时数据信道正式建立。

       

                      

提示:

(1)数据信道只有在指令信道建立后有数据请求时才建立

(2)命令通道的ftp预设为21端口

(3)数据传输通道的端口预设为20端口

(4)命令通道的TCP连接由 Client 端主动发起,数据通道的TCP端由 Server 端主动发起连接。

当 Client 在NAT或者防火墙后端时,命令通道的建立可以按照主动模式的方式来建立连接,但是数据通道的建立无法让 Server 端发起,这时候只能让client端来发起建立数据通道。

被动模式下的FTP联机模式:

1.在指令信道建立以后(与主动模式下一致),Client 发送数据请求命令,并通知 Server 采用Passive方式来进行数据传输。

2.Server端挑选>1024的端口来等到联机,并通过命令通道通知 Client 正在等待 Client 端的联机。

3.Client 端向 Server 端发送带有SYN标志的封包,并继续完成三次握手操作。数据通道建立。

                    

 

 

 

猜你喜欢

转载自blog.csdn.net/liuweiweiqdlg/article/details/81295501