This is a companion post to the OOMA DNS configuration post. If you don't want to know what's going on under the covers then you can just skip reading now.
[caption id="attachment_230" align="alignleft" width="623" caption="DNS Request Flow"][/caption]
Domain Name Servers (DNS) translate the familiar web names to computer understandable numbers. Every single internet connected machine is assigned a unique number. You could type in http://188.8.131.52 in your browser and get to Google or you could type in http://google.com - clearly google.com is going to be easier to remember than the number (IP address). Even if you were to remember Google's IP address what about all of the other web sites that you go to - how would you remember all of their IP addresses? Clearly (for people) a name based system (DNS) makes sense.
Computers however still work on a numbering system so every time you type in a name the computer sends the name to a DNS server for translation. The DNS servers get called at least once (and frequently dozens of times depending on the type of resource being requested). Unless you are on a pure text-only web page then every image, script, icon, button and link on a web page has its own name and so a single request for a web page could result in several DNS requests.
DNS servers are busy and no one really notices them unless they stop working. Using the diagram above as an example, your computer talks to the DNS server that your ISP provides (1) and requests the IP address for the web site that you want to go to (ooma.com). The ISP's DNS server talks to an authoritative DNS server for the domain requested (.US, .edu, .com etc) (2) and aso requests that information. The DNS servers eventually return the address (or a not found indicator) to your computer (3 & 4). Your computer then requests the information using the IP address for OOMA.COM not the name OOMA.COM.
Each DNS server has a cache so the first time that OOMA.COM is requested through the ISP's DNS server the flow is as shown above. The second time OOMA.COM is requested the ISP's DNS server has saved (or cached) the earlier response and returns the information directly. The cache lasts from a few hours to several days (it is called the Time-To-Live or TTL value). As you can see, there is a lot of DNS chatter going on. In fact looking at DNS as a distributed database it is possibly the busiest database on the planet as millions of people make millions of requests and changes to it every day as they change domains and add or drop IP addresses.