DHCP Dynamic Host Configuration Protocol

Похожие документы
Configurazione IP. Assegnazione Indirizzi IP

Inizializzazione degli Host. BOOTP e DHCP

INTERNET e RETI di CALCOLATORI A.A. 2011/2012 Capitolo 4 DHCP Dynamic Host Configuration Protocol Fausto Marcantoni fausto.marcantoni@unicam.

P2-11: BOOTP e DHCP (Capitolo 23)

La configurazione degli indirizzi IP. Configurazione statica, con DHCP, e stateless

Gestione degli indirizzi

Gestione degli indirizzi

Interconnessione di reti

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori a.a. 2009/10

ARP (Address Resolution Protocol)

PROF. Filippo CAPUANI DHCP

Introduzione alle applicazioni di rete

Reti di Telecomunicazione Lezione 8

ICMP OSI. Internet Protocol Suite. Telnet FTP SMTP SNMP TCP e UDP NFS. Application XDR. Presentation. Session RPC. Transport.

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing

Reti di Calcolatori. Il software

Dal protocollo IP ai livelli superiori

Reti di Calcolatori

CONNESSIONE DI UN PC ALLA RETE INTERNET

Reti e Sistemi per l Automazione MODBUS. Stefano Panzieri Modbus - 1

Protocolli di Comunicazione

Transmission Control Protocol

ARP e RARP. Silvano GAI. sgai[at]cisco.com. Mario BALDI. mario.baldi[at]polito.it Fulvio RISSO

ARP/RARP. Problema della Risoluzione dell Indirizzo. Corrispondenza statica e dinamica. Scenari

UNIVERSITÀ CÀ FOSCARI DI VENEZIA

COMPLESSO SCOLASTICO INTERNAZIONALE GIOVANNI PAOLO II. Pianificazione di reti IP (subnetting)

Reti di Telecomunicazione Lezione 6

Introduzione ai protocolli di rete Il protocollo NetBEUI Il protocollo AppleTalk Il protocollo DLC Il protocollo NWLink Il protocollo TCP/IP

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 3 a lezione a.a. 2009/2010 Francesco Fontanella

IP Mobility. Host mobili

Corso di recupero di sistemi Lezione 8

DHCP e ISP. DHCP e ISP. DHCP e server. DHCP e server DSL. Soluzioni. Digital Subscriber Line. Regola di dimensionamento

Cenni di programmazione distribuita in C++ Mauro Piccolo

Contesto: Peer to Peer

5. Traduzione degli indirizzi di rete in indirizzi fisici: ARP

ARP e instradamento IP

Internet. Introduzione alle comunicazioni tra computer

Approfondimento di Marco Mulas

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

INDIRIZZI IP ARCHITETTURA GENERALE DEGLI INDIRIZZI IP FORME DI INDIRIZZI IP CINQUE FORME DI INDIRIZZI IP

Impostazione dell'indirizzo IP del dispositivo di autenticazione di Xerox Secure Access Unified ID System Carta bianca

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Per trovare un IP address (indirizzo IP) di un router Linksys, controllare le impostazioni del computer. Per istruzioni, cliccare qui.

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Cos è. Protocollo TCP/IP e indirizzi IP. Cos è. Cos è

Sicurezza dei sistemi e delle reti 1. Lezione XVI: L assegnazione automatica di IP. Cosa fa DHCP. Il DHCP. Mattia Monga. a.a.

(parte 2) DHCP e NAT

Strato di rete (parte 2) Autoconfigurazione Protocollo DHCP

Man-in-the-middle su reti LAN

Introduzione al Dns. Loredana Pillitteri. Semplificazione della gestione e delega amministrativa Pisa - CNR - ISTI dicembre 2003

Manuale per la configurazione di AziendaSoft in rete

TCP/IP. Principali caratteristiche

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

Linux User Group Cremona CORSO RETI

Il collegamento delle reti aziendali: DHCP, DSL, PPPoE

Maschere di sottorete a lunghezza variabile

Elementi di Informatica e Programmazione

SIP-Phone 302 GUIDA ALLA CONFIGURAZIONE EUTELIAVOIP

Forme di indirizzamento

Protezione. Protezione. Protezione. Obiettivi della protezione

