第15章 TFTP:简单文件传送协议
15.1 引言
TFTP用于引导无盘系统。
- 使用UDP
- 简单、短小
- 适合ROM
15.2 协议
五种报文类型
| 操作码 | 类型 |
|---|---|
| 1 | RRQ(读请求) |
| 2 | WRQ(写请求) |
| 3 | DATA(数据) |
| 4 | ACK(确认) |
| 5 | ERROR(差错) |
停止等待协议
- 每次发送一个数据块
- 等待确认后再发送下一个
- 超时重传
报文格式
- 操作码(2字节)
- 文件名(RRQ/WRQ)
- 模式(netascii/octet)
- 块编号(DATA/ACK)
- 数据(DATA,最多512字节)
15.3 一个例子
1 0.0 client > server: 19 RRQ “test1.c” 2 0.287 server > client: udp 516 3 0.291 client > server: udp 4 4 0.299 server > client: udp 454 5 0.312 client > server: udp 4
text
- 服务器使用临时端口(不是69)
- 第1个分组到端口69,之后使用新端口
15.4 安全性
- 不提供用户名/口令
- 限制访问目录(/tftpboot)
- 使用非特权用户ID
15.5 小结
TFTP是简单的停止等待协议,使用UDP,适合系统引导。通过端口变化实现并发。