Skip to main content

Content Delivery Network Interconnection (CDNI) Named Footprints
draft-arolovitch-cdni-named-footprints-01

Document Type Active Internet-Draft (individual)
Author Alan Arolovitch
Last updated 2024-03-04
RFC stream (None)
Intended RFC status (None)
Formats
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-arolovitch-cdni-named-footprints-01
Network Working Group                                      A. Arolovitch
Internet-Draft                                                    Viasat
Updates: 7336, 8006, 8008 (if approved)                     4 March 2024
Intended status: Standards Track                                        
Expires: 5 September 2024

    Content Delivery Network Interconnection (CDNI) Named Footprints
               draft-arolovitch-cdni-named-footprints-01

Abstract

   Open Caching architecture is a use case of Content Delivery Networks
   Interconnection (CDNI) in which the commercial Content Delivery
   Network (CDN) is the upstream CDN (uCDN) and the ISP caching layer
   serves as the downstream CDN (dCDN).  This document extends the
   Footprint & Capabilities Advertisement Interface (FCI) defined in
   RFC8008, to allow advertising of named footprint objects, that can be
   referenced in a consistent manner from Metadata Interface (MI), also
   defined in RFC8006, as well as from the FCI itself as well as
   additional interfaces in the Open Caching architecture.  This
   document also supplements the CDNI Metadata Footprint Types defined
   in RFC8006 and modifies the CDNI operation as described in RFC7336.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on 5 September 2024.

Copyright Notice

   Copyright (c) 2024 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

Arolovitch              Expires 5 September 2024                [Page 1]
Internet-Draft  Content Delivery Network Interconnection      March 2024

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents (https://trustee.ietf.org/
   license-info) in effect on the date of publication of this document.
   Please review these documents carefully, as they describe your rights
   and restrictions with respect to this document.  Code Components
   extracted from this document must include Revised BSD License text as
   described in Section 4.e of the Trust Legal Provisions and are
   provided without warranty as described in the Revised BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
     1.1.  What is a Footprint . . . . . . . . . . . . . . . . . . .   3
     1.2.  Types of footprint  . . . . . . . . . . . . . . . . . . .   4
     1.3.  Footprint support in FCI today  . . . . . . . . . . . . .   4
     1.4.  Motivations . . . . . . . . . . . . . . . . . . . . . . .   5
       1.4.1.  Interface-level footprint awareness . . . . . . . . .   5
       1.4.2.  Cross-interface consistency . . . . . . . . . . . . .   5
       1.4.3.  CDN slicing . . . . . . . . . . . . . . . . . . . . .   5
       1.4.4.  Management of complex footprints  . . . . . . . . . .   5
       1.4.5.  Computational efficiency  . . . . . . . . . . . . . .   6
     1.5.  Terminology . . . . . . . . . . . . . . . . . . . . . . .   6
   2.  Requirements  . . . . . . . . . . . . . . . . . . . . . . . .   6
     2.1.  Footprints Advertisement  . . . . . . . . . . . . . . . .   6
     2.2.  Hierarchy . . . . . . . . . . . . . . . . . . . . . . . .   7
     2.3.  Backwards compatibility . . . . . . . . . . . . . . . . .   7
     2.4.  Explicit Logic  . . . . . . . . . . . . . . . . . . . . .   7
     2.5.  Consistent Datasource . . . . . . . . . . . . . . . . . .   8
     2.6.  Footprint Namespaces  . . . . . . . . . . . . . . . . . .   9
     2.7.  Footprints and Service Identifiers  . . . . . . . . . . .   9
   3.  Changes to CDNI Metadata  . . . . . . . . . . . . . . . . . .   9
     3.1.  CDNI Metadata Additional Footprint Types  . . . . . . . .   9
       3.1.1.  Expression Footprint Type . . . . . . . . . . . . . .   9
         3.1.1.1.  Expression Footprint Type Description . . . . . .   9
       3.1.2.  Named Footprint Type  . . . . . . . . . . . . . . . .  10
         3.1.2.1.  Named Footprint Type Description  . . . . . . . .  10
     3.2.  Changes to Existing CDNI Metadata Footprint Types . . . .  10
     3.3.  Changes to CDNI Metadata  . . . . . . . . . . . . . . . .  11
       3.3.1.  MI NamedFootprint . . . . . . . . . . . . . . . . . .  11
       3.3.2.  MI NamedFootprintNamespace  . . . . . . . . . . . . .  12
       3.3.3.  MI FootprintSource  . . . . . . . . . . . . . . . . .  13
   4.  Changes to CDNI Operation . . . . . . . . . . . . . . . . . .  14
     4.1.  CDNI Operation Overview . . . . . . . . . . . . . . . . .  14
     4.2.  FCI Advertisement . . . . . . . . . . . . . . . . . . . .  15
     4.3.  Use of Named Footprints . . . . . . . . . . . . . . . . .  17
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  17
     5.1.  CDNI Metadata Footprint Types . . . . . . . . . . . . . .  17
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .  17

