Forum: PC-Programmierung Internet Port offen halten für eingehende Verbindungen


von Jasper (Gast)


Lesenswert?

Hallo

Ich beschäftige mich zur Zeit ein wenig mit der Netzerkprogrammierung.
Dabei bin ich auf etwas gestoßen, dass mir nicht ganz klar ist.

Und zwar habe ich mir die folgende Situation überlegt:

1. Ich habe im Internet einen Server den ich z.B. über den Port 1000 
ansprechen kann.

2. Auf der anderen seite habe ich einen Client, der hinter einem Router 
sitzt und auf den Server über Port 1000 zugreift.

3. Jetzt ist der Client mit dem Server auf Port 1000 verbunden und es 
findet eine Übertragung in beide Richtungen statt.

4. Da der Router die Verbindung in beide Richtungen zulässt, müsste es 
doch möglich sein auf eine Serveranwendung(läuft auf dem Client), die 
mit Port 1000 arbeitet, hinter dem Router zuzugreifen.


Meine Frage:
Ist meine Überlegung auch Praktisch umzusetzen, oder habe ich etwas 
grundlegendes übersehen, dass meine Idee zunichte macht.

Einen schönen Samstag Abend

Jasper

von Rolf Magnus (Gast)


Lesenswert?

Jasper schrieb:
> 4. Da der Router die Verbindung in beide Richtungen zulässt, müsste es
> doch möglich sein auf eine Serveranwendung(läuft auf dem Client),

Was denn nun? Client oder Server?

> die mit Port 1000 arbeitet, hinter dem Router zuzugreifen.

Port 1000 auf welcher Seite? Beide Kommunikationspartner haben einen 
Port.

von Jasper (Gast)


Lesenswert?

Hi

also zuerst verbimdet sich der Client(hinter dem Router) mit dem Server 
im Internet, und wenn die Verbindung dann steht, wird af dem Client 
hinter dem Router eine Serveranwendung gestartet, die auf Port 1000 
lauscht.

Da der Router ja für die erste Verbindung den Port 1000 in beide 
Richtungen durchlassen muss, sollte es jetzt möglich sein aus dem 
Internet über Port 1000 auf die Serveranwendung hinter dem Router 
zuzugreifen.

Gruß

Jasper

von Stefan E. (sternst)


Lesenswert?

Jasper schrieb:

> Da der Router ja für die erste Verbindung den Port 1000 in beide
> Richtungen durchlassen muss, sollte es jetzt möglich sein aus dem
> Internet über Port 1000 auf die Serveranwendung hinter dem Router
> zuzugreifen.

Nein, denn der Router ist ja auch nicht blöde. Der lässt nur Pakete 
durch, die sich konkret auf die eine Verbindung beziehen, und nicht 
blind einfach alle bezogen auf den Port.

von g457 (Gast)


Lesenswert?

Nein, das funktioniert so nicht, weil sich Nat-Router (das sind die 
üblichen Heimgeräte) grundsätzlich die Zuordnung von Quelle und Ziel 
merken. Aber Die Idee als solche funktioniert schon, nur halt anders - 
das Zauberwort ist 'UDP Hole Punching' [1] bzw. 'TCP Hole Punching' [2].

Die 'saubere' Lösung ist allerdings das Einrichten einer entsprechenden 
Forwarding-Regel am Router, nur das funktioniert zuverlässig.

HTH

[1] http://en.wikipedia.org/wiki/UDP_hole_punching
[2] http://en.wikipedia.org/wiki/TCP_hole_punching

von Jasper (Gast)


Lesenswert?

Hallo nochmal

Vielen Dank für eure schnellen Antworten.
Dann werd ich mich mal näher mit den beiden Links Befassen!

schönen Abend noch

Jasper

von Anzahl Blaetter eines Purzelbaumes (Gast)


Lesenswert?

Also.
Ein Server lauft immer und wartet auf eine Verbindung von aussen, der 
Server braucht daher ein Port-forward auf seinem Router.
Ein Client wird gestartet und initiert eine Verbindung zu einem Server. 
Da seine Anfrage von Innen nach auseen geht, ist sein Router 
transparent. Wenn der Client seine Aufgabe geloest hat wird er beendet.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.