Sei sulla pagina 1di 30

Settembre 2001 N 5

2
TECNONET S.p.A.
LAN VIRTUALI

Con il termine VLAN si identificano varie tecnologie
diverse. Lunica definizione comune, fra queste varie
tecnologie, che una VLAN corrisponde a un dominio
logico di broadcast a livello 2.
I singoli produttori, quando descrivono le propriet dei
loro switch, usano con molta libert il termine VLAN
ma, poich le tecnologie dei produttori sono molto
diverse, ci si chiede perch essi utilizzino lo stesso
termine per descrivere i loro servizi. Il motivo che il
termine in se stesso esercita un forte richiamo sugli
operatori di rete, poich promette migliori prestazioni e
semplicit duso, e quindi i produttori lo usano per
trarre il massimo profitto dal suo valore di
marketing.

Ragioni per luso di VLAN

1) Per ragioni di sicurezza
a) Si vogliono mantenere completamente separate le reti
tramite limpiego delle VLAN
i) In passato questo problema si risolveva realizzando reti fisiche
separate
2) Per risolvere conflitti di competenze tra enti
diversi di una grande organizzazione
3) Per limitare il traffico di Broadcast/Multicast
a) Le VLAN sono domini di Broadcast che devono essere
interconnesse tramite un router

Appartenenza alla VLAN

Lappartenenza di una frame ad una VLAN pu essere:

1) Statica
a) Per porta (unica tipologia di VLAN standard !)
i) In questa modalit qualsiasi frame che entra nella porta X, alla quale
associata la VLAN Y, diventer una frame appartenente alla VLAN
Y.
2) Dinamica (tipologie VLAN proprietarie !!!)
a) Per indirizzo MAC
b) Per protocollo
c) Per indirizzo di livello 3
d) Per indirizzo Multicast
e) policy based (per applicazione, per utente, ecc.)

Nel caso di VLAN dinamiche una stazione pu
appartenere a pi VLAN contemporaneamente.
Nel caso di VLAN per porta una stazione pu
appartenere soltanto a una VLAN.
Le VLAN possono coprire:

- un singolo switch
- lintera Lan estesa

Nel caso di Lan estesa le diverse VLAN configurate su
uno switch devono poter operare con lo stesso tipo di
VLAN configurate su un altro switch. Esistono due
possibilit:

- collegamento porta-porta fra i due switch per ogni
singola VLAN (utilizzabile per due o tre VLAN,
impraticabile per un numero superiore di
VLAN!!!)


- collegamento singolo porta-porta fra i due switch
per tutte le VLAN. Deve dunque esistere una
tecnica di identificazione dellappartenenza alle
VLAN delle singole frame che attraversano questo
collegamento denominato comunemente trunk.


Tecniche di identificazione (frame tagging)

1) Implicit tagging (etichettatura di frame implicita)
a) Un etichetta di frame implicita corrisponde a un campo
esistente nella frame originale
2) Explicit tagging (etichettatura di frame esplicita)
a) Un etichetta di frame esplicita consiste di uno o pi campi
addizionali aggiunti alla frame
b) Ci sono due possibilit, in funzione della posizione del tag
nella frame:
i) One level tagging (detto anche internal tagging)
ii) Two level tagging (detto anche external tagging)
iii) Entrambi possono essere realizzati in ASIC

One level tagging:

Il frame originale viene modificato aggiungendo
il tag subito dopo lindirizzo MAC Sorgente.
Nessun altro campo viene modificato ad eccezione del
campo FCS.
Dato che i MAC address non sono modificati, una
frame etichettata in questo modo, pu essere instradata
anche da switch VLAN Unaware (cio dove non
3
TECNONET S.p.A.
sono configurate VLAN, o che non possono essere
configurate). Unico e importante problema che
laggiunta del tag pu creare dei Jabbers (frame pi
grandi rispetto al massimo previsto dallo standard. I
Jabbers vengono sempre eliminati da una porta dello
switch che non sia trunk!).


Two level tagging

La frame non viene modificata, ma gli si
aggiunge un nuovo header e un nuovo FCS. E in
effetti una tecnica di tunneling. I nuovi MAC address
utilizzati per limbustamento esterno sono quelli degli
switch agli estremi del tunnel.

Tecniche di filtraggio

MFD/SE (Multiple Filtering Database / Single Entry)

Ciascuna riga del filtering database contiene:
Mac address
Identificatore Vlan (VID)
Numero porta
Pu supportare spanning tree multipli (uno per
ogni Vlan!)

SFD/ME (Single Filtering Database / Multiple Entry)

Ciascuna riga del filtering database contiene:
Mac address
Un gruppo di porte di uscita

Esiste poi una seconda tabella che contiene:
Gruppi di porte di uscita
VID
Supporta spanning tree singolo.

IEEE 802.1Q

Gli scopi generali dello standard 802.1Q consistono nel
definire unarchitettura per le Vlan che comprenda le
caratteristiche base di un sistema Vlan, nonch i
protocolli e capacit funzionali di uno switch 802.1Q.
Gli switch che implementano 802.1Q sono
essenzialmente, dei switch compatibili 802.1D, con un
complesso modificato di regole di ingresso e uscita, un
protocollo addizionale per identificare le capacit Vlan
dei sistemi terminali e di un meccanismo di trasporto
Vlan basato sulla implementazione di una etichettatura
One level tagging. Lo standard prevede
interoperabilit con gli switch unaware.
802.1Q prevede solo lesistenza di Vlan per porta. Altri
tipi di Vlan sono ammesse ma non sono definite,
quindi gli sviluppi sono di tipo proprietario e non
consentono interoperabilit tra apparati di costruttori
diversi.
Gli switch 802.1Q gestiscono i pacchetti classificandoli
in base allidentificatore Vlan (VID) della porta su cui
sono stati ricevuti.
Le porte dello switch possono essere di due tipi:

1) Access port
a) Comportamento frame in entrata:
i) Lo switch conosce la porta di entrata, e dunque il
VID associato, e il mac address destination della
frame che entrata. La frame sar indirizzata sulla
porta di uscita opportuna dopo aver consultato il
filtering database, che gli fornisce il numero di porta
duscita. Finch la frame rimane allinterno dello
switch non viene utilizzata nessuna etichettatura.
b) Comportamento frame in uscita:
i) Lo switch fa uscire la frame immodificata.
2) Trunk port
a) Comportamento frame in uscita:
i) Lo switch aggiunge dopo il Source Address un
campo di 4 Byte, che contiene i seguenti dati: Un
identificativo di protocollo (TPID o Etype). La
IEEE ha specificato il valore 8100 per 802.1Q.
Dopo il TPID viene il TCI (o p/Q label) dove si
trovano altri tre campi. I primi tre bit del TCI sono
allocati per la priorit. Ci d alla rete un totale di
otto livelli di priorit, che possono essere mappati in
rapporto a meccanismi di coda e priorit specifici
del costruttore. Il bit successivo usato per indicare
il formato di indirizzo del pacchetto (canonico o non
canonico). I 12 bit finali sono il VID, che indica la
Vlan associata. Con 12 bit si possono identificare
4096 Vlan differenti.
b) Comportamento frame in entrata:
i) Il tag viene eliminato e la frame viene trasmessa
sulla porta o porte appartenenti al VID


ISL (Inter Switch Link)

Tecnica didentificazione Two level tagging
proprietaria Cisco. La frame originaria viene
incapsulata con un nuovo Header e un nuovo FCS.
Permette il supporto al massimo di 1024 Vlan.
I primi 48 bit dellheader identificano unindirizzo
multicast, composto in modo tale che i primi 40 bit
hanno sempre il valore 01-00-0C-00-00, e gli altri 8 bit
sono utilizzati per identificare il tipo di trama
4
TECNONET S.p.A.
(Ethernet, Token Ring, FDDI, ecc.) e la user priority
(simile alla priorit definita da IEEE802.1p).


Comandi per creare VLAN su apparati Switch
Router della famiglia SSR della Enterasys

Questi apparati permettono di creare 3 tipologie di
VLAN:

- Vlan per porta
- Vlan per protocollo

Inoltre le porte trunk possono utilizzare solo lo
standard IEEE802.1Q.

Di default tutte le porte sono sulla Vlan 1.

Il comando per creare una Vlan :

vlan create name type id num

dove:
name = nome della Vlan

type = port-based ; oppure una
qualsiasi combinazione fra ip ; ipx ;
appletalk ; dec ; sna ; ipv6 ;
bridged-protocols

num = questo numero
lidentificativo unico della Vlan. Il
numero un valore compreso fra 2 e
4094.

Una volta creata la Vlan bisogna associargli le porte
dello switch. Il comando :

vlan add ports port-list to vlan-name

dove:
port-list = lista delle porte da
associare

vlan-name = nome della vlan


Per creare una porta trunk si utilizzi il seguente
comando:

vlan make trunk-port port-list


5
TECNONET S.p.A.
INTERNET ADDRESSING

Lindizzi di Arpanet e poi di Internet sono cambiati nel
tempo sia come dimensione del campo Address e sia
per altre caratteristiche. Pensate che nella RFC 1
dellaprile 1969 la dimensione del campo address era
di soli 5 bits (32 indirizzi disponibili) e gi nel
settembre del 1969 questo campo f portato a 6 bits (64
indirizzi). Nel 1972 divenne chiaro che il numero di
indirizzi sarebbe stato a breve insufficiente. E si port
la dimensione del campo Address a 8 bits (255 indirizzi
disponibili). Infatti Arpanet raggiunse i 64 Hosts nel
gennaio del 1976. A quellepoca i nomi degli Hosts
venivano risolti nel rispettivo indirizzo tramite un file
HOSTS.TXT e divenne chiaro che al crescere degli
Hosts presenti su Arpanet la gestione di questo file
sarebbe divenuta problematica. Con lRFC 760 del
gennaio 1980 f introdotto il protocollo IP (versione 4)
e il campo Address f portato a 32 bits (4.294.967.296
indirizzi disponibili). Per risolvere il problema del file
HOSTS.TXT venne introdotto con lRFC 799 del
settembre 1981 il protocollo DNS (Domain Name
System).
Nellagosto 1983 gli hosts appartenenti a Internet
raggiunse il valore di 214.
Per risolvere alcune problematiche di IPv4 f
introdotto con lRFC 950 del 1985 il Subnet Masking,
con lRFC 1518 del 1993 il CIDR, con lRFC 1631 del
1994 il NAT, con lRFC 1812 del 1995 il VLSM e con
RFC 1918 del 1996 Intranet.
Nel 1994 viene sviluppato IPv6 (IP versione 6) che
modifica sostanzialmente il protocollo IPv4, portando
il campo address a 128 bits (3,4x10
38
indirizzi
disponibili). Il numero di indirizzi disponibili in IPv6
maggiore del numero stimato di tutte le molecole
presenti nelluniverso!
Attualmente la transizione verso IPv6 deve ancora
iniziare, e quindi viene ancora largamente utilizzato
IPv4.

INDIRIZZI IN IPv4

Abbiamo detto che gli indirizzi IP attualmente utilizzati
hanno un campo lungo 32 bits. Quindi unindirizzo IP
potrebbe essere la sequenza:

00100111101101010100010010010101

una sequenza di bits del genere non di facile
memorizzazione o di facile confronto con altri indirizzi
(logicamente la difficolt soltanto umana!).
La sequenza numerica di 32 bits rappresenta un
numero scritto nel sistema binario, e dalle superiori (e
adesso dalle elementari!) sappiamo che un numero pu
essere rappresentato in qualsiasi sistema numerico. I
pi utilizzati sono il sistema binario, il sistema
esadecimale e il sistema decimale.
Il sistema decimale quello a noi esseri umani il pi
naturale (dopotutto abbiamo 10 dita e no 16 o 2 come
Eta Beta!).
La rappresentazione di unindirizzo IP quindi fatta
normalmente tramite il sistema decimale. Ma in una
modalit particolare.
Si prenda la sequenza di 32 bits lo si divida in 4 gruppi
da 8 bits ciascuno e si converta in decimale ogni
singolo gruppo separando il risultato dal risultato del
gruppo successivo tramite un punto.
In parole povere:

00100111101101010100010010010101
00100111 10110101 01000100 10010101
39 181 68 149
39.181.68.149

Inoltre lo standard ha stabilito in modo arbitrario una
suddivisione in classi dellindirizzo IP. Nelle prime tre
classi (A, B e C) la sequenza di 32 bits dellindirizzo IP
viene suddiviso in una prima parte che caratterizza la
rete di appartenenza (Network Address) e una seconda
parte nel range di indirizzi degli hosts che
appartengono alla rete.

CLASSE A (indirizzi del primo ottetto da 0 a 127)


Network Host

CLASSE B (indirizzi del primo ottetto da 128 a 191)


Network Host

CLASSE C (indirizzi del primo ottetto da 192 a 223)


Network Host

