Re: [p2p-hackers] Re: Both ends behind NAT... (fwd from [email protected])

Eugen Leitl <[email protected]> Thu, 27 Nov 2003 11:16:52 +0100
Newsgroups gmane.comp.audio.speak-freely.general
Message-ID <[email protected]>
----- Forwarded message from coderman <[email protected]> -----

From: coderman <[email protected]>
Date: Wed, 26 Nov 2003 22:46:11 -0800
To: "Peer-to-peer development." <[email protected]>
Subject: Re: [p2p-hackers] Re: Both ends behind NAT...
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3) Gecko/20030313
Reply-To: "Peer-to-peer development." <[email protected]>

Sean R. Lynch wrote:

>Does anyone know of a NAT implementation that does *not* map UDP 
>packets from the same source IP and port to the same source port on 
>the NAT address? In this case, even if the firewall NATs you to a 
>random port (that's the same for source IP/port pair regardless of 
>dest IP/port), you could just send a packet to a host that both peers 
>know about, and it can tell you which port each end is using.

In the case of a protocol i am using for search, a NAT discovery step is 
required
to determine if the peer is behind a loose or symmetric NAT router.  If 
they are
behind a symmetric (!loose) NAT then all connections must be mediated by a
server with a known IP to tell the peers what the other's respective 
port number
is for that logical UDP connection.  This is similar to calling 
connect() on a UDP
socket which associates datagrams with a single endpoint.

If the peer is using a loose NAT, communication is simpler (this seems 
to be the
default in most consumer NAT's, as they support internet gaming 
nicely).  All
peers can simply send datagrams directly to each other.

Nat discovery is performed by sending a request to a known server to obtain
the public NAT endpoint information.  The server then asks a third peer to
send a packet to the same public endpoint.

If the packet is received, the client is behind a loose UDP NAT.  If it 
not (after
some period of retransmission with back-off) then the NAT is assumed to be
symmetric.

Note that this does nothing to solve the issue of firewall's blocking or 
filtering
UDP traffic.  Many corporate firewalls only allow limited outgoing UDP (for
example, DNS)

_______________________________________________
p2p-hackers mailing list
[email protected]
http://zgp.org/mailman/listinfo/p2p-hackers
_______________________________________________
Here is a web page listing P2P Conferences:
http://www.neurogrid.net/twiki/bin/view/Main/PeerToPeerConferences

----- End forwarded message -----
-- Eugen* Leitl <a href="http://leitl.org">leitl</a>
______________________________________________________________
ICBM: 48.07078, 11.61144            http://www.leitl.org
8B29F6BE: 099D 78BA 2FD3 B014 B08A  7779 75B0 2443 8B29 F6BE
http://moleculardevices.org         http://nanomachines.net
signature.asc (application/pgp-signature, 198 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2-rc1-SuSE (GNU/Linux)

iD8DBQE/xc8UdbAkQ4sp9r4RAsn+AJ0bHBXW11hYGJWz4N4aTFQjirNitgCgjPio
3fkvawBIiq2U3HS9hB9wTv0=
=qS+j
-----END PGP SIGNATURE-----