计算机网络(6.3)应用层-文件传送协议(1)

 1、FTP概述 

文件传送协议FTP (File Transfer Protocol) 是互联网上使用得最广泛的文件传送协议。

FTP提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。FTP屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件。

RFC 959 很早就成为了互联网的正式标准。文件共享协议分两大类:一是复制整个文件;二是 联机访问。

网络环境中的一项基本应用就是将文件从一台计算机中复制到另一台可能相距很远的计算机中。初看起来,在两个主机之间传送文件是很简单的事情。 其实这往往非常困难。原因是众多的计算机厂商研制出的文件系统多达数百种,且差别很大。

 FTP 的基本工作原理

网络环境下复制文件的复杂性:

(1) 计算机存储数据的格式不同。

(2) 文件的目录结构和文件命名的规定不同。

(3) 对于相同的文件存取功能,操作系统使用的命令不同。

(4) 访问控制方法不同。

FTP 特点

文件传送协议FTP只提供文件传送的一些基本的服务,它使用TCP可靠的运输服务。 FTP的主要功能是减少或消除在不同操作系统下处理文件的不兼容性。

FTP使用客户服务器方式。一个FTP服务器进程可同时为多个客户进程提供服务。FTP的服务器进程由两大部分组成:一个主进程,负责接受新的请求; 另外有若干个从属进程,负责处理单个请求。

主进程的工作步骤

打开熟知端口(端口号为 21),使客户进程能够连接上。 等待客户进程发出连接请求。 启动从属进程来处理客户进程发来的请求。

从属进程对客户进程的请求处理完毕后即终止,但从属进程在运行期间根据需要可能创建其他一些子进程。 回到等待状态,继续接受其他客户进程发来的请求。 主进程与从属进程的处理是并发地进行。

控制连接在整个会话期间一直保持打开,FTP客户发出的传送请求通过控制连接发送给服务器端的控制进程,但控制连接不用来传送文件。

实际用于传输文件的是“数据连接”。服务器端的控制进程在接收到FTP客户发送来的文件传输请求后就创建“数据传送进程”和“数据连接”,用来连接客户端和服务器端的数据传送进程。数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传送连接”并结束运行。FTP使用一个独立分离的控制连接,故FTP的控制信息是带外传送的。

当客户进程向服务器进程发出建立连接请求时,要寻找连接服务器进程的熟知端口 (21),同时还要告诉服务器进程自己的另一个端口号码,用于建立数据传送连接。

接着,服务器进程用自己传送数据的熟知端口 (20) 与客户进程所提供的端口号码建立数据传送连接。 由于 FTP使用了两个不同的端口号,所以数据连接与控制连接不会发生混乱。

使用两个不同端口号的好处:使协议更加简单和更容易实现。在传输文件时还可以利用控制连接对文件的传输进行控制(例如,客户发送请求终止传输)。

NFS允许应用进程打开一个远地文件,并能在该文件的某一个特定的位置上开始读写数据。 NFS可使用户只复制一个大文件中的一个很小的片段,而不需要复制整个大文件。

例如,计算机A的NFS客户软件,把要添加的数据 和在文件后面写数据的请求一起发送到远地的计算机B的NFS服务器。NFS服务器更新文件后返回应答信息。NFS在网络上传送的只是少量的修改数据。

猜你喜欢

转载自blog.csdn.net/qq_40452317/article/details/90199098