FTP服务器,FTP英文全称File Transfer Protocol是一个互联网的传输协议,FTP服务器是互联网上提供文件存储和访问服务的计算机,支持FTP的互联网服务器就是ftp服务器。想多了解点FTP只是的朋友我们也给大家多多论述系。
一:FTP服务器概述
1:FTP服务器默认使用TCP协议的20、21端口与客户端进行通信。21端口用于建立控制连接,并传输FTP指令。20端口用于建立数据连接,传输数据流。
2:根据FTP服务器在建立数据连接过程中的主、被动关系,FTP数据连接分为主动模式和被动模式。
2.1:主动模式:由服务器主动发起数据连接;
2.2:被动模式:服务器被动等待数据连接;
二:FTP主动模式连接:
FTP的传输使用的是TCP封包协议;不过FTP服务器使用了两个联机,分别是命令信道与数据流通道(ftp-data)。两次联机都需要三次握手;先以FTP预设的主动式联机进行说明:
1:建立命令通道的联机
如图所示,客户端会随机取一个大于1024以上的端口(port AA)来与FTP服务器端的port21达成联机,这个过程为三次握手,达成联机后用户便可以对FTP下达指令,包括查询文件名、下载、上传等指令;
2:通知FTP服务器端使用Actvive且告知连接的端口
FTP服务器的21端口用于命令的下达,但当涉及数据流传输,就需要另外一个联机。当客户在需要数据的情况下,会告知服务器用什么方式联机,如果是主动式(Active),客户端随机启用一个端口(port BB),通过命令通道告知FTP服务器,等待FTP服务器联机;
3:FTP服务器主动向客户端联机:
FTP服务器由命令通道了解客户端的需求后,主动由20端口向客户端的port BB进行三次握手联机。此时FTP与客户端建立两条联机,分别用于命令的下达和数据的传递。
注意:数据流通道是在有数据传输的行为时才会建立的通道,并不是一开始连接到FTP服务器就建立的;
三:FTP被动模式连接:
1:用户与服务器建立命令信道:
与主动联机图第一步相同;
2:客户端发出PASV联机请求:
当有使用数据信道的指令时,客户端可透过命令通道发出PASV的被动联机要求,并等待服务器回应;
3:FTP服务器启动数据端口,通知客户端
如果FTP服务器能够处理被动式联机,此时FTP服务器先启动一个随机或者自定义某一范围的端口监听。然后FTP服务器通过命令通道告知客户端启动的端口(port PASV),等待客户端联机;
4:客户端随机取用大于1024的端口进行联机:
客户端随机取用一个大于1024的端口号来对FTP的port PASV进行三次握手联机。此时FTP与客户端建立两条联机,分别用于命令的下达和数据的传递。
*内容源自网络