DHCP - Dipartimento di Informatica
Transcript
DHCP - Dipartimento di Informatica
Inizializzazione degli Host a.a. 2002/03 Un host collegato ad una interrete deve essere BOOTP e DHCP inizializzato prima di poter interagire con gli altri host dell’interrete Prof. Vincenzo Auletta deve conoscere il suo indirizzo IP, la sua netmask, l’indirizzo del router di default, ecc. Due possibili strategie [email protected] http://www.dia.unisa.it/~auletta/ Inizializzazione statica L’amministratore di rete assegna ad un host dei valori fissi i valori vengono scritti in un file sulla memoria dell’host e letti al momento del boot Università degli studi di Salerno Laurea e Diploma in Informatica al momento del boot l’host chiede ad un server di fornirgli i BOOTP e DHCP In alcuni casi non conviene o non si può BOOTstrap Protocol Dynamic Host Configuration Protocol sono protocolli che permettono di assegnare ad un host tutti i valori necessari per consentirgli di operare sull’interrete assegnare un indirizzo statico ad ogni host Macchine senza disco Macchine connesse alla rete solo per brevi periodi RARP consente di ottenere l’indirizzo IP al momento del boot ma ha molte limitazioni approccio statico ma l’informazione non memorizzata sul disco locale dell’host Richiede accesso diretto all’hardware di rete è difficile implementare il server valido solo per reti con indirizzo broadcast (Ethernet) l’indirizzo IP la netmask l’indirizzo di un router l’indirizzo di un name server operano consente di inviare il solo indirizzo IP non gestisce la netmask, l’indirizzo del router, ecc. 2 valori 1 Inizializzazione Dinamica Inizializzazione dinamica 3 come applicazioni e direttamente con l’hardware DHCP è un’estensione di BOOTP non interagiscono BOOTP – 1 BOOTP – 2 BOOTP è un’applicazione basata sullo schema client/server usa le porte UDP 67 (server) e 68 (client) Il client spedisce il primo messaggio all’indirizzo 255.255.255.255 con indirizzo sorgente 0.0.0.0 I server BOOTP che ricevono il messaggio 4 il client utilizza solo la prima risposta ricevuta Formato Messaggi BOOTP stesso formato per richieste e risposte i campi hanno lunghezza fissa (messaggio di 300 byte) trasmissione UDP non garantisce affidabilità 0 Accorgimenti usati dal client H OPS HLE N Non usati CLIENT IP ADDRESS YOUR IP ADDRESS SERVER IP ADDRESS fissato (inizialmente [0, 4] secondi) 6 HTYPE 31 TRANSACTION ID Il valore del timeout è scelto a caso in un intervallo 16 SECONDS invia di nuovo la richiesta riduce la probabilità di collisioni ad ogni tentativo si raddoppia la dimensione dell’intervallo fino ad un massimo di 60 secondi 8 OP invia datagram con bit DF settato utilizza una politica di ritrasmissione se non riceve la risposta del server BOOTP entro un tempo fissato evita una trasmissione broadcast 5 Il client BOOTP deve assicurare l’affidabilità della In alternativa il server può scrivere a mano nella tabella ARP l’indirizzo fisico del client Politica di Ritrasmissione il modulo IP del server dovrebbe chiedere ad ARP di convertire l’indirizzo logico del client in un indirizzo fisico l’host che ospita il client non risponderebbe alla richesta ARP perché non conosce il suo indirizzo IP 255.255.255.255 è l’indirizzo di broadcast limitato Il modulo IP invia un datagram all’indirizzo di broadcast limitato anche se non viene specificato l’indirizzo sorgente rispondono con i dati necessari Il server BOOTP deve inviare la risposta all’indirizzo di broadcast limitato anche se conosce l’indirizzo IP del client Scenario se il server inviasse la risposta direttamente all’indirizzo IP del client RO UTER IP ADDRESS CLIENT HARDW A RE AD DRESS (16 byte) SERVER HOST NA M E (64 byte) 7 BO OT FILE NAM E (128 byte) VEN D O R-SPECIFIC AREA (64 byte) Parametri – 1 Parametri – 2 OP: Specifica se è una richiesta (1) o una risposta (2) HTYPE e HLEN: Indicano il tipo di hardware e la SECONDS: massimo tempo di attesa della risposta lunghezza dell’indirizzo hardware in byte Es. per Ethernet HTYPE=1 e HLEN=6 byte HOPS: contatore del numero di hops CLIENT IP ADDRESS: indirizzo del client permette che il server BOOTP sia su un’altra rete Inizializzato a 0 dal client e incrementato da ogni router che reistrada il datagram TRANSACTION ID: intero che identifica il messaggio server al client SERVER IP ADDRESS: indirizzo del server 9 usato dal client per interrogare un server specifico Parametri – 3 Parametri – 4 ROUTER IP ADDRESS: indirizzo del router BOOT FILE NAME: inizializzazione usato se il server BOOTP non si trova sulla stessa rete CLIENT HARDWARE ADDRESS: indirizzo fisico del file di usato per specificare l’immagine della memoria che deve essere utilizzata per il boot AREA: informazioni facoltative passate dal server al client usato per identificare l’host a cui è diretta la risposta del server SERVER HOST NAME: nome del server BOOTP nome VENDOR-SPECIFIC del client 10 utilizzato da un client quando conosce il suo indirizzo IP e chiede al server BOOTP le altre informazioni altrimenti è messo a 0 YOUR IP ADDRESS: indirizzo IP inviato dal permette di far corrispondere le richieste alle risposte 8 Il client aspetta un numero casuale di secondi compreso fra 0 e SECONDS contiene le informazioni necessarie al client per connettersi all’interrete usato dal client per interrogare un server specifico può contenere informazioni aggiuntive 11 es. indirizzo del router es. indirizzo del server di stampa, del name server o del time server Inizializzazione in Due Fasi Esempio BOOTP usa una procedura di due fasi Implementare il boot remoto per un insieme di macchine con diverso hardware ogni macchina è multipiattaforma (Windows e Linux) Il server indica al client come ottenere un’immagine della memoria le immagini possono risiedere su un host diverso da quello su cui gira il server BOOTP Il client usa un secondo protocollo (es. TFTP) per recuperare le informazioni per il boot Utile per gestire insieme di macchine 12 al boot l’utente specifica il sistema operativo da caricare non è possibile creare un’immagine unica Il client specifica nel campo BOOOT FILE NAME si crea un’unica immagine di memoria valida per tutte oppure si crea un’immagine diversa per ogni macchina il sistema operativo 13 Il server invia l’indirizzo dove recuperare l’immagine appropriata (per il tipo di hardware e di sistema operativo) BOOTP con Relay Agent Configurazione Dinamica BOOTP consente che il server ed il client siano BOOTP è adatto ad ambienti in cui gli host hanno su reti differenti connessioni permanenti alla rete che non vengono modificate la comunicazione passa attraverso un router che funziona da relay agent (proxy) il relay agent lavora a livello di applicazione client DHCP relay agent server DHCP A R B Il protocollo non è adatto ad ambienti dinamici 1. A manda una richiesta BOOTP alla porta 67 di 255.255.255.255 2. R riceve la richiesta e la rimanda alla porta 67 di B setta i campi HOPS e ROUTER ADDRESS 3. B invia la risposta alla porta 68 di R 14 4. R invia la risposta alla porta 68 di 255.255.255.255 sulla rete di A il file di configurazione del server BOOTP specifica i parametri da assegnare ad ogni host utile per boot remoto di macchine senza disco non gestisce la mobilità degli utenti le informazioni sulla configurazione non possono essere cambiate rapidamente non consente di assegnare dinamicamente gli indirizzi agli host la corrispondenza tra indirizzi IP e indirizzi fisici è scritta nel file di configurazione del server 15 Esempio di Applicazione della Configurazione Dinamica DHCP In molte situazioni gli utenti sono in numero DHCP estende BOOTP in due modi superiore al numero di indirizzi IP disponibili non tutti gli utenti contemporaneamente Es. clienti di un ISP sono connessi alla 1. Invia tutte le informazioni necessarie al client in un rete solo messaggio indirizzo IP ad ogni utente Al momento in cui un utente si collega l’ISP gli assegna uno degli indirizzi IP disponibili 16 al termine della connessione l’utente restituisce l’indirizzo IP non deve conoscere il client quando un computer si connette alla rete invia una richiesta al server DHCP ottiene in risposta tutte le informazione necessarie e si configura automaticamente, senza intervento manuale 17 Assegnamento degli Indirizzi Gestione degli Indirizzi Dinamici DHCP consente tre tipi di assegnamento degli Un indirizzo dinamico è “preso in affitto” dal client e restituito quando non serve più Il server DHCP può fissare un limite massimo alla durata dell’affitto indirizzi assegnazione statica gestita dall’amministratore (come BOOTP) assegnazione statica gestita dal server DHCP assegnazione dinamica durata dell’affitto base all’identità del client in genere l’identità è l’indirizzo hardware permette di assegnare indirizzi statici ad alcuni host e dinamici ad altri evita che un client malizioso si appropri di un indirizzo a tempo indeterminato Il client ed il server possono concordare la Il server sceglie la modalità di assegnamento in 18 Es. può inviare sia l’indirizzo IP che la netmask 2. Permette di ottenere un indirizzo IP dinamico DHCP supporta l’autoconfigurazione perché il server Non è possibile assegnare staticamente un un server DHCP può rispondere a richieste BOOTP Allo scadere il client deve rinnovare l’affitto se non vuole perdere l’indirizzo IP Il client può anche restituire anticipatamente 19 l’indirizzo Diagramma di Stato del Client DHCP Formato dei Messaggi DHCP DHCP utilizza lo stesso formato di BOOTP ma alcuni campi hanno significato differente Il campo non utilizzato diventa un campo FLAGS a 16 bit Il solo il primo bit è utilizzato per identificare se la risposta deve essere inviata all’indirizzo di broadcast limitato o ad un indirizzo unicast campo OPTIONS VENDOR-SPECIFIC diventa un campo contiene tutte le informazioni relative alla gestione degli indirizzi dinamici (es. durata dell’affitto) I campi SERVER HOST NAME e BOOT FILE NAME possono essere eliminati se non servono 20 21 DHCP e Nomi di Dominio DHCP non interagisce con il sistema dei noni di dominio la corrispondenza tra il nome di dominio assegnato all’host e l’indirizzo assegnato da DHCP deve essere gestita separatamente Se ad ogni indirizzo IP è assegnato staticamente un nome la corrispondenza può essere memorizzata nel DNS se l’host ha un indirizzo statico è tutto OK se l’host ha un indirizzo dinamico ad ogni connessione avrà un nome di dominio diverso DHCP non è in grado di gestire host con indirizzi dinamici ma nomi di dominio permanenti 22