¿Qué es un registro SRV y para qué sirve?
Un registro SRV permite indicar qué servidor y qué puerto ofrecen un determinado servicio. Incluye información como prioridad, peso, puerto y nombre del servidor de destino.
¿Qué es un registro SRV?
Un registro SRV es una entrada DNS que describe dónde se encuentra un servicio concreto, indicando un servidor de destino y un puerto.
También puede establecer prioridad y peso cuando existen varios servidores capaces de proporcionar el mismo servicio.
SRV permite descubrir dónde funciona un servicio
A diferencia de A y AAAA, que relacionan un nombre con una dirección IP, SRV describe un servicio concreto e incorpora información adicional.
SRV identifica un servicio
Un registro SRV se utiliza para indicar dónde puede encontrarse un servicio específico asociado con un dominio.
El puerto forma parte de la información
Un servicio puede ejecutarse en un puerto determinado. SRV permite publicar ese puerto junto con el servidor que proporciona el servicio.
¿Cómo utiliza un cliente un registro SRV?
El cliente consulta DNS para conocer qué servidor y puerto debe utilizar para el servicio solicitado.
Se identifica qué servicio buscar
La aplicación necesita localizar un servicio específico asociado con un dominio.
DNS entrega los parámetros
La respuesta puede incluir prioridad, peso, puerto y servidor de destino.
El cliente utiliza el destino
La aplicación puede utilizar la información recibida para intentar conectarse al servicio.
¿Cómo se estructura un registro SRV?
Un registro SRV contiene varios valores que describen cómo localizar un servicio.
| Campo | Ejemplo | Función |
|---|---|---|
| Servicio | _sip | Identifica el servicio. |
| Protocolo | _tcp | Indica el protocolo utilizado. |
| Prioridad | 10 | Determina la preferencia entre destinos. |
| Peso | 20 | Permite distribuir tráfico entre destinos con la misma prioridad. |
| Puerto | 5060 | Puerto donde funciona el servicio. |
| Destino | sip.ejemplo.cl | Servidor que proporciona el servicio. |
Ejemplo de un registro SRV
Una representación simplificada puede verse así:
_sip._tcp.ejemplo.cl. SRV 10 20 5060 sip.ejemplo.cl.
En este ejemplo, el servicio es sip, utiliza TCP, tiene prioridad 10, peso 20, puerto 5060 y apunta al servidor sip.ejemplo.cl.
¿Cómo funciona la prioridad en SRV?
La prioridad permite establecer qué destinos deben preferirse cuando existen varios registros SRV para el mismo servicio.
| Servidor | Prioridad | Preferencia |
|---|---|---|
| srv1.ejemplo.cl | 10 | Mayor |
| srv2.ejemplo.cl | 20 | Menor |
¿Qué significa el peso de un registro SRV?
El peso permite distribuir las conexiones entre varios destinos que tienen la misma prioridad.
_service._tcp.ejemplo.cl. SRV 10 10 5000 srv1.ejemplo.cl.
_service._tcp.ejemplo.cl. SRV 10 20 5000 srv2.ejemplo.cl.
Ambos destinos tienen prioridad 10, por lo que el peso puede utilizarse para repartir las conexiones entre ellos.
El destino de SRV es un nombre de servidor
El último campo del registro SRV contiene el nombre del servidor que ofrece el servicio.
_servicio._tcp.ejemplo.cl. SRV 10 10 443 servidor.ejemplo.cl.
El cliente puede necesitar resolver posteriormente servidor.ejemplo.cl para obtener la dirección IP correspondiente.
¿En qué servicios se puede utilizar SRV?
SRV está diseñado para permitir el descubrimiento de servicios mediante DNS. Se ha utilizado en distintos protocolos y aplicaciones que necesitan localizar un servidor y un puerto.
Telefonía y comunicaciones
Algunos sistemas de comunicación pueden utilizar SRV para localizar servidores que proporcionan determinados servicios.
Aplicaciones de red
Las aplicaciones que conocen el formato SRV pueden consultar DNS para descubrir automáticamente dónde se encuentra un servicio.
Problemas comunes al configurar un registro SRV
Colocar un puerto incorrecto
Si el puerto publicado no corresponde al servicio real, el cliente puede intentar conectarse al destino equivocado.
Confundir prioridad con peso
La prioridad determina preferencia entre destinos, mientras que el peso puede utilizarse para distribuir conexiones entre destinos con la misma prioridad.
Utilizar un destino inexistente
El hostname indicado como destino debe poder resolverse correctamente cuando la aplicación necesite localizarlo.
Modificar el registro equivocado
El nombre de un SRV incluye el servicio y protocolo mediante etiquetas como _servicio._tcp o _servicio._udp.
SRV, A, AAAA y CNAME no cumplen la misma función
| Registro | Valor principal | Función |
|---|---|---|
| A | IPv4 | Relaciona un nombre con una dirección IPv4. |
| AAAA | IPv6 | Relaciona un nombre con una dirección IPv6. |
| CNAME | Nombre DNS | Crea un alias hacia otro nombre. |
| SRV | Servicio + puerto + destino | Permite localizar un servicio concreto. |
Más información sobre registros SRV
Puedes consultar nuestra guía sobre qué es un registro DNS para comprender cómo SRV se relaciona con los demás tipos de registros.
También puedes revisar la documentación técnica sobre los tipos de registros DNS: referencia de registros DNS .
Preguntas frecuentes sobre el registro SRV
Es un registro DNS que permite indicar qué servidor y qué puerto proporcionan un determinado servicio.
Sirve para localizar servicios concretos indicando su prioridad, peso, puerto y servidor de destino.
Contiene servicio, protocolo, prioridad, peso, puerto y nombre del servidor de destino.
Determina la preferencia entre distintos destinos que ofrecen el mismo servicio. Un valor menor representa una prioridad mayor.
El peso puede utilizarse para distribuir conexiones entre destinos que tienen la misma prioridad.
Sí. El registro SRV incluye explícitamente el puerto donde se encuentra disponible el servicio.
A relaciona un nombre con una dirección IPv4, mientras que SRV proporciona información sobre un servicio, incluyendo puerto y servidor de destino.
No. El destino de SRV es un nombre de servidor. Ese nombre puede necesitar una resolución DNS adicional para obtener su dirección IP.
Aprende qué es un registro PTR
Descubre cómo funciona PTR y cómo permite realizar consultas DNS inversas entre direcciones IP y nombres.
Ver registro PTR →