Qué son los DNS y cómo funcionan

Qué son los DNS y cómo funcionan

Todos los equipos conectados a Internet disponen de una dirección, un número IP que los identifica. Por otro lado, para recordar mejor la dirección, en vez de números, se utilizan los nombres de dominio. El sistema que relaciona cada nombre de dominio con su número IP correspondiente se conoce como sistema de nombres de dominio o DNS. Lo nombres de dominio son un invento para que las personas podamos recordar mejor las direcciones y que nos resulte más cómodo el uso de los servicios de Internet. Veremos a continuación qué son los DNS y cómo funcionan.

En realidad, los equipos que forman Internet solo utilizan el sistema de direccionamiento IP. Por ejemplo, 216.58.210.163 es una dirección IP que le correspondo al dominio google.com. Si introducimos este número en un navegador, nos lleva al mismo sitio que si introducimos el nombre google.com. Cuando utilizamos un nombre de dominio, lo primero que hace Internet es averiguar el número IP que le corresponde a dicho nombre y, a partir de ese momento, sólo utiliza el número.

El sistema de nombres de dominios o DNS utiliza servidores, conocidos como servidores DNS, para guardar la relación de nombres junto con sus números IP correspondientes. Los programas de comunicaciones (el navegador Web, por ejemplo) se conectan a estos servidores para averiguar el número IP que le corresponde al nombre de dominio con el que pretende comunicarse.

Ejemplos de TLD o dominios de nivel alto
Ejemplos de TLD o dominios de nivel alto

Qué es un nombre de dominio

Un nombre de dominio es una forma particular de identificar a los números IP. La particularidad de los dominios es que están formados por caracteres alfanuméricos, lo que permite que las personas podamos utilizarlos con más comodidad que los números IP. Los nombres de dominios están formados por varias partes separadas por un punto. Cada una de estas partes recibe el nombre de subdominio. Al nombre de dominio completo, por ejemplo, www.carballar.com, se le conoce como nombre de dominio completamente cualificado (Fully Qualified Domain Name, FQDN).

El subdominio situado más a la derecha es el de carácter más general, y se conoce como dominio de nivel alto o TLD (top-level domain). Al TLD o dominio de primer nivel le sigue el dominio, también conocido como dominio de segundo nivel o SLD (second-level domain). A esto le pueden seguir una o más partes a la izquierda formando los dominios de tercer o más niveles.

Al subdominio más a la derecha del nombre de dominio se le conoce como host. Este subdominio identifica al servidor que atiende el servicio. Por ejemplo, se podría direccionar al servidor web (www.dominio.com), al servidor de correo electrónico (email.dominio.com) o al servidor de ftp (ftp.dominio.com). En cualquier caso, muchos administradores de servicios permiten acceder a su servidor web sin necesidad de escribir www. Si fuese necesario, el administrador del servicio puede incluir subdominios adicionales a la derecha del dominio (www.subdominio.dominio.com).

Partes de un nombre de dominio
Partes de un nombre de dominio

Salvo el TLD, el resto de los subdominios a la izquierda pueden ser elegidos libremente (bajo ciertas reglas) por los propios administradores del servicio para el que se va a utilizar el dominio. Un nombre de dominio completamente cualificado debe tener un máximo de 255 caracteres (bytes) y cada uno de sus subdominios no puede tener más de 63 caracteres (bytes). Aunque, en un principio, en los nombres de dominios no se podían utilizar letras acentuadas o con diéresis, desde 2004 ya es posible hacerlo.

El sistema de nombres de dominio fue creado por Paul Mockapetric en colaboración con Jon Postel de la Universidad del Sur de California en 1984 (RFC 921). A éstos se les unió posteriormente Paul Vixie. El primer dominio registrado .com fue symbolics.com, creado el 15 de marzo de 1985. Los dos siguientes fueron bbn.com (24 de abril de 1985) y think.com (24 de mayo de 1985).

En un principio, la gestión de los nombre y números de Internet los gestionaba la IANA, una organización dependiente del gobierno de Estados Unidos. En septiembre de 1998 se creó un organismo internacional para realizar estas labores: la ICANN, Corporación de Internet para la Asignación de Nombres y Números.

Ejemplos de dominios genéricos de nivel alto
Ejemplos de dominios genéricos de nivel alto

Qué es un dominio de nivel alto o TLD

