Samstag, 2. Oktober 2010

Wahl der IP - Adressen zur Kommunikation über TCP / IP

Im vorigen Post habe ich beschrieben, wie man mit C# Daten über das TCP / IP Protokoll austauschen kann.
Die beschriebene Methode funktioniert sowohl über das Internet als auch über das Netzwerk.
In diesem Post noch kurz zur Wahl der IP - Adressen.
Befinden sich Server und Client im selben lokalen Netzwerk, kann der Client beim Verbinden auf den Server einfach dessen Netzwerk IP eingeben.
In einem lokalen Netzwerk hat jeder Computer eine eindeutige IP, diese haben meistens die Form 192.168.xxx.xxx.
Soll die Verbindung über das Internet erfolgen, muss die sogenannte WAN IP verwendet werden. Diese kann zum Beispiel über die Seite http://www.wieistmeineip.de/ abgefragt werden (um diese mit C# auszulesen siehe dieser Post).
Das Problem ist allerdings, dass diese Adresse nur pro "Zugangspunkt" zum Internet und nicht pro Rechner vergeben wird. Heutzutage haben die meisten Haushalte eine Internet Verbindung über einen Router, an dem mehrere PCs hängen.
Folglich kriegt nur der Router eine WAN IP, alle angeschlossenen PCs erhalten dieselbe.
Wenn die Verbindung also über das Internet nicht klappt, kann das daran liegen, dass der Router zwar die Verbindungsanfrage vom Client an seine IP erhält, aber nicht weiß, an welchen PC im lokalen Netzwerk er diese Anfrage weiterleiten soll.
Dann muss im Router eine neue Regel zum Port Forwarding angelegt werden.
Port Forwarding bedeutet Port Weiterleitung und sagt dem Router folglichermaßen, welche Anfragen auf welchen Ports er an welchen PC weiterleiten soll.
Legt man nun eine neue Regel an für den Port, auf dem der Server "lauscht" und leitet diesen Port an die IP Adresse des eigenen PCs im lokalen Netzwerk weiter, klappt auch die TCP / IP Verbindung über das Internet.

1 Kommentar:

  1. Wie kann man denn über den Port 80 gehen, da dieser von den meisten Routern nicht automatisch geblockt wird? Wie das z.B. auch Teamviewer etc machen, da hat man ja gewöhnlich keine Probleme mit!

    AntwortenLöschen