Das Internet
Ein Internet ist Verbindung von zwei oder mehreren Netzwerken zum Austausch von Daten über spezielle Geräte (Router) und Fernleitungen (ursprünglich Telefonverbindungen), die den Datenstrom steuern. Der Datenaustausch findet mit standardisierten Methoden statt, die in mehreren sogenannten "Schichten" kommunizieren. Daraus ergibt sich die Möglichkeit, ganz unterschiedliche "Dienste" über diese Verbindungen zu betreiben (z.B. E-Mail, WWW, FTP, VPN u.a.).
Da sich im Laufe der Zeit nicht nur einige, sondern quasi alle Netzwerke miteinander verbunden haben, ist ein weltweit umspannendes Internet entstanden, das gemeinhin als "das Internet" bezeichnet wird. Aber rein technisch kann es daneben weitere, davon abgetrennte Internets geben.
Die Schichten und die Dienste
Das Prinzip der Schichten
Den Aufbau des Internets in "Schichten" kann man vergleichen mit dem Ablauf eines Paketversands. Die Herr Meier von der Firma A bestellt bei Herrn Müller von der Firma B bestimmte Teile. Herr Müller nimmt die Teile, versieht sie mit einem Lieferschein und legt sie beim Versand in ein entsprechendes Fach. Der Versand verpackt die Teile samt Lieferschein und gibt das Paket an die Logistik. Die Logistik packt das Paket in einen Container, der dann in einem LKW landet. Der LKW fährt nun zu Firma A in den Wareneingang. Dort wird das Paket aus dem LKW entladen und der Ziel-Abteilung zugeführt. Der Posteingang der Zielabteilung nimmt das Paket in Empfang, packt es aus und legt die Teile samt Lieferschein ins Postfach von Herrn Meier. Herr Meier holt die Teile ab und ruft Herrn Müller an, um sich für die Lieferung zu bedanken!
Nach einem vergleichbaren Prinzip läuft der Versand von Daten ab. Das entscheidende dabei ist, dass der LKW-Fahrer nicht wissen muss, was er transportiert und für wen. Und Herr Müller muss nicht wissen, wie das Paket von Firma A zu Firma B gelangt. Er weiß nur, dass er das Paket samt Lieferschein beim Versand abgeben muss. Alles andere macht dann der Versand bzw. die weiteren Beteiligten.
Herr Meier, der Versand, die Logistik, der LKW - das entspricht im Internet den Schichten. Auf jeder Schicht kommunizieren zwei Endpunkte (Herr Meier mit Herrn Müller, der Versand von Firma B mit dem Wareneingang von Firma A, Logistik mit Logistik) miteinander, aber ohne die unter ihnen oder über ihnen liegenden Schichten zu kennen oder zu berücksichtigen.
Die Schichten im Internet
Das Internet hat in diesem Modell 8 Schichten, deren Prinzip nur anhand eines vereinfachten Beispiels erläutert werden soll.
Die oberste Schicht (also Herr Meier und Herr Müller) sind im Internet die sog. "Dienste". Als Beispiel nehmen wir den Dienst E-Mail. Wenn Herr Müller Herrn Meier eine E-Mail (entspricht den Teilen im obigen Beispiel) schickt, dann schreibt er den Text (die Teile) und gibt außerdem die E-Mail-Adresse von Herrn Meier an (Lieferschein). Das E-Mail-Programm gibt das Ganze nun einem bestimmten dafür vorgesehenen Server (Versand), der sich um den Versand der E-Mail kümmert. Dieser Server "entschlüsselt" nun die E-Mail-Adresse: Was ihn interessiert ist nur der hintere Teil nach dem @-Zeichen. Denn dieser Teil (die Domain) identifiziert den Server, der die E-Mail Herrn Meier zustellen kann. In einer im Internet veröffentlichten Liste findet der Server die tatsächliche, technische Adresse des Servers (die sog. IP-Adresse, eine Ziffernfolge in 4 Blöcken wie z.B. 157.90.191.190), mit der er nun die E-Mail diesem Server übergeben kann. Dieser Server (der Wareneingang) weiß nun, anhand des Teils der E-Mail-Adresse vor dem @-Zeichen, in welches Postfach er die E-Mail legen muss, damit das E-Mail-Programm von Herrn Meier sie abholen kann.
In Wirklichkeit ist es noch etwas komplizierter, aber das Prinzip ist immer dasselbe: die eine Schicht weiß nicht, was die andere macht. Die Daten werden an die jeweilig über- bzw. untergeordnete Schicht übergeben bzw. von ihr übernommen. So muss ich als Anwender auf der obersten Schicht nicht wissen, wie die technischen Adressen (IP-Adresse) der beteiligten Server lautet. Ich muss nur die E-Mail-Adresse von Herrn Meier kennen. Und selbst wenn die Firma von Herrn Meier ihre Server komplett neu installiert und neue IP-Adressen bekommt, bleibt die E-Mail-Adresse von Herrn Meier dieselbe.
Protokolle
Wichtig, damit das ganze funktioniert, sind die Protokolle. Protokolle sind definierte Verfahren zum Austausch von Daten. Nur wenn diese Verfahren klar definiert sind, kann ein Datenaustausch klappen. Jede Schicht hat ihre eigenen Protokolle mit denen auf ihr kommuniziert wird. Die obersten Schicht – im Beispiel E-Mail – wird als Dienst bezeichnet und auch dieser Dienst basiert auf einem Protokoll: Absender, Empfänger, Datum, Betreff etc. werden in fest definierter Form verfasst und zusätzlich zum eigentlichen Inhalt in die E-Mail gepackt (in den sog. Headern). Anhand der Header wird dann der Versand auf der nächsten, darunterliegenden Schicht durchgeführt. Diese Schicht hat wiederum ihre eigenen "Header", also technische Daten (z.B. die IP-Adressen), die an die nächste Schicht übergeben werden und so fort bis zur untersten Schicht, auf der zwei Hardware-Geräte elektronische Signale über Kabel oder Funkwellen austauschen.
Ein "Dienst" ist also die jeweilige Funktionalität auf einer bestimmten Schicht. Das "Protokoll" ist die Art und Weise, wie dieser Dienst kommuniziert. Die "Schicht" ist die Ebene innerhalb der mehrschichtigen Arbeitsteilung, auf welcher der Dienst operiert.
Ports
Damit ein Server mehrere Dienste gleichzeitig betreiben kann, wird bei der Kommunikation neben der eigentlichen Adresse des Servers auch noch ein sogenannter "Port" angegeben. Dabei handelt es sich um eine Zahl zwischen 1 und 65535, die angibt, welches Programm innerhalb des Servers auf die entsprechende Anfrage reagieren soll. Im Prinzip kann jeder Server selbst festlegen, welche Portnummer mit welchem Programm (und damit Dienst) verbunden sein soll, doch der Praktikabilität halber wurden sogenannte Standard-Ports definiert, die alle Server gleichermaßen benutzen. So hat z.B. SMTP, also das Protokoll, das für den E-Mail-Versand zuständig ist, den Standard-Port 25. Erhält ein Server eine Anfrage mit dieser Portnummer, dann nimmt das E-Mail-Programm (ein SMTP-Server) die Anfrage entgegen und bearbeitet sie. Kommunizieren zwei Server per SMTP miteinander, dann können sie im Verlauf der Kommunikation sich auch auf einen anderen Port einigen, doch um die Kommunikation aufzubauen, müssen sie den Standardport verwenden, damit es überhaupt zu sinnvoller Kommunikation kommen kann.
Proxy-Server
In vielen Fällen und bei komplexeren Netzwerken gibt es nicht nur einen Server, der Anfragen aus dem Internet beantwortet, sondern viele verschiedene die ggf. für unterschiedliche Aufgaben bereitstehen. Die Kommunikation läuft dann meist nicht direkt zu diesen Servern, sondern wird von einem spezifischen Server vermittelt, der wie eine Art Türsteher zwischen Internet und Netzwerk steht, alle Anfragen annimmt, ggf. überprüft und dann intern an den jeweils zuständigen Server weiterleitet. Solche Türsteher-Server nennt man Proxy-Server. Sie dienen aber nicht nur der flexiblen Verteilung von Datenströmen, sondern sie sollen auch verhindern, dass aus dem Internet direkt mit den jeweiligen Servern kommuniziert werden kann.
Proxy-Server können dabei die Funktion einer sogenannten "Firewall" übernehmen, d.h. den eingehenden und ausgehenden Datenstrom überwachen und in bestimmten Situationen unterbinden um z.B. Hackerangriffe abzuwehren oder Datensendungen zu blockieren, die Viren enthalten.
Das Internet kommuniziert Zustandslos
Zustandslos bedeutet: Die Kommunikation zwischen den verschiedenen Systemen (Mail-Clients bzw. Server) erfolgt quasi blind. Der eine Server schickt dem anderen Server die E-Mail, ohne dass er von ihm bestätigt bekommt, dass die E-Mail auch angekommen ist. Die Kommunikation läuft immer nur in eine Richtung. Dabei wird aber der gesamte Kommunikationsvorgang eventuell in mehrere Schritte aufgeteilt, in denen dann der empfangende Server wiederum Daten an den sendenden Server zurückschickt. Wir kennen das von Fällen, bei denen wir uns z.B. bei der Adresse vertippt haben. Unser E-Mail-Client (und auch unser Postausgangsserver) versenden die E-Mail anstandslos. Aber nach ein paar Minuten bekommen wir vom empfangenden Server unsererseits eine E-Mail, in der wir darüber informiert werden, dass die E-Mail nicht zugestellt werden kann. Da diese Rückmeldung aber nicht während der Versand-Kommunikation stattfindet, sondern als separate E-Mail, spricht man von zustandsloser Kommunikation. Meine E-Mail an die falsche Adresse hat keinen "Zustand" (gültig oder ungültig, erfolgreich oder nicht), sie wird einfach abgeschossen in der Hoffnung, dass sie ankommt. Und der empfangende Server kann durchaus auch darauf verzichten, mich über die Nicht-Zustellung zu unterrichten.
Dieses Prinzip, das auch für weiter unten liegende Schichten gilt und das zunächst wie eine Schwäche wirken kann, ist eigentlich das Erfolgsrezept für das Internet. Es sorgt zwar einerseits dafür, dass der Datenaustausch misslingt, andererseits ist es aber auch sehr fehlertolerant und effizient, weil nicht ständig auf Rückmeldungen gewartet werden muss und der Ablauf wesentlich einfacher ist, als wenn der Datenaustausch permanent verifiziert würde. Außerdem wird auf den weiter unten liegenden Schichten der Datenstrom in einzelne kleine Datenpakete aufgeteilt, die dann ebenso zustandslos als einzelne Sendungen verschickt werden und dabei ggf. ganz unterschiedliche Wege durchs Internet nehmen, um dann auf dem Zielserver wieder zusammengebastelt zu werden. Bestimmte Prüfsummen sorgen dafür, dass der Zielserver erkennen kann, ob alle Datenpakete angekommen sind oder nicht. Fehlt ein Paket, verwirft er die Sendung und je nach Schicht und Protokoll gibt er eine entsprechende Rückmeldung. Dann muss der Datenversand einfach noch einmal versucht werden.
Durch diese Aufteilung in kleine Pakete, die wiederum zustandslos versendet werden, können die Internetverbinungen optimal genutzt und ausgelastet werden. Aber manchmal klappt es eben nicht, dann sehen wir einen Browser, der endlos rotiert und nichts anzeigt oder eine E-Mail braucht manchmal mehrere Minuten, bis sie ankommt.
Dienste
Als Internet-Dienste bezeichnen wir den Datenaustausch auf oberster Schicht mit bestimmten Protokollen. Die wichtigsten Dienste im Internet sind E-Mail und World Wide Web (WWW). Daneben gibt und gab es allerdings noch viele weitere Dienste wie z.B. IRC, FTP, VoIP, VPN, Instant Messaging u.a.
Da sich das http- bzw. https-Protokoll (die Protokolle des WWW) als sehr effizient und flexibel erwiesen haben, werden heute viele Funktionalitäten über dieses Protokoll realisiert, obwohl sie nicht eigentlich zum WWW gehören. In gewisser Weise bilden sie als Dienste eine weitere Schicht über dem WWW. Dazu gehören Protokolle wie WebDAV, CalDAV, CardDAV, REST etc. Die Funktionalität beispielweise von WebDAV entspricht im Wesentlichen dem, was bisher mit FTP erledigt wurde. WebDAV nutzt dafür aber die Kommunikation über http, also das WWW-Protokoll. Der Vorteil liegt einerseits darin, dass dieses Protokoll von fast allen Servern beherrscht wird, d.h. entsprechende Webserver sind sehr verbreitet, und dass dieses Protokoll etabliert und mit seiner verschlüsselten Variante (https) sehr sicher ist. Moderne Cloud-Dienste wie z.B. Nextcloud arbeiten über WebDAV.
Ein Überblick über die wichtigsten Dienste im Internet:
| Dienst | Funktionalität | Protokoll(e) |
|---|---|---|
| World Wide Web (WWW) | Übertragen von HTML-basierten Dokumenten und deren eingebettete Elemente | http/https |
| Versenden von Text-Nachrichten und Dateien | SMTP / SMTP+STARTTLS / SMTPS | |
| Abrufen von Postfächern | IMAP, POP3 | |
| WebDAV | Übertragen von Dateien | http/https |
| CalDAV | Austausch von Kalenderdaten und Terminen | http/https |
| CardDAV | Austausch von Kontaktdaten und Adressbüchern | http/https |
| Remote Computing | Fernzugriff auf Computer (auf grafische Oberfläche) | SSH, VNC, RDP |
| Voice over IP (VoIP) | Telefonie über Internet | VoIP |
| Instant Messaging | Chat und Instant Messaging (u.a. Threema, Signal, Whatsapp) | XMPP, Matrix, IRC |
| Domain Name System (DNS) | Namensauflösung (Domains) | DNS |
| Network Time Protocol (NTP) | Verteilung von Datum/Uhrzeit im Internet | NTP |
| Internet of Things | Kommunikation zwischen Geräten (Internet of Things) | MaTT/CoAP |
| Usenet | Nachrichtenverteilung in Gruppen | NNTP |
| Virtual Private Network (VPN) | Verschlüsselte/geschützte Verbindung von Netzwerken über Internet | WireGuard, OpenVPN, IPsec |