FTP协议基本概念、服务类型及连接过程

2018年7月2日22:18:02 发表评论 777 views

   假设有两台不同类型的设备,如路由器和主机,此时运行在不同的操作系统下,且使用的文件结构和字符集均不同。若需将一完整的文件(如版本文件)从主机完全复制到路由器上,则可采用FTP协议(FileTransfer Protocol)的传输方式。FTP协议的优势是采用2 个TCP 连接来传输文件,而且不需强制两端是同一个标准。本文主要介绍下FTP协议的基本概念、服务类型及连接过程:

一 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 命令,而由服务器向正被客户端使用的同一个端口号发出主动关闭,来结束控制连接。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: