Getty Images/iStockphoto
Warum verwendet DNS TCP-Port 53 und UDP-Port 53?
Das Domain Name System (DNS) nutzt je nach Anwendungsfall TCP- oder UDP-Ports, um konsistente und zuverlässige Leistung oder hohe Geschwindigkeit des Netzwerks zu sicherzustellen.
Bei der Verwaltung von Netzwerkports gehen die meisten Netzwerkfachleute davon aus, dass für die Kommunikation bestimmte Transportschichtprotokolle verwendet werden: Transmission Control Protocol (TCP? oder User Datagram Protocol (UDP). Das Domain Name System (DNS) ist jedoch ein relativ komplexer Dienst mit vielen Interaktionsebenen, der sowohl TCP als auch UDP für verschiedene Aufgaben verwendet.
In vielen Quellen wird auf TCP- und UDP-Ports verwiesen, zum Beispiel in der DNS-Dokumentation oder bei der Konfiguration von DNS-Diensten für Netzwerke. Warum verwendet das DNS diese beiden unterschiedlichen Transportschicht-Protokolle?
Um zu verstehen, wie DNS sowohl TCP-Port 53 und UDP-Port 53 verwendet, müssen Fachleute die Unterschiede zwischen den beiden Transportschichtprotokollen kennen und wissen, wie Ports funktionieren.
Transportschicht-Protokolle verstehen
Transportschicht-Protokolle befassen sich mit zuverlässiger Kommunikation. TCP und UDP befinden sich auf der Transportschicht des TCP/IP-Stacks. Ihre Aufgabe ist es, die Netzwerkkommunikation zu regeln, sowohl verbindungsorientiert als auch verbindungslos.
Die Anwendungsschicht liegt oberhalb der Transportschicht und ist mit spezifischen Anwendungsprotokollen verbunden. Sie identifiziert diese Anwendungen anhand der Portnummer.
TCP
TCP ist verbindungsorientiert, auch zustandsorientiert genannt. Es stellt eine Beziehung zwischen Quell- und Zielknoten her, um den Austausch von Paketen zu verwalten. TCP ist zuverlässig, da diese Beziehung es ermöglicht, verlorene oder anderweitig fehlende Pakete zu erkennen und eine erneute Übertragung anzufordern.
TCP garantiert, dass alle gesendeten Daten empfangen werden. Wenn ein Paket nicht ankommt, fordert TCP eine erneute Übertragung des fehlenden Inhalts an. Diese Zuverlässigkeit hat allerdings ihren Preis. TCP-Pakete haben größere Header, die einen Overhead beim Verbindungsaufbau und bei der Sicherstellung, dass alle Inhalte ihr Ziel erreichen, erzeugen. Diese Zuverlässigkeit ist für viele Arten der Netzwerkkommunikation von entscheidender Bedeutung.
Die folgenden drei Begriffe beschreiben TCP:
- Verbindungsorientiert
- Zustandsorientiert
- Zuverlässig
Protokolle, die auf der verbindungsorientierten TCP-Kommunikation basieren, sind SMTP und HTTP.
UDP
UDP ist ein sogenanntes Best-Effort-Protokoll. Es sendet Daten über das Netzwerk, ohne eine Verbindung aufrechtzuerhalten, die eine vollständige Übertragung der Informationen gewährleistet.
Moderne Netzwerke und Protokolle sind relativ zuverlässig, so dass die meisten Daten ihr Ziel erreichen. UDP ist wesentlich schneller als TCP und eignet sich daher für Netzwerkprogramme, die eine schnelle Kommunikation erfordern.
Die folgenden drei Begriffe beschreiben UDP:
- Verbindungslos
- Zustandslos
- Unzuverlässig
Das Trivial File Transfer Protocol (TFTP) nutzt die verbindungslose Kommunikation von UDP.
Ports verstehen
Menschen verlassen sich auf Namen, die leicht zu merken sind, aber Computer benutzen schwer zu merkende Nummern. Verschiedene Nummern stehen für gängige Protokolle der Anwendungsschicht. Zum Beispiel verwendet HTTP den Port 80, während HTTPS den Port 443 nutzt.
Diese Portnummern sind oft nützlich bei der Fehlersuche und der Konfiguration von Paketfiltern sowie Firewalls. Sie können sogar in Logdateien für Netzwerkdienste auftauchen.
Nachfolgend sind einige gebräuchliche Ports, das zugehörige Transportschichtprotokoll und der jeweilige Dienstname aufgeführt:
- 22/TCP: Secure Shell (SSH)
- 67/UDP und 68/UDP: Dynamic Host Configuration Protocol (DHCP)
- 69/UDP: Trivial File Transfer Protocol (TFTP)
- 80/TCP: HTTP
- 443/TCP: HTTPS
- 123/UDP: Network Time Protocol (NTP)
- 445/TCP: Server Message Block (SMB)
- 3389/TCP: Remote Desktop Protocol (RDP)
DNS verwendet Port 53 und ist dadurch gekennzeichnet, dass es sowohl TCP-Port 53 als auch UDP-Port 53 verwendet. DHCP ist ein weiterer Sonderfall, der ebenfalls TCP- und UDP-Ports nutzt.
Wann verwendet DNS UDP und TCP?
DNS nutzt UDP für Anfragen und Antworten zur Namensauflösung. DNS-Zonenübertragungen verwenden die zuverlässigeren TCP-Verbindungen. Es gibt jedoch einige Ausnahmen zu diesen beiden Verfahren.
DNS und UDP
DNS-Server verfügen über eine Datenbank mit Namen und IP-Adressen. Das DNS erhält Anfragen von Clients, wenn ein Benutzer eine Netzwerkressource anhand ihres Namens angibt. Das System benötigt jedoch eine IP-Adresse für den Paket-Header.
Wenn Sie zum Beispiel ping server42 eingeben, muss das System die IP von server42 über DNS abfragen.
Diese Abfragen sind in der Regel klein und schnell. Wenn der Client keine Antwort erhält, sendet er die Abfrage erneut, so dass die Zuverlässigkeit kein Problem darstellt. UDP eignet sich hervorragend für diese Art der Kommunikation.
DNS und TCP
Der DNS-Dienst ist unzuverlässig, wenn nur ein Server eine Kopie der Namensauflösungsdatenbank enthält. Aus diesem Grund haben die meisten Netzwerke mindestens zwei DNS-Server. Manchmal aktualisiert jedoch ein Client seine Namens- und IP-Adressinformationen. Wenn sich diese neuen Informationen auf einem dieser Server befinden, erhält der andere Server sie über einen Zonentransfer.
Zonenübertragungen replizieren Änderungen an DNS-Informationen zwischen zwei oder mehr DNS-Servern. Diese Änderungen sind in der Regel relativ klein, es kann jedoch vorkommen, dass größere Übertragungen der gesamten Zone erforderlich sind. Für diese umfangreichen Übertragungen ist die Verwendung von TCP erforderlich. Die Zuverlässigkeit von TCP ist auch für diese Transfers entscheidend, daher ist es wichtig, die Zonen auf dem neuesten Stand zu halten.
Abfragegrößen können die Verwendung von TCP erzwingen
UDP hat eine weitere Einschränkung, die sich auf die Verwendung mit DNS auswirkt: Es ist auf 512 Byte begrenzt. Dies ist für die meisten Anfragen oder Antworten kein Problem, aber einige können diese Grenze überschreiten. In diesen Fällen verwendet DNS TCP für die Kommunikation.
Verschiedene moderne Technologien benötigen ebenfalls TCP. Beispiele sind
Achten Sie darauf, dass die Nutzung von TCP-Port 53 zunimmt
Angesichts der Vorteile beider Protokolle ist es verständlich, dass die Netzwerkdokumentation bei der Arbeit mit DNS sowohl 53/TCP- als auch 53/UDP-Management erfordert. Standardabfragen basieren auf UDP-Kommunikation, während Zonenübertragungen oder komplexere Abfragen TCP verwenden. Daher müssen Paketfilter und Firewalls so konfiguriert werden, dass sie den Datenverkehr über beide Protokolle zulassen, um die volle DNS-Funktionalität zu gewährleisten.
Beachten Sie jedoch, dass TCP-Port 53 immer häufiger für die Übermittlung von Anfragen und Antworten zur Namensauflösung verwendet wird, da Sicherheitsmaßnahmen wie DNSSEC und DNS über TLS immer beliebter werden.