1、什么是Tftp
TFTP(Trivial File Transfer Protocol,简单文件传输协议)是一种基于UDP(User Datagram Protocol)的文件传输协议,它被设计为一个非常简单的文件传输机制,特别适用于那些对复杂性有严格限制的环境,如小型嵌入式系统或者进行网络引导(如DHCP和PXE启动过程中)。相比于FTP(File Transfer Protocol),TFTP不支持复杂的命令集、用户验证、目录浏览等高级功能,仅提供了基本的文件传输能力。
TFTP协议主要特点包括:
1. 简单性:由于其设计简单,实现容易,占用资源少,因此常用于引导加载程序、配置备份等场景。
2. 无连接:基于UDP协议,每次数据传输都不需要建立连接,降低了开销。
3. 小文件传输:主要用于传输小文件,如配置文件或启动映像。
4. 安全性:TFTP协议本身不包含任何安全措施,如加密或认证,所有传输都是明文的。
5. 五种报文类型:包括读请求(RRQ)、写请求(WRQ)、数据报文(DATA)、确认报文(ACK)和错误报文(ERROR)。
2、Tftp服务器环境搭建的目的
在Linux系统移植过程中我们的最终目的是让Linux在产品或者开发板上可以正常的运行工作,为了让Linux能够正常的工作运行,需要我们讲配置好的Linux镜像文件、跟文件系统等下载到开发板内运行,这个下载过程如果使用串口烧录不但不方便还很慢,使用网络的方式烧录既方便又快捷,所以需要搭建一个网络环境保障ubuntu(服务器用于存放Linux镜像等待烧录的文件)和产品或者开发板能够正常网络通信,上个实验开发板已经可以和服务器进行通信了,这里我们在Ubuntu(服务器中安装Tftp用于开发板和Ubuntu之间进行文件传输,这里提到的文件就是(Linux内核、根文件系统和Uboot))
3、Tftp服务器搭建
● 检查是否已经安装Tftp服务器(使用命令 ’dpkg -s tftpd-hpa‘ 查看)
● 显示如下信息表示安装了
● 如果没有安装、确保Ubuntu正常联网,输入(sudo apt-get install tftpd-hpa tftp-hpa)命令进行安装。安装了直接执行下一步
● 修改tftp服务器配置文件(sudo vi /etc/default/tftpd-hpa)(下图为修改之前)
● 修改为如下内容(第四行为Tftp服务器路径(即客户端要下载的文件需要放到该目录下),下面步骤中会创建,第五行一定要是:69,注意有个冒号,第六行为权限),修改完保存退出
● 创建服务器工作目录并设置为最高的权限(这里的目录就是上一步填写的)
sudo mkdir /tftpboot 创建目录
sudo chmod 777 /tftpboot 修改为最高权限
● 重启tftp服务,使配置生效。
● 本地测试tftp服务器是否配置成功
进入到服务器工作目录,并创建文件1.txt(名字随意),可以打开编辑点任意内容。
● 按照下图进行tftp里面文件获取
● 使用vi 1.txt查看文件内容
和我们刚刚在tftp目录下创建的内容一致,证明我们成功通过tftp服务器获取到了,tftp目录下的文件。