CLASSE D (indirizzi del primo ottetto da 224 a 239)

Sono indirizzi Multicast, e quindi non hanno
suddivisioni in parte Network e Host.

CLASSE E (indirizzi del primo ottetto da 240 a 255)

Sono indirizzi riservati per usi sperimentali su Internet.



Esistono delle restrizioni o usi speciali per alcuni
indirizzi IP, vediamo quali sono:
6
TECNONET S.p.A.
- Rete di classe A: 0.0.0.0 non pu essere utilizzata
(per esempio non pu esistere un host con
unindirizzo 0.3.65.128).
- Indirizzo 0.0.0.0 pu essere utilizzato solo come
indirizzo sorgente e soltanto nei pacchetti iniziali di
richiesta indirizzo IP tramite BOOTP o DHCP.
- Rete di classe A: 127.0.0.0 non pu essere
utilizzata. Lindirizzo 127.0.0.1 (localhost)
riservato per prove di loopback sulla stessa
interfaccia.
- Rete di classe B: 191.255.0.0 non pu essere
utilizzata.
- Rete di classe C: 192.0.0.0 non pu essere
utilizzata.
- Rete di classe C: 223.255.255.0 non pu essere
utilizzata.
- Lindirizzo di classe E 255.255.255.255 utilizzato
per il Broadcast locale (sulla stessa lan). Pu essere
utilizzato solo come indirizzo di destinazione.

Per ulteriori informazioni vedi RFC 1166.

Inoltre la RFC 1918 assegna per le reti locali e Wan non
connesse su internet (Intranet) lutilizzo di questi soli
indirizzi:

1. Lintera rete di classe A: 10.0.0.0
2. Le 16 reti di classe B: da 172.16.0.0 a 172.31.0.0
3. Le 256 reti di classe C: da 192.168.0.0 a
192.168.255.0
Non esistono su Internet indirizzi appartenenti a queste
reti riservate per Intranet!

Inoltre data una qualsiasi rete il primo indirizzo del
campo host riservato per identificare la Net e lultimo
indirizzo del campo host riservato per identificare il
broadcast diretto a quella Net.

Esempio: Indirizzo 192.156.10.0 riservato per
identificare la Net e il 192.156.10.255 riservato per il
broadcast diretto alla Net. Gli indirizzi disponibili da
associare agli Host appartenenti alla Net 192.156.10.0
sono da 192.156.10.1 a 192.156.10.254.

Quanti sono gli indirizzi disponibili per gli hosts per le
varie classi?

Per la classe A abbiamo che la parte host di 24 bits
quindi gli indirizzi disponibili sono 2
24
-2=16.777.214 e
non sono pochi.

Per la classe B abbiamo invece 2
16
-2=65.534 indirizzi
disponibili.

Per la classe C abbiamo invece 2
8
-2=254 indirizzi
disponibili.

Lassenza di elasticit delle classi evidente da questi
numeri. Pensate a una Net con 500 host, costretta a
utilizzare due reti di classe C e introdurre un router sulla
rete locale oppure una rete di classe B. Ma per quanto
questa rete potr crescere (facciamo 1000 utenti)
rimangono pi di 62000 indirizzi non utilizzati.

Per risolvere questo problema lRFC 950 introduce il
subnet masking. Successivamente raffinata dalla RFC
1518 che introduce il concetto di Classless Internet-
Domain Routing (CIDR). In parole povere con la RFC
1518 le classi non sono pi utilizzate (o meglio
lutilizzo rimane ristretto a quei protocolli di routing
come il RIPv1 e IGRP).

Il concetto semplice. Viene introdotta una maschera
che definisce la parte dellindirizzo ip come Network
Address e la parte rimanente come host address.

Prima di procedere ricordiamo quattro semplici
operazioni logiche:

1 AND 1 = 1
1 AND 0 = 0
0 AND 1 = 0
0 AND 0 = 0

La NetMask una sequenza di 32 bits dove sono
presenti bits con valore 1 rappresenta la parte Network
address e con valore 0 la parte Host address.

Esempio:

Indirizzo Ip: 00100111101101010100010010010101

AND
NetMask: 11111111111111111111100000000000

Network 00100111101101010100000000000000

Broadcast 00100111101101010100011111111111

Quindi lindirizzo 39.181.68.149 con NetMask
255.255.248.0 appartiene alla Network 39.181.64.0.

Ora si deve calcolare lindirizzo Broadcast diretto di
questa Network, e per far questo si portano ad 1 tutti i
bits della parte host. Si ottiene lindirizzo di broadcast
39.181.71.255.

A questo punto gli indirizzi disponibili per gli hosts
appartenenti alla Network 39.181.64.0/255.255.248.0
sono da 39.181.64.1 al 39.181.71.254.

Se volete fate questi due esercizi:

Calcolare lindirizzo di Network, di range di indirizzi
utilizzabili e di broadcast delle seguenti coppie
indirizzo netmask:
a) 10.176.48.7/255.224.0.0
i) Network = _____________________
ii) Range = ______________________
iii) Broadcast = ____________________
b) 10.176.125.253/255.255.128.0
i) Network = ________________________
39.181.68.149
255.255.248.0
39.181.64.0
Parte della Netmask che definisce la
parte Network
Parte Host
39.181.71.255
7
TECNONET S.p.A.
ii) Range = _________________________
iii) Broadcast = ______________________

Lo standard prevede che ad una Network sia associata
una singola Lan o dominio di broadcast.

Cerchiamo ora di capire lalgoritmo per trasmettere dati
da un host verso un altro host.

Ogni host configurato con un indirizzo ip una netmask
un indirizzo ip di un default router, inoltre la scheda
NIC ha il suo indirizzo MAC, e infine hanno una
propria tabella ARP.


La figura seguente mostra lalgoritmo che opera su un
host di indirizzo IP1 che deve trasmettere delle frames a
un host di indirizzo IP2.





Questo algoritmo deve essere ben compreso per
risolvere eventuali problemi di connessione di un host.

Lalgoritmo in realt non completo in quanto se:
- IP2 uguale allindirizzo IP Broadcast della
NETWORK1, la frame viene inviata
immediatamente con indirizzo destinazione a
livello MAC = FFFFFFFFFFFF
- IP2 di classe D (Multicast) la frame viene inviata
immediatamente, con lindirizzo MAC di
destinazione formato prendendo gli ultimi 23 bits
dellindirizzo IP Multicast e aggiungerli alla
sequenza fissa: 00000001:00000000:01011110:0 (i
primi tre ottetti corrispondono alla sequenza
esadecimale 01:00:5E).
- IP2 = NETWORK1 la frame non deve essere
inviata!
IP1=IP SOURCE
IP2=IP DESTINATION
IP1 AND NETM1
= NETWORK1
NETM1
=NETMASKS
SOURCE
IP2 AND NETM1
=NETWORK2
NETWORK1 =
NETWORK2 ?
IP2 in ARP
TABLE ?
YES
DG in ARP
TABLE ?
NO
DG = IP
DEFAULT
ROUTER
SEND ARP
REQUEST IP2
SEND ARP
REQUEST DG
NO
NO
SEND FRAME
YES
YES
RECEVEID
ARP REPLY ?
MESSAGE
DESTINATION
UNREACH
YES
NO
8
TECNONET S.p.A.

Il protocollo ARP utilizzato per scoprire lindirizzo
MAC associato a un IP.
Esso invia un ARP Request in Broadcast, e se lhost
presente risponder con un ARP Reply dove allinterno
viene indicato il MAC address associato. Questa
associazione viene posta nella tabella ARP.
evidente che la stessa identica procedura deve essere
svolta dallhost con indirizzo IP2 quando deve
rispondere.
Quindi ricordiamo sempre che la comunicazione fra due
hosts bidirezionale.

Lalgoritmo precedente ha come premessa che una
singola Network associata un singolo dominio di
broadcast.
da evidenziare che lhost che deve trasmettere le
frames dellhost ricevente deve conoscere soltanto
lindirizzo IP di destinazione.

Cercate ora di risolvere questo esercizio:

1) Secondo voi due PC posti su un bridge con default
router nullo, un PC configurato con
10.176.48.7/255.224.0.0 e laltro con
10.176.125.253/255.255.128.0, potranno
comunicare luno con laltro ?
a) No perch la netmask diversa____________________
b) Si perch sono indirizzi di classe A_________________
c) No perch il bridge dovrebbe creare delle VLAN per
metterli in comunicazione_______
d) Si perch sono nella stessa rete
logica___________________


TECNICHE DI SUBNETTING

Le tecniche di Subnetting dipendono molto da dove
dovremo applicare il piano di indirizzamento risultante.
Se il piano di indirizzamento su Internet e quindi si
utilizzano gli indirizzi pubblici, si deve utilizzare al
meglio gli indirizzi disponibili, mentre se il piano di
indirizzamento su Intranet e quindi si utilizzano gli
indirizzi privati definiti dalla RFC 1918, possiamo
permetterci di essere pi elastici.

SUBNETTING SU INTRANET

Si abbiano N domini di broadcast distinti (Lan o Vlan) e
M collegamenti Wan punto-punto.
Sia P
i
(con 1 s i s N) il numero di hosts appartenenti
alli-esimo dominio di broadcast con la propriet che:

P
N
> P
N-1
> P
N-2
> P
2
> P
1

Per questa Intranet il numero di indirizzi totale minimo
dato da:
P = + +
=

4 2
1
M N P
i
i
N


Il 4 che moltiplica il numero M dei collegamenti punto-
punto indica i 4 indirizzi dati da una netmask
255.255.255.252 tipicamente usata nei collegamenti
punto-punto. Il 2 che moltiplica N considera gli indirizzi
di network e di broadcast per ogni lan. Ora la scelta
della o delle reti private da utilizzare una scelta
arbitraria.

Ma sicuramente la scelta deve essere fatta in modo che
la somma di tutti gli indirizzi deve essere maggiore di P.
Procediamo il seguente esempio:

1) Abbiamo una Intranet composta da 3 agenzie
(agenzia A, B e C) con 20 hosts, 5 agenzie (agenzie
D, E, F, G e H) con 10 hosts e una con 4 hosts
(agenzia I) e 6 collegamenti punto-punto. La
network da suddividere la 192.168.10.0/24 (con il
prefisso /numero si intende il numero di bits della
netmask che definiscono la network address. Per
esempio /24 = 255.255.255.0)
a) La network di partenza la 192.168.10.0/24
che rappresentiamo come uninsieme
rappresentato in figura. Su questa network sono
disponibili 256 indirizzi. Per la nostra Intranet
abbiamo M =6, N =9 e poi P
9
=P
8
=P
7
=20 ,
P
6
=P
5
=P
4
=P
3
=P
2
=10 , P
1
=4 , e quindi P = 156.
Ci vuol dire che la network 192.168.10.0/24
pu essere suddivisa fornendo gli indirizzi
minimi necessari e in pi rimangono
disponibili altri 100 indirizzi. La prima
suddivisione viene effettuata trovando quanti
devono essere i bits minimi lasciati per la parte
host per le Lan con pi hosts. Si usi la formula
dove per INT si intende il numero intero
prossimo pi grande. In parole povere abbiamo
192.168.10.0/24
192.168.10.0/ 27
192.168.10.32/ 27
192.168.10.64/ 27
192.168.10.96/ 27
192.168.10.128/ 27
192.168.10.160/ 27
192.168.10.192/ 27
192.168.10.224/ 27
A
B
C
9
TECNONET S.p.A.
e il numero intero prossimo pi grande 5
quindi z
N
= 5. Dato che la parte host della
network di partenza di 8 bits, abbiamo che la
prima suddisione porta a 2
8-5
=8 subnet ognuna
con 2
5
=32 indirizzi disponibili. Otteniamo
dunque la seguente suddivisione e associamo le
subnet alle prime tre agenzie, cominciando
dalla seconda subnet (vedi figura precedente).
Ora procedendo in modo analogo si continua a
suddividere le subnet non utilizzate per le altre
agenzie e alla fine si ottiene:
SUBNETTING SU INTERNET

Si procede come su Intranet con maggiore attenzione a
non sprecare gli indirizzi inutilmente. Per risparmiare
indirizzi nei collegamenti punto-punto i routers
permettono di avere delle interfacce unnumbered.

PIU DI UNA SUBNET SULLO STESSO DOMINIO DI
BROADCAST

