Post on 02-Jan-2022
Reti(già “Reti diCalcolatori”)
Applicazioni P2P
RenatoLoCigno
http://disi.unitn.it/locigno/index.php/teaching-duties/computer-networks
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- locigno@disi.unitn.it- Livelloapplicativo:P2PeCloud 2
Livello applicativo
r 2.6ApplicazioniP2P
r 2.7Cloudcomputing
Reti- locigno@disi.unitn.it- Livelloapplicativo:P2PeCloud 3
ArchitetturaP2Ppura
❏ nonc’èunserversempreattivo❏ coppiearbitrariedihost (peer)
comunicanodirettamentetraloro❏ ipeer nondevono
necessariamenteesseresempreattivi,ecambianoindirizzoIP
❏ Treargomentichiave:❏ Distribuzionedifile❏ Ricercainformazioni❏ Casodistudio:Skype
peer to peer
Reti- locigno@disi.unitn.it- Livelloapplicativo:P2PeCloud 4
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- locigno@disi.unitn.it- Livelloapplicativo:P2PeCloud 5
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- locigno@disi.unitn.it- Livelloapplicativo:P2PeCloud 6
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- locigno@disi.unitn.it- Livelloapplicativo:P2PeCloud 7
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- locigno@disi.unitn.it- Livelloapplicativo:P2PeCloud 8
BitTorrent
tracker: tienetracciadeipeerchepartecipano
torrent: gruppodipeerchesiscambianopartidiunfile
Ottienelalistadeipeer
Scambidellepartidelfile
peer
r DistribuzionedifileP2P
Reti- locigno@disi.unitn.it- Livelloapplicativo:P2PeCloud 9
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- locigno@disi.unitn.it- Livelloapplicativo:P2PeCloud 10
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- locigno@disi.unitn.it- Livelloapplicativo:P2PeCloud 11
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- locigno@disi.unitn.it- Livelloapplicativo:P2PeCloud 12
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- locigno@disi.unitn.it- Livelloapplicativo:P2PeCloud 13
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 - locigno@disi.unitn.it - Livello applicativo:P2PeCloud 14
problemi con la directory centralizzata
r Unicopuntodiguastor Collodibottigliaperleprestazionir Violazionedeldirittod’autore
r Noncambia,machiospitaladirectoryè faciledacolpiree...tradisce gli altri
Iltrasferimentodeifileèdistribuito,mailprocesso
dilocalizzazioneèfortementecentralizzato
Reti- locigno@disi.unitn.it- Livelloapplicativo:P2PeCloud 15
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- locigno@disi.unitn.it- Livelloapplicativo:P2PeCloud 16
Query flooding
Query
Successo
Query
Successo
Trasferimento file:HTTP
r IlmessaggiodirichiestaètrasmessosulleconnessioniTCPesistentir Ilpeer inoltrailmessaggiodirichiesta
r Ilmessaggiodisuccessoètrasmessosulpercorsoinverso
Floodingè moltocarointerminidioverheadSoluzione:DHT
Reti- locigno@disi.unitn.it- Livelloapplicativo:P2PeCloud 17
Ricerca gerarchica
r Lacoperturagerarchicacombinalemiglioricaratteristichediindicecentalizzato equery flooding
r Ognipeer èunleaderdigruppooèassegnatoaunleaderdigruppov ConnessioneTCPtrapeer eilsuoleaderdigruppo
v ConnessioniTCPtraqualchecoppiadileaderdigruppo
r Illeaderdigruppotienetracciadelcontenutodituttiisuoifigli.
PeerordinarioPeerleaderdigruppoRelazionidiadiacenzanellaretedicopertura
Reti - locigno@disi.unitn.it - Livello applicativo:P2PeCloud 18
Skype
r intrinsecamenteP2P:coppiediutenticomunicanotraloro
r Protocolloproprietario(dedottomediantereverseengineering)
r Coperturagerarchicaconisupernodi
r L’indicecreacorrispondenzatranomiutenteeindirizziIP
r Autenticazioneegestionedegliaccountcentralizzata
Skype client (SC)
Supernodo (SN)
Skype login server
Reti- locigno@disi.unitn.it- Livelloapplicativo:P2PeCloud 19
Peererelay
r SiponeunproblemaquandosiaAlicecheRobertohannoNAT.v NATevitacheunhost aldifuori
dellaretedomesticacreiunaconnessioneconunhost all’internodiquesta
r Soluzionev Usandoilsupernodo diAlicee
Roberto,sisceglieunrelayv Ciascunpeer inizialasessionecon
ilrelay.v Ipeer oracomunicanoconNAT
attraversoilrelay
Reti- locigno@disi.unitn.it- Livelloapplicativo:P2PeCloud 20
Livello applicativo
r 2.6CondivisionedifileP2P
r 2.7Cloudcomputing
Reti- locigno@disi.unitn.it- Livelloapplicativo:P2PeCloud 21
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- locigno@disi.unitn.it- Livelloapplicativo:P2PeCloud 22
Cloud
Fornitore diservizi
Fornitore diCloud
Cliente finale
Reti- locigno@disi.unitn.it- Livelloapplicativo:P2PeCloud 23
Cloudcomputing
r Lecaratteristichefisichedell'implementazione(serverreale,localizzazionedeldatacenter)sonoirrilevanti(quasi)
r Criticità:r Sicurezzaeprivacyr Problemiinternazionalidinaturaeconomicaepoliticar Continuitàdelserviziooffertor Difficoltàdimigrazionedeidati
Reti- locigno@disi.unitn.it- Livelloapplicativo:P2PeCloud 24
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- locigno@disi.unitn.it- Livelloapplicativo:P2PeCloud 25
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- locigno@disi.unitn.it- Livelloapplicativo:P2PeCloud 26