Смекни!
smekni.com

File Sharing Systems Essay Research Paper Universitt (стр. 1 из 4)

File Sharing Systems Essay, Research Paper

Universit?t St. Gallen

Hochschule f?r Wirtschafts-

Rechts- und Sozialwissenschaften

ITM / MCM

Wahlteil Neue Medien / Medienarchitektur

Prof. Dr. Beat Schmid

FILE SHARING SYSTEME

P2P

Von Philipp Brunner

Hans Geiser

Roman H?gg

Stefan Kress

Beat Meier

Olivier Salamin

Abgabetermin: 5. Dezember 2000

Inhaltsverzeichnis

Einf?hrung Seite 3

1. Theoretische Grundlagen 3

1.1. Netzarchitekturen 3

1.1.1. Client Server 3

1.1.2. Peer to Peer 4

1.1.3. Verzeichnisserver 4

1.2. Netzwerkprotokolle / TCP/IP 4

1.2.1. Transmission Internet Protocoll 4

1.2.2. Internet Protocoll 5

1.2.3. TCP/IP ist das Internet 6

1.2.4. IP ? Adressierung 6

1.3. Proxyserver 7

2. Fallbeispiele 8

2.1. MP3 8

2.1.1. Allgemeine Aspekte 8

2.1.2. Technische Aspekte 8

2.1.3. Wirtschaftliche Aspekte 9

2.1.4. Konklusion / Extrapolation 9

2.2. Napster 10

2.2.1. Allgemeine Aspekte 10

2.2.2. Technische Aspekte 10

2.2.3. Wirtschaftliche Aspekte 11

2.2.4. Konklusion / Extrapolation 12

2.3. Gnutella 13

2.3.1. Allgemeine Aspekte 13

2.3.2. Technische Aspekte 13

2.3.3. Wirtschaftliche Aspekte 14

2.3.4. Konklusion / Extrapolation 14

2.4. Freenet 15

2.4.1. Allgemeine Aspekte 15

2.4.2. Technische Aspekte 15

2.4.3. Wirtschaftliche Aspekte 16

2.4.4. Konklusion / Extrapolation 16

2.5. Mojonation 17

2.5.1. Allgemeine Aspekte 17

2.5.2. Technische Aspekte 17

2.5.3. Wirtschaftliche Aspekte 18

2.5.4. Konklusion / Extrapolation 19

3. Neue Problematiken / Denkanst?sse 19

3.1. Staat 19

3.2. Juristik 20

3.3. Kriminalit?t / Cyber Terrorismus 20

3.4. Vom gl?sernen B?rger zum gl?sernen Kunden 20

4. Konklusion / Extrapolation 21

4.1. Ausblick: Groovenet 21

4.2. P2P Prognosen 21

4.3. Trendabsch?tzung 22

Anhang I

Literaturverzeichnis I

Abbildungsverzeichnis I

URLs I

CD ? Rom I

Einf?hrung Die als weitgehend institutionalisiert geglaubten, auf Client ? Server ? Modellen basierenden Kommunikationsstrukturen des Internet unterziehen sich zurzeit einem rasanten Wandel, dessen Konsequenzen das Internet und seine Community wieder zu ihren Wurzeln archaischer wie auch basisdemokratischer Verst?ndigung f?hren k?nnte.

Client ? Server ? Modelle, synonym f?r kostenintensive Infrastruktur, Wartung und Bedienung wie aber auch f?r leichte Kontrolle und somit problemlose Einbindung in bestehende Gesch?ftsmodelle der Old Economy, scheinen zurzeit vom Organismus Internet wie ein systemfremdes Bakterium abgestossen zu werden.

Tats?chlich liess der als zentral zu wertende Bereich der Kommunikationsformen als Basis jedweder Verst?ndigung bisher stark Attribute wie Innovationskraft, wie Wandel und Dynamik vermissen.

Innovative File ? Sharing ? Systeme wie namentlich Peer to Peer Modelle (P2P) beginnen zunehmend am althergebrachten Diktat der Client ? Server ?Systeme zu r?tteln, werden wom?glich diese Mauern innerhalb k?rzester Zeit zum Einsturz bringen.

Begleitet vom Hauch des Illegalen, des Subversiven, haben sich diese Modelle mittels einiger Protagonisten dieser Entwicklung (Napster, Gnutella etc.) einen breiten Zuspruch der Internet Community erk?mpft.

