(DNS) Familia Familia de protocolos de Internet Funcin Resolucin de nombres de dominio Puertos 53/UDP, 53/TCP Ubicacin en la pila de protocolos Aplicacin DNS Transporte TCP o UDP Red IP (IPv4, IPv6) Estndares RFC 1034 (1987) RFC 1035 (1987) Domain Name System o DNS (en espaol: sistema de nombres de dominio) es un sistema de nomenclatura jerrquica para computadoras, servicios o cualquier recurso conectado a Internet o a una red privada. Este sistema asocia informacin variada con nombres de dominios asignado a cada uno de los participantes. Su funcin ms importante, es traducir (resolver) nombres inteligibles para las personas en identificadores binarios asociados con los equipos conectados a la red, esto con el propsito de poder localizar y direccionar estos equipos mundialmente. El servidor DNS utiliza una base de datos distribuida y jerrquica que almacena informacin asociada a nombres de dominio en redes como Internet. Aunque como base de datos el DNS es capaz de asociar diferentes tipos de informacin a cada nombre, los usos ms comunes son la asignacin de nombres de dominio a direcciones IP y la localizacin de los servidores de correo electrnico de cada dominio. La asignacin de nombres a direcciones IP es ciertamente la funcin ms conocida de los protocolos DNS. Por ejemplo, si la direccin IP del sitio FTP de prox.mx es 200.64.128.4, la mayora de la gente llega a este equipo especificando ftp.prox.mx y no la direccin IP. Adems de ser ms fcil de recordar, el nombre es ms fiable. La direccin numrica podra cambiar por muchas razones, sin que tenga que cambiar el nombre. Inicialmente, el DNS naci de la necesidad de recordar fcilmente los nombres de todos los servidores conectados a Internet. En un inicio, SRI (ahora SRI International) alojaba un archivo llamado HOSTS que contena todos los nombres de dominio conocidos. El crecimiento explosivo de la red caus que el sistema de nombres centralizado en el archivo hosts no resultara prctico y en 1983, Paul V. Mockapetris public los RFC 882 y RFC 883 definiendo lo que hoy en da ha evolucionado hacia el DNS moderno. (EstosRFCs han quedado obsoletos por la publicacin en 1987 de los RFCs 1034 y RFC 1035). ndice [ocultar] 1 Componentes 2 Entendiendo las partes de un nombre de dominio 3 DNS en el mundo real 4 Jerarqua DNS o 4.1 Tipos de servidores DNS 5 Tipos de resolucin de nombres de dominio o 5.1 Resolucin iterativa o 5.2 Resolucin recursiva 6 Tipos de registros DNS 7 Vase tambin 8 Referencias 9 Enlaces externos Componentes[editar] Para la operacin prctica del sistema DNS se utilizan tres componentes principales: Los Clientes fase 1: Un programa cliente DNS que se ejecuta en la computadora del usuario y que genera peticiones DNS de resolucin de nombres a un servidor DNS(Por ejemplo: Qu direccin IP corresponde a nombre.dominio?); Los Servidores DNS: Que contestan las peticiones de los clientes. Los servidores recursivos tienen la capacidad de reenviar la peticin a otro servidor si no disponen de la direccin solicitada. Y las Zonas de autoridad, porciones del espacio de nombres raros de dominio que almacenan los datos. Cada zona de autoridad abarca al menos un dominio y posiblemente sus subdominios, si estos ltimos no son delegados a otras zonas de autoridad. Entendiendo las partes de un nombre de dominio[editar] Un nombre de dominio usualmente consiste en dos o ms partes (tcnicamente etiquetas), separadas por puntos cuando se las escribe en forma de texto. Por ejemplo,www.example.com o es.wikipedia.org A la etiqueta ubicada ms a la derecha se le llama dominio de nivel superior (en ingls top level domain). Como com en www.ejemplo.com o org en es.wikipedia.org Cada etiqueta a la izquierda especifica una subdivisin o subdominio. Ntese que "subdominio" expresa dependencia relativa, no dependencia absoluta. En teora, esta subdivisin puede tener hasta 127 niveles, y cada etiqueta puede contener hasta 63 caracteres, pero restringidos a que la longitud total del nombre del dominio no exceda los 255 caracteres, aunque en la prctica los dominios son casi siempre mucho ms cortos. Finalmente, la parte ms a la izquierda del dominio suele expresar el nombre de la mquina (en ingls hostname). El resto del nombre de dominio simplemente especifica la manera de crear una ruta lgica a la informacin requerida. Por ejemplo, el dominio es.wikipedia.org tendra el nombre de la mquina "es", aunque en este caso no se refiere a una mquina fsica en particular. El DNS consiste en un conjunto jerrquico de servidores DNS. Cada dominio o subdominio tiene una o ms zonas de autoridad que publican la informacin acerca del dominio y los nombres de servicios de cualquier dominio incluido. La jerarqua de las zonas de autoridad coincide con la jerarqua de los dominios. Al inicio de esa jerarqua se encuentra los servidores raz: los servidores que responden cuando se busca resolver un dominio de primer y segundo nivel. DNS en el mundo real[editar] Los usuarios generalmente no se comunican directamente con el servidor DNS: la resolucin de nombres se hace de forma transparente por las aplicaciones del cliente (por ejemplo, navegadores, clientes de correo y otras aplicaciones que usan Internet). Al realizar una peticin que requiere una bsqueda de DNS, la peticin se enva al servidor DNS local del sistema operativo. El sistema operativo, antes de establecer alguna comunicacin, comprueba si la respuesta se encuentra en la memoria cach. En el caso de que no se encuentre, la peticin se enviar a uno o ms servidores DNS. La mayora de usuarios domsticos utilizan como servidor DNS el proporcionado por el proveedor de servicios de Internet. La direccin de estos servidores puede ser configurada de forma manual o automtica mediante DHCP. En otros casos, los administradores de red tienen configurados sus propios servidores DNS.
En cualquier caso, los servidores DNS que reciben la peticin, buscan en primer lugar si disponen de la respuesta en la memoria cach. Si es as, sirven la respuesta; en caso contrario, iniciaran la bsqueda de manera recursiva. Una vez encontrada la respuesta, el servidor DNS guardar el resultado en su memoria cach para futuros usos y devuelve el resultado. Es importante aadir que el protocolo DNS generalmente transporta las peticiones y respuestas por puerto UDP, puesto que al ser un protocolo que por su estructura y al tener menos niveles de seguridad es mucho ms rpido. Los motivos por el cual en ocasiones se usa el puerto TCP son cuando se necesitan transportar respuestas mayores de 512 bytes de longitud y cuando por razones de fiabilidad se necesitan conectar un servidor DNS secundario al primario para recoger una nueva base de datos con authoritative. Jerarqua DNS[editar]
El espacio de nombres de dominio tiene una estructura arborescente. Las hojas y los nodos del rbol se utilizan como etiquetas de los medios. Un nombre de dominio completo de un objeto consiste en la concatenacin de todas las etiquetas de un camino. Las etiquetas son cadenas alfanumricas (con '-' como nico smbolo permitido), deben contar con al menos un carcter y un mximo de 63 caracteres de longitud, y deber comenzar con una letra (y no con '-') (ver la RFC 1035, seccin "2.3.1. Preferencia nombre de la sintaxis "). Las etiquetas individuales estn separadas por puntos. Un nombre de dominio termina con un punto (aunque este ltimo punto generalmente se omite, ya que es puramente formal). Un FQDN correcto (tambin llamado Fully Qualified Domain Name), es por ejemplo este: www.example.com. (Incluyendo el punto al final). Un nombre de dominio debe incluir todos los puntos y tiene una longitud mxima de 255 caracteres. Un nombre de dominio se escribe siempre de derecha a izquierda. El punto en el extremo derecho de un nombre de dominio separa la etiqueta de la raz de la jerarqua (en ingls, root). Este primer nivel es tambin conocido como dominio de nivel superior (TLD - Top Level Domain). Los objetos de un dominio DNS (por ejemplo, el nombre del equipo) se registran en un archivo de zona, ubicado en uno o ms servidores de nombres. Tipos de servidores DNS[editar] Primarios o maestros: Guardan los datos de un espacio de nombres en sus ficheros Secundarios o esclavos: Obtienen los datos de los servidores primarios a travs de una transferencia de zona. Locales o cach: Funcionan con el mismo software, pero no contienen la base de datos para la resolucin de nombres. Cuando se les realiza una consulta, estos a su vez consultan a los servidores DNS correspondientes, almacenando la respuesta en su base de datos para agilizar la repeticin de estas peticiones en el futuro continuo o libre. Tipos de resolucin de nombres de dominio[editar] Existen dos tipos de consultas que un cliente puede hacer a un servidor DNS, la iterativa y la recursiva. Resolucin iterativa[editar] Las resoluciones iterativas consisten en la respuesta completa que el servidor de nombres pueda dar. El servidor de nombres consulta sus datos locales (incluyendo su cach) buscando los datos solicitados. El servidor encargado de hacer la resolucin realiza iterativamente preguntas a los diferentes DNS de la jerarqua asociada al nombre que se desea resolver, hasta descender en ella hasta la mquina que contiene la zona autoritativa para el nombre que se desea resolver. Resolucin recursiva[editar] En las resoluciones recursivas, el servidor no tiene la informacin en sus datos locales, por lo que busca y se pone en contacto con un servidor DNS raz, y en caso de ser necesario repite el mismo proceso bsico (consultar a un servidor remoto y seguir a la siguiente referencia) hasta que obtiene la mejor respuesta a la pregunta. Cuando existe ms de un servidor autoritario para una zona, Bind utiliza el menor valor en la mtrica RTT (round-trip time) para seleccionar el servidor. El RTT es una medida para determinar cunto tarda un servidor en responder una consulta. El proceso de resolucin normal se da de la siguiente manera: 1. El servidor A recibe una consulta recursiva desde el cliente DNS. 2. El servidor A enva una consulta recursiva a B. 3. El servidor B refiere a A otro servidor de nombres, incluyendo a C. 4. El servidor A enva una consulta recursiva a C. 5. El servidor C refiere a A otro servidor de nombres, incluyendo a D. 6. El servidor A enva una consulta recursiva a D. 7. El servidor D responde. 8. El servidor A regresa la respuesta al resolver. 9. El resolver entrega la resolucin al programa que solicit la informacin.