Arolovitch              Expires 5 September 2024                [Page 2]
Internet-Draft  Content Delivery Network Interconnection      March 2024

   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  17
     7.1.  Normative References  . . . . . . . . . . . . . . . . . .  17
     7.2.  Informative References  . . . . . . . . . . . . . . . . .  18
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .  18

1.  Introduction

   The Streaming Video Technology Alliance [SVTA] is a global
   association that works to solve streaming video challenges in an
   effort to improve end-user experience and adoption.  The Open Caching
   Working Group [OCWG] of the Streaming Video Technology Alliance
   [SVTA] is focused on the delegation of video delivery requests from
   commercial CDNs to a caching layer at the ISP's network.  Open
   Caching architecture is a specific use case of CDNI where the
   commercial CDN is the upstream CDN (uCDN) and the ISP caching layer
   is the downstream CDN (dCDN).

   For consistency with other CDNI documents this document follows the
   CDNI convention of uCDN (upstream CDN) and dCDN (downstream CDN) to
   represent the commercial CDN and ISP caching layer respectively.

1.1.  What is a Footprint

   The definition of footprint within existing CDNi and open caching
   architecture literature remains ambiguous.  Appendix B "Semantics for
   Footprint Advertisement" of RFC8006 [RFC8006] reads:

   Generally speaking, one can imagine two categories of footprints to
   be advertised by a dCDN:

   *  A footprint could be defined based on coverage/reachability, where
      "coverage/reachability" refers to a set of prefixes, a geographic
      region, or similar boundary.  The dCDN claims that it can cover/
      reach "end user requests coming from this footprint".

   *  A footprint could be defined based on resources, where "resources"
      refers to Surrogates a dCDN claims to have (e.g., the location of
      Surrogates/resources).  The dCDN claims that "from this footprint"
      it can serve incoming end user requests.

   Within the open caching architecture the use of footprints revolves
   around uCDN handling an end user request.  Therefore this document is
   going to focus on the coverage footprints - a collection of end users
   that dCDN is willing and able to serve, while leaving the room for
   future use of footprints for management of dCDN cache resources.  The
   coverage footprint is defined through end user IP address (IPv4 and/
   or IPv6 CIDRs), or attributes that can be derived from this address
   (BGP autonomous system number, country code, subdivision code)

Arolovitch              Expires 5 September 2024                [Page 3]
Internet-Draft  Content Delivery Network Interconnection      March 2024

1.2.  Types of footprint

   Several types of CDN footprints may be be defined:

   *  Disaggregated - CDN spanning disparate coverage regions, which lie
      in different geographies and/or jurisdictions, yet share common
      management.

   *  Regional - Different coverage regions within contiguous coverage,
      that have distinct properties, yet users within one region may be
      served from other CDN regions, for example in case of failure or
      overload

   *  Functional - CDN regions with different functional and capacity
      characteristics, e.g. highly distributed CDN with limited storage
      capacity at each node

   Furthermore, dCDN may manage different footprint break-down for
   various traffic subsets it carries - by CDN tenant, type of traffic,
   hostname, service identifier etc.