IP (Internet Protocol) sta al livello 2 della scala Tcp/Ip o al livello 3 della scala ISO/OSI. Un indirizzo IP identifica in modo logico (non fisico

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 5

Elementi di Informatica e Programmazione

StarShell. IPSec. StarShell

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet

InterNet: rete di reti

LINKSYS SPA922 GUIDA ALLA CONFIGURAZIONE EUTELIAVOIP

Il DNS e la gestione degli indirizzi IP. Appunti a cura del prof. ing. Mario Catalano

Software di gestione della stampante

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Elementi sull uso dei firewall

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Venerdì 18 Febbraio 2005, ore 9.30

Rete Internet Prova in Itinere Mercoledì 23 Aprile 2008

Informazioni Generali (1/2)

Il Software. Il software del PC. Il BIOS

SIEMENS GIGASET S450 IP GUIDA ALLA CONFIGURAZIONE EUTELIAVOIP

Università degli Studi di Pisa Dipartimento di Informatica. NAT & Firewalls

Reti di Calcolatori. Vantaggi dell uso delle reti. Cosa è una rete? Punto di vista logico: sistema di dati ed utenti distribuito

Modulo 9 Insieme di protocolli TCP/IP e indirizzi IP

INFORMATICA DISTRIBUITA. lez 4 Livello applicazione

Configurazione server e client DHCP in Linux

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco

1. IPv IPv4. Telematica 3 - R. Bolla 1. Università di Genova Facoltà di Ingegneria. Telematica 3. dist. Architettura. Prof.

Firewall e NAT A.A. 2005/2006. Walter Cerroni. Protezione di host: personal firewall

Network Services Location Manager. Guida per amministratori di rete

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo

Lezione 1 Connessione ad una rete

Reti di Telecomunicazione Lezione 7

Indice. Prefazione XIII

(Domain Name System) DNS (Domain Name System) Architettura del DNS DNS. A.Lioy - Politecnico di Torino (2013) B-1. Antonio Lioy < lioy@polito.

Транскрипт:

DHCP Dynamic Host Configuration Protocol L assegnazione automatica dei parametri di configurazione (e.g. network address) al momento dell avvio dei client di una rete, semplifica l amministrazione della stessa DHCP 1

Esigenze da soddisfare I diversi protocolli (TCP/IP, IPX/SPX, etc) hanno bisogno di informazioni specifiche (parametri) per funzionare Il software di protocollo utilizza i parametri per funzionare su una data rete e/o su un dato hardware Il processo di fornitura dei parametri viene chiamato configurazione DHCP 2

Problema del bootstrap All avvio bisogna lanciare il software di protocollo Servono: Software, Parametri Da dove caricare il software Come ottenere i parametri di configurazione DHCP 3

Origine software e parametri Il software di protocollo può essere: Ricavato da una rom interna Caricato da un disco al boot Precaricato col sistema operativo I parametri del protocollo possono essere: Inseriti manualmente Ricavati da un file locale su disco Ottenuti automaticamente dalla rete DHCP 4

DHCP e DNS Inizialmente si è provveduto alla impostazione manuale dei diversi parametri negli host di una rete e a introdurre la coppia domain name - network address nei file di configurazione dei nameserver della zona Questa soluzione va bene nel caso di poche ed infrequenti variazioni poiché per ogni variazione si deve agire manualmente sui file di configurazione Nel caso di variazioni frequenti (e.g. spostamenti da una subnet ad un altra) e/o di reti di grandi dimensioni dà luogo ad un lavoro complesso ed intenso per il network administrator Inoltre provoca uno sfruttamento non ottimale degli IP address che risultano impegnati anche quando non servono. Opportuna quindi una soluzione automatica DHCP DHCP 5

Cosa è e fa DHCP DHCP soluzione della suite TCP/IP DHCP consente una messa in rete plug-and-play Gli host (client) inviano al server una richiesta Il server trova un IP address inutilizzato Il server aggiunge l IP address al suo elenco Il server trasmette all host l IP address ed i parametri DHCP 6

Parametri del protocollo IP IP address (dipendente dalla rete in cui l host si trova) Subnet mask (necessaria per ricavare la subnet e definire il subnet addressing) Gateway address (address a cui spedire i pacchetti diretti all esterno della subnet) Domain name (definisce il nome della rete in cui l host opera) Etc... DHCP 7

Problematiche del TCP/IP TCP/IP - Suite aperta, robusta e adattabile ad ambienti diversi con molti vantaggi rispetto ad altre soluzioni TCP/IP - Amministrativamente pesante Conseguenza Grande sforzo per l amministrazione delle reti grandi e/o complesse DHCP 8

Problematiche del TCP/IP (2) Con TCP/IP ogni dispositivo sulla rete deve avere un IP address valido Nell assegnazione degli IP address si devono seguire delle regole: Un IP address (con IPv4) è formato da 4 byte e deve essere unico. Tutti i dispositivi posti su un segmento devono avere lo stesso network address e lo stesso subnet address. I subnet address su una data subnet devono essere unici. Per comunicare con un nodo posto su una network differente bisogna attraversare un gateway. Per usare i domain names e non gli IP address bisogna conoscere l IP address del nameserver. DHCP 9

Problematiche del TCP/IP (3) Assegnazione IP address Compito oneroso Necessità di tenere conto degli IP address già assegnati. Necessità di seguire lo spostamento degli host da una subnet all altra. Se un host si sposta su una subnet differente il suo host address potrebbe essere in conflitto con quello di un altro host. DHCP 10

Configurazione automatica Problema generale Metodologie possibili: Decentralizzata con determinazione indipendente Server based DHCP 11

Acquisizione decentralizzata Problema: Come usare la rete per ricavare il network address? Uso di un protocollo di livello più basso Uso di un indirizzo broadcast AppleTalk (procedura collaborativa) IPX [Novell] (assegnazione automatica) DHCP 12

Procedura AppleTalk Ogni nodo AppleTalk ha un suo node ID All avvio un nodo AppleTalk prende un ID a caso Il nodo trasmette ripetutamente in broadcast dei pacchetti di inquiry per determinare se un altro nodo sta già usando lo stesso node ID Se nessun altro nodo risponde prima di un tempo limite, il nodo in fase di avvio assume come suo il node ID di tentativo In caso di riposta il nodo incrementa il valore di ID e riprende il processo di inquiry DHCP 13

Procedura Novell IPX Procedura semplice ed automatica Indirizzo di rete Novell IPX generato dall unione del network address (Netware Network ID number) e dal MAC address DHCP 14

Predecessori del DHCP Necessità di meccanismi server-based Primo RFC del DHCP: 1531 (Oct 1993) In precedenza: RARP ICMP BOOTP DRARP TFTP NIP..... DHCP 15

RARP Reverse Address Resolution Protocol (RARP) fornisce solo IP address RARP realizzato nello stesso modo di ARP (stesso formato di pacchetto) Differenza essenziale: sistema server based Altre diversità: opcode e protocol L host invia in broadcast una RARP request con il suo MAC address Il server cerca il MAC address nella sua tabella Il server risponde con l IP address dell host Il client ed il server devono essere nella stessa subnet DHCP 16

RARP (2) Limiti di RARP: Serve soltanto gli host noti al server Fornisce soltanto l IP address Funziona staticamente Arricchimenti possibili: Dopo l ottenimento dell IP address tramite RARP, utilizzare TFTP per acquisire dal server altre informazioni di configurazione Soluzione SUN Altra possibilità: Dynamic RARP (DRARP) RFC 1931 DHCP 17

ICMP Più che un sistema diverso un arricchimento di RARP Due funzioni: Reperimento della subnet mask Determinazione del gateway di default Sequenza delle operazioni: 1. Invio in broadcast di una request RARP 2. Estrazione dell IP address dalla risposta RARP 3. Invio in broadcast di una richiesta ICMP per la subnet mask 4. Estrazione della subnet mask da un replay ICMP 5. Invio in broadcast di una richiesta per il gateway 6. Estrazione dell IP address del gateway da un replay ICMP DHCP 18

BOOTP BOOTstrap Protocol - RFC 951 (Sept 1985) Meccanismo di tipo client-server BOOTP basato su UDP Client trasmette in broadcast BOOTREQUEST con il MAC address Server trasmette in broadcast BOOTREPLY con IP address DHCP 19

BOOTP (2) Uso di well-known port nei due sensi Client 68 67 Server Limited Broadcast Address 255.255.255.255 BOOTP fornisce al client diversi parametri: IP address, Subnet mask, gateway, servers, posizione del boot file, etc BOOTP meccanismo statico il client deve essere presente nel database del server prima di BOOTREQUEST DHCP 20

BOOTP (3) BOOTP forwarding Avere un server BOOTP per ogni subnet oneroso Relay agent BOOTP ascoltano BOOTREQUEST Relay agent inoltrano le BOOTREQUEST ad unico server Relay agent ritrasmettono le BOOTREPLY verso i client DHCP 21

Standard DHCP DHCP oggi definito nella RFC 2131 (March 1997) Dynamic Host Configuration Protocol Nello stato di Draft Standard Options di DHCP definite nella RFC 2132 DHCP Options and BOOTP Vendor Extensions Nello stato di Draft Standard DHCP 22

DHCP e BOOTP DHCP costruito a partire da BOOTP, con aggiunte: Riallocazione automatica degli IP address riutilizzabili Opzioni aggiuntive e più ricche DHCP fornisce tutti i parametri di configurazione di cui alla RFC 1122 Requirements for Internet Hosts BOOTP solo una parte Vendor extensions Options extensions di BOOTP divengono Options di DHCP e passano da 64 a 312 bit DHCP può accettare richieste da client BOOTP DHCP usa il message format di BOOTP DHCP 23

DHCP components DHCP costituito da due parti: Un protocollo per la richiesta e la consegna agli host dei parametri di configurazione Un meccanismo per la allocazione degli IP address agli host Protocollo standardizzato Meccanismo proprietario ed interno all applicativo del server DHCP 24

Architettura Client-Server DHCP Client Non DHCP Client IP address 1 IP address 2 DHCP database IP address 1 IP address 2 IP address 3 IP address 4 Server DHCP DHCP Client DHCP 25

Servizi del DHCP Deposito dei parametri di configurazione dei diversi client Allocazione dinamica degli IP address Fornitura dei network parameters DHCP 26

Configuration parameters storage Un host che invia una richiesta può mettere un suo client ID Diversamente il client ID è fornito dal server (IP-subnet-number, hardware addres) Nel server database con entry il client ID e valori dei parametri di rete Il client può richiedere la ritrasmissione dei parametri avuti DHCP 27

IP address dynamic allocation DHCP alloca address temporanei o permanenti Un client all avvio richiede un IP address Opzionalmente può richiederlo per un periodo di tempo Il server attribuisce al client un IP address per un Tempo scelto in base alla sua policy ed alla richiesta Periodo di tempo per DHCP = lease DHCP 28

IP address dynamic allocation (2) Server assegna in IP address per un lease-time Server garantisce di non dare ad altri client un address già impegnato Ogni volta che un client richiede un IP address il server tenta di ridargli quello precedente Client prima della scadenza del lease-time può chiedere una estensione del lease Client può richiedere un lease per un tempo qualsiasi (anche infinito) Server attribuisce il lease-time in base alla sua policy DHCP 29

IP address dynamic allocation (3) 3 policy per l assegnazione del lease-time Dinamica (normale) Permanente (richiesta di ) [se consentita] Fixed (in base a preregistrazione) DHCP 30

Colloquio Client-Server Tutti i messaggi scambiati tra client, server ed agent DHCP (e BOOTP) hanno lo stesso format Nell ipotesi più semplice Al boot un host configurato come client DHCP invia in broadcast un messaggio DHCPDISCOVER I server DHCP rispondono con un messaggio DHCPOFFER Il client trasmette un DHCPREQUEST con cui accetta l offerta di un server Il server risponde con un messaggio DHCPACK con cui fornisce i parametri DHCP 31

Colloquio Client-Server (2) Realtà più complessa Client Begins Initialization DHCPDISCOVER Server Determines Configuration Determines Configuration Server DHCPOFFER DHCPOFFER Messaggi scambiati nell allocazione di un nuovo IP address Server diversi operano su spazi di address differenti Committs Configuration Client Collects Replies Selects Configuration DHCPREQUEST Yes DHCPACK Collects Reply Valid Parameters Yes Committs Configuration Valid Request No DHCPNAK No Server DHCPDECLINE Works Waits Server DHCP 32

Colloquio Client-Server (3) Messaggi scambiati nell allocazione di un IP address già usato Server Client Locates Configuration DHCPACK Begins Initialization DHCPDISCOVER Locates Configuration DHCPACK Server Client Initialzation Complete DHCP 33

DHCP message format 0 8 16 24 31 OP code HW type H Len Hops Transaction ID Time elapsed Flags Client IP address Your (client) IP address Server IP address Relay IP address Client hardware address (16 octets) Tutti i messaggi con lo stesso format OP code HW type 1 BOOTREQUEST 2 BOOTREPLY 6 IEEE 802 11 LocalTalk.. Server hostname (64 octets) HLEN Hardware address length Boot filename (128 octets) HOPS Used only for relay agents Options (variable <=312 octets) Transaction ID Time elapsed Random number from client Time since init of process DHCP 34

DHCP message format (2) Flags B MBZ Set only by client B MBZ Broadcast flag Must Be Zero Client IP address Set by client If it unknows IP address is set to 0.0.0.0 DHCP 35

DHCP message format (3) Your (client) IP address Client address set by the server if the received client IP address was 0.0.0.0 Server IP address IP address set by the server Relay IP address IP address of relay agent if it is used Client hardware address Set by the client Server host name Optional server host name terminated by X 00 DHCP 36

DHCP message format (4) Boot file name generic o null in DHCPDISCOVER, fqdn in DHCPOFFER Options Campo contenente un numero variabile di options Primi quattro bytes contengono il magic cookie 99.130.83.99 Option formate da: Code, Length e Data Code Length Data Code e Length 1 octet, Data variabile DHCP 37

Options Length = Lunghezza in ottetti del campo Data Due option 0 e 255 formate dal solo Code Sempre presente l option 53 DHCP message type Option 53 Value 1 2 3 4 5 6 7 8 9 Message Type DHCPDISCOVER DHCPOFFER DHCPREQUEST DHCPDECLINE DHCPACK DHCPNAK DHCPRELEASE DHCPINFORM DHCPFORCERENEW DHCP 38

Interazione Client-Server Ogni server DHCP ha un pool di IP address che può concedere. Ogni address viene concesso ad un client per un tempo (lease time) fissato dalla policy del server Ogni server DHCP gestisce un database degli address concessi e dei lease time Il client trasmette in broadcast un messaggio DHCPDISCOVER Nel messaggio DHCPDISCOVER possono essere poste delle options come durata del lease, network address, etc DHCP 39

Interazione Client-Server (2) DHCP Client IP lease request IP lease offer DHCP Servers IP lease selection IP lease ACK DHCP 40

Timers Ricordiamo: Server DHCP trasmette in DHCPOFFER il lease time DHCP client riceve il DHCPOFFER e il DHCPACK ed in base al Lease time e alla sua implementazione, stabilisce: Renewal time T1 Allo scadere di T1 il client trasmette al server DHCP in unicast un DHCPREQUEST con la richiesta di estendere il lease. Se riceve un ACK i timer sono resettati e si calcola il nuovo lease expiration time. Rebinding time T2 Se il client non riceve un DHCPACK, allora allo scadere di T2 trasmette in broadcast un DHCPREQUEST con la richiesta di estendere il lease. Se riceve un ACK (anche da un server differente) i timer sono resettati e si calcola il nuovo lease expiration time. Se il client non riceve un DHCPACK, allora al termine del lease ritorna allo stato iniziale. DHCP 41

Timers (2) T1 e T2 configurabili dal server tramite options In ogni modo: T1 < T2 < Lease time Tipicamente: T1 = 0,5*Lease time T2 = 0,875*Lease time DHCP 42

Sincronizzazione Generalmente clock dei client e dei server non sincroni Possibilità di sfasamenti temporali Clock server t 0 lease time t 2 Clock client t 0 t 2 Soluzione: Tempi rappresentati come valori relativi DHCP 43

DHCP Messages DHCPDISCOVER c s b DHCPREQUEST c s u DHCPDECLINE c s u DHCPRELEASE c s u DHCPINFORM c s u DHCPOFFER s c u DHCPACK s c u DHCPNAK s c u To locate available servers a) Requesting offered parameters form one server b) Confirming correctness of allocated address c) Extending the lease on a network address Indication of IP addres already in use Relinquishing IP address and cancelling lease Asking for local configuration parameters In response to DHCPDISCOVER with offer of configuration parameters Configuration parameters including IP address Indication of incorrect request DHCP 44

