[p2p-sip] What are we doing - question 1

philip_matthews at magma.ca (Philip Matthews) Fri, 16 June 2006 17:37 UTC

From: "philip_matthews at magma.ca"
Date: Fri, 16 Jun 2006 13:37:26 -0400
Subject: [p2p-sip] What are we doing - question 1
In-Reply-To: <4492E121.7050809@telecomitalia.it>
References: <00d501c6803b$3e694530$640fa8c0@cis.neustar.com> <44761920.7030403@research.panasonic.com> <4476D80E.7070100@telecomitalia.it> <4477341C.5000107@research.panasonic.com> <FCC041E0-5C60-4BF9-96A0-CACF313FD531@cisco.com> <447C2532.7010805@telecomitalia.it> <447C76DE.8070303@research.panasonic.com> <E81316EC-F848-486D-B12F-C21893AED7D5@cisco.com> <447C8368.2070104@sipstation.com> <BEB92AF8-62A6-493A-98B8-44FE02CE412E@cisco.com> <447DBF51.8030803@research.panasonic.com> <B84066B2-C866-4587-AFC3-B756597F7C50@cisco.com> <0B9365F5-99F4-4FF8-86B5-B49798395F69@magma.ca> <4492E121.7050809@telecomitalia.it>
Message-ID: <FF96B500-0A47-4216-B7E8-E34FA98D3C66@magma.ca>

[Removing Cullen from the CC list as he is probably pretty swamped  
right now ...]

On 16-Jun-06, at 12:49 , Enrico Marocco wrote:

> Philip Matthews wrote:
>> 2) Maintaining connections behind NATs does require a bit of work
>> when the
>>      connection runs over UDP, especially if the peer is also  
>> wireless.
>>      However, it is easier when the connection runs
>>      over TCP.  If our finger table connections run over TCP, then
>> the effort of
>>      maintaining 20 of them may be equal to the effort required to
>> maintain
>>      a single voice connection over UDP.
>
> The problem for a node behind a NAT is not maintaining connection with
> its fingers; instead, what is really difficult is being reachable from
> any peer.  Unfortunately chord requires the latter.

Not true. If peers forward requests on to other peer, a individual  
peer only
has to have connections to a very small subset of the entire peer  
population.

In other words, say peer A wants to reach peer Z. Say A does not have  
a direct
connection to Z, but does have a direct connection to (say)  B and C.  
It picks
the one that is closest to Z (say C), and forwards its message (say a  
SIP INVITE)
to C. Peer C then looks at its finger table and discovers that it,  
too, does not have
a direct connection to Z, but has a connection to D which is closer.  
So C forwards
the message to D. And so on.

Eric Cooper and I talked  about this in the Internet Draft that I  
presented
  at the last P2PSIP ad-hoc in Dallas:
    http://www.p2psip.org/drafts/draft-matthews-p2psip-nats-and- 
overlays-00.html
See section 4.4.2.  Note that another problem with vanilla_Chord  
identified in
this document is that it does not exhibit the "Symmetric Interest"  
property
(see section 4.4.3). However, a fairly straight-forward modification  
does.

- Philip