RESTful WHOIS

    Acerca del WHOIS

    WHOIS es uno de los servicios mas históricos de los registros de Internet. Bajo este nombre se encuentran muchas cosas, pero cuando hablamos de WHOIS fundamentalmente pensamos en un servicio que permite consultar la base de datos del registro de Internet para obtener datos sobre distintos objetos.

     

    Los objetos del WHOIS de LACNIC incluyen entre otros:

    • Bloques IPv4 e IPv6
    • Números de sistemas autónomos
    • Puntos de contacto
    • Organizaciones

    La forma clásica de consultar el WHOIS es a través del protocolo definido en la RFC 3912 (previamente en las RFC 954 y RFC 812). Este protocolo prevee un esquema muy simple de pregunta / respuesta con la posibilidad de hacer redirecciones. Este último punto es de particular importancia porque no existe una base de datos única de registro, sino que cada uno de los RIRs (Registros regionales de Internet) opera la propia.

     

    Este WHOIS clásico adolece de varios problemas siendo los mas notables:

    1. No hay soporte para la internacionalización de caracteres ni para otros alfabetos
    2. Las respuestas son en texto plano sin estructura, lo que hace particularmente difícil el parsing o procesamiento automático de las mismas

    En busca de un mejor WHOIS

    La comunidad de Internet viene trabajando desde hace ya un tiempo en crear un sucesor al protocol WHOIS que solvente estos problemas.

     

    La aproximación al problema que viene ganando tracción es la del RESTful WHOIS. La técnica REST (Representational State Transfer) propone una manera de crear servicios web semánticos directamente sobre el protocolo HTTP 1.1, utilizando la señalización del mismo para el manejo de errores y entrega de resultados.

     

    El formato de una respuesta REST puede ser variado aunque los mas comunes son XML y JSON.

     

    Otros RIRs ([1], [2]) están también trabajando en sistemas similares.

     

    RESTful WHOIS en LACNIC Labs

    Restful WHOIS

     

    En LACNIC Labs venimos trabajando en un prototipo de RESTful WHOIS, el cual puede ser utilizado por quienes deseen. En la búsqueda por mejorar este servicio, implementamos la segunda versión siguiendo todos los lineamientos de los draft el grupo de trabajo WEIRDS con algunas mejoras como "rate limit" y redirección de consultas hacia los RIRs que tengan una implementación de RESTful WHOIS.

     

    Como novedad de esta nueva versión, se destaca la implementación de Rate Limit para las consultas al servicio. Por defecto, se estipularon los siguientes limites:

    • 100 querys cada 5 minutos
    • 1000 querys cada 60 minutos

     

    Aun sigue siendo una aplicación beta, por lo que no hay garantías de disponibilidad ni de performance.

     

    Al final de este post se incluye un documento detallado sobre el uso del sistema, pero lo mas sencillo es verlo con algunos ejemplos:

    Las respuestas son entregadas en XML por defecto. Para obtener respuestas JSON debemos incluidir el header HTTP "Accept: application/json" en el pedido HTTP que hacemos al servidor.

     

    Esta última funcionalidad se puede probar utilizando wget de la siguiente manera:

     

    dariogomez$ wget --quiet --output-document=- --header "Accept: application/json" http://restfulwhoisv2.labs.lacnic.net/restfulwhois/entity/AIL/

     

    {"names":["Arturo Servin"],"roles":[""],"handle":"AIL","postalAddress":["Rambla Rep. Mexico 6125 []","Montevideo","UY","11600"],"emails":["ipadmin@LACNIC.NET"],"phones":{"office":["598 2 6042222 []"],"fax":[],"mobile":[]},"remarks":[],"registrationDate":"20080125","lastChangedDate":"20110512","lastChangedBy":null,"entities":[],"links":[{"value":"http://restfulwhoisv2.labs.lacnic.net/entity/AIL", "href":"http://restfulwhoisv2.labs.lacnic.net/entity/AIL","rel":"self"}]}

     

    El formato JSON es ideal para integrar con aplicaciones web que utilizan Ajax y librerias como JQuery / JQueryUI para crear interfaces de usuario dinámicas.

     

    Importante!: Es importante mencionar que la primera versión de nuestra implementación ha dejado de tener soporte, por lo que a partir del 01/02/2013 será dada de baja.

     

    Joint WHOIS

    Joint WHOIS es un esfuerzo desarrollado por los RIRs para que un usuario del sistema de WHOIS no tenga que consultar múltiples bases de datos hasta lograr una respuesta.

    El despliegue de JWHOIS siempre fue problemático por diversas razones y nunca llegó a cubrir todos los posibles recursos de numeración.

    La técnica REST permite implementar redirecciones muy fácilmente, como estamos documentando en este documento.

    Referencias

    [1] RESTful WHOIS ARIN

    [2] RESTful WHOIS RIPE NCC

     

    AttachmentSize
    draft-lacnic-weirds-restwhois-03.pdf225.48 KB
    draft-lacnic-weirds-restwhois-02.pdf95.75 KB
    draft-lacnic-weirds-restwhois-01.pdf75.49 KB
    draft-lacnic-restwhois-redirects-02.html42.5 KB

    Comments

    Not all ASs available from restful interface?

    Hi, I was happy to see JSON interface to LACNIC database, but can't find AS23416 form restwhois (http://restwhois.labs.lacnic.net/restfulwhois/autnum/23416). It is shown using http://lacnic.net/cgi-bin/lacnic/whois?lg=EN&query=AS23416 , though.

    Thank you for your feedback !

    We will look into the issue. Thanks!

    Comment viewing options

    Select your preferred way to display the comments and click "Save settings" to activate your changes.