⚡ 1. Port 53: Wann UDP, wann TCP?
Ein weit verbreiteter Irrglaube ist, DNS laufe ausschließlich über UDP. In der Praxis benötigt jeder vollwertige DNS-Server beide Transportprotokolle auf Port 53:
# 1. Normale Abfrage über UDP (Standard):
dig +bufsize=512 www.it-praxisportal.de
# 2. Explizite Abfrage über TCP erzwingen (+tcp):
dig +tcp www.it-praxisportal.de
# 3. Zonentransfer (AXFR) läuft IMMER über TCP:
dig AXFR @ns1.it-praxisportal.de it-praxisportal.de
📦 2. Das 512-Byte Limit & EDNS0 (RFC 6891)
Historisch passte in Ethernet-Frames (unter Berücksichtigung des minimalen IPv4-MTU von 576 Bytes) nur ein 512-Byte UDP-Payload. Mit der Einführung von DNSSEC (kryptografische 2048-Bit RSA-Schlüssel) reichte dieser Platz nicht mehr aus.
Standard UDP: Ein Standard-Briefumschlag (512 Bytes). Passt der Vertrag nicht hinein, schneidet der Postbote die Seiten ab, klebt den Stempel TC=1 (Truncated) drauf und sagt: „Komm bitte mit einem Paketwagen (TCP) wieder!“
EDNS0: Mit EDNS0 schreibt der Empfänger auf den Umschlag: „Ich habe einen großen Briefkasten (4096 Bytes). Du kannst mir dicke Briefe per Standard-Post senden!“
📑 3. Cheat-Sheet: Transport-Entscheidungsmatrix
| Szenario | Protokoll | Grund & Verhalten |
|---|---|---|
| Standard-Query (≤ 512 Bytes) | UDP / 53 |
Maximale Performance ohne TCP-Handshake |
| Antwort > 512 Bytes (ohne EDNS0) | UDP -> TCP |
Server setzt TC=1; Client wiederholt per TCP |
| Antwort > 512B (mit EDNS0 ≤ 4096B) | UDP (EDNS0) |
Erweiterter Puffer via OPT Pseudo-Record |
| Zonentransfer (AXFR / IXFR) | TCP / 53 |
Zwingend TCP wegen Zuverlässigkeit & Datenmenge |