SRV záznam

Z Multimediaexpo.cz

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 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.

Obsah

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éná 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žbanachá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žsí 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 vaham 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ě, taž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žsí čí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:

Související články

Externí odkazy