TFTP 是什么
TFTP 是运行在 UDP 69 上的极简文件传输协议:没有认证、没有目录浏览、没有断点续传,靠固定大小的数据块与逐块确认完成传输。它的存在价值正是「极简」——网络设备刷固件、备份配置、PXE 引导取文件,这些场景要的是实现足够小、能被固件容纳,而不是功能齐全。因此它也几乎只出现在受控的同网段环境里。
基本信息
| 传输层 | UDP,初始端口 69 |
|---|---|
| 认证 | 无 |
| 默认块大小 | 512 字节,可通过选项协商放大 |
| 常用选项 | blksize、timeout、tsize |
| 典型用途 | 设备固件升级、配置备份、PXE 引导 |
| 安全前提 | 仅限内网或受控网段使用 |
报文类型
| 操作码 | 名称 | 用途 |
|---|---|---|
| 1 | RRQ | 读请求,客户端取文件 |
| 2 | WRQ | 写请求,客户端传文件 |
| 3 | DATA | 数据块,默认 512 字节 |
| 4 | ACK | 确认块号 |
| 5 | ERROR | 错误码与说明文本 |
| 6 | OACK | 选项确认,如 blksize 与 timeout |
设备固件升级与备份
设备固件升级与备份
tftp 192.168.1.1 # 连接 TFTP 服务器
tftp> binary # 二进制模式,传固件必须
tftp> put firmware.bin # 上传固件
tftp> get config.cfg # 下载配置
tftp> quit
# 服务端可用 atftpd/tftpd-hpa 指定根目录与允许的网段典型使用场景
- 交换机与路由器固件升级:设备端只内置了 TFTP 客户端
- 网络设备配置备份与恢复:把 running-config 或 startup-config 取回本机
- PXE 网络引导:客户端从引导服务器取引导文件
- 嵌入式设备批量刷写:产线环境用同网段服务器统一分发镜像
- 临时传小文件:不装任何额外服务的极简场景
TFTP 没有认证也没有加密,任何能到达服务端的人都能读取或覆盖文件,务必不要映射到公网,并在服务端限制可访问的网段与目录。刷机过程中断电或断网会造成设备无法启动,升级前应确认供电稳定并准备好恢复手段。