36
DNS: Domain Name System People: many identifiers: SSN, name, Passport # Internet hosts, routers: IP address (32 bit) - used for addressing datagrams “name”, e.g., hermite.cs.smith.edu - used by humans Q: map between IP addresses and name ? Domain Name System: distributed database implemented in hierarchy of many name servers application-layer protocol host, routers, name servers to communicate to resolve names (address/name translation) note: core Internet function implemented as application-layer protocol complexity at network’s “edge”

DNS: Domain Name System People: many identifiers: – SSN, name, Passport # Internet hosts, routers: – IP address (32 bit) - used for addressing datagrams

Embed Size (px)

Citation preview

Page 1: DNS: Domain Name System People: many identifiers: – SSN, name, Passport # Internet hosts, routers: – IP address (32 bit) - used for addressing datagrams

DNS: Domain Name System

People: many identifiers:– SSN, name, Passport #

Internet hosts, routers:– IP address (32 bit) - used for

addressing datagrams– “name”, e.g.,

hermite.cs.smith.edu - used by humans

Q: map between IP addresses and name ?

Domain Name System:• distributed database implemented

in hierarchy of many name servers• application-layer protocol host,

routers, name servers to communicate to resolve names (address/name translation)– note: core Internet function

implemented as application-layer protocol

– complexity at network’s “edge”

Page 2: DNS: Domain Name System People: many identifiers: – SSN, name, Passport # Internet hosts, routers: – IP address (32 bit) - used for addressing datagrams

DNS

DNS services• Hostname to IP address

translation• Host aliasing

– Canonical and alias names

• Mail server aliasing• Load distribution

– Replicated Web servers: set of IP addresses for one canonical name

Why not centralize DNS?• single point of failure• traffic volume• distant centralized database• maintenance

doesn’t scale!

Page 3: DNS: Domain Name System People: many identifiers: – SSN, name, Passport # Internet hosts, routers: – IP address (32 bit) - used for addressing datagrams

Structure of DNS Names• Each name consists of a sequence of alphanumeric

components separated by periods • Examples:

– www.ssuet.edu.pk– ssuet.edu.pk– khi.comsats.net.pk– aurangzeb.ssuet.edu.pk

• Names are hierarchical, with most-significant component on the right

• Left-most component is, generally, a computer name

Page 4: DNS: Domain Name System People: many identifiers: – SSN, name, Passport # Internet hosts, routers: – IP address (32 bit) - used for addressing datagrams

Structure of DNS Names• Top Level Domains (right-most

components; also known as TLDs) are defined by global authority Organizations apply for names in a top-level domain: – fsu.edu– macdonalds.com

• Organizations determine own internal structure – eng.fsu.edu– cs.purdue.edu

Page 5: DNS: Domain Name System People: many identifiers: – SSN, name, Passport # Internet hosts, routers: – IP address (32 bit) - used for addressing datagrams

Distributed, Hierarchical Database

Client wants IP for www.amazon.com; 1st approx:• Client queries a root server to find com DNS server• Client queries com DNS server to get amazon.com DNS

server• Client queries amazon.com DNS server to get IP address

for www.amazon.com

Root DNS Servers

com DNS servers org DNS servers edu DNS servers

poly.eduDNS servers

umass.eduDNS servers

yahoo.comDNS servers

amazon.comDNS servers

pbs.orgDNS servers

Page 6: DNS: Domain Name System People: many identifiers: – SSN, name, Passport # Internet hosts, routers: – IP address (32 bit) - used for addressing datagrams

DNS: Root name servers• contacted by local name server that can not resolve name• root name server:

– contacts authoritative name server if name mapping not known– gets mapping– returns mapping to local name server

13 root name servers

worldwideb USC-ISI Marina del Rey, CAl ICANN Los Angeles, CA

e NASA Mt View, CAf Internet Software C. Palo Alto,

CA (and 17 other locations)

i Autonomica, Stockholm (plus 3 other locations)

k RIPE London (also Amsterdam, Frankfurt)

m WIDE Tokyo

a Verisign, Dulles, VAc Cogent, Herndon, VA (also Los Angeles)

d U Maryland College Park, MDg US DoD Vienna, VAh ARL Aberdeen, MD

j Verisign, ( 11 locations)

Page 7: DNS: Domain Name System People: many identifiers: – SSN, name, Passport # Internet hosts, routers: – IP address (32 bit) - used for addressing datagrams

TLD and Authoritative Servers• Top-level domain (TLD) servers: responsible for com, org,

