This sentence struck out to me:<p>>>The protocol is inefficient and requires adding awkward kludges to firewalls and load-balancing daemons<p>I have always been aware that ftp across firewalls can be wonky, but never stopped to ask why.<p><a href="http://www.ncftp.com/ncftpd/doc/misc/ftp_and_firewalls.html" rel="nofollow">http://www.ncftp.com/ncftpd/doc/misc/ftp_and_firewalls.html</a><p>>>The primary problems that the FTP poses to firewalls, NAT devices, and load-balancing devices (all of which will simply be referred to as Ârouting devices and not "routers" since gateway machines generally aren't problematic) are:<p>>>Additional TCP/IP connections are used for data transfers;<p>>>Data connections may be sent to random port numbers;<p>>>Data connections may originate from the server to the client, as well as originating from the client to the server;<p>>>Data connections destination addresses are negotiated on the fly between the client and server over the channel used for the control connection;<p>>>The control connection is idle while the data transfer takes place on the data connection.<p>What a protocol.