2009-06-15 17 views
5

Questa domanda probabilmente evidenzia una mancanza di comprensione dei principi di rete da parte mia, piuttosto che un problema di programmazione.Dns.GetHostEntry restituisce più indirizzi IP

sto facendo una ricerca su un host utilizzando

Dns.GetHostEntry 

Ciò restituisce un IPHostEntry a me, che ha una proprietà AddressList, che è un array di IPAddress.

Ho sempre pensato che esistesse una mappatura 1 a 1 tra hostname e IP, ma sto riscontrando che in alcuni casi ottengo diversi IPAddress per lo stesso host.

Questa è una sorpresa per me.

Quale parte della risoluzione del nome di dominio non riesco a capire?

risposta

7

Qualsiasi sistema può avere più interfacce di rete e indirizzi Internet, ma ha solo un nome. La mappatura in avanti da nome a indirizzo restituirà tutti gli indirizzi associati a un nome particolare. Lo facevamo con i nostri file server in modo che gli host non dovessero attraversare un confine di rete quando accedono ai file e diffondono il carico attraverso le varie NIC. I file server verrebbero pubblicati su ciascuna delle nostre varie subnet, con più schede di interfaccia, ognuna con un indirizzo di sottorete diverso, ma con lo stesso nome. I server DNS nel campus sono ancora impostati in questo modo. Inoltre, potresti avere un nome che si associa a più di un sistema, fornendo un certo livello di bilanciamento del carico tramite DNS.

+1

Il sistema può essere raggiunto con più nomi, solo una questione di voci DNS. Hai ragione, tuttavia, che di solito la macchina stessa ha un solo nome, ma che non ha necessariamente nulla a che fare con il DNS. –

2

Una possibilità:
Un nome può risolvere a più di un indirizzo, questo è talvolta usato per round robin è un modo debole di bilanciamento del carico dei server.

1

Per quanto ne so è possibile consentire più indirizzi IP per un hostname per consentire l'alta disponibilità. Cioè: quando una macchina non funziona, ne verrà usata un'altra.

2

È possibile avere più indirizzi da più schede di rete o più protocolli. Spesso avrete l'indirizzo IPV4 e IPV6 per lo stesso host.

8

Le mappature tra le interfacce di rete fisica, i nomi DNS e gli indirizzi IP sono praticamente arbitrarie. Tuttavia è necessario distinguere tra le interfacce di rete (in genere adattatori Ethernet, adattatori Wifi, dispositivi di rete Bluetooth ecc.) E il lato DNS delle cose, che riguarda solo nomi e indirizzi IP (non interfacce fisiche).

Qui ci sono alcuni fatti che si possono combinare:

  • una singola scheda di rete può avere 1 o più indirizzi IP.
  • un singolo nome DNS può essere risolto in 1 o più indirizzi IP.
  • un singolo indirizzo IP può (e di solito) identificare una singola macchina
  • nomi DNS mulitple possono essere mappati a un singolo indirizzo IP

consideri hosting provider: Avranno molti nomi DNS che puntano al stesso - condiviso - server. Quel server potrebbe essere dotato, per ragioni di affidabilità, di più schede di rete, ognuna con diversi indirizzi IP.

Per PC si ottiene solitamente più di un indirizzo IP se si esegue una query in base al nome host, poiché al giorno d'oggi si dispone di almeno due adattatori (wifi ed ethernet) con il proprio indirizzo IP (per lo più singolo). Negli scenari di bilanciamento del carico, tuttavia, possono verificarsi tutti i tipi di associazioni e reindirizzamenti intelligenti (indirizzi IP virtuali e simili).

Entrambi i protocolli DNS e IP sono molto flessibili, tuttavia questo non li rende necessariamente più comprensibili.

Problemi correlati