net, edu, etc, and all top-level country domains uk, fr, ca, jp.– Network solutions maintains servers for com TLD

• Authoritative DNS servers: organization’s DNS servers, providing authoritative hostname to IP mappings for organization’s servers (e.g., Web and mail).– Can be maintained by organization or service provider

• Local DNS servers: organization’s DNS servers located on various subnets to provide DNS lookups for hosts on the subnet. May not be accessible from outside the subnet. Their IP addresses are part of the host's network configuration (manual or DHCP).

Page 8: DNS: Domain Name System People: many identifiers: – SSN, name, Passport # Internet hosts, routers: – IP address (32 bit) - used for addressing datagrams

Local Name Server

• Does not strictly belong to hierarchy• Each ISP (residential ISP, company, university)

has one.– Also called “default name server”

• When a host makes a DNS query, query is sent to its local DNS server– Acts as a proxy, forwards query into hierarchy.

Page 9: DNS: Domain Name System People: many identifiers: – SSN, name, Passport # Internet hosts, routers: – IP address (32 bit) - used for addressing datagrams
Page 10: DNS: Domain Name System People: many identifiers: – SSN, name, Passport # Internet hosts, routers: – IP address (32 bit) - used for addressing datagrams

Inverse domainCountry domains

Page 11: DNS: Domain Name System People: many identifiers: – SSN, name, Passport # Internet hosts, routers: – IP address (32 bit) - used for addressing datagrams

DNS Name Resolution Example

Page 12: DNS: Domain Name System People: many identifiers: – SSN, name, Passport # Internet hosts, routers: – IP address (32 bit) - used for addressing datagrams

DNS Name Resolution Example

Page 13: DNS: Domain Name System People: many identifiers: – SSN, name, Passport # Internet hosts, routers: – IP address (32 bit) - used for addressing datagrams

DNS Operation

Page 14: DNS: Domain Name System People: many identifiers: – SSN, name, Passport # Internet hosts, routers: – IP address (32 bit) - used for addressing datagrams

DNS: caching and updating records

• once (any) name server learns a mapping, it caches the mapping (Domain’s DNS = IP) – cache entries timeout (disappear) after some time

(usually 20 minutes)– TLD servers typically cached longer in local name

servers• Thus root name servers not often visited

• update/notify mechanisms under design by IETF– RFC 2136– http://www.ietf.org/html.charters/dnsind-charter.html

Page 15: DNS: Domain Name System People: many identifiers: – SSN, name, Passport # Internet hosts, routers: – IP address (32 bit) - used for addressing datagrams

DNS recordsDNS: distributed db storing resource records (RR)

• Type=NS– name is domain (e.g. foo.com)– value is IP address of

authoritative name server for this domain

RR format: (name, value, type,ttl)

Type=A name is hostname value is IP address

Type=CNAME name is an alias name

for some “canonical” (the real) name

value is canonical name

Type=MX value is hostname of

mailserver associated with name

Page 16: DNS: Domain Name System People: many identifiers: – SSN, name, Passport # Internet hosts, routers: – IP address (32 bit) - used for addressing datagrams

DNS protocol, messagesDNS protocol : query and reply messages, both with same message format

msg header identification: 16 bit #

for query, reply to query uses same #

flags: query or reply recursion desired recursion available reply is authoritative

Page 17: DNS: Domain Name System People: many identifiers: – SSN, name, Passport # Internet hosts, routers: – IP address (32 bit) - used for addressing datagrams

DNS protocol, messages

Name, type fields for a query

RRs in reponseto query

records forauthoritative servers

additional “helpful”info that may be used

Page 18: DNS: Domain Name System People: many identifiers: – SSN, name, Passport # Internet hosts, routers: – IP address (32 bit) - used for addressing datagrams

wireshark Display of DNS Response

ID is random nonceused to authenticateResponse to Query

18

Page 19: DNS: Domain Name System People: many identifiers: – SSN, name, Passport # Internet hosts, routers: – IP address (32 bit) - used for addressing datagrams

Pure P2P architecture

• no always-on server• • arbitrary end systems

directly• communicate• • peers are intermittently• connected and change IP• addresses

Page 20: DNS: Domain Name System People: many identifiers: – SSN, name, Passport # Internet hosts, routers: – IP address (32 bit) - used for addressing datagrams

File Distribution: Server-Client vs P2P

Page 21: DNS: Domain Name System People: many identifiers: – SSN, name, Passport # Internet hosts, routers: – IP address (32 bit) - used for addressing datagrams

