Schichtenmodell
In vielen Bereichen der Wissenschaft nimmt man sog. Schichtenmodelle zu Hilfe, um Sachverhalte besser oder einfacher verstehen zu können.
Ein Schichtenmodell in der Physik
Kennen Sie das Schalenmodell von Niels Bohr?
Das ist EINE von vielen Möglichkeiten, ein Atom darzustellen, zu analysieren und zu erklären. Und dieses Modell baut eben auf Schichten resp. Schalen auf.
Zum Analysieren und Verstehen von Netzwerken existieren auch verschiedene Schichtenmodelle. Wir schauen uns das sog. „TCP/IP“-Schichtenmodell an.
Eine Analogie
Um sich besser vorstellen zu können, was so ein Schichtenmodell ist, schauen wir das folgende Beispiel an. Die Geschichte und die Bilder stammen vom Gymnasium Kirchenfeld und wurde für diese Webseite angepasst (Quelle: https://informatik.mygymer.ch/base/?page=network2/9-tcp/)
Wir schauen das Ganze am Beispiel „Paketversand“ an. Warum Paketversand? Ganz einfach, weil die Daten, die durchs Internet schwirren, auch immer als Pakete versendet werden.
Die Lerbermatt hat neue Pulte bestellt, aber diese können nicht geliefert werden. Das Gymnasium Kirchenfeld ist so nett und will uns helfen. Sie schicken der Lerbermatt einige Pulte als Übergangslösung:
Erste (oberste) Schicht
Die Schüler*innen des Kirchenfeldes wissen, dass ihre Schule der Lerbermatt Pulte schicken:
Die Schüler*innen der Lerbermatt wissen, dass sie Pulte kriegen werden vom Kirchenfeld, aber wie das genau vor sich geht, wissen sie nicht. Die Pulte werden einfach irgendwann bald mal da sein.
Zweite Schicht
Der Hausdienst vom Kirchenfeld weiss mehr. Er weiss, dass er die Pulte zuerst auseinander nehmen und in kleinere Pakete verpacken muss:
Der Hausdienst hat jedoch keine Ahnung, wie die Pakete schlussendlich transportiert werden. Er kann nicht drauf hoffen, dass ein riesengrosser Lastwagen kommt, deshalb müssen die Pulte eben auseinandergenommen werden. Ebenfalls schreiben sie die Pakate sauber an, damit der Hausdienst der Lerbermatt weiss, welche Stuhl- und Tischbein zu welcher Platte und zu welcher Sitzfläche gehört.
Dritte Schicht
Nun muss eine Logistik-Firma avisiert werden. Der Hausdienst des Kirchenfelds ruft beispielsweise die Post an und erklärt, dass man da 200 kleinere und grössere Pakete habe, die verwendet werden müssen:
Damit die Pakete an der richtigen Schule ankommen, nämlich bei uns in der Lerbermatt, müssen die Pakete noch mein einem Adressetikett versehen werden: Kirchstrasse 64 in 3098 Köniz. Die Post organisiert nun den Transport und schickt Fahrzeuge vorbei.
Vierte Schicht
Die Post schickt nun beispielsweise einen grossen Lastwagen zum Kirchenfeld:
Den Schüler*innen oder dem Hausdienst ist es schlussendlich egal, wie die Pakete verschickt werden. Es spielt ihnen keine Rolle, ob die Post einen grossen Lastwagen oder zehn kleine schickt. Vielleicht versucht sie es auch mit dem Velokurier (was hier aber in die Hose gehen könnte😆). Oder, wenn die beiden Schulen viel weiter auseinander liegen würden (z.B. Bern und Hamburg), würde dei Post vielleicht ein Flugzeug organisieren.
Die Schichten im Überblick
Man kann die Schichten des TCP/IP-Modells auch auf obigen Analogie anwenden, was dann etwa so ausschaut:
Vorteile eines Schichtenmodells
Ein Schichtenmodell hat hat für unseren Fall zwei wichtige Vorteile:
Die Schichten bauen aufeinander auf
- Die oberste Schicht baut auf den unteren Schichten auf. Man kann auch andere Dinge transportieren auf der obersten Schicht. Das Vorgehen über Hausdienst, Post und Tranportmittel bleibt gleich.
- Auch wenn im Kirchenfeld der Hausdienst die Möbel auseinandernimmt, so baut sie in der Lerbermatt aus Zeitgründen vielleicht eine andere Firma zusammen, oder das Ganze wird im Rahmen einer BNE-Woche in einer Klasse mit Schüler*innen zusammengebaut. Egal, die unteren beiden Schichten braucht es weiterhin.
- Und auch die zweitunterste Schicht braucht die unterste Schicht. Ich kann als Transportfirma nicht einen Transport organiseren
Inhalte der Schichten sind austauschbar
- Wenn wir die oberste Schicht anschauen: heute sind es Pulte, die transportiert werden sollen, morgen sind es aber vielleicht Theater-Utensilien oder Laptops oder sonstwas. Das ist den unteren resp. anderen Schichten egal (vorausgesetzt, die Schnittstellen dazwischen sind sauber definiert).
- Auch die unterste Schicht kann ersetzt werden. Wenn die Post der Meinung ist, sie könne die Pakete einfacher mit dem Schiff statt mit Lastwagen transportieren, dann interessiert uns das eigentlich nicht. Hauptsache, sie werden transportiert.
Das TCP/IP-Schichtenmodell
Wir haben jetzt dauernd über Pulte vom Kirchenfeld gesprochen und angeschaut, wie diese, in einzelne Pakete verpackt, auf irgendeine Art in die Lerbermatt kommen.
Mit echten Datenpaketen ist es ganz ähnlich. Auch hier gilt:
- Die oberen Schichten bauen auf den unteren auf. Auch, wenn wir auf der obersten Ebene keine Webseiten überträgt, sondern E-Mails oder Dateien versendet; die unteren drei Schichten haben immer noch ihre Funktion und das bleibt gleich.
- Schichten lassen sich von der Art her austauschen. Auf der untersten Schicht kann man Daten über ein Kupferkabel verschicken, aber ein Glasfaserkabel oder sogar WLAN geht auch. Das tangiert die Schichten darüber nicht.
Grafisch darstellen kann man das TCP/IP-Modell etwa so:
Jede Schicht erledigt für sich eine Aufgabe. Wie das passiert, interessiert die anderen Schichten nicht. Lediglich die Schnittstellen zwischen den Schichten (Übergabeparameter) müssen geklärt sein.
Die Protokolle der einzelnen Schichten
Damit jede Schicht ihre Aufgaben erledigen kann, hat man sog. Protokolle definiert, nach denen die Schichten arbeiten. Im Folgenden gehe ich kurz auf ein paar Protokolle ein. Einige davon haben Sie sicher schon mal gehört:
Anwendungsschicht
Auf der obersten Schicht sind beispielsweise die Protkolle HTTP und HTTPS zu Hause, welche dafür srogen, dass wir im Browser Daten angezeigt kriegen. Dann gibt es aber beispielsweise noch die Protokolle IMAP und SMPT. Diesen Protokollen begegnen Sie, wenn Sie in Ihrem E-Mail Programm eine neue E-mMail Adresse einrichten. Meist funktioniert das automatisch, aber gelegentlich tauchen diese auf. IMAP ist für den Empfang von E-Mails zuständig, SMTP für das Senden von E-Mails.
Transportschicht
Grundsätzlich ist die Transportschicht dafür zuständig, die zu sendenden Daten in Pakete aufzuteilen (wie der Hausdienst im Kirchenfeld die Pulte auseinander nimmt und verpackt).
Hier haben wir die beiden eigentlich sehr spannenden Protokolle TCP und UDP. TCP wird dann verwendet, wenn es wichtig, dass jedes Paket sauber und vollständig ankommt. Denken Sie an die Pulte vom Kirchenfeld zurück. Wenn unser Hausdienst die Pulte zusammenbauen soll, dann ist er darauf angewiesen, dass wirklich jedes Paket ankommt. Sonst kommt das nicht gut.
Konkret: Sie erhalten von Ihrer Kolleg*in ein E-Mail mit einem Word-Dokument angehängt. Dann hätten Sie keinen Spass, wenn das Word-Dokument nur zur Hälfte ankommt. Da erwarten Sie schon das vollständige Dokument, oder zumindest einfach das, was Ihre Freund*in auch verschickt hat.
Beim obigen Beispiel mit den Pulten dauert es entsprechend länger, bis unser Hausdienst alles zusammengebaut hat, weil er teilweise lange warten muss, bis das letzte Paket angekommen ist. Das ist hier genau gleich.
Es gibt aber Fälle, wo es nicht nötig ist, dass wirklich jedes Paket perfekt ankommt. Dann kommt das UDP-Protokoll zum Einsatz. Das ist beispielsweise dann der Fall, wenn Sie ein Online-Game spielen oder mit WhatsApp telefonieren. Findige Techniker*innen haben irgendwann rausgefunden, dass wir das Gegenüber am Telefon immer noch gut verstehen, auch wenn die Qualität ein wenig schlechter ist. Klar könnte man dafür sorgen, dass jedes einzelne Paket eines Telefonanrufs perfekt übertragen wird. Aber dann werden deutlich mehr Daten übertragen und es dauert auch länger. Dann könnten Sie beispielsweise bei einem Videoanruf das häufige Problem haben, dass Ton und Bild nicht synchron sind. Das ist scheusslich. Drum lieber ein bisschen weniger auf Pakete warten, dafür geht es zackig.
Beim Gamen sind gewisse Daten nur kurz gültig, beispielsweise Positionsdaten von Spieler*innen oder Gegner*innen. Wenn da mal was nicht zur Zeit ankommt, macht es auch keinen Sinn, dass das Game drauf wartet, bis die letzte Information irgendwann noch nachgeliefert wird. Das ist passé, Vergangenheit. Deshalb wird hier häufig UDP verwendet. Youtube verwendet auch UDP-ähnliche Protokolle. netflix setzt aktuell eher auf TCP, wobei dort das Buffering wichtig ist. Da wird aktuell mehr an Videodaten in einen Zwischenspeicher geladen, als gezeigt werden müssen. Und wenn nun kurzzeitig die Leitung schlecht wird, kann kurzfristig aus dem Zwischenspeicher die nächsten Bilder abgerufen werden. Und wenn dann die Leitung wieder besser wird, füllt man den Buffer wieder auf.
Internetschicht (auch Vermittlungsschicht genannt)
Die zweitunterste Schicht ist zuständig für das Verschicken und Routing. Auf dieser Schickt wird jedem Datenpaket u.a. die Absende- und Ziel-IP-Adresse angehängt, damit das Paket weiss, wo es hin muss. Hier sind es in der Tat gerade die Protokolle, von denen Sie bereits vorhin gelesen haben: das IP-Protokoll in den Versionen 4 und 6. Routing bedeutet hier, dass nicht jedes Paket am gleichen Ort durch muss, sondern diese unterschiedliche Routen nehmen können. Im Kapitel „Rechnernetze“ haben Sie dazu bereits ein Bild gesehen.
Sog. Router sorgen für das Routing und leiten Pakete vom einen Netz zum nächsten weiter. Das Gerät bei Ihnen zu Hause (Swisscom-Box, oder eine Box von Yallo, Wingo, etc.) spielt Router, indem er Ihr internes Netzwerk zu Hause mit „dem Internet“ verbindet. Sie werden im Filius-Workshop bald noch ein wenig mehr dazu erfahren.
Sie erinnern sich an die IP-Adressen und die Subnetzmaske? Hier nochmals drei Geräte im Vergleich:
Host 1: 192.168.3.44 Host 2: 192.168.3.12 Host 3: 192.168.5.10 Subnetzmaske: 255.255.255.0
Die ersten beiden Hosts befinden sich im gleichen Subnetz. Die können direkt miteinander kommunizieren. Der dritte Host befindet sich aber in einem anderen Subnetz (192.168.5 statt 192.168.3). Hier hat ein Router den Zweck, diese beiden Netzwerke miteinander zu verbinden.
Physikalische Schicht
Diese Schicht beschreibt wirklich die echte physische Übertragung und beschreiben die Hardware: Kabel, Switche, kabellose Übertragung. Auf dieser untersten Ebene spielt die IP-Adresse keine Rolle mehr, sondern da kommt die MAC-Adresse zum Zug. Mit der MAC-Adresse wird ein Datenpaket schlussendlich zum richtigen Computer resp. Gerät geschickt. Das Gerät, das bei Ihnen zu Hause zuständig ist für die korrekte Zustellung an die richtige MAC-Adresse, ist der sog. Switch. Dieser ist meist schon integriert und erkennbar an beispielsweise vier RJ45-Anschlüssen:
Ein Switch ist jeweils für genau ein Subnetz zuständig. Die beiden ersten Hosts oben sind mit einem Switch verbunden, der Drucker muss über einen Router an dieses erste Netz verbunden werden:
Wozu braucht es die Subnetze?
Hosts in einem Netzwerk haben die Angewohnheit, „in der Gegend rumzuschreien“, das heisst, will Host A mit Host B kommunizieren, schreit er seine Anfrage einfach raus. Alle anderen Hosts hören zu, und falls sich einer angesprochen fühlt, gibt er Antwort.
Das ist netzwerktechnisch einfach so gelöst, aber es führt zu ganz vielen Kollisionen, weil immer alle schereien, alle zuhören und viele Antworten.
Wenn man hingegen Subnetze erstellt und diese mit Routern abtrennt, dann schreien die Hosts zwar immer noch, werden aber nur noch innerhalb des gleichen Subnetzes gehört. Wenn niemand antwortet, wird die Anfrage an den Router weitergeleitet und der gibt die Anfrage in das nächste Subnetz weiter.
Subnetze braucht es ganz einfach deshalb, damit ein Netzwerk nicht zu gross wird und das Netzwerk nicht unerträglich langsam wird, weil zu viele Kollisionen auftreten.