11.1.1 文件传输服务器FTP工作原理
FTP采用客户端/服务器模型,客户端和服务器使用TCP建立连接。和大多数的应用层协议不同,FTP协议在两台主机之间建立了两条通信链路,分别是控制连接和数据连接。控制连接主要负责传送在会话过程中用户发送的FTP命令和FTP服务器的响应信息;数据连接主要负责传输数据。
在服务器端,FTP服务器有两个预分配的端口号,分别为20和21。其中,端口20用于发送和接收FTP数据(ASCII码或二进制文件),该数据端口只在传输数据时打开,并在传输结束时关闭。端口21用于发送和接收FTP的控制信息,FTP服务器通过侦听这个端口来判断是否有FTP客户的连接请求,FTP会话建立后,端口21的连接在会话期间将始终保持打开状态。
客户端发出请求时将动态分配端口号,选择范围为1 024~65 535。当一个FTP会话开始后,客户端程序打开一个控制端口(例如1 044端口),该端连接到服务器上的21端口上,接收和发送控制命令;需要传输数据时,客户端再打开第二个端口(如1 045端口),连接到服务器的20端口上。每当开始传输文件时,客户端程序都会打开一个新的数据端口,在文件传输完毕后,再自动释放该端口。
【责任编辑:云霞 TEL:(010)68476606】
点赞 0