DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements !...

67
DNS and the Web EE 122, Fall 2013 Sylvia Ratnasamy http://inst.eecs.berkeley.edu/~ee122/ Material thanks to Ion Stoica, Scott Shenker, Jennifer Rexford, Nick McKeown, and many other colleagues

Transcript of DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements !...

Page 1: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

DNS and the Web

EE 122, Fall 2013 Sylvia Ratnasamy

http://inst.eecs.berkeley.edu/~ee122/

Material thanks to Ion Stoica, Scott Shenker, Jennifer Rexford, Nick McKeown, and many other colleagues

Page 2: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

Announcements

l  Project 3 out on Wednesday, Oct 30 l  Will do a Q&A in class on Monday, Nov 4

l  Midterm

l  Pick up graded exams from your TA in section or office hours

l  We’ll do a quick retrospective in class next week

Page 3: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

Taking Stock

l  Course so far l  Overall architecture (layers, protocols, inter-networking) l  Network layer (how we interconnect hosts and networks) l  Transport layer (E2E commn. that is better than best-effort)

l  What’s left? l  Application layer ß today l  Lower layers (Link coding, Ethernet, Wireless) ß next l  Special topics (datacenters, security, SDN) ßlast ~2 weeks

Page 4: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

Some very special guest lectures

l  Oct 30: Anant Sahai (“EE121-in-one-lecture”) l  Nov 6: Yahel Ben-David (Wireless) l  Nov 13 and 18: Vern Paxson (Security) l  Dec 2: Scott Shenker (SDN)

(Some dates still tentative.)

Page 5: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

Today: Application Layer

l  Domain Name System (DNS) l  What’s behind (e.g.) xyz.cs.berkeley.edu

l  HTTP and the Web l  What happens when you click on a link?

Page 6: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

DNS!

Page 7: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

7

Internet Names & Addresses

l  Machine addresses: e.g., 169.229.131.109 l  router-usable labels for machines l  conforms to network structure (the “where”)

l  Machine names: e.g., instr.eecs.berkeley.edu l  human-usable labels for machines l  conforms to organizational structure (the “who”)

l  The Domain Name System (DNS) is how we map from one to the other

Page 8: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

DNS: History l  Initially all host-address mappings were in a hosts.txt file

(in /etc/hosts): l  Maintained by the Stanford Research Institute (SRI) l  Changes were submitted to SRI by email l  New versions of hosts.txt periodically FTP’d from SRI l  An administrator could pick names at their discretion

l  As the Internet grew this system broke down: l  SRI couldn’t handle the load; names were not unique; hosts had

inaccurate copies of hosts.txt

l  The Domain Name System (DNS) was invented to fix this l  First name server implementation done by 4 UCB students!

Page 9: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

Goals

l  No naming conflicts (uniqueness) l  Scalable

l  many names l  (secondary) frequent updates

l  Distributed, autonomous administration l  Ability to update my own (machines’) names l  Don’t have to track everybody’s updates

l  Highly available l  Lookups are fast l  Non-goal?: perfect consistency

Page 10: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

Key idea: Hierarchy

Three intertwined hierarchies l  Hierarchical namespace

l  As opposed to original flat namespace l  Hierarchically administered

l  As opposed to centralized

l  (Distributed) hierarchy of servers l  As opposed to centralized storage

Page 11: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

Hierarchical Namespace

l  “Top Level Domains” are at the top l  Domains are subtrees

l  E.g: .edu, berkeley.edu, eecs.berkeley.edu l  Name is leaf-to-root path

l  instr.eecs.berkeley.edu

l  Depth of tree is arbitrary (limit 128) l  Name collisions trivially avoided

l  each domain is responsible

root

edu com gov mil org net uk fr

berkeley ucla

eecs sims

instr

Page 12: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

12

Hierarchical Administration root

edu com gov mil org net uk fr

berkeley ucla

eecs sims

instr

root

edu com gov mil org net uk fr

berkeley

eecs sims §  A zone corresponds to an administrative authority

that is responsible for that portion of the hierarchy §  E.g., UCB controls names: *.berkeley.edu and

*.sims.berkeley.edu

l  E.g., EECS controls names: *.eecs.berkeley.edu

Page 13: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

Server Hierarchy!

l  Top of hierarchy: Root servers l  Location hardwired into other servers

l  Next Level: Top-level domain (TLD) servers

l  .com, .edu, etc. l  Managed professionally

l  Bottom Level: Authoritative DNS servers l  Actually store the name-to-address mapping l  Maintained by the corresponding administrative authority

Page 14: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

Server Hierarchy

l  Each server stores a (small!) subset of the total DNS database

l  An authoritative DNS server stores “resource records” for all DNS names in the domain that it has authority for

l  Each server needs to know other servers that are responsible for the other portions of the hierarchy l  Every server knows the root l  Root server knows about all top-level domains

Page 15: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

DNS Root!l  Located in Virginia, USA l  How do we make the root scale?

Verisign, Dulles, VA

Page 16: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

DNS Root Servers!l  13 root servers (labeled A-M; see http://www.root-servers.org/)

B USC-ISI Marina del Rey, CA L ICANN Los Angeles, CA

E NASA Mt View, CA F Internet Software Consortium Palo Alto, CA

I Autonomica, Stockholm

K RIPE London

M WIDE Tokyo

A Verisign, Dulles, VA C Cogent, Herndon, VA D U Maryland College Park, MD G US DoD Vienna, VA H ARL Aberdeen, MD J Verisign

Page 17: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

DNS Root Servers!

B USC-ISI Marina del Rey, CA L ICANN Los Angeles, CA

E NASA Mt View, CA F Internet Software Consortium, Palo Alto, CA (and 37 other locations)

I Autonomica, Stockholm (plus 29 other locations)

K RIPE London (plus 16 other locations)

M WIDE Tokyo plus Seoul, Paris, San Francisco

A Verisign, Dulles, VA C Cogent, Herndon, VA (also Los Angeles, NY, Chicago) D U Maryland College Park, MD G US DoD Vienna, VA H ARL Aberdeen, MD J Verisign (21 locations)

l  13 root servers (labeled A-M; see http://www.root-servers.org/) l  Replicated via any-casting

Page 18: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

Anycast in a nutshell

l  Routing finds shortest paths to destination

l  If several locations are given the same address, then the network will deliver the packet to the closest location with that address

l  This is called “anycast” l  Very robust l  Requires no modification to routing algorithms

Page 19: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

Using DNS (Client/App View)!

l  Two components l  Local DNS servers l  Resolver software on hosts

l  Local DNS server (“default name server”) l  Usually near the endhosts that use it l  Hosts configured with local server address (e.g., /etc/resolv.conf)

or learn server via a host configuration protocol (e.g., DHCP)

l  Client application l  Obtain DNS name (e.g., from URL) l  Do gethostbyname() to trigger DNS request to its local DNS server

Page 20: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

requesting host cis.poly.edu gaia.cs.umass.edu

root DNS server

local DNS server dns.poly.edu

1

2 3

4 5

6

authoritative DNS server dns.cs.umass.edu

7 8

TLD DNS server

How Does Resolution Happen?! Host at cis.poly.edu wants IP address for gaia.cs.umass.edu

Page 21: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

Recursive vs. Iterative Queries!l  Recursive query

l  Ask server to get answer for you

l  E.g., request 1 and response 8

l  Iterative query l  Ask server who

to ask next l  E.g., all other

request-response pairs requesting host

cis.poly.edu

root DNS server

local DNS server dns.poly.edu

1

2 3

4 5

6

authoritative DNS server dns.cs.umass.edu

7 8

TLD DNS server

Page 22: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

22

DNS Records

l  DNS info. stored as resource records (RRs) l  RR is (name, value, type, TTL)

l  Type = A: (! Address) l  name = hostname l  value = IP address

l  Type = NS: (! Name Server) l  name = domain l  value = name of dns server for domain

Page 23: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

23

DNS Records (cont’d)

l  Type = CNAME: (! Canonical NAME) l  name = hostname l  value = canonical name

l  Type = MX: (! Mail eXchanger) l  name = domain in email address l  value = canonical name(s) of mail server(s)

Page 24: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

Inserting Resource Records into DNS!

l  Example: just created company “FooBar” l  Get a block of address space from ISP

l  Say 212.44.9.128/25

l  Register foobar.com at registrar (e.g., Network Solutions) l  Provide registrar with names and IP addresses of your

authoritative name server (primary and secondary) l  Registrar inserts RR pairs into the .com TLD server:

l  (foobar.com, dns1.foobar.com, NS) l  (dns1.foobar.com, 212.44.9.129, A)

l  You store appropriate records in your server dns1.foobar.com: l  e.g., type A record for www.foobar.com l  e.g., type MX record for foobar.com

Page 25: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

25

DNS Protocol

l  Query and Reply messages; both with the same message format l  header: identifier, flags, etc. l  plus resource records l  see text/section for details

l  Client--server interaction on UDP Port 53 l  Spec supports TCP too, but not always implemented

Page 26: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

Goals -- how are we doing?

l  No naming conflicts (uniqueness) l  Scalable l  Distributed, autonomous administration l  Highly available l  Fast lookups

Page 27: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

DNS Caching!

l  Performing all these queries takes time l  And all this before actual communication takes place l  E.g., 1-second latency before starting Web download

l  Caching can greatly reduce overhead l  The top-level servers very rarely change l  Popular sites (e.g., www.cnn.com) visited often l  Local DNS server often has the information cached

l  How DNS caching works l  DNS servers cache responses to queries l  Responses include a “time to live” (TTL) field l  Server deletes cached entry after TTL expires

Page 28: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

Negative Caching!

l  Remember things that don’t work l  Misspellings like www.cnn.comm and www.cnnn.com l  These can take a long time to fail the first time l  Good to remember that they don’t work l  … so the failure takes less time the next time around

l  But: negative caching is optional l  And not widely implemented

Page 29: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

Reliability!

l  DNS servers are replicated (primary/secondary) l  Name service available if at least one replica is up l  Queries can be load-balanced between replicas

l  Usually, UDP used for queries l  Need reliability: must implement this on top of UDP

l  Try alternate servers on timeout l  Exponential backoff when retrying same server

l  Same identifier for all queries l  Don’t care which server responds

Page 30: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

Important Properties of DNS

Administrative delegation and hierarchy results in:

l  Easy unique naming

l  “Fate sharing” for network failures

l  Reasonable trust model

l  Caching lends scalability, performance

Page 31: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

DNS provides Indirection!l  Addresses can change underneath

l  Move www.cnn.com to 4.125.91.21 l  Humans/Apps should be unaffected

l  Name could map to multiple IP addresses

l  Enables l  Load-balancing l  Reducing latency by picking nearby servers

l  Multiple names for the same address l  E.g., many services (mail, www, ftp) on same machine l  E.g., aliases like www.cnn.com and cnn.com

l  But, this flexibility applies only within domain!

Page 32: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

The Web!

Page 33: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

The Web – Precursor!

l  1967, Ted Nelson, Xanadu: l  A world-wide publishing network

that would allow information to be stored not as separate files but as connected literature

l  Owners of documents would be automatically paid via electronic means for the virtual copying of their documents

l  Coined the term “Hypertext” Ted Nelson

Page 34: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

34

The Web – History!

l  World Wide Web (WWW): a distributed database of “pages” linked through Hypertext Transport Protocol (HTTP) l  First HTTP implementation - 1990

l  Tim Berners-Lee at CERN

l  HTTP/0.9 – 1991 l  Simple GET command for the Web

l  HTTP/1.0 –1992 l  Client/Server information, simple caching

l  HTTP/1.1 - 1996

Tim Berners-Lee

Page 35: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

On inventing a “killer app” HTML is precisely what we were trying to PREVENT— ever-breaking links, links going outward only, quotes you can't follow to their origins, no version management, no rights management.

– Ted Nelson

Page 36: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

Web Components!

l  Infrastructure: l  Clients l  Servers

l  Content: l  URL: naming content l  HTML: formatting content

l  Protocol for exchanging information: HTTP

Page 37: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

37

Uniform Record Locator (URL)

protocol://host-name[:port]/directory-path/resource

l  Extend the idea of hierarchical hostnames to include anything in a file system l  http://www.cs.berkeley.edu/~sylvia/cs268/lecture1.ppt

l  Extend to program executions as well… l  http://us.f413.mail.yahoo.com/ym/ShowLetter?box=%40B

%40Bulk&MsgId=2604_1744106_29699_1123_1261_0_28917_3552_1289957100&Search=&Nhead=f&YY=31454&order=down&sort=date&pos=0&view=a&head=b

l  Server side processing can be incorporated in the name

Page 38: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

38

Uniform Record Locator (URL)

protocol://host-name[:port]/directory-path/resource

l  protocol: http, ftp, https, smtp, rtsp, etc. l  hostname: DNS name, IP address l  port: defaults to protocol’s standard port; e.g. http: 80 https: 443 l  directory path: hierarchical, reflecting file system l  resource: Identifies the desired resource

Page 39: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

Web and DNS

l  URLs use hostnames

l  Thus, content names are tied to specific hosts

l  Makes persistence of content difficult!

Page 40: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

Hyper Text Transfer Protocol (HTTP)

l  Client-server architecture l  server is “always on” and “well known” l  clients initiate contact to server

l  Synchronous request/reply protocol

l  Runs over TCP, Port 80

l  Stateless

l  ASCII format

Page 41: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

Steps in HTTP Request/Response

Client Server TCP Syn

TCP syn + ack

TCP ack + HTTP GET

. . .

Establish connection

Request response

Client request

Close connection

Page 42: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

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

Client-to-Server Communication!l  HTTP Request Message

l  Request line: method, resource, and protocol version l  Request headers: provide information or modify request l  Body: optional data (e.g., to “POST” data to the server)

request line

header lines

carriage return line feed indicates end of message

Page 43: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

43

Server-to-Client Communication!l  HTTP Response Message

l  Status line: protocol version, status code, status phrase l  Response headers: provide information l  Body: optional data

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

status line (protocol, status code, status phrase)

header lines

data e.g., requested HTML file

Page 44: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

HTTP is Stateless !

l  Each request-response treated independently l  Servers not required to retain state

l  Good: Improves scalability on the server-side l  Failure handling is easier l  Can handle higher rate of requests l  Order of requests doesn’t matter

l  Bad: Some applications need persistent state l  Need to uniquely identify user or store temporary info l  e.g., Shopping cart, user profiles, usage tracking, …

Page 45: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

State in a Stateless Protocol:Cookies!l  Client-side state maintenance

l  Client stores small state on behalf of server l  Client sends state in future requests to the server

l  Can provide authentication

Request

Response Set-Cookie: XYZ

Request Cookie: XYZ

Page 46: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

Performance Issues!

Page 47: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

Performance Goals

l  User l  fast downloads (not identical to low-latency commn.!) l  high availability

l  Content provider l  happy users (hence, above) l  cost-effective infrastructure

l  Network (secondary) l  avoid overload

Page 48: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

Solutions?

l  User l  fast downloads (not identical to low-latency commn.!) l  high availability

l  Content provider l  happy users (hence, above) l  cost-effective infrastructure

l  Network (secondary) l  avoid overload

Improve HTTP to compensate for

TCP’s weak spots

Page 49: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

Solutions?

l  User l  fast downloads (not identical to low-latency commn.!) l  high availability

l  Content provider l  happy users (hence, above) l  cost-effective delivery infrastructure

l  Network (secondary) l  avoid overload

Caching and Replication

Improve HTTP to compensate for

TCP’s weak spots

Page 50: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

Solutions?

l  User l  fast downloads (not identical to low-latency commn.!) l  high availability

l  Content provider l  happy users (hence, above) l  cost-effective delivery infrastructure

l  Network (secondary) l  avoid overload

Caching and Replication

Exploit economies of scale (Webhosting, CDNs, datacenters)

Improve HTTP to compensate for

TCP’s weak spots

Page 51: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

HTTP Performance!

l  Most Web pages have multiple objects l  e.g., HTML file and a bunch of embedded images

l  How do you retrieve those objects (naively)? l  One item at a time

l  New TCP connection per (small) object!

Page 52: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

Improving HTTP Performance:Concurrent Requests & Responses!

l  Use multiple connections in parallel

l  Does not necessarily maintain order of responses

•  Client = J •  Content provider = J

•  Network = L Why?

R1 R2 R3

T1

T2 T3

Page 53: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

Improving HTTP Performance:Persistent Connections!

l  Maintain TCP connection across multiple requests l  Including transfers subsequent to current page l  Client or server can tear down connection

l  Performance advantages: l  Avoid overhead of connection set-up and tear-down l  Allow TCP to learn more accurate RTT estimate l  Allow TCP congestion window to increase l  i.e., leverage previously discovered bandwidth

l  Default in HTTP/1.1

Page 54: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

Improving HTTP Performance:Pipelined Requests & Responses"

Client Server

Request 1 Request 2 Request 3

Transfer 1

Transfer 2

Transfer 3

l  Batch requests and responses to reduce the number of packets

l  Multiple requests can be contained in one TCP segment

Page 55: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

Scorecard: Getting n Small Objects

Time dominated by latency

l  One-at-a-time: ~2n RTT l  M concurrent: ~2[n/m] RTT l  Persistent: ~ (n+1)RTT l  Pipelined: ~2 RTT l  Pipelined/Persistent: ~2 RTT first time, RTT later

Page 56: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

Scorecard: Getting n Large Objects

Time dominated by bandwidth

l  One-at-a-time: ~ nF/B l  M concurrent: ~ [n/m] F/B

l  assuming shared with large population of users l  and each TCP connection gets the same bandwidth

l  Pipelined and/or persistent: ~ nF/B l  The only thing that helps is getting more bandwidth..

Page 57: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

Improving HTTP Performance:Caching!

l Why does caching work? l Exploits locality of reference

l How well does caching work? l Very well, up to a limit l Large overlap in content l But many unique requests

Page 58: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

Improving HTTP Performance:Caching: How!

l Modifier to GET requests: l  If-modified-since – returns “not modified” if

resource not modified since specified time

GET /~ee122/fa13/ HTTP/1.1!Host: inst.eecs.berkeley.edu!User-Agent: Mozilla/4.03!If-modified-since: Sun, 27 Oct 2013 22:25:50 GMT!<CRLF>!

l  Client specifies “if-modified-since” time in request l  Server compares this against “last modified” time of resource l  Server returns “Not Modified” if resource has not changed l  …. or a “OK” with the latest version otherwise

Page 59: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

Improving HTTP Performance:Caching: How!

l Modifier to GET requests: l  If-modified-since – returns “not modified” if

resource not modified since specified time l Response header:

l  Expires – how long it’s safe to cache the resource l  No-cache – ignore all caches; always get resource

directly from server

Page 60: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

Improving HTTP Performance:Caching: Where?!

l Options l Client l Forward proxies l Reverse proxies l Content Distribution Network

Page 61: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

l  Baseline: Many clients transfer same information l  Generate unnecessary server and network load l  Clients experience unnecessary latency

Server

Clients

Tier-1 ISP

ISP-1 ISP-2

Improving HTTP Performance:Caching: Where?!

Page 62: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

62

Improving HTTP Performance:Caching with Reverse Proxies!

l  Cache documents close to server à decrease server load

l  Typically done by content provider

Clients

Backbone ISP

ISP-1 ISP-2

Server

Reverse proxies

Page 63: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

Improving HTTP Performance:Caching with Forward Proxies!

l  Cache documents close to clients à reduce network traffic and decrease latency

l  Typically done by ISPs or enterprises

Clients

Backbone ISP

ISP-1 ISP-2

Server

Reverse proxies

Forward proxies

Page 64: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

l  Replicate popular Web site across many machines l  Spreads load on servers l  Places content closer to clients l  Helps when content isn’t cacheable

l  Problem: Want to direct client to particular replica l  Balance load across server replicas l  Pair clients with nearby servers

l  Common solution: l  DNS returns different addresses based on client’s geo

location, server load, etc.

Improving HTTP Performance: Replication!

Page 65: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

Improving HTTP Performance: Content Distribution Networks!

l  Caching and replication as a service l  Large-scale distributed storage infrastructure (usually)

administered by one entity l  e.g., Akamai has servers in 20,000+ locations

l  Combination of (pull) caching and (push) replication l  Pull: Direct result of clients’ requests l  Push: Expectation of high access rate

l  Also do some processing l  Handle dynamic web pages l  Transcoding

Page 66: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

Improving HTTP Performance:CDN Example – Akamai!

l  Akamai creates new domain names for each client l  e.g., a128.g.akamai.net for cnn.com

l  The CDN’s DNS servers are authoritative for the new domains

l  The client content provider modifies its content so that embedded URLs reference the new domains. l  “Akamaize” content l  e.g.: http://www.cnn.com/image-of-the-day.gif becomes http://

a128.g.akamai.net/image-of-the-day.gif

l  Requests now sent to CDN’s infrastructure…

Page 67: DNS and the Web - University of California, Berkeleyee122/fa13/lectures/lec14.pdfAnnouncements ! Project 3 out on Wednesday, Oct 30 ! Will do a Q&A in class on Monday, Nov 4 ! Midterm

Cost-Effective Content Delivery!

l  General theme: multiple sites hosted on shared physical infrastructure l  efficiency of statistical multiplexing l  economies of scale (volume pricing, etc.) l  amortization of human operator costs

l  Examples:

l  Web hosting companies l  CDNs l  Cloud infrastructure