COMP/ELEC 429/556 Introduction to Computer Networks

26
T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 1 COMP/ELEC 429/556 Introduction to Computer Networks Domain Name System Some slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang

Transcript of COMP/ELEC 429/556 Introduction to Computer Networks

Page 1: COMP/ELEC 429/556 Introduction to Computer Networks

T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 1

COMP/ELEC 429/556Introduction to Computer Networks

Domain Name System

Some slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang

Page 2: COMP/ELEC 429/556 Introduction to Computer Networks

Data Packet

• Fundamental unit for communications in Internet

T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 2

0 4 8 12 16 19 24 28 31ver-sion HLen TOS Length

Ident Flags Offset

TTL Protocol Checksum

Source Address

Destination Address

Options (if any)

Data

HeaderIPv4 PacketFormat

Page 3: COMP/ELEC 429/556 Introduction to Computer Networks

An IP address

T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 3

2150268945

Page 4: COMP/ELEC 429/556 Introduction to Computer Networks

An IP address

T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 4

128.42.128.17

10000000 00101010 10000000 00010001

Page 5: COMP/ELEC 429/556 Introduction to Computer Networks

A Domain Name

T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 5

www.cs.rice.edu

Page 6: COMP/ELEC 429/556 Introduction to Computer Networks

T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 6

Page 7: COMP/ELEC 429/556 Introduction to Computer Networks

T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 7

Motivation

• Fact: A fundamental feature of the Internet is that every network

interface is identified by a numerical IP address

• An application needs to know the IP address of the

communication peer

• There is no magic, some out-of-band mechanism is needed

– Word of mouth

– Read it in magazine advertisements

– Search engine

– Etc.

• But IP addresses are bad for humans to remember and tell each

other, need names that make sense to humans

Page 8: COMP/ELEC 429/556 Introduction to Computer Networks

T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 8

Internet Names & Addresses

• Names: e.g. www.rice.edu– human-usable labels for machines– variable length, long

• Addresses: e.g. 128.42.204.11– 32-bit number, written this way for convenience– machine-usable fixed length, short labels for machines– more efficient to process than names

• How do you lookup from one to another?

• Let’s try nslookup!

• What system is working behind the scene? What can you infer from the format of domain names?

Page 9: COMP/ELEC 429/556 Introduction to Computer Networks

Domain Name System is a case study of the importance of scalability

• Who’s this guy?• Charles Darwin?• Lord Kelvin?• James Maxwell?

T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 9

Page 10: COMP/ELEC 429/556 Introduction to Computer Networks

Domain names used to be arbitraryand stored in one shared file hosts.txt

T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 10

obiwankenobi

lukeskywalkerleia

c3pohan-solo

jabbachewbacca

yoda

lukeskywalker

c3po

Page 11: COMP/ELEC 429/556 Introduction to Computer Networks

T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 11

History• Initially all host-addess mappings were in a file

called hosts.txt (in /etc/hosts)– Changes were submitted to SRI by email– New versions of hosts.txt ftp’d periodically from SRI– An administrator could pick names at their discretion– Any name is allowed: eugenesdesktopatrice

• As the Internet grew this system broke down because:– SRI couldn’t handled the load– Hard to enforce uniqueness of names– Many hosts had inaccurate copies of hosts.txt

• How to build a lookup system that scales!!!– billions of names and addresses to insert/delete/modify– billions of lookups per second

• Strategy: Divide and Conquer!

Page 12: COMP/ELEC 429/556 Introduction to Computer Networks

T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 12

Basic DNS Features

• Hierarchical namespace– as opposed to original flat namespace

• Distributed storage architecture– as opposed to centralized storage

Page 13: COMP/ELEC 429/556 Introduction to Computer Networks

T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 13

Naming Hierarchy

• “Top Level Domains” are at the top

• Depth of tree is almost arbitrary (limit 128)

• Domains are subtrees– E.g: .edu, rice.edu, ece.rice.edu

• Name collisions avoided– E.g. rice.edu and rice.com can coexist, but

uniqueness is job of domain

root

edu com gov mil org net uk fr

rice mit

cs ece

www

etc.

natsci

Page 14: COMP/ELEC 429/556 Introduction to Computer Networks

T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 14

Host names are administered hierarchically

A zone corresponds to an administrative authority that is responsible for that portion of the hierarchy

E.g. Eugene controls names: x.cs.rice.edu and y.ece.rice.edu

E.g. The President controls names: x.rice.edu and y.natsci.rice.edu

root

edu com gov mil org net uk fr

rice mit

cs ece

www

