Peer-to-Peer Britta Weber Doreen Rosenthal Inhalt 1. 2. 3. 4. 5. 6. • Motivation Was ist Peer-to-Peer? Vorteile P2P-Architekturmodelle und Probleme Kriterien für P2P-Netzwerke Mobile Peer-to-Peer Netzwerke Zusammenfassung P2P & Napster 2 Was ist Peer-to-Peer? • Wikipedia: peer-to-peer : any network that does • not have fixed clients and servers • nodes that function as both clients and servers P2P & Napster 3 Was ist Peer-to-Peer? • Peer-to-Peer nach Clay Shirky : “Peer-to-Peer: Anwendungen, die Ressourcen am Rand des Internets ohne feste IP-Adressen ausnutzen” • Lackmus-Test von Clay Shirky : „1. Does it allow for variable connectivity and temporary network adresses? 2. Does it give the nodes at the edges of the network signifikant autonomy?“ Peer-to-Peer-Applikation! P2P & Napster 4 Was ist Peer-to-Peer? Was ist Peer-to-Peer nicht? • Eine spezielle Anwendung • Ein Protokoll • eine Art ein Netzwerk aufzubauen P2P & Napster 5 Beispiele: Was ist Peer-to-Peer und was nicht? • Napster: P2P Ressourcen am Rande werden genutzt, flexible Adressierung, Autonomie der Randknoten • e-mail: kein P2P Adressierung immer eine Maschine • ICQ: P2P Adresse hat nichts mit DNS zu tun, User hat Kontrolle über Verbindung P2P & Napster 6 Vorteile von Peer-to-Peer (1) Ausnutzung brachliegender Ressourcen • Früher: Clients nur „Dummys“, Rechenleistung und Speicherkapazität von Mainframes (Mainframearchitektur) • Jetzt: PCs haben größere Rechenleistung als Server noch vor 3 Jahren (siehe auch Moores‘ Gesetz!) Ressourcen wie Rechenleistung und Speicherplatz liegen brach P2P & Napster 7 Vorteile von Peer-to-Peer (2) Brachliegende Ressourcen Angenommen, von den 300 Millionen Internet Usern hätten 100 Millionen PCs mit - 100 MHz - 100 MB Festplattenspeicher 10 Billionen MHz Prozessorkapazität ,10.000 Terrabyte Speicher fast ungenützt! P2P & Napster 8 Beispiel für Zentralisierung P2P & Napster 9 Beispiel für Dezentralisation P2P & Napster 10 Vorteile von Peer-to-Peer (3) Metcalfe‘s Law: Wert eines Netzwerkes steigt quadratisch mit der Anzahl der Teilnehmer . Anzahl möglicher Verbindungen : C ~ (N2 – N)/2 Netzwerkwert nach Metcalfe: V ~ N2/2 Bei sehr großem N : V~ N2 Größtmögliche Anzahl von Verbindungen ist nach Metcalfe wünschenswert P2P & Napster 11 Wie wir Metcalfe ignorieren P2P & Napster 12 Server durch Router ersetzt P2P & Napster 13 Ein Metcalfe-konformes Netzwerk P2P & Napster 14 Vorteile von Peer-to-Peer (4) • Redundanz kein Punkt, über den die gesamte Kommunikation abgewickelt werden muss Ausfall eines Peers kann nicht zum Zusammenbruch des gesamten Netzes führen • Flexibler Neue User sind ohne Probleme zuzufügen • Selbstorganisierend Jeder ist für sich selber verantwortlich d.h: es ist kein Admin mehr nötig, der alles gleichzeitig machen muss und damit überfordert ist P2P & Napster 15 Vorteile von Peer-to-Peer (5) Kostenminimierung - Speicherplatz kostet (Hardware) - Rechneleistung kostet - Service kostet Beispiel: Oracle 70% Einnahmen für Services, Microsoft 30% IDC: (Managing Storage cost)=4*(Hardware cost) Beispielrechnung : Napster P2P & Napster 16 Kosten einer zentralisierten NapsterArchitektur P2P & Napster 17 Kosten einer zentralisierten NapsterArchitektur P2P & Napster 18 Kosten einer zentralisierten NapsterArchitektur P2P & Napster 19 P2P-Architekturmodelle (1) Reines P2P-Modell • Hängt ausschließlich von Clients ab • Unabhängig von jedem zentralen Server • Besitzt eine Art PlugAnd-Play Feature • Problem: Suche nach anderen Peers im Netz P2P & Napster 20 P2P-Architekturmodelle (2) P2P mit einfachem Discovery-Server • Server stellt Namen der schon verbundenen Peers für hereinkommenden Peer bereit • Finden von mehr Peers im Netz P2P & Napster 21 P2P-Architekturmodelle (3) P2P mit Discovery- und Lookup-Server • Server stellt Liste der schon verbundenen Peers bereit und ihre verfügbaren Ressourcen • Reduzierung der Last der Peers P2P & Napster 22 P2P-Architekturmodelle (4) Beispiele: • Rein dezentral – siehe Gnutella (Original-Version) • Dezentral mit Supernodes – siehe Kazaa und neu Version von Gnutella • Kombination zentral/dezentral – siehe Napster P2P & Napster 23 Kriterien für P2P-Netzwerke • • • • • • Handhabbarkeit Informationskohärenz Erweiterbarkeit Fehlertoleranz Sicherheit Skalierbarkeit P2P & Napster 24 Mobile Peer-to-Peer Netzwerke (1) • Ad-hoc Netzwerke - Mangel an Infrastruktur - dezentralisiertes Handeln - einfache Entstehung • Einsatz von Manets(mobile Ad-hoc Networks) - aufgabenorientiertes Zusammenarbeiten - Applikationen auf mobilen Geräten (Services, Sharing) P2P & Napster 25 Mobile Peer-to-Peer Netzwerke (2) • technischen Beschränkungen mobiler Geräte - keine Standards für Eingabe/Ausgabe - Akkubetrieb - Speicherkapazität Beachten der Struktur des mobilen Netzwerks und der Beschränkungen der mobilen Geräte P2P & Napster 26 Zusammenfassung • Vorteile: kostengünstig, flexibel, bessere Ressourcenausnutzung… • Probleme: hohe Netzwerkbelastung, Finden der Peers • P2P-Architekturmodelle: Reines P2P-Modell, P2P mit einfachem Discovery-Server, P2P mit Discovery- und Lookup-Server P2P & Napster 27 Literaturhinweise • Andy Oram: “Peer-to-Peer: Harnessing the Power of Disruptive Technologies”, O'Reilly • Dreamtech, „Peer-to-Peer - Applikationen entwickeln“, mitpVerlag • “Peer-to-Peer Systems First International Workshop”, IPTPS 2002, Cambridge, MA, USA, March 7-8, 2002 • Kwak, Fagin. Internet Infrastructure & Services, Bear Stearns, 2001. Seite 16-54. • www.wikipedia.org • wwwcs.upb.de P2P & Napster 28 Napster Ralf Anske Stephan Lehmann Überblick • • • • • • Was ist Napster? Geschichte von Napster Was kann Napster? Aufbau und Funktionsweise Vor- und Nachteile Napsters Erfolg P2P & Napster 30 Was ist Napster? • Entwickelt Anfang 1999 von Shawn Fanning, Student der Bostoner Northeastern University zum Tauschen von MP3-Dateien • Damalige Situation: – Große Nachfrage nach MP3‘s – Geringes Angebot (häufig Seitensperrungen, zu viel Traffic) • Ziel war direkter Austausch von MP3-Dateien zwischen Musikfans P2P & Napster 31 Geschichte • Herbst 1998 – Erste Konzeption • Mai 1999 – Firmengründung • Juli 1999 – erste Betaversion – nach wenigen Tagen 10000 User • Herbst 1999 – Download of the Week bei Download.com P2P & Napster 32 Geschichte • Dezember 1999 – Klage der RIAA – Tauschen urheberrechtlich geschützter Werke illegal • April 2000 – Klage der Band „Metallica“ – 300.000 User wurden verbannt • Juli 2000 – Einstellung des Dienstes nach Niederlage vor Gericht – Nach einem Tag Wiederaufnahme durch einstweilige Verfügung • Herbst 2000 – In den Top50 der meistbesuchten Webangebote – Napster meistgesuchtes Wort bei Lycos P2P & Napster 33 Geschichte • Oktober 2000 – Bertelsmann kauft Napster • Februar 2001 – Endgültige Gerichtsentscheidung – Copyright-geschützte Dokumente sind auszufiltern • April 2001 – Bertelsmann plant kostenpflichtiges Angebot – Jedoch keine Einigung mit Musikindustrie • Juli 2001 – Betrieb eingestellt P2P & Napster 34 Geschichte • Oktober 2001 – Einigung mit Musik-Industrie – 26 Mio. $ wegen Urheberrechtsverletzungen – 10 Mio. $ Lizenzgebühren im Voraus • November 2002 – Roxio kauft Napster für 4,6 Mio. $ • Oktober 2003 – Napster 2.0 – Downloads ab 0,99 $ pro Titel P2P & Napster 35 Was kann Napster? • MP3‘s nach verschieden Kriterien suchen • Anbieten von MP3‘s • Chat Funktion • Erweiterung auf andere Dateitypen als MP3 mittels OpenNap P2P & Napster 36 Was kann Napster? • Nach erfolgreicher Suche werden Dateiname, Dateigröße, Geschwindigkeit der Internetverbindung etc. des Dateianbieters gezeigt • Doppelklick löst den Download aus P2P & Napster 37 Was kann Napster? P2P & Napster 38 Aufbau von Napster • Zentral organisiertes Peer-to-Peer Netz • Zentrales Verzeichnis – Wer bietet was an P2P & Napster • Datenübertragung direkt zwischen Usern • Konsument wird automatisch zum Anbieter 39 Wie funktioniert Napster? • Die Napster Benutzer müssen eine Software downloaden und installieren • Diese verbindet den User mit einem Server (von Napster aufrecht erhalten) • Aufgaben des Servers: – Verknüpft die User ID mit einer IP Adresse – Speichert die Adressen der Songs in einer Datenbank – Suchen in der Datenbank (m.H. Indizes) – Verbindet einen User direkt mit einem anderen, um den Download durchzuführen P2P & Napster 40 Wie funktioniert Napster? • Ein User setzt einmalig Zugriffsrechte, welche Dateien im Netzwerk ausgetauscht werden können • Transaktionen sind gewöhnlich nur in eine Richtung aktiv, in die des Datei - Anfragers • Der Sender lässt es einfach zu (laissez-faire) • Wenn ein User einmal eine Datei empfangen hat, wird er gleichzeitig auch ihr Anbieter P2P & Napster 41 Wie funktioniert Napster? • Es sind mehrere Napster-Server gleichzeitig online • Die Datenbanken der verschiedenen Server werden untereinander synchronisiert • Die Datenbank eines Servers wird bei Logout oder Timeout eines Clients bereinigt P2P & Napster 42 Wie funktioniert Napster? • Verbindungen benutzen das NapsterProtokoll • Napster ist closed-source, aber das Protokoll wurde gehackt weil, – Napster Client lief nur unter Windows – Napster-Filter sollten unterlaufen werden • Darauf aufbauend entstanden Napster-ClientClone (Napigator, Napster Fast Search, WinMX, JNapster, gNapster, KNapster, Hackster etc.) • Sowie offene Server-Projekte (OpenNap, JNerve) P2P & Napster 43 OpenNap • Open Source Napster Server • Auch für andere Systeme als Windows • Jeder kann damit einen Napster-Server betreiben • Weitere Mediendateien • Synchronisation mehrerer Server P2P & Napster 44 Ablauf eines Downloads • Anfrage an NapsterServer • Client schickt search(200) oder browse(211) an Server • Server schickt searchresponse(201) mit Client-Liste an Client • Client schickt download request (203) P2P & Napster 45 Ablauf eines Downloads • Bestätigung durch Server • Server schickt download ack (204) mit der PortNummer des ZielClients P2P & Napster 46 Initialisierung der Verbindung • Normale Verbindung herstellen • Client öffnet TCPVerbindung zum Ziel-Client über Port aus 204 P2P & Napster 47 Ablauf eines Downloads • Bestätigung durch Ziel-Client • Ziel-Client antworte mit „1“ P2P & Napster 48 Initialisierung der Verbindung • Datei anfordern • Client sendet „GET“ + <nick> + <file_name> + <offset> P2P & Napster 49 Initialisierung der Verbindung • Anforderung bestätigen • Ziel-Client sendet Dateigröße oder „INVALID REQUEST“ oder „FILE NOT SHARED“ P2P & Napster 50 Initialisierung der Verbindung P2P & Napster • Alternativ kann die Verbindung zwischen den Clients auch vom Zielclient ausgehen (firewalled connection) • Um Clients hinter Firewalls benutzen zu können 51 Initialisierung der Verbindung • Bestätigung durch eigenen Client P2P & Napster 52 Initialisierung der Verbindung • Anforderung zum Upload der Datei auf den eigenen Client P2P & Napster 53 Initialisierung der Verbindung • Bestätigung P2P & Napster 54 Senden der Daten P2P & Napster • Datentransfer zwischen den Clients • Ziel-Client sendet die Datei • Clienten senden „uploading file“(220)/“downloadi ng file“(218) an den Server 55 Abschluss der Übertragung • Verbindung zwischen den Clients beenden • Clients senden „upload complete“(221)/“dow nload complete“(219) an den Server P2P & Napster 56 Vorteile von Napster • • • • Benutzerfreundlich, einfach zu bedienen Dezentrale Speicherung der Daten Großer Nutzerkreis Durch den zentralen Server bei der Suche sehr schnell (Anfrage muss nur einmal gestellt werden) P2P & Napster 57 Nachteile • Der zentrale Server – – – – – Bei Ausfall des zentralen Servers geht nichts mehr Der Server ist anfällig für Angriffe (DoS) Der Server kostet Geld Der Serverbetreiber kann rechtlich belangt werden Die Suchergebnisse können beeinflusst werden • Sicherheitsrisiko durch Freigabe von Ressourcen auf den Clients • Verbreitung von Viren, Trojanern etc. durch falsche Musik-Files • Einbauen von Filtern, um Teilnahme am Musiktausch zu beschränken P2P & Napster 58 Warum war Napster so erfolgreich ? • Direkter Zugriff auf Musik anderer Nutzer • Kostenlos • Jeder Nutzer wird gleichzeitig Anbieter • Netzwerkeffekt (großes Angebot durch viele Nutzer) – Satz von Metcalfe: Der Nutzen eines Netzwerks wächst im Quadrat wie die Anzahl seiner Nutzer. P2P & Napster 59 Napsters Erfolg • Einige der wichtigsten Nutzergruppen von Napster waren Studenten – Studenten neigen dazu Musik zu hören – Universitäten haben eine schnelle Internetverbindung – Studenten kennen sich besser mit neuen Techniken aus als andere – Studenten haben kein Geld P2P & Napster 60 Napsters Erfolg • Nach 20 Monaten über 65 Mio. Nutzer, zuletzt immer 1,5 Mio. Nutzer gleichzeitig online • Januar 2001 Deutschlands meistgenutzte Anwendung (125min Nutzungsdauer pro Monat) P2P & Napster 61 Napsters Erfolg • Nutzer mit schneller Verbindung bieten mehr an • Nutzer mit langsamer Verbindung laden mehr herunter P2P & Napster 62 Die Zukunft: Napster 2.2 P2P & Napster 63 Zusammenfassung • Ziel war direkter Austausch von MP3-Dateien • Zentral organisiertes Peer-to-Peer Netz (mit extra Server) • Datenübertragung direkt zwischen Usern • Vorteile: – Schnell, benutzerfreundlich – Dezentrale Datenspeicherung • Nachteile: – Zentraler Server P2P & Napster 64 Literaturhinweise • Andy Oram: “Peer-to-Peer: Harnessing the Power of Disruptive Technologies”, O'Reilly • P2P-Buch04 Schoder-Fischbach P2PAnwendungsbereicheHerausforderungen • Kwak, Fagin. Internet Infrastructure & Services, Bear Stearns, 2001 P2P & Napster 65 Vielen Dank! P2P & Napster 66