- Vom Großrechner zum Netzwerk
- LAN: Local Area Network
- Internet und TCP/IP
- Router
- Port
- Protokolle
- Schichtmodelle
- Namensdienst DNS
- Anbindung ans Internet
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.
Harvest in den Räumlichkeiten der NSA (ca 1965)
Von
ArnoldReinhold - Eigenes Werk, Gemeinfrei,
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.
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.
- Die Präambel ist eine sich wiederholende 1-0-Sequenz, die dem Paket vorangeschickt wird. Auf diese Weise können sich die anderen Schnittstellen synchronisieren. Falls zwei Schnittstellen gleichzeitig senden wollen, kommt es zur Störung dieser Sequenz und die Sendung wird abgebrochen.
- CRC (Cyclic Redundance Checksum). Da ein Paket während des Transports beschädigt werden könnte, wird zuvor eine Prüfsumme über das Paket gebildet. Stimmt diese beim Empfang nicht überein, muss das Paket verworfen werden und gegebenenfalls neu gesendet werden.
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.- Ein Hub ist eine Mehrfachsteckdose im lokalen Netzwerk. Er enthält eine Verbindung zwischen allen Buchsen, die durch Einstecken eines aktiven Hosts unterbrochen wird und zum Host und wieder zurück umgeleitet wird. Auf diese Weise bekommen alle Geräte des Netzwerks alle versandten Daten mit, lesen aber nur diejenigen, die für sie bestimmt sind. (Bus-Prinzip)
- Ein Switch unterscheidet sich äußerlich und auch funktional kaum von einem Hub. Er verbindet alle Geräte im Netzwerk. Allerdings optimiert er die Verbindungen, indem er sich merkt, welches Gerät an welcher Buchse hängt und verbindet die Kommunikationspartner, die in den übertragenen Daten als Empfänger und Sender ausgewiesen sind, direkt miteinander. Auf diese Weise können mehrere Verbindungen parallel die volle Bandbreite nutzen.
WLAN
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.- Ein Router hat zwei Netzwerkschnittstellen.
- Ein Router entscheidet anhand seiner Routingregeln, welches Paket in welches Netzwerk übertragen wird.
- Eine IPv4-Adresse besteht aus vier Byte. Die vier Byte werden dezimal dargestellt und durch eine Punkt getrennt. Die Adresse ist im vorderen Teil die Netzwerk-Adresse und der verbleibende Teil die Host-Adresse.
- CIDR-Darstellung: Mit Schrägstrich abgetrennt wird die Zahl der Bits
genannt, die die Netzwerkadresse darstellen. Der Rest zur 32 (4 Byte)
ist die Host-Adresse im Netzwerk.
Beispiel: 192.168.1.25/24: 192.168.1 ist das lokale Netzwerk. 25 ist die Nummer des Hosts.
- Subnetmask: Alte Schreibweise für die Trennung zwischen Netzwerkadresse und Host-Adresse. Der Anteil der Netzwerkadresse wird durch ein gesetztes Bit representiert. /24 ist als Subnetmask 255.255.255.0
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.
- 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.
- Client: Der Client ist der Prozess, der die Kommunikation initiiert. Er sendet seine Anfrage an den Server und wartet auf eine Antwort. Ein solches Warten ist meist blockierend. Trifft die Antwort ein, kann der Client die Kommunikation fortsetzen oder beenden. Seine Entscheidung.
- Server: Der Server wartet (blockierend), bis irgendwann ein Client anklopft. Empfängt er eine Anfrage, bearbeitet er sie und sendet die Antwort an den Client zurück. Anschließend legt er sich wieder schlafen und wartet auf die nächste Anfrage.
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:- Der Server ist nicht immer aktiv.
- Beliebige Endsysteme kommunizieren direkt miteinander.
- Peers fordern Dienste von anderen Peers an, bieten aber auch eigene an.
- Zusätzliche Peers liefern zusätzliche Dienstkapazitäten.
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:
- Anwendungsschicht: Die Kommunikation von Netzwerkanwendungen
- Datenübertragung (FTP), Mailversand (SMTP), Websurfen(HTTP)
- Transportschicht: Transfer von Daten von Prozess zu Prozess
- gesicherte Übertragung (TCP), Streamen (UDP)
- Netzwerkschicht: Routing von Datagrammen vom Quell-Host zum Ziel-Host
- Internet-Protokoll (IP), verschiedene Routing-Protokolle
- Sicherung/Linkschicht: Datenübertragung “auf dem Kabel”
zwischen benachbarten Hosts
- Ethernet, 802.11 (WLAN), PPP
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.
- Anwendung
- Darstellung
- Sitzung
- Transport
- Netzwerk
- Sicherung
- Bitübertragung
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:- Ist die Verkabelung in Ordnung?
- Ist das Gateway auf den Router eingestellt?
- Funktioniert der Namensdienst?
Internet-Zugang
- Der Klassiker: Kupfer, DSL. Relativ unproblematisch zu verlegen, nicht überall verfügbar, kostengünstig, aber beschränkt in der Geschwindigkeit wegen Dämpfung der Signale.
- Glasfaser: Statt Strom überträgt man Lichtsignale. Damit sind höhere Geschwindigkeiten möglich, da nichts schneller ist als Licht.
- Mobilfunk (3G-UMTS, 4G-LTE, 5G): Störungsempfindlich, Performance von der Entfernung des Sendemasts und der Anzahl der Teilnehmer pro Zelle abhängig.
- Satellit: Sehr schnell in der Übertragung, aber hohe Verzögerung (Latenz), da der Datenstrom einmal in den Orbit und zurück muss.