etc.

natsci

Page 15: COMP/ELEC 429/556 Introduction to Computer Networks

T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 15

DNS Server Hierarchy

• Each server has authority over a portion of the hierarchy called zone

• Each server contains all the records for the hosts or domains in its zone

– That zone can be empty, i.e. server is non-authoritative

• “Root server” knows about all top-level domains– .com .edu .gov .org etc.

Page 16: COMP/ELEC 429/556 Introduction to Computer Networks

T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 16

DNS Root Servers(in the early days)

• About a dozen root server IP addresses

• Contacted by other servers that cannot resolve name

Page 17: COMP/ELEC 429/556 Introduction to Computer Networks

T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 17

Basic Domain Name Resolution

• Every host knows a local DNS server– Through DHCP, for example

– Sends all queries to a local DNS server

– Local DNS server may be non-authoritative

• Every local DNS server knows the ROOT servers– When no locally cached

information exists about the query, talk to a root server, and go down the name hierarchy from the root

wants to lookupwww.google.com

root name servers

local name servermoe.rice.edu

Page 18: COMP/ELEC 429/556 Introduction to Computer Networks

T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 18

Example of Iterated DNS Query

Root name server:• May not know

authoritative name server• May know intermediate

name server: who to contact to find authoritative name server

Iterated query:• Contacted server replies

with name/address of another server

• “I don’t know this name, but ask this server”

wants to lookupwww.google.com

root name server

local name servermoe.rice.edu

1

23

4

authoritative name serverns1.google.com

67

intermediate name server(com server)

5

8

Page 19: COMP/ELEC 429/556 Introduction to Computer Networks

T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 19

DNS Query & Resource Record

• DNS Query: – Two fields: (name, type)

• Resource record is the response to a query– Four fields: (name, value, type, TTL)– TTL (time to live) is the duration the response can be cached– There can be multiple valid responses to a query

• Type = A: – name = hostname– value = IP address

Page 20: COMP/ELEC 429/556 Introduction to Computer Networks

T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 20

Other Common Record Types

• Type = NS: – name = domain– value = name of dns server for domain

• Type = CNAME:– name = hostname– value = canonical name

• Type = MX:– name = domain in email address– value = canonical name of mail server and priority

Page 21: COMP/ELEC 429/556 Introduction to Computer Networks

T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 21

Is DNS good enough?

Page 22: COMP/ELEC 429/556 Introduction to Computer Networks

T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 22

Caching

wants to lookupwww.google.com

root name server

local name servermoe.rice.edu

1

2

34

authoritative name serverns1.google.com

67

intermediate name server(com server)

5

8

• Local name server caches answers (e.g. in steps 3, 5, 7) so popular queries can be resolved more quickly in the future

• Greatly reduces latency• Masks failures in the server

hierarchy temporarily

Page 23: COMP/ELEC 429/556 Introduction to Computer Networks

Anycast

T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 23

• A root server IP address is “shared” by many servers at very different locations in the world

– Request to the IP address routed to “nearest” server– How that is possible is a subject we’ll visit later

• Reduces latency, increase throughput, and masks failures

Page 24: COMP/ELEC 429/556 Introduction to Computer Networks

Load Balancer

• One root server IP address points to a large cluster of servers

• Increases throughput• e.g. Amazon AWS provides an auto-scaling service

for web hosting

T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 24

Page 25: COMP/ELEC 429/556 Introduction to Computer Networks

T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 25

Discussions• DNS caching

– Each record has a TTL (time-to-live, max duration caching is allowed)

– Crucial to scalability and robustness– Improve performance by saving results of previous lookups– E.g. results of address records and name server records

(e.g. if rice.edu name server is cached, then can bypass root server the second time looking for a rice.edu host)

• DNS “hacks”– Return records based on requesting IP address– Round-robin over a list of IP addresses mapped to the same

name for load balancing– Return address of least loaded machine– Basis for many web content distribution networks such as

Akamai and Limelight

Page 26: COMP/ELEC 429/556 Introduction to Computer Networks

Discussions

• DNS has been a large source of security problems throughout the history of the Internet

• DNS servers can be leveraged to amplify a denial of service attack

• DNS cache poisoning can allow attackers to direct traffic to malicious machines – DNSSEC (authenticated) is not widely adopted– Less than 1% of the second level domains are signed, and most

resolvers do not validate DNSSEC signatures (only 12% in 2017).

• Original DNS server software had lots of buffer overflow bugs that could be exploited by an attacker to take over the DNS server

T. S. Eugene Ng eugeneng at cs.rice.edu Rice University 26