一 FTP 协议的基本概念
FTP 协议使用2 个TCP 连接传输文件:
1 控制连接
以客户端/服务器方式建立连接,服务器以被动方式打开用于FTP 的公共端口21,等待客户端来连接;客户端则以主动方式打开公共端口21,发起连接的建立请求。控制连接始终等待客户端和服务器之间的通信,并且将相关命令从客户端传送给服务器,同时将服务器的应答传送给客户端。
2 数据连接
服务器的数据连接端使用端口20。服务器执行主动打开数据连接,通常也执行主动关闭数据连接,但是,当客户端向服务器发送流形式的文件时,则需要客户端关闭数据连接。FTP 中传输方式是流方式,并且文件结尾以关闭数据连接为标志,所以对每一个文件传输或目录列表来说,都要建立一个全新的数据连接。因此,当一个文件在客户端与服务器之间传输时,一个数据连接就建立起来了。
二 FTP协议服务类型
1 FTP 服务器
用户可以运行FTP 客户端程序登录到路由器,访问路由器上的文件。
2 FTP 客户端
用户在PC 上通过终端仿真程序或Telnet 程序建立与路由器的连接后,可以输入FTP 命令建立与远程FTP 服务器的连接并访问远程服务器上的文件。
三 FTP连接过程
1 客户端发起控制连接的主动打开请求;
2 服务器以被动方式打开端口 21,响应就绪。客户端的用于控制连接的临时端口与服务器的21 号端口之间的控制连接建立完毕;
3 客户端发起建立数据连接的命令;
4 客户端为该数据连接选择一个临时端口号,并且使用 PORT 命令通过控制连接把端口号发送给服务器;
5 服务器通过控制连接的接收端口号,向客户端发布一个主动的数据连接的打开。客户端的用于数据连接的临时端口与服务器的20 号端口之间的数据连接建立完毕。
当然连接过程中,客户端也有可能不发出PORT 命令,而由服务器向正被客户端使用的同一个端口号发出主动关闭,来结束控制连接。
- 文章目录
- 繁