1.3.  Footprint support in FCI today

   The Footprint and Capabilities Interface (FCI), as specified in
   [RFC8006] provides an interface, allowing uCDNs to query dCDN
   capabilities, published via object-based data model in compliance
   with [RFC8006] and [RFC8008].  The dCDN capabilities objects
   published by FCI may optionally be associated with one or more
   footprint, via the "footprints" property, which is an array of MI
   Footprint objects.

   The MI Footprint objects are encoded in compliance with [RFC8006] and
   contain two properties: "footprint-type" and "footprint-value".  They
   are declarative and are scoped within their parent capability object.
   The footprint types specified in [RFC8006] include IPv4 CIDR block
   ("ipv4cidr"), IPv6 CIDR block ("ipv6cidr"), BGP autonomous system
   number ("asn") and country ("countrycode").  The footprint value
   property is an array of one or more footprint values of the same
   type.

   According to [RFC8008], combination of multiple footprint types is to
   be understood as additive or, in other words, as an implicit boolean
   OR operation.

   Neither [RFC8006] nor [RFC8008] provide instruction on how uCDN is to
   match end user requests with higher-level footprint types like
   country.

Arolovitch              Expires 5 September 2024                [Page 4]
Internet-Draft  Content Delivery Network Interconnection      March 2024

1.4.  Motivations

   A need exists for dCDN to advertise footprints for use across
   multiple dCDN interfaces in a way that is consistent, flexible and
   can support complex footprint structure in a computationally
   efficient way.  Various motivations for having such capability
   include:

1.4.1.  Interface-level footprint awareness

   By creating addressable footprints resources, it becomes possible for
   all open caching interfaces to associate interface operations and
   responses with specific footprints, including but not limited to: CDN
   configuration by footprint, request routing methods by footprint,
   cache management operations by footprint, logging by footprint,
   capacity management and monitoring by footprint.

1.4.2.  Cross-interface consistency

   In several cases use of footprints may affect multiple interfaces.
   For example, differentiated CDN configuration may trigger logging by
   footprint or affect footprint-specific cache management operations.
   In these cases common footprint definition that is external to
   individual interfaces is required to assure consistency.

1.4.3.  CDN slicing

   In some cases, CDN providers may want to operate CDN footprints as
   fully autonomous virtual CDNs, with their own configuration,
   management and reporting as well as a distinct set of content
   provider tenants.  This capability is particularly useful for CDN
   providers that manage disaggregated CDN footprints across different
   geographies.  In the CDN slicing scenario, the footprints may
   optionally share some aspects of operation (i.e. have common
   tenants), while differing in every other aspect, for operational
   reasons.  It is the duty of the uCDN to consistently use the
   footprint across different interfaces, once advertised.

1.4.4.  Management of complex footprints

   Some types of footprints (e.g. distributed last-mile footprint) can
   be highly dynamic and large in volume.  Because of that they would
   require high-frequency querying and benefit from caching support,
   unlike capabilities advertisement which is relatively static in
   nature.  Because of this, it would be beneficial to allow querying of
   individual footprint resources separately from capabilities
   advertisement, which tends to be mostly static.

Arolovitch              Expires 5 September 2024                [Page 5]
Internet-Draft  Content Delivery Network Interconnection      March 2024

1.4.5.  Computational efficiency

   Some of the uses of footprint advertisements are tied to uCDN request
   handling, and should be as computationally efficient as possible.

1.5.  Terminology

   The following terms are used throughout this document:

   *  CDN - Content Delivery Network

   *  CIDR - Classless Internet-Domain Routing

   Additionally, this document reuses the terminology defined in
   [RFC7337], [RFC8006], and [RFC8008].  Specifically, we use the
   following CDNI acronyms:

   *  uCDN, dCDN - Upstream CDN and Downstream CDN respectively (see
      [RFC7336])

2.  Requirements

2.1.  Footprints Advertisement

   dCDN must advertise its footprints via FCI as named resources,
   separately from the capabilities advertised in the same interface.
   dCDN is solely responsible for the footprints it advertises.  This
   footprint advertisement will provide a source of truth as to what
   footprints are available from dCDN and be referenceable from FCI
   capabilities and other open caching interfaces exposed by the same
   dCDN.

   uCDNs must authenticate themselves when accessing the footprint
   advertising, subject to open caching authentication and authorization
   framework.  dCDN is at freedom to advertise different footprints to
   different uCDN tenants.  dCDN may change the content of footprint
   advertisements, including publishing footprints without any footprint
   values, however it is not at liberty to retire a footprint once
   advertised as long as there are resources associated with it.

   The footprints advertisement will provide mechanisms allowing uCDN to
   manage a local cached copy of advertising, and differentiated
   querying of individual, more dynamic footprints, while at the same
   time allowing for the whole footprint advertisement to be captured.
   The footprint advertising is to support both "coverage" and
   "resource" footprints.

