reti internet multimediali
TRANSCRIPT
RETIINTERNETMULTIMEDIALI
ContentDeliveryNetworks
Ildocumentoèada.atodamaterialecortesementemessoadisposizionedalProf.Vi.orioTrecordi
1
Nuoveesigenzeenuovestrategie! Ladiffusionedicontenu/conl’archite4uraWebhaavutounosvilupponotevolegraziealsuoparadigma
sempliceedigrandeefficacia§ Permezzodell’archite4uraWebèpossibiletrasferirecontenu/di/poeterogeneo:testo,audio,video,
immagini,ecc.! Storicamenteicontenu/viaWebsonosta/residisponibilipermezzodiservercentralizza:(originserver)nella
retedibackbone§ Mol/clientcheaccedonoallamedesimainformazionegeneranouncaricosutaleserveresullaretechepuòessere
evitatooridimensionato! Nuovestrategieperladiffusioneefficientedicontenu/viaWebsonostatedefiniteper
§ Fronteggiarel’aumentodeltrafficoinrete§ Assicurarelatenzeacce4abili§ Occuparelerisorseinmodoefficiente
2
ImpiegodiProxy! L’introduzionedisistemichereplicanoicontenu/(sistemidicaching)esi
frappongonotraclienteoriginserver(deOProxyoProxyApplica:vi)èunapra/cachetendeamigliorareilsistemadidistribuzionedeicontenu/
! UnapossibilitàèusaredeiReverseproxyu/lizza/comefront-enddelserverdaifornitoridicontenu/perridurreilcaricodelserverperladiffusionedicontenu/sta/ci
3
ImpiegodiProxy! IForwardproxysonosistemiintermediconfunzionidireplicadeicontenu/
posiziona/inprossimitàdeiclientedispiega/nellareteaziendaleodall’ISPnellasuarete
! Questaposizioneconsentediridurrelalatenzadiaccessoecontenereilcaricodiretepercontenu/popolari
! ChiameremosiaiForwardcheiReverseproxyconilterminegenericodicache
4
ReplicadeicontenuC! Lareplicadeicontenu/èefficacese
§ Icontenu/sonoconsisten/evalidi§ Icontenu/sonorichies/daunapluralitàdiuten/(localitàspazialee
temporale)! Duediversemodalitàdicaching
§ Ilcontenutopuòesserereplicatodallecacheopportunis/camentequandovienerichiestodaunutente(sistemapull)
§ Lereplichedeicontenu/possonoesseresistema/camenteprogrammate(sistemapush)• Lacopiapuòesseregenerataa4raversounsistemaesplicitodidiffusioneche
propagacopiedeicontenu/cheverosimilmentebeneficerannodelcaching(contenu/popolari)
! Duediverse/pologiediaccessoallecache§ NelTransparentCachinglecachesonotrasparen/rispe4oaiclient
(interce4anoiltrafficointransito)§ NelCachingEsplicitoiclientsonoconfigura/perpuntareadun
sistemaintermediochefacaching5
Principiodelcaching
! Lacapacitàdistoragedellecachechepossonoessereposizionatevicinoagliuten/èusualmentescarsa§ Simiraareplicarevicinoagliuten/soloicontenu/accedu/piùcomunemente
§ E’importantedefinireunastrategiaperdeterminareicontenu/usa/comunemente(contenu/popolari)
! Gliaccessisonospessocorrela/traloroesidicechepossiedonolocalitৠLocalitàtemporale:l’informazionechevieneconsultatainuncertoistantesaràconsultatanuovamenteintempibrevi
§ Localitàspaziale:l’informazioneconsultatadaunpuntosaràverosimilmenteconsultatadapun/adiacen/
6
Consistenza
! Consistenza:assicurachelereplichesonocoeren/eallineate
! Diversigradidiconsistenza§ Forte:sievitalaconsegnadireplichenonconsisten/§ Debole:siconsegnanoreplichenonconsisten/conbassaprobabilità
! Esistonotremeccanismipercontrollarelereplichedicontenu/nellecache§ Invalida:on:dipendedall’expectedexpiry:me,definitodall’originserver.Unareplicavieneinvalidatadopolascadenzaditaletempo
§ Freshness:garan/scecheunareplicaincachepossaessereconsiderata«fresca»,ovverononobsoleta
§ Valida:on:perme4edicontrollareseunareplicanellacacheèancoravalida,anchedopolascadenzadell’expectedexpiry/me
7
CachingcooperaCvo
! Quandolacachenoncon/eneuncontenutospecifico(cachemiss),anzichéchiederloall’originserverpuòrichiederloadaltrecache
! Due/pologiedicachingcoopera/vo§ Flat:tu4elecachesitrovanoallostessolivello
§ Gerarchico:lecachesonostru4urateinlivelligerarchicieladiffusionedeicontenu/èorganizzataadalbero 8
DireEveHTMLeHTTP
! LedireOveHTMLeHTTPconsentonoaclienteserverdiimpostarelemodalitàdicachingdiuncontenuto
! DireOveHTML§ Es.<metah.p-equiv="pragma"content="no-cache">§ Faciledacontrollarepergliautoridellepagineweb§ LimitatoaoggeOHTML
! DireOveHTTP§ Es.Cache-control:,Expires:,If-Modified-Since:§ Campidell’intestazioneHTTP§ Piùfacilidages/redapartedellecache§ Sonopiùdiffuse
9
DireEveHTTPimperaCve
! Hannolaprecedenzasualtricontrollidellecache
! Nellerichiesteenellerisposte§ cache-control:no-store:impedisceilcachingdeglioggeO
§ cache-control:no-transform:impedisceallacachedioperaretrasformazionideida/
! Solamentenellerichieste§ cache-control:only-if-cached:richiedel’usoesclusivodiuncontenutopresenteincache• Seilcontenutononèpresenteincache,lacacherispondeconungateway:meout
10
DireEvesulciclodivitadiuncontenuto
! Last-modified:istanteincuiilcontenutoèstatomodificatodall’originserver§ L’originserverelecachedevonoriferirsiauncomuneclockdiriferimento§ Nondifferenziatracambiamen/minoriemaggiori
! Date:Indical’istanteincuil’ogge4oèstatoinviatodall’originserverallacache
! Expires:predizionedelserverdiquandolecopiedevonoesseresos/tuite! Age:tempopassatodall’ogge4onellacache
§ Date+Age<Expires11
DireEveditempisCca
! Iclientpossonorichiederecontenu/chehannounacertaesigenzaditempis/ca§ Max-age:ilclientpuònongradireinformazioniconunacerta
obsolescenza(riferitoaDate)§ Min-fresh:ilclientsiassicuracheuncontenutosiasufficientemente
distantedallostatodiExpiry§ Max-stale:Ilclientpotrebbeacce4areuncontenutounpo’obsoleto
(didefaultlecachenonres/tuisconocontenu/obsole/)
12
ExpirypredeGadalserver
! L’originserverlimitailtempodivitadeicontenu/cheinviaallecachepermezzodell’Expires
! L’expiry/meèperòunapredizionedelserverepuòesseresbagliata,perquestoènecessarioricorreallavalidazioneunavoltaraggiuntol’expiry/me
! Nota:sesihagaranziachel’originservernonmodificaunogge4oprimadelsuoexpiry/me(Expires),ilclientpuòesseresicurodellaconsistenzaforte
13
Validazionedapartedelclient
! Ilclientcercaunareplicavalida! Lavalidazioneèlaverificaeffe4uata
percapirese,unavoltachel’expiry/meèscaduto,unacopiaèancorau/lizzabile
! Sel’expiry/meèstatoraggiuntoperilcontenutorichiesto
1. LacacheinviaunaGETrequestcon– if-modified-since:datadellacopiaincache– if-none-match:Etagdellacopiaincache
» Etag(en/tytag):stringachedis/nguediverseversionidiuncontenuto
2. Ilserverrispondeconunotra– Ilcontenuto(semodificato)– ResponsecodeHTTP/1.0304NotModified
14
EsempiodivalidazioneGET/img/ie\.pngHTTP/1.1Host:ir\.orgReferer:h.p://ir\.org/If-Modified-Since:Fri,06May201110:01:43GMTIf-None-Match:"aa0b06-754-4a29893aa8fc0"
HTTP/1.1304NotModifiedDate:Tue,24May201105:21:29GMTETag:"aa0b06-754-4a29893aa8fc0“Expires:Tue,31May201105:21:29GMT 15
HTTPGETRequest
HTTPResponse
EterogeneitàdeicontenuC
! Esistono/pologieeterogeneedicontenu/§ Contenu:sta:ci:rela/vamentestabilineltempo(es.,HTML,immagini,archivi)
§ Contenu:vola:li:modifica/difrequente,periodicamenteodaeven/incorso(news,even/spor/vi,/tolidiborsa)
§ Contenu:dinamici:crea/dinamicamentesullabasedellarichiestadelclient(motoridiricerca,e-commerce)
! Icontenu:mul:mediali,ovveroqueicontenu/audio/videoaven/dimensioni/picamentemaggioririspe4oadaltri/pidicontenu/(videoclip,mp3,animazioniFlash),sonosolitamentesta:ci
16
ContenuCtraGabiliincache
! Unaporzionesignifica/vadeicontenu/(>50%)sono«uncacheable»
! Leprincipalifon/diuncacheabilitysono§ Vola/lità:cambianodifrequenteneltempoesarebbedispendiosoallinearelecopieincache
§ Dinamicità:lecachenonsonosolitamentedisegnatepergeneraredinamicamentecontenu/
§ SSL:ida/cifra/nonsonotra4abiliincache§ Adver/sing/Analy/cs:ilproprietarioadesempiodiunbannerpubblicitariovuolemisurareilnumerodiclick
! Tu4avialamaggiorpartedeicontenu/vola/liodinamicihaunadimensionemodesta,mentreicontenu/sta/ciemul/medialisonovoluminosi
17
CosaèunaContentDeliveryNetwork(CDN)
! UnaCDNèun’infrastru4uracreataperdistribuireefficacementeicontenu/deiserverWebpiùpopolariagliuten/diInternet
! LeCDNsibasanosulladistribuzioneprogrammataeintelligentedireplichedeicontenu/delserverprincipaledelContentProvider(originserver)adunamolteplicitàdiserverdispos/sullaretedaunCDNProvider§ IlserviziodiCDNèoffertodaiCDNProvideraiContentProviderchehannocontenu/popolaririchieden/unadiffusionevastaecapillare
! IlservizioCDNpuntaamigliorareleprestazioni§ Riduzionedellalatenzadiaccessoauncontenuto§ Riduzionedellabandaoccupatainrete
18
ComponenCdell’architeGuraCDN! Componen/dicontentdelivery
§ Originservereinsiemedireplicaserver(cache)
! Componentedidistribuzionedelcontenuto§ Replicailcontenutodell’origin
serverneiReplicaservereman/enelaconsistenza
! Componentedirequestrou:ng§ Indirizzalerichiestedegliuten/
versounserver(originoreplica)§ Interagisceconilcomponentedi
distribuzionepermantenereunacopiaaggiornatadelcontenuto
! Componentediaccoun:ng§ Man/eneilogdegliaccessidegli
uten/§ Effe4uaanalisideltrafficoe
perme4ealContentProviderdieffe4uarelatariffazione 19
Placementdeireplicaserver
! ProblemadioOmizzazione! Variantedelproblemadik-medians(NP-hard,
maesistonobuoneeuris/cheealgo.approssima/):§ Datouninsiemedipun/(uten/)ek(k=numeroreplicaserver)
§ Trovarekcentritaliiclusterdetermina/(distanzadalcentro/server)sianominimizza/(peres.:distanzamedia,latenzaetc.)
20
ComponentedirequestrouCng
! ComesiindirizzalarichiestadiunclientadunospecificocacheserverdellaCDN?
! SiusailsistemaDNS(DomainNameServer)! Vengonou/lizza/duemeccanismi
§ DNSredirec:on§ URLrewri:ng
21
DomainNameServer(DNS)
22
DNSautorita/vopermail.example.org
DNSredirecCon
! IlDNSautorita/vodelsitoWebpuò§ Delegarelarisoluzionedell’hostnameinunindirizzoIPaunnameservercontrollatodallaCDN
§ Effe4uaredire4amentelarisoluzionediunindirizzoaduncacheserverdellaCDN(selaCDNpuòges/redire4amenteilDNSautorita/vo)
! Inentrambiicasi§ LasceltadiundeterminatocacheserverdellaCDNèeffe4uataconlatraduzionedahostnameaindirizzoIP
§ Lasceltaèeffe4uatadalsistemaDNSinternoallaCDN
23
URLrewriCng
! IlContentProviderriscriveleURLpresen/nellapaginaHTMLinmododafarapparirechegliembeddedobjectsonolocalizza/suuncacheserver
! Cosìcisaràbisognodiunarisoluzionespecificadell’hostnamedeivariembeddedobject,ilcuinameserverautorita/voèso4oilcontrollodellaCDN§ Nellarisoluzionedelnuovohostname,iDNSdellaCDNindirizzerannolerichiestedeiclientpergliembeddedobjectversouncacheserverdellaCDN
! E’possibileusarepiùdiuncacheserverpergliembeddedobjectdiunapagina
24
Akamai
! AkamaièunacompagniastatunitensechesioccupadiserviziInternet§ E’natanel1998inMassachussets§ Tralealtrecose,èilpiùimportanteCDNProviderdelmondo
! PossiedelaCDNpiùestesaalmondo§ NumerosissimiContentProvideru/lizzanolaCDNAkamaiperladiffusionedeipropricontenu/
§ TralevariecompagniechehannounapartnershipcommercialeconAkamaisipossonocitareApple,FacebookeTwi4er
25
AkamaiArchiteGura
26
AkamaiRouCngindireGoeURLrewriCng! UnsitoWebchevuoleavereunapartedeipropri
contenu/distribui/daAkamaideverinominareleURLadesserela/veconunprefissospecifico
! Larisoluzionedell’hostnameinunindirizzoIPdiuncacheserverdiAkamaièeseguitadalDNSdiAkamai
! Ilcacheserverpresceltoè«vicino»alclientenondeveesseresovraccarico§ Akamaieffe4uamisurazionietestpero4enereunamappadellareteInternet
§ InquestomodoilDNSpuòstabilireilcacheserveroOmodacuireperireunospecificocontenutodapartediunospecificoutente
27
AkamaiARL:AkamaiResourceLocator
! IlcontentproviderselezionailcontenutochesaràospitatodaAkamai
! Akamaifornisceunostrumentochetrasformal’URL(www.cnn.com/i/22.gif)nellaARLriportatasopra§ L’hostpartdellaARLvieneinviatacomerispostadalDNSautorita/vo
delcontenutoalNameserverdelclient! Inquestomodo,ilclientaccedeaicacheserverdiAkamai
(a620.g.akamai.net/)enonall’originserver! SeilserverAkamainonhailcontenutoincacheessoviene
richiestoall’originserver28
HostPart AkamaiControlPart ContentURL
h4p://a620.g.akamai.net/7/620/16/259fdbf4ed29de/www.cnn.com/i/22.gif
AkamaiRidirezioneDNSaduelivelli
! AkamaiprevededuelivellidiridirezioneDNS1. AkamaiTop-LevelNameServer(TLNS)• Localizza/:4inUS,3inEUe1inAsia• ITLNSrispondonoconunLLNS,presodauninsiemedi
8LLNSviciniall’utente
2. AkamaiLow-LevelNameServer(LLNS)• PuntanoversogliAkamaiEdgeServercheconsegnano
icontenu/• Effe4uanobilanciamentodeltraffico
29
AkamaiRidirezioneDNSaduelivelli
30
ArchiteGuraYoutubeModalitàbase
31
! Stru4uradicacheatrelivelli:primaria,secondariaeterziaria! Bilanciamentodelcaricodeiserversullabasedell’informazionedi
localizzazione! Circa50cache
§ 40primarie(circa10pressoISPs)§ 8secondarie§ 5terziarie
32
ArchiteGuraYoutubeNuovamodalità
ArchiteGuraNeTlix! NewlixhaunproprioDatacenterperlefunzionidiges/one(es.
registrazioneetariffazione),perilrestosibasasuCloudAWS(AmazonWebService)diAmazonperivideostreamingserver
! U/lizzatreCDNperlaconsegnadicontenu/video(acodificascalabile)
33
UnNuovoparadigmaInformaConCentricNetworking
! Progressivamentesiassisteaduncambiodiparadigmadell’usopreminentedellareteInternet§ Dasistemadicondivisionedirisorseediconversazionetrahostasistemadi
distribuzionedicontenu/invarieformeeconvolumicrescen/
! LaconsapevolezzadiquestetendenzehasollecitatolostudiodiunnuovoparadigmaperInternetchespostailfuocodell’a4enzionesultra4amentodeicontenu/:InformaConCentricNetworking
! E’unparadigmaalterna/voaIP,basatosuicontenu/piu4ostochesugliindirizzi
34