tftp客户端设计小结

本文介绍了TFTP协议的工作原理,包括文件上传和下载过程,超时处理以及扩展选项。在传输过程中,A向B请求读取或写入文件,通过RRQ或WRQ报文开始,使用UDP进行通信,并通过DATA和ACK报文交互确认数据传输。文章还讨论了代码实现时的注意事项,如报文结构的严格遵循和传输结束判断的潜在问题。
摘要由CSDN通过智能技术生成

tftp协议全称是Trivial File Transfer Protocol,小文件传输协议。这个协议是基于UDP的,仅支持文件的上传和下载。


协议规定的发送报文的规则如下:

1.A向B请求读B中的文件,不带扩展选项

A发送一个RRQ请求给B,这个请求是发送到B的69端口。

B同意,直接开始发送DATA报文,数据包会带有一个block number,作为双方识别数据报文的标识。

A收到数据包之后,发送一个ACK报文给B表示自己已经收到数据报文,这个ACK报文也带有一个block number,这个值就是A收到的数据包中包含的block number。

B不停发DATA报文给A,A不停回复ACK报文。由于DATA报文中发送的数据固定大小为512字节,所以当B发送给A一个数据区小于512字节的DATA报文的时候,A就知道传输结束了,A收到这个报文,回复ACK,结束传输。


2.A向B写文件到B中,不带扩展选项

A发送一个WRQ请求给B,同样发送到B的69端口。

B同意,回复ACK报文给A,这个ACK报文的block number是0,用于向A表示准备好接受,可以发送报文了。

A开始发送DATA报文给B,B收到DATA报文回复ACK报文给A,规则同1中,直到结束。


3.超时的情况

A和B在传递报文的过程中,如果超过一定的时间没有收到报文,会判定为超时,如果在1的条件下,B发送的DATA报文(比如blknumber为10)A一直没有收到ÿ

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值