Hi Paul,

Thank you for the incredibly candid and detailed feedback. You have opened on the "purity vs. pragmatism" debate and I appreciate you taking the time to poke holes in the proposal.

The "cute as a hack" label is one I’ll wear with pride :D, but I’d like to address your concerns regarding the "real world" viability of DNSC and specifically how it differentiates itself from a DNS-tunneling-style (ab-)use of the protocol.

You make a valid point that if a massive web property fails, shifting that traffic to DNS would be catastrophic. However, the intent of the "fallback" is not to serve the original site, but rather a more beautiful "Static Outage Page", which, through caching, should not be more of an issue than serving a AAA record is, already, to larger DNS operators. While a modern webpage might be several megabytes, a DNSC fallback would likely be a 2KB compressed HTML snippet. Most DNS infrastructure is significantly more over-provisioned and distributed (via Anycast) than the application-layer web servers it points to. Serving a tiny "We are under maintenance" TXT record is often less resource-intensive than maintaining a full TCP/TLS handshake and HTTP stack for a 503 error page.

On Vhosting and Parked Domains

While vhosting exists, it still requires the management of an IP address, a listening web server, and, crucially, a valid SSL/TLS certificate. For providers managing millions of parked domains, the overhead of maintaining and renewing certificates is non-trivial. DNSC shifts the "trust" anchor from the X.509 PKI to DNSSEC. If a domain is already signed, you get "secure" content delivery for free without a separate certificate authority.

On Bulk Data and The "DNS VPN" Problem

I completely agree that DNS is not for images or bulk data. The draft recommends a strict limit (e.g., 16 chunks) to prevent the "bulk data" scenario you described. You mentioned that resolvers might block this as a DNS tunnel. However, unlike tunnels that use randomized subdomains to bypass caches, DNSC uses structured, cacheable labels (_html._dnscontent.example.com). Since these records respect TTLs and are highly cacheable by recursives (like Quad9 or Google), they shouldn't trigger the same "cache-busting" alarms as a DNS VPN. Appart from that, am I a supporter of things like iodine that allow people to access the internet more liberally, especially for people in countries with limited internet access, which is also why I don't see an issue here, but I can see where people that are against that come from, and accept their position with open arms, but I do not think that those critiques apply here. :)

Would you be open to perhabs look over a -01 revision of this draft with changes the WG and others recommend?

Best regards,

April Faye John

Am 2026-03-27 14:32, schrieb Paul Wouters:
On Fri, 27 Mar 2026, April John wrote:

I have just submitted a new individual Internet-Draft, draft-dns-content-delivery-00 , titled "DNS-Based Content Delivery & Fallback Mechanism".

This document proposes a new protocol (DNSC) that allows User Agents to retrieve content, such as HTML or JSON, directly via DNS TXT records.
The primary goals of this mechanism are:

- Primarily, o provide a fallback mechanism for when a primary service's A/AAAA records are unreachable or result in connection timeouts.

I'd think if your web servers are overloaded or unreachable, shifting
that load onto your DNS servers will just mean your DNS service also
goes down.

- To offer a lightweight hosting solution for parked domains or placeholder sites.

Honestly, vhosting solved that problem a long long time ago.

Key technical aspects of the draft include:

  - It allows for content delivery using entries in the DNS.

The idea is cute as a hack, but not as a real use protocol I'm afraid.
And yes, I've been having a twitter-like stream of short messages using
DNS model in my head as well, and it is cute, but like your proposal,
the real problem is storing bulk data (eg images) in DNS.

In the end, you are going to find your domain rate limited as many DNS
servers try to block DNS requests that look like some kind of DNS VPN
tunnel, or a method of using DNS queries to avoid paying the hotspot.

- It implements a chunking mechanism to support content that exceeds the safe size limits of a single DNS message by splitting it across multiple records.

Imagine people using this when their DNS points to:
- A small local DNS server which will fall over at the worst case, or
  turns into a "nothing useful in cache for real users" at best case.
- A main DNS service (quad9, google, etc) seeing such a huge amount of
  traffic they will block the entire zone.

I would greatly appreciate any feedback, reviews, or thoughts from the working group regarding the architecture, security considerations, and general interest in this approach.

It's cute and tempting, but unfortunately not workable in the real world.

PS: Here are some possible questions that I thought y'all might have, and my thoughts on them:

Q: DNS is designed for low-latency name resolution, not for hosting content like HTML or JSON. Can't large TXT records can lead to packet fragmentation or increased load on recursive resolvers?

A: This is meant as a fallback mechanism or for parked domains only. It is not intended to replace high-traffic web servers. See my recommendation for caching and chunk limits (max 16 chunks) as a way to protect the infrastructure in Security Considerations.

A fallback mechanism that can't take the original load is not a fallback
mechanism that stays up very long without additional further steps to
bring down the load (eg replace real page with outage notification page)

Q: Aren't large TXT records are a classic tool for DNS Amplification DDoS attacks? An attacker can send a small spoofed query and cause a large response to be sent to a victim.

A: Since these are TXT records, they are no more dangerous than existing large TXT records (like those used for DKIM or SPF) if managed correctly.

You will get blocked for the amplication :P

In short, DNS is poorly suited for this. Don't do this :)

Paul

_______________________________________________
DNSOP mailing list -- [email protected]
To unsubscribe send an email to [email protected]

_______________________________________________
DNSOP mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to