一、题目
以下哪种协议不属于文件传输协议?
A. TFTP
B. HTTP
C. FTP
D. SFTP
二、答案
B
三、解析
TFTP (Trivial File Transfer Protocol):这是一个简单的文件传输协议,用于在网络之间传输文件。
FTP (File Transfer Protocol):这是一个常用的文件传输协议,用于在网络之间传输文件。
SFTP (SSH File Transfer Protocol):这是一个基于SSH的文件传输协议,提供加密的文件传输功能。
而HTTP (Hypertext Transfer Protocol) 是超文本传输协议,主要用于Web浏览和Web服务之间的通信,它不是专门用于文件传输的协议,尽管它也可以用来传输文件(例如,当你下载一个文件时)。因此,不属于文件传输协议的选项是B. HTTP。
四、扩展 — TFTP和FTP
TFTP(Trivial File Transfer Protocol)和FTP(File Transfer Protocol)在文件传输方面存在多个不同点:
- 安全性:FTP支持登录安全,具有适当的身份验证和加密协议,以确保在建立连接期间的安全性。而TFTP是一种开放协议,缺乏安全性,没有到位的加密机制,与TFTP通信时不需要认证,因此在互联网上的开放服务器上传输文件可能会非常危险,且数据包有可能会丢失。
- 传输层协议:FTP使用TCP(Transmission Control Protocol)作为传输层协议,通过单独的TCP连接从控制命令发送数据。这意味着FTP在传输文件时建立了可靠的连接。而TFTP使用UDP(User Datagram Protocol)作为传输层协议,由于UDP是无连接协议,因此TFTP不使用连接。这意味着TFTP在传输文件时不会建立持久的连接,因此可能会丢失数据包。
- 使用端口:FTP使用两个端口:TCP端口21用于监听连接请求,而TCP端口20或更高(通常在1024以上)用于源连接以传输数据。而TFTP仅使用一个端口:端口69,它使用停止和等待模式进行文件传输。
- RFC(Request for Comments)文档:FTP是基于RFC 959文档,该文档提供了FTP的详细规范,并包含其他RFC涵盖的安全措施。而TFTP基于RFC 1350文档,该文档提供了TFTP的规范。
- 执行命令:FTP有许多可以执行的命令,例如get、put、ls、dir、lcd等,并且可以列出目录等。而TFTP只有五个命令可以执行:rrq(检索请求)、wrq(写入请求)、data(数据)、ack(确认)和error(错误)。
总的来说,FTP相对于TFTP来说更加安全、功能更加强大,但也可能更加复杂。TFTP则更加简单,但缺乏一些关键的安全性和功能特性。