文件传输协议FTP

概述:

       文件传输协议(File Transfer Protocol,FTP)是专门用来传输文件的协议。FTP的主要作用就是让用户能够把文件从远程计算机上拷到本地,或者把本地计算机的文件传送到远程计算机上去。

      早期在Internet上传输文件并不是一件容易的事。Internet是一个非常复杂的计算机系统,有PC、工作站、MAC、服务器、大型机等,而这些计算机可能运行不同的操作系统,有UNIX、DOS、Windows、MacOS等,各种操作系统之间的文件交流需要建立一个同意的文件传输协议,这就是FTP。虽然基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议,这样用户就可以把自己的文件传送给别人,或者从其他用户环境中获得文件。

      FTP也是一个客户机/服务器(C/S)模式的系统。用户通过一个文件FTP协议的客户端进程连接到远程主机上的FTP服务器进程。用户通过客户端进程向服务器进程发出命令,服务器进程执行用户所发处的命令,并将执行的结果返回到客户机。比如说,用户发出一条命令,要求服务器向用户传送某一个文件,服务器会相遇这条命令,将指定文件送至用户的机器上。客户端进程接收到这个文件,将其存放在用户指定的目录中。FTP客户端程序有字符界面和图形界面两种。字符界面所使用的FTP命令比较复杂、繁多;图形界面的FTP 客户端程序在操作上要简洁方便的多。

工作原理

     FTP使用TCP提供可靠传输服务。一个FTP服务器进程可以为多个客户端进程提供服务。FTP的服务器进程有两部分组成:主进程,负责接收新的客户进程请求;若干个丛属进程,负责处理单个客户进程的请求。

     主进程的作用或工作步骤为:监听21端口,等待客户端的进程连接;启动丛属进程处理客户端进程的请求,丛属进程处理完客户端请求后即终止;继续监听21端口,处理其他客户进程的请求。主进程与丛属进程可以并发执行。

    FTP 在进行文件传输时,客户进程和服务器进程之间要建立两个TCP连接;控制连接和数据连接。控制连接在会话过程中一直保持打开状态,发送客户端的传输请求给服务器端的控制进程,但控制连接进程并不传输文件,用于传输文件的是数据连接。

   客户端的控制进程使用本地的某一端口(x)连接到服务器的周知端口21上,建立连接,同时告诉服务器自己的数据传输端口(y)。服务器如果同意建立连接,则使用传输数据的周知端口21与客户端的数据传输进程的端口(y)之间建立连接。使用两个独立连接的好处是使协议实现起来更加容易,数据连接与控制连接不会发生混乱。

上一篇:支持定时任务(上传/下载)的FTP工具


下一篇:idea创建一个springboot项目