7. OSI-Schicht 4 – Transportschicht
- TCP (Transmission Control Protocol) Erklärung
- UDP (User Datagram Protocol) Erklärung
- TCP versus UDP
- 7.1 OSI-Schicht 4 – Transportschicht
- 7.2 TCP und UDP im Detail
- 7.3 Ports, Dienste und typische Standardports
- 7.4 Fehlersuche auf Schicht 4
- 7.5 Merksätze und Prüfungswissen zu OSI-Schicht 4
TCP (Transmission Control Protocol) Erklärung
TCP einfach erklärt
TCP steht für Transmission Control Protocol.
TCP ist ein verbindungsorientiertes und zuverlässiges Transportprotokoll. Es arbeitet auf der Transportschicht des TCP/IP-Modells und sorgt dafür, dass Daten möglichst vollständig, geordnet und fehlerfrei beim Empfänger ankommen.
Typische Anwendungen mit TCP sind zum Beispiel:
HTTP/HTTPS
SSH
E-Mail
Dateiübertragung
Remote Desktop
Grundidee von TCP
TCP wird verwendet, wenn Daten zuverlässig übertragen werden sollen.
Das bedeutet:
- vor der Datenübertragung wird eine Verbindung aufgebaut
- Daten werden nummeriert
- empfangene Daten werden bestätigt
- fehlende Daten können erneut übertragen werden
- Daten werden in der richtigen Reihenfolge an die Anwendung weitergegeben
TCP ist dadurch zuverlässiger als UDP, hat aber mehr Verwaltungsaufwand.
Merksatz:
TCP = verbindungsorientiert, zuverlässig und geordnet
UDP = verbindungslos, schnell und mit weniger Kontrolle
TCP arbeitet mit Ports
Eine IP-Adresse zeigt auf einen Host im Netzwerk.
Beispiel:
192.168.0.50
Ein Port zeigt auf einen bestimmten Dienst oder eine Anwendung auf diesem Host.
Beispiel:
192.168.0.50:443
Das bedeutet:
192.168.0.50 = Host / Gerät
443 = Dienst / Anwendung, hier HTTPS
Typische TCP-Ports:
80 = HTTP
443 = HTTPS
22 = SSH
25 = SMTP
110 = POP3
143 = IMAP
3389 = Remote Desktop
Merksatz:
IP-Adresse = welcher Host?
Port = welcher Dienst?
Socket = IP-Adresse + Port
Socket bei TCP
Ein Socket ist die Kombination aus IP-Adresse und Port.
Beispiel:
192.168.0.50:443
Bei einer TCP-Verbindung gibt es immer zwei Seiten:
Client-Socket: 192.168.0.20:51544
Server-Socket: 93.184.216.34:443
Der Client verwendet oft einen zufälligen hohen Quellport. Der Server verwendet meistens einen bekannten festen Zielport.
Eine vollständige TCP-Verbindung wird also durch diese Informationen beschrieben:
Quell-IP
Quell-Port
Ziel-IP
Ziel-Port
Protokoll TCP
TCP-Verbindungsaufbau: 3-Wege-Handshake
Bevor TCP Daten überträgt, wird eine Verbindung aufgebaut. Dieser Verbindungsaufbau heißt 3-Wege-Handshake.
Dabei tauschen Client und Server Kontrollinformationen aus.
Ablauf:
Client Server
1. SYN --------------------->
Verbindungswunsch
2. SYN-ACK <------------------
Verbindungswunsch bestätigt
3. ACK --------------------->
Bestätigung zurück
Verbindung steht
Was bedeutet SYN?
SYN ist die Abkürzung für:
Synchronize
Auf Deutsch:
synchronisieren
Beim TCP-Verbindungsaufbau bedeutet SYN:
Der Client möchte eine neue TCP-Verbindung starten
und seine Start-Sequenznummer mit dem Server synchronisieren.
SYN ist also nicht einfach nur „Hallo“, sondern enthält auch technische Informationen für den Start der Verbindung.
Was bedeutet SYN-ACK?
SYN-ACK besteht aus zwei Teilen:
SYN = Server möchte ebenfalls seine Start-Sequenznummer synchronisieren
ACK = Server bestätigt den SYN des Clients
Der Server sagt damit vereinfacht:
Ich habe deinen Verbindungswunsch erhalten.
Ich bin bereit.
Hier ist meine eigene Start-Sequenznummer.
Was bedeutet ACK?
ACK steht für:
Acknowledgement
Auf Deutsch:
Bestätigung
Beim dritten Schritt bestätigt der Client die Antwort des Servers.
Danach gilt:
Die TCP-Verbindung ist aufgebaut.
Daten können übertragen werden.
Merksatz:
SYN = Verbindungswunsch + Start-Sequenznummer synchronisieren
SYN-ACK = Verbindungswunsch bestätigen + eigene Start-Sequenznummer senden
ACK = Bestätigung zurücksenden
Sequenznummer ist keine Portnummer
Eine Sequenznummer ist nicht dasselbe wie eine Portnummer.
Eine Portnummer sagt:
Welcher Dienst oder welches Programm ist gemeint?
Eine Sequenznummer sagt:
An welcher Stelle im TCP-Datenstrom befinden sich diese Daten?
Merksatz:
Portnummer = welcher Dienst?
Sequenznummer = welche Stelle im Datenstrom?
Oder einfacher:
Portnummer ist wie die Türnummer eines Dienstes.
Sequenznummer ist wie die Position der Daten im Datenstrom.
Was macht die Sequenznummer bei TCP?
TCP nummeriert nicht einfach nur einzelne Pakete wie „Paket 1, Paket 2, Paket 3“.
Technisch genauer:
TCP nummeriert die Bytes im Datenstrom.
Dadurch weiß der Empfänger:
- wo ein empfangenes TCP-Segment im Datenstrom beginnt
- ob Daten in der richtigen Reihenfolge angekommen sind
- ob Daten fehlen
- ob Daten doppelt angekommen sind
Ein TCP-Segment enthält eine Sequenznummer. Diese Sequenznummer zeigt, an welcher Position im Datenstrom die enthaltenen Daten beginnen.
Einfaches Beispiel für Sequenznummern
Segment 1: Sequenznummer 1000, enthält 500 Byte
Segment 2: Sequenznummer 1500, enthält 500 Byte
Segment 3: Sequenznummer 2000, enthält 500 Byte
Das bedeutet:
Segment 1 beginnt bei Byte 1000.
Segment 2 beginnt bei Byte 1500.
Segment 3 beginnt bei Byte 2000.
Wenn alles korrekt ankommt, kann der Empfänger die Daten in der richtigen Reihenfolge zusammensetzen.
Was passiert, wenn Daten verloren gehen?
Angenommen, Segment 2 geht verloren:
Segment 1 kommt an: Sequenznummer 1000
Segment 2 fehlt: Sequenznummer 1500
Segment 3 kommt an: Sequenznummer 2000
Der Empfänger merkt:
Ich habe Daten ab 1000 bekommen.
Danach müsste eigentlich 1500 kommen.
Jetzt kommt aber schon 2000.
Also fehlt der Bereich ab 1500.
TCP erkennt dadurch, dass ein Teil der Daten fehlt.
Die fehlenden Daten können dann erneut übertragen werden.
ACK = Bestätigung empfangener Daten
Mit einem ACK bestätigt der Empfänger, welche Daten korrekt angekommen sind.
Vereinfacht gesagt:
ACK 1500 = Ich habe alles bis vor 1500 korrekt erhalten.
Bitte sende als Nächstes die Daten ab 1500.
Wenn Daten fehlen, bestätigt der Empfänger nicht einfach alles als vollständig.
Stattdessen signalisiert er sinngemäß:
Ich erwarte weiterhin die Daten ab dieser Sequenznummer.
Dadurch erkennt der Sender, dass Daten erneut übertragen werden müssen.
Muss TCP komplett warten, wenn ein Segment fehlt?
Nicht unbedingt.
Später angekommene Daten können zwischengespeichert werden.
Beispiel:
Segment 1 kommt an.
Segment 2 fehlt.
Segment 3 kommt schon an.
TCP kann Segment 3 intern speichern.
Wichtig ist aber:
An die Anwendung werden die Daten erst in der richtigen Reihenfolge weitergegeben.
Das bedeutet:
Die Anwendung bekommt Segment 3 nicht vor Segment 2.
Erst wenn die fehlenden Daten angekommen sind,
werden die Daten geordnet weitergegeben.
Dadurch sieht die Anwendung einen zuverlässigen und geordneten Datenstrom.
Warum ist TCP zuverlässig?
TCP gilt als zuverlässig, weil es mehrere Kontrollmechanismen verwendet.
Dazu gehören:
- Verbindungsaufbau durch 3-Wege-Handshake
- Sequenznummern
- ACK-Bestätigungen
- erneute Übertragung verlorener Daten
- Reihenfolgekontrolle
- Erkennung doppelt empfangener Daten
- Flusskontrolle
Dadurch kann TCP sicherstellen, dass Daten vollständig und in der richtigen Reihenfolge beim Empfänger ankommen.
Flusskontrolle bei TCP
TCP verwendet Flusskontrolle, damit ein schneller Sender einen langsameren Empfänger nicht überfordert.
Der Empfänger kann dem Sender mitteilen, wie viele Daten er aktuell aufnehmen kann.
Das nennt man vereinfacht:
Empfangsfenster
Wenn der Empfänger nur wenig Speicher frei hat, kann er dem Sender signalisieren:
Sende langsamer oder warte kurz.
Dadurch wird verhindert, dass der Empfänger mit zu vielen Daten überlastet wird.
TCP-Verbindungsabbau
Eine TCP-Verbindung wird nicht einfach abrupt beendet, sondern kontrolliert geschlossen.
Dafür werden unter anderem FIN- und ACK-Nachrichten verwendet.
Vereinfacht:
Eine Seite sagt: Ich möchte die Verbindung beenden.
Die andere Seite bestätigt das.
Danach kann auch die andere Seite ihre Richtung schließen.
Typische Steuerbits beim Verbindungsabbau:
FIN = Verbindung geordnet beenden
ACK = Bestätigung
Merksatz:
SYN = Verbindung aufbauen
FIN = Verbindung beenden
ACK = bestätigen
TCP im Vergleich zu UDP
TCP:
- verbindungsorientiert
- zuverlässig
- geordnete Datenübertragung
- Bestätigungen durch ACKs
- erneute Übertragung verlorener Daten
- mehr Verwaltungsaufwand
UDP:
- verbindungslos
- geringer Verwaltungsaufwand
- keine eingebaute Zustellgarantie
- keine eingebaute Reihenfolgekontrolle
- keine eingebaute erneute Übertragung
- oft latenzärmer als TCP
TCP wird verwendet, wenn Zuverlässigkeit wichtig ist.
UDP wird häufig verwendet, wenn geringe Verzögerung wichtiger ist als vollständige Kontrolle.
Beispiel: TCP beim Webseitenaufruf
Wenn ein Client eine HTTPS-Webseite aufruft, passiert vereinfacht Folgendes:
1. Client möchte Website aufrufen.
2. Client baut TCP-Verbindung zum Server-Port 443 auf.
3. TCP führt den 3-Wege-Handshake aus.
4. Danach werden Daten übertragen.
5. TCP nummeriert die Daten mit Sequenznummern.
6. Der Empfänger bestätigt empfangene Daten mit ACKs.
7. Fehlende Daten werden erneut übertragen.
8. Die Anwendung erhält die Daten in der richtigen Reihenfolge.
Beispiel:
Client: 192.168.0.20:51544
Server: 93.184.216.34:443
Protokoll: TCP
Wichtige TCP-Begriffe
TCP = Transmission Control Protocol
SYN = Synchronize
ACK = Acknowledgement
FIN = Finish
Port = Dienstadresse auf einem Host
Socket = IP-Adresse + Port
Sequenznummer = Position der Daten im TCP-Datenstrom
3-Wege-Handshake = Verbindungsaufbau bei TCP
IHK-sichere Kurzformulierung
TCP ist ein verbindungsorientiertes und zuverlässiges Transportprotokoll. Vor der Datenübertragung wird durch den 3-Wege-Handshake eine Verbindung aufgebaut. TCP verwendet Sequenznummern, um die Reihenfolge der übertragenen Daten im Datenstrom festzulegen. Mit ACKs bestätigt der Empfänger korrekt erhaltene Daten. Fehlende Daten können erkannt und erneut übertragen werden. Dadurch stellt TCP eine geordnete und zuverlässige Datenübertragung bereit.
Merksätze
TCP = verbindungsorientiert, zuverlässig und geordnet
SYN = Verbindung starten
SYN-ACK = Verbindung bestätigen und eigene Startnummer senden
ACK = Bestätigung
Portnummer = welcher Dienst?
Sequenznummer = welche Stelle im Datenstrom?
Sequenznummern helfen TCP zu erkennen,
ob Daten fehlen, doppelt angekommen sind
oder in falscher Reihenfolge eintreffen.
ACK bestätigt,
bis wohin Daten korrekt empfangen wurden.
Fehlende Daten werden erneut übertragen.
Später angekommene Daten können zwischengespeichert werden.
An die Anwendung geht alles erst in der richtigen Reihenfolge.
SYN = Verbindung aufbauen
FIN = Verbindung beenden
ACK = bestätigen
UDP (User Datagram Protocol) Erklärung
UDP einfach erklärt
UDP steht für User Datagram Protocol.
UDP ist ein verbindungsloses Transportprotokoll. Es arbeitet auf der Transportschicht des TCP/IP-Modells und wird verwendet, wenn Daten schnell und mit möglichst wenig Verwaltungsaufwand übertragen werden sollen.
UDP ist einfacher aufgebaut als TCP. Dafür bietet UDP aber keine eingebaute Garantie, dass Daten ankommen, vollständig sind oder in der richtigen Reihenfolge eintreffen.
Typische Anwendungen mit UDP sind zum Beispiel:
DNS
DHCP
VoIP
Video-Streaming
Audio-Streaming
Online-Gaming
QUIC / HTTP/3
Grundidee von UDP
UDP wird verwendet, wenn eine schnelle und einfache Datenübertragung wichtiger ist als vollständige Kontrolle.
Das bedeutet:
- keine feste Verbindung vor der Datenübertragung
- kein 3-Wege-Handshake
- keine eingebaute Zustellgarantie
- keine eingebaute Reihenfolgekontrolle
- keine automatische erneute Übertragung verlorener Daten
- geringer Verwaltungsaufwand
UDP sendet Daten einfach los. Ob die Gegenseite erreichbar ist oder ob die Daten vollständig ankommen, wird von UDP selbst nicht zuverlässig kontrolliert.
Merksatz:
UDP = verbindungslos, einfach und schnell
TCP = verbindungsorientiert, zuverlässig und geordnet
UDP arbeitet mit Ports
Auch UDP verwendet Ports, genau wie TCP.
Eine IP-Adresse zeigt auf einen Host im Netzwerk.
Beispiel:
192.168.0.50
Ein Port zeigt auf einen bestimmten Dienst oder eine Anwendung auf diesem Host.
Beispiel:
192.168.0.50:53
Das bedeutet:
192.168.0.50 = Host / Gerät
53 = Dienst / Anwendung, hier DNS
Typische UDP-Ports:
53 = DNS
67 = DHCP Server
68 = DHCP Client
123 = NTP
500 = IKE / IPsec
1194 = OpenVPN
51820 = WireGuard
443 = QUIC / HTTP/3
Wichtig:
Ein Port kann bei TCP und UDP unterschiedlich verwendet werden.
Beispiel:
TCP 443 = HTTPS über TCP
UDP 443 = QUIC / HTTP/3
Merksatz:
IP-Adresse = welcher Host?
Port = welcher Dienst?
Socket = IP-Adresse + Port
Socket bei UDP
Ein Socket ist die Kombination aus IP-Adresse und Port.
Beispiel:
192.168.0.50:53
Bei UDP kann ein Datenpaket von einem Quell-Socket zu einem Ziel-Socket gesendet werden.
Beispiel:
Client-Socket: 192.168.0.20:53000
Server-Socket: 192.168.0.1:53
Das bedeutet:
Client fragt von Port 53000 aus einen DNS-Server auf Port 53 an.
Eine UDP-Kommunikation wird also durch diese Informationen beschrieben:
Quell-IP
Quell-Port
Ziel-IP
Ziel-Port
Protokoll UDP
UDP hat keinen Verbindungsaufbau
Bei TCP gibt es vor der Datenübertragung einen 3-Wege-Handshake.
Bei UDP gibt es diesen Verbindungsaufbau nicht.
TCP:
Client Server
1. SYN --------------------->
2. SYN-ACK <------------------
3. ACK --------------------->
Verbindung steht
UDP:
Client Server
Datenpaket ------------------>
Keine vorherige Verbindung
Keine SYN-Nachricht
Kein SYN-ACK
Kein ACK durch UDP selbst
UDP sendet also direkt ein Datagramm an den Empfänger.
Merksatz:
TCP fragt vorher: Darf ich eine Verbindung aufbauen?
UDP sendet direkt los.
Was ist ein UDP-Datagramm?
Die Dateneinheit bei UDP nennt man Datagramm.
Ein UDP-Datagramm enthält unter anderem:
- Quellport
- Zielport
- Länge
- Prüfsumme
- Nutzdaten
UDP ist dadurch sehr schlank aufgebaut.
Wichtig:
UDP nummeriert die Daten nicht wie TCP mit Sequenznummern.
Deshalb kann UDP selbst nicht zuverlässig erkennen, ob ein Datagramm fehlt oder in falscher Reihenfolge angekommen ist.
UDP hat keine Sequenznummern wie TCP
TCP verwendet Sequenznummern, um die Position der Daten im Datenstrom festzulegen.
UDP macht das nicht.
TCP:
Segment 1: Sequenznummer 1000
Segment 2: Sequenznummer 1500
Segment 3: Sequenznummer 2000
UDP:
Datagramm 1 wird gesendet.
Datagramm 2 wird gesendet.
Datagramm 3 wird gesendet.
UDP selbst merkt sich keine Reihenfolge.
Wenn ein UDP-Datagramm verloren geht, wird es von UDP nicht automatisch erneut angefordert.
Wenn UDP-Datagramme in falscher Reihenfolge ankommen, sortiert UDP sie nicht automatisch.
Merksatz:
TCP kontrolliert die Reihenfolge.
UDP sendet einzelne Datagramme ohne Reihenfolgegarantie.
UDP hat keine eingebaute Zustellgarantie
UDP garantiert nicht, dass ein Datagramm beim Empfänger ankommt.
Ein UDP-Datagramm kann unterwegs verloren gehen, zum Beispiel durch:
- Netzwerküberlastung
- Paketverlust
- Routing-Probleme
- Firewall-Regeln
- fehlerhafte Übertragung
UDP selbst sendet verlorene Datagramme nicht automatisch erneut.
Das bedeutet:
Wenn ein UDP-Datagramm verloren geht,
merkt UDP selbst das nicht zuverlässig
und fordert es nicht automatisch erneut an.
Wenn eine Anwendung trotzdem Zuverlässigkeit braucht, muss sie diese selbst oberhalb von UDP einbauen.
Beispiele dafür sind:
- eigene Bestätigungen
- eigene Sequenznummern
- eigene Wiederholungen
- Fehlerkorrektur auf Anwendungsebene
UDP hat keine eingebaute Reihenfolgekontrolle
UDP garantiert nicht, dass Datagramme in der gesendeten Reihenfolge ankommen.
Beispiel:
Gesendet:
Datagramm 1
Datagramm 2
Datagramm 3
Angekommen:
Datagramm 1
Datagramm 3
Datagramm 2
UDP sortiert diese Datagramme nicht automatisch.
Wenn die Reihenfolge wichtig ist, muss die Anwendung selbst dafür sorgen.
Beispiel:
Eine Anwendung kann eigene Nummern in die Nutzdaten schreiben,
um die Reihenfolge später selbst zu prüfen.
Merksatz:
UDP liefert Datagramme so ab, wie sie ankommen.
UDP sortiert nicht automatisch.
UDP hat weniger Verwaltungsaufwand als TCP
UDP hat weniger Verwaltungsaufwand, weil es keinen Verbindungsaufbau, keine Sequenznummern, keine ACKs und keine automatische Wiederholung verlorener Daten gibt.
Dadurch ist UDP oft:
- einfacher
- schneller beim Start
- latenzärmer
- ressourcenschonender
Wichtig:
UDP ist nicht automatisch immer schneller im Sinne von höherer Datenrate.
Besser formuliert:
UDP hat weniger Verwaltungsaufwand als TCP und kann dadurch schneller bzw. latenzärmer sein.
Das ist besonders bei Anwendungen wichtig, bei denen Echtzeit wichtiger ist als perfekte Vollständigkeit.
Warum nutzt man UDP trotz fehlender Garantie?
UDP wird genutzt, weil bei manchen Anwendungen verlorene Daten weniger schlimm sind als Verzögerungen.
Beispiel VoIP:
Bei einem Telefonat ist es besser,
wenn ein kleines Audiostück kurz fehlt,
als wenn die Sprache stark verzögert ankommt.
Beispiel Online-Gaming:
Bei schnellen Positionsdaten ist es oft besser,
aktuelle Daten zu bekommen,
als alte verlorene Daten nachträglich zu übertragen.
Beispiel Streaming:
Bei Live-Video ist geringe Verzögerung wichtiger
als jedes einzelne Paket nachträglich zu retten.
Merksatz:
UDP wird häufig verwendet,
wenn Aktualität wichtiger ist als vollständige Nachlieferung.
Beispiel: DNS mit UDP
DNS verwendet sehr häufig UDP auf Port 53.
Ablauf vereinfacht:
1. Client möchte wissen, welche IP-Adresse zu einer Domain gehört.
2. Client sendet eine DNS-Anfrage per UDP an Port 53.
3. DNS-Server antwortet per UDP.
4. Die Antwort enthält die passende IP-Adresse.
Beispiel:
Client: 192.168.0.20:53000
DNS-Server: 192.168.0.1:53
Protokoll: UDP
Warum UDP hier sinnvoll ist:
- DNS-Anfragen sind meist klein
- eine Verbindung vorher aufzubauen wäre zusätzlicher Aufwand
- bei Verlust kann die Anfrage einfach erneut gestellt werden
Wichtig:
DNS kann auch TCP verwenden,
zum Beispiel bei größeren Antworten oder Zonentransfers.
Beispiel: VoIP mit UDP
Bei VoIP werden Sprachdaten in kleinen Paketen übertragen.
UDP eignet sich hier gut, weil geringe Verzögerung besonders wichtig ist.
Beispiel:
Sprecher → Sprachpakete → Netzwerk → Empfänger
Wenn ein kleines Sprachpaket verloren geht, ist das meist weniger schlimm als eine große Verzögerung.
Deshalb ist bei VoIP oft wichtiger:
geringe Latenz statt vollständige Nachlieferung
Beispiel: Online-Gaming mit UDP
Online-Spiele übertragen häufig Positionsdaten, Bewegungen und Zustände.
Beispiel:
Spielerposition
Blickrichtung
Bewegung
Aktionen
Wenn ein altes Positionspaket verloren geht, ist es oft nicht sinnvoll, es später noch nachzuliefern.
Wichtiger ist:
Der aktuelle Zustand soll möglichst schnell ankommen.
Deshalb wird für solche Echtzeitdaten häufig UDP genutzt.
QUIC und HTTP/3 nutzen UDP
QUIC ist ein modernes Transportprotokoll, das auf UDP basiert.
HTTP/3 verwendet QUIC.
Vereinfacht:
HTTP/3 läuft über QUIC.
QUIC läuft über UDP.
UDP läuft über IP.
Wichtig:
QUIC nutzt UDP als Grundlage,
baut aber eigene Funktionen für Zuverlässigkeit,
Verschlüsselung und Verbindungssteuerung ein.
Das bedeutet:
UDP selbst ist einfach und verbindungslos.
QUIC ergänzt darauf zusätzliche moderne Funktionen.
UDP und Firewall
Firewalls können UDP-Verkehr filtern, genau wie TCP-Verkehr.
Dabei werden zum Beispiel geprüft:
- Quell-IP
- Ziel-IP
- Quellport
- Zielport
- Protokoll UDP
Da UDP keine feste Verbindung wie TCP aufbaut, ist die Zustandsverfolgung schwieriger.
Eine Stateful Firewall kann sich aber trotzdem merken, dass ein interner Client ein UDP-Datagramm nach außen gesendet hat.
Beispiel:
Client sendet DNS-Anfrage an DNS-Server.
Firewall merkt sich diese Anfrage kurzzeitig.
DNS-Antwort darf zurück.
Unerwartete UDP-Pakete von außen werden blockiert.
Merksatz:
Auch UDP kann von einer Stateful Firewall verfolgt werden,
aber ohne echten TCP-Verbindungszustand.
UDP und NAT/PAT
Auch UDP kann über NAT/PAT ins Internet gehen.
Beispiel:
Interner Client: 192.168.0.20:53000
Öffentliche IP: 84.10.20.30:40001
DNS-Server: 1.1.1.1:53
Die Firewall bzw. der Router merkt sich die Zuordnung:
192.168.0.20:53000 → 84.10.20.30:40001
Wenn die Antwort vom DNS-Server zurückkommt, weiß der Router:
Diese Antwort gehört zurück an 192.168.0.20:53000.
Wichtig:
Bei UDP sind solche NAT-Zuordnungen meist zeitlich begrenzt,
weil es keine dauerhaft aufgebaute Verbindung wie bei TCP gibt.
UDP im Vergleich zu TCP
TCP:
- verbindungsorientiert
- 3-Wege-Handshake
- zuverlässig
- Sequenznummern
- ACK-Bestätigungen
- erneute Übertragung verlorener Daten
- Reihenfolgekontrolle
- mehr Verwaltungsaufwand
UDP:
- verbindungslos
- kein 3-Wege-Handshake
- keine eingebaute Zustellgarantie
- keine eingebaute Reihenfolgekontrolle
- keine automatische erneute Übertragung
- weniger Verwaltungsaufwand
- oft latenzärmer
Merksatz:
TCP kontrolliert stärker.
UDP ist schlanker und direkter.
Wann verwendet man TCP?
TCP verwendet man, wenn Daten zuverlässig und vollständig ankommen müssen.
Beispiele:
- Webseiten über HTTP/HTTPS
- Dateiübertragung
- SSH
- E-Mail
- Remote Desktop
Hier wäre es schlecht, wenn Daten fehlen oder in falscher Reihenfolge bei der Anwendung ankommen.
Wann verwendet man UDP?
UDP verwendet man häufig, wenn geringe Verzögerung wichtiger ist als vollständige Kontrolle.
Beispiele:
- DNS
- DHCP
- VoIP
- Live-Streaming
- Online-Gaming
- NTP
- VPN-Protokolle wie WireGuard
- QUIC / HTTP/3
Hier ist es oft besser, schnell weiterzumachen, statt verlorene alte Daten nachzuliefern.
Ist UDP unsicherer als TCP?
UDP ist nicht automatisch „unsicherer“ als TCP.
UDP hat nur weniger eingebaute Kontrollfunktionen.
Sicherheit hängt vor allem davon ab:
- welches Anwendungsprotokoll verwendet wird
- ob Verschlüsselung eingesetzt wird
- wie die Firewall konfiguriert ist
- ob der Dienst korrekt abgesichert ist
Beispiel:
QUIC nutzt UDP,
kann aber trotzdem verschlüsselte Kommunikation ermöglichen.
UDP bedeutet also nicht automatisch unsicher. Es bedeutet nur:
UDP selbst garantiert weniger als TCP.
Wichtige UDP-Begriffe
UDP = User Datagram Protocol
Datagramm = einzelne UDP-Dateneinheit
Port = Dienstadresse auf einem Host
Socket = IP-Adresse + Port
Quellport = Port des sendenden Systems
Zielport = Port des empfangenden Dienstes
Prüfsumme = einfache Fehlererkennung im UDP-Datagramm
IHK-sichere Kurzformulierung
UDP ist ein verbindungsloses Transportprotokoll mit geringem Verwaltungsaufwand. Im Gegensatz zu TCP baut UDP vor der Datenübertragung keine Verbindung auf und bietet keine eingebaute Garantie für Zustellung, Reihenfolge oder erneute Übertragung verlorener Daten. Dadurch ist UDP besonders für Anwendungen geeignet, bei denen geringe Verzögerung wichtiger ist als vollständige Kontrolle, zum Beispiel DNS, VoIP, Streaming oder Online-Gaming.
Merksätze
UDP = verbindungslos, einfach und mit wenig Verwaltungsaufwand
UDP sendet direkt los.
TCP baut vorher eine Verbindung auf.
UDP garantiert nicht,
dass Datagramme ankommen,
in richtiger Reihenfolge ankommen
oder erneut übertragen werden.
UDP ist oft latenzärmer als TCP,
aber nicht automatisch immer schneller in jeder Situation.
TCP = Zuverlässigkeit und Kontrolle
UDP = Geschwindigkeit und geringer Verwaltungsaufwand
Wenn UDP Zuverlässigkeit braucht,
muss die Anwendung diese selbst einbauen.
DNS, VoIP, Streaming und Online-Gaming
sind typische Beispiele für UDP.
TCP versus UDP
TCP und UDP sind beide Transportprotokolle. Sie arbeiten auf der Transportschicht und sorgen dafür, dass Daten zwischen Anwendungen auf verschiedenen Geräten übertragen werden können.
Der wichtigste Unterschied ist:
TCP baut vor der Datenübertragung eine Verbindung auf.
UDP sendet Daten ohne vorherigen Verbindungsaufbau direkt los.
TCP kurz erklärt
TCP steht für Transmission Control Protocol.
TCP ist:
- verbindungsorientiert
- zuverlässig
- geordnet
- kontrolliert
- mit mehr Verwaltungsaufwand verbunden
Bei TCP wird vor der Übertragung der eigentlichen Nutzdaten zuerst eine Verbindung aufgebaut. Dieser Verbindungsaufbau heißt 3-Wege-Handshake.
Client Server
1. SYN ---------------------> Verbindungswunsch
2. SYN-ACK <------------------ Bestätigung + eigene Start-Sequenznummer
3. ACK ---------------------> Bestätigung
Danach ist die TCP-Verbindung aufgebaut.
Erst danach werden die eigentlichen Nutzdaten übertragen.
Wichtig:
Nicht ACK ist der erste Schritt.
Der erste Schritt ist SYN.
ACK ist die Bestätigung im dritten Schritt.
Was bedeutet SYN bei TCP?
SYN steht für:
Synchronize
Auf Deutsch:
synchronisieren
SYN bedeutet beim TCP-Verbindungsaufbau:
Der Client möchte eine neue TCP-Verbindung starten
und seine Start-Sequenznummer mit dem Server synchronisieren.
SYN ist also der Verbindungswunsch und gleichzeitig der Start der Synchronisation der Sequenznummern.
Was bedeutet SYN-ACK bei TCP?
SYN-ACK besteht aus zwei Teilen:
SYN = Server möchte ebenfalls seine Start-Sequenznummer synchronisieren
ACK = Server bestätigt den SYN des Clients
Der Server sagt damit vereinfacht:
Ich habe deinen Verbindungswunsch erhalten.
Ich bin bereit.
Hier ist meine eigene Start-Sequenznummer.
Was bedeutet ACK bei TCP?
ACK steht für:
Acknowledgement
Auf Deutsch:
Bestätigung
Mit ACK bestätigt eine Seite, dass bestimmte Daten oder Steuerinformationen angekommen sind.
Beim 3-Wege-Handshake bestätigt der Client mit ACK die Antwort des Servers.
Merksatz:
SYN = Verbindung starten und Sequenznummer synchronisieren
SYN-ACK = Verbindung bestätigen und eigene Startnummer senden
ACK = Bestätigung zurücksenden
UDP kurz erklärt
UDP steht für User Datagram Protocol.
UDP ist:
- verbindungslos
- einfach
- schnell bzw. oft latenzärmer
- mit wenig Verwaltungsaufwand verbunden
- ohne eingebaute Zustellgarantie
- ohne eingebaute Reihenfolgekontrolle
- ohne automatische erneute Übertragung verlorener Daten
Bei UDP gibt es keinen 3-Wege-Handshake.
Client Server
Daten ----------------------->
Kein SYN
Kein SYN-ACK
Kein verbindungsaufbauendes ACK
UDP sendet Datagramme direkt los. UDP selbst prüft nicht zuverlässig, ob die Gegenseite bereit ist oder ob die Daten vollständig angekommen sind.
Nutzdaten bei TCP und UDP
Nutzdaten sind die eigentlichen Inhalte, die eine Anwendung übertragen möchte.
Beispiele:
- Webseiteninhalte
- Dateien
- Sprache
- Videodaten
- DNS-Anfragen
- Spielinformationen
Bei TCP gilt:
Erst Verbindungsaufbau,
dann Nutzdaten.
Bei UDP gilt:
Kein Verbindungsaufbau,
Nutzdaten werden direkt als Datagramm gesendet.
Sequenznummern bei TCP
TCP verwendet Sequenznummern.
Eine Sequenznummer ist keine Portnummer.
Portnummer = welcher Dienst?
Sequenznummer = welche Stelle im Datenstrom?
TCP nummeriert technisch gesehen die Bytes im Datenstrom. Dadurch kann der Empfänger erkennen:
- welche Daten angekommen sind
- ob Daten fehlen
- ob Daten doppelt angekommen sind
- ob Daten in falscher Reihenfolge angekommen sind
Beispiel:
Segment 1: Sequenznummer 1000, enthält 500 Byte
Segment 2: Sequenznummer 1500, enthält 500 Byte
Segment 3: Sequenznummer 2000, enthält 500 Byte
Wenn Segment 2 fehlt, merkt TCP:
Nach 1000 müsste 1500 kommen.
Wenn schon 2000 kommt, fehlt der Bereich ab 1500.
Fehlende Daten können dann erneut übertragen werden.
UDP hat keine TCP-Sequenznummern
UDP nummeriert die Daten nicht wie TCP mit Sequenznummern.
UDP sendet einzelne Datagramme.
Datagramm 1 wird gesendet.
Datagramm 2 wird gesendet.
Datagramm 3 wird gesendet.
UDP selbst merkt sich dabei keine Reihenfolge.
Wenn ein Datagramm verloren geht, fordert UDP es nicht automatisch erneut an.
Wenn Datagramme in falscher Reihenfolge ankommen, sortiert UDP sie nicht automatisch.
Zuverlässigkeit
TCP ist zuverlässig, weil es mehrere Kontrollmechanismen verwendet:
- Verbindungsaufbau durch 3-Wege-Handshake
- Sequenznummern
- ACK-Bestätigungen
- erneute Übertragung verlorener Daten
- Reihenfolgekontrolle
- Erkennung doppelt empfangener Daten
- Flusskontrolle
UDP hat diese Zuverlässigkeit nicht eingebaut.
UDP garantiert nicht:
- dass Daten ankommen
- dass Daten vollständig ankommen
- dass Daten in der richtigen Reihenfolge ankommen
- dass verlorene Daten erneut übertragen werden
Wenn eine Anwendung über UDP trotzdem Zuverlässigkeit benötigt, muss sie diese selbst einbauen.
Beispiele:
- eigene Bestätigungen
- eigene Sequenznummern
- eigene Wiederholungen
- Fehlerkorrektur auf Anwendungsebene
Geschwindigkeit und Verwaltungsaufwand
TCP hat mehr Verwaltungsaufwand, weil es Verbindungen aufbaut, Daten bestätigt, Reihenfolgen prüft und verlorene Daten erneut überträgt.
UDP hat weniger Verwaltungsaufwand, weil es diese Funktionen nicht eingebaut hat.
Deshalb ist UDP oft latenzärmer.
Wichtig:
UDP ist nicht automatisch immer schneller im Sinne von höherer Datenrate.
UDP hat aber weniger Verwaltungsaufwand und kann dadurch schneller reagieren.
Besser formuliert:
UDP ist oft latenzärmer als TCP,
weil es keinen Verbindungsaufbau und weniger Kontrollmechanismen hat.
Typische Anwendungen für TCP
TCP wird verwendet, wenn Daten zuverlässig und vollständig ankommen müssen.
Beispiele:
- HTTP/HTTPS über TCP
- SSH
- E-Mail
- Dateiübertragung
- Remote Desktop
- Datenbankverbindungen
Hier wäre es problematisch, wenn Daten fehlen oder in falscher Reihenfolge bei der Anwendung ankommen.
Beispiel:
Bei einer Dateiübertragung darf kein Teil der Datei fehlen.
Bei SSH müssen Befehle korrekt und in richtiger Reihenfolge ankommen.
Bei Webseiten sollen Inhalte vollständig übertragen werden.
Typische Anwendungen für UDP
UDP wird häufig verwendet, wenn geringe Verzögerung wichtiger ist als vollständige Kontrolle.
Beispiele:
- DNS
- DHCP
- VoIP
- Live-Streaming
- Online-Gaming
- NTP
- WireGuard
- QUIC / HTTP/3
Beispiel VoIP:
Bei einem Telefonat ist es besser,
wenn ein kleines Audiostück kurz fehlt,
als wenn die Sprache stark verzögert ankommt.
Beispiel Online-Gaming:
Bei schnellen Positionsdaten ist der aktuelle Zustand wichtiger
als ein altes verlorenes Paket nachträglich zu übertragen.
DNS als Beispiel für UDP
DNS nutzt sehr häufig UDP auf Port 53.
Ablauf vereinfacht:
1. Client fragt per UDP beim DNS-Server an.
2. DNS-Server antwortet per UDP.
3. Die Antwort enthält die passende IP-Adresse zur Domain.
Beispiel:
Client: 192.168.0.20:53000
DNS-Server: 192.168.0.1:53
Protokoll: UDP
Warum UDP hier sinnvoll ist:
- DNS-Anfragen sind meist klein.
- Ein TCP-Verbindungsaufbau wäre zusätzlicher Aufwand.
- Bei Verlust kann die Anfrage einfach erneut gestellt werden.
Wichtig:
DNS kann auch TCP verwenden,
zum Beispiel bei größeren Antworten oder Zonentransfers.
QUIC und HTTP/3
QUIC ist ein modernes Transportprotokoll, das auf UDP basiert.
HTTP/3 läuft über QUIC.
QUIC läuft über UDP.
UDP läuft über IP.
Wichtig:
UDP selbst ist einfach und verbindungslos.
QUIC baut darauf eigene Funktionen für Verbindung, Zuverlässigkeit und Verschlüsselung auf.
Das bedeutet:
Nur weil UDP selbst keine TCP-Zuverlässigkeit bietet,
kann ein Protokoll oberhalb von UDP trotzdem eigene Kontrollmechanismen einbauen.
TCP und UDP mit Ports
Sowohl TCP als auch UDP verwenden Ports.
IP-Adresse = welcher Host?
Port = welcher Dienst?
Socket = IP-Adresse + Port
Wichtig:
TCP-Port 443 und UDP-Port 443 sind technisch getrennt.
Beispiel:
TCP 443 = HTTPS über TCP
UDP 443 = QUIC / HTTP/3
Ein Dienst kann also denselben Port bei TCP und UDP unterschiedlich verwenden.
Firewall-Bezug
Firewalls können sowohl TCP als auch UDP filtern.
Dabei prüfen sie zum Beispiel:
- Quell-IP
- Ziel-IP
- Quellport
- Zielport
- Protokoll TCP oder UDP
Bei TCP kann eine Stateful Firewall den Verbindungszustand gut erkennen:
SYN → SYN-ACK → ACK → Verbindung steht
Bei UDP gibt es keinen echten Verbindungszustand wie bei TCP. Eine Stateful Firewall kann sich aber trotzdem kurzzeitig merken, dass ein internes Gerät ein UDP-Datagramm nach außen gesendet hat.
Beispiel:
Client sendet DNS-Anfrage per UDP nach außen.
Firewall merkt sich diese Anfrage kurzzeitig.
DNS-Antwort darf zurück.
Unerwartete UDP-Pakete von außen werden blockiert.
TCP versus UDP als Tabelle
| Merkmal | TCP | UDP |
|---|---|---|
| Voller Name | Transmission Control Protocol | User Datagram Protocol |
| Verbindungsaufbau | Ja, 3-Wege-Handshake | Nein |
| Erste Nachricht | SYN | Direkt Datagramm/Nutzdaten |
| Zuverlässigkeit | Eingebaut | Nicht eingebaut |
| Reihenfolgekontrolle | Ja | Nein |
| Sequenznummern | Ja | Nicht wie TCP |
| ACK-Bestätigungen | Ja | Nicht durch UDP selbst |
| Erneute Übertragung | Ja | Nein |
| Verwaltungsaufwand | Höher | Geringer |
| Latenz | Oft höher | Oft geringer |
| Typische Nutzung | Zuverlässige Datenübertragung | Echtzeit oder kleine schnelle Anfragen |
| Beispiele | HTTPS, SSH, E-Mail, Dateiübertragung | DNS, VoIP, Streaming, Gaming, QUIC |
Einfacher Vergleich
TCP ist wie ein Einschreiben:
Es wird geprüft, bestätigt und bei Problemen erneut gesendet.
UDP ist wie eine Postkarte:
Sie wird direkt abgeschickt, aber es gibt keine eingebaute Garantie,
dass sie ankommt oder in welcher Reihenfolge sie ankommt.
IHK-sichere Kurzformulierung
TCP ist ein verbindungsorientiertes und zuverlässiges Transportprotokoll. Vor der Datenübertragung wird über den 3-Wege-Handshake eine Verbindung aufgebaut. TCP verwendet Sequenznummern, ACK-Bestätigungen, Reihenfolgekontrolle und erneute Übertragung verlorener Daten. Dadurch eignet sich TCP für Anwendungen, bei denen Daten vollständig und korrekt ankommen müssen.
UDP ist ein verbindungsloses Transportprotokoll mit geringem Verwaltungsaufwand. UDP baut vor dem Senden keine Verbindung auf und bietet keine eingebaute Garantie für Zustellung, Reihenfolge oder erneute Übertragung verlorener Daten. Dadurch eignet sich UDP besonders für Anwendungen, bei denen geringe Verzögerung wichtiger ist als vollständige Kontrolle.
Merksätze
TCP = erst Verbindung aufbauen, dann Nutzdaten senden
UDP = keine Verbindung aufbauen, Daten direkt senden
TCP = zuverlässig, geordnet und kontrolliert
UDP = verbindungslos, schlank und oft latenzärmer
TCP fragt vorher:
"Darf ich eine Verbindung aufbauen?"
UDP sendet direkt:
"Hier sind die Daten."
TCP nutzt SYN, SYN-ACK und ACK für den Verbindungsaufbau.
UDP hat keinen 3-Wege-Handshake.
TCP erkennt fehlende Daten und überträgt sie erneut.
UDP macht das nicht automatisch.
TCP eignet sich für vollständige Daten.
UDP eignet sich für schnelle oder zeitkritische Daten.
7.1 OSI-Schicht 4 – Transportschicht
Die Transportschicht ist Schicht 4 des OSI-Modells.
Sie liegt zwischen:
Schicht 3: Vermittlungsschicht / Netzwerkschicht
und
Schicht 5: Sitzungsschicht
Die Hauptaufgabe von Schicht 4 ist:
Daten zwischen Anwendungen auf Endgeräten transportieren.
Dabei geht es besonders um:
- TCP
- UDP
- Ports
- Verbindungen
- Zuverlässigkeit
- Reihenfolge
- Flusskontrolle
- Fehlerbehandlung
- Segmentierung
Merksatz:
Schicht 4 = Transport zwischen Anwendungen mit TCP, UDP und Ports.
Grundidee von Schicht 4
Schicht 3 bringt IP-Pakete von einem Gerät zu einem anderen Gerät.
Schicht 4 sorgt dafür, dass die Daten zur richtigen Anwendung auf diesem Gerät gelangen.
Beispiel:
Ein Server hat eine IP-Adresse.
Auf dem Server laufen mehrere Dienste.
Zum Beispiel:
Webserver
SSH
Mailserver
Datenbank
Damit klar ist, welcher Dienst gemeint ist, nutzt Schicht 4 Ports.
Merksatz:
IP bringt zum Gerät.
Port bringt zur Anwendung.
Einordnung im OSI-Modell
| OSI-Schicht | Name | Aufgabe |
|---|---|---|
| 7 | Anwendungsschicht | Netzwerkdienste für Anwendungen |
| 6 | Darstellungsschicht | Darstellung, Codierung, Verschlüsselung |
| 5 | Sitzungsschicht | Sitzungen verwalten |
| 4 | Transportschicht | Transport zwischen Anwendungen |
| 3 | Vermittlungsschicht / Netzwerkschicht | IP-Adressierung und Routing |
| 2 | Sicherungsschicht | Frames, MAC-Adressen, lokale Übertragung |
| 1 | Bitübertragungsschicht | Bits als Signale übertragen |
Merksatz:
Schicht 4 sitzt über IP
und unter den Anwendungsschichten.
Warum braucht man Schicht 4?
Schicht 3 kennt IP-Adressen.
Eine IP-Adresse sagt:
welches Gerät?
Aber ein Gerät kann viele Dienste gleichzeitig anbieten.
Beispiel Server:
| Dienst | typischer Port |
|---|---|
| HTTP | 80 |
| HTTPS | 443 |
| SSH | 22 |
| DNS | 53 |
| SMTP | 25 |
| IMAP | 143 |
| RDP | 3389 |
Schicht 4 sorgt dafür, dass Daten beim richtigen Dienst landen.
Merksatz:
Ohne Ports wüsste ein Gerät nicht,
für welchen Dienst die Daten bestimmt sind.
Ports
Ein Port ist eine logische Nummer auf Schicht 4.
Ports werden verwendet, um Anwendungen oder Dienste auf einem Gerät zu unterscheiden.
Beispiel:
IP-Adresse:
192.168.10.50
Port:
443
Zusammen:
192.168.10.50:443
Das bedeutet:
Dienst auf Port 443
auf dem Gerät 192.168.10.50
Merksatz:
Port = logische Dienstnummer auf Schicht 4.
Port ist nicht gleich Switch-Port
Der Begriff Port kann verwirrend sein.
| Begriff | Bedeutung | Schicht |
|---|---|---|
| Switch-Port | physischer Anschluss am Switch | 1 / 2 |
| TCP-Port | logische Dienstnummer | 4 |
| UDP-Port | logische Dienstnummer | 4 |
Beispiel:
Switch-Port 5:
Kabel steckt am Switch.
TCP-Port 443:
HTTPS-Dienst auf einem Server.
Merksatz:
Switch-Port = physisch.
TCP-/UDP-Port = logisch.
TCP
TCP steht für:
Transmission Control Protocol
TCP ist ein verbindungsorientiertes Transportprotokoll.
Das bedeutet:
Vor der eigentlichen Datenübertragung wird eine Verbindung aufgebaut.
TCP bietet unter anderem:
- Verbindungsaufbau
- zuverlässige Übertragung
- Reihenfolge der Daten
- Bestätigungen
- erneute Übertragung bei Verlust
- Flusskontrolle
- Staukontrolle
Merksatz:
TCP = zuverlässig und verbindungsorientiert.
UDP
UDP steht für:
User Datagram Protocol
UDP ist ein verbindungsloses Transportprotokoll.
Das bedeutet:
Es wird keine Verbindung wie bei TCP aufgebaut.
UDP sendet Datagramme ohne eingebaute Garantie für:
- Zustellung
- Reihenfolge
- erneute Übertragung
- Bestätigung
UDP ist dadurch einfacher und schneller, aber weniger zuverlässig.
Merksatz:
UDP = schnell und verbindungslos.
TCP und UDP im Vergleich
| Merkmal | TCP | UDP |
|---|---|---|
| Verbindungsaufbau | ja | nein |
| Zuverlässigkeit | hoch | keine eingebaute Garantie |
| Reihenfolge | wird sichergestellt | keine eingebaute Garantie |
| Bestätigung | ja | nein |
| erneute Übertragung | ja | nein |
| Overhead | höher | geringer |
| typische Nutzung | Web, Mail, SSH | DNS, VoIP, Streaming, Gaming |
Merksatz:
TCP = sicherer Transport.
UDP = schlanker Transport.
Verbindungsorientiert
Verbindungsorientiert bedeutet:
Vor der Datenübertragung wird eine Verbindung aufgebaut.
TCP arbeitet verbindungsorientiert.
Dabei wird geprüft:
Ist die Gegenstelle erreichbar?
Können beide Seiten kommunizieren?
Welche Anfangswerte werden verwendet?
Erst danach werden Nutzdaten übertragen.
Merksatz:
Verbindungsorientiert = Verbindung vor Datenübertragung.
Verbindungslos
Verbindungslos bedeutet:
Es wird keine feste Verbindung aufgebaut.
UDP arbeitet verbindungslos.
Ein UDP-Datagramm wird einfach gesendet.
Der Sender weiß durch UDP allein nicht sicher:
ob es angekommen ist
ob es in richtiger Reihenfolge angekommen ist
ob es mehrfach angekommen ist
Wenn eine Anwendung Zuverlässigkeit braucht, muss sie das selbst lösen.
Merksatz:
Verbindungslos = senden ohne vorherigen Verbindungsaufbau.
TCP-Handshake
TCP baut eine Verbindung mit dem sogenannten Drei-Wege-Handshake auf.
Die drei Schritte sind:
1. SYN
2. SYN-ACK
3. ACK
Vereinfacht:
Client:
Ich möchte eine Verbindung aufbauen.
Server:
Einverstanden, ich bestätige.
Client:
Bestätigung erhalten.
Danach beginnt die eigentliche Datenübertragung.
Merksatz:
TCP-Verbindung startet mit SYN, SYN-ACK, ACK.
Drei-Wege-Handshake
| Schritt | Richtung | Bedeutung |
|---|---|---|
| 1 | Client → Server | SYN |
| 2 | Server → Client | SYN-ACK |
| 3 | Client → Server | ACK |
SYN bedeutet:
Synchronize
ACK bedeutet:
Acknowledgement
Nach dem dritten Schritt gilt die TCP-Verbindung als aufgebaut.
Merksatz:
Drei-Wege-Handshake = SYN, SYN-ACK, ACK.
TCP-Bestätigungen
TCP arbeitet mit Bestätigungen.
Wenn Daten ankommen, bestätigt der Empfänger den Empfang.
Wenn Daten verloren gehen, können sie erneut übertragen werden.
Dadurch erreicht TCP eine zuverlässige Datenübertragung.
Beispiel:
Sender sendet Daten.
Empfänger bestätigt Empfang.
Sender weiß:
Daten sind angekommen.
Merksatz:
TCP nutzt ACKs zur Bestätigung.
Reihenfolge bei TCP
TCP sorgt dafür, dass Daten in der richtigen Reihenfolge an die Anwendung übergeben werden.
Wenn Datenpakete unterwegs vertauscht ankommen, kann TCP sie wieder sortieren.
Beispiel:
gesendet:
Teil 1, Teil 2, Teil 3
angekommen:
Teil 1, Teil 3, Teil 2
TCP kann die Reihenfolge für die Anwendung wieder herstellen.
Merksatz:
TCP stellt die Reihenfolge der Daten sicher.
Sequenznummern
TCP nutzt Sequenznummern.
Sie helfen dabei:
- Daten in Reihenfolge zu bringen
- fehlende Daten zu erkennen
- Daten korrekt zu bestätigen
Wichtig:
Sequenznummern sind keine Ports.
Ports zeigen den Dienst.
Sequenznummern zeigen die Position von Daten im TCP-Datenstrom.
Merksatz:
Port = Dienst.
Sequenznummer = Position im TCP-Datenstrom.
TCP-Segment
Die Datenform bei TCP auf Schicht 4 heißt:
Segment
Ein TCP-Segment enthält unter anderem:
- Quell-Port
- Ziel-Port
- Sequenznummer
- Bestätigungsnummer
- Steuerbits
- Nutzdaten
Merksatz:
TCP arbeitet mit Segmenten.
UDP-Datagramm
Die Datenform bei UDP auf Schicht 4 heißt:
Datagramm
Ein UDP-Datagramm enthält unter anderem:
- Quell-Port
- Ziel-Port
- Länge
- Prüfsumme
- Nutzdaten
UDP ist einfacher aufgebaut als TCP.
Merksatz:
UDP arbeitet mit Datagrammen.
Segment und Datagramm unterscheiden
| Protokoll | Datenform auf Schicht 4 |
|---|---|
| TCP | Segment |
| UDP | Datagramm |
Wichtig:
In der Praxis wird oft allgemein von Paketen gesprochen.
Fachlich genauer sollte man unterscheiden.
Merksatz:
TCP = Segment.
UDP = Datagramm.
Portnummern
Portnummern liegen im Bereich:
0 bis 65535
Warum?
Ports sind 16 Bit groß.
16 Bit ermöglichen:
65536 verschiedene Werte
Von:
0
bis:
65535
Merksatz:
Portnummern gehen von 0 bis 65535.
Well-Known Ports
Well-Known Ports sind bekannte, standardisierte Ports.
Sie liegen im Bereich:
0 bis 1023
Beispiele:
| Dienst | Protokoll | Port |
|---|---|---|
| FTP | TCP | 21 |
| SSH | TCP | 22 |
| SMTP | TCP | 25 |
| DNS | TCP / UDP | 53 |
| HTTP | TCP | 80 |
| HTTPS | TCP | 443 |
Merksatz:
Well-Known Ports = 0 bis 1023.
Registered Ports
Registered Ports liegen im Bereich:
1024 bis 49151
Sie werden häufig von Anwendungen, Herstellern oder Diensten genutzt.
Beispiele können je nach Anwendung unterschiedlich sein.
Für die Prüfung ist meistens wichtiger:
Well-Known Ports kennen
und
Portbereiche grob einordnen.
Merksatz:
Registered Ports = 1024 bis 49151.
Dynamic oder Ephemeral Ports
Dynamic Ports werden auch genannt:
Ephemeral Ports
Sie liegen im Bereich:
49152 bis 65535
Clients nutzen solche Ports oft als temporäre Quell-Ports.
Beispiel:
Client öffnet Webseite.
Quell-Port:
52344
Ziel-Port:
443
Der Quell-Port wird temporär für diese Verbindung genutzt.
Merksatz:
Ephemeral Port = temporärer Client-Port.
Quell-Port und Ziel-Port
Ein TCP- oder UDP-Paket enthält:
- Quell-Port
- Ziel-Port
Beispiel HTTPS-Aufruf:
Client:
192.168.10.20:52344
Server:
93.184.216.34:443
Der Ziel-Port 443 zeigt:
Der Client möchte HTTPS erreichen.
Der Quell-Port 52344 hilft dem Client, die Antwort der richtigen Verbindung zuzuordnen.
Merksatz:
Ziel-Port = gewünschter Dienst.
Quell-Port = Rückzuordnung beim Absender.
Socket
Ein Socket beschreibt eine Kombination aus:
IP-Adresse
und
Port
Beispiel:
192.168.10.20:52344
Oder:
93.184.216.34:443
Bei TCP-Verbindungen betrachtet man oft die Kombination aus:
Quell-IP
Quell-Port
Ziel-IP
Ziel-Port
Protokoll
Diese Kombination macht eine Verbindung eindeutig.
Merksatz:
Socket = IP-Adresse plus Port.
Typische Dienste und Ports
| Dienst | Protokoll | Port |
|---|---|---|
| FTP Steuerverbindung | TCP | 21 |
| SSH | TCP | 22 |
| Telnet | TCP | 23 |
| SMTP | TCP | 25 |
| DNS | TCP / UDP | 53 |
| DHCP Server | UDP | 67 |
| DHCP Client | UDP | 68 |
| HTTP | TCP | 80 |
| POP3 | TCP | 110 |
| IMAP | TCP | 143 |
| HTTPS | TCP | 443 |
| RDP | TCP | 3389 |
Merksatz:
Die wichtigsten Standardports sollte man sicher kennen.
DNS und TCP/UDP
DNS nutzt häufig UDP Port 53.
Warum?
Normale DNS-Anfragen sind meist klein und schnell.
DNS kann aber auch TCP Port 53 verwenden.
Zum Beispiel:
- Zonentransfers
- große Antworten
- bestimmte DNS-Sicherheits- oder Sonderfälle
Prüfungsfalle:
DNS ist nicht nur UDP,
sondern kann TCP und UDP 53 nutzen.
Merksatz:
DNS = UDP 53 häufig,
TCP 53 ebenfalls möglich.
DHCP und UDP
DHCP nutzt UDP.
Wichtige Ports:
| Richtung | Port |
|---|---|
| DHCP Server | UDP 67 |
| DHCP Client | UDP 68 |
DHCP wird genutzt, um IP-Konfiguration automatisch zu vergeben.
Merksatz:
DHCP nutzt UDP 67 und 68.
HTTP und HTTPS
HTTP nutzt typischerweise:
TCP 80
HTTPS nutzt typischerweise:
TCP 443
HTTPS ist HTTP über TLS-Verschlüsselung.
Wichtig:
HTTPS ist nicht einfach nur ein anderer Port,
sondern nutzt Verschlüsselung über TLS.
Merksatz:
HTTP = TCP 80.
HTTPS = TCP 443.
SSH und Telnet
SSH nutzt typischerweise:
TCP 22
Telnet nutzt typischerweise:
TCP 23
Wichtiger Unterschied:
SSH ist verschlüsselt.
Telnet ist unverschlüsselt.
In modernen Netzen sollte SSH verwendet werden, nicht Telnet.
Merksatz:
SSH sicherer als Telnet.
Transport und Anwendung
Schicht 4 transportiert Daten zwischen Anwendungen.
Die Anwendung selbst liegt höher.
Beispiel:
HTTPS nutzt TCP 443.
Dabei ist:
TCP = Schicht 4
HTTPS = Anwendungsschicht mit TLS-Bezug
Merksatz:
Port gehört zu Schicht 4.
Dienst gehört zu höheren Schichten.
TCP und Firewall
Firewalls nutzen häufig Schicht-4-Informationen.
Beispiel-Regel:
Erlaube TCP 443 von Client-Netz zum Internet.
Das bedeutet:
HTTPS-Verbindungen nach außen sind erlaubt.
Andere Ports können blockiert werden.
Merksatz:
Firewall-Regeln nutzen oft IP-Adressen und Ports.
UDP und Firewall
Auch UDP kann durch Firewalls erlaubt oder blockiert werden.
Beispiele:
DNS über UDP 53
DHCP über UDP 67/68
VoIP über UDP
VPN über UDP
NTP über UDP 123
Da UDP verbindungslos ist, muss eine Firewall den Verkehr anders verfolgen als bei TCP.
Merksatz:
UDP braucht passende Firewall-Regeln,
auch ohne TCP-Verbindung.
TCP-Verbindungszustände
TCP kennt verschiedene Verbindungszustände.
Beispiele:
LISTEN
SYN-SENT
ESTABLISHED
FIN-WAIT
TIME-WAIT
CLOSED
Für AP1/AP2 ist besonders wichtig:
LISTEN bedeutet:
Dienst wartet auf eingehende Verbindungen.
ESTABLISHED bedeutet:
Verbindung besteht.
Merksatz:
LISTEN = Dienst wartet.
ESTABLISHED = Verbindung steht.
Port offen oder geschlossen
Ein Port kann aus Sicht eines Clients unterschiedlich wirken.
| Zustand | Bedeutung |
|---|---|
| offen | Dienst nimmt Verbindungen an |
| geschlossen | kein Dienst hört auf diesem Port |
| gefiltert | Firewall blockiert oder verwirft |
Wichtig:
Ein offener Port bedeutet,
dass ein Dienst erreichbar ist.
Ein geschlossener Port bedeutet nicht zwingend,
dass das Gerät offline ist.
Merksatz:
Portstatus sagt etwas über den Dienst,
nicht nur über das Gerät.
Typische Schicht-4-Fehler
Typische Fehler auf Schicht 4 sind:
- falscher Port
- Dienst hört nicht auf erwartetem Port
- Firewall blockiert TCP oder UDP
- TCP-Verbindung wird nicht aufgebaut
- UDP-Antwort kommt nicht zurück
- Portweiterleitung auf falschen Port
- NAT/PAT-Portzuordnung falsch
- Anwendung nutzt anderes Protokoll als erwartet
- TCP-Handshake scheitert
Merksatz:
Schicht-4-Fehler betreffen TCP, UDP und Ports.
Schicht 3 oder Schicht 4 unterscheiden
| Frage | eher Schicht |
|---|---|
| Ist die IP-Adresse erreichbar? | 3 |
| Funktioniert Ping auf IP? | 3 |
| Gibt es eine Route? | 3 |
| Ist TCP-Port 443 erreichbar? | 4 |
| Ist UDP-Port 53 erreichbar? | 4 |
| Baut TCP eine Verbindung auf? | 4 |
| Antwortet der Webdienst korrekt? | 7 |
Merksatz:
IP erreichbar = Schicht 3.
Port erreichbar = Schicht 4.
Beispiel: Ping geht, Webseite geht nicht
Fehlerbild:
ping server funktioniert.
Webseite funktioniert nicht.
Dann ist Schicht 3 wahrscheinlich grundsätzlich erreichbar.
Mögliche Ursachen:
- TCP-Port 80 oder 443 blockiert
- Webserver läuft nicht
- Dienst hört auf anderer IP
- Dienst hört auf anderem Port
- Firewall blockiert
- Reverse Proxy falsch
- TLS-Problem
Merksatz:
Ping geht,
Dienst nicht:
Schicht 4 und 7 prüfen.
Beispiel: Port 443 blockiert
Ein Client möchte HTTPS nutzen.
Ziel:
server.example.local:443
Mögliche Fehler:
- Server ist erreichbar,
aber TCP 443 ist geschlossen
- Firewall blockiert TCP 443
- Dienst läuft nur auf TCP 8443
- Portweiterleitung zeigt auf falschen Port
Merksatz:
HTTPS braucht erreichbaren TCP-Port 443.
Beispiel: DNS funktioniert nicht
DNS nutzt häufig UDP 53 und teilweise TCP 53.
Wenn DNS nicht funktioniert, prüft man:
- DNS-Server-IP korrekt?
- DNS-Server erreichbar?
- UDP 53 erlaubt?
- TCP 53 erlaubt?
- Firewall blockiert?
- DNS-Dienst läuft?
- Antwort kommt zurück?
Merksatz:
DNS-Probleme können Schicht 3, 4 oder 7 betreffen.
Beispiel: UDP-Dienst antwortet nicht
Bei UDP gibt es keinen TCP-Handshake.
Wenn ein UDP-Dienst nicht antwortet, kann das viele Ursachen haben:
- Dienst läuft nicht
- Firewall blockiert
- Antwortweg fehlt
- NAT/PAT-Problem
- Anwendung antwortet nur auf gültige Anfragen
- Paketverlust
- falscher Port
Merksatz:
UDP-Fehler sind oft schwerer eindeutig zu erkennen als TCP-Fehler.
Einordnung in das OSI-Modell
| Thema | Schicht |
|---|---|
| IP-Adresse | 3 |
| Routing | 3 |
| ICMP | 3 |
| TCP | 4 |
| UDP | 4 |
| Port | 4 |
| Socket | 4 mit IP-Bezug |
| TCP-Handshake | 4 |
| DNS-Protokoll | 7, nutzt TCP/UDP 53 |
| HTTP | 7, nutzt TCP 80 |
| HTTPS | 7, nutzt TCP 443 und TLS |
| DHCP | 7, nutzt UDP 67/68 |
Merksatz:
TCP, UDP und Ports = Schicht 4.
Was Schicht 4 nicht macht
Schicht 4 macht nicht:
- IP-Routing zwischen Netzen
- MAC-Adressen im LAN auflösen
- DNS-Namen in IP-Adressen auflösen
- Webseiten darstellen
- Benutzer authentifizieren
- Zertifikate prüfen
- Inhalte interpretieren
- Dateien speichern
Diese Aufgaben liegen auf anderen Schichten.
Merksatz:
Schicht 4 transportiert,
interpretiert aber keine Anwendung.
Typische IHK-Fragen
In AP1 und AP2 kann zum Beispiel gefragt werden:
- Welche Aufgabe hat die Transportschicht?
- Was ist ein Port?
- Was ist der Unterschied zwischen Switch-Port und TCP-Port?
- Was ist TCP?
- Was ist UDP?
- Was ist der Unterschied zwischen TCP und UDP?
- Was bedeutet verbindungsorientiert?
- Was bedeutet verbindungslos?
- Wie funktioniert der TCP-Handshake?
- Welche Ports haben HTTP, HTTPS, SSH, DNS und DHCP?
- Warum nutzt DNS TCP und UDP?
- Was bedeutet Socket?
- Was ist ein Ephemeral Port?
- Warum kann Ping funktionieren, aber HTTPS nicht?
- Warum nutzt ICMP keine Ports?
Typische Prüfungsfallen
TCP gehört zu Schicht 4.
UDP gehört zu Schicht 4.
Ports gehören zu Schicht 4.
ICMP nutzt keine TCP- oder UDP-Ports.
Switch-Port ist nicht TCP-Port.
TCP ist verbindungsorientiert.
UDP ist verbindungslos.
TCP ist zuverlässiger als UDP.
UDP ist schlanker als TCP.
TCP-Handshake = SYN, SYN-ACK, ACK.
HTTP nutzt TCP 80.
HTTPS nutzt TCP 443.
SSH nutzt TCP 22.
DNS nutzt UDP 53 und auch TCP 53.
DHCP nutzt UDP 67 und 68.
Ping funktioniert heißt nicht,
dass ein TCP-Port offen ist.
Port offen heißt nicht automatisch,
dass die Anwendung korrekt funktioniert.
Wichtige Begriffe kurz erklärt
| Begriff | Kurze Erklärung |
|---|---|
| Transportschicht | OSI-Schicht 4 |
| TCP | verbindungsorientiertes Transportprotokoll |
| UDP | verbindungsloses Transportprotokoll |
| Port | logische Dienstnummer |
| TCP-Port | Port für TCP-Dienst |
| UDP-Port | Port für UDP-Dienst |
| Socket | IP-Adresse plus Port |
| Segment | TCP-Datenform auf Schicht 4 |
| Datagramm | UDP-Datenform auf Schicht 4 |
| SYN | TCP-Verbindungsaufbau-Anfrage |
| ACK | Bestätigung bei TCP |
| Drei-Wege-Handshake | SYN, SYN-ACK, ACK |
| Sequenznummer | Position im TCP-Datenstrom |
| Well-Known Port | Port 0 bis 1023 |
| Registered Port | Port 1024 bis 49151 |
| Ephemeral Port | temporärer Client-Port |
| LISTEN | Dienst wartet auf Verbindung |
| ESTABLISHED | TCP-Verbindung besteht |
IHK-sichere Kurzformulierung
Die Transportschicht ist Schicht 4 des OSI-Modells. Sie ist für den Transport von Daten zwischen Anwendungen auf Endgeräten zuständig. Dafür werden vor allem TCP, UDP und Ports verwendet. TCP ist verbindungsorientiert und bietet zuverlässige Übertragung mit Verbindungsaufbau, Bestätigungen, Reihenfolge und erneuter Übertragung. UDP ist verbindungslos, schlanker und bietet keine eingebaute Garantie für Zustellung oder Reihenfolge. Ports dienen dazu, Dienste auf einem Gerät zu unterscheiden. Ein Socket besteht aus IP-Adresse und Port. Der TCP-Verbindungsaufbau erfolgt über den Drei-Wege-Handshake mit SYN, SYN-ACK und ACK.
Merksätze
Schicht 4 = Transportschicht.
Schicht 4 = TCP, UDP und Ports.
IP bringt zum Gerät.
Port bringt zur Anwendung.
Port = logische Dienstnummer.
Switch-Port ist physisch.
TCP-Port ist logisch.
TCP = verbindungsorientiert.
UDP = verbindungslos.
TCP = zuverlässig.
UDP = schlank und schnell.
TCP-Handshake = SYN, SYN-ACK, ACK.
TCP nutzt Segmente.
UDP nutzt Datagramme.
Portnummern gehen von 0 bis 65535.
Well-Known Ports = 0 bis 1023.
Ephemeral Ports = temporäre Client-Ports.
HTTP = TCP 80.
HTTPS = TCP 443.
SSH = TCP 22.
DNS = UDP 53 und TCP 53.
DHCP = UDP 67 und 68.
ICMP nutzt keine Ports.
Ping prüft nicht,
ob ein TCP-Port offen ist.
IP erreichbar = Schicht 3.
Port erreichbar = Schicht 4.
Anwendung korrekt = höhere Schicht.
7.2 TCP und UDP im Detail
TCP und UDP sind die wichtigsten Transportprotokolle auf OSI-Schicht 4.
Beide haben dieselbe Grundaufgabe:
Daten zwischen Anwendungen auf Endgeräten transportieren.
Der große Unterschied liegt darin, wie sie das machen.
TCP arbeitet:
verbindungsorientiert
zuverlässig
mit Bestätigungen
UDP arbeitet:
verbindungslos
schlanker
ohne eingebaute Zustellgarantie
Merksatz:
TCP = zuverlässig.
UDP = schnell und einfach.
Warum gibt es TCP und UDP?
Nicht jede Anwendung hat dieselben Anforderungen.
Manche Anwendungen brauchen sichere und vollständige Datenübertragung.
Beispiele:
- Webseite laden
- Datei übertragen
- E-Mail senden
- SSH-Verbindung
- Datenbankzugriff
Andere Anwendungen brauchen vor allem geringe Verzögerung.
Beispiele:
- VoIP
- Livestreaming
- Online-Gaming
- DNS-Anfragen
- Video-Konferenzen
Deshalb gibt es unterschiedliche Transportprotokolle.
Merksatz:
Unterschiedliche Anwendungen brauchen unterschiedliche Transportarten.
TCP-Grundidee
TCP steht für:
Transmission Control Protocol
TCP stellt eine Verbindung zwischen zwei Anwendungen her.
Dabei sorgt TCP dafür, dass Daten:
- vollständig ankommen
- in der richtigen Reihenfolge ankommen
- bestätigt werden
- bei Verlust erneut gesendet werden
- kontrolliert übertragen werden
Merksatz:
TCP kümmert sich um zuverlässige Datenübertragung.
UDP-Grundidee
UDP steht für:
User Datagram Protocol
UDP sendet einzelne Datagramme ohne vorherigen Verbindungsaufbau.
UDP kümmert sich nicht selbst darum, ob Daten:
- angekommen sind
- vollständig angekommen sind
- in richtiger Reihenfolge angekommen sind
- erneut gesendet werden müssen
Dafür ist UDP sehr schlank.
Merksatz:
UDP sendet einfach,
ohne Verbindung aufzubauen.
TCP und UDP direkt vergleichen
| Merkmal | TCP | UDP |
|---|---|---|
| Verbindungsaufbau | ja | nein |
| Verbindung | verbindungsorientiert | verbindungslos |
| Zustellgarantie | ja, durch Mechanismen | nein |
| Reihenfolge | wird sichergestellt | nicht sichergestellt |
| Bestätigungen | ja | nein |
| erneute Übertragung | ja | nein |
| Geschwindigkeit | mehr Overhead | weniger Overhead |
| Datenform | Segment | Datagramm |
| typische Nutzung | HTTP, HTTPS, SSH, Mail | DNS, DHCP, VoIP, Streaming |
Merksatz:
TCP kontrolliert mehr.
UDP ist einfacher.
Verbindungsorientiert bei TCP
Verbindungsorientiert bedeutet:
Vor der eigentlichen Datenübertragung wird eine Verbindung aufgebaut.
TCP prüft dabei, ob beide Seiten bereit sind.
Der Verbindungsaufbau erfolgt durch den Drei-Wege-Handshake:
SYN
SYN-ACK
ACK
Erst danach werden Nutzdaten übertragen.
Merksatz:
TCP baut vor der Datenübertragung eine Verbindung auf.
Verbindungslos bei UDP
Verbindungslos bedeutet:
Es gibt keinen Verbindungsaufbau wie bei TCP.
UDP sendet ein Datagramm direkt an Ziel-IP und Ziel-Port.
Der Sender erhält durch UDP selbst keine sichere Information darüber:
ob das Datagramm angekommen ist
ob es verworfen wurde
ob mehrere Datagramme in richtiger Reihenfolge ankamen
Merksatz:
UDP hat keinen Drei-Wege-Handshake.
TCP-Drei-Wege-Handshake
Der TCP-Verbindungsaufbau besteht aus drei Schritten.
| Schritt | Richtung | Bedeutung |
|---|---|---|
| 1 | Client → Server | SYN |
| 2 | Server → Client | SYN-ACK |
| 3 | Client → Server | ACK |
Vereinfacht:
Client fragt an.
Server bestätigt und fragt zurück.
Client bestätigt.
Danach ist die Verbindung aufgebaut.
Merksatz:
TCP-Handshake = SYN, SYN-ACK, ACK.
SYN
SYN steht für:
Synchronize
Ein SYN wird beim TCP-Verbindungsaufbau gesendet.
Der Client sagt damit vereinfacht:
Ich möchte eine TCP-Verbindung aufbauen.
Das SYN enthält unter anderem Startinformationen für die TCP-Kommunikation.
Merksatz:
SYN startet den TCP-Verbindungsaufbau.
SYN-ACK
SYN-ACK ist die Antwort des Servers auf das SYN des Clients.
Der Server sagt damit vereinfacht:
Ich habe deine Anfrage erhalten
und bin bereit für die Verbindung.
SYN-ACK enthält:
SYN des Servers
ACK als Bestätigung des Client-SYN
Merksatz:
SYN-ACK bestätigt die Anfrage und synchronisiert zurück.
ACK
ACK steht für:
Acknowledgement
ACK bedeutet:
Bestätigung
Im dritten Schritt bestätigt der Client das SYN-ACK des Servers.
Danach gilt die TCP-Verbindung als aufgebaut.
Merksatz:
ACK bestätigt empfangene TCP-Informationen.
TCP-Datenübertragung nach dem Handshake
Nach dem Drei-Wege-Handshake können Nutzdaten übertragen werden.
TCP nutzt dafür:
- Sequenznummern
- Bestätigungsnummern
- Prüfsummen
- Fenstergröße
- erneute Übertragung bei Verlust
Dadurch wird die Übertragung zuverlässiger.
Merksatz:
Nach dem Handshake sorgt TCP für geordnete Datenübertragung.
Sequenznummern
TCP nutzt Sequenznummern, um Daten zu ordnen.
Sie helfen dabei:
- Reihenfolge wiederherzustellen
- fehlende Daten zu erkennen
- Daten korrekt zu bestätigen
Beispiel:
Teil 1 kommt an.
Teil 3 kommt an.
Teil 2 fehlt.
TCP erkennt:
Es fehlt etwas.
Dann kann die fehlende Information erneut übertragen werden.
Merksatz:
Sequenznummern helfen TCP,
Daten richtig zu sortieren.
Bestätigungsnummern
Bestätigungsnummern zeigen dem Sender, welche Daten angekommen sind.
Der Empfänger bestätigt nicht nur:
Ich habe etwas bekommen.
Sondern sinngemäß:
Ich habe alles bis zu dieser Stelle bekommen
und erwarte als Nächstes diese Nummer.
Merksatz:
TCP bestätigt empfangene Daten mit ACKs.
Erneute Übertragung bei TCP
Wenn TCP erkennt, dass Daten fehlen, können sie erneut übertragen werden.
Mögliche Gründe für erneute Übertragung:
- Paketverlust
- beschädigte Daten
- keine Bestätigung erhalten
- Timeout
- Überlastung im Netz
Dadurch ist TCP zuverlässiger als UDP.
Merksatz:
TCP kann verlorene Daten erneut senden.
Reihenfolge bei TCP
IP-Pakete können im Netzwerk unterschiedliche Wege nehmen.
Dadurch können Daten in anderer Reihenfolge ankommen.
TCP kann sie wieder richtig zusammensetzen.
Beispiel:
Gesendet:
1, 2, 3, 4
Angekommen:
1, 3, 2, 4
TCP übergibt der Anwendung die Daten wieder in korrekter Reihenfolge.
Merksatz:
TCP sorgt für richtige Reihenfolge.
Flusskontrolle
Flusskontrolle bedeutet:
Der Sender soll den Empfänger nicht überfordern.
TCP nutzt dafür unter anderem die Fenstergröße.
Die Fenstergröße gibt an, wie viele Daten gesendet werden dürfen, bevor weitere Bestätigungen nötig sind.
Vereinfacht:
Empfänger sagt:
So viel kann ich gerade aufnehmen.
Merksatz:
Flusskontrolle schützt den Empfänger vor Überlastung.
Staukontrolle
Staukontrolle bedeutet:
TCP versucht, Überlastung im Netzwerk zu vermeiden.
Wenn Paketverlust oder Verzögerung auftritt, kann TCP die Sendeleistung anpassen.
Ziel:
Das Netzwerk soll nicht weiter überlastet werden.
Merksatz:
Staukontrolle schützt das Netzwerk vor Überlastung.
TCP-Verbindungsabbau
TCP-Verbindungen werden geordnet beendet.
Dabei kommen häufig FIN- und ACK-Nachrichten vor.
Vereinfacht:
Eine Seite sagt:
Ich möchte die Verbindung beenden.
Die andere Seite bestätigt.
Es gibt auch RST.
RST bedeutet:
Verbindung sofort abbrechen.
Merksatz:
FIN beendet geordnet.
RST bricht ab.
TCP-Zustände
TCP kennt verschiedene Zustände.
Wichtige Beispiele:
| Zustand | Bedeutung |
|---|---|
| LISTEN | Dienst wartet auf eingehende Verbindung |
| SYN-SENT | Client hat SYN gesendet |
| SYN-RECEIVED | Server hat SYN erhalten und SYN-ACK gesendet |
| ESTABLISHED | Verbindung besteht |
| FIN-WAIT | Verbindung wird beendet |
| TIME-WAIT | Wartephase nach Verbindungsende |
| CLOSED | Verbindung geschlossen |
Merksatz:
ESTABLISHED bedeutet:
TCP-Verbindung steht.
UDP-Datagramm
UDP nutzt Datagramme.
Ein UDP-Datagramm enthält unter anderem:
- Quell-Port
- Ziel-Port
- Länge
- Prüfsumme
- Nutzdaten
UDP hat deutlich weniger Steuerinformationen als TCP.
Merksatz:
UDP-Datagramm = einfache Transport-Dateneinheit.
Warum UDP trotz fehlender Garantie sinnvoll ist
UDP ist sinnvoll, wenn Geschwindigkeit oder geringe Verzögerung wichtiger ist als perfekte Vollständigkeit.
Beispiel VoIP:
Wenn ein kleines Audiopaket verloren geht,
ist es oft besser,
einfach weiterzumachen.
Eine spätere erneute Übertragung wäre zu spät und würde nur stören.
Merksatz:
Bei Echtzeitdiensten ist spät manchmal schlimmer als verloren.
UDP bei DNS
DNS nutzt häufig UDP Port 53.
Warum?
DNS-Anfragen sind oft kurz.
DNS-Antworten sind oft klein.
Es soll schnell gehen.
DNS kann aber auch TCP Port 53 verwenden.
Beispiele:
- große Antworten
- Zonentransfers
- bestimmte DNSSEC-Fälle
Merksatz:
DNS nutzt häufig UDP 53,
kann aber auch TCP 53 nutzen.
UDP bei DHCP
DHCP nutzt UDP.
Wichtige Ports:
| Richtung | Port |
|---|---|
| DHCP-Server | UDP 67 |
| DHCP-Client | UDP 68 |
Warum UDP?
Ein Client hat am Anfang oft noch keine vollständige IP-Konfiguration.
DHCP muss früh im Netzwerkprozess funktionieren.
Merksatz:
DHCP nutzt UDP 67 und 68.
UDP bei VoIP und Streaming
VoIP, Videokonferenzen und Streaming nutzen häufig UDP.
Grund:
geringe Verzögerung ist wichtig.
Wenn ein Paket verloren geht, ist eine spätere Wiederholung oft nicht sinnvoll.
Beispiel:
Ein verlorener Tonfetzen bei Telefonie ist kurz störend.
Eine verspätete Wiederholung würde das Gespräch stärker stören.
Merksatz:
Echtzeitkommunikation nutzt häufig UDP.
TCP bei Web und Dateiübertragung
Webseiten, Dateiübertragungen und viele Verwaltungsdienste nutzen TCP.
Beispiele:
- HTTP
- HTTPS
- SSH
- FTP
- SMTP
- IMAP
- POP3
Warum?
Daten sollen vollständig und korrekt ankommen.
Bei einer Datei wäre es schlecht, wenn Teile fehlen oder vertauscht sind.
Merksatz:
Wenn Vollständigkeit wichtig ist,
ist TCP häufig geeignet.
TCP und HTTPS
HTTPS nutzt typischerweise TCP Port 443.
Dabei kommen mehrere Dinge zusammen:
IP-Adresse für das Zielgerät
TCP-Port 443 für den Dienst
TCP-Verbindung für Transport
TLS für Verschlüsselung
HTTP für die Webanwendung
Merksatz:
HTTPS nutzt TCP,
ist aber selbst eine höhere Anwendung mit TLS.
UDP und QUIC
QUIC ist ein modernes Transportprotokoll, das auf UDP basiert.
HTTP/3 nutzt QUIC.
Warum UDP als Grundlage?
QUIC bringt eigene Mechanismen für Verbindungen, Sicherheit und Zuverlässigkeit mit,
nutzt aber UDP als Transportbasis.
Für AP1/AP2 reicht meistens:
HTTP/3 nutzt QUIC über UDP.
Merksatz:
UDP bedeutet nicht automatisch,
dass keine Zuverlässigkeit möglich ist;
sie kann in höheren Protokollen umgesetzt werden.
TCP-Overhead
TCP hat mehr Overhead als UDP.
Warum?
- Verbindungsaufbau
- Bestätigungen
- Sequenznummern
- erneute Übertragung
- Flusskontrolle
- Staukontrolle
- Verbindungsabbau
Dieser Overhead lohnt sich, wenn zuverlässige Übertragung wichtig ist.
Merksatz:
TCP hat mehr Kontrolle,
aber auch mehr Aufwand.
UDP-Overhead
UDP hat wenig Overhead.
Warum?
- kein Handshake
- keine TCP-Bestätigungen
- keine TCP-Sequenzsteuerung
- kein TCP-Verbindungszustand
Das macht UDP schlank und schnell.
Aber:
Die Anwendung muss selbst entscheiden,
ob sie zusätzliche Zuverlässigkeit braucht.
Merksatz:
UDP ist schlank,
aber einfacher.
Ports bei TCP und UDP
TCP und UDP haben jeweils eigene Portbereiche.
Das bedeutet:
TCP 53 und UDP 53 sind nicht derselbe Kommunikationskanal.
Beispiel DNS:
UDP 53 für typische Abfragen
TCP 53 für bestimmte Fälle
Eine Firewall-Regel für TCP 53 erlaubt nicht automatisch UDP 53.
Merksatz:
TCP-Port und UDP-Port sind getrennt zu betrachten.
Gleiche Portnummer, anderes Protokoll
Die gleiche Portnummer kann bei TCP und UDP unterschiedliche Bedeutung haben.
Beispiel:
TCP 53
UDP 53
Beide gehören zu DNS, aber technisch sind es verschiedene Transportprotokolle.
Beispiel:
TCP 443
UDP 443
TCP 443 ist klassisches HTTPS.
UDP 443 kann bei QUIC / HTTP/3 relevant sein.
Merksatz:
Portnummer immer zusammen mit TCP oder UDP betrachten.
Quell-Port und Ziel-Port bei TCP
Beispiel HTTPS:
Client:
192.168.10.20:52344
Server:
93.184.216.34:443
Dabei ist:
52344 = temporärer Quell-Port des Clients
443 = Ziel-Port des HTTPS-Dienstes
Die Antwort kommt zurück an:
192.168.10.20:52344
Merksatz:
Ziel-Port zeigt den Dienst.
Quell-Port hilft beim Rückweg zur Verbindung.
Quell-Port und Ziel-Port bei UDP
Auch UDP nutzt Quell-Port und Ziel-Port.
Beispiel DNS:
Client:
192.168.10.20:54001
DNS-Server:
192.168.10.1:53
Der Client sendet von einem temporären Port an UDP 53.
Die Antwort kommt zurück an den temporären Client-Port.
Merksatz:
Auch UDP nutzt Ports für Dienst und Rückzuordnung.
Ephemeral Ports
Ephemeral Ports sind temporäre Client-Ports.
Sie werden für ausgehende Verbindungen genutzt.
Typischer Bereich:
49152 bis 65535
Beispiel:
Client nutzt 53210 als Quell-Port
für Verbindung zu Server TCP 443.
Nach Ende der Verbindung kann der Port später wiederverwendet werden.
Merksatz:
Ephemeral Port = temporärer Quell-Port eines Clients.
Well-Known Ports
Well-Known Ports liegen im Bereich:
0 bis 1023
Sie sind bekannten Standarddiensten zugeordnet.
Beispiele:
| Dienst | Protokoll | Port |
|---|---|---|
| FTP | TCP | 21 |
| SSH | TCP | 22 |
| Telnet | TCP | 23 |
| SMTP | TCP | 25 |
| DNS | TCP / UDP | 53 |
| HTTP | TCP | 80 |
| HTTPS | TCP | 443 |
Merksatz:
Well-Known Ports sollte man für die Prüfung sicher kennen.
TCP-Fehlersuche
Typische TCP-Fragen:
Ist der Zielhost erreichbar?
Ist der Ziel-Port offen?
Lauscht der Dienst auf dem Port?
Kommt ein SYN beim Server an?
Antwortet der Server mit SYN-ACK?
Blockiert eine Firewall?
Wird die Verbindung zurückgesetzt?
Gibt es NAT- oder Portweiterleitungsfehler?
Merksatz:
Bei TCP prüft man besonders den Verbindungsaufbau.
UDP-Fehlersuche
UDP-Fehlersuche ist oft schwieriger.
Warum?
Es gibt keinen Handshake.
Wenn keine Antwort kommt, ist nicht sofort klar:
Paket verloren?
Dienst nicht erreichbar?
Firewall blockiert?
Anfrage ungültig?
Antwortweg gestört?
NAT-Problem?
Deshalb braucht man oft Logs, Mitschnitte oder passende Testwerkzeuge.
Merksatz:
UDP-Fehler sind schwerer eindeutig zu erkennen als TCP-Fehler.
TCP-Handshake scheitert
Wenn ein TCP-Handshake scheitert, kann die Verbindung nicht aufgebaut werden.
Mögliche Ursachen:
- Server nicht erreichbar
- Dienst hört nicht auf dem Port
- Firewall blockiert SYN
- Firewall blockiert SYN-ACK
- NAT oder Portweiterleitung falsch
- Server lehnt Verbindung ab
- Rückroute fehlt
Merksatz:
Kein TCP-Handshake = keine TCP-Verbindung.
TCP Reset
Ein TCP Reset wird mit RST gekennzeichnet.
RST bedeutet:
Verbindung sofort abbrechen.
Mögliche Ursachen:
- Port geschlossen
- Dienst lehnt Verbindung ab
- Anwendung beendet Verbindung
- Firewall sendet Reset
- fehlerhafte Verbindung
Merksatz:
RST = TCP-Verbindung wird sofort zurückgesetzt.
TCP Timeout
Ein Timeout bedeutet:
Eine erwartete Antwort kommt nicht rechtzeitig.
Mögliche Ursachen:
- Paket geht verloren
- Firewall verwirft still
- Server antwortet nicht
- Rückweg fehlt
- Routing-Problem
- NAT-Problem
Merksatz:
Timeout bedeutet:
keine rechtzeitige Antwort.
Gefilterter Port
Ein Port wirkt gefiltert, wenn eine Firewall Pakete blockiert oder verwirft.
Unterschied:
geschlossen:
Ziel antwortet aktiv, dass kein Dienst vorhanden ist.
gefiltert:
keine oder keine klare Antwort.
Merksatz:
Gefiltert bedeutet oft:
Firewall im Weg.
Offener Port
Ein Port ist offen, wenn ein Dienst auf diesem Port Verbindungen annimmt oder Anfragen beantwortet.
Beispiel:
TCP 443 offen
bedeutet:
Ein Dienst akzeptiert HTTPS-Verbindungen oder zumindest TCP-Verbindungen auf Port 443.
Aber:
Das sagt noch nicht,
dass die Webanwendung korrekt funktioniert.
Merksatz:
Offener Port bedeutet:
Dienst ist grundsätzlich erreichbar.
Geschlossener Port
Ein Port ist geschlossen, wenn kein Dienst auf diesem Port lauscht.
Beispiel:
Server erreichbar,
aber TCP 22 geschlossen
Das bedeutet:
Der Server antwortet,
aber SSH läuft dort nicht oder nicht auf Port 22.
Merksatz:
Geschlossener Port heißt:
Host kann erreichbar sein,
Dienst aber nicht.
TCP und Paketmitschnitt
In einem Mitschnitt kann man TCP gut erkennen.
Wichtige Hinweise:
SYN
SYN-ACK
ACK
RST
FIN
Retransmission
Window Size
Duplicate ACK
Damit kann man sehen:
Wird die Verbindung aufgebaut?
Wo bleibt die Antwort aus?
Wird zurückgesetzt?
Gibt es Paketverlust?
Merksatz:
TCP lässt sich im Mitschnitt gut analysieren.
UDP und Paketmitschnitt
Bei UDP sieht man im Mitschnitt:
Quell-Port
Ziel-Port
Länge
Prüfsumme
Nutzdaten
Aber man sieht keinen Handshake.
Deshalb muss man prüfen:
Geht die Anfrage raus?
Kommt eine Antwort zurück?
Ist die Antwort korrekt?
Wird etwas blockiert?
Ist der Port richtig?
Merksatz:
Bei UDP vergleicht man Anfrage und Antwort.
TCP oder UDP bei Firewall-Regeln
Firewall-Regeln müssen das richtige Protokoll berücksichtigen.
Beispiel:
DNS erlauben
Nicht ausreichend, wenn nur steht:
Port 53 erlauben
Genauer:
UDP 53 erlauben
TCP 53 bei Bedarf ebenfalls erlauben
Beispiel HTTPS:
TCP 443 erlauben
Bei HTTP/3 kann zusätzlich relevant sein:
UDP 443 erlauben
Merksatz:
Firewall-Regeln brauchen Protokoll und Port.
TCP oder UDP bei Portweiterleitungen
Auch Portweiterleitungen müssen das richtige Protokoll nutzen.
Beispiel:
Webserver klassisch:
TCP 80
TCP 443
Beispiel DNS-Server:
UDP 53
TCP 53
Beispiel Spielserver:
je nach Spiel oft UDP oder TCP unterschiedlich
Prüfungsfalle:
TCP-Portweiterleitung hilft nicht,
wenn der Dienst UDP nutzt.
Merksatz:
Portweiterleitung muss TCP oder UDP richtig treffen.
NAT/PAT und TCP/UDP
PAT nutzt Port-Zuordnungen.
Bei TCP kann ein NAT-Gerät Verbindungszustände gut verfolgen.
Bei UDP gibt es keinen echten Verbindungszustand.
Deshalb nutzt NAT bei UDP Zeitfenster und Zuordnungstabellen.
Wenn die Zuordnung abläuft, können Antworten verloren gehen.
Merksatz:
NAT verfolgt TCP leichter als UDP.
Typische Anwendungen und Transportprotokolle
| Anwendung / Dienst | typisches Transportprotokoll |
|---|---|
| HTTP | TCP |
| HTTPS | TCP |
| HTTP/3 | UDP |
| SSH | TCP |
| Telnet | TCP |
| SMTP | TCP |
| IMAP | TCP |
| POP3 | TCP |
| DNS | UDP und TCP |
| DHCP | UDP |
| NTP | UDP |
| VoIP | häufig UDP |
| Streaming | häufig UDP oder TCP je nach Technik |
| VPN | je nach Lösung TCP oder UDP |
Merksatz:
Dienst immer mit Protokoll und Port betrachten.
TCP und UDP in der Praxisentscheidung
TCP ist sinnvoll, wenn wichtig ist:
- Vollständigkeit
- Reihenfolge
- Zuverlässigkeit
- fehlerfreie Dateiübertragung
- stabile Verbindung
UDP ist sinnvoll, wenn wichtig ist:
- geringe Latenz
- wenig Overhead
- Echtzeitverhalten
- kurze Anfragen
- Anwendung übernimmt eigene Steuerung
Merksatz:
TCP für Genauigkeit.
UDP für Geschwindigkeit und Echtzeit.
Einordnung in das OSI-Modell
| Thema | Schicht |
|---|---|
| IP-Adresse | 3 |
| Routing | 3 |
| ICMP | 3 |
| TCP | 4 |
| UDP | 4 |
| Port | 4 |
| TCP-Handshake | 4 |
| Sequenznummer | 4 |
| ACK | 4 |
| DNS-Dienst | 7, nutzt TCP/UDP 53 |
| HTTP | 7, nutzt TCP |
| HTTPS | 7, nutzt TCP und TLS |
| HTTP/3 | 7, nutzt QUIC über UDP |
Merksatz:
TCP und UDP gehören zur Transportschicht.
Typische IHK-Fragen
In AP1 und AP2 kann zum Beispiel gefragt werden:
- Was ist TCP?
- Was ist UDP?
- Worin unterscheiden sich TCP und UDP?
- Was bedeutet verbindungsorientiert?
- Was bedeutet verbindungslos?
- Wie funktioniert der TCP-Drei-Wege-Handshake?
- Was bedeuten SYN, SYN-ACK und ACK?
- Warum ist TCP zuverlässig?
- Warum ist UDP schneller beziehungsweise schlanker?
- Wann eignet sich TCP?
- Wann eignet sich UDP?
- Warum nutzt DNS UDP und TCP?
- Warum nutzt DHCP UDP?
- Warum nutzen Echtzeitdienste häufig UDP?
- Warum kann Ping funktionieren, aber TCP 443 nicht?
- Warum muss eine Firewall zwischen TCP und UDP unterscheiden?
Typische Prüfungsfallen
TCP ist verbindungsorientiert.
UDP ist verbindungslos.
TCP nutzt den Drei-Wege-Handshake.
UDP nutzt keinen Drei-Wege-Handshake.
TCP bietet Zuverlässigkeit durch Bestätigungen und erneute Übertragung.
UDP bietet keine eingebaute Zustellgarantie.
TCP stellt Reihenfolge sicher.
UDP stellt Reihenfolge nicht selbst sicher.
TCP nutzt Segmente.
UDP nutzt Datagramme.
DNS nutzt UDP 53 und TCP 53.
DHCP nutzt UDP 67 und 68.
HTTP/3 nutzt QUIC über UDP.
Gleiche Portnummer bei TCP und UDP ist technisch nicht dasselbe.
Firewall-Regeln müssen TCP oder UDP korrekt angeben.
Portweiterleitungen müssen TCP oder UDP korrekt treffen.
Ping nutzt ICMP,
nicht TCP oder UDP.
Wichtige Begriffe kurz erklärt
| Begriff | Kurze Erklärung |
|---|---|
| TCP | Transmission Control Protocol |
| UDP | User Datagram Protocol |
| verbindungsorientiert | Verbindung wird vor Datenübertragung aufgebaut |
| verbindungslos | Daten werden ohne vorherige Verbindung gesendet |
| SYN | Start einer TCP-Verbindung |
| SYN-ACK | Antwort auf SYN mit Bestätigung |
| ACK | Bestätigung |
| Drei-Wege-Handshake | TCP-Verbindungsaufbau mit SYN, SYN-ACK, ACK |
| Sequenznummer | Position von Daten im TCP-Strom |
| Bestätigungsnummer | bestätigt empfangene Daten |
| Retransmission | erneute Übertragung |
| Flusskontrolle | schützt Empfänger vor Überlastung |
| Staukontrolle | schützt Netzwerk vor Überlastung |
| FIN | geordneter TCP-Verbindungsabbau |
| RST | sofortiger TCP-Abbruch |
| Timeout | erwartete Antwort bleibt zu lange aus |
| Segment | TCP-Dateneinheit |
| Datagramm | UDP-Dateneinheit |
IHK-sichere Kurzformulierung
TCP und UDP sind Transportprotokolle auf OSI-Schicht 4. TCP ist verbindungsorientiert und baut vor der Datenübertragung mit SYN, SYN-ACK und ACK eine Verbindung auf. Es bietet Zuverlässigkeit durch Bestätigungen, Sequenznummern, erneute Übertragung und Reihenfolgesicherung. UDP ist verbindungslos und sendet Datagramme ohne Verbindungsaufbau und ohne eingebaute Garantie für Zustellung oder Reihenfolge. Dadurch ist UDP schlanker und eignet sich gut für Echtzeitdienste oder kurze Anfragen. TCP- und UDP-Ports sind getrennt zu betrachten, auch wenn dieselbe Portnummer verwendet wird.
Merksätze
TCP = Transmission Control Protocol.
UDP = User Datagram Protocol.
Beide gehören zu Schicht 4.
TCP ist verbindungsorientiert.
UDP ist verbindungslos.
TCP baut Verbindung auf.
UDP sendet ohne Handshake.
TCP-Handshake = SYN, SYN-ACK, ACK.
TCP nutzt ACKs.
TCP nutzt Sequenznummern.
TCP kann erneut übertragen.
TCP stellt Reihenfolge sicher.
UDP bietet keine eingebaute Zustellgarantie.
UDP ist schlanker als TCP.
TCP = Segment.
UDP = Datagramm.
DNS nutzt UDP und TCP 53.
DHCP nutzt UDP 67 und 68.
HTTP/3 nutzt QUIC über UDP.
Gleiche Portnummer bei TCP und UDP ist nicht dasselbe.
Firewall-Regel braucht Protokoll und Port.
TCP-Portweiterleitung hilft nicht bei UDP-Dienst.
Ping ist ICMP,
nicht TCP oder UDP.
TCP für Zuverlässigkeit.
UDP für geringe Verzögerung.
7.3 Ports, Dienste und typische Standardports
Ports gehören zu OSI-Schicht 4.
Sie dienen dazu, Daten auf einem Gerät der richtigen Anwendung oder dem richtigen Dienst zuzuordnen.
Eine IP-Adresse zeigt:
zu welchem Gerät?
Ein Port zeigt:
zu welchem Dienst auf diesem Gerät?
Beispiel:
192.168.10.50:443
Bedeutung:
Gerät:
192.168.10.50
Dienst:
Port 443
Merksatz:
IP bringt zum Gerät.
Port bringt zum Dienst.
Warum braucht man Ports?
Ein Server kann viele Dienste gleichzeitig anbieten.
Beispiel:
| Dienst | Port |
|---|---|
| SSH | 22 |
| DNS | 53 |
| HTTP | 80 |
| HTTPS | 443 |
| RDP | 3389 |
Alle Dienste können auf derselben IP-Adresse laufen.
Die Portnummer entscheidet, welcher Dienst angesprochen wird.
Merksatz:
Mehrere Dienste auf einer IP-Adresse werden durch Ports unterschieden.
Portnummern
Portnummern sind 16 Bit groß.
Deshalb gibt es Portnummern von:
0
bis:
65535
Insgesamt sind das:
65536 mögliche Werte
Wichtig:
TCP und UDP haben jeweils eigene Portbereiche.
Das bedeutet:
TCP 53
und
UDP 53
sind technisch getrennte Kommunikationsmöglichkeiten.
Merksatz:
Portnummern gehen von 0 bis 65535.
TCP-Port und UDP-Port unterscheiden
Ein Port muss immer zusammen mit dem Transportprotokoll betrachtet werden.
Beispiel:
TCP 53
UDP 53
Beide können DNS betreffen, aber technisch sind sie nicht dasselbe.
Eine Firewall-Regel für TCP 53 erlaubt nicht automatisch UDP 53.
Eine Portweiterleitung für UDP 53 leitet nicht automatisch TCP 53 weiter.
Merksatz:
Portnummer immer mit TCP oder UDP nennen.
Portbereiche
Portnummern werden grob in drei Bereiche eingeteilt.
| Bereich | Portnummern | Bedeutung |
|---|---|---|
| Well-Known Ports | 0 – 1023 | bekannte Standarddienste |
| Registered Ports | 1024 – 49151 | registrierte Anwendungsports |
| Dynamic / Ephemeral Ports | 49152 – 65535 | temporäre Client-Ports |
Merksatz:
0–1023 bekannt,
1024–49151 registriert,
49152–65535 temporär.
Well-Known Ports
Well-Known Ports sind bekannte Standardports.
Sie werden für häufig genutzte Netzwerkdienste verwendet.
Beispiele:
| Dienst | Protokoll | Port |
|---|---|---|
| FTP Steuerverbindung | TCP | 21 |
| SSH | TCP | 22 |
| Telnet | TCP | 23 |
| SMTP | TCP | 25 |
| DNS | TCP / UDP | 53 |
| DHCP Server | UDP | 67 |
| DHCP Client | UDP | 68 |
| HTTP | TCP | 80 |
| POP3 | TCP | 110 |
| IMAP | TCP | 143 |
| NTP | UDP | 123 |
| HTTPS | TCP | 443 |
Merksatz:
Well-Known Ports sind prüfungsrelevant.
Registered Ports
Registered Ports liegen im Bereich:
1024 bis 49151
Sie werden häufig von Anwendungen, Herstellern oder Diensten genutzt.
Beispiele:
| Dienst / Anwendung | Protokoll | Port |
|---|---|---|
| MySQL / MariaDB | TCP | 3306 |
| RDP | TCP | 3389 |
| PostgreSQL | TCP | 5432 |
| VNC | TCP | 5900 |
| HTTP-Alternative | TCP | 8080 |
| HTTPS-Alternative | TCP | 8443 |
Wichtig:
Nicht jeder Port in diesem Bereich ist automatisch sicher oder unsicher.
Entscheidend ist, welcher Dienst dort tatsächlich läuft.
Merksatz:
Registered Ports werden häufig von Anwendungen genutzt.
Dynamic oder Ephemeral Ports
Dynamic Ports werden auch Ephemeral Ports genannt.
Sie liegen häufig im Bereich:
49152 bis 65535
Clients nutzen diese Ports meistens als temporäre Quell-Ports.
Beispiel:
Client:
192.168.10.20:52344
Server:
93.184.216.34:443
Der Client nutzt Port 52344 nur vorübergehend für diese Verbindung.
Merksatz:
Ephemeral Port = temporärer Client-Port.
Quell-Port und Ziel-Port
Ein TCP- oder UDP-Header enthält:
Quell-Port
Ziel-Port
Beispiel HTTPS:
Client:
192.168.10.20:52344
Server:
93.184.216.34:443
Dabei ist:
52344 = Quell-Port des Clients
443 = Ziel-Port des Servers
Merksatz:
Ziel-Port zeigt den gewünschten Dienst.
Quell-Port hilft bei der Rückzuordnung.
Warum ist der Quell-Port wichtig?
Ein Client kann mehrere Verbindungen gleichzeitig öffnen.
Beispiel:
Browser-Tab 1 zu HTTPS
Browser-Tab 2 zu HTTPS
Update-Dienst zu HTTPS
Cloud-Sync zu HTTPS
Alle können zu Port 443 gehen.
Der Client nutzt unterschiedliche Quell-Ports, damit Antworten korrekt zugeordnet werden.
Merksatz:
Quell-Ports unterscheiden gleichzeitige Verbindungen eines Clients.
Socket
Ein Socket besteht aus:
IP-Adresse
und
Port
Beispiel:
192.168.10.20:52344
Bei TCP-Verbindungen ist die Verbindung eindeutig über:
Quell-IP
Quell-Port
Ziel-IP
Ziel-Port
Protokoll
Beispiel:
192.168.10.20:52344
→ 93.184.216.34:443
TCP
Merksatz:
Socket = IP-Adresse plus Port.
Dienst hört auf einem Port
Ein Dienst muss auf einem Port lauschen, damit Verbindungen oder Anfragen angenommen werden können.
Beispiel:
Webserver hört auf TCP 443.
Das bedeutet:
Der Dienst wartet auf HTTPS-Verbindungen.
Wenn kein Dienst auf einem Port lauscht, ist der Port aus Sicht des Clients geschlossen.
Merksatz:
Dienst muss auf dem Port lauschen.
LISTEN und ESTABLISHED
Bei TCP sind zwei Zustände besonders wichtig.
| Zustand | Bedeutung |
|---|---|
| LISTEN | Dienst wartet auf eingehende Verbindungen |
| ESTABLISHED | Verbindung besteht |
Beispiel:
Webserver im Zustand LISTEN auf TCP 443
bedeutet:
Der Webserver wartet auf HTTPS-Verbindungen.
Merksatz:
LISTEN = Dienst wartet.
ESTABLISHED = Verbindung steht.
Offener Port
Ein Port ist offen, wenn ein Dienst dort erreichbar ist.
Beispiel:
TCP 443 offen
Bedeutung:
Ein Dienst nimmt TCP-Verbindungen auf Port 443 an.
Aber:
Ein offener Port beweist nicht automatisch,
dass die Anwendung korrekt funktioniert.
Merksatz:
Offener Port = Dienst grundsätzlich erreichbar.
Geschlossener Port
Ein Port ist geschlossen, wenn kein Dienst auf diesem Port lauscht.
Beispiel:
Server ist per Ping erreichbar.
TCP 22 ist geschlossen.
Bedeutung:
Der Host ist erreichbar,
aber SSH läuft dort nicht oder nicht auf Port 22.
Merksatz:
Geschlossener Port heißt nicht:
Gerät ist offline.
Gefilterter Port
Ein Port wirkt gefiltert, wenn eine Firewall Pakete blockiert oder verwirft.
Typisch:
keine klare Antwort
Timeout
Verbindung bleibt hängen
Mögliche Ursachen:
- Firewall blockiert
- Paketfilter verwirft still
- NAT-Regel fehlt
- Rückweg fehlt
- Security-Gruppe blockiert
Merksatz:
Gefiltert bedeutet häufig:
Firewall oder Paketfilter im Weg.
Portstatus im Vergleich
| Status | Bedeutung |
|---|---|
| offen | Dienst antwortet oder nimmt Verbindung an |
| geschlossen | Host erreichbar, aber kein Dienst auf diesem Port |
| gefiltert | keine klare Antwort, oft Firewall |
| offen, aber Anwendung fehlerhaft | Port erreichbar, Dienstproblem auf höherer Schicht |
Merksatz:
Portstatus hilft,
Schicht 4 von höheren Schichten zu trennen.
Wichtige Standardports
| Dienst | Protokoll | Port | Zweck |
|---|---|---|---|
| FTP | TCP | 21 | Dateiübertragung Steuerverbindung |
| SSH | TCP | 22 | sicherer Fernzugriff |
| Telnet | TCP | 23 | unsicherer Fernzugriff |
| SMTP | TCP | 25 | E-Mail-Versand zwischen Servern |
| DNS | TCP / UDP | 53 | Namensauflösung |
| DHCP Server | UDP | 67 | IP-Konfiguration anbieten |
| DHCP Client | UDP | 68 | IP-Konfiguration empfangen |
| HTTP | TCP | 80 | unverschlüsselte Webübertragung |
| POP3 | TCP | 110 | E-Mail-Abruf |
| NTP | UDP | 123 | Zeitsynchronisation |
| IMAP | TCP | 143 | E-Mail-Abruf und Verwaltung |
| HTTPS | TCP | 443 | verschlüsselte Webübertragung |
| RDP | TCP | 3389 | Windows-Remote-Desktop |
Merksatz:
HTTP 80,
HTTPS 443,
SSH 22,
DNS 53,
DHCP 67/68.
FTP
FTP steht für:
File Transfer Protocol
Typischer Port:
TCP 21
FTP dient der Dateiübertragung.
Wichtig:
Klassisches FTP ist unverschlüsselt.
Benutzername, Passwort und Daten können ohne Schutz übertragen werden.
Sichere Alternativen sind zum Beispiel:
SFTP
FTPS
Merksatz:
FTP = TCP 21,
klassisch unverschlüsselt.
SSH
SSH steht für:
Secure Shell
Typischer Port:
TCP 22
SSH wird genutzt für:
- sicheren Fernzugriff
- Administration von Servern
- sichere Kommandozeile
- Tunnel
- Dateiübertragung über SFTP
Merksatz:
SSH = TCP 22,
verschlüsselter Fernzugriff.
Telnet
Telnet nutzt typischerweise:
TCP 23
Telnet ist ein älteres Fernzugriffsprotokoll.
Problem:
Telnet ist unverschlüsselt.
Deshalb sollte Telnet in modernen Netzwerken nicht für administrative Zugriffe verwendet werden.
Merksatz:
Telnet = TCP 23,
unsicher und unverschlüsselt.
SMTP
SMTP steht für:
Simple Mail Transfer Protocol
Typischer Port:
TCP 25
SMTP wird für den E-Mail-Transport verwendet, besonders zwischen Mailservern.
Weitere Mailports können sein:
587 für Mail Submission
465 für SMTPS
Für AP1/AP2 ist besonders wichtig:
SMTP = Mailversand
Merksatz:
SMTP = E-Mail-Versand.
POP3
POP3 steht für:
Post Office Protocol Version 3
Typischer Port:
TCP 110
POP3 dient dem Abruf von E-Mails.
Häufig werden Mails dabei vom Server heruntergeladen.
Verschlüsselte Variante:
POP3S über TCP 995
Merksatz:
POP3 = E-Mail-Abruf.
IMAP
IMAP steht für:
Internet Message Access Protocol
Typischer Port:
TCP 143
IMAP dient ebenfalls dem Abruf und der Verwaltung von E-Mails.
Im Unterschied zu POP3 bleiben Mails häufig auf dem Server und werden zwischen Geräten synchronisiert.
Verschlüsselte Variante:
IMAPS über TCP 993
Merksatz:
IMAP = E-Mail-Verwaltung auf dem Server.
SMTP, POP3 und IMAP unterscheiden
| Protokoll | Richtung / Zweck | typischer Port |
|---|---|---|
| SMTP | E-Mail senden / transportieren | TCP 25 |
| POP3 | E-Mail abrufen | TCP 110 |
| IMAP | E-Mail abrufen und verwalten | TCP 143 |
Merksatz:
SMTP sendet.
POP3 und IMAP holen ab.
DNS
DNS steht für:
Domain Name System
DNS ordnet Namen IP-Adressen zu.
Typischer Port:
UDP 53
DNS kann auch nutzen:
TCP 53
Beispiele für TCP bei DNS:
- große Antworten
- Zonentransfers
- bestimmte DNSSEC-Fälle
Merksatz:
DNS = UDP 53 häufig,
TCP 53 ebenfalls möglich.
DHCP
DHCP steht für:
Dynamic Host Configuration Protocol
DHCP vergibt automatisch IP-Konfigurationen.
Wichtige Ports:
| Rolle | Protokoll | Port |
|---|---|---|
| DHCP-Server | UDP | 67 |
| DHCP-Client | UDP | 68 |
DHCP vergibt zum Beispiel:
- IP-Adresse
- Subnetzmaske
- Gateway
- DNS-Server
Merksatz:
DHCP = UDP 67 und 68.
HTTP
HTTP steht für:
Hypertext Transfer Protocol
Typischer Port:
TCP 80
HTTP wird für Webseiten und Webdienste verwendet.
Wichtig:
HTTP ist unverschlüsselt.
Heute wird für Webseiten meist HTTPS bevorzugt.
Merksatz:
HTTP = TCP 80,
unverschlüsselt.
HTTPS
HTTPS steht für:
Hypertext Transfer Protocol Secure
Typischer Port:
TCP 443
HTTPS nutzt Verschlüsselung über TLS.
HTTPS schützt unter anderem:
- Vertraulichkeit
- Integrität
- Serverauthentizität über Zertifikate
Merksatz:
HTTPS = TCP 443,
HTTP mit TLS-Verschlüsselung.
NTP
NTP steht für:
Network Time Protocol
Typischer Port:
UDP 123
NTP dient zur Zeitsynchronisation.
Warum wichtig?
Viele IT-Funktionen benötigen korrekte Zeit.
Beispiele:
- Zertifikate
- Kerberos
- Logs
- Monitoring
- Dateisynchronisation
Merksatz:
NTP = UDP 123,
Zeitsynchronisation.
RDP
RDP steht für:
Remote Desktop Protocol
Typischer Port:
TCP 3389
RDP wird häufig für grafischen Fernzugriff auf Windows-Systeme genutzt.
Wichtig:
RDP sollte nicht ungeschützt direkt ins Internet geöffnet werden.
Besser:
VPN
Zugriffsbeschränkung
Multi-Faktor-Authentifizierung
sichere Gateway-Lösungen
Merksatz:
RDP = TCP 3389,
Fernzugriff sorgfältig absichern.
Sichere und unsichere Protokolle
Einige ältere Protokolle übertragen Daten unverschlüsselt.
| eher unsicher / unverschlüsselt | sicherere Alternative |
|---|---|
| Telnet | SSH |
| FTP | SFTP oder FTPS |
| HTTP | HTTPS |
| POP3 | POP3S |
| IMAP | IMAPS |
| SMTP ohne TLS | SMTP mit STARTTLS oder SMTPS |
Merksatz:
Für Administration und sensible Daten verschlüsselte Protokolle nutzen.
Ports und Firewall-Regeln
Firewalls arbeiten häufig mit IP-Adressen und Ports.
Beispiel-Regel:
Erlaube TCP 443
von Client-Netz
zum Internet
Bedeutung:
HTTPS-Verbindungen nach außen sind erlaubt.
Andere Ports können weiterhin blockiert sein.
Merksatz:
Firewall-Regel = Quelle, Ziel, Protokoll, Port, Aktion.
Firewall-Regel vollständig denken
Eine sinnvolle Firewall-Regel enthält:
- Quelle
- Ziel
- Protokoll
- Port
- Richtung
- Aktion
- Kommentar oder Zweck
Beispiel:
Quelle:
Mitarbeiter-VLAN
Ziel:
Internet
Protokoll:
TCP
Port:
443
Aktion:
erlauben
Merksatz:
Nicht nur Port nennen,
sondern Quelle, Ziel und Protokoll.
TCP und UDP bei Firewall-Regeln
Ports müssen bei Firewalls mit TCP oder UDP angegeben werden.
Beispiel DNS:
UDP 53 erlauben
TCP 53 erlauben, wenn benötigt
Beispiel HTTPS:
TCP 443 erlauben
Beispiel HTTP/3:
UDP 443 kann zusätzlich relevant sein
Prüfungsfalle:
TCP 53 erlaubt nicht automatisch UDP 53.
Merksatz:
Firewall-Regeln brauchen Protokoll und Port.
Ports und Portweiterleitung
Bei Portweiterleitungen muss ebenfalls das richtige Protokoll gewählt werden.
Beispiel Webserver:
TCP 80
TCP 443
Beispiel DNS-Server:
UDP 53
TCP 53
Beispiel Spielserver:
je nach Anwendung TCP oder UDP
Merksatz:
Portweiterleitung muss TCP oder UDP korrekt treffen.
Portweiterleitung und Dienst
Eine Portweiterleitung funktioniert nur, wenn mehrere Dinge passen.
Prüfpunkte:
- öffentliche Erreichbarkeit vorhanden?
- kein CGNAT?
- externer Port korrekt?
- internes Ziel korrekt?
- internes Ziel hört auf dem Port?
- Firewall erlaubt?
- Dienst läuft?
- DNS zeigt auf richtige IP?
Merksatz:
Portweiterleitung reicht nicht,
wenn der Dienst nicht läuft oder blockiert wird.
Ports und NAT/PAT
PAT nutzt Port-Zuordnungen.
Beispiel:
| Intern | Extern |
|---|---|
| 192.168.10.20:52344 | 93.184.100.10:40001 |
| 192.168.10.30:52344 | 93.184.100.10:40002 |
Dadurch können mehrere interne Geräte dieselbe öffentliche IP-Adresse nutzen.
Merksatz:
PAT unterscheidet Verbindungen über Ports.
Ports und Dienste prüfen
Typische Fragen bei der Prüfung eines Dienstes:
Ist der Host per IP erreichbar?
Ist der richtige Port offen?
Nutzt der Dienst TCP oder UDP?
Läuft der Dienst wirklich?
Hört der Dienst auf der richtigen Schnittstelle?
Blockiert eine Firewall?
Gibt es NAT oder Portweiterleitung?
Ist die Anwendung korrekt konfiguriert?
Merksatz:
Dienstproblem = IP, Port, Protokoll, Firewall und Anwendung prüfen.
Ping und Porttest unterscheiden
Ping nutzt ICMP.
Ping prüft keine TCP- oder UDP-Ports.
Beispiel:
ping server funktioniert
Das bedeutet nicht automatisch:
TCP 443 ist offen.
Um Ports zu prüfen, braucht man andere Tests.
Beispiele sinngemäß:
Verbindung zu TCP-Port testen
Dienstabfrage durchführen
Portscan kontrolliert einsetzen
Logs prüfen
Merksatz:
Ping prüft IP.
Porttest prüft Schicht 4.
Portscan
Ein Portscan prüft, welche Ports auf einem Ziel erreichbar sind.
Er kann nützlich sein für:
- Administration
- Fehlersuche
- Sicherheitsprüfung
- Inventarisierung
Aber:
Portscans dürfen nur in erlaubten Netzen durchgeführt werden.
Unberechtigte Scans können als Angriff gewertet werden.
Merksatz:
Portscan nur mit Berechtigung durchführen.
Port offen heißt nicht automatisch sicher
Ein offener Port bedeutet:
Dort ist ein Dienst erreichbar.
Das sagt noch nicht:
ob der Dienst sicher konfiguriert ist
ob er aktuell ist
ob die Authentifizierung stark ist
ob Schwachstellen vorhanden sind
Beispiel:
SSH offen kann normal sein.
SSH mit schwachem Passwort ist gefährlich.
Merksatz:
Sicherheit hängt nicht nur vom Port,
sondern vom Dienst ab.
Port geschlossen heißt nicht automatisch geschützt
Ein geschlossener Port bedeutet:
Auf diesem Port lauscht aktuell kein Dienst.
Aber:
andere Ports können offen sein.
Dienste können später gestartet werden.
Firewall-Regeln können sich ändern.
interne Angriffe können andere Wege nutzen.
Merksatz:
Geschlossene Ports sind gut,
ersetzen aber kein Sicherheitskonzept.
Prinzip: Nur notwendige Ports öffnen
Ein wichtiges Sicherheitsprinzip lautet:
Nur notwendige Dienste und Ports freigeben.
Das reduziert die Angriffsfläche.
Beispiele:
SSH nur für Admin-Netz erlauben.
Datenbank nicht direkt ins Internet öffnen.
RDP nur über VPN bereitstellen.
Webserver nur mit benötigten Ports freigeben.
Gastnetz von internen Diensten trennen.
Merksatz:
Weniger offene Ports = kleinere Angriffsfläche.
Typische Port-Fehler
Typische Fehler sind:
- falscher Port
- falsches Protokoll TCP statt UDP
- falsches Protokoll UDP statt TCP
- Dienst läuft nicht
- Dienst hört nur auf localhost
- Firewall blockiert
- NAT-Regel fehlt
- Portweiterleitung falsch
- DNS zeigt auf falschen Server
- Reverse Proxy nutzt falschen Zielport
- Client nutzt alten Port
Merksatz:
Portprobleme sind oft Konfigurationsfehler zwischen Dienst, Firewall und NAT.
Beispiel: HTTPS funktioniert nicht
Fehlerbild:
Server ist per Ping erreichbar.
Webseite öffnet nicht über HTTPS.
Mögliche Ursachen:
- TCP 443 geschlossen
- Firewall blockiert TCP 443
- Webserver läuft nicht
- Webserver hört auf anderem Port
- TLS-Zertifikat fehlerhaft
- Reverse Proxy falsch
- DNS zeigt auf falsche IP
- NAT-Portweiterleitung falsch
Merksatz:
Ping geht,
HTTPS nicht:
TCP 443 und Anwendung prüfen.
Beispiel: DNS funktioniert nicht
Fehlerbild:
Internet-IP ist erreichbar.
Namen werden nicht aufgelöst.
Mögliche Ursachen:
- DNS-Server falsch
- UDP 53 blockiert
- TCP 53 blockiert bei großen Antworten
- DNS-Dienst läuft nicht
- Firewall blockiert
- falsche DNS-Zone
- DNS-Cache fehlerhaft
Merksatz:
DNS braucht Namensdienst und passende Ports.
Beispiel: DHCP funktioniert nicht
Fehlerbild:
Client bekommt keine IP-Adresse.
Mögliche Ursachen:
- DHCP-Server nicht erreichbar
- UDP 67/68 blockiert
- falsches VLAN
- DHCP-Relay fehlt
- DHCP-Bereich erschöpft
- DHCP-Dienst läuft nicht
- Trunk transportiert VLAN nicht
Merksatz:
DHCP-Probleme können Schicht 2, 3, 4 und 7 berühren.
Beispiel: SSH funktioniert nicht
Fehlerbild:
Server ist erreichbar,
aber SSH-Verbindung klappt nicht.
Mögliche Ursachen:
- TCP 22 geschlossen
- SSH-Dienst läuft nicht
- Firewall blockiert
- SSH hört auf anderem Port
- Zugriff nur aus bestimmten Netzen erlaubt
- Benutzer oder Schlüssel falsch
- Fail2ban oder Schutzsystem blockiert
Merksatz:
SSH braucht TCP-Port,
laufenden Dienst
und gültige Anmeldung.
Einordnung in das OSI-Modell
| Thema | Schicht |
|---|---|
| IP-Adresse | 3 |
| Routing | 3 |
| TCP | 4 |
| UDP | 4 |
| Port | 4 |
| Socket | 4 mit IP-Bezug |
| DNS-Dienst | 7, nutzt TCP/UDP 53 |
| DHCP-Dienst | 7, nutzt UDP 67/68 |
| HTTP | 7, nutzt TCP 80 |
| HTTPS | 7, nutzt TCP 443 |
| SSH | 7, nutzt TCP 22 |
| Firewall nach Port | 3 / 4 |
| NAT/PAT | 3 / 4 |
Merksatz:
Port = Schicht 4.
Dienst = höhere Schicht.
Was Ports nicht leisten
Ports lösen nicht automatisch:
- Namensauflösung
- Authentifizierung
- Verschlüsselung
- Benutzerrechte
- Dienstkonfiguration
- Zertifikatsprüfung
- Anwendungslogik
- Routing
- VLAN-Zuordnung
Ports sagen nur:
welcher Dienst angesprochen werden soll.
Merksatz:
Port erreichbar heißt nicht:
Anwendung korrekt.
Typische IHK-Fragen
In AP1 und AP2 kann zum Beispiel gefragt werden:
- Was ist ein Port?
- Warum braucht man Ports?
- Was ist der Unterschied zwischen IP-Adresse und Port?
- Was ist der Unterschied zwischen Switch-Port und TCP-Port?
- In welchem Bereich liegen Portnummern?
- Was sind Well-Known Ports?
- Was sind Ephemeral Ports?
- Welche Ports nutzen HTTP, HTTPS, SSH, DNS und DHCP?
- Warum muss man bei Portfreigaben TCP und UDP unterscheiden?
- Was bedeutet offener, geschlossener oder gefilterter Port?
- Warum kann Ping funktionieren, aber ein Dienst nicht?
- Warum sollte man nur notwendige Ports öffnen?
Typische Prüfungsfallen
Port gehört zu Schicht 4.
Dienst gehört zu höheren Schichten.
IP-Adresse zeigt zum Gerät.
Port zeigt zum Dienst.
Switch-Port ist nicht TCP-Port.
TCP-Port und UDP-Port sind getrennt.
Portnummern gehen von 0 bis 65535.
Well-Known Ports = 0 bis 1023.
Ephemeral Ports = temporäre Client-Ports.
HTTP = TCP 80.
HTTPS = TCP 443.
SSH = TCP 22.
DNS = UDP 53 und TCP 53.
DHCP = UDP 67 und 68.
NTP = UDP 123.
RDP = TCP 3389.
Ping nutzt ICMP und prüft keine Ports.
Firewall-Regeln brauchen Protokoll und Port.
Portweiterleitung braucht richtiges Protokoll.
Offener Port bedeutet nicht automatisch sichere Anwendung.
Wichtige Begriffe kurz erklärt
| Begriff | Kurze Erklärung |
|---|---|
| Port | logische Dienstnummer auf Schicht 4 |
| TCP-Port | Port für TCP-Kommunikation |
| UDP-Port | Port für UDP-Kommunikation |
| Switch-Port | physischer Anschluss am Switch |
| Quell-Port | Port des Absenders |
| Ziel-Port | Port des gewünschten Dienstes |
| Socket | IP-Adresse plus Port |
| Well-Known Port | Port 0 bis 1023 |
| Registered Port | Port 1024 bis 49151 |
| Ephemeral Port | temporärer Client-Port |
| LISTEN | Dienst wartet auf Verbindung |
| ESTABLISHED | Verbindung besteht |
| offener Port | Dienst erreichbar |
| geschlossener Port | kein Dienst lauscht |
| gefilterter Port | Firewall oder Filter blockiert |
| Portweiterleitung | externer Port wird intern weitergeleitet |
| Portscan | Prüfung erreichbarer Ports |
IHK-sichere Kurzformulierung
Ports sind logische Dienstnummern auf OSI-Schicht 4. Sie werden zusammen mit TCP oder UDP verwendet, um Daten auf einem Gerät dem richtigen Dienst zuzuordnen. Eine IP-Adresse identifiziert das Gerät, der Port identifiziert den Dienst auf diesem Gerät. Portnummern reichen von 0 bis 65535 und werden in Well-Known Ports, Registered Ports und Dynamic beziehungsweise Ephemeral Ports eingeteilt. TCP- und UDP-Ports sind getrennt zu betrachten. Firewall-Regeln und Portweiterleitungen müssen deshalb immer das richtige Protokoll und den richtigen Port berücksichtigen.
Merksätze
Port = logische Dienstnummer.
Port gehört zu Schicht 4.
IP bringt zum Gerät.
Port bringt zum Dienst.
Switch-Port ist physisch.
TCP-/UDP-Port ist logisch.
TCP-Port und UDP-Port sind nicht dasselbe.
Portnummern gehen von 0 bis 65535.
Well-Known Ports = 0 bis 1023.
Registered Ports = 1024 bis 49151.
Ephemeral Ports = 49152 bis 65535.
Ziel-Port zeigt den Dienst.
Quell-Port hilft bei der Rückzuordnung.
Socket = IP-Adresse plus Port.
LISTEN = Dienst wartet.
ESTABLISHED = Verbindung steht.
HTTP = TCP 80.
HTTPS = TCP 443.
SSH = TCP 22.
DNS = UDP 53 und TCP 53.
DHCP = UDP 67 und 68.
NTP = UDP 123.
RDP = TCP 3389.
Ping prüft keine Ports.
Firewall-Regel braucht Quelle, Ziel, Protokoll und Port.
Portweiterleitung braucht richtiges Protokoll.
Nur notwendige Ports öffnen.
Offener Port heißt nicht automatisch sicher.
Port erreichbar heißt nicht automatisch:
Anwendung funktioniert.
7.4 Fehlersuche auf Schicht 4
Fehler auf OSI-Schicht 4 betreffen den Transport zwischen Anwendungen.
Dabei geht es vor allem um:
- TCP
- UDP
- Ports
- Verbindungsaufbau
- Verbindungszustände
- Firewall-Regeln
- Portweiterleitungen
- NAT/PAT
- Timeouts
- Resets
- Dienst-Erreichbarkeit
Schicht 4 liegt zwischen:
Schicht 3:
IP, Routing, Gateway
und
Schicht 5 bis 7:
Sitzung, Darstellung, Anwendung
Merksatz:
Schicht-4-Fehlersuche = TCP, UDP und Ports prüfen.
Grundidee der Schicht-4-Fehlersuche
Auf Schicht 3 prüft man:
Ist das Zielgerät per IP erreichbar?
Auf Schicht 4 prüft man:
Ist der gewünschte Dienst-Port erreichbar?
Beispiel:
Server per Ping erreichbar:
ja
HTTPS auf TCP 443 erreichbar:
nein
Dann ist die reine IP-Erreichbarkeit nicht das Problem.
Man muss TCP-Port, Firewall, Dienst oder Portweiterleitung prüfen.
Merksatz:
IP erreichbar heißt nicht automatisch:
Port erreichbar.
Schicht 3 und Schicht 4 unterscheiden
| Frage | Schicht |
|---|---|
| Hat der Client eine IP-Adresse? | 3 |
| Ist das Gateway erreichbar? | 3 |
| Gibt es eine Route zum Ziel? | 3 |
| Funktioniert Ping auf die IP? | 3 |
| Ist TCP 443 offen? | 4 |
| Ist UDP 53 erreichbar? | 4 |
| Kommt der TCP-Handshake zustande? | 4 |
| Läuft der Webdienst korrekt? | 7 |
Merksatz:
IP = Schicht 3.
Port = Schicht 4.
Dienstinhalt = Schicht 7.
Typische Schicht-4-Fehler
Typische Fehler auf Schicht 4 sind:
- falscher Ziel-Port
- falsches Protokoll TCP statt UDP
- falsches Protokoll UDP statt TCP
- Dienst lauscht nicht
- Dienst lauscht auf anderer IP-Adresse
- Dienst lauscht auf anderem Port
- Firewall blockiert TCP oder UDP
- TCP-Handshake scheitert
- TCP Reset
- Timeout
- NAT/PAT-Zuordnung falsch
- Portweiterleitung falsch
- Rückweg fehlt
- UDP-Antwort kommt nicht zurück
Merksatz:
Schicht-4-Fehler betreffen Erreichbarkeit von TCP- oder UDP-Diensten.
Reihenfolge bei der Fehlersuche
Eine sinnvolle Reihenfolge ist:
1. Schicht 1 prüfen:
Link, Kabel, Signal
2. Schicht 2 prüfen:
MAC, VLAN, ARP
3. Schicht 3 prüfen:
IP, Gateway, Routing
4. Schicht 4 prüfen:
TCP, UDP, Port
5. Schicht 7 prüfen:
Anwendung, DNS, Authentifizierung, Zertifikat
Merksatz:
Erst IP-Erreichbarkeit prüfen,
dann Port-Erreichbarkeit prüfen.
Fehlerbild: Ping funktioniert, Dienst funktioniert nicht
Beispiel:
ping server funktioniert
Aber:
Webseite über HTTPS funktioniert nicht.
Dann ist das Zielgerät grundsätzlich per IP erreichbar.
Mögliche Ursachen:
- TCP 443 geschlossen
- Firewall blockiert TCP 443
- Webserver läuft nicht
- Webserver hört auf anderem Port
- Dienst hört nur auf localhost
- Reverse Proxy falsch
- TLS-Zertifikat fehlerhaft
- Anwendung abgestürzt
Merksatz:
Ping geht,
Dienst nicht:
Schicht 4 und Schicht 7 prüfen.
Fehlerbild: Port geschlossen
Ein Port ist geschlossen, wenn kein Dienst auf diesem Port lauscht.
Beispiel:
Server erreichbar,
aber TCP 22 geschlossen.
Bedeutung:
Der Host ist erreichbar,
aber SSH läuft dort nicht
oder SSH nutzt einen anderen Port.
Mögliche Ursachen:
- Dienst nicht gestartet
- Dienst deaktiviert
- falscher Port
- Dienst hört nur auf anderer Schnittstelle
- Konfigurationsfehler
- Dienst abgestürzt
Merksatz:
Geschlossener Port heißt:
Host kann erreichbar sein,
Dienst aber nicht.
Fehlerbild: Port gefiltert
Ein Port wirkt gefiltert, wenn keine klare Antwort kommt.
Typisches Verhalten:
Timeout
keine Rückmeldung
Verbindung bleibt hängen
Mögliche Ursachen:
- Firewall verwirft Pakete
- Paketfilter blockiert
- Security-Gruppe blockiert
- NAT-Regel fehlt
- Rückroute fehlt
- Provider blockiert Port
Merksatz:
Gefilterter Port bedeutet oft:
Firewall oder Filter im Weg.
Fehlerbild: Port offen, Anwendung funktioniert trotzdem nicht
Ein offener Port bedeutet nur:
Ein Dienst nimmt Verbindungen an
oder antwortet auf Anfragen.
Das bedeutet nicht automatisch:
Anwendung ist korrekt konfiguriert.
Anmeldung funktioniert.
Zertifikat ist gültig.
Datenbank ist erreichbar.
Webanwendung läuft fehlerfrei.
Beispiel:
TCP 443 offen,
aber Webseite zeigt Fehler 500.
Dann ist Schicht 4 grundsätzlich erreichbar, aber die Anwendung auf höherer Schicht hat ein Problem.
Merksatz:
Port offen heißt nicht:
Anwendung korrekt.
Fehlerbild: TCP-Handshake scheitert
Der TCP-Verbindungsaufbau besteht aus:
SYN
SYN-ACK
ACK
Wenn dieser Handshake nicht vollständig zustande kommt, kann keine TCP-Verbindung aufgebaut werden.
Mögliche Ursachen:
- SYN kommt nicht beim Server an
- Server antwortet nicht mit SYN-ACK
- SYN-ACK kommt nicht zum Client zurück
- Firewall blockiert eine Richtung
- NAT oder Portweiterleitung falsch
- Dienst lauscht nicht
- Rückroute fehlt
Merksatz:
Kein vollständiger TCP-Handshake = keine TCP-Verbindung.
Fehlerbild: SYN ohne SYN-ACK
Wenn der Client SYN sendet, aber kein SYN-ACK zurückkommt, gibt es mehrere Möglichkeiten.
Mögliche Ursachen:
- Server nicht erreichbar
- Firewall blockiert SYN
- Firewall blockiert SYN-ACK
- Dienst lauscht nicht
- Paket geht auf dem Weg verloren
- NAT-Regel fehlt
- Rückroute fehlt
Wichtig:
Ohne Mitschnitt oder Logs sieht man oft nur einen Timeout.
Merksatz:
SYN ohne Antwort deutet oft auf Filter, Routing oder Dienstproblem hin.
Fehlerbild: TCP Reset
TCP Reset wird mit RST gekennzeichnet.
RST bedeutet:
Verbindung sofort abbrechen.
Mögliche Ursachen:
- Port geschlossen
- Dienst lehnt Verbindung ab
- Anwendung beendet Verbindung
- Firewall sendet Reset
- falsches Protokoll auf richtigem Port
- Server akzeptiert Verbindung nicht
Merksatz:
RST = Verbindung wird aktiv zurückgesetzt.
Fehlerbild: TCP Timeout
Timeout bedeutet:
Eine erwartete Antwort kommt nicht rechtzeitig.
Mögliche Ursachen:
- Firewall verwirft still
- Server antwortet nicht
- Rückweg fehlt
- NAT-Zuordnung fehlt
- Netzwerkverlust
- Dienst überlastet
- falsche Zieladresse
- falscher Port
Merksatz:
Timeout = keine rechtzeitige Antwort.
Fehlerbild: Verbindung wird langsam
Eine TCP-Verbindung kann funktionieren, aber sehr langsam sein.
Mögliche Ursachen:
- Paketverlust
- viele Retransmissions
- hohe Latenz
- MTU-Probleme
- Überlastung
- zu kleine TCP-Fenstergröße
- Staukontrolle greift
- Firewall oder Proxy bremst
Merksatz:
Langsame TCP-Verbindung kann Paketverlust oder MTU-Problem bedeuten.
Fehlerbild: TCP Retransmissions
Retransmission bedeutet:
TCP sendet Daten erneut.
Das passiert, wenn TCP annimmt, dass Daten verloren gegangen sind.
Mögliche Ursachen:
- Paketverlust
- Überlastung
- schlechte Verbindung
- fehlerhafte Netzkomponente
- MTU-Probleme
- Funkprobleme
- Duplex- oder Linkproblem
Merksatz:
Viele Retransmissions deuten auf Übertragungsprobleme hin.
Fehlerbild: UDP-Dienst antwortet nicht
UDP hat keinen Verbindungsaufbau.
Wenn ein UDP-Dienst nicht antwortet, ist die Ursache oft schwerer zu erkennen.
Mögliche Ursachen:
- falscher UDP-Port
- Dienst läuft nicht
- Firewall blockiert UDP
- Antwortweg fehlt
- NAT-Zuordnung abgelaufen
- Anfrage ist ungültig
- Dienst antwortet nur auf bestimmte Quellen
- Paketverlust
Merksatz:
UDP-Probleme brauchen oft Logs oder Mitschnitt.
TCP und UDP bei Firewalls
Firewalls unterscheiden zwischen TCP und UDP.
Beispiel DNS:
UDP 53
TCP 53
Wenn nur TCP 53 erlaubt ist, funktionieren normale DNS-Anfragen über UDP möglicherweise nicht.
Wenn nur UDP 53 erlaubt ist, können große DNS-Antworten oder Zonentransfers scheitern.
Merksatz:
Firewall-Regel muss Protokoll und Port korrekt enthalten.
Fehlerbild: Falsches Protokoll
Ein häufiger Fehler ist:
TCP erlaubt,
aber Dienst nutzt UDP
Oder:
UDP weitergeleitet,
aber Dienst nutzt TCP
Beispiel:
DNS benötigt häufig UDP 53.
Nur TCP 53 wurde freigegeben.
Folge:
DNS funktioniert nicht oder nur teilweise.
Merksatz:
Richtige Portnummer reicht nicht,
TCP oder UDP muss ebenfalls stimmen.
Fehlerbild: Portweiterleitung funktioniert nicht
Eine Portweiterleitung leitet einen externen Port an ein internes Ziel weiter.
Mögliche Fehler:
- falscher externer Port
- falscher interner Port
- falsche interne IP-Adresse
- falsches Protokoll TCP/UDP
- Dienst läuft intern nicht
- Firewall blockiert am Router
- Firewall blockiert am Server
- CGNAT beim Provider
- DNS zeigt auf falsche öffentliche IP
- Hairpin NAT fehlt bei internem Test
Merksatz:
Portweiterleitung braucht richtige IP,
richtigen Port,
richtiges Protokoll
und laufenden Dienst.
Fehlerbild: Dienst hört nur auf localhost
Ein Dienst kann so konfiguriert sein, dass er nur lokal erreichbar ist.
Beispiel:
Dienst hört auf:
127.0.0.1:8080
Dann ist er nur vom eigenen Gerät aus erreichbar.
Von anderen Geräten im Netzwerk funktioniert der Zugriff nicht.
Richtig wäre je nach Bedarf zum Beispiel:
0.0.0.0:8080
oder
konkrete Server-IP:8080
Merksatz:
localhost bedeutet:
nur lokal auf dem eigenen Gerät.
Fehlerbild: Dienst hört auf falscher Schnittstelle
Ein Server kann mehrere IP-Adressen haben.
Beispiel:
192.168.10.50
10.0.0.50
Ein Dienst kann nur auf einer dieser Adressen lauschen.
Wenn Clients die andere IP-Adresse nutzen, ist der Dienst dort nicht erreichbar.
Merksatz:
Dienst muss auf der richtigen IP-Adresse lauschen.
Fehlerbild: Dienst nutzt anderen Port
Ein Dienst kann auf einem anderen Port konfiguriert sein als erwartet.
Beispiele:
Weboberfläche auf TCP 8080 statt TCP 80
HTTPS auf TCP 8443 statt TCP 443
SSH auf TCP 2222 statt TCP 22
Dann schlägt der Zugriff auf den Standardport fehl.
Merksatz:
Standardport prüfen,
aber tatsächliche Dienstkonfiguration beachten.
Fehlerbild: Firewall auf dem Server blockiert
Auch wenn Netzwerk und Router korrekt sind, kann die lokale Firewall auf dem Server blockieren.
Mögliche Systeme:
Windows Defender Firewall
Linux-Firewall
Host-Firewall
Sicherheitssoftware
Cloud-Security-Groups
Typische Prüfung:
Ist der Dienst lokal erreichbar?
Ist der Port auf dem Server erlaubt?
Darf die Client-Quelle zugreifen?
Merksatz:
Nicht nur Netzwerk-Firewall prüfen,
auch Host-Firewall prüfen.
Fehlerbild: Stateful Firewall blockiert
Eine Stateful Firewall merkt sich Verbindungszustände.
Bei TCP kann sie den Handshake und bestehende Verbindungen verfolgen.
Probleme entstehen bei:
- asymmetrischem Routing
- fehlender Rückroute
- NAT über anderen Weg
- ungültigen TCP-Zuständen
- Verbindung läuft über andere Firewall zurück
Merksatz:
Stateful Firewall muss Hin- und Rückrichtung richtig sehen.
Fehlerbild: NAT/PAT-Zuordnung fehlt
Bei PAT werden Verbindungen über Ports zugeordnet.
Wenn die Zuordnung fehlt oder abläuft, kann Rückverkehr nicht richtig zugestellt werden.
Besonders bei UDP kann das auftreten, weil UDP keinen echten Verbindungszustand hat.
Mögliche Folgen:
- Antwort kommt nicht an
- Verbindung bricht ab
- Dienst wirkt instabil
Merksatz:
PAT braucht passende Port-Zuordnung für den Rückverkehr.
Fehlerbild: MTU-Problem wirkt wie Schicht-4-Problem
Manchmal funktionieren kleine Verbindungen, aber größere Datenübertragungen hängen.
Mögliche Ursache:
MTU-Problem
Symptome:
Ping mit kleiner Größe funktioniert.
Webseite lädt teilweise.
VPN funktioniert instabil.
Dateiübertragung bleibt hängen.
TLS-Verbindung hängt beim Aufbau.
Obwohl die Ursache tiefer liegen kann, sieht es oft wie ein TCP- oder Anwendungsproblem aus.
Merksatz:
Teilweise funktionierende Verbindungen können auf MTU-Probleme hinweisen.
Werkzeuge für Schicht-4-Fehlersuche
Typische Werkzeuge und Informationen:
| Werkzeug / Anzeige | Nutzen |
|---|---|
| Porttest | prüft TCP- oder UDP-Port |
| netstat / ss | zeigt lauschende Dienste und Verbindungen |
| Firewall-Logs | zeigt erlaubte oder blockierte Verbindungen |
| Dienststatus | zeigt, ob Dienst läuft |
| Packet Capture | zeigt SYN, ACK, RST, UDP-Anfragen |
| NAT-Tabelle | zeigt Port-Zuordnungen |
| Portscan | zeigt offene Ports, nur mit Berechtigung |
| Anwendungslog | zeigt Fehler des Dienstes |
Merksatz:
Schicht 4 prüft man mit Porttests, Logs und Mitschnitten.
Porttest
Ein Porttest prüft, ob ein bestimmter TCP- oder UDP-Port erreichbar ist.
Beispielhafte Prüffragen:
Ist TCP 443 erreichbar?
Ist TCP 22 erreichbar?
Ist UDP 53 erreichbar?
Antwortet der Dienst?
Kommt ein Timeout?
Kommt ein Reset?
Wichtig:
Ping ist kein Porttest.
Merksatz:
Porttest prüft Schicht 4,
Ping prüft ICMP auf Schicht 3.
Lauschende Dienste prüfen
Auf einem Server sollte man prüfen:
Lauscht der Dienst?
Auf welchem Port lauscht er?
Auf welcher IP-Adresse lauscht er?
Nutzt er TCP oder UDP?
Ist er nur lokal erreichbar?
Ist der Dienst wirklich gestartet?
Typische Zustände:
LISTEN
ESTABLISHED
Merksatz:
Dienst muss laufen und auf der richtigen Adresse lauschen.
Packet Capture bei TCP
In einem Mitschnitt kann man erkennen:
- SYN
- SYN-ACK
- ACK
- RST
- FIN
- Retransmissions
- Timeouts
- Quell-Port
- Ziel-Port
Typische Interpretation:
SYN geht raus,
keine Antwort:
Filter, Routing oder Dienstproblem.
SYN, SYN-ACK, ACK:
Verbindung aufgebaut.
RST:
Verbindung wird zurückgesetzt.
Merksatz:
TCP-Mitschnitt zeigt den Verbindungsaufbau sehr gut.
Packet Capture bei UDP
Bei UDP sieht man keinen Handshake.
Man prüft:
- geht Anfrage raus?
- ist Ziel-Port korrekt?
- kommt Antwort zurück?
- ist Quell-Port passend?
- blockiert Firewall?
- antwortet Dienst überhaupt?
Beispiel DNS:
Anfrage an UDP 53
Antwort von UDP 53 zurück
Merksatz:
Bei UDP vergleicht man Anfrage und Antwort.
Firewall-Logs prüfen
Firewall-Logs können zeigen:
- Quelle
- Ziel
- Protokoll
- Port
- Aktion
- Zeit
- Regelname
- Interface oder Zone
Wichtige Fragen:
Wird die Verbindung erlaubt?
Wird sie blockiert?
Welche Regel greift?
Ist TCP oder UDP betroffen?
Gibt es Rückverkehr?
Merksatz:
Firewall-Logs zeigen oft,
ob Schicht 4 blockiert wird.
NAT- und Portweiterleitungsprüfung
Bei NAT oder Portweiterleitung prüft man:
- externe IP korrekt?
- kein CGNAT?
- externer Port korrekt?
- internes Ziel korrekt?
- internes Ziel erreichbar?
- TCP oder UDP korrekt?
- Firewall erlaubt?
- Dienst läuft?
- Rückweg vorhanden?
- Hairpin NAT nötig?
Merksatz:
NAT-Fehlersuche braucht Port,
Protokoll,
Ziel-IP
und Rückweg.
Typische Prüf-Reihenfolge bei Dienstproblemen
Eine einfache Reihenfolge:
1. Ziel-IP erreichbar?
2. Route und Gateway korrekt?
3. richtiger Port?
4. richtiges Protokoll TCP oder UDP?
5. Dienst läuft?
6. Dienst lauscht auf richtiger IP?
7. lokale Server-Firewall erlaubt?
8. Netzwerk-Firewall erlaubt?
9. NAT oder Portweiterleitung korrekt?
10. Anwendung selbst prüfen
Merksatz:
Erst IP,
dann Port,
dann Dienst.
Beispiel: HTTPS intern nicht erreichbar
Fehlerbild:
Client erreicht Server-IP per Ping.
HTTPS auf TCP 443 funktioniert nicht.
Prüfung:
1. Hört der Webserver auf TCP 443?
2. Ist TCP 443 auf der Server-Firewall erlaubt?
3. Ist Netzwerk-Firewall im Weg?
4. Nutzt der Dienst vielleicht TCP 8443?
5. Gibt es TLS- oder Anwendungsfehler?
6. Funktioniert Zugriff lokal auf dem Server?
Merksatz:
Ping geht,
HTTPS nicht:
TCP 443 und Dienst prüfen.
Beispiel: DNS antwortet nicht
Fehlerbild:
Client kann externe IPs erreichen,
aber Namen werden nicht aufgelöst.
Prüfung:
1. DNS-Server-IP korrekt?
2. DNS-Server per IP erreichbar?
3. UDP 53 erlaubt?
4. TCP 53 bei Bedarf erlaubt?
5. DNS-Dienst läuft?
6. DNS-Zone korrekt?
7. Firewall-Logs prüfen.
Merksatz:
DNS-Fehler können Port- und Dienstfehler sein.
Beispiel: SSH von außen nicht erreichbar
Fehlerbild:
SSH funktioniert intern,
aber nicht von außen.
Mögliche Ursachen:
- Portweiterleitung fehlt
- falscher externer Port
- falsches Ziel intern
- CGNAT
- Firewall blockiert
- SSH hört nur intern
- Zugriff nur von bestimmten IPs erlaubt
- Provider blockiert
- DNS zeigt falsch
Merksatz:
Von außen braucht man öffentliche Erreichbarkeit,
NAT-Regel,
Firewall
und laufenden Dienst.
Beispiel: UDP-VPN instabil
Fehlerbild:
VPN verbindet manchmal,
bricht aber ab oder bleibt instabil.
Mögliche Ursachen:
- UDP wird gefiltert
- NAT-Zuordnung läuft ab
- MTU-Problem
- Paketverlust
- Firewall-Zeitlimit
- falscher Port
- Provider filtert
- asymmetrisches Routing
Merksatz:
UDP-VPN-Probleme können NAT-, Firewall- oder MTU-Ursachen haben.
Schicht 4 oder Schicht 7?
Nicht jedes Dienstproblem ist ein Portproblem.
| Beobachtung | eher Ursache |
|---|---|
| TCP-Verbindung kommt nicht zustande | Schicht 4 / Firewall |
| TCP 443 offen, aber Zertifikatsfehler | Schicht 6 / 7 |
| TCP 443 offen, aber HTTP 500 | Anwendung |
| DNS-Port erreichbar, aber falsche Antwort | DNS-Konfiguration |
| SSH-Port offen, aber Login scheitert | Benutzer, Schlüssel, Rechte |
| Datenbank-Port offen, aber Anmeldung scheitert | Anwendung / Rechte |
Merksatz:
Port erreichbar bedeutet nur:
Transportweg zum Dienst ist möglich.
Schicht 4 oder Firewall?
Firewalls können auf Schicht 3 und 4 filtern.
Typische Regelbestandteile:
Quelle
Ziel
Protokoll
Port
Richtung
Aktion
Beispiel:
Quelle:
Mitarbeiter-Netz
Ziel:
Server-Netz
Protokoll:
TCP
Port:
443
Aktion:
erlauben
Merksatz:
Firewall-Regeln müssen Quelle, Ziel, Protokoll und Port passend erlauben.
Schicht 4 oder NAT?
Wenn ein Dienst intern funktioniert, aber extern nicht, ist NAT oder Portweiterleitung ein häufiger Prüfpunkte.
Typische Unterscheidung:
| Beobachtung | mögliche Ursache |
|---|---|
| intern geht, extern nicht | NAT, Firewall, CGNAT, DNS |
| extern kommt falscher Dienst | falsche Portweiterleitung |
| nur TCP geht, UDP nicht | falsches Protokoll freigegeben |
| Rückverkehr fehlt | NAT oder Rückroute |
| Test intern über Domain geht nicht | Hairpin NAT oder Split DNS |
Merksatz:
Externe Dienstprobleme oft mit NAT und Firewall prüfen.
Was Schicht-4-Fehlersuche nicht löst
Wenn TCP oder UDP korrekt funktioniert, können trotzdem Anwendungsfehler bestehen.
Dann prüft man:
- Anwendungskonfiguration
- Benutzerrechte
- Zertifikate
- TLS-Version
- Datenbankverbindung
- Reverse Proxy
- DNS-Inhalte
- API-Endpunkte
- Logs der Anwendung
Merksatz:
Schicht 4 transportiert,
Schicht 7 verarbeitet.
Einordnung in das OSI-Modell
| Thema | Schicht |
|---|---|
| Kabel und Link | 1 |
| MAC und VLAN | 2 |
| IP und Routing | 3 |
| TCP und UDP | 4 |
| Ports | 4 |
| TCP-Handshake | 4 |
| Firewall nach IP | 3 |
| Firewall nach Port | 4 |
| TLS-Zertifikat | 6 / 7 |
| DNS-Dienst | 7 |
| Webanwendung | 7 |
Merksatz:
Schicht 4 sagt:
Kommt der Transport zum Dienst zustande?
Typische IHK-Fragen
In AP1 und AP2 kann zum Beispiel gefragt werden:
- Was prüft man auf Schicht 4?
- Warum reicht Ping nicht als Diensttest?
- Was bedeutet offener Port?
- Was bedeutet geschlossener Port?
- Was bedeutet gefilterter Port?
- Warum muss man TCP und UDP unterscheiden?
- Warum kann TCP 443 blockiert sein, obwohl Ping funktioniert?
- Was passiert beim TCP-Handshake?
- Was bedeutet RST?
- Was bedeutet Timeout?
- Warum ist UDP-Fehlersuche schwieriger als TCP-Fehlersuche?
- Welche Rolle spielen Firewall-Regeln bei Schicht 4?
- Welche Rolle spielen NAT und Portweiterleitung?
Typische Prüfungsfallen
Ping prüft keine TCP- oder UDP-Ports.
ICMP hat keine Ports.
IP erreichbar heißt nicht:
Dienst erreichbar.
Port erreichbar heißt nicht:
Anwendung korrekt.
TCP und UDP sind getrennt zu betrachten.
Gleiche Portnummer bei TCP und UDP ist nicht dasselbe.
TCP-Handshake = SYN, SYN-ACK, ACK.
Kein SYN-ACK kann Firewall-, Routing- oder Dienstproblem sein.
RST bedeutet aktiver Abbruch.
Timeout bedeutet keine rechtzeitige Antwort.
UDP hat keinen Handshake.
UDP-Fehler sind oft schwerer zu erkennen.
Firewall-Regel braucht Protokoll und Port.
Portweiterleitung braucht richtiges Protokoll.
Dienst muss auf richtiger IP und richtigem Port lauschen.
localhost ist nur lokal.
Wichtige Begriffe kurz erklärt
| Begriff | Kurze Erklärung |
|---|---|
| Schicht-4-Fehler | Fehler bei TCP, UDP oder Ports |
| Porttest | Prüfung eines TCP- oder UDP-Ports |
| offener Port | Dienst ist grundsätzlich erreichbar |
| geschlossener Port | kein Dienst lauscht |
| gefilterter Port | Firewall oder Filter blockiert |
| TCP-Handshake | Verbindungsaufbau mit SYN, SYN-ACK, ACK |
| SYN | TCP-Verbindungsanfrage |
| SYN-ACK | Antwort und Bestätigung auf SYN |
| ACK | Bestätigung |
| RST | sofortiger TCP-Abbruch |
| Timeout | Antwort kommt nicht rechtzeitig |
| Retransmission | erneute Übertragung |
| LISTEN | Dienst wartet auf Verbindung |
| ESTABLISHED | Verbindung besteht |
| localhost | eigenes Gerät, 127.0.0.1 |
| Host-Firewall | Firewall direkt auf dem Server |
| Portweiterleitung | externer Port wird intern weitergeleitet |
| NAT-Tabelle | Zuordnung übersetzter Verbindungen |
IHK-sichere Kurzformulierung
Fehlersuche auf OSI-Schicht 4 bedeutet, TCP, UDP und Ports zu prüfen. Während Schicht 3 die IP-Erreichbarkeit eines Zielgeräts betrachtet, prüft Schicht 4, ob der gewünschte Dienst-Port erreichbar ist. Typische Schicht-4-Probleme sind geschlossene oder gefilterte Ports, fehlgeschlagene TCP-Handshakes, Timeouts, TCP-Resets, falsche TCP-/UDP-Freigaben, blockierende Firewalls oder fehlerhafte NAT- und Portweiterleitungen. Ein erfolgreicher Ping beweist nicht, dass ein TCP- oder UDP-Dienst erreichbar ist, und ein erreichbarer Port beweist nicht automatisch, dass die Anwendung korrekt funktioniert.
Merksätze
Schicht-4-Fehlersuche = TCP, UDP und Ports prüfen.
IP erreichbar heißt nicht:
Port erreichbar.
Ping prüft ICMP,
nicht TCP oder UDP.
Porttest prüft Schicht 4.
Dienstproblem = IP, Port, Protokoll, Firewall und Anwendung prüfen.
TCP und UDP getrennt betrachten.
Gleiche Portnummer bei TCP und UDP ist nicht dasselbe.
TCP-Handshake = SYN, SYN-ACK, ACK.
Kein Handshake = keine TCP-Verbindung.
RST = aktiver Abbruch.
Timeout = keine rechtzeitige Antwort.
Offener Port = Dienst grundsätzlich erreichbar.
Geschlossener Port = kein Dienst lauscht.
Gefilterter Port = Firewall oder Filter im Weg.
UDP hat keinen Handshake.
UDP braucht Anfrage-Antwort-Prüfung.
Firewall-Regel braucht Quelle, Ziel, Protokoll und Port.
Portweiterleitung braucht richtige IP,
richtigen Port
und richtiges Protokoll.
Dienst muss auf richtiger Schnittstelle lauschen.
localhost ist nur lokal.
Erst IP,
dann Port,
dann Dienst.
7.5 Merksätze und Prüfungswissen zu OSI-Schicht 4
Diese Seite fasst die wichtigsten Inhalte zur OSI-Schicht 4 zusammen.
OSI-Schicht 4 heißt:
Transportschicht
Die Hauptaufgabe von Schicht 4 ist:
Daten zwischen Anwendungen auf Endgeräten transportieren.
Dabei sind besonders wichtig:
- TCP
- UDP
- Ports
- Verbindungsaufbau
- Zuverlässigkeit
- Dienst-Erreichbarkeit
- Firewall-Regeln nach Port
- NAT/PAT mit Port-Zuordnung
Merksatz:
Schicht 4 = TCP, UDP und Ports.
Grundidee von Schicht 4
Schicht 3 bringt Daten zum richtigen Gerät.
Schicht 4 bringt Daten zur richtigen Anwendung auf diesem Gerät.
Beispiel:
IP-Adresse:
192.168.10.50
Port:
443
Zusammen:
192.168.10.50:443
Das bedeutet:
Gerät 192.168.10.50
Dienst auf Port 443
Merksatz:
IP bringt zum Gerät.
Port bringt zum Dienst.
Schicht 3 und Schicht 4 unterscheiden
| Frage | Schicht |
|---|---|
| Welche IP-Adresse hat das Ziel? | 3 |
| Gibt es eine Route zum Ziel? | 3 |
| Ist das Gateway erreichbar? | 3 |
| Funktioniert Ping auf die IP? | 3 |
| Ist TCP 443 erreichbar? | 4 |
| Ist UDP 53 erreichbar? | 4 |
| Kommt der TCP-Handshake zustande? | 4 |
| Läuft die Webanwendung korrekt? | 7 |
Merksatz:
IP-Erreichbarkeit = Schicht 3.
Port-Erreichbarkeit = Schicht 4.
TCP
TCP steht für:
Transmission Control Protocol
TCP ist:
verbindungsorientiert
zuverlässig
reihenfolgetreu
bestätigungsbasiert
TCP sorgt dafür, dass Daten vollständig und in richtiger Reihenfolge bei der Anwendung ankommen.
Merksatz:
TCP = zuverlässig und verbindungsorientiert.
UDP
UDP steht für:
User Datagram Protocol
UDP ist:
verbindungslos
schlank
schnell
ohne eingebaute Zustellgarantie
UDP sendet Datagramme ohne vorherigen Verbindungsaufbau.
Merksatz:
UDP = schnell und verbindungslos.
TCP und UDP vergleichen
| Merkmal | TCP | UDP |
|---|---|---|
| Verbindungsaufbau | ja | nein |
| Verbindung | verbindungsorientiert | verbindungslos |
| Zustellgarantie | ja | nein |
| Reihenfolge | wird sichergestellt | nicht sichergestellt |
| Bestätigungen | ja | nein |
| erneute Übertragung | ja | nein |
| Overhead | höher | geringer |
| Datenform | Segment | Datagramm |
Merksatz:
TCP kontrolliert.
UDP sendet schlank.
Verbindungsorientiert
Verbindungsorientiert bedeutet:
Vor der Datenübertragung wird eine Verbindung aufgebaut.
TCP arbeitet verbindungsorientiert.
Der Verbindungsaufbau erfolgt mit:
SYN
SYN-ACK
ACK
Merksatz:
Verbindungsorientiert = Verbindung vor Datenübertragung.
Verbindungslos
Verbindungslos bedeutet:
Es wird keine feste Verbindung aufgebaut.
UDP sendet direkt ein Datagramm an Ziel-IP und Ziel-Port.
UDP prüft nicht selbst:
ob das Datagramm angekommen ist
ob die Reihenfolge stimmt
ob eine erneute Übertragung nötig ist
Merksatz:
Verbindungslos = senden ohne Handshake.
TCP-Drei-Wege-Handshake
Der TCP-Verbindungsaufbau besteht aus drei Schritten.
| Schritt | Richtung | Bedeutung |
|---|---|---|
| 1 | Client → Server | SYN |
| 2 | Server → Client | SYN-ACK |
| 3 | Client → Server | ACK |
Nach dem dritten Schritt ist die TCP-Verbindung aufgebaut.
Merksatz:
TCP-Handshake = SYN, SYN-ACK, ACK.
SYN
SYN steht für:
Synchronize
SYN startet den TCP-Verbindungsaufbau.
Vereinfacht sagt der Client:
Ich möchte eine Verbindung aufbauen.
Merksatz:
SYN = Start der TCP-Verbindung.
SYN-ACK
SYN-ACK ist die Antwort des Servers auf das SYN.
Der Server sagt vereinfacht:
Ich habe deine Anfrage erhalten
und bin bereit.
Merksatz:
SYN-ACK = Antwort und Bestätigung.
ACK
ACK steht für:
Acknowledgement
ACK bedeutet:
Bestätigung
Der Client bestätigt damit das SYN-ACK des Servers.
Merksatz:
ACK = Bestätigung.
TCP-Zuverlässigkeit
TCP bietet Zuverlässigkeit durch:
- Sequenznummern
- Bestätigungsnummern
- ACKs
- erneute Übertragung
- Reihenfolgesicherung
- Flusskontrolle
- Staukontrolle
Dadurch eignet sich TCP gut für Daten, die vollständig und korrekt ankommen müssen.
Merksatz:
TCP nutzt mehrere Mechanismen für zuverlässigen Transport.
Sequenznummern
Sequenznummern helfen TCP, Daten in die richtige Reihenfolge zu bringen.
Sie zeigen:
an welcher Stelle im Datenstrom ein Teil gehört.
Damit kann TCP erkennen:
Daten fehlen.
Daten kamen doppelt.
Daten kamen in falscher Reihenfolge.
Merksatz:
Sequenznummer = Position im TCP-Datenstrom.
Bestätigungen
TCP bestätigt empfangene Daten mit ACKs.
Der Empfänger teilt dem Sender mit:
welche Daten angekommen sind
und
welche Daten als Nächstes erwartet werden.
Wenn eine Bestätigung fehlt, können Daten erneut gesendet werden.
Merksatz:
TCP bestätigt empfangene Daten.
Retransmission
Retransmission bedeutet:
erneute Übertragung
TCP sendet Daten erneut, wenn sie vermutlich verloren gegangen sind.
Mögliche Ursachen:
- Paketverlust
- Timeout
- beschädigte Daten
- Überlastung
- schlechte Verbindung
Merksatz:
Retransmission = TCP sendet erneut.
Flusskontrolle
Flusskontrolle schützt den Empfänger.
Der Empfänger signalisiert, wie viele Daten er aufnehmen kann.
Dadurch soll der Sender den Empfänger nicht überlasten.
Merksatz:
Flusskontrolle schützt den Empfänger.
Staukontrolle
Staukontrolle schützt das Netzwerk.
TCP kann die Sendeleistung anpassen, wenn Paketverlust oder Überlastung erkannt wird.
Ziel:
Das Netzwerk soll nicht weiter überlastet werden.
Merksatz:
Staukontrolle schützt das Netzwerk.
TCP-Verbindungsabbau
TCP-Verbindungen können geordnet beendet werden.
Wichtige Steuerbits:
FIN
ACK
FIN bedeutet:
Verbindung geordnet beenden.
RST bedeutet:
Verbindung sofort abbrechen.
Merksatz:
FIN beendet geordnet.
RST bricht sofort ab.
TCP-Zustände
Wichtige TCP-Zustände:
| Zustand | Bedeutung |
|---|---|
| LISTEN | Dienst wartet auf eingehende Verbindung |
| SYN-SENT | Client hat SYN gesendet |
| SYN-RECEIVED | Server hat SYN erhalten und SYN-ACK gesendet |
| ESTABLISHED | Verbindung besteht |
| FIN-WAIT | Verbindung wird beendet |
| TIME-WAIT | Wartephase nach Verbindungsende |
| CLOSED | Verbindung ist geschlossen |
Merksatz:
LISTEN = Dienst wartet.
ESTABLISHED = Verbindung steht.
TCP-Segment
Die Datenform von TCP auf Schicht 4 heißt:
Segment
Ein TCP-Segment enthält unter anderem:
- Quell-Port
- Ziel-Port
- Sequenznummer
- Bestätigungsnummer
- Steuerbits
- Prüfsumme
- Nutzdaten
Merksatz:
TCP arbeitet mit Segmenten.
UDP-Datagramm
Die Datenform von UDP auf Schicht 4 heißt:
Datagramm
Ein UDP-Datagramm enthält unter anderem:
- Quell-Port
- Ziel-Port
- Länge
- Prüfsumme
- Nutzdaten
Merksatz:
UDP arbeitet mit Datagrammen.
Segment und Datagramm unterscheiden
| Protokoll | Datenform |
|---|---|
| TCP | Segment |
| UDP | Datagramm |
Prüfungsfalle:
In der Umgangssprache sagt man oft „Paket“.
Fachlich ist TCP auf Schicht 4 ein Segment.
UDP auf Schicht 4 ist ein Datagramm.
Merksatz:
TCP = Segment.
UDP = Datagramm.
Ports
Ein Port ist eine logische Dienstnummer auf Schicht 4.
Ports unterscheiden Dienste auf einem Gerät.
Beispiel:
192.168.10.50:22
192.168.10.50:80
192.168.10.50:443
Gleiche IP-Adresse, aber unterschiedliche Dienste.
Merksatz:
Port = Dienstnummer.
Port ist nicht gleich Switch-Port
| Begriff | Bedeutung | Schicht |
|---|---|---|
| Switch-Port | physischer Anschluss | 1 / 2 |
| TCP-Port | logische Dienstnummer | 4 |
| UDP-Port | logische Dienstnummer | 4 |
Merksatz:
Switch-Port = physisch.
TCP-/UDP-Port = logisch.
Portnummern
Portnummern gehen von:
0
bis:
65535
Grund:
Ports sind 16 Bit groß.
16 Bit ermöglichen:
65536 Werte
Merksatz:
Portnummern = 0 bis 65535.
Portbereiche
| Bereich | Portnummern | Bedeutung |
|---|---|---|
| Well-Known Ports | 0 – 1023 | bekannte Standarddienste |
| Registered Ports | 1024 – 49151 | registrierte Anwendungsports |
| Dynamic / Ephemeral Ports | 49152 – 65535 | temporäre Client-Ports |
Merksatz:
Well-Known = bekannt.
Ephemeral = temporär.
Quell-Port und Ziel-Port
Ein TCP- oder UDP-Header enthält:
Quell-Port
Ziel-Port
Beispiel HTTPS:
Client:
192.168.10.20:52344
Server:
93.184.216.34:443
Dabei gilt:
Ziel-Port 443 = HTTPS-Dienst
Quell-Port 52344 = temporärer Client-Port
Merksatz:
Ziel-Port zeigt den Dienst.
Quell-Port hilft bei der Rückzuordnung.
Socket
Ein Socket besteht aus:
IP-Adresse
und
Port
Beispiel:
192.168.10.20:52344
Eine TCP-Verbindung wird eindeutig durch folgende Kombination:
Quell-IP
Quell-Port
Ziel-IP
Ziel-Port
Protokoll
Merksatz:
Socket = IP-Adresse plus Port.
TCP-Port und UDP-Port getrennt betrachten
Die gleiche Portnummer kann bei TCP und UDP getrennt existieren.
Beispiel:
TCP 53
UDP 53
Beide können DNS betreffen, sind aber technisch unterschiedliche Transportwege.
Eine Firewall-Regel für TCP 53 erlaubt nicht automatisch UDP 53.
Merksatz:
Portnummer immer mit TCP oder UDP nennen.
Wichtige Standardports
| Dienst | Protokoll | Port |
|---|---|---|
| FTP Steuerverbindung | TCP | 21 |
| SSH | TCP | 22 |
| Telnet | TCP | 23 |
| SMTP | TCP | 25 |
| DNS | TCP / UDP | 53 |
| DHCP Server | UDP | 67 |
| DHCP Client | UDP | 68 |
| HTTP | TCP | 80 |
| POP3 | TCP | 110 |
| NTP | UDP | 123 |
| IMAP | TCP | 143 |
| HTTPS | TCP | 443 |
| IMAPS | TCP | 993 |
| POP3S | TCP | 995 |
| RDP | TCP | 3389 |
Merksatz:
HTTP 80,
HTTPS 443,
SSH 22,
DNS 53,
DHCP 67/68.
DNS
DNS nutzt häufig:
UDP 53
DNS kann aber auch nutzen:
TCP 53
Beispiele für TCP bei DNS:
- große Antworten
- Zonentransfers
- bestimmte DNSSEC-Fälle
Merksatz:
DNS = UDP 53 häufig,
TCP 53 ebenfalls möglich.
DHCP
DHCP nutzt UDP.
Wichtige Ports:
| Rolle | Protokoll | Port |
|---|---|---|
| DHCP-Server | UDP | 67 |
| DHCP-Client | UDP | 68 |
Merksatz:
DHCP = UDP 67 und 68.
HTTP und HTTPS
HTTP nutzt typischerweise:
TCP 80
HTTPS nutzt typischerweise:
TCP 443
HTTPS nutzt zusätzlich TLS für Verschlüsselung.
Merksatz:
HTTP = TCP 80.
HTTPS = TCP 443.
SSH und Telnet
SSH nutzt:
TCP 22
Telnet nutzt:
TCP 23
Wichtiger Unterschied:
SSH ist verschlüsselt.
Telnet ist unverschlüsselt.
Merksatz:
SSH statt Telnet verwenden.
E-Mail-Protokolle
| Protokoll | Zweck | typischer Port |
|---|---|---|
| SMTP | E-Mail senden / transportieren | TCP 25 |
| POP3 | E-Mail abrufen | TCP 110 |
| IMAP | E-Mail abrufen und verwalten | TCP 143 |
| IMAPS | IMAP verschlüsselt | TCP 993 |
| POP3S | POP3 verschlüsselt | TCP 995 |
Merksatz:
SMTP sendet.
POP3 und IMAP holen ab.
NTP
NTP steht für:
Network Time Protocol
Typischer Port:
UDP 123
NTP dient der Zeitsynchronisation.
Wichtig für:
- Zertifikate
- Kerberos
- Logs
- Monitoring
- Fehlersuche
Merksatz:
NTP = UDP 123.
RDP
RDP steht für:
Remote Desktop Protocol
Typischer Port:
TCP 3389
RDP dient dem grafischen Fernzugriff auf Windows-Systeme.
Wichtig:
RDP nicht ungeschützt direkt ins Internet öffnen.
Merksatz:
RDP = TCP 3389,
sorgfältig absichern.
Portstatus
Ein Port kann aus Sicht eines Clients unterschiedlich wirken.
| Status | Bedeutung |
|---|---|
| offen | Dienst nimmt Verbindung an oder antwortet |
| geschlossen | kein Dienst lauscht auf diesem Port |
| gefiltert | Firewall oder Paketfilter blockiert |
| offen, aber Anwendung fehlerhaft | Schicht 4 erreichbar, höhere Schicht fehlerhaft |
Merksatz:
Portstatus hilft bei der Eingrenzung.
Offener Port
Ein offener Port bedeutet:
Ein Dienst ist grundsätzlich erreichbar.
Aber ein offener Port beweist nicht:
dass die Anwendung korrekt funktioniert
dass Login klappt
dass Zertifikate stimmen
dass keine Fehler in der Anwendung bestehen
Merksatz:
Offener Port = Transport zum Dienst möglich.
Geschlossener Port
Ein geschlossener Port bedeutet:
Kein Dienst lauscht auf diesem Port.
Der Host kann trotzdem erreichbar sein.
Beispiel:
Ping funktioniert.
TCP 22 geschlossen.
Dann ist der Host erreichbar, aber SSH läuft dort nicht oder nicht auf Port 22.
Merksatz:
Geschlossener Port heißt nicht:
Gerät offline.
Gefilterter Port
Ein gefilterter Port bedeutet häufig:
Firewall oder Paketfilter blockiert.
Typisches Verhalten:
Timeout
keine klare Antwort
Verbindung hängt
Merksatz:
Gefiltert = oft Firewall im Weg.
Firewall-Regeln auf Schicht 4
Firewalls nutzen häufig Ports.
Eine vollständige Regel enthält idealerweise:
- Quelle
- Ziel
- Protokoll
- Port
- Richtung
- Aktion
- Kommentar oder Zweck
Beispiel:
Quelle:
Mitarbeiter-Netz
Ziel:
Internet
Protokoll:
TCP
Port:
443
Aktion:
erlauben
Merksatz:
Firewall-Regel = Quelle, Ziel, Protokoll, Port, Aktion.
Portweiterleitung
Portweiterleitung bedeutet:
Ein externer Port wird an ein internes Ziel weitergeleitet.
Beispiel:
öffentlich:
93.184.100.10:443
intern:
192.168.10.50:443
Wichtig:
Protokoll muss stimmen.
Ziel-IP muss stimmen.
Dienst muss laufen.
Firewall muss erlauben.
Merksatz:
Portweiterleitung braucht richtige IP,
richtigen Port,
richtiges Protokoll
und laufenden Dienst.
NAT/PAT und Ports
PAT nutzt Ports, um Verbindungen zu unterscheiden.
Beispiel:
| Intern | Extern |
|---|---|
| 192.168.10.20:52344 | 93.184.100.10:40001 |
| 192.168.10.30:52344 | 93.184.100.10:40002 |
Dadurch können mehrere interne Geräte dieselbe öffentliche IP-Adresse nutzen.
Merksatz:
PAT unterscheidet Verbindungen über Ports.
TCP und UDP bei NAT/PAT
Bei TCP kann ein NAT-Gerät Verbindungszustände gut verfolgen.
Bei UDP gibt es keinen echten Verbindungsaufbau.
Deshalb arbeitet NAT bei UDP häufig mit Zeitfenstern und Zuordnungstabellen.
Wenn eine Zuordnung abläuft, können Antworten verloren gehen.
Merksatz:
NAT verfolgt TCP leichter als UDP.
Ping und Porttest unterscheiden
Ping nutzt ICMP.
ICMP nutzt keine TCP- oder UDP-Ports.
Deshalb gilt:
Ping prüft IP-Erreichbarkeit,
aber keinen Dienst-Port.
Beispiel:
Ping funktioniert.
Das beweist nicht:
TCP 443 ist offen.
Merksatz:
Ping prüft Schicht 3.
Porttest prüft Schicht 4.
Typische Schicht-4-Fehler
Typische Fehler sind:
- falscher Port
- falsches Protokoll TCP oder UDP
- Dienst läuft nicht
- Dienst lauscht auf falscher IP
- Dienst lauscht nur auf localhost
- Firewall blockiert
- TCP-Handshake scheitert
- RST
- Timeout
- Portweiterleitung falsch
- NAT/PAT-Zuordnung fehlt
- Rückweg fehlt
- UDP-Antwort kommt nicht zurück
Merksatz:
Schicht-4-Fehler betreffen Transport zum Dienst.
Fehlerbild: Ping geht, Dienst nicht
Beispiel:
ping server funktioniert.
HTTPS funktioniert nicht.
Mögliche Ursachen:
- TCP 443 geschlossen
- Firewall blockiert TCP 443
- Webserver läuft nicht
- Webserver hört auf anderem Port
- TLS- oder Anwendungsproblem
- Reverse Proxy falsch
Merksatz:
Ping geht,
Dienst nicht:
Schicht 4 und 7 prüfen.
Fehlerbild: TCP-Handshake scheitert
Der TCP-Handshake lautet:
SYN
SYN-ACK
ACK
Wenn der Handshake nicht vollständig ist, entsteht keine TCP-Verbindung.
Mögliche Ursachen:
- Dienst lauscht nicht
- Firewall blockiert
- Rückroute fehlt
- NAT falsch
- Server lehnt ab
- Netzwerkverlust
Merksatz:
Kein vollständiger Handshake = keine TCP-Verbindung.
Fehlerbild: RST
RST bedeutet:
Reset
Ein RST bricht eine TCP-Verbindung sofort ab.
Mögliche Ursachen:
- Port geschlossen
- Dienst lehnt Verbindung ab
- Firewall sendet Reset
- Anwendung bricht ab
- falsches Protokoll
Merksatz:
RST = aktiver TCP-Abbruch.
Fehlerbild: Timeout
Timeout bedeutet:
Eine erwartete Antwort kommt nicht rechtzeitig.
Mögliche Ursachen:
- Firewall verwirft still
- Server antwortet nicht
- Rückweg fehlt
- NAT-Zuordnung fehlt
- falsches Ziel
- Paketverlust
Merksatz:
Timeout = keine rechtzeitige Antwort.
Fehlerbild: UDP antwortet nicht
UDP hat keinen Handshake.
Wenn keine Antwort kommt, kann das bedeuten:
- Dienst läuft nicht
- UDP-Port falsch
- Firewall blockiert
- Anfrage ungültig
- Antwortweg fehlt
- NAT-Zuordnung abgelaufen
- Paketverlust
Merksatz:
UDP braucht Anfrage-Antwort-Prüfung.
Schicht 4 oder Schicht 7?
| Beobachtung | eher Ursache |
|---|---|
| TCP-Verbindung kommt nicht zustande | Schicht 4 / Firewall |
| TCP-Port offen, aber Login scheitert | Anwendung / Authentifizierung |
| TCP 443 offen, aber Zertifikatsfehler | Darstellung / Anwendung |
| DNS-Port erreichbar, aber falsche Antwort | DNS-Konfiguration |
| Webserver antwortet mit Fehler 500 | Anwendung |
| SSH-Port offen, aber Schlüssel abgelehnt | Benutzer / Schlüssel / Rechte |
Merksatz:
Port erreichbar bedeutet:
Transport ist möglich,
Anwendung muss trotzdem geprüft werden.
Was Schicht 4 nicht macht
Schicht 4 macht nicht:
- IP-Adressen vergeben
- Routing zwischen Netzen durchführen
- MAC-Adressen auflösen
- DNS-Namen auflösen
- Webseiten bereitstellen
- Benutzer authentifizieren
- Zertifikate prüfen
- Inhalte interpretieren
- Dateirechte verwalten
Merksatz:
Schicht 4 transportiert,
interpretiert aber keine Anwendung.
Prüfungswissen: wichtigste Zuordnungen
| Begriff | richtige Einordnung |
|---|---|
| TCP | Schicht 4 |
| UDP | Schicht 4 |
| Port | Schicht 4 |
| TCP-Handshake | Schicht 4 |
| Segment | TCP auf Schicht 4 |
| Datagramm | UDP auf Schicht 4 |
| Socket | Schicht 4 mit IP-Bezug |
| ICMP | Schicht 3 |
| IP-Adresse | Schicht 3 |
| Routing | Schicht 3 |
| DNS | Schicht 7, nutzt TCP/UDP 53 |
| HTTP | Schicht 7, nutzt TCP 80 |
| HTTPS | Schicht 7, nutzt TCP 443 |
| DHCP | Schicht 7, nutzt UDP 67/68 |
Merksatz:
TCP, UDP und Ports = Schicht 4.
Typische IHK-Fragen
In AP1 und AP2 kann zum Beispiel gefragt werden:
- Welche Aufgabe hat die Transportschicht?
- Was ist TCP?
- Was ist UDP?
- Was ist der Unterschied zwischen TCP und UDP?
- Was bedeutet verbindungsorientiert?
- Was bedeutet verbindungslos?
- Wie funktioniert der TCP-Drei-Wege-Handshake?
- Was ist ein Port?
- Warum braucht man Ports?
- Was ist ein Socket?
- Welche Portbereiche gibt es?
- Welche Standardports sollte man kennen?
- Warum nutzt DNS TCP und UDP?
- Warum nutzt DHCP UDP?
- Warum reicht Ping nicht als Diensttest?
- Was bedeutet offener, geschlossener oder gefilterter Port?
- Warum muss eine Firewall TCP und UDP unterscheiden?
Typische Prüfungsfallen
TCP gehört zu Schicht 4.
UDP gehört zu Schicht 4.
Ports gehören zu Schicht 4.
ICMP nutzt keine Ports.
Ping ist kein Porttest.
TCP ist verbindungsorientiert.
UDP ist verbindungslos.
TCP-Handshake = SYN, SYN-ACK, ACK.
TCP nutzt Segmente.
UDP nutzt Datagramme.
TCP-Port und UDP-Port sind getrennt.
Gleiche Portnummer bedeutet nicht gleiches Protokoll.
DNS nutzt UDP 53 und TCP 53.
DHCP nutzt UDP 67 und 68.
HTTP nutzt TCP 80.
HTTPS nutzt TCP 443.
SSH nutzt TCP 22.
RDP nutzt TCP 3389.
Offener Port heißt nicht automatisch:
Anwendung funktioniert.
Geschlossener Port heißt nicht:
Gerät offline.
Gefilterter Port heißt oft:
Firewall im Weg.
Wichtige Begriffe kurz erklärt
| Begriff | Kurze Erklärung |
|---|---|
| Transportschicht | OSI-Schicht 4 |
| TCP | zuverlässiges, verbindungsorientiertes Transportprotokoll |
| UDP | verbindungsloses Transportprotokoll |
| Port | logische Dienstnummer |
| TCP-Port | Dienstnummer für TCP |
| UDP-Port | Dienstnummer für UDP |
| Socket | IP-Adresse plus Port |
| Segment | TCP-Dateneinheit |
| Datagramm | UDP-Dateneinheit |
| SYN | Start des TCP-Verbindungsaufbaus |
| SYN-ACK | Antwort und Bestätigung auf SYN |
| ACK | Bestätigung |
| RST | sofortiger TCP-Abbruch |
| FIN | geordneter TCP-Abbau |
| Timeout | Antwort bleibt zu lange aus |
| Retransmission | erneute Übertragung |
| LISTEN | Dienst wartet auf Verbindung |
| ESTABLISHED | Verbindung besteht |
| Well-Known Port | Port 0 bis 1023 |
| Ephemeral Port | temporärer Client-Port |
| Portweiterleitung | externer Port wird intern weitergeleitet |
| gefilterter Port | Firewall oder Paketfilter blockiert |
IHK-sichere Gesamtformulierung
Die Transportschicht ist Schicht 4 des OSI-Modells. Sie sorgt für den Transport von Daten zwischen Anwendungen auf Endgeräten. Dafür werden vor allem TCP, UDP und Ports verwendet. TCP ist verbindungsorientiert und zuverlässig, baut eine Verbindung über SYN, SYN-ACK und ACK auf und nutzt Bestätigungen, Sequenznummern und erneute Übertragung. UDP ist verbindungslos, schlanker und bietet keine eingebaute Zustellgarantie. Ports dienen dazu, Dienste auf einem Gerät zu unterscheiden. Eine IP-Adresse zeigt zum Gerät, der Port zeigt zum Dienst. TCP- und UDP-Ports sind getrennt zu betrachten.
Wichtigste Merksätze
Schicht 4 = Transportschicht.
Schicht 4 = TCP, UDP und Ports.
IP bringt zum Gerät.
Port bringt zum Dienst.
Port = logische Dienstnummer.
Switch-Port ist physisch.
TCP-Port ist logisch.
TCP = verbindungsorientiert.
UDP = verbindungslos.
TCP = zuverlässig.
UDP = schlank und schnell.
TCP-Handshake = SYN, SYN-ACK, ACK.
TCP nutzt ACKs.
TCP nutzt Sequenznummern.
TCP kann erneut übertragen.
TCP stellt Reihenfolge sicher.
UDP hat keinen Handshake.
UDP bietet keine eingebaute Zustellgarantie.
TCP = Segment.
UDP = Datagramm.
Portnummern gehen von 0 bis 65535.
Well-Known Ports = 0 bis 1023.
Ephemeral Ports = temporäre Client-Ports.
Ziel-Port zeigt den Dienst.
Quell-Port hilft bei der Rückzuordnung.
Socket = IP-Adresse plus Port.
HTTP = TCP 80.
HTTPS = TCP 443.
SSH = TCP 22.
DNS = UDP 53 und TCP 53.
DHCP = UDP 67 und 68.
NTP = UDP 123.
RDP = TCP 3389.
Ping nutzt ICMP,
nicht TCP oder UDP.
Ping ist kein Porttest.
IP erreichbar = Schicht 3.
Port erreichbar = Schicht 4.
Anwendung korrekt = höhere Schicht.
Offener Port heißt nicht automatisch sicher.
Firewall-Regel braucht Quelle, Ziel, Protokoll und Port.
Portweiterleitung braucht richtige IP,
richtigen Port
und richtiges Protokoll.