Was ist ein DNS-SRV-Eintrag?

Der SRV-Eintrag wird für spezielle Dienste wie VOIP verwendet.

Lernziele

Nach Lektüre dieses Artikels können Sie Folgendes:

  • Den Zweck eines SRV-Eintrags verstehen.
  • Erfahren Sie, welche Informationen in einen SRV-Eintrag gehören
  • Ports verstehen

Link zum Artikel kopieren

Was ist ein DNS-SRV-Eintrag?

Der DNS „service“ (SRV)-Eintrag gibt einen Host und einen Port für bestimmte Dienste wie Voice over IP (VoIP), Instant Messaging usw. an. Die meisten anderen DNS-Einträge geben nur einen Server oder eine IP-Adresse an, aber SRV-Einträge enthalten auch einen Port an dieser IP-Adresse. Einige Internetprotokolle funktionieren nicht ohne SRV-Einträge.

Was ist ein Port?

In Netzwerken sind Ports virtuelle Orte, die festlegen, welche Prozesse innerhalb eines Computers für den Netzwerk-Traffic zuständig sind. Ports ermöglichen es Computern, leicht zwischen verschiedenen Arten von Daten-Traffic zu unterscheiden: VoIP-Streams gehen beispielsweise an einen anderen Port als E-Mail-Nachrichten, auch wenn beide den Computer über dieselbe Internetverbindung erreichen. Ähnlich wie IP-Adressen wird allen Ports eine Nummer zugewiesen.

Bestimmte Internetprotokolle wie IMAP, SIP und XMPP müssen nicht nur mit einem bestimmten Server, sondern auch mit einem bestimmten Port verbunden werden. Mit SRV-Einträgen kann ein Port im DNS angegeben werden.

Was gehört in einen SRV-Eintrag?

Ein SRV-Eintrag enthält die folgenden Informationen. Hier finden Sie Beispielwerte für jedes Feld.

Dienst XMPP
proto* TCP
name** example.com
TTL 86400
class IN
Typ SRV
Priorität 10
Gewichtung 5
Port 5223
Ziel server.example.com

*Kurzform für „Protokoll“, wie bei Transportprotokoll.
**Domainname.

SRV-Einträge sind jedoch tatsächlich so formatiert:

_service._proto.name. TTL-Klasse Eintragstyp Priorität Gewichtung Port Ziel.

Unser SRV-Beispieleintrag würde also wie folgt aussehen:

_xmpp._tcp.example.com. 86400 IN SRV 10 5 5223 server.example.com.

Im obigen Beispiel gibt „_xmpp“ die Art des Dienstes an – (das XMPP-Protokoll) und „_tcp“ das Transportprotokoll TCP, während „example.com“ der Host- bzw. der Domainname ist. „Server.example.com“ ist der Zielserver und „5223“ gibt den Port innerhalb dieses Servers an.

SRV-Einträge müssen auf einen A-Eintrag (in IPv4) oder einen AAAA-Eintrag (in IPv6) verweisen. Der aufgeführte Servername darf kein CNAME sein. So muss „server.example.com“ direkt zu einem A- oder AAAA-Eintrag unter diesem Namen führen.

Was ist der Unterschied zwischen Priorität und Gewichtung in SRV-Einträgen?

SRV-Einträge geben die „Priorität“ und „Gewichtung“ der verschiedenen Server an, die sie auflisten. Der Wert „priority“ in einem SRV-Eintrag ermöglicht es Administratoren, einen Server, der einen bestimmten Dienst unterstützt, gegenüber einem anderen zu priorisieren. Ein Server mit einem niedrigeren Prioritätswert erhält mehr Traffic als andere Server. Mit dem Wert „weight“ verhält es sich ähnlich: Ein Server mit einer höheren Gewichtung erhält mehr Daten-Traffic als andere Server mit der gleichen Priorität.

Der Hauptunterschied zwischen ihnen besteht darin, dass zuerst die Priorität betrachtet wird. Wenn es drei Server gibt, Server A, Server B und Server C, und diese jeweils eine Priorität von 10, 20 und 30 haben, dann spielt ihre „Gewichtung“ keine Rolle. Der Dienst wird immer zuerst Server A abfragen.

Aber nehmen wir an, Server A, B und C haben alle eine Priorität von 10 – wie wird ein Dienst zwischen ihnen wählen? Hier kommt die Gewichtung ins Spiel: Wenn Server A einen „weight“-Wert von 5 und Server B und C einen „weight“-Wert von 3 und 2 haben, erhält Server A den höchsten Traffic, Server B den zweithöchsten und Server C den dritthöchsten.