1 / 36

P2P

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.

calix
Download Presentation

P2P

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Agenda • Historie • Techniek • Topologie • Toepassingen • Beperkingen • Ontwikkelingen • Vragen / Discussie

  3. Introductie • Waarom dit onderzoek naar Peer to Peer netwerken? • Hoe is het aangepakt? • Verslaglegging

  4. 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

  5. Historie (1) • Napster • Centrale server • Decentrale content • Zoeken op de server • Peer to Peer download • Juridische aansprakelijkheid

  6. Illustratie Zoek opdracht Client #1 Napster server Zoek resultaat Download Client #2 Namen van gedeelde bestanden

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

  8. Historie (3) • Gnutella • Uitgesproken als ‘new-tella’ of ‘guh-new-tella’ • Open source implementatie van Nullsoft protocol • Multi-platform • In het begin niet schaalbaar

  9. Illustratie Zoek opdracht Client #4 Client #5 Zoek resultaat Zoek opdracht Zoek resultaat Zoek opdracht Zoek opdracht Client #2 Client #1 Client #3 Zoek resultaat Zoek resultaat Download

  10. Historie (4) • Kazaa • Gesloten netwerk voor Kazaa clients • Morpheus • Heterogeen netwerk in principe toegankelijk voor alle GnuTella clients • Standaard client gebaseerd op Gnucleus code

  11. 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

  12. Techniek (1) • Eenvoudige handshake bij tot stand brengen van een verbinding (poort 6346). Client: Server: GNUTELLA CONNECT/0.4 GNUTELLA OK

  13. Techniek (2) • 3 Berichten • Ping (0x00) • Query (0x80) • Push (0x40) • 2 Antwoorden • Pong (0x01) • QueryHit (0x81)

  14. Techniek (3) • Routering regels • Bericht identificatie op basis van GUIDS • Levensduur berichten (TTL/Time to Live) • 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. • 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. • 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. • 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.

  15. 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’

  16. Illustratie Node2 Pong (ttl=7) Ping (ttl=7) Node1 Ping (ttl=7) Node3 Pong (ttl= 7) Pong (ttl=6) Pong (ttl=7) Ping (ttl= 6) Node4

  17. 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.

  18. Illustratie Node2 Query x (ttl=7) Node1 Query x (ttl=7) Node3 Queryhit x.txt (ttl=7) Queryhit xyz.txt (ttl=6) Query x (ttl=6) Queryhit xyz.txt (ttl=7) Node4

  19. 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

  20. 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

  21. Topologie (1) • Centraal netwerk. • Redelijk goed schaalbaar d.m.v. clustering • Goed beheerbaar • Single point of failure

  22. Topologie (2) • Decentraal netwerk • Known Entry-Point is nodig. • In theorie schaalbaar, in praktijk niet • Goed bestand tegen netwerk problemen

  23. Schaalbaarheid Aantal bereikbare nodes: N=Aantal uitgaande connecties per node / TTL = Time to Live

  24. Schaalbaarheid Netwerkverkeer bij query van 83 bytes : N=Aantal uitgaande connecties per node / TTL = Time to Live

  25. 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

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

  27. Toepassingen (1) • Wat kunnen we er binnen Edubox mee? • Auteursomgeving • Studeeromgeving • ?

  28. 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

  29. Toepassingen (3) • Decentrale repository • Kwaliteitsbewaking • Beschikbaarheid • Known entry-point • Centrale repository • Toevoegen/verwijderen van materiaal

  30. 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

  31. 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

  32. 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

  33. Beperkingen • Geen authentificatie • Geen afrekening mechanisme • Geen redundantie van uniek materiaal • Niet zonder meer schaalbaar • Geen officiële standaard • Beperkte uitbreidbaarheid • Firewalls

  34. Ontwikkelingen • Herkennen van individuele bestanden ongeacht de naam dmv hashes • Ultrapeers voor schaalbaarheid • Versleuteling keywords • Partieel downloaden van meerdere servers • Caching netwerk verkeer • Enz…

  35. 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?

  36. Nog vragen?

More Related