
Solution: The Domain Name System
129.82.46.190 albany.cs.colostate.edu albany
129.82.46.191 annapolis.cs.colostate.edu annapolis
129.82.46.192 atlanta.cs.colostate.edu atlanta
129.82.46.193 augusta.cs.colostate.edu augusta
129.82.46.194 austin.cs.colostate.edu austin
129.82.46.195 baton-rouge.cs.colostate.edu baton-rouge
129.82.46.196 bismarck.cs.colostate.edu bismarck
129.82.46.197 boise.cs.colostate.edu boise
129.82.46.198 boston.cs.colostate.edu boston
129.82.46.199 carson-city.cs.colostate.edu carson-city
129.82.46.200 charleston.cs.colostate.edu charleston
129.82.46.201 cheyenne.cs.colostate.edu cheyenne
129.82.46.202 columbia.cs.colostate.edu columbia
129.82.46.203 columbus-oh.cs.colostate.edu columbus-oh
129.82.46.204 concord.cs.colostate.edu concord
129.82.46.205 denver.cs.colostate.edu denver
129.82.46.206 des-moines.cs.colostate.edu des-moines
129.82.46.207 dover.cs.colostate.edu dover
129.82.46.208 frankfort.cs.colostate.edu frankfort
129.82.46.209 harrisburg.cs.colostate.edu harrisburg
129.82.46.210 hartford.cs.colostate.edu hartford
129.82.46.211 helena.cs.colostate.edu helena
129.82.46.212 honolulu.cs.colostate.edu honolulu
129.82.46.213 indianapolis.cs.colostate.edu indianapolis
129.82.46.214 jackson.cs.colostate.edu jackson
129.82.46.215 jefferson-city.cs.colostate.edu jefferson-city
129.82.46.216 juneau.cs.colostate.edu juneau
129.82.46.217 lansing.cs.colostate.edu lansing
129.82.46.218 lincoln.cs.colostate.edu lincoln
129.82.46.219 little-rock.cs.colostate.edu little-rock
129.82.46.226 phoenix.cs.colostate.edu phoenix
129.82.46.227 pierre.cs.colostate.edu pierre
129.82.46.228 providence.cs.colostate.edu providence
129.82.46.229 raleigh.cs.colostate.edu raleigh
129.82.46.230 richmond.cs.colostate.edu richmond
129.82.46.231 sacramento.cs.colostate.edu sacramento
129.82.46.232 saint-paul.cs.colostate.edu saint-paul
129.82.46.233 salem.cs.colostate.edu salem
129.82.46.234 salt-lake-city.cs.colostate.edu salt-lake-city
129.82.46.235 santa-fe.cs.colostate.edu santa-fe
129.82.46.236 springfield.cs.colostate.edu springfield
129.82.46.237 tallahassee.cs.colostate.edu tallahassee
129.82.46.238 topeka.cs.colostate.edu topeka
129.82.46.239 trenton.cs.colostate.edu trenton
An Early Centralized System:
DNS Today
A typical host name: “denver.cs.colostate.edu.” is a Fully Qualified Domain Name (FQDN) made up of parts:
root
│
┌──────────┼───────┬───────┐
│ │ │ │
edu com mil se
│ │ │ │
┌─┴────┐ │ │ │
│ │ │ │ │
colostate mit hp │ mil
│ │
┌───┼────┐ ┌─┴──┐
│ │ │ │ │
engr cs www af navy
│ │
┌───┴────┐ │
│ │ │
www denver buckley
root
│
┌───────┼────┬────┐
edu com mil se
┌─┴────┐ │ │ │
colostate mit hp │ mil
┌───┼────┐ ┌─┴──┐
engr cs www af navy
┌───┴────┐ │
www denver buckley
┌────────┐ │ Home │ │ laptop │ │ │ └────────┘
My laptop’s browser wants the IP address of www.colostate.edu.
┌────────┐ ┌────────┐ │ Home │--“www.colostate.edu?”(1)-▷│ Home │ │ laptop │ │ router │ │ │ │ │ └────────┘ └────────┘
My laptop doesn’t know the IP address, so it asks its smart friend.
┌────────┐ ┌────────┐
│ Home │--“www.colostate.edu?”(1)-▷│ Home │--“www.colostate.edu?”(2)┐
│ laptop │ │ router │ │
│ │ │ │ │
└────────┘ └────────┘ │
▽
┌─────────────┐
│ │
│ │
│ │
│ │
│ Comcast │
│ DNS │
│ server │
│ │
│ │
│ │
│ │
└─────────────┘
My router doesn’t know, either, so it asks its smart friend, the Comcast server.
┌────────┐ ┌────────┐
│ Home │--“www.colostate.edu?”(1)-▷│ Home │--“www.colostate.edu?”(2)┐
│ laptop │ │ router │ │
│ │ │ │ │
└────────┘ └────────┘ │
▽
┌─────────────┐
┌────────────────────┐◁----“www.colostate.edu?”(3)---------│ │
│ j.root-servers.net │ │ │
└────────────────────┘ │ │
│ │
│ Comcast │
│ DNS │
│ server │
│ │
│ │
│ │
│ │
└─────────────┘
The Comcast server doesn’t know, either, so it asks a random root server.
┌────────┐ ┌────────┐
│ Home │--“www.colostate.edu?”(1)-▷│ Home │--“www.colostate.edu?”(2)┐
│ laptop │ │ router │ │
│ │ │ │ │
└────────┘ └────────┘ │
▽
┌─────────────┐
┌────────────────────┐◁----“www.colostate.edu?”(3)---------│ │
│ j.root-servers.net │ │ │
└────────────────────┘-----“Ask c.edu-servers.net”(4)-----▷│ │
│ │
│ Comcast │
│ DNS │
│ server │
│ │
│ │
│ │
│ │
└─────────────┘
The root server doesn’t know the IP address, but it knows who handles .edu.
┌────────┐ ┌────────┐
│ Home │--“www.colostate.edu?”(1)-▷│ Home │--“www.colostate.edu?”(2)┐
│ laptop │ │ router │ │
│ │ │ │ │
└────────┘ └────────┘ │
▽
┌─────────────┐
┌────────────────────┐◁----“www.colostate.edu?”(3)---------│ │
│ j.root-servers.net │ │ │
└────────────────────┘-----“Ask c.edu-servers.net”(4)-----▷│ │
│ │
┌────────────────────┐◁----“www.colostate.edu?”(5)---------│ Comcast │
│ c.edu-servers.net │ │ DNS │
└────────────────────┘ │ server │
│ │
│ │
│ │
│ │
└─────────────┘
The Comcast DNS server asks the .edu server to resolve www.colostate.edu.
┌────────┐ ┌────────┐
│ Home │--“www.colostate.edu?”(1)-▷│ Home │--“www.colostate.edu?”(2)┐
│ laptop │ │ router │ │
│ │ │ │ │
└────────┘ └────────┘ │
▽
┌─────────────┐
┌────────────────────┐◁----“www.colostate.edu?”(3)---------│ │
│ j.root-servers.net │ │ │
└────────────────────┘-----“Ask c.edu-servers.net”(4)-----▷│ │
│ │
┌────────────────────┐◁----“www.colostate.edu?”(5)---------│ Comcast │
│ c.edu-servers.net │ │ DNS │
└────────────────────┘-----“Ask dns1.colostate.edu”(6)----▷│ server │
│ │
│ │
│ │
│ │
└─────────────┘
The .edu server knows several authoritative servers for .colostate.edu.
┌────────┐ ┌────────┐
│ Home │--“www.colostate.edu?”(1)-▷│ Home │--“www.colostate.edu?”(2)┐
│ laptop │ │ router │ │
│ │ │ │ │
└────────┘ └────────┘ │
▽
┌─────────────┐
┌────────────────────┐◁----“www.colostate.edu?”(3)---------│ │
│ j.root-servers.net │ │ │
└────────────────────┘-----“Ask c.edu-servers.net”(4)-----▷│ │
│ │
┌────────────────────┐◁----“www.colostate.edu?”(5)---------│ Comcast │
│ c.edu-servers.net │ │ DNS │
└────────────────────┘-----“Ask dns1.colostate.edu”(6)----▷│ server │
│ │
┌────────────────────┐◁----“www.colostate.edu?”(7)---------│ │
│ dns1.colostate.edu │ │ │
└────────────────────┘ │ │
└─────────────┘
The Comcast server asks dns1.colostate.edu to resolve the name.
┌────────┐ ┌────────┐
│ Home │--“www.colostate.edu?”(1)-▷│ Home │--“www.colostate.edu?”(2)┐
│ laptop │ │ router │ │
│ │ │ │ │
└────────┘ └────────┘ │
▽
┌─────────────┐
┌────────────────────┐◁----“www.colostate.edu?”(3)---------│ │
│ j.root-servers.net │ │ │
└────────────────────┘-----“Ask c.edu-servers.net”(4)-----▷│ │
│ │
┌────────────────────┐◁----“www.colostate.edu?”(5)---------│ Comcast │
│ c.edu-servers.net │ │ DNS │
└────────────────────┘-----“Ask dns1.colostate.edu”(6)----▷│ server │
│ │
┌────────────────────┐◁----“www.colostate.edu?”(7)---------│ │
│ dns1.colostate.edu │ │ │
└────────────────────┘-----“It is 129.82.103.106”(8)------▷│ │
└─────────────┘
The dns1.colostate.edu server, on the CSU campus, replies with the IP address.
┌────────┐ ┌────────┐
│ Home │--“www.colostate.edu?”(1)-▷│ Home │--“www.colostate.edu?”(2)┐
│ laptop │ │ router │ │
│ │ │ │◁--“129.82.103.106”(9) │
└────────┘ └────────┘ △ │
│ ▽
┌─────────────┐
┌────────────────────┐◁----“www.colostate.edu?”(3)---------│ │
│ j.root-servers.net │ │ │
└────────────────────┘-----“Ask c.edu-servers.net”(4)-----▷│ │
│ │
┌────────────────────┐◁----“www.colostate.edu?”(5)---------│ Comcast │
│ c.edu-servers.net │ │ DNS │
└────────────────────┘-----“Ask dns1.colostate.edu”(6)----▷│ server │
│ │
┌────────────────────┐◁----“www.colostate.edu?”(7)---------│ │
│ dns1.colostate.edu │ │ │
└────────────────────┘-----“It is 129.82.103.106”(8)------▷│ │
└─────────────┘
The Comcast server sends the IP address to my home router.
┌────────┐ ┌────────┐
│ Home │--“www.colostate.edu?”(1)-▷│ Home │--“www.colostate.edu?”(2)┐
│ laptop │ │ router │ │
│ │◁--“129.82.103.106”(10)----│ │◁--“129.82.103.106”(9) │
└────────┘ └────────┘ △ │
│ ▽
┌─────────────┐
┌────────────────────┐◁----“www.colostate.edu?”(3)---------│ │
│ j.root-servers.net │ │ │
└────────────────────┘-----“Ask c.edu-servers.net”(4)-----▷│ │
│ │
┌────────────────────┐◁----“www.colostate.edu?”(5)---------│ Comcast │
│ c.edu-servers.net │ │ DNS │
└────────────────────┘-----“Ask dns1.colostate.edu”(6)----▷│ server │
│ │
┌────────────────────┐◁----“www.colostate.edu?”(7)---------│ │
│ dns1.colostate.edu │ │ │
└────────────────────┘-----“It is 129.82.103.106”(8)------▷│ │
└─────────────┘
My home router tells my laptop the IP address.
That was the worst case. Really, caching occurs at all levels:
But, for how long?
Multiple servers for each zone in case any one server fails:
Recursive query:
Iterated query:
The Start of Authority (SOA) record defines global parameters for a “zone”:
DNS RFC defines a text representation for records as well as a binary or “wire” representation. SOA records have the following text format:
; Name TTL Class RType Email
acns.colostate.edu 3600 IN SOA dnsadmin.colostate.edu. (
249427 ; sn
900 ; refresh (15 min)
600 ; retry (10 min)
86400 ; expiry (1 day)
3600 ; minTTL (1 hour)
)
Name Server (NS): Defines the authoritative name server(s) for a domain. Actually located both at the root of the zone and at the point of delegation in the parent zone.
The NS records for acns.colostate.edu reside in the parent zone, “colostate.edu”, like this :
Name TTL Class RecordType Data
acns IN NS dns1.colostate.edu
acns IN NS dns2.colostate.edu
And they exist in the acns.colostate.edu zone where they look like:
Name TTL Class RecordType Data
@ IN NS dns1.colostate.edu
@ IN NS dns2.colostate.edu
IPv4 Address (A): Associates a name with an IPv4 address The A record for chico.cs.colostate.edu resides in the “cs.colostate.edu” zone and looks like:
Name TTL Class RecordType Data
www IN A 129.82.45.30
IPv6 Address (AAAA): Associates a name with an IPv6 address An AAAA record looks like:
Name TTL Class RecordType Data
www IN AAAA 2002:8152:e6d2::8052:f8d1
Canonical Name (CNAME): Associates an alias with another DNS name record. The CNAME record for www.cs.colostate.edu looks like:
Name TTL Class RecordType Data
www IN CNAME parsons.cs.colostate.edu
According to the RFC, you may not create any other records with the same name as a CNAME record. Recently added exceptions for DNSSEC record types RRSIG, NSEC and KEY.
Others… There are ~71 record types. The other, more common records include:
This is also a tree structure, delegated in a similar fashion. All reverse space is rooted in the special domain called “IN-ADDR.ARPA”
For delegation to work as in the forward space, the networks are listed most specific to least specific. Thus CSU’s IP space (129.82.0.0) has a reverse DNS zone of “82.129.IN-ADDR.ARPA”
chico.cs.colostate.edu
129.82.45.30
30.45.82.129.in-addr.arpa
root
│
arpa
│
in-addr
│
┌─────┼─────┐
128 129 130
│
┌─────┼─────┐
81 82 83
│
┌─────┼─────┐
44 45 46
│
┌─────┼─────┐
29 30 31
Internet Assigned Numbers Authority (IANA) and Internet Network Information Center (InterNIC) originally established by various US Government agencies and now run under contract by a private, non-profit organization.
Internet Corporation for Assigned Names and Numbers (ICANN) is responsible for:
DNS Registry – the authoritative source for a DNS domain.
DNS Registrar – entity authorized to manage registry data.
Dynamic DNS (DDNS) – Allows clients to update A and PTR records on the fly. It’s handy when your ISP doesn’t guarantee a constant IP address.
wget from cron.
| Command | Purpose |
|---|---|
ping | Ping and incidentally reveal IP address |
nslookup | Show DNS record info |
dig | Get DNS record info |
host | Get DNS record info |
whois | Get contact information |
% nslookup denver.cs.colostate.edu
Server: 129.82.45.181
Address: 129.82.45.181#53
Name: denver.cs.colostate.edu
Address: 129.82.46.205
% dig frii.com
;; ANSWER SECTION:
frii.com. 2363 IN A 216.17.136.180
;; AUTHORITY SECTION:
frii.com. 2363 IN NS ns2.frii.net.
frii.com. 2363 IN NS ns1.frii.net.
;; ADDITIONAL SECTION:
ns1.frii.net. 430763 IN A 216.17.128.1
ns2.frii.net. 430763 IN A 216.17.128.2
ns2.frii.net. 516 IN AAAA 2607:fa88:1::2
;; SERVER: 129.82.45.181#53
What is all this‽
% host amazon.com
amazon.com has address 54.239.25.192
amazon.com has address 54.239.25.208
amazon.com has address 54.239.25.200
amazon.com has address 54.239.17.6
amazon.com has address 54.239.26.128
amazon.com has address 54.239.17.7
amazon.com mail is handled by 5 amazon-smtp.amazon.com.
Six different IP addresses‽
% whois boneheads.us
Domain Name: BONEHEADS.US
Sponsoring Registrar: GODADDY.COM, INC.
Registrar URL: whois.godaddy.com
Registrant Name: Bret McKee
Registrant Address1: ×××× ××××××× ×××× Road
Registrant City: Fort Collins
Registrant State/Province: Colorado
Registrant Postal Code: 80526
Registrant Country: United States
Registrant Phone Number: +1.970×××××××
Registrant Email: ×××××@boneheads.us
These websites can look up things for you:
|
Modified: 2016-07-20T11:53 User: Guest Check: HTML CSSEdit History Source |
Apply to CSU |
Contact CSU |
Disclaimer |
Equal Opportunity Colorado State University, Fort Collins, CO 80523 USA © 2015 Colorado State University |
|