Sie sind auf Seite 1von 12

Patrizia Schultes 5AHBMT 2013/14

Ausarbeitung AINF

Client Server vs. Peer-to-Peer

Patrizia Schultes 5AHMBMT 2013/14

Seite 1 von 12

Patrizia Schultes 5AHBMT 2013/14

Inhaltsverzeichnis
Peer-to-Peer vs Client Server Recherche .................................................................................... 3 Sicherheit in Peer to Peer Systemen......................................................................................... 3 Charakterisierung von Peer-to-Peer-Systemen ...................................................................... 4 Beispiele fr P2P Anwendungen: ............................................................................................. 5 Verwalten einer P2P-Topologie (SQL-Server) ......................................................................... 5 Konfiguration eines Super-Peer-Netzwerks.............................................................................. 6 CLIENT SERVER................................................................................................................................. 6 Client-Server-Systeme ................................................................................................................ 7 Programmierung eines Client Servers ...................................................................................... 8 ServerSocket ................................................................................................................................... 9 Client-Server-Prinzip .................................................................................................................... 9 Socket Verbindung .................................................................................................................. 10 Verwendete Quellenangaben unzugeordnete/ zugeordnete ............................................. 11 Fragen und Aufgabenstellung ................................................................................................... 11 Umsetzung der Aufgabe: ............................................................................................................ 12 Erkenntnisse ber ...................................................................................................................... 12

Seite 2 von 12

Patrizia Schultes 5AHBMT 2013/14

Peer-to-Peer vs Client Server Recherche


Im Peer to Peer System gehren alle gleichberechtigt man spricht auf Querkommunikation. zusammen jeder ist oft von einer

In einem Peer-to-Peer-Netzwerk1 ist jeder angeschlossene Computer zu den anderen gleichberechtigt. Jeder Computer stellt den anderen Computern seine Ressourcen zur Verfgung. Das Peer-to-Peer-System wird nicht zentral gesteuert und muss sich daher selbst organisieren was fr die P2P Systeme eine groe Herausforderung darstellt. Je nach Organisationsform werden die P2P Systeme in Klassen unterteilt: unstrukturierte, strukturiere und hybride Systeme. Dabei werden grere Datenmengen in kleine Blcke zerlegt. Durch eindeutige Identifikationsnummern fr die Originaldaten und festgelegter Blockgre ist ein bestimmter Datenblock klar definiert. Der Datenblock kann von jedem Rechner bezogen werden. Peer-to-Peer-Netzwerke rentieren sich erst ab einer gewissen Anzahl von Rechnern, die die Daten auch bevorraten, da sonst ein kompletter Download oft schwierig und manchmal sogar unmglich ist. Das P2P-Netzwerk wurde aufgrund ihrer Mglichkeiten schnell ausgenutzt um urheberrechtlich geschtzte Daten zu verbreiten. Es entstanden viele Tauschbrsen, in denen geschtzte Musikstcke und auch zunehmen Filmmaterial illegal heruntergeladen wurden. Die Frage ob das gesetzlich geschtzte Daten sind oder nicht ergibt sind bei modernen P2P-Netzweke nicht mehr.

Sicherheit in Peer to Peer Systemen2


Wenn man P2P Systeme Verwendendet sollte man die Risiken kennen. Die Dezentralisierung von Ressourcen (Festplattenplatz, Bandbreite, Rechnerzeit oder die Gehirnzeit der Nutzer) sind Vorteile. Es schtzt gegen einen unfreiwilligen Ausfall zentraler Speichersystemen. In P2P Systeme werden populre Daten redundant gespeichert. Eine Zensur ist hauptschlich durch eine Sperrug des protokolltypischen Datenverkehrs mglich.

Wenn ein Rechner einem anderen mitteilt, dass dieser im Peer Gnutella-Netz ist kann diese standardisierte Abfrage vom ISP erkannt und blockiert werden. Diese Protokolle knnen bei Bedarf innerhalb von anderen versteckt werden. File Sharing Netze wie

