第15章 TFTP:简单文件传送协议

15.1 引言

TFTP用于引导无盘系统。

  • 使用UDP
  • 简单、短小
  • 适合ROM

15.2 协议

五种报文类型

操作码类型
1RRQ(读请求)
2WRQ(写请求)
3DATA(数据)
4ACK(确认)
5ERROR(差错)

停止等待协议

  • 每次发送一个数据块
  • 等待确认后再发送下一个
  • 超时重传

报文格式

  • 操作码(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,适合系统引导。通过端口变化实现并发。