El Sistema de Dominio de Nombres (DNS) es básicamente una base de datos distribuida de computadoras que forman parte de una red y actúan en base a jerarquías. Esto facilita el control local de la totalidad de segmentos de la base de datos, lo que permite, que cada segmento esté disponible a través de la red por un esquema de cliente-servidor (client server).
Aunque Internet sólo funciona en base a direcciones IP, el DNS permite que nosotros como usuarios utilicemos nombres de dominio que son bastante más simples de recordar que las IP´s. El DNS está definido por las RFC´s 1034 y 1035 . (RFC´s = Request For Comments Son una serie de documentos se detalla prácticamente todo lo relacionado con la tecnología de la que se sirve Internet: protocolos, recomendaciones, comunicaciones, etc. ).
El Servidor de Nombres (name server) es un programa que forma la parte servidor del mecanismo cliente-servidor del DNS. Los Servidores de Nombres contienen información sobre un determinado segmento de la base de datos y la hace disponible para clientes (clients), denominados Resolver. Los Resolvers muchas veces consisten sólo en rutinas de librerías, que crean interrogaciones y las mandan a través de la red a un Servidor de Nombre.
Dominios
En la práctica, Internet está dividida en cientos de «niveles» a los que llamamos dominios, donde cada dominio abarca, en ocasiones varios host. Cada dominio es particionado en subdominios, y así sucesivamente. Lo podemos representar por medio de una gráfica, en la cual formamos un árbol, donde, cada dominio puede tener un host o muchos de ellos, aparte de los subdominios que se aprecian.
Fig. 1 Ejemplos de dominios y subdominios en Internet.
Para la descripción de dominios los podemos dividir de dos formas, los genéricos y los de países. Ejemplos de dominios genéricos tenemos: com (comerciales), edu (instituciones educativas), gov (referentes a entidades gubernamentales), int(organizaciones internacionales), mil (en US fuerzas militares), net (prestadores de servicios de redes) org (organizaciones no lucrativas). Por otra parte los dominios de países están especificados en la ISO 3166, y están compuestos por letras que forman el país de origen o sede de dicho dominio, por ejemplo en México, es mx.
El dominio de primer nivel ( TLD – Top Level Domain) para México consta de dos letras «MX», los dominios de segundo nivel constan de tres letras, que no permiten identificar el tipo de organización:
La estructura DNS permite identificar a las entidades o instituciones bajo un primer nivel geográfico, en nuestro caso México – MX, luego por un segundo nivel que identifica a las organizaciones por sus actividades, com, net, gob, edu y org. Los dominios de tercer nivel bajo «mx» son aquellos nombres de las instituciones, ejemplo organizacion.com.mx, bajo el cual son reconocidos en Internet, ejemplo:
Organización |
Dominio 3er Nivel |
Dominio 2do Nivel |
Dominio 1er Nivel |
Resultado |
Instituto Politécnico Nacional |
ipn |
edu |
mx |
ipn.edu.mx |
Caritas |
caritas |
org |
mx |
caritas.org.mx |
Secretaría de Hacienda y Crédito Público |
shcp |
gob |
mx |
shcp.gob.mx |
Fig. 2 Ejemplos de Dominios
Queda mencionar que un dominio puede contener tanto subdominios como hosts. Cada host en una red tiene un Nombre de Dominio que posee la información sobre el host, así como la dirección IP o como va el Routing de correo, etc. Un host también puede tener uno o más Aliases de Dominio de Nombre, que son simplemente un indicador de un nombre de dominio (el alias) para el nombre oficial (canonical domain name)
Para resolver nombres de dominio y direcciones IP y para poder ubicar hosts de redes lejanas. Como fue mencionado antes, es más fácil recordar nombres en vez de cifras. Sobre todo cuando se trata de una cantidad de direcciones tan inmensa como la Internet.
Las computadoras por otro lado trabajan perfectamente con cifras como la dirección IP. Lo que sucede cuando usted entra a la Internet colocando una dirección como p. Ej. http://www.gatitos.com, es que tu navegador dirige una petición (Request) al Servidor de Dominio de su proveedor y este intenta resolver el nombre de dominio con la IP correspondiente. En el caso que tu proveedor no está autorizado para esta zona, transmite la petición (Request, query) al servidor de dominio autorizado hasta llegar al dominio que se indicó.
Esto significa que cada servidor de dominio tiene la información completa de la zona para que esta autorizado y aparte tiene informaciones básicas sobre otras zonas. Cuando una petición (Request) se dirige a una zona que esta fuera de la zona autorizada, su servidor por lo menos sabe por donde buscar. Esto puede significar que la petición (Request) de una dirección tiene que pasar por varios Servidores de Dominio hasta que tengas contacto con el destino solicitado.
Aunque supieras la dirección IP del destino, es imprescindible consultar otros Servidores de Dominio si tu computadora no se encuentra en la misma zona. De este modo es fácil de imaginar porque el Sistema de Dominio de Nombre no puede consistir en una sola base de datos centralizada. Primero tardaría demasiado tiempo encontrar un servidor entre millones de otros y segundo habría una cola bastante larga en el caso de miles de peticiones simultáneas de todo el mundo. Adicionalmente no tendría sentido dirigirse a un servidor lejano para comunicar con un host de la misma zona.
Hasta ahora hablamos del mapeo de nombres a direcciones. Pero, que sucede si tu de repente tienes la dirección IP y deseas saber el nombre de este dominio. Para solventar este problema fue creado el dominio «in-addr.arpa».
Este dominio es llamado dominio inverso y la resolución de direcciones IPs a nombres de dominio se denomina mapeo reverso (reverse mapping o reverse lookup). El dominio de nombre inverso es creado poniendo las cifras de la IP del orden contrario y añadiendo in-addr.arpa al final.
Un ejemplo: Vamos a ponerle a gatitos.com la IP «149.176.12.7» con el nombre de dominio «gatitos.com».
El dominio «gatitos.com» entonces tendrá el nombre de dominio inverso: «12.176.149.in-addr.arpa»
Fig. 3 Mapeo Inverso
Resource Records:
La mayoría de los componentes de estos archivos se llaman DNS resource records. Según las Referencias de DNS los resource records tienen el orden siguiente:
Tipo |
Significado |
Valor |
SOA | Start of Authority | Parámetros para esta zona |
A | Dirección IP de un host | 32 bits |
MX | Mail Exchange | Dominio para correo |
NS | Name Server | Nombre de un servidor para este dominio |
Cname | Canonical Name | Nombre del dominio |
PTR | Pointer | Alias para una dirección IP |
HINFO | Host Description | CPU y SO en ASCII |
TXT | Texto | Información de Texto |
Fig. 4 Tabla de Resource Records
Ahora veamos una breve descripción de ellos:
· SOA.- El primer resource record de cada archivo de base de datos es el SOA record (start of authority). El SOA record indica que este Servidor de Nombres es la mejor fuente de informaciones para los hosts dentro de este dominio.
· A.- A record (Address). Podemos decir que es la función record más importante, ya que esta constituye en sí, la dirección IP de cada host y está formada por 32 bits.. Cada host de Internet tiene una única dirección IP para que las demás maquinas se puedan conectar con ella.
· MX.- El segundo record más importante sería el MX record (Mail Exchance). Este nos va a especificar el nombre del dominio preparado para recibir correo electrónico.
· NS.- Este record nos especifica el nombre del servidor.
· Cname.- Cuando un Servidor de Nombre busca un nombre y encuentra un CNAME record correspondiente, reemplaza el nombre con el nombre de host de primera orden y sigue buscando el nuevo nombre. Digamos que es la aplicación que realiza una enrutación correcta hacia una dirección IP.
· PTR.- El resource record para este mapeo es el PTR (pointer = puntero, indicador) record. Existe un record para cada host de la red. En la práctica asocia un nombre con una dirección IP.
· HINFO.- Nos permite ver la descripción del equipo y el sistema operativo de un dominio.
· TXT.- Texto, nos permite identificar dominios.
Bibliografía:
Computer Networks Third Edition
Andrew S. Tanenbaun
Prentece Hall PTR
Para Información sobre RFC´s:
http://www.rau.edu.uy/rau/dom/docs.htm
Para información sobre ISO 3166
http://www.din.de/gremien/nas/nabd/iso3166ma
Bueno pues hasta aquí este pequeño artículo, espero y les sea de utilidad, cualquier duda o comentario al respecto:
José Manuel Garduño Martínez