Internet Engineering Task Force (IETF) S. Ludin
Request for Comments: 8586 Akamai Technologies
Category: Standards Track M. Nottingham
ISSN: 2070-1721 Fastly
N. Sullivan
Cloudflare
April 2019
Loop Detection in Content Delivery Networks (CDNs)
Ludin, et al. Standards Track [Page 1]
RFC 8586 CDN Loop Detection April 2019
Table of Contents
1. Introduction
In modern deployments of HTTP servers, it is common to interpose Content Delivery Networks (CDNs) in front of origin servers to improve latency perceived by end users, reduce operational costs, and improve scalability and reliability of services.
1.1. Relationship to Via
HTTP defines the Via header field in Section 5.7.1 of [RFC7230] for "tracking message forwards, avoiding request loops, and identifying the protocol capabilities of senders along the request/response chain." In theory, Via could be used to identify these loops. However, in practice it is not used in this fashion, because some HTTP servers use Via for other purposes -- in particular, some implementations disable some HTTP/1.1 features when the Via header is present.
Ludin, et al. Standards Track [Page 2]
RFC 8586 CDN Loop Detection April 2019 1.2. Conventions and DefinitionsThe key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.
2. The CDN-Loop Request Header Field
The CDN-Loop request header field is intended to help a Content Delivery Network identify when an incoming request has already passed through that CDN's servers to detect loops.
Ludin, et al. Standards Track [Page 3]
RFC 8586 CDN Loop Detection April 2019
For example:
3. Security Considerations
The threat model that the CDN-Loop header field addresses is a customer who is attacking a service provider by configuring a forwarding loop by accident or malice. For it to function, CDNs cannot allow customers to modify or remove it in their configuration (see Section 2).
Ludin, et al. Standards Track [Page 4]
RFC 8586 CDN Loop Detection April 2019
Depending on how it is used, CDN-Loop can expose information about the internal configuration of the CDN; for example, the number of hops inside the CDN, and the hostnames of nodes.
4. IANA Considerations
This document registers the "CDN-Loop" header field in the "Permanent Message Header Field Names" registry.5. References 5.1. Normative References[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Ludin, et al. Standards Track [Page 5]
RFC 8586 CDN Loop Detection April 2019
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
5.2. Informative References
[loop-attack]