Re: [Anima-signaling] Draft message on proposed change to GRASP

Brian E Carpenter <brian.e.carpenter@gmail.com> Tue, 26 April 2016 00:24 UTC

Return-Path: <brian.e.carpenter@gmail.com>
X-Original-To: anima-signaling@ietfa.amsl.com
Delivered-To: anima-signaling@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4D22712D09C for <anima-signaling@ietfa.amsl.com>; Mon, 25 Apr 2016 17:24:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Of-H52s5q2xs for <anima-signaling@ietfa.amsl.com>; Mon, 25 Apr 2016 17:24:11 -0700 (PDT)
Received: from mail-pf0-x232.google.com (mail-pf0-x232.google.com [IPv6:2607:f8b0:400e:c00::232]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 17FAA12B04E for <anima-signaling@ietf.org>; Mon, 25 Apr 2016 17:24:11 -0700 (PDT)
Received: by mail-pf0-x232.google.com with SMTP id 206so23954437pfu.0 for <anima-signaling@ietf.org>; Mon, 25 Apr 2016 17:24:11 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:to:references:from:organization:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding; bh=nK2T4YLVy4J1el/xNuHfUnHwabp/gtylXb7xi+73qIs=; b=vi/u/F+wa6skhQG24NKCbW9C8d7P7FXPq1Cc69D/a2yLJmvi5s+VH15d3S+/YiYuGO 2PjpMtPxWyinRmdlJ66mETK/YlZehVBa29K7e1fp2h67jk2LaDuKTn0Q83vjU8X9BNDj oeADlKeY4kCVKz3onPHUxFa1uVjC6HKV1jY6iWhgMv9c5fFhTh3ptYv6NcAbl7BK9Pcq aJo4XJxUzFBwLOMbXclv7C6bm0H25pZrEtirXSBnZDQXO1SnsHVAwAgIwfFJyeyjk+G3 JvXXOSfFv4swoLV3aFl2PQrqHoidm1kv8BJe81F2XyjR/M3SnJMhJClo/ex6/LjvcthF 4EhA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:references:from:organization :message-id:date:user-agent:mime-version:in-reply-to :content-transfer-encoding; bh=nK2T4YLVy4J1el/xNuHfUnHwabp/gtylXb7xi+73qIs=; b=h2jyAA9SzGzngRdf5s7XZvz4NtsKjTeQcq/Aw9Jc894NQ2NAOZYBnPq1AwE/eh98jX 67YvFxscdAjyHmL4MTouJIEhoeJTAvLSWiK86HlGZHwcOSSxMa7/xLf7Z7T4j48bck2T 9FRWzCWi9p5lnhemHk2DRb7CSse1G3avI9F1cERKu6hF41SygUMWba/MZKcBW2ImH6Bu GzEUWafVKM6gV070Nma2KjpV828AUu89v2v4H3Op/LAy8OptgdO9fN7rgv+SZvnbytti LoHXn5n7e0U30gsdeRG0wbaCYKQ407Ku5I7pelwOludrH8PTwqB5DO0d/xltCmFRJOKi sk5w==
X-Gm-Message-State: AOPr4FWzszyPgVR8CFhaqKyg78BUcvI+9bgnK9lsgFl3VSGvtNDyhJk4g6xGz17s/qjmCg==
X-Received: by 10.98.2.16 with SMTP id 16mr1063928pfc.148.1461630250672; Mon, 25 Apr 2016 17:24:10 -0700 (PDT)
Received: from ?IPv6:2001:df0:0:2006:c0da:ac17:5f6d:8e76? ([2001:df0:0:2006:c0da:ac17:5f6d:8e76]) by smtp.gmail.com with ESMTPSA id s23sm12474975pfj.86.2016.04.25.17.24.07 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 25 Apr 2016 17:24:09 -0700 (PDT)
To: anima-signaling@ietf.org, "Joel M. Halpern" <jmh@joelhalpern.com>
References: <5717EBA6.4020901@gmail.com> <20589.1461328644@obiwan.sandelman.ca> <571A898C.8060003@gmail.com>
From: Brian E Carpenter <brian.e.carpenter@gmail.com>
Organization: University of Auckland
Message-ID: <6117da2c-d374-aba6-8c7c-1be47a814306@gmail.com>
Date: Tue, 26 Apr 2016 12:24:10 +1200
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.0
MIME-Version: 1.0
In-Reply-To: <571A898C.8060003@gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Archived-At: <http://mailarchive.ietf.org/arch/msg/anima-signaling/Zd_Itxx4BapUPCG0q5E08HmCkU0>
Subject: Re: [Anima-signaling] Draft message on proposed change to GRASP
X-BeenThere: anima-signaling@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Mailing list for the signaling design team of the ANIMA WG <anima-signaling.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/anima-signaling>, <mailto:anima-signaling-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/anima-signaling/>
List-Post: <mailto:anima-signaling@ietf.org>
List-Help: <mailto:anima-signaling-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/anima-signaling>, <mailto:anima-signaling-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 26 Apr 2016 00:24:12 -0000

On 23/04/2016 08:29, Brian E Carpenter wrote:
> On 23/04/2016 00:37, Michael Richardson wrote:
>>
>> Brian E Carpenter <brian.e.carpenter@gmail.com> wrote:
>>     > We propose to redefine the locator returned by GRASP discovery accordingly. For
>>     > the IPv6 case that would give:
>>
>>     > locator-option /= [ipv6-locator-option, port-number]
>>     > ipv6-locator-option = bytes .size 16
>>     > port-number = 0..65535
>>
>> This is a good thing.
> 
> OK, I'll wait a day or two for other opinions. Also I think there is
> a case for including the protocol (TCP, UDP or theoretically some other
> transport). If an ASA supports both TCP and UDP it could return two
> discovery responses.

The more I thought about it, the better it seemed to take that approach.
So then I thought about how that would affect message syntax, and this is
the CDDL that I came up with:

locator-option /= [O_IPv4_LOCATOR, ipv4-address, transport-proto, port-number]
ipv4-address = bytes .size 4
locator-option /= [O_IPv6_LOCATOR, ipv6-address, transport-proto, port-number]
ipv6-address = bytes .size 16
locator-option /= [O_FQDN_LOCATOR, text, transport-proto, port-number]
transport-proto = IPPROTO_TCP / IPPROTO_UDP
IPPROTO_TCP = 6
IPPROTO_UDP = 17
port-number = 0..65535
locator-option /= [O_URI_LOCATOR, text]

To allow somewhat regular parsing, I had to include O_IPv4_LOCATOR
and O_IPv6_LOCATOR option codes. I didn't include protocol and port for
URIs because that would be redundant.

Is this implementable? Yes, I changed my code yesterday and it works.
In fact, with this fix, I can run two copies of GRASP in the same
machine and they can negotiate with each other. I ran my ASA Briggs
and ASA Gray modules in one machine and they happily negotiated
for half an hour, until I got bored watching.

(However, I haven't restructured the code to clearly separate the part
that could be in userland from the part that must be in kernel space.)

So, are we good to propose this to the WG?

Regards
    Brian

> 
>> Also consider that the ACP addressing document can provide a multitude
>> (a /96 was suggested) of IPv6 addresses to each node.
>>
>> Is equality of the ipv6-locator-option important anywhere for saying that two
>> conversations involve the same speakers?  or is there another identifier
>> available?
> 
> That's a complicated question. I don't think it affects the current protocol
> design, which discovers and caches addresses per objective anyway. A node could
> contain numerous ASAs and they each could support several Objectives, and if they
> each had a different IP address, GRASP wouldn't care. But it gets back to trust.
> At the moment we're assuming that if a node is trusted, all the ASAs in it are
> equally trusted, so we don't seem to need an additional identifier. If that
> changed, I think we'd have to re-invent the former Device Identity Option in
> GRASP in a slightly different form.
> 
>     Brian
>