Ever wonder what chain of events is occurring behind the scenes when you open your web browser and go to www.google.com? Sure, the page loads instantly, but did you know there are a myriad of actions occurring in the blink of an eye that make viewing that website possible?
What is a “browser”? Surprisingly, it’s exactly what it sounds like. It’s a software tool that browses websites and is capable of reading the language they’re coded in. There are many different alternatives –Google Chrome, Mozilla Firefox and Internet Explorer, to name a few. The browser is responsible for displaying a web page’s content. But how does the browser know where to get that content? That’s where the DNS comes in.
What is “DNS”? “DNS” stands for Domain Name System. When you purchase or own a domain name, it’s your responsibility to create public DNS records for your domain to publicly tell people browsing the internet what IP address your website resides at.
For example, the google.com domain is owned by Google, and they configure a public record for www.google.com that displays what IP address www.google.com resides at. When you plug your computer into a LAN connection or join a WiFi network, your computer is typically assigned an IP address and DNS server to use. This DNS server’s responsibility is to translate requests you make (e.g., typing “www.google.com” into your browser) into the correct public IP address out on the internet. After all, it’s much easier and efficient for most of us to remember and use domain names than remembering the IP addresses of all of our favorite websites!
When you request the web page from your browser, the DNS server knows to look for those public records for www.google.com and returns the IP address of Google’s web server to your browser. Much like using a street address, your browser now knows where it needs to go to display the www.google.com web page. “That’s great that my browser knows where it’s supposed to go,” you might be thinking. “But how does it actually get to that web server?”
Routing is the path a packet or request takes to get to its destination. Once your computer has identified the location of www.google.com (with the IP address discovered by DNS), it then uses a series of routers to make its way across the internet to that destination. Like making a cross-country road trip, a map tells your computer which highways and roads to take in order to get to your destination.
Accessing a web page works in very much the same way. Once the true destination (IP address) is obtained, your computer then travels to that destination – leaving your computer from the LAN cable, to your local router or firewall, out of your firewall into the network of your Internet Service Provider (Comcast, Verizon, etc.), out of their network and across one of the many large backbones across the country, connecting one Internet Service Provider to another, all the way to the IP address of the web server hosting www.google.com.
Each endpoint along the way is configured to look at the destination IP address and determine whether the request has arrived at its destination or to send it on to the next “hop.” This happens until the request reaches its destination IP address.
An interesting visual representation of this chain of events can be accomplished by doing what’s known as a traceroute. You can visually view all of the hops your request takes before reaching your destination. A traceroute performed from my computer located in Glen Allen, Virginia, to www.google.com shows 12 hops to get across the country to the Mountain View, California, web server:
Tracing route to www.google.com [126.96.36.199] over a maximum of 30 hops:
1 1 ms 1 ms 1 ms comcast-router.groundforceit.local [192.168.8.253]
2 3 ms 1 ms 1 ms 23-25-108-54-static.hfc.comcastbusiness.net [188.8.131.52]
3 47 ms 26 ms 41 ms 184.108.40.206
4 30 ms 13 ms 18 ms xe-10-0-0-32767-sur01.staplesmllrd.va.richmond.comcast.net [220.127.116.11]
5 16 ms 11 ms 39 ms ae-16-0-ar02.staplesmllrd.va.richmond.comcast.net [18.104.22.168]
6 25 ms 26 ms 24 ms he-1-1-0-0-10-cr02.56marietta.ga.ibone.comcast.net [22.214.171.124]
7 23 ms 24 ms 23 ms he-0-10-0-1-pe03.56marietta.ga.ibone.comcast.net [126.96.36.199]
8 24 ms 23 ms 23 ms 188.8.131.52
9 25 ms 24 ms 24 ms 184.108.40.206
10 23 ms 25 ms 25 ms 220.127.116.11
11 33 ms 34 ms 33 ms 18.104.22.168
12 39 ms 29 ms 33 ms 22.214.171.124
13 30 ms 30 ms 29 ms 126.96.36.199
14 50 ms 32 ms 31 ms 188.8.131.52
15 28 ms 28 ms 28 ms iad23s43-in-f4.1e100.net [184.108.40.206]
It’s quite impressive how quickly all of the necessary components work together to do something as seemingly simple as load your browser’s homepage. And to think of the millions upon millions of users browsing billions upon billions of web pages per day – and the amount of data going across those lines.
To put things in perspective, four years from now, the traffic volume of the internet will be so great that every five minutes of activity will be the equivalent of downloading every movie ever made. In 2015, monthly internet traffic will reach the equivalent of 20 billion DVDs, 19 trillion MP3s or 500 quadrillion text messages!