TFTP 介绍

1 介绍

1.1 概述

TFTP(Trivial File Transfer Protocol,简单文件传输协议)是一种简单的文件传输协议,用于在客户端和服务器之间传输文件。它基于UDP(User Datagram Protocol)协议,而不是TCP(Transmission Control Protocol),这意味着它不提供TCP所具有的可靠性和错误检查功能。TFTP的设计初衷是简单性,因此它只支持基本的文件传输操作。

1.2 特色

  • 简单性
    TFTP的实现相对简单,易于在各种系统上部署。

  • 基于UDP
    由于TFTP运行在UDP之上,它不支持可靠的数据传输。这意味着它不保证数据包的顺序、完整性或重复数据的检测。

  • 只支持读写操作
    TFTP仅支持文件的读取(下载)和写入(上传)操作,不支持创建目录、删除文件或列出目录内容等其他文件系统操作。

  • 小块传输
    TFTP将文件分割成小块进行传输,每个块都有一个序列号。如果某个块在传输过程中丢失,TFTP会请求重新发送该块。

  • 不认证
    TFTP不提供用户认证机制,这意味着任何能够访问TFTP服务器的客户端都可以读取或写入文件。这使得TFTP在安全性方面存在一定的风险。

  • 端口
    TFTP使用UDP的69端口进行通信。

  • 应用场景
    TFTP常用于嵌入式系统、网络设备和其他资源受限的环境中,用于固件更新、配置文件传输等。它也常用于无盘工作站从服务器加载启动所需的文件。

  • 配置
    TFTP服务器通常需要配置根目录,客户端连接时只能访问该目录下的文件。

2 使用需求

在嵌入式项目开发中,为了适配新外设、调整硬件资源分配或修复驱动问题,需要频繁修改设备树和内核。修改完成后,通常需要重新编译生成镜像,并将其烧录到开发板上进行测试。然而,传统的烧录方式不仅需要连接物理接口,还可能因为镜像体积较大而耗费较长时间,这在开发周期紧张的情况下显得尤为低效。

为了解决这一问题,可以采用基于TFTP(Trivial File Transfer Protocol)的内核和设备树加载方法。这种方式无需将镜像完整烧录到开发板的存储介质,而是通过网络直接加载和运行新内核与设备树。相比传统烧录方式,TFTP 加载显著减少了镜像更新的等待时间,同时允许更灵活地对不同版本的内核或设备树进行快速切换和验证。

参考

1、kimi
2、【技术分享】使用TFTP加载内核设备树
3、百科–TFTP
4、文件传输协议:FTP、TFTP、SFTP有什么区别?
5、Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统
6、Linux系统——通过tftp下载zImage和nfs网络方式挂载根文件系统

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

worthsen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值