Logo Informatizzati

DHCP

(Dynamic Host Configuration Protocol)

(Protocollo Dinamico di Configurazione degli Host)

Fonte: http://www.docenti.org/reti/windows/DHCP.htm

testo di: G. Conti



Indice

  1. Prerequisiti
  2. Descrizione generale
  3. Principio di funzionamento
  4. Vantaggi / Svantaggi  del protocollo DHCP
  5. Concetto di lease
  6. APIPA
  7. Installazione e Configurazione del protocollo DHCP
    1. Parametri comunicabili  da client a server
    2. Implementazioni
    3. Ambito di utilizzo
    4. Ambiti di validità
    5. Ridondanza
    6. Processo di rinnovo degli indirizzi IP
    7. Messaggi DHCP
    8. Estensione del protocollo BOOTP (Bootstrap Protocol)
  8. Glossario

1.    Prerequisiti

Per una comprensione efficace dell'argomento è necessario conoscere:

a. concetti di base sulle reti

b. concetti di IP e di sottorete

c. concetti di maschera di sottorete

d. concetto di MAC Address

e. conoscenza generale dell'architettura di rete basata su IP

f.  per le sezioni riguardanti servizi accessori, concetti di DNS, di URL e di risoluzione dei nomi

2.    Descrizione generale

Il DHCP è un protocollo di rete per l'assegnazione automatica di informazioni TCP/IP alle macchine client.

Durante la configurazione del client, l'amministratore può scegliere di utilizzare un server DHCP per non inserire manualmente in ogni client un IP statico e la maschera di rete (ed eventualmente il Gateway e/o i Server DNS).

Ciascun client DHCP si connette all'unico server DHCP, il quale restituisce la configurazione di rete includendo indirizzo IP assegnato e maschera (ed eventualmente altri parametri, quali Gateway e server DNS).

Il DHCP si rivela utile anche quando l'amministratore desidera cambiare l'indirizzo IP di un ampio numero di sistemi. Invece di riconfigurarli tutti, l'amministratore può modificare un solo settaggio sul server per il nuovo set di indirizzi IP.

Se i server DNS di un'organizzazione cambiano, le modifiche vengono applicate al server DHCP,  e da questo comunicate a tutti i client DHCP in modo automatico.

