| PrecedenteLDAP | Il protocollo DHCP | SeguenteSNMP |
DHCP significa Dynamic Host Configuration Protocol. Si tratta di un protocollo che permette ad un computer che si connette su una rete di ottenere in modo dinamico (cioè senza intervento particolare) la sua configurazione (principalmente, la sua configurazione di rete). Si deve solo specificare al computer di trovarsi un indirizzo IP da solo attraverso DHCP. Con lo scopo principale di semplificare l'amministrazione di una rete.
Il protocollo DHCP serve principalmente a distribuire degli indirizzi IP su una rete, ma è stato concepito inizialmente come complemento al protocollo BOOTP (Bootstrap Protocol) che è usato ad esempio quando si installa un terminale attraverso una rete (BOOTP è usato in stretta collaborazione con un server TFTP su quale il cliente trova i file da caricare e copiare sul disco rigido). Un server DHCP può rinviare dei parametri BOOTP o di configurazione propri ad un dato host.
In un primo tempo si ha bisogno di un server DHCP che distribuisce gli indirizzi IP. Questo terminale servirà da base per tutte le richieste DHCP, e anch'esso deve avere un indirizzo IP fisso. Su una rete, si può avere quindi solo un terminale con indirizzo IP fisso, il server DHCP.
Il meccanismo di base della comunicazione è BOOTP (con trama UDP). Quando un terminale viene acceso, non ha nessuna informazione sulla sua configurazione di rete, e soprattutto, l'utente non deve fare niente di particolare per trovare un indirizzo IP. Per fare questo, la tecnica usata è il broadcast : per trovare e dialogare con un server DHCP, il terminale emette semplicemente un pacchetto speciale di broadcast (broadcast su 255.255.255.255 con altre informazioni come il tipo di richiesta, le porte di connessione,...) sulla rete locale. Quando il server DHCP riceverà il pacchetto di broadcast, rinvierà automaticamente un altro pacchetto di broadcast (non dimenticate che il client non ha un obbligatoriamente il suo indirizzo IP e quindi non è raggiungibile direttamente) con tutte le informazioni richieste dal client.
Si potrebbe credere che un solo pacchetto possa bastare per il buon funzionamento del protocollo. In effetti, esistono più tipi di pacchetti DHCP suscettibili di essere emessi sia dal client per il o i server, sia dal server verso un client :
Il primo pacchetto emesso dal client è un pacchetto di tipo DHCPDISCOVER. Il server risponde con un pacchetto DHCPOFFER, in particolare per sottoporre un indirizzo IP al client. Il client stabilisce la propria configurazione, poi fa un DHCPREQUEST per validare il proprio indirizzo IP (richiesta in broadcast dato che DHCPOFFER non contiene il proprio indirizzo IP). Il server risponde semplicemente con un DHCPACK con l'indirizzo IP per conferma dell'attribuzione. Normalmente, ciò è sufficiente per far si che un client ottenga una configurazione di rete efficace, ma questa procedura può essere più o meno lunga a seconda se il client accetti o meno l'indirizzo IP...
Per delle ragioni di ottimizzazione delle risorse di rete, gli indirizzi IP sono rilasciati con una data di inizio e una data di fine della validità. E' quello che viene chiamato"contratto di affitto". Un client che vede arrivare il suo contratto al termine può richiedere al server una proroga del contratto di affitto attraverso un DHCPREQUEST. Allo stesso modo, quando il server vedrà un contratto di affitto al termine, emetterà un pacchetto DHCPNAK per chiedere al client se vuole prolungare il suo contratto. Se il server non riceve una risposta valida, rende disponibile l'indirizzo IP.
Tutta l'astuzia del DHCP sta nell'ottimizzare l'attribuzione degli indirizzi IP giocando sulla durata dei contratti di affitto. Il problema sta qui : se nessun indirizzo è liberato dopo un certo intervallo di tempo, nessuna richiesta DHCP potrà essere soddisfatta, provocando la mancanza di indirizzi da distribuire.
Su una rete dove molti computer si collegano e si scollegano spesso (rete scolastica o nei locali commerciali ad esempio), può essere interessante proporre dei contratti di affitto di breve durata. Al contrario, per una rete costituita in maggioranza da terminali fissi, raramente rebooted, basteranno dei contratti di affitto di lunga durata. Non dimenticate che il DHCP funziona principalmente in broadcast, e questo permette di bloccare della banda passante su piccole reti fortemente sollecitate.
E' stato l'Internet Software Consortium a sviluppare il server DHCP nel mondo dei software liberi. Il più usato è il server DHCP, ed è anche quello che "segue" al meglio le RFC. ATTENZIONE ! Un server DHCP non è per niente di facile sviluppo, e anche i server che propongono sono regolarmente patched e completati. L'ultima versione cronologica è la 3.0 ma è ancora in versione beta. Una delle principali innovazioni di questa versione è la possibilità di aggiornare un DNS in modo dinamico in funzione degli indirizzi IP forniti dai server DHCP. Per informazione, il primo draft sul DNS dinamico è datato marzo 1996…Ulteriori informazioni sull'aggiornamento del DNS dai server DHCP.
Microsoft ha ben integrato il proprio server DHCP per NT, ma quest'ultimo non implementa ancora l'aggiornamento dinamico del DNS.
La documentazione principale sul DHCP è costituita dagli inconturnabili RFC :
scritto da Sylvain Baudoin
Ultime modificazione ilvenerdì 6 febbraio 2009 alle 16:51:56.