SRV-Eintrag - SRV record
Ein Service-Record ( SRV-Record ) ist eine Spezifikation von Daten im Domain Name System , die den Standort, dh den Hostnamen und die Portnummer, von Servern für bestimmte Dienste definieren. Es ist in RFC 2782 definiert und sein Typcode ist 33. Einige Internetprotokolle wie das Session Initiation Protocol (SIP) und das Extensible Messaging and Presence Protocol (XMPP) erfordern häufig SRV-Unterstützung durch Netzwerkelemente.
Aufnahmeformat
Ein SRV-Eintrag hat die Form:
_service._proto.name. ttl IN SRV priority weight port target.
- service : der symbolische Name des gewünschten Dienstes.
- proto : das Transportprotokoll des gewünschten Dienstes; dies ist normalerweise entweder TCP oder UDP .
- name : der Domainname, für den dieser Eintrag gültig ist und auf einen Punkt endet.
- ttl : Standard-DNS- Time-to-Live- Feld.
- IN : Standard-DNS-Klassenfeld (dies ist immer IN ).
- SRV : Art des Datensatzes (dies ist immer SRV ).
- Priorität : Die Priorität des Zielhosts, ein niedrigerer Wert bedeutet bevorzugter.
- Gewicht : Eine relative Gewichtung für Datensätze mit derselben Priorität, ein höherer Wert bedeutet eine höhere Chance, ausgewählt zu werden.
- port : der TCP- oder UDP-Port, auf dem der Dienst zu finden ist.
- target : der kanonische Hostname der Maschine, die den Dienst bereitstellt, endend mit einem Punkt.
Ein Beispiel für einen SRV-Eintrag in Textform, der in einer Zonendatei gefunden werden könnte, könnte der folgende sein:
_sip._tcp.example.com. 86400 IN SRV 0 5 5060 sipserver.example.com.
Dies verweist auf einen Server mit dem Namen sipserver.example.com
, der auf TCP-Port 5060 für Session Initiation Protocol (SIP)-Protokolldienste lauscht . Die hier angegebene Priorität ist 0 und die Gewichtung ist 5.
Wie in MX-Records muss das Ziel in SRV-Records auf den Hostnamen mit einem Adress-Record ( A- oder AAAA-Record ) zeigen. Das Verweisen auf einen Hostnamen mit einem CNAME-Eintrag ist keine gültige Konfiguration.
Bereitstellung für hohe Serviceverfügbarkeit
Das Prioritätsfeld bestimmt die Priorität der Verwendung der Daten des Datensatzes. Clients sollten zuerst die SRV-Datensätze mit dem niedrigsten Prioritätswert verwenden und auf Datensätze mit höherem Wert zurückgreifen, wenn die Verbindung fehlschlägt. Wenn ein Dienst über mehrere SRV-Datensätze mit demselben Prioritätswert verfügt, sollten Clients die Lasten proportional zu den Werten ihrer Gewichtungsfelder verteilen. Im folgenden Beispiel werden sowohl die Prioritäts- als auch die Gewichtungsfelder verwendet, um eine Kombination aus Lastausgleich und Sicherungsdienst bereitzustellen.
# _service._proto.name. TTL class SRV priority weight port target.
_sip._tcp.example.com. 86400 IN SRV 10 60 5060 bigbox.example.com.
_sip._tcp.example.com. 86400 IN SRV 10 20 5060 smallbox1.example.com.
_sip._tcp.example.com. 86400 IN SRV 10 20 5060 smallbox2.example.com.
_sip._tcp.example.com. 86400 IN SRV 20 0 5060 backupbox.example.com.
Die ersten drei Datensätze haben eine gemeinsame Priorität von 10, sodass der Wert des Gewichtungsfelds von den Clients verwendet wird, um zu bestimmen, welcher Server (Host- und Port-Kombination) kontaktiert werden soll. Die Summe aller drei Werte ist 100, bigbox.example.com
wird also in 60 % der Fälle verwendet. Die beiden Hosts smallbox1
und smallbox2
werden für insgesamt 40 % der Anfragen verwendet, wobei die eine Hälfte an smallbox1
und die andere an smallbox2 gesendet wird. Wenn bigbox nicht verfügbar ist, teilen sich diese beiden verbleibenden Maschinen die Last gleichmäßig, da sie jeweils zu 50 % ausgewählt werden.
Wenn alle drei Server mit Priorität 10 nicht verfügbar sind, wird der Datensatz mit dem nächstniedrigeren Prioritätswert ausgewählt, also backupbox.example.com
. Dies könnte eine Maschine an einem anderen physischen Standort sein, die vermutlich nicht anfällig für irgendetwas ist, was dazu führen würde, dass die ersten drei Hosts nicht verfügbar sind.
Der von SRV-Datensätzen bereitgestellte Lastausgleich ist von Natur aus begrenzt, da die Informationen im Wesentlichen statisch sind. Die aktuelle Auslastung der Server wird nicht berücksichtigt, es sei denn, die TTL-Werte sind niedrig genug (etwa eine Minute oder niedriger), damit die Prioritäts- (oder Gewichtungs-)Werte schnell aktualisiert werden können.
Verwendungszweck
SRV-Einträge sind in Verbindung mit den folgenden standardisierten Kommunikationsprotokollen üblich :
- GEEIGNET
- CalDAV und CardDAV
- Ceph
- DÄNE
- DNS-Diensterkennung (DNS-SD)
- Host-Identitätsprotokoll
- Kerberos
- LDAP
- SMTP- Übermittlung , POP und IMAP
- Matrix.org
- Minecraft
- Murmeln
- IMPS
- Marionette
- Gesprächs Protokoll
- BETÄUBEN
- Teamspeak 3
- XMPP
In Microsoft Windows 2000 fragen Clients nach SRV-Einträgen, um den Domänencontroller für einen bestimmten Dienst zu ermitteln. SRV-Einträge werden auch von Outlook 2007, 2010 und Macintosh 10.6 Mail verwendet, um den Exchange AutoErmittlungsdienst zu finden. In Microsoft Windows-Netzwerken registrieren Domänencontroller ihre Netzwerkdiensttypen für Active Directory im DNS.
Eine ältere Version des Internet Draft für OpenPGP Web Key Directory verwendet SRV-Einträge zum Auffinden von OpenPGP-Schlüsseln über Webserver. Verwendungen von SRV-Einträgen sind in späteren Versionen nicht mehr Teil des Internet Draft.
Ein Register von Dienstnamen für SRV-Einträge und -Protokolle wird von der Internet Assigned Numbers Authority (IANA) gemäß der Definition in RFC 6335 geführt.
Siehe auch
- Liste der DNS-Eintragstypen
- MX-Eintrag – ein DNS-RR-Typ, der zum Auffinden des SMTP-Servers verwendet wird
Verweise
Externe Links
- RFC 2782 – Definition des SRV-Ressourcendatensatzes – Archiviert am 6. Juli 2020 an der Wayback Machine
- RFC 6186 – Verwendung von SRV-Datensätzen zum Auffinden von E-Mail-Übermittlungs-/Zugriffsdiensten – archiviert am 6. Juli 2020 an der Wayback-Maschine
- Verwendung von DNS-SRV-Einträgen zum Auffinden von Whois-Servern (Internet-Draft) - Archiviert am 6. Juli 2020 auf der Wayback-Maschine
- Verwendung von SRV-Records in Verbindung mit HTTP und URIs (Internet-Draft) - Archiviert am 6. Juli 2020 an der Wayback Machine
- Service Name and Transport Protocol Port Number Registry – Archiviert am 6. Juli 2020 auf der Wayback Machine