FTP(File Transfer Protocol)概述
文件传送协议是互联网上使用的最广泛的文件传送。FTP提供交互式的访问,允许客户指明文件的类型和格式,并允许文献具有存取权限
FTP的基本工作原理
网络环境下复制文件的复杂性:
①计算机存储数据的格式不同
②文件的目录结构和文件命名的规定不同
③对于相同的文件存取功能,操作系统使用的命令不同
④访问控制方法不同
FTP特点:
①文件传送协议FTP只提供文件传送的一些基本的服务,它使用TCP可靠的运输服务
②FTP的主要功能是减少或消除在不同操作系统下处理文件的不兼容性
③FTP使用客户服务器方式。一个FTP服务器进程可同时为多个客户进程提供服务。FTP的服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责接受单个请求
主进程的工作步骤:
①打开熟知端口(端口号为21),使客户进程能够连接上
②等待客户进程发出连接请求
③启动从属进程来处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止,但从属进程在运行期间根据需要还可能创建其他一些紫金城
④回到等待状态,继续接受其他客户进程发来的请求,主进程与从属进程的处理是并发的进行
两个不同的端口号:
在进行文件传输时,FTP的客户和服务器之间要建立两个并行的TCP连接:“控制连接”和“数据连接”。控制连接在整个会话期间一直保持打开,FTP客户所发出的传送请求,通过控制连接发送给服务器端的控制进程,但控制连接并不用来传送文件。实际用于传输文件的是数据连接,服务器端的控制进程在接收到FTP客户发送来的文件传输请求后就创建“数据传送进程”和“数据连接”,用来连接客户端和服务器端的数据传送进程。数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传送连接”并结束运行
①当客户进程向服务器进程发出建立连接请求时,要寻找连接服务器进程的熟知端口(21),同时还要告诉服务器进程自己的另一个端口号码,用于建立数据传送连接
②服务器进程用自己传送数据的熟知端口(20)与客户进程所提供的端口号码建立数据传送连接
简单文件传送协议TFTP
①TPTF(Trivial File Transfer Protocol)是一个很小且易于实现的文件传送协议
②TFTP使用客户服务器方式和使用UDP数据报,因此TFTP需要有自己的差错改正措施
③TFTP只支持文件传输而不支持交互
④TFTP没有一个庞大的命令集,没有列目录的功能,也不能对用户进行身份鉴别
TFTP的主要特点:
①每次传送的数据PDU中有512字节的数据,但最后一次可不足512字节
②数据PDU也称为文件块(block),每个块按序编号,从1开始
③支持ASCII码或二进制传送
④可对文件进行读和写
⑤使用很简单的首部