TFTP:简单文件传送协议

1 引言

T F T P ( Trivial File Transfer Protocol)即简单文件传送协议,最初打算用于引导无盘系统(通常是工作站或 X终端)。为了保持简单和短小, T F T P将使用U D P。T F T P的代码(和它所需要的 U D P、 I P和设备驱动程序)都能适合只读存储器。
2 协议
在开始工作时, T F T P的客户与服务器交换信息,客户发送一个读请求或写请求给服务器。在一个无盘系统进行系统引导的正常情况下,第一个请求是读请求( R R Q)。

T F T P报文的头两个字节表示操作码。对于读请求和写请求(W R Q),文件名字段说明客户要读或写的位于服务器上的文件。这个文件字段以 0字节作为结束。模式字段是一个A S C I I码串n e t a s c i i或o c t e t(可大小写任意组合),同样以0字节结束。n e t a s c i i表示数据是以成行的 A S C I I码字符组成,以两个字节—回车字符后跟换行字符(称为 C R / L F)作为行结束符。这两个行结束字符在这种格式和本地主机使用的行定界符之间进行转化。o c t e t则将数据看作8 bit一组的字节流而不作任何解释。

每个数据分组包含一个块编号字段,它以后要在确认分组中使用。以读一个文件作为例子, T F T P客户需要发送一个读请求说明要读的文件名和文件模式 ( m o d e )。如果这个文件能被这个客户读取, T F T P服务器就返回一个块编号为 1的数据分组。 T F T P客户又发送一个块编号为1的A C K。 T F T P服务器随后发送块编号为 2的数据。 T F T P客户发回块编号为 2的A C K。重复这个过程直到这个文件传送完。除了最后一个数据分组可含有不足 5 1 2字节的数据,其他每个数据分组均含有 5 1 2字节的数据。当 T F T P客户收到一个不足 5 1 2字节的数据分组,就知道它收到最后一个数据分组。

这种类型的数据传输称为停止等待协议。它只用在一些简单的协议如 T F T P中。在2 0 . 3节中将看到T C P提供了不同形式的确认,能提供更高的系统吞吐量。 T F T P的优点在于实现的简单而不是高的系统吞吐量。

最后一种 T F T P报文类型是差错报文,它的操作码为 5。它用于服务器不能处理读请求或写请求的情况。在文件传输过程中的读和写差错也会导致传送这种报文,接着停止传输。差错编号字段给出一个数字的差错码,跟着是一个 A S C I I表示的差错报文字段,可能包含额外的操作系统说明的信息
既然T F T P使用不可靠的U D P, T F T P就必须处理分组丢失和分组重复。分组丢失可通过发送方的超时与重传机制解决
4 安全性
注意在T F T P分组(图 1 5 - 1)中并不提供用户名和口令。这是 T F T P的一个特征(即“安全漏洞”)。由于T F T P是设计用于系统引导进程,它不可能提供用户名和口令。

5 小结
T F T P是一个简单的协议,适合于只读存储器,仅用于无盘系统进行系统引导。它只使用几种报文格式,是一种停止等待协议。
为了允许多个客户端同时进行系统引导, T F T P服务器必须提供一定形式的并发。因为U D P在一个客户与一个服务器之间并不提供唯一连接( T C P也一样), T F T P服务器通过为每个客户提供一个新的 U D P端口来提供并发。这允许不同的客户输入数据报,然后由服务器中的U D P模块根据目的端口号进行区分,而不是由服务器本身来进行区分。
T F T P协议没有提供安全特性。大多数执行指望 T F T P服务器的系统管理员来限制客户的访问,只允许它们访问引导所必须的文件。
 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值