Tipi di interazione 3 tipi di interazione client - server Allocazione di un nuovo network address Riuso di un network address precedentemente allocato Ottenimento di parametri con network address configurato dall esterno DHCP 45

Diagramma di stato client Allocazione di un nuovo network address INIT DHCPDISCOVER SELECTING DHCPOFFER Collect replies DHCP 46

Diagramma di stato client Discard Offer DHCPNAK Not accepted DHCPACK DHCPDECLINE INIT DHCPDISCOVER DHCPOFFER Discard REQUESTING DHCPACK DHCPREQUEST Select Record Offer lease Set timers T1, T2 SELECTING DHCPOFFER BOUND DHCP 47

Diagramma di stato client DHCPNAK INIT DHCPOFFER DHCPOFFER DHCPACK DHCPNAK REQUESTING DHCPACK BOUND DHCPACK DHCPDECLINE DHCPREQUEST T1 expires DHCPREQUEST Set T1, T2 Set T1, T2 DHCPDISCOVER DHCPACK RENEWING SELECTING DHCPACK DHCPOFFER DHCPREQUEST T2 expires DHCPNAK lease expired REBINDING Halt network DHCPNAK Halt network DHCP 48

Diagramma di stato client Inizializzazione con indirizzi di rete noti INIT REBOOT DHCPNAK INIT DHCPREQUEST DHCPACK DHCPDECLINE DHCPDISCOVER DHCPNAK lease expired REBOOTING DHCPNAK REQUESTING DHCPREQUEST SELECTING DHCPOFFER DHCPOFFER DHCPACK Set T1, T2 DHCPACK DHCPACK REBINDING BOUND DHCPOFFER DHCPACK DHCPNAK DHCPREQUEST DHCPACK RENEWING DHCPREQUEST DHCPNAK DHCP 49

