Skip to content

Internet-Dienste (DNS, DHCP, HTTP)

DNS - Domain Name System

Mal ehrlich: Würdest du dir lieber www.google.com oder 142.250.185.206 merken? Die Antwort ist klar. Menschen können sich Namen einfach viel besser merken als Zahlenreihen. Genau deshalb gibt es DNS - das Domain Name System übersetzt die lesbaren Domainnamen, die wir Menschen mögen, in die IP-Adressen, die Computer brauchen.

Der DNS-Prozess läuft folgendermaßen ab: Wenn du www.beispiel.de in deinen Browser eingibst, fragt dein Computer zuerst einen DNS-Server: "Was ist die IP-Adresse von www.beispiel.de?" Der DNS-Server antwortet mit der entsprechenden IP-Adresse, zum Beispiel 93.184.216.34. Erst dann kann dein Computer eine Verbindung zu dieser IP-Adresse aufbauen.

DNS ist hierarchisch organisiert. An der Spitze stehen die Root-Server, darunter die Top-Level-Domains wie .com, .de oder .org. Auf der nächsten Ebene folgen die Second-Level-Domains wie google in google.com, und darunter können Subdomains wie www oder mail liegen.

Es gibt verschiedene Arten von DNS-Records. Ein A-Record ordnet einen Namen einer IPv4-Adresse zu, etwa www.beispiel.de93.184.216.34. Ein CNAME ist ein Alias, der auf einen anderen Namen verweist, zum Beispiel könnte shop.beispiel.de auf www.beispiel.de zeigen. MX-Records geben an, welcher Server für E-Mails zuständig ist.

Um nicht bei jeder Anfrage den DNS-Server kontaktieren zu müssen, speichern Computer DNS-Antworten temporär im DNS-Cache. Diese Zwischenspeicherung spart Zeit und reduziert den Netzwerk-Traffic. Typischerweise werden DNS-Einträge für einige Minuten bis Stunden gecacht.

Neben den DNS-Servern deines Internet-Providers kannst du auch öffentliche DNS-Server nutzen, etwa Googles 8.8.8.8 und 8.8.4.4, Cloudflares 1.1.1.1 oder Quad9s 9.9.9.9.

DHCP - Dynamic Host Configuration Protocol

Stell dir vor, du müsstest bei jedem neuen Gerät in deinem Heimnetzwerk manuell IP-Adresse, Netzmaske, Gateway und DNS-Server eintragen. Das wäre nicht nur nervig, sondern auch fehleranfällig - ein Tippfehler, und nichts funktioniert mehr. Zum Glück gibt es DHCP, das all diese Konfigurationen automatisch verteilt.

Der DHCP-Prozess folgt einem vierstufigen Ablauf, der auch DORA genannt wird: Discover, Offer, Request, Acknowledge.

DCHP

Bildquelle: Windowstechno

Wenn ein neues Gerät ins Netzwerk kommt, sendet es zunächst einen Broadcast mit einer Discover-Nachricht: "Ich bin neu hier und brauche eine IP-Adresse!" Der DHCP-Server empfängt diese Nachricht und antwortet mit einem Offer: "Ich biete dir die IP-Adresse 192.168.1.100 an, zusammen mit der Netzmaske 255.255.255.0, dem Gateway 192.168.1.1 und dem DNS-Server 8.8.8.8." Das Gerät nimmt das Angebot mit einer Request-Nachricht an: "Ja, ich nehme diese Konfiguration." Schließlich bestätigt der Server mit Acknowledge: "OK, diese Adresse gehört dir für die nächsten 24 Stunden."

Diese zeitliche Begrenzung nennt sich Lease Time oder Leihzeit. Die IP-Adresse wird nur für eine bestimmte Zeit vergeben, typischerweise zwischen 24 Stunden und 7 Tagen. Bevor die Zeit abläuft, muss das Gerät die Adresse erneuern, sonst wird sie wieder freigegeben und kann an andere Geräte vergeben werden.

