Reti - UniTrento

26
Reti (già “Reti di Calcolatori”) Applicazioni P2P Renato Lo Cigno http://disi.unitn.it/locigno/index.php/teaching-duties/computer-networks

Transcript of Reti - UniTrento

Page 1: Reti - UniTrento

Reti(già “Reti diCalcolatori”)

Applicazioni P2P

RenatoLoCigno

http://disi.unitn.it/locigno/index.php/teaching-duties/computer-networks

Page 2: Reti - UniTrento

ComputerNetworking:ATopDownApproach,

6thedition.JimKurose, KeithRoss

Addison-Wesley

A note on the use of these slides:These slides are an adaptation from the freely available version provided by the book authors to all (faculty, students, readers). The originals are in PowerPoint and English.

Adaptation is by Renato Lo Cigno, and Fabrizio Granelli

All material copyright 1996-2016J.F Kurose and K.W. Ross, All Rights Reserved

Livello diapplicazione

Reti- [email protected] Livelloapplicativo:P2PeCloud 2

Page 3: Reti - UniTrento

Livello applicativo

r 2.6ApplicazioniP2P

r 2.7Cloudcomputing

Reti- [email protected] Livelloapplicativo:P2PeCloud 3

Page 4: Reti - UniTrento

ArchitetturaP2Ppura

❏ nonc’èunserversempreattivo❏ coppiearbitrariedihost (peer)

comunicanodirettamentetraloro❏ ipeer nondevono

necessariamenteesseresempreattivi,ecambianoindirizzoIP

❏ Treargomentichiave:❏ Distribuzionedifile❏ Ricercainformazioni❏ Casodistudio:Skype

peer to peer

Reti- [email protected] Livelloapplicativo:P2PeCloud 4

Page 5: Reti - UniTrento

Distribuzione di file:confronto tra Server-Client e P2P

Domanda :QuantotempocivuoleperdistribuirefiledaunserveraN host?

us

u2d1 d2u1

uN

dN

Server

Rete (capacità “infinita”)

File,dim.F

us: capacità diuploaddelcollegamentodiaccessodelserver

ui: capacità diuploaddelcollegamentodiaccessodell’i-esimohost

di: capacità didownloaddelcollegamentodiaccessodell’i-esimohost

Reti- [email protected] Livelloapplicativo:P2PeCloud 5

Page 6: Reti - UniTrento

Client - Server

us

u2d1 d2u1

uN

dN

Server

Rete (con abbondante ampiezza di banda)

F

r IlserverinviainsequenzaN copie:v Tempo=N (F/us)

r IlclientiimpiegailtempoF/diperscaricare

aumentalinearmenteconN

=dcs =max {NF/us ,F/min(di) }i

TempoperdistribuireFaN clientusando

l’approccioclient/server

Reti- [email protected] Livelloapplicativo:P2PeCloud 6

Page 7: Reti - UniTrento

P2P

us

u2d1 d2u1

uN

dN

Server

Rete (con abbondante ampiezza di banda))

F

❒ ilserverdeveinviareunacopianeltempoF/us

❒ ilclientiimpiegailtempoF/diperildownload

❒ DevonoesserescaricatiNFbit❒ Ilpiùvelocetassodiuploadè:

us +Σui

dP2P =max {F/us,F/mini (di),NF/(us +Σui) }

Reti- [email protected] Livelloapplicativo:P2PeCloud 7

Page 8: Reti - UniTrento

0

0.5

1

1.5

2

2.5

3

3.5

0 5 10 15 20 25 30 35

N

Min

imum

Dis

tribu

tion

Tim

e P2PClient-Server

Confronto client-server e P2P

Capacità uploaddelclient=u,F/u=1ora,us =10u,dmin ≥us

Tem

po di distribuzione minim

o

Reti- [email protected] Livelloapplicativo:P2PeCloud 8

Page 9: Reti - UniTrento

BitTorrent

tracker: tienetracciadeipeerchepartecipano

torrent: gruppodipeerchesiscambianopartidiunfile

Ottienelalistadeipeer

Scambidellepartidelfile

peer

r DistribuzionedifileP2P

Reti- [email protected] Livelloapplicativo:P2PeCloud 9

Page 10: Reti - UniTrento

BitTorrent (1)

r Ilfilevienedivisoinparti(chunk)da256Kbr Quandounpeer entraafarpartedeltorrent:

v siregistrapressoiltracker peraverelalistadeipeer,esicollegaadunsottoinsiemedipeer vicini(“neighbors”)

