Re: [Geopriv] LIS discovery implementation thoughts

"Thomson, Martin" <Martin.Thomson@andrew.com> Tue, 25 January 2011 00:40 UTC

Return-Path: <Martin.Thomson@andrew.com>
X-Original-To: geopriv@core3.amsl.com
Delivered-To: geopriv@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 7B0AF28C0D6 for <geopriv@core3.amsl.com>; Mon, 24 Jan 2011 16:40:26 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.541
X-Spam-Level:
X-Spam-Status: No, score=-2.541 tagged_above=-999 required=5 tests=[AWL=0.058, BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6L5NBsDekdp1 for <geopriv@core3.amsl.com>; Mon, 24 Jan 2011 16:40:25 -0800 (PST)
Received: from csmailgw2.commscope.com (csmailgw2.commscope.com [198.135.207.242]) by core3.amsl.com (Postfix) with ESMTP id 1F2253A6B3F for <geopriv@ietf.org>; Mon, 24 Jan 2011 16:40:24 -0800 (PST)
Received: from [10.86.20.102] ([10.86.20.102]:59669 "EHLO ACDCE7HC1.commscope.com") by csmailgw2.commscope.com with ESMTP id S519341Ab1AYAnU (ORCPT <rfc822; geopriv@ietf.org>); Mon, 24 Jan 2011 18:43:20 -0600
Received: from SISPE7HC1.commscope.com (10.97.4.12) by ACDCE7HC1.commscope.com (10.86.20.102) with Microsoft SMTP Server (TLS) id 8.3.137.0; Mon, 24 Jan 2011 18:43:19 -0600
Received: from SISPE7MB1.commscope.com ([fe80::9d82:a492:85e3:a293]) by SISPE7HC1.commscope.com ([fe80::8a9:4724:f6bb:3cdf%10]) with mapi; Tue, 25 Jan 2011 08:43:16 +0800
From: "Thomson, Martin" <Martin.Thomson@andrew.com>
To: "Richard L. Barnes" <rbarnes@bbn.com>
Date: Tue, 25 Jan 2011 08:43:14 +0800
Thread-Topic: [Geopriv] LIS discovery implementation thoughts
Thread-Index: Acuzpj5MnGKFdRYfTQ2OzjWrqSQgxwIglmsg
Message-ID: <8B0A9FCBB9832F43971E38010638454F03FEA148D3@SISPE7MB1.commscope.com>
References: <E969A511-E6D1-4437-829D-8A08437431DD@bbn.com> <5125204A-95F5-42E3-9EE5-DEAC5F3273A1@bbn.com>
In-Reply-To: <5125204A-95F5-42E3-9EE5-DEAC5F3273A1@bbn.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-BCN: Meridius 1000 Version 3.4 on csmailgw2.commscope.com
X-BCN-Sender: Martin.Thomson@andrew.com
Cc: "geopriv@ietf.org" <geopriv@ietf.org>
Subject: Re: [Geopriv] LIS discovery implementation thoughts
X-BeenThere: geopriv@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Geographic Location/Privacy <geopriv.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/geopriv>, <mailto:geopriv-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/geopriv>
List-Post: <mailto:geopriv@ietf.org>
List-Help: <mailto:geopriv-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/geopriv>, <mailto:geopriv-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 25 Jan 2011 00:40:26 -0000

What are your thoughts on the server authentication requirements?  Or is that another part of the validation that you aren't performing?

I have to commend the approach you are using.  I always hoped that this is how discovery would be implemented.

--Martin

On 2011-01-14 at 15:47:58, Richard L. Barnes wrote:
> One additional note: Our client is not technically compliant with RFC
> 5986, since it doesn't validate the URI with a HELD request:
> "
>    A Device that discovers a LIS URI MUST attempt to verify that the
> LIS
>    is able to provide location information.  For the HELD protocol, the
>    Device verifies the URI by making a location request to the LIS.
> "
> 
> --Richard
> 
> 
> On Jan 13, 2011, at 11:45 PM, Richard L. Barnes wrote:
> 
> > Hey all,
> >
> > Just wanted to share some impressions of the LIS discovery process,
> including NAT traversal, based on our experience implementing this
> function in the igtk project [1].  (Note: The techniques here haven't
> yet been merged into the sourceforge version.)
> >
> > The basic flow-chart in RFC 5986 is pretty easy to implement,
> although it wasn't really clear what to do for step (3), "Check URI",
> beyond verifying that it's a well-formed URI.  In pseudo-code, we ended
> up with something like this:
> >
> > foreach (NetworkInterface iface) {
> >    DomainIterator it(iface);
> >    while (it.hasNext()) {
> >        string lisUri = performDdds(it.next());
> > 	if (valid(lisUri)) { return lisUri; }
> >    }
> > }
> >
> > Here the DomainIterator supplies the following domains, if they are
> available:
> > 1. Option 213 [NB: Not DHCPv6 capable]
> > 2. Option 15
> >
> > The DomainIterator construct also allows us to easily extend the
> process to support NAT traversal.  If neither of the above options
> works, the DomainIterator looks at the IP address for the interface,
> and if it's private (any of the IANA reserved ranges [2]), then it does
> a STUN request to find a public address.  Using either the interface
> address or the STUN address, it then provides the following domains:
> > 3. The reverse domain
> > 4. The reverse domain with the first label dropped
> > 5. The reverse domain with the first two labels dropped
> >
> > The entire LIS discovery service, which listens for network interface
> changes and emits alerts when it finds a new LIS URI, required 584
> lines of C++.  A very basic STUN client was another 293.
> >
> > So in a nutshell, extending a client from RFC 5986 to draft-thomson-
> geopriv-res-gw-lis-discovery was pretty trivial, just a matter of
> adding a few domains to the search list.  We hope to have the code
> posted to the igtk site soon; if you're interested in an advance copy,
> let me know and I can send you an interim snapshot.
> >
> > --Richard
> >
> >
> > [1] <http://igtk.sourceforge.net/>
> > [2] <http://www.iana.org/assignments/ipv4-address-space/ipv4-address-
> space.xml>
> > _______________________________________________
> > Geopriv mailing list
> > Geopriv@ietf.org
> > https://www.ietf.org/mailman/listinfo/geopriv
> 
> _______________________________________________
> Geopriv mailing list
> Geopriv@ietf.org
> https://www.ietf.org/mailman/listinfo/geopriv