Dynamic Host Configuration Protocol

protocollo di configurazione IP dinamica
Versione del 17 nov 2004 alle 10:44 di Hce (discussione | contributi) (recuperata chiara definizione dei ruoli, funzionamento)

Il DHCP, acronimo dell'espressione inglese Dynamic Host Configuration Protocol (protocollo di configurazione dinamica degli indirizzi) è il protocollo usato per assegnare gli indirizzi IP alle macchine di una rete.

In una rete basata sul protocollo IP, ogni computer ha bisogno di un Indirizzo IP, scelto in modo tale che appartenga alla sottorete a cui è collegato e che sia univoco, ovvero che non esistano altri calcolatori che stiano già usando quell'indirizzo. Il compito di assegnare manualmente gli indirizzi IP ai calcolatori comporta un rilevante onere per gli amministratori di rete, soprattutto in reti di grandi dimensioni o in caso di numerosi computer che si connettono a rotazione solo ad ore o giorni determinati. Inoltre gli indirizzi IPv4 (attualmente usati nella quasi totalità delle reti al mondo) con l'aumentare dei computer connessi ad Internet hanno cominciato a scarseggiare, diminuendo la disponibilità di IP fissi.

Parametri gestiti da DHCP

Il protocollo DHCP viene usato anche per assegnare al computer altri parametri necessari per il suo corretto funzionamento sulla rete a cui è collegato. Tra i più comuni si possono citare:

  • Indirizzi dei server DNS
  • Nome di dominio DNS

componenti del protocollo

Il Client DCHP è un calcolatore che ha bisogno di ottenere un indirizzo IP valido per la sottorete a cui è collegato, e anche il programma che si occupa di richiedere l'indirizzo IP e configurarlo.

Il Server DCHP è il calcolatore che assegna gli indirizzi IP, e anche il processo che svolge questa funzione. Talvolta questa funzione è incorporata in un router.

Opzionalmente, il DHCP relay è il calcolatore (o più spesso una funzione implementata in un router) che si occupa di inoltrare le richieste DHCP ad un server, qualora questo non sia sulla stessa sottorete. Deve esistere almeno un DHCP relay per ciascuna sottorete

Richiesta e attribuzione dell'indirizzo

DHCP utilizza il protocollo UDP, le porte registrate sono la 67 per il server e la 68 per il client.

Quando un calcolatore vuole ottenere un indirizzo tramite DHCP, attiva il processo DHCP client. In questo momento, il calcolatore non ha un indirizzo IP valido, quindi non può usare tutte le funzionalità della rete.

Esso invia quindi un pacchetto chiamato DHCPDISCOVER in broadcast sulla sottorete, con indirizzo IP sorgente messo convenzionalmente a 0.0.0.0, e destinazione 255.255.255.255. Tutti i server DHCP attivi sulla sottorete ricevono direttamente questo pacchetto, e possono rispondere (o meno) on un pacchetto di DHCPOFFER, in cui propongono un indirizzo IP al client. Se sulla sottorete ci sono anche uno o più DHCP relay, questi inoltrano il pacchetto al loro server di riferimento, che può rispondere allo stesso modo attraverso il relay. Il relay agent informa il server della sottorete da cui ha ricevuto il pacchetto di DHCPDISCOVER, permettendo al server di offrire un indirizzo per la sottorete giusta.

Il client aspetta un certo tempo di ricevere una o più offerte, dopodiché ne seleziona una, ed invia un pacchetto di DHCPREQUEST al server che ha scelto. Questo gli conferma l'assegnazione dell'indirizzo con un pacchetto di DHCPACK.

A questo punto, il client è autorizzato ad usare quell'indirizzo per un tempo limitato, detto lease. Prima della scadenza, dovrà tentare di rinnovarlo inviando un nuovo pacchetto DHCPREQUEST al server, che gli risponderà con un DHCPACK se vuole prolungare l'assegnazione dell'indirizzo. Se il client non riesce a rinnovare l'indirizzo, tornerà allo stato iniziale cercando di farsene attribuire un altro.


Voci correlate

  • dhcpd - Internet Software Consortium DHCP Server
  • dhclient - Dynamic Host Configuration Protocol Client
  • BOOTP