Content Delivery Network Interconnection (CDNI) Parameters
2015-10-22
2024-02-23
CDNI Payload Types
Specification Required
Kevin Ma, Ben Niven-Jenkins
ci-trigger-command
ci-trigger-status
ci-trigger-collection
FCI.DeliveryProtocol
FCI.AcquisitionProtocol
FCI.RedirectionMode
FCI.Logging
FCI.Metadata
logging-file
redirection-request
redirection-response
MI.HostIndex
MI.HostMatch
MI.HostMetadata
MI.PathMatch
MI.PatternMatch
MI.PathMetadata
MI.SourceMetadata
MI.Source
MI.LocationACL
MI.LocationRule
MI.Footprint
MI.TimeWindowACL
MI.TimeWindowRule
MI.TimeWindow
MI.ProtocolACL
MI.ProtocolRule
MI.DeliveryAuthorization
MI.Cache
MI.Auth
MI.Grouping
FCI.RedirectTarget
MI.FallbackTarget
MI.UriSigning
MI.ACMEDelegationMethod
CDNI CI/T Trigger Types
RFC Required
preposition
A request for the dCDN to acquire metadata or content.
invalidate
A request for the dCDN to invalidate metadata or
content. After servicing this request the dCDN will not use the
specified data without first re-validating it using, for example,
an "If-None-Match" HTTP request. The dCDN need not erase the
associated data.
purge
A request for the dCDN to erase metadata or
content. After servicing the request, the specified data
MUST NOT be held on the dCDN (the dCDN should re-acquire the
metadata or content from uCDN if it needs it).
CDNI CI/T Error Codes
Specification Required
Kevin Ma, Ben Niven-Jenkins
emeta
The dCDN was unable to acquire metadata required to fulfil the request.
econtent
The dCDN was unable to acquire content (CT/T preposition commands only).
eperm
The uCDN does not have permission to issue the CI/T Command (for example,
the data is owned by another CDN).
ereject
The dCDN is not willing to fulfil the CI/T Command (for example, a
preposition request for content at a time when the dCDN would not accept Request
Routing requests from the uCDN).
ecdn
An internal error in the dCDN or one of its downstream CDNs.
ecancelled
The uCDN cancelled the request.
eunsupported
The Trigger Specification contained a "type" that is not
supported by the dCDN. No action was taken by the dCDN other than to
create a Trigger Status Resource in state "failed".
CDNI Capabilities Redirection Modes
IETF Review
DNS-I
Iterative DNS-based Redirection
DNS-R
Recursive DNS-based Redirection
HTTP-I
Iterative HTTP-based Redirection
HTTP-R
Recursive HTTP-based Redirection
CDNI Logging Directive Names
Specification Required
Kevin Ma
Directive names are to be allocated with a format of NAMEFORMAT (see
Section 3.1 of ). All directive names defined
in the logging file are case-insensitive as per the basic ABNF
().
Each specification that defines a new CDNI Logging directive needs to
contain a description for the new directive with the same set of
information as provided in Section 3.3 of
(i.e., format, directive value and occurrence).
version
UUID
claimed-origin
established-origin
remark
record-type
fields
SHA256-hash
CDNI Logging File version
Specification Required
Kevin Ma
Version values are to be allocated with a format of NAMEFORMAT (see
Section 3.1 of ). All version values defined
in the logging file are case-insensitive as per the basic ABNF
().
cdni/1.0
CDNI Logging File version 1.0 as specified in
CDNI Logging record-types
Specification Required
Kevin Ma
Record-types are to be allocated with a format of NAMEFORMAT (see
Section 3.1 of ). All record-types defined
in the logging file are case-insensitive as per the basic ABNF
().
Each specification that defines a new record-type needs to contain a
description for the new record-type with the same set of information
as provided in Section 3.4.1 of . This
includes:
o a list of all the CDNI Logging fields that can appear in a CDNI
Logging Record of the new record-type
o for all these fields: a specification of the occurrence for each
Field in the new record-type
o for every newly defined Field, i.e., for every Field that results
in a registration in the CDNI Logging Field Names Registry: a
specification of the field name, format and field value.
cdni_http_request_v1
CDNI Logging Record version 1 for content delivery using HTTP
cdni_http_request_v2
Extension to CDNI Logging Record version 1 for content delivery using
HTTP, to include URI Signing Logging fields
CDNI Logging Field Names
Specification Required
Kevin Ma
Field names are to be allocated with a format of NHTABSTRING (see
Section 3.1 of ). All field names defined
in the logging file are case-insensitive as per the basic ABNF
().
date
time
time-taken
c-groupid
s-ip
s-hostname
s-port
cs-method
cs-uri
u-uri
protocol
sc-status
sc-total-bytes
sc-entity-bytes
cs(insert_HTTP_header_name_here)
sc(insert_HTTP_header_name_here)
s-ccid
s-sid
s-cached
s-uri-signing
s-uri-signing-deny-reason
CDNI RI Error response code
Specification Required
Kevin Ma, Ben Niven-Jenkins
100
<reason> (see Description)
Generic informational error-code meant for
carrying a human-readable string
400
<reason> (see Description)
Generic error-code for uCDN errors where
the dCDN cannot or will not process the
request due to something that is perceived
to be a uCDN error. The reason field may be
used to provide more details about the
source of the error.
500
<reason> (see Description)
Generic error-code for dCDN errors where
the dCDN is aware that it has erred or is
incapable of satisfying the RI request for
some reason. The reason field may be used
to provide more details about the source of the error.
501
Unable to retrieve metadata
The dCDN is unable to retrieve the metadata
associated with the content requested by
the UA. This may indicate a configuration
error or that the content requested by the UA does not exist.
502
Loop detected
The dCDN detected a redirection loop (see
Section 4.8 of ).
503
Maximum hops exceeded
The dCDN detected the maximum number of
redirection hops exceeding max-hops (see
Section 4.8 of ).
504
Out of capacity
The dCDN does not currently have sufficient
capacity to handle the UA request.
505
Delivery protocol not supported
The dCDN does not support the (set of)
delivery protocols indicated in the CDNI
Metadata of the content requested by the UA.
506
Redirection protocol not supported
The dCDN does not support the requested
redirection protocol. This error-code is
also used when the RI request has the dns-only
flag set to True and the dCDN is not
supported or is not prepared to return an RT
of a surrogate directly.
CDNI Metadata Protocol Types
Specification Required
Kevin Ma
http/1.1
Hypertext Transfer Protocol -- HTTP/1.1
https/1.1
HTTP/1.1 over TLS
CDNI URI Signing Verification Codes
Specification Required
Phil Sorber
000
No signed JWT verification performed
200
Signed JWT verification performed and verified
400
Signed JWT verification performed and
rejected because of incorrect signature
401
Signed JWT verification performed and rejected
because of Issuer enforcement
402
Signed JWT verification performed and rejected
because of Subject enforcement
403
Signed JWT verification performed and rejected
because of Audience enforcement
404
Signed JWT verification performed and rejected
because of Expiration Time enforcement
405
Signed JWT verification performed and rejected
because of Not Before enforcement
406
Signed JWT verification performed and rejected
because only one of CDNI Signed Token Transport or CDNI Expiration Time
Setting present
407
Signed JWT verification performed and rejected because
of JWT ID enforcement
408
Signed JWT verification performed and rejected
because of Version enforcement
409
Signed JWT verification performed and rejected because of
Critical Extension enforcement
410
Signed JWT verification performed and rejected because of
Client IP enforcement
411
Signed JWT verification performed and rejected because of
URI Container enforcement
500
Unable to perform signed JWT verification because of
malformed URI
CDNI URI Signing Signed Token Transport
Specification Required
Phil Sorber
0
Designates token transport is not enabled
1
Designates token transport via cookie
2
Designates token transport via query string