Home » Tutorials » Netzwerk und Internet » WinSocket-Programmierung

WinSocket-Programmierung

Netzwerkgrundlagen

Was ist ein Netzwerk?

Man bezeichnet eine Gruppe von Computern die über verschiedenste Schnittstellen miteinander verbunden sind als ein Netzwerk. Diese Computer können mittels verschiedenster Protokolle Daten untereinander austauschen. Eines der wohl bekanntesten Netzwerke ist das INTERconnected NETwork ( -> Internet).

Aufbau eines Netzwerkes

Damit Computer untereinander Daten verschicken können müssen Computer eindeutig identifiziert werden können. Sie müssen einen Namen oder eine Identifikationsnummer bekommen. In einem TCP/IP Netzwerk (der Typ mit wir uns beschäftigen) ist es sogar der Fall, dass ein Computer sowohl eine Identifikationsnummer als auch einen Namen bekommt. Wir werden uns ersteinmal mit der sog. IP Adresse (der Identifikationsnummer) beschäftigen. Jedes Gerät in einem PC, dass eine Verbindung über das TCP/IP Protokoll mit einem anderen PC herstellen kann, bekommt eine IP Adresse. So kann es sein, dass ein und derselbe PC über zwei verschiedene IP Adressen angesprochen werden kann. ZB wenn sowohl eine Netzwerkkarte als auch eine ISDN Karte in einem PC sind, dann hat der PC eine IP Adresse für das locakle Netzwerk und eine für das Internet.

Die IP Adresse

Eine IP Adresse sieht immer folgender Maßen aus: xxx.xxx.xxx.xxx, wobei xxx eine Zahl zwischen 0 und 255 ist. So ist meine IP Adresse im Moment 217.88.167.103. (Um eure IP Adresse herauszufinden, führt auf der Kommandozeile ipconfig aus). Jedesmal wenn man sich bei seinem ISP (Internet Service Provider, bei mir z.B. T-Online) einwählt, bekommt man eine IP Adresse zugewiesen. Eine statische IP Adresse (eine die immer die gleiche bleibt) ist in der Regel sehr teuer und ist auch nur für z.B. Web-Server interessant. Für IP Adressen im LAN (Local Area Network, z.B. auf einer NetzwerkParty) gibt es gewisse Richtlinien. Diese müssen nicht eingehalten werden, doch sollte man es tun, um irgendwelchen Komplikationen aus dem Weg zu gehen. IP Adressen im LAN sollten immer eines der Folgenden Formate haben: 127.xxx.xxx.xxx oder 192.168.0.xxx. Ein noch sehr wichtiger Punkt it das „IP-Adressen-Ich“. Es ist nicht unbedingt notwendig die eigene IP Adresse zu kennen, um sich im Neztwerk selber anzuspreche. Die IP Adresse 127.0.0.1 bezeichnet immer den eigenen Rechner.

Der Hostname

Neben der IP Adresse bekommt jeder Host (Computer in einem Netzwerk) einen Namen zugewiesen, denn Namen sind für uns einfach leichter zu merken als eine Reihe von Zahlen. Es gibt auch hier wieder eine Möglichkeit sich selbst anzusprechen. Der Hostname localhost bezeichnet immer den eigenen Computer!

Server und Clienten

Es gibt zwei grundsätzlich verschiedene Arten von Programmen in einem Netzwerk. Bei den einen handelt es sich um Server und bei den anderen um Clienten. Server sind Programme, die auf eine Verbindung warten. Dass heißt, dass ein Server nicht auf einen anderen Computer zugreifen kann, bevor sich dieser Computer bei ihm angemeldet hat. Solange ein Server auf eine Verbindung wartet „hört“ er das Netzwerk ab. Darum bezeichnet man diesen Status auch als „Listening“. Ein Server der eine Verbindung mit einem anderen PC eingegangen ist, aber im moment keine Daten austausch ist „Idle“. Den Zustand eines Servers, der gerade Daten mit einem anderen Computer austauscht, nennt man „Active“. Clienten sind Programme, die eine Verbindung zu einem Server aufbauen können. Clienten können keine Verbindungen annehmen. Als Beispiel für einen Clienten sei jetzt einmal der Web-Browser herangezogen. Dieser baut eine Verbindung zu einem Web-Server auf und ruft dort eine Web-Seite ab.

„Netzwerk MultiTasking“

In einem Netzwerk ist es nicht selten der Fall, dass auf einem einzigen Computer mehrer Server und/oder Clienten gleichzeitig laufen. Woher wissen die einzelnen Programme aber, welche Daten für welches Programm sind? Bis jetzt kennt ihr nur die IP Adresse und den Hostnamen als Adressierung für einen PC, doch das ist nicht alles! Es gib noch die sog. Ports. Ein Port ist eine Art Eingang zu einem Computer. So kann auf einem Computer mit der IP Adresse 192.168.0.162 auf dem Port 27689 ein ChatServer laufen und auf dem Port 12345 ein NetBus Server (NetBus ist ein Trojaner). Die IP Adresse gibt praktisch die Hausnummer eines Hauses mit vielen Tausend Türen an und der Port die Tür. Entwerder sind die Türen verschlossen (es läuft ein Programm auf diesem Port) oder ein Programm wartet dahinter und bietet dir seine Dienste an! Da Clienten ja irgendwo auch in das Haus herein müssen brauchen diese auch einen Port. Wenn mehrere Programme ein und denselben Port benutzen bekommen beide die dorthin geschickten Daten.

Ports bis 1024 sind für Standarddienste, wie z.B. FTP, POP und SMTP reserviert, sollten daher nicht verwendet werden.