BitTorrent Overview

• Website allowing peers to share music, video and other media files• Central server helps users find initial set of peers that have pieces of

the file• Tracker server keeps track of peers possessing content of individual

files• Users download the file by participating in exchange:

– They exchange pieces that they have– for pieces that they don’t have

• Therefore, for the system to work, users must have incentive to give• Users who just get, but do not give are called free riders• Protocol must discourage free riding

Page 22: DNS: Domain Name System People: many identifiers: – SSN, name, Passport # Internet hosts, routers: – IP address (32 bit) - used for addressing datagrams

BitTorrent

Page 23: DNS: Domain Name System People: many identifiers: – SSN, name, Passport # Internet hosts, routers: – IP address (32 bit) - used for addressing datagrams

BitTorrent

Page 24: DNS: Domain Name System People: many identifiers: – SSN, name, Passport # Internet hosts, routers: – IP address (32 bit) - used for addressing datagrams

BitTorrent

Page 25: DNS: Domain Name System People: many identifiers: – SSN, name, Passport # Internet hosts, routers: – IP address (32 bit) - used for addressing datagrams

BitTorrent

Page 26: DNS: Domain Name System People: many identifiers: – SSN, name, Passport # Internet hosts, routers: – IP address (32 bit) - used for addressing datagrams

P2P: Searching for Information

Page 27: DNS: Domain Name System People: many identifiers: – SSN, name, Passport # Internet hosts, routers: – IP address (32 bit) - used for addressing datagrams

P2P: centralized directory

Page 28: DNS: Domain Name System People: many identifiers: – SSN, name, Passport # Internet hosts, routers: – IP address (32 bit) - used for addressing datagrams

P2P: problems with centralized directory

• Single point of failure• Performance bottleneck• Copyright infringement: “target” of lawsuit is obvious

file transfer is decentralized, but locating content is highly decentralized

Page 29: DNS: Domain Name System People: many identifiers: – SSN, name, Passport # Internet hosts, routers: – IP address (32 bit) - used for addressing datagrams

P2P: decentralized directory

• Each peer is either a group leader or assigned to a group leader.

• Group leader tracks the content in all its children.

• Peer queries group leader; group leader may query other group leaders.

ordinary peer

group-leader peer

neighoring re la tionshipsin overlay network

Page 30: DNS: Domain Name System People: many identifiers: – SSN, name, Passport # Internet hosts, routers: – IP address (32 bit) - used for addressing datagrams

Decentralized Indexing: Query Flooding

Page 31: DNS: Domain Name System People: many identifiers: – SSN, name, Passport # Internet hosts, routers: – IP address (32 bit) - used for addressing datagrams

Query Flooding

Page 32: DNS: Domain Name System People: many identifiers: – SSN, name, Passport # Internet hosts, routers: – IP address (32 bit) - used for addressing datagrams

Skype• IP telephony system• Allows users to make phone calls

– to Skype users– to regular phone users

• Calls are routed via Skype nodes• Central login server• Super-nodes

– Nodes that know about location of other nodes

Page 33: DNS: Domain Name System People: many identifiers: – SSN, name, Passport # Internet hosts, routers: – IP address (32 bit) - used for addressing datagrams
Page 34: DNS: Domain Name System People: many identifiers: – SSN, name, Passport # Internet hosts, routers: – IP address (32 bit) - used for addressing datagrams

Skype P2P Network

• Super-nodes are nodes with powerful CPU and network bandwidth

• One has to qualify to become a super-node

• Super-nodes know about locations of other nodes

• Ordinary nodes contact super-nodes to place calls

Page 35: DNS: Domain Name System People: many identifiers: – SSN, name, Passport # Internet hosts, routers: – IP address (32 bit) - used for addressing datagrams

Skype Components

• Skype client – the client program used to make phone calls• Host cache – list of other known Skype users, maintained at

each Skype client• Skype login server – a centralized component. Processes

account information, authentication

Page 36: DNS: Domain Name System People: many identifiers: – SSN, name, Passport # Internet hosts, routers: – IP address (32 bit) - used for addressing datagrams

Skype User Search Procedure

• A Skype client making a phone call needs to find other users• It contacts super-nodes from its host cache, asking them to help

find the user• Super-nodes return a list of nodes to contact• The client contacts those nodes• If unsuccessful, the client asks for more nodes• Guarantees to find any user that has logged in within the last 72

hours• Not much specific information on Skype protocol is available…