Diagramma di stato client Ottenimento di parametri per host con IP address configurato manualmente Tipico per server mission-critical e grandi sistemi Client trasmette DHCPINFORM con suo IP address Trasmissione broadcast o unicast Option parameter request list Server può rispondere con DHCPACK Se nessun DHCPACK in tempo ragionevole (tip. 60 sec) messaggio all user e inizio con valori di default DHCP 50

Altri messaggi DHCPFORCENEW Messaggio trasmesso dal server verso un client senza richiesta del client. Client risponde con DHCPREQUEST con successiva fornitura di un nuovo address DHCPLEASEQUERY Messaggio trasmesso da un dispositivo o da un applicazione verso il server Server risponde con DHCPACK con dati del lease DHCP 51

Relay agent Un client tenta di scoprire i server con il messaggio DHCPDISCOVER Messaggio DHCPDISCOVER trasmesso in broadcast Pacchetti broadcast non possono uscire dalla subnet Risultato: Il server DHCP si dovrebbe trovare nella subnet da servire In tanti casi molte subnet con pochi host Esempio tipico: N di utente connesse tramite linee ADSL ad una N centrale DHCP 52

Realy agent (2) Soluzione: Un relay agent sulla subnet che fa il forwarding dei messaggi verso il server centrale DHCP Server Central N Circuit Access Unit 1 (relay agent) ckt 1 Modem 1 Host N Host A Host B Host C Other Servers (Web, DNS) Circuit Access Unit 2 (relay agent) ckt 1 Modem 2 ckt 2 Modem 3 Host N Host N Host D Host E DHCP 53

