Versjon 1.0 / Kap 2: Applikasjonslaget1 Avsnitt 2.9 Innholdsdistribusjon Computer Networking: A Top Down Approach Featuring the Internet, 2 nd edition. Jim Kurose, Keith Ross Addison-Wesley, July Slides adapted from the slides accompanying the book of Kurose & Ross. © J.F Kurose and K.W. Ross, All Rights Reserved Norsk versjon: © Christian F Heide, 2003.
Versjon 1.0 / Kap 2: Applikasjonslaget2 Kapittel 2 – hvor er vi? r 2.1 Principles of app layer protocols r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail m SMTP, POP3, IMAP r 2.5 DNS r 2.6 Socket programming with TCP r 2.7 Socket programming with UDP r 2.8 Building a Web server r 2.9 Content distribution m Network Web caching m Content distribution networks m P2P file sharing
Versjon 1.0 / Kap 2: Applikasjonslaget3 Web caching (proxy-tjenere) klient Proxy tjener klient HTTP request HTTP response HTTP request HTTP response opprinnelses- server opprinnelses- server
Versjon 1.0 / Kap 2: Applikasjonslaget4 More about Web caching r Cache acts as both client and server Cache can do up-to-date check using If-modified- since HTTP header m Issue: should cache take risk and deliver cached object without checking? m Heuristics are used. r Typically cache is installed by ISP (university, company, residential ISP) Why Web caching? r Reduce response time for client request. r Reduce traffic on an institution’s access link. r Internet dense with caches enables “poor” content providers to effectively deliver content
Versjon 1.0 / Kap 2: Applikasjonslaget5 Caching-eksempel (1) Forutsetninger r gjennomsnittlig objekt- størrelse = 100,000 bits r gj.snittlig. forespørselsesrate fra institusjonens nettlesere = 15 pr sekund r forsinkelse fra institusjonens ruter til en opprinnelsesserver og tilbake = 2 sekunder Konsekvenser r trafikkintensitet på LAN = 0,15 r trafikkintensitet på aksesslink = 1,0 r totalforsinkelse = Internett-forsinkelse + aksessforsinkelse + LAN-forsinkelse = 2 s + minutter + millisekunder opprinnelses- servere Internett institusjonelt nett 10 Mb/s LAN 1.5 Mb/s aksesslink
Versjon 1.0 / Kap 2: Applikasjonslaget6 Caching-eksempel (2) Mulig løsning r øke båndbredden på aksesslinken til f. eks. 10 Mb/s Konsekvenser r trafikkintensitet på LAN = 0,15 r trafikkintensitet på aksesslink = 0,15 r Totalforsinkelse = Internett- forsinkelse + aksessforsinkelse + LAN-forsinkelse = 2 s + ms + ms r normalt en kostbar oppgradering opprinnelses- servers Internett institusjonelt nett 10 Mb/s LAN 10 Mb/s aksesslink
Versjon 1.0 / Kap 2: Applikasjonslaget7 Caching-eksempel (3) Installerer cache r anta at den besvarer 40% av forespørslene Konsekvenser r 40% av forespørslene besvares nesten umiddelbart r 60% av forespørslene besvares av opprinnelsesserver r trafikkintensitet på aksesslink redusert til 0,6 neglisjerbar forsinkelse (størrelsesorden 10 ms) r totalforsinkelse = Internett- forsinkelse + aksessforsinkelse + LAN-forsinkelse = 0,6 · 2,01 s + 0,4 · 0,01 s + ms < 1.3 s opprinnelses- servere Internet institusjonelt nett 10 Mb/s LAN 1.5 Mb/s aksesslink institusjonell cache
Versjon 1.0 / Kap 2: Applikasjonslaget8 Content distribution networks (CDNs) r The content providers are the CDN customers. Content replication r CDN company installs hundreds of CDN servers throughout Internet m in lower-tier ISPs, close to users r CDN replicates its customers’ content in CDN servers. When provider updates content, CDN updates servers origin server in North America CDN distribution node CDN server in S. America CDN server in Europe CDN server in Asia
Versjon 1.0 / Kap 2: Applikasjonslaget9 CDN eksempel opprinnelsesserver r r distribuerer HTML r Erstatter: med h ttp:// HTTP request for DNS query for HTTP request for Opprinnelsesserver CDNs autoritative DNS-server Nærliggende CDN-server CDN-firma r cdn.com r distribuerer gif-filer r benytter sin autori- tative DNS-server for å rute “redirect” forespørsler
Versjon 1.0 / Kap 2: Applikasjonslaget10 More about CDNs routing requests r CDN creates a “map”, indicating distances from leaf ISPs and CDN nodes r when query arrives at authoritative DNS server: m server determines ISP from which query originates m uses “map” to determine best CDN server not just Web pages r streaming stored audio/video r streaming real-time audio/video m CDN nodes create application-layer overlay network
Versjon 1.0 / Kap 2: Applikasjonslaget11 P2P file sharing Example r Alice runs P2P client application on her notebook computer r Intermittently connects to Internet; gets new IP address for each connection r Asks for “Hey Jude” r Application displays other peers that have copy of Hey Jude. r Alice chooses one of the peers, Bob. r File is copied from Bob’s PC to Alice’s notebook: HTTP r While Alice downloads, other users uploading from Alice. r Alice’s peer is both a Web client and a transient Web server. All peers are servers = highly scalable!
Versjon 1.0 / Kap 2: Applikasjonslaget12 P2P: sentralisert katalog sentralisert katalogserver peers Anne Bjørn
Versjon 1.0 / Kap 2: Applikasjonslaget13 P2P: problems with centralized directory r Single point of failure r Performance bottleneck r Copyright infringement file transfer is decentralized, but locating content is highly decentralized
Versjon 1.0 / Kap 2: Applikasjonslaget14 P2P: desentralisert katalog vanlig deltaker gruppeleder naborelasjon i ”overlay”-nett
Versjon 1.0 / Kap 2: Applikasjonslaget15 More about decentralized directory overlay network r peers are nodes r edges between peers and their group leaders r edges between some pairs of group leaders r virtual neighbors bootstrap node r connecting peer is either assigned to a group leader or designated as leader advantages of approach r no centralized directory server m location service distributed over peers m more difficult to shut down disadvantages of approach r bootstrap node needed r group leaders can get overloaded
Versjon 1.0 / Kap 2: Applikasjonslaget16 P2P: “Query flooding” join
Versjon 1.0 / Kap 2: Applikasjonslaget17 P2P: more on query flooding Pros r peers have similar responsibilities: no group leaders r highly decentralized r no peer maintains directory info Cons r excessive query traffic r query radius: may not have content when present r bootstrap node r maintenance of overlay network
Versjon 1.0 / Kap 2: Applikasjonslaget18 Kapittel 2: Oppsummering r tjenestekrav fra applikasjonene: m pålitelighet, bånd- bredde, forsinkelse r klient-tjener paradigmet r Internetts transport- tjenester m forbindelsesorientert, pålitelig: TCP m upålitelig, datagram: UDP r protokoller vi har sett på: m HTTP m FTP m SMTP, POP, IMAP m DNS r innholdsdistribusjon m cache (proxy), CDN m P2P
Versjon 1.0 / Kap 2: Applikasjonslaget19 Kapittel 2: Oppsummering r typisk request/reply meldingsutveksling: m klient spør om info eller tjeneste m tjener (server) svarer med data og/eller statuskode r meldingsformater: m headere: felter med info om data m data: info som skal oversendes Viktigste: lært om protokoller r kontroll- vs. datameldinger m in-band, out-of-band r sentralisert vs. desentralisert r tilstandsløs vs. tilstandsorientert r pålitelig vs. upålitelig meldingsoverføring r “kompleksitet på kanten” r sikkerhet: autentisering