Vergleich aktueller...

22
Vergleich aktueller Peer-to-Peer-Netzwerke Hauptseminar Sommersemester 2008 Fachgebiet Kommunikationsnetze Name: Ren´ e Golembewski Matrikel-Nr.: Studiengang: Ingenieurinformatik Betreuer: Prof. Dr. Jochen Seitz DI M. Hasan

Transcript of Vergleich aktueller...

Page 1: Vergleich aktueller Peer-to-Peer-Netzwerkemidas1.e-technik.tu-ilmenau.de/~webkn/Abschlussarbeiten/...eine Firewall kon guriert sind. Die Anwedung muss nun feststellen, welcher Fall

Vergleich aktuellerPeer-to-Peer-Netzwerke

Hauptseminar Sommersemester 2008Fachgebiet Kommunikationsnetze

Name: Rene GolembewskiMatrikel-Nr.:Studiengang: Ingenieurinformatik

Betreuer: Prof. Dr. Jochen SeitzDI M. Hasan

Page 2: Vergleich aktueller Peer-to-Peer-Netzwerkemidas1.e-technik.tu-ilmenau.de/~webkn/Abschlussarbeiten/...eine Firewall kon guriert sind. Die Anwedung muss nun feststellen, welcher Fall

Inhalt

Inhalt

1 Vorwort 2

2 Das Overlay-Netzwerk 3

3 Kommunikationsprotokolle und -verfahren 43.1 Network Address Translation (NAT) . . . . . . . . . . . . . . 43.2 Firewalls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53.3 NAT Traversal . . . . . . . . . . . . . . . . . . . . . . . . . . 53.4 Late-Join Algorithmen . . . . . . . . . . . . . . . . . . . . . . 9

3.4.1 Feste Adresse im Programmcode . . . . . . . . . . . . 93.4.2 Dynamic DNS . . . . . . . . . . . . . . . . . . . . . . . 103.4.3 Kontrolliertes Fluten . . . . . . . . . . . . . . . . . . . 10

4 Sicherheit und Stabilitat in P2P-Netzwerken 11

5 Einsatzmoglichkeiten 135.1 File-Sharing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135.2 Voice-over-IP . . . . . . . . . . . . . . . . . . . . . . . . . . . 135.3 Informationsaustausch . . . . . . . . . . . . . . . . . . . . . . 145.4 Peer-to-Peer in MMORPG . . . . . . . . . . . . . . . . . . . . 14

6 Technische Realisierungen 156.1 JXTA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156.2 Gnutella . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166.3 Pastry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

7 Fazit 19

8 Erklarung 20

1

Page 3: Vergleich aktueller Peer-to-Peer-Netzwerkemidas1.e-technik.tu-ilmenau.de/~webkn/Abschlussarbeiten/...eine Firewall kon guriert sind. Die Anwedung muss nun feststellen, welcher Fall

1 Vorwort

1 Vorwort

Peer-to-Peer-Netzwerke spielen in der modernen Telekommunikation einegroße Rolle. Trotz ihres schlechten Rufes, welcher sie oft nur als Werkzeug derUrheberrechtsverletzungen darstellt, sind sie die Grundlage vieler bedeuten-der Anwedungen. In diesem Hauptseminarbeitrag sollen aktuelle Technolo-gien vorgestellt und in Bezug auf verschiedene Gesichtspunkte verglichenwerden. Dabei wird besonders auf P2P-Systeme ohne zentrale Instanz Wertgelegt, die einer vollstandigen Selbstorganisation unterliegen. Im Gegensatzzu einigen zentralisierten Ansatzen, werden solche Netzwerke auch als “reinePeer-to-Peer-Systeme” betitelt. Folgende Fragen sollen unter anderem indieser Arbeit kritisch analysiert und beantwortet werden:

• Wie wird die Kommunikation der Peers geregelt?

• Sind NAT und Firewalls ein Hindernis?

• Welche Late-Join Algorithmen gibt es?

• Wie wird Sicherheit gewahrleistet?

• Sind die Systeme stabil?

• Wie wird die Anwendungsentwicklung unterstutzt?

Um diese Ausarbeitung zu verstehen sollte der Leser uber Grundkenntnisseder Telematik verfugen. Insbesondere die Kommunikation im Internet uberProtokolle wie IP, UDP und TCP1 sollte bekannt sein, da P2P-Netzwerkeauf Anwedungsebene diesen Protokollstapel verwenden. Sie setzen als einsogenanntes “Overlay-Netzwerk” das Vorhandensein einer Kommunikation-sinfrastruktur voraus.

1Internet Protocol, User Datagram Protocol, Transmission Control Protocol

2

Page 4: Vergleich aktueller Peer-to-Peer-Netzwerkemidas1.e-technik.tu-ilmenau.de/~webkn/Abschlussarbeiten/...eine Firewall kon guriert sind. Die Anwedung muss nun feststellen, welcher Fall

2 Das Overlay-Netzwerk

2 Das Overlay-Netzwerk

