1.FTP协议的工作原理 2.控制连接与数据连接
文件传送协议
1 FTP 概述
- 文件传送协议 FTP (File Transfer Protocol) 是因特网上使用得最广泛的文件传送协议。
- FTP 提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。
- FTP 屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件。
文件共享协议的两大类
- 复制整个文件(FTP,TFTP)
- 若要存取一个文件,就必须先获得一个本地的文件副本。
- 如果要修改文件,只能对文件的副本进行修改,然后再将修改后的文件副本传回到原节点
- 联机访问(NFS)
- 联机访问意味着允许多个程序同时对一个文件进行存取。
- 由操作系统提供对远地共享文件的透明存取。
- 透明存取的优点是:将原来用于处理本地文件的应用程序用来处理远地文件时,不需要对该应用程序作明显的改动。
- 属于文件共享协议的有网络文件系统 NFS (Network File system)
2 FTP 的基本工作原理
FTP 使用 TCP 进行连接,主要功能是减少或消除在不同操作系统下处理文件的不兼容性。
2.1 文件传输
FTP 需要两个并行的 TCP 连接来传送一个文件
- 控制连接
- 服务器打开端口号 21 等待客户端的连接,客户端主动建立连接后,使用这个连接将客户端的命令传送给服务器,并传回服务器的应答。
- 数据连接
- 用来传送一个文件数据。
2.2 连接模式
根据数据连接是否是服务器端主动建立,FTP 有主动和被动两种模式:
- 主动模式
- 服务器端主动建立数据连接,其中服务器端的端口号为 20,客户端的端口号随机,但是必须大于 1024,因为 0~1023 是熟知端口号。
- 被动模式
- 客户端主动建立数据连接,其中客户端的端口号由客户端自己指定,服务器端的端口号随机。
主动模式要求客户端开放端口号给服务器端,需要去配置客户端的防火墙。被动模式只需要服务器端开放端口号即可,无需客户端配置防火墙。但是被动模式会导致服务器端的安全性减弱,因为开放了过多的端口号。
3 简单文件传送协议 TFTP
- TFTP 是一个很小且易于实现的文件传送协议。
- TFTP 使用客户服务器方式和使用 UDP 数据报,因此 TFTP 需要有自己的差错改正措施。
- TFTP 只支持文件传输而不支持交互。
- TFTP 没有一个庞大的命令集,没有列目录的功能,也不能对用户进行身份鉴别。
3.1 TFTP 的主要优点
- TFTP 可用于 UDP 环境。例如,当需要将程序或文件同时向许多机器下载时就往往需要使用 TFTP
- TFTP 代码所占的内存较小
3.2 TFTP 的主要特点
- 每次传送的数据报文中有 512 字节的数据,但最后一次可不足 512 字节。
- 数据报文按序编号,从 1 开始。
- 支持 ASCII 码或二进制传送。
- 可对文件进行读或写。
- 使用很简单的首部。