P2P

36
P2P Pier Toe Pier Een masterclass voor het Developmentprogramma 20-juni-2002

description

P2P. Pier Toe Pier Een masterclass voor het Developmentprogramma. 20-juni-2002. Agenda. Historie Techniek Topologie Toepassingen Beperkingen Ontwikkelingen Vragen / Discussie. Introductie. Waarom dit onderzoek naar Peer to Peer netwerken? Hoe is het aangepakt? Verslaglegging. - PowerPoint PPT Presentation

Transcript of P2P

Page 1: P2P

P2P

Pier Toe PierEen masterclass voor het Developmentprogramma

20-juni-2002

Page 2: P2P

Agenda

• Historie

• Techniek

• Topologie

• Toepassingen

• Beperkingen

• Ontwikkelingen

• Vragen / Discussie

Page 3: P2P

Introductie

• Waarom dit onderzoek naar Peer to Peer netwerken?

• Hoe is het aangepakt?

• Verslaglegging

Page 4: P2P

Introductie

• Voornamelijk gekeken naar oorsprong GnuTella omdat dit een van de belangrijkste P2P netwerken is.

• GnuTella is Open Source (incl. clients)• Redelijk wat goed onderbouwd onderzoek

beschikbaar• Open & De-facto standaard• Niet verwarren met Agents

Page 5: P2P

Historie (1)

• Napster– Centrale server– Decentrale content– Zoeken op de server– Peer to Peer download– Juridische aansprakelijkheid

Page 6: P2P

Illustratie

Napsterserver

Client #1

Zoek opdracht

Client #2

Namen van gedeelde bestanden

Zoek resultaat

Download

Page 7: P2P

Historie (2)

• Nullsoft (Winamp?)– Gedistribueerd zoeken– Gedistribueerde content– Peer to Peer zoeken & download– Slechts enige uren actief geweest– Protocol gedecodeerd– Resultaat: GnuTella

Page 8: P2P

Historie (3)

• Gnutella– Uitgesproken als ‘new-tella’ of ‘guh-new-tella’– Open source implementatie van Nullsoft

protocol– Multi-platform– In het begin niet schaalbaar

Page 9: P2P

Illustratie

Client #1Client #2

Zoek opdracht

Zoek resultaat

Download

Client #3

Zoek opdracht

Zoek resultaat

Zoek opdrachtZoek resultaat

Client #4 Client #5

Zoek opdracht

Zoek resultaat

Page 10: P2P

Historie (4)

• Kazaa– Gesloten netwerk voor Kazaa clients

• Morpheus– Heterogeen netwerk in principe toegankelijk

voor alle GnuTella clients– Standaard client gebaseerd op Gnucleus code

Page 11: P2P

The Groove

• Gesloten netwerk voor Groove clients.

• Ander protocol en opzet

• Niet gratis

• Alleen voor Windows OS

• Focus op gezamenlijk gebruik van documenten.

• Professionele ondersteuning

Page 12: P2P

Techniek (1)

• Eenvoudige handshake bij tot stand brengen van een verbinding (poort 6346).

Client: Server:GNUTELLA CONNECT/0.4

GNUTELLA OK

Page 13: P2P

Techniek (2)

• 3 Berichten– Ping (0x00)– Query (0x80)– Push (0x40)

• 2 Antwoorden– Pong (0x01)– QueryHit (0x81)

Page 14: P2P

Techniek (3)

• Routering regels– Bericht identificatie op basis van GUIDS

• Levensduur berichten (TTL/Time to Live)

1. Pong descriptors may only be sent along the same path that carried the incoming Ping descriptor. This ensures that only those servents that routed the Ping descriptor will see the Pong descriptor in response. A servent that receives a Pong descriptor with Descriptor ID = n, but has not seen a Ping descriptor with Descriptor ID = n should remove the Pong descriptor from the network.

2. A servent will forward incoming Ping and Query descriptors to all of its directly connected servents, except the one that delivered the incoming Ping or Query.

3. A servent will decrement a descriptor header’s TTL field, and increment its Hops field, before it forwards the descriptor to any directly connected servent. If, after decrementing the header’s TTL field, the TTL field is found to be zero, the descriptor is not forwarded along any connection.

4. A servent receiving a descriptor with the same Payload Descriptor and Descriptor ID as one it has received before, should attempt to avoid forwarding the descriptor to any connected servent. Its intended recipients have already received such a descriptor, and sending it again merely wastes network bandwidth.

Page 15: P2P

Techniek (4)

• Ping/Pong dient voor the bepalen adressen van andere servers.

• Deze servers worden opgeslagen in een lijst die later gebruikt kan worden om te starten.

• Beginpunt voor deze lijst is een zogenaamd ‘known entry-point’

Page 16: P2P

Illustratie

Node1

Node2

Node3

Node4

Ping (ttl=7)Pong (ttl=7)

Ping (ttl= 6)Pong (ttl=7)

Ping (ttl=7)

Pong (ttl=6)

Pong (ttl= 7)