Peer ? gleichgestellt; ungleich der hierarchischen (und somit der Grundideologie des Internet quasi systemfremden) Ordnung der Client ? Server ? Systeme agieren bei der P2P Kommunikation alle teilnehmenden Rechner als Client wie auch als Server. Dieses relativ trivial anmutende Prinzip erm?glicht somit die effizente (effizienteste?!) Aufteilung aller technischen Ressourcen wie Speicherkapazit?t, Rechnerleistung und Bandbreite.

Es erstaunt nicht, dass die Exponenten der Old Economy mit einer auf Tausch (sprich: geben und nehmen) basierenden Kommunikationsform M?he bekunden, zumal es noch nicht gelungen ist, dieses Konzept ungeachtet seines Erfolges in bestehende Business ? Modelle einbinden zu k?nnen.

Die vorliegende Arbeit verfolgt die Zielsetzung, dem unkundigen Leser mittels eines deduktiven und ganzheitlichen Ansatzes ein Bild der aktuellen Kommunikationsformen des Internet zu vermitteln. Gem?ss dieser Motivation sollen in einem ersten Schritt die theoretischen Grundlagen f?r ein besseres Verst?ndnis der in einem zweiten Schritt folgenden Fallbeispiele geschaffen werden. Um dem angedeuteten ganzheitlichen Ansatz Rechnung zu tragen, werden in einem dritten Schritt im Sinne von Denkanst?ssen soziale, wirtschaftliche, juristische etc. Aspekte diskutiert. Die Arbeit m?ndet schliesslich in einer Konklusion, einer Beurteilung und m?glichen Extrapolation der Gegenwart seitens der Autoren.

Es wurde bewusst auf eine intensive Illustrierung der Arbeit verzichtet, um eine h?chstm?gliche Informationsdichte und somit einen inhaltlich maximalen Mehrwert zugunsten des Lesers zu gew?hren. In Bezug auf eine detaillierte Illustrierung sei an dieser Stelle auf die der Arbeit im Sinne eines Anhangs beigelegten CD ? Rom verwiesen, welche nebst den zitierten Quellen eine umfangreiche Daten- und Programmsammlung beinhaltet.

1. Theoretische Grundlagen

1.1. Netzarchitekturen

1.1.1. Client-Server Zu Beginn der Computer?ra war sowohl Rechenleistung als auch Speicherplatz stark beschr?nkt und sehr teuer. Gerade aber diese beiden Faktoren machten den Vorteil maschineller Informationsverarbeitung aus und deswegen wurden verschiedene Konzepte entwickelt, die vorhandenen Ressourcen m?glichst effizient zu nutzen.

Man ging in der Regel von einer zentralen Rechenmaschine aus, welche sowohl die Berechnungen ausf?hrte als auch alle Informationen speicherte. Daneben existierten ?dumme? Terminals, welche auf diese Ressourcen zur?ckgreifen konnten. Aus dieser hierarchischen Struktur wurde die Bezeichnung des Client-Server-Modells abgeleitet, welche somit das ?klassische? Netzwerkmodel darstellt.

1.1.2. Peer-to-Peer Mit zunehmender Weiterentwicklung der Computer wurde es nun aber auch m?glich, die Terminals intelligenter werden zu lassen und schlussendlich ganz von ihren Servern zu l?sen. Daraus entstand der klassische Desktop-Computer, welcher als Einzelarbeitsplatzsystem dem Benutzer nun alle Vorteile der maschinellen Informationsverarbeitung direkt bieten konnte, so dass dieser nicht mehr darauf angewiesen war, eine Verbindung zu einem Server zu haben. F?r kleinere Arbeitsstrukturen war es aber sinnvoll, die einzelnen Desktops miteinander zu verbinden. Daraus leitete sich das Peer-to-Peer (P2P)-Modell ab.

1.1.3. Verzeichnisserver In der zunehmenden Informationsflut sowie einer enorm wachsenden Zahl von Peers wurde es aber immer schwieriger, alle spezifischen Informationen auf allen angeschlossenen Netzteilnehmern zu suchen. Die L?sung f?r dieses Problem fand sich in der Idee der Verzeichnisserver, welche ausschliesslich als ?Inhaltsverzeichnis? des grossen Netzverbundes fungierten.

