FTP协议详细解析

FTP的工作原理

FTP(File Transfer Protocol)协议,文件传输协议。提供交互式的访问,对传输文件的格式和类型有分类,允许文件具有存取权限。适合异构网络任意计算机的传送。

FTP有以下基本功能
1.提供不同种类主机系统(硬,软件体系等都可以不同)之间的文件传输能力。
2.以用户权限管理的方式提供用户对远程FTP服务器上的文件管理能力。
3.以匿名FTP的方式提供公用文件共享的能力。

FTP采用C/S架构,使用TCP可靠的传输服务。一个FTP服务器进程可同时为多个客户进程提供服务,FTP服务器检查有两大部分组成:一个主进程,负责接收新的请求,另外有若干的从属进程,负责处理单个请求,工作步骤如下:
1.打开熟知端口21(控制端口),使客户进程能够连接上,
2.等待客户进程发链接请求。
3.启动从属进程来处理客户进程发来的请求。主进程与从进程并发执行,从属进程对客户进程的请求处理完毕后即终止。
4.回到等待状态,继续接收其他客户进程的请求。

控制连接和数据连接

FTP在工作时使用两个并行的TCP链接,一个是控制连接(端口号21),一个是数据连接(端口号20)。使用两个不同的端口号可使协议更加简单和更容易实现。
FTP协议详细解析_第1张图片

1.控制连接
服务器在监听21好端口,等待客户连接,建立在这个端口上的了连接称为控制连接,控制连接用来传输控制信息(如连接请求,传送请求等)。并且控制信息都是以7位ASCII格式传送的。控制连接一直保持打开状态。

2.数据连接
服务器端控制进程在接收到传输请求之后创建“数据传送进程”和“数据连接”,数据连接用来连接客户端和服务期端的数据传送进程,数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传送连接”并结束运行。
因为FTP使用了一个分离的控制连接,所以也称FTP的控制信息是带外(out-of-band)传送的。修改文件需要将此文件传送本地进行修改在进行覆盖。
网络文件系统NFS允许进程打开一个远程文件,并在该文件的某个特定位置开始读写数据,这样,NFS可使用用户复制一个大文件中的一个很小的片段,而不是需要复制整个大文件。

你可能感兴趣的:(计算机网络-应用层)