Diapositiva 1 - Docenti.unina - Università degli Studi di Napoli

Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Il livello di rete
prof. G. Russo ([email protected])
a.a. 2015-2016
prof. Guido Russo
1
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
TCP/IP
La suite di protocolli TCP/IP (anche Internet Protocol Suite) è l'architettura attuale di Internet.
L’insieme dei protocolli che costituiscono in TCP\IP si siluppano su quattro livelli:
•
•
•
•
Livello di Collegamento, che gestisce l'interfacciamento tra l'applicazione e il link fisico.
Livello di Rete, che gestisce il movimento nella rete delle unità di informazione.
Livello di Trasporto, che realizza il flusso dei dati tra due host della rete.
Livello di Applicazione, che gestisce i dettagli di ciascuna particolare applicazione di rete.
a.a. 2015-2016
prof. Guido Russo
2
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Livelli TCP/IP
In genere TCP/IP viene descritto con 3-5 livelli:
4 applicazione
Consiste di applicativi e processi che usano la rete
3 trasporto
Gestione collegamento end-to-end (anche rilevamento
e correzione di errori)
2 internet
Definisce il datagram e gestisce il routing dei dati
1 accesso alla rete
Consiste di routine per accedere alle reti fisiche
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
TCP/IP
a.a. 2015-2016
prof. Guido Russo
4
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
TCP/IP
Application
Transport
Internet
Transmission Control
Protocol (TCP)
User Datagram
Protocol (UDP)
Network
Interface
Hardware
a.a. 2015-2016
prof. Guido Russo
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
TCP/IP
a.a. 2015-2016
prof. Guido Russo
6
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Livelli ISO/OSI e protocolli TCP/IP
Protocolli TCP/IP
7 applicazione TFTP, BOOTP, SNMP, FTP, SMTP, MIME
6 presentazione Nessun protocollo
5 sessione
Nessun protocollo
4 trasporto
3 rete
TCP, UDP
2 data-link
1 fisico
SLIP, CSLIP, PPP, ARP, RARP, MTU
IP, ICMP, RIP, OSPF, BGP, IGMP
ISO 2110, IEEE 802, IEEE 802.2
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
TCP/IP: incapsulazione
Dati
applicazione
Header
Dati
Header
Header
Dati
Header
Header
Dati
trasporto
internet
accesso alla rete
Header
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
TCP/IP: Terminologia



Ogni livello ha la sua struttura dati, compatibile con quelle degli altri livelli
Anche i nomi dei dati trasmessi dipendono dal livello ed anche dall’utilizzo di TCP
(Transmission Control Protocol) oppure UDP (User Datagram Protocol)
In genere, le reti sottostanti usano packet oppure frame per i dati trasmessi
Applicazioni che
usano TCP
Applicazioni che
usano UDP
stream
message
trasporto
segment
packet
internet
datagram
datagram
frame
frame
applicazione
accesso alla rete
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
TCP/IP: Terminologia




Gli Internet gateway sono comunemente chiamati IP router
Terminologia tradizionale per TCP/IP solo 2 tipi di device: host e gateway
Terminologia corrente:

Router: sposta dati tra diverse reti

Gateway: sposta dati tra diversi protocolli
(ad es., mail tra TCP/IP ed OSI)
In molti testi i termini sono intercambiabili
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
IP
prof. G. Russo ([email protected])
ing. A. Violetta ([email protected])
©2008
a.a. 2015-2016
prof. Guido Russo
11
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Il livello IP
Internet Protocol (IP)
Application
Transport
Internet
Network
Interface
Hardware
a.a. 2015-2016
Internet Control Message
Protocol (ICMP)
Address Resolution
Protocol (ARP)
Reverse Address
Resolution Protocol (RARP)
prof. Guido Russo
12
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Il protocollo IP
IP è il protocollo principale della suite di protocolli TCP/IP. Esso offre un servizio di trasporto
datagrammi, l'unità di informazione usata in questo livello, inaffidabile e non orientato alla
connessione (connectionless). Prima di descrivere le caratteristiche del protocollo IP,
illustriamo il formato di un datagramma IP.
a.a. 2015-2016
prof. Guido Russo
13
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Il datagramma IP (1/2)
• version specifica la versione di IP (Esistono due versioni attualmente la 4 e la 6).
• IHL (Internet header length), specifica la lunghezza dell'header in parole di 32 bit .
• TOS (type of service) specifica la qualità del servizio richiesta dall’utente .
• I 16 bit successivi dell'header contengono la total length del datagramma , incluso l'header
stesso. A differenza del campo IHL, il campo total length valuta in byte anziché in parole.
Pertanto la massima dimensione che può raggiungere un datagramma IP è pari a 65535
byte.
• TTL (time to live) ha la funzione di individuare i datagrammi che sono presenti nei
percorsi ciclici e scartarli
• protocol è una semplice chiave di demultiplazione che identifica il protocollo di livello
superiore al quale dovrebbe essere passato questo datagramma IP.
a.a. 2015-2016
prof. Guido Russo
14
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Il datagramma IP (2/2)
• L'header checksum è calcolato solo sull'header del datagramma IP.
• source address e destination address. Il secondo rappresenta la chiave per l'invio del
datagramma: ogni datagramma contiene un indirizzo completo della destinazione in
modo che presso ciascun router possano essere prese le decisioni di inoltro. L'indirizzo di
partenza è necessario per consentire ai destinatari di decidere se accettare il datagramma e
per abilitarli alla risposta.
• Infine, al termine dell'header ci può essere un certo numero di options la cui presenza può
essere determinata esaminando il campo IHL. Un certo numero di byte aggiuntivi di
valore 0 sono aggiunti (padding) se necessario. Questo assicura che l'header è sempre un
multiplo di 32 bit.
a.a. 2015-2016
prof. Guido Russo
15
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Caratteristiche del servizio offerto da IP
• Inaffidabile
o non ci sono garanzie che un datagramma IP raggiunga con successo la propria
destinazione. Se il datagramma viene perso, alterato, consegnato all'indirizzo
sbagliato o in ogni caso non riesce a raggiungere la destinazione prescelta, il
protocollo non prevede nessuna azione di controllo.
• Connectionless
o ogni datagramma è gestito indipendentemente dagli altri e ciò implica che i
datagrammi possono arrivare a destinazione non nello stesso ordine in cui sono stati
inviati. Ad esempio, se un mittente spedisce due datagrammi consecutivi (prima A e
poi B) alla stessa destinazione, ognuno è instradato indipendentemente e può
prendere strade diverse, e B potrebbe arrivare prima di A.
a.a. 2015-2016
prof. Guido Russo
16
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Frammentazione e Ricomposizione
Il datagramma IP deve attraversare reti eterogenee e ciascuna tecnologia di rete ha un'unità
di trasmissione massima MTU (Maximum Trasmission Unit), che è la dimensione massima
di un datagramma IP che può essere portato in un frame (Ethernet può accettare
datagrammi fino a 1500 byte) . IP confronta la MTU con la taglia del datagramma e compie
la frammentazione se necessario. La frammentazione può aver luogo nell'host trasmittente o
in un router intermedio. Quando un datagramma IP è frammentato, esso non è ricomposto
fino a quando non raggiunge la destinazione finale. A questo punto, il livello IP nella
destinazione finale effettua la ricomposizione ossia la deframmentazione del datagramma.
Nella frammentazione sono usati i seguenti campi dell'header:
• identification, contiene un valore univoco per ogni datagramma IP che l'host sorgente
invia.
• flags contiene il "bit more fragments". Tale bit è 1 per ogni frammento di un datagramma
eccetto il frammento finale.
• fragmentation offset contiene l'offset (multiplo di 8 byte) di un frammento dall'inizio del
datagramma.
Sebbene la frammentazione IP appare trasparente per i livelli di trasporto (TCP, UDP), il
grande svantaggio della frammentazione è rappresentato dal fatto che se un frammento si
perde durante il percorso, l'intero datagramma deve essere ritrasmesso.
a.a. 2015-2016
prof. Guido Russo
17
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Indirizzi IP
32 Bits
Network
a.a. 2015-2016
Host
prof. Guido Russo
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Indirizzi IP
32 Bits
Network
8 Bits
a.a. 2015-2016
Host
8 Bits
8 Bits
prof. Guido Russo
8 Bits
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Indirizzi IP
32 Bits
Network
Host
8 Bits
8 Bits
172 .
16
a.a. 2015-2016
8 Bits
8 Bits
. 122 . 204
prof. Guido Russo
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Classi di indirizzi IP

Class A:
N
H
H
H

Class B:
N
N
H
H

Class C:
N
N
N
H

Class D: per multicast

Class E: per scopi di ricerca
a.a. 2015-2016
prof. Guido Russo
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Classi di indirizzi IP
a.a. 2015-2016
8 bits
8 bits
8 bits
8 bits
Class A
Network
Host
Host
Host
Class B
Network
Network
Host
Host
Class C
Network
Network
Network
Host
Class D
Multicast
Class E
Reserved
prof. Guido Russo
22
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Range indirizzi di rete
# Bits
Class A:
# Bits
Class B:
# Bits
Class C:
a.a. 2015-2016
1
7
24
0
network #
host #
14
16
1
1
1
0
1
1
1
21
8
1
1
0
network #
host #
network #
prof. Guido Russo
host #
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Range indirizzi di rete: classe A

Gli indirizzi di classe A vanno da 0 a 127 incluso, perchè hanno sempre il primo bit a 0
quindi avremo per la classe A il seguente schema di indirizzi 0xxxxxxx, se
consideriamo tutti i possibili valori da da re alle x otteniamo il range totale:


00000000 = 0
01111111 = 127

Primo byte = indirizzo di rete, 3 bytes rimanenti = indirizzi degli host

Il formato degli indirizzi di classe A è: network.host.host.host.
a.a. 2015-2016
prof. Guido Russo
24
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Range indirizzi di rete: classe B

Gli indirizzi di classe B vanno da 128 a 191 incluso, perchè hanno sempre il primo bit a
1 e il secondo bit a 0 quindi avremo per la classe B il seguente schema di indirizzi
10xxxxxx, se consideriamo tutti i possibili valori da dare alle x otteniamo il range totale:


10000000 = 128
10111111 = 191

Primi 2 bytes = indirizzo d irete, ultimi 2 bytes = indirizzi degli host

Il formato di un indirizzo di classe B è : network.network.host.host
a.a. 2015-2016
prof. Guido Russo
25
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Range indirizzi di rete: classe C

Gli indirizzi di classe C vanno da 192 a 223 incluso, perchè hanno sempre il primo e il
secondo bit a 1 e il terzo bit a 0 quindi avremo per la classe C il seguente schema di
indirizzi 110xxxxx, se consideriamo tutti i possibili valori da dare alle x otteniamo il
range totale:


11000000 = 192
11011111 = 223

Primi 3 bytes = indirizzi di rete, ultimo byte = indirizzi degli host.

Il formato degli indirizzi di classe C è: network.network.network.host
a.a. 2015-2016
prof. Guido Russo
26
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Range indirizzi di rete: classe D ed E



Gli indirizzi tra 224 e 255 sono riservati per le classi D ed E.
La Classe D che ha range da 224 a 239 è utilizzata per gli indirizzi multicast.
La classe E che ha range da 240 a 255 è utilizzata per scopi scientifici.
a.a. 2015-2016
prof. Guido Russo
27
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Range indirizzi di rete
a.a. 2015-2016
prof. Guido Russo
28
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Range indirizzi di rete, la regola del primo ottetto
High Order
Bits
a.a. 2015-2016
Octet in
Decimal
Address
Class
0
1 – 126
A
10
128 – 191
B
110
192 – 223
C
prof. Guido Russo
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Indirizzi di rete: Indirizzi privati

Gli indirizzi privati sono indirizzi che possono essere uati in una rete privata ma non
routabili attraverso internet.
Classi di indirizzi
Indirizzi privati
Classe A
Da 10.0.0.0 fino a 10.255.255.255
Classe B
Da 172.16.0.0 fino a 172.31.255.255
Classe C
Da 192.168.0.0 fino a 192.168.255.255
a.a. 2015-2016
prof. Guido Russo
30
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Indirizzi di rete: Tipi di Indirizzi di broadcast

Layer 2 broadcasts

Inviati a tutti gli host della LAN.

Broadcasts (layer 3)

Inviati a tutti gli host della rete.

Unicast

Inviati ad un sigolo host destinatario.

Multicast

Inviati da un unico host sorgente a diversi host su reti diverse.
a.a. 2015-2016
prof. Guido Russo
31
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Broadcast layer 2

Conosciuto anche come broadcast hardware, di solito non attraversa I confini della
LAN, a meno chà non diventi un pacchetto unicast.

Il tipico indirizzo hardware è 6 bytes ed è di questo tipo: 0c-43-a4-f3-12-c2
a.a. 2015-2016
prof. Guido Russo
32
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Broadcast

I messaggi di broadcast sono tenuti a rintracciare tutti gli host su un dominio di Broadcast

Un esempio: L’indirizzo di rete 172.16.0.0/255.255.0.0 ha indirizzo di broadcast 172.16.255.255, ha
tutti i bit degli host a 1.
a.a. 2015-2016
prof. Guido Russo
33
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Unicast e Multicast

Unicast


Messaggio diretto ad un host specifico
Multicast

Permette comunicazioni punto-multipunto, è simile al broadcast,ma fuonziona in
maniera diversa. Il funzionamento principale del multicast è che abilita recipienti
multipli per riceve messaggi senza diffondere I messaggi a tutti gli host sul
dominio di broadcast.

Multicast funzione inviando messaggi o dati agli indirizzi IP multicast group.

La differenza sostanziale tra messaggi multicast e messaggi broadcast è che con la
comunicazione multicast, I pacchetti, in teoria, sono inviati solo agli host
specificati.
a.a. 2015-2016
prof. Guido Russo
34
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Subnetting e supernetting

Il Subnetting prende una rete, di solito grande, e la divide in reti di dimensioni più piccole,
quindi sottoreti.

Il Subnetting di una rete di classe C : 192.168.1.0/255.255.255.128 (192.168.1.1-192.168.1.126)

Il Supernetting è la fusione di piccole reti per ottenere un numero maggiore di indirizzi per gli
host

Il Supernetting di 4 reti di calsse C: 192.168.1.0/255.255.252.0 (192.168.0.0/24 + 192.168.1.0/24 +
192.168.2.0/24 + 192.168.3.0/24)
a.a. 2015-2016
prof. Guido Russo
35
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Perché il subnetting?
Il subnetting di una rete comporta diversi vantaggi:
• Minor spreco di indirizzi, in quanto è possibile scegliere il numero di host che faranno parte
della sottorete.
• Riduzione del traffico di rete, in quanto si riduce il dominio di collisione (broadcast domain).
• Miglioramento delle performance della rete.
a.a. 2015-2016
prof. Guido Russo
36
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Fare subnetting
Il subnetting consiste nell'utilizzare alcuni bit "presi in prestito" dalla parte host
dell'indirizzo di rete. E' possibile procedere alla suddivisione della rete in sottoreti più
piccole tramite i seguenti passi:
• Determinare il numero di sottoreti necessarie
E' necessario tenere presente che il numero di subnet che si possono creare è dato da
2x-2 dove x è rappresentato dai bit presi in prestito dalla parte host dell'indirizzo da
subnettare.
• Determinare il numero di host per ogni sottorete
Questo valore è dato da 2y-2 dove y è il numero di bit rimasti per la rappresentazione
degli host.
• Determinare il numero di host per subnet.
Questo valore è dato da 256-z, dove z rappresenta il valore della subnetmask. Esempio:
con una subnetmask 255.255.255.224 avremmo avuto 256-224=32. Questo valore è il
numero di host per subnet, per ottenere sol gli host validi bisogna sottrarre due al
numero di host totali in quanto si devono sottrare gli indirizzi della subnet e del
brodcast.
• Determinare degli indirizzi di broadcast e network delle subnet.
Sono gli indirizzi in cui rispettivamente i bit della parte host sono settati a 1(broadcast) e
a 0(network);
a.a. 2015-2016
prof. Guido Russo
37
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Indirizzamento senza subnet
172.16.0.0
Network 172.16.0.0
a.a. 2015-2016
prof. Guido Russo
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Indirizzamento con subnet
172.16.3.0
172.16.4.0
172.16.1.0
172.16.2.0
Network 172.16.0.0
a.a. 2015-2016
prof. Guido Russo
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Fare subnetting: esempio
172.16.2.200
172.16.3.5
E0
E1
172.16.2.2
172.16.3.100
172.16.2.160
172.16.3.150
Routing Table
Network
Interface
a.a. 2015-2016
172.16.0.0
E0
172.16.0.0
E1
prof. Guido Russo
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Fare subnetting: esempio
172.16.2.200
172.16.3.5
E0
E1
172.16.2.2
172.16.3.100
172.16.2.160
172.16.3.150
IP: 172.16.2.1
IP: 172.16.3.1
Routing Table
Network
Interface
172.16
Network
a.a. 2015-2016
.
2
Subnet
.
160
Host
172.16.0.0
E0
172.16.0.0
E1
prof. Guido Russo
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Fare subnetting: esempio
172.16.2.200
172.16.3.5
E0
E1
172.16.2.2
172.16.3.100
172.16.2.160
172.16.3.150
IP: 172.16.2.1
IP: 172.16.3.1
New Routing Table
Network
Interface
172.16
Network
a.a. 2015-2016
.
2
Subnet
.
160
Host
172.16.2.0
E0
172.16.3.0
E1
prof. Guido Russo
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Subnetmask


