Re: [RRG] Nimrod, NIIA, HIP... as a long term solution?

Pekka Nikander <pekka.nikander@nomadiclab.com> Sun, 30 September 2007 07:50 UTC

Envelope-to: rrg-data@psg.com
Delivery-date: Sun, 30 Sep 2007 07:52:10 +0000
Mime-Version: 1.0 (Apple Message framework v752.3)
Content-Type: text/plain; charset="US-ASCII"; delsp="yes"; format="flowed"
Message-Id: <637409F9-4326-4EA9-B944-BD82C8925FFA@nomadiclab.com>
Cc: Routing Research Group list <rrg@psg.com>
Content-Transfer-Encoding: 7bit
From: Pekka Nikander <pekka.nikander@nomadiclab.com>
Subject: Re: [RRG] Nimrod, NIIA, HIP... as a long term solution?
Date: Sun, 30 Sep 2007 10:50:57 +0300
To: Robin Whittle <rw@firstpr.com.au>

Hi Robin,

> My understanding is the HIP involves 128 bit Host Identifiers, to
> which sockets are bound.  From this I understand that HIP can be
> installed in the operating system code of an IPv6 stack, so that
> IPv6-aware applications can use it.
>
> With respect to 99.99?% of desktop and server computers used by
> ordinary folk today, I think your statement doesn't apply, since
> their applications do not support IPv6.

Well, firstly, HIP works also with 32-bit "LSI"s, which look like  
IPv4 addresses.  However, such LSIs are not globally unique, i.e.,  
the same LSI can denote different peers at different hosts.  Hence,  
third party referrals (host A referring the identity of host B,  
identifying it by its LSI, to host C) does not work in the global  
sense.  (But it can be made to work in a closed network, with some  
care.)  There are also HIP implementations that allow using routable  
IPv4 addresses as LSI, more-or-less similar to the HIP opportunistic  
mode [1].

Second, a pretty large fraction of apps running on Windows, Mac OS X,  
and Linux, work already now with IPv6.  There are probably small  
glitches here and there, as the APIs are not used by that many people  
yet, but basically the mechanisms are there.

Third, as I wrote, it is possible to use HIP with proxies.  In that  
way the local network can continue to use IPv4 or convert to IPv6,  
independent of what the ISP network uses.  But, as I wrote, the  
details of that hasn't been specified in the form of an internet  
draft, at least not yet.

Fourth, it must be understood that in the HIP case the "API version"  
of IP and the "stack version" of IP are really distinct.  You can use  
IPv6 APIs and underlying IPv4 internetworking, or vice versa.  You  
can even use one version of the API in one end and the other version  
in the other end.  For example, already 3-4 years ago we demonstrated  
at some IETF meeting how one can use IPv4-look-alike LSIs in a telnet  
client to connect to a telnet server in a way that the telnet server  
sees the connection coming from the corresponding IPv6-look-alike  
HIT.  The same applies to underlying IP: with something like SPINAT  
[2] in between you can send packets over IPv4 in the one end and  
receive them over IPv6 at the other end (and vice versa).

Finally, while the currently only specified way of using HIP is to  
use ESP as a wrapper for the data traffic, there is nothing  
architecturally specific to that.  In principle, you could use IPv4 
+UDP, IPv4+SHIM, or even plain IPv6 wrapping as well, but then you  
wouldn't get the integrity and confidentiality that HIP provides.   
(In theory, you probably could use IPv4 without UDP or SHIM too, but  
that would be pretty brittle due to all those NATs out there; at  
minimum there would be problems with checksums.)

--Pekka Nikander

[1] http://tools.ietf.org/id/draft-henderson-hip-applications-03.txt
[2] Jukka Ylitalo, Patrik Salmela, and Hannes Tschofenig, "SPINAT:  
Integrating IPsec into Overlay Routing", in Proc. of the First  
International Conference on Security and Privacy for Emerging Areas  
in Communication Networks (SecureComm'05), Athens, Greece, September  
5-9, 2005.  http://users.tkk.fi/~jylitalo/publications/SecureComm05- 
Ylitalo-et-al.pdf


--
to unsubscribe send a message to rrg-request@psg.com with the
word 'unsubscribe' in a single line as the message text body.
archive: <http://psg.com/lists/rrg/> & ftp://psg.com/pub/lists/rrg