应用层协议-02 文件传送协议-文件传输协议

应用层协议-02 文件传送协议-文件传输协议

FTP

文件传送协议FTP(file transfer protocol),基于TCP协议,提供交互式访问,允许客户指明文件类型和格式,并可以做文件读写权限的控制。

  • 进程

FTP使用客户服务器方式

FTP服务器进程 = 主进程 + 从属进程

主进程:接收新请求

从属进程:处理请求;包括控制进程数据传送进程

  • TCP连接

FTP共用2个TCP连接

端口号21:建立连接请求,主进程使用

端口号20:建立数据传送连接,数据传送进程使用

  • 主进程工作步骤
  1. 打开21端口,等待客户端连接请求
  2. 收到连接请求启动从属进程处理客户连接请求。从属进程处理请求,期间可能创建其他子进程,请求处理完毕后终止。。
  3. 回到等待状态,继续等待客户端连接请求
  • 问题

远程在一个很大的文件末尾加一行信息,效率低;可以使用NFS,打开远地文件,特定位置读写,网络只传送少量数据

TFTP

简单文件传送协议FTP(trivial file transfer protocol),可用于UDP环境,占用内存小,端口为69,工作原理类似等待停止协议。

特点:

  • 每个数据报文大小不超过512字节
  • 数据报文按序编号,从1开始
  • 支持ASCII码或二进制传送
  • 可读写文件
  • 首部简单

推荐阅读