Overlay-Netze definieren eine logische Topologie auf der zugrunde liegendenphysikalischen Topologie. Knoten, die sich im Overlay-Netz befinden, werdenPeers genannt. Sie stellen in einem Peer-to-Peer Netz gleichberechtigte undautonome Einheiten dar. Wenn im Overlay eine direkte logische Verbindungzwischen zwei Peers besteht, dann entspricht diese im zugrunde liegendenphysikalischen Netzwerk auch mindestens einem Hop, im Normalfall abermehreren Hops. Es wird angenommen, dass sich ein Overlay-Netz uber dasganze Internet erstrecken kann, und nicht auf feste Bereiche begrenzt wird.Ein Overlay-Netz kann nur einen Peer bis beliebig viele Peers enthalten.Einzelne Peers konnen sich selbststandig in Gruppen organisieren, um gemein-sam Arbeit zu verrichten oder eingschrankte Dienste (Services) zu nutzenoder zur Verfugung zu stellen. Peer-Gruppen werden durch eine GruppenIDidentifiziert, ein Peer kann also Mitglied in mehreren Gruppen sein.

3

Page 5: Vergleich aktueller Peer-to-Peer-Netzwerkemidas1.e-technik.tu-ilmenau.de/~webkn/Abschlussarbeiten/...eine Firewall kon guriert sind. Die Anwedung muss nun feststellen, welcher Fall

3 Kommunikationsprotokolle und -verfahren

3 Kommunikationsprotokolle und -verfahren

Das eigentliche Kernproblem von P2P-Netzwerken ist eine moglichst opti-male und effiziente Kommunikation der beteiligten Peers zu erreichen. Ob-wohl die Internet-Service-Provider (ISPs) stetig mit hoheren Verbindungs-geschwindigkeiten aufwarten, sind die derzeitigen Breitbandanschlusse im-mernoch ein Flaschenhals im Vergleich zum Internet Backbone. Weiterhin istdas Verhaltnis von Upstream zu Downstream meistens asynchron und so ste-ht zum Versenden von Daten nur eine viel kleinere Datenrate zur Verfugungals zum Empfangen.

3.1 Network Address Translation (NAT)

Der aktuelle IPv4-Adressraum im Internet ist nahezu komplett vergeben oderreserviert. Meistens macht es auch gar keinen Sinn, jedem Rechner in einemNetzwerk eine globale IP Adresse zuzuweisen und somit ein direktes Routingzu diesem zu ermoglichen. Zumal dieses System dann auch einem hoherenSicherheitsrisiko ausgesetzt ist. Daher gibt es die Moglichkeit eine Network-bzw. Port-Address-Translation (NAPT)2 einzurichten. Aktuelle DSL-Router

Abbildung 1: NAPT Szenario

2Network Address Port Translation, auch Hiding NAT oder Masquerading genannt

4

Page 6: Vergleich aktueller Peer-to-Peer-Netzwerkemidas1.e-technik.tu-ilmenau.de/~webkn/Abschlussarbeiten/...eine Firewall kon guriert sind. Die Anwedung muss nun feststellen, welcher Fall

3 Kommunikationsprotokolle und -verfahren

arbeiten nach genau diesem Prinzip. Dabei wird ein lokales Intranet miteinem reservierten Subnetz3 aufgebaut. Der Router nimmt dabei meistensauch diverse andere Funktionen wie DHCP Server, Firewall oder DNS Proxywahr. Wenn nun beispielsweise ein Rechner aus dem lokalen Intranet eine An-frage an einen Webserver stellt, so wird fur diese Verbindung ein Eintrag inder NAPT Tabelle des Routers gespeichert und die Antworten des Webserverskonnen so wieder an den Rechner geleitet werden, der diese Verbindung ini-tiiert hat. Aus diesem Grund ist es nicht moglich eine Verbindung zu einemlokalen Rechner von einer globalen Adresse, ohne vorherigen Verbindungskon-text aufzubauen. Um dies zu ermoglichen gibt es die Funktion des Port For-warding, wobei eingehende Pakete von einem bestimmten externen Port aneinen festgelegten Rechner des Intranets weitergeleitet werden. Externe undinterne Ports mussen nicht zwingend gleich sein. Dieses Szenario ist jedochfur den Aufbau eines Peer-to-Peer Netzwerkes nicht optimal, da eingehendeVerbindungsanfragen schon am Router verworfen werden, sofern kein Port-Forwarding eingerichtet ist. Ein Algorithmus zur Kommunikation zwischenPeers muss also mit diesem Problem umzugehen wissen.

3.2 Firewalls

Wenn im Zusammenhang mit Peer-to-Peer Netzwerken von Firewalls dieRede ist, dann sind vorallem die Firewalls zu uberwinden, die im Netzw-erk4 auf der Route zum globalen Internet passiert werden. Diese Systemesind meistens Stateful-Inspection-Firewalls, welche fur jede Verbindung einengewissen Kontext abspeichern. Ahnlich der NAPT, wird ein eingehendesPaket nur an den Zielrechner weitergeleitet, wenn dieser vorher eine Daten-ubertragung initiiert hat und die Firewall eine Ubertragung zu diesen Portszulasst. Der Teilnehmer in einem P2P-Netzwerk soll jedoch in seiner Funktionsowohl einem Client als auch einem Server ahneln und auf Anfrage bestimmteDaten ausliefern.

3.3 NAT Traversal

Unter dem Begriff NAT Traversal versteht man die Uberbruckung einerVerbindung durch ein NAT- bzw. Firewall-System. Es muss dem Client einesPeer-to-Peer Systems folglich moglich sein, einen Verbindungskontext auseiner NAT-Domane heraus aufrecht zu erhalten, um jederzeit von außenansprechbar zu sein und Verbindungen annehmen zu konnen. Als Beispiel soll

3Beispiel: 10.0.0.0/8 oder 192.168.0.0/16 (oder Teile dieser Netze)4Netzwerk-Firewalls im Gegensatz zu Host-Firewalls

5

Page 7: Vergleich aktueller Peer-to-Peer-Netzwerkemidas1.e-technik.tu-ilmenau.de/~webkn/Abschlussarbeiten/...eine Firewall kon guriert sind. Die Anwedung muss nun feststellen, welcher Fall

3 Kommunikationsprotokolle und -verfahren

hier das STUN-Protokoll naher erlautert werden. Die Abkurzung STUN stehtdabei fur “Simple Traversal of User Datagram Protocol through Network Ad-dress Translators”. Dieses Protokoll wird momentan von vielen Voice-over-IP(VoIP) Providern verwendet, um eine standige Erreichbarkeit der Teilnehmerzu gewahrleisten. Eine STUN-Sitzung wird zwischen zwei Kommunikation-spartnern aufgebaut, wobei es einen STUN-Server und einen STUN-Clientgibt. Der Server soll ein erreichbarer Rechner im Internet sein, welcher demClient bekannt ist. Es werden sechs Falle unterschieden, wie ein NAT odereine Firewall konfiguriert sind. Die Anwedung muss nun feststellen, welcherFall zutreffend ist.

1. Offenes Internet, kein NAT, eventuell unsymmetrische Stateful-InspectionFirewall (Wenn ein Paket vom Client mit einem bestimmten Port gesendetwurde, werden die Antwort-Pakete aller Quelladressen und Quellportsauf diesen Port als zulassig angesehen und passieren die Firewall)

2. Keine UDP-Konnektivitat (Dies ist der schlechteste Fall, hier istkein NAT Traversal moglich)

3. Symmetrische UDP Firewall (Firewall blockt alle UDP Pakete,die nicht vom Empfanger (Adresse:Port) des ausgehenden UDP Paketsstammen)

4. Full-Cone-NAT (Wenn ein Paket vom Client gesendet wurde, werdendie Antwort-Pakete aller Quelladressen und Quellports auf diesen Portals zulassig angesehen und werden angenommen)

5. Symmetrisches NAT (Anfragen an verschiedene Rechner werdennach außen auf verschiedene IP Adressen gemappt)

6. Restriktives NAT (Anfragen an verschiedene Rechner werden aufdie gleich IP gemappt, nur Antwort-Pakete des Kontaktierten Rechnerswerden angenommen)

7. Port-Restriktives NAT (wie Restriktives NAT, zusatzlich mussenauch die Antwortpakete des Servers den gleichen Quellport aufweisen,wie die Pakete des Clients bei der Anfrage an den Server)

Um eine genaue Auskunft daruber zu bekommen wurden drei Tests definiert,die in einer bestimmten Reihenfolge nacheinander durchgefuhrt werden. Dergenaue Testablauf wird in der schematischen Grafik dargestellt.

6

Page 8: Vergleich aktueller Peer-to-Peer-Netzwerkemidas1.e-technik.tu-ilmenau.de/~webkn/Abschlussarbeiten/...eine Firewall kon guriert sind. Die Anwedung muss nun feststellen, welcher Fall

3 Kommunikationsprotokolle und -verfahren

Test I Der Client sendet ein STUN Binding Request an den Server ohnegesetzte Flags im CHANGE REQUEST Attribut und ohne das RE-SPONSE ADDRESS Attribut (Dies veranlasst den Server dazu, eineAntwort an den Socket zu senden, woher das Paket ursprunglich kam)

Test II Der Client sendet ein STUN Binding Request mit den beiden geset-zten Flags “change IP” und “change port” des CHANGE REQUESTAttributes

Test III Der Client sendet ein STUN Binding Request, bei dem nur das “changeport” Flag gesetzt ist

Der Client beginnt nun also mit dem ersten Test. Wenn bei diesem Testkeine Antwort zuruck kommt, weiß der Client, dass keine UDP Konnek-tivitat besteht. Die Prozedur kann somit abgebrochen werden. Wenn eineAntwort generiert wird, dann muss das Attribut MAPPED ADDRESS5 un-tersucht werden. Wenn die gemappte Adresse der lokalen IP Adresse desClients entspricht, dann befindet sich dieser nicht in einer NAT-Domane.Nun wird Test II gestartet. Liefert dieser Test eine Antwort, dann weiß derClient, das er sich im Szenario “offenes Internet” befindet. Falls nicht, gibtes eine “Symmetrische UDP Firewall“ in seinem Netzwerk. Befindet sich derClient nun aber in einer NAT-Umgebung (andere IP nach Test I), so wirdebenfalls Test II ausgefuhrt. Liefert dieser Test eine Antwort, dann weiß derClient, dass er sich in einem ”Full-Cone-NAT“ Netzwerk aufhalt. Wenn je-doch keine Antwort erhalten wurde, wird Test I erneut ausgefuhrt, jedochmit der zweiten Zieladresse des STUN-Servers6, die er dem Client in seinerersten Antwort im Attribut CHANGED ADDRESS mitgeliefert hat. Wennnun in der folgenden Antwort das Attribut MAPPED ADDRESS eine an-dere IP Adresse liefert als beim ersten Durchlauf des Test I, dann ist esein ”Symmetric NAT“ Szenario. Andernfalls kann es sich nur noch um ein”Restriktives NAT“ oder ein ”Port-Restriktives NAT“ handeln. Aufschlussdaruber gibt Test III, wobei lediglich ein anderer Port am STUN Server be-nutzt wird um das Paket zu senden.

5enthalt den Quellsocket des Client-Pakets6Der STUN Server muss aufgrund dieser Tests uber 2 Netzwerkinterfaces verfugen

und 2 verschiedene Portnummern verwenden, um unterschiedliche Kombinationen von IPAdressen und Portnummern zu erzeugen

7

Page 9: Vergleich aktueller Peer-to-Peer-Netzwerkemidas1.e-technik.tu-ilmenau.de/~webkn/Abschlussarbeiten/...eine Firewall kon guriert sind. Die Anwedung muss nun feststellen, welcher Fall

3 Kommunikationsprotokolle und -verfahren

Abbildung 2: “Discovery Process” beim STUN-Protokoll [4]

8

Page 10: Vergleich aktueller Peer-to-Peer-Netzwerkemidas1.e-technik.tu-ilmenau.de/~webkn/Abschlussarbeiten/...eine Firewall kon guriert sind. Die Anwedung muss nun feststellen, welcher Fall

3 Kommunikationsprotokolle und -verfahren

Da der Client nach dieser Prozedur weiß in welcher Umgebung er sichbefindet, kann dies in die Konfiguration des P2P-Clients einfließen und eswird eine standige Erreichbarkeit gewahrleistet. Um auch uber einen langerenZeitraum konsistent zu bleiben wird diese Prozedur nach einiger Zeit wieder-holt. Das hier vorgestellte Verfahren beruht auf dem STUN-Protokoll, welch-es in RFC3489 dokumentiert ist und auch als “UDP-Hole-Punching7“ beze-ichnet wird. In abgewandelten Implementierungen wird diese Losung auch beivielen Peer-to-Peer Applikationen verwendet. Man erweitert jedoch meistensdie Funktionen und testet bei erfolgloser UDP-Kommunikation anschließendauf TCP im Allgemeinen und bei sehr restriktiven Netzen auf TCP Verbindun-gen zu HTTP beziehungsweise HTTPS8 Ports. Dabei konnen dann beliebigeSysteme des Peer-to-Peer Netzes (meistens Supernodes) die Funktionalitatdes STUN-Servers einnehmen und dem neuen Client den Zugang zum Net-zwerk ermoglichen. Der Peer-to-Peer Traffic, welcher hier generiert wird,sieht also von außen betrachtet wie ganz normales Websurfen aus. Die hierbeschriebene Methode des NAT Traversal ist eine nicht mehr wegzudenk-ende Methode in aktuellen Peer-to-Peer Implementierungen und deswegenfur das grundlegende Verstandnis der Funktionsweise dieser Anwendungenunerlasslich.

3.4 Late-Join Algorithmen

Um einem bestehenden Peer-to-Peer Netzwerk beizutreten gibt es verschiedeneAnsatze. In den meisten Fallen ist die Grundvoraussetzung das Finden einesPeers, welcher bereits in diesem Netzwerk aktiv ist (”Bootstrapping“). EinigeLosungen dieses Problems sollen im Folgenden dargestellt werden.

3.4.1 Feste Adresse im Programmcode

Hierbei werden eine IP Adresse und ein Port im Quelltext der Applikationgespeichert und sind somit dauerhaft festgelegt und im ausfuhrbaren Pro-gramm nicht mehr zu andern. Der voreingestellte Server muss dann jedochimmer erreichbar sein um ein Bootstrapping zu machen. Gleichzeitig stelltdiese Variante auch einen ”Single Point of Failure” dar und macht das ganzeSystem somit fur “Denial-of-Service9“ Attacken angreifbar.

7Ausgehende UDP Pakete “schlagen” Locher in die Firewalls um diese fur eingehendeVerbindungen offen zu halten

8TCP Ports 80 (HTTP) und 443 (HTTPS) sind die Standardports fur Webserver9Ein Server wird mit Anfragen uberlastet und bricht zusammen

9

Page 11: Vergleich aktueller Peer-to-Peer-Netzwerkemidas1.e-technik.tu-ilmenau.de/~webkn/Abschlussarbeiten/...eine Firewall kon guriert sind. Die Anwedung muss nun feststellen, welcher Fall

3 Kommunikationsprotokolle und -verfahren

3.4.2 Dynamic DNS

Das Dynamische DNS10 bildet wie auch das klassische DNS, Domainnamenauf IP Adressen ab. Dabei konnen beim DDNS auch die Eintrage des Name-servers durch eine Web-Schnittstelle geandert werden. Wird nun ein Peer-to-Peer Netzwerk initial aufgebaut, so tragen die ersten teilnehmenden Rechnerihre eigene IP Adresse im DDNS System ein. Kontaktiert nun ein neuer Clientden DNS Server, so bekommt er damit die IP Adresse eines teilnehmendenPeers und kann diesen kontaktieren. Stellt ein aktiver Peer fest, dass eine An-frage an den Server keine gultige IP Adresse liefert tragt er sich selbst ein, umdie Funktion eines Zugangspunktes zum P2P-Netz zu ubernehmen. Wurdenun vom Client durch eine DNS Anfrage ein aktiver Peer gefunden, so kanndieser fur weitere Zugangsinformationen11 kontaktiert werden. Problematischist dieser Ansatz aber offensichtlich, da DDNS Adressen auch geandert wer-den konnen, auch wenn sie noch gultig und erreichbar sind. Deswegen mussenfur dieses Verfahren mehrere DDNS Server zur Verfugung stehen um eineAusreichende Sicherheit zu gewahrleisten.

3.4.3 Kontrolliertes Fluten

Existiert ein großes Overlay Netzwerk kann durch kontrolliertes Fluten einPeer gefunden werden. Da jedes Paket ein TTL-Feld12 im IP Header besitzt,wird es nach einer gewissen Zeit im Netz an einem Router verworfen. Wirddabei zufallig ein Peer angesprochen, der auf einem bestimmten Port lauscht,dann wird dieser eine Antwort senden und die Suche war erfolgreich. Diesegefluteten Pakete konnen jedoch an NAT und Firewalls scheitern und fuhrenbei ublichen Overlay Großen13 selten zum Erfolg. Eine weitere Moglichkeitware IP-Multicasting mit steigender TTL zu verwenden. Da aber im Inter-net die Anzahl multicastfahiger Provider unter funf Prozent liegt, ist dieseLosung in IPv4-Netzwerken nicht erfolgversprechend.

10Dynamisches Domain Name System11zum Beispiel aktuelle Liste aktiver Peers/Superpeers12Das Time-to-live Feld gibt an, wieviele IP Router das Paket passieren darf bevor es

verworfen wird13ca. 9,2 Millionen Peers bei Skype

10

Page 12: Vergleich aktueller Peer-to-Peer-Netzwerkemidas1.e-technik.tu-ilmenau.de/~webkn/Abschlussarbeiten/...eine Firewall kon guriert sind. Die Anwedung muss nun feststellen, welcher Fall

4 Sicherheit und Stabilitat in P2P-Netzwerken

4 Sicherheit und Stabilitat in P2P-Netzwerken

Wenn man von Sicherheit in Peer-to-Peer Netzen spricht, dann muss mandabei immer zwischen Netzsicherheit und Nutzersicherheit differenzieren. DieSicherheit und die Robustheit eines Netzes hangt maßgeblich von der Ar-chitektur und den Kommunikationsprotokollen ab. So ist zum Beispiel einGnutella Netzwerk viel Resistenter gegen den Ausfall von Peers als andereNetze mit festgelegten Topologien. Fallen bei einer linearen Datenstrukturzu viele Peers aus, kann es sein dass das Netzwerk in einen inkonsistentenZustand gerat und nur durch einen hohen Aufwand wieder stabilisiert werdenkann. Ebenso konnen aber auch gezielte Angriffe gegen Peers oder gegen dasgesamte Netzwerk stattfinden. Eine Denial-of-Service Attacke ware gegenzentrale Authentifizierungsinstanzen denkbar, oder das gesamte Netzwerkkonnte durch ein dauerhaftes Fluten von Suchanfragen lahmgelegt werden.Bei Problem dieser Art geht man folgendermaßen vor, um ein Peer-to-PeerNetzwerk zu schutzen:

• Suchtiefe und Menge der Suchanfragen begrenzen

• Vollstandige Vermeidung zentraler Instanzen oder

• Peers mit Sonderfunktionen redundant konzipieren

• intelligente Uberwachungssysteme, die Angreifer ausschließen

Da ein Peer-to-Peer Netzwerk meist als Overlay auf dem Internet aufsetzt,bewegt man sich als Teilnehmer grundsatzlich in einem gefahrlichen Umfeld,welches fur jedermann zuganglich ist und standardmaßig keine Sicherheit-en bietet. Um eine gewisse Sicherheit des Benutzers eines P2P Netzes zugewahrleisten mussen vorallem folgende Kriterien erfullt sein:

• Vollstandige Anonymitat

• Verschlusselte Datenubertragung

• Datenauthentizitat

• Zugangskontrolle

• standige Verfugbarkeit

Dem Teilnehmer muss jedoch immer bewusst sein, dass er sich in einem of-fenen Netz bewegt und unter Umstanden auch Services oder Dateien zurVerfugung stellt, die nicht immer genau zu dem vorgesehenen Zweck genutzt

11

Page 13: Vergleich aktueller Peer-to-Peer-Netzwerkemidas1.e-technik.tu-ilmenau.de/~webkn/Abschlussarbeiten/...eine Firewall kon guriert sind. Die Anwedung muss nun feststellen, welcher Fall

4 Sicherheit und Stabilitat in P2P-Netzwerken

werden. Aus diesem Grund ist es vorteilhaft nur einer bestimmten Menge ver-trauenswurdiger Peers den Zugriff auf erweiterte Funktionalitaten zu ermoglichen.Durch den Zusammenschluss zu einer Peergruppe ist es moglich, innerhalbdieser Gruppe ein anderes Rechtemanagement zu benutzen und auch denZugang zur Gruppe selbst einzuschranken und zu kontrollieren. [3]

