Os únicos serviços que utilizam entradas SRV atualmente são SIP, LDAP, XMPP (jabber), Kerberos, NTP e alguns outros. Não são muitos.
A vantagem de ter entradas SRV no DNS é a simplificação de uma “alta-disponibilidade” via round-robin e também em passar o endereço dos serviços diretamente para a aplicação que irá utilizá-los.
A sintaxe para entradas SRV no Bind é:
_Serviço._Proto.Name TTL Classe SRV Prioridade Peso Porta Destino
Onde:
- Serviço: nome simbólico para o serviço
- Proto: protocolo do serviço; usualmente é TCP ou UDP.
- Name: o domínio para o qual a entrada é válida
- TTL: Time to live da entrada
- Classe: sempre é IN nesse caso
- Prioridade: a prioridade para o host de destino, valores menores significam maior preferência.
- Peso: um peso relativo à entrada com a mesma prioridade
- Porta: oa porta UDP ou TCP na qual o serviço será encontrado.
- Destino: é a entrada do DNS para o host que está provendo o serviço.
Uma entrada SRV no Bind se parece com a seguinte:
_sip._tcp.exemplo.com.br. 86400 IN SRV 0 5 5060 192.168.1.1
Aliases ou CNAMEs não podem ser usados como destinos válidos!
_sip._tcp.exemplo.com.br. 86400 IN SRV 10 60 5060 192.168.1.1 _sip._tcp.exemplo.com.br. 86400 IN SRV 10 20 5060 192.168.1.2 _sip._tcp.exemplo.com.br. 86400 IN SRV 10 10 5060 192.168.1.3 _sip._tcp.exemplo.com.br. 86400 IN SRV 10 10 5066 192.168.1.4 _sip._tcp.exemplo.com.br. 86400 IN SRV 20 0 5060 192.168.1.5
As quatro primeiras entradas compartilham uma prioridade 10, então o valor do campo “Peso” será usado pelos clientes para determinal qual servidor (host e porta) será contactado. A soma dos quatro valores é 100, então 192.168.1.1 será utilizado 60% do tempo. Os dois hosts 192.168.1.3 e 192.168.1.4 serão utilizados 20% das requisições para cada (10% do total das requisições) onde metade vai para 192.168.1.3 na porta 5060 e outra metade vai para 192.168.1.4 porta 5066.
Se o host 192.168.1.1 ficar indisponível, essas duas máquina sobressalentes irão compartilhar a carga igualmente.
Se todos os quatro servidores com prioridade 10 ficarem indisponíveis, a entrada para próximo valor da prioridade será escolhido, que é 192.168.1.5. Essa deve ser um máquina em outra localização física, presumivelmente não vulnerável e testada.
Deve ser notado que o balanceamento de carga para entradas SRV é limitada, uma vez que a informação é estática. A carga dos servidores em questão também não é levado em conta.
Exemplo para entrada http
_http._tcp.www.fogonacaixadagua.com.br. IN SRV 5 50 80 www.fogonacaixadagua.com.br. _http._tcp.www.fogonacaixadagua.com.br. IN SRV 5 50 80 www2.fogonacaixadagua.com.br. _http._tcp.www.fogonacaixadagua.com.br. IN SRV 10 100 8080 www3.virtualxp.org.
Exemplo para entrada NTP
_ntp._udp IN SRV 5 100 123 192.168.1.42 _ntp._udp IN SRV 10 100 123 192.168.1.15

3 comments
Join the conversationJuliano D. Carniel - 11/09/2009
Muito interessante =)
Thanks!
demorou para por num blog seu conhecimento!
Jorge Caetano - 17/11/2011
Muito bom.
Está de parabéns!
filipe_monitoramento - 17/02/2012
olá amigo, muito boa a sua dica.
parabéns!