DHCP protokoll
Schicht 7
• DHCP (Dynamic Host Configuration Protocol) dient zur automatischen Konfiguration von Hosts, z. B. Zuweisung von IP-Adresse, DNS-Server.
• Kommunikation erfolgt über UDP-Ports 67 (Client → Server) und 68 (Server → Client).
Wichtige Felder im DHCP-Paket:
• Op-Code: 1 = Anfrage, 2 = Antwort
• Transaction ID: Zufällige ID zur Identifikation der Anfrage
• Client IP-Adresse (ciaddr): 0.0.0.0, wenn keine IP vorhanden
• Your IP-Adresse (yiaddr): Vom Server zugewiesene IP
• Server IP (siaddr): IP des DHCP-Servers
• Client MAC-Adresse (chaddr): Identifikation des Clients
• Optionen: Enthalten zusätzliche Konfigurationswerte (z. B. Lease-Time, Subnetz, Gateway).
Wichtige DHCP-Optionen:
• 53: DHCP Message Type (1 = Discover, 2 = Offer, 3 = Request, 5 = ACK, 6 = NAK)
• 1: Subnet Mask
• 3: Router (Gateway)
• 6: DNS-Server
• 51: Lease-Time (Dauer der IP-Zuordnung)
DHCP-Ablauf:
1. Client sendet DISCOVER: Broadcast-Anfrage, um einen DHCP-Server zu finden.
2. Server sendet OFFER: Enthält eine IP-Adresse und ggf. weitere Optionen.
3. Client sendet REQUEST: Wählt eine IP aus und fordert sie an.
4. Server sendet ACK oder NAK: Bestätigung oder Ablehnung der Anfrage.
Die Lease-Time gibt an, wie lange die IP-Adresse gültig bleibt. Der Client kann sie mit einer RELEASE-Nachricht freigeben. In LANs ist die Lease-Time meist sehr lang.
Domains
• Menschen merken sich Namen besser als Zahlen
• Computer arbeiten besser mit Zahlen als mit Namen
• Das Domain Name System (DNS) übersetzt Namen in Zahlen (IP-Adressen)
• Top-Level-Domain (TLD): com
• Second-Level-Domain (SLD): example (Hauptdomain)
• Subdomain: www
• Protokoll: https:// (hier die verschlüsselte Variante von HTTP)
• Alles wird durch Punkte getrennt
Top-Level-Domains:
• Top-Level-Domains (TLDs):
• Generische TLDs (gTLDs)
• Ländercode-TLDs (ccTLDs): .de, .us, .uk
• Ungesponserte TLDs (uTLDs): .biz, .com, .net, .org
• Gesponserte TLDs (sTLDs): .edu, .gov, .mil
Gängige Subdomains:
• blog, support, shop, help, mail, ftp, cms, cdn, api, static, vpn, login…. (Frei wählbar)
DNS - Namensserver
(Domain Name System) DNS-Server als „Telefonbuch“
• Computer können mit Namen nichts anfangen, daher gibt es DNS-Server zur Übersetzung in IP-Adressen.
Autoritative und nicht-autoritative Nameserver:
• Jede Zone hat einen zuständigen DNS Server,den autoritativen Nameserver, der verlässliche Daten liefert.
• Nicht-autoritative Nameserver beziehen ihre Daten von autoritativen Servern und sind möglicherweise nicht aktuell.
• ROOT-Server kennen alle autoritativen Nameserver.
Ablauf einer Namensauflösung
1. DNS-Resolver sucht die IP-Adresse zum Domainnamen.
2. Zuerst wird lokal in der HOSTS-Datei gesucht.
3. Falls nicht gefunden, wird der DNS-Server des Netzwerks (oft der Router) kontaktiert.
4. Falls der Router keine Auflösung bietet, erfolgt die Anfrage an externe Nameserver.
Iterative vs. Rekursive DNS-Anfragen
• Iterativ: Wenn der Name nicht gefunden wird, verweist der Server auf einen anderen Nameserver.
• Rekursiv: Der Server fragt eigenständig weitere Nameserver, bis die IP-Adresse gefunden wird.
Lastverteilung bei großen Webseiten
• Größere Webseiten/Anbieter haben mehrere IP-Adressen
• Es werden dann alle bei einer Anfrage übermittelt
• Die Übermittlung erfolgt in einer zyklisch rotierenden Reihenfolge
• Man erhält unterschiedliche Reihenfolge, je nachdem wann man eine Anfrage schickt
SMTP und MIME Protokoll
2. SMTP (Simple Mail Transfer Protocol)
Wird zum Versenden von E-Mails genutzt.
Ports: 587 & 465 → sichere Verbindung.
Empfang von E-Mails erfolgt über IMAP oder POP3.
In E-Mail-Programmen kann man sich den E-Mail-Header anzeigen lassen.
Der HTML-Teil ist der Inhalt der E-Mail
Davor kommt der Header mit:
• To
• From
• MIME-Version
• etc.
2.0.1 MIME (Multipurpose Internet Mail Extensions)
Ermöglicht die Nutzung verschiedener Zeichencodierungen & Dateitypen
Ermöglicht formatierte Inhalte wie HTML (z. B. Farben, Tabellen, Links)
Unterstützt Anhänge (z. B. PDFs, Bilder, Word-Dateien)
Erlaubt mehrere Inhaltsteile in einer E-Mail (z. B. Text + HTML + Anhang)
Beispiele für MIME-Typen:
text/plain → Reiner Text
text/html → HTML-Code
image/jpeg → JPEG-Bild
application/pdf → PDF-Dokument
IMAP (Protokoll)
IMAP sendet Befehle, um E-Mails anzuzeigen, zu löschen etc.
kein Header
Beim Auswählen einer E-Mail im Programm wird ein IMAP-Befehl an den Server gesendet.
Ports:
143 → unverschlüsselt
993 → verschlüsselt
IMAP-Befehl für das Abrufen einer E-Mail:
A004 FETCH 2 BODY[]
"2" bedeutet eine neue E-Mail (bei "1" wäre sie bereits gelesen).
Der Server sendet die E-Mail als Antwort zurück.
IMAP-Befehl zum Markieren als gelesen:
A005 STORE 2 +FLAGS (\Seen)
Der Client setzt die E-Mail auf "gelesen".
Der Server bestätigt mit: * 2 FETCH (FLAGS (\Seen))
* 2 FETCH (FLAGS (\Seen))
Wichtige IMAP-Befehle:
LOGIN → Anmeldung
SELECT → Wahl des Postfachs
FETCH → Abrufen einer Nachricht
STORE → Speichern des Nachrichtenstatus
EXPUNGE → Entfernen gelöschter E-Mails
LOGOUT → Abmelden
HTTP HTTPs Protokoll
HTTP
• HTTP/HTTPS (Hypertext Transfer Protocol)
• HTTP nutzt Port 80
• HTTPS nutzt Port 443 (verschlüsselte Version von HTTP)
Typischer HTTP-Header:
• GET /index.html HTTP/1.1 → Fordert eine Webseite an / Methode
• Host: www.example.com → Ziel-Domain
• User-Agent: Mozilla/5.0 (…) → Identifiziert den Browser
• Accept: text/html → Standard Webseiten
• Accept-Language: de,en;q=0.8 → Bevorzugte Sprache
• Accept-Encoding: gzip, deflate, br → Unterstützte Komprimierung
• Connection: keep-alive → Hält Verbindung offen
Methode
GET: Fordert eine Ressource an
POST: Sendet Daten (z. B. Formular) zum Server
PUT: Aktualisiert eine Ressource komplett
PATCH: Aktualisiert eine Ressource teilweise
DELETE: Löscht eine Ressource
HEAD: Wie GET, aber nur Header
OPTIONS: Zeigt unterstützte Methoden
CONNECT: Erstellt eine Tunnelverbindung (z. B. Proxy)
TRACE: Dient zum Debugging (prozess fehler suchen)
HTTP/HTTPs Antwort Empfänger
HTTP-Response (Antwort des Servers):
• HTTP/1.1 200 OK → Erfolgreiche Anfrage
• Date: Fri, 14 Mar 2025 12:34:56 GMT → Datum und Uhrzeit der Antwort
• Server: Apache/2.4.41 (Ubuntu) → Webserver-Software
• Content-Type: text/html; charset=UTF-8 → Mime Datentyp
• Content-Length: 1024 → Größe des Inhalts in Bytes
• Last-Modified: Thu, 13 Mar 2025 10:00:00 GMT → Letzte Änderung der Datei
• ETag: “5d8c72a3-400” → Eindeutige Kennung der Datei zur Cache-Steuerung
• Cache-Control: max-age=3600 → Cache-Dauer (3600 Sekunden)
• Connection: keep-alive → Verbindung bleibt offen für weitere Anfragen
HTTP Störung und weitere Header
Weitere Header-Typen:
• Host → Domain des Servers
• User-Agent → Informationen zum Browser
• Accept → Welche Inhalte vom Client angenommen werden
• Accept-Encoding → Welche Komprimierung akzeptiert wird
• Referer → Von welcher Seite der Nutzer kommt
• Cookie → Gespeicherte Cookies für die Webseite
HTTP-Statuscodes und ihre Bedeutung:
• 200 (OK) → Alles in Ordnung
• 301 (Moved Permanently) → Alte Adresse nicht mehr gültig
• 403 (Forbidden) → Fehlende Berechtigung
• 404 (Not Found) → Ressource nicht gefunden
• 429 (Too Many Requests) → Zu viele Anfragen vom Client gesendet
• 500 (Internal Server Error) → Unerwarteter Server-Fehler
• 502 (Bad Gateway) → Server hat eine ungültige Antwort erhalten
• 504 (Gateway Timeout) → Server hat innerhalb eines bestimmten Zeitraums keine Antwort erhalten
Layer 6 (Darstellungsschicht)
Daten werden kodiert und umgeschrieben für bessere Übertragung und Verständnis.
Standardformate werden genutzt.
Daten werden in eine lesbare Reihe von Bytes umgewandelt (serialisiert).
Dateien können komprimiert und/oder verschlüsselt werden.
Protokolle & Formate:
Verschlüsselung: SSH/TLS
Bilder: JPEG, PNG, GIF
Musik: MIDI, MP3, WAV
Zeichen: ASCII, EBCDIC
Strukturierte Daten: XML, JSON
XDR (External Data Representation):
Anpassung von Datenformaten und Reihenfolgen
Ermöglicht Kommunikation zwischen unterschiedlichen Computer-Architekturen
Beispiel:
ASCII-Zeichenkodierung kann mit EBCDIC über die Darstellungsschicht kommunizieren.
Sitzungsschicht layer 5
Sitzungsschicht (Session Layer):
• Verwaltet Sitzungen (Verbindungen werden aufgebaut, erhalten und beendet)
Ablauf:
• Sitzung wird initialisiert
• Verbindung wird überwacht
• Bei Abbruch kann sie wiederhergestellt werden
• Checkpoints verhindern erneutes Laden von Daten (z. B. bei Downloads)
• Ressourcen werden nach Sitzungsende freigegeben
• Beispiele für Sitzungen:
Zoom, Teams, TeamViewer, Skype, Online-Banking
(Immer wo sich eingeloggt werden muss)
Sitzungsschicht 5 Protokolle mit Beispiele
Protokolle:
• SSH/TLS (Secure Shell / Transport Layer Security)
• NetBIOS (Network Basic Input Output System)
• RPC (Remote Procedure Call)
• PPTP (Point-To-Point Tunneling Protocol, VPN)
• SOCKS (Proxy-Protokoll für Sitzungen)
• H.245 (VOIP & Videoverwaltung)
• RTMP (Video-Streaming für Twitch)
• WebSockets (Twitch-Chat)
• HLS (HTTP Live Streaming, YouTube)
Erklärung:
• NetBIOS für ältere Windows-Systeme
• RPC für Fernzugriff auf Programme
• PPTP für VPN
• SOCKS für Proxy-Sitzungen
• H.245 für VOIP- & Video-Steuerung
• RTMP für Twitch-Streaming
• WebSockets für Twitch-Chat
• HLS für YouTube-Streaming
TLS
HTTPS-Anfrage: Webseite www.example.com wird über HTTPS geladen (GET-Methode).
Schichten: Durchläuft Schicht 6 (Verschlüsselung) und Schicht 5 (TLS für sichere Sitzung).
TCP-Verbindung (Schicht 4):
3-Wege-Handshake (SYN, ACK) für Verbindungserstellung.
Pakete durchlaufen alle unteren Schichten mit Headern (Encapsulation).
Beim Empfänger erfolgt die Entkapselung (Decapsulation).
TLS-Handshake (Schicht 5):
ClientHello: Infos zur TLS-Version, unterstützte Algorithmen, Zufallszahl für Schlüssel.
Server antwortet mit Cipher Suite und Zertifikat (signiert von einer CA).
Client prüft das Zertifikat (bei Ablauf → Warnung).
Schlüsselgenerierung/-austausch (Elliptic Curve Diffie-Hellman oder RSA).
ChangeCipherSpec: Verschlüsselung wird aktiviert.
Datenübertragung (Schicht 6): HTTP-Anfragen verschlüsselt über TLS-Verbindung gesendet.
Allert -> Fehlermeldung , Application Data -> Verbindung steht
Transport- und Netzwerkprotokolle:
TCP-Header: Enthält Port-Informationen.
IP-Header: Enthält die IP-Adresse.
Ethernet-Header: Enthält die MAC-Adresse.
Bitübertragungsschicht: Physische Übertragung der Daten.
Empfang beim Server: Schichten werden in umgekehrter Reihenfolge durchlaufen, Daten werden entschlüsselt und die Webseite zurückgesendet.
Zuletzt geändertvor 13 Tagen