Visual RFC.
ALL RFCs / RFC 2349
Read the RFC ↗

RFC 2349 / START HERE

TFTP timing and size, before the details

TFTP means Trivial File Transfer Protocol. RFC2349 defines its timeout and transfer-size options.

A client can propose how long to wait before retransmitting and ask for, or announce, a file’s size in octets. An octet is an eight-bit byte.

The idea in one picture

  1. Propose seconds

  2. Check octet count

  3. Transfer and confirm

A simplified picture of the idea; the chapters explain the actual mechanisms.

Why it exists

Basic TFTP transfers one block at a time. Knowing the retry interval and expected size can help a small receiver plan its wait and capacity. These two options use RFC2347 negotiation; they do not change the file-transfer protocol into a secure or guaranteed service.

A familiar example

A small device asks for a 1024-byte picnic file and checks whether it fits. Even after counting 1024 bytes, it follows the normal final-packet rule. A size report is not a checksum or proof of a trusted peer.

Helpful background

You can start here without reading another RFC. If these ideas are unfamiliar, these short introductions may help.

What you’ll learn next

Begin with chapter one, or choose a topic.

  1. Agree on a retransmission intervalThe timeout option proposes how many seconds to wait before retransmitting. Acceptance echoes the requested value.
  2. Wait, retransmit the same block, then acknowledgeTFTP sends one data block and waits for its acknowledgment. The negotiated interval bounds this wait before retransmission, not the whole application transfer.
  3. Ask for a read size before accepting dataFor a read request, tsize=0 asks the server for the file size in octets. The returned value lets the receiving client check its own capacity.
  4. Announce a write size and let the receiver decideFor a write, the sending client already knows the octet count. It places that size in WRQ, and an accepting server echoes it in OACK.
  5. Distinguish a size query from an empty fileA zero in the read request asks a question. A zero in the server’s OACK reports an empty file; ordinary TFTP still sends a final DATA packet.
  6. Keep size knowledge separate from completionKnowing 1024 octets in advance can help plan capacity or progress. It does not replace TFTP’s short final DATA packet and acknowledgment.
Start with chapter one →

This introduction explains RFC 2349 (1998). Read the original RFC ↗