v nonpossiedenessunapartedelfile,maleaccumulacolpassaredeltempo

r Mentreeffettuaildownload,ilpeer caricalesuepartisualtripeer

r Ipeer possonoentrareeuscireapiacimentodaltorrentr Unavoltaottenutol’interofile,ilpeer puòlasciareiltorrent

(egoisticamente)o(altruisticamente)rimanerecollegato

Reti- [email protected] Livelloapplicativo:P2PeCloud 10

Page 11: Reti - UniTrento

BitTorrent (2)

r Inundatoistante,peerdiversihannodifferentisottoinsiemidelfile

r periodicamente,unpeer(Alice)chiedeaciascunvicinolalistadeichunk chepossiede

r Aliceinvialerichiesteperlesuepartimancanti:v Adottalatecnicadelrarest first

r Aliceinvialesuepartiaquattrovicini,quellicheattualmentelestannoinviandoiproprichunkallafrequenzapiùaltav i4favoritivengonorivalutatiogni10secondi

r ogni30secondiselezionacasualmenteunaltropeer,einiziaainviarglichunkv Ilpeer appenasceltopuòentrareafarpartedeitop4

v Apartei“top4” eil“nuovoentrato”,glialtripeer sono“soffocati”,cioènonricevononulla

Reti- [email protected] Livelloapplicativo:P2PeCloud 11

Page 12: Reti - UniTrento

BitTorrent:occhioperocchio(tit-for-tat)

(1)AlicecasualmentesceglieRoberto(2)AlicediventaunodeiquattrofornitoripreferitidiRoberto;Robertoricambia(3)RobertodiventaunodeiquattrofornitoripreferitidiAlice

Con un’elevata frequenza di upload, è possibile trovare i partner migliori e ottenere il file più velocemente!

Reti- [email protected] Livelloapplicativo:P2PeCloud 12

Page 13: Reti - UniTrento

P2P: ricerca di informazioni

Filesharing (es.e-mule)r L’indicetienetraccia

dinamicamentedellaposizionedeifilecheipeercondividono.

r Ipeer comunicanoall’indiceciòchepossiedono.

r Ipeer consultanol’indiceperdeterminaredovetrovareifile

Messaggisticaistantanear L’indicecreala

corrispondenzatrautentieposizione.

r Quandol’utentelancial’applicazione,informal’indicedellasuaposizione

r Ipeer consultanol’indiceperdeterminarel’indirizzoIPdell’utente.

IndiceneisistemiP2P:corrispondenzatraleinformazionielaloroposizioneneglihost

Reti- [email protected] Livelloapplicativo:P2PeCloud 13

Page 14: Reti - UniTrento

P2P: directory centralizzata

Progettooriginaledi“Napster”1) quandoilpeer

sicollega,informailservercentrale:v indirizzoIPv contenuto

2)Alicecercalacanzone“Hey Jude”

3)AlicerichiedeilfileaRoberto

Serverdidirectory

centralizzato

peer

Alice

Roberto

1

1

1

12

3

Reti - [email protected] - Livello applicativo:P2PeCloud 14

Page 15: Reti - UniTrento

problemi con la directory centralizzata

r Unicopuntodiguastor Collodibottigliaperleprestazionir Violazionedeldirittod’autore

r Noncambia,machiospitaladirectoryè faciledacolpiree...tradisce gli altri

Iltrasferimentodeifileèdistribuito,mailprocesso

dilocalizzazioneèfortementecentralizzato

Reti- [email protected] Livelloapplicativo:P2PeCloud 15

Page 16: Reti - UniTrento

Query flooding

r Completamentedistribuitov nessunservercentrale

r ProtocollodipubblicodominiousatodaGnutella

r Ciascunpeer indicizzaifilecherendedisponibiliperlacondivisione(enessunaltro)

Retedicopertura:grafor Arcotraipeer XeYsec’èuna

connessioneTCPr Tuttiipeer attiviegliarchi

formanolaretedicoperturar Unarcoèuncollegamento

virtualeenon fisicor Undatopeer saràsolitamente

connessoconmenodi10peervicininellaretedicopertura

Reti- [email protected] Livelloapplicativo:P2PeCloud 16

Page 17: Reti - UniTrento

Query flooding

Query

Successo

Query

Successo

Trasferimento file:HTTP

r IlmessaggiodirichiestaètrasmessosulleconnessioniTCPesistentir Ilpeer inoltrailmessaggiodirichiesta

r Ilmessaggiodisuccessoètrasmessosulpercorsoinverso

Floodingè moltocarointerminidioverheadSoluzione:DHT

