What is DNS Propagation, why does it take so long?
The Domain Name Server (DNS) System is what resolves domain names (internet addresses as we know them, like google.com) to IP addresses (internet addresses as known to computers). It works much the same way as a telephone directory, you know the name but need the number.
Now, thats what it is, how does it work? Every computer knows another name server, and asks that server for the domain name, that server will either be "authoritative" or will need to ask another server, this carries on until, hopefully, someone knows the record and can give your computer the IP Address (or more than one) to go to.
As you can imagine this process can take a while, so servers are more often than not set to cache this record when passing it back down the request chain. This leads to all the servers that were involved in the request chain having their own temporary copy of the record you asked. If you request the same domain name during this time the same record is returned from the cache without any lookups.
The cache chain often goes like this: Your Web Browser -> Your PC's Operating System -> Your Internet Router -> Your ISP -> The Target DNS Serve.
Even if you flush your caches, there is a live cache somewhere in the chain, the request will stop when it gets satified by that cache and you're back with the old record. The time it takes for relevant servers to have the correct records or flush the old records.
This is what makes it hard for Administrators to make changes happen faster.
With careful forward planning, we can often reduce TTLs right before the site goes live, so that the TTL is reduced over time and propagation delays reduced.
The domain administrator should be able to change the time records should stay cached and it is called time-to-live (or TTL for short). It is best to balance the benifits of caching against the delay that will occur if a high TTL record is changed.
Common TTLs are:
- Websites (usually "A" records): - 4 to 24 hrs, sometimes 48+ hrs
- Website aliases (often "CNAME" records): - 1 to 2 days
- NameServer records (which server is authoritative): - 2 to 4 days
There are many other kinds of records, sometimes each can have a different TTL!
Why do my e-mails take ages be delivered?
Well, e-mail is one of the oldest forms of computer communication and, on the whole, is very reliable. However, at the same time it can be quite fragile.
E-mail traffic uses Simple Mail Transfer Protcol (or SMTP) and is often given a low priority on networks. In other words, e-mails can wait a little while as it is not as time sensitive as say HTTP (web browsing) traffic. A time delay of 30 seconds makes little difference to an e-mail but a huge difference to you browsing the web. A time delay of 1 second can make internet telephony unbearable!
On top of that, it can stumble at so many hurdles... Let's not beat around the bush, e-mail spam is a BIG issue. I hate it, our clients hate it and I'm sure you hate it too. Unfortunately, its as likely to stop as those pizza menus coming in through my front door!
Internet Service Providers (ISP) and company e-mail filters provide a choke point in traffic. This can easily cause delays of up to 30 minutes whilst the backlog in the filter buffer is processed. Sometimes the e-mail filter rejects the e-mail until later when the buffers are clear. Additional anti-spam filters add to the effect of the choke point. Often this is most noticeable first thing in the morning and last thing at night when e-mail traffic is heaviest. All those last minute, "as I'm going out the door" e-mails getting sent add up at the server!
There is a common practice, called "graylisting" (or "greylisting") where e-mail servers temporarily reject a message, and wait for the sending server to retry later, not something that spammers tend to do, hence reducing spam levels but, again, this creates a delay whilst the wait-and-retry cycle happens. Even if the spam e-mails get rejected, they have taken up time the filter should have been letting valid e-mails through. This can be taken to extremes in the form of a denial of service (DoS) attack, or, with the help of a few exploited home PCs, a ditributed denial of service (DDos) attack.
Why do my e-mails not get delivered?
Well like the previous FAQ, e-mails are often slow but what if your e-mail doesn't arrive at all!
This often gets technical (a bit too much for an FAQ section). If the problem is with the underlying systems and you're not an administrator there might not be much you can do. Here is an introduction to why, and perhaps what, you can do to avoid the issues with spam filters:
Firstly, as spam filters can help weed out some of the junk that hits the server, the tighter restrictions also increase the chance of rejecting valid e-mails. Would you rather your recipient lost your message in a world of spam? Contact the recipient if you can and let them know you are trying to email them, their IT department might be able to squeeze your e-mail through!
Have you (tick all that apply):
- written a badly-worded subject line?
- written the subject in "SHOUTY CASE" (all caps)?
- included the word URGENT in the subject?
- marked it as urgent?
- used barely legible content?
You have probably just fed every module in the spam filter! Modern spam filters parse the content of your email and mark scores for good and bad traits. Instead try to:
- write polite, legible e-mails and subject lines (they also work the best with humans too! Funny that....)
- if you can, address the e-mail with "Hi" or "Dear" and the recipient by name (again, its polite and helps the filter too)
- don't use the word URGENT in subject lines unless you absolutely have to (perhaps try "ATTN:" as in "for attention")
- if your subject line is well written the recipient should know that its urgent!
- if you use the word URGENT don't mark the message as urgent as well (How urgent can it be, perhaps use a telephone?)
- avoid high link to non-link text ratios, try and introduce the link in your own words first rather than just emailling someone a link
- sign off the email with something that at least resembles a parting comment, along the lines of "kind regards," and even better use a full signature, with an enviromental policy for bonus marks
I hope that helps get a few more messages through the filters. If you are still losing messages into the ether, perhaps give your e-mail provider a call?