Re: [Anima] I-D Action: draft-eckert-anima-grasp-dnssd-01.txt

Brian E Carpenter <brian.e.carpenter@gmail.com> Mon, 09 July 2018 04:22 UTC

Return-Path: <brian.e.carpenter@gmail.com>
X-Original-To: anima@ietfa.amsl.com
Delivered-To: anima@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BCDF4130F02 for <anima@ietfa.amsl.com>; Sun, 8 Jul 2018 21:22:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 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_NONE=-0.0001, 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 071p7eqo80gQ for <anima@ietfa.amsl.com>; Sun, 8 Jul 2018 21:22:53 -0700 (PDT)
Received: from mail-pf0-x234.google.com (mail-pf0-x234.google.com [IPv6:2607:f8b0:400e:c00::234]) (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 71FAF130E04 for <anima@ietf.org>; Sun, 8 Jul 2018 21:22:53 -0700 (PDT)
Received: by mail-pf0-x234.google.com with SMTP id c21-v6so8071694pfn.8 for <anima@ietf.org>; Sun, 08 Jul 2018 21:22:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:subject:to:references:message-id:date:user-agent:mime-version :in-reply-to:content-language:content-transfer-encoding; bh=GaOIH+yppv1ZNvVib8E0WcMjFio7MoGAlN4F8ixvB98=; b=nTow7yxJ+sDXf6sfzngOVO/BctkT5I9nEXPg/utX1gnkSbPcjlCem0PW6hy6fQ9d98 hFtzmLTo3YMHPSwh0xZN8dXH9qUdKWScnK1m3YAyuDBJa5gqxQu8Kx3gtblxMJ6kZ9gs 02b72HF9bLhSwjPLWx4KUIIluIeVaJm3IukT+FqScd3oFFMnm62+POt6aE1aFlxP+dY/ c4c6gugrGK2wEbsUIlDJWKFMWjPFvkbL8Q0phyHAp5GShisa9786ayhJNBZBaTXjKpfk T+tQTXuYSNkMKfCCj3NFxMxvzkXEeClrrW4MGsUYt5xmtl9gEorDw3LUCrMUDYYTnrSQ Q8nA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:subject:to:references:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=GaOIH+yppv1ZNvVib8E0WcMjFio7MoGAlN4F8ixvB98=; b=DuXDCvS2OH8KZtOCTUsX0qzkD+blr0A3olqAY6tKIpdczr+m99WyeJvdzAMf0NPsGb EY+wvNsnNn8CozNiv80GvGky3ypHWhP6ZoYL1q85MpnA0RQ22mol1GD9fr03dpaWHAOB rXGgEHh2nu+0tZ+XQ1IvlDcL/Cu0z2Q8YVQIuN7+LgMjEvqO5lEn1cKqp6S7xGVcEV59 NIEm/DcML/WA0Yb2vShAF+AIEWalUDXYTiQ0OCY0TO//QmbIPLgitZnGt819HG+CcSl9 miIDO5UdhLpR97zNUVXHtAInENrOkFrYvn74vG+8xlYxB28NCqU9ExCgnfblyWlYmap0 SlDg==
X-Gm-Message-State: APt69E02bXOq62dGtTb1Wkbb/IyjaaVIy96GwAYo8orrz+5G5/Q8dX7O gLsij2R8MeZPa22Qb4F3SRhAIg==
X-Google-Smtp-Source: AAOMgpfPYUb1XObJ2FYwSM7pykn7nfG9sH2uHZvoTFTFXJ6HxxYRqXu7W4PUA4JsRJCni4pcAQXgYg==
X-Received: by 2002:a63:6a45:: with SMTP id f66-v6mr17026550pgc.81.1531110172753; Sun, 08 Jul 2018 21:22:52 -0700 (PDT)
Received: from [192.168.178.38] ([118.148.121.80]) by smtp.gmail.com with ESMTPSA id f2-v6sm10441147pge.39.2018.07.08.21.22.50 for <anima@ietf.org> (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 08 Jul 2018 21:22:51 -0700 (PDT)
From: Brian E Carpenter <brian.e.carpenter@gmail.com>
To: Anima WG <anima@ietf.org>
References: <150939968366.7857.10812413552277328001@ietfa.amsl.com>
Message-ID: <de1f7510-0f85-008e-4d01-e46b738a5e00@gmail.com>
Date: Mon, 09 Jul 2018 16:22:49 +1200
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0
MIME-Version: 1.0
In-Reply-To: <150939968366.7857.10812413552277328001@ietfa.amsl.com>
Content-Type: text/plain; charset="utf-8"
Content-Language: en-US
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/anima/IyXcmW6lADeGpQ4cJvJa7-1KpdU>
Subject: Re: [Anima] I-D Action: draft-eckert-anima-grasp-dnssd-01.txt
X-BeenThere: anima@ietf.org
X-Mailman-Version: 2.1.26
Precedence: list
List-Id: Autonomic Networking Integrated Model and Approach <anima.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/anima>, <mailto:anima-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/anima/>
List-Post: <mailto:anima@ietf.org>
List-Help: <mailto:anima-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/anima>, <mailto:anima-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 09 Jul 2018 04:22:56 -0000

I am repeating below my comments previously made on the -00 version,
since they still apply to -01.

FYI there is some hacked-together Python3 code for the GRASP part
of this at
https://github.com/becarpenter/graspy/blob/master/AskDNSSD2.py
and
https://github.com/becarpenter/graspy/blob/master/GetDNSSD2.py
The code has zero production value but it validates the GRASP
objective syntax in the draft against real-world DNSSD examples.

----

Hi,

I think this draft raises an important topic. In the
early days of ANIMA we had quite some discussion about
embedding discovery in GRASP rather than simply using
DNS-SD. I think we took the right decision, since GRASP
objectives are a very flexible concept, only one 
application being a mapping to a traditional 'service'.
But this left open the question of how to link the ANI
tools to traditional services when necessary. I think
this a necessary next step for ANIMA.

I think the general direction is reasonable, but I don't
understand DNS-SD enough to be sure if it all works. From
a first reading, I have a few questions and comments:

> 2.2.  Objective Value Reuseable Elements Structure
> 
>    Because service discovery, as explained in the prior section, needs
>    to utilize different objectives, it requires cross-objective
>    standardized encoding of the elements of services.  GRASP did not
>    define standardized message elements for the message body (called
>    "objective-value") of GRASP messages.

I'd like to insert "intentionally" before "did not define".
This was left open so that we can have effectively infinite
extensibility of the syntax and semantics of GRASP. Therefore,
considering the next sentence:

>   Therefore, this document introduces such a feature.

I'd like it to be clear that it is intended for SRV.* and NAME.*
objectives. (If people want to use the "@rfcXXX" construct
elsewhere, that's fine, but we need to keep all the existing
extensibility.)

Also, should we add a convention that private use objectives
may use the same feature, e.g. 411:SRV.example ? 

Some details and nits:

s/<mayor>/<major>/

> 2.3.3.  Name Element
> 
>    The NAME,<name> elements is meant to provide basic name resolution

s/NAME,<name>/NAME.<name>/

>   ipv6-address-option = [O_IPv4_ADDRESS, ipv6-address]
>   ipv4-address-option = [O_IPv6_ADDRESS, ipv6-address]

1) Check your 6's and 4's ;-)

2) It's confusing that these are different from the basic
GRASP options:

[O_IPv6_LOCATOR, ipv6-address, transport-proto, port-number]
[O_IPv4_LOCATOR, ipv4-address, transport-proto, port-number]

It costs almost nothing in CBOR to include null values
for the protocol and port. If you use the same option format
as basic GRASP, it will remove confusion and very likely
save code.

> 5.  IANA Considerations
> 
>    This document requests a new "GRASP Objective Value Standard
>    Elements" table in the GRASP Parameter Registrar.  The values in this
>    table are names and a unique numerical value assigned to each name.
>    Future values MUST be assigned using the RFC Required policy

Do you really want "RFC Required"? We chose "Specification
Required" for GRASP objectives in general, which still
requires Expert Review but with less imposed bureaucracy.

Regards
   Brian