• Keine Ergebnisse gefunden

Seminar Peer - to - Peer Netzwerke

N/A
N/A
Protected

Academic year: 2022

Aktie "Seminar Peer - to - Peer Netzwerke"

Copied!
66
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Seminar Peer - to - Peer Netzwerke

Thema:” Aktuelle Anwendungen”

Referenten:

Jan Kretzschmar, Folker Gramse, Philip Schröder und Denis Kohl

(2)

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

(3)

Überblick

Anwendungen von Peer - to - Peer Systemen

•Limewire

•Gnutella-Protokoll

•HUGE

•ICQ/AIM

•Groove

•Internet – Radio

•Reboot.fm

•GRID-Computing

•Seti@Home

• Fazit / Zusammenfassung

(4)

Anwendungen von Peer – to – Peer -

Systemen

• File- Sharing - Netzwerke

• spontane Zusammenarbeit

• Mediendistribution

• Verteiltes Berechnen

(5)

File - Sharing - Netzwerke

am Beispiel von Limewire

und Bearshare

(6)

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

(7)

Limewire

• Zu Grunde liegt das Gnutella Protokoll

• Informationen

– www.limewire.org – www.limewire.com

(8)

LIMEWIRE:

(9)

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

(10)

„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

(11)

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

(12)

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

(13)

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

(14)

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

(15)

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“

(16)

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

(17)

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

(18)

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

(19)

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.

(20)

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

(21)

HeartBeat von Bearshare

einmal Täglich einmal Jährlich

(22)

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 

(23)

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

(24)

Spontane Zusammenarbeit

Einsatz von Peer-to-Peer- Systemen

“barrierefreien” Kommunikation

(25)

Anwendungen

• Messenger – ICQ

– AIM

• Kollaborationstools – Groove Workspace

(26)

ICQ (I seek you)

• Entwickelt 1996 von Mirabilis

• Aktuelle Version 5

• „Instant - Messaging“ - und Filesharingfunktionalität

• momentan ca. 100 Millionen User

(27)

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

(28)

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

(29)

AOL Instant

Messanger (AIM)

• Entwickelt 1999 von AOL

• Aktuelle Version 5.5

• „Instant-Messaging“, Filesharing

• momentan ca. 198 Millionen User

(30)

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

(31)

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

(32)

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

(33)

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

(34)

Groove (III)

(35)

Groove (IV)

• Instant Messaging

• Filesharing

• Voice-Chat

• Kollaborationsoberfläche – durch selbstständiges

Hinzufügen von Tools individualisierbar

(36)

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)

(37)

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

(38)

Public Key Encryption

• Verschlüsselung über SSTP

– User-Workspace-Authentifikation – Verschlüsselung von Client-to-

Client Paketen

– Verifikation der Partneridentität

(39)

PKI mit Hilfe von SSTP

• Userinformationen in vCards gespeichert

• Verifikation mit Hilfe interner Fingerprints möglich

(40)

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

(41)

Verbindungsverschlüssel ung Client<->Relay-

Server

• Ende-zu-Endeverschlüsselung über SSL

– wird auch bei Kapselung von SSTP-Paketen für HTTP-

Tunneling verwendet

(42)

Mediendistribution

(43)

Anwendungen

• “Business” - Internet – Akamai

• P2P - Radios – Reboot.fm

– P2P - Streamer

(44)

“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

(45)

Akamai

EdgePlatform

• Architektur :

(46)

Internet - Radio (I)

• Tradionelles Internetradio ( Client/Server - Applikation )

– Streamserver – Miete teuer

– Probleme mit der Bandbreite (Skalierbarkeit)

(47)

Internet - Radio (II)

• P2P - Radio:

• Hörer Verteiler des Streams

• zusammen mit “Semantic Web” : neue Formen des Radios

(48)

Internet - Radio

• Reboot.fm

• P2P-Streamer.com

• ogg - Stream

(49)

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”

(50)

Reboot.fm(II)

(51)

Reboot.fm(III)

(52)

P2P-Streamer.com

• “http://www.P2P-Streamer.com”

• internationales P2P - Radio

• Unterstützung von ogg, mp3, mp3.com

• Unterstützung aller gängigen Plattformen

(53)

Verteiltes Berechnen (GRID Computing)

Am Beispiel von SETI@HOME

(54)

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

(55)

Architektur

• Globus - Toolkit 2-4

• European Data Grid

(56)

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

(57)

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

(58)

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

(59)

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

(60)
(61)

Der Screensaver - Client(II)

• Mit Hilfe von “Chirping“ durch Planetenbewegung

hervorgerufene Verzerrungen ausgleichen

(62)

Kommerzielle Nutzung

• Beispiel : Zetagrid

(63)

Zusammenfassung

/ Fazit

(64)
(65)

FRAGEN ???

(66)

Quellen

Referenzen

ÄHNLICHE DOKUMENTE

– Impact of node failures on lookup failure rate. – lookup failure rate roughly equivalent to node failure

– Impact of node failures on lookup failure rate. – lookup failure rate roughly equivalent to node failure

Die Messages put und leave erhalten kein reply , während die Message get im reply die Adresswerte des Datenhalters (also die zum gesuchten Key korrespondierende IP-Adresse

Jeder Knoten leitet ein Broadcast-Paket mit RangeHash X an alle ihm bekannten Knoten (mit aktualisiertem Range) zwischen seiner ID und X weiter.. Der Startknoten sendet

Basics of peer-to-peer systems: motivation, characteristics, and examples Distributed object location and routing in peer-to-peer systems3. Unstructured

Napster provided a service where they indexed and stored file information that users of Napster made available on their computers for others to download, and the files

ƒ Peer-to-Peer: Anwendungen, die Ressourcen am Rand des Internets ohne feste IP-Adressen ausnutzen Ressourcen: Speicherkapazität, CPU-Zeit, Inhalte, menschliche Präsenz.. Î

 Suche von Daten = Routing zu verantwortlichem Knoten.  Verantwortlicher Knoten muss nicht vorab