Re: [alto] I-D Action: draft-ietf-alto-cdni-request-routing-alto-03.txt

Jensen Zhang <jingxuan.n.zhang@gmail.com> Mon, 09 July 2018 03:47 UTC

Return-Path: <jingxuan.n.zhang@gmail.com>
X-Original-To: alto@ietfa.amsl.com
Delivered-To: alto@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 14353130E0E; Sun, 8 Jul 2018 20:47:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 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, HTML_MESSAGE=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 rPHicg5AG0vF; Sun, 8 Jul 2018 20:47:44 -0700 (PDT)
Received: from mail-yw0-x241.google.com (mail-yw0-x241.google.com [IPv6:2607:f8b0:4002:c05::241]) (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 33B51130DC6; Sun, 8 Jul 2018 20:47:44 -0700 (PDT)
Received: by mail-yw0-x241.google.com with SMTP id c135-v6so6089177ywa.0; Sun, 08 Jul 2018 20:47:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=5+FuuhNyel7DyV6ZYJfYvKQELI6WtqbxXFDBQ+fBo3o=; b=oU9UHURhhxuhagTb/SVetNY/P329i5avEF36JwJBhCLUIsWA8Qg7E3F6HO3EVSAJeN Hn86M+SJIbhIlAS92et400DI0b6cpHrIjNPyw+Q0mHNVfd0oiTRwkcRLnbp1hvorgMX2 iS5QJru7XjjDINhRf/t6ksaV35EdHBOiYzcmws/f9cUtyuM6b7n+0Fm9JXkctQN9BUfQ iWRsdNl7jkGRcovWPOSko3NCf+WG1YkcfqnIEkZ/5guaby6R3i2Bl5mHi66Qk24ZCTB1 QE2CPk/YftI/OX9HA8VAsQNKyiaeZ0Mto3i8x1ZfEVtA7GXb4tIo5qZF47bgxAgNZTrf 2UaA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=5+FuuhNyel7DyV6ZYJfYvKQELI6WtqbxXFDBQ+fBo3o=; b=F9CLZ9t2Rl7ernUDsteXxQYNZIS5Bcyk+ywRWbfqhwkypbSYCLAtWrO31S2z353m2V QotCeGAUNwsYiM9kKQ5li7ING/K3mnLMH/H3GQGU4Ckgohb5eR8qot6/yPdWg8q9zyez E3kxcWbTwFvQrHocuo51/Th9A5pjif8PSILRbkYkY6mEWxHNZXqh5i4p3rrb3q/WQVlB cM5trRVgA7cYVyg67/VIyvqG2wTXuzT0EWNsKpqcCCADkhQ+kDtaAuOUbR8huHVrGbCd X8/kRN6n3Ol07Gpx3i7Lh/Hqlm6G2vl9pEOqKJ+3StvmhFVVZrXFxva/02e1DQxTGT0c UjeA==
X-Gm-Message-State: APt69E2Wh7Ih1Zq8sL8yXVQm+r/7lr5qGrEpaTFz3h4es0Gpmp8EO8fQ Io57gFUt91FYV0n0rCc/7KRVCR8dTQDydgn6y/A=
X-Google-Smtp-Source: AAOMgpeY76SgGbImivj/fJgrbPPqx4EAYVkle2GChhGDVlD73XF9CGc3s5mcpXps/r9NajYa4pL318kFF4OZli9bHlY=
X-Received: by 2002:a81:8a42:: with SMTP id a63-v6mr9524893ywg.433.1531108062995; Sun, 08 Jul 2018 20:47:42 -0700 (PDT)
MIME-Version: 1.0
References: <152929780606.2227.13559302401894149616@ietfa.amsl.com> <CA+oaSDrkaEA8wQxGsZ7w_gVUE5071y7jEnq4uSvM7U_KHbp9qw@mail.gmail.com>
In-Reply-To: <CA+oaSDrkaEA8wQxGsZ7w_gVUE5071y7jEnq4uSvM7U_KHbp9qw@mail.gmail.com>
From: Jensen Zhang <jingxuan.n.zhang@gmail.com>
Date: Sun, 08 Jul 2018 23:47:30 -0400
Message-ID: <CAAbpuyp5htzdHYvexwsWzrHPyuvdY6hzLMiARJc2EcQLcOD_Xg@mail.gmail.com>
To: Shawn Lin <x.shawn.lin@gmail.com>
Cc: internet-drafts@ietf.org, IETF ALTO <alto@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000352a7d057088e068"
Archived-At: <https://mailarchive.ietf.org/arch/msg/alto/8wvM1Fpd4xN2Gps_xHOVo8I3vVE>
Subject: Re: [alto] I-D Action: draft-ietf-alto-cdni-request-routing-alto-03.txt
X-BeenThere: alto@ietf.org
X-Mailman-Version: 2.1.26
Precedence: list
List-Id: "Application-Layer Traffic Optimization \(alto\) WG mailing list" <alto.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/alto>, <mailto:alto-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/alto/>
List-Post: <mailto:alto@ietf.org>
List-Help: <mailto:alto-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/alto>, <mailto:alto-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 09 Jul 2018 03:47:49 -0000

Hi authors and WG,

I reviewed the document alto-cdni-request-routing-alto-03 until Section 4.
About the content after Section 4, I only quick go over the English issues.
I will post my detailed review of the later sections tomorrow.

My current thought is that cdni fci information may not match the ALTO map
service very well. Because it does not even provide an object-map format
message. So it's hard to use the benefit of the ALTO map service, like
filtering. Or maybe we need to introduce a proper key like PID to index
the BaseAdvertisementObject.

Below is the part 1 of my detailed review:

=======
Abstract:

>    The Content Delivery Networks Interconnection (CDNI) WG is defining a
>    set of protocols to inter-connect CDNs, to achieve multiple goals
>    such as extending the reach of a given CDN to areas that are not
>    covered by that particular CDN.  One component that is needed to
>    achieve the goal of CDNI is the CDNI Request Routing Footprint &
>    Capabilities Advertisement interface (FCI) [RFC7336].  [RFC8008] has
>    defined precisely the semantics of FCI and provided guidelines on the
>    FCI protocol, but the exact protocol is explicitly outside the scope
>    of that document.  In this document, we define an FCI protocol using
>    the Application-Layer Traffic Optimization (ALTO) protocol.

  [Jensen] Based on nits:

https://www.ietf.org/tools/idnits?url=https://www.ietf.org/archive/id/draft-ietf-alto-cdni-request-routing-alto-03.txt
,
  the references should not appear in the abstract.


Section 1., paragraph 13:

>    This document focuses solely on CDNI FCI, with a goal to specify a
>    new Application-Layer Traffic Optimization (ALTO) [RFC7285] service
>    called "CDNI FCI Map Service", to transport and update CDNI FCI
>    objects, which are defined in a separate document in [RFC8008] and to
>    describe a mechanism for filtering CDNI FCI map on capabilities or
>    footprints.

  [Jensen] a mechanism -> approaches. If my understanding is right, this
  document does not introduce any new mechanism beyond the JSON encoding
  and the HTTP request/response. And Section 5 and 6 actually propose
  two different approahces for filtering on capabilities and footprints
  respectively.


Section 2., paragraph 1:

>    The design of CDNI FCI transport using ALTO depends on understanding
>    of both FCI semantics and ALTO.  Hence, we start with a review of
>    both.

  [Jensen] understanding -> the understanding


Section 2.1., paragraph 3:

>    o  Given that a large part of Footprint and Capabilities
>       Advertisement will actually happen in contractual agreements, the
>       semantics of CDNI Footprint and Capabilities advertisement refer

  [Jensen] refer -> refers


Section 2.1., paragraph 10:

>    o  For all of these mandatory-to-implement footprint types,
>       footprints can be viewed as constraints for delegating requests to
>       a dCDN: A dCDN footprint advertisement tells the uCDN the
>       limitations for delegating a request to the dCDN.  For IP prefixes
>       or ASN(s), the footprint signals to the uCDN that it should
>       consider the dCDN a candidate only if the IP address of the
>       request routing source falls within the prefix set (or ASN,
>       respectively).  The CDNI specifications do not define how a given
>       uCDN determines what address ranges are in a particular ASN.
>       Similarly, for country codes, a uCDN should only consider the dCDN
>       a candidate if it covers the country of the request routing
>       source.  The CDNI specifications do not define how a given uCDN
>       determines the country of the request routing source.  Multiple
>       footprint constraints are additive, i.e. the advertisement of

  [Jensen] i.e. -> i.e.,


Section 2.1., paragraph 12:

>    o  The following capabilities are defined as "base" capabilities,
>       i.e. ones that are needed in any case and therefore constitute

  [Jensen] i.e. -> i.e.,


Section 2.2., paragraph 5:

>    o  The semantics of an ALTO network map are an exact match for the

  [Jensen] are -> is


Section 2.2., paragraph 6:

>       needed information to convey a footprint by a downstream CDN, in
>       particular if such a footprint is being expressed by IP-prefix
>       ranges.

  [Jensen] "in particular" -> "in particular,"


Section 3., paragraph 1:

>    The ALTO protocol is based on an ALTO Information Service Framework
>    which consists of several services, where all ALTO services are
>    "provided through a common transport protocol, messaging structure
>    and encoding, and transaction model" [RFC7285].  The ALTO protocol
>    specification [RFC7285] defines several such services, e.g. the ALTO
>    map service.

  [Jensen] "e.g." -> "e.g.,"


Section 3., paragraph 2:

>    This document defines a new ALTO Map Service called "CDNI FCI Map
>    Service" which conveys JSON objects of media type "application/alto-
>    cdnifcimap+json".  These JSON objects are used to transport
>    BaseAdvertisementObject objects defined in [RFC8008]; this document
>    specifies how to transport such BaseAdvertisementObject objects via
>    the ALTO protocol with the ALTO "CDNI FCI Map Service".  Given that
>    the "CDNI FCI Map Service" is very similar in structure to the two
>    already defined map services (network maps and cost maps), the
>    specification of CDNI FCI Map below uses the same specification
>    structure for Cost Map specification in Section 11.2.3 of [RFC7285]
>    when specifying cost maps.

  [Jensen] Why use the same structure for Cost Map here? And even in
  structure, I think CDNI FCI Map is very different from Network Map and
  Cost Map. Because the data entry of those two map services point to
  object-map(s). But the data entry of CDNI FCI Map points to an
  JSONArray.


Section 3.6., paragraph 1:

>    If a CDNI FCI map does not depend on other resources, the "meta"
>    field of a CDNI FCI map response MUST include the "vtag" field

  [Jensen] Why need to emphasize "does not depend on other resources"?
  Even it depends on some resource, the "vtag" field is still necessary.
  Because whether the "vtag" field is needed depends on whether there
  are other resources using it, not whether it depends on others.


Section 3.6., paragraph 2:

>    defined in Section 10.3 of [RFC7285], which provides the version tag
>    of the retrieved CDNI FCI map.  If a CDNI FCI map response depends on
>    a resource such a network map, it MUST include the "dependent-vtags"

  [Jensen] such -> ,such as


Section 3.6., paragraph 6:

>    Specifically, a CDNIFCIMapData object is a JSON object, and it
>    includes only one property "capabilities" and whose value is an array

  [Jensen] To be distinguished from the ALTO Information Resource
  Capabilities, how about we change the field name "capabilities" to
  something like "fci-capabilities"?


Section 3.6., paragraph 8:

>    The ALTO client MUST interpret footprints appearing multiple times as

  [Jensen] "The ALTO client MUST ..." -> "For each
  BaseAdvertisementObject, the ALTO client MUST ..."


Section 3.6., paragraph 9:

>    if they appeared only once.  If no footprint restriction list is
>    specified (or an empty list is specified), the ALTO client MUST
>    understand that all footprint types are reset to "global" coverage.

  [Jensen] reset to "global" coverage -> set to the "global" coverage


Section 3.7.1., paragraph 1:

>    Below is an example IRD announcing two network maps, one CDNI FCI map
>    without dependency, one CDNI FCI map depending on a network map, one
>    filtered CDNI FCI map, one unified property map including "cdni-fci-
>    capabilities" as its entities' property, one filtered unified
>    property map including "cdni-fci-capabilities" and "pid" as its
>    entities' properties and two update stream services (one for updating
>    CDNI FCI maps, and the other for updating property maps).

  [Jensen] Since this is the first time to mention the "filtered CDNI
  FCI map", can we refer it to its definition? Like "filtered CDNI FCI
  map (defined in Section xxx)".


