Livello di Rete
Transcript
Livello di Rete
Livello di Rete Gaia Maselli [email protected] Parte di queste slide sono state prese dal materiale associato ai libri: 1) B.A. Forouzan, F. Mosharraf – Reti di calcolatori. Un approccio top-down. Copyright © 2013 McGraw-Hill Education Italy srl. Edizione italiana delle slide a cura di Gabriele D’Angelo e Gaia Maselli 2) Computer Networking: A Top Down Approach , 6th edition. All material copyright 1996-2009 J.F Kurose and K.W. Ross, All Rights Reserved 2-1 Pila di protocolli Internet ❒ applicazione: di supporto alle applicazioni di rete ❍ FTP, SMTP, HTTP ❒ trasporto: trasferimento dei messaggi a livello di applicazione tra il modulo client e server di un’applicazione ❍ TCP, UDP ❒ rete: instradamento dei datagrammi dall’origine al destinatario ❍ IP, protocolli di instradamento ❒ link (collegamento): instradamento dei datagrammi attaverso una serie di commutatori di pacchetto ❍ PPP, Ethernet ❒ fisico: trasferimento dei singoli bit applicazione trasporto rete link fisico 1-2 Esempio ❒ ❒ ❒ ❒ ❒ Livello di trasporto: comunicazione tra processi Livello di rete: comunicazione tra host Il livello di rete di H1 prende i segmenti dal livello di trasporto , li incapsula in un datagramma, e li trasmette al router più vicino Il livello di rete di H2 riceve i datagrammi da R7, estrae i segmenti e li consegna al livello di trasporto Il livello di rete dei nodi intermedi inoltra verso il prossimo router H1 No livelli superiori al Network H2 4-3 Funzioni chiave del livello di rete r Inoltro (forwarding): analogia: trasferisce i pacchetti r inoltro: processo di dall’input di un router attraversamento di un all’output del router determinato svincolo appropriato r Instradamento (routing): r instradamento: processo determina il percorso di pianificazione di un seguito dai pacchetti viaggio dall’origine alla dall’origine alla destinazione destinazione m Gli algoritmi di routing creano le tabelle di routing che vengono usate per il forwarding 4-4 Routing e forwarding Algoritmo d’instradamento Tabella di inoltro locale Valore Collegamento d’intestazione d’uscita 0100 0101 0111 1001 3 2 2 1 Routing algorithm: crea la forwarding table (determina i valori inseriti nella tabella) Forwarding table: specifica quale collegamento di uscita bisogna prendere per raggiungere la destinazione Valore nell’intestazione del pacchetto in arrivo 0111 1 3 2 Ogni router ha la propria forwarding table 4-5 Switch e router Packet switch (commutatore di pacchetto): dispositivo che si occupa del trasferimento dall’interfaccia di ingresso a quella di uscita, in base al valore del campo dell’intestazione del pacchetto 1. Link-layer switch (commutatore a livello di collegamento): stabiliscono l’inoltro in relazione al valore del campo nel livello di collegamento (livello 2) 2. Router: stabiliscono l’inoltro in base al valore del campo nel livello di rete (livello 3) 4-6 Host, router, link-layer switch 4-7 Link-layer switch ❒ Instrada pacchetti al livello 2 (collegamento) ❒ Utilizzato per collegare singoli computer all’interno di una rete LAN 2-8 Router ❒ Instrada pacchetti al livello 3 (rete) 2-9 Packet switching ❒ Approccio a circuito virtuale (servizio orientato alla connessione) r Prima che i datagrammi fluiscano, i due sistemi terminali e i router intermedi stabiliscono una connessione virtuale ❒ Approccio a datagramma (servizio senza connessione) ❍ Ogni datagramma viaggia indipendente dagli altri 4-10 Reti a circuito virtuale “il percorso tra origine e destinazione si comporta in modo analogo a un circuito telefonico” r r prestazioni coinvolgimento della rete durante il percorso tra sorgente e destinazione r Il pacchetto di un circuito virtuale ha un numero VC (etichetta di circuito) nella propria intestazione. r Un circuito virtuale può avere un numero VC diverso su ogni collegamento. r Ogni router sostituisce il numero VC con un nuovo numero. 4-11 Rete a circuito virtuale 4-12 Implementazioni Un circuito virtuale consiste in: 1. 2. 3. un percorso tra gli host origine e destinazione numeri VC, uno per ciascun collegamento righe nella tabella d’inoltro in ciascun router. r Il pacchetto di un circuito virtuale ha un numero VC nella propria intestazione che rappresenta un’etichetta di flusso. r Il numero VC del pacchetto cambia su tutti i collegamenti lungo un percorso. m Un nuovo numero VC viene rilevato dalla tabella d’inoltro. 4-13 Tabella d’inoltro Numero VC 12 1 2 3 1 … 32 Numero interfaccia Tabella d’inoltro R1: Interf.in ingresso 22 Nr. VC entrante 12 63 7 97 … Interf. in uscita 2 1 2 3 … Nr. VC uscente 22 18 17 87 … I router mantengono le informazioni sullo stato delle connessioni! - Aggiungono alla tabella d’inoltro una nuova riga ogni volta che stabiliscono una nuova connessione (la cancellano quando la 4-14 connessione viene rilasciata) X25, frame relay, ATM ❒ X.25 ❍ primo esempio di rete orientata alla connessione ❍ prima rete dati pubblica (anni 70) ❍ Per usare X.25 il computer sorgente stabilisce una connessione (con identificativo) con il computer remoto mediante chiamata telefonica ❍ Poi scambio di dati (3 bytes header + 128 byte dati) ❒ Frame Relay ❍ ❍ ❍ Ha soppiantato X.25 negli anni 80 Rete orientata alla connessione (pacchetti in sequenza) senza controllo di flusso o di errore Ancora usata per interconnessione di LAN tra uffici distinti di un’azienda 4-15 ATM (Asynchronous transfer mode) ❒ Rete orientata alla connessione ❒ Progettata nei primi anni 90 ❒ Scopo di unificare voce, dati, televisione via cavo, etc. ❒ Attualmente usata nella rete telefonica per trasportare (internamente) pacchetti IP ❒ Le connessioni vengono chiamate circuiti virtuali (in analogia con quelli telefonici che sono circuiti fisici) ❒ Quando una connessione è stabilita, ciascuna parte può inviare dati (suddivisi in celle di 53 bytes) 4-16 Reti a datagramma r Internet è una rete a datagramma (packet switched) r L’impostazione della chiamata non avviene a livello di rete r I router della rete a datagramma non conservano informazioni sullo stato dei circuiti virtuali r Non c’è il concetto di “connessione” a livello di rete r I pacchetti vengono inoltrati utilizzando l’indirizzo dell’host destinatario. m I pacchetti passano attraverso una serie di router che utilizzano gli indirizzi di destinazione per inviarli e possono intraprendere percorsi diversi. Processo di inoltro in una rete a datagramma 4-18 Tabella d’inoltro Intervallo degli indirizzi di destinazione 4 miliardi di possibili indirizzi Interfaccia da 11001000 00010111 00010000 00000000 a 11001000 00010111 00010111 11111111 0 da 11001000 00010111 00011000 00000000 a 11001000 00010111 00011000 11111111 1 da 11001000 00010111 00011001 00000000 a 11001000 00010111 00011111 11111111 2 altrimenti 3 4-19 Confronta un prefisso dell’indirizzo Corrispondenza di prefisso Interfaccia 11001000 00010111 00010 11001000 00010111 00011000 11001000 00010111 00011 altrimenti 0 1 2 3 Esempi: con: 11001000 00010111 00010110 10100001 Qual è l’interfaccia? con: 11001000 00010111 00011000 10101010 Qual è l’interfaccia? r Quando si verificano corrispondenze multiple si prende la corrispondenza a prefisso più lungo: viene determinata la corrispondenza più lunga all’interno della tabella e si inoltrano i pacchetti sull’interfaccia corrispondente. r Continuità degli indirizzi 4-20 Livello di rete Che cosa si trova all’interno di un router? 4-21 Funzioni del router M Applicazione M Trasporto Ht M Rete Hn Ht M Collegamento messaggio segmento Ht datagramma frame Hn Hl Router Fisico 4-22 Architettura del router Implementa funzionalità del livello di rete Esegue table lookup (a volte implementata nelle porte) (Struttura di commutazione) Implementa livello fisico e di collegamento: I bit vengono ricostruiti a partire dal segnale ricevuto, si estrae il frame e quindi il datagramma, se integro si passa al livello di rete Sposta datagrammi dalla coda di input alla coda di output Accoda datagrammi che vengono incapsulati in frame e tradotti in segnali da trasmettere attraverso il livello fisico 4-23 Porte d’ingresso Livello fisico: ricezione a livello di bit (terminazione elettrica) Livello di collegamento: Es. Ethernet Commutazione decentralizzata: r Determina la porta d’uscita dei pacchetti utilizzando le informazioni della tabella d’inoltro (c’è una copia della tabella memorizzata nella porta di ingresso) r Obiettivo: completare l’elaborazione allo stesso tasso della linea (evitare colli di bottiglia) r Accodamento: se il tasso di arrivo dei datagrammi è superiore a quello di inoltro r Una volta determinata la porta di uscita il pacchetto verrà inoltrato alla struttura di 4-24 commutazione Porte di ingresso in una workstation ❒ Nel caso di workstation o server che funzionano da router (quindi dispositivi non dedicati al routing) ❍ il processore di instradamento è proprio la CPU della workstation ❍ la porta di ingresso coincide con la scheda di rete (es. Ethernet) 4-25 Ricerca nella tabella di inoltro ❒ Deve essere veloce (possibilmente stesso tasso della linea) per evitare accodamenti ❒ Tabella implementata in una struttura ad albero ❍ ❍ Ogni livello dell’albero corrisponde a un bit dell’indirizzo di destinazione Per cercare un indirizzo si comincia dalla radice dell’albero • Se 0 allora sottoalbero di sinistra • Se 1 allora sottoalbero di destra ❍ Ricerca in N passi dove N è il numero di bit nell’indirizzo ❒ Argomento molto studiato, per approfondimenti Survey and taxonomy of IP address lookup algorithms, IEEE Newtork 2001 4-26 Tre tecniche di commutazione 4-27 Commutazione in memoria Switching via memory Prima generazione di router: first generation routers: r Erano tradizionali calcolatori e la commutazione era effettuata sottocomputers il controllowith diretto della CPU. ! traditional switching under direct control r Il pacchetto of CPU veniva copiato nella memoria del processore. r I pacchetti venivano trasferiti dalle porte d’ingresso a quelle ! packet copied to system s memory d’uscita ! speed limited by memory bandwidth (2 bus crossings per datagram) input port (e.g., Ethernet) memory output port (e.g., Ethernet) system bus 4-28 Network Layer 4-25 Commutazione tramite bus r Le porte d’ingresso trasferiscono un pacchetto direttamente r r r r alle porte d’uscita su un bus condiviso, senza intervento del processore di instradamento. Si può trasferire un solo pacchetto alla volta I pacchetti che arrivano e trovano il bus occupato vengono accodati alla porta di ingresso Contesa per il bus: la larghezza di banda della commutazione è limitata da quella del bus. Cisco 5600 opera con bus da 32 Gbps: è sufficiente per router che operano in reti d’accesso o in quelle aziendali 4-29 Commutazione attraverso rete d’interconnessione r Supera il limite di banda di un singolo bus condiviso. r Un crossbar switch è una rete d’interconnessione che consiste di 2n bus che collegano n porte d’ingresso a n porte d’uscita r Tendenza attuale: frammentazione dei pacchetti IP a lunghezza variabile in celle di lunghezza fissa (riassemblati nella porta di uscita). r Switch Cisco 12000: usano una rete d’interconnessione che raggiunge i 60 Gbps nella struttura di commutazione. 4-30 Porte d’uscita r Funzionalità di accodamento: quando la struttura di commutazione consegna pacchetti alla porta d’uscita a una frequenza che supera quella del collegamento uscente. r Schedulatore di pacchetti: stabilisce in quale ordine trasmettere i pacchetti accodati. 4-31 Dove si verifica l’accodamento? ❒ Sia nelle porte di ingresso che nelle porte di uscita ❍ Velocità di commutazione: frequenza alla quale tale struttura può trasferire i pacchetti dalle porte di ingresso a quelle di uscita ❍ Accodamento nelle porte di ingresso – quando la struttura di commutazione ha una velocità inferiore a quello delle porte di ingresso (per non avere accodamento la velocità di commutazione dovrebbe essere n*velocità della linea di ingresso) ❍ Accodamento nelle porte di uscita • Quando la struttura di commutazione ha un rate superiore alla porta di uscita • Quando troppi pacchetti vanno sulla stessa porta di uscita 4-32 Accodamento su porte di ingresso r Oltre alla velocità inferiore della struttura di commutazione r Blocco in testa alla fila (HOL: head-of-the-line blocking): un pacchetto nella coda d’ingresso deve attendere il trasferimento (anche se la propria destinazione è libera) in quanto risulta bloccato da un altro pacchetto in testa alla fila. r Se le code diventano troppo lunghe, i buffer si possono saturare e quindi causare una perdita di pacchetti! 4-33 Accodamento sulle porte di uscita r Se la struttura di commutazione non è sufficientemente rapida nel trasferire i pacchetti, si può verificare un accodamento. r Se troppi pacchetti vanno sulla stessa uscita r Se le code diventano troppo lunghe, i buffer si possono saturare e quindi causare una perdita di pacchetti! 4-34 Quale deve essere la capacità dei buffer? r La regola spannometrica della RFC 3439 diceva che la quantità di buffering dovrebbe essere uguale a una media del tempo di andata e ritorno (RTT ad esempio 250 msec) per la capacità del collegamento C m Es.: C = collegamento da 10 Gbps: buffer 2.5 Gbit r Attuali raccomandazioni dicono che la quantità di buffering necessaria per N flussi è: RTT. C N 4-35 Protocolli del livello di rete IP: Internet Protocol v4 (anche v6) IGMP: Internet Group Management Protocol (multicasting) ICMP: Internet Control Message Protocol (gestione errori) 4-36 ARP: Address Resolution Protocol (associazione indirizzo IP – ind. collegamento) Internet Protocol (IPv4) ❒ Responsabile della suddivisione in pacchetti, dell’inoltro (forwarding), e della consegna dei datagrammi al livello di rete (host to host) ❒ Inaffidabile, senza connessione, basato su datagrammi ❒ Offre un servizio di consegna best effort 4-37 Formato dei datagrammi Numero di versione Lunghezza dell’intestazione (in parole di 4 byte) Tipo di servizio Time to live (si decrementa ogni volta che viene elaborato dal router) Protocollo di livello superiore I datagrammi che trasportano segmenti TCP hanno 40 byte d’intestazione: 20 di intestaz. IP+ 20 di intestaz. TCP 32 bit ver Lungh. Tipo di Intest. servizio Lunghezza Offset Identificatore a 16 bit flag di framm. a 13 bit Tempo di Protoc. di vita residuo livello sup. Checksum dell’intestazione Indirizzo IP origine (32 bit) Indirizzo IP destinazione (32 bit) Campi opzionali Dati (contiene il segmento a livello di trasporto, TCP o UDP) Lunghezza del datagramma (byte) Identificatore, flag, Scostamento (offset) di frammentazione (misurato in unità di 8 byte) Es.: timestamp, registrazione dei percorsi, elenco dei router 4-38 Formato dei datagrammi ❒ Numero di versione: consente al router la corretta interpretazione del datagramma ❍ ❍ 4: IPv4 6: IPv6 ❒ Lunghezza dell’intestazione: poichè un datagramma IP può contenere un numero variabile di opzioni (incluse nell’intestazione), questi bit indicano dove inizia il campo dati. (Intestazione senza opzione = 20 byte) ❒ Tipo di servizio: serve per distinguere diversi datagrammi con requisiti di qualità del servizio diverse ❒ Lunghezza del datagramma: rappresenta la lunghezza totale del datagramma IP inclusa l’intestazione (in byte). In genere non superiore ai 1500 byte. Serve per capire se il pacchetto è arrivato completamente 4-39 Formato dei datagrammi ❒ Identificatore, flag e offset di frammentazione: questi tre campi servono per gestire la frammentazione dei pacchetti ❒ Tempo di vita: o time to live (TTL) è incluso per assicurare che i datagrammi non restino in circolazione per sempre nella rete (in caso per esempio di instradamento ciclico). Il campo viene decrementato a ogni hop e il datagramma viene eliminato in caso il suo TTL = 0 ❒ Protocollo: indica il protocollo a livello di trasporto al quale va passato il datagramma. Questo campo è utilizzato solo quando il datagramma raggiunge la destinazione finale. ❍ ❍ ❍ ❍ ❍ 6: TCP 17: UDP 1: ICMP 2: IGMP 89: OSPF 4-40 Formato dei datagrammi ❒ Checksum dell’intestazione: consente ai router di rilevare errori sui datagrammi ricevuti ❍ ❍ Calcolata solo sull’intestazione Checksum UDP/TCP è calcolata su intero segmento ❒ Indirizzi IP di origine e destinazione: inseriti dall’host che crea il datagramma (dopo aver effettuato una ricerca DNS) ❒ Opzioni: campi che consentono di estendere l’intestazione IP ❒ Dati: ❍ ❍ il campo dati contiene il segmento di trasporto da consegnare alla destinazione può trasportare altri tipi di dati, quali i messaggi ICMP. 4-41 Frammentazione ❒ Un datagramma IP può dover viaggiare attraverso varie reti, ognuna con caratteristiche diverse. Ogni router estrae il datagramma dal frame, lo elabora e lo incapsula in un nuovo frame. ❒ La Maximum Transfer Unit (MTU) è la massima quantità di dati che un frame a livello di collegamento può trasportare. ❒ La MTU varia in base alla tecnologia 4-42 Frammentazione dei datagrammi IP r Differenti tipi di link, differenti MTU (es. 1500b, 1492b). r Datagrammi IP grandi vengono suddivisi (“frammentati”) in datagrammi IP più piccoli. m Un datagramma viene frammentato. m I frammenti saranno riassemblati solo una volta raggiunta la destinazione m I frammenti devono essere riassemblati prima di raggiungere il livello di trasporto m I bit dell’intestazione IP sono usati per identificare e ordinare i frammenti Riassemblaggio Frammentazione: ingresso: un datagramma grande uscita: 3 datagrammi più piccoli Bit nell’intestazione per la frammentazione ❒ Quando un host di destinazione riceve una serie di datagrammi dalla stessa origine deve ❍ ❍ ❍ individuare i frammenti determinare quando ha ricevuto l’ultimo stabilire come debbano essere riassemblati ❒ Identificazione: identificativo associato a ciascun datagramma al momento della creazione (unico per tutti i frammenti) ❒ Flag: 3 bit 1. 2. 3. Riservato Do not fragment: 1 non frammentare, 0 si può frammentare More fragments (M): 1 frammenti intermedi, 0 ultimo frammento ❒ Offset (Scostamento laterale): specifica l’ordine del frammento all’interno del datagramma originario 4-44 Frammentazione e riassemblaggio 4-45 Frammentazione: offset Payload di un datagramma con un dimensione di 4000 byte (+ 20 byte di intestazione IP) suddiviso in tre frammenti 4-46 Esempio di frammentazione identificazione Lunghezza totale More fragments In totale vengo trasferiti 40 byte in più: ci sono due header aggiuntivi!!! 4-47 Frammentazione di un frammento 4-48 Riassemblaggio a destinazione ❒ Il primo frammento ha un valore del campo offset pari a 0 ❒ L’offset del secondo frammento si ottiene dividendo per 8 la lunghezza del primo frammento ❒ Il valore del terzo frammento di ottiene dividendo per 8 la lunghezza del secondo frammento ❒ … ❒ L’ultimo frammento ha il bit M impostato a 0 4-49 Indirizzamento IPv4 r Indirizzo IP: r 32 bit (4 byte) in notazione decimale puntata (ciascun byte dell’indirizzo viene indicato in forma decimale) 223.1.1.1 223.1.1.2 223.1.1.4 223.1.2.1 223.1.2.9 r Ogni interfaccia di host e router di Internet ha un indirizzo IP globalmente univoco a 32 bit. r Interfaccia: è il confine tra host e collegamento fisico. m m m I router devono necessariamente essere connessi ad almeno due collegamenti. Un host, in genere, ha un’interfaccia A ciascuna interfaccia è associato un indirizzo IP 223.1.1.3 223.1.3.27 223.1.2.2 223.1.3.2 223.1.3.1 223.1.1.1 = 11011111 00000001 00000001 00000001 223 1 1 1 4-50 Spazio degli indirizzi ❒ Numero totale indirizzi 232 ovvero più di 4 miliardi ❒ Notazione ❍ Binaria ❍ Decimale puntata ❍ Esadecimale (usata nella programmazione di rete) 4-51 Gerarchia nell’indirizzamento ❒ Il prefisso può avere lunghezza ❍ Fissa: indirizzamento con classi ❍ Variabile: indirizzamento senza classi 4-52 Indirizzamento con classi ❒ Necessità di supportare sia reti piccole che grandi ❒ 3 lunghezze di prefisso (8,16,24) 4-53 Pros and cons ❒ Una volta individuato un indirizzo si può facilmente risalire alla classe e la lunghezza del prefisso Problema dell’esaurimento degli indirizzi ❒ La classe A può essere assegnata solo a 128 organizzazioni al mondo, ognuna con 16.777.216 nodi ❍ ❍ La maggior parte degli indirizzi andava sprecata Poche organizzazioni (solo 128) potevano usufruire di indirizzi di classe A ❒ Classe B: stessi problemi della A ❒ Classe C: pochi indirizzi (256) per rete 4-54 Indirizzamento senza classi ❒ Necessità di maggiore flessibilità nell’assegnamento degli indirizzi ❒ Vengono utilizzati blocchi di lunghezza variabile che non appartengono a nessuna classe ❒ Un indirizzo non è in grado di definire da solo la rete (o blocco) a cui appartiene ❒ La lunghezza del prefisso è variabile (da 0 a 32 bit) e viene aggiunta all’indirizzo separata da uno slash 4-55 NotazioneCIDR CIDR: Classless InterDomain Routing (RFC 1519) m È la strategia di assegnazione degli indirizzi. m Struttura dell’indirizzo: l’indirizzo IP viene diviso in due parti e mantiene la forma decimale puntata a.b.c.d/n, dove n indica il numero di bit nella prima parte dell’indirizzo. Parte di rete Parte host 11001000 00010111 00010000 00000000 200.23.16.0/23 4-56 Estrazione delle informazioni n è la lunghezza del prefisso 1. Il numero di indirizzi nel blocco è dato da N = 232-n 2. Per trovare il primo indirizzo si impostano a 0 tutti i bit del suffisso (32-n) 3. Per trovare l’ultimo indirizzo si impostano a 1 tutti i bit del suffisso (32-n) ❒ Se 4-57 Maschera e indirizzo di rete ❒ Maschera dell’indirizzo: numero composto da 32 bit in cui i primi n bit a sinistra sono impostati a 1 e il resto (32-n) a0 ❒ Mediante la maschera si ottiene l’indirizzo di rete che è usato nell’instradamento dei datagrammi verso la destinazione 4-58 Indirizzi IP speciali ❒ L’indirizzo 0.0.0.0 è utilizzato dagli host al momento del boot ❒ Gli indirizzi IP che hanno lo 0 come numero di rete si riferiscono alla rete corrente ❒ L’indirizzo composto da tutti 1 permette la trasmissione broadcast sulla rete locale (in genere una LAN) ❒ Gli indirizzi con numero di rete opportuno e tutti 1 nel campo host permettono l’invio di pacchetti broadcast a LAN distanti ❒ Gli indirizzi nella forma 127.xx.yy.zz sono riservati al loopback (questi pacchetti non vengono immessi nel cavo ma elaborati localmente e trattati 4-59 come pacchetti in arrivo) Come ottenere un blocco di indirizzi D: Cosa deve fare un amministratore di rete per ottenere un blocco di indirizzi IP da usare in una sottorete? R: deve contattare il proprio ISP e ottenere un blocco di indirizzi contigui con un prefisso comune Otterrà indirizzi della forma a.b.c.d/x Dove x bit indicano la sottorete e (32-x) bit indicano i singoli dispositivi dell’organizzazione N.B. i 32-x bit possono presentare un’aggiuntiva struttura di sottorete 4-60 Indirizzi IP alla fonte D: Ma come fa un ISP, a sua volta, a ottenere un blocco di indirizzi? R: ICANN: Internet Corporation for Assigned Names and Numbers m Ha la responsabilità di allocare i blocchi di indirizzi. m Gestisce i server radice DNS. m Assegna e risolve dispute sui nomi di dominio. 4-61 Come ottenere un indirizzo IP D: Cosa bisogna fare per assegnare un indirizzo IP a un host? r Indirizzo assegnato o indirizzo temporaneo? r Configurazione manuale: m Windows: control-panel->network->configuration->tcp/ip>properties m UNIX: /etc/rc.config r DHCP: Dynamic Host Configuration Protocol: r permette a un host di ottenere un indirizzo IP in modo automatico m “plug-and-play” m Largamente usato dove gli host si aggiungono e si rimuovono dalla rete con estrema frequenza (indirizzo temporaneo) m Può essere configurato in modo che un dato host riceva un indirizzo IP persistente (ogni volta che entra in rete gli viene assegnato lo stesso 4-62 indirizzo) DHCP: Dynamic Host Configuration Protocol Obiettivo: consentire all’host di ottenere dinamicamente il suo indirizzo IP dal server di rete È possibile rinnovare la proprietà dell’indirizzo in uso m È possibile il riuso degli indirizzi (quantità di indirizzi inferiore al numero totale di utenti) m Supporta anche gli utenti mobili che si vogliono unire alla rete m Utilizzato nelle reti residenziali di accesso a Internet e nelle LAN wireless, dove gli host si aggiungono e si rimuovono dalla rete con estrema frequenza m 4-63 DHCP: Dynamic Host Configuration Protocol RFC 2131 Protocollo client-server Client: host appena connesso che desidera ottenere informazioni sulla configurazione della rete, non solo un indirizzo IP Server: • ogni sottorete in genere dispone di un server DHCP • Altrimenti router fa da agente di appoggio DHCP, conosce un server DHCP per quella rete Panoramica di DHCP: m m m m L’host invia un messaggio broadcasts “DHCP discover” Il server DHCP risponde con “DHCP offer” L’host richiede l’indirizzo IP: “DHCP request” Il server DHCP invia l’indirizzo: “DHCP ack” 4-64 Dynamic Host Configuration Protocol (DHCP) ❒ Assegnazione automatizzata degli indirizzi ai singoli host o router ❒ Programma client/server di livello applicazione ❒ Quando un host vuole entrare a far parte di una rete necessita di ❍ Indirizzo IP ❍ Maschera di rete ❍ Indirizzo del router ❍ Indirizzo DNS 4-65 Formato messaggi DHCP ❒ Il client invia un messaggio di richiesta, il server di risposta 4-66 DHCP 4-67