Arolovitch              Expires 5 September 2024                [Page 6]
Internet-Draft  Content Delivery Network Interconnection      March 2024

2.2.  Hierarchy

   The dCDN advertisement must support explicit hierarchy, in which
   footprints resources may include sub-footprints, e.g. specific
   subdivision code within a country, list of IPv4 CIDRs within specific
   ISP defined by one or more ASN etc.  A footprint resource encompasses
   all of the footprint values and sub-footprints within it, so
   interface resources (e.g. logging, configuration hostnames, cache
   management buckets) associated with a footprint apply to all of it,
   including sub-footprints.

   In case of conflict between interface resources of lower-level
   footprint and higher-level footprint, the resources associated with
   the lower-level footprint take priority.  It is dCDN responsibility
   to make sure that sub-footprints are indeed included in their parent
   footprint scope.  When matching an IP address against footprint
   hierarchy, the lowest level footprint takes priority as well.

2.3.  Backwards compatibility

   The footprint definition must be backwards compatible with MI
   Footprint encoding as specified in Section 4.2.2.2 of [RFC8006], as
   well as all registered footprint types "CDNI Metadata Footprint
   Types" sub-registry in the "Content Delivery Network Interconnection
   (CDNI) Parameters".  To enhance computability, consistency and
   business logic of footprint advertisement, the specification may
   introduce new footprint types as well as footprint properties, in
   addition to footprint type and value.

2.4.  Explicit Logic

   In some cases, CDNs require complex footprints definitions, that
   include inclusion and exclusion of specific footprint values from
   footprint definitions (e.g. country code, exclusive of some ISPs and
   that country but inclusive of some IPv4 or IPv6 CIDRs that are not
   included in the current country definition).  To support that,
   footprint definitions to support Metadata Expression Language
   exressions as defined in Section 3 of
   [CDNI-Metadata-Model-Extensions].  The new footprint type "expr" is
   to be introduced to the "CDNI Metadata Footprint Types" registry.

   To accommodate footprint logic, the following MEL expression
   variables are hereby introduced

   *  ep.asn - Endpoint AS number

   *  ep.ipv4addr - Endpoint IPv4 address