Section 4.1., paragraph 1:

>    In addition to the already defined CDNI footprint typs (e.g.,
>    ipv4cidr, ipv6cidr, asn, countrycode), ALTO network maps can be a
>    type of FCI footprint.  To enable such referencing to ALTO network
>    maps, a new CDNI Footprint Type "altonetworkmap" is defined (see also
>    Section 8.1).

  [Jensen] Not "see also Section 8.1". Because the IANA registry should
  point out the detailed specification, this section should describe the
  semantics and the specification of "altonetworkmap" footprint, and the
  Section 8.1 should refer to this section.


Section 4.2.4., paragraph 1:

>    In this example, the ALTO client is interested in changes of "my-
>    cdnifci-map-with-network-map-footrprints".  And we present two

  [Jensen] footrprints -> footprints


Section 5.1., paragraph 1:

>    Since a filtered CDNI FCI map is still a CDNI FCI map, it uses the
>    media type defined for CDNI FCI maps at Section 3.1.

  [Jensen] at -> in
=======

Best,
Jensen

On Wed, Jul 4, 2018 at 9:00 PM Shawn Lin <x.shawn.lin@gmail.com> wrote:

> Dear ALTO WG members,
>
> This is a short summary of updates in *alto-cdni-request-routing-alto-03*.
>
> *Major updates:*
> 1. Add a new section, "*section 7 Protocol Errors"*.
> 2. In *section 3.6*, shorten the original encoding with
> *BaseAdvertisementObject* defined in Section 5.1 of RFC 8008.
> 3. In *section 3.6*, remove the description of optimization to keep the
> document clean, but keep a note about the optimization of BaseAdvertisement
> objects.
>
> *   Note: Further optimization of BaseAdvertisement objects to*
> *   effectively provide the advertisement of capabilities with footprint*
> *   restrictions is certainly possible, however, it is not necessary for*
> *   the basic interconnection of CDNs.  The note here is for*
> *   completeness, however, the specifics of such mechanisms are outside*
> *   the scope of this document.*
>
>
> *Minor updates:*
> 1. Change media type of CDNI FCI Map to
> *"application/alto+cdnifcimap+json"*.
> 2. Change the response name of CDNI FCI Map to *"cdni-fci-map"* so it is
> consist with "network-map", "cost-map", "endpoint-cost-map".
> 3. Fix some typos.
>
> Any comments or feedback are highly appreciated!
>
> Bests,
> Shawn Lin
>
> On Mon, Jun 18, 2018 at 12:56 PM <internet-drafts@ietf.org> wrote:
>
>>
>> A New Internet-Draft is available from the on-line Internet-Drafts
>> directories.
>> This draft is a work item of the Application-Layer Traffic Optimization
>> WG of the IETF.
>>
>>         Title           : Content Delivery Network Interconnection (CDNI)
>> Request Routing: CDNI Footprint and Capabilities Advertisement using ALTO
>>         Authors         : Jan Seedorf
>>                           Y.R. Yang
>>                           Kevin J. Ma
>>                           Jon Peterson
>>                           X.S. Lin
>>         Filename        : draft-ietf-alto-cdni-request-routing-alto-03.txt
>>         Pages           : 34
>>         Date            : 2018-06-17
>>
>> Abstract:
>>    The Content Delivery Networks Interconnection (CDNI) WG is defining a
>>    set of protocols to inter-connect CDNs, to achieve multiple goals
>>    such as extending the reach of a given CDN to areas that are not
>>    covered by that particular CDN.  One component that is needed to
>>    achieve the goal of CDNI is the CDNI Request Routing Footprint &
>>    Capabilities Advertisement interface (FCI) [RFC7336].  [RFC8008] has
>>    defined precisely the semantics of FCI and provided guidelines on the
>>    FCI protocol, but the exact protocol is explicitly outside the scope
>>    of that document.  In this document, we define an FCI protocol using
>>    the Application-Layer Traffic Optimization (ALTO) protocol.
>>
>>
>> The IETF datatracker status page for this draft is:
>>
>> https://datatracker.ietf.org/doc/draft-ietf-alto-cdni-request-routing-alto/
>>
>> There are also htmlized versions available at:
>> https://tools.ietf.org/html/draft-ietf-alto-cdni-request-routing-alto-03
>>
>> https://datatracker.ietf.org/doc/html/draft-ietf-alto-cdni-request-routing-alto-03
>>
>> A diff from the previous version is available at:
>>
>> https://www.ietf.org/rfcdiff?url2=draft-ietf-alto-cdni-request-routing-alto-03
>>
>>
>> Please note that it may take a couple of minutes from the time of
>> submission
>> until the htmlized version and diff are available at tools.ietf.org.
>>
>> Internet-Drafts are also available by anonymous FTP at:
>> ftp://ftp.ietf.org/internet-drafts/
>>
>> _______________________________________________
>> alto mailing list
>> alto@ietf.org
>> https://www.ietf.org/mailman/listinfo/alto
>>
> _______________________________________________
> alto mailing list
> alto@ietf.org
> https://www.ietf.org/mailman/listinfo/alto
>