Relay agent (3) Il relay agent deve conoscere l IP address del server DHCP Il relay agent riceve sulla porta 68 i messaggi broadcast trasmessi dal client Il relay agent riempie il campo Relay IP address con il proprio address Il relay agent converte i messaggi broadcast in arrivo in messaggi unicast diretti al server Il server pone l IP address per il client nel campo Client IP address Il server ritorna il reply non al client ma al relay agent Il relay agent inoltra il messaggio al client DHCP 54

Authenticated DHCP messages Possibilità di minacce al server ed ai client DHCP Minacce interne RFC 3118 Authentication for DHCP Messages (June 2001) Metodo di autenticazione e validazione nei due sensi RFC 3118 definisce: Option di autenticazione Meccanismo di autenticazione DHCP 55

Authentication option 0 31 Code Length Protocol Algorithm RDM Replay Detection (64 bits) Replay cont. Replay cont. Authentication Information Code = 90 Length = Length in octets 2 (code, length) DHCP 56

Authentication option (2) Protocol = [Authentication token (0) Delayed authentication (1)] Algorithm = Definisce algoritmo all interno del protocollo Oggi: 0 per authentication token 1 per delayed authentication RDM = Replay Detection Method Oggi: 0 per counter crescente Replay Detection = Informazione usata per rivelare una risposta Authentication Information - Variabile con protocollo ed algoritmo DHCP 57

