Seminar Peer - to - Peer Netzwerke
Thema:” Aktuelle Anwendungen”
Referenten:
Jan Kretzschmar, Folker Gramse, Philip Schröder und Denis Kohl
Motivation
• Ressourcen des Internets wachsen exponentiell
( Mbit, MIPS )
• Ressourcen des Internets bleiben ungenutzt
• Peer - to - Peer aktiviert diese Ressourcen
• Ermöglicht neue Formen der globalen
Zusammenarbeit
Überblick
• Anwendungen von Peer - to - Peer Systemen
•Limewire
•Gnutella-Protokoll
•HUGE
•ICQ/AIM
•Groove
•Internet – Radio
•Reboot.fm
•GRID-Computing
•Seti@Home
• Fazit / Zusammenfassung
Anwendungen von Peer – to – Peer -
Systemen
• File- Sharing - Netzwerke
• spontane Zusammenarbeit
• Mediendistribution
• Verteiltes Berechnen
File - Sharing - Netzwerke
am Beispiel von Limewire
und Bearshare
Limewire Übersicht
• Wurde in Java geschrieben
• Läuft (daher) unter:
– Linux,
– MacOSX,
– Windows 95 und höher, – Unix(Solaris)
• Freie Software
– Genauer unter der GNU GPL:
http://www.limewire.org/project/www/
gnu.html
Limewire
• Zu Grunde liegt das Gnutella Protokoll
• Informationen
– www.limewire.org – www.limewire.com
LIMEWIRE:
Gnutella-Protokoll
• Zu Beginn verbindet sich ein neuer Knoten mit vorher
bekannten (zeitinvarianten) Knoten
– zBsp gnutellahosts.com
• Nach der Ersten Verbindung wird ein Ping (broadcast) gesendet
„Horizont“
• Erhält eine Rechner einen „Ping“ so wird dieser weitergegeben und er schickt
einen Pong zurück
• Innerhalb der Pong Nachricht sind IP- Adresse und die Anzahl und Größe der geteilten Dateien
• Die wird bis zu einem Horizont von 10000 Rechner ausgeführt
Dateitransfer
• Bei einer Anfrage wird eine
Nachricht (Query) erzeugt und diese wird als Broadcast
weitergegeben
• Im positiven Fall wird eine Antwort zurückgegeben
• Der eigentliche Download erfolgt außerhalb des Netzes
– Direktverbindung HTTP
Keyword - Matching (I)
• Matching von Dateien auf Anfrage teuer
• Limewire : 87% der CPU - Zeit
• Verbesserung z.B. mit Zugeständnissen
( schwächere „policies“ möglich) Beispiel :
- Verzicht auf „Case“ - Sensitivität - Verzicht auf Wildcards
Keyword - Matching (II)
Keyword - Substring - Matching:
• schwächste Einschränkung (policy) Ein Treffer ist nur dann vorhanden in F, wenn alle Wörter in der Anfrage als Substring in F vorhanden sind.
Beispiel.: Anfrage „eat sub“
Treffer: „Beatles Submarine“
• Nachteil:
- sehr große Laufzeit
Keyword - Matching (III)
Keyword - Subset - Matching:
• stärkste Einschränkung
Eine Anfrage Q ergibt einen Treffer bei einem Dateinamen F, wenn die Wörter in Q eine Teilmenge von F sind.
Beispiel.: „Beatles Submarine“ ist ein Treffer „Beatles Sub“ nicht.
• Kostengünstig ( Benutzung von
Seminar Peer – to – Peer Netzwerke
Keyword - Matching (IV)
Keyword - Prefix - Matching
Eine Anfrage Q bestimmt eine Datei F, wenn alle Wörter in Q Präfixe eines Elements in der Menge von den
Wörtern von F sind.
Beispiel.: Q=„sub beat“ dann wäre
„submarine
beatles“ ein Treffer, aber nicht bei
„sub eattles“
Multiple user download (swarming)
• Angelehnt an RAID
• Verteilung von Daten auf (hier) verschiedene Rechner
• Die Datei wird von verschiedenen Rechnern heruntergeladen und zusammengesetzt
• Vorteil
– Verteilung der Netzlast
– Unabhängigkeit von Einzelnen
– Verringert den Aufwand für Suchen
Beispiel BearShare HUGE
• Swarming basierend auf Huge
• Hash/Urn Gnutella Extension
• Bei einem Upload merkt sich der Client den anderen Rechner und gibt diesen an, wenn ein Treffer vorliegt.
• Treffer liegt bei gleichen Hashwert vor
• Verifizierung von Dateien werden nötig
Gefahren für den Nutzer
Meldung vom 3.1.2002:
www.wired.com/news/privacy/0,1848, 49430,00.html
- ClickTillUWin -
„In Limewire 2.0.2 wurde
versehentlich ein Trojanisches Pferd eingebracht, durch eingebaute
Werbung wurde eine Datei
heruntergeladen und ausgeführt „
• Probleme auch mit Kazaa 1.3.3
Aber auch rechtliche Gefahren für die
Entwickler und Benutzer
• Meldung vom 29.11.2003 13:27 – Zu finden unter www.heise.de
http://www.heise.de/newsticker/meld ung/42480
• Entwickler von File-Sharing-Software verhaftet, dem japanische Softwareentwickler von
„Winny“ Katsuhiko Kimoto wird vorgeworfen, er habe den amerikanischen Spielfilm "A Beautiful Mind" verbreitet und allein dadurch einen
Schaden von 230 Millionen Yen (1,75 Millionen Euro) verursacht.
Visualisierung
• Es gibt viel Visualisierungstools für Gnutella
• In BearShare Heartbeat
– Erstellt Statistiken einzusehen auf der Homepage
• Meist entworfen von Universitäten – Zum Beispiel von Berkley
• http://www.sims.berkeley.edu/~rachna/gtv /
• http://www.sims.berkeley.edu/%7Erachna/c ourses/infoviz/gtv/paper.html
HeartBeat von Bearshare
einmal Täglich einmal Jährlich
HearBeat (II)
noch mal in Zahlen
• Daily' Graph (5 Minute Average)
– Node Count: 133.8 k
– Average Node Count: 113.6 k – Current Node Count: 99.1 k
• Yearly' Graph (1 Day Average) – Node Count: 123.2 k
– Average Node Count: 60.0 k – Current Node Count: 116.1 k
Abschlussbetrachtung
• Limewire
– Nachteile:
• Benutzt einen langsamen Stringmachting Algorithmus
• langsamer als Bearshare durch VM
– Vorteil:
• Frei erhältlich( ohne Werbung )
• Auf fast allen Systemen lauffähig
• Gute Dokumentation
Spontane Zusammenarbeit
Einsatz von Peer-to-Peer- Systemen
“barrierefreien” Kommunikation
Anwendungen
• Messenger – ICQ
– AIM
• Kollaborationstools – Groove Workspace
ICQ (I seek you)
• Entwickelt 1996 von Mirabilis
• Aktuelle Version 5
• „Instant - Messaging“ - und Filesharingfunktionalität
• momentan ca. 100 Millionen User
Wie ICQ funktioniert
• ICQ Net Detect Agent startet
automatisch ICQ, bei Verbindung zum Internet
• über Port 4000 Verbindung von
ICQ mit einem Mirabilis ICQ-Server
• Online - Status des Benutzers und Kontaktpersonen wird auf Server zur Verfügung gestellt
• Für Client-zu-Client-Verbindungen IP-Adresse und Port vom Server
Datenschutz nicht gewährleistet
• ICQ sicherheitstechnische Lücke im System
– leicht angreifbar, da über den
Usernamen Daten über Verbindung und Online-Status gewonnen werden können
– Mit jeder Mitteilung werden IP und User ID Number (UIN) im Header übertragen – Persönliche Daten können über die UIN
leicht abgerufen werden
AOL Instant
Messanger (AIM)
• Entwickelt 1999 von AOL
• Aktuelle Version 5.5
• „Instant-Messaging“, Filesharing
• momentan ca. 198 Millionen User
Wie AIM funktioniert
• Anmelden an einen Basic-OSCAR- Service-Server über AOL-eigenes FLAP-Protokoll
• Server schickt Authentifikationscookie zurück, welches zur Nutzung des
Dienstes berechtigt
• AIM-Commands werden in FLAP- Packete eingepackt
• Über Channel-ID wird der Typ der Nachricht betimmt
Besser als ICQ, aber dennoch unsicher
• “Request Member Information“- Command liefert bei Erfolg Profil des gewünschten Benutzers
• Informationen werden nicht auf zentralem Server dauerhaft
abgelegt wie bei ICQ
• RMI-Commands liefert nur
gewünschte Informationen wenn Benutzer online
• Find-by-Name bei AIM nicht möglich
Groove (I)
• Zeitersparnis durch die Möglichkeit:
– Daten synchron zu verwalten und zu modifizieren
– ortsunabhängig Meetings online abzuhalten
– Informationen schnell und verständlich Anderen
darzustellen
Groove (II)
• Realisierung über Shared Workspaces
– Synchronisiertes Arbeiten online und offline möglich
– Firewall Transparency über Relay-Server
– Verschlüsselte Verbindung und Projekt-Speicherung über
interne Public Key Encryption
Groove (III)
Groove (IV)
• Instant Messaging
• Filesharing
• Voice-Chat
• Kollaborationsoberfläche – durch selbstständiges
Hinzufügen von Tools individualisierbar
Synchronisiertes Arbeiten (I)
Alle Kommunikationspartner sind online:
– Kommunikation über Simple Symmetric Transfer Protocol (SSTP) über Port 2492
– Im Falle von Portblocking durch Firewall Kapselung von SSTP-
Packeten mit Hilfe von Relay- Server über Port 80 (HTTP)
Synchronisiertes Arbeiten(II)
Manche Kommunikationspartner arbeiten offline:
– Daten werden an Relayserver geschickt und Queues abgelegt – Relay-Server stellt
Netzwerkstatus der Clienten über WAN Device Presence Protocol (DPP) fest
– Wenn diese online gehen, wird Status aktualisiert
Public Key Encryption
• Verschlüsselung über SSTP
– User-Workspace-Authentifikation – Verschlüsselung von Client-to-
Client Paketen
– Verifikation der Partneridentität
PKI mit Hilfe von SSTP
• Userinformationen in vCards gespeichert
• Verifikation mit Hilfe interner Fingerprints möglich
Relay-Server<-
>Managementserver Authentifikation
• Relay-Server bezieht
Informationen aus vCards vom Managementserver
– Verschlüsselte Verbindung über XML-basiertes Simple Object
Access Protocol (SOAP) – SOAP verschlüsselt über
protokolleigene PKI
Verbindungsverschlüssel ung Client<->Relay-
Server
• Ende-zu-Endeverschlüsselung über SSL
– wird auch bei Kapselung von SSTP-Paketen für HTTP-
Tunneling verwendet
Mediendistribution
Anwendungen
• “Business” - Internet – Akamai
• P2P - Radios – Reboot.fm
– P2P - Streamer
“Business” - Internet
• Aktuelles Internet für viele wirtschaftliche Aspekte
unzureichend
( Interoperabilität, Vertrauen, Stabilität ...)
• “Produce at demand” erwünscht
Akamai ( “http://www.akamai.com” ) : P2P - Content - System:
• EdgePlatform
• EdgeControl
Akamai
EdgePlatform
• Architektur :
Internet - Radio (I)
• Tradionelles Internetradio ( Client/Server - Applikation )
– Streamserver – Miete teuer
– Probleme mit der Bandbreite (Skalierbarkeit)
Internet - Radio (II)
• P2P - Radio:
• Hörer Verteiler des Streams
• zusammen mit “Semantic Web” : neue Formen des Radios
Internet - Radio
• Reboot.fm
• P2P-Streamer.com
• ogg - Stream
Reboot.fm(I)
• Bestandteil eines größeren Projeks (open source )
• “http://www.Reboot.fm”
• Sourcecode:
“http://www.sorceforge.de”
• ogg - Stream:
( http://liveradio.indymedia.org:800/
bootcast.org.mbv)
• siehe auch :
“http://www.radioriff.de”
Reboot.fm(II)
Reboot.fm(III)
P2P-Streamer.com
• “http://www.P2P-Streamer.com”
• internationales P2P - Radio
• Unterstützung von ogg, mp3, mp3.com
• Unterstützung aller gängigen Plattformen
Verteiltes Berechnen (GRID Computing)
Am Beispiel von SETI@HOME
GRID-Computing Was heißt das?
• Ungenutzte Ressourcen wie
Rechenleistung oder Speicherkapazität mobil machen
• Viele weit verstreute Rechner zu großen Supercomputern vereinen
• Vorteile liegen in Bereichen “load balancing“ und “high availability“
– Komplexe Probleme parallel bearbeiten
– Ausfall von Teilrechnern beeinträchtigt Gesamtsystem nur geringfügig
Architektur
• Globus - Toolkit 2-4
• European Data Grid
Anwendung:
SETI@HOME (Search for
Extraterrestrial Intelligence)
• SETI wertet Signale vom „Arecibo Observatorium“ (Puerto Rico) aus
• Sucht nach schmalbandigen Signalen mit charakteristischem Muster
– Signal sollte erwartungsgemäß auf energetisch günstigem
Frequenzniveau senden
– Aufgrund der Funktionsweise des Teleskops gaussähnliche Signalform zu erwarten
Wie SETI funktioniert
• SETI@HOME stellt
screensaverähnlichen Peer-to-Peer -Client zur Verfügung
• Wenn ein Clientcomputer längere Zeit inaktiv bleibt wird Client gestartet
• SETI empfängt Frequenzen im Bereich um 1420MHz mit einer Bandbreite von 2,5MHz
• Aufspaltung in 10KHz “slices“, die zum Clienten geschickt werden
Prozess auf dem Client
• SETI überträgt 107 sec. Lang 10KHz-Pakete
• Entspricht einer Datenblockgröße von ca. 0.25 MB
• Client verbindet sich nur mit SETI@HOME, wenn Analyse
abgeschlossen und neue Daten versendet werden
Der Screensaver- Client (II)
• Client speichert Cookie lokal, um beim Neustart seinen Status abzufragen
• Hauptaufgabe: Mittels Fast Fourier Transform (FFT) gewünschte Frequenzen aus
Rauschgemisch extrahieren
Der Screensaver - Client(II)
• Mit Hilfe von “Chirping“ durch Planetenbewegung
hervorgerufene Verzerrungen ausgleichen
Kommerzielle Nutzung
• Beispiel : Zetagrid