Diese drei Modelle dienen als Grundlage und k?nnen beschr?nkt beliebig skaliert werden. Auf der tiefsten Ebene befindet sich ein LAN (Local Area Network), welches i.d.R. Computer innerhalb eines Geb?udes oder Geb?udekomplexes miteinander verbindet. Die n?chst h?here Stufe ist das WAN (Wide Area Network), welches verschiedene lokale Netze zu einem grossen Ganzen verbindet. Schlussendlich findet sich das GAN (Global Area Network), wie es das Internet darstellt.

1.2. Netzwerkprotokolle / TCP/IP

TCP/IP ist eine Gruppe von zwei unterschiedlichen Protokollen auf unterschiedlichen Ebenen des OSI-Referenzmodelles. TCP (Transmission Control Protocol) ist ein Protokoll der 4. Schicht (Transportschicht), IP (Internet Protocol) befindet sich in der 3. Schicht (Vermittlungsschicht).

TCP/IP gew?hrleistet den Auf- und Abbau der Verbindung zwischen Sender und Empf?nger und sorgt f?r die korrekte Adressierung der Information und deren Aufteilung in einzelne Datenpakete.

1.2.1. Transmission Control Protocol TCP ist eines der Hauptprotokolle des Internet. Es vereinfacht solch hochsensible Aufgaben wie die ?bertragung von Dateien und entfernte Arbeitssitzungen. Die Arbeitsweise von TCP wird als zuverl?ssige ?bertragung bezeichnet. In dieser Hinsicht unterscheidet sich TCP von anderen Protokollen der Protokollfamilie, die als unzuverl?ssig gelten und keine Garantie ?bernehmen, dass die Daten in der gleichen Reihenfolge und dem gleichen Zustand ankommen, in der bzw. dem sie abgesandt wurden. Das TCP-System verl?sst sich auf eine virtuelle Verbindung, die zwischen dem anfragenden und dem Ziel-Rechner etabliert wird. Diese Verbindung wird durch einen dreiteiligen Prozess ge?ffnet, der oft auch als ?three-part-handshake? bezeichnet wird. In der Regel folgt der Prozess dem in Abbildung 4 gezeigten Muster.

Nach ?ffnen der Verbindung k?nnen die Daten simultan in beide Richtungen reisen, was auch als Vollduplex-?bertragung bezeichnet wird. So k?nnen auch w?hrend einer Daten?bertragung (oder einer anderen entfernten Arbeitssitzung) eventuell auftretende Fehler an den anfragenden Rechner ?bertragen werden.

TCP stellt umfangreiche Funktionen zur Fehler?berpr?fung zur Verf?gung. F?r jedes gesendete Datenpaket wird ein numerischer Wert generiert. Die zwei Rechner identifizieren jedes ?bertragene Datenpaket anhand dieses numerischen Wertes. F?r jedes erfolgreich ?bertragene Paket sendet der Empf?nger eine Nachricht an den Absender, dass die ?bertragung erfolgreich war.

Im Gegensatz dazu k?nnen bei nicht erfolgreicher ?bertragung zwei Dinge passieren:

- Der anfragende Rechner erh?lt eine Fehlermeldung

- Der anfragende Rechner erh?lt nichts

Nach Empfang einer Fehlermeldung werden die Daten erneut ?bertragen, ausser wenn es sich um einen schweren Fehler handelt. In diesem Fall wird die ?bertragung gew?hnlich unterbrochen. Ein typisches Beispiel f?r einen schweren Fehler ist z. B. ein Zusammenbrechen der Verbindung.

Ganz ?hnlich dazu werden die Daten ebenfalls erneut ?bertragen, wenn innerhalb eines bestimmten Zeitraums keine Best?tigung empfangen wird. Dieser Prozess wird solange wiederholt, bis die ?bertragung oder die entfernte Arbeitssitzung abgeschlossen ist.

1.2.2. Internet Protocol IP geh?rt zur Netzwerkschicht und ist f?r die ?bertragung von Datenpaketen f?r alle Protokolle der TCP/IP-Protokollfamilie verantwortlich. IP stellt damit das Herz dieses unglaublichen Prozesses dar, mit dem Daten das Internet durchqueren. Abbildung 5 zeigt ein kleines Modell eines IP-Datagramms, das diesen Prozess erkl?rt.

Wie in der Abbildung gezeigt, besteht ein IP-Datagramm aus mehreren Teilen. Der erste Teil, der Reader (Kopfzeile), besteht aus verschiedenen Elementen, u.a. den IP-Adressen des Absenders und des Empf?ngers. Zusammen formen diese Elemente einen kompletten Reader. Der restliche Teil des Datagramms enth?lt die jeweils zu versendenden Daten.

