TFTP与FTP的区别

原帖地址:https://blog.csdn.net/qq_22564293/article/details/79641036

一 、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 下载地址:http://www.onlinedown.net/soft/42978.htm
   TFTP服务器工具:tftpd32 下载地址:http://xiazai.zol.com.cn/detail/34/337562.shtml

二 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字节,这正好可作为文件结束的标志。

 

后记:

1.简单介绍一种嵌入式开发板通过TFTP下载文件的方法

首先确保开发板开启了tftp服务,然后创建shell脚本,脚本名字任意,我这里是down.sh,然后执行chmod+x增加该脚本可执行权限:

#!/bin/bash
if [ ! -n "$1" ];then
   echo "please input a filename! such as"'"down.sh xxx.txt"'""
else   
   tftp 192.168.0.99 -gl $1
   echo "download $1 ok!"
fi   

注意:上述脚本中的ip地址需要填写你的主机ip,同时主机开启TFTP服务,并配置好目录,windows环境可以使用tftpd64。

然后开发板上执行:

source down.sh xxx.txt
xxx.txt 可以改为任意文件名

xxx.txt就被下载到开发板了。

 

 

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值