Page 17: P2P

Techniek (5)

• Query/Queryhit worden voor het eigenlijke zoeken gebruikt.

• Query bevat een tekstuele zoekopdracht.

• De resulterende QueryHits bevatten lijsten met filenamen die aan de zoekopdracht voldoen plus het IP-adres van de afzender.

Page 18: P2P

Node3

Illustratie

Node1

Node2

Node4

Query x (ttl=7)

Query x (ttl=6)Queryhit xyz.txt (ttl=7)

Query x (ttl=7)

Queryhit xyz.txt (ttl=6)

Queryhit x.txt (ttl=7)

Page 19: P2P

Techniek (6).

• Downloads:– d.m.v. standaard HTTP protocol (maar via

poort 6346)

GET /get/<file index>/<file name>/ HTTP/1.0

– of via Push bericht

Page 20: P2P

Topologie

• De lay-out van het netwerk

• Met P2P zijn vele vormen te realiseren– Puur P2P– Centrale server model– Hybride.

• Meestal een known entry-point nodig

Page 21: P2P

Topologie (1)

• Centraal netwerk.– Redelijk goed

schaalbaar d.m.v. clustering

– Goed beheerbaar

– Single point of failure

Page 22: P2P

Topologie (2)

• Decentraal netwerk– Known Entry-Point is

nodig.

– In theorie schaalbaar, in praktijk niet

– Goed bestand tegen netwerk problemen

Page 23: P2P

Schaalbaarheid

TTL=1 TTL=2 TTL=4 TTL=8

N=2 2 4 8 16

N=4 4 16 160 13.120

N=8 8 64 3.200 7.686.400

Aantal bereikbare nodes:

N=Aantal uitgaande connecties per node / TTL = Time to Live

Page 24: P2P

Schaalbaarheid

TTL=1 TTL=2 TTL=4 TTL=8

N=2 166 322 694 1.328

N=4 332 1328 13.280 1.088.960

N=8 664 5.312 265.600 637.971.200

Netwerkverkeer bij query van 83 bytes :

N=Aantal uitgaande connecties per node / TTL = Time to Live

Page 25: P2P

Topologie (3)

• Hybride– Ultrapeers schermen clients

af van merendeel netwerk verkeer

– Zeer goed schaalbaar

– Geen single point of failure

– Known entry-point nodig

– Veel minder netwerk verkeer dan puur P2P

Page 26: P2P

Illustratie

P2P met ultrapeers (hiërarchisch)Puur P2P (alle nodes gelijkwaardig)

Page 27: P2P

Toepassingen (1)

• Wat kunnen we er binnen Edubox mee?– Auteursomgeving– Studeeromgeving– ?

Page 28: P2P

Toepassingen (2)

• Auteursomgeving– Zoeken van EML materiaal– Beschikbaar stellen van materiaal– Essentieel is hierbij het zoeken in & indexeren

van metadata van EML bestanden– Eml’s Extra-meta is lastig

Page 29: P2P

Toepassingen (3)

• Decentrale repository– Kwaliteitsbewaking– Beschikbaarheid– Known entry-point

• Centrale repository– Toevoegen/verwijderen van materiaal

Page 30: P2P

Toepassingen (4)

• Studeeromgeving– Unit of learing op basis van queries

• Queries met exact 1 hit

• Queries met meerdere hits

• Queries mengen met voorkeuren van student

– Zoeken van bronnen– Uitwisselen van bestanden

Page 31: P2P

Illustratie

• Bestudeer ‘x’– Onderwerp=‘x1’, studielast>=10– Onderwerp=‘x2’, studielast<20, taal=‘EN’

• Bestudeer Onderwerp-ID=ID1

• Bestudeer ‘y’ – Onderwerp=y1, studielast=10, didactiek=pgo

Page 32: P2P

Toepassingen (5)

• Decentraal netwerk:– Beschikbaarheid materiaal– Known entrypoint nodig

• Centrale repository:– Opletten dat bij verwijderen van materiaal alle

gebruikte queries nog steeds voldoende hits opleveren

Page 33: P2P

Beperkingen

• Geen authentificatie

• Geen afrekening mechanisme

• Geen redundantie van uniek materiaal

• Niet zonder meer schaalbaar

• Geen officiële standaard

• Beperkte uitbreidbaarheid

• Firewalls

Page 34: P2P

Ontwikkelingen

• Herkennen van individuele bestanden ongeacht de naam dmv hashes

• Ultrapeers voor schaalbaarheid

• Versleuteling keywords

• Partieel downloaden van meerdere servers

• Caching netwerk verkeer

• Enz…

Page 35: P2P

Vragen

• Levert een uit zoekopdrachten opgebouwde unit of learing wel didactisch verantwoord leermateriaal op?

• Hoe gaan we om met kwaliteitscontrole van materiaal als iedereen kan sharen?

• Welke topologie is het meest geschikt?• Extra meta?• XML gebaseerd communicatie protocol?

Page 36: P2P

Nog vragen?