Hi
It has been noted several times that one big problem of Gnutella is the large number of nodes that cannot accept direct incoming connects because they're behind some IP-masquerading router.
I do have a network with an IP-masquerading router here, and I must say, the inconvenient thing for me wasn't configuring the router for port-forwarding - that was done quite quickly and just works. The inconvenient thing is that, every time I'm going online, I have to find out my the IP under which I'm reachable from outside and copy'n'paste it into my Gnutella client's config file.
I have spend some thought about how this could be automated:
If my node connects to another node in the internet, then this other node does know my external IP address - so why can't it just tell me it?
With 0.6 handshaking, this should be very easy to implement - just add anthother http-tag like "YourIPAddress: 12.34.56.78"
Guido
Under
http://rfc-gnutella.sourceforge.net/ you'll find a link (among others ) to a document describing the 0.6 handshaking protocol