Most application protocols work just fine behind NAT. FTP works with
an ugly work-around. The main protocol that breaks down is SIP.
there are a couple of problems with this analysis:
one is that it considers only application protocols that are in
widespread use. there are lots of applications that are used by limited
communities that are nevertheless important. and of course, since NATs
are so pervasive, most of the applications that are in widespread use
have been made to work with NAT (often at tremendous expense, and
another problem is that it only considers current applications. a big
part of the problem with NAT is that it inhibits the
development/deployment of useful new applications.
Ietf mailing list