RDAP permite hacer consultas de manera estandarizada para facilitar su uso.
En un artículo previo se mencionó la facilidad que ofrece RDAP para localizar el servidor (de entre una lista de varios servidores RDAP) en donde se encuentra la información (Nombre de Dominio, Dirección IP, etc) que se busca. Es decir un “directorio de directorios”. Formalmente esto se conoce como “RDAP Bootstrap Service Registries” y se encuentra en la siguiente liga: http://data.iana.org/rdap/.
De acuerdo al tipo de objeto (Nombre de Dominio, Dirección IP, ASN, etc) que se quiera buscar, se puede utilizar el archivo correspondiente en los listados dentro del sitio. Cada archivo es el directorio en donde se pueden encontrar los servicios RDAP que anuncian los objetos (ASN, Nombres de Dominio, Direcciones IP).
- asn.json: para conocer en dónde buscar números de sistema autónomos (ASN por sus siglas en inglés). Este es un término utilizado por los operadores de red que gestionan direcciones IP, por lo tanto, la búsqueda será útil para alguien relacionado con dicho tema.
- dns.json: para conocer en dónde buscar objetos relacionados al sistema de nombres de dominio (DNS por sus siglas en inglés). Esta búsqueda incluye lo relacionado a nombres de dominios, en qué servidores están alojados, los contactos de dichos nombres de dominio o entidades que los administran; este tipo de búsquedas serán útiles para usuarios finales de internet.
- ipv4.json: para conocer en dónde buscar IPs versión 4. Similar a la búsqueda de ASNs, estas búsquedas serán útiles para personas relacionadas al tema de gestión de direcciones IP u operadores de redes.
- ipv6.json: para conocer en dónde buscar IPs versión 6. Aplica el mismo criterio que para aquellos que puedan usar el servicio de búsqueda de IPs versión 4.
Conforme RDAP sea adoptado por la comunidad de Internet, dejará de ser necesario consultar directamente este directorio para conocer a dónde ir a preguntar sobre cierto objeto; ya que podrán existir herramientas o buscadores que hagan esta búsqueda de forma automatizada para evitar esta “carga” al usuario.
Una vez que se sabe a dónde ir a preguntar la información de algún objeto, hay que saber cómo preguntarla. Un servidor de RDAP puede ofrecer varios servicios dependiendo de qué quiera o pueda ofrecer a aquellos que lo necesiten. Estos “servicios” se ofrecen en forma de URLs o direcciones del servidor. De acuerdo al protocolo RDAP, se pueden ofrecer los siguientes servicios de búsqueda:
- IP
- ASN
- Dominio(s)
- Servidor(es) de dominio(s)
- Entidad(es)
- Ayuda
A continuación, se detalla cada servicio mencionado y se muestran ejemplos de cómo se haría una consulta para cada servicio una vez que ya se conoce el servidor en donde se hará la búsqueda. Para cada consulta hay una respuesta por parte del servidor para mostrar los datos relacionados a la búsqueda, o bien, para indicar si ocurrió algún error. En un artículo posterior se mostrará la respuesta que debe contestar un servidor de RDAP a cada petición. Vale la pena destacar que en el caso de RDAP el formato de las consultas y las respuestas es estándar.
NOTA: El servidor example.com mostrado en las siguientes secciones es un ejemplo genérico. Los servidores reales pueden consultarse –como ya se mencionó- en los archivos ipv4.json, ipv6.json, asn.json y dns.json.
IP
Se utiliza para identificar redes de IPs y los datos asociados a estas, las redes pueden ser IP versión 4 o 6. Este tipo de búsqueda puede ser útil para operadores de red o proveedores de servicios de internet, ente otros. Suponiendo que el servidor de RDAP sea https://example.com/rdap y se quiera buscar información de la IP 192.0.2.0, se debe de realizar la petición de la siguiente manera:
https://example.com/rdap/ip/192.0.2.0
Tal como se ve en la liga de consulta, se concatena: la ruta “/ip” al servidor, seguida de una diagonal (“/”) y la IP que se desea buscar. Si se quisiera buscar información de una IP versión 6, se hace lo mismo, pero agregando al final la IP versión 6, tal como se muestra en el siguiente ejemplo:
https://example.com/rdap/ip/2001:db8::0
Adicionalmente, se puede buscar información de algún bloque de IPs. Para esto se utiliza el mismo formato de búsqueda de una IP y se añade al final una diagonal (“/”) y la longitud del bloque:
https://example.com/rdap/ip/192.0.2.0/24
ASN
Se utiliza para obtener información asociada a números de sistema autónomos (o ASN por sus siglas en inglés). Similar a la búsqueda de IPs, este tipo de búsqueda puede ser útil para operadores de red o proveedores de servicios de internet, entre otros.
Para realizar la búsqueda de un ASN se debe de concatenar a la dirección del servidor la ruta “/autnum”, seguida de una diagonal (“/”) y el número de sistema autónomo. Suponiendo que la dirección del servidor de RDAP es https://example.com/rdap, el ASN 100 se puede buscar de la siguiente manera:
https://example.com/rdap/autnum/100
Dominio(s)
Se utiliza para obtener información relacionada a un nombre de dominio o bien a un conjunto de nombres de dominio. Para el caso de la búsqueda de dominios, RDAP permite buscar un dominio individual, o bien, un conjunto de dominios que cumplan con un criterio de búsqueda.
Para realizar la búsqueda individual de un dominio se debe concatenar a la dirección del servidor la ruta “/domain”, seguida de una diagonal (“/”) y el nombre de dominio que se quiere buscar. Suponiendo que la dirección del servidor de RDAP sea https://example.com/rdap y se quiere buscar el dominio “example.com”, la consulta se puede hacer de la siguiente manera:
https://example.com/rdap/domain/example.com
Una de las ventajas de RDAP es el soporte a dominios internacionalizados (o IDN por sus siglas en inglés). Estos nombres de dominio son aquellos que tengan caracteres fuera del alfabeto inglés, como por ejemplo caracteres con acentos o diéresis, letras del alfabeto árabe o chino, etc. Si se quisiera buscar el dominio “fóo.example.com” se puede hacer de dos maneras: con su “U-label” o con su “A-label”.
El “U-label” hace referencia a los caracteres en “Unicode”, que se muestran en formato nativo. Por ejemplo, para la palabra “fóo” su U-label es la misma palabra “fóo” sin modificarla. Un “A-label” se refiere a la representación en ASCII (American Standard Code for Information Interchange), que es la representación de la palabra en caracteres americanos estándar. Para el mismo ejemplo, la palabra “fóo” se representaría como “xn--fo-5ja”. La manera de obtener esta representación es un tema aparte y que no se tocará en este artículo más que como referencia.
Tomando en cuenta el ejemplo anterior, si se quiere consultar el dominio “fóo.example.com” en el servidor de RDAP https://example.com/rdap, se puede hacer de dos maneras:
- Con U-label: https://example.com/rdap/domain/fóo.example.com
- Con A-label: https://example.com/rdap/domain/xn--fo-5ja.example.com
Servidor(es) de dominio(s)
Se utiliza para buscar la información de servidores de nombres de dominio a partir del nombre del servidor. Similar a la búsqueda de información de dominios, esta búsqueda se puede hacer por un servidor individual o por un conjunto de servidores que cumplan con un criterio de búsqueda.
Para realizar la búsqueda individual de un servidor (o host como se le conoce más comúnmente) se debe concatenar a la dirección del servidor de RDAP el texto “/nameserver”, una diagonal (“/”) y el nombre del servidor. Este tipo de búsqueda también puede hacerse utilizando “U-label” o “A-label” (su significado se explica en la sección de búsqueda de dominios).
Si se quisiera hacer la búsqueda por la información del host “ns1.example.com”, se puede hacer así:
https://example.com/rdap/nameserver/ns1.example.com
En caso que se quiera hacer la búsqueda por un conjunto de hosts, se pueden utilizar dos criterios de búsqueda:
- “name”: para buscar los hosts que tengan ese nombre.
- “ip”: para buscar los hosts relacionados a la IP
Vale la pena aclarar que en estas búsquedas también se pueden utilizar comodines. Si se quisiera encontrar la información relacionada a todos los hosts que estén bajo el dominio “example.com”, la búsqueda se puede hacer utilizando el servicio “/nameservers”:
https://example.com/rdap/nameservers?name=*.example.com
Si se quiere saber la información de todos los hosts que tengan la IP “192.0.2.0”:
https://example.com/rdap/nameservers?ip=192.0.2.0
Entidad(es)
Una entidad puede ser: organización, corporación, gobierno, persona o un grupo de personas. RDAP permite buscar la información relacionada a una entidad. Similar a la búsqueda de dominios y hosts, este tipo de búsqueda se puede hacer por entidad individual o bien por un conjunto de entidades que cumplan con los criterios de búsqueda.
Si se desea buscar la información de una entidad en específico, la búsqueda se puede hacer concatenando a la dirección del servidor de RDAP la ruta “/entity” seguida del caracter “/” y el identificador de la entidad (si se conoce). La URL de búsqueda sería:
https://example.com/rdap/entity/example-id
En caso que se quieran buscar información de entidades utilizando distintos criterios de búsqueda e incluso el comodín (“*”), se pueden utilizar dos parámetros:
- “fn”: para buscar las entidades que tengan el nombre indicado.
- “handle”: para buscar las entidades que tengan el ID
Si se quieren buscar las entidades que tengan en su nombre la palabra “Instituto”, se puede utilizar el servicio “/entities” con el parámetro “fn”:
https://example.com/rdap/entities?fn=Instituto*
En caso que se quieran buscar las entidades cuyo identificador comience con la palabra “ID”:
https://example.com/rdap/entities?handle=ID*
Ayuda
El servidor de RDAP puede ofrecer información de ayuda mediante el servicio “/help”, ya sea indicando políticas, términos de uso, aviso de privacidad, uso de comandos, servicios ofrecidos, entre otras cosas. Este servicio ayudará al usuario a conocer más sobre el servicio ofrecido por el servidor en cuestión. Este es el ejemplo para consultar el servicio de ayuda de un servidor de RDAP:
En el caso de las Divisiones de NIC México que tienen implementado un RDAP (caso de Akky y LAT), las ligas de Ayuda son las siguientes:
Conclusiones
Este es el segundo de 3 artículos, el primero se puede leer aquí. En esta segunda parte se mostraron las consultas que se pueden hacer a un servidor de RDAP y cómo se pueden hacer. Precisamente una de las ventajas de RDAP, es que estas consultas se pueden hacer de la misma manera en cualquier servidor de RDAP; si se desea buscar un dominio, por ejemplo, en cualquier servidor se deberá usar el servicio “/domain”.
En un artículo posterior a este, se presentarán las respuestas a cada petición en los distintos servicios de RDAP.
Referencias
Blanchet, M. “Finding the Authoritative Registration Data (RDAP) Service”. RFC 7484 – Finding the Authoritative Registration Data (RDAP) Service. Internet Engineering Task Force (IETF). Marzo 2015. Web. 11 junio 2018 <https://tools.ietf.org/html/rfc7484>
Newton, A. et al. “HTTP Usage in the Registration Data Access Protocol (RDAP)”. RFC 7480 – HTTP Usage in the Registration Data Access Protocol (RDAP). Internet Engineering Task Force (IETF). Marzo 2015. Web. 11 junio 2018 <https://tools.ietf.org/html/rfc7480>
Newton, A. et al. “Registration Data Access Protocol (RDAP) Query Format”. RFC 7482 – Registration Data Access Protocol (RDAP) Query Format. Internet Engineering Task Force (IETF). Marzo 2015. Web. 11 junio 2018 <https://tools.ietf.org/html/rfc7480>