in Ideas, Done · 128 words

With a two-tier FTP setup, the FTP data connection might as well be made to the backend server (either by splicing the TCP connection, or via port forwarding). The idea is to have a single "frontend" machine which does intelligent routing and handles the FTP control connection; the FTP data connections are made to/from the appropriate backend using SNAT (for active FTP) or DNAT (for passive FTP).

This is much harder to do for protocols that don't use multiple connections; you'd have to move the existing connection from one host to another.

DrFTPd does pretty much this, although they don't have a NAT machine in front, so they have to extend the protocol to support passive connections.

TCP Connection Passing allows you to move TCP connections between hosts.