E’ assegnato ad ogni host così che ogni host nella rete è a conoscenza di quali bit della parte host
dell’indirizzo sono utilizzati per gli indirizzi di subnet.
E’ un valore di 32 bits che permette al destinatatio del pacchetto IP di distinguere la parte
network dalla parte host dell’indirizzo ricevuto
a.a. 2015-2016
prof. Guido Russo
43
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Subnetmask
Network
IP
Address
172
Host
16
0
Network
Default
Subnet
Mask
255
Host
255
Network
8-bit
Subnet
Mask
a.a. 2015-2016
255
0
255
prof. Guido Russo
0
0
Subnet
Host
255
0
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Subnetmask: equivalenti decimali
a.a. 2015-2016
128
64
32
16
8
4
2
1
1
0
0
0
0
0
0
0
=
128
1
1
0
0
0
0
0
0
=
192
1
1
1
0
0
0
0
0
=
224
1
1
1
1
0
0
0
0
=
240
1
1
1
1
1
0
0
0
=
248
1
1
1
1
1
1
0
0
=
252
1
1
1
1
1
1
1
0
=
254
1
1
1
1
1
1
1
1
=
255
prof. Guido Russo
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Subnetmask senza subnetting o subnetmask di default
Network
Host
172.16.2.160
10101100
00010000
00000010
10100000
255.255.0.0
11111111
11111111
00000000
00000000
10101100
00010000
00000000
00000000
172
16
a.a. 2015-2016
prof. Guido Russo
0
0
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Subnetmask di subnet
Network
Subnet
Host
172.16.2.160
10101100
00010000
00000010
10100000
255.255.255.0
11111111
11111111
11111111
00000000
10101100
00010000
00000010
00000000
172
a.a. 2015-2016
16
prof. Guido Russo
2
0
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Esempio subnetting indirizzo classe C

Esempio:

192.168.10.0 = Indirizzo di rete

255.255.255.192 = Subnetmask

Quante subnet?

Poichè 192 in binario ha 2 bits ad uno (11000000), la risposta sarà 22 – 2 = 2.

Quanti host per subnet?

Abbiamo 6 bit per gli host (11000000), così la risposta è 26 – 2 = 62 hosts
a.a. 2015-2016
prof. Guido Russo
48
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Esempio subnetting indirizzo classe C



Quali sono le subnet valide?

256 - 192= 64, che è la prima subnet

64 + 64 = 128. 128 + 64 = 192, che è invalida perchè è la subnetmask

Le nostre due subnet valide sono 64 and 128.
Qual’è l’indirizzo di broadcast per ogni subnet?

Il numero precedente il valore della prossima subnet, nell’esempio 127 per la
subnet 64 e 191 per la subnet 128.
Quali sono gli host validi?

Gli indirizzi compresi tra gli estremi di ogni indirizzo di subnet e broadcast, nel
nostro esempio 65-126 per la subnet 64 e 129-190 per la subnet 128
a.a. 2015-2016
prof. Guido Russo
49
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
ICMP
prof. G. Russo ([email protected])
ing. A. Violetta ([email protected])
©2008
a.a. 2015-2016
prof. Guido Russo
50
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Internet control message protocol

Fornisce messaggi di errori, messaggi di stato e messaggi di amministrazione tra
gateway ed host

I messaggi si riferiscono al funzionamento di IP

Usa IP per inviare i messaggi
Application
Transport
Destination
Unreachable
ICMP
Echo (Ping)
Internet
Network
Interface
Hardware
Other
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Internet control message protocol
Servizi di indicazione di errori e di stato:

superamento tempo massimo di durata del datagram

parametro inintellegibile

destinazione irraggiungibile

rallentamento della sorgente

richiesta di eco e relativa risposta (ping)

reindirizzamento

registrazione del tempo e relativa risposta

richiesta di informazioni e relativa risposta

richiesta di maschere degli indirizzi e relativa risposta
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Internet control message protocol: test
B è raggiungibile?
A
B
Generato dal comando ping
a.a. 2015-2016
prof. Guido Russo
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Internet control message protocol: test
B è raggiungibile?
Si , eccomi
B
A
ICMP Echo Request
a.a. 2015-2016
prof. Guido Russo
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Internet control message protocol: test
B è raggiungibile?
Si , eccomi
B
A
ICMP Echo Request
ICMP Echo Reply
a.a. 2015-2016
prof. Guido Russo
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Principali componenti di rete
prof. G. Russo ([email protected])
ing. A. Violetta ([email protected])
©2008
a.a. 2015-2016
prof. Guido Russo
56
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Principali componenti di una rete
L2-4 Switches
Gigabit
Switches
L3
Switches
10/100
Switches
Routers
Routers
a.a. 2015-2016
A.A. 2007-2008
prof. Guido Russo
57
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Principali componenti di una rete
Chassis
Switches
Access Device
Platforms
Optical Networking & CWDM Platforms
a.a. 2015-2016
A.A. 2007-2008
prof. Guido Russo
58
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Bridges


Un bridge è uno switch a due porte.
Precedentemente c’erano altri tipi di bridges, I translation bridge che univano due tipi di
reti differenti, tipo Ethernet e Token Ring.
a.a. 2015-2016
prof. Guido Russo
59
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Switches
Switch
Me
mo
ry
Switch Layer 2/3
a.a. 2015-2016
prof. Guido Russo
60
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Switches
Lo switch è un dispositivo in grado di instradare i pacchetti di dati in maniera point to
point. Questo è possibile perchè lo switch, al suo interno, ha una taballa di tutti gli indirizzi
delle schede di rete collegate e quando gli arriva un pacchetto sa chi è il destinatario e lo
invia solo a lui. Questo permette di risolvere il problema del broadcast che si verificava
negli hub, risparmiando quindi notevole banda.
2
1
a.a. 2015-2016
prof. Guido Russo
61
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Caratteristiche architetturali degli switches
Front to back cooling
Console port
RJ45
Compact Flash slot
1RU
4 x GbE SFP ports
a.a. 2015-2016
48 x 10/100Base-T RJ45
prof. Guido Russo
62
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Caratteristiche architetturali degli switches
Power Supply - 70W
CPU – 400 MHz
SDRAM 64M, 128M, or 256M10
Switching Chips
Flash Memory 32MB
Encryption slot
Phys
Dual GBIC slots
48 x 10/100 Base T(X) ports
a.a. 2015-2016
prof. Guido Russo
Console port
RJ45
63
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Caratteristiche architetturali degli switches
PHYs
PAC interface
Switch Chip
Marvel Prestera EX115
(37.6Gbps 13Mpps)
CPU – 400Mhz
DRAM – 128MB
(up to 256 or 512MB)
IPv6 Accelerator
Interface (10Gbps)
Bay 2
Bay 1
32MB Packet Buffer
Memory
32MB Flash
Dual Hot Swappable PSUs
a.a. 2015-2016
prof. Guido Russo
64
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Caratteristiche architetturali degli switches
SFP ports (Bay)
Switch Chips
SDRAM – 128MB
(up to 256 or
512MB)
Dual Hot Swappable PSUs
a.a. 2015-2016
prof. Guido Russo
65
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Caratteristiche architetturali degli switches
PHYs
IPv6 Accelerator card
Fabric Adaptors
CPU – 350Mhz
Bay 2 (PSU)
a.a. 2015-2016
Bay 1(FOM)
prof. Guido Russo
66
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Routers


Lo scopo di un router è di esaminare I pacchetti entranti, scegliere il miglior percorso della rete
per instradarli verso la destinazione
Routers lavorano a livello Network.
a.a. 2015-2016
prof. Guido Russo
67
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Routers


Un router può connettere differenti reti o sottoreti.
Un router connette:

LAN a LANs

LANs a WANs

