P2P mit Peers hinter Routern - ohne Portforwarding

Status
Nicht offen für weitere Antworten.

Conn

Aktives Mitglied
Hallo,

ist es theoretisch möglich ein P2P Netzwerk aufzubauen mit Peers die sich im Lan befinden und über einen Router mit dem Internet kommunizieren, ohne dass ich im Router explizit ein Portwarding für den betreffenden Rechner hinterlege?

Könnte ein Server zwei Clients miteinander "verheiraten", so das sie unabhängig von dem Server kommunizieren können? Wenn ja, wie würde eine deratige Implementierung mit Java aussehen (Socket Verteilung ??).

Für mögliche Antworten im Voraus vielen Dank.

Viele Grüße,
Conrad
 

Noctarius

Top Contributor
Skype nutzt das so genannte UDP Hole Punching Verfahren um in der Firewall auf nicht ganz feines Wege einen "Port Forward" zu erzeugen.

Hier ein paar Seiten zum Thema:
UDP hole punching - Wikipedia, the free encyclopedia
UDP hole punching | it-administrator.de
STUNT: TCP NAT Traversal
http://www2.lifl.fr/MAP/negst/secondWorkshop/slidesSecondWorkshopNegst/TakayukiOkamoto.ppt
https://jxta.dev.java.net/

"UDP Hole Punching" sollte auch der JXTA Lib hinzugefügt werden, wie weit der Status da fortgeschritten ist, weiß ich aber nicht.

Hoffe das reicht erstmal zum Einlesen. Bei Fragen bin ich noch ein paar Tage hier ;-)
 

Conn

Aktives Mitglied
Hi,

erstmal vielen Dank für die Antwort und die Links. Werde bestimmt nocht ein paar Fragen haben :).


Grüße,
Conrad
 

Conn

Aktives Mitglied
Hallo,

habs hinbekommen.

Mit UDP hat das wunderbar funktioniert. Sofern erstmal eine Anfrage am Router vorbeigekommen ist, ist der Client im LAN über den vom Router geöffneten Port und dessen IP auch von jedem anderen Rechner im WWW über UDP erreichbar. Zumindest solange bist der Router bei Untätigkeit die Verbindung kappt, was nicht so schön ist, da unnötig kommuniziert werden muss, um die Verbindung aufrechtzuerhalten.

Nochmals vielen Dank @Noctarius für die Links. Die Verwendung von JXTA war nicht notwendig. Ein einfache Beispielanwendung war mit wenigen Zeilen auch mit den Standard Java Bibliotheken realisierbar.

Vielen Dank und viele Grüße,
Conrad
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben