16
5
My understanding of the core functionality of DNS is to provide a naming/mapping service between domain names (e.g. blah-whatever.com
) and IP addresses (e.g. 100.2.3.4).
Furthermore, my understanding of how Internet DNS servers work is that when a domain/IP mapping record is changed (say, changing blah-whatever.com
to now point to 105.2.3.4, etc.), this change needs to be propagated over every DNS server in the world before the change can be said to be "complete". This propagation period can sometimes last up to 24 hours.
So to begin with, if anything I have said so far is misguided or incorrect, please begin by correcting me!
Assuming I'm more or less correct, I don't understand how companies like CloudFlare or DynamicDNS can offer "instant rollover"-type services whereby you change your DNS record with them and - boom - the change takes affect instantly.
I understand there is something called "TTL" (time to live, I presume ?!?) that plays a role in this instant rollover capability, but since I'm already fuzzy on the capability to begin with it's hard to make sense of what this TTL is or what purpose it serves.
So I ask: what is it about Dynamic DNS and its competitors that allows them to change DNS mappings instantly (without taking 24 hours to propagate DNS changes like everybody else), and how does TTL fit into this process? Thanks in advance.
Thanks @Oliver (+1) - So it sounds like an "instant rollover" is an urban legend! I guess my followup question would be: why not just edit my DNS records myself? Is it because these companies offer APIs so that DNS changes can be automated when certain events trigger? I guess I'm searching for what purpose they serve in the first place! – pnongrata – 2012-07-25T23:55:05.007
1@zharvey: You can, of course, run your own DNS server and edit your zones directly yourself. But you need to provide at least 2 distinct DNS servers that are authorative for your zone to be accepted by the root servers. People usually don't have that kind of infrastructure available to them. – Der Hochstapler – 2012-07-25T23:58:29.203
1You can edit DNS records yourself. You just need to run a pair of name servers (in different subnets). DynDNS however does that work for you and allows for relative easy updates. Basically you are outsourcing some work. – Hennes – 2012-07-25T23:59:20.233
@zharvey of course you can have an "instant rollover". If you mean that literally, just let both machines switch their IPs (which is not always possible). Other than that, you will always have a certain delay. Usually, if services are to be moved to different servers, the admin change the TTL in advance (e.g. lower it to something like 1h) -- so when the change takes place, the delay will be minimal. After it's done, TTL will be increased again (to e.g. 24h or more) to allow for better caching and faster responses on DNS queries. But that usually does not involve DynDNS ;) – Izzy – 2012-07-26T11:45:03.530
2Sorry for being rude, but this answer is wrong by almost every point. – Alex – 2012-07-26T14:13:10.580
@Alex: Would you care to elaborate on that claim? – Der Hochstapler – 2012-07-26T14:15:40.453
@OliverSalzburg 1. NOTIFY support is under complete control of DNS provider, 2. Values in SOA record are not TTL, 3. Refresh support is under complete control of DNS provider, 4. Presence of NOTIFY makes those SOA values irrelevant to update process 5. Low TTLs are usually respected as that is what standards demand to do. – Alex – 2012-07-26T15:39:28.820
@Alex: I guess my answer could be improved. It should be more clear what I'm trying to say and if there are any mistakes, I'd like to resolve them. However, I feel like some of your criticism is unwarranted. I'd be happy if you'd join me in [chat] to help me work out the mistakes in my answer :) – Der Hochstapler – 2012-07-26T15:52:19.600
@zharvey It has come to my attention that my answer is, indeed, incorrect. Please do me the favor and review the other answers so that you can pick a proper solution and I can remove this misinformation. Thanks :) – Der Hochstapler – 2012-07-26T16:32:33.027