23
1 Peer to Peer – GNUTELLA Peer to Peer – GNUTELLA Seminar Innovative Netztechnologien Christophe LE ROQUAIS, den 17. Juni 2002

1 Peer to Peer – GNUTELLA Seminar Innovative Netztechnologien Christophe LE ROQUAIS, den 17. Juni 2002

Embed Size (px)

Citation preview

Page 1: 1 Peer to Peer – GNUTELLA Seminar Innovative Netztechnologien Christophe LE ROQUAIS, den 17. Juni 2002

1

Peer to Peer – GNUTELLAPeer to Peer – GNUTELLASeminar Innovative Netztechnologien

Christophe LE ROQUAIS, den 17. Juni 2002

Page 2: 1 Peer to Peer – GNUTELLA Seminar Innovative Netztechnologien Christophe LE ROQUAIS, den 17. Juni 2002

2

20 Slides :

• P2P, Grundkenntnisse

- Client/Server- P2P Topologien

• Gnutella- Funktionsweise- Nachrichten- Beispiel

Inhaltverzeichnis

Page 3: 1 Peer to Peer – GNUTELLA Seminar Innovative Netztechnologien Christophe LE ROQUAIS, den 17. Juni 2002

3

Client / Server P2P

Wie erreichen Dateien in einem Netz ?

Page 4: 1 Peer to Peer – GNUTELLA Seminar Innovative Netztechnologien Christophe LE ROQUAIS, den 17. Juni 2002

4

Definition

„Peer to peer is a communications modell in which each party has the same capabilities and either party can initiate a communication session. Peer to peer communications is implemented by giving each communication node both server and client capabilities (Servents).“

Geschichte

• Ursprüngliche Idee des Internet

• Aktuellen PCs leistunfähig genug um Server zu sein

• Beispiel : ICQ 1996, Gnutella 2000

P2P, was ist das ?

Page 5: 1 Peer to Peer – GNUTELLA Seminar Innovative Netztechnologien Christophe LE ROQUAIS, den 17. Juni 2002

5

Benutzung von P2P

• File SharingZ.B : Napster, Gnutella

• Ressource sharingZ.B : Seti@home

• Collaborative ComputingZ.B : ICQ

Page 6: 1 Peer to Peer – GNUTELLA Seminar Innovative Netztechnologien Christophe LE ROQUAIS, den 17. Juni 2002

6

P2P Topologien

Wie Napster : Verzeichnisserver Wie Gnutella : mit kein jeder Server

Page 7: 1 Peer to Peer – GNUTELLA Seminar Innovative Netztechnologien Christophe LE ROQUAIS, den 17. Juni 2002

7

Gnutella, P2P für File Sharing

• Idee : „Werkzeug, leistungfähiger als Napster, um Dateien zu teilen“

• Projekt von Justin Frankel und Tom Pepper (Nullsoft)

• Heute, viele verschiedene Anwendungen : Gnotella, Morpheus, kaZaA, Gnucleus...

Page 8: 1 Peer to Peer – GNUTELLA Seminar Innovative Netztechnologien Christophe LE ROQUAIS, den 17. Juni 2002

8

Wie funktionniert Gnutella ?

• Verbindung zum Netzwerk

• Entdecken von neuen Peers

• Dateien suchen

• Dateien download

Page 9: 1 Peer to Peer – GNUTELLA Seminar Innovative Netztechnologien Christophe LE ROQUAIS, den 17. Juni 2002

9

Verbindung zum Netzwerk

• Kentniss einer Adresse eines Peer mit seiner TCP portz.B : connect1.gnutellanet.com:6346

• Verbindung Nachricht

Sender : GNUTELLA CONNECT/<protocol versionstring>\n\n

Empfänger : GNUTELLA OK\n\n

Page 10: 1 Peer to Peer – GNUTELLA Seminar Innovative Netztechnologien Christophe LE ROQUAIS, den 17. Juni 2002

10

Gnutella Nachrichten

Ping : Endecken neuen Peers

Push : erlauben einem firewalled Servent Dateien zu teilen

QueryHit : Antwort auf eine Query

Query : um Dateien zu suchen

Pong : Antwort auf einem Ping

Page 11: 1 Peer to Peer – GNUTELLA Seminar Innovative Netztechnologien Christophe LE ROQUAIS, den 17. Juni 2002

11

Entdecken neuen Peers

• Periodische Ping Nachrichten

• Empfängt Pong Nachricht aus die anderen Peers

• Wenn die andere Peers nicht so weit sind : Sendungen von Verbindung Nachrichten (Connect)

Page 12: 1 Peer to Peer – GNUTELLA Seminar Innovative Netztechnologien Christophe LE ROQUAIS, den 17. Juni 2002

