FTP(文件传输协议)是一种用于在网络上进行文件传输的协议。在FTP协议中,使用了两个端口来建立连接:控制端口和数据端口。
控制端口(默认端口21):控制端口用于发送命令和接收响应。当客户端与服务器建立连接时,客户端会向服务器的控制端口发送FTP命令。服务器通过控制端口回应客户端的请求,包括文件列表、文件上传和下载等操作。
数据端口(默认端口20):数据端口用于传输文件和数据。在FTP传输过程中,当客户端需要上传或下载文件时,服务器会通过数据端口与客户端建立数据连接,用于传输文件内容。
区别:
主动模式与被动模式:FTP协议支持主动模式和被动模式两种工作模式。在主动模式中,客户端向服务器的控制端口发送命令,并监听自己的数据端口等待服务器的数据连接。而在被动模式中,客户端向服务器的控制端口发送命令,并请求一个随机的数据端口,然后客户端主动连接服务器的数据端口。这样可以避免防火墙和NAT对FTP传输的干扰。
SFTP(安全文件传输协议):SFTP是一种基于SSH(安全壳层)协议的文件传输协议。与普通的FTP协议不同,SFTP使用22端口进行文件传输,并通过加密的通道进行传输,确保文件的安全性和完整性。SFTP不区分控制端口和数据端口,也不区分主动模式和被动模式。相比普通的FTP协议,SFTP具有更高的安全性和可靠性,但在加密和解密过程中需要消耗更多的资源和时间。