NAT Traversal und verlässliche Datenverteilung in geschichteten Peer-to-Peer Systemen
Peer-to-Peer basierte Systeme haben in den letzten Jahren insbesondere im Bereich des Dateiaustasuches zunehmend an Verbreitung gewonnen. Peer-to-Peer Systeme sind dezentrale Netzwerke, in denen jeder Teilnehmer bzw. jeder Peer gleichberechtigt ist. Jeder Peer kann Dienste in Anspruch nehmen und stellt gelichzeitig anderen Teilnehmern Dienste zur Verfügung. Im Rahmen des Peers@play Projektes wird untersucht, ob auch komplexere Anwendungen, wie beispielsweise virtuelle Welten, auf Basis von Peer-to-Peer Systemen entwickelt werden können. In dieser Arbeit werden verschiedene Ansätze vorgestellt, die für die Entwicklung einer Peer-to-Peer-basierten virtuellen Welt verwendet werden können. Die vorliegende Arbeit betrachtet hierbei drei Aspekte aus unterschiedlichen Forschungsgebieten. Der erste Aspekt, der im Rahmen dieser Arbeit betrachtet wird, betrifft die Kommunikation zwischen Peers. Diese Kommunikation wird durch die Verbreitung von Network Address Translation (NAT) Routern erschwert. NAT Router reduzieren die Konnektivität der Rechner, die sich hinter den NAT Routern befinden. Die Herausforderung besteht darin, den Nachrichtenaustausch zwischen Peers, die sich hinter NAT Routern befinden, zu gewährleisten. Verfahren, die dies ermöglichen, werden als NAT Traversal Verfahren bezeichnet. In dieser Arbeit wird ein neues NAT Traversal Verfahren für das Transportprotokoll TCP vorgestellt. Da die Erfolgswahrscheinlichkeit eines NAT Traversal Verfahrens stark von den verwendeten NAT Routern abhängig ist, wird in dieser Arbeit zusätzlich ein Protokoll vorgestellt, das es ermöglicht das NAT Traversal Verfahren auszuwählen, das in einer bestimmten Situation die höchste Erfolgswahrscheinlichkeit bietet. Eine weitere Herausforderung betrifft die Umsetzung und konkrete Entwicklung einer Peer-to-Peer-basierten Anwendung. Hier existiert oft eine Vielzahl unterschiedlicher Ansätze für unterschiedliche Problemstellungen. Dabei ist es nicht immer im Vorfeld ersichtlich, welche Kombination von diesen Ansätzen die Beste in Bezug auf Performanz oder Stabilität ist. Um dies zu evaluieren, werden häufig Ansätze zuerst für existierende Simulationsumgebungen implementiert und anschließend für die eigentliche Anwendung. Im zweiten Teil dieser Arbeit wird eine geschichtete Softwarearchitektur vorgestellt, die eine Peer-to-Peer-basierte Anwendung in Schichten und Komponenten unterteilt. Hierdurch können verschiedene Ansätze einfach ausgetauscht werden. Zusätzlich ermöglicht es die Architektur denselben Quelltext für die eigentliche Anwendung als auch für Simulationen zu verwenden. Der dritte Aspekt dieser Arbeit betrifft die Datenspeicherung. In einem Server-basierten System wird der Zustand einer virtuellen Welt auf einem zentralen Server gespeichert. In einem Peer-to-Peer System hingegen muss der Zustand der virtuellen Welt auf den Peers des Peer-to-Peer Netzwerks gespeichert werden. Hierbei müssen eine Reihe von Anforderungen bezüglich der Verlässlichkeit und Sicherheit der gespeicherten Daten erfüllt werden. Zusätzlich müssen Daten effizient abgefragt werden können. Daher werden im letzten Teil dieser Arbeit ein Peer-to-Peer Netzwerk sowie ein Replikationsverfahren vorgestellt, die die Grundlage für einen sicheren und verlässlichen Peer-to-Peer-basierten Datenspeicher bilden.
Vorschau
Zitieren
Zitierform:
Zitierform konnte nicht geladen werden.