《计算机网络——自顶向下方法》应用层——文件传输协议:FTP
文件传输协议:FTP 典型的FTP会话中,用户坐在一台本地主机前面,向一台远程主机传输/接收文件,为了使用户能够访问他的远程账户,用户必须提供一个用户标识和口令。 HTTP和FTP都是文件传输协议,并且有很多的共同特点,然而这两个应用层协议也有一些重要的区别,之中最显著的就是 FTP使用了两个并行的TCP连接来传输文件, 一个是 控制连接 ,一个是 数据连接 。控制连接用于在两台主机之间传输控制信息,如用户标识,口令,一些其他命令等;数据连接用于发发送实际文件。因此,我们称FTP的控制信息是 带外 传送的,而HTTP协议是在传输文件的同一个TCP连接中发送请求和响应行首部的,因此,HTTP也可以说是 带内 发送控制信息的。 用户主机与远程主机开始一个FTP会话时,FTP客户端首先在服务器21号端口与服务器端发起一个用于控制的TCP连接。当FTP的服务器端从该连接上接收到一个文件传输命令后(无论是向还是来自远程主机),就发起一个到客户端的TCP数据连接。FTP在该数据连接上准确的传送一个文件,然后关闭该连接,在同一个会话期间,如果用户还需要传输另一个文件,FTP则打开另一个新的数据连接。因此,对于FTP传输而言,控制连接贯穿了整个会话,但是会话期间的每一次新的文件传输都需要建立一个新的数据连接。 FTP服务器必须在整个会话期间保留用户的 状态