Protocolli Authentication Token Estremamente semplice, non realizza autenticazione di messaggio, incapace di resistere ad un attacco Praticamente non utilizzato Delayed Authentication Protocollo che effettua l autenticazione della sorgente e del messaggio. Può usare diversi algoritmi, oggi solo HMAC-MD5 Oggi utilizzato DHCP 58

Delayed Authentication Ciascun client possiede una propria chiave K (secret) Ogni secret ha un identificatore unico (secret ID) da 32 bit Il server possiede le chiavi di tutti client autorizzati Le chiavi devono essere distribuite tramite un meccanismo esterno L host che inizia la procedura richiede l autenticazione 0 31 90 Length 1 1 0 Replay Detection (64 bits) Replay cont. Replay cont. DHCP 59

Delayed Autentication (2) I messaggi successivi a quello di inizio sono autenticati fornendo il secret ID ed una firma codificata con la chiave 0 31 90 Length 1 1 0 Replay Detection (64 bits) Replay cont. Replay cont. Secret ID (32 bit) Sec. ID (cont) HMAC-MD5 (128bit) DHCP 60

Delayed Autentication (3) Il destinatario del messaggio, individua con il secret ID la chiave K e calcola con il messaggio e la chiave K il Message Authenticaction Code Se il MAC è uguale a quello ricevuto il messaggio è accettato, diversamente viene scartato Nei messaggi successivi viene usata lo stesso protocollo con identica chiave Controllo di identità e di originalità del messaggio DHCP 61

