DNS, the system that translates domain names into IP addresses, is deceptively simple. In this deck, VM Farms Inc. CEO Hany Fahim outlines why it matters and how it works.
authorities, delegations, registrars, WHOIS, serials, etc… Some DNS servers don’t even respect the basic rules! AWS allows multiple zone files for the same domain. Caching name servers don’t always respect TTLs. DNS is SLOOOWWWWW. A full query (i.e.: no cache), can take several second to complete!
to own all components of DNS in the early days of the Internet. In 2006, DOC delegated certain responsibilities to a private nonprofit California-based corporation, the Internet Corporation for Assigned Names and Numbers (ICANN). ICANN controls both sides of DNS - the names (formally InterNIC), and the numbers/IPs (Internet Assigned Numbers Authority - IANA). However, DOC retains ultimate control over the Root Zone File, and any changes must be approved by them. More on this later…
domain name is composed of several components, and is structured like a tree. my.vmfarms.com is actually -> my.vmfarms.com. and should be read from right-to-left. The dot (.) is the root node of the tree.
IANA, delegated by ICANN. IANA maintains a Root Zone Database that contains the full list of all TLDs on the Internet, and which organization is responsible for managing each TLD (called delegations). TLDs are divided into 2 groups: generic (gTLD) and country-code (ccTLD) specific. Examples: gTLD -> .com, .net, .org ccTLD -> .ca, .co.uk, .io
names. ICANN gives permission to Domain Name Registrars to register domains within the ICANN database. Along with domain registrations, registrars must submit a list of Authoritative Name Servers (minimum of 2 required for most TLDs). Examples of Registrars: GoDaddy Namecheap
of DNS servers: caching and authoritative. A DNS server can serve both functions, but the vast majority are either one or the other. Anyone can run a DNS server.
ISPs. Caching logic goes like this: If a query comes in for a record that is currently in it’s cache (and not expired), it provides the results. If not, it will ask another DNS server it knows about, and if it provides the results, it will cache it for a short period of time (TTL). If it still can’t find a result, it will query a root name server in a final attempt to grab the results.
master Root Zone File. There are 13 “logical” name servers that exist on the Internet and each is operated by a different entity. While there are “13” logical, there are hundreds of physical servers. The number “13” is due to a limitation of the DNS spec, which specified a maximum packet size of 512 bytes when using UDP.
University of California (BIND) C - Cogent (BIND) D - University of Maryland (BIND) E - NASA (BIND) F - Internet Systems Consortium (BIND) G - Defense Information Systems Agency (BIND) H - U.S. Army Research Lab (NSD) I - Netnod (BIND) J - Verisign (BIND) K - RIPE NCC (NSD) L - ICANN (NSD) M - WIDE Project (BIND)
the IPs of the Start of Authority (SOA) name servers. Controlled by the DOC - must approve all changes requested by ICANN. Because ICANN is slow to adopt new TLDs, there are several alternative DNS roots that distribute their own set of root zone files (alternative Internets). NameCoin P2P DNS Name.Space OpenNIC TOR
records. Records come in a variety of types: A Record - Maps names to IPs. CNAME Record - Aliases to other records. MX Record - Mail eXchange records for email. NS Record - Name server records that indicate absolute authority of the zone. SOA Record - contains several pieces of metadata needed for zone transfers.
than one authoritative name server, depending on the requirements of the TLD. The SOA record is used to facilitiate syncing changes between primary and secondary servers. SOA Record contains several pieces of data: Primary DNS server. Primary contact email (with the @ replaced by a .) Serial number (version) used to keep track of when changes are made. Refresh time - time in seconds that secondary DNS servers wait before refreshing from primary. Retry time - time in seconds that secondary DNS servers wait before retrying failed transfers. Default TTL - default time-to-live used for all records
Root F Root G Root H Root I Root J Root K Root L Root M ISP - Rogers ISP - Bell ISP - Peer1 gTLDs ccTLDs Zerigo AWS OS Browser OS Browser Router OS Browser Router OS Browser Router VM Farms VM VM VM VM VM VM Start of Authority (SOA) Name Servers Top Level Domains Root Name Servers Caching Name Servers
Root F Root G Root H Root I Root J Root K Root L Root M ISP - Rogers ISP - Bell ISP - Peer1 gTLDs ccTLDs Zerigo AWS OS Browser OS Browser Router OS Browser Router OS Browser Router VM Farms VM VM VM VM VM VM Start of Authority (SOA) Name Servers Top Level Domains Root Name Servers Caching Name Servers
Root F Root G Root H Root I Root J Root K Root L Root M ISP - Rogers ISP - Bell ISP - Peer1 gTLDs ccTLDs Zerigo AWS OS Browser OS Browser Router OS Browser Router OS Browser Router VM Farms VM VM VM VM VM VM Start of Authority (SOA) Name Servers Top Level Domains Root Name Servers Caching Name Servers
Root F Root G Root H Root I Root J Root K Root L Root M ISP - Rogers ISP - Bell ISP - Peer1 gTLDs ccTLDs Zerigo AWS OS Browser OS Browser Router OS Browser Router OS Browser Router VM Farms VM VM VM VM VM VM Start of Authority (SOA) Name Servers Top Level Domains Root Name Servers Caching Name Servers
Root F Root G Root H Root I Root J Root K Root L Root M ISP - Rogers ISP - Bell ISP - Peer1 gTLDs ccTLDs Zerigo AWS OS Browser OS Browser Router OS Browser Router OS Browser Router VM Farms VM VM VM VM VM VM Start of Authority (SOA) Name Servers Top Level Domains Root Name Servers Caching Name Servers
Root F Root G Root H Root I Root J Root K Root L Root M ISP - Rogers ISP - Bell ISP - Peer1 gTLDs ccTLDs Zerigo AWS OS Browser OS Browser Router OS Browser Router OS Browser Router VM Farms VM VM VM VM VM VM Start of Authority (SOA) Name Servers Top Level Domains Root Name Servers Caching Name Servers
Root F Root G Root H Root I Root J Root K Root L Root M ISP - Rogers ISP - Bell ISP - Peer1 gTLDs ccTLDs Zerigo AWS OS Browser OS Browser Router OS Browser Router OS Browser Router VM Farms VM VM VM VM VM VM Start of Authority (SOA) Name Servers Top Level Domains Root Name Servers Caching Name Servers
Root F Root G Root H Root I Root J Root K Root L Root M ISP - Rogers ISP - Bell ISP - Peer1 gTLDs ccTLDs Zerigo AWS OS Browser OS Browser Router OS Browser Router OS Browser Router VM Farms VM VM VM VM VM VM Start of Authority (SOA) Name Servers Top Level Domains Root Name Servers Caching Name Servers
Root F Root G Root H Root I Root J Root K Root L Root M ISP - Rogers ISP - Bell ISP - Peer1 gTLDs ccTLDs Zerigo AWS OS Browser OS Browser Router OS Browser Router OS Browser Router VM Farms VM VM VM VM VM VM Start of Authority (SOA) Name Servers Top Level Domains Root Name Servers Caching Name Servers
Root F Root G Root H Root I Root J Root K Root L Root M ISP - Rogers ISP - Bell ISP - Peer1 gTLDs ccTLDs Zerigo AWS OS Browser OS Browser Router OS Browser Router OS Browser Router VM Farms VM VM VM VM VM VM Start of Authority (SOA) Name Servers Top Level Domains Root Name Servers Caching Name Servers
Root F Root G Root H Root I Root J Root K Root L Root M ISP - Rogers ISP - Bell ISP - Peer1 gTLDs ccTLDs Zerigo AWS OS Browser OS Browser Router OS Browser Router OS Browser Router VM Farms VM VM VM VM VM VM Start of Authority (SOA) Name Servers Top Level Domains Root Name Servers Caching Name Servers Bad Guys
Root F Root G Root H Root I Root J Root K Root L Root M ISP - Rogers ISP - Bell ISP - Peer1 gTLDs ccTLDs Zerigo AWS OS Browser OS Browser Router OS Browser Router OS Browser Router VM Farms VM VM VM VM VM VM Start of Authority (SOA) Name Servers Top Level Domains Root Name Servers Caching Name Servers Many Bad Guys
2002 an attack lasting for approximately one hour was targeted at all 13 DNS root name servers. February 6, 2007 On February 6, 2007 an attack began at 10 AM UTC and lasted twenty-four hours. At least two of the root servers (G-ROOT and L-ROOT) reportedly "suffered badly" while two others (F-ROOT and M-ROOT) "experienced heavy traffic". The latter two servers largely contained the damage by distributing requests to other root server instances with anycast addressing.
announced by Network World that "if the United States found itself under a major cyberattack aimed at undermining the nation's critical information infrastructure, the Department of Defense is prepared, based on the authority of the President, to launch an actual bombing of an attack source or a cyber counterattack.