12

Download

• Suchung

Sendung einer Query Nachricht

• Download direkt mit HTTP v1.0

GET /<index>/<file name>/HTTP/1.0Connection : Keep-Alive Range : bytes=0-

HTTP200 OK Server : GnutellaContent-type : application/binary Content-length : <file size in bytes>

Page 13: 1 Peer to Peer – GNUTELLA Seminar Innovative Netztechnologien Christophe LE ROQUAIS, den 17. Juni 2002

13

Übertragungsregeln

• Regel A. Ein Knoten verbreitet Ping und Query Nachrichten zu seinem nähesten Nachbarn usw...

• Regel B. Pong, Query Nachrichten müssen durch den gleichen Pfad wie der anfängliche Pfad verbreitet werden

• Regel C. Ein Knoten reduziert das TTL Feld um eins bevor die Nachricht verbreitet wird.

• Regel D. Wenn ein Knoten eine ähnliche Nachricht als vorher empfängt, stoppt er die Verbreitung

Page 14: 1 Peer to Peer – GNUTELLA Seminar Innovative Netztechnologien Christophe LE ROQUAIS, den 17. Juni 2002

14

TTL, Time to Live

• Feld im Gnutella Kopf Nachrichten

• Lebensdauer einer Nachricht

• Wert reduziert um 1 nach einer Weitersendung

• TTL = 0 bedeutet, dass die Nachricht verworfen ist

Page 15: 1 Peer to Peer – GNUTELLA Seminar Innovative Netztechnologien Christophe LE ROQUAIS, den 17. Juni 2002

15

Firewalled Servents

• Laptop hinter einer Firewall

• Push Nachricht, so dass der Laptop die http Verbindung initiiert

Page 16: 1 Peer to Peer – GNUTELLA Seminar Innovative Netztechnologien Christophe LE ROQUAIS, den 17. Juni 2002

16

Beispiel 1/5

Situation

• Knoten 2, 3, 4 schon angebunden

• Knoten1 möchte Lied von „Osternhagen“ herunterladen

• Nur IP Adresse des Knoten 4 gekennt

• Nur Knoten 3 teilt Lieder von „Osternhagen“

• Keine Firewall

• TTL = 1 für Ping Nachrichten

• TTL = 2 für andere Nachrichten

Page 17: 1 Peer to Peer – GNUTELLA Seminar Innovative Netztechnologien Christophe LE ROQUAIS, den 17. Juni 2002

17

Beispiel 2/5

1. Connect

2. OK

Page 18: 1 Peer to Peer – GNUTELLA Seminar Innovative Netztechnologien Christophe LE ROQUAIS, den 17. Juni 2002

18

Beispiel 3/5

3. Ping

4. Pong

4´. Ping

Page 19: 1 Peer to Peer – GNUTELLA Seminar Innovative Netztechnologien Christophe LE ROQUAIS, den 17. Juni 2002

19

Beispiel 4/5

5. Query : „osternhagen mp3“

6. Query

7. QueryHit

7´. QueryHit8. QueryHit

Osternhagen.mp3

Page 20: 1 Peer to Peer – GNUTELLA Seminar Innovative Netztechnologien Christophe LE ROQUAIS, den 17. Juni 2002

20

Beispiel 5/5

9. Get (http)10. HTTP200 OK

(download)

Page 21: 1 Peer to Peer – GNUTELLA Seminar Innovative Netztechnologien Christophe LE ROQUAIS, den 17. Juni 2002

21

Gnutella Topologie

Page 22: 1 Peer to Peer – GNUTELLA Seminar Innovative Netztechnologien Christophe LE ROQUAIS, den 17. Juni 2002

22

Statistik

• Mehr als 400 000 Knoten, die mindestens einmal aktiv waren

• 3 Mio. Dateien üner 600 Tbyte Daten

• Ca. 40% der Knoten verlassen das Netz nach weniger 4 Stunden

• 36% des Verkehrs für Query-Nachrichten

• 25% für Ping und Pong

• 9% für Push

• 70 % der Gnutella Teilnehmer bieten keine Dateien zum Download an

• Fast 50% aller Anfragen werden nur 1 % der Peers beantwortet

Page 23: 1 Peer to Peer – GNUTELLA Seminar Innovative Netztechnologien Christophe LE ROQUAIS, den 17. Juni 2002

23

Zusammenfassung

• P2P wird die Client/Server Architekturnicht ersetzen

• Gnutella benutzt http Protokoll für downloads

• Gnutella noch sehr neu

• Viele mögliche Verbesserungen (Datenrate, Sichereit...)