Abbiamo visto che lo standard prevede che ad un
singolo dominio di broadcast deve essere associata una
sola subnet. Ma per vari motivi possibile che si
trovino situazioni che non rispettano questa regola.
Possiamo avere due situazioni generali:
- pi subnet non sovrapposte sullo stesso dominio di
broadcast
- pi subnet sovrapposte sullo stesso dominio di
broadcast
Nel primo caso la situazione semplice a livello IP gli
host appartenenti a una subnet non possono comunicare
con gli host appartenenti ad unaltra subnet, anche se
paradossalmente sono sullo stesso dominio di broadcast.
In questa situazione lunica possibilit per comunicare
di utilizzare uninterfaccia di un router con la possibilit
di configurare indirizzi secondari sulla stessa
interfaccia.
Nel secondo caso la situazione molto complessa in
quanto gruppi o singoli host possono appartenere
contemporaneamente a pi di una subnet. Vediamo
qualche esempio. Si abbia su uno stesso dominio di
broadcast 8 hosts con i seguenti indirizzi ip:
- HOST_A : 192.168.10.1/27
- HOST_B : 192.168.10.2/29
- HOST_C : 192.168.10.3/27
- HOST_D : 192.168.10.4/27
- HOST_E : 192.168.10.5/30
- HOST_F : 192.168.10.6/30
- HOST_G : 192.168.10.7/27
- HOST_H : 192.168.10.8/27

Sono permesse solo le comunicazioni tra i seguenti
hosts:
1) HOST_A HOST_B
2) HOST_A HOST_C
3) HOST_A HOST_D
4) HOST_A HOST_G
5) HOST_A HOST_H
6) HOST_B HOST_C
7) HOST_B HOST_D
8) HOST_B HOST_G
9) HOST_C HOST_D
10) HOST_C HOST_G
11) HOST_C HOST_H
12) HOST_D HOST_G
13) HOST_D HOST_H
14) HOST_E HOST_F
15) HOST_E HOST_G
16) HOST_F HOST_G
17) HOST_G HOST_H

Con 8 hosts sono possibili 28 comunicazioni differenti,
essendone possibili solo 17 vuol dire che ben 11
comunicazioni sono vietate.

La cosa interessante che utilizzando in modo
opportuno la NetMask posso permettere la
comunicazione tra alcuni hosts ad altri hosts e negarne
altre, come una sorta di access-list povera ed
economica. evidente che la sicurezza di una
configurazione di rete cos complicata bassa, ma si
pu aumentare leggermente se il gestore di rete limita
laccesso degli utenti alla configurazione degli hosts
tramite per esempio il programma gratuito Poledit della
Microsoft.

Questo articolo ha cercato di fornire unalgoritmo per la
pianificazione degli indirizzi. Una volta fornito un
algoritmo, chi di voi conosce qualche linguaggio di
programmazione, provi a fare un programma che aiuti a
fare questo lavoro.

R. Gaeta





192.168.10.0/ 30
192.168.10.4/ 30
192.168.10.8/ 30
192.168.10.12/ 30
192.168.10.16/ 30
192.168.10.20/ 30
192.168.10.24/ 30
192.168.10.28/ 30
192.168.10.32/ 27
192.168.10.64/ 27
192.168.10.96/ 27
192.168.10.128/ 28
192.168.10.144/ 28
192.168.10.160/ 28
192.168.10.176/ 28
192.168.10.192/ 27
192.168.10.224/ 28
192.168.10.240/ 29
192.168.10.248/ 30
192.168.10.252/ 30
A
B
C
D
E
F
G
H
I
10
TECNONET S.p.A.
PRINCIPI DI ROUTING

Abbiamo visto nellarticolo precedente che unhost
quando deve inviare una frame a un host appartenente a
una network diversa, la invia al DG (Default Gateway o
Default Router), il Router cercher di instradare la
frame verso la destinazione. La figura seguente ci
mostra la tecnica generale di trasferimento di una frame
verso la destinazione.
In figura vediamo che lhost B deve inviare una frame
allhost A, la parte azzurra il protocollo di livello 3
(nel nostro caso IP) e la parte gialla il protocollo di
livello 2.
Un router un apparato che pu avere molte interfacce,
ma in che modo decide linterfaccia di uscita una volta
ricevuta una frame?
La risposta tramite una tabella detta di routing come la
seguente:
Network/Netmask Interfaccia di uscita
Netw_1/Netm_1 Int_1
Netw_2/Netm_2 Int_2
- -
- -
Netw_N/Netm_N Int_N

Quindi il router riceve la frame legge lindirizzo IP di
destinazione e procede con il seguente algoritmo:

IPD = IP DI
DESTINAZIONE
DELL A FRAME
RICEVUTA
IPD AND
NETM_1 =
NETW_1 ?
TRASMETTI
FRAME DA
INT_1
YES
IPD AND
NETM_2 =
NETW_2 ?
TRASMETTI
FRAME DA
INT_2
YES
NO
IPD AND
NETM_N =
NETW_N ?
TRASMETTI
FRAME DA
INT_N
YES
NO
NO



CANCELLA LA FRAME E
INVIA UN MESSAGGIO
ALLHOST SORGENTE
NO
11
TECNONET S.p.A.
Lalgoritmo non completo se non si fanno le seguenti
affermazioni:

- Se: IPD AND NETM_X = NETW_X e IPD AND
NETM_Y = NETW_Y allora si hanno due
comportamenti:
1. Se NETW_Y(X) > NETW_X(Y)
1
allora
linterfaccia di uscita INT_Y(X) e questa
tecnica conosciuta come LONGEST
MATCH
2. Se NETW_Y = NETW_X allora linterfaccia
di uscita sar per la prima frame indirizzata a
IPD la INT_X la successiva frame indirizzata a
IPD lintefaccia di uscita INT_Y, la
successiva ancora su INT_X e cos via, e
questa tecnica conosciuta come LOAD
BALANCING per ROUND ROBIN.

Facciamo qualche esempio:

1) Frame con IPD = 10.1.3.5. Tabella di routing con le
seguenti linee. Qual linterfaccia di uscita della
frame?
2
:
a) 10.0.0.0/8 int_1
b) 10.1.3.0/24 int_2
c) 10.1.3.4/30 int_3
2) Frames con IPD = 192.168.10.5. Tabella di routing
con le seguenti linee. Quale tecnica viene usata per
far uscire queste frames?
3
:
a) 192.168.0.0/16 int_1
b) 192.168.0.0/16 int_2
c) 192.168.10.0/24 int_3
d) 192.168.10.0/24 int_4

Tutto ci molto interessante ma come si forma la
tabella di routing?

Come prima cosa quando si configura lindirizzo ip
linterfaccia di un router automaticamente si aggiunge
una linea sulla tabella di routing. Facciamo un esempio
con un router cisco:

Configurazione delle interfacce

Router(config)# interface ethernet 0
Router(config-if)# ip address 192.5.10.1 255.255.255.0
Router(config-if)# exit
Router(config)# interface serial 0
Router(config-if)# ip address 170.0.0.1 255.255.255.252
Router(config)# ctrl^z
Router# show ip route
.
.
C 192.5.10.0/24 is directly connected, ethernet0
C 170.0.0.0/30 is directly connected, serial0




1
Per scoprire se una network maggiore di unaltra trasformare
lintera sequenza di 32 bits in decimale ed effettuare il confronto.
2
Risposta: int_3
3
Risposta: Longest Match e Load Balancing Round Robin sulle
interfacce int_3 e int_4
Quindi appena si configurano le interfacce il router ha
conoscenza immediata delle network direttamente
connesse.
Ma per le network non direttamente connesse quali sono
le tecniche per compilare la tabella di routing in modo
opportuno?

Esistono due tecniche generali:

- Routing statico
- Routing dinamico

Prima di affrontare la modalit di routing opportuno
fornire qualche concetto generale sulle reti:

RETI, TOPOLOGIE E METRICHE

Una rete composta da routers pu essere estremamente
complessa. La sua complessit dipende dal numero M di
routers presenti, il numero N di collegamenti utilizzati,
dalla topologia complessiva, dalle caratteristiche dei
collegamenti utilizzati (velocit in bit/s, ritardo del
trasferimento dati, ecc.). Ai collegamenti pu essere
attribuito in modo arbitrario un costo o pi
esattamente una metrica. Questo costo o metrica una
funzione che dipende da una o pi variabili, che
caratterizzano il collegamento stesso oppure
caratteristiche particolari delle frames. Nella figura
seguente abbiamo una rete composta da 9 Routers e 11
collegamenti, e ad ognuno di essi associato un costo.
Un percorso da un router ad un altro ha un costo totale
dato dalla somma dei singoli costi dei collegamenti che
compongono il percorso nella sua interezza. Per
esempio il percorso da A ad H attraverso B, C, E, F
dato da:


mentre il percorso da A ad H attraverso D,G,L dato
da:

Esistono altri 4 percorsi alternativi e il loro costo :


Comando per configurare
lindirizzo IP su uninterfaccia
Comando per mostrare la tabella
di routing
12
TECNONET S.p.A.
Il problema principale del routing di scegliere il
percorso con il costo minore. Non solo ma dato che un
router pu guastarsi e i collegamenti possono
scollegarsi, il routing deve in generale avere la
capacit di trovare un eventuale percorso alternativo .
In generale possiamo affermare che il Routing statico
adatto per reti con topologie semplici e il Routing
dinamico per reti con topologie complesse.
Altri problemi che deve affrontare il routing
leventuale creazione di percorsi a loop e cio che
ritornarno al punto di partenza. Per evitare ci il
protocollo IP prevede il campo TTL (Time To Live) che
viene decrementato ad ogni passaggio di un router, e
che una volta che il TTL = 0 la frame viene eliminata.
In pi i protocolli di routing dinamici evitano
linstaurarsi di loop (tranne in situazioni transitorie),
mentre nel routing statico tutto dipende da chi configura
i routers.

ROUTING STATICO

Immaginiamo di avere la seguente rete (supponiamo che
i router siano cisco):
Il Router_A ha una diretta conoscenza della network
10.0.1.0/24 e della network 192.168.10.0/30, mentre il
Router_B ha una diretta conoscenza della network
10.0.2.0/24 e della network 192.168.10.0/30.
Per fare in modo che il Router_A possa avere
conoscenza della network 10.0.2.0/24 si deve
configurare la route statica:

Router_A(config)# ip route 10.0.2.0 255.255.255.0 192.168.10.2

Dove viene indicata la network e la netmask di
destinazione seguita dallindirizzo ip dellinterfaccia del
router successivo.

La tabella di routing a questo punto ha le seguenti linee:

Router_A# show ip route
.
.
C 10.0.1.0/24 is directly connected, ethernet0
C 192.168.10.0/30 is directly connected, serial0
S 10.0.2.0/24 via 192.168.10.2, serial0

A questo punto manca ancora linstradamento per le
frame di risposta provenienti dalla LAN_B verso la
LAN_A. Per fare ci si configuri sul Router_B la
seguente route statica:

Router_B(config)# ip route 10.0.1.0 255.255.255.0 192.168.10.1

Da questo momento gli hosts appartenenti alle due lan
possono comunicare.

Complichiamo leggermente la rete. Supponiamo ora di
avere 4 lan collegate come in figura:



In questo caso abbiamo vari percorsi alternativi per
andare da una lan ad altra. Essendo il routing statico
configurato manualmente il costo dei percorsi v scelto
in modo completamente arbitrario. Nel nostro esempio
decidiamo di utilizzare una funzione di costo (arbitraria)
inversamente proporzionale alla velocit del
collegamento:
C
Mb s
v Mb s
ij
ij
=
2( / )
( / )

Quindi abbiamo dalla lan_A alla lan_B sono possibili
due percorsi con i seguenti costi:

Quindi il percorso con il costo minore dal router A al
router B. La configurazione sul Router_A :

Router_A(config)# ip route 10.0.3.0 255.255.255.0 192.168.1.2

Prendiamo ora i due percorsi dalla lan_C alla lan_D i
costi sono:

Quindi il percorso con il costo minore non quello
direttamente connesso, e la configurazione del
Router_C :

Router_C(config)# ip route 10.0.2.0 255.255.255.0 192.168.3.1

Divertitevi voi ora a trovare tutti i percorsi di costo
minore e la relativa route statica.
Il problema che esiste un percorso alternativo per ogni
destinazione e che in caso di interruzione del percorso
di costo minore, vogliamo se possibile utilizzare il
percorso alternativo.
Ci possibile.
Infatti il comando della route statica permette di definire
una distanza amministrativa che se non specificata di
default uguale ad 1 (o uguale a zero se invece
2 Mb/s
1 Mb/s
512 Kb/s
64 Kb/s
13
TECNONET S.p.A.
dellindirizzo del next hop viene utilizzata linterfaccia
di uscita).
Nella tabella di routing viene immessa, se presenti
route statiche verso la stessa destinazione e con
differenti distanze amministrative, quella con la distanza
amministrativa minore.

Quindi nel caso del percorso dalla lan_C alla lan_D
possiamo scrivere le due route statiche:

Router_C(config)# ip route 10.0.2.0 255.255.255.0 192.168.3.1
Router_C(config)# ip route 10.0.2.0 255.255.255.0 192.168.4.2 10