El dominio de nivel alto o TLD es el subdominio situado más a la derecha del nombre de dominio. Es el .com, .es, .org, etc. El primer plan de direccionamiento se creó en 1984 y solo contemplaba los TLD genéricos (.com, .edu, .org, etc.). Con la proliferación internacional de Internet en 1985 se crearon TLD para cada país del mundo (.es, .mx, .ar, etc.). A partir de 1995 se empezó a pensar en la creación de nuevos dominios genéricos de nivel alto. Esto trajo consigo la elaboración de distintos estudios cuyos resultados han sido la creación de nuevos dominios genéricos en distintos años. Por último, en el año 2012 se abrió la opción de que hubiera dominios de nivel alto gestionados por empresas privadas. Ese año se crearon mil nuevos dominios de nivel alto.

Como hemos visto anteriormente, los nombres de dominios de Internet son gestionados por el organismo internacional ICANN. Este organismo tiene establecidas las siguientes categorías de dominios de nivel alto:

  • Dominios geográficos (ccTLD). También conocidos como dominios de código de país o ccTLD. Cada país del mundo gestiona su propio dominio y establece las limitaciones que estima oportunas. Los códigos de país tiene dos letras. Por ejemplo, .es (España), .fr (Francia) o .mx (México).
  • Dominios genéricos de propósito general. Gestionados directamente por la ICANN. Este es el caso de los dominios .com.net.org e .info, entre otros. Estos dominios los puede utilizar cualquier persona o entidad.
  • Dominios genéricos restringidos. Son gestionados también por la ICANN, pero para poder utilizarlos se deben cumplir determinados requisitos. Este es el caso de los dominios .biz.name y .pro, entre otros. Son de uso restringido y tienen limitada su utilización comercial. Por ejemplo, solo los profesionales acreditados pueden utilizar .pro.
  • Dominios genéricos patrocinados (sTLD). Son gestionados por entidades independientes de la ICANN para cumplir una determinada finalidad que es acordada con la ICANN. El patrocinador de este dominio debe pagar una cuota por la explotación del mismo. Este es el caso de .jobs, .travel, .museum, .gal o .cat. Estos últimos fueron creados para el fomento del idioma y la cultura gallega y catalana, respectivamente, y su uso está restringido exclusivamente a esta finalidad. Hay algunos dominios que hoy son patrocinados pero que surgieron como genéricos. Este es el caso de .edu, .gov, .int o .mil.
  • Dominios genéricos comerciales: Son gestionados por empresas privadas u organismos independientes de la ICANN. Están disponibles para cualquier uso. La entidad que explota cada dominio debe pagar una importante cantidad a ICANN. Este es el caso de .madrid, .futbol, .eus (Euskadi) o .taxi, entre otros muchos. Estos dominios no tienen restricciones de uso.

Aparte de los anteriores, existen también algunas excepciones, como el dominio .arpa usado exclusivamente para la infraestructura de Internet.

Ejemplos de dominios geográficos de nivel alto
Ejemplos de dominios geográficos de nivel alto

Qué es un DNS

En Internet se utilizan dos sistemas de identificación: los números IP, utilizado internamente por los equipos de enrutamiento y gestión de la red, y los nombres de dominio, utilizado por los usuarios. Pues bien, como los equipos de Internet internamente sólo utilizan los números IP, es necesario un sistema que realice la traducción de los nombres de dominios a los números IP. Todos los nombres de dominio cuentan con su número IP correspondiente. De hecho, un usuario puede utilizar indistintamente un nombre de dominio o su número IP.

Por ejemplo, al nombre de dominio www.google.com le corresponde el número IP 216.58.210.163. Por tanto, se obtiene el mismo resultado introduciendo en el navegador de Internet el dominio http://www.google.com que el número IP http://216.58.210.163. Si se tiene curiosidad, hay muchas páginas Web que permiten conocer los números IP que le corresponden a cada dominio y viceversa. Para los interesados, solo tenéis que hacer la búsqueda del término ‘host to IP’ o ‘IP to host’.

Para poder resolver el número que le corresponde a cada dominio existe un sistema de bases de datos conocido como DNS (Domain Name System, ‘Sistema de Nombres de Dominio’). Este sistema se basa en la existencia de servidores DNS, que contienen las bases de datos, y de clientes DNS, implementados en las aplicaciones de comunicaciones de los equipos de los usuarios. Para que dichas aplicaciones sepan dónde se encuentran los servidores DNS es necesario configurarles dos direcciones DNS. Se utilizan dos para evitar que el el fallo temporal de una de ellas deje al usuario sin servicio.