Das erstaunliche am Internet Protocol ist folgendes: Datagramme k?nnen w?hrend ihrer Reise fragmentiert und sp?ter beim Empf?nger wieder zusammengesetzt werden (auch wenn sie nicht in der gleichen Reihenfolge ankommen, in der sie abgesandt wurden).

Ein IP-Datagramm enth?lt noch weitere Informationen, z.B. die Identit?t des gerade benutzten Protokolls, eine Reader-Pr?fsumme und eine Time-to-Live-Spezifikation. Diese Spezifikation ist ein numerischer Wert. W?hrend das Datagramm durch das Internet reist, wird dieser numerische Wert st?ndig vermindert. Wenn er schliesslich null erreicht, wird das Datagramm verworfen. Viele Paket-Typen haben Time-to-Live-Limitationen. Einige Netzwerk-Utilities (wie Traceroute) benutzen das Time-to-Live-Feld als eine Markierung f?r Diagnose-Routinen.

Zusammenfassend kann die Funktion von IP auf folgendes reduziert werden: Es dient der ?bertragung von Datenpaketen ?ber das Internet.

1.2.3. TCP/IP ist das Internet Inzwischen sollte es offensichtlich sein, dass TCP/IP im Grunde genommen das Internet selbst umfasst. Es ist eine komplexe Sammlung von Protokollen, viele davon f?r den Benutzer unsichtbar. Auf den meisten Internet-Servern k?nnen alle der folgenden Netzwerkprotokolle laufen:

- Transmission Control Protocol (TCP)

- Internet Protocol (IP)

- Internet Control Message Protocol (ICMP)

- Address Resolution Protocol (ARP)

In der Anwendungsebene gelten die folgenden Protokolle als Standard:

- File Transfer Protocol (FTP)

- Telnet Protocol (Telnet)

- Gopher Protocol

- Network News Transfer Protocol (NNTP)

- Simple Mail Transfer Protocol (SMTP)

- Hypertext Transfer Protocol (HTTP)

Dies ist nur eine Handvoll der Protokolle, die im Internet laufen. Tats?chlich gibt es Hunderte dieser Protokolle. Mehr als die H?lfte der Implementierungen der wichtigsten Protokolle hatten schon ein oder mehrere Sicherheitsl?cher.

Folgender Punkt ist wesentlich: Das Internet wurde als ein System mit vielfachen Kommunikationswegen entwickelt. Jedes Protokoll stellt einen dieser Wege dar. An sich gibt es also hunderte von Wegen, um Daten ?ber das Internet zu bewegen.

1.2.4. IP-Adressierung Grunds?tzlich werden beim Internet Protocol nur Computer (Hosts) adressiert. M?glicherweise mag das Datenpaket zwar weitere Angaben, wie z. B. den Adressaten einer E-Mail, enthalten – das interessiert die IP-Schicht jedoch nicht. Diese ist nur daf?r zust?ndig, Datenpakete von einer Maschine im Netz zu einer anderen zu schaffen. Normalerweise wird die Zielmaschine das Paket dann genauer untersuchen, um herausfinden, was im einzelnen zu tun ist (und die Nutzdaten z. B. als Nachricht in der Mailbox eines bestimmten Benutzers abzulegen). Eine Analogie: Wenn Sie die zentrale Telefonnummer einer grossen Firma w?hlen, dann erreichen Sie gew?hnlich nicht direkt die Person, mit der Sie sprechen wollen. Das Gespr?ch kann aber von der Gegenstelle leicht an die korrekte Nebenstelle weitervermittelt werden. Wichtig ist, dass Sie unter einer zentralen Nummer, wenn auch indirekt, jeden Mitarbeiter erreichen k?nnen.

Jeder einzelne Host im Internet (man sch?tzt ?brigens, dass Ende 1996 ?ber 10 Millionen Computer online waren) erh?lt als IP-Adresse einen eindeutigen Zahlenwert, sozusagen seine Hausnummer in der Internet-Strasse. Diese Nummer l?sst sich entweder als eine etwas l?ngliche 32-Bit-Zahl ausdr?cken, oder, f?r uns Normalsterbliche etwas ?bersichtlicher, als vier separate Werte zwischen 0 und 255 (also vier Byte a acht Bit, diese Einheit wird im Internet manchmal auch als Oktett bezeichnet). Diese zweite Schreibweise hat sich im Net durchgesetzt, so dass eine IP-Adresse etwa so aussehen kann: 194.23.45.127. Die vier Byte werden einfach durch Punkte voneinander getrennt. (Im IP-Header taucht die Adresse nat?rlich als Folge von 32 Bit auf).

