TFTP operation is very simple. The client sends a read or write request at the server's UDP port 69. The server accepts the request by sharing data messages in case of the read request and sending acknowledgement in the write request. In either case, the server chooses a UDP port for further dialogue and sends its first response to the client through the selected UDP port.
Each data message has a fixed size of the data block (512 octets) and is individually acknowledged. The last data block containing EOF (End of File) or a data block containing less than 512 octets terminates the session. The figure illustrates the mechanism after a diskless client has received the TFTP server's IP address and the boot-file name from the BOOTP server
If a TFTP message is lost and if there is no expected response, the message is repeated by the sender after a timeout. Thus, if an acknowledgement is lost, the data message is repeated after a timeout.
Suppose the next data message is repeated after a timeout. If the next data message is not taken after acknowledgement, the last acknowledgement is repeated after the timeout.