Le modifiche diventeranno effettive in breve tempo senza alcun intervento su ogni singola macchina (per i dettagli operativi si veda piu' avanti).

Inoltre, se si configura un laptop o qualsiasi altro tipo di computer portatile per utilizzare un server DHCP, è possibile spostarlo da un ufficio all'altro senza doverlo riconfigurare.

3.    Principio di funzionamento

Dopo aver stabilito quale classe (A – B – C) e quale tipo di indirizzo di rete (pubblico – privato) utilizzare, si deve decidere se implementare o meno le  sottoreti.
La sottorete è una suddivisione logica dei client che vengono raggruppati in base all'indirizzo IP ad essi assegnati.

Prima di installare un server DHCP bisogna disporre di alcuni elementi fondamentali:

  • Indirizzo IP statico univoco da assegnare al Server che fornisce il servizio DHCP.
  • Pool di indirizzi statici da assegnare staticamente e che non possono essere distribuiti dal servizio DHCP
  • Conoscere, se ci sono, gli altri DHCP server all'interno della retee confrontare i pool di indirizzi che gestiscono per evitare eventuali conflitti.

Una configurazione di rete tipica di una scuola può prevedere un centinaio di PC, vari Switch, alcuni Router e dei Server per la gestione dell'intera rete.

La configurazione iniziale della rete comporta l'assegnazione degli indirizzi IP e di altri parametri a ciascun client.

DHCP supporta tre meccanismi di allocazione degli indirizzi:

  • AUTOMATICO: Un client che si connette al server DHCP riceve un indirizzo disponibile che viene mantenuto a tempo indeterminato fino alla disconnessione del client o ad una richiesta di nuova assegnazione
  • MANUALE: Un client che si connette al server DHCP riceve sempre lo stesso indirizzo
  • DINAMICO: Un client che si connette al server DHCP riceve un indirizzo disponibile e lo mantiene per un tempo assegnato: l'indirizzo viene preso in lease (affitto) per un tempo determinato, fino a che il client non viene spento o riavviato e richiede una nuova assegnazione.
4.    Vantaggi e svantaggi del protocollo DHCP

Vantaggi

  • Possibilità di installare i computer in un qualsiasi punto rete senza doverne riconfigurare i parametri.
  • Richiede tempi molto più brevi per l'installazione di nuovi client
  • Richiede tempi di manutenzione lato client praticamente nulli in caso di modifica dei settaggi rete. Lo stesso dicasi per eventuali nuvo imnpostazioni aggiuntive, p.es. aggiugnere un 2' o 3' DNS: basta aggiugnerlo nel server e verrà mandato ai client.
  • E' già presente in quasi tutti i dispositivi di connessione Internet (router ISDN, router ADSL, access point wireless ..)
  • Può fornire altre informazioni ai client (DNS, WINS, LPR..)
Svantaggi
  • E' richiesto un hardware dedicato
  • Il server (o hardware dedicato) deve essere settato
  • I settaggi richiedono buone conoscenze tecniche lato server
  • Va prevista attentamente la possibilità di downtime del server DHCP
  • Va pianificato con cura il range di indirizzi assegnabili e riservati.
  • La diagnostica dei client è più complessa: non è più possibile p.es. “pingare” un client visto che a priori il suo (nuovo) indirizzo non è noto.
  • Non può essere utilizzato (lato client) su macchine che abbiano scopi particolari (server DNS, Application server, Web servers..).
5.    Concetto di lease

Gli indirizzi IP vengono concessi in lease (affitto) ai propri client dal server DHCP.
A ciascun lease corrisponde una data di scadenza: il client deve rinnovare il lease per continuare a utilizzare l'indirizzo.

Ogni client viene identificato e registrato nel database in base al MAC address che è stato utilizzato in fase di negoziazione.

I lease vengono conservati nel database del server DHCP.

In caso di rinnovo, il server tenta di riassegnare lo stesso indirizzo IP allo stesso client in base al Mac Address.

6.    APIPA (Automatic Private IP Addressing)


Automatic Private IP Addressing (APIPA)

APIPA è un meccanismo che permette di assegnare un indirizzo IP ad un client senza ricorrere né alla configurazione statica (manuale) né ad un server DHCP.

Quando un client ha necessità di un indirizzo IP in mancanza di indirizzo statico ed in assenza di server DHCP, il protocollo APIPA in funzione su ogni singolo client auto-assegna un indirizzo IP nel range 169.254.x.y con subnet mask 255.255.0.0.

Dopo la generazione dell'indirizzo il protocollo prevede la verifica di unicità dell'indirizzo generato tramite un broadcast.  Se nessun altro client ha tale indirizzo trasmesso in broadcast, quest'ultimo diventa effettivo

Il processo si ripete finché l'indirizzo assegnato è univoco.
Periodicamente (circa 5 minuti) il client ricerca la presenza di un server DHCP, in assenza del quale continuerà ad utilizzare l'indirizzo assegnato da APIPA.

Purtroppo APIPA è in grado di generare l'indirizzo IP e la subnet mask ma non ogni altro eventuale parametro (indirizzo del gateway, indirizzo dei DNS, indirizzo dei WINS ...) di cui il client dovesse aver bisogno. Dunque, gli host che hanno ricevuto un indirizzo tramite APIPA possono comunicare solo con host dello stesso segmento che abbiano ricevuto l'indirizzo IP nello stesso modo. Ciò per una precisa scelta dello standard: essendo per una rete locale non routabile, i soli parametri sono quelli sufficienti ad un funzionamento minimale locale.

7.    Installazione e Configurazione del protocollo DHCP

a.    Parametri comunicabili

Oltre all'indirizzo IP e alla maschera di sottorete, grazie alle “opzioni” un server DHCP può comunicare:

Data length

Descrizione

4

Subnet Mask.

4

Time Offset.

4+

Router.

4+

Time Server.

4+

Name Server.

4+

Domain Name Server.

4+

Log Server.

4+

Quote Server.

4+

LPR Server.

4+

Resource Location Server.

1+

Host Name.

1+

Domain Name.

1

Default IP Time-to-live.

4

ARP cache timeout.

1

Ethernet encapsulation.

1

Default TCP TTL

4

TCP keepalive interval.

1

TCP keepalive garbage.

1+

Network Information Service domain.

4+

Network Information Servers.

4+

NTP servers.

4+

NetBIOS over TCP/IP name server.

4+

NetBIOS over TCP/IP Datagram Distribution Server.

1

NetBIOS over TCP/IP Node Type.

1+

NetBIOS over TCP/IP Scope.

4+

X Window System Font Server.

4+

X Window System Display Manager.

4

Renew time value.

4

Rebinding time value.

1 to 255

NetWare/IP Domain Name.

 

NetWare/IP information.

4+

Simple Mail Transport Protocol Server.

4+

Post Office Protocol Server.

4+

Network News Transport Protocol Server.

4+

Default World Wide Web Server.

4+

Default Finger Server.

4+.

FQDN, Fully Qualified Domain Name.

Variable.

Fully Qualified Domain Name.

Variable.

LDAP, Lightweight Directory Access Protocol.

Variable.

NetInfo Parent Server Address.

Variable.

NetInfo Parent Server Tag.

Notiamo nella lista alcuni tipici settaggi che un server DHCP può comunicare:

  • Indirizzo del server DNS
  • Indirizzo del server LPR
  • Indirizzo del server NTP ( time server)
  • Nome del dominio
  • Parametri Netware ( protocollo IPX/SPX)
  • Indirizzo del Server LPDAP
b.    Implementazioni

Il protocollo DHCP è disponibile su varie piattaforme. Tralasciamo le implementazioni presenti nei vari dispositivi hardware quali router e access point.

Normalmente tali implementazioni girano su macchine server:
dedicate o su cui girano altri servizi.

Gli ambienti operativi principali sono:

Windows:
  • NT 4.0
  • 2000 Server
  • 2003 Server
è servizio, una opzione sui server, coesiste con altri servizi
Unix e Linux è un demone (dhcpd)
Mac OSX e BSD è un demone (dhcpd)

(in OSX client ci sono alcune "sfumature" diverse)

Nota: l'installazione di servizi  stile “Internet sharing” su macchine Windows 98, 2000 e XP, per condividere la connessione su più macchine, fa partire un servizio che si avvicina come funzionalità ad un server DHCP.
La macchina che condivide la connessione fornisce un indirizzo dinamico ai client.

Attenzione alla presenza di tali macchine su reti in cui è presente un server DHCP: potrebbe verificarsi un conflitto di indirizzi assegnati dal server DHCP e dal dispositivo che condivide l'accesso, provocando malfunzionamenti di difficile diagnostica.

c.    Ambito di utilizzo

Indipendentemente dal fatto che si utilizzi o meno il protocollo DHCP, alcuni indirizzi IP devono sempre rimanere statici.

Ad esempio, è necessario utilizzare un indirizzo IP statico per i computer che eseguono i protocolli DHCP, WINS e DNS; ed è consigliabile, inoltre, utilizzare un indirizzo IP statico per i DC (Domain Controllers).

Anche i server WEB devono avere indirizzamento statico, infatti tale indirizzo sarà pubblico e registrato nei DNS dei vari provider.

Qualora il server WEB sia dietro un firewall, l'indirizzo deve comunque essere fisso perché va impostato nelle tabelle di PAT / NAT del firewall.

Anche i server SMTP devono avere configurazione statiche perché i loro address devono andare nei record MX dei DNS.

Discorso analogo per server non Windows:
server Unix / Apple con servizi analoghi devono essere configurati staticamente.

E' molto probabile che anche un sever di SQL server e/o di MySql debbano essere configurati staticamente perché tali servizi sono solitamente utilizzabili da programmi che accedono ai dati via IP.

Ricapitolando, i seguenti server devono avere un indirizzo IP statico:

DNS server
DC
Web server
DHCP server
SQL server
SMTP server
Proxy server  

Per alcuni è imdispensabile, per altri è ALTAMENTE consigliato per motivi di efficienza globale.

Tutti gli altri client invece dovrebbero utilizzare indirizzi IP dinamici.

d.    Ambiti di validità

Una volta che si è deciso di implementare il DHCP, bisogna installare e configurare il server DHCP in modo che possa assegnare automaticamente l'indirizzo IP ai client.

Una volta installato il server DHCP si passa alla creazione di un ambito (o pool) di indirizzi che possono essere assegnati ai client.

L'ambito può comprendere gli indirizzi iniziale e finale del gruppo di indirizzi IP ed eventuali intervalli esclusi; tali esclusioni di solito si riferiscono ad indirizzi statici già assegnati ai client.

Un ambito di validità (scope) è semplicemente un intervallo di indirizzi IP o gruppo di indirizzi utilizzabili.

Lo strumento DHCP viene utilizzato per svolgere queste operazioni:

    • creare uno o più ambiti di validità DHCP per iniziare a fornire servizi DHCP
    •  definire le proprietà per l'ambito di validità, inclusa la durata della concessione   e gli intervalli di indirizzi IP da distribuire ai potenziali client DHCP nell'ambito di validità
    • definire i valori predefiniti per le opzioni (come Gateway predefinito, Server DNS o server WINS) da assegnare unitamente a un indirizzo IP
    • aggiungere eventuali opzioni personalizzate.
Ogni ambito di validità ha le proprietà che seguono:
  • una subnet mask univoca usata per determinare la sottorete correlata a un determinato indirizzo IP
  • un nome assegnato dall'amministratore al momento della creazione dell'ambito di validità
  • valori di durata della concessione da assegnare ai client DHCP con indirizzi dinamici.

Una volta creato un ambito, si possono definire le opzioni da applicare a tutti  i client DHCP che acquisiscono un indirizzo IP da tale ambito. Se i client di un server DHCP hanno più di un ambito di indirizzi, si possono configurare le opzioni globalmente oppure ambito per ambito.

Con lo strumento DHCP si può cambiare le proprietà di un ambito di validità esistente, oppure  eliminarlo quando non si ha più bisogno di una sottorete.
Se un indirizzo IP appartenente all'ambito di validità è ancora in concessione o in uso, bisogna prima disattivare l'ambito di validità fino a quando tutte le concessioni client non saranno scadute o tutte le richieste di prolungare le concessioni non saranno rifiutate.

 e.    Ridondanza

In una rete sarebbe preferibile installare almeno due DHCP in modo da poter fornire il servizio in caso di anomalia di uno dei due.
Nel suddetto caso bisognerà specificare due range di indirizzi diversi.

Per esempio:

SERVER

SCOPE

da

a

DHCP1

x.x.x.2

x.x.x.101

DHCP2

x.x.x.102

x.x.x.201

Client possibili: 100

f.      Processo di rinnovo degli indirizzi

IP Il rinnovo degli IP da parte del client avviene in tre tentativi, al termine dei quali l'IP precedentemente assegnato viene rilasciato e il client tenta di ottenere nuovamente un IP mandando un messaggio di broadcast di richiesta.

·   Primo tentativo:
il client DHCP tenta il rinnovo del valore lease dell'IP quando questo valore si riduce del 50%. Il client manda quindi un messaggio di richiesta al server.
Se il  server è disponibile al rinnovo, manda un messaggio di conferma con i nuovi parametri di configurazione. Se il client non riceve nessuna risposta continua ad usare il suo indirizzo per il tempo rimasto.

· Secondo tentativo:
se il primo tentativo fallisce, il client tenta di rinnovare la richiesta, subito dopo il 50% del valore di lease. Se il tentativo fallisce, il client continua ad utilizzare il suo indirizzo per il tempo rimasto.

·   Terzo tentativo:
viene eseguito al termine dell' 87% circa del valore di lease.
In questo caso il client contatta qualsiasi DHCP server disponibile.

 ·       Scadenza dell'IP:

Allo scadere dell'IP il client rilascia l'indirizzo ed esegue nuovamente una richiesta broadcast per un nuovo indirizzo, e fino a quando la configurazione non sarà nuovamente completata non sarà possibile utilizzare quell'interfaccia di rete.

g.    Messaggi DHCP

DHCPDISCOVER utilizzato dai client per richiedere i parametri di configurazione da un server DHCP
DHCPOFFER

utilizzato dai server per offrire indirizzi IP ai client che li

richiedono

DHCPREQUEST

utilizzato dai client per accettare o rinnovare l'assegnazione di un indirizzo IP

DHCPACK

utilizzato dai server per riconoscere l'accettazione da parte di un client di un indirizzo IP offerto

DHCPNACK utilizzato dai server per rifiutare l'accettazione da parte di un client un indirizzo IP offerto
DHCPDECLINE utilizzato dai client per terminare il lease di un indirizzo IP
DHCPINFORM utilizzato dai client per richiedere i parametri di configurazione TCP/IP da un server

 

 


h.   Processo di negoziazione
clicca qui

i.   Installazione del servizio DHCP sotto win2003 server clicca qui

l.    Estensione del protocollo BOOTP

Il protocollo BOOTP (Bootstrap Protocol – protocollo di avvio) è un protocollo di configurazione host studiato per la configurazione di workstation prive di disco con capacità di avvio limitate.
Fu sviluppato precedentemente al protocollo DHCP ed il suo funzionamento è il seguente:
I client contattano i server BOOTP per eseguire la determinazione dell'indirizzo e la selezione del nome del file di avvio.
Successivamente contattano i server TFTP (Trivial File Transfer Protocol) per eseguire il trasferimento dei file della relativa immagine d'avvio.
A differenza dei client BOOTP i client DHCP non richiedono il riavvio del sistema per effettuare il rebinding o il rinnovo della configurazione
poiché vengono impostati in stato di rebinding a intervalli prefissati per rinnovare l'allocazione degli indirizzi di lease con il server.
Questo processo si verifica in background e non è rilevabile dall'utente.

Sebbene entrambi i protocolli assegnino gli indirizzi IP durante l'avvio, vengono utilizzati metodi diversi di allocazione. Il protocollo BOOTP fornisce generalmente l'allocazione fissa di un singolo indirizzo IP per ciascun client, conservando in modo permanente tale indirizzo nel database del server BOOTP. Il protocollo DHCP fornisce generalmente l'allocazione dinamica con lease di indirizzi IP disponibili, conservando temporaneamente ciascun indirizzo di client DHCP nel database del server DHCP.

Glossario

Access Point Wireless: ripetitore per l'accesso ad una lan da qualsiasi punto di un edificio. Dispositivo di una rete locale wireless (radio) nel quale convergono i dati provenienti dai computer collegati tramite il protocollo utilizzato, es. IEEE 802.11a o Wi-Fi.

ADSL: (Asymmetric Digital Subscriber Line) Protocollo di comunicazione digitale che utilizza una linea telefonica ordinaria. E' una tecnologia più veloce e più economica della linea ISDN e trasmette con larghezza di banda più ampia in ricezione che in trasmissione.

APIPA: (Automatic Private IP Addressing) permette ai client DHCP di ottenere gli indirizzi anche quando il server DHCP non può fornirglielo.

Broadcast: pacchetto di dati che viene mandato a tutti i nodi di una rete. I pacchetti di dati sono identificati attraverso un indirizzo.

Client: terminale collegato in rete che condivide servizi con altri Pc

Demone: sta ad indicare un particolare programma che è attivo in background sul computer ed entra in azione quando altri programmi lo richiedono.

DHCP:  (Dynamic Host Configuration Protocol) Protocollo che consente ad un server di rete di gestire centralmente in automatico l'assegnazione dell'indirizzo IP di ogni dispositivo connesso ad una rete.

DNS: (Domain Name System) server per la risoluzione dei nomi in indirizzi IP e viceversa

Gateway: punto di collegamento che regola la comunicazione tra due reti, fra Internet ed una rete locale

Indirizzo IP dinamico: indirizzo IP che viene assegnato ad un  computer nel momento in cui si connette ad una rete ( locale o Internet). L'indirizzo IP viene assegnato dal server DHCP fra quelli disponibili in quel momento in un range predefinito. Capita quindi che lo stesso computer si connette utilizzando  un IP sempre diverso.

Indirizzo IP statico: indirizzo IP che viene assegnato permanentemente ad un computer. Questo, quindi si collegherà alla rete (interna o Internet) sempre con lo stesso indirizzo IP.

 ISDN: (Integrated Services Digital Network) protocollo di comunicazione offerto dalle compagnie  telefoniche che permette di trasmettere  più comunicazioni utilizzando la stessa linea.

MAC Address: (Media Access Control Address) numero che identifica la scheda di rete Ethernet o l'adattatore Token Ring. Il numero è scritto nella memoria permanente e non è modificabile, in modo da identificarla in modo univoco.

Range: differenza fra massimo e minimo fra due valori numerici.

Ridondanza: presenza di componenti duplicati in un sistema, per ragioni di sicurezza dei dati e di continuità di servizio.

Router: dispositivo che sposta i dati tra segmenti di rete diversi, è in grado di leggere l'header  del pacchetto per determinare il percorso di trasmissione migliore.

Scope: ambito di validità, intervallo di indirizzi IP o gruppo di indirizzi utilizzabili, assegnati dal server DHCP.

Server: computer e software che offrono servizi ai clienti quali la memorizzazione dei file, la condivisione di stampanti, fax o modem. E' un punto centrale per l'archivio dei programmi applicativi in rete.

Switch: dispositivo che connette tra loro i computer o più periferiche su una singola porta di un computer

TCP/IP:  (Trasmission Control Protocol/Internet Protocol) è un protocollo utilizzato da  Internet e da molte reti locali. In particolare si occupa della suddivisione dei messaggi in “pacchetti”, mentre l'IP pensa ad inviarli al corretto destinatario.

URL: (Universal Resource Locator) stringa di cartatteri ASCII che identifica univocamente una risorsa ( pagina web, macchina, file… cartella…).

Commenti offerti da CComment