1 2

Quelle (http://www.elektronik-kompendium.de/sites/net/0503271.htm )

Quelle Erik Mller 29.6.2001 (http://www.heise.de/tp/artikel/7/7972/1.html )

Seite 3 von 12

Patrizia Schultes 5AHBMT 2013/14

Gnutella knnen regulr als HTTPS-Traffic (eingesetzt zur verschlsselten bertraung von Webseiten) getarnt werden. Bei diesen Tarnvorgngen spricht man von steganographischen Protokollen. Dazu gehren Netze zu deren Ziele eine hohe Zensurresistenz gehrt, dort wird eine solche Tarnung des Datenverkehrs gewnscht. Die P2P Revolution hat auch Schattenseiten. Beim File Sharing bedeutet die gleichzeitige Funktion der Teilnehmer als Client zu Download und als Server zum Upload von Daten eine doppelte Verwundbarkeit bei Angriffen von auen. Hier spielt die Unbedarftheit der einzelnen Nutzer eine grere Rolle als bei Client-ServerNetzen hier werden die Server meist von geschulten Administratoren betreut, welche Anfngerfehler vermeiden knnen. Die Software sollte mit sicheren Voreinstellungen geliefert werden welche vor gefhrlichen Handlungen warnen. In der Praxis passiert oft das Gegenteil. Der Nutzer wird bei der Installation aufgefordert mglichst viele Dateien anderer Nutzer zu Verfgung zu stellen. ( Beispiel: Konsequenz knnte sein das man sogar seinen eigenen Lebenslauf unfreiwillig zur Verfgung stellt). Viruse knnen sich in den Peer verstecken er kann behaupten eine Datei paint.exe bereitzustellen, die in Wirklichkeit ein trojaisches Pferd oder ein Virus ist. Nicht zuletzt sind auch die Autoren von P2P-Software selbst nicht ganz unschuldig. Insbesondere bei dezentralen Netzen fehlt der Software oft ein tragfhiges Einnahmemodell, um Entwicklung und Unterhalt zu finanzieren. Die Autoren greifen deshalb hufig zur Verbndelung mit sogenannter "Spyware", Werbeprogramme, die im Hintergrund Banner herunterladen oder persnliche Daten aussphen.

Charakterisierung von Peer-to-Peer-Systemen3


Peers weisen eine hohe Heterogenitt auf bezglich der Bandbreite,

Rechenkraft, Online-Zeit... Die Verfgbarkeit/Verbindungsqualitt der Peers kann nicht vorausgesetzt werden Peers bieten Dienste und Ressourcen an und nehmen Dienste anderer Peers in Anspruch (Client-Server-Funktionalitt) Dienste und Ressourcen knnen zwischen allen teilnehmenden Peers ausgetauscht werden. Das P2P-System ist authonom kostengnstige Konfiguration keine zentrale Verwaltung Dezentrale/ verstreute Datensicherungen hohes Sicheheitsrisiko

Quelle (http://www.fachadmin.de/index.php/Client-Server_Prinzip#Peer-to-Peer_System)

Seite 4 von 12

Patrizia Schultes 5AHBMT 2013/14

Beispiele fr P2P Anwendungen:


BitTorrent: (Austausch von groen Dateien , wo eine hohe Redundanz erwnscht ist) CHORD / Pastry: Sehr gute Anstze fr strukturierte P2P-Systeme. Schnelles und vor allem exaktes Suchen. Andere Anwendungen fr P2P: Das Konzept der Informationsverteilung ist umgekehrt, die Daten bleiben auf den Maschinen (Smartphones, Tablets, PCs ,.) Shark( ist ein P2P System) erlaubt zu beschreiben unter welchen Bedingungen die Daten ausgetauscht werden sollen, direkt von einem Gert zu anderen das wre das P2P Konzept. Jedes Shark-Peer hat seine eigenen Daten. Ein Shark-Peer ist eine Software am Handy, PC, Dieses Shark System geht davon aus das Peers direkt miteinander kommunizieren knnen welche nur zwei Dinge austauschen: Interessen und Wissen.

Verwalten einer P2P-Topologie (SQL-Server) 4


Verwalten einer P2P-Tpoplogie ist mit dem Verwalten einer typischen Transaktionsreplikationstopologie zu vergleichen, in diesem Bereich sind einige Besonderheiten zu beachten. Der Hauptunterscheid besteht darin, dass das System aufgrund einiger nderungen in einen inaktiven Status versetzt werden muss. Um es in diesen inaktiven Status zu versetzen muss man alle Aktivitten in verffentlichten Tabellen auf allen Knoten beenden. Man muss sicherstellen das jeder Knoten alle nderungen smtlicher anderen Knoten empfangen hat. Ein Beispiel wie man einer vorhandenen Konfiguration einen Artikel hinzufgt: Das System in einen inaktiven Status versetzen Verteilungs-Agent in jedem Knoten in der Topologie beenden.

Fhen Sie die CREATE TABLE-Anweisung ausfhren, um die neue Tabelle in jedem Knoten in der Topologie hinzuzufgen. Man kopiert die Daten mithilfe des Hilfsprogramms "bcp" in einem Massenkopiervorgang fr die neue Tabelle manuell in alle Knoten. Ausfhren von sp_addarticle , um den neuen Artikel in jedem Knoten in der Topologie zu erstellen.
(TSQL)
-- Create the new table at both nodes. CREATE TABLE AdventureWorks2012.dbo.ProductTest (column1 int, Column2 int); CREATE TABLE AdventureWorks2012Replica.dbo.ProductTest (column1 int, Column2 int); GO

Quelle (http://technet.microsoft.com/de-de/library/ms146867.aspx )

Seite 5 von 12

Patrizia Schultes 5AHBMT 2013/14

Einfache Peer-to-Peer-Netze 5organisieren sich selbst, als Self Organized Networks (SON), sie arbeiten dezentral und haben keinen Server. Netzwerkbetriebssysteme fr Peer-to-Peer-Netze sind NetWare Lite, Windows for Workgroups (WFW) und die Workstation-Version von Windows NT. Peer-to-Peer-Networking eignet sich fr kleinere Arbeitsgruppen zwischen 5 und 20 Arbeitspltzen. In einer solchen Umgebung kann jeder Mitarbeiter seinen Partnern den Zugang zu Betriebsmitteln wie Festplatten oder Drucker erlauben.

Konfiguration eines Super-Peer-Netzwerks


Eine Weiterentwicklung des Peer-to-Peer-Netzes mit zentralen Serverkomponenten sind die Super-Peer-Netzwerke. In einer solchen Konfiguration werden besonders leistungsfhige Peers zu Super-Peers zusammengeschlossen, die die Serverdienste erbringen und das Netzwerk organisieren. Sie sorgen fr das Routing der Daten zu den dezentralen Clients und bilden in sich ein Backbone-Netzwerk. Im Internet gibt es diverse Super-Peer-Konfigurationen, bekannt als anarchische Netze wie Skype fr die Internettelefonie, sowie Gnutella, Kazaa und BitTorrent fr Filesharing.( wie oben erwhnt)

CLIENT SERVER
Client Server 6alle sind von Server abhngig, untereinander nicht.

Quelle (http://www.itwissen.info/definition/lexikon/Peer-to-Peer-Netz-P2P-peer-to-peer-network.html) Quelle (http://www.elektronik-kompendium.de/sites/net/0503271.htm)

Seite 6 von 12

Patrizia Schultes 5AHBMT 2013/14

Client-Server-Systeme7
Client-Server-System (Host System) wird fr Kassensysteme, Lagerverwaltung oder Buchungssysteme verwendet
Vorteile: einfache Wartung geringe Kosten fr Terminals zentrale Datensicherung keine Standortabhngigkeit geringer Bandbreitenbedarf Nachteile: Ausfall des Hosts (Server) fhrt zu Totalausfall Zeitverzgerung bei berlastung des Servers hohe Kosten fr Anschaffung des Servers

Client-Server-System (Teminal Server) wird in Schulungsrumen, Bankautomaten oder Internetcafes verwendet


Vorteile: zentrale Administration Clients haben geringere Anforderungen an Hardware geringe Kosten fr Terminals nicht an den Standort gebunden hohe Zugriffssicherheit

Nachteil : sehr hohe Kosten fr Server Ausfall des Servers = Totalausfall hoher Netzverkehr teure Zusatzsoftware

Weitere Arten von Client Server Systemen:


Client-Server-System (Server fungiert als Fileserver) Client-Server-System (Frontend/ Backend) Fr zB.: Exchange auf Server /Outlook auf Client

Quelle ( http://www.fachadmin.de/index.php/Client-Server_Prinzip#Peer-to-Peer_System )

Seite 7 von 12

Patrizia Schultes 5AHBMT 2013/14

In einem serverbasierten Netzwerk 8werden die Daten auf einem zentralen Computer gespeichert und verwaltet. Dort knnen nur eine Server-Software und Dienste ausgefhrt werden. Der Anwender betreibt auf seinem Computer Anwendungsprogramme (Client), die auf die Ressourcen des Servers auf der Anbieterseite zugreifen. Hier werden die Ressourcen zentral verwaltet, aufgeteilt und zur Verfgung gestellt. Die Client-ServerArchitektur ist die Basis fr viele Internet-Protokolle, wie HTTP fr das World Wide Web oder SMTP(Simpe mail transfer protokoll)/POP3 fr E-Mail. Der Client stellt eine Anfrage. Der Server wertet die Anfrage aus und liefert eine Antwort bzw. die Daten zurck.

Programmierung eines Client Servers


Die beiden Komponenten TServerSoket und TClientSocket sind sehr hnlich aufgebaut. Sie stammen von einem gemeinsamen Vorfahren ab, nmlich TCustomSocket. Weitere Netz-relevante Gemeinsamkeiten( wie z.B. Service oder ThreadChacheSize) dienen zur bequemeren Handhabung und erhhen die Betriebssicherheit. Bemerkungen zum Betrieb der Komponenten: Zur Identifizierung und Adressierung in einem TCP/IP-Netz dient die IP-Adresse jedes Rechners. Nur im ClientSocket ist eine Eigenschaft vorgesehen nicht aber im Server. Die Adresse des eigenen Rechners kann durch die Socket-Komponente intern bestimmt werden, indem diese beim Betriebssystem nachfragt. Der Benutzer muss im Client-Programm die Zieladresse des gewnschten Servers angeben und daher gengt es, wenn die TClientSocket-Komponente ber die Eigenschaft Adress verfgt. Bevor das Client-Programm Daten zum Server-Programm bertragen kann, mssen die beiden Sockets miteinander verbunden werden. Dazu muss die TCP/IP-Adresse des gewnschten Zielrechners in die Eigenschaft Adress der TClientSocketKomponente eingetragen und dann deren Prozedur Open aufgerufen werden. Wenn die Verbindung erfolgreich eingerichtet werden kann, tragen die beiden kommunizierenden Socket-Komponenten die Adressdaten der Verbindung( Adresse und Port) jeweils fr beide beteiligten Rechner in die Eigenschaftsfelder LocalAdress, LocalPort, RemoteAddress und RemotePort ein. Mit Local.. meint man den Rechner, auf dem der Socket selbst luft, Remote.. meint den entfernten Rechner am anderen Ende der TCP/IP-Verbindung. Eine erfolgreich hergestellte Verbindung erkennt man daran, dass im ServerProgramm das Ereignis OnAccept der TServerSocket-Komponente eintritt sowie im Client-Programm das Ereignis OnConnect. Schlgt der Verbindungsaufbau fehl, dann tritt im Client-Programm in jedem Fall das Ereigniss OnError ein. Das Abseden eines Datenpakets wird im Client durch einen Aufruf von Socket.SendText angestoen, bei der Prozedur muss der zu sendende Text bergeben werden. Dies geschieht blicherweise in der Click-Prozedur eines Senden-Knopfes. Wenn man den von Delphi vergebenen Standardnamen fr Ihren

Quelle (http://www.elektronik-kompendium.de/sites/net/0503271.htm )

Seite 8 von 12

Patrizia Schultes 5AHBMT 2013/14

ClientSocket behalten hat und der zu sendende Text in einer Edit-Komponente namens Edit1 steht, knnte der Quelltext fr das Senden so aussehen:
procedure TForm1.Button1Click(Sender: TObject); begin ClientSocket1.Socket.SendText(Edit1.Text); end;

Das Empfangen eines Datenpakets am Server kann nicht durch einen Knopfdruck ausgelst werden, weil man nicht wei, wann ein Paket ankommen wird. Die ServerSocket-Komponente berwacht dies jedoch selbstndig: immer wenn ein Datenpaket ankommt, wird das Ereignis OnClientRead ausgelst. Man erzeugt also zu dem Ereignis eine zugehrende Ereignisprozedur, indem man im Objekt-Inspektor den ServerSocket1 selektiert und dann auf der Registerseite Ereignisse einen Doppelklick auf das Datenfeld neben OnClientRead macht. Delphi erzeugt dann eine Prozedur mit folgendem Kopf:
procedure TForm1.ServerSocket1ClientRead (Sender: TObject; Socket: TCustomWinSocket);

Auffllig ist hier, dann neben dem inzwischen vertrauten (noch nie benutzen) Parameter Sender noch ein weiterer Parameter namens Socket vorhanden ist. Dieser Socke ist fr die Weitergabe des Datenpakets zustndig, durch dessen Ankunft wird das aktuelle Ereignis ausgelst. Man kann das Datenpaket also auslesen, indem man die Funktion Socket.ReceiveText dieses Sockets aufruft:
procedure TForm1.ServerSocket1ClientRead (Sender: TObject; Socket: TCustomWinSocket); begin Edit1.Text := Socket.ReceiveText; end;

ServerSocket 9
Ein Socket stellt einen logischen 'Sockel' fr TCP- oder UDP-Netzwerkkommunikation dar. Hier wird nur TCP-Kommunikation behandelt.

Client-Server-Prinzip
Socket kann benutzt werden um von einem lokalen Port eine Verbindung zu einem entferntem Port (dieser kann auf jedem ber das Netzwerk erreichbaren Rechner sein, auch dem eigenen!) zu benutzen. Dazu muss ein neuer Socket mindestens mit zwei Angaben konstruiert werden: Zielrechner und Zielport. Der
10Ein

Quelle (http://www.java-forum.org/netzwerkprogrammierung/5507-netzwerkgrundlagen-serversocketsocket.html ) 10 Quelle(http://www.gk-informatik.de/netze/csprog.html )


9

Seite 9 von 12

Patrizia Schultes 5AHBMT 2013/14

Quellport (auf dem eigenen Rechner, von dem die Kommunikation abgeht) wird vom Betriebssystem automatisch gewhlt.

Socket Verbindung
Eine Socket Verbindung ist eine simple Verbindung zu einem anderen Rechner. Wieso kann man nicht den ServerSocket1.Socket benutzen, analog zu dem Vorgehen beim ClientSocket? Die Eigenschaft ServerSocket.Socket ist nur ein historisches Relikt, das streng genommen nutzlos ist. Am selben Server knnen sich mehrere Clients gleichzeitig anmelden, und die ServerSocket-Komponente muss daher intern eine ganze Liste von Sockets verwalten, fr jede Verbindung zu einem Client eine eigene. In dem obigen Parameter Socket wird dann jeweils ein passendes Socket bergeben, und genau das muss man dann auch benutzen. Im Gegensatz dazu verbindet sich die ClientSocket-Komponente nur mit einem Server, so das in diesem Fall auch nur ein Socket gebraucht wird, der wird dann im Client.Socket1.Socket eingetragen.Nach dem Ende der bertragung sollte der Client die Verbindung wieder trennen, z.B. indem die Prozedur Close der ClientSocket-Komponente aufgerufen wird. Zum Schluss kann man den Server auch abschalten indem die CloseProzedur der ServerSocket-Komponente im Server-Programm aufgerufen wird.

Quelle (http://www.tutorialspoint.com/unix_sockets/client_server_model.htm )

Seite 10 von 12

Patrizia Schultes 5AHBMT 2013/14

Verwendete Quellenangaben unzugeordnete/ zugeordnete


http://www.complang.tuwien.ac.at/franz/objektorientiert/oop07-03.pdf http://www.elektronik-kompendium.de/sites/net/0503271.htm http://www.fachadmin.de/index.php/Client-Server_Prinzip#Peer-to-Peer_System http://www.e-teaching.org/technik/vernetzung/architektur/peer-to-peer/ http://technet.microsoft.com/de-de/library/ms146867.aspx http://people.f4.htw-berlin.de/fileadmin/user_upload/Dozenten/AIDozenten/Schwotzer/Shark/Entwickerhandbuch_SharkFramework.pdf http://www.itwissen.info/definition/lexikon/Peer-to-Peer-Netz-P2P-peer-to-peer-network.html http://www.iwan2002.org/peer.html https://www.video2brain.com/de/videos-60055.htm http://www.gk-informatik.de/netze/csprog.html http://www.java-forum.org/netzwerkprogrammierung/5507-netzwerkgrundlagen-serversocketsocket.html

Fragen und Aufgabenstellung


Wie bin ich das Thema angegangen: Was ist ein Peer-to-Peer System? Sicherheit in Peer to Peer Systemen? Wo wird ein P2P System verwendet? Vor- und Nachteile eines P2P Systems Was ist ein Client Server? Wie Programmiert man einen Client Server? Einsatzbereiche eines Clients Servers Client Socket was ist das wofr wird es verwendet bzw. wie wird es angewendet? In welchem Zusammenhang steht das P2P-System mit dem Client Server?

Seite 11 von 12

Patrizia Schultes 5AHBMT 2013/14

Umsetzung der Aufgabe:


Da ich das Thema von Anfang an sehr interessant fand, war ich sehr froh das ich das Thema bekommen habe. Ich fand sehr viele gute und interessante Internet Seiten auf denen das P2P-System sowie das Client Server System verstndlich erklrt wurde. Da viele Stze etwas zu Hochgeschwollen waren habe ich diese umgeschrieben und so das Thema gleich auch verstanden. Ich bin die Augabe so angegangen das ich erst alle Informationen in ein Word dokument kopiert habe, spter bin ich drauf gekommen das ich nicht alles so verwenden konnte wie ich mir das gedacht hatte. Ich habe diese Ausarbeitung fr sehr sinnvoll gehalten da man meiner Meinung nach mehr lernt wenn man es sich selbst erarbeitet. Da ich des fteren mit dem Peer to Peer System arbeite habe ich den Hintergrund besser verstanden und wei jetzt wie das Funktioniert.

Erkenntnisse ber
Das P2P-System verstehen und deren Anwendungsbereiche Die Charakteristischen Eigenschaften fr P2P Syteme Die P2P Topologie Das ClientServer Prinzip Die Client Server Programmierung (vereinfacht) Client Server Systeme anwendungsbereiche Vorteile, Nachteile

Seite 12 von 12