Delayed Autentication (4) Client Server DHCPDISCOVER con auth. request DHCPREQUEST con secret ID e MAC DHCPOFFER con secret ID e MAC DHCPACK con secret ID e MAC Svantaggio del protocollo: Non è scalabile. DHCP 62

Interazione DHCP - DNS Host A Host B Name server DHCP server RFC 2136 Dynamic Updates in the Domain Name System, (April 1997) DHCP 63

Interazione DHCP DNS (2) Gravissimo pericolo nella possibilità di update del DNS Operazione fattibile solo in presenza di autenticazione e validazione Con autenticazione il server DHCP si autentica nei confronti del server DNS Con validazione si controlla che i dati trasmessi non siano stati alterati Oggi due procedure standardizzate: TSIG e DNSSEC DHCP 64

INTERAZIONE DHCP DNS (3) Dopo ogni variazione nei suoi leases il server DHCP compie dynamic update della zona del primary master server Risultato: Database del primary master server sempre updated Primary master server con ogni update subisce cambiamento del serial number Primary master server compie notify verso i suoi slave Slave chiedono zone transfer al primary master server Tutti i DNS sono updated DHCP 65

Multiserver e Failover Un client trasmette in broadcast un messaggio DHCPDIDCOVER Più server possono rispondere In RFC 2131 nessuna interazione tra server Ogni server deve gestire un pool di address differente Se un server (o il link verso di esso) va in down nessun altro può gestire il lease Più recentemente DHCP Failover Protocol DHCP 66

Multiserver e Failover (2) Oggi: draft-ietf-dhc-failover-12.txt Fini: Aumentare l affidabilità nel caso di guasti Load balancing Collaborazione tra una coppia di server (basata su una connessione TCP) Sincronizzazione dei database mantenuti dai server Quando un server va in down un client può essere servito dall altro DHCP 67

Multiserver e Failover (3) Pool di address suddiviso tra i due server Una parte di address (free addresses) al primary server Una parte di address (backup addresses) al secondary server Tecnica lazy updates Tre principi: Il primary server gestisce i free address ed il secondary i backup Un server può estendere il lease soltanto per un periodo limitato oltre quello noto all altro server Un address assegnato ad un client non può essere assegnato ad un altro senza accordo tra i server Nel caso di squilibrio del carico tra i server, si ripartiscono l address pool DHCP 68

DHCP e IPv6 DHCP in effetti DHCPv4 DHCPv4 incompatibile con IPv6 IPv6 (address autoconfiguration) diminuisce la necessità del servizio DHCP DHCP non fornisce soltanto IP address - quindi sempre utile DHCPv6 può fornire più IP address per interface DHCP 69

Server DHCP Oggi 3 server DHCP principali Internet Software Consortium (ISC) Free, Piene prestazioni, Text database Microsoft (part of Windows 2000 Server) Pagamento, Prestazioni limitate, Facilità d uso Nominum Pagamento, Piene prestazioni, Relational database DHCP 70