Start a read or a write
01The client requests a file using UDP, the User Datagram Protocol. Transfer identifiers (TIDs) are UDP port numbers, not user identities.
The client now sends file data to server 50000. Data blocks begin at 1, in either direction.
Source for this drawing: RFC 1350 · Read RFC section 4 ↗
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.
Port 69 starts a request; chosen ports carry the transfer.
- The client sends a read request (RRQ) or write request (WRQ) to server UDP port 69. Each endpoint chooses a TID for the transfer; these should be randomly chosen.
- For a read, the server replies with DATA block 1. For a write, it replies with ACK block 0, then the client sends DATA block 1. ACK means acknowledgment.
- The server reply uses its chosen TID as source and the client’s TID as destination. Both chosen TIDs are then used for the remainder; UDP is not a TCP connection.
Two separate examples: a download, then an upload. Ports 40000/50000 are fictional choices, not required values. The client is always the request initiator, but the file’s data sender changes with read versus write. A server can deny either request with ERROR.
Read the RFC section ↗