¿Cómo sabe mi computadora la dirección IP de su propio nombre de host?

Además de DHCP, que maneja la distribución de direcciones IP, también hay DNS, que nos permite a los humanos perezosos recordar algo como Google, y no tener que preocuparnos por la dirección IP que es actualmente. En el caso de Google, es mucho, pero esa es una respuesta diferente a una pregunta diferente.

Por lo general, quien le emite su dirección DHCP también tiende a manejar DNS. Hay un sabor especial de DNS llamado DNS dinámico que se actualiza cada vez que obtiene una nueva dirección IP.

El DNS dinámico intenta resolver el problema de los usuarios con IP dinámicas que no pueden tener nombres “estáticos”.

La mayoría de las computadoras tienen una utilidad de línea de comandos que se llama nslookup. Si escribe nslookup davecomputer, podría volver con 10.22.218.137. Si escribe nslookup 10.22.218.137, podría volver con davecomputer. No incluyó un nombre de dominio, por lo que generalmente agregará su nombre de dominio predeterminado. Lo hace al comunicarse con sus servidores DNS, que generalmente se le envían en un ACK DHCP como la opción 6 de DHCP.

El nombre de dominio predeterminado se entrega como la opción 15 de DHCP en un mensaje ACK de DHCP.

Si no tiene un servidor DNS, nslookup fallará y su máquina utilizará un host local o un archivo lmhosts. Este archivo es más común en un entorno Linux / Unix, y cada registro en el archivo consta de un nombre de host y una dirección IP.

Hay tres formas de definir una dirección IP para un host:

1. Dirección estática asignada localmente. Usted define la dirección y la máscara de red que le ha asignado su administrador de red. Cuando la interfaz se activa, está preconfigurada con la dirección estática.

2. DHCP. Protocolo de configuración huésped dinámico. Cuando su máquina se conecta a la red, no tiene NINGUNA dirección IP asignada. El hardware tiene la dirección MAC (que está almacenada en el firmware / ROM en el adaptador de red).

Comienza enviando un paquete de descubrimiento DHCP (en la capa 2) con una dirección de destino de 255.255.255.255 para encontrar el servidor DHCP. Eso simplemente lleva la dirección MAC de la máquina solicitante. El servidor DHCP en la red está escuchando esos paquetes de descubrimiento y solicitud de DHCP y asignará una dirección IP de su conjunto de direcciones DHCP (la asignación podría ser la siguiente dirección disponible o podría repararse para una dirección MAC específica). Envía un paquete de oferta de DHCP (en la capa 2) con un destino de la dirección MAC. El paquete de oferta de DHCP (que incluye la dirección IP asignada, la puerta de enlace local, el servidor de nombres de dominio (además de algunos otros elementos opcionales)) es recibido y procesado por el software del cliente DHCP que se ejecuta en su host y se envía una solicitud de DHCP para confirmar la oferta. .

Finalmente, se envía un acuse de recibo de DHCP (o en circunstancias excepcionales un DHCP NAK) y terminamos. Si la solicitud obtiene un NAK, el software volvería a intentarlo (hasta que alcance un límite de tiempo de espera o reintento).

La dirección asignada tiene un tiempo de arrendamiento después del cual se puede reasignar o renovar. Si desconecta y vuelve a conectar antes de que expire el contrato de arrendamiento, la primera solicitud será un descubrimiento de DHCP, la segunda será una renovación de DHCP.

Si la máquina aún está conectada cuando vence el arrendamiento, se enviará una renovación de DHCP para extender el arrendamiento.

3. Dirección local de enlace. Algunos sistemas tienen un proceso para manejar la situación cuando no se puede encontrar un servidor DHCP o no responde. Asignarán aleatoriamente una dirección desde la subred 169.254.xxx.xxx/16 y luego verificarán que esa dirección sea única en el segmento LAN.

El archivo /etc/host.conf define la configuración del resolutor. Consulte “man host.conf”. El mío dice “ordenar hosts, vincular”. Eso significa que las primeras direcciones se buscan en / etc / hosts, luego en bind (DNS). Entonces, si hubiera una entrada “davecomputer” en / etc / hosts, se usaría. De lo contrario, el sistema recurre a una lista de solucionadores de DNS enumerados en /etc/resolv.conf. Es posible que tenga una línea de “dominio”, por ejemplo, si fuera “example.com”, el sistema enviaría una consulta DNS para un registro PTR para “davecomputer.example.com” al primer resolutor listado.
El nombre de host se define en la configuración de la red. El mío está estáticamente definido en / etc / sysconfig / network, pero a veces el nombre de host se define dinámicamente desde la dirección de red asignada, por lo que terminas con un nombre como 123-456-dyn.example.com.
Si escribe “host -a davecomputer” verá lo que usa su sistema.

en Linux debería ser 192.0.0.1. Se llama localhost