How The Internet Really Works

The times they are a-changin’.

This post seems to be older than 19 years—a long time on the internet. It might be outdated.

There is a big difference between how the common user percieves how the Internet works and how it actually works. This is something I’ve been learning over the past week and it really makes me hate and appreciate the Internet more now. Let’s say you go to my website, The first thing your browser does is check with the local Domain Name Server server. DNS servers are responsible for maintaining a listing of websites and where they point to. The DNS server will do one of four things:

  1. It can answer the request with an IP address because it already knows the IP address for the requested domain.
  2. It can contact another DNS server and try to find the IP address for the name requested. It may have to do this multiple times.
  3. It can say, "I don’t know the IP address for the domain you requested, but here’s the IP address for a DNS server that knows more than I do."
  4. It can return an error message because the requested domain name is invalid or does not exist.

Herein lies the key to why the Internet is a crazy place. Everything has to be specified. There are 9 types of records: A, AAAA/IPv6, SOA, MX, NS, rDNS, CNAME, PTR, and TXT. Here is the DNS record for this website: 86400 IN SOA 2004102505 10800 3600 604800 10800 86400 IN NS 86400 IN NS 86400 IN A 86400 IN A 86400 IN SOA 2004102505 10800 3600 604800 10800

The first line says that for, is the Start of Authority (that is has the official responsibillity to know where is located at all times).

2004102505 is the date this record was last updated: October 25, 2004, 5th version of the day. The next string of numbers are just timeout numbers and are not that important. 86400 IN NS and 86400 IN NS basically says that ns(0/1) is a Name Server for my website. 86400 IN A and 86400 IN A tells the DNS the actual physical location of my website. Note that both the qualified name and the www subzone are both listed. This is the actual information that the DNS server sends back to you, the user. Then your browser initiates a connection with and you arrive at my website.

For, the records look pretty similar. The one notible difference is the addition of: 86400 IN MX 5

This says that for the domain, all mail should be sent to the server named The 5 indicates that this is the first mailserver that should be contacted.

That’s a lot of stuff to figure out. Thus far, I’ve covered A, SOA, MX, and NS. I don’t use AAAA/IPv6, CNAME, TXT, or PTR. The rDNS basically is the reverse of the DNS lookup. It takes an IP address and gets an address back. Reversing my IP address will always return, it’s just the way it’s setup.