Topologien, Client-Server-Struktur, Protokolle und Schichtenmodell
Familie Yilmaz in Köln hat ein Smart Home. Das Thermostat im Wohnzimmer misst die Temperatur, und Sekunden später steht der Wert in der App auf dem Smartphone, auch wenn die Familie im Urlaub an der Nordsee ist. Wie kommt der Messwert dorthin? Welche Geräte sind wie verbunden, wer fragt wen, nach welchen Regeln, und wer kümmert sich um welchen Teil der Übertragung? Diese Seite liefert das Handwerkszeug, um solche Fragen im Abitur zu beschreiben und zu erläutern.
Netzwerk-Topologien
Ein Rechnernetz lässt sich als Graph darstellen. Die Knoten sind Geräte (Sensor, Router, Laptop, Server), die Kanten sind direkte Verbindungen (Kabel oder Funk). Die Anordnung der Kanten heißt Topologie.
| Topologie | Aufbau | Vorteil | Nachteil |
|---|---|---|---|
| Stern | Alle Geräte hängen an einem zentralen Knoten (Router, Switch). | Einfach, ein defektes Endgerät stört die anderen nicht. | Fällt der Zentralknoten aus, ist das Netz tot. |
| Bus | Alle Geräte teilen sich eine gemeinsame Leitung. | Wenig Leitung nötig. | Die Leitung ist ein Engpass und ein Ausfallrisiko. |
| Ring | Jedes Gerät hat genau zwei Nachbarn, die Verbindungen schließen sich. | Gleichmäßiger Aufbau. | Ein Ausfall kann den Ring unterbrechen. |
| Baum | Hierarchie aus mehreren Sternen. | Gut erweiterbar. | Ausfall eines inneren Knotens trennt einen Teilbaum ab. |
| Masche | Viele Knoten sind mehrfach verbunden; vollständig vermascht, wenn jeder mit jedem verbunden ist. | Mehrere Wege, hohe Ausfallsicherheit. | Viele Verbindungen, hoher Aufwand. |
Verbindungen zählen. Bei $n$ Geräten braucht ein Stern mit einem Zentralknoten $n-1$ Verbindungen (die Endgeräte), ein Ring $n$ Verbindungen. Im vollständig vermaschten Netz geht von jedem Knoten eine Kante zu den $n-1$ anderen. Dabei zählt man jede Kante zweimal (von beiden Enden), also gilt:
$$\text{Anzahl der Verbindungen} = \frac{n \cdot (n-1)}{2}$$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
Das Thermostat bei Familie Yilmaz schickt seine Werte an einen Server im Internet. Die App auf dem Smartphone holt sie dort ab. Das ist die typische Client-Server-Struktur:
-
Ein Server stellt einen Dienst bereit und wartet auf Anfragen.
-
Ein Client schickt eine Anfrage (Request) und erhält eine Antwort (Response).
Ein Gerät kann in einer Rolle Client und in einer anderen Server sein. Das Thermostat ist Client, wenn es Werte hochlädt, die App ist Client, wenn sie sie abruft. Zum Vergleich: Beim Peer-to-Peer-Prinzip sind alle Teilnehmer gleichberechtigt, es gibt keinen zentralen Server.
Zwischen dem Wohnungsnetz und dem Internet vermittelt ein Gateway (hier der Router). Es ist der Netzübergang zwischen zwei Netzen und leitet Datenpakete weiter. Auch die Pegelsensoren am Rhein melden über ein Gateway an einen Server.
Lokale Verarbeitung (Edge) oder Cloud?
Wo sollen Messwerte ausgewertet werden? Man vergleicht nach Kriterien:
| Kriterium | Cloud (entfernter Server) | Edge (lokaler Rechner vor Ort) |
|---|---|---|
| Latenz | größer wegen langer Wege | gering |
| Datenmenge im Netz | alle Rohdaten werden übertragen | nur Zusammenfassungen |
| Datenschutz | Daten verlassen den Standort | Rohdaten bleiben vor Ort |
| Rechenleistung, Wartung | leicht skalierbar, zentral gewartet | begrenzt, Wartung vor Ort |
| Ausfall der Internetverbindung | Dienst fällt aus | lokale Funktion bleibt erhalten |
Eine Bewertung („beurteilen Sie“) braucht immer ein Kriterium, ein Argument und am Ende ein Fazit, das zur Aufgabe passt. Wenn eine Reaktion innerhalb von 50 ms nötig ist und die Antwort aus der Cloud erst nach 120 ms eintrifft, ist die Cloud-Lösung für diese Aufgabe ungeeignet, egal wie billig sie ist.
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
Damit Client und Server sich verstehen, müssen sie dieselben Regeln einhalten. Diese Regeln nennt man ein Protokoll.
Ein Beispiel ist HTTP: Der Client sendet GET /messwerte, der Server antwortet mit dem Statuscode 200 OK und den Daten, oder mit 404 Not Found, wenn die Ressource fehlt. Den Ablauf stellt man als Sequenzdiagramm dar. Die Zeit läuft von oben nach unten, jeder Pfeil ist eine Nachricht.
Die Nachrichten haben ein festgelegtes Format. Ein selbst vereinbartes Beispiel: MESS;<Sensor-ID>;<Wert> mit Semikolon als Trennzeichen. Der Empfänger zerlegt die Zeichenkette in ihre Felder, in Java mit split:
String[] teile = "MESS;4;18.5".split(";");
// teile[0] = "MESS", teile[1] = "4", teile[2] = "18.5"
double wert = Double.parseDouble(teile[2]);
Die Zählung der Feldindizes beginnt bei 0. Zeichenketten werden mit + verkettet, Zahlen dabei automatisch in Text umgewandelt. Zum Beispiel liefert "MESS;" + 4 + ";" + 18.5 die Zeichenkette MESS;4;18.5.
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
Eine Nachricht vom Thermostat zur App durchläuft viele Aufgaben: Messwert formulieren, zuverlässig transportieren, den richtigen Weg durchs Internet finden, Bits über Funk senden. Ein Schichtenmodell teilt diese Aufgaben auf. Jede Schicht erfüllt eine Aufgabe und nutzt nur die Dienste der darunterliegenden Schicht. Das TCP/IP-Modell hat vier Schichten (das ISO/OSI-Modell mit sieben Schichten dient als Referenz).
| Schicht | Aufgabe | Beispiele |
|---|---|---|
| Anwendungsschicht | Dienste für Anwendungen, Format der Nachrichten | HTTP, DNS |
| Transportschicht | Ende-zu-Ende-Transport zwischen Anwendungen | TCP, UDP |
| Internetschicht | Adressierung und Weiterleitung von Paketen zwischen Netzen | IP (IP-Adresse) |
| Netzzugangsschicht | Übertragung der Bits im lokalen Netz | Ethernet, WLAN (MAC-Adresse) |
-
TCP baut zuerst eine Verbindung auf, bestätigt den Empfang und wiederholt verlorene Pakete: zuverlässig, aber mit mehr Aufwand.
-
UDP sendet ohne Verbindungsaufbau und ohne Bestätigung: schlank und schnell, aber ohne Garantie.
-
DNS übersetzt Namen wie
www.example.dein IP-Adressen.
Kapselung
Beim Senden fügt jede Schicht ihre Steuerdaten als Header vor die Daten ein (Ethernet zusätzlich einen Trailer am Ende). Das nennt man Kapselung. Der Empfänger entfernt die Header Schicht für Schicht wieder.
Jedes Gerät hat zwei Adressen mit unterschiedlicher Rolle. Die MAC-Adresse kennzeichnet die Netzwerkkarte im lokalen Netz (Netzzugangsschicht). Die IP-Adresse (IPv4 z. B. 192.168.0.17) adressiert das Gerät im Netzverbund (Internetschicht).
Übertragungszeit und Overhead
$$\text{Übertragungszeit} = \frac{\text{Datenmenge}}{\text{Datenübertragungsrate}}$$Dabei muss die Einheit passen: $1\,\mathrm{Byte} = 8\,\mathrm{Bit}$ und Raten werden in bit/s angegeben.
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.
Zurück zum Anfang: Der Messwert des Thermostats wird als HTTP-Nachricht formuliert (Anwendungsschicht), von TCP zuverlässig transportiert (Transportschicht), mit IP-Adressen durch Router zum Server geleitet (Internetschicht) und im Wohnungsnetz per WLAN zum Router gefunkt (Netzzugangsschicht). Das Wohnungsnetz ist ein Stern mit dem Router als Gateway, und der Server des Anbieters ist der Server im Client-Server-Modell.