rfc-9388

Content Delivery Network Interconnection (CDNI) Footprint Types: Country Subdivision Code and Footprint Union

N. Sopher, S. Mishra
date2023-07 streamIETF areawit wgcdni statusPROPOSED STANDARD pages11 canonicalhttps://www.rfc-editor.org/rfc/rfc9388 doi10.17487/RFC9388
Open Caching architecture is a use case of Content Delivery Network 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). RFC 8006 defines footprint types that are used for footprint objects as part of the Metadata interface (MI). The footprint types are also used for the Footprint & Capabilities Advertisement interface (FCI) as defined in RFC 8008. This document defines two new footprint types. The first footprint type defined is an ISO 3166-2 country subdivision code. Defining this country subdivision code improves granularity for delegation as compared to the ISO 3166-1 country code footprint type defined in RFC 8006. The ISO 3166-2 country subdivision code is also added as a new entity domain type in the "ALTO Entity Domain Types" registry defined in Section 7.4 of RFC 9241. The second footprint type defines a footprint union to aggregate footprint objects. This allows for additive semantics over the narrowing semantics defined in Appendix B of RFC 8008 and therefore updates RFC 8008. The two new footprint types are based on the requirements raised by Open Caching but are also applicable to CDNI use cases in general.

updates

Extracted elements (11)

design-rationale §2.2

The 'footprintunion' type was introduced because RFC 8008's narrowing semantics make it impossible to combine IPv4 and IPv6 CIDR footprint constraints in a single FCI advertisement — placing both 'ipv4cidr' and 'ipv6cidr' in the footprints array yields an empty client set since no client address can be both. The union type resolves this by providing explicit additive aggregation.

ip

design-rationale §2.1

The 'subdivisioncode' footprint type was added to provide finer geographic granularity than the ISO 3166-1 country code type in RFC 8006, enabling dCDNs in Open Caching to advertise coverage at the state or province level rather than only at the country level.

interoperability-note §1

This document updates RFC 8008 by adding the 'footprintunion' footprint type, which introduces additive semantics over the narrowing semantics defined in Appendix B of RFC 8008. Implementations must be aware that the footprints array now supports both narrowing (existing behavior) and union (new type) semantics.

registry

normative-requirement §2.2 MUST NOT

A 'footprintunion' MUST NOT list any 'footprintunion' as a value. This syntactic restriction avoids implementation complexity; a union of unions is semantically equivalent to a single union, so no capability is lost.

registry

normative-requirement §2.2.1 MUST

The footprint objects within a 'footprintunion' value MUST be of any footprint type other than 'footprintunion', preventing recursive nesting.

registry

protocol-element §2.2

The 'footprintunion' footprint type aggregates multiple footprint objects into a single unified object, providing additive semantics to complement the narrowing semantics of RFC 8008. The footprint-value for a 'footprintunion' is an array of footprint objects of any type other than 'footprintunion'.

registry, ip

protocol-element §3.1

The SUBDIVISIONCODE ALTO entity domain type associates property values for ISO 3166-2 country subdivision codes. The entity identifier is encoded as an ISO 3166-1 alpha-2 country code followed by a separator and up to three alphanumeric characters. There is no hierarchy or inheritance for this domain.

registry

protocol-element §2.1.1.1

The 'subdivisioncode' footprint type is defined for ISO 3166-2 country subdivision codes. Each code consists of two parts separated by a hyphen: the ISO 3166-1 alpha-2 country code and up to three alphanumeric characters, expressed in lowercase (e.g., 'us-ny', 'ca-on').

registry, ip

registry §4.2

IANA registered the 'subdivisioncode' entity domain type in the 'ALTO Entity Domain Types' subregistry under the 'Application-Layer Traffic Optimization (ALTO) Protocol' registry, with no hierarchy/inheritance, no defining media type, and no mapping to ALTO address type.

registry

registry §4.1

IANA registered two new footprint types in the 'CDNI Metadata Footprint Types' subregistry under 'Content Delivery Network Interconnection (CDNI) Parameters': 'subdivisioncode' (ISO 3166-2 country subdivision code) and 'footprintunion' (a combination of other footprint objects), both referencing RFC 9388.

registry

security-consideration §5

This specification follows RFC 8006 and RFC 8008, and is subject to the security and confidentiality considerations defined in Section 8 of RFC 8006 and Section 7 of RFC 8008 respectively. No additional security considerations beyond those existing CDNI specifications are introduced.

security