-
FTP只提供
文件传送
的一些基本服务。
减少或者消除在不同OS下处理文件的不兼容性
。 -
FTP也是采用
CS方式
一个FTP服务器进程
可以同时为多个客户进程
提供服务。
FTP的服务器进程
由两大部分组成:一个主进程
(负责接收新的请求);若干个从属进程
(负责处理单个请求) -
主进程的工作步骤
1、打开熟知端口21(ftp服务器的21端口),使客户进程能够连接上。
2、等待客户进程发出连接请求。
3、启动从属进程处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止,从属进程在运行期间可能会创建一些子进程。
4、回到等待状态,继续接受其它客户进程发来的请求。主进程与从属进程的处理是并发进行的。 -
FTP的连接方式
主动模式:服务器端从20端口主动向客户端发起数据连接。
被动模式:服务器端打开指定范围内的某个端口(此时不一定是20端口了)被动地等待客户端发起连接。
若FTP服务器端有防火墙,需要在防火墙上打开21和20端口,使用主动模式
进行数据连接。
判断是主动模式还是被动模式,就看有没有20端口,有20端口就是主动模式
控制连接
:标准端口为21,用于发送FTP命令信息。
数据连接
:标准端口为20,用于上传、下载数据。 -
在进行文件传输时,FTP的客户和服务器之间要建立
两个并行的TCP连接
:控制连接和数据连接。
控制连接
在整个会话期间保持打开,用来把FTP客户所发出的传送请求发送给服务器端的控制进程(控制连接不用来传送文件,数据连接专用于传输文件)。
服务器端收到FTP客户发送来的文件传输请求后就创建数据传送进程
和数据连接
,用于建立数据连接和进行数据传送。数据传送完毕关闭数据传送连接,结束数据传送进程。
FTP的控制信息是带外传送的。
控制连接使用21号端口,数据连接使用20号端口(ftp服务器的20端口,主动模式下)。 -
FTP的局限性
FTP并 >不适用于所有的</font数据传输。
如:
计算机A上运行的应用程序要在计算机B的一个很大的文件末尾添加一行信息。
若使用FTP,则应先将此文件从计算机B传送到计算机A,添加上这一行信息后再由A传送给B。
如此来回传送很花时间,实际这样的传送是不必要的,计算机A并没有使用这个文件的内容。 -
网络文件系统NFS
NFS允许应用进程打开一个远地文件
,并能在该文件的某一个特定位置
上开始读写数据。
如此NFS只需要复制一个大文件中的很小的片段,而不需要复制整个大文件。
上例中:
计算机A中的NFS客户软件,把要添加的数据
和在文件后面写数据的请求
一起发送给计算机B中的NFS服务器
,NFS服务器更新文件后发回应答,在网络上传送的只是 少量的修改数据。
6.2.2 FTP的基本工作原理
最新推荐文章于 2022-10-25 18:14:54 发布