Forum: PC Hard- und Software DNS und DHCP in verteilten Systemen


von Alex H. (Gast)


Lesenswert?

Hallo zusammen,

Ich habe eine etwas verzwickte Frage und konnte im Internet noch keine 
brauchbaren Aussagen finden.

Ausgangssituation:

Ich habe in einem Netzwerk(z.B. Heimnetzwerk) zwei Rechner, die 
miteineander kommunizieren (Rechner A und Rechner B). Auf dem Rechner B 
läuft ein Server (z.B. SQL-Server oder MQTT-Broker). Auf dem Rechner A 
läuft das Clientprogramm, das den Server permanent Anfragen zusendet.

Im Netzwerk gibt es einen DHCP-Server und einen DNS-Server. Der 
DHCP-Server vergiebt für einen gewissen Zeitraum(z.B. einen Tag) jeweils 
eine IP-Adresse an beide Rechner. Beide Rechner sind auch über den 
jeweiligen Hostnamen erreichbar (DNS-Server).

Der Client und der Server werden mit dem Hostnamen verbunden. Bei der 
ersten Verbindung zwischen Server und Client wird die IP-Adresse des 
jeweilige anderen im Cache abgelegt. Nun arbeiten Rechner A und B vor 
sich hin.

Nun zur Frage:

Was passiert, wenn der Server plötzlich eine andere IP-Adresse vom 
DHCP-Server erhält? Dann ist auch folglich der Cacheeintrag im Client 
nicht mehr Korrekt und somit die Verbindungsinformationen. Ändert der 
DNS-Server auch die gecacheten IP-Adressen(write-through Prinzip)? 
Versucht der Client in diesen Fall das selbst zu regeln? Wie ist der 
genaue Ablauf dafür?

Ich hoffe meine Frage ist deutlich geworden. Ich danke schon vielmals im 
vorraus für euchere Hilfe.

von Mario M. (thelonging)


Lesenswert?

https://de.m.wikipedia.org/wiki/DNS-Caching

DHCP ist meist nur im Client-Bereich üblich, bei Servern ist man mit 
einer festen IP besser dran.

: Bearbeitet durch User
von Hmmm (Gast)


Lesenswert?

Bei der Vergabe von Leases informiert der DHCP-Server den Nameserver.

Wie schnell der Client das mitbekommt, hängt von der TTL der DNS-Records 
ab, das ist Konfigurationssache.

Aber für Systeme, auf denen Serverprozesse laufen, würde ich immer feste 
IP-Adressen vergeben, jeder vernünftige DHCP-Server kann das.

von Alex H. (Gast)


Lesenswert?

Vielen Dank

von Alex H. (Gast)


Lesenswert?

Kann man also nicht den DNS-Server alle Client-Cache eintrage speichern 
lassen und diese bei einer Änderung einfach informieren? Es könnte ja 
sein, dass der Eintrag laut TTL noch gültig ist, aber die IP-Adresse 
schon eine andere ist.

von c-hater (Gast)


Lesenswert?

Alex H. schrieb:

> Nun zur Frage:
>
> Was passiert, wenn der Server plötzlich eine andere IP-Adresse vom
> DHCP-Server erhält? Dann ist auch folglich der Cacheeintrag im Client
> nicht mehr Korrekt und somit die Verbindungsinformationen. Ändert der
> DNS-Server auch die gecacheten IP-Adressen(write-through Prinzip)?

Natürlich nicht. Verbindungen brechen schlicht ab.

> Versucht der Client in diesen Fall das selbst zu regeln? Wie ist der
> genaue Ablauf dafür?

Beide Beteiligte müssen "was regeln". Der Server hat's aber leichter, 
denn der weiss, dass er eine neue Adresse bekommen hat. Er wird also 
alle offenen TCP-Verbindungen einfach wegwerfen und sich an die neue 
Adresse binden, um dort auf neue Verbindunganfragen zu lauschen.

Der Client hat's deutlich schwerer. Er muss erstmal überhaupt 
mitbekommen, dass seine Verbindung weg ist. Solange keine Kommunikation 
über diese Verbindung läuft, bekommt er es garnicht mit. Erst wenn er 
irgendwas zu senden versucht, bekommt er es "irgendwann" mit, nämlich 
durch Ablauf des Timeouts, der in dem Moment beginnt, wenn er was zu 
senden versucht.

Danach muss er dann noch die richtige Entscheidung fällen: eine neue 
Verbindung aufzubauen. Mit ein bissel Pech hat sein DNS-Cache noch die 
alte Adresse, dann bekommt er das durch einen fehlschlagenden 
Verbindungaufbau mit. Auch wieder durch einen Timeout, der in dem Moment 
startet, wenn er den Verbindungaufbau startet. Nun muss er wieder die 
richtige Entscheidung treffen, nämlich erneut einen Verbindungaufbau 
versuchen. Irgendwann ist der Eintrag alte Eintrag in seinem DNS-Cache 
wech' und dann wird's auch wieder klappen.

Ausdauer zählt...

von Hmmm (Gast)


Lesenswert?

Der Nameserver selbst hat immer die aktuellen RRs der Zonen, für die er 
authoritative ist, das hat nichts mit Caching fremder RRs zu tun.

Aber wenn ein Client einen eigenen Cache hat und die TTL noch nicht 
abgelaufen ist, findet gar keine Anfrage beim Nameserver statt.

von Gähn. (Gast)


Lesenswert?

Typisches Erste-Welt-Problem. Warum sollte einer der Clients eine neue 
IP bekommen? Ist es so schwer, sich einfach mal durchzulesen, wie DHCP 
funktioniert?

von Axel S. (a-za-z0-9)


Lesenswert?

Alex H. schrieb:
> Was passiert, wenn der Server plötzlich eine andere IP-Adresse vom
> DHCP-Server erhält?

Das tut er nicht. Noch bevor sein Lease abläuft, fragt der Rechner den 
DHCP-Server, ob er die derzeitige IP-Adresse behalten kann (DHCP 
Refresh). Im Normalfall bestätigt der DHCP-Server diese Adresse wieder.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.