Topologien, Client-Server-Struktur, Protokolle und Schichtenmodell
Im Rhein bei Düsseldorf messen Pegelsensoren den Wasserstand, in Dortmund zählt ein Sensor Fahrräder, in einer Wohnung in Köln meldet das Thermostat die Raumtemperatur an eine App. Alle diese Geräte sind Teile eines vernetzten Informatiksystems: Hardware, Software und Netzwerkkomponenten wirken zusammen, um ein Anwendungsproblem zu lösen. Wie sind solche Geräte miteinander verbunden? Wer fragt, wer antwortet, und woher wissen die Geräte eigentlich, wie eine Nachricht aufgebaut sein muss? Diese Fragen beantworten Sie in diesem Abschnitt. Am Ende kommen wir auf das Smart Home zurück.
Netzwerk-Topologien
Ein Netzwerk lässt sich als Graph darstellen: Die Knoten sind die Geräte (Sensor, Router, Laptop, Server), die Kanten sind die Verbindungen zwischen ihnen. Die Anordnung der Knoten und Kanten heißt Topologie.
Eine Baumtopologie entsteht, wenn mehrere Sterne hierarchisch verbunden werden (siehe Skizze unten).
In einem Maschennetz gibt es zu vielen Knotenpaaren mehrere Wege. Ist jeder Knoten mit jedem verbunden, spricht man von einem vollständig vermaschten Netz.
Kanten zählen und Ausfälle untersuchen
Bei $n$ Geräten, die alle mit einem zentralen Knoten verbunden sind (Stern), gibt es $n$ Kanten. Im vollständig vermaschten Netz mit $n$ Knoten hat jeder Knoten $n-1$ Nachbarn. Jede Kante wird dabei von zwei Knoten gezählt, deshalb gilt:
$$\text{Anzahl der Kanten} = \frac{n\cdot(n-1)}{2}$$Die kürzeste Verbindung zählt man in Teilstrecken (Kanten) entlang des Weges. Beim Ausfall eines Knotens streichen Sie ihn samt seinen Kanten aus dem Graphen und prüfen, ob die übrigen Knoten noch verbunden sind.
Familie Yilmaz wohnt in Köln und hat ein Smart Home eingerichtet. Im Wohnungsnetz sind ein Router R, ein Thermostat T, ein Fensterkontakt F, ein Laptop L und ein…
Familie Yilmaz wohnt in Köln und hat ein Smart Home eingerichtet. Im Wohnungsnetz sind ein Router R, ein Thermostat T, ein Fensterkontakt F, ein Laptop L und ein Smartphone S vorhanden. Jedes der vier Geräte T, F, L und S ist durch eine eigene Verbindung ausschließlich mit dem Router R verbunden. Weitere Verbindungen zwischen den Geräten gibt es nicht. Das Thermostat sendet alle fünf Minuten die gemessene Raumtemperatur an einen Server eines Anbieters im Internet. Dieser Server stellt die Daten in einer App bereit.
- a) Nennen Sie die Netzwerk-Topologie des Wohnungsnetzes und geben Sie die Anzahl der Verbindungen an.
- b) Erläutern Sie, welche Auswirkungen der Ausfall des Routers und welche Auswirkungen der Ausfall des Thermostats auf das Netz hat.
- c) Ordnen Sie dem Thermostat und dem Server des Anbieters jeweils die Rolle Client oder Server zu und begründen Sie Ihre Zuordnung.
Am Rhein bei Düsseldorf überwachen vier Pegelsensoren S1 bis S4 den Wasserstand. Sie senden ihre Daten über Funk an ein Gateway G, das mit dem Internet verbunden ist.…
Am Rhein bei Düsseldorf überwachen vier Pegelsensoren S1 bis S4 den Wasserstand. Sie senden ihre Daten über Funk an ein Gateway G, das mit dem Internet verbunden ist. Die Sensoren können Daten auch über andere Sensoren weiterleiten. Funkverbindungen bestehen genau zwischen folgenden Knotenpaaren:
S1–S2, S1–S3, S2–G, S3–G, S3–S4, S4–G
- a) Bestimmen Sie die Topologie des Netzes und geben Sie die kürzeste Verbindung von S1 zum Gateway G (Anzahl der Teilstrecken) an.
- b) Untersuchen Sie, ob nach dem Ausfall des Sensors S3 alle übrigen Sensoren das Gateway weiterhin erreichen können. Geben Sie jeweils einen möglichen Weg an.
- c) Erläutern Sie einen Vorteil und einen Nachteil dieses vermaschten Netzes im Vergleich zu einer Sterntopologie, bei der jeder Sensor direkt mit G verbunden wäre.
Für die Besucherzählung auf einem Weihnachtsmarkt sollen acht Zählsensoren mit einem Gateway verbunden werden. Der Veranstalter erwägt drei Topologien: | Topologie |…
Für die Besucherzählung auf einem Weihnachtsmarkt sollen acht Zählsensoren mit einem Gateway verbunden werden. Der Veranstalter erwägt drei Topologien:
| Topologie | Beschreibung |
|---|---|
| Stern | Jeder Sensor ist direkt mit dem Gateway verbunden. |
| Vollständig vermascht | Je zwei Knoten (Sensoren und Gateway) sind direkt verbunden. |
| Teilvermascht | Jeder Sensor ist mit dem Gateway und mit seinen beiden Nachbarn in einem Ring der acht Sensoren verbunden. |
- a) Bestimmen Sie für jede der drei Topologien die Anzahl der Verbindungen.
- b) Zeigen Sie, dass ein vollständig vermaschtes Netz mit $n$ Knoten $\frac{n\cdot(n-1)}{2}$ Verbindungen besitzt, und berechnen Sie damit die Anzahl der Verbindungen für $n=9$.
- c) Beurteilen Sie die drei Topologien hinsichtlich Kosten und Ausfallsicherheit und empfehlen Sie begründet eine Topologie. Betrachten Sie dazu insbesondere den Ausfall eines einzelnen Sensors und den Ausfall des Gateways.
Client-Server-Struktur, Gateway und Edge
Im Smart Home der Familie Yilmaz fragt das Smartphone die Raumtemperatur ab. Dabei gibt es zwei Rollen:
Ein Sensorknoten ist meist Client, der Messwerte an einen Server schickt. Die App auf dem Smartphone ist ebenfalls Client desselben Servers. Beim Peer-to-Peer-Prinzip dagegen sind alle Geräte gleichberechtigt und können Dienste anbieten und nutzen; im Internet der Dinge ist meist die Client-Server-Struktur üblich, weil ein zentraler Server die Daten sammelt.
Ein Gateway (Netzübergang) verbindet zwei Netze mit unterschiedlicher Technik, etwa das Funknetz der Sensoren mit dem Internet. Ein Router im Heimnetz übernimmt diese Aufgabe.
Lokale Verarbeitung (Edge) oder Cloud?
Rohdaten können in der Cloud (entfernter Rechenzentrums-Server) oder lokal auf einem Rechner nahe am Sensor (Edge Computing) ausgewertet werden. Die Entscheidung begründen Sie mit Kriterien:
| Kriterium | Cloud | Edge (lokal) |
|---|---|---|
| Latenz | größer (Laufzeit im Internet) | klein |
| Datenmenge im Netz | hoch, wenn alle Rohdaten gesendet werden | gering, nur Zusammenfassungen |
| Datenschutz | Daten verlassen den Standort | Daten bleiben vor Ort |
| Rechenleistung, Wartung | fast unbegrenzt, zentral | begrenzt, dezentral |
| Kosten | laufende Nutzungsgebühren | Anschaffung und Betrieb der Hardware |
An einer Kreuzung in Dortmund erfasst ein Sensor das Verkehrsaufkommen und sendet zehnmal pro Sekunde eine Nachricht von 40 Byte. Die Ampelsteuerung muss innerhalb von…
An einer Kreuzung in Dortmund erfasst ein Sensor das Verkehrsaufkommen und sendet zehnmal pro Sekunde eine Nachricht von 40 Byte. Die Ampelsteuerung muss innerhalb von 100 ms auf eine Meldung reagieren können. Zwei Architekturen werden verglichen:
-
Cloud-Lösung: Alle Nachrichten werden an einen Server in einem entfernten Rechenzentrum gesendet und dort ausgewertet. Die Antwort trifft nach etwa 180 ms beim Ampelcontroller ein.
-
Edge-Lösung: Ein lokaler Rechner an der Kreuzung wertet die Nachrichten aus und sendet nur einmal pro Minute eine Zusammenfassung von 60 Byte an den Server der Stadt.
- a) Berechnen Sie die Datenmenge, die pro Tag (24 Stunden) bei der Cloud-Lösung übertragen wird, in Megabyte ($1\,\mathrm{MB} = 10^6\,\mathrm{Byte}$).
- b) Berechnen Sie die Datenmenge pro Tag bei der Edge-Lösung und geben Sie ihren Anteil an der Datenmenge der Cloud-Lösung in Prozent an.
- c) Beurteilen Sie beide Lösungen hinsichtlich Latenz, Datenmenge, Datenschutz und Ausfallsicherheit und treffen Sie eine begründete Empfehlung für die Ampelsteuerung.
Protokolle und Nachrichtenformate
Zwei Geräte können nur zusammenarbeiten, wenn sie vorher festgelegt haben, wie sie miteinander sprechen.
Den Ablauf stellt man als Sequenzdiagramm dar: Die senkrechten Linien sind die Kommunikationspartner, die Zeit läuft von oben nach unten, die Pfeile sind Nachrichten.
Statuscodes und Fehlerfälle
Ein Protokoll legt auch fest, was bei Fehlern passiert. Bei HTTP meldet der Server zum Beispiel 200 OK (erfolgreich) oder 404 Not Found (Ressource existiert nicht). Der Client muss auf beide Antworten vorbereitet sein.
Nachrichtenformat in Java
Ein einfaches Format könnte lauten TEMP;<Ort>;<Wert>. Die Felder sind durch Semikolons getrennt. Der Sender baut den Text zusammen, der Empfänger zerlegt ihn mit split:
public String baue(String pOrt, double pWert) {
return "TEMP;" + pOrt + ";" + pWert;
}
public double lese(String pNachricht) {
String[] teile = pNachricht.split(";");
return Double.parseDouble(teile[2]);
}
Der Aufruf baue("Koeln", 21.5) liefert "TEMP;Koeln;21.5". Bei "TEMP;Essen;18.0".split(";") entsteht ein Feld mit den Einträgen "TEMP", "Essen", "18.0" an den Indizes 0, 1 und 2. Beachten Sie: Das erste Feld hat den Index 0.
Im Schulgarten eines Gymnasiums in Bielefeld misst eine Wetterstation Temperatur und Luftfeuchte. Ein Rechner im Informatikraum ruft die Messwerte über das Protokoll…
Im Schulgarten eines Gymnasiums in Bielefeld misst eine Wetterstation Temperatur und Luftfeuchte. Ein Rechner im Informatikraum ruft die Messwerte über das Protokoll HTTP ab. Der Ablauf einer Abfrage ist wie folgt festgelegt:
-
Der Rechner (Client) sendet die Anfrage
GET /messwerte. -
Die Wetterstation (Server) antwortet mit dem Statuscode
200 OKund den Messwerten. -
Gibt es die angefragte Ressource nicht, antwortet der Server mit dem Statuscode
404 Not Found.
- a) Beschreiben Sie, was man unter einem Protokoll versteht.
- b) Stellen Sie den Ablauf einer erfolgreichen Abfrage als Sequenzdiagramm zwischen Client und Server dar.
- c) Erläutern Sie, was beim Aufruf von
GET /windgeschieht, wenn die Wetterstation keinen Windsensor besitzt.
Ein Sensorknoten sendet Messwerte an einen Server. Client und Server haben folgendes Nachrichtenformat vereinbart: MESS;<Sensor-ID>;<Wert>. Die Felder sind durch…
Ein Sensorknoten sendet Messwerte an einen Server. Client und Server haben folgendes Nachrichtenformat vereinbart: MESS;<Sensor-ID>;<Wert>. Die Felder sind durch Semikolons getrennt. Der Client und der Server verwenden diese Methoden:
public String baueNachricht(int pId, double pWert) {
return "MESS;" + pId + ";" + pWert;
}
public double leseWert(String pNachricht) {
String[] teile = pNachricht.split(";");
return Double.parseDouble(teile[2]);
}
- a) Geben Sie die Zeichenkette an, die der Aufruf
baueNachricht(7, 21.5)zurückliefert, und den Wert, denleseWert("MESS;12;19.8")liefert.
- b) Erläutern Sie, inwiefern das Nachrichtenformat ein Teil eines Protokolls ist und warum Client und Server es übereinstimmend verwenden müssen.
- c) Der Server erhält die Nachricht
FEHLER;12. Beschreiben Sie, was beim Aufruf vonleseWertgeschieht, und erläutern Sie, wie das Protokoll sinnvoll erweitert werden könnte, um mit Fehlermeldungen umzugehen.
Das TCP/IP-Schichtenmodell und Übertragungszeiten
Damit niemand das gesamte Netz „in einem Stück“ bauen muss, wird die Kommunikation in Schichten zerlegt. Jede Schicht löst eine Teilaufgabe und nutzt nur die Dienste der Schicht darunter. Im Internet verwendet man das TCP/IP-Modell mit vier Schichten (das ISO/OSI-Modell mit sieben Schichten dient als Referenz).
| Schicht | Aufgabe | Beispiele |
|---|---|---|
| Anwendungsschicht | Dienste für Programme, z. B. Webseite abrufen; DNS übersetzt einen Namen (z. B. wetter.example) in eine IP-Adresse |
HTTP, DNS |
| Transportschicht | Kommunikation zwischen Programmen; TCP: zuverlässig mit Bestätigung und Wiederholung, UDP: schnell, ohne Garantie | TCP, UDP |
| Internetschicht | Adressierung und Weiterleitung von Datenpaketen zwischen Netzen | IP |
| Netzzugangsschicht | Übertragung der Bits im lokalen Netz | WLAN, Ethernet |
IP-Adresse und MAC-Adresse
Geräte werden in den Schichten unterschiedlich adressiert. Die IP-Adresse gehört zur Internetschicht: Sie bestimmt, in welchem Netz ein Gerät liegt, und dient der Weiterleitung über mehrere Netze hinweg. IPv4-Adressen schreibt man dezimal mit Punkten, z. B. 192.168.0.17 (vier Zahlen von 0 bis 255, also 4 Byte); IPv6 verwendet längere hexadezimale Adressen wie 2001:db8::1. Die MAC-Adresse gehört zur Netzzugangsschicht: Sie kennzeichnet die Netzwerkkarte eines Geräts und wird nur innerhalb des lokalen Netzes (z. B. WLAN oder Ethernet) zur Zustellung des Pakets genutzt.
Kapselung
Beim Senden fügt jede Schicht ihre eigenen Kopfdaten (Header) vor die Daten der höheren Schicht. Ethernet hängt zusätzlich einen Trailer an. Man nennt das Kapselung. Beim Empfänger werden die Header in umgekehrter Reihenfolge wieder entfernt. Die Kopfdaten sind Verwaltungsaufwand (Overhead): Sie transportieren keine Nutzdaten, brauchen aber Übertragungszeit.
Übertragungszeit
$$\text{Übertragungszeit} = \frac{\text{Datenmenge}}{\text{Datenübertragungsrate}}$$Achten Sie auf die Einheiten: $1\,\mathrm{Byte} = 8\,\mathrm{Bit}$, und die Rate steht meist in Bit pro Sekunde.
Für die Kommunikation im Internet wird häufig das TCP/IP-Schichtenmodell mit vier Schichten verwendet. Die folgende Tabelle enthält Protokolle bzw. Aufgaben, die diesen…
Für die Kommunikation im Internet wird häufig das TCP/IP-Schichtenmodell mit vier Schichten verwendet. Die folgende Tabelle enthält Protokolle bzw. Aufgaben, die diesen Schichten zugeordnet werden können.
| Nr. | Protokoll bzw. Aufgabe |
|---|---|
| 1 | HTTP: Abruf einer Webseite |
| 2 | TCP: zuverlässige Übertragung mit Wiederholung verlorener Pakete |
| 3 | IP: Adressierung und Weiterleitung von Datenpaketen zwischen Netzen |
| 4 | WLAN: Übertragung der Bits zwischen Gerät und Router |
- a) Ordnen Sie die vier Einträge den Schichten Anwendungsschicht, Transportschicht, Internetschicht und Netzzugangsschicht zu.
- b) Beschreiben Sie die Aufgabe der Transportschicht.
- c) Erläutern Sie zwei Vorteile, die ein Schichtenmodell bei der Entwicklung von Netzwerkprotokollen bietet.
Eine Fahrrad-Zählstelle einer Stadt im Ruhrgebiet überträgt täglich 1.440 Datensätze (einen pro Minute) mit jeweils 25 Byte Nutzdaten über eine Funkverbindung mit einer…
Eine Fahrrad-Zählstelle einer Stadt im Ruhrgebiet überträgt täglich 1.440 Datensätze (einen pro Minute) mit jeweils 25 Byte Nutzdaten über eine Funkverbindung mit einer Datenübertragungsrate von $9{,}6\,\mathrm{kbit/s}$. Für jedes Datenpaket kommen unabhängig von der Nutzdatenmenge 40 Byte Kopfdaten (Header) von TCP und IP hinzu. Es gilt $1\,\mathrm{kbit} = 1.000\,\mathrm{bit}$ und $1\,\mathrm{Byte} = 8\,\mathrm{Bit}$.
- a) Berechnen Sie die Übertragungszeit für die täglichen Nutzdaten, ohne Kopfdaten zu berücksichtigen.
- b) Berechnen Sie die Übertragungszeit, wenn jeder Datensatz in einem eigenen Datenpaket mit Kopfdaten gesendet wird.
- c) Die Zählstelle fasst je 60 Datensätze in einem Paket zusammen. Berechnen Sie die Übertragungszeit für diesen Fall und erläutern Sie, warum das Zusammenfassen sinnvoll sein kann. Nennen Sie auch einen möglichen Nachteil.
Ein Pegelsensor sendet alle 10 Sekunden einen Messwert von 12 Byte Nutzdaten. Beim Senden werden die Daten durch die Schichten gekapselt. Jede Schicht fügt ihre…
Ein Pegelsensor sendet alle 10 Sekunden einen Messwert von 12 Byte Nutzdaten. Beim Senden werden die Daten durch die Schichten gekapselt. Jede Schicht fügt ihre Kopfdaten (Header, bei Ethernet zusätzlich einen Nachspann, Trailer) hinzu:
| Schicht | Protokoll | Zusätzliche Daten |
|---|---|---|
| Transportschicht | UDP | 8 Byte Header |
| Internetschicht | IP | 20 Byte Header |
| Netzzugangsschicht | Ethernet | 14 Byte Header, 4 Byte Trailer |
Alternativ könnte als Transportprotokoll TCP verwendet werden, das vor der Datenübertragung eine Verbindung aufbaut, den Empfang bestätigt und verlorene Pakete erneut sendet. Der Messwert dient der Hochwasserwarnung, wobei einzelne verlorene Messwerte unproblematisch sind, da jeweils kurz darauf ein neuer Messwert folgt.
- a) Beschreiben Sie den Vorgang der Kapselung und die Rolle jeder Schicht beim Senden und beim Empfangen.
- b) Berechnen Sie die Gesamtgröße des übertragenen Rahmens und den Anteil der Nutzdaten daran in Prozent.
- c) Begründen Sie, ob für diese Anwendung UDP oder TCP besser geeignet ist, und nennen Sie einen Fall aus dem Alltag, in dem Sie die jeweils andere Wahl treffen würden.
Ausblick: Sicherheit und Datenschutz
Im Internet der Dinge laufen Messwerte über fremde Netze. Deshalb werden Daten verschlüsselt (symmetrisch mit einem gemeinsamen Schlüssel, asymmetrisch mit öffentlichem und privatem Schlüssel), und der Datenschutz (DSGVO, Datensparsamkeit) verlangt, nur nötige Daten zu erheben. Standardpasswörter und fehlende Updates sind typische Sicherheitslücken von IoT-Geräten. Diese Themen vertiefen Sie in den Abschnitten ABITEC-VERSCHL und ABITEC-DATENSCH.
Auf einen Blick
Vom Anfang zurück ins Smart Home: Das Wohnungsnetz der Familie Yilmaz ist ein Stern mit dem Router als Mittelpunkt. Das Thermostat ist Client und sendet seine Messwerte per Protokoll (Format und Ablauf vereinbart) über die Schichten bis zum Server des Anbieters. Der Router dient dabei als Gateway ins Internet.