Re: [P2PSIP] New draft: HIP BONE

Pekka Nikander <pekka.nikander@nomadiclab.com> Sat, 12 January 2008 13:19 UTC

Return-path: <p2psip-bounces@ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1JDgGZ-0000f1-5P; Sat, 12 Jan 2008 08:19:15 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1JDgGY-0000eu-FO for p2psip@ietf.org; Sat, 12 Jan 2008 08:19:14 -0500
Received: from n2.nomadiclab.com ([2001:14b8:400:101::2]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1JDgGX-0000cm-RI for p2psip@ietf.org; Sat, 12 Jan 2008 08:19:14 -0500
Received: from n2.nomadiclab.com (localhost [127.0.0.1]) by n2.nomadiclab.com (Postfix) with ESMTP id 6F8841EF105; Sat, 12 Jan 2008 15:19:12 +0200 (EET)
Received: from [127.0.0.1] (localhost [IPv6:::1]) by n2.nomadiclab.com (Postfix) with ESMTP id 1BAAB1EF104; Sat, 12 Jan 2008 15:19:12 +0200 (EET)
In-Reply-To: <478790EE.4050301@uni-tuebingen.de>
References: <476BA8D9.4010203@ericsson.com> <20d2bdfb0712210823m2218c4a6mcace60af3d82db57@mail.gmail.com> <476E2B7C.9070601@ericsson.com> <20d2bdfb0801081416t41b9b84atb3a147659771036@mail.gmail.com> <77F357662F8BFA4CA7074B0410171B6D04049B22@XCH-NW-5V1.nw.nos.boeing.com> <086801c8530e$611d8030$6601a8c0@china.huawei.com> <4785566F.7000700@uni-tuebingen.de> <833EB4F9-41EE-41E5-A951-DE2AF0FE9FF8@nomadiclab.com> <478790EE.4050301@uni-tuebingen.de>
Mime-Version: 1.0 (Apple Message framework v753)
Content-Type: text/plain; charset="US-ASCII"; delsp="yes"; format="flowed"
Message-Id: <9D8B3C2C-EB54-4C8F-986A-065E18C1405B@nomadiclab.com>
Content-Transfer-Encoding: 7bit
From: Pekka Nikander <pekka.nikander@nomadiclab.com>
Subject: Re: [P2PSIP] New draft: HIP BONE
Date: Sat, 12 Jan 2008 15:19:10 +0200
To: Ali Fessi <ali.fessi@uni-tuebingen.de>
X-Mailer: Apple Mail (2.753)
X-Virus-Scanned: ClamAV using ClamSMTP
X-Spam-Score: -1.4 (-)
X-Scan-Signature: 00e94c813bef7832af255170dca19e36
Cc: P2PSIP Mailing List <p2psip@ietf.org>
X-BeenThere: p2psip@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Peer-to-Peer SIP working group discussion list <p2psip.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/p2psip>, <mailto:p2psip-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/p2psip>
List-Post: <mailto:p2psip@ietf.org>
List-Help: <mailto:p2psip-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/p2psip>, <mailto:p2psip-request@ietf.org?subject=subscribe>
Errors-To: p2psip-bounces@ietf.org

>> The second, bigger problem is that if both the initiator and the  
>> responder are behind NATs, the you just cannot send the I1 message  
>> directly to the HIP responder.
>> The latter is the reason why we chose to use a Berkeley i3 -like  
>> system in both Hi3 and in HIP BONE, i.e., to forward HIP messages  
>> through the overlay instead of using it in a typical DHT put/get  
>> manner.
>
> i3, Secure-i3 and Hi3 have however an assumption that does not hold  
> here. The overlay consitutes of i3 servers which are considered to  
> be trustworthy, have public addresses and can converge as rendez- 
> vous points for "clients" behind NATs. This assumption does not  
> hold for P2PSIP, since there is not such an overlay.

I understand what you say, but I don't understand the reasons behind,  
i.e., why exactly the assumption does not hold.  Nor do I understand  
how you can make such a system to work in the first place.  In  
particular, I don't understand how you can bootstrap an overlay if  
all nodes are behind NATs.

> So, when the I1 message is forwarded on the overlay, the NAT  
> traversal problem needs to solved for each link on the path between  
> the Initiator and the Responder. And this is not solved by HIP,  
> unless you run HIP for each link on the overlay (including the HIP  
> handshake and ICE for NAT traversal) which would be proably too  
> much overhead.

Indeed we do assume that you typically have an open HIP association  
with each of the nodes in your peer table; see the second paragraph  
in Section 3.2.   Note that once you have an HIP association open, in  
principle it can be open an arbitrary long time.  Hence, the overhead  
is not that big unless you have to keep NAT mappings open or  
whatever, which you would need to do anyway for reachability  
purposes.  Secondly, having an open HIP association allows the nodes  
to inform each others about mobility or multi-homing events and  
maintain connectivity.

> Moreover, the peer protocol needs to cope with NAT traversal for  
> other type of messages for the overlay maintenance, e.g. joins and  
> leaves, anyway. and again this is not solved by HIP, unless you do  
> HIP hop-by-hop.

Well, that depends on how you implement joins and leaves.  Our  
assumption was that you would establish an HIP association as a part  
of a join procedure.  For example, first do an I1-R1 exchange for DoS  
protection, and then piggyback the join messages and ICE candidate  
exchange starting from the I2-R2 exchange (and using UPDATEs if more  
messages are needed.)

> My conslusions from these facts here (please feel free to heavily  
> disagree and let me know if i am wrong) would be that:
>
> - *HIP actually does not solve the NAT traversal problem for  
> P2PSIP*, as it has been assumed.

I would say that it solves it in a particular way, which is not much  
different from using plain ICE.  The message formats are somewhat  
different, and the STUN/TURN servers are unified with the HIP BONE  
routing system (as they would be HIP rendezvous servers in the case  
of HIP).

> - The peer protocol needs to cope with the NAT traversal by itself.

Well, IMHO the peer protocol does not need to cope with NAT, if you  
always establish a HIP association first and let HIP to do it.

Of course, one crucial question is what are the tradeoffs there.  In  
particular, would the added support for security, multi-homing,  
mobility, and the architectural features to pay off for the four  
message exchange and the public key signatures.  OTOH, if you would  
be relying on public key crypto for security anyway, then the  
overhead is minimal, and IMHO the question boils down merely into  
architectural factors.

--Pekka Nikander


_______________________________________________
P2PSIP mailing list
P2PSIP@ietf.org
https://www1.ietf.org/mailman/listinfo/p2psip