2.6. Resolución de nombres de puesto

Como se describió anteriormente, las direcciones en una red TCP/IP, al menos en IP Version 4, giran alrededor de números de 32 bits. De modo que, tendrá que sufrir recordando más que unos pocos números de este tipo. Aunque los puestos se reconocen generalmente por nombres “ordinarios” tales como gauss o strange. Esto se convierte en el cometido de una aplicación que encuentra la dirección IP correspondiente a un nombre. A este proceso se le denomina resolución de nombres de puesto.

Cuando una aplicación necesita encontrar la dirección IP de un puesto dado, ésta delega en las funciones de biblioteca gethostbyname(3) y gethostbyaddr(3). Tradicionalmente, estos y otros procedimientos relacionados están agrupados en una biblioteca separada denominada en GNU/Linux resolverlibrary, estas funciones son parte de la libc estándar. Coloquialmente, nos referimos por tanto a este conjunto de funciones como “el sistema de resolución”. La configuración del sistema de resolución de nombre se detalla en Capítulo 6.

En una red pequeña como una Ethernet o incluso un grupo de Ethernets, no es muy difícil mantener tablas de asignación de nombres de puesto a direcciones. Esta información la mantiene normalmente un fichero llamado /etc/hosts. Cuando se añaden o se eliminan puestos, o se reasignan direcciones, lo único que se debe hacer es actualizar el fichero hosts en todos los puestos. Obviamente, esto puede resultar arduo en redes que cuenten con más de un puñado de equipos.

Una solución a este problema es el Network Information System (NIS), desarrollado por Sun Microsystems, coloquialmente llamado YP o Yellow Pages. NIS almacena el fichero hosts (y otra información) en una base de datos en un puesto principal de donde los puestos cliente pueden obtenerla según se necesite. Sin embargo, esta aproximación es adecuada sólo para redes de tamaño medio tales como LANs, ya que esto implica mantener centralmente la base de datos hosts al completo y distribuirla a los servidores. La instalación y la configuración del NIS se discute en detalle en Capítulo 13.

En Internet, la información de direcciones también fue inicialmente almacenada en una base de datos simple HOSTS.TXT. Este fichero se mantenía en el Network Information Center (NIC), y tenía que ser descargado e instalado por todos los sitios participantes. Cuando la red creció, surgieron varios problemas con el esquema. Además del gasto administrativo que suponía la instalación regular de HOSTS.TXT, la carga de los servidores que distribuía llegó a ser demasiedo grande. Más grave aún, todos los nombres tenían que estar registrado en el NIC, lo que aseguraría que ningún nombre se distribuyese dos veces.

Esta es la razón por la que se aprobó un nuevo esquema de resolución de nombres en 1994: el Domain Name System. DNS fue diseñado por Paul Mockapetris y aborda los dos problemas a la vez. El Domain Name System se discute en detalle en Capítulo 6.