12

Page 14: Vergleich aktueller Peer-to-Peer-Netzwerkemidas1.e-technik.tu-ilmenau.de/~webkn/Abschlussarbeiten/...eine Firewall kon guriert sind. Die Anwedung muss nun feststellen, welcher Fall

5 Einsatzmoglichkeiten

5 Einsatzmoglichkeiten

Wie auch das Internet, stellt ein Peer-to-Peer Netzwerk eine vollstandigeKommunikationsinfrastruktur auf Anwendungsebene zur Verfugung und kannsomit fur verschiedenste Dienste und Aufgaben genutzt werden. Die flexiblenProtokolle und Datenstrukturen machen die Overlay Netze robust gegen An-griffe und schaffen Dezentralisierung.

5.1 File-Sharing

Uber kaum eine Sache wird mehr in den Medien diskutiert als die illegaleNutzung der Filesharing-Funktionalitat in Peer-to-Peer Netzen. Dabei mussjedoch erwahnt werden, dass viele Projekte uberhaupt erst durch Fileshar-ing einer großen Nutzergemeinde zuganglich gemacht werden konnen. AlsBeispiel sollen hier einige Formen genannt werden:

• Verbreitung von kleinen Linux Distributionen

• Softwareprojekte ohne große Serverkapazitaten

• Publikation lizenzfreier Medien (Musik, Video)

Aufgrund hoher Kosten fur Internet Traffic konnen sich vorallem kleine Pro-jekte kaum etablieren, wenn sie zur Bereitstellung eines Downloads eineneigenen Webserver mit beschranktem monatlichem Transfervolumen hatten.Eine Publikation eines Links auf eine Datei in einem Peer-to-Peer Netzwerkist hingegen einfach und bringt einen guten Nebeneffekt mit sich. Je mehreine Datei im Netzwerk nachgefragt wird, umso großer ist die Zahl jener, diediese Datei anbieten.

5.2 Voice-over-IP

Mit dem Aufkommen von Skype erlebte die VoIP-Telefonie eine starke Erhohungder Teilnehmerzahlen auf mittlerweile uber 10 Millionen Nutzer weltweit,allein im Skype-Netzwerk. Der dabei erzeugte Traffic ist viel zu groß um ihndauerhaft uber feste Server zu schicken. Deshalb kommt fur die großflachigeAbdeckung von VoIP Diensten auch ein Peer-to-Peer Ansatz zum tragen, beidem nur noch einzelne Kernfunktionen auf zentralen Servern laufen. DieseKernfunktionen sind zum Beispiel: Sicherheitsfunktionen, Zugangskontrolle,Accounting und Messaging. Aktuell gibt es schon diverse Anbieter, die kom-plett auf Festnetztelefonie verzichten und ihren Kunden uber gewisse QoS14

14Quality of Service Funktionen, Priorisierung, Traffic Shaping

13

Page 15: Vergleich aktueller Peer-to-Peer-Netzwerkemidas1.e-technik.tu-ilmenau.de/~webkn/Abschlussarbeiten/...eine Firewall kon guriert sind. Die Anwedung muss nun feststellen, welcher Fall

5 Einsatzmoglichkeiten

Funktionen im DSL-Zugangsrouter eine stabile VoIP-Umgebung anbieten.[2]

5.3 Informationsaustausch

Da es in der heutigen Zeit leider immernoch Lander auf dieser Welt gibt,die sehr starke Restriktionen in Bezug auf freie Meinungsaußerung und Ver-breitung von Informationen vorgeben, gibt es Bestrebungen einen Informa-tionsaustausch auf der Basis von Peer-to-Peer Systemen aufzubauen. Einerder bekanntesten Vertreter hierfur ist Freenet, entwickelt von Ian Clarke undaktuell in Version 0.7 auch als Derivat ”Freenet-China“ im Einsatz. DiesesNetzwerk ermoglicht die Bereitstellung von Inhalten ahnlich dem WWW,wobei jeder Peer einen kleinen Speicherbereich seiner Festplatte fur Freenetreserviert und somit eine Serverfunktion wahrnimmt. Das beliebteste Mittelder Kommunikation stellen sogenannte Freenet-Blogs ”Flogs“ dar.

5.4 Peer-to-Peer in MMORPG

Ahnlich erfolgreich wie die Telefonie uber Skype ist beispielsweise das MMORPG15-Spiel ”World of Warcraft“. Nie zuvor gab es gleichzeitig mehr aktive Accountsals bei diesem Spiel. Mit aktuell fast 11 Millionen Spielern16 erzeugt es einHochstmaß an Serverkapazitaten und Verwaltungsaufwand. Dabei hat eineinzelner Server zu Spitzenzeiten bis zu 2300 Clients zu verwalten. Um dasPrinzip der riesigen Serverfarmen zu optimieren soll auf der Basis von Peer-to-Peer Kommunikation ein Ansatz entwickelt werden, um einen Großteil deraufzuwendenden Ressourcen einzusparen. Spieler, die online direkt miteinan-der kommunizieren und agieren, sollen in einer Peergruppe zusammengefasstwerden und so eine direkte Kommunikation untereinander aufbauen konnen.Die Server wurden somit nur noch administrative Aufgaben ubernehmen unddie Kosten sowie die Latenzzeiten konnen optimiert werden.