Die Vorteile von DHCP sind enorm: Es ist keine manuelle Konfiguration mehr nötig, alle Einstellungen werden zentral verwaltet, IP-Adressen werden effizient genutzt, und Änderungen wie ein neuer DNS-Server müssen nur an einer Stelle vorgenommen werden. In Heimnetzwerken ist normalerweise der Router der DHCP-Server und vergibt IPs aus einem definierten Pool, zum Beispiel von 192.168.1.100 bis 192.168.1.200.

HTTP - Hypertext Transfer Protocol

HTTP ist das Protokoll, mit dem Webseiten übertragen werden. Es ist ein Client-Server-Protokoll, das auf Layer 7 (der Anwendungsschicht) arbeitet und TCP auf Port 80 nutzt. Der Browser ist der Client, der Anfragen stellt, und der Webserver antwortet mit den gewünschten Inhalten.

HTTP kennt verschiedene Methoden oder Verben. Die wichtigste ist GET, die zum Abrufen von Daten verwendet wird - etwa wenn du eine Webseite öffnest. Mit POST werden Daten an den Server gesendet, zum Beispiel wenn du ein Formular ausfüllst oder dich einloggst. PUT aktualisiert Daten auf dem Server, und DELETE löscht Daten.

Eine HTTP-Anfrage könnte so aussehen:

GET /index.html HTTP/1.1
Host: www.beispiel.de
User-Agent: Mozilla/5.0

Der Server antwortet dann mit einem HTTP-Response:

HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 1234

<html>
  <body>Hallo Welt!</body>
</html>

Die HTTP-Statuscodes teilen dem Client mit, was mit der Anfrage passiert ist. Codes im 2xx-Bereich bedeuten Erfolg - 200 OK heißt, alles ist gut gelaufen. 3xx-Codes signalisieren Umleitungen, etwa 301 Moved Permanently für dauerhaft verschobene Inhalte. 4xx-Codes zeigen Client-Fehler an: 404 Not Found bedeutet, dass die angeforderte Seite nicht existiert, 403 Forbidden heißt, der Zugriff ist verboten. 5xx-Codes weisen auf Server-Probleme hin, wie 500 Internal Server Error oder 503 Service Unavailable.

HTTPS - HTTP Secure

HTTPS ist die verschlüsselte Version von HTTP und nutzt Port 443 statt Port 80. Du erkennst HTTPS an dem Schloss-Symbol in der Adresszeile deines Browsers. Die Verschlüsselung erfolgt durch TLS (Transport Layer Security) oder das ältere SSL.

HTTPS bietet drei entscheidende Vorteile: Vertraulichkeit - niemand kann die übertragenen Daten mitlesen; Integrität - die Daten können unterwegs nicht verändert werden; Authentifizierung - du kannst sicher sein, dass der Server wirklich der ist, für den er sich ausgibt.

Während bei HTTP alle Daten im Klartext übertragen werden, sind bei HTTPS alle Daten zwischen Client und Server verschlüsselt. Der Server weist sich mit einem Zertifikat aus, das wie ein digitaler Ausweis funktioniert. Diese Zertifikate werden von vertrauenswürdigen Certificate Authorities (CAs) ausgestellt, und Browser prüfen diese Zertifikate automatisch.

Zusammenspiel der Dienste

Wenn du https://www.google.com in deinen Browser eingibst, arbeiten alle diese Dienste zusammen: Zunächst hat dein Computer durch DHCP eine IP-Adresse, ein Gateway und DNS-Server erhalten. DNS löst dann www.google.com in eine IP-Adresse auf, etwa 142.250.185.206. Über TCP wird eine Verbindung zu Port 443 aufgebaut (Three-Way-Handshake), anschließend wird eine verschlüsselte TLS-Verbindung hergestellt. Der Browser sendet einen HTTP-GET-Request für die Webseite, der Server antwortet mit dem HTML-Code (Status 200), und der Browser zeigt die Webseite an. Öffnen einer Webseite verwendet?

Informatik & ICT Unterricht Neufeld