Please Whitelist This Site?

I know everyone hates ads. But please understand that I am providing premium content for free that takes hundreds of hours of time to research and write. I don't want to go to a pay-only model like some sites, but when more and more people block ads, I end up working for free. And I have a family to support, just like you. :)

If you like The TCP/IP Guide, please consider the download version. It's priced very economically and you can read all of it in a convenient format without ads.

If you want to use this site for free, I'd be grateful if you could add the site to the whitelist for Adblock. To do so, just open the Adblock menu and select "Disable on tcpipguide.com". Or go to the Tools menu and select "Adblock Plus Preferences...". Then click "Add Filter..." at the bottom, and add this string: "@@||tcpipguide.com^$document". Then just click OK.

Thanks for your understanding!

Sincerely, Charles Kozierok
Author and Publisher, The TCP/IP Guide


NOTE: Using software to mass-download the site degrades the server and is prohibited.
If you want to read The TCP/IP Guide offline, please consider licensing it. Thank you.

The Book is Here... and Now On Sale!

Read offline with no ads or diagram watermarks!
The TCP/IP Guide

Custom Search







Table Of Contents  The TCP/IP Guide
 9  TCP/IP Application Layer Protocols, Services and Applications (OSI Layers 5, 6 and 7)
      9  TCP/IP Key Applications and Application Protocols
           9  TCP/IP File and Message Transfer Applications and Protocols (FTP, TFTP, Electronic Mail, USENET, HTTP/WWW, Gopher)
                9  TCP/IP General File Transfer Protocols (FTP and TFTP)
                     9  Trivial File Transfer Protocol (TFTP)

Previous Topic/Section
TFTP Overview, History and Standards
Previous Page
Pages in Current Topic/Section
12
3
Next Page
TFTP Detailed Operation and Messaging
Next Topic/Section

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.

It’s 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.


Previous Topic/Section
TFTP Overview, History and Standards
Previous Page
Pages in Current Topic/Section
12
3
Next Page
TFTP Detailed Operation and Messaging
Next Topic/Section

If you find The TCP/IP Guide useful, please consider making a small Paypal donation to help the site, using one of the buttons below. You can also donate a custom amount using the far right button (not less than $1 please, or PayPal gets most/all of your money!) In lieu of a larger donation, you may wish to consider purchasing a download license of The TCP/IP Guide. Thanks for your support!
Donate $2
Donate $5
Donate $10
Donate $20
Donate $30
Donate: $



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.