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