2011-01-14 12 views
1

Ich machte ein einfaches Dateiübertragungsprogramm durch IRC und als ich las, sah ich, dass IRC beim Teilen einer Datei eine direkte Verbindung zwischen den beiden Benutzern unabhängig vom Server erstellt (DCC, Direct Client Connect). Nach einiger Suche habe ich folgendes gefunden: Direct Connect und Advanced Direct Connect.Kann P2P ohne Portweiterleitung ausgeführt werden?

Keine dieser Seiten beantwortet diese Frage, die ich nicht aus meinem Kopf bekommen kann: Ist P2P-Datentransfer möglich, ohne dass ein Benutzer einen speziellen Port-Forward durchführt? Ein Zwischenserver, der beim Einrichten der Verbindung hilft (wie in den IRC-Beispielen), ist erlaubt. Die Datenübertragung selbst muss vom Server unabhängig sein.

Antwort

3

Ja - wenn Sie einen externen Server für die Weiterleitung der Verbindungsanfrage erhalten können, gibt es sogenannte Lochen-Techniken, mit denen Sie eine direkte Verbindung aufbauen können. This technical paper hat eine ausführlichere Erklärung.

Beachten Sie, dass diese nicht notwendigerweise auf alle NATs funktionieren - aber sie funktionieren auf ziemlich vielen von ihnen.

+0

+1 für Loch-genau, was ich meine, wusste nicht, was die Terminologie ist. – orlp

1

Praktisches JXTA II (verfügbar für das Lesen auf Scribd) hat ein Kapitel, das Techniken erklärt, um NAT Traversal durchzuführen. Lochung ist eine Teilmenge von Techniken zur NAT-Traversierung.