# P2P ohne Portfreigabe



## P2P (8. Apr 2008)

Hallo, vorab: Ich weiß wie man Netzwerkanwendungen schreibt, aber nun habe ich eine Frage:

Szenario:
-2 Pc's, mit dynamischer Ip-Adresse... , hängen beide jeweils an einem Router der im Internet ist...
-In den Routern ist keine spezielle Portfreigabe aktiviert

Ist es dennoch möglich, eine P2P Verbindung herzustellen ?
-> Jeder Client kennt die dynamische Ip-Adresse des Anderen... (Vorher melden sich beide an einem externen Server an, und fragen solche Daten ab, der Server hat natürlich eine statische Ip-Adresse...)

Oder weiß der Router des Clienten der als P2P-Server fungiert dann nicht, an welchen Pc der im LAN ist, diese eingehende "Connect"-Methode erwartet ? Ich dachte bisher man benötigt dafür eine konkrete Portzuweisung im Router...

-> Muss man ggf. auf einen "Standartport" ausweichen ? 80, 21... ?

Gruß P2P


----------



## Wildcard (8. Apr 2008)

UDP Hole Punching:
http://en.wikipedia.org/wiki/UDP_hole_punching
Andere Möglichkeiten:
http://en.wikipedia.org/wiki/NAT_traversal


----------



## P2P (8. Apr 2008)

Ok, UDP Hole Punching hört sich ganz interesant an, ich nehme an nicht alle NAT-Devices unterstützen NAT-T...
Aber ich habe gelesen, dass die erste Variante einen Vermittlungsserver braucht, der die Pakete schickt, aber genau das will ich ja vermeiden, um die Auslastung des Servers möglichst gering zu halten, oder hab ich das falsch verstanden ?


----------



## Wildcard (8. Apr 2008)

http://www.heise.de/security/Wie-Skype-Co-Firewalls-umgehen--/artikel/82054/0
Für solche STUN Verfahren gibt es übrigens auch fertige Bibliotheken (auch Java Implementierungen)


----------



## P2P (8. Apr 2008)

Muss denn dann der gesamte IO-Austausch über UDP stattfinden ?


----------



## Wildcard (8. Apr 2008)

Nein, aber wenn du den Artikel gelesen hast, weißt du warum es mit UDP einfacher zu realisieren ist.
Ob es eine fertige Lösung für TCP gibt ist mir nicht bekannt.


----------



## P2P (8. Apr 2008)

Ja, ich habe den Artikel gelesen, mir sind die Vorteile von UDP da klar, aber auch die ganzen Nachteile...
Schade, dass sich IPv6 noch nicht durchgesetzt hat, dann währen doch genug Adressen da, sodass man theoretisch keine Ports mehrbräuchte, wobei mir schon kalr ist, dass es dann ein Firewall-Problem bezüglich Unsicherheit geben würde...


----------



## Wildcard (8. Apr 2008)

Ports braucht man natürlich immer noch. Du meinst wohl eher NAT?
NAT gibt es nicht nur, weil es nicht genügend IP Adressen gibt. Das ist ein Sicherheitskonzept.
Oder erwartest du das mit IPv6 alle Firewalls ausgeschaltet werden und es keine lokalen Netze mehr gibt?


----------



## P2P (8. Apr 2008)

Natürlich nicht, aber in solch einem Szenario wären P2P Probleme nicht mehr da, wobei auch Sicherheit nicht mehr gewährleistet wäre, man stelle sihc nur einen nicht entdeckten Trojaner vor, der Verbingungen von außen frühlich entgegennimmt..., Oder vlt könnte eine einheitliche Schntst. bei Routern Abhilfe schaffen, die einem Programm ermöglicht, Ports von Anwendungen heraus zu öffnen...


----------



## Wildcard (8. Apr 2008)

P2P hat gesagt.:
			
		

> Oder vlt könnte eine einheitliche Schntst. bei Routern Abhilfe schaffen, die einem Programm ermöglicht, Ports von Anwendungen heraus zu öffnen...


Ähm... nein  :roll:


----------



## P2P (8. Apr 2008)

Warum nicht ? Natürlich nur mit Administratorrechten... !!!


----------



## tuxedo (9. Apr 2008)

Wofür gibt's denn UPnP ?? Azureus und viele andere Programme öffnen damit ja auch Ports von außen nach innen....

Allerdings muss der Router das abkönnen. Meine Fritzbox kann das jedenfalls.

Für UDP Holepunching brauch man AFAIK einen Server im Internet der da vermittelt. Oder bin ich jetzt falsch?

- Alex


----------



## P2P (9. Apr 2008)

Genau das bruachte ich ! Vielen dank


----------