In questo modo se il collegamento tra il Router_C e il
Router_A, il Router_C rileva la perdita di collegamento
ed elimina dalla sua tabella di routing la route che utilizza
il next hop verso router_A, e viene rimpiazzata dalla route
del percorso alternativo.

Quindi le route statiche permettono lutilizzo di percorsi
alternativi, ma la ridondanza non ottimale.

Infatti supponiamo che ora si guasti il Router_B. Non
esiste nulla che avverti il Router_C di un eventuale guasto
sul percorso. I router rilevano i guasti sulle connessioni
direttamente connesse. Quindi la route verso la 10.0.2.0
con next hop 192.163.3.1 e distanza amministrativa 1 non
viene rimossa e quindi non viene sostituita dalla seconda
possibilit.
Questo una grande limitazione del routing statico, che
viene affrontata e risolta soltanto dal routing dinamico.

Una route statica particolare

Con le route statiche impensabile configurare tutte le
destinazioni possibili e soprattutto se esiste un solo
collegamento di uscita anche inutile. In questi casi
necessario configurare sul router un default gateway
(default router). Una possibilit definire una route
statica cosiffatta:

Router(config)# ip route 0.0.0.0 0.0.0.0 ip-addr-next-hop

Dove ip-addr-next-hop lindirizzo ip del default
gateway. Vediamo come agisce la destinazione 0.0.0.0
con netmask 0.0.0.0.
Nellalgoritmo per decidere linterfaccia di uscita,
abbiamo visto che sullindirizzo ip di destinazione viene
operato un AND logico con la netmask della route
presente nella tabella di routing. Qualsiasi indirizzo
sottoposto a un AND logico con la netmask 0.0.0.0
fornisce come risultato sempre la network 0.0.0.0. Quindi
per la regola del Longest Match, se non presenti
instradamenti maggiormente definiti, verr come ultima
istanza usato il default gateway.

ROUTING DINAMICO

Il routing dinamico permette ai router di ricalcolare
automaticamente le loro tabelle di routing, in modo da
reagire a cambiamenti della topologia di rete o di
eventuali congestioni. Data una rete di routers, il
problema dellinstradamento quello di trovare il
percorso di costo minimo per ogni coppia sorgente
destinazione.
La maggior parte degli algoritmi a costo minimo, sono
variazioni di uno dei due algoritmi pi comuni, noti come
algoritmo di Bellman-Ford e algoritmo di Dijkstra.

Algoritmo di Bellman-Ford (distance vector)

Questo algoritmo prevede che ogni router invii su tutte le
proprie interfacce lelenco delle destinazioni che in
grado di raggiungere e il costo. Tale elenco chiamato
vettore delle distanze (distance vector). Il router che
riceve il distance vector lo memorizza. Gli somma il costo
relativo al collegamento di ricezione. A partire da tale
conoscenza lapparato costruisce la propria tabella di
routing.
Formalmente abbiamo il seguente algoritmo:
sia s il router sorgente che deve calcolare la propria
tabella di routing;
sia C
ij
il costo del collegamento dal router i al router j;
per definizione C
ii
= 0;
per definizione C
ij
= se i due router non sono
direttamente connessi;
sia

il costo totale dal router s al router n;
sia

il costo per la destinazione n ricevuto dal router s inviato
dal router adiacente j;
Allora il router s calcola ad ogni ricezione dei distance
vector la seguente funzione:


appena terminato il calcolo supponiamo che il minimo sia
trovato attraverso j = m, e quindi verr immessa nella
tabella di routing la route verso la destinazione n con next
hop m.
I distance vector vengono inviati periodicamente ogni t =
timeout (secondi).
Notiamo che il router ha conoscenza soltanto dei costi dei
collegamenti direttamente connessi e dei costi associati
alle varie destinazioni inviati dai router adiacenti. La non
conoscenza del percorso completo caratterizzato dai
puntini che uniscono la sorgente e la destinazione del
percorso.
Vediamo ora un esempio esemplificativo. Si abbiano 3
routers A, B e C.
Allistante 0 nessun link attivato fra di loro, viene poi
attivato il link fra A e B, e il link fra A e C. Scaduto il
timeout il router A invia il suo distance vector verso B e
C. Scaduti il timeout anche sui routers B e C inviano i
loro distance vector e infine viene attivato il link fra C e
B.
Distanza amministrativa definita a 10
14
TECNONET S.p.A.
Abbiamo le seguenti tabelle dei costi:
ora supponiamo che il collegamento fra A e C venga disattivato o si guasti. Cosa succede?
15
TECNONET S.p.A.
Evidentemente il router A modifica immediatamente il costo del collegamento C
AC
da 1 a infinito. Ora abbiamo due
possibilit:
1) Il timeout del router A, per inviare il distance vector scade prima del timeout del router B, e quindi il router A invia il
distance vector con C
AC
= . Il router B lo riceve e aggiorna immediatamente il costo verso C allinfinito
(irrangiungibile). Tutto ci perfetto.
2) Supponiamo ora che il timeout del router B scade prima del timeout del router A. Il router B invia il distance vector
verso A. La tabella dei costi si sviluppa in questo modo:

Come si evince dalle tabelle il costo del percorso (fittizio) da A verso C e da B verso C tende ad aumentare ogni volta che
si scambiano un distance vector, senza possibilit di trovare unequilibrio. Questo un grave problema di questo algoritmo
ed conosciuto in letteratura come problema del count to infinity. (La sequenza precedente valida per la caduta del
link prossimo al router A. Se invece il router C si guasta o viene spento, il costo fra A e C mantenuto ad 1 per un certo
tempo T_hold > timeout e successivamente posto allinfinito. Ci viene fatto per non portare instabilit dovute a perdite
dei distance vector).

SOLUZIONI POSSIBILI AL PROBLEMA DEL COUNT TO INFINITY

1) Decidere in modo arbitrario un limite massimo M al costo del percorso generico C. Raggiunto il valore di M la
destinazione considerata irraggiungibile (costo infinito), e viene rimossa la rotta corrispondente dalla tabella di
routing.
a) Il problema di questa soluzione che il tempo di convergenza allequilibrio di una rete dipender dal valore di M,
e in pi vuol dire che non possiamo utilizzare lalgoritmo su reti grandi che abbaino costi dei percorsi superiori ad
M.
2) Modificare lalgoritmo in modo che se un router rileva una variazione sui suoi collegamenti non attenda lo scadere del
timeout per inviare il distance vector, ma lo invii subito appena rilevata la variazione (Triggered updates).
16
TECNONET S.p.A.
a) In realt si visto che il distance vector non pu essere inviato immediatamente dopo una variazione, in quanto
si forma una sincronizzazione degli update inviati da tutti i router della rete (problema dei routers come oscillatori
accoppiati). La soluzione di inviare il distance vector, non immediatamente ma dopo un certo tempo casuale
dopo la rilevazione della variazione. In questo modo per il problema del count to infinity non viene risolto, ma
per otteniamo un tempo di convergenza minore. In questo modo per possono essere raccolti in un singolo
distance vector eventuali variazioni ravvicinate. Pensate cosa accade a seguito di un link intermittente (flapping).
3) Differenziazione dei distance vector inviati sui vari collegamenti di un router. Il distance vector di A verso B non
conterr le destinazioni raggiungibili attraverso B (Split Horizon).
a) Previene il problema del count to infinity su topologie di rete alquanto semplici. Su topologie pi complesse non
elimina il problema. Per esempio nella figura seguente, lo split horizon non riesce ad eliminare il problema del
count to infinity. Divertitevi ad analizzare cosa accade quando il link tra A e X si disattiva.
b) Comunque lo split horizon se abilitato su un router della rete deve essere abilitato su tutti i router presenti nella
rete. Analizzate cosa succede in una rete cosiffatta, dopo che il collegamento fra B e X si guastato:
4) Abbiamo visto che lo split horizon non comunica le destinazioni a chi gli le ha inviate. Con lo Split Horizon with
Poisonous Reverse la rotta viene inviata al mittente con costo infinito.
a) Comunque anche questa tecnica non elimina i loop su topologie complesse.
5) Nel momento in cui un router rileva il guasto di un link mette in quarantena le route che utilizzano quel link, non
accettandone la modifica (e considerandole irraggiungibili) per un certo periodo (Hold Downs).
a) Questo periodo di tempo deve essere superiore al tempo necessario per propagare a tutta la rete modifiche di
configurazione.
b) Il router che ha rilevato il guasto non pu quindi partecipare ad alcun loop fino ad almeno la scadenza dellhold
down timer.

In conclusione nessuna di queste tecniche pu considerarsi ottimale per la risoluzione del problema del count to infinty.
Infatti vengono normalmente utilizzate pi tecniche in parallelo. Ma comunque questo problema limita lutilizzo
dellalgoritmo per reti grandi o complesse. Allaumentare della complessit della rete diviene molto arduo cercare di
prevedere il comportamento della rete rispetto a una variazione. Il problema principale che nessun router utilizzando
questo algoritmo ha una mappa completa della rete.
Split Horizon
abilitato
Split Horizon
abilitato
Split Horizon
abilitato
Split Horizon
disabilitato
17
TECNONET S.p.A.
Algoritmo di Dijkstra (Link State)

Lalgoritmo di Dijkstra per operare deve avere una mappa
completa della rete. Ottenuta la mappa completa,
lalgoritmo opera per trovare i percorsi pi brevi da un
dato router sorgente verso tutti gli altri router,
determinandoli per lunghezza crescenti. Lalgoritmo
procede per fasi. Prima di definire le fasi definiamo:

Sia N = insieme dei router della rete;
Sia s = router sorgente;
Sia T = insieme dei nodi inseriti dallalgoritmo;
sia C
ij
il costo del collegamento dal router i al router j;
per definizione C
ii
= 0;
per definizione C
ij
= se i due router non sono
direttamente connessi;
sia

il costo totale dal router s al router n;

Lalgoritmo composto da tre fasi e le fasi 2 e 3 sono
ripetute fintanto che T = N.



Vediamo lalgoritmo in opera sulla seguente rete:

Abbiamo:



Abbiamo visto che lalgoritmo di Dijkstra opera sulla
mappa completa della rete. Ma come fa ogni router ad
ottenere questa informazione?
Tramite la propagazione dei cosidetti link state packet
(lsp). Essi contengono lidentificatore del router mittente
e i costi di tutti i router ad esso direttamente connesso. Gli
lsp sono trasmessi tramite la tecnica del selective
flooding. Ciascun router genera un lsp tutte le volte che
qualcosa cambia nei suoi collegamenti diretti. Dunque
quando un router riceve un lsp segue i seguenti passi:

- Se non esiste una copia o ne esiste una pi vecchia,
memorizza llsp e lo inoltrano (immutato) su tutte le
interfacce, tranne su quella da cui lo hanno ricevuto.
- Se presente una copia identica delllsp, lo ignorano
- Se la copia memorizzata pi recente (numero di
sequenza pi alto) di quella appena ricevuta, la
manda al mittente la cui base di dati chiaramente
non aggiornata.

Appena un router ha memorizzato tutti gli lsp degli altri
router che compongono la rete ha la mappa completa.

CONFRONTO FRA I DUE ALGORITMI

La complessit computazionale dellalgoritmo distance
vector dellordine di N
2
oppure N
3
dove N il numero
totale di router. Mentre per il link state proporzionale al
logaritmo di N.
Dunque dal punto di vista della complessit
computazionale il link state preferibile.
Nel distance vector prima che tutti gli apparati abbiano
aggiornato le informazioni di routing, necessario che
londa di reazione si propaghi pi volte su tutta la rete,
mentre nel link state sufficiente ununica propagazione.
Inoltre nel distance vector, non di rado, si instaurano dei
routing loop perch i router non operano su una
rappresentazione topologica della rete, ma su semplici
informazioni di distanza.
R. Gaeta
A
B
D
C
2
1
5 1
18
TECNONET S.p.A.
PROTOCOLLI DI ROUTING

Nel tempo sono stati sviluppati vari tipi di protocolli di
routing che si differenziano tra di loro per alcune
caratteristiche generali.

Protocolli che si basano sullalgoritmo distance vector o
sue variazioni:
- RIP
- RIPv2
- IGRP
- EIGRP
- BGP
Protocolli che si basano sullalgoritmo link state:
- OSPF

Inoltre il RIP e lIGRP non trasportano informazioni sulla
netmask e sono detti protocolli Classfull. I protocolli che
trasportano informazioni sulla netmask sono detti
Classless.

Definizione di Autonomous Systems (AS)(vedi RFC 1771):
1) Un AS consiste in un gruppo di router che si
scambiano informazioni tramite un protocollo
dinstradamento comune.
a) Il concetto oggi si esteso nel permettere lutilizzo di pi di
un protocollo dinstradamento.
2) Un AS un insieme di router e reti controllati da una
singola organizzazione.
3) Un AS deve essere uninsieme connesso.
a) Cio deve esistere almeno un percorso tra qualunque coppia
di router in esso contenuta.
b) Unica eccezione quando una parte dellAS soggetta a
guasto e si formano delle partizioni.

