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.comwird also in 60 % der Fälle verwendet. Die beiden Hosts smallbox1und smallbox2werden für insgesamt 40 % der Anfragen verwendet, wobei die eine Hälfte an smallbox1und 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 :

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

Verweise

Externe Links