Rudedog - You don't have to repeat your network configuration, it hasn't anything to do with the P2P discussion. I think you are mixing up NAT with public IP addresses, since no P2P programmer as ever achieved to make P2P work if NAT firewalls are present in both ends without a traffic coordinating server or a hacked/modified NAT functionality. Napster, Gnutella etc. would love to make P2P work though NAT. But it's simply not possible.
The basic idea in NAT is, that only traffic initiated from the private IP addresses can be let through. Since sockets are defined by two IP addresses and two port numbers, a name server cannot hand over traffic to pure P2P traffic - it has to continue to exchange the traffic.
A good example is FTP - FTP through a NAT router wasn't possible in the early days, because FTP requires the possibility of incoming tcp connections. This has been fixed in most NAT implementations today, by listening to the first outgoing TCP connection, and automatically create a new incoming TCP connection based on the outgoing TCP connection.
But when it comes to Netmeeting etc., this support isn't there. I have tried to make Netmeeting work through many routers, even upgraded firmware to "Netmeeting-compatible" versions, but only parts of Netmeeting functionality came through. The only way I could make Netmeeting work is to make the Netmeeting computer the default recipient of incoming traffic.
Microsoft cannot decide on the software in the standard NAT firewalls delivered by ISPs, but they can deliver services by putting up servers to transmit the traffic. And this is where .net really can improve the lives of ordinary users, and where Microsoft can earn money on delivering value.
Services like BearShare are pretty clever. If a server is behind a NAT firewall, and you want access to it (not having NAT), you can send the server a message via the P2P network, that the protected server should initiate a connection to the new client. Of course, this only works if only one of the computers is behind NAT - if both are behind NAT, no connection is possible.
Lars. |