Indice
- Prerequisiti
- Descrizione generale
- Principio di funzionamento
- Vantaggi / Svantaggi del protocollo DHCP
- Concetto di lease
- APIPA
- Installazione e Configurazione del protocollo DHCP
- Parametri comunicabili da client a server
- Implementazioni
- Ambito di utilizzo
- Ambiti di validità
- Ridondanza
- Processo di rinnovo degli indirizzi IP
- Messaggi DHCP
- Estensione del protocollo BOOTP (Bootstrap Protocol)
- 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)
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…).