WANs a WANs
a.a. 2015-2016
prof. Guido Russo
68
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Caratteristiche architetturali dei routers
RAM
NVRAM
Flash ROM
Console
Interfaces
a.a. 2015-2016
Auxiliary
prof. Guido Russo
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
ARP - RARP
prof. G. Russo ([email protected])
ing. A. Violetta ([email protected])
©2008
a.a. 2015-2016
prof. Guido Russo
70
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Il protocollo ARP
Due host possono comunicare direttamente solo se sono collegati alla stessa rete fisica
• Per potersi scambiare informazioni devono conoscere i rispettivi indirizzi fisici
• Il protocollo IP consente di individuare univocamente un host tramite un
indirizzo logico (indirizzo IP)
• Tutte le applicazioni usano gli indirizzi logici ed ignorano la rete fisica. Ma per
inviare un messaggio occorre necessariamente conoscere anche l’indirizzo fisico
• Pertanto, serve un meccanismo di corrispondenza tra gli indirizzi logici e gli
indirizzi fisici. Tale meccanismo è offerto dal protocollo ARP (Address Resolution
Protocol)
a.a. 2015-2016
prof. Guido Russo
71
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Il protocollo ARP
Uno scenario tipico:
• A deve spedire un datagram a B, host appartenente alla medesima rete logica (cioè,
alla medesima rete IP)
• A conosce l’indirizzo IP di B, ma non il suo indirizzo fisico
• Soluzione tramite ARP:
• A manda in broadcast a tutti gli host della rete un pacchetto contenente
l’indirizzo di rete di B, allo scopo di conoscere l’indirizzo fisico di B
• B riconosce il suo indirizzo di rete e risponde ad A
• Finalmente A conosce l’indirizzo fisico di B, quindi può spedire il datagram a B
a.a. 2015-2016
prof. Guido Russo
72
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Il protocollo ARP: il pacchetto
• Hardware Type:„definisce a che tipo di livello 2 si
riferirà l’indirizzo hardware (1 per Ethernet)
•„Protocol Type:„definisce a che tipo di livello 3 si
riferirà l’indirizzo network (0x0800 per IP)
•„HLEN, PLEN: „lunghezza degli indirizzi di
livello 2 e 3
•„Operation:„Tipo di operazione richiesta (ARP
Req, ARP Reply,…)
•„Indirizzi Sender e Destination di livello
Hardware e Network
Pacchetto ARP
a.a. 2015-2016
prof. Guido Russo
73
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Il protocollo ARP
Quindi il protocollo ARP è usato per tradurre gli indirizzi IP in indirizzi MAC che
caratterizzano univocamente la scheda di rete dell’host. La traduzione è fatta solo per i
pacchetti IP uscenti perché è in questo caso che vengono create le intestazioni IP.
La traduzione si svolge con la visita di una tabella chiamata tabella ARP che è mantenuta
in memoria e dispone di N righe (una per ogni host) e di due colonne (indirizzo IP e
indirizzo MAC).
Ogni host ha una propria tabella ARP per ognuna delle sue interfacce hardware
Quando si traduce un indirizzo IP in uno MAC, si esegue una ricerca nella tabella sul valore
dell'indirizzo IP.
Indirizzo IP
Indirizzo MAC
223.1.2.1
08-00-39-00-2F-C3
223.1.2.3
08-00-5A-21-A7-22
223.1.2.4
08-00-10-99-AC-54
Tabella ARP
a.a. 2015-2016
prof. Guido Russo
74
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Il protocollo ARP
La tabella ARP è necessaria perché l'indirizzo IP e l'indirizzo MAC sono completamente
indipendenti nel senso che non esistono algoritmi per calcolare l’uno conoscendo l’altro.
L'indirizzo IP è scelto dall'amministratore di rete in base alla collocazione del computer in
Internet, e l'indirizzo MAC è scelto dal costruttore, in maniera univoca, in base allo spazio
degli indirizzi di cui ha licenza.
Quando la tabella ARP non permette di tradurre un indirizzo IP si verificano due
avvenimenti:
• Un pacchetto di richiesta ARP con indirizzo MAC broadcast è spedito a
tutti i computer della rete
• Il pacchetto IP in uscita è messo in coda.
a.a. 2015-2016
prof. Guido Russo
75
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Il protocollo ARP
Il modulo ARP di ogni host, ricevuto il pacchetto, confronta l'indirizzo IP del destinatario
con il proprio.
Quello che riconosce il suo indirizzo IP spedisce una risposta direttamente all'indirizzo
MAC mittente indicando il proprio indirizzo hardware
ARP Request
ARP Replay
Indirizzo IP Mittente
Indirizzo IP Mittente
223.1.2.1
Indirizzo MAC Mittente
08-00-39-00-2F-C3
Indirizzo IP Destinatario
223.1.2.2
Indirizzo Ethernet Destinatario
08-00-28-00-38-A9
<'vuoto'>
Indirizzo MAC Mittente
08-00-28-00-38-A9
Indirizzo IP Destinatario
223.1.2.1
Indirizzo Ethernet Destinatario
Richiesta ARP
a.a. 2015-2016
223.1.2.2
08-00-39-00-2F-C3
Risposta ARP
prof. Guido Russo
76
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Il protocollo RARP
Il protocollo RARP svolge il ruolo opposto ad ARP
•
•
•
•
a.a. 2015-2016
fisico
logico
Usato per sistemi diskless:
X terminal, diskless workstation
Al boot non conoscono il loro indirizzo IP
prof. Guido Russo
77
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Il protocollo RARP
Scenario tipo:
• A conosce il proprio indirizzo MAC, ma non conosce il proprio indirizzo IP
• L’host B (server RARP) conosce l’indirizzo IP di A
Soluzione:
• RARP request sulla rete (in brodacast)
• B risponde con un messaggio RARP reply contenente l’indirizzo IP di A
a.a. 2015-2016
prof. Guido Russo
78
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Il protocollo RARP
Il protocollo RARP è stato sostituito da altri protocolli più flessibili e potenti:
• BOOTP: BOOTstrap Protocol
• DHCP: Dynamic Host Configuration Protocol
• Utilizzati per assegnare dinamicamente gli indirizzi agli host di una rete IP
a.a. 2015-2016
prof. Guido Russo
79
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Protocolli di routing
prof. G. Russo ([email protected])
ing. A. Violetta ([email protected])
©2008
a.a. 2015-2016
prof. Guido Russo
80
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Protocolli di routing e stack IP
a.a. 2015-2016
prof. Guido Russo
81
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
IGRP
prof. G. Russo ([email protected])
ing. A. Violetta ([email protected])
©2008
a.a. 2015-2016
prof. Guido Russo
82
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
IGRP
Il protocollo IGRP e' un protocollo di routing sviluppato dalla CISCO a metà ‘80. Anche questo
protocollo si basa sull'algoritmo distance vector
Gli aspetti principali dell’ IGRP sono:
•
Metriche piu' sofisticate
•
Supporto del multipath routing
•
Migliore stabilita'
Inoltre IGRP utilizza una frequenza di update delle route di 90 s.
Permette il routing all’interno dell’Autonomous System e non è standard Internet.
a.a. 2015-2016
prof. Guido Russo
83
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
IGRP: Metriche
Le metriche in IGRP si basano su 4 parametri:
•
B - Bandwidth
•
D - Delay
•
R - Reliability
•
L – Load
La variazione dei coefficienti permette di privilegiare determinati parametri a scapito di
altri (es. banda piuttosto che ritardo)
Bandwidth e Delay sono per default associati al tipo di portante fisico. Ad esempio:
•
Ethernet -> B=10000, D=100
•
CDN 64 kbit/s -> B=64, D=2000
Viceversa, i parametri R e L possono essere difficili da quantificare, e possono variare con
una frequenza piuttosto elevata.
a.a. 2015-2016
prof. Guido Russo
84
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
IGRP: Multipath Routing
Il protocollo IGRP permette la gestione di più entry nella routing table, per la stessa
destinazione.
Il carico può essere ripartito tra le diverse route in funzione della metrica associata.
Sono usati per il multipath routing solo quelle route con una metrica che rientra nel range
definito dal gestore.
a.a. 2015-2016
prof. Guido Russo
85
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
IGRP: Stabilità
Per cio' che concerne la stabilita', IGRP utilizza le seguenti tecniche:
•
Triggered Updates: Sono inviate ogni volta che la metrica associata ad una route
varia di almeno il 10%. Questo evita che variazioni di poco conto (ad esempio nel
carico di un link) provochino dei cambi di route.
•
Split Horizon
•
Hold Downs
•
Route Poisoning
Il path su cui si è verificato un aumento della metrica costo viene quindi marcato come
inusabile e viene utilizzato solo se un successivo annuncio conferma il costo precedente.
a.a. 2015-2016
prof. Guido Russo
86
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
IGRP: Timers
I timer in IGRP hanno i seguenti valori di default:
•
Update timer: 90s
•
Invalid timer: 3 x update
•
Flush timer: 7 x update
•
Hold down timer: (3 x update) + 10s
a.a. 2015-2016
prof. Guido Russo
87
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
EGRP
prof. G. Russo ([email protected])
ing. A. Violetta ([email protected])
©2008
a.a. 2015-2016
prof. Guido Russo
88
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
EGRP
Il protocollo EIGRP (Enhanced IGRP) e' stato sviluppato da CISCO a partire dalla
release software 9.21 sulle basi del protocollo IGRP, rispetto al quale sono stati introdotti
i seguenti miglioramenti:
•
•
•
•
•
•
Convergenza più rapida
Maschere a lunghezza variabile
Minore traffico di routing
Trasferimento di dati affidabile (Reliable Transfer Protocol)
Supporto multiprotocollo
Loop Free (ma si possono verificare dei Black Hole)
EIGRP non prevede updates periodici; in effetti ogni router mantiene una copia delle
routing table di tutti i router adiacenti ed i messaggi di scambio delle route devono
quindi essere di tipo affidabile.
In caso di cambio di una route si attiva il "Diffusing Update ALgorithm" (DUAL).
Questo algoritmo e' basato sull’idea che non si può creare un loop, scegliendo un
percorso migliore per giungere a destinazione, mentre è vero il contrario.
a.a. 2015-2016
prof. Guido Russo
89
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
EGRP: L’algoritmo DUAL
L'algoritmo è composto da due parti:
•
•
Selezione del "vicino accettabile"
Attivazione del "processo di diffusione“
Il principio di funzionamento dell'algoritmo e' il seguente: quando un router riceve un
routing update verifica se il nuovo costo è minore del precedente e, in questo caso, aggiorna
la route, propaga la nuove informazione ai vicini e termina.
Il principio generale e' che un cambio di route di tipo "peggiorativo" viene preso in
considerazione solo se proviene dallo stesso router che attualmente viene usato per
raggiungere quella destinazione.
Viceversa, se il nuovo costo è maggiore, verifica se esiste un "vicino accettabile"; se questo
non esiste attiva il processo di diffusione che consiste nel propagare l’informazione "ho dei
problemi di connettività su un link" ai vicini, fino a quando qualcuno è in grado di segnalare
un nuovo cammino.
a.a. 2015-2016
prof. Guido Russo
90
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
EGRP: L’algoritmo DUAL , il vicino accettabile
Ogni router R mantiene per ogni destinazione D e per ogni suo router adiacente A le seguenti
informazioni:
•
•
d(A, D): distanza tra ogni router adiacente e la destinazione
l(R, A): costo del link tra R ed A
a.a. 2015-2016
prof. Guido Russo
91
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
EGRP: L’algoritmo DUAL , il vicino accettabile
Il router sceglie come percorso migliore quello che soddisfa la relazione: min [ l(R,X) +
d(X,D) ], X è il particolare router adiacente che minimizza la relazione.
Un router in Passive State è un router che ha una versione stabile della routing table.
Si supponga, a questo punto, che il router R riceva da un router adiacente K un messaggio
indicante che il costo del link l(K,A) è cambiato oppure che il costo verso una destinazione
d(K,D) è cambiato.
Per la regola del "costo minore verso una destinazione":
•
se il nuovo costo verso la destinazione è minore del precedente in possesso di R,
si adotta come next hop il router K e si aggiorna le route
•
se il nuovo costo è superiore a quello in possesso di R:
o
Se K non è il router X (che era il precedente next hop verso D) scarta
l’informazione
o
Se K è il router X applica la regola del "vicino accettabile“
Per essere sicuri che ci sia stato un cambio di route si aspetta quindi che il precedente next
hop verso la destinazione si sia aggiornato. Solo a questo punto R decide di aggiornarsi
applicando la regola del "vicino accettabile".
a.a. 2015-2016
prof. Guido Russo
92
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
EGRP: L’algoritmo DUAL e la regola del vicino accettabile
• Cerca tra tutti i router adiacenti A se esiste un router K tale che la sua distanza dalla
destinazione D sia minore della distanza precedentemente in possesso di
R: d(K,D) < d(R,D)
• Questo significa che il nuovo router K è in grado di raggiungere la destinazione D
attraverso un percorso alternativo senza passare da R e quindi il costo d(K,D) non
dipende dal costo d(R,D)
• Se non esiste alcun vicino adiacente che soddisfa la relazione il router R deve attivare il
processo di "Diffusione"
a.a. 2015-2016
prof. Guido Russo
93
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
EGRP: L’algoritmo DUAL, un esempio
Si supponga che, nella rete illustrata in figura, venga interrotto il link C-D:
A questo punto, B non è vicino accettabile. Se X riporta i costi in blu, non è vicino accettabile;
se, viceversa ha i costi in rosso, allora è un vicino accettabile.
a.a. 2015-2016
prof. Guido Russo
94
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
EGRP: Il processo di diffusione
Il router R "congela" la sua routing table (e passa ad uno stato "attivo"). Se prima del guasto
non vi erano loop, congelando la routing table ci si assicura che la situazione delle route
non cambia e quindi non potranno esserci loop. Potrebbero esserci però delle perdite di
connettività (black hole) momentanee.
R imposta come attuale distanza da D il valore in base al nuovo costo di X: l(R,X) + d(X,D).
Il router R emette una speciale forma di update ("query") verso tutti i suoi vicini (tranne X),
"comunicando" questa nuova distanza da D.
Il router Y che riceve l’update:
•
Se il suo costo per raggiungere D è inferiore a quello comunicatogli da R, oppure
se ha un "Vicino Accettabile" rimane in stato passivo e comunica la propria
routing table a R (messaggio di Reply)
•
Altrimenti entra in stato attivo ed inizia ad emettere la query di update verso tutti
i vicini tranne quello da cui ha ricevuto la query
Quando un router riceve le risposte ("Reply") alla sua query, da tutti i vicini ai quali l’aveva
inviata, crea la nuova routing table e provvede eventualmente a generare a sua volta il
Reply al router precedente.
a.a. 2015-2016
prof. Guido Russo
95
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
EGRP: I pacchetti
EIGRP definisce 6 tipi di messaggi:
•
Hello - multicast; permettono di mantenere nota dei vicini attivi e di rilevare il
down di un router
•
Acknowledgement - unicast, come hello senza dati, con un numero di ack
•
Update - unicast ad ogni vicino scoperto, multicast in caso di modifiche di
topologia; trasporta un messaggio di aggiornamento delle route da parte di un
router "passivo“
•
Query - multicast/unicast: viene inviata da un router in stato "attivo" ed attiva
l’algoritmo di diffusione
•
Reply - multicast/unicast: viene inviata in risposta ad una query
•
Request - utilizzato per ottenere informazioni specifiche dai vicini (come in RIP)
a.a. 2015-2016
prof. Guido Russo
96
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
EGRP: La neighbor table e la topology table
Per ogni entry la neighbor table contiene:
•
•
•
•
•
L'indirizzo del vicino (ricevuto con il pacchetto Hello)
L'hold time (ricevuto con il pacchetto Hello)
L'interfaccia
Il round-trip-timer
Le informazioni per il Reliable Transfer Protocol
La topology table Contiene tutte le destinazioni annunciate dai router vicini.
Per ogni entry contiene:
•
•
a.a. 2015-2016
Il destination address
La lista del vicino che annuncia la destinazione e la metrica associata.
prof. Guido Russo
97
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
EGRP: route state e route tagging
Routing state:
• Ogni entry della topology table e' caratterizzata da due stati:
o
Passive: quando il router non sta ricalcolando la destinazione
o
Active: durante l’aggiornamento
• Quando una destinazione è active, la corrispondente entry sulla routing table non
può essere aggiornata.
Route tagging:
Una route sulla tabella di routing può essere:
•
I: internal
•
E: external
Le route esterne sono taggate con Router ID, AS di destinazione, ID del protocollo esterno,
Metrica di importazione, Tag definita dall’amministratore e bit di flag per il default route
a.a. 2015-2016
prof. Guido Russo
98
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
RIP
prof. G. Russo ([email protected])
ing. A. Violetta ([email protected])
©2008
a.a. 2015-2016
prof. Guido Russo
99
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
RIP
Il protocollo IGP (Interior Gateway Protocol) maggiormente utilizzato oggi su Internet e'
senza dubbio il protocollo RIP.
RIP e' l'acronimo di Routing Information Protocol ed e' un protocollo relativamente semplice
appartenente alla famiglia di protocolli di tipo "distance vector".
E' il protocollo di routing IP più vecchio ancora in uso : la versione IP esiste in due versioni,
la seconda versione aggiunge nuove funzionalità a questo protocollo.
a.a. 2015-2016
prof. Guido Russo
100
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
RIP: Caratteristiche del protocollo (1/5)
Gli indirizzi presenti nelle tabelle RIP sono indirizzi Internet a 32 bit. Una voce (entry) nella
tabella di routing puo' rappresentare un host, una rete o una sottorete.
Questi prima separano la parte di rete dalla parte "sottorete + host" in funzione della classe
dell' indirizzo (A, B o C). Se la parte "sottorete+host" e' nulla, l'indirizzo rappresenta una rete,
viceversa puo' rappresentare sia una sottorete che un host. Al fine di discriminare tra queste 2
possibilita', e' necessario conoscere la subnet mask; se la parte host e' nulla, si tratta
dell'indirizzo di una sottorete, di un host viceversa.
Di default, RIP utilizza una metrica molto semplice: la distanza (hop count) e' il numero di
links che vengono attraversati per raggiungere la destinazione. Questa distanza e' espressa
come un numero intero variabile tra 1 e 15; 16 rappresenta una distanza infinita.
RIP supporta sia i links punto a punto che le reti di tipo broadcast come Ethernet. I pacchetti
RIP vengono impacchettati nei pacchetti UDP e IP; i processi RIP utilizzano la porta 520 sia
per la trasmissione che per la ricezione. I pacchetti normalmente sono inviati in modalita'
broadcast, questo significa che saranno ricevuti da tutti i routers connessi alla rete.
a.a. 2015-2016
prof. Guido Russo
101
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
RIP: Caratteristiche del protocollo (2/5)
Normalmente i pacchetti vengono inviati ogni 30 secondi, o meno, nel caso di aggiornamenti
alle tabelle. Se una route non viene aggiornata entro 3 minuti, la distanza viene fissata ad
infinito (16) e l'entry verra' successivamente rimossa dalle tabelle. Allo scopo di evitare
aggiornamenti troppo frequenti , questi vengono regolati da un timer casuale, che puo'
variare tra 1 e 5 secondi.
Come osservabile dal pacchetto, il protocollo RIP prevede un comando di richiesta e uno di
risposta o aggiornamento. Normalmente RIP opera in risposta, a intervalli regolari di 30
secondi, o in seguito a richieste di aggiornamento delle tabelle di routing. Il processo RIP, in
seguito alla ricezione di un messaggio di risposta, aggiorna la propria tabella. Ogni voce
della tabella sara' al limite composta da :
• Indirizzo di destinazione
• Metrica associata con la destinazione
• Indirizzo del "next router"
• Un "recently updated" flag
• Numerosi timers
a.a. 2015-2016
prof. Guido Russo
102
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
RIP: Caratteristiche del protocollo (3/5)
Processando le risposte in arrivo, il router esaminera' le voci una ad una ed eseguira' una serie di
checks, ad esempio verifichera' che l'indirizzo sia valido ed appartenente ad una delle classi A, B
o C, che il numero identificante la rete non sia 127 (loop-back) o zero (ad eccezione dell'indirizzo
di default 0.0.0.0), che la parte host non sia un indirizzo broadcast e che la metrica non sia
maggiore di infinito. In ogni caso voci non corrette vengono ignorate.
Se la metrica in arrivo risulta diversa da infinito, viene incrementata di 1 per il successivo hop,
quindi la tabella di routing viene scandita per una voce corrispondente alla destinazione e viene
quindi eseguito il generico processo "distance vector”.
a.a. 2015-2016
prof. Guido Russo
103
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
RIP: Caratteristiche del protocollo (4/5)
Se la metrica o il next router cambiano, l'entry viene marcata come "aggiornata". Un
messaggio di risposta viene inviato ad intervalli regolari di 30 secondi o puo' essere
attivato in seguito ad un aggiornamento alle tabelle di routing. La risposta non dovrebbe
essere inviata immediatamente in seguito alla ricezione dell' aggiornamento ma, piuttosto,
dopo un piccolo intervallo random, variabile tra 1 e 5 secondi. Questo permette ai relativi
aggiornamenti provenienti dai nodi vicini di venire riassunti nel successivo messaggio,
limitando cosi' il carico di rete.
Un messaggio di risposta separato viene preparato per tutte interfacce connesse.
L'informazione puo' variare in seguito al processo di split horizon. Il messaggio
normalmente include le coppie indirizzo e metrica per tutte le voci della tabella ma, se il
messaggio e' inviato come un aggiornamento, non deve necessariamente includere tutte le
voci, ma solo quelle che sono state aggiornate rispetto all'ultima trasmissione. Il massimo
formato del pacchetto e' 512 bytes, che permette di avere sino a 25 voci per messaggio. Nel
caso di un maggiore numero di voci, RIP inviera' piu' pacchetti. L'indirizzo sorgente del
messaggio dovrebbe sempre coincidere con l'indirizzo IP associato con l'interfaccia alla
quale il messaggio e' inviato.
a.a. 2015-2016
prof. Guido Russo
104
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
RIP: Caratteristiche del protocollo (5/5)
I processi RIP possono anche ricevere messaggi di richiesta. Una richiesta viene normalmente
inviata quando un router inizia le operazioni allo scopo di ottenere dai suoi vicini il valore
iniziale delle tabelle di routing. Esistono 2 possibili forme di richiesta, quella per una lista
completa delle tabelle di routing o quella per sole specifiche routes.
Una delle richieste di lista completa delle tabelle di routing si ha specificando solo le coppia
indirizzo + metrica per l'indirizzo di default 0.0.0.0 con una metrica pari ad infinito. In questo
caso, il router replichera' con una tipica risposta, simile a quelle inviate periodicamente nelle
normali operazioni del protocollo, incluso il processo di split horizon.
Qualsiasi altra forma di richiesta prevede la lista delle sole voci specificate. La risposta verra'
inviata in modalita' point to point al richiedente e conterra' una copia esatta dell'informazione
di distanza nelle tabelle di routing, senza eseguire il processo di split horizon. Questa forma
di richiesta ha poco significato per le normali operazioni, mentre ne assume molto per scopi
di debugging.
a.a. 2015-2016
prof. Guido Russo
105
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
RIP: Timers
Il protocollo RIP gestisce i seguenti timers:
• Routing update timer (default 30 s): intervallo di tempo per l’invio degli annunci
• Route invalid timer (default 90 s): intervallo di tempo dopo il quale una route è
dichiarata irraggiungibile (distanza posta ad infinito)
• Route flush timer (default 270 s): intervallo di tempo dopo il quale la route è
cancellata dalla routing table
• Triggered updates: sono inviate con un ritardo casuale compreso tra 1 e 5 secondi,
per evitare intasamenti della rete e per far si' di poter eventualmente comunicare piu'
cambi di route con un messaggio solo.
a.a. 2015-2016
prof. Guido Russo
106
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
RIP: Stabilità
Al fine di assicurare una buona stabilita' e, quindi, di evitare situazioni di loop e, di
conseguenza, possibili congestioni della rete, RIP utilizza una serie di tecniche, di seguito
descritte:
• Triggered updates: si tratta di messaggi di routing update fatti anzitempo, causati
da variazioni di connettività. Nel caso vengono inviate solo le informazioni relative
alle route che sono cambiate. Evitano alla rete di trovarsi in uno stato incoerente, fino
allo scadere del Routing Update Timer.
• Hop Count Limit: fa si che le destinazioni più distanti di 15 siano considerate
irraggiungibili e permette quindi di evitare il "count to infinity problem".
• Hold Downs: Il router mette in quarantena le route che utilizzavano il link guasto.
• Split Horizon: "Se A raggiunge la destinazione X attraverso B, non ha senso per B
cercare di raggiungere X attraverso A". Previene il loop tra 2 nodi ma non elimina i
loop con 3 nodi
• Split Horizon with Poisonous Reverse: Migliora lo Split Horizon puro. Nel
momento in cui si verifica una variazione di route, lo Split Horizon semplice non
comunica piu' la route (che continua pero' a valere sino alla scadenza del timer). Le
route non più valide non vengono rimosse dagli annunci ma sono annunciate con
metrica 15 (infinity)
a.a. 2015-2016
prof. Guido Russo
107
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
RIP: Il pacchetto
• Command : può avere due valori (1 se è un messaggio di richiesta o 2 se è messaggio di
aggiornamento).
• Version : uguale a 1 per indicare la versione 1 del protocollo.
• Address Family Identifier : è sempre uguale a 2 per il protocollo IP
• IP Address : è l' indirizzo di destinazione : può essere una rete o una sottorete
• Metric : è l' hop count e puo' assumere un valore compreso tra 1 e 16.
Tutti i campi sono espressi come interi a 32 bit
a.a. 2015-2016
prof. Guido Russo
108
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
RIP versione 2: routing per subnet
Al di fuori della sottorete, RIP versione 1 non e' in grado di interpretare la subnetmask e,
quindi, di distinguere tra una sottorete e un host.
RIPversione 2 permette invece l'instradamento anche al di fuori della sottorete, trasmettendo
l'informazione della netmask in parallelo all'indirizzo. La maschera viene passata in uno dei
campi "must be zero" di RIP versione 1 che, di conseguenza, e' in grado di ignorare le entries
RIP versione 2.
a.a. 2015-2016
prof. Guido Russo
109
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
RIP versione 2: Authentication
RIP-1 non e' un protocollo sicuro. Qualsiasi host che invia pacchetti dalla porta UDP 520
verrebbe considerato un router dai propri vicini, mentre invece solo un utente privilegiato
dovrebbe avere il diritto di utilizzare questa porta.
A questo scopo, RIP-2 prevede una procedura di autenticazione che specifica che la prima
entry in un pacchetto puo' essere rimpiazzata da un "authentication segment". Il pacchetto
conterra' quindi l'header iniziale a 32 bit, seguito da un segmento di autenticazione
composto da :
• Il campo AFI settato a oxFFFF
• Un campo "Authentication Type" (2 bytes) che identifica il tipo di algoritmo di
autenticazione in uso.
• 16 bytes di dati di autenticazione
ed infine da 24 coppie di campi destinazione-metrica.
Alla ricezione del pacchetto, il router RIP-2 verifica la presenza dei campi di autenticazione
e, in caso affermativo, ne rivela l'origine.
Esistono svariati algoritmi di autenticazione, definiti attraverso il campo Authentication
Type; in comune vi e' la protezione dei messaggi di aggiornamento attraverso una password
criptata.
a.a. 2015-2016
prof. Guido Russo
110
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
RIP versione 2: Next hop
Vi sono numerosi casi dove 2 autonomous system condividono lo stesso cavo di rete (es.
FDDI, Ethernet), specialmente quando questo cavo e' utilizzato come backbone per
connettere reti diverse. Questo puo' generare dei problemi.
Vediamo l'esempio della rete in figura:
a.a. 2015-2016
prof. Guido Russo
111
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
RIP versione 2: Next hop
Per inviare un pacchetto alla destinazione F del dominio Y, il router A del dominio X invia il
pacchetto a D, che e' la nominale interfaccia della rete Y verso la rete X. Il nodo D conoscera',
attraverso le tabelle di routing del dominio Y che la strada migliore per F passa attraverso il
router E e quindi ritrasmettera' il pacchetto. In pratica il pacchetto viaggia 2 volte sulla stessa
rete : da A a D e poi da D ad E: questo non e' chiaramente ottimale.
RIP-2 risolve questo problema introducendo il concetto di "next-hop": il router D sa che i
pacchetti verso F passano attraverso il router E e quindi, quando invia un aggiornamento ad F
non invia solamente la coppia indirizzo-metrica ma anche l'indicazione "next hop", dicendo ai
routers come A che " la distanza verso F e' f, ma la strada migliore non e' tramite me (D) ma
attraverso E". In questo modo, i routers come A saranno in grado di indirizzare direttamente i
pacchetti verso E, evitando l'extra hop attraverso D.
a.a. 2015-2016
prof. Guido Russo
112
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
RIP versione 2: Multicasting
RIP-1 utilizza un indirizzo broadcast per inviare avvisi di routing a "tutti i pacchetti su un
cavo". Come risultato, questi pacchetti saranno ricevuti non solo dai routers ma da tutti gli
host su quel cavo. Non esiste un modo pratico di programmare un'interfaccia di rete
Ethernet o Token Ring per filtrare tutti i pacchetti broadcast; un simile filtraggio si puo'
ottenere attraverso un indirizzo MAC multicast, che verra' rilevato solo dai routers.
RIP-2 non definisce esattamente un indirizzo MAC ma raggiunge lo stesso scopo definendo
l'indirizzo IP di classe D 224.0.0.9 al fine di essere utilizzato per multicast periodici.
Le operazioni in modalita' multicast tuttavia compromettono la compatibilita' con RIP-1 per
cui sono state definite 3 modalita' operative :
• Invio di pacchetti RIP-1 in modalita' broadcast
• Invio di pacchetti RIP-2 in modalita' broadcast
• Invio di pacchetti RIP-2 in modalita' multicast
La prima modalita' garantisce piena compatibilita' ma non porta vantaggi; la seconda
modalita' corrisponde alla transizione ed e' utilizzata finche' alcuni routers nell'
autonomous system rimangono "solo RIP-1". Questi routers vedranno i pacchetti RIP-2 ed
occasionalmente ne scarteranno alcune parti, ad esempio le informazioni
sull'autenticazione o sul subnet. Infine, la terza modalita' corrisponde alla fase finale,
quando tutti i routers sono stati aggiornati a RIP-2.
a.a. 2015-2016
prof. Guido Russo
113
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
RIP versione 2:
L'header di RIP-2 e' a 32 bit, seguito da un set di route entries di 20 bytes. Le principali
differenze tra RIP-1 e RIP-2 e' il formato delle route-entries. Vengono mantenuti i campi
"Address Family Identifier (AFI), "IP address" e "Metric" con lo stesso significato visto per
il pacchetto RIP-1, mentre vengono definiti una serie di nuovi campi :
• Route Tag : è un campo che il RIP non usa direttamente, ma viene utilizzato da
altri protocolli di routing (EGP, BGP) per scambiare informazioni
• SubNet Mask : è la maschera che identifica la rete e la sottorete dell' IP Address
• Next Hop : e' un campo utilizzato per eliminare i "double hops" sulla stessa
sottorete
Pacchetto RIP V1
Pacchetto RIP V2
a.a. 2015-2016
prof. Guido Russo
114
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
OSPF
prof. G. Russo ([email protected])
ing. A. Violetta ([email protected])
©2008
a.a. 2015-2016
prof. Guido Russo
115
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Introduzione
OSPF e' l'acronimo di Open Shortest Path First;.
Questo è uno dei protocolli di instradamento più diffusi, che gestisce le tabelle di
instradamento di una rete IP con il metodo del Link State, a differenza di RIP che e' invece
basato sull'algoritmo distance vector.
OSPF utilizza il concetto di gerarchia, per cui permette di gestire reti di dimensioni notevoli.
Un AS viene suddiviso in aree, le quali contengono un gruppo di reti contigue. Questo
garantisce un basso utilizzo di CPU e memoria.
OSPF e' un protocollo sviluppato dalla IETF, e' utilizzato su Internet .
OSPF e' stato progettato per :
• Separare hosts e routers
• Utilizzo su reti broadcast, quali Ethernet, Token Ring o FDDI
• Utilizzo su reti non broadcast, quali X.25 o ATM
• Suddividere grandi reti in aree
a.a. 2015-2016
prof. Guido Russo
116
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Metodo link state
Il metodo Link State è un tipo di algoritmo in cui la topologia dell'intera rete e tutti i costi dei
collegamenti sono noti. Ogni nodo della rete acquisisce informazioni sullo stato dei
collegamenti adiacenti ed inoltra queste informazioni a tutti gli altri nodi della rete tramite
un Pacchetto Link State trasmesso tramite un algoritmo di link state broadcast.
Quando un nodo riceve un Pacchetto Link State confronta il numero di sequenza del
pacchetto con quello dell'ultimo pacchetto ricevuto da quel nodo:
• se il numero di sequenza è più recente di quello memorizzato, il nuovo pacchetto
viene memorizzato e inoltrato a tutti i nodi collegati, eccetto quello da cui è stato
ricevuto;
• se il numero di sequenza è invariato il pacchetto viene scartato;
• se il numero di sequenza è meno recente di quello memorizzato, quest'ultimo
viene trasmesso al nodo mittente.
Ogni nodo esegue generalmente una variante dell' Algoritmo di Dijkstra, per determinare il
cammino minimo per raggiungere ogni nodo della rete.
a.a. 2015-2016
prof. Guido Russo
117
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Vantaggi e svantaggi metodo link state
L'utilizzo di un algoritmo di routing Link State presenta diversi vantaggi:
• può gestire reti composte da un gran numero di nodi;
• converge rapidamente al cammino minimo;
• difficilmente genera cammini ciclici;
• è facile da comprendere poiché ogni nodo ha la mappa della rete;
Il principale svantaggio di un algoritmo Link State è la complessità di realizzazione, anche
dovuta alla notevole capacità di memoria ed elaborazione richiesti.
a.a. 2015-2016
prof. Guido Russo
118
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Separare hosts e routers
Molto spesso, nelle reti moderne, gli host IP sono connessi a reti locali, ad esempio una rete
Ethernet. Se si applica strettamente il modello Link State, dovremmo descrivere, attraverso un
record di link state la relazione tra ciascun host ed il router. OSPF permette una
semplificazione, basata sul modello “subnet" di IP. Poiche' tutti gli hosts della rete
appartengono ad una singola sottorete IP, e' sufficiente inviare un messaggio sul link tra il
router e la sottorete. Nella terminologia OSPF, questa e' una speciale variante di "router link"
chiamata "link to a stub network". Il link verso un vicino e' identificato dall'indirizzo IP del
vicino stesso, mentre quello verso una "stub network" e' identificato dal suo numero di rete o
sottorete.
a.a. 2015-2016
prof. Guido Russo
119
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Reti Broadcast
Le reti locali, come Ethernet o Token Ring, offrono due tipi di servizi:
• Piena connettività - ogni stazione puo' inviare un pacchetto a qualsiasi altra stazione
• Capacità broadcast - una stazione puo' inviare un pacchetto a tutte le altre stazioni
(broadcast) o a tutte le stazioni facenti parte di un gruppo (multicast)
Il problema da risolvere e' il seguente: dati N routers su una rete locale, e' possibile stabilire
che esistono N*(N-1)/2 adiacenze, tali che ogni router deve quindi inviare N-1 messaggi verso
gli altri routers vicini piu' uno verso la rete (stub network) per un totale di N*N messaggi.
OSPF prova a ridurre a solo N adiacenze designando uno dei router (Designed Router o DR)
in modo tale che i rimanenti routers stabiliscano adiacenze solo con il router designato.
a.a. 2015-2016
prof. Guido Russo
prof. Guido Russo
120
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Reti Broadcast
Il primo passo è eleggere il router designato. Questa elezione e' incorporata nella procedura
Hello. Dopo l'elezione, gli altri routers porteranno le proprie adiacenze verso il router
designato o sincronizzeranno il proprio database.
La presenza del router designato serve inoltre per :
• Ridurre il numero dei record di link state nel database, in quanto la rete broadcast
potra' essere rappresentata da un set di links tra i routers ed un nodo virtuale.
• Semplificare la procedura di flooding; quando un router deve inviare una LSA (Link
State Advertisment), la trasmette solo al router designato. Se si tratta di una nuova
LSA, il router designato diffondera' il link state a tutte le proprie interfacce e alla rete.
Tuttavia, se il DR cade, tutti i routers apparirebbero disconnessi dalla rete, sebbene questa sia,
a tutti gli effetti, ancora operativa. Risulta quindi indispensabile eleggere al piu' presto un
nuovo DR. OSPF ovvia questo problema, con l'elezione di un "Backup Designed Router o
BPR", contemporaneamente all'elezione del DR.
Tutti i routers creeranno quindi le proprie adiacenze con entrambi i routers DR e BDR; se il
DR cade, l'anomalia verra' immediatamente rilevata dal protocollo Hello, il BDR diventera'
immediatamente DR ed un nuovo BDR verra' eletto. Tutti i routers stabiliranno un adiacenza
con il nuovo BDR.
a.a. 2015-2016
prof. Guido Russo
121
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Reti NON Broadcast
Reti come X.25, Frame Relay e ATM, sebbene con profonde differenze, in termini di velocita' e
servizi, sono accumunate da un aspetto: sono tutte quante reti non broadcast.
Ci sono 2 modi di utilizzare questi tipi di reti:
• Utilizzare un set di circuiti virtuali, usati come molti link point-to-point. Questo e' piuttosto
semplice da progettare, ma difficile da mantenere. Ogni circuito virtuale e' visto come una
sottorete indipendente e quindi un indirizzo differente viene assegnato alla fine di ciascuno
di questi circuiti. Se vogliamo la piena connettivita', dobbiamo installare N*(N-1)/2 circuiti;
le informazioni di routing vengono diffuse su tutti i circuiti, con un aggravio dei costi per
le reti "pay-per-volume" come ATM o X.25. In effetti, nel caso si verifica l'effetto N*N
messaggi descritto precedentemente.
• Applicare la stessa gestione utilizzata per le reti broadcast e quindi eleggere un router
designato ed un backup.
OSPF utilizza questa seconda scelta e quindi le informazioni di routing verranno inviate solo
attraverso tali routers. Il fatto di avere un DR non modifica di fatto il routing; i circuiti virtuali
saranno stabiliti tra qualsiasi coppia di router ed i pacchetti IP saranno inviati direttamente
su questi circuiti virtuali. Tuttavia, questi circuiti verranno stabiliti solo "su domanda". I soli
circuiti che verranno utilizzati quasi permanentemente dagli aggiornamenti sono quelli che
collegano i routers ordinari al DR e al BDR.
a.a. 2015-2016
prof. Guido Russo
122
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Differenza tra reti Broadcast e reti NON Broadcast
La differenza principale tra reti broadcast e non-broadcast deriva dall'assenza di qualsiasi
facility multicast nelle reti non-broadcast. Tutti i pacchetti di advertisment dovranno essere
inviati in modalita' point-to-point. I pacchetti Hello, utilizzati per il processo di elezione
prevederanno una lista di tutti i router sulla rete non-broadcast. Il DR invia a tutti una LSA
spedendo una copia separata del pacchetto a ciascun router. Quando un router diffonde una
LSA, lo fa inviando una copia al DR ed un'altra al BDR.
a.a. 2015-2016
prof. Guido Russo
123
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Suddivisione in aree multiple
Il formato del database, la durata del calcolo della rotte ed il volume dei messaggi aumenta
con l'aumentare della rete. Se questa diventa molto grande, tutti questi fattori diventano
eccessivi; la memoria richiesta e' troppa, i calcoli richiedono lunghi tempi ed il carico della
rete non e' più sopportabile. La risposta a questo problema e' il "routing gerarchico" ossia la
suddivisione della rete in un set di parti indipendenti connesse attraverso un "backbone". In
OSPF le parti indipendenti sono chiamate aree e la parte superiore e' chiamata "Backbone
area".
Ciascuna area si comporta come una rete indipendente; il database include solo lo stato dei
link dell'area, il protocollo di flooding si ferma ai confini dell'area ed i routers calcolano solo
le rotte all'interno dell'area. Il costo del protocollo di routing e' cosi' proporzionale al formato
dell'area e non a quello della rete.
Allo scopo di connettere l'intera rete, alcuni routers appartengono a piu' aree - tipicamente a
un'area a basso livello e all'area di backbone. Questi routers sono chiamati "area-border
routers" (ABR): ci deve essere perlomeno un ABR in ciascun area, per connetterla al
backbone. Gli ABR mantengono numerosi database, uno per ciascuna area alla quale
appartengono ed ogni area include un set di sottoreti IP.
a.a. 2015-2016
prof. Guido Russo
124
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Suddivisione in aree multiple
Oltre agli ABR, possiamo distinguere ancora 2 tipologie di router:
• Internal router : sono i router che gestiscono il traffico all'interno della stessa area
• Autonomous System Boundary Router (ASBR) : sono gateway per il traffico esterno e
convertono i percorsi nel dominio OSPF appresi da altri protocolli come BGP e EIGRP.
Cosi' come per i router, anche per le aree ed in funzione della destinazione del traffico, oltre
alla gia' citata backbone area, possiamo distinguere ulteriori tre tipologie:
• Intra-area : i pacchetti vengono scambiati tra router appartenenti alla stessa area
• Inter-area : i pacchetti vengono scambiati tra router appartenenti ad aree diverse
• Stub-area : i pacchetti contenenti informazioni che provengono dall'esterno
dell'Autonomous System non vengono trasmessi in queste aree.
a.a. 2015-2016
prof. Guido Russo
125
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Suddivisione in aree multiple
Nella seguente figura, viene illustrato un esempio di rete composta da 3 aree (delle quali una
e' l'area di backbone) e da una serie di router interni, ABR e ASBR:
a.a. 2015-2016
prof. Guido Russo
126
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Il calcolo delle rotte
Il database link state e' utilizzato per calcolare le routes della rete, che devono essere
nuovamente calcolate dopo ogni modifica della topologia.
L'algoritmo SPF viene utilizzato per calcolare il percorso piu' breve ed i percorsi uguali dal
router locale OSPF verso ciascuna destinazione. Da questo calcolo, il router deriva il next
hop per la destinazione, ossia il router successivo al quale inviare i dati ed il link che
dovrebbe essere utilizzato per raggiungerlo. Dopo aver calcolato la tabella, il processo
OSPF passa le informazioni al processo IP.
Vengono prima calcolate le routes per il "default TOS", il TOS 0. Se il router e' in grado di
espletare il TOS routing, dovrebbe quindi calcolare le routes per ciascun altro TOS. TOS e'
un campo del protocollo IP denominato "Type Of Service", attualmente lungo 5 bits, che
OSPF attualmente utilizza per definire delle metriche, con la seguente codifica :
a.a. 2015-2016
prof. Guido Russo
127
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Il calcolo delle rotte
Decimal Encoding
Binary Encoding
RFC-1349 TOS values
0
00000
Normal service
2
00010
Minimize monetary cost
4
00100
Maximize reliability
8
01000
Maximize throughput
16
10000
Minimize delay
Ad esempio, se un pacchetto IP ha il campo TOS settato a 01000, dovrebbe essere instradato in
accordo alle routes calcolate per la metrica numero 8 (maximize throughput).
I routers che non supportano il TOS routing settano il bit "support-of-TOS" a 0 nel loro LSA e,
onde evitare possibili situazioni di destinazioni irraggiungibili che potrebbero verificarsi per
routers non zero TOS, questi instraderanno sempre i pacchetti in accordo al TOS 0.
a.a. 2015-2016
prof. Guido Russo
128
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
I sotto-protocolli di OSPF
I routers OSPF comunicano tramite il protocollo OSPF, che viene direttamente imbustato in IP ed
è, a sua volta, composto da tre sotto-protocolli:
• Hello
• Exchange
• Flooding
Quest'ultimo, e' utilizzato per gli aggiornamenti di routing e per la gestione dell' "età" dei
records del database, tutti i pacchetti condividono un unico header comune.
a.a. 2015-2016
prof. Guido Russo
129
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
L’header comune
• Version: Indica la corrente versione di
OSPF, attualmente 2
• Type: il tipo di pacchetto OSPF
trasportato
• Packet Lenght : numero di bytes del
pacchetto
• Router_ID: indirizzo IP scelto per
identificare il router
• Area_ID: numero che identifica
univocamente l’area
all’interno del dominio OSPF; spesso viene scelto un indirizzo IP. Un valore 0
identifica il backbone.
• Checksum: Viene calcolato sull'intero pacchetto OSPF, con l'esclusione degli 8 bytes del
campo Authentication.
• Authentication Type: Identifica l'algoritmo di identificazione; ne sono definiti tre tipi:
o 0: No authentication
o 1: Simple authentication
o 2: Cryptographic authentication
a.a. 2015-2016
a.a. 2015-2016
prof. Guido Russo
130
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
L’header comune
Nel caso del "simple authentication", il campo Authentication prevede una password di 8
caratteri. L'amministratore di rete puo' definire una password diversa per ciascuna
connessione punto-punto o per ciascuna rete. Nonostante non sia un ottimo metodo di
autenticazione, questa e' comunque una buona garanzia contro possibili errori, ad esempio di
configurazione.
La procedura di "cryptographic authentication" ricorda molto la procedura di autenticazione
del protocollo RIP; quando questa procedura viene utilizzata, gli 8 bytes del campo
Authentication vengono ridefiniti per contenere una chiave, un campo lunghezza e un
numero di sequenza. La chiave identifica la password segreta, utilizzata per la procedura di
autenticazione e l'algoritmo di autenticazione. L'algoritmo standard e' denominato MD5;
quando viene utilizzato questo algoritmo, il mittente calcola un checksum MD5 sulla
concatenazione dei pacchetti OSPF, chiave segreta, campo lunghezza producendo un
messaggio di sommario lungo 16 bytes. Questo messaggio viene appeso al pacchetto OSPF e
viene considerato come un "rimorchio" e non una parte integrante del pacchetto: la sua
lunghezza non viene inclusa nella lunghezza del pacchetto OSPF. Alla ricezione, il ricevente
esegue lo stesso calcolo, basato sul segreto associato alla chiave e compara il risultato al
sommario ricevuto; se i valori sono uguali, il pacchetto e' autentico, altrimenti il pacchetto
verra' scartato.
a.a. 2015-2016
prof. Guido Russo
131
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Il sotto-protocollo HELLO
Il sotto-protocollo "Hello" viene utilizzato per due scopi ben precisi:
• Verifica dell'operativita' dei link
• Elezione del "Designed Router" e del "Backup Designed Router" nelle reti broadcast
e non broadcast.
I pacchetti "Hello" vengono trasmessi solo tra nodi vicini e mai propagati. Il campo "Type"
dell‘ header comune vale 1 per questo protocollo. Il formato del pacchetto e' il seguente:
a.a. 2015-2016
prof. Guido Russo
132
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Il sotto-protocollo HELLO
• Network Mask: netmask associata all’interfaccia
da cui viene emesso il pacchetto
• Hello Interval: comunica ogni quanti secondi
viene emesso un pacchetto di
Hello
• Options: vengono definiti solo gli ultimi 2 bit
o E: se il router è in grado di inviare e
ricevere route esterne; è pari a 0 se
l’interfaccia appartiene ad una stub area
o T: se il router è in grado di gestire il
routing TOS
• Priority: serve per l’elezione del Designed Router e viene settato da management. Ciascun
router e' configurato con una priorita', che puo' variare tra 0 e 255. Viene eletto DR
il router che ha la priorità più alta.
• Dead_Interval: intervallo di tempo di validità dei pacchetti di Hello ricevuti.
• DR, BDR: indirizzo del Designated Router - BDR (0 se non sono ancora stati definiti)
• Neighbor: lista di router_ID da cui è stato ricevuto il pacchetto di Hello negli ultimi
Dead_Interval secondi
Per quanto concerne la verifica dell'operativita' del link, questo è dichiarato operativo se i
pacchetti possono scorrere in entrambe le direzioni ed entrambi i router hanno lo stesso
valore del bit E.
a.a. 2015-2016
prof. Guido Russo
133
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Il sotto-protocollo EXCHANGE
Quando due routers OSPF stabiliscono la connessione su di un link punto a punto, devono
sincronizzare i propri database; sui link di una rete questo accade tra i routers ed il DR o il
BDR. La sincronizzazione iniziale avviene tramite il protocollo "exchange"; di seguito sara' il
protocollo flooding ad occuparsi di mantenere sincronizzati i database.
Il protocollo Exchange e' asimmetrico; il primo step del protocollo consiste nel selezionare un
"master" e uno "slave" e solo di seguito i due routers si scambieranno la descrizione dei propri
database. A questo preciso scopo il protocollo utilizza il "Database Description Packet", di
seguito riportato e per il quale il campo "Type" dell'header comune assume il valore 2:
a.a. 2015-2016
prof. Guido Russo
134
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Il sotto-protocollo EXCHANGE
• Options: e' equivalente al pacchetto Hello
o E: se il router è in grado di inviare
e ricevere route esterne; è pari
a 0 se l’interfaccia appartiene
ad una stub area
o T: se il router è in grado di gestire
il routing TOS
• I: Initialize
• M: More
• MS: Master - Slave (1= Master)
• DD SN: numero di sequenza del
pacchetto DD
I campi successivi (che possono essere ripetuti) sono la descrizione dell’header di un LSA, ed
hanno quindi lo stesso significato.
a.a. 2015-2016
prof. Guido Russo
135
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Il sotto-protocollo EXCHANGE: La procedura
Il router che vuole iniziare la procedura emette un pacchetto vuoto "Database Description"
con I, M e MS settati ed il numero di sequenza settato ad un valore arbitrario.
L’altro router risponde emettendo un pacchetto DD di "Acknowledgment", con lo stesso
numero di sequenza ed i bit I ed M settati a 1 e MS a 0 (slave).
Il primo router può quindi iniziare ad inviare le descrizioni da lui possedute ed emette
pacchetti DD con I settato a 0, M ed MS settati ad 1 (eccetto M per l’ultimo pacchetto). I
pacchetti saranno numerati in sequenza ed inviati uno alla volta.
Lo slave risponde ad ogni pacchetto con un DD Acknowledgment che riporta la sua
descrizione del database, caratterizzato dallo stesso numero di sequenza ma con il bit MS
settato a 0.
Se il master non riceve l’Ack entro un certo intervallo ri-invia il pacchetto originale DD.
Se viceversa e' lo slave che non ha finito di trasmettere le sue descrizioni:
• In corrispondenza del pacchetto del Sender con M=0 emette un pacchetto DD con
M=1
• Il master continua ad inviare pacchetti vuoti con M = 0, ed accettare gli Ack (pieni)
che gli arrivano dallo slave
• La procedura di sincronizzazione termina quando anche lo Slave invia un pacchetto
con M = 0
a.a. 2015-2016
prof. Guido Russo
136
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Il sotto-protocollo EXCHANGE: La procedura
Durante lo scambio sia il master che lo slave controllano di avere l’LSA inviato dalla
controparte, e questo non deve essere più vecchio di quello ricevuto. Se questo non è
verificato, l’LSA viene inserito nella lista degli LSA da richiedere. Al termine della procedura
di exchange la richiesta verra' effettuata tramite i pacchetti di Link State Request:
Questi pacchetti, identificati dal campo "Type" dell‘header comune con il valore 3, vengono
inviati alla fine dei DD se sono stati rilevati LSA da sincronizzare.
Richiedono all’altro router di trasmettere il LSA completo corrispondente ai campi
Link_State_Type, Link_State_ID e Advertising_Router indicati.
Possono essere fatte piu' richieste insieme; i tre campi sopra elencati possono essere ripetuti
piu' volte in un pacchetto OSPF.
Gli LSA richiesti sono inviati attraverso il protocollo di flooding.
a.a. 2015-2016
prof. Guido Russo
137
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Il sotto-protocollo FLOODING
Il protocollo flooding viene utilizzato per diffondere (processo di forwarding) a tutta la rete
il nuovo stato di un link.
Questi aggiornamenti vengono inviati, attraverso il pacchetto di "Link State Update", nel
caso di:
• un cambiamento di stato del link
• allo scadere di un timer (normalmente 60 min)
Il pacchetto "Link State Update", che caratterizza il campo "Type" dell‘header comune con il
valore 4, e' di seguito riportato:
• Number of Advertisement: è il numero di LSA che vengono trasportati dal pacchetto in
esame in quanto e' possibile trasportare più LSA
• LSA: è il Link State vero e proprio
a.a. 2015-2016
prof. Guido Russo
138
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Il sotto-protocollo FLOODING
Gli LSA del pacchetto Link State Update vengono normalmente riconosciuti, attraverso una
conferma dell'avvenuta ricezione, con il pacchetto di Link State Acknowledgment, che
caratterizza il campo "Type" dell‘ header comune con il valore 5, e che e' di seguito riportato:
Ciascun pacchetto di acknowledgment contiene una serie di campi con lo stesso formato del
pacchetto di "database description" del protocollo di exchange.
A tutti gli effetti, il Link State Advertisment (LSA) e' l'effettiva struttura dati che trasporta le
informazioni ed e' la corrispondente del LSP visto per l'algoritmo teorico Link State.
a.a. 2015-2016
prof. Guido Russo
139
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
BGP
prof. G. Russo ([email protected])
ing. A. Violetta ([email protected])
©2008
a.a. 2015-2016
prof. Guido Russo
140
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
BGP
BGP (Border Gateway Protocol) e' un protocollo di routing tra domini, correntemente
utilizzato sul backbone di Internet ed e' in pratica il successore del protocollo EGP (Exterior
Gateway Protocol).
In effetti questo protocollo viene usato soprattutto su Internet dove diversi AS sono collegati
a questa grande rete attraverso strutture chiamate ISP (Internet Service Provider).
Il protocollo BGP costruisce un grafo di autonomous system basato sulle informazioni che si
scambiano i router : questo grafo viene chiamato anche albero in cui ciascun AS viene
identificato con un numero univoco. La connessione tra due AS si chiama percorso e una
collezione di percorsi forma a sua volta un percorso che viene utilizzato per raggiungere la
destinazione
a.a. 2015-2016
prof. Guido Russo
141
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
BGP : caratteristiche del protocollo
• Affidabilita' della connessione: i router adiacenti comunicano attraverso una
connessione di livello trasporto (TCP), che ne garantisce l'affidabilita'.
• Protocollo Path Vector (variante del protocollo Distance vector)
• Per ogni destinazione IP è fornita la sequenza di Autonomous System da attraversare.
• Le destinazioni IP sono espresse in termini di prefissi di indirizzo
• I router possono aggregare le informazioni di routing ricevute prima di propagarle.
Questo consente un beneficio in termine di diminuzione del traffico di routing e di
diminuzione delle dimensioni delle basi dati nei router.
• Ogni router ha un algoritmo (Decision Process) per fare una classifica dei percorsi
alternativi.
a.a. 2015-2016
prof. Guido Russo
142
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
BGP : Path vector
Una delle principali criticità del protocollo Distance Vector consiste nella possibilità che si
verifichino fenomeni di non convergenza, quando non viene sempre scelto, da tutti i nodi, il
percorso più breve.
Il protocollo Path Vector, che e' comunque una variante dell’algoritmo distance vector,
permette la memorizzazione dell’intero percorso tra due reti. Ne consegue che è immediato
il riconoscimento dei loop.
Inoltre, il path vector non obbliga tutti gli AS ad usare la stessa metrica (in ogni AS ci possono
essere esigenze diverse e quindi metriche diverse).
a.a. 2015-2016
prof. Guido Russo
143
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
BGP : Route sovrapposte
Uno stesso router puo' ricevere annunci che dichiarano alcune destinazioni
raggiungibili attraverso percorsi diversi. Si possono avere:
• Percorsi maggiormente specifici: validi per un sotto insieme di destinazioni
più ristretto. Sono caratterizzati da un prefisso di indirizzo più lungo.
• Percorsi meno specifici: validi per un sopra insieme di destinazioni. Sono
caratterizzati da un prefisso di indirizzo piu' corto.
I router devono scegliere per default la route maggiormente specifica.
Se un router sceglie la route meno specifica lo segnala quando la propaga. In questo
modo si notifica che non è garantito che i pacchetti seguiranno il percorso
annunciato. Il router da cui arrivano le route sovrapposte, invierà alcuni pacchetti sul
percorso della route più specifica e altri su quella meno specifica (l’unica
annunciata).
Inoltre, la route non può essere disaggregata per cui i router che ricevono l’annuncio
non possono a loro volta annunciare percorsi differenti per sottoinsiemi delle
destinazioni.
a.a. 2015-2016
prof. Guido Russo
144
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
BGP : Attributi
Per la descrizione di un percorso verso una destinazione vengono utilizzati dei campi detti
attributi.
I più importanti sono la "lista degli AS attraversati" e la "lista delle reti raggiungibili"
A questo scopo, BGP utilizza due ottetti nei quali una serie di opportuni flag permettono di
discriminare il significato dei vari attributi.
Ogni attributo è classificato da un primo ottetto, nel quale sono previsti 4 flags e 4 bit riservati (a zero):
• O: indica se l'attributo e' opzionale (O=1) oppure se e' ben conosciuto.
• T:
o transitive: (T=1) è un parametro che può essere aggiornato o interpretato da altri router è
deve quindi essere trasmesso ai router successivi
o local: parametro che assume un significato solo all’interno di un certo AS; non deve essere
propagato
• P: settato se qualche router sul percorso non è stato in grado di comprendere il significato di quel
particolare attributo
• E: indica se la lunghezza del campo LENGTH
a.a. 2015-2016
prof. Guido Russo
145
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
BGP : Peers
Possiamo distinguere:
• Exterior: sono due router di bordo di 2 AS, che si vedono direttamente
• Interior: sono due router di bordo dello stesso AS, che necessitano di una
connessione interna apposita per scambiarsi le route BGP.
L’ideale sarebbe un grafo completamente connesso; in pratica ci si accontenta di un grafo
ben connesso. Ogni router stabilisce così una serie di connessioni con gli altri router BGP
dello stesso AS.
a.a. 2015-2016
prof. Guido Russo
146
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
BGP : Politiche
• Permettono al router di stilare una classifica dei possibili percorsi e scegliere il migliore.
• Vengono configurate manualmente.
• Sono necessarie in quanto non sono diffusi costi per il raggiungimento delle destinazioni.
• Si possono imporre politiche molto complesse
a.a. 2015-2016
prof. Guido Russo
147
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
BGP : Propagazione e Ricezione
Prima di vedere gli aspetti legati alla ricezione e alla propagazione dei pacchetti, e'
necessario introdurre la definizione di RIB (Routing Information Base).
Esistono 3 tipologie di RIB, di seguito descritte:
• Adj-RIBs-In: Informazioni apprese dagli annunci ricevuti
• Loc-RIB: Informazioni utilizzate per l’instradamento e selezionate mediante il
processo di decisione
• Adj-RIBs-Out: Informazioni da propagare e selezionate mediante il processo di
decisione.
Quando viene ricevuto un annuncio:
• Se la destinazione si trova in Adj-RIBs-In, la nuova route rimpiazza la vecchia; viene
eseguito il processo di decisione
• Se la route è maggiormente specifica di un’altra:
• con attributi diversi, viene eseguito il processo di decisione e la parte della
route meno specifica non viene più considerata valida
• con gli stessi attributi, la nuova route e' ignorata.
• Se la destinazione non è presente in Adj-RIBs-In viene inserita la nuova route e
viene eseguito il processo di decisione
• Se la nuova route è meno specifica di una esistente viene eseguito il processo di
decisione che riguardera' solo le destinazioni descritte dalla nuova route.
a.a. 2015-2016
prof. Guido Russo
148
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
BGP : Il processo di decisione
Il processo di decisione applica le politiche contenute nella PIB (Policy Information Base)
per selezionare le route da propagare.
È una funzione che, dati gli attributi di una route, restituisce un intero
Il processo di decisione non considera:
• l’esistenza di altre route
• la non esistenza di altre route
• gli attributi di altre route
Applicata la funzione a tutte le route per una destinazione, si sceglie quella con grado di
preferenza maggiore.
Il processo agisce su tutte le route contenute in Adj-RIB-In e si occupa di selezionare le
route da propagare sia all’interno che all'esterno dell’Autonomous System, inoltre,
aggrega le route e riduce le informazioni da trasmettere.
a.a. 2015-2016
prof. Guido Russo
149
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
BGP : Il processo di decisione
a.a. 2015-2016
prof. Guido Russo
150
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
BGP : i pacchetti
L’ header comune:
• Tutti i messaggi BGP sono caratterizzati da un'intestazione comune, di lunghezza
fissa (19 bytes).
• Marker: viene inserito per ragioni di sicurezza: un particolare algoritmo (negoziato durante
la fase di Initial Exchange) ne decide il contenuto in base al messaggio. È una particolare
forma di checksum.
• Length: lunghezza del messaggio TCP
• Type: Tipo del messaggio BGP
• Type = 1: Messaggio OPEN
• Type = 2: Messaggio UPDATE
• Type = 3: Messaggio NOTIFICATION
• Type = 4: Messaggio KEEPALIVE
a.a. 2015-2016
prof. Guido Russo
151
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
BGP : il messaggio open
I routers che supportano il protocollo BGP attendono la connessione BGP sulla porta 179. Un
router che vuole stabilire una connessione, deve innanzitutto aprire una connessione TCP verso
quella porta del peer router. Non appena la connessione e' stata stabilita, ciascun router invia un
messaggio OPEN al fine di negoziare i parametri della connessione.
a.a. 2015-2016
prof. Guido Russo
152
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
BGP : il messaggio open
• Version: Versione del protocollo BGP. La connessione puo' essere stabilita solo se entrambi i
peers utilizzano la stessa versione del protocollo.
• My AS: numero (ID) dell’AS (assegnato dalla IANA)
• Hold Time: numero di secondi usato dalla procedura di Keep Alive
• BGP_ID: l’indirizzo IP di una delle interfacce del router. È un parametro del router settato da
management, indipendentemente da quale interfaccia viene effettivamente usata per inviare
il pacchetto
• Auth_Code: tipo di autenticazione
• Auth_Data: autenticazione; non esiste se Auth_Type = 0. La lunghezza dell’autenticazione si
ricava dal campo Length dell’header comune.
a.a. 2015-2016
prof. Guido Russo
153
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
BGP : il messaggio update
Quando la connessione e' ormai stata stabilita, le stazioni BGP inizieranno a scambiarsi
messaggi "Update". Il messaggio Update contiene informazioni di routing ma distribuisce una
sola route; può annullare molte route e puo' includere molte destinazioni.
a.a. 2015-2016
prof. Guido Russo
154
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
BGP : il messaggio update
Il messaggio Update è composto di due parti:
• Una serie di Path Attributes (nella forma Flag, Type, Length dell’attributo corrente,
Valore)
• Una serie di reti
Il numero di Path Attributes è ricavabile dal campo Length dell’ header BGP che riporta la
lunghezza del campo Path Attributes (non del pacchetto globale)
a.a. 2015-2016
prof. Guido Russo
155
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
BGP : il messaggio notification
Se un router BGP riceve un messaggio errato o verifica una situazione anomala, segnalera' la
situazione al proprio peer inviandogli un messaggio di "Notification". Questo messaggio
viene anche inviato come ultimo messaggio prima di abbattere una connessione con un
altro router (ad esempio perché si sta procedendo a shutdown).
a.a. 2015-2016
prof. Guido Russo
156
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
BGP : il messaggio notification
• Error Code: indica la situazione di errore, tramite un opportuno codice
• Subcode: Identifica il tipo di pacchetto errato e specifica meglio l’errore, tramite un ulteriore
codice
• Data: Campo di lunghezza variabile, deducibile dalla lunghezza del messaggio
a.a. 2015-2016
prof. Guido Russo
157
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
BGP : il messaggio KeepAlive
Il messaggio KeepAlive indica al router adiacente che il mittente è ancora attivo e viene
utilizzato, inviando occasionalmente un messaggio, quando non si hanno informazioni di
routing da trasmettere.
KeepAlive è un pacchetto vuoto, composto dal solo header comune
a.a. 2015-2016
prof. Guido Russo
158
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
NAT
prof. G. Russo ([email protected])
ing. A. Violetta ([email protected])
©2008
a.a. 2015-2016
prof. Guido Russo
159
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Network address translation
• NAT (Network Address Translation) è una tecnica di filtraggio di pacchetti IP con
sostituzione degli indirizzi (mascheramento)
• NAT Consente la connessione di un insieme di hosts ad Internet utilizzando un
unico indirizzo IP
• Vanatggi:
o risparmiare indirizzi IP (in attesa della piena diffusione di IPv6)
o facilita l’amministazione della rete
o aumenta la sicurezza
a.a. 2015-2016
prof. Guido Russo
160
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Network address translation
Tutti i datagrammi che escono
dalla rete hanno lo stesso indirizzo
NAT 138.76.29.7, ma diversi numeri
di porta
a.a. 2015-2016
Tutti i datagrammi con
sorgente/destinazione
in questa sottorete hanno
indirizzo 10.0.0/24
come sorgente/destinazione
prof. Guido Russo
161
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Network address translation
Motivazioni:
• Risparmio di indirizzi IP: l’ISP attribuisce un solo indirizzo ad un insieme di hosts
appartenenti alla stessa organizzazione.
• Facilità di amministrazione della rete:
o si possono modificare gli indirizzi nella rete locale senza notificarlo al mondo
esterno
o Si può cambiare ISP senza modificare gli indirizzi della rete locale
• Sicurezza gli hosts nella rete locale non sono visibili dall’esterno e quindi indirizzabili
direttamente dall’esterno
a.a. 2015-2016
prof. Guido Russo
162
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Network address translation
Funzioni di un router NAT :
• sostituire in ogni datagram uscente la coppia (IP sorgente, #porta) con (NAT IP,
#nuovaporta) dove #nuovaporta è un nuovo numero di porta generato dal NAT
• registrare in una tabella di traduzione la corrispondenza tra le due coppie
• Sostituire in ogni datagramma entrante la coppia (NAT IP, #nuovaporta) con il
corrispondente (IP sorgente, #porta)
• memorizzato nella tabella di traduzione
a.a. 2015-2016
prof. Guido Russo
163
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Network address translation
a.a. 2015-2016
prof. Guido Russo
164
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Network address translation
•NAT : funziona solo con datagram IP che trasportano pacchetti a livello trasporto spediti
mediante il protocollo UDP o il protocollo TCP
•Gli indirizzi assegnati alle sottoreti interne appartengono ad una delle seguenti zone
10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16
•Il router opera anche come dispositivo NAT
•Circa 60000 porte con 16 bit
•circa 60000 connessioni aperte con un unico indirizzo IP
a.a. 2015-2016
prof. Guido Russo
165
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Network address translation
Vantaggi del NAT:
• Topologia della rete non visibile dall’esterno
• Il NAT opera in modo trasparente per molte applicazioni
• Spesso combinato con un firewall
a.a. 2015-2016
prof. Guido Russo
166
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Network address translation
Svantaggi del NAT:
• Il router manipola i numeri di porta (livello trasporto), mentre dovrebbe operare solo
fine al livello 3 (IP)
• Rende più complessa la raggiungibilità degli host sulla rete
• Alcune applicazioni non sono trasparenti al NAT (esempio applicazioni che
contengono indirizzi IP e numeri di porta nel payload)
• Esempio: FTP utilizza due connessioni parallele, una per l’interazione con il server,
l’altra per il trasferimento dati da e verso il server.I parametri della seconda (porta su
cui spedire i dati) connessione sono inclusi nel payload della prima
• Obiettivo: eliminare NAT con la diffusione di IPv6
a.a. 2015-2016
prof. Guido Russo
167
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Network address translation: tipi di NAT



NAT statica
NAT dinamica
NAT overload (PAT)
a.a. 2015-2016
prof. Guido Russo
168
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Network address translation: tipi di NAT, Statica



Corrispondenza uno-a-uno tra indirizzi locali e indirizzi globali.
Definita staticamente.

L’indirizzo 192.168.32.10 sarà sempre tradotto con 213.18.123.110
Usata di solito per rendere accessibile una macchina interna dall’esterno.
a.a. 2015-2016
prof. Guido Russo
169
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Network address translation: tipi di NAT, dinamica

Corrispondenza uno-a-uno tra indirizzi locali e indirizzi globali, tratti dinamicamente da un
gruppo.

L’indirizzo 192.168.32.10 sarà tradotto con il primo indirizzo disponibile dell’intervallo
213.18.123.100 – 213.18.123.150
a.a. 2015-2016
prof. Guido Russo
170
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Network address translation: tipi di NAT, overload (PAT)

Corrispondenza molti-a-molti tra indirizzi locali e indirizzi globali, tratti dinamicamente da un
gruppo.

Nell’esempio, l’indirizzo 192.168.32.10 sarà sempre tradotto l’indirizzo 213.18.123.100, ma con
una porta differente
a.a. 2015-2016
prof. Guido Russo
171
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
DHCP
prof. G. Russo ([email protected])
ing. A. Violetta ([email protected])
©2008
a.a. 2015-2016
prof. Guido Russo
172
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Dynamic Host Configuration Protocol
•
•
•
•
•
Il compito del protocollo DHCP e' di permettere a stazioni che si collegano ad una rete IP di
estrarre la loro configurazione da un server, allo scopo di ridurre il lavoro necessario di
amministrazione della rete. In particolare, il server DHCP assegna i valori di configurazione
all'atto del collegamento del computer richiedente.
DHCP e' basato sul protocollo BOOTP con cui mantiene parziale compatibilita' all'indietro. La
differenza principale e' che mentre il server BOOTP richiede configurazione amministrativa
manuale, DHCP permette l'allocazione dinamica di indirizzi di rete ai nuovi nodi che si
collegano. Inoltre DHCP permette il recupero e la riallocazione di indirizzi con un meccanismo di
'affitto'. DHCP puo' usare server BOOTP configurati come 'relay agent', eliminando la necessita'
di un server DHCP per ogni segmento di rete. I relay agent comunicano al server DHCP anche la
sottorete da cui proveniva la richiesta di nuovo indirizzo.
Il server DHCP mantiene un intervallo di indirizzi IP che amministra centralmente. E' opportuno
che in un dominio amministrato da servizio DHCP i singoli computer non compiano' piu'
decisioni autonome di selezione indirizzo IP ma facciano riferimento al server centrale.
Il servizio DHCP e' descritto nei documenti RFC1541, RFC1533 ed RFC1532.
DHCP supporta tre meccanismi di allocazione indirizzi IP:

automatico - allocazione automatica di un indirizzo permanente

manuale - configurazione manuale di indirizzi permanenti

dinamico - allocazione automatica di indirizzi temporanei
a.a. 2015-2016
prof. Guido Russo
173
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Dynamic Host Configuration Protocol: Il messaggio
a.a. 2015-2016
prof. Guido Russo
174
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Dynamic Host Configuration Protocol: Il messaggio
• Il campo Operazione vale 1 per un messaggio di Richiesta di boot e 2 per un messaggio di
Responso.
• Il campo Tipo Indirizzo Hardware; i tipi sono definiti dallo RFC 'Assigned Numbers'. Per
Ethernet il valore e' 1.
• Il campo Lunghezza Indirizzo Hardware vale 6 per Ethernet, il campo Numero di Salti e'
tipicamente zero, ma puo' essere incrementato da un relay agent.
• Il campo Identificativo Transazione e' scelto casualmente dal client e serve ad
identificare unaa richiesta specifica di parametri di boot.
• Il campo Secondi e' inizializzato dal client al numero di secondi trasmessi dall'istante del
boot.
• Il campo Flag e' zero ad eccezione del primo bit (M) definito come bit di broadcast.
• Il campo Indirizzo Cliente e' normalmente vuoto ma puo' venire riempito dal client che
richiede conferma dei parametri precedentemente ottenuti.
a.a. 2015-2016
prof. Guido Russo
175
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Dynamic Host Configuration Protocol: Il messaggio
• Il campo Identificativo Server e' l'indirizzo del server da usare nel passo successivo del
bootstrap del cliente. Un server DHCP puo' porre il proprio indirizzo in questo campo.
• Il campo Indirizzo Gateway e' riempito se e' in uso un router come relay agent.
• Il campo Indirizzo Hardware viene riempito dal client.
• Il campo Opzioni e' a lunghezza variabile, con un minimo di 312 byte, che porta la lunghezza
minima da supportare di un messaggio DHCP a 576 byte.
• Il campo Opzioni e' estendibile con i campi Nome Server e Nome File, che sono stringhe
terminate da un NUL.
a.a. 2015-2016
prof. Guido Russo
176
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
dhcpdiscover
From
To
What
?
Client
255.255.255.255
dhcpdiscover
?
!
Server
Source
dhcpoffer
!
?
Client
Server
dhcprequest
?
Ok
Server
Client
dhcpack
Ok
192.168.10.2
dhcpdiscover
? 192.168.10.250
dhcpdiscover
dhcpdiscover
?
?
L3 SWITCH
!
dhcpoffer
192.168.10.3
192.168.10.1
??
dhcprequest
dhcpack
a.a. 2015-2016
prof. Guido Russo
177
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Dynamic Host Configuration Protocol: I servizi forniti
Il server DHCP fornisce un servizio di registrazione dei parametri di rete dei client, sotto forma
di un record chiave-valore per ciascun client. La chiave usata identifica univocamente il client,
p.es. con il numero di sottorete e l'indirizzo hardware, o meglio indirizzo sottorete e nome host,
che permette lo scambio di interfacce hardware trasparente per un dato host.
Il secondo servizio e' l'allocazione di indirizzi IP temporanei o permanenti agli host client. Un
client richiede l'allocazione di indirizzo dinamico e l'indirizzo viene assegnato per un certo
periodo di tempo, durante il quale non viene allocato ad altri. Il server compie anche il tentativo
di riallocare se possibile lo stesso indirizzo IP allo stesso host in connessioni seguenti. La
possibilita' o meno e' data dal numero di indirizzi disponibili e dal numero di host che si
collegano nel frattempo, cioe' l'allocazione indirizzi e' ciclica nell'intervallo posseduto.
L'allocazione dinamica per un periodo dato viene chiamata 'affitto' (lease). Il client la puo'
estendere tramite ulteriore richiesta o puo' rilasciare l'indirizzo affittato in qualsiasi momento se
non serve piu'. In caso di scarsita' di indirizzi, il server DHCP riutilizza indirizzi affittati col
tempo scaduto.
a.a. 2015-2016
prof. Guido Russo
178
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Dynamic Host Configuration Protocol: Il protocollo
La sequenza di operazioni e' la seguente:
• Il client invia un messaggio di richiesta in modalita' broadcast detto DHCPDISCOVER.
Questo messaggio puo' includere opzioni che suggeriscono i valori desiderati di indirizzo
IP e tempo di affitto.
• I server DHCP presenti rispondono con un messaggio DHCPOFFER con il campo
Indirizzo Assegnato riempito con un indirizzo IP che viene offerto. Se possibile i server
DHCP riservano l'indirizzo per la durata della transazione o per un timeout.
• Il client puo' attendere di ricevere piu' offerte e seleziona una di esse. Quindi invia un
messaggio broadcast DHCPREQUEST che deve includere l'indirizzo del server di cui si
accetta l'offerta.
a.a. 2015-2016
prof. Guido Russo
179
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Dynamic Host Configuration Protocol: Il protocollo
• I server non selezionati considerano chiusa la transazione. Il server selezionato invia al client
un messaggio DHCPACK che contiene i parametri di configurazione rete per il client, e
aggiorna i dati del client nel proprio database.
• Il client riceve il messaggio di conferma e compie la decisione finale se accettare o rifiutare
con un messaggio DHCDECLINE. Il server che riceve un declino cancella il client dal
database.
• Il client che termina di usare un indirizzo IP lo comunica al server con un messaggio
DHCPRELEASE.
• I tempi di affitto sono rappresentati in secondi. Si assume che gli orologi del server e del
client siano stabili. L'orologio di riferimento all'atto dell'inizio dell'affitto e' quello del client.
In caso di sfasamento il server comunica un tempo d'affitto piu' breve al client di quello che
effettivamente registra.
a.a. 2015-2016
prof. Guido Russo
180
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Algoritmi di instradamento
prof. G. Russo ([email protected])
ing. A. Violetta ([email protected])
©2008
a.a. 2015-2016
prof. Guido Russo
181
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Tecniche di instradamento
Esistono tre diverse tecniche per l'instradamento dei pacchetti:
• Routing by Network Address
Un sistema è indirizzato scrivendo nel pacchetto il suo indirizzo. Ogni IS usa tale
indirizzo come chiave di ricerca nella sua tabella di instradamento e determina lungo
quale cammino il pacchetto debba essere ritrasmesso. Tale tecnica è in generale adottata
dai protocolli connectionless; è usata, ad esempio, in Decnet, in OSI-Clns e in IP.
• Label Swapping
E' generalmente utilizzata nei protocolli connessi e trova applicazioni in ATM e APPN.
Ogni pacchetto è marcato con una label che serve come chiave in una tabella di
instradamento sull'IS. L'IS, prima di ritrasmettere il pacchetto, sostituisce la label con
una nuova; in questo modo le label devono essere univoche solo all'interno di un dato
link. Se il protocollo è connesso le label non sono altro che gli identificativi delle
connessioni.
• Source Routing
E' una tecnica usata dai bridge token ring.
L'OSI delega la funzionalità di instradamento al livello 3 e in particolare agli IS detti anche router.
a.a. 2015-2016
prof. Guido Russo
182
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Tecniche di instradamento
Esistono tre diverse tecniche per l'instradamento dei pacchetti:
• Routing by Network Address
Un sistema è indirizzato scrivendo nel pacchetto il suo indirizzo. Ogni IS usa tale
indirizzo come chiave di ricerca nella sua tabella di instradamento e determina lungo
quale cammino il pacchetto debba essere ritrasmesso. Tale tecnica è in generale adottata
dai protocolli connectionless; è usata, ad esempio, in Decnet, in OSI-Clns e in IP.
• Label Swapping
E' generalmente utilizzata nei protocolli connessi e trova applicazioni in ATM e APPN.
Ogni pacchetto è marcato con una label che serve come chiave in una tabella di
instradamento sull'IS. L'IS, prima di ritrasmettere il pacchetto, sostituisce la label con
una nuova; in questo modo le label devono essere univoche solo all'interno di un dato
link. Se il protocollo è connesso le label non sono altro che gli identificativi delle
connessioni.
• Source Routing
E' una tecnica usata dai bridge token ring.
L'OSI delega la funzionalità di instradamento al livello 3 e in particolare agli IS detti anche router.
a.a. 2015-2016
prof. Guido Russo
183
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Routing by Network Address
Su reti ad accesso multiplo come le LAN si devono stabilire le relazioni tra gli indirizzi di
livello 2 sottolivello MAC e gli indirizzi di livello 3 per poter effettuare l'instradamento.
Questo è necessario, in quanto l'indirizzo di livello 3 serve per identificare il destinatario
finale di un pacchetto nell'ambito dell'intera rete, mentre quello di livello 2MAC serve a
discriminare il destinatario finale di un pacchetto nell'ambito di una LAN.
E' anche possibile che un nodo con un solo indirizzo di livello 3 abbia più indirizzi di livello
2MAC (uno per ogni interfaccia di rete); l'unica eccezione di rilievo è data dal TCP/IP che
ha un indirizzo di livello 3 per ogni scheda di rete. Per mantenere le corrispondenze tra gli
indirizzi dei due livelli viene spesso utilizzato il protocollo ARP (Address Resolution
Protocol).
a.a. 2015-2016
prof. Guido Russo
184
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Routing by Network Address
Supponiamo di voler trasmettere un pacchetto dall'ES
B all'ES A.
B genera un pacchetto di livello 3 con L3-DSAP=A e
L3-SSAP=B che rimarrà immutato fino a destinazione.
B verifica se A è sulla sua stessa LAN e, poichè non è
così invia il mmessaggio ad R2 specificando L2DSAP=R2 e L2-SSAP=B.
L'IS R2 riceve il pacchetto ed utilizza le sue tabelle di
instradamento per decidere di ritrasmettere il
messaggio sul CDN. In questo caso non sono
necessari gli indirizzi di livello 2 perchè stiamo
inviando il pacchetto in un canale punto-punto.
R1 riceve il pacchetto e decide che deve trasmetterlo
ad A tramite la LAN. Usando, ad esempio, un
algoritmo di ARP ricava l'idirizzo di livello 2 di A a
partire dal suo indirizzo di livello 3 e quindi effettua
la trasmissione del pacchetto.
A riceve il pacchetto e, poichè lo L3-DSAP è uguale al
suo indirizzo di livello 3, non lo inoltra ulteriormente
sulla rete, ma lo passa ai suoi livelli superiori.
a.a. 2015-2016
prof. Guido Russo
185
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Label Swapping
•È generalmente usato nei protocolli connect oriented
•Ogni pacchetto è marcato con una label che identifica la connessione
•La label viene usata come chiave per determinare l’instradamento e sostituita in
ogni nodo
•È usato in:
 X.25
 APPN
 ATM
Tabella di routing utilizzata per il label swapping
a.a. 2015-2016
prof. Guido Russo
186
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Source Routing
Il nodo mittente scrive nel pacchetto l’elenco completo dei nodi da attraversare
• È usato:
nei bridge source-routing
in APPN+/HPR
a.a. 2015-2016
prof. Guido Russo
187
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Architettura di un Router
a.a. 2015-2016
prof. Guido Russo
188
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Tabelle di routing/instradamento
Il livello network per inoltrare i pacchetti si basa:
• sull’indirizzo del destinatario
• sulle tabelle di instradamento presenti negli IS
.
Una tabella di routing contine una o più rotte, che contengono informazioni su
come raggiungere una rete basata su IP.
I parametri su cui si basa sono la Network, la netmask, il next hop e la metrica
Le tabelle di instradamento possono essere scritte manualmente dal gestore della
rete oppure calcolate automaticamente da un opportuno algoritmo.
Per questo parliamo, rispettivamente di routing statico o routing dinamico
a.a. 2015-2016
prof. Guido Russo
189
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Routing statico
Le rotte statiche sono configurate dall’amministratore di rete e salvate nel file di
configurazione del router, che è caricato al bootstrap dalla RAM del ruter, così da
caricare le informazioni di routing nella tabella di routing.
A seconda dei bisogni e della situazione, l'impostazione di tipo statica del routing può
essere un vantaggio o uno svantaggio; sicuramente è accettabile come soluzione fin
quando il numero di dispositivi rimane basso.
a.a. 2015-2016
prof. Guido Russo
190
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Routing dinamico
Il routing dinamico tramite opportuni algoritmi di scrivere dinamcamente le tabelle di
ruoting in ogni router.
Gli algoritmi di routing dinamico contengono le regole di come determinare le rotte per ogni
IS.
I due principali lgoritmi di routing dinamico sono:
• Distance Vector
• Link State Packet
E' compito dell'amministratore conoscere e scegliere tra i diversi protocolli di routing
dinamico,
a
seconda
delle
esigenze
e
delle
risorse
disponibili.
In generale, il lavoro svolto dai protocolli di routing dinamico sono:
• Comunicare con altri dispositivi per scambiarsi dati sulla rete
• Gestire le tabelle di routing, ovvero, aggiungere le rotte selezionando la migliore nel
caso ce ne siano più di una per una stessa destinazione
• Eliminare le rotte non più valide
• Adattare dinamicamente la tabella di routing a eventuali cambi di topologia, siano
essi provvisori (interfaccia che cade), o meno (aggiunta di un dispositivo,
spostamento, rimozione).
a.a. 2015-2016
prof. Guido Russo
191
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Algoritmi di instradamento
Per instradare un pacchetto un router si basa sull'indirizzo del destinatario finale e sulle
tabelle di instradamento. Tuttavia, un router si trova ad elaborare pacchetti che, la maggior
parte delle volte, devono attraversare più LAN e la scelta della porta su cui immettere i dati
non è più univoca. Ci possono essere più cammini alternativi e la scelta è influenzata da due
parametri principali, quali il n° di router che il pacchetto deve attraversare per giungere a
destinazione (hops) o il costo, cioè la somma dei costi di tutte le linee attraversate. Il costo di
una linea è inversamente proporzionale alla velocità di una linea stessa, mentre gli hops
rappresentano dei ritardi introdotti dai routers attraversati.
Gli algoritmi di instradamento hanno la funzione di ottimizzare l'utilizzo delle linee e
devono avere alcune caratteristiche:
•Devono essere molto semplici, poiché i routers hanno CPU e memoria finite e
potrebbero introdurre dei ritardi inaccettabili.
•Devono permettere ai routers di adattarsi a voluti o imprevisti cambiamenti di
topologia senza interrompere il funzionamento della rete.
•Devono convergere velocemente ad un instradamento stabile, la modifica delle
tabelle di instradamento deve avvenire soltanto a fronte di un cambiamento di
topologia.
•Nessun nodo deve essere privilegiato o danneggiato.
a.a. 2015-2016
prof. Guido Russo
192
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Algoritmi di instradamento
Gli algoritmi si dividono in due categorie, non adattativi ed adattativi.
I primi utilizzano criteri fissi di instradamento e sono, perciò, statici e deterministici, i
secondi calcolano ed aggiornano le tabelle di instradamento in funzione della topologia della
rete e dello stato dei link e sono così dinamici e non deterministici.
Nelle reti con topologia ad albero i primi sono i più efficienti, poiché sono più semplici.
Dove invece la configurazione della rete è magliata, per sfruttare al meglio ogni possibile
percorso è bene utilizzare algoritmi dinamici. Appartengono al primo gruppo il Fixed
Directory Routing ed il Flooding, mentre appartengono al secondo il Routing
Centralizzato, il Routing Isolato ed il Routing Distribuito. Gli algoritmi di più moderna
concezione sono quelli distribuiti che si dividono ulteriormente in due categorie: Distance
Vector e Link State Packet.
a.a. 2015-2016
prof. Guido Russo
193
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Fixed Directory Router
Il Fixed Directory Routing prevede che ogni nodo abbia una tabella di instradamento che
metta in corrispondenza il nodo da raggiungere con la linea da usare. Queste entry sono
puramente statiche, poiché è il gestore che si occupa di determinarle e di configurare il
router. Il gestore ha così il completo controllo sul traffico ed è necessario un suo intervento in
caso di guasti.
È comodo utilizzare quest'algoritmo nelle zone più periferiche di una rete, dove esiste un
solo collegamento che le interconnette al resto della rete, poiché risulta difficoltoso gestire le
tabelle in reti di grandi dimensioni; le regole di instradamento specificate su ogni singolo
router prendono il nome di route statiche.
a.a. 2015-2016
prof. Guido Russo
194
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Flooding
Ciascun pacchetto che arriva ad un router viene instradato su tutte le porte, eccetto quella
da cui è arrivata. Con questo metodo, concepito per reti militari, si massimizza la
probabilità che i dati arrivino a destinazione, ma si induce sulla rete un carico molto
elevato. Per limitare il carico prodotto si può introdurre un age-counter che permette di
eliminare i pacchetti che hanno attraversato molti router, oppure si può usare una tecnica
che prevede di scartare i pacchetti che passano da un router per la seconda volta.
a.a. 2015-2016
prof. Guido Russo
195
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Routing centralizzato
Si presuppone che esista un RCC, Routing Control Center, che conosca la topologia di tutta
la rete e che calcoli e distribuisca le tabelle di instradamento per ogni router della rete.
Questo metodo consente una gestione della rete molto accurata, in quanto le tabelle
possono essere calcolate con algoritmi sofisticati, ma implica l'ipotesi di un gestore a livello
mondiale, ipotesi oggi sicuramente non realistica. Il RCC dovrebbe essere duplicato e la
porzione di rete intorno ad esso sarebbe soggetta ad un elevato volume di traffico di
servizio; inoltre, in caso di guasti, possono verificarsi situazioni in cui il RCC perde il
contatto con intere porzioni di rete e che si verifichino degli aggiornamenti solo parziali
che potrebbero portare a situazioni di loop.
a.a. 2015-2016
prof. Guido Russo
196
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Routing isolato
È un metodo esattamente opposto al precedente. Infatti, ogni router presente in rete calcola le
proprie tabelle di instradamento in maniera del tutto indipendente dagli altri.
L'algoritmo più diffuso è il Backward Learning, utilizzato con successo nei bridge IEEE
802.1D all'interno di una LAN. La modifica più importante per adattarlo a situazioni più
estese è l'aggiunta nell'header del pacchetto di un campo di costo, inizializzato a zero dalla
stazione mittente ed incrementato da ogni stazione intermedia, di modo che ogni router
possa modificare la propria tabella se si accorge che una stazione è raggiungibile con un costo
minore.
Un limite di questo algoritmo è che i router si accorgono soltanto di eventuali miglioramenti
dello stato della rete. È necessario, quindi, che le entry dinamiche restino valide solo per un
determinato periodo di tempo, allo scadere del quale vengono riaggiornate.
a.a. 2015-2016
prof. Guido Russo
197
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Routing Distributo
È una fusione dei due metodi sopra descritti. Non esiste un RCC, ma le sue funzionalità
sono realizzate in modo distribuito da ogni singolo nodo della rete. Le tabelle vengono
aggiornate dai routers scambiandosi fra loro informazioni di servizio mediante un
apposito protocollo. Le tabelle di instradamento, come già detto in precedenza, vengono
calcolate a partire dai due parametri: costo e hops. Il costo di ciascuna linea di ciascun
router è un parametro che viene impostato dal network manager tramite il software di
gestione dei router stessi. Oggi gli algoritmi distribuiti principali sono il Distance Vector ed
il Link state Packet (lo stato dell'arte), descritti nei paragrafi seguenti.
a.a. 2015-2016
prof. Guido Russo
198
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Distance Vector
prof. G. Russo ([email protected])
ing. A. Violetta ([email protected])
©2008
a.a. 2015-2016
prof. Guido Russo
199
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Distance Vector
Ogni router mantiene in memoria, oltre alla propria tabella di instradamento, una
struttura dati, detta appunto Distance Vector per ogni linea. Il Distance Vector
associato a ciascuna linea contiene informazioni ricavate dalla tabella di
instradamento del router collegato all'altro estremo della linea.
Il calcolo delle tabelle di instradamento avviene tramite un processo di funzione di
tutti i distance vector associati alle linee attive del router. Tutte le volte che un router
calcola una nuova tabella di instradamento, la invia agli IS adiacenti (cioè quelli
collegati da un cammino fisico diretto).
Ogni entry è composta da quattro parametri, indirizzo, hops, costo e linea, e la tabella
contiene entry relative ad ogni nodo presente in rete.
a.a. 2015-2016
Indirizzo
Hops
Costo
Linea
1
3
25
3
2
5
35
2
3
9
50
6
4
1
5
7
5
0
0
0
prof. Guido Russo
Si nota che il
router a cui
appartiene
questa tabella ha
indirizzo 5,
poiché appare
raggiungibile
con costo 0 ed in
0 hops
200
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Distance Vector
Il Distance Vector da inviare al router adiacente è composto dalle prime tre colonne della
tabella precedente. Il router che lo riceve prima di tutto verifica se vi sono delle modifiche
dal precedente e, in caso affermativo, aggiorna i campi hops e costo, sommando 1 a tutti gli
hops e sommando il costo della linea da cui è arrivato il messaggio al campo costo. Il passo
successivo è l'aggiornamento della propria tabella tramite un processo di fusione (merge) di
tutti
i
Distance
Vector
a
lui
pervenuti
da
ogni
linea
attiva.
La fusione avviene selezionando dalle entry con indirizzo uguale quella con il minor costo.
A parità di costo, si seleziona quella che ha il minor numero di hops. La selezione avviene in
maniera
casuale
se
entrambi
i
parametri
sono
uguali.
Un vantaggio di questo algoritmo è la facile implementazione. Tuttavia è sconsigliato
utilizzarlo in reti con più di mille nodi, poiché ha una complessità elevata (esponenziale nel
caso peggiore). Inoltre è lento a convergere, poiché dipende dalla velocità del router più
lento presente in rete.
Questo algoritmo è usato in Decnet fase IV e in alcune realizzazioni di TCP/IP (RIP e IGRP)
a.a. 2015-2016
prof. Guido Russo
201
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Link state
prof. G. Russo ([email protected])
ing. A. Violetta ([email protected])
©2008
a.a. 2015-2016
prof. Guido Russo
202
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Link state
Questo algoritmo presuppone che ogni router abbia in memoria la mappa di tutta la rete.
Non è pensabile che questa mappa sia scritta nel router da management, ma ogni router, a
differenza dell'algoritmo Distance vector, coopera per crearla e mantenerla aggiornata, poi
calcola indipendentemente la propria tabella.
Supponiamo di avere una rete con 6 nodi come in figura:
a.a. 2015-2016
prof. Guido Russo
203
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Link state
Un router apprende, tramite protocolli Neighbor Greetings, i primi N nodi vicini, associando
ad ognuno di essi il costo della linea.
Il passo successivo consiste nel propagare tale informazione ai router presenti in rete tramite
un messaggio definito Link State Packet (LSP). La propagazione avviene con un algoritmo di
tipo Flooding.
Adiacente
Costo
B
3
F
4
G
3
LSP del nodo D
La mappa della rete si costruisce fondendo ogni LSP e viene memorizzata in una LSP base
dati del formato mostrato nella tabella seguente.
a.a. 2015-2016
prof. Guido Russo
204
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Link state
A
B/3
E/1
B
A/3
C/9
C
B/9
G/5
D
B/3
F/4
G/3
E
A/1
F/2
G/10
F
D/4
F/2
G
C/5
D/3
H
G/3
D/3
E/10
Si nota che tale database è simile ad una matrice di adiacenza di un grafo che rappresenta la
rete intera. Tale database, se l'algoritmo converge, deve risultare uguale in ogni IS della rete.
Il LSP database, rappresentando la mappa della rete con i costi associati, è l'informazione
necessaria e sufficiente affinchè un router possa calcolare le sue tabelle di instradamento.
Si noti la differenza con il distance vector, in quel caso i router cooperano direttamente per
calcolare le tabelle di instradamento, qui i router cooperano per mantenere aggiornata la
mappa della rete, poi ogni router calcola la propria tabella di instradamento in modo
autonomo.
Il calcolo della tabella di instradamento si riduce ora al calcolo dello spanning tree di tipo
SPF (Shortest Path First) e lo si effettua tramite una variante del noto algoritmo di Dijkstra.
a.a. 2015-2016
prof. Guido Russo
205
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Link state
Lo spanning tree generato dall’ algoritmo di Dijkstra ad esempio del nodo D risulterà come
nella figura seguente:
Ecco la relativa tabella di instradamento.
A
l3
B
l3
C
l2
E
l1
F
l1
G
l2
H
l2
Tabella di instradamento nodo D
a.a. 2015-2016
prof. Guido Russo
206
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Link state
Questo algoritmo è capace di gestire reti di grandi dimensioni grazie alla sua rapida
convergenza ed il suo comportamento è prevedibile, poiché ogni nodo ha in memoria la
mappa intera della rete. Difficilmente si generano loop e, comunque, risulta facile
identificarli ed eliminarli.
Algoritmi di tipo link state sono utilizzati nello stadard IS-IS e nel protocollo OSPF (adottato
in alcune reti TCP/IP).
a.a. 2015-2016
prof. Guido Russo
207
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Il database Link State
I routers OSPF o, piu' precisamente, i routers OSPF nella stessa area, condividono un
database composto di records link state. Questi records rappresentano la topologia della rete
e sono utilizzati per calcolare il percorso piu' breve. Ci sono 5 tipi di link state:
• Router
• Rete
• Sommario per rete IP
• Sommario per router di confine
• Esterno
a.a. 2015-2016
prof. Guido Russo
208
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Header link state
Ci sono numerosi tipi di record link state, ma tutti condividono lo stesso header LSA (Link
State Advertisment) :
• Age: anzianità dell’LSA corrente (secondi)
• Options: Solo 2 degli 8 bit a disposizione
hanno significato:
o E: External Link, usato dal protocollo Hello
o T: settato quando il router supporta il TOS
(Type Of Service) Routing.
• Type: tipo di LSA trasportato. Ne esistono di cinque tipi.
I formati dei pacchetti di questi 5 tipi di LSA devono essere sempre preceduti dall’LSA
Header
• Link_State_ID: identificativo dell’LSA scelto dall’Advertising Router.
• Advertising Router: uno degli indirizzi IP del router (quello selezionato come
OSPF_ROUTER_ID)
• Sequence number: puo' variare tra 1-N e N-2, dove N = 231. Quando un router invia il
primo LSA, il numero di sequenza sara' il numero negativo 1-N; questo numero verra'
regolarmente incrementato per i successivi LSA.
• Lenght: la totale lunghezza del record, inclusi i 20 bytes dell'header
a.a. 2015-2016
prof. Guido Russo
209
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Link State: Router
Riporta le informazioni su tutti i link connessi al router che sta facendo l’advertising. Le
informazioni riportate comprendono quindi tutti i router adiacenti e tutte le LAN collegate.
Siccome gli LSA generati da un internal router devono raggiungere tutti i router della sua
area, le reti contenute in un'area devono essere contigue, cioè deve essere possibile spostare
un pacchetto da un qualsiasi router interno all'area ad un qualsiasi altro transitando
esclusivamente su collegamenti (e router) interni all'area.
Viene propagato solo all’interno dell’area (sia per le aree non backbone che per il backbone).
I campi dal Link_ID fino alla fine sono ripetuti N volte pari al numero di link presenti.
Campo LS Type = 1
a.a. 2015-2016
prof. Guido Russo
210
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Link State: Router
• E: se il router è un Area Border Router (External)
• B: se il router è un AS Boundary Router (Border)
• Link Type, Link_State_ ID, Link Data:
o Se Link_Type è un link punto - punto:
 Link_State_ID: OSPF_ID di questo router
 Link_Data: indirizzo IP dell’interfaccia del router
o Se Link_Type è un link su una rete che ha un Designated Router:
 Link_ State_ ID: indirizzo IP dell’interfaccia del Des. Router
 Link_Data: indirizzo IP dell’interfaccia del router
o Se Link_Type è un link che si connette ad una rete Stub:
 Link_ State_ ID: indirizzo IP della rete / sottorete
 Link_Data: netmask relativa al punto precedente
• # TOS: il numero di tipi di servizio con cui vengono differenziate le metriche;
essendo i valori del campo TOS 28 non è necessario riportare la metrica
per tutti i TOS, ma solo per quelli che differiscono dal TOS 0
• TOS 0 metric: il costo di percorrenza del link per i pacchetti con TOS = 0
• TOS = x: il TOS dei pacchetti IP che utilizzano una metrica alternativa a quella standard
• TOS x metric: la metrica associata ai pacchetti che hanno TOS pari a x
a.a. 2015-2016
prof. Guido Russo
prof. Guido Russo
211
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Link State: Rete
È generato dal Designated Router per le reti di transito (transit networks) ed e' simile ad un
tradizionale LSP generato per conto di una LAN.
Elenca tutti i router presenti sulla LAN e viene propagato sul backbone dai backbone router.
Campo LS Type = 2
• Network Mask: Netmask della rete di transito
• Attached Router: Indirizzo IP di tutti i router che vi si affacciano sulla LAN (o meglio, tutti i
router che hanno creato una adiacenza con il designated router).
• Link_State_ID (dell’header LSA): è il corrispondente indirizzo IP dell’interfaccia del
Designated Router collegata alla rete di transito
a.a. 2015-2016
prof. Guido Russo
212
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Link State: Summary link
Sono generati ambedue dagli Area Border Routers, e ne esistono di due tipi:
• Summary Links for IP Networks (LS Type = 3): propagano le informazioni
sommarizzate relative alla distanza tra l’ABR e le destinazioni interne all’AS
• Summary Links for Border Routers (LS Type = 4): propagano le informazioni
sommarizzate relative alla distanza tra l’ABR e gli AS Border Router
Sono diversi dai Router Links fondamentalmente perché propagano delle informazioni
sommarizzate. Ogni LSA contiene una sola destinazione (contrariamente ai Router Links)
mentre ogni ABR ne genera molti, inseriti nello stesso pacchetto.
• Summary link for IP networks
Un ABR genera LSA con contenuto diverso per ognuna delle aree su cui si affaccia.
Gli LSA inviati in un area comprendono un LSA per ogni indirizzo IP esterno all’area in
esame ma interno all’area stessa. Gli LSA inviati sul backbone comprendono un LSA per
ogni indirizzo IP appartenente alle aree su cui si affaccia l’ABR.
È utilizzato dagli ABR per riassumere e propagare le informazioni su una singola area.
• Summary Links for Border Routers
Viene propagato senza variazioni su tutte le aree (e sul backbone) dove si affaccia l’ABR
a.a. 2015-2016
prof. Guido Russo
213
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Link State: Summary link, header
• Network Mask:
o Summary Links for IP Networks: quella della rete o della subnet che viene
summarizzata
o Summary Links for Border Routers: fissata a 0xFFFFFFFF
• TOS = x, TOS x metric: stesso significato di quello dei Router Links. Non serve il campo #
TOS in quanto la lunghezza si ricava dall’header LSA
• Link_State_ID (dell’header LSA):
o Summary Links for IP Networks: l’indirizzo IP della rete o della subnet che viene
summarizzata
o Summary Links for Border Routers: l’indirizzo IP del Border Router
a.a. 2015-2016
prof. Guido Russo
214
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Link State: Esterno
Riportano le informazioni relative a destinazioni esterne al dominio (costo dal router che ha
generato il LSA ad una destinazione esterna all’AS).
Sono generati dagli AS Border Router e vengono propagati a tutti i router del dominio OSPF.
Comprendono una destinazione per LSA (come i Summary Links).
Campo LS Type = 5
a.a. 2015-2016
prof. Guido Russo
215
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
Link State: Esterno, header
• Network Mask: netmask della rete o della
sottorete destinazione
• E: bit 0 del campo TOS. Indica se la metrica
e le route esterne vengono acquisiti
tramite protocolli quali EGP e BGP, i
quali non necessariamente forniscono
una metrica comparabile a quella di
OSPF. Se viceversa è settato indica
che la metrica non è compatibile con
OSPF e quindi la distanza deve essere
considerata "maggiore di ogni altra
route interna". Nel caso la metrica
sia compatibile, e' possibile farne la
somma con i costi interni al dominio OSPF ricavando il costo effettivo per raggiungere la
destinazione.
• External Route Tag: utilizzato dai Border Router per scambiarsi informazioni in riferimento
a quella route. Non e' utilizzata ne' analizzata da OSPF
• TOS = x, TOS x metric: stesso significato di quello dei Router Links. Non serve il campo #
TOS in quanto la lunghezza si ricava dall’header LSA
• Link_State_ID (header LSA): indirizzo IP della rete o della sottorete destinazione
a.a. 2015-2016
prof. Guido Russo
216
Università degli Studi di Napoli “Federico II”
Facoltà di Scienze MM. FF. NN. – Sez. Informatica
Sistemi per l’Elaborazione dell’Informazione: RETI
a.a. 2015-2016
prof. Guido Russo
217