Las direcciones de los DNS se pueden introducir manualmente o se puede dejar que el servicio DHCP de asignación automática de direcciones IP se encargue también de asignar automáticamente estas direcciones de los servidores DNS.

La jerarquía DNS

Como nos podemos imaginar, el número de nombres de dominios de toda la red Internet es muy grande y el número de consultas a los servidores DNS es inmenso (millones cada minuto), por tanto, para poder manejar todo este volumen de tráfico, el sistema de nombres de dominio está constituido en base a una estructura jerárquica de servidores DNS. Cada una de las partes que componen un nombre de dominio se corresponde con un nivel jerárquico distinto.

Los DNS de mayor nivel se conocen como raíz (root), existiendo en la actualidad 14 DNS de este tipo (uno de ellos está en España). Dependiendo de éstos se encuentran los DNS que gestionan los dominios de nivel alto (los .es, .mx, .com, etc.), de los que, a su vez, dependen otros DNS que gestionan los dominios de segundo nivel (por ejemplo, carballar.com). En algunos casos, existen otros DNS de nivel inferior para resolver los números IP de dominios más específicos.

Al DNS de nivel jerárquico más bajo para cada dominio se le conoce como DNS autorizado (authoritative DNS) para ese dominio. El DNS autorizado contiene la información más actualizada de los dominios que gestiona. El resto de DNS de nivel superior se limitan a redirigir las consultas a los DNS autorizados. Por tanto, en principio, sólo los DNS autorizados pueden resolver los números IP de sus dominios sin que intervengan otros DNS.

Jerarquía de los servidores DNS
Jerarquía de los servidores DNS

No obstante, los servidores DNS suelen disponer de memorias caché con los dominios más consultados para evitar tener que realizar consultas constantes. Aunque estas memorias caché se actualizan constantemente, en un momento dado, podría darse el caso que el DNS responda con un número IP erróneo.

Por otro lado, para evitar que el fallo de un servidor pueda dejar sin servicio a la red, todos los servidores DNS deben contar con, al menos, un servidor secundario que lo pueda sustituir.

El proceso de consulta de un número IP

Lo normal es que un clientes DNS implementado en una aplicación le pregunte, le consulte, al servidor de DNS por el número IP que le correspondo a un nombre de dominio. Aunque esta suele ser la consulta más habitual, los DNS entre sí también se hacen otros tipos de consultas. En cualquier caso, cualquier tipo de consulta a un DNS se conoce como registro de recurso o RR (Resource Record). Los RR más habituales son:

  • Tipo A (Address). Dado un dominio, informar de su número IP correspondiente.
  • Tipo PTR (PoinTeR). Dado un número IP, indicar su dominio correspondiente.
  • Tipo MX (Mail eXchanger). Dado un dominio de correo, informar de su servidor correspondiente.
  • Tipo NS (Name Server). Dado un dominio, indicar el DNS correspondiente.

En consecuencia, cuando un usuario intenta acceder a una dirección de Internet (por ejemplo, google.com), su programa (por ejemplo, su programa navegador) le pregunta al servidor DNS que tiene configurado por el número IP correspondiente. Generalmente, este servidor DNS no sabrá la respuesta, pero sí tiene una lista con todos los DNS raíz, así que le pasará la pregunta al servidor raíz correspondiente.

Los servidores raíz no tienen los números IP de los nombres de dominios, sino la lista de los DNS que gestionan cada uno de los dominios de nivel alto. Por ejemplo, si se pregunta por el dominio www.google.com, el DNS raíz responderá con la lista de DNS que gestionan .com. De nuevo, el servidor DNS del cliente le pasará la pregunta a uno de estos DNS (generalmente al primero), quien le responderá con la lista de DNS que gestiona los dominios del siguiente nivel (google.com en el caso del ejemplo).

Proceso de consulta de un número IP
Proceso de consulta de un número IP

El DNS del cliente hará de nuevo la pregunta a este nuevo servidor para obtener finalmente la respuesta: el número IP de www.google.com es el 216.58.210.163. Para terminar le pasa esta respuesta a su cliente.

Como se ha podido ver, salvo que el propio servidor DNS del cliente contenga la respuesta en su caché, una consulta de número IP requiere varias consultas entre servidores DNS; no obstante, el tiempo total necesario para obtener la respuesta adecuada suele ser menor de 200 milisegundos.

Protocolos utilizados por los DNS

Como hemos visto anteriormente, la comunicación entre un cliente y un servidor DNS suele limitarse a realizar una consulta RR y obtener la respuesta correspondiente. Las consultas RR se realizan mediante una conexión UDP dirigida al puerto 53 del servidor. No obstante, si el nombre de dominio es lo suficientemente largo como para no caber en un paquete de 512 bytes de longitud, entonces se utilizará una conexión TCP sobre el mismo número de puerto.

Por su parte, los DNS entre sí tienen dos tipos de comunicación:

  • Consultas RR. Cuando un servidor DNS no puede resolver un dominio le pasa la pregunta a otro DNS más apropiado. Esta nueva consulta se realiza con un paquete UDP al puerto 53 del servidor de destino, o, si el nombre de dominio es muy largo, con una conexión TCP sobre el mismo número de puerto.
  • Transferencia de zona. Los servidores DNS están siempre duplicados para garantizar el servicio. Por otro lado, cuando se crea o se elimina un dominio es necesario que este hecho se ponga en conocimiento de todos los DNS afectados. Esto se realiza mediante comunicación automática entre DNS. Es lo que se conoce como transferencia de zona. Las transferencias de zonas se suelen realizar con una conexión TCP desde cada DNS secundario sobre el puerto 53 del DNS primario para descargarse una copia de la base de datos.

Cómo se registra un dominio

Como hemos visto, la ICANN es la responsable de la gestión de las direcciones IP, nombres de dominio y de cualquier parámetro necesario para el funcionamiento de la red Internet. No obstante, como esta labor es inmensa, la ICANN delega parte de sus responsabilidades en otros organismos públicos y privados.

Por ejemplo, para la gestión de los dominios geográficos (como .es, .mx o .ar) existen organizaciones nacionales conocidas como ‘Registros delegados‘. Estas funciones las realiza en España ES-NIC (www.nic.es, gestionada por Red.es), en México NIC-México (www.nic.mx) y en Argentina NIC-Argentina (www.nic.ar).

Independientemente del responsable último de cada dominio, el registro de un dominio se lleva a cabo en las empresas u organizaciones autorizadas al efecto y conocidas como agentes registradores de dominio (Registrar). Estas empresas gestionan la asignación de dominios de Internet a cambio de una cuota anual. Se puede decir que el dominio no se vende, sino que se alquila su uso por periodos anuales. Los precios varían desde unos pocos euros para los dominios de propósito general o los geográficos (por ejemplo, los .es cuestan menos de 10 euros al año), hasta cientos de euros que cuestan algunos de los dominios comerciales.

Aunque una búsqueda rápida en un buscador nos ofrecerá un extenso listado de agentes registradores, si tiene curiosidad, aquí puede consultar algunos:

El agente registrador comprueba que el dominio está disponible, solicita los datos personales del solicitante y envía toda esta información al NIC correspondiente. Tras el registro, toda la información referente a este dominio, incluido su número IP, se envía a la ICANN, quien lo incorpora al sistema de nombres de dominio para que esté disponible online.

Cuando se va a registrar un dominio con un agente registrador se tiene que tener en cuenta lo siguiente:

  • Que el dominio no esté asignado con anterioridad. Los propios agentes suelen disponer de un buscador para comprobar que el dominio está disponible.
  • Que el dominio no esté incluido en la lista de términos prohibidos. Suelen ser términos comunes de tecnologías o servicios existentes, como comercioelectronico, bluetooth, hosting, etc.
  • Que el dominio cumpla con las normas de sintaxis. Básicamente, que solo pueden utilizarse caracteres alfanuméricos, incluidos los acentuados y el guion.
  • Que no esté incluido en la lista de términos reservados. Se trata de los términos que pueden identificarse con cualquier organismo oficial, sea nacional o internacional.

Los agentes registradores permiten que se puedan registrar nombres de dominios que estén disponibles, esto es, que no estén ya registrados. No obstante, como sabemos, un buen nombre de dominio es clave para el éxito de un proyecto (lucrativo o no). Esto hace que determinados nombres de dominio sean muy atractivos y que haya quien esté dispuesto a pagar un buen dinero por ellos. Como podemos imaginar, existe un mercado de compra venta de dominios. Por tanto, si tiene en mente un nombre de dominio ideal para su proyecto y no está disponible, quizás esté a la venta. Existen empresas en Internet especializadas en la intermediación para la compra venta de dominios.

Más información

REF: FW-PG81

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *