On Wed, 18 Mar 2009, Dean Willis wrote:


On Mar 18, 2009, at 7:17 AM, Henning Schulzrinne wrote:

True peers (not clients) behind NATs won't work unless they initiate the connection anyway, so I'm a bit confused by the model you have in mind.


A signal comes over an existing connection, causing the peer to send UDP out to a node that can report the address/port number in use. This address/port set is exchanged with the other peer via the existing connection, then the peers contact each other directly using the discovered address/ports. Doesn't work for all NATs, but does for many. And we don't have a trick for doing that with TCP yet, although I'm working on one.

A related question is what is the percentage of deployed NATs that
support direct TCP connection establishment using techniques such as Simultaneous-TCP-open?

According to "Characterization and Measurement of TCP Traversal through NATs and Firewalls", (IMC'05), 88% of the deployed NATs support direct TCP connection, and 100% for certain common types of NATs. It will be interesting to see a more recent data on this.

When NATs are cascaded, the direct TCP connections are a problem as hairpinning support is needed. However, this problem also occurs for UDP (Section 4, RFC 5128).

The reliability and congestion control discussion for RELOAD revolves around the notion that direct connection establishment using TCP is orders of magnitude worse than UDP. It is not clear to me if this is the case, unless there is data indicating otherwise. It is also not clear to me whether building a TCP-over-UDP solution will solve the problem of direct connection establishment, as direct 'connection establishment' over UDP does not always work.


-salman
_______________________________________________
P2PSIP mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/p2psip

Reply via email to