> no clear client/server relationship which can cause issues for NATing and filewalls (particularly if running with TLS)
Really, crocks like NAT and stateful firewalls should die. Layers 4 and below are inherently peer-peer -- the net should not treat endpoints differently (i.e. should not privilege some over others). That simply encourages a "client" or "consumer" mentality in both the technical and social senses.
I remember what the internet was like when ADSL/cable models first came along. Everyone was getting pwned none stop. Any RCE could easily be applied by scanning a consumers DSL/cable IP pool and you'd be able to hit a very high %age of them.
NAT totally stopped this.
Are you defending NAT? It sounds like a Vietnam era construction: you had to destroy the Internet in order to save it.
We now have a seemingly entrenched tree-structured (i.e. centralized) network again, the very 1960s architecture we tried so hard to get away from.
I'm not a big fan of FTP and hardly ever use it any more, but it does what it was designed to do and still manages to work pretty well considering how much everything else around it has changed.
I'm not the sort of person who advocates new technology for the sake of new technology. I normally get annoyed at the constant reinvention of wheel however some older tech is just bad and FTP is one of those. It got the job done when it was first written but it made a bunch of mistakes along the way. Mistakes we've learned from and have since written a thousand better transfer protocols. So it's about time people laid FTP to rest.
Thankfully we have SFTP which natively supports chroot (not all FTP servers do), key-based logins (more secure) as well as passwords, compression, and no fuzzy callback ports like in FTP. Also sshfs is pretty handy too.
If one needs "anonymous FTP" then you can also throw HTTPS into the list of better solutions: TLS encryption, compression, smarter handling of MIME types, and again no stupid fuzzy callback ports.
I don't often say things this strongly, but FTP should die.