15Massive Multiplayer Online Role Playing Game1610.7 Millionen, Tendenz steigend

14

Page 16: Vergleich aktueller Peer-to-Peer-Netzwerkemidas1.e-technik.tu-ilmenau.de/~webkn/Abschlussarbeiten/...eine Firewall kon guriert sind. Die Anwedung muss nun feststellen, welcher Fall

6 Technische Realisierungen

6 Technische Realisierungen

6.1 JXTA

JXTA ist ein Framework zur Entwicklung von Peer-to-Peer basierten Anwen-dungen. Ziel ist es, eine Standardisierung zukunftiger Projekte in Bezug aufeinen Open Source Protokollstapel zu erreichen. Dabei muss der Program-mierer sich nicht mehr mit grundlegenden Problemen von Peer-to-Peer Net-zwerken auseinandersetzen, sondern bekommt eine festgelgte Schnittstelle17

zu den Funktionen einer verteilten Anwedung. Das JXTA Projekt obliegt seitder Veroffentlichung im Jahre 2001 der Administration von SUN Microsys-tems und wird mittlerweile von einer großen industriellen und akademischenGemeinschaft weiterentwickelt. Die JXTA Protokolle sind der eigentlicheKern des Frameworks. Dabei spielt es keine Rolle welche Infrastruktur wer-wendet wird.[1]

Abbildung 3: JXTA Architektur [1]

17IETF Standardisierung wird angestrebt

15

Page 17: Vergleich aktueller Peer-to-Peer-Netzwerkemidas1.e-technik.tu-ilmenau.de/~webkn/Abschlussarbeiten/...eine Firewall kon guriert sind. Die Anwedung muss nun feststellen, welcher Fall

6 Technische Realisierungen

6.2 Gnutella

Gnutella wurde im Marz 2000 von Justin Frankel als erste Beta Versionveroffentlicht und ist seitdem zu einem der popularsten Vertreter von Peer-to-Peer Netzen aufgestiegen. Das Overlay Netzwerk unterliegt in keiner Weiseeiner geordneten Struktur. Alle Peers sind gleichwertig und unterhalten einigewenige Verbindungen zu Nachbarpeers. Eine Suche im Netzwerk wird uberkontrolliertes Fluten der Suchanfragen an die Nachbarknoten erreicht, wobeies ein Time-to-live Attribut verhindert, dass das Netz mit Anfragen uberlastetwird. Ein Schnappschuss eines Gnutella Netzwerks ist in der folgenden Grafikzu sehen. Ab November 2002 wurde dann eine Weiterentwicklung des Pro-

Abbildung 4: Snapshot Gnutella Netzwerk

tokolls unter dem Namen Gnutella2 von Michael Stokes bekannt gegeben. Diegravierendste Anderung an der Architektur war die Einteilung aller Knotenin Leaves (Blatter) und Hubs. Leaves unterhalten dabei nur eine oder wenigeVerbindungen zu Hubs und richten auch ihre Suchanfragen an diese. Hubshaben Verbindungen zu Hunderten von Leaves und auch zu vielen anderenHubs. Wird nun eine Suchanfrage von einem Peer (Leaf) gemacht, so schaut

16

Page 18: Vergleich aktueller Peer-to-Peer-Netzwerkemidas1.e-technik.tu-ilmenau.de/~webkn/Abschlussarbeiten/...eine Firewall kon guriert sind. Die Anwedung muss nun feststellen, welcher Fall

6 Technische Realisierungen

der Hub zuerst nach ob einer seiner eigenen Leaves das gesuchte Datum be-sitzt. Ist dies nicht der Fall reicht er die Suchanfrage weiter an andere Hubs.Ein Hub verwaltet somit eine große Datenbank der Dateien, die seine Leavesbereithalten. Dieses Prinzip der Netzwerkstruktur erhoht die Performanz desNetzes und vermindert das aufkommende Datenvolumen um ein vielfaches,da nicht mehr im Netzwerk geflutet werden muss.

6.3 Pastry

Pastry wurde von Antony Rowstron und Peter Druschel vom Microsoft Re-search Lab entwickelt. Im Vordergrund standen vorallem:

• Dezentralitat

• Fehlertoleranz

• Skalierbarkeit

• Anpassung an das Underlay Netzwerk

Pastry nutzt wie auch einige andere Netzwerke die Datenstruktur der ”Verteil-ten Hash Tabellen18” zum Finden von Dateien. Dabei wird jeder Datei, sowiejedem Peer ein eindeutiger Hashwert von 0 bis 2128−1 zugeordnet. Es existiertsomit eine lineare Datenstruktur (ein Ring), der zu durchsuchen ist. EinPeer ist genau fur die Dateien verantwortlich die zwischen ihm und seinemVorganger auf dem Ring liegen. Bei einer Suche bildet ein Peer einfach denHashwert seiner zu suchenden Datei. Zuerst wird uberpruft ob dieser Peerselbst fur diese Datei verantwortlich ist. Falls nicht reicht er seine Anfrage anseine Nachbarn weiter, die naher am gesuchten Hashwert liegen. Eine Suchan-frage wird so automatisch durch das Netz propagiert, bis man einen Peer er-reicht, dessen Hashwert großer ist als der, der gesuchten Datei. Wurde dieserverantwortliche Peer gefunden kann er sich beim suchenden Peer meldenund ihm die Informationen zukommen lassen. Um einem Zerfall des Ringesin zwei Teile vorzubeugen, kennt jeder Peer nicht nur seine Nachbarn, son-dern besitzt auch noch sogenannte ”Finger-Zeiger“. Fallen nun unerwartetmehrere Peers aus, so kann immernoch eine konsistente Suche auf dem Ringgewahrleistet werden. Um schnellere Suchanfragen zu erreichen, werden dieFinger-Zeiger auch verwendet um mit einer Anfrage naher an die gesuchteDatei zu springen und nicht sequenziell auf dem Ring zu suchen. Betritt einneuer Peer das Netzwerk, so wird er in den Ring aufgenommen und anhandseines Hashwertes positioniert. Verlasst ein Peer das Netz, ubernimmt sein

18Distributed Hash Tables (DHTs)

17

Page 19: Vergleich aktueller Peer-to-Peer-Netzwerkemidas1.e-technik.tu-ilmenau.de/~webkn/Abschlussarbeiten/...eine Firewall kon guriert sind. Die Anwedung muss nun feststellen, welcher Fall

6 Technische Realisierungen

Abbildung 5: Suchanfrage in einer DHT Datenstruktur

direkter Nachfolger auf dem Ring die Aufgaben. Aufgrund dieser besonderenDatenstruktur ist es moglich jede Datei in einem Netzwerk zu finden, auchwenn sie nur ein einziges Mal vorhanden ist.[5]

18

Page 20: Vergleich aktueller Peer-to-Peer-Netzwerkemidas1.e-technik.tu-ilmenau.de/~webkn/Abschlussarbeiten/...eine Firewall kon guriert sind. Die Anwedung muss nun feststellen, welcher Fall

7 Fazit

7 Fazit

Peer-to-Peer Netzwerke spielen auch in der heutigen Kommunikationswelteine große Rolle und sind im Hinblick auf ein stetig wachsendes Datenaufkom-men im Internet eine gute Alternative zur klassischen Client-Server-Architektur.Ob fur Dateitransfer, Videostreaming oder Voice-over-IP-Telefonie - Die ver-schiedensten Formen und Protokollvarianten fur den Aufbau eines Over-lay Netzes ermoglichen eine freie Auswahl der optimalen zu Grunde liegen-den Technologie. Fur die Entwicklung verteilter Anwendungen stehen offeneProtokolle und Frameworks zur Verfugung, die es ermoglichen ohne großenAufwand eine Applikation auf einem Peer-to-Peer Protokollstapel zu entwick-eln. Auch im Bereich der verteilten Datenhaltung (verteilte Dateisysteme)kommen heutzutage Protokolle wie Pastry zum Einsatz, die sich aufgrundvon effizienten und stabilen Algorithmen als sehr gut skalierbar und per-formant erwiesen haben. So lasst sich also vermuten, dass in nachster Zeitnoch viel Forschungsarbeit in diesem Bereich geleistet wird, denn nicht nurdie Forschung, sondern auch die Wirtschaft zeigt großes Interesse an denErgebnissen dieser Arbeit.

19

Page 21: Vergleich aktueller Peer-to-Peer-Netzwerkemidas1.e-technik.tu-ilmenau.de/~webkn/Abschlussarbeiten/...eine Firewall kon guriert sind. Die Anwedung muss nun feststellen, welcher Fall

8 Erklarung

8 Erklarung

Die vorliegende Arbeit habe ich selbststandig ohne Benutzung anderer als derangegebenen Quellen angefertigt. Alle Stellen, die wortlich oder sinngemaßaus veroffentlichten Quellen entnommen wurden, sind als solche kenntlichgemacht. Die Arbeit ist in gleicher oder ahnlicher Form oder auszugsweiseim Rahmen einer oder anderer Prufungen noch nicht vorgelegt worden.

Ilmenau, den 10. 07. 2008 Rene Golembewski

20

Page 22: Vergleich aktueller Peer-to-Peer-Netzwerkemidas1.e-technik.tu-ilmenau.de/~webkn/Abschlussarbeiten/...eine Firewall kon guriert sind. Die Anwedung muss nun feststellen, welcher Fall

Literaturverzeichnis

Literaturverzeichnis

[1] Wikipedia: http://de.wikipedia.org/wiki/jxta.

[2] Salman A. Baset and Henning G. Schulzrinne. An Analysis of the SkypePeer-to-Peer Internet Telephony Protocol. IEEE Magazine, ColumbiaUniversity, 2006.

[3] Peter Mahlmann. Peer-to-Peer Netzwerke. Springer, eXamen.press, 2007.

[4] RFC3489. STUN - Simple Traversal of User Datagram Protocol (UDP)Through Network Address Translators (NATs). IETF, 2003.

[5] Antony Rowstron and Peter Druschel. Pastry: Scalable, decentralizedobject location and routing for large-scale peer-to-peer systems. MicrosoftResearch, 2001.

21