Ask for a read size before accepting data
03For 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.
Separate branch immediately after OACK, before confirmation: capacity is only 512. The client chooses the permitted ERROR code 3 abort; it has not sent the accept branch’s ACK 0.
Source for this drawing: RFC 2349 · Read RFC source: Transfer Size · p.3 ↗
New to this? Start hereA quick picture + helpful background
A message needs an address.
Think of a packet as a small addressed envelope. Devices pass it onward; transport protocols decide what delivery promises an application gets.
Helpful first, if these ideas are unfamiliar
These pictures are analogies to help you learn. The linked RFC explains the actual rules.
Terms in this drawing
Related RFCs and changes
“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.
An RRQ requests tsize with the ASCII value 0. The server returns the file size in octets in OACK.
- An RRQ requests tsize with the ASCII value 0. The server returns the file size in octets in OACK.
- The request value 0 means a size query; it does not assert that the remote file is empty.
- If the file is too large for the client to handle, it may abort with ERROR code 3. This is permission, not mandatory rejection.
Capacity values are local fictional examples, not RFC-required storage budgets. Size information does not reserve space, authenticate a server or guarantee later transfer success. ERROR opcode 5 / code 3 is distinct from option-negotiation code 8.
Read the RFC section ↗