dns. 2 dns: domain name system dns services hostname to ip address translation host aliasing –...

26
DNS

Upload: oliver-hancock

Post on 26-Dec-2015

240 views

Category:

Documents


6 download

TRANSCRIPT

DNS

2

DNS: Domain Name System

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

3

Root DNS Servers`

com DNS servers org DNS servers edu DNS servers

fsu.eduDNS servers

umass.eduDNS servers

yahoo.comDNS servers

amazon.comDNS servers

pbs.orgDNS servers

Distributed, Hierarchical Database

4

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

– contacts authoritative name server if name mapping not known– gets mapping– returns mapping to local name server– http://root-servers.org/ 13 root name servers

worldwide

b 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, MDj Verisign, ( 11 locations)

5

TLD and Authoritative Servers

• Top-level domain (TLD) servers: responsible for com, org, net, edu, etc, and all top-level country domains cn, ca, fr, jp, uk etc.– Network solutions maintains servers for com TLD– Educause for edu 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

6

Local Name Server

• 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.

7

requesting hostcis.poly.edu

gaia.cs.umass.edu

root DNS server

local DNS serverdns.poly.edu

1

23

4

5

6

authoritative DNS serverdns.cs.umass.edu

78

TLD DNS server

Iterative Queries

iterated query:• contacted server replies with

name of server to contact• “I don’t know this name, but ask

this server”

8

requesting hostcis.poly.edu

gaia.cs.umass.edu

root DNS server

local DNS serverdns.poly.edu

1

2

45

6

authoritative DNS serverdns.cs.umass.edu

7

8

TLD DNS server

3

Recursive queries

recursive query:puts burden of name resolution on contacted name serverheavy load?

9

DNS: caching and updating records

• once (any) name server learns mapping, it caches mapping– cache entries timeout (disappear) after some time– TLD servers typically cached in local name servers

• Thus root name servers not often visited

10

DNS records

DNS: 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, ttl, class, type, value)

• Type=Aname is hostnamevalue is IP address

• Type=CNAMEname is alias name for some “canonical” (the real) name www.ibm.com is really servereast.backup2.ibm.comvalue is canonical name

• Type=MXvalue is name of mail server associated with name

The dig command

The dig command

Web and HTTPFirst some jargon• Web page consists of objects• Object can be HTML file, JPEG image, Java applet,

audio file,…• Web page consists of base HTML-file which

includes several referenced objects• Each object is addressable by a URL• Example URL:

www.someschool.edu/someDept/pic.gif

host name path name

HTTP overview

HTTP: hypertext transfer protocol

• Web’s application layer protocol• client/server model

– client: browser that requests, receives, “displays” Web objects

– server: Web server sends objects in response to requests

• HTTP 1.0: RFC 1945• HTTP 1.1: RFC 2068

PC runningExplorer

Server running

Apache Webserver

Mac runningNavigator

HTTP request

HTTP request

HTTP response

HTTP response

HTTP overview (continued)

Over TCP:• client initiates TCP connection (creates socket) to server,

port 80• server accepts TCP connection from client• HTTP messages (application-layer protocol messages)

exchanged between browser (HTTP client) and Web server (HTTP server)

• TCP connection closed

HTTP request message

• two types of HTTP messages: request, response• HTTP request message:

– ASCII (human-readable format)

GET /somedir/page.html HTTP/1.1Host: www.someschool.edu User-agent: Mozilla/4.0Connection: close Accept-language:fr

(extra carriage return, line feed)

request line(GET, POST,

HEAD commands)

header lines

Carriage return, line feed

indicates end of message

HTTP request message: general format

HTTP response message

HTTP/1.1 200 OK Connection closeDate: Thu, 06 Aug 1998 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun 1998 …... Content-Length: 6821 Content-Type: text/html data data data data data ...

status line(protocol

status codestatus phrase)

header lines

data, e.g., requestedHTML file

Trying out HTTP (client side) for yourself

1. Telnet to your favorite Web server:

Opens TCP connection to port 80(default HTTP server port) at www.cs.fsu.edu.Anything typed in sent to port 80 at www.cs.fsu.edu

telnet www.cs.fsu.edu 80

2. Type in a GET HTTP request:GET index.html / HTTP/1.1Host: www.cs.fsu.edu

By typing this in (hit carriagereturn twice), you sendthis minimal (but complete) GET request to HTTP server

3. Look at response message sent by HTTP server!

20

telnet www.cs.fsu.edu 80Trying 192.168.23.10...Connected to www.cs.fsu.edu (192.168.23.10).Escape character is '^]'.GET /index.html /HTTP/1.1Host: www.cs.fsu.edu

HTTP/1.1 200 OKDate: Wed, 28 Nov 2007 18:34:29 GMTServer: Apache/2.0.52 (Scientific Linux)Last-Modified: Mon, 29 Aug 2005 18:02:35 GMTETag: "1defce0-29c5-4cd2a4c0"Accept-Ranges: bytesContent-Length: 10693Connection: closeContent-Type: text/html; charset=ISO-8859-1

<html>

<head><title>Computer Science @ Florida State University</title>

<base HREF="http://www.cs.fsu.edu/">

<meta NAME="resource-type" CONTENT="document"><meta NAME="description" CONTENT="Website for the Computer Science Department at Florida State University"><meta NAME="keywords" CONTENT="Florida State University, Computer Science, Internet2, CS"><meta NAME="distribution" CONTENT="global"><meta NAME="author" CONTENT="Kendal Van Dyke">

User-server state: cookies

• HTTP is stateless.– two requests are treated independently.– Why stateless?– What is the problem with a stateless http?

• E-commence: People buy things by making many requests. Need the ability to bind the requests from the same customer together.

– Solution: cookies

Cookies: keeping “state” (cont.)client server

usual http request msgusual http response

+Set-cookie: 1678

usual http request msg

cookie: 1678usual http response

msg

usual http request msg

cookie: 1678usual http response msg

cookie-specificaction

cookie-spectificaction

servercreates ID

1678 for user

entry in backend

database

access

acce

ss

Cookie file

amazon: 1678ebay: 8734

Cookie file

ebay: 8734

Cookie file

amazon: 1678ebay: 8734

one week later:

Cookies (continued)What cookies can bring:• authorization• shopping carts• recommendations• user session state

(Web e-mail)

Cookies and privacy:• cookies permit sites to

learn a lot about you• you may supply name

and e-mail to sites• search engines use

redirection & cookies to learn yet more

• advertising companies obtain info across sites

aside

• Some issues in HTTP:• Mainly due to its popularity

– Cache support.• Insufficient in http/1.0, improved in http/1.1• Intermediate nodes, encoding, etc

– Dynamically generated date• Not reliable in http/1.0

– Performance• Persistent or non-persistent TCP connection• Download the whole file or part of a file

– User preference– Security

Content-Delivery

• Akamai.• With 18,000 servers all around the world (in

2010).• Most likely what happens when a request for a

webpage, the original server will reply the text html file while asking Akamai servers to send the large files.

• Good for the clients, and good for the ISPs because it reduces the upstream traffic.

DNS Redirecting

• First time, the client needs to look up www.cdn.com so it will get the DNS reply from the CDN DNS server.

• The CDN DNS server finds which server best serves this client and returns the ip address of this server, considering the network capacity, the network delay, and the network load.

• Akamai also has to consider where to put the servers.