分类: LINUX
2015-03-10 13:35:21
一 TFTP与FTP区别介绍
1.FTP 是完整、面向会话、常规用途文件传输协议。而 TFTP 用作 bones bare - 特殊目的文件传输协议。
2.交互使用 FTP。 TFTP 允许仅单向传输的文件。
3.FTP 提供身份验证。而TFTP 不。
4.FTP 使用已知 TCP 端口号:端口20用于传输数据,端口21用于传输控制消息。 TFTP 使用 UDP 端口号 69 进行文件传输活动。
5.因为 TFTP 不支持验证 WindowsNT ,所以FTP 服务器服务不支持 TFTP。
6.FTP 依赖于 TCP,是面向连接并提供可靠的控件。 TFTP 依赖 UDP,需要减少开销, 几乎不提供控件。
一种FTP服务器:WFTPD 下载地址:
TFTP服务器工具:tftpd32 下载地址:
二 TFTP介绍
简单文件传送协议TFTP(Trivial File Transfer Protocol)是一个TCP/IP协议族中一个很小且易于实现的文件传送协议。TFTP也是使用客户服务器方式,但它使用UDP数据报,因此TFTP需要有自己的差错改正措施。
TFTP的主要特点是:
(1)每次传送的数据PDU中有512字节的数据,但最后一次可不足512字节。
(2)数据PDU也称为文件块(block),每个块按序编号,从1开始。
(3)支持ASCII码或二进制传送。
(4)可对文件进行读或写。
(5)使用很简单的首部。
(6)TFTP只支持文件传输而不支持交互;
(7)TFTP没有一个庞大的命令集;
(8)没有列目录的功能;
(9)也不能对用户进行身份鉴别。
TFTP的工作很像停止等待协议。例如:
(1)发送完一个文件块后就等待对方的确认,确认时应指明所确认的块编号。
(2)发完数据后在规定时间内收不到确认就要重发数据PDU。
(3)发送确认PDU的一方若在规定时间内收不到下一个文件块,也要重发确认PDU。这样就可保证文件的传送不致因某一个数据报的丢失而告失败。
TFTP在一开始工作时,客户进程发送一个读请求PDU或写请求PDU给TFTP服务器进程,其熟知端口号码为69。
TFTP服务器进程要选择一个新的端 口和TFTP客户进程进行通信。若文件长度恰好为512字节的整数倍,则在文件传送完毕后,还必须在最后发送一个只含首部而无数据的数据PDU;若文件长 度不是512字节的整数倍,则最后传送数据PDU的数据字段一定不满512字节,这正好可作为文件结束的标志。