Re: sockets APIs extensions for Host Identity Protocol

Keith Moore <moore@cs.utk.edu> Fri, 11 May 2007 20:59 UTC

Return-path: <discuss-bounces@apps.ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1HmcCb-0005WY-Vd; Fri, 11 May 2007 16:59:01 -0400
Received: from discuss by megatron.ietf.org with local (Exim 4.43) id 1HmcCa-0005WH-Ah for discuss-confirm+ok@megatron.ietf.org; Fri, 11 May 2007 16:59:00 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1HmcCZ-0005W6-Kz for discuss@apps.ietf.org; Fri, 11 May 2007 16:59:00 -0400
Received: from ka.cs.utk.edu ([160.36.56.221]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1HmcCX-0000bw-Bv for discuss@apps.ietf.org; Fri, 11 May 2007 16:58:59 -0400
Received: from localhost (localhost [127.0.0.1]) by ka.cs.utk.edu (Postfix) with ESMTP id 04B4CCB3E0; Fri, 11 May 2007 16:58:56 -0400 (EDT)
X-Virus-Scanned: by amavisd-new with ClamAV and SpamAssasin at cs.utk.edu
Received: from ka.cs.utk.edu ([127.0.0.1]) by localhost (ka.cs.utk.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Xrq6c3GMV7iy; Fri, 11 May 2007 16:58:52 -0400 (EDT)
Received: from lust.indecency.org (user-119b1dm.biz.mindspring.com [66.149.133.182]) by ka.cs.utk.edu (Postfix) with ESMTP id 1277CCB3B7; Fri, 11 May 2007 16:58:52 -0400 (EDT)
Message-ID: <4644D90B.1020304@cs.utk.edu>
Date: Fri, 11 May 2007 16:58:51 -0400
From: Keith Moore <moore@cs.utk.edu>
User-Agent: Thunderbird 2.0.0.0 (Macintosh/20070326)
MIME-Version: 1.0
To: Miika Komu <miika@iki.fi>
Subject: Re: sockets APIs extensions for Host Identity Protocol
References: <Pine.SOL.4.64.0705041801060.14418@kekkonen.cs.hut.fi> <20070507082737.GB21759@nic.fr> <46413DD7.8020702@cs.utk.edu> <20070509121703.GA21070@nic.fr> <4641CA52.70504@cs.utk.edu> <Pine.LNX.4.64.0705091449360.26169@hermes-1.csi.cam.ac.uk> <4641D94C.9070304@cs.utk.edu> <Pine.SOL.4.64.0705102013550.10049@kekkonen.cs.hut.fi> <46436B10.5090706@cs.utk.edu> <Pine.SOL.4.64.0705102159020.10049@kekkonen.cs.hut.fi> <4643F873.3000501@cs.utk.edu> <Pine.SOL.4.64.0705110851440.24038@kekkonen.cs.hut.fi> <46442588.7020405@cs.utk.edu> <Pine.SOL.4.64.0705111344130.16213@kekkonen.cs.hut.fi> <4644779F.60805@cs.utk.edu> <Pine.SOL.4.64.0705111801430.8816@kekkonen.cs.hut.fi> <4644CD76.10900@cs.utk.edu> <Pine.SOL.4.64.0705112330070.8816@kekkonen.cs.hut.fi>
In-Reply-To: <Pine.SOL.4.64.0705112330070.8816@kekkonen.cs.hut.fi>
X-Enigmail-Version: 0.95.0
OpenPGP: id=E1473978
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.1 (/)
X-Scan-Signature: bb8f917bb6b8da28fc948aeffb74aa17
Cc: discuss@apps.ietf.org
X-BeenThere: discuss@apps.ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: general discussion of application-layer protocols <discuss.apps.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/discuss>, <mailto:discuss-request@apps.ietf.org?subject=unsubscribe>
List-Post: <mailto:discuss@apps.ietf.org>
List-Help: <mailto:discuss-request@apps.ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/discuss>, <mailto:discuss-request@apps.ietf.org?subject=subscribe>
Errors-To: discuss-bounces@apps.ietf.org

Miika Komu wrote:
> On Fri, 11 May 2007, Keith Moore wrote:
>
>>> Are you fine with a sockaddr_hit structure that contains only the HIT
>>> and letting a getsockopt() call to figure out the IP addresses in the
>>> context of HIP aware applications? (I think getsockname and
>>> getpeername should return the HITs.)
>>
>> if the sockaddr_hit structure contains only the HIT, how is the kernel
>> going to know where it can contact that peer?  It has to get one or more
>> IP addresses from somewhere.
>
> If the resolver is used, it can send a hint containing this mapping to
> the HIP daemon.

please no.  don't try to hide this stuff from the app in the low-level
API.   the rest of the network keeps trying to force routing decisions
on the apps in the absence of routing information.  ideally, the app
shouldn't have to be doing any routing or address selection or
anything.  but at present, how to cope with this kind of world is an
unsolved problem, and the only place where experimentation can be done
towards learning how to solve that problem is at layer 7.    if you
cripple the API, you prevent that kind of experimentation (at worst) or
(at best) increase the burden on the app writer by forcing him to write
his own kernel extensions.

that, and you still need to expose IP addresses for diagnostic purposes.

what do you gain from trying to hide the IP addresses? 

APIs should not try to be smarter than the apps that use them - they
will always fail at this.  (actually this goes for any kind of middleware)

Keith