TFTP General Operation, Connection Establishment and Client/Server Communication
(Page 3 of 3)
Difficulties With TFTP's Simplified Messaging Mechanism
One of the most important drawbacks with this technique is that while it simplifies communication, it does so at the cost of performance. Since only one message can be in transit at a time, this limits throughput to a maximum of 512 bytes for exchange of messages between the client and server. In contrast, when using FTP, large amounts of data can be pipelined; there is no need to wait for an acknowledgment for the first piece of data before sending the second.
Another complication is that if a data or acknowledgment message is re-sent and the original was not lost but rather just delayed, two copies will show up. The original TFTP protocol rules stated that upon receipt of a duplicate datagram, the device receiving it may re-send the current datagram again. So, receipt of a duplicate block #2 by a client doing a read would result in the client sending a duplicate acknowledgment for block #2. This would mean two acknowledgments received by the server, which would in turn send block #3 twice. Then there would be two acknowledgments for block #3, and so on.
The end result of this is that once the initial duplication occurs, every message thereafter is sent twice. This has been affectionately dubbed the Sorcerer's Apprentice Bug, after the story used as the basis of the famous scene in Disney's Fantasia where Mickey Mouse cuts animated brooms in half only to find that in turn, each half comes to life. This problem was fixed by changing the rules so that only the device receiving a duplicate data message may send a duplicate acknowledgment. Receipt of a duplicate acknowledgment does not result in sending a duplicate data message. Since only one of the two devices can send duplicates, this fixes the problem.
Its also worth emphasizing that TFTP includes absolutely no security, so there is no login or authentication process. As mentioned in the overview, administrators must use caution in deciding what files to make available via TFTP, and in allowing write access to TFTP servers.
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.