RFC 2775, Internet Transparency
gives a great overview of most of the network problems inhibiting p2p and shows that prospects are not good.
If the Internet is going to completely evolve into an IPv4 + NAT world, where 90% of machines are using NAT to communicate, and everyone is behind a NAT firewall, network developers will have to code for NAT traversal
as the first feature of their apps, not an add on.
Part of the key for every app that gets written from now on is to ignore gethostaddress() because if your app really thinks it’s IP 192.168.0.1, no other hosts are going to talk to it
The best we can hope for seems to be that a new API will develop that abstracts some of these problems.




