Remix.run Logo
pbhjpbhj 3 hours ago

>that is only good for the period of the TTL of the record.

Not really, TTLs are often short, but IPs might not change for years.

You can probably generate your own TTL, at scale, and avoid many DNS requests.

fc417fc802 3 hours ago | parent | next [-]

Why would anyone want to use a DNS resolver that tampered with records on a large scale? The TTL is intentionally set by the originator of the record.

Or alternatively, if you don't tamper why would I want to use a service that serves stale data?

robotresearcher 2 hours ago | parent [-]

Every distributed system serves stale data.

You can define away ‘stale’ by picking a consistency model, but look inside the consistency machinery and you will see fresher data you aren’t allowed to have yet.

otterley 3 hours ago | parent | prev | next [-]

In DNS, the owner of each record has full control over its TTL. Intermediary DNS servers are required to honor them and are not permitted to replace TTLs with their own.

dizhn 3 hours ago | parent | next [-]

DNS servers do in fact do that but it would not be a good look for the world's largest DNS provider.

ButlerianJihad 3 hours ago | parent | prev | next [-]

Actually that is not true. The IETF has expanded the definition of “TTL” and explicitly permits resolvers to serve “stale” RRs beyond their expiration time.

https://www.rfc-editor.org/info/rfc8767/

As a corollary, there is obviously no floor on refetching unexpired RRs, of course, except for efficiency concerns.

seiferteric 3 hours ago | parent [-]

That's only when the authoritative server cant be reached though

pbhjpbhj 3 hours ago | parent | prev [-]

You are obliged to pass on the TTL, you're not obliged to cache according to it.

At least in my country (UK) I know of no law relating to DNS caching.

Why throwaway perfectly good data every few minutes that is only modified every couple of years, just so someone can move their domain quickly when they eventually wish to? It is my contention that a [caching] DNS service can do far better. Trusting user (domain owner) input blindly is not for me.

otterley 2 hours ago | parent [-]

It's not some sort of public law with public enforcement, but it is in the RFCs that govern the protocol.

I should be a bit clearer here; the TTL is an upper bound on how long it can be cached. Caches are free to consult more frequently but not less frequently. That said, out of respect for upstream cache operators and authoritative servers, most DNS caches honor TTLs as best they can.

hamdingers an hour ago | parent | prev | next [-]

For optimistic caching to work you have to use a short TTL when you're returning stale answers to avoid putting clients in a bad state for hours/days, so you end up inviting more requests anyway.

Fine for home DNS (I use it) but not good at whole-internet-scale.

seiferteric 3 hours ago | parent | prev [-]

then they would be breaking DNS at scale.