Re: [CDNi] New Internet Draft: draft-sopher-cdni-footprint-types-extensions

Nir Sopher <nirs@qwilt.com> Wed, 28 July 2021 19:58 UTC

Return-Path: <nirs@qwilt.com>
X-Original-To: cdni@ietfa.amsl.com
Delivered-To: cdni@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1E4633A1DD6 for <cdni@ietfa.amsl.com>; Wed, 28 Jul 2021 12:58:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.655
X-Spam-Level:
X-Spam-Status: No, score=-0.655 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, NORMAL_HTTP_TO_IP=0.001, NUMERIC_HTTP_ADDR=1.242, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=qwilt-com.20150623.gappssmtp.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 s1A1wDF1a_vW for <cdni@ietfa.amsl.com>; Wed, 28 Jul 2021 12:58:09 -0700 (PDT)
Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com [IPv6:2a00:1450:4864:20::52f]) (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 D98B83A1DDC for <cdni@ietf.org>; Wed, 28 Jul 2021 12:58:08 -0700 (PDT)
Received: by mail-ed1-x52f.google.com with SMTP id y7so2622199eda.5 for <cdni@ietf.org>; Wed, 28 Jul 2021 12:58:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qwilt-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=AWyF17CGXEEq4oW/aAMo2jKEZk2/zRclCi0OQU26upc=; b=Vv6wAq2GrsoLaXJzSFcPsthuDqjv/Wb9Mvs9vdPHbNWc+OrUYGSH/lj2yqXP3/rSZ4 PvEXzFHNtFxXX8zs3c/jDdaznBn+J3HHQTF7cVVP2KMvn1hD93Dcogkyt9HkUT1pitPQ 38yx/EYaxEx4Hvclj+oeNJTSSdvReB2wAPsVlsK/ZZib05qb/ZSBLMoPEplIZ6njcrpZ gH927ojGk7PmTq1l2gYT6xOZer+RVYYl/bvP7D6b7jgrPp0HZw5HXdXIVbyyWUsfpq3k HkxvXOFeKKoyHlrl0Ru7LRFq4nb8teT7thG26Xpyhzgv32VpncINqWRKBMI/d0rBYYXE ALoQ==
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=AWyF17CGXEEq4oW/aAMo2jKEZk2/zRclCi0OQU26upc=; b=K7/k0BkW6ccPiJRop0VchAJcNfnSOdzBZ6mG3zrAR2ONzFWsK4O33+ZHxCT7o5wNIY mgJHYAgtQSwwgGdontXvYzlbGikHHuwJymQVzgMJgjMbNzW+RnGMHSes1MBzBaAKAyeG Ykbob20qMyLPkxgbSbWPm5pDnAQpd1EKZ1Fk75v8cUCQhvfj651hXZMVQh3WOWARmRET G1ZjrRRw8dwUTMk/R1F4FBrT1XWkXzpBjWskUbEkAjmciOaLV7wTsECf0ADzCB8Vg4yq HJRognT+REy5hNixRGrrtW+lWzGezTk9+bzoA5IgfQs8fZ8rF2tpzSjOk1vEejr9Kw1E pTUQ==
X-Gm-Message-State: AOAM5327HTeZKQPfaNThSm9sMBJfHrKIYUHYAd/DGii5sP5WJYDFODnW T57YMu8QY7JtM5zsDlZeHVAX8zsYeUqrNYv88wTFPw==
X-Google-Smtp-Source: ABdhPJyrnJ4Zw6NeNX6N9qwu0Jbasq8QHgFchMixhc+NI/uYucBZlNz8lQ/AXmbWAMpaxYvwbfv7XXKV3mdCk3GeDUM=
X-Received: by 2002:aa7:c74b:: with SMTP id c11mr1788223eds.353.1627502286851; Wed, 28 Jul 2021 12:58:06 -0700 (PDT)
MIME-Version: 1.0
References: <CA+ec=9q5MAo4cwXZG7GbmbmPa_9QEPwWe_2TfF93_LsFoSYVLw@mail.gmail.com> <72B9B6FE-E0E0-49C8-87D1-DC2C975F8685@gmail.com>
In-Reply-To: <72B9B6FE-E0E0-49C8-87D1-DC2C975F8685@gmail.com>
From: Nir Sopher <nirs@qwilt.com>
Date: Wed, 28 Jul 2021 22:57:55 +0300
Message-ID: <CA+ec=9pOwNT0QQ+8Y=6bNb=BuOCdnynX7=8QWOditLiLnYSd3Q@mail.gmail.com>
To: "Kevin J. Ma" <kevin.j.ma.ietf@gmail.com>
Cc: Guillaume Bichot <Guillaume.Bichot@broadpeak.tv>, "<cdni@ietf.org>" <cdni@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000ade42b05c83467f0"
Archived-At: <https://mailarchive.ietf.org/arch/msg/cdni/1KmtOfctG2f8obw0X9Sh1pDCkvc>
Subject: Re: [CDNi] New Internet Draft: draft-sopher-cdni-footprint-types-extensions
X-BeenThere: cdni@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "This list is to discuss issues associated with the Interconnection of Content Delivery Networks \(CDNs\)" <cdni.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/cdni>, <mailto:cdni-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cdni/>
List-Post: <mailto:cdni@ietf.org>
List-Help: <mailto:cdni-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/cdni>, <mailto:cdni-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 28 Jul 2021 19:58:16 -0000

Hi all,

Following the discussion I just released a  v4 of the draft
<https://datatracker.ietf.org/doc/draft-sopher-cdni-footprint-types-extensions/04/>
-
moving from "FootprintObject" footprint-type to "FootprintUnion".

Best Regards,
Nir

On Tue, Jul 27, 2021 at 3:56 PM Kevin J. Ma <kevin.j.ma.ietf@gmail.com>
wrote:

> Hi Nir,
>
>   I think we want the names to be descriptive.  For the original types, it
> made sense to name based on content; for this, it may make more sense to
> name based on function.
>
> thanx.
>
> --  Kevin J. Ma
>
> Sent from my iPhone
>
> On Jul 27, 2021, at 3:12 AM, Nir Sopher <nirs@qwilt.com> wrote:
>
> 
> Thanks Kevin,
> I also don't like the name "footprintobject". Thought about "compound
> footprint".
>
> The issue however is that I tried to follow the same flow of defining
> other footprint elements.
> As I understand it, the "footprint type"  is a name (e.g. ipv4cidr,
> ipv6cidr, asn, countrycode) describing what kind of elements
> the "footprint-value" list is going to hold.
> In our case, the list is built of footprint-object to create a composition.
>
> Maybe I understand it wrong and the "footprint type" is the overall type
> of the footprint object and not of the individual elements within the value
> list?
>
> Nir
>
> On Tue, Jul 27, 2021 at 4:09 AM Kevin Ma <kevin.j.ma.ietf@gmail.com>
> wrote:
>
>> Hi Nir,
>>
>>   (As an individual) I think both items in the draft seem straightforward
>> and reasonable.  My only comment is that I might consider changing "footprintobject"
>> to "footprintunion" to make the intent more obvious.
>>
>> thanx.
>>
>> --  Kevin J. Ma
>>
>> On Fri, Jul 2, 2021 at 7:52 AM Nir Sopher <nirs@qwilt.com> wrote:
>>
>>> Hi,
>>>
>>> I prepared an additional draft (
>>> https://datatracker.ietf.org/doc/html/draft-sopher-cdni-footprint-types-extensions-03),
>>> allowing the resolution of the ipv4/v6 issue discussed earlier.
>>> A reminder: a footprint object has a "type" and a "value" list of
>>> elements of this type - in order to satisfy the term, the client needs to
>>> match one of the values in the list.
>>> So in the new draft I suggested to have a new footprint type of type
>>> "footprint object" - allowing the composition/aggregation of a several
>>> footprint objects into one.
>>> See examples in the draft.
>>>
>>> https://datatracker.ietf.org/doc/html/draft-sopher-cdni-footprint-types-extensions-03#section-2.2.2
>>>
>>> I know it sounds a bit awkward, and I would appreciate your thoughts and
>>> suggestions to refine this concepts.
>>>
>>> Thanks,
>>> Nir
>>>
>>>
>>>
>>> On Sat, Feb 20, 2021, 18:47 Nir Sopher <nirs@qwilt.com> wrote:
>>>
>>>> Thank you for your reply.
>>>> The need to specify both ASN and a location comes from the usecase of a
>>>> federation of ISPs serving as a dCDN. In such a scenario we need to specify
>>>> both the ASN and the location especially in cases of trials, a gradually
>>>> built coverage within an ISP, and (maybe in the future) capacity indication.
>>>>
>>>> I'll create a new draft with the suggested "union" footprint type so we
>>>> can further discuss it.
>>>>
>>>> Thanks,
>>>> Nir
>>>>
>>>>
>>>> On Mon, Feb 15, 2021, 03:55 Kevin Ma <kevin.j.ma.ietf@gmail.com> wrote:
>>>>
>>>>> Hi Nir,
>>>>>
>>>>>   Thanks for the explanation.  Is the ASN not inherent?  Is it the
>>>>> case that the uCDN has multiple dCDNs in NY, each in different ISPs, but
>>>>> all using the same hostname, and would like to redirect traffic for a
>>>>> specific ISP to a specific dCDN in NY and cannot otherwise segregate the
>>>>> configuration by hostname?
>>>>>
>>>>>   It seems like there should be another way around this.  Determining
>>>>> the intersection of an ASN and geographic area just seems like an odd thing
>>>>> for a uCDN to know how to do?
>>>>>
>>>>>   But, to your original question, I would say, yes, we would probably
>>>>> want a new footprint type for that.
>>>>>
>>>>> thanx.
>>>>>
>>>>> --  Kevin J. Ma
>>>>>
>>>>> On Wed, Jan 27, 2021 at 12:59 AM Nir Sopher <nirs@qwilt.com> wrote:
>>>>>
>>>>>> Hi Kevin,
>>>>>>
>>>>>> We encountered use cases that require intersection of footprint types
>>>>>> mainly between ASNs and ISO-3166 codes.
>>>>>> E.g. when a federation of dCDNs, would like to provide a
>>>>>> footprint object that covers a certain ISP in the state of NY.
>>>>>> This may be due to partial coverage of the ASN with cache nodes.
>>>>>>
>>>>>> If for example an ISP (dCDN) deployed nodes only in NY, we would like
>>>>>> the uCDN delegate only NY clients to the ISP dCDN.
>>>>>>
>>>>>> Another example for tthe need to use an intersection of ASNs and Geo
>>>>>> info is when discussing capacity indication (discussed on another thread).
>>>>>> The capacity is associated with a specific location within the ASN.
>>>>>>
>>>>>> One may argue that this can just be done using a list of the relevant
>>>>>> IPs, but it is not always the case, mainly as many uCDNs do not support
>>>>>> delegation based on IP list while they do support delegation based on
>>>>>> ASN/Geo.
>>>>>> Furthermore, in a DNS based delegation, where the name-server CNAMEs
>>>>>> the queried hostname to a dCDN target hostname, the client IP is not even
>>>>>> available to the uCDN at the delegation decision point.
>>>>>>
>>>>>> Thanks,
>>>>>> Nir
>>>>>>
>>>>>>
>>>>>> On Mon, Jan 25, 2021, 06:52 Kevin Ma <kevin.j.ma.ietf@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi Nir,
>>>>>>>
>>>>>>> > 1. Remove the narrowing semantics comment from the appendix (just
>>>>>>> write in the new rfc that it should be disregarded?)
>>>>>>>
>>>>>>>   I'm not sure we need a rewrite of the RFC.  I think if we wanted,
>>>>>>> we could file an errata to clarify the appendix text.
>>>>>>>
>>>>>>> > 2. Define a new footprint type: intersection  (name: tbd)
>>>>>>>
>>>>>>>   Is there a use case that requires intersection of footprint types
>>>>>>> for capability advertisement? It's not clear to me when intersecting a
>>>>>>> country code with an IP address range would be needed?  The implication is
>>>>>>> that some of the IP address range is outside the country while some is
>>>>>>> within, or that they can move between countries, and that we don't know
>>>>>>> which IP addresses are outside the country, but we would somehow be able to
>>>>>>> determine that later when the request is processed?  Is this to deal with
>>>>>>> VPN/tunneling detection?  That seems more like an ACL issue, than a
>>>>>>> capabilitiy advertisement issue?
>>>>>>>
>>>>>>> thanx.
>>>>>>>
>>>>>>> --  Kevin J. Ma
>>>>>>>
>>>>>>> On Wed, Jan 13, 2021 at 1:33 AM Nir Sopher <nirs@qwilt.com> wrote:
>>>>>>>
>>>>>>>> Thanks Kevin,
>>>>>>>>
>>>>>>>> I'll summarize your suggestion as I understand it.
>>>>>>>> You suggest to
>>>>>>>> 1. Remove the narrowing semantics comment from the appendix (just
>>>>>>>> write in the new rfc that it should be disregarded?)
>>>>>>>> 2. Define a new footprint type: intersection  (name: tbd)
>>>>>>>>
>>>>>>>> So if we want to point at ips 1.2.3.0/24 and 2001:db8::/32 only in
>>>>>>>> the US we would like to intersect
>>>>>>>> "footprints": [
>>>>>>>>     {
>>>>>>>>         "footprint-type": "iso3166code",
>>>>>>>>         "footprint-value": ["us"]
>>>>>>>>     }
>>>>>>>> ]
>>>>>>>>
>>>>>>>> with
>>>>>>>> "footprints": [
>>>>>>>>     {
>>>>>>>>         "footprint-type": "ipv4",
>>>>>>>>         "footprint-value": ["1.2.3.0/24"]
>>>>>>>>     },
>>>>>>>>     {
>>>>>>>>         "footprint-the type": "ipv6",
>>>>>>>>         "footprint-value": ["2001:db8::/32"]
>>>>>>>>     }
>>>>>>>> ]
>>>>>>>>
>>>>>>>> To create:
>>>>>>>> "footprints": [
>>>>>>>>     {
>>>>>>>>         "footprint-type": "intersection",
>>>>>>>>         "footprint-value": [
>>>>>>>>             [
>>>>>>>>                 {
>>>>>>>>                     "footprint-type": "iso3166code",
>>>>>>>>                     "footprint-value": ["us"]
>>>>>>>>                 }
>>>>>>>>             ],
>>>>>>>>             [
>>>>>>>>                 {
>>>>>>>>                     "footprint-type": "ipv4",
>>>>>>>>                     "footprint-value": ["1.2.3.0/24"]
>>>>>>>>                 },
>>>>>>>>                 {
>>>>>>>>                     "footprint-the type": "ipv6",
>>>>>>>>                     "footprint-value": ["2001:db8::/32"]
>>>>>>>>                 }
>>>>>>>>             ]
>>>>>>>>         ]
>>>>>>>>     }
>>>>>>>>
>>>>>>>> What would you say about keeping the narrowing semantics and define
>>>>>>>> a "union" (name: tbd) instead?
>>>>>>>> It feels more natural to me, and it does not break the definitions
>>>>>>>> done in RFC-8008 which might have came from a deeper discussion you had
>>>>>>>> back then.
>>>>>>>>
>>>>>>>> "footprints": [
>>>>>>>>     {
>>>>>>>>         "footprints": [
>>>>>>>>             {
>>>>>>>>                 "footprint-type": "iso3166code",
>>>>>>>>                 "footprint-value": ["us"]
>>>>>>>>             },
>>>>>>>>             {
>>>>>>>>                 "footprint-type": "union",
>>>>>>>>                 "footprint-value": [
>>>>>>>>                     {
>>>>>>>>                         "footprint-type": "ipv4",
>>>>>>>>                         "footprint-value": ["1.2.3.0/24"]
>>>>>>>>                     },
>>>>>>>>                     {
>>>>>>>>                         "footprint-the type": "ipv6",
>>>>>>>>                         "footprint-value": ["2001:db8::/32"]
>>>>>>>>                     }
>>>>>>>>                 ]
>>>>>>>>             }
>>>>>>>>         ]
>>>>>>>>     }
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>> Nir
>>>>>>>>
>>>>>>>> On Wed, Jan 13, 2021, 06:19 Kevin Ma <kevin.j.ma.ietf@gmail.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Hi Nir,
>>>>>>>>>
>>>>>>>>> > Note that the footprint types are also used by the CDNI Metadata
>>>>>>>>> LocationACL objects
>>>>>>>>> <https://tools.ietf.org/html/rfc8006#section-4.2.2.2>, where IIUC
>>>>>>>>> the list of objects is considered as a set.
>>>>>>>>>
>>>>>>>>>   Correct.  In RFC8006 section 4.2.2.1, the footprint list is
>>>>>>>>> treated as a cumulative list.  I would expect the same to be true of the
>>>>>>>>> footprint list in the FCI base advertisement object (in section 5.1 of
>>>>>>>>> RFC8008).  So, the example in section 2.1 of your draft:
>>>>>>>>>
>>>>>>>>>     [{"footprint-type": "ipv4cidr","footprint-value": ["
>>>>>>>>> 192.0.2.0/24"]},
>>>>>>>>>
>>>>>>>>>   {"footprint-type": "ipv6cidr","footprint-value": ["2001:db8::/32"]}]
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>   would cover the union of the ipv4 and the ipv6 prefixes, not the
>>>>>>>>> intersection.
>>>>>>>>>
>>>>>>>>>   If you wanted to create more complex
>>>>>>>>> multi-footprint-intersection rules, that could be done by implementing a
>>>>>>>>> custom footprint type with the intersection rules clearly defined.
>>>>>>>>>
>>>>>>>>> thanx.
>>>>>>>>>
>>>>>>>>> --  Kevin J. Ma
>>>>>>>>>
>>>>>>>>> On Tue, Jan 12, 2021 at 7:25 AM Nir Sopher <nirs@qwilt.com> wrote:
>>>>>>>>>
>>>>>>>>>> Hi Kevin and Guillaume,
>>>>>>>>>>
>>>>>>>>>> I did not intend to change the footprint objects. I assume we can
>>>>>>>>>> just specify in the new RFC the class of each type and the semantic would
>>>>>>>>>> apply on the current syntax.
>>>>>>>>>> If we make changes in the syntax, we can do it simply by defining
>>>>>>>>>> the footprints in 2 layers. For example:
>>>>>>>>>> "footprints": [
>>>>>>>>>>     [
>>>>>>>>>>         {
>>>>>>>>>>             "footprint-type": "iso3166code",
>>>>>>>>>>             "footprint-value": ["ca", "us-ny"]
>>>>>>>>>>         }
>>>>>>>>>>     ],
>>>>>>>>>>     [
>>>>>>>>>>         {
>>>>>>>>>>             "footprint-type": "ipv4",
>>>>>>>>>>             "footprint-value": ["1.2.3.0/24"]
>>>>>>>>>>         },
>>>>>>>>>>         {
>>>>>>>>>>             "footprint-the type": "ipv6",
>>>>>>>>>>             "footprint-value": ["2001:db8::/32"]
>>>>>>>>>>         }
>>>>>>>>>>     ]
>>>>>>>>>> ]
>>>>>>>>>>
>>>>>>>>>> The semantic would be considering the inner lists objects as
>>>>>>>>>> sets, and then narrowing the outer list results.
>>>>>>>>>> This would not force us to define the class of each type.
>>>>>>>>>>
>>>>>>>>>> The change I describe above can be valid to all FCI
>>>>>>>>>> implementations.
>>>>>>>>>> Note that the footprint types are also used by the CDNI Metadata
>>>>>>>>>> LocationACL objects
>>>>>>>>>> <https://tools.ietf.org/html/rfc8006#section-4.2.2.2>, where
>>>>>>>>>> IIUC the list of objects is considered as a set.
>>>>>>>>>>
>>>>>>>>>> WRT the ALTO PID, I'll need to look deeper into it
>>>>>>>>>>
>>>>>>>>>> Nir
>>>>>>>>>>
>>>>>>>>>> On Tue, Jan 12, 2021 at 5:51 AM Kevin Ma <
>>>>>>>>>> kevin.j.ma.ietf@gmail.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi Nir,
>>>>>>>>>>>
>>>>>>>>>>> > IIUC, this would weaken the protocol:
>>>>>>>>>>>
>>>>>>>>>>>   Again, just to be clear, the FCI semantics RFC was never
>>>>>>>>>>> intended to define a "protocol".  The purpose was only to define a common
>>>>>>>>>>> message format.  It is arguable whether the interpretation of the footprint
>>>>>>>>>>> list entries should be protocol specific, but I think we can infer that we
>>>>>>>>>>> felt such interpretations were protocol specific and thus beyond the scope
>>>>>>>>>>> of the FCI semantics RFC.  We probably could've made that more clear, but
>>>>>>>>>>> again, hindsight.
>>>>>>>>>>>
>>>>>>>>>>> > define now a "footprint object class", grouping the "footprint
>>>>>>>>>>> object types"
>>>>>>>>>>>
>>>>>>>>>>>   wrt the grouping proposal, it is not clear to me that there is
>>>>>>>>>>> a natural grouping for footprint types or how future footprint types would
>>>>>>>>>>> be matched to a group, .e.g., should asn always be combined with ipv4/ipv6,
>>>>>>>>>>> and why not combine IPs with countries?  There will likely always be
>>>>>>>>>>> counter examples where a fixed grouping doesn't fit a certain scenario or
>>>>>>>>>>> there is a difference of opinion on what the natural groupings should be.
>>>>>>>>>>> These are the types of things we were trying to avoid in defining a generic
>>>>>>>>>>> message envelope and wanted to delegate to protocol implementation specs
>>>>>>>>>>> (e.g., the altopid footprint type solves the ipv4/ipv6 problem for the ALTO
>>>>>>>>>>> FCI implementation,
>>>>>>>>>>> https://tools.ietf.org/html/draft-ietf-alto-cdni-request-routing-alto-14#section-4.1
>>>>>>>>>>> ).
>>>>>>>>>>>
>>>>>>>>>>>   Would the intent here be to enforce a grouping proposal on all
>>>>>>>>>>> FCI implementations?  Or is there a specific FCI protocol you have in
>>>>>>>>>>> mind?  Is SVA intending to use ALTO for FCI?
>>>>>>>>>>>
>>>>>>>>>>> thanx!
>>>>>>>>>>>
>>>>>>>>>>> --  Kevin J. Ma
>>>>>>>>>>>
>>>>>>>>>>> On Mon, Jan 11, 2021 at 11:45 AM Nir Sopher <nirs@qwilt.com>
>>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Thanks Guillaume and Kevin,
>>>>>>>>>>>>
>>>>>>>>>>>> Indeed, disregarding the statement in the appendix would
>>>>>>>>>>>> negate the need for the ipv4v6cidr.
>>>>>>>>>>>> However, IIUC, this would weaken the protocol:
>>>>>>>>>>>> Take for example an integration where we would like the
>>>>>>>>>>>> footprint to cover only clients within a Europe wide spread ASN, but only
>>>>>>>>>>>> in Belgium, or only the NY clients of a US-wide ASN. The protocol when
>>>>>>>>>>>> disregarding the "narrowing semantics" statement would not be able to
>>>>>>>>>>>> specify it (while in the original semantics it is definable).
>>>>>>>>>>>>
>>>>>>>>>>>> One can argue we need to be able to create some boolean
>>>>>>>>>>>> expression. ORing and ANDing footprints.
>>>>>>>>>>>> I think a better approach (Guillaume, it might be the direction
>>>>>>>>>>>> you were pointing at), is to define now a "footprint object class",
>>>>>>>>>>>> grouping the "footprint object types"
>>>>>>>>>>>>
>>>>>>>>>>>>    1. Footprint Class: ip
>>>>>>>>>>>>    Grouped footprint-types:
>>>>>>>>>>>>       1. ipv4cidr
>>>>>>>>>>>>       2. ipv6cidr
>>>>>>>>>>>>       3. asn
>>>>>>>>>>>>    2. Footprint Class: geo
>>>>>>>>>>>>    Grouped footprint-types:
>>>>>>>>>>>>       1. countrycode
>>>>>>>>>>>>       2. iso3166code
>>>>>>>>>>>>
>>>>>>>>>>>> When a footprint objects list is composed from
>>>>>>>>>>>> multiple footprint-object classes, we should first merge objects from the
>>>>>>>>>>>> same class as a "set", and then use the original narrowing semantics
>>>>>>>>>>>> between the classes.
>>>>>>>>>>>>
>>>>>>>>>>>> This approach would solve the issue and would align with the
>>>>>>>>>>>> original semantics in most cases, but would also avoid the "absurd result".
>>>>>>>>>>>>
>>>>>>>>>>>> Thoughts?
>>>>>>>>>>>> Thanks,
>>>>>>>>>>>> Nir
>>>>>>>>>>>>
>>>>>>>>>>>> On Mon, Jan 11, 2021 at 7:56 AM Kevin Ma <
>>>>>>>>>>>> kevin.j.ma.ietf@gmail.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi All,
>>>>>>>>>>>>>
>>>>>>>>>>>>>   It's been a while since we had the FCI debates, and FCI has
>>>>>>>>>>>>> a rather complex history, so I've had to refresh my memory.
>>>>>>>>>>>>>
>>>>>>>>>>>>>   wrt the text in question: "Multiple footprint constraints
>>>>>>>>>>>>> are additive: the advertisement of different footprint types narrows the
>>>>>>>>>>>>> dCDN's candidacy cumulatively." I believe that statement was
>>>>>>>>>>>>> referring to if multiple FCI messages were sent for the same capability but
>>>>>>>>>>>>> the messages had different footprints in them; I do not believe it was
>>>>>>>>>>>>> intended to apply to multiple footprints in the same message.  (I believe
>>>>>>>>>>>>> it stemmed from a protocol implementation question for how to override
>>>>>>>>>>>>> footprints and how to deal with footprints in sequential messages, which I
>>>>>>>>>>>>> had addressed in my original capabilities protocol draft:
>>>>>>>>>>>>> https://tools.ietf.org/html/draft-ma-cdni-capabilities-04#section-2
>>>>>>>>>>>>> and
>>>>>>>>>>>>> https://tools.ietf.org/html/draft-ma-cdni-capabilities-04#section-3.2
>>>>>>>>>>>>> .)
>>>>>>>>>>>>>
>>>>>>>>>>>>>   In addition, I don't know that we should give any normative
>>>>>>>>>>>>> weight to a non-normative statement in an appendix.  As the draft points
>>>>>>>>>>>>> out (
>>>>>>>>>>>>> https://tools.ietf.org/html/draft-sopher-cdni-footprint-types-extensions-01#section-2.1
>>>>>>>>>>>>> ), applying the statement to the list of footprints in a single message
>>>>>>>>>>>>> produces an absurd result (i.e., disjoint footprints produce an empty set
>>>>>>>>>>>>> of footprints), and that was certainly not the intention (which I think we
>>>>>>>>>>>>> can infer from the prevention of such a result in the protocol drafts).
>>>>>>>>>>>>>
>>>>>>>>>>>>> > Frankly, this is very strange that the statement is almost
>>>>>>>>>>>>> hidden in a kind of annex  whereas it could have been located in section 5
>>>>>>>>>>>>> in a proper dedicated section.
>>>>>>>>>>>>>
>>>>>>>>>>>>>   Coming out of IETF 90 and 91, we had decided to focus the
>>>>>>>>>>>>> FCI semantics draft on just the information that needed to be advertised
>>>>>>>>>>>>> and separate out the protocol specifications (see:
>>>>>>>>>>>>> https://mailarchive.ietf.org/arch/msg/cdni/3GVjUbBNsf2gV8fQUhcVBRID_mU/
>>>>>>>>>>>>> ).  All of the less relevant material was moved to appendices (per:
>>>>>>>>>>>>> https://mailarchive.ietf.org/arch/msg/cdni/2gLvfnlbpJjIo57bER72kIiSZsk/
>>>>>>>>>>>>> ).  In hindsight we probably could've done more to clean up the appendices,
>>>>>>>>>>>>> but as is always the case, we did not have the benefit of hindsight at the
>>>>>>>>>>>>> time.  The decision was made to rely on ALTO as a transport protocol, which
>>>>>>>>>>>>> defines its own footprint type and enforcement rules (see:
>>>>>>>>>>>>> https://tools.ietf.org/html/draft-ietf-alto-cdni-request-routing-alto-14#section-4.1
>>>>>>>>>>>>> ).
>>>>>>>>>>>>>
>>>>>>>>>>>>>   We probably also could have done more to specify the
>>>>>>>>>>>>> interpretation of the footprint list, but I think that was just delegated
>>>>>>>>>>>>> to the protocol specs.  At the time, there was contentious debate between
>>>>>>>>>>>>> advertising of footprints vs advertising of capabilities (thus:
>>>>>>>>>>>>> https://tools.ietf.org/html/rfc8008#section-3 ), and our
>>>>>>>>>>>>> focus was clarifying the advertisement of capabilities with footprint
>>>>>>>>>>>>> restrictions and completing the semantics draft so we could move forward
>>>>>>>>>>>>> with the protocol draft(s).
>>>>>>>>>>>>>
>>>>>>>>>>>>>   If folks feel strongly about the appendix being confusing,
>>>>>>>>>>>>> we could consider filing an errata?
>>>>>>>>>>>>>
>>>>>>>>>>>>> Sanjay/Nir,
>>>>>>>>>>>>>
>>>>>>>>>>>>>   If we disregard the statement in the appendix and assume
>>>>>>>>>>>>> that within a single message, multiple footprint types are allowed and are
>>>>>>>>>>>>> considered as a set, does that negate the need for the proposed ipv4v6cidr
>>>>>>>>>>>>> footprint type?
>>>>>>>>>>>>>
>>>>>>>>>>>>>   wrt the iso3166code footprint type, I don't see any issue
>>>>>>>>>>>>> with it if folks feel it would be useful.
>>>>>>>>>>>>>
>>>>>>>>>>>>> thanx!
>>>>>>>>>>>>>
>>>>>>>>>>>>> --  Kevin J. Ma
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Sun, Jan 10, 2021 at 5:54 PM Guillaume Bichot <
>>>>>>>>>>>>> Guillaume.Bichot@broadpeak.tv> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hi Sanjay & Nir.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Here is the  statement from 8008 (Appendix B) : Multiple footprint constraints are additive: the advertisement of different footprint types narrows the dCDN's candidacy cumulatively.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Frankly, this is very strange that the statement is almost hidden in a kind of annex  whereas it could have been located in section 5 in a proper dedicated section.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Your proposal solves the issue but not completely. I guess nothing prevent me to add several footprint constraints of the same type like the example below. Strictly speaking, if I captured well that statement, we should end up with an empty list as well.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>      "capabilities": [
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>        {
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>          "capability-type": <CDNI capability object type>,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>          "capability-value": <CDNI capability object>,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>          },
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>          "footprints": [
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>              {
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>                  "footprint-type": "ipv4cidr",
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>                  "footprint-value": ["192.0.20/24"].
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>              },
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>              {
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>                  "footprint-type": "ipv4cidr",
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>                  "footprint-value": [["192.0.21/24"]
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>              }
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>          ]
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>        }
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>      ]
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>    }
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I have another proposal  that is the following: instead of creating a new footprint type that requires a change in RFC8006 as well, why not just changing that statement that looks strange and almost faulty.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> -remove that faulty statement in Appendix B.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> - create a new section 5.x about “footprints” and add a new statement (or just add that new statement in Appendix B) like the following:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> ”Several footprint constraints can be given of either the same type or not.   The uCDN MUST consider the resulting footprint as a set of geographical areas constrained with a set of IP address ranges if any. If several geographical areas overlap then the coverage zone corresponds to the cumulative areas.”
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Examples
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> -          E1: a set of address ranges
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> "ipv4cidr", ["192.0.2.0/24", “192.0.2.1/24”]
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> “ipv4cidr”, [“192.0.2.2/28”]
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> "ipv6cidr", ["2001:db8::/32"]
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> -          E2: a set of geographical areas
>>>>>>>>>>>>>> "iso3166code", ["ca", us-ny]
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> -          E3: a mixed of geographical areas and address ranges
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> "ipv4cidr", ["192.0.2.0/24"]
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> "ipv6cidr", ["2001:db8::/32"]
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> -          "iso3166code", ["ca", “us-ny”]
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Guillaume
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> *Guillaume BICHOT, **Principal Engineer, Head of Exploration*
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> +33 (0) 6 8559 7666 | guillaume.bichot@broadpeak.tv
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> *From:* CDNi [mailto:cdni-bounces@ietf.org
>>>>>>>>>>>>>> <cdni-bounces@ietf.org>] *On Behalf Of *Nir Sopher
>>>>>>>>>>>>>> *Sent:* Wednesday, December 23, 2020 6:19 PM
>>>>>>>>>>>>>> *To:* cdni@ietf.org
>>>>>>>>>>>>>> *Subject:* [E] [CDNi] New Internet Draft:
>>>>>>>>>>>>>> draft-sopher-cdni-footprint-types-extensions
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> We have submitted
>>>>>>>>>>>>>> draft-sopher-cdni-footprint-types-extensions
>>>>>>>>>>>>>> <https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Furldefense.proofpoint.com%2Fv2%2Furl%3Fu%3Dhttps-3A__datatracker.ietf.org_doc_draft-2Dsopher-2Dcdni-2Dfootprint-2Dtypes-2Dextensions_%26d%3DDwMFaQ%26c%3DudBTRvFvXC5Dhqg7UHpJlPps3mZ3LRxpb6__0PomBTQ%26r%3DXniVbishGiO2Ao9hKqSc-hTVIWCi3T-x6GdHR4ZTgoM%26m%3DTs5uj_nZmoHgi7pPldjWKsDPgmeeiO_RkotsI8zZD-E%26s%3DoWZZ4TjWJsq7Ao899RmyOUwUgAjNYeVlksfkKAy-UeA%26e%3D&data=04%7C01%7Cguillaume.bichot%40broadpeak.tv%7Cf6b67a86cc4b44ff6b7a08d8a83b82a1%7C0ebe44eac9c9438da0407e699f358ed4%7C0%7C0%7C637444320869999346%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=YxIzX3bst5GAicrOxFI%2BqfRZYO65%2Fwh07pDTwoYrrJg%3D&reserved=0>
>>>>>>>>>>>>>> that extends RFCs 8006/8008 in order to address the following issue:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>    - Sections 4.3.5 and 4.3.6 of [RFC8006] specify the
>>>>>>>>>>>>>>    "IPv4CIDR" and  "IPv6CIDR" footprint types, respectively, for listing IP
>>>>>>>>>>>>>>    addresses blocks.  Using Footprint Objects of these types, one can define
>>>>>>>>>>>>>>    an FCI Capability Advertisement Object footprint constraints that
>>>>>>>>>>>>>>    match IPv4 or IPv6 clients. Also as described in section 5 of RFC 8008, the
>>>>>>>>>>>>>>    FCI Capability Advertisement Object includes an array of such CDNI
>>>>>>>>>>>>>>    Footprint Objects. The array of Footprint Objects has a "narrowing"
>>>>>>>>>>>>>>    semantic that prevents the usage of IPv4/IPv6 objects together in order to
>>>>>>>>>>>>>>    create a footprint constraint that matches IPv4 clients together with IPv6
>>>>>>>>>>>>>>    clients.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> In the submitted draft:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>    1. We add a new usecase of dCDN advertising a footprint
>>>>>>>>>>>>>>    that consists of both IPv4 and IPv6 client addresses, by defining a new
>>>>>>>>>>>>>>    "IPv4v6CIDR" Footprint Type.
>>>>>>>>>>>>>>    2. We also add support for ISO3166Code Footprint Type,
>>>>>>>>>>>>>>    based on ISO 3166 country codes and regions definition. This Footprint Type
>>>>>>>>>>>>>>    allows the dCDN to advertise a footprint based on a specific region, for
>>>>>>>>>>>>>>    example a state in the USA.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> We would highly appreciate it if folks can review and provide
>>>>>>>>>>>>>> any feedback.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thanks and Happy Holidays,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Sanjay & Nir
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>> CDNi mailing list
>>>>>>>>>>>>>> CDNi@ietf.org
>>>>>>>>>>>>>> https://www.ietf.org/mailman/listinfo/cdni
>>>>>>>>>>>>>>
>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>> CDNi mailing list
>>>>>>>>>>>>> CDNi@ietf.org
>>>>>>>>>>>>> https://www.ietf.org/mailman/listinfo/cdni
>>>>>>>>>>>>>
>>>>>>>>>>>>>