Definizione di Interior Gateway Protocol (IGP):
Sono i protocolli utilizzati allinterno di un AS. Un IGP
deve costruirsi un modello piuttosto dettagliato delle
interconnessioni dei router dentro un AS, in modo da
poter calcolare il percorso a costo minimo da un
determinato router verso qualunque rete allinterno
dellAS. Protocolli IGP sono: RIP, RIPv2, IGRP, EIGRP
e OSPF.

Definizione di Exterior Gateway Protocol (EGP):
Sono i protocolli utilizzati tra differenti AS. Un EGP ha
bisogno di uno scambio pi sommario di informazioni
sulla raggiungibilit di AS separatamente amministrati.
Un protocollo EGP il BGP.

Caratteristiche comuni dei protocolli di routing

Distanza amministrativa
Ogni costruttore di router definisce una distanza
amministrativa che corrisponde ad un valore compreso fra
0 e 255 associata al tipo di protocollo. Questo valore ha
validit soltanto interna e non viene trasmessa ad altri
router. Essa definisce la priorit di scelta fra le rotte
trovate verso una stessa destinazione da pi di un tipo di
protocollo. Minore il valore della distanza
amministrativa maggiore la priorit. Per i router Cisco
abbiamo la seguente tabella:
Protocollo Distanza amministrativa
Reti direttamente connesse 0
Route statica su interfaccia 0
Route statica su next hop 1
EIGRP summary route 5
External BGP 20
Internal EIGRP 90
IGRP 100
OSPF 110
IS-IS 115
RIP v1, v2 120
EGP 140
External EIGRP 170
Internal BGP 200
Sconosciuto 255
Nel caso di pi protocolli di routing attivati la scelta verso
la stessa destinazione viene effettuata secondo il seguente
algoritmo (vedi RFC 1812):

Per esempio se su un router sono attivati il RIPv2 e
lIGRP ed essi hanno rispettivamente le seguenti routes:
172.10.2.0/24 (dal RIPv2 dist. Amm. = 120)
172.10.0.0/16 (dal IGRP dist. Amm. = 100)
un pacchetto con destinazione ip = 172.10.2.3 utilizzer la
route trovata dal RIPv2 anche se la distanza
amministrativa maggiore.

Propriet comune dei protocolli Classfull
Nei protocolli di routing Classfull non essendo trasportata
la netmask impedito luso di prefissi pi lunghi di quelli
naturali. Dunque lunici prefissi implicitamente possibili
sono /8 (classe A), /16 (classe B) e /24 (classe C).
La rete seguente con un protocollo classfull non sarebbe
possibile:
A
B
D
C
10.1.0.0/16
10.2.0.0/16
10.3.0.0/16
SI
LONGEST MATCH
Trovate pi di una routes?
Utilizza la route trovata
Provengono dallo stesso
processo di routing?

Scegli la route con
distanza
amministrativa minore
Il costo delle routes
sono uguali?

Usa la route di costo
minore
Load balancing
SI
SI
NO
NO
NO
19
TECNONET S.p.A.
In quanto ogni router annuncerebbe nei suoi update di
vedere lintera classe A 10.0.0.0.
I costruttori hanno introdotto nei loro apparati un
accorgimento, il quale permette di superare questo limite
che impedisce luso di prefissi pi lunghi di quelli
naturali, con le seguenti condizioni:
- Tutti prefissi derivati dalla stessa network di partenza
devono avere la medesima lunghezza;
- Le network associate a questi prefissi devono
costituire un insieme di reti connesso;

Questo accorgimento comporta che in generale:
abbiamo NETWX_NAT lindirizzo di partenza con
prefisso naturale (per esempio se NETW1/NETM1 =
10.5.0.0/16 allora NETW1_NAT = 10.0.0.0)

Dunque:

Se

NETW1_NAT = NETW2_NAT e se NETM1 = NETM2

Allora nellupdate A B viene immesso:

NETW1

Altrimenti viene immesso:

NETW1_NAT



LOAD BALANCING SU ROUTER CISCO

I routers Cisco per default utilizzano per il load balancing
fino a 4 routes con la stesso costo, (tranne il BGP che per
default permette lutilizzo di una sola route per
destinazione!).
Questo valore pu essere modificato con il comando:

Router(config)# maximum-paths maximum

Il valore di maximum deve essere compreso fra 1 e 6.

Esistono per due protocolli proprietari Cisco e cio
lIGRP e lEIGRP che permettono il load balancing anche
con routes verso la stessa destinazione con costi
differenti.
Il comando da utilizzare :

Router(config-router)# variance M

Dove M un valore compreso fra 1 e 128.

Prendendo in considerazione la seguente rete generica i
percorsi con costi diversi saranno scelti secondo il
seguente algoritmo:

Sia FD il valore del Best Path, cio del percorso con il
costo minore fra i due router A e B;
Sia M il valore definito dal comando variance;
Sia
C C
i ij
j
=


il costo del percorso i-esimo.
Allora se per il router B (configurato con variance M)
sono valide entrambe le condizioni:

FD C C
C M FD
i in
i
>
s

il percorso i sar scelto per il load balancing.
Mentre se per il router A (configurato con variance M)
sono soddisfatte le condizioni:

FD C C
C M FD
i i
i
>
s
1

il percorso i sar scelto per il load balancing.

Nel caso non ci siano router intermedi facile dimostrare
che se si vuole usare il percorso di costo C
i
oltre il
percorso di best path sufficiente scegliere:

M
C
FD
i
>


( evidente che se esistono percorsi con costi compresi fra
FD e C
i
saranno anchessi compresi per il load balancing
fino ad un massimo definito dal comando maximum-
paths.)

La cosa interessante che sono in generale possibili
situazioni di load balncing asimmetrico.

Procediamo con un esempio.
Sia data la seguente rete:




A
B
NETW2/NETM2
NETW1/NETM1
A B






FD
C
11
C
1n
C
s1
C
sn
20
TECNONET S.p.A.
Sia C
11
= 8 , C
12
= 20 , C
21
= 5 , C
22
= 5 , C
31
= 30 , C
32
=
30 e M = 3.
Dunque C
1
= 28 , C
2
= FD = 10 , C
3
= 60. Percorso best
path = percorso 2.

Router B Router A
FD > C
11
(10 > 8)
C
1
s M - FD (28 s 30)
Dunque B utilizzer anche
il percorso 1
In questo caso si ha
FD < C
12
e il percorso 1
non sar utilizzato.
In questo caso si ha
FD < C
31
e il percorso 3
non sar utilizzato.
In questo caso si ha
FD < C
32
e il percorso 3
non sar utilizzato.

Quindi abbiamo ottenuto un load balancing asimmetrico.
Il traffico da B A utilizza il percorso 1 e il percorso 2,
mentre il traffico da A B utilizza solo il percorso 2.
Questo esempio mostra che in generale non sufficiente
configurare lo stesso valore M del comando variance, in
ambedue i router per ottenere un load balancing
simmetrico.


RIP e RIPv2

Il RIP un protocollo che si basa sullalgoritmo distance
vector. Esistono due versioni: la prima versione definita
dalla RFC 1058 e la seconda versione dalla RFC 1723.
Il RIP utilizza come metrica gli hops (salti!). Ogni rete
attraversata un hop. Per evitare il problema del count to
infinity viene posto il valore di 16 hops come distanza
infinita (rete irraggiungibile). Ci implica che in una rete
non si possono attraversare pi di 15 hops. Gli update
distance vector vengono inviati tramite UDP con porta di
destinazione 520.

RIPv1
Gli update del RIP versione 1 sono inviati in broadcast IP:
255.255.255.255.
Lupdate pu contenere da 1 a 25 descrittori di routes, e
qualora le routes da annunciare siano pi di 25 viene
inviato un secondo update.
La figura seguente mostra il formato dei campi del RIPv1

Campo Command
+ Response: il modo normalmente usato da un
router per trasmettere i distance vector
+ Request: normalmente utilizzato da un router
appena acceso per venire a conoscenza delle
route della rete
Campo A.F.I. (Address Family Identifier): fissato a 2
per IP
+ Questo campo indica che il RIP non progettato
per essere usato esclusivamente con il protocollo
IP

RIPv2
Il RIPv2 invia gli update allindirizzo di multicast
224.0.0.9.
Il RIPv2 pu interoperare con la versione 1.
un protocollo classless.
La figura seguente mostra i campi del RIPv2:
Subnet Mask: netmask associata allindirizzo della
destinazione annunciata
Route Tag: serve per distinguere le route apprese da
protocolli diversi dal RIPv2.
+ Distinguere le informazioni apprese da altri protocolli
importante, in quanto la metrica a essi associata deriva da
una conversione arbitraria della metrica associata al
protocollo di routing di origine.
Next Hop: pu contenere lindirizzo ip di un router,
diverso da quello che ha generato lupdate, da
utilizzare come next hop per raggiungere la
destinazione annunciata.
+ Il valore 0.0.0.0 indica che deve essere usato come next hop
chi ha inviato lupdate.
Se un router RIPv2 riceve una Request RIPv1, esso pu
rispondere con un RIPv1 Response. I campi non utilizzati
da RIPv1 devono essere MBZ (Must Be Zero).
A B



C
11
C
12
C
31
C
32
C
22
C
21
A B



C
11
C
12
C
31
C
32
C
22
C
21
21
TECNONET S.p.A.
Il RIPv2 permette di autenticare gli update inserendo a
questo scopo alcune informazioni al posto di uno dei 25
descrittori delle route.
Il campo AFI contiene il valore esadecimale FFFF.
La compatibilit con RIPv1 assicurata dal fatto che non
riconosce questo valore di AFI e scarta questa entry.

I Timers del RIPv1 e RIPv2
I timers utilizzati dal processo di routing RIP sono:

Update timer: valore di default 30 secondi. Indica
lintervallo di tempo fra un update e il successivo.
Route timer: valore di default 180 secondi.
Rappresenta il tempo massimo per cui una route
considerata valida, se non viene ricevuto unupdate
che ne confermi la validit. Quando il timer scade, la
route viene considerata invalida e viene attivato il
processo di cancellazione
Holddown timer: valore di default 120 secondi.
Durante questo tempo il router inserisce la route negli
update con costo uguale a 16. Allo scadere del timer
la route viene rimossa dalla tabella di routing.

Attenzione che i valori di default che trovate su router di
costruttori diversi non detto che siano quelli
raccomandati dalla RFC.
Per esempio i router Nortel (Bay Networks) hanno i
seguenti valori: update timer = 30 sec; route timer = 90
sec; holddown timer = 90 sec.
I router Cisco hanno: update timer = 30 sec; route timer =
180 sec.; holddown timer = 180 sec. (nei router cisco la
rimozione della route dalla tabella dipende da un altro
timer detto flush timer di default 240 sec).

Qualora si realizzi una rete dove si utilizzano routers di
diversi costruttori, queste differenze di default dei timers
RIP, possono portare a dei routing loop.

Configurazione del protocollo di routing RIP su apparati
Cisco
Per abilitare il processo di routing RIPv1 eseguire i
seguenti comandi:

Router(config)# router rip
Router(config-router)# network net_num

Il valore net_num lindirizzo della network direttamente
connessa che viene abilitata al RIP.

Per abilitare il processo di routing RIPv2 si aggiunga
questo comando:

Router(config-router)# version 2

Si pu forzare il router RIP ad inviare gli update in
unicast con il comando:

Router(config-router)# neighbor ip-address

Per modificare i valori di default dei timers usare il
comando:

Router(config-router)# timers basic update invalid holddown
flush

Si pu inoltre modificare il comportamento di default del
RIP, facendo in modo che alcune interfacce abbiano una
versione differente di RIP. Si possono usare i seguenti
comandi per inviare da quella specifica interfaccia update
della versione desiderata:

Router(config-if)# ip rip send version 1
Router(config-if)# ip rip send version 2
Router(config-if)# ip rip send version 1 2

Mentre per specificare che da una specifica interfaccia gli
update ricevuti devono della versione desiderata:

Router(config-if)# ip rip receive version 1
Router(config-if)# ip rip receive version 2
Router(config-if)# ip rip receive version 1 2

Se vogliamo possiamo fare in modo che uninterfaccia
non trasmetta gli update ma che sia abilitata a riceverli e
ad elaborarli. Questo lo si ottiene con il comando:

Router(config-router)# passive-interface interface_name

Per abilitare lautenticazione degli update del RIPv2 si
usino i comandi:

Router(config-if)# ip rip authentication key-chain name-of-chain
Router(config-if)# ip rip authentication mode [text | md5]

Il RIPv2 sommarizza automaticamente le routes.
Questa propriet abilitata di default. Per disattivare la
sommarizzazione si usi il comando:

Router(config-router)# no auto-summary

Per la sommarizzazione manuale va usato il seguente
comando:

Router(config-if)# ip summary-address rip network netmask

Attenzione che il RIPv2 non supporta il supernetting (per
esempio la route 192.160.0.0 255.255.0.0 una
supernetting).

Lo split horizon abilitato di default su tutte le interfacce
tranne per quelle che utilizzano protocolli di tipo NBMA
come il Frame Relay.
Inoltre se su uninterfaccia sono presenti indirizzi ip
secondari e lo split horizon abilitato saranno inviati
update solo da lindirizzo primario.

Per abilitare o disabilitare lo split horizon su
uninterfaccia utilizzare i seguenti comandi:

Router(config-if)# ip split-horizon
Router(config-if)# no ip split-horizon

Sui collegamenti on-demand si pu utilizzare lestensione
del RIP definita nella RFC 2091. I router cisco supportano
parzialmente questa RFC, la quale permette di inviare gli
update soltanto quando vi effettivamente un
cambiamento nella tabella di routing, evitando in questo
modo gli update periodici. Si usi il seguente comando:

Router(config-if)# ip rip triggered

22
TECNONET S.p.A.
In conclusione: utilizzate il RIP solo su reti di piccole
dimensioni. Impostate i timer a valori uguali su tutti i
routers (se sono dello stesso costruttore non necessario).
Un difetto importante del protocollo RIP che essendo la
sua metrica funzione dei soli hops, non ha possibilit di
distinguere fra link di velocit trasmissiva diversa.
da notare che le RFC che definiscono il RIP permettono
di associare a una network valori di hop non unitari. In
questo modo per due link paralleli che vanno dal router A
al router B, uno link a 2Mb/s e laltro a 56Kb/s potrei
associare a questultimo un costo di 2 hops. Purtroppo sia
Cisco e sia Nortel non implementano questa possibilit,
mentre gli switch/router della Enterasys possono
modificare questi valori.

Lista degli RFC di riferimento per il RIP:
RFC1058: Routing Information Protocol
RFC1581: Protocol Analysis for Extensions to RIP to support
demand circuits
RFC1582: Extensions to RIP to Support Demand Circuits
RFC1721: RIP Version 2 Protocol Analysis
RFC1722: RIP Version 2 Protocol Applicability Statement
RFC1723: RIP Version 2 Carryng Additional Information
RFC1724: RIP Version 2 MIB Extension
RFC1812: Requirements for IP Version 4 Routers
RFC1923: RIPv1 Applicability Statement for Historic Status
RFC2082: RIP-2 MD5 Authentication
RFC2091: Triggered Extensions to RIP to Support Demand
Circuits
RFC2092: Protocol Analysis for Triggered RIP
RFC2453: RIP Version 2


IGRP ed EIGRP

I protocolli di routing IGRP e EIGRP sono proprietari
Cisco. IGRP un protocollo di tipo distance vector ed
un classfull. EIGRP utilizza una modifica dellalgoritmo
distance vector. La metrica utilizzata la stessa per
entrambi ed molto pi complessa di quella utilizzata dal
RIP.

La metrica utilizzata da IGRP e EIGRP
La metrica che viene utilizzata data dalla seguente
formula che fornisce il costo del collegamento fra il router
i e il router j:

e se K
5
= 0 allora si ha:

Dove i parametri K sono dei valori costanti definiti dal
configuratore; dove BW = 10.000.000/band_num
(nellEIGRP questo valore viene moltiplicato per 256) e band_num
definito dal comando:

Router(config-if)# bandwidth band_num

E normalmente si utilizza il valore della velocit di
collegamento (es. su uninterfaccia seriale a 512 Kb/s si
configura band_num = 512).
La segurente tabella mostra alcuni valori di BW per
alcuni link:
Link BW
Gigabit Etrhernet
10
Fast Ethernet
100
Ethernet
1000
Seriale 512 Kb/s
19531,25
Seriale 64 Kb/s
156250

Il valore Dl configurato dal comando:

Router(config-if)# delay Dl

(nellEIGRP questo valore viene moltiplicato per 256). E
rappresenta il tempo che intercorre per ricevere un bit
trasmesso sul link senza altro tipo di traffico. Lunit di
misura 10 microsecondi.
Tempo di ritardo Dl
1 ms 100
10 ms 1000
200 ms 20.000
Mentre BW e Dl sono valori statici i valori L (Load) e Re
(Reliability) sono parametri dinamici (sono calcolati tramite
media esponenziale pesata su un periodo di 5 minuti e aggiornamento
ogni 5 secondi).
L corrisponde alla proporzione della banda in uso su una
scala che v da 0 a 255; 255 significa utilizzo del 100%
della banda.
Re fornisce la frazione di pacchetti che arrivano non
danneggiati in una scala che v da 0 a 255; 255 significa
che il 100% dei pacchetti arriva non danneggiata.
Nonostante tutta questa complessa metrica, di default
Cisco imposta i seguenti parametri K:
K
1
= 1; K
2
= 0; K
3
= 1; K
4
= 0; K
5
= 0
In questo modo il costo si riduce alla pi banale formula:

C BW Dl
ij ij ij
= +


La modifica dei valori di default deve essere fatta molto
attentamente, in quanto sono possibili instabilit (
interessante notare che tutti i documenti cisco che ho trovato, sulla
metrica di IGRP e EIGRP, sconsigliano in modo molto forte di cambiare
i valori di default. Non sono riuscito a trovare nemmeno un esempio di
quando e perch potrebbe essere utile modificarli. Il mio sospetto che
una metrica cos complessa in buona parte soltanto pubblicit).
Il campo della metrica in IGRP di 24 bits mentre in
EIGRP di 32 bits.
Il comando per modificare i parametri K il seguente:

Router(config-router)# metric weights tos k1 k2 k3 k4 k5

Il costo del percorso composito i, per esempio dal router
A al router B data (con i parametri di default) da:


IGRP
Il protocollo IGRP invia gli update in broadcast.
LIGRP specifica un dominio di routing, che corrisponde
allAutonomous System definito allinizio dellarticolo.
Per abilitare il processo IGRP si utilizzi il comando:
max
23
TECNONET S.p.A.

Router(config)# router igrp autonomous-system
Router(config-router)# network net_num

IGRP pu annunciare tre tipi di routes:

Interior: sono routes fra subnets connesse alla stessa
interfaccia
System: sono routes annunciate allinterno dellAS.
Exterior: sono routes di networks al di fuori dellAS.
IGRP sceglie un router di ultima scelta (gateway of
last resort) dalla lista delle exterior routes.
+ Se lAS ha pi di una connessione al network esterno, router
differenti dellAS possono scegliere differenti exterior routes
come gateway di ultima scelta.

I Timers di IGRP
I timers utilizzati dal processo di routing IGRP sono:

Update timer: valore di default 90 secondi. Indica
lintervallo di tempo fra un update e il successivo.
Invalid (Route timer): valore di default 270 secondi.
Rappresenta il tempo massimo per cui una route
considerata valida, se non viene ricevuto unupdate
che ne confermi la validit. Quando il timer scade, la
route viene considerata invalida e viene attivato il
processo di cancellazione
Holddown timer: valore di default 280 secondi.
Durante questo tempo il router inserisce la route negli
update come irraggiungibile.
Flush timer: valore di default 630 secondi. il tempo
che deve passare per rimuovere completamente la
route.



Per modificare i valori di default dei timers usare il
comando:

Router(config-router)# timers basic update invalid holddown
flush

Si pu forzare il router IGRP ad inviare gli update in
unicast con il comando:

Router(config-router)# neighbor ip-address

Se vogliamo possiamo fare in modo che uninterfaccia
non trasmetta gli update ma che sia abilitata a riceverli e
ad elaborarli. Questo lo si ottiene con il comando:

Router(config-router)# passive-interface interface_name

Abbiamo visto nel paragrafo del load balancing che
lIGRP permette tramite il comando variance di utilizzare
anche percorsi verso la stessa destinazione con costi
diseguali. Il comando seguente serve per modificare il
tipo di bilanciamento utilizzato:

Router(config-router)# traffic share [balanced | min]

Di default il bilanciamento di tipo balanced, che
significa che il traffico distribuito proporzionalmente al
costo. Il comportamento min invece che saranno
utilizzate le routes di costo minimo.

Anche se gli hops non sono utilizzati nella metrica
dellIGRP, di default comunque non possono essere
superati i 100 hops. Questo parametro pu essere
modificato fino ad un massimo di 255 con il seguente
comando:

Router(config-router)# metric maximum-hops hops

Lo split horizon abilitato di default su tutte le interfacce
tranne per quelle che utilizzano protocolli di tipo NBMA
come il Frame Relay.
Inoltre se su uninterfaccia sono presenti indirizzi ip
secondari e lo split horizon abilitato saranno inviati
update solo dallindirizzo primario.

Per abilitare o disabilitare lo split horizon su
uninterfaccia utilizzare i seguenti comandi:

Router(config-if)# ip split-horizon
Router(config-if)# no ip split-horizon

EIGRP
Questo protocollo di routing unevoluzione del
protocollo IGRP. Ha molte propriet che ne migliorano le
caratteristiche rispetto allIGRP, elenchiamone alcune:

Protocollo Classless (supporta VLSM e CIDR)
+ Lautosummary abilitato di default, ma pu essere
disabilitato
Ha possibilit di autenticazione
Pu essere utilizzato anche per diverse architetture di
protocollo, oltre il TCP/IP pu essere utilizzato per
lIPX e per lAppleTalk.
La metrica utilizzata la stessa dellIGRP
moltiplicata di un fattore 256.
Usa il multicast (224.0.0.10) per inviare i suoi update
incapsulato direttamente in IP con il protocol
number 88
Non invia update periodici, ma soltanto a seguito di
una variazione.
+ Solo nella fase iniziale di vicinanza viene inviata lintera
tabella di routing attraverso gli update. Durante una
variazione della rete gli update contengono solo le routes che
hanno subito il cambiamento.
un protocollo cosiddetto ibrido, in quanto usa
caratteristiche del distance vector e del link state
Lalgoritmo utilizzato detto DUAL (Diffusing
Update ALgorithm)

Lalgoritmo DUAL in EIGRP

1) Appena un router EIGRP viene acceso (o viene
abilitato il processo EIGRP) inizia a spedire pacchetti
24
TECNONET S.p.A.
Hello (in questa prima fase un bit di inizializzazione
settato) dalle interfacce.
a) I pacchetti Hello sono usati per la scoperta dei vicini, e sono
inviati in multicast. Per default gli Hello vengono inviati ogni
5 secondi sui seguenti link: ethernet token ring fddi ppp
hdlc frame relay point to point isdn pri (bandwidth >
T1) frame relay multipoint (bandwidth > T1). Vengono
inviati ogni 60 secondi su link NBMA con bandwidth < T1. I
pacchetti Hello contengono il tempo che intercorre fra un
Hello il successivo (detto Hello time), e inoltre contengono
un campo detto hold time che si riferisce alla validit di un
entry. Di default lhold time corrisponde a 3 volte il tempo
definito da hello time (quindi o 15 sec o 180 sec).
2) Quando un router EIGRP riceve un pacchetto Hello,
esso inizia la relazione di vicinanza.
a) La relazione di vicinanza fallisce se:
i) Hello-time e Hold-time non sono uguali a quelli del
vicino.
ii) Se i valori K della metrica non sono uguali.
iii) Se il numero di AS non lo stesso.
3) I routers che superano questa fase rispondono con un
Update che contiene tutte le routes contenute nella
propria tabella di routing
4) Il router che ha inviato gli Hello ricevendo gli Update
invia ad ogni mittente un ACK.
a) Inoltre immette gli indirizzi ip dei vicini nella neighbor table.
Appena ricevuti tutti gli Update dai vicini forma la topology
table. Questa tabella contiene tutte le routes imparate da ogni
vicino e due costi associati ad ogni route. La prima detta
advertised distance (ad) ed il costo associato a quella route
come viene annunciata dal vicino. La seconda la feasible
distance (fd) che uguale alla ad sommato al costo del link
che collega il router al vicino che ha inviato lupdate.
b) Ora il router deve aggiornare la sua tabella di routing. Per
fare ci sceglie fra tutte le routes verso una stessa
destinazione quella con la fd minore. Se presenti pi di una
routes con la stessa fd minore vengono messe tutte fino ad un
massimo di sei (dipende dal comando maximum-paths) nella
tabella di routing.
c) Il router vicino per la quale la route deve passare viene a
questo punto definito nella topology table come successor.
Viene inoltre definito, se presente, un feasible successor,
esso per deve soddisfare la condizione che
adfeasible_successor<fdsuccessor . Il feasible successor viene
utilizzato come percorso di backup.
d) A questo punto quando la tabella di routing stata
completata e la topology table ha definito i successor e gli
eventuali feasible successor sono stati definiti le routes sono
ora in uno stato detto passive.
5) Il router ora pu inviare il suo update su tutte le
interfacce.
6) Ogni router adiacente invia un ACK.