Reti- [email protected] Livelloapplicativo:P2PeCloud 17

Page 18: Reti - UniTrento

Ricerca gerarchica

r Lacoperturagerarchicacombinalemiglioricaratteristichediindicecentalizzato equery flooding

r Ognipeer èunleaderdigruppooèassegnatoaunleaderdigruppov ConnessioneTCPtrapeer eilsuoleaderdigruppo

v ConnessioniTCPtraqualchecoppiadileaderdigruppo

r Illeaderdigruppotienetracciadelcontenutodituttiisuoifigli.

PeerordinarioPeerleaderdigruppoRelazionidiadiacenzanellaretedicopertura

Reti - [email protected] - Livello applicativo:P2PeCloud 18

Page 19: Reti - UniTrento

Skype

r intrinsecamenteP2P:coppiediutenticomunicanotraloro

r Protocolloproprietario(dedottomediantereverseengineering)

r Coperturagerarchicaconisupernodi

r L’indicecreacorrispondenzatranomiutenteeindirizziIP

r Autenticazioneegestionedegliaccountcentralizzata

Skype client (SC)

Supernodo (SN)

Skype login server

Reti- [email protected] Livelloapplicativo:P2PeCloud 19

Page 20: Reti - UniTrento

Peererelay

r SiponeunproblemaquandosiaAlicecheRobertohannoNAT.v NATevitacheunhost aldifuori

dellaretedomesticacreiunaconnessioneconunhost all’internodiquesta

r Soluzionev Usandoilsupernodo diAlicee

Roberto,sisceglieunrelayv Ciascunpeer inizialasessionecon

ilrelay.v Ipeer oracomunicanoconNAT

attraversoilrelay

Reti- [email protected] Livelloapplicativo:P2PeCloud 20

Page 21: Reti - UniTrento

Livello applicativo

r 2.6CondivisionedifileP2P

r 2.7Cloudcomputing

Reti- [email protected] Livelloapplicativo:P2PeCloud 21

Page 22: Reti - UniTrento

Cloud

❏ Virtualizzazionedell’infrastruttura❏ Ilfornitorediservizi“compra”l’infrastrutturavirtualedalfornitore

della“cloud”anziché gestire l’hardware inproprio❏ Ilfornitorecloud esponedelleinterfacceperelencaree

gestirelapropriaoffertadipiattaformavirtuale❏ Ilfornitorediserviziutilizzataliinterfacceperselezionareilservizio

richiesto(ades.unservervirtualecompletooppuresolostorage)eper amministrarlo(configurazione,attivazione,disattivazione)

❏ Ilclientefinaleutilizzailservizioconfiguratodalfornitorediservizio

Reti- [email protected] Livelloapplicativo:P2PeCloud 22

Page 23: Reti - UniTrento

Cloud

Fornitore diservizi

Fornitore diCloud

Cliente finale

Reti- [email protected] Livelloapplicativo:P2PeCloud 23

Page 24: Reti - UniTrento

Cloudcomputing

r Lecaratteristichefisichedell'implementazione(serverreale,localizzazionedeldatacenter)sonoirrilevanti(quasi)

r Criticità:r Sicurezzaeprivacyr Problemiinternazionalidinaturaeconomicaepoliticar Continuitàdelserviziooffertor Difficoltàdimigrazionedeidati

Reti- [email protected] Livelloapplicativo:P2PeCloud 24

Page 25: Reti - UniTrento

Video delivery - YouTube

• YouTubeservepiù di100milioni divideoalgiornoComefa?

• Ogni videoè ospitato su diunmini-clusterà qualsiasi videoègestito dapiù diunamacchina (più velocità,backuponline)

• Utilizzano il serverlighttpd[*]peri video(più veloce escalabile dialtri servercomeApacheoTomCat)su TCP...quindi affidabile,manonreal-time

[*]http://www.lighttpd.net/ ...forse oforse no,odipende dalmomento,maè deltutto irrilevanteessendo undettaglio diimplementazionedelservizio

Reti- [email protected] Livelloapplicativo:P2PeCloud 25

Page 26: Reti - UniTrento

Video delivery - YouTube

• Icontenuti più popolari vengono spostati sulla ContentDeliveryNetwork(CDN):– Replicadei contenuti indifferenti posizioni inmodo da“avvicinarle” agli utenti (meno hop,retemeno congestionata)

• Icontenutimeno popolari (<1-20views/day)restano suiserverYouTube

Reti- [email protected] Livelloapplicativo:P2PeCloud 26