Arolovitch              Expires 5 September 2024                [Page 7]
Internet-Draft  Content Delivery Network Interconnection      March 2024

   *  ep.ipv6addr - Endpoint IPv6 address

   *  ep.country - Endpoint country code

   *  ep.subdivision - Endpoint subdivision code

   Thus, the following MEL expressions can be used for footprint
   advertisement:

       {
         "footprint-type": "expr",
         "footprint-value": [ " ( $ep.country == "us" ) and
           not $ep.ipv4addr ipmatch ( "10.1.1/24" or "10.1.2.0/24" )" ]
       }

       {
          "footprint-type": "expr",
          "footprint-value": [ "( $ep.asn = 1234 ) or
           ( $ep.ipv4addr ipmatch "192.168.1/24" ) or
           ( $ep.ipv6addr ipmatch "2001:db8:3333:4444/48" )" ]
       }

       {
         "footprint-type": "expr",
         "footprint-value": [ "( $ep.country == "us" ) and
            not ( $ep.subdivision=="us-ny" )" ]
       }

2.5.  Consistent Datasource

   While IP-based footprint types like "ipv4cidr" and "ipv6cidr" are
   unambiguous, when using other footprint types like "country" or
   "asn", uCDN and dCDN need to use external databases to lookup the
   footprint value using an IP address.  Multiple databases for IP
   address intelligence are in use in the industry today, which may be
   at odds with each other over how to map particular IP address.  Often
   the ISP provider operating downstream CDN is the source of
   authoritative mapping of IP addresses under its management.  Thus
   dCDN should be able to publish IP address mapping information in its
   network for use by uCDN.  When publishing footprint values that rely
   on 3rd party datasources, dCDN should be able to indicate the origin
   and specific version of datasource(s) used.

Arolovitch              Expires 5 September 2024                [Page 8]
Internet-Draft  Content Delivery Network Interconnection      March 2024

2.6.  Footprint Namespaces

   dCDN may utilize different footprint break-down for different uCDN
   traffic subsets it carries.  There are multiple ways that dCDN may
   identify such traffic, including hostname, type of traffic, service
   identifiers etc.  Additionally, there is a need to accommodate both
   "resource" and "coverage" footprints.

   To allow such differentiated break-down in an open way, footprint
   namespaces are introduced, allowing dCDN to publish more than one
   footprint break-down advertisement to each uCDN tenant.  Matching of
   IP address to footprint is unique within each namespace.

2.7.  Footprints and Service Identifiers

   Need exists to provide differentiated capabilities by traffic subset,
   e.g. type of traffic, hostname, service identiers or combination
   thereof, which may not be related to "coverage" footprint as defined
   above.  It is to be determined whether this requirement is best
   addressed by scoping such capabilities in a footprint, which would be
   extended to refer to traffic subsets, or through a new scoping object
   that defines named traffic classes in a manner similar to named
   footprints.

3.  Changes to CDNI Metadata

3.1.  CDNI Metadata Additional Footprint Types

   Section 5 of [RFC8008] describes the FCI Capability Advertisement
   Object, which includes an array of CDNI Footprint Objects.  Each such
   object has a footprint-type and a footprint-value, as described in
   section 4.2.2.2 of [RFC8006].  This document defines additional
   footprint types, beyond those mentioned in CDNI metadata [RFC8006].

3.1.1.  Expression Footprint Type

   The "expr" footprint type specified in Section 3.1.1.1 describes a
   footprint using CDNI Metadata Expression Language as defined in
   Section 3 of [CDNI-Metadata-Model-Extensions].  The data type is
   added to the list of data types described in section 4.3 of
   [RFC8006].  This data type may supersede the "footprintunion"
   datatype defined in [RFC9388]

3.1.1.1.  Expression Footprint Type Description

   The footprint value is a CDNI Metadata Expression Language
   expression, as defined in Section 3 of
   [CDNI-Metadata-Model-Extensions].

Arolovitch              Expires 5 September 2024                [Page 9]
Internet-Draft  Content Delivery Network Interconnection      March 2024

      Type: String

      Examples:

      ( $ep.country == "us" ) and

      not $ep.ipv4addr ipmatch ( "10.1.1/24" or "10.1.2.0/24" )"

      ( $ep.asn = 1234 ) or ( $ep.ipv4addr ipmatch "192.168.1/24" ) or

      ( $ep.ipv6addr ipmatch "2001:db8:3333:4444/48" )

3.1.2.  Named Footprint Type

   The "named" footprint type specified in Section 3.1.2.1 describes an
   addressable footprint, that can be referenced by other CDNI Metadata
   objects as well as used within CDNI interfaces using CDNI Metadata
   Expression Language "[CDNI-Metadata-Model-Extensions].  The data type
   is added to the list of data types described in section 4.3 of
   [RFC8006].

3.1.2.1.  Named Footprint Type Description

   The footprint value is the URI of named footprint advertised via the
   FCI footprint advertised as described in Section 4.2

      Type: String

      Example:

      "https://oc.dcdn.com/FCI/footprints/live/us"

3.2.  Changes to Existing CDNI Metadata Footprint Types

   As indicated in Section 2.5, resolution of complex footprint
   datatypes, relies on 3rd party datasources and maybe ambiguous.
   Additionally, it should be possible for dCDN to self-publish IP
   address information.  Such footprint types include "asn" and
   "country" defined in Section 4.2.2.2 of [RFC8006], as well as
   "subdivisioncode" footprint type, defined in [RFC9388]

   It is hereby proposed to add an optional attribute "footprint-source"
   to the footprint object, typed as array of MI FootprintSource
   objects, that enumerate all footprint datasources that MUST be used
   when evaluating whether an IP address belongs to the footprint in
   question.  If no footprint source is provided, any datasource can be
   used for this purpose.

Arolovitch              Expires 5 September 2024               [Page 10]
Internet-Draft  Content Delivery Network Interconnection      March 2024

3.3.  Changes to CDNI Metadata

   This section details proposed changes to the CDNI Metadata model, as
   defined in Section 4 of [RFC8006].  The changes are limited to
   introduction of new objects and thus backward compatibility with
   [RFC8006] is preserved

3.3.1.  MI NamedFootprint

   NamedFootprint is a new GenericMetadata object that defined a named
   footprint that can be explicitly referenced by the CDNI Metadata
   objects.

      - Property: footprint-def

      Description: Footprint definition

      Type: JSON-encoded MI Footprint object as defined in
      Section 4.2.2.2 of [RFC8006]

      Mandatory: Yes

      - Property: subfootprints

      Description: List of descendant footprints in the footprint
      hierarchy

      Type: Array of MI NamedFootprint objects as defined in
      Section 3.3.1

      Mandatory: No

      - Property: footprint-name

      Description: Footprint name, must be unique in same footprint
      namespace

      Type: String

      Mandatory: Yes

      - Property: footprint-uri

      Description: URI pointing to the footprint definition.  Can be
      queried by uCDN separately

      Type: String

Arolovitch              Expires 5 September 2024               [Page 11]
Internet-Draft  Content Delivery Network Interconnection      March 2024

      Mandatory: Yes

      - Property: footprint-expires

      Description: Timestamp for footprint definition expiration, should
      be used for caching and refreshing of the footprint definition.

      Type: Date-time

      Mandatory: Yes

3.3.2.  MI NamedFootprintNamespace

   NamedFootprintName is a new GenericMetadata object that defines a
   namespace containing footprints.  Footprints should have unique name
   within each namespace.  dCDN should advertise footprints so that each
   endpoint resolves unambiguously to a footprint within each namespace.

      - Property: footprint-namespace

      Description: Footprint namespace name

      Type: String

      Mandatory: Yes

      - Property: footprint-type

      Description: Definition of footprint type advertised in the
      namespace as defined in Appendix B of [RFC8006]

      Type: One of "coverage" or "resource"

      Mandatory: Yes

      - Property: footprints

      Description: List of root footprints included in the namespace

      Type: Array of MI NamedFootprint objects as defined in
      Section 3.3.1

      Mandatory: Yes

Arolovitch              Expires 5 September 2024               [Page 12]
Internet-Draft  Content Delivery Network Interconnection      March 2024

3.3.3.  MI FootprintSource

   FootprintSource is a new GenericMetadata object that defines a
   datasource that MUST be used when matching IP addresses with a
   footprint.

      - Property: footprint-source-type

      Description: Type of datasrouce.  Can be either "rfc8805" for
      geolocation feeds published by dCDN in accordance with [RFC8805]
      or "private" for datasource utilizing proprietary data formats
      and/or APIs

      Type: String

      Mandatory: Yes

      - Property: footprint-source-uri

      Description: Footprint source URI.  For "rfc8805" footprint
      sources should be the URI for access of the self-published feed.
      For other footprint sources, the URI should identify the footprint
      source in a unique way.

      Type: String

      Mandatory: Yes

      - Property: footprint-source-footprint-type

      Description: Footprint type(s) supported by this footprint source

      Type: Array of Strings, can take values of "country", "asn" or
      "subdivisioncode"

      Mandatory: Yes

   The example of named footprint advertisement is as follows:

Arolovitch              Expires 5 September 2024               [Page 13]
Internet-Draft  Content Delivery Network Interconnection      March 2024

{
        "footprint-source-type": "rfc8805",
        "footprint-source-uri": "http://noc.ietf.org/geo/google.csv"
        "footprint-source-footprint-type": [ "country", "subdivisioncode" ]
}

{
        "footprint-source-type": "private",
        "footprint-source-uri": "https://www.maxmind.com",
        "footprint-source-footprint-type": [ "country", "subdivisioncode" ]
}

{
        "footprint-source-type": "private",
        "footprint-source-uri": "https://tools.iplocation.net/ip-to-asn",
        "footprint-source-footprint-type": [ "asn" ]
}

4.  Changes to CDNI Operation

4.1.  CDNI Operation Overview

   The CDNI framework presumes that uCDN consumes dCDN capabilities with
   footprint restrictions at the outset of uCDN delegating traffic to
   dCDN.  The capabilities discovered in this way are subsequently used
   for metadata-driven configuration of dCDN and request routing.  As an
   option, uCDN and dCDN may refresh the capabilities information via
   the FCI interface on periodic basis.  This process is outlined in
   Section 3 of [RFC7336].

   This document proposes the following change to the CDNI operation:

   1.  dCDN advertises the capabilities and footprints via the FCI
       interface.  The footprint advertisement consists of MI
       NamedFootprint objects, as defined in Section 3.3.1, in one or
       more namespaces.  The footprint advertisement contains expiration
       information and URIs for every named footprint.  The capabilities
       advertised may be scoped to the named footprints advertised.

   2.  uCDN retrieves the dCDN advertised capabiities via FCI.

   3.  uCDN retrieves and caches the dCDN advertised footprints via FCI.

   4.  uCDN configures dCDN using CDNI Metadata over MI interface.  The
       metadata may optionally reference the footprints advertised by
       dCDN.

Arolovitch              Expires 5 September 2024               [Page 14]
Internet-Draft  Content Delivery Network Interconnection      March 2024

   5.  uCDN receives content request from a user agent.

   6.  uCDN matches user agent IP address against the cached copy of
       footprint advertisement made by the dCDN and makes decision to
       delegate the request to the dCDN

   7.  uCDN redirects the request to the dCDN by sending a response to
       the user agent (either DNS or HTTP).

   8.  At any time following the initial retrieval of the footprint
       advertisement, uCDN may refresh all or part of the cached
       footprint advertisement, subject to the expiration information
       provided with every footprint.

   The FCI footprint advertisement allows for some footprints to be
   updated more frequently than others.  uCDN will require to query the
   frequently changing footprint definitions only in case these
   footprints affect uCDN handling of the user agent requests.  Thus, it
   is expected that the dCDN will not advertise high-level footprints
   with low time-to-live (TTL).

4.2.  FCI Advertisement

   The example of named footprint advertisement is as follows:

[
  {
    "footprint-namespace": "default",
    "footprint-type": "coverage",
    "footprints": [
      {
         "footprint-name": "default/us",
         "footprint-expires": "2023-02-09T17:32:28Z",
         "footprint-uri":
           "https://oc.dcdn.com/FCI/footprints/default/us",
         "footprint-def": {
           "footprint-type": "asn",
           "footprint-value": [ "1234:1" ]
         }
         "footprints": [
           {
             "footprint-name": "default:us/us-edge",
             "footprint-expires": "2023-02-09T17:32:28Z",
             "footprint-uri":
               "https://oc.dcdn.com/FCI/footprints/default/us/us-edge",
             "footprint-def": {
               "footprint-type": "expr",

Arolovitch              Expires 5 September 2024               [Page 15]
Internet-Draft  Content Delivery Network Interconnection      March 2024

               "footprint-value": [ "$ep.asn = 1234:1 and
                 ( $ep.ipv4addr ipmatch "192.168.1/24"
                   or $ep.ipv6addr ipmatch "2001:db8:3333:4444/48" ) " ]
            }
         ]
       },
       {
         "footprint-name": "default/brasil",
         "footprint-expires": "2023-02-09T17:32:28Z",
         "footprint-uri":
           "https://oc.dcdn.com/FCI/footprints/default/brasil",
           "footprint-def": {
             "footprint-type": "asn",
             "footprint-value": [ "1234:2" ]
           }
       }
    ]
  },
  {
    "footprint-namespace": "live",
    "footprint-type": "coverage",
    "footprints": [
      {
         "footprint-name": "live/us",
         "footprint-expires": "2023-02-09T17:32:28Z",
         "footprint-uri": "https://oc.dcdn.com/FCI/footprints/live/us",
         "footprint-def": {
           "footprint-type": "asn",
           "footprint-value": [ "1234:1" ]
           }
      },
      {
         "footprint-name": "live/brasil",
         "footprint-expires": "2023-02-09T17:32:28Z",
         "footprint-uri":
           "https://oc.dcdn.com/FCI/footprints/live/brasil",
         "footprint-def": {
           "footprint-type": "asn",
           "footprint-value": [ "1234:2" ]
         }
      }
    ]
  }
]

Arolovitch              Expires 5 September 2024               [Page 16]
Internet-Draft  Content Delivery Network Interconnection      March 2024

4.3.  Use of Named Footprints

   The named footprints can be used in both FCI and MI footprints in the
   places where CDNI Metadata objects are scoped by footprint.  Thus,
   the MI PrivateFeature object described in Section 2.5.2.1 of
   [CDNI-Metadata-Model-Extensions] would use the named footprint
   advertisement as follows:

{
      "generic-metadata-type": "MI.PrivateFeatureList",
      "generic-metadata-value": {
        "feature": {
          "feature-oid": "Broadpeak",
          "feature-type": "S4Streaming",
          "feature-value": {
            "footprint": {
                "footprint-type": "named",
                "footprint-value": [ "https://oc.dcdn.com/FCI/footprints/live/us" ]
            }
            "activation": "ON",
            "mode": "transparent",
            "policy": "bandwidth-max"
          }
        }
      }
}

5.  IANA Considerations

5.1.  CDNI Metadata Footprint Types

   Section 7.2 of [RFC8006] creates the "CDNI Metadata Footprint Types"
   subregistry within the "Content Delivery Network Interconnection
   (CDNI) Parameters" registry.

   This document requests the registration of the two additional
   Footprint Types: "expr" and "named"

6.  Security Considerations

   TBD

7.  References

7.1.  Normative References

Arolovitch              Expires 5 September 2024               [Page 17]
Internet-Draft  Content Delivery Network Interconnection      March 2024

   [RFC8006]  Niven-Jenkins, B., Murray, R., Caulfield, M., and K. Ma,
              "Content Delivery Network Interconnection (CDNI)
              Metadata", RFC 8006, DOI 10.17487/RFC8006, December 2016,
              <https://www.rfc-editor.org/info/rfc8006>.

   [RFC8008]  Seedorf, J., Peterson, J., Previdi, S., van Brandenburg,
              R., and K. Ma, "Content Delivery Network Interconnection
              (CDNI) Request Routing: Footprint and Capabilities
              Semantics", RFC 8008, DOI 10.17487/RFC8008, December 2016,
              <https://www.rfc-editor.org/info/rfc8008>.

   [RFC9388]  Sopher, N. and S. Mishra, "Content Delivery Network
              Interconnection (CDNI) Footprint Types: Country
              Subdivision Code and Footprint Union", RFC 9388,
              DOI 10.17487/RFC9388, July 2023,
              <https://www.rfc-editor.org/info/rfc9388>.

7.2.  Informative References

   [CDNI-Metadata-Model-Extensions]
              "CDNI Metadata Model Extensions - Metadata Expression
              Language", <https://datatracker.ietf.org/doc/html/draft-
              goldstein-cdni-metadata-model-extensions-02>.

   [OCWG]     "Open Caching Home Page", <https://opencaching.svta.org/>.

   [RFC7336]  Peterson, L., Davie, B., and R. van Brandenburg, Ed.,
              "Framework for Content Distribution Network
              Interconnection (CDNI)", RFC 7336, DOI 10.17487/RFC7336,
              August 2014, <https://www.rfc-editor.org/info/rfc7336>.

   [RFC7337]  Leung, K., Ed. and Y. Lee, Ed., "Content Distribution
              Network Interconnection (CDNI) Requirements", RFC 7337,
              DOI 10.17487/RFC7337, August 2014,
              <https://www.rfc-editor.org/info/rfc7337>.

   [RFC8805]  Kline, E., Duleba, K., Szamonek, Z., Moser, S., and W.
              Kumari, "A Format for Self-Published IP Geolocation
              Feeds", RFC 8805, DOI 10.17487/RFC8805, August 2020,
              <https://www.rfc-editor.org/info/rfc8805>.

   [SVTA]     "Streaming Video Technology Alliance Home Page",
              <https://www.svta.org/>.

Author's Address

Arolovitch              Expires 5 September 2024               [Page 18]
Internet-Draft  Content Delivery Network Interconnection      March 2024

   Alan Arolovitch
   Viasat
   1295 Beacon street, Unit 249
   Brookline, MA 02446
   United States of America
   Email: alan.arolovitch@gmail.com

Arolovitch              Expires 5 September 2024               [Page 19]