SRV record (SRV záznam nebo také Service record) je jedna z kategorií dat v Internetovém systému domén upřesňující informace (jméno hostitele a číslo portu) o dostupných službách. Jeho definici lze nalézt v RFC 2782. Nové internetové protokoly jako například SIP a XMPP často vyžadují podporu SRV od klientů. Implementace klientů starších protokolů (např. LDAP, SMTP) může podporu SRV záznamů přidat.

Formát záznamu SRV záznam obsahuje následující informace: Služba: symbolický název požadované služby. Protokol: obvykle TCP nebo UDP. Doménové jméno: doména, na kterou se záznam vztahuje. TTL: standardní DNS time to live field. Class: standardní DNS class field (toto je vždy IN). Priorita: priorita cílového hostitele. Váha: relativní váha pro záznamy stejnou prioritou. Port: TCP nebo UDP port, na kterém se služba nachází. Cíl: hostname stroje poskytujícího službu.

Příklad SRV záznamu může vypadat takto:

_sip._tcp.example.com. 86400 IN SRV 0 5 5060 sipserver.example.com.

Toto ukazuje na server jménem sipserver.example.com poslouchající na portu 5060 pro připojení pro SIP protokol . Priorita je zde 0, a váha 5.

Rozdělování zátěže pomocí SRV Priorita je podobná jako priorita MX záznamu. Klienti vždy použijí SRV záznam s nejnižší prioritou a záznamy s jinou prioritou použijí pouze, když se spojení s hostitelem nezdaří. Takto může mít služba určený „fallback“ server, který bude použit jen pokud hlavní server selže. K tomu je potřeba pouze další SRV záznam s vyšší prioritou než má primární SRV záznam.

Pokud má služba více záznamů se stejnou prioritou, klienti použijí váhu, aby určily, kterého hostitele použít. Váha je relevantní pouze ve vztahu k ostatním váhám pro službu a pouze mezi záznamy se stejnou prioritou.

V následujícím příkladě hodnoty priorita a váha zajišťují rozdělení zátěže a odkaz na záložní službu.

_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 10 5060 smallbox2.example.com. _sip._tcp.example.com. 86400 IN SRV 10 10 5066 smallbox2.example.com. ;různé instance, mohou mít nastaven rozdílný port _sip._tcp.example.com. 86400 IN SRV 20 0 5060 backupbox.example.com.

První čtyři záznamy sdílejí prioritu 10, takže klienti použijí váhu k rozhodnutí ke kterému hostiteli se připojit. Součet všech čtyř hodnot je 100, takže bigbox.example.com bude použit v 60% dotazů. Ostatní dva, smallbox1 a smallbox2, budou použity ve 20% dotazů, přičemž smallbox2 má zátěž rozloženu do dvou instancí a každá z nich bude použita v 10% dotazů. Pokud bude bigbox nedostupný, zbylí dva hostitelé si rozdělí zátěž rovnoměrně, takže každý z nich bude využíván v 50% dotazů.

Pokud všechny tři hostitelé s prioritou 10 budou nedostupní, použije se záznam s nejvyšší (nejnižší číslo) prioritou, což je backupbox.example.com. Ten by se měl nacházet jinde než ostatní tři a měl by být odolný vůči zavadám, které by mohly vyřadit předcházející tři stroje (například napojen na jiný elektrický okruh, připojen k síti jinou cestou…).

Mělo by být zmíněno, že rozdělování zátěže poskytované je značně limitováno, protože poskytované informace jsou statické. Aktuální zátěž serverů není brána v úvahu.

Použití SRV záznamy jsou často používány klienty Microsoft Windows 2000 k nalezení serveru, který poskytuje požadovanou službu. Například při pokusu o přihlášení klienta do domény je hledán SRV záznam pro službu LDAP. Typická odpověď serveru je následující:

_ldap._tcp.dc._msdcs.example.com 600 IN SRV 0 100 389 dc.example.com.

SRV záznamy jsou běžně používány ve spojení s následujícími standardizovanými protokoly:

XMPP SIP LDAP

Podpora Podpora v obecně rozšířených aplikacích. Mozilla Firefox bug existuje již od roku 1999, nepodporuje. Chromium/Chrome bug od 2009, nepodporuje.

Související články LOC záznam MX záznam

Externí odkazy RFC 2782 – definice SRV záznamu Men & Mice's DNS Glossary - SRV Record Rick van Rein's articles on SRV resource records Comprehensive list of defined SRV service types VPF SRV Registry – VoIP Peering using SRV records

Kategorie:Domain Name System