In che modo un computer ottiene un indirizzo IP tramite DHCP?


27

Come fa il computer a sapere quale dispositivo sulla rete interrogare? In che modo il gateway predefinito tiene conto di ciò? Praticamente, qual è la catena di eventi che si verifica quando un computer tenta di ottenere un indirizzo IP tramite DHCP ?

Il motivo per cui lo chiedo è perché sto cercando di capire come impostare al meglio un server DHCP ridondante, nel caso in cui l'originale fallisca per qualsiasi motivo.

Risposte:


41

Non sa quale dispositivo interrogare. Quindi trasmette la sua richiesta all'intera sottorete. Il server DHCP è in ascolto di un determinato tipo di comunicazione e quando sente quella trasmissione specifica inizia la conversazione DHCP con il dispositivo che ha trasmesso la sua richiesta. Dai un'occhiata al processo DORA per ulteriori informazioni.

DORA significa:

Per quanto riguarda il gateway, può entrare in gioco solo se inoltra esplicitamente il traffico DHCP a un'altra sottorete. Tale funzionalità è in genere denominata inoltro DHCP . Altrimenti il ​​gateway ignora il messaggio DHCP broadcast proprio come ignora ogni altro messaggio broadcast.

Per quanto riguarda i server DHCP ridondanti, ti consigliamo di tenerli entrambi sulla stessa sottorete e probabilmente utilizzare la regola 80/20 . È possibile impostare il failover se si utilizza CentOS come server DHCP .


17
+1 DORA the dhcp explorer? Immagino che sarebbe più un DORA lo scopritore
Nixphoe,

3
@Nixphoe Me gusta.
Wesley,

Ecco una domanda, di solito c'è un indirizzo di trasmissione associato ad ogni sottorete, non sapendo nulla della rete in che modo la scheda di rete formula il messaggio in modo che il server DHCP (e tutti gli switch tra di loro) lo ottengano?
crasic

2
@crasic - giusto, in quel caso trasmette 255.255.255.255
Mark Henderson

1
@Mark D'oh, la maggior parte di questo è spiegata nel link nella risposta, la prossima volta dovrei RTFA
crasic

3

Il DHCP è (generalmente) un protocollo di trasmissione, quindi il client non ha bisogno di sapere nulla sulla rete, semplicemente trasmette una richiesta.

I server DHCP sulla rete quindi vedono quella richiesta e rispondono ad essa.

Naturalmente, è molto più complesso di quello, a causa del routing e di altri dispositivi di rete. La pagina di Wikipedia è una fonte eccellente .

E la RFC pertinente copre i dettagli.


3

Il motivo per cui lo chiedo è perché sto cercando di capire come impostare al meglio un server DHCP ridondante, nel caso in cui l'originale fallisca per qualsiasi motivo.

Innanzitutto, lodo il tuo interesse a saperne di più sul protocollo. Questo è un buon piano.

In secondo luogo, ti ringrazio per aver spiegato il tuo obiettivo; Penso che ti aiuterà a ottenere una buona risposta.

Infine, la mia risposta:

Per qualunque server DHCP si scelga di scegliere, esiste probabilmente una configurazione di failover / ridondanza che consente di impostare un server DHCP ridondante che può subentrare automaticamente (credo che Windows lo abbia, e so che il server DHCP dell'ISC può farlo). Sarebbe la mia prima scelta, poiché in genere risolve i problemi con i contratti di locazione rilasciati dal server DHCP primario prima del suo errore e perché si ripristina automaticamente e rapidamente.

La seconda scelta sarebbe quella di duplicare completamente la configurazione su un altro computer in modo da poter sollevare manualmente l'altro computer in caso di errore del primo. Questo non è ottimale perché perderai le informazioni sul contratto di locazione esistenti e a causa del downtime implicito tra il fallimento del primo server DHCP e quando si avvia la sostituzione.


Vedo il punto della regola 80/20 ... se il server 80 fallisce, allora c'è ancora il server 20 per fornire gli indirizzi IP. Ma ciò non fornisce alcun tipo di supporto per tempi di inattività prolungati, poiché alla fine tutti i clienti vorranno rinnovare il contratto di locazione, ma con solo il 20% dell'intervallo di indirizzi precedente disponibile. Mi piace il tuo suggerimento di ridondanza "reale", ma l'utilizzo di una seconda macchina Windows non sarebbe un'opzione nel mio scenario (il firewall hardware sarebbe l'altro server DHCP). Immagino di poter riconfigurare manualmente il server 20 in modo che diventi server 100? ;)
Bigbio2002,

2

Sono necessari diversi passaggi per ottenere un indirizzo IP da un server DHCP.

  1. Messaggio di rilevamento, questo messaggio viene trasmesso per cercare un server dchp

  2. I server DHCP nella rete rispondono con il messaggio di offerta.

  3. Il messaggio di richiesta DHCP viene inviato dal client trasmettendo..questo messaggio informerà tutti i server DHCP nella rete, quale offerta è stata accettata dal client.

  4. Il messaggio di conferma DHCP viene inviato per la conferma dal server.


1
Voto per semplicità. Sarebbe bello se potessi incorporarlo nella risposta accettata
Bigbio2002,

@ Bigbio2002 È la tua domanda. Puoi decidere quale risposta deve essere accettata.
Michael Hampton
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.