2009-06-15 6 views
5

Diese Frage zeigt eher ein mangelndes Verständnis der Netzwerkprinzipien meinerseits als ein Programmierproblem.Dns.GetHostEntry gibt mehrere IP-Adressen zurück

Ich mache ein Lookup auf einem Hostnamen

Dns.GetHostEntry 

Dies gibt ein IPHostEntry mich mit, die eine Address Eigenschaft hat, die eine Reihe von IP-Adresse ist.

Ich dachte immer, es gibt eine 1 zu 1 Zuordnung zwischen Hostname und IP, aber ich finde, dass ich in einigen Fällen mehrere IPAddress (es) für den gleichen Host zurück.

Das ist eine Überraschung für mich.

Welchen Teil der Domain-Namensauflösung verstehe ich nicht?

Antwort

7

Jedes System kann mehrere Netzwerkschnittstellen und Internetadressen haben, jedoch nur einen Namen haben. Die Vorwärtszuordnung von Name zu Adresse gibt alle Adressen zurück, die einem bestimmten Namen zugeordnet sind. Wir haben dies mit unseren Dateiservern so gemacht, dass Hosts beim Zugriff auf Dateien und beim Verteilen der Last auf die verschiedenen NICs keine Netzwerkgrenzen überschreiten müssen. Die Dateiserver würden in jedem unserer verschiedenen Subnetze untergebracht sein und mehrere Schnittstellenkarten mit jeweils einer anderen Subnetzadresse, aber demselben Namen haben. Die DNS-Server auf dem Campus sind noch so eingerichtet. Darüber hinaus verfügen Sie möglicherweise über einen Namen, der mehr als nur einem System zugeordnet ist, wodurch ein gewisser Lastausgleich über DNS möglich ist.

+1

Das System kann mit mehreren Namen erreicht werden - nur eine Frage der DNS-Einträge. Sie haben jedoch Recht, dass normalerweise die Maschine selbst einen einzigen Namen hat, was aber nicht unbedingt etwas mit DNS zu tun hat. –

2

Eine Möglichkeit:
Ein Name auf mehr als eine Adresse auflösen kann, dies manchmal für round robin verwendet wird es ist eine schwache Art und Weise der Belastung Ihrer Server ausgleicht.

1

Soweit ich weiß, ist es möglich, mehrere IP-Adressen für einen Hostnamen zuzulassen, um eine hohe Verfügbarkeit zu ermöglichen. Das heißt: Wenn eine Maschine ausfällt, wird eine andere verwendet.

2

Sie können mehrere Adressen von mehreren Netzwerkadaptern oder mehreren Protokollen haben. Oft haben Sie IPV4 und IPV6 Adresse für den gleichen Host.

8

Die Zuordnung zwischen physikalischen Netzwerkschnittstellen, DNS-Namen und IP-Adressen ist praktisch beliebig. Man sollte jedoch zwischen Netzwerkschnittstellen (typischerweise Ethernet-Adapter, WLAN-Adapter, Bluetooth-Netzwerkgeräte usw.) und der DNS-Seite von Dingen unterscheiden, die nur mit Namen und IP-Adressen (nicht physikalischen Schnittstellen) handelt.

Hier sind einige Fakten, die Sie mischen und anpassen können:

  • eine einzige Netzwerkkarte 1 oder viele IP-Adressen haben.
  • Ein einzelner DNS-Name kann in 1 oder viele IP-Adressen aufgelöst werden.
  • eine einzige IP-Adresse (und in der Regel wird) identifizieren Anbieter eine einzelne Maschine
  • mulitple DNS-Namen auf eine einzelne IP-Adresse zugeordnet werden kann

Betrachten Hosting: Sie viele DNS-Namen der Zeige haben gleich - shared - server. Dieser Server könnte aus Gründen der Zuverlässigkeit mit mehreren Netzwerkkarten mit jeweils mehreren IP-Adressen ausgestattet sein.

Für PCs erhalten Sie in der Regel mehr als eine IP-Adresse, wenn Sie nach Hostnamen abfragen, da Sie heutzutage in der Regel mindestens zwei (wifi und ethernet) Adapter mit ihrer individuellen (meist einzelnen) IP-Adresse haben. In Load-Balancing-Szenarien können jedoch alle möglichen cleveren Zuordnungen und Umleitungen (virtuelle IP-Adressen und Ähnliches) auftreten.

Sowohl DNS- als auch IP-Protokolle sind sehr flexibel, was natürlich nicht unbedingt einfacher zu verstehen ist.

Verwandte Themen