| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
TFTP General Operation, Connection Establishment and Client/Server Communication (Page 2 of 3) "Lock-Step" Client/Server Messaging After the initial exchange, the client and server exchange data and acknowledgment messages in lock-step fashion. Each device sends a message for each message it receives: one device sends data messages and waits for acknowledgments, the other sends acknowledgments and waits for data messages. This form of rigid communication is less efficient than allowing the transmitter to fire away with one data message after another, but is important because it keeps TFTP simple when it comes to an important issue: retransmissions. Like all protocols using the unreliable UDP, TFTP has no assurances that any messages sent will in fact arrive at their destination, so it must use timers to detect lost transmissions and resend them. What is different about TFTP is that both clients and servers perform retransmission. The device that is sending data messages will resend the data message if it doesn't receive an acknowledgment in a reasonable period of time; the device sending the acknowledgments will resend the acknowledgment if it doesn't receive the next data message promptly. The lock-step communication discussed above greatly simplifies this process, since each device only needs to keep track of one outstanding message at a time. It also eliminates the need to deal with complications such as reorganizing blocks received out of order (which protocols like FTP rely on TCP to manage.)
Home - Table Of Contents - Contact Us The TCP/IP Guide (http://www.TCPIPGuide.com) Version 3.0 - Version Date: September 20, 2005 © Copyright 2001-2005 Charles M. Kozierok. All Rights Reserved. Not responsible for any loss resulting from the use of this site. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||