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

Nir Sopher <nirs@qwilt.com> Fri, 02 July 2021 11:53 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 CF9F53A1BC4 for <cdni@ietfa.amsl.com>; Fri, 2 Jul 2021 04:53:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.654
X-Spam-Level:
X-Spam-Status: No, score=-0.654 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_BLOCKED=0.001, 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 ISf55ZwZm9KR for <cdni@ietfa.amsl.com>; Fri, 2 Jul 2021 04:52:57 -0700 (PDT)
Received: from mail-lf1-x129.google.com (mail-lf1-x129.google.com [IPv6:2a00:1450:4864:20::129]) (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 133C83A1BBB for <cdni@ietf.org>; Fri, 2 Jul 2021 04:52:56 -0700 (PDT)
Received: by mail-lf1-x129.google.com with SMTP id a15so17574987lfr.6 for <cdni@ietf.org>; Fri, 02 Jul 2021 04:52:56 -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=K3yUAy1xAdwFyt41pX/Z18oUj1rCNrpP6MKFRj3y/j0=; b=fF+KTSnRhTkkm/aw5inOZMi0VitkYpU+OuYJ/SpP6cUJieo6oy94ev17KtEiy2U1wk WPwOrddr9PZNmDPTlzkGT4oXFfVKsSu+L2fANrIPmKZVQAEgqcdwdcOu35ClMLqAogm3 VzRK9SXZTKjJWmF0NCB3qjb6z3bMi355ds+riMtpnZnegWh8ruSAzZ18qWzWreaKqO99 mt2Y2U+0ZWjwKoGDQGehZodD9LTVP8sj3coINij3AjiY/8k0LBsGv8jaaADAqOr0m2ec E6BcTJQ1jY6MUpkpAnCmlcBL8yrUwLoZVR/nBnWrg18xFmNyiONQwauR5nMJj272Yj+s CTKw==
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=K3yUAy1xAdwFyt41pX/Z18oUj1rCNrpP6MKFRj3y/j0=; b=OEzgQAwBMmkAS85hm7MV2Q4UKERTLiDrfzpNC24SIXykTBMhLd/qkqa0sHt6T+z9pP DnN3JBtRHBHm6fjr+jaZSeUsCmN3iRRyfvV7Lt2JK0HZx4bPMIpDuletrVjY729rn8Rw QHYOep67sNwJ6EXchYp+sB5Kdv8TuCCTYwo3elanJ1icdIgcnWtY4eM7JAxzo157HhUe 7FMPlEQ8tQ6hEkOOQ2N00y/ZJCM5VFh9hxxGnFcHHoONHBmEdsctn6Sk96VGh4D0QpcO lauzB9kLVKKOEQrv3GSaxZKeUz7UFVZ5yfE+/rdKsFcCXTLBThzcWOeHWOHQnNcnxFPZ KdDg==
X-Gm-Message-State: AOAM533QzD1O24vnaBeE8voDXJ2sNJGFRDCWPm6JKF1ym+VIx+u68o9C VjgIr4LRlFh2wkRVhFBYw5/2ngslHpr/MAxnQwMoiA==
X-Google-Smtp-Source: ABdhPJxrJmPrOQkfzKTX3Gurzfp2RTNeacOGPhjkwggRUXC4jRtDFgupyYQB8SDTBD6tH9m+0AGcG4L+80Zfqj+9h94=
X-Received: by 2002:a05:6512:46d:: with SMTP id x13mr3576516lfd.123.1625226773456; Fri, 02 Jul 2021 04:52:53 -0700 (PDT)
MIME-Version: 1.0
References: <97e045b4b8ae42738a43f3dc0e3e1ca1@tbwexch02apd.uswin.ad.vzwcorp.com> <PR3PR10MB4239816DC20211300DC4EE49E1AC0@PR3PR10MB4239.EURPRD10.PROD.OUTLOOK.COM> <CAMrHYE2QM8+G2Z0BJ5O3iLej7qsxB_ZWY_8G9jHsrwVX0-1u8w@mail.gmail.com> <CA+ec=9paJQYpTQRc9v7C_WqekynApA-mNY90746uXc+_+mHs-g@mail.gmail.com> <CAMrHYE2Me__fOd8Q=e7ni98M6Aws+Z8YyyOfZamBjVUS7G2mzA@mail.gmail.com> <CA+ec=9pA4z3Psfj8NJwEenWEh_se0W_MgikQM5-CCVPf35qj_A@mail.gmail.com> <CAMrHYE2M1tTnMLV_xRSXmGL4sQgCxvYSER2mi3nLohHdrxm9fA@mail.gmail.com> <CA+ec=9rhB2=tUZUH_7ZekCT7EGuUy5Zt3Z0ZK7F=qvu02Yev7w@mail.gmail.com> <CAMrHYE2geSS4i=wLgkd8gOuG=FwbH79u+GRQ6RZPYTw+wsATiw@mail.gmail.com> <CA+ec=9ry9=-jnoZTUQ07Ve+zbrPQ6x1QOPOyThNge=m6DNQGhA@mail.gmail.com> <CAMrHYE2QSReE3V0hYjnTU4acWtzgpWNxGh5xdycwHijJNL6STg@mail.gmail.com> <CA+ec=9oQeZ-xxRRMS42x5rQ0Zb7VCh-tWPKVs0qFBh_Qt59xAQ@mail.gmail.com>
In-Reply-To: <CA+ec=9oQeZ-xxRRMS42x5rQ0Zb7VCh-tWPKVs0qFBh_Qt59xAQ@mail.gmail.com>
From: Nir Sopher <nirs@qwilt.com>
Date: Fri, 02 Jul 2021 14:52:40 +0300
Message-ID: <CA+ec=9qV-p1z8AXoaHDaO11H7G6k67maen4woqnure4ykiKbFQ@mail.gmail.com>
To: Kevin 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="00000000000082fdf505c6229885"
Archived-At: <https://mailarchive.ietf.org/arch/msg/cdni/4wk0dJ7jQH2ASjgDpt6dbPTc2Mo>
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: Fri, 02 Jul 2021 11:53:04 -0000

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
>>>>>>>>>>
>>>>>>>>>>