Wenn nun Host A ein Paket an Host B mit der Adresse 194.23.45.127 senden will, dann reicht es vollkommen aus, einen IP-Header mit dieser Adressangabe zu versehen und ihn mitsamt den Nutzdaten ins Netz zu entlassen. Da jeder Rechner im Netz seine eigene, unverwechselbare Hausnummer hat, kann er von jeder anderen Maschine im Netz adressiert werden. Und durch das automatische Routing findet das Paket quasi selbstst?ndig seinen Weg und kommt ordnungsgem?ss bei Host 194.23.45.127 an (meistens). Nat?rlich gibt es dabei noch einige Feinheiten zu beachten, aber im Grossen und Ganzen ist dieses Verfahren wirklich so genial einfach. Zwei Fragen dr?ngen sich nun aber sofort auf: Erstens, wer vergibt denn diese eindeutigen IP-Adressen, wenn es im Netz angeblich keine zentrale Autorit?t gibt? Und zweitens: Warum sieht man diese Ziffernfolgen so gut wie nie als Internet-Adressen, sondern meist Klartextnamen wie http://www.microsoft.com oder Karin.Musterfrau@t-online.de?

Zuerst die Vergabe der Adressen: Diese wird geregelt durch die sogenannten Network Information Center (NIC). Bis vor wenigen Jahren gab es nur das NIC schlechthin in den USA. Mit der steigenden Verbreitung des Internet und der explosionsartigen Zunahme der Hosts wurde es jedoch erforderlich, diese Aufgabe auf mehrere Schultern zu verteilen. Daher wurden in den wichtigsten L?ndern Non-Profit-Organisationen damit beauftragt, die Host-Registrierung und Adressvergabe durchzuf?hren oder wenigstens zu kontrollieren. Diese erhalten einen gr?sseren Block von IP-Adressen, die sie nach eigenem Gutd?nken an lokale Interessenten verteilen. In der Schweiz ist daf?r Switch in Z?rich zust?ndig. Dieses ist eine Vereinigung der wichtigsten Internet-Provider. Die Registrierung dort ist kostenpflichtig, der Betrag ist allerdings relativ niedrig.

Mit einer 32-Bit-Adresse lassen sich theoretisch ?ber 4 Milliarden Hosts ansprechen, das scheint vorderhand eine ausreichend grosse Zahl zu sein. Eine genauere Betrachtung der Struktur von IP-Adressen zeigt allerdings, dass es mit der Theorie (wie ?blich) nicht allzuweit her ist. Eine Internet Adresse wird n?mlich einer von f?nf Gruppen zugeordnet, die von A bis E klassifiziert sind (die Gruppen D und E werden zurzeit allerdings nicht allgemein verwendet). Die Gruppen A bis C sind bitweise je nach Netzwerk ? Gr?sse definiert. Dazu wird die Tatsache herangezogen, dass fast alle Hosts Bestandteil eines eigenst?ndigen Subnetzes im Internet sind. Die 32 Bit der Adresse verteilen sich f?r die drei Gruppen wie folgt:

? Die Gruppe A beschreibt sehr umfangreiche Netze: 0aaaaaaa hhhhhhhh hhhhhhhh hhhhhhhh

? Gruppe B ist f?r mittelgrosse Netze gedacht: 10bbbbbb bbbbbbbb hhhhhhhh hhhhhhhh

? w?hrend Gruppe C kleine Netze abdeckt: 110CCCCC cccccccc cccccccc hhhhhhhh

Dieses Bit-Kauderwelsch heisst im Klartext folgendes: Ein bestimmtes Teil ? Netzwerk in Gruppe A wird durch 7 Bit (aaaaaaa) identifiziert (das h?chstwertige Bit im ersten Byte ist in diesem Fall grunds?tzlich gleich 0). Innerhalb eines solchen Netzwerks sind maximal 24 Bit (hhhhhhhh hhhhhhhh hhhhhhhh) f?r die Host-Numerierung reserviert.