@PhdThesis{duepublico_mods_00030173,
  author = 	{Holzapfel, Sebastian},
  title = 	{NAT Traversal und verl{\"a}ssliche Datenverteilung in geschichteten Peer-to-Peer Systemen},
  year = 	{2013},
  month = 	{Feb},
  day = 	{06},
  abstract = 	{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{\"u}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{\"o}nnen. In dieser Arbeit werden verschiedene Ans{\"a}tze vorgestellt, die f{\"u}r die Entwicklung einer Peer-to-Peer-basierten virtuellen Welt verwendet werden k{\"o}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{\"a}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{\"a}hrleisten. Verfahren, die dies erm{\"o}glichen, werden als NAT Traversal Verfahren bezeichnet. In dieser Arbeit wird ein neues NAT Traversal Verfahren f{\"u}r das Transportprotokoll TCP vorgestellt. Da die Erfolgswahrscheinlichkeit eines NAT Traversal Verfahrens stark von den verwendeten NAT Routern abh{\"a}ngig ist, wird in dieser Arbeit zus{\"a}tzlich ein Protokoll vorgestellt, das es erm{\"o}glicht das NAT Traversal Verfahren auszuw{\"a}hlen, das in einer bestimmten Situation die h{\"o}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{\"a}tze f{\"u}r unterschiedliche Problemstellungen. Dabei ist es nicht immer im Vorfeld ersichtlich, welche Kombination von diesen Ans{\"a}tzen die Beste in Bezug auf Performanz oder Stabilit{\"a}t ist. Um dies zu evaluieren, werden h{\"a}ufig Ans{\"a}tze zuerst f{\"u}r existierende Simulationsumgebungen implementiert und anschlie{\ss}end f{\"u}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{\"o}nnen verschiedene Ans{\"a}tze einfach ausgetauscht werden. Zus{\"a}tzlich erm{\"o}glicht es die Architektur denselben Quelltext f{\"u}r die eigentliche Anwendung als auch f{\"u}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{\"u}ssen eine Reihe von Anforderungen bez{\"u}glich der Verl{\"a}sslichkeit und Sicherheit der gespeicherten Daten erf{\"u}llt werden. Zus{\"a}tzlich m{\"u}ssen Daten effizient abgefragt werden k{\"o}nnen. Daher werden im letzten Teil dieser Arbeit ein Peer-to-Peer Netzwerk sowie ein Replikationsverfahren vorgestellt, die die Grundlage f{\"u}r einen sicheren und verl{\"a}sslichen Peer-to-Peer-basierten Datenspeicher bilden.},
  url = 	{https://duepublico2.uni-due.de/receive/duepublico_mods_00030173},
  file = 	{:https://duepublico2.uni-due.de/servlets/MCRFileNodeServlet/duepublico_derivate_00032188/Dissertation_Holzapfel.pdf:PDF},
  language = 	{de}
}