Comandi di configurazione del protocollo di routing
EIGRP
Come per lIGRP nellabilitazione del processo di routing
EIGRP deve essere definito il numero di AS:

Router(config)# router igrp autonomous-system
Router(config-router)# network net_num

LEIGRP sommarizza automaticamente le routes.
Questa propriet abilitata di default. Per disattivare la
sommarizzazione si usi il comando:

Router(config-router)# no auto-summary

Per la sommarizzazione manuale va usato il seguente
comando:

Router(config-if)# ip summary-address eigrp autonomous-system
network netmask

Si possono modificare gli intervalli di tempo del hello-
time e dellhold-time, con i seguenti comandi:

Router(config-if)# ip hello-interval eigrp autonomous-system
seconds

Router(config-if)# ip hold-time eigrp autonomous-system seconds

Lo split horizon abilitato di default su tutte le interfacce,
per disabilitarlo si utilizzi il comando:

Router(config-if)# no ip split-horizon eigrp autonomous-system

Si pu configurare la percentuale massima della banda
disponibile che pu utilizzare il protocollo di routing
EIGRP. Di default ne utilizza il 50%. Per modificare
questa percentuale si utilizzi il comando:

Router(config-if)# ip bandwidth-percent eigrp percent

Il valore di percent pu essere superiore al 100%, in
quanto fa riferimento alla bandwidth e non alla effettiva
velocit fisica di interfaccia.

Comportamento dellalgoritmo DUAL a seguito di una
variazione
Se si perde la relazione di vicinato con il router vicino
definito come successor lalgoritmo procede nel seguente
modo:

Se presente il feasible successor diviene successor
Se non presente il feasible successor, la route passa
nello stato attivo.
+ Sono inviate dei pacchetti Query su tutti i
neighbors eccetto il successor.
+ Se i neighbors non hanno informazioni sulla
route allora anchessi invieranno delle Query ai
loro neighbors
+ Il router che ha iniziato il processo deve ottenere
risposte da tutti i neighbors prima di calcolare il
nuovo successor
+ Se qualche neighbor non risponde alla query
entro tre minuti, la route rimane bloccata nello
stato attivo (Stuck In Active : SIA)


Per evitare che una route rimanga SIA, opportuna una
buona progettazione della rete EIGRP.

Inoltre le Query sono trasmesse attraverso diversi domini
AS di EIGRP.

La soluzione utilizzare la sommarizzazione nei router di
bordo e di utilizzare dunque i concetti base di un rounting
di tipo gerarchico.







25
TECNONET S.p.A.
OSPF

LOSPF il protocollo di routing IGP pi evoluto
nellarchitettura di rete TCP/IP.
La versione pi recente dellOSPF definita nella
RFC2328.
LOSPF si basa sullalgoritmo link state.
La capacit dellalgoritmo link state di gestire topologie
complesse unita alla scalabilit del routing gerarchico,
rendono lOSPF adatto ad operare su reti di grandezza e
complessit arbitrarie.
Per le specifiche dellOSPF lAutonomous System non
viene considerato un unico insieme di nodi, ma diviso in
aree per beneficiare di un approccio gerarchico.
Ogni area identificata da un numero di 4 ottetti, spesso
scritto in notazione decimale puntata (come gli indirizzi
ip).
LOSPF opera in modo indipendente in ogni area e
prevede meccanismi per lo scambio di informazioni tra le
aree.
Ogni router OSPF viene identificato univocamente in
tutto lAS da una sequenza di 32 bit detta router id. Come
scegliere questo valore la RFC2328 non lo definisce e
lascia questa scelta al costruttore. Nel caso di Cisco
abbiamo che il router id scelto fra:
a) lindirizzo Ip pi grande configurato sul router
b) oppure se configurata linterfaccia di loopback
viene scelto questo indirizzo
i) questa la scelta ottimale in quanto linterfaccia di
loopback non assume mai lo stato down

LOSPF imbustato in ip con protocoltype = 89.

Il protocollo OSPF costituito in effetti da 3
sottoprotocolli: Hello, Exchange, Flooding.

Tutti i pacchetti OSPF hanno un header comune che il
seguente:

I campi hanno il seguente significato:
Version: attualmente il suo valore 2
Type: tipo di pacchetto OSPF trasportato
a) ne esistono 5 tipi: Hello, Database Description, Link State
Request, Link State Update,Link State Ack.
Router id: indirizzo ip per identificare il router
Area id: numero che identifica univocamente larea
allinterno del dominio OSPF
a) spesso viene scelto unindirizzo ip
Autentication type: tipo di autenticazione

Il routing OSPF fortemente dipendente dallo stato del
link fra i routers vicini, il quale deve essere
bidirezionale.
Hello subprotocol
Il sottoprotocollo Hello responsabile dello stabilire e
mantenere la neighbor relationships (tabella dei vicini che
hanno stabilito una comunicazione bidirezionale).

I pacchetti Hello sono inviati periodicamente usando
lindirizzo multicast 224.0.0.5.
Sono trasmessi solo tra router vicini e non sono mai
propagati.

Gli Hello packet contengono i seguenti campi:

I campi hanno il seguente significato:
Network Mask: netmask associata allinterfaccia da
cui viene emesso il pacchetto
Hello interval: comunica ogni quanti secondi viene
inviato un pacchetto Hello
Options: sono definiti solo gli ultimi 2 bit (bit E e bit
T)
a) bit E: se il router in grado di inviare e ricevere route
esterne; pari a 0 se linterfaccia appartiene ad una stub area
b) bit T: se il router in grado di gestire pacchetti con diversi
TOS
Priority: indica la priorit di questo router per
lelezione del Designated Router (DR) e del Backup
Designated Router (BDR).
Dead interval: il termpo che il router aspetta prima
di dichiarare che il router vicino sia considerato
down
DR: se conosciuto lindirizzo ip del Designated
Router (0 se ancora non definito)
BDR: se conosciuto lindirizzo ip del Backup
Designated Router (0 se ancora non definito)
Neighbors: i vicini con i quali una comunicazione
bidirezionale stata stabilita.
a) una comunicazione bidirezionale stabilita quando il router
vede se stesso nei neighbors dei pacchetti Hello inviati dal
router vicino

In una topologia broadcast multiaccess le relazioni di
vicinato possono essere moltissime. Pi precisamente se
N il numero di routers presenti le relazioni di vicinato
sono N(N-1)/2. Se per esempio su una lan sono presenti
10 routers OSPF le relazioni di vicinato che si formano
sono 45.
26
TECNONET S.p.A.
In topologie di questo tipo per ridurre il traffico di routing
vengono eletti tramite gli hello packets un DR e un BDR.
A questo punto ogni router presente sulla topologia
broadcast forma la relazione di vicinato solo con il DR e
il BDR.
Le relazioni di vicinato si riducono a questo punto a
2(N-2)+1.
La tabella seguente mostra come varia la quantit di
relazioni di vicinato in una topologia broadcast con e
senza i DR e BDR.
N Relazioni di
vicinato senza DR e
BDR
Relazioni di
vicinato con DR e
BDR
2 1 1
3 3 3
4 6 5
5 10 7
6 15 9
7 21 11
8 28 13
9 36 15
10 45 17
:
:
:
:
:
:
100 4950 197
Dunque il vantaggio dellutilizzo del DR e BDR
evidente quando N>5.

Elezione del DR e BDR
a) il router che stato acceso molto prima degli altri
diventa DR, il secondo BDR.
b) Oppure se accesi nello stesso momento:
i) Il router con priority maggiore diviene DR
ii) Il router con priority antecedente la
maggiore diviene BDR
iii) Nel caso le priority siano uguali, il router ID
usato. Il router ID maggiore diviene DR il
secondo router ID diviene BDR.
iv) Un router con priority uguale a 0 non pu
essere eletto DR o BDR
v) Quando un DR stato eletto anche se viene
immesso un router con priority pi alta non
viene iniziata una nuova elezione. Soltanto
se il DR o il BDR vanno down viene
riiniziata lelezione

Exchange subprotocol
Una volta forma la vicinanza (detta anche adiacenza), i
router si devono sincronizzare. Viene usato per questo
scopo il sottoprotocollo Exchange che comprende due tipi
di pacchetti:
Database Description (DD)
Link State Request (LSR)

un protocollo asimmetrico. Infatti il primo passo
consiste nel definire uno dei due router come Master e
laltro come Slave.
Come prima fase sono scambiati il sommario dei Link
State Advertisement (LSA) in possesso di ciascun router.
In seconda fase sono richiesti allaltro router gli LSA
mancanti o obsoleti (ricordo che gli LSA servono per
formare la mappa completa della rete).
La terza fase la trasmissione degli LSA richiesti.
Il pacchetto DD fatto in questo modo:

I campi hanno il seguente significato:
Options: sono definiti solo gli ultimi 2 bit (bit E e bit
T)
a) bit E: se il router in grado di inviare e ricevere route
esterne; pari a 0 se linterfaccia appartiene ad una stub area
b) bit T: se il router in grado di gestire pacchetti con diversi
TOS
I: Initialize
M: More
MS: Master Slave (1 = Master)
DD Sequence Number: numero di sequenza del
pacchetto DD
I campi successivi (che possono essere ripetuti) sono
la descrizione dellheader di un LSA

Vediamo le fasi dello scambio:

a) Il router che inizia la procedura invia un
pacchetto DD vuoto con I, M e MS settati
b) Laltro router risponde inviando un pacchetto
DD di ack con I e M settati
c) Il primo router pu iniziare ad inviare le
descrizioni da lui possedute inviando pacchetti
DD con M e MS settati, tranne lultimo
pacchetto che ha solo MS settato.
d) Lo Slave risponde inviando un pacchetto DD di
ack con M settato riportando la sua descrizione
del database.
e) Se il Master non riceve lack entro un certo
intervallo riinvia il pacchetto originale DD
f) Se viceversa lo Slave non ha finito di trasmettere
le sue descrizioni:
i) In corrispondenza del pacchetto del Sender
con M = 0 invia un pacchetto DD con M = 1
ii) Il master continua ad inviare pacchetti vuoti
con M = 0 ed accettare gli ack (con le
descrizioni) che gli arrivano dallo Slave
iii) La procedura di sincronizzazione termina
quando anche lo Slave invia un pacchetto
con M = 0
g) Durante lo scambio sia il master che lo slave
controllano di avere lLSA inviato dalla
controparte, e questo LSA non deve essere pi
vecchio di quello ricevuto. Se questo non
verificato lLSA viene inserito nella lista degli
LSA da richiedere

27
TECNONET S.p.A.
A questo punto se sono stati rilevati degli LSA da
sincronizzare, sono inviati pacchetti LSR, i quali
richiedono allaltro router di trasmettere gli LSA completi
corrispondenti ai campi seguenti:

Gli LSA richiesti sono inviati tramite il sottoprotocollo di
flooding.

Flooding subprotocol
usato per trasmettere lo stato dei link.
Vengono inviati:
In caso di cambiamento di stato di link
A seguito di una richiesta LSR
Allo scadere di un timer (normalmente 60 min)

Il sottoprotocollo flooding composto da due tipi di
pacchetti:
Link State Update (LSU)
Link State Acknowledgement (LSAck)

Il formato dei LSU il seguente:

Dove Number of Advertisement il numero di LSA che
vengono trasportati dal pacchetto. Infatti un LSU pu
trasportare pi Link State Advertisement (LSA), e
questultimo effettivamente la struttura dati che
trasporta le informazioni. Corrisponde agli lsp
dellalgoritmo link state.
Esistono 7 tipi di LSA . Noi daremo le caratteristiche dei
primi 5.
Comunque tutti gli LSA hanno lo stesso header che il
seguente:

I campi hanno il seguente significato:
LS Age: tempo che descrive da quanto tempo il
router mittente conosce questa LSA
Options: sono definiti solo gli ultimi 2 bit (bit E e bit
T)
a) bit E: se il router in grado di inviare e ricevere route
esterne; pari a 0 se linterfaccia appartiene ad una stub area
b) bit T: se il router in grado di gestire pacchetti con diversi
TOS
LS Type: tipo di LSA trasportato
Link State ID: identificativo dellLSA
a) scelto dallAdvertising Router, ma il significato preciso pu
variare a seconda del Type
Advertising Router: il router ID del router mittente
originale.

Descriviamo i primi 5 tipi di LSA:
LSA tipo1: Router link
LSA tipo2: Network link
LSA tipo3: Summary link (IP network)
LSA tipo4: Summary link (to a border router)
LSA tipo5: External link

Prima di specificare i dettagli degli LSA, descriviamo
alcune caratteristiche fondamentali delle aree OSPF. Se
sono presenti pi di una area una di esse deve essere
identificata con il numero 0 (ovvero 0.0.0.0) e questarea
detta backbone area.
Le altre aree devono avere almeno un collegamento alla
backbone area.
Questo implica che lorganizzazione delle aree non
totalmente arbitraria. La backbone area ha un ruolo
determinante sia per la trasmissione dati, sia per la
propagazione delle informazioni di routing.
I pacchetti che devono raggiungere una destinazione in
unarea diversa da quella del mittente devono attraversare
la backbone area.
Inoltre i router in OSPF sono classificati nel seguente
modo:
Internal router: sono router che hanno tutte le
interfacce nella stessa area (se larea 0 gli Internal
router sono anche detti Backbone router);
Area Border Router (ABR): sono router che hanno
interfacce in due o pi aree (una deve essere la
backbone area). Ogni interfaccia pu appartenere a
una sola area;
AS boundary router (ASBR): sono router che hanno
interfacce collegate al di fuori dellAS, oppure anche
se tutte le interfacce allinterno dellAS ma alcune
collegate a domini di routing IGP diversi;


Gli LSA tipo1 e Tipo2 sono confinate in una singola area:

28
TECNONET S.p.A.

mentre gli LSA tipo3, tipo4 e tipo5 sono trasmesse in
tutto il dominio OSPF:


Aree di tipo Stub
un area dove tutte le External routes allarea stessa sono
sostituite da una sola Default Route (0.0.0.0/0.0.0.0).
usata spesso quando un area ha un solo ABR.
In questo caso non necessario inviare le routes esterne,
in quanto per uscire dallarea vi un solo router e quindi
la strada obbligata.
In unarea Stub vietato avere unASBR.

Aree di tipo Totally Stubby (solo Cisco)
Queste aree sono unevoluzione delle aree Stub, in quanto
non solo le External routes sono sostituite dalla Default
Route ma anche le Summary Routes. In unarea Totally
Stubby vietato avere unASBR.

LSA tipo1: Router Link
Questo LSA riporta le informazioni su tutti i link connessi
al router che invia questo LSA. Gli LSA tipo1 non sono
propagati al di fuori dellarea in cui sono stati generati.

Significato dei campi:
E: questo bit settato se il router un ABR
B: questo bit settato se il router un ASBR
Number of links (N): i campi compresi tra le due
frecce sono ripetuti N volte
Se Link type un link punto-punto:
a) Link ID = router ID di questo router
b) Link Data = indirizzo IP dellinterfaccia del router
Se Link type un link su una rete che ha un DR:
a) Link ID = indirizzo ip dellinterfaccia del DR
b) Link Data = indirizzo IP dellinterfaccia del router
Se Link type un link che si connette ad una rete
Stub:
a) Link ID = indirizzo IP della rete
b) Link Data = netmask della rete precedente
# TOS : il numero di servizi con cui vengono
differenziate le metriche
TOS 0 metric: il costo 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 : il costo del link per i pacchetti con
TOS = x;

(per chi non sapesse che cos il TOS, veda il paragrafo
sulla metrica OSPF)

LSA tipo2: Network Link
Questi LSA sono inviati dai DR e servono a descrivere
una rete locale mediante una topologia a stella. Gli LSA
tipo2 descrivono tutti i router presenti sulla rete locale, o
meglio che hanno creato adiacenza con il DR.
Significato dei campi:
Link ID (dellheader LSA): indirizzo ip
dellinterfaccia del DR collegata alla Lan;
Network Mask: Netmask associata alla rete
annunciata;
Attached Router: il router ID dei routers che hanno
creato una adiacenza con il DR;

LSA tipo3 e tipo4: Summary Link
Gli LSA di tipo3 propagano le informazioni
sommarizzate relative alla distanza tra lABR e le
destinazioni interne allAS.
+ Un ABR genera LSA con contenuto diverso per
ognuna delle aree su cui si affaccia
Gli LSA di tipo4 propagano le informazioni
sommarizzate relative alla distanza tra lABR e gli
ASBR.
+ Viene propagato senza variazioni su tutte le aree
dove collegato lABR.

Ogni LSA contiene una sola destinazione.


Significato dei campi:
Link ID del tipo3 (dellheader LSA): indirizzo IP
della rete che viene sommarizzata.
Link ID del tipo4 (dellheader LSA): router ID
dellASBR annunciato.
Network mask (tipo3): netmask della rete che viene
sommarizzata
Network mask (tipo4): valore fisso = FFFFFFFF
29
TECNONET S.p.A.
TOS: stesso significato di quello dei router links
LSA tipo5: External Links
Riportano le informazioni relative a destinazioni esterne
al dominio.
Sono genrati dagli ASBR e propagati a tutti i router del
dominio OSPF.
Ogni LSA contiene una sola destinazione


Significato dei campi:
Link ID (dellheader LSA): indirizzo IP della rete che
viene annunciata.
Network Mask: netmask della rete annunciata.
E bit: il primo bit del campo TOS, indica che se le
route vengono acquisite tramite protocolli quali BGP
i quali hanno una metrica non comparabile con quella
di OSPF.
+ Se settato indica che la metrica non
compatibile con OSPF e quindi la distanza deve
essere considerata maggiore di ogni altra route
interna (metrica E2)
+ Nel caso la metrica sia compatibile possibile
farne la somma con i costi interni al dominio
OSPF ricavando il costo effettivo per
raggiungere la destinazione (metrica E1)
External Route Tag: utilizzato dai Border Router per
scambiarsi informazioni in riferimento a quella route
TOS: stesso significato dei router links

Per una stessa destinazione esterna le route con metrica di
tipo E1 sono preferite rispetto a quelle di metrica E2 (il
volume 1 BSCN version 1 a pag. 5-12 riporta il contrario: errato!).

Lindirizzo di destinazione ip utilizzato per inviare gli
LSU il multicast 224.0.0.5.
Per lLCAck dipende dal mittente:
- il DR e il BDR usano lindirizzo del router
OSPF che ha inviato lLSU.
- Gli altri router usano lindirizzo multicast
corrispondente al DR: 224.0.0.6

Metrica OSPF
LOSPF consente luso di una metrica per ognuno dei tipi
di servizio TOS (Type Of Service) dellintestazione IP.
Ci consente al router di calcolare un albero di routing
distinto per ognuno dei tipi di servizio offerti, quindi di
usare percorsi diversi per pacchetto che richiedono tipi di
servizio differenti. La figura seguente mostra i campi del
TOS. In teoria sono possibili 64 tipi di servizio. In pratica
il campo Precedence ignorato e sono possibili 8 tipi di
servizio differenti.

Il costo per ogni singolo TOS calcolato con una metrica
inversamente proporzionale alla banda.

Virtual Link
LOSPF prevede la definizione di collegamenti virtuali tra
la stessa area (se presenti almeno due ABR) o attraverso
unarea.
Il virtual link pu essere utilizzato per aumentare la
flessibilit nella progettazione della backbone area.
Le virtual links non sono permesse nelle stub area.


LOSPF deve lavorare su connessioni punto-punto e
abbiamo visto che per risolvere questo problema su
toplogie BMA (Broadcast Multi Access), viene eletto un
DR e un BDR.

La RFC 2328 per risolvere lo stesso problema su
topologie NBMA (Non Broadcast Multi Access) prevede
le seguenti modalit:

- NBMA: Simula la topologia BMA. Vuole una
topologia completamente magliata (oppure una
topologia particolare che qui non descrivo), sono eletti
un DR e un BDR, gli Hello sono inviati in
Unicast e quindi i neighbors sono configurati
staticamente e infine necessaria una sola
subnet
- POINT TO MULTIPOINT: Simula
lambiente Point-to-Point, la topologia
ottimale la parzialmente magliata. Non sono
eletti DR e BDR, gli Hello sono inviati in
Multicast e quindi necessario che la rete li
supporti, i neighbors sono automatici ed
necessaria una sola subnet

La Cisco ha sviluppato altre tre modalit:

- BROADCAST: uguale alla modalit
standard NBMA tranne per il fatto che gli
Hello sono inviati in Multicast e quindi la rete
deve supportarli e i routers utilizzati devono
essere solo Cisco
- POINT TO MULTIPOINT NON
BROADCAST: uguale alla seconda
possibilit dello standard tranne per il fatto
che pu lavorare su ambienti dove i multicast
non sono supportati, e quindi i neighbors sono
configurati manualmente.
- POINT TO POINT: questa modalit funziona
come attraverso lutilizzo di di sottointerfacce
point to point, e quindi necessita dellutilizzo
di pi subnets e gli Hello sono inviati in
multicast. Questa la modalit preferita se si
utilizzano routers Cisco.

30
TECNONET S.p.A.
Configurazione del protocollo di routing OSPF su
apparati Cisco
Lattivazione del processo OSPF fatto tramite il
comando:

Router(config)# router ospf process-id

Dove process-id un numero interno al router che
identifica il processo. Questo numero non viene mai
trasmesso allesterno.
Per definire quali interfacce sono abilitate al processo
OSPF e quale area appartengono si usi:

Router(config-router)# network address wildcard-mask area area-
id

Per modificare la priority per lelezione del DR si usi il
comando:

Router(config-if)# ip ospf priority num

Per quanto riguarda la metrica i routers Cisco non
supportano metriche con TOS differenti da 0.
Perci il costo di un link dato semplicemente dalla
formula: 10
8
/Bandwidth (attenzione ricordarsi che la bandwidth di
default su link seriali la T1, specificare sempre con il comando
Bandwidth la giusta velocit del link).
Si pu modificare il costo di una singola interfaccia con il
comando:

Router(config-if)# ip ospf cost cost

Invece per modificare la costante della formula del costo
si usi:

Router(config-router)# auto-cost reference-bandwidth ref-bw

Per definire la modalit OSPF su topologie NBMA si
usino i seguenti comandi:

Router(config-if)# ip ospf non-broadcast (NBMA)
- necessaria la configurazione dei
neighbors

Router(config-if)# ip ospf network point-to-multipoint

Router(config-if)# ip ospf network point-to-multipoint non-
broadcast
- necessaria la configurazione dei
neighbors

Router(config-if)# ip ospf network broadcast

Router(config-if)# ip ospf network point-to-point

Per la configurazione dei neighbors si usi il comando:

Router(config-router)# neighbor ip-address [priority num][poll-
interval sec][cost num]

Per definire unarea come area stub si usi:

Router(config-router)# area area-id stub

Per definire unarea totally stub su usi:

Router(config-router)# area area-id stub no-summary

La sommarizzazione non automatica in OSPF ed essa
pu essere effettuata negli ABR. Per fare ci si usi:

Router(config-router)# area area-id range address mask
[advertise | not-advertise]

Mentre per aggreggare le route esterne provenienti da un
ASBR si utilizzi il comando:

Router(config-router)# summary-address address mask [not-
advertise][tag tag]


Per creare una virtual link si usi il comando:

Router(config-router)# area area-id virtual-link router-id

Dove area-id larea di transito e il router-id deve essere
il valore dellaltro router del virtual link.


TEMPO DI COVERGENZA DEI
PROTOCOLLI DI ROUTING

Il tempo di convergenza di un protocollo di routing si
calcola a partire dal momento che viene rilevato una
variazione di un link. Ma come viene rilevata questa
variazione?
La variazione pu essere rilevata in tre modi:

Livello fisico: se il link a livello fisico passa dallo
stato up allo stato down, la rilevazione immediata
Livello Data Link: si utilizzano i Keepalives che sono
trasmessi dalle interfacce ogni 10 sec. Alla mancata
ricezione di 3 Keepalives consecutivi il link
considerato down, dunque la rilevazione della
variazione dopo 30 sec. Per alcuni tipi di reti (vedi
IBM SNA) questo tempo pu essere troppo elevato, e
pu essere modificato con il comando:
+ Router(config-if)# keepalive sec
+ Dove sec il valore in secondi dellintervallo fra un keepalive e
il seguente.
Livello Network: alla mancata di 3 update o 3 hello
consecutivi il link considerato down. Dunque per il
RIP la rilevazione dopo 90 sec.; per lIGRP dopo
270 sec; per lEIGRP dopo 15 sec o dopo 180 sec a
seconda del tipo di interfaccia;

Solo dopo aver rilevato la variazione iniziano le
procedure dinamiche che abbiamo visto nellarticolo
precedente.

Tempo di convergenza massimo per i vari tipi di
protocolli:

RIP: 4 minuti; questo tempo pu essere elevato per reti IBM
SNA. In questo caso utilizzate questo comando su tutti i routers
Cisco presenti:
+ Router(config-router)# timers basic 20 60 60 120
IGRP: 6 minuti; questo tempo pu essere elevato per reti IBM
SNA. In questo caso utilizzate questo comando su tutti i routers
Cisco presenti:
+ Router(config-router)# timers basic 20 60 60 120
EIGRP: 15 secondi;
OSPF: 40 secondi;

R. Gaeta