2009-06-15 16 views
5

Esta pregunta probablemente resalta una falta de comprensión de los principios de red de mi parte, en lugar de un problema de programación.Dns.GetHostEntry devuelve varias direcciones IP

estoy haciendo una búsqueda en un nombre de host utilizando

Dns.GetHostEntry 

Esto devuelve un IPHostEntry a mí, que tiene una propiedad AddressList que es una matriz de Dirección IP.

Siempre pensé que había una correspondencia de 1 a 1 entre el nombre de host y la IP, pero estoy descubriendo que en algunos casos obtengo varias IPAddress (es) para el mismo host.

Esto es una sorpresa para mí.

¿Qué parte de la resolución de nombres de dominio no entiendo?

Respuesta

7

Cualquier sistema puede tener múltiples interfaces de red y direcciones de Internet, pero solo tiene un nombre. El mapeo directo de nombre a dirección devolverá todas las direcciones mapeadas a un nombre particular. Solíamos hacer esto con nuestros servidores de archivos para que los hosts no tuvieran que atravesar un límite de red al acceder a los archivos y distribuir la carga entre las distintas NIC. Los servidores de archivos estarían alojados en cada una de nuestras varias subredes, teniendo múltiples tarjetas de interfaz, cada una con una dirección de subred diferente, pero con el mismo nombre. Los servidores DNS en el campus todavía están configurados de esta manera. Además, puede tener un nombre que se asigna a más de un sistema, proporcionando cierto nivel de equilibrio de carga a través de DNS.

+1

Se puede llegar al sistema por varios nombres; solo se trata de entradas de DNS. Sin embargo, tiene razón en que normalmente la máquina tiene un solo nombre, pero eso no necesariamente tiene que ver con DNS. –

2

Una posibilidad:
Un nombre puede resolver a más de una dirección, esto se utiliza a veces para round robin es una forma débil de equilibrio de carga de los servidores.

1

Por lo que sé, es posible permitir múltiples direcciones IP para un nombre de host para permitir la alta disponibilidad. Es decir: cuando una máquina se cae, se usará otra.

2

Puede tener múltiples direcciones de múltiples adaptadores de red o múltiples protocolos. A menudo tendrá direcciones IPV4 e IPV6 para el mismo host.

8

Las asignaciones entre las interfaces de red físicas, los nombres DNS y las direcciones IP son prácticamente arbitrarias. Sin embargo, debe distinguir entre las interfaces de red (típicamente adaptadores Ethernet, adaptadores Wifi, dispositivos de red Bluetooth, etc.) y el lado DNS de las cosas, que solo trata con nombres y direcciones IP (no interfaces físicas).

Éstos son algunos datos que se pueden mezclar y combinar:

  • una sola tarjeta de red puede tener 1 o muchas direcciones IP.
  • un solo nombre DNS puede resolverse en 1 o varias direcciones IP.
  • una única dirección IP puede (y suele) identificar una sola máquina
  • nombres DNS haya numerosas se pueden asignar a una sola dirección IP

Considerar los proveedores de alojamiento: Tendrán muchos nombres DNS que señalan a la mismo - compartido - servidor. Ese servidor puede, por razones de confiabilidad, estar equipado con múltiples tarjetas de red, cada una con varias direcciones IP.

Para PC generalmente obtendrá más de una dirección IP si realiza una consulta por nombre de host, porque actualmente normalmente tiene al menos dos adaptadores (wifi y ethernet) con su dirección IP individual (la mayoría de las veces). En escenarios de equilibrio de carga, sin embargo, todo tipo de asignaciones y redirecciones inteligentes (direcciones IP virtuales y similares) pueden ocurrir.

Ambos protocolos de DNS e IP son muy flexibles, sin embargo esto, por supuesto, no necesariamente los hace más fáciles de entender.

Cuestiones relacionadas