Einstieg in die Netzwerke
Willemers Informatik-Ecke

Vom Großrechner zum Netzwerk

In den Anfangstagen der EDV waren Großrechner die Regel. In der Zentrale steht ein großer, teurer Computer, der alle Daten und Programme enthält.

IBM 7950 HARVEST system at National Cryptologic Museum.agr.jpg
Harvest in den Räumlich­keiten der NSA (ca 1965)
Von ArnoldReinhold - Eigenes Werk, Gemeinfrei,

Um Benutzer in den anderen Büros anzuschließen, wurden "dumme" Terminals angeschlossen, die nur aus einer Tastatur mit Bildschirm bestanden. Alle Benutzer arbeiteten an einem Computer und teilten sich dessen Daten. In der Regel hatte eine Firma nur einen Computer.

LAN: Local Area Network

Computer wurden erschwinglicher, kleiner und leistungsfähiger. Bald passten sie direkt auf den Schreibtisch. Eine Firma hatte nun mehrere Computer. Es drängte sich die Frage auf, wie man die gemeinsamen Daten teilt.

Der erste Ansatz ist das Turnschuhnetz. Dabei werden die Dateien auf eine Diskette (heute USB-Stick) kopiert. Man nimmt die Füße in die Hand, geht zum nächsten Computer und spielt die Datei dort wieder ein.

Da Informatiker oft nicht sportlich sind, kam der Gedanke auf, die Computer mit einem Kabel zu verbinden. Das Kabel war ein abgeschirmtes Koaxialkabel und wurde Ether genannt.

Als Host bezeichnet man Geräte, die am Netzwerk teilnehmen. In diesem Fall sind es Computer. Es können aber auch andere Geräte sein, die im Netzwerk adressierbar sind.

Wenn alle Teilnehmer an einer Leitung hängen, nennt man das einen Bus. Heutzutage wird kein Kabel mehr durch die Büros gezogen. Stattdessen wird ein Hub (oder ein Switch) aufgestellt und mit allen Computern verbunden. Das erweckt den Eindruck, als wäre die Topologie nun ein Stern. Aber das täuscht. In Wirklichkeit verbindet der Hub alle Hosts mit einem Backbone.

Steckt kein Stecker im Hub, wird die Verbindung durchgeschaltet, wird ein Stecker eingesteckt, wird das Ether in den Host umgeleitet.

  • Im lokalen Netzwerk (LAN - Local Area Network) werden heutzutage üblicherweise Westernstecker RJ-45 verwendet.
  • Das eine Ende des Kabels steckt im Computer, das andere in einem Hub oder Switch. Beide sind eine Art "Mehrfachsteckdose" für Hosts und stellen die Verbindung im lokalen Netzwerk her.
Foto: Clemens Pfeiffer, 1190 Wien

Die Paketstruktur

Ein Host hat eine Netzwerkschnittstelle, die eine weltweit eindeutige Adresse hat, die vom Hersteller vergeben wird. Die Adresse ist sechs Bytes lang und wird MAC (Media Access Code) genannt. In einem LAN werden die Daten in Pakete verpackt und mittels der MAC zwischen den lokalen Hosts versandt.

Hub und Switch

Ein Hub sieht äußerlich genauso aus wie ein Switch. Auch die Funktionalität ist gleich: Beide verbinden Computer mit dem lokalen Netzwerkbus.

WLAN

Drahtlose Geräte können dem lokalen Netzwerk per WLAN (Wireless Local Area Network) beitreten. Das geschieht über einen Access Point, der von den drahtlosen Geräten über dessen Namen, den SSID (Service Set Identifier) identifiziert wird. Die Abbildung zeigt eine Liste von Access Points auf einem Linux-Rechner. AP3 ist beispielsweise einer der SSIDs.
Der Zugang zu Routern ist in den meisten Fällen passwortgeschützt und mit WPA-2 verschlüsselt. Ohne Verschlüsselung könnte die Funkstrecke abgehört werden, weil einige Protokolle im Klartext senden und empfangen.

WLAN-Verbindungen sind in der Regel langsamer und unzuverlässiger als Kabelverbindungen. Das wird um so schlechter, je mehr Wände zwischen Access Point und Gerät stehen und je höher der Abstand ist.

Internet und TCP/IP

Ein Router verbindet zwei lokale Netzwerke.

Da die vier Byte des IPv4 maximal 4 Milliarden Adressen zulässt, werden die internetfähigen Adressen seit Jahrzehnten knapp. Der Umstieg auf IPv6 ist seit langer Zeit geplant. IPv6-Adressen haben 128 Bit, also 32 Byte und ermöglichen damit etwa 3,4*1038 Adressen.

Router

Ein Router ist ein Gerät, dass die Verbindung eines lokalen Netzwerks zu einem anderen Netzwerk herstellt. Er wird auch als Gateway bezeichnet. Meist wird er verwendet, um die Rechner des lokalen Netzwerks mit dem Internet zu verbinden.

Ein Router hat eigentlich nur zwei Anschlüsse. Die im Handel befindlichen Geräte enthalten allerdings in der Regel einen kleinen Hub oder Switch und einen Access Point für WLAN.

Es gibt Router, die auf das Medium des Providers ausgelegt sind, die also beispielsweise Glasfaser, DSL, LTE (Mobilfunk) oder über einem Satellit ins Internet gehen.

Gateway ins Nachbarnetz

Die IP-Adresse eines Hosts besteht aus vier Bytes (IPv4), die durch Punkte getrennt werden, beispielsweise 192.168.1.25. Nur der letzte Teil der Adresse bezeichnet den Host selbst, hier die 25. Der vordere Teil der Adresse bezeichnet das Netzwerk, hier 192.168.1, in der Regel durch eine 0 vervollständigt, also 192.168.1.0.

Wenn ein Host die Nummer 37.0.86.60 hat, gehört er nicht in das Netzwerk 192.168.1.0, ist also von dort nicht direkt erreichbar. Nachrichten an diesen Host werden darum an den zuständigen Router im lokalen Netzwerk gesandt.

Im Privatnetzwerk hat der Router oft die IP-Adresse 192.168.1.1. Darum führt die Default-Route meist dorthin.

Das Internet ist voller Router, die anhand ihrer Routing-Tabellen dafür sorgen, dass der Empfänger erreicht wird. Routing-Tabellen im Internet sind dynamisch, so dass das Ziel möglichst auch bei einer gestörten Verbindungen erreicht werden kann.

DHCP

Die IP-Adresse eines Hosts kann manuell statisch festgelegt werden. Dieses Vorgehen ist heutzutage aber unüblich. In lokalen Netzwerken übernimmt die Verteilung der IP-Adressen meist ein DHCP-Serverprozess.

Ein Host, der bei der Zuordnung seiner IP-Adresse auf DHCP oder "automatisch" eingestellt ist, ruft alle Hosts im lokalen Netzwerk um Hilfe. Der DHCP-Server wird sich melden und ihm eine freie IP-Adresse aus dem Pool geben.

Zusätzlich erfährt der neue Rechner, welches sein Gateway ist und welche IP-Adresse der DNS-Namensdienst hat.

Der DHCP-Server steckt in den meisten Privatnetzwerken im Router. Damit keine doppelten IP-Adressen vergeben werden, sollten mehrere Router im Netzwerk nur eingesetzt werden, wenn dafür gesorgt ist, dass es nur einen DHCP-Server gibt und alle anderen abgeschaltet sind.

NAT

Die IPv4-Adressen im Internet sind inzwischen so knapp, dass die Anbieter nur noch eine IP-Adresse für jeden Anschluss zur Verfügung stellen und sogar diesen nur bei Bedarf zuteilen.

Diese IP-Nummer wird dem Router zugeteilt. Dieser sorgt durch eine Adressverteilung (NAT: Network Address Translation). dafür, dass jedes Gerät hinter dem Router ins Internet gehen kann.

Das folgende Beispiel geht von folgenden IP-Adressen aus
  • Der Router hat zum Internet hin die IP-Adresse 191.191.191.191.
  • Das lokale Netzwerk hat die Adresse 192.168.1.0.
  • Ein Host im lokalen Netzwerk hat die Adresse 192.168.1.25.
  • Der PC 192.168.1.25 möchte die Webseite auf IP-Adresse 37.0.86.60 aufrufen.
  • Diese Adresse liegt nicht im lokalen Netzwerk, also geht sie an den Router 192.168.1.1.
  • Der Router merkt sich den internen Absender 192.168.1.25 und leitet Ihre Anfrage mit seiner eigenen Adresse 191.191.191.191 als Absender an 37.0.86.60.
  • Der Rechner 37.0.86.60 bearbeitet die Anfrage und sendet sie an den vermeintlichen Absender 191.191.191.191 zurück.
  • Der Router erkennt, dass das die Anfrage an 37.0.86.60 war und leitet sie weiter an 192.168.1.25 im internen Netzwerk.

Durch diesen Taschenspielertrick des Routers merkt weder der Host im lokalen Netzwerk noch der Server im Internet, dass sie gar nicht direkt miteinander gesprochen haben.

Auf diese Weise erfährt auch niemand im Internet, dass es einen Host mit der IP 192.168.1.25 gibt. Darum kann ein Rechner im lokalen Netzwerk von außen nie direkt erreicht werden, da sie alle durch die NAT des Routers laufen.

Port

Bisher wurden die Netzwerkverbindungen zwischen Hosts, also Geräten oder Computern betrachtet. Allerdings ist das nicht die ganze Wahrheit. Denn eigentlich findet die Kommunikation nicht zwischen Geräten, sondern zwischen Programmen, die man Prozesse nennt, statt.

Client und Server

Man unterscheidet bei der Kommunikation zwischen zwei Arten von Prozessen.

Beispielsweise startet man zum Surfen auf dem Laptop das Programm Firefox, der durchaus mehrfach gestartet sein kann. Der Kommunikationspartner ist beispielsweise ein Web-Server-Prozess namens Apache auf einem Linux-Gerät bei einem Provider.

Peer To Peer

Fast alle Kommunikation in Netzwerken läuft nach dem Client-Server-Prinzip ab. Ein Sonderfall sind Peer-to-Peer-Strukturen. Diese unterscheiden sich in folgenden Punkten: Beispiel: BitTorrent https://de.wikipedia.org/wiki/BitTorrent

Well known port

Wenn ein Client senden will, muss er einen Kommunikationsendpunkt vom Betriebssystem anfordern. So etwas nennt man einen Socket. Jeder Socket wird mit einer im Computer eindeutigen Nummer versehen, die man als Port bezeichnet. Nehmen wir an, dass der Client beim Anfordern des Sockets den Port Nr 8815 erhalten hat.

Nun will er den Webserver auf dem Zielrechner ansprechen. Da die Clients wissen müssen, unter welchem Port der Server erreichbar ist, wird für Webserver standardmäßig die 80 verwendet. 80 ist der wohlbekannte Port (well known port) für den Webdienst HTTP.

Auch der Server benötigt einen Kommunikationsendpunkt, also einen Socket. Da der Server aber als HTTP-Server auftreten will, muss er den Socket mit dieser Nummer haben. Dazu bittet der Server, den Socket an den Port 80 zu binden. Das funktioniert natürlich nur, wenn nicht schon ein anderer Prozess den Port 80 okkupiert hat. Es gibt darum höchstens einen HTTP-Server auf einem Computer mit dem Port 80.

Der Client sendet also das Paket an den Zielrechner mit Port 80 und erreicht den Apachen. Der erstellt die Antwort für den Client und sendet das Paket zurück an dessen IP-Nummer und den Port 8815. Als Absender verwendet er die eigene IP und die Port-Nummer 80.

Die Ports müssen sich natürlich auch als Quelle und Ziel im Netzwerkpaket finden. Es wird noch einmal verschachtelt. Im Etherpaket wird das IP-Paket transportiert, welches ein UDP- oder TCP-Paket enthält.

Jeder Netzwerkserver ist einem Port zugeordnet, dem well known post. Wie schon verwendet HTTP, also der Webserver, den Port 80. Die Liste dieser well known ports finden Sie unter Linux, UNIX und Mac in der Datei /etc/services.

Protokolle

Pakete an den Gesprächspartner zu senden, ist schon einmal die halbe Miete. Aber Client und Server müssen einander auch verstehen. Bei der menschlichen Kommunikation ist eine Voraussetzung, dass die Sprache von beiden verstanden wird. Aber auch rüpeliges Herumschreien kann zum Abbruch eines Gesprächs führen. Ähnlich sieht es im Netzwerk aus. Hier nennt man das gegenseitige Verstehen ein Protokoll.

Menschen                  Netzwerk

---- Moin ------->     -- TCP connection request ---------->
<--- Moin --------     <- TCP connection response ----------
---- Wie spät? -->     -- GET http://www.hs-flensburg.de -->
<--- 9:00 --------     <- file index.html ------------------

Ein Protokoll wird in Standards festgelegt, die RFC (Request For Comments) heißen. Die RFC erhält eine Nummer und ist offen dokumentiert. Wer also einen Client für einen Server programmieren will, oder umgekehrt, findet dort die klare Definition.

Schichtmodelle

Netzwerke liegen in mehreren Schichten vor, das zeigt sich schon an den Paketen, in denen die Schichten ineinander verschachtelt werden.

Die MAC-Adresse gilt innerhalb des LANs, die IP-Adresse vermittelt weltweit im Internet und die Ports verbinden Prozesse. Die TCP-Nutzdaten wiederum können beispielsweise HTTP-Pakete sein. Diese dienen nicht dem Transport, sondern einer Anwendung.

Auf jeder dieser Schichten ist es wichtig, dass sich die Partner verstehen, also müssen die verwendeten Protokolle gleich sein. Anschaulich lässt sich das an zwei Personen darstellen, die Fernschach spielen.

Die Spieler müssen die Schachzüge verstehen. Das ist ihr Protokoll. Ansonsten müsssen sie die Züge in einen Briefkasten werfen und wieder herausholen können, um ihre Kommunikation an die tiefer liegende Schicht der Postboten weiterzuleiten.

Diese können vielleicht kein Schach, stellen aber den Kontakt zwischen Briefkasten und Poststation her. Dort wiederum werden die Briefe anhand der Postleitzahl an LKWs verteilt. Dazu müssen die Postleitzahlen genormt sein. Es ist nicht erforderlich, die Personen oder deren Adresse zu kennen.

Die LKW bringen die Post von einer Stadt in die andere. Sie müssen dazu die Verkehrsregeln kennen. Sie müssen weder Schach können, noch müssen sie wissen, dass in ihren LKWs Post ist.

Das Internetprotokoll: TCP/IP

Die Kommunikation im TCP/IP erfolgt in verschiedenen Schichten unterschiedlicher Abstraktion. Das Surfen ist eine Anwenderebene, die das Protokoll HTTP verwendet. Damit die Pakete den Zielrechner erreichen, wird auf einer tieferen Ebene das Internet Protokoll IP verwendet.

Jede dieser Schichten hat ihre eigenen Protokolle. Im TCP/IP werden hauptsächlich diese Schichten betrachtet:

ISO/OSI-Schichtenmodell

Das ISO/OSI-Referenzmodell ist ein Modell zur Klassifizierung von Schichten. Es ist also eher abstrakt als praktisch. Dafür gibt es jede Menge Grundlage für Prüfungsfragen her. Nach dem Motto: Nicht für die Schule, für die Prüfung lernen wir.

Namensdienst DNS

Die IP-Adresse 37.0.86.60 können sich die meisten Menschen wesentlich schlechter als die Adresse www.startpage.de merken.

Aus diesem Grund gibt es sozusagen Telefonbücher im Internet, die Namen in Nummern wechseln. Dies übernimmt der Namensdienst DNS (Domain Name System). Dieser Dienst basiert auf einer hierarchischen Anordnung verschiedener Server.

Den Standard-DNS-Server stellt in der Regel der Internet-Anbieter für seine Kunden. Kennt der DNS des Providers den Namen www.startpage.de, liefert er 37.0.86.60 zurück. Ansonsten eskaliert er an den nächsthöheren DNS-Server, bis irgendjemand die Adresse kennt und die IP-Adresse zurückgibt.

Will man also beispielsweise die Webseite der Hochschule Flensburg mit www.hs-flensburg.de sehen, ergeben sich zwei Anfragen. In der ersten Anfrage wird der DNS-Serer nach der IP-Adresse des Webservers der Hochschule gefragt. Anschließend wird die HTTP-Anfrage an diese IP-Adresse gesendet.

Prinzipiell sind Sie nicht auf den DNS-Server Ihres Providers angewiesen, sondern könnten auch die IP-Adresse 91.239.100.100 oder 8.8.8.8 verwenden. Beides sind DNS-Server im Internet.

Anbindung ans Internet

Kommt Ihr Computer nicht ins Internet, sollten Sie Folgendes prüfen:

Internet-Zugang