dns and the web - university of california, berkeleyee122/fa13/lectures/lec14.pdfannouncements !...
TRANSCRIPT
![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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/1.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/2.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/3.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/4.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/5.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/6.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/7.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/8.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/9.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/10.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/11.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/12.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/13.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/14.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/15.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/16.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/17.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/18.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/19.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/20.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/21.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/22.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/23.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/24.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/25.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/26.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/27.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/28.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/29.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/30.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/31.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/32.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/33.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/34.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/35.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/36.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/37.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/38.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/39.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/40.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/41.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/42.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/43.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/44.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/45.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/46.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/47.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/48.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/49.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/50.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/51.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/52.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/53.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/54.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/55.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/56.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/57.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/58.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/59.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/60.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/61.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/62.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/63.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/64.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/65.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/66.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022042119/5e97dd63b01115017d572ee4/html5/thumbnails/67.jpg)
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