Sei sulla pagina 1di 52

Protocolli per trasmissione

dati
Appunti

Fiandrino Claudio

2 settembre 2010


II
Indice

1 Analisi di Protocolli 5
1.1 Elenco di protocolli d’accesso . . . . . . . . . . . . . . . . . . 5
1.2 Protocolli Aloha e Slotted-Aloha . . . . . . . . . . . . . . . . 5
1.2.1 Ipotesi al calcolo del Throughput . . . . . . . . . . . . 6
1.2.2 Calcolo del Throughput . . . . . . . . . . . . . . . . . 7
1.2.3 Ipotesi al calcolo del Ritardo . . . . . . . . . . . . . . 8
1.2.4 Calcolo del ritardo . . . . . . . . . . . . . . . . . . . . 9
1.2.5 Slotted Aloha con popolazione finita . . . . . . . . . . 9

2 Protocolli ad accesso ordinato 13


2.1 Protocolli di Polling . . . . . . . . . . . . . . . . . . . . . . . 13
2.2 Protocolli token . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.1 Single Packet . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.2 Single Token . . . . . . . . . . . . . . . . . . . . . . . 15
2.3 Protocolli Buffer Insertion . . . . . . . . . . . . . . . . . . . . 15

3 Standard Lan 17
3.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2 IEEE 802.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.3 Indirizzi MAC . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.4 Ethernet e 802.3 . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.4.1 Formati di trama . . . . . . . . . . . . . . . . . . . . . 19
3.4.2 Round Trip Delay . . . . . . . . . . . . . . . . . . . . 20
3.4.3 Parametri di progetto . . . . . . . . . . . . . . . . . . 21
3.4.4 Caratteristiche . . . . . . . . . . . . . . . . . . . . . . 22
3.5 Token Ring 802.5 . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.5.1 Formato di trama . . . . . . . . . . . . . . . . . . . . 23
3.5.2 FDDI . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.6 Reti di nuova generazione . . . . . . . . . . . . . . . . . . . . 25

4 Interconnessione di reti locali 27


4.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.2 Switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

III
IV INDICE

5 PHD-SDH-SONET 31

6 Configurazione di un host ip 35

7 Protocolli di Routing 37
7.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
7.2 Interior Routing Protocols . . . . . . . . . . . . . . . . . . . . 37
7.2.1 RIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
7.2.2 OSPF . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
7.3 Protocolli di routing esterno . . . . . . . . . . . . . . . . . . . 45
Dedicato a Valentina G.
perchè guardando i suoi
dolci occhi non si può
non essere felici!!!

CF
2 INDICE
Prefazione

Gli appunti sono realizzati a partire dagli appunti del corso.

Per ulteriori informazioni o segnalazioni di errori potete consultare il mio


sito http://claudiofiandrino.altervista.org o contattarmi all’indirizzo mail
reperibile dal sito alla sezione contacts & links.

3
4 INDICE
Capitolo 1

Analisi di Protocolli

1.1 Elenco di protocolli d’accesso


I principali protocolli di accesso si possono dividere in:

. protocolli deterministici (accesso ordinato);

. protocolli ad accesso casuale (o a contesa).

Per la prima categoria vista l’accesso è regolato con una sequenza predefinita
e gli utenti conoscono qual’è il loro turno; esiste un’ulteriore suddivisione:

. protocolli a multiplazione di canale: TDMA, FDMA, CDMA, SDMA;

. dinamici o protocolli a token.

La seconda categoria comprende:

. protocolli Aloha e Slotted Aloha;

. CSMA nelle versioni:

. 0-persistente (utilizzata in 802.11 - CSMA-CA);


. 1-persistente;
. p-persistente;

. CSMA-CD (utilizzata in Ethernet).

1.2 Protocolli Aloha e Slotted-Aloha


In un flow chart si modelizza la trasmissione mediante questi protocolli nei
seguenti passi:

5
6 CAPITOLO 1. Analisi di Protocolli

Ho un pacchetto da trasmettere

Trasmetto il pacchetto

Aspetto l’ack Attendo un tempo casuale

No
Ricevo l’ack?

Si

END

1.2.1 Ipotesi al calcolo del Throughput


Per effettuare un modello abbastanza realistico si parte da queste ipotesi:

. il canale deve essere condiviso da un numero infinito di utenti;

. l’infinità di utenti genera, nel complesso, un nuovo pacchetto di durata


temporale fissa pari a T secondo un processo di Poisson a tasso λ ‡ ;

. la trasmissione ha esito noto immediatamente dopo essere finita;

. l’evento trasmissione di un pacchetto sul canale è un processo di Pois-


son a tasso g.

Il rapporto fra i tassi è:


g>λ

Infatti:

. λ è il tasso del numero di pacchetti che si vogliono trasmettere;

. g è il tasso dei pacchetti che effettivamente vengono trasmessi, quindi


comprende anche i pacchetti che devono essere ritrasmessi in seguito
a collisioni.

Affinchè questa proprietà sia vera è necessario che gli utenti si comportino in maniera
indipendente.
1.2. Protocolli Aloha e Slotted-Aloha 7

1.2.2 Calcolo del Throughput


Il throughput è per definizione la quantità di tempo del canale occupata da
trasmissioni che avvengono con successo.
Considerando la normalizzazione rispetto alla durata di un pacchetto T si
ottiene il throughput normalizzato che assume il simbolo S.

Una trasmissione ha successo se durante il periodo di tempo 2T , detto anche


periodo di vulnerabilità, non ci sono trasmissioni:

t0 − T t0 t0 + T t
2T

La probabilità di successo è la probabilità che non ci siano trasmissioni nel


periodo 2T quindi è:
e −2 g T · (g T )k

P ( 0 eventi in 2T ) = = e −2g T
k!
k=0

Si indica con G = g T che rappresenta il traffico offerto normalizzato rispetto


alla durata del pacchetto, quindi:
P ( 0 eventi in 2T ) = e −2G
Si caratterizza il throughput come:
S = G‡ · e −2G‡
S
1
2e

Se il traffico offerto è basso viene smaltito molto bene; l’efficienza massima


è però soltanto del 18% e successivamente all’aumentare del traffico offerto
il traffico smaltito sarà via via minore: ci saranno pertanto molte collisioni.

Considerando il protocollo Slotted Aloha il periodo di vulnerabilità non è


più 2T , ma solo T :

t0 − T t0 t0 + T t
T
‡ ‡
Trasmissione. Probabilità di effettuare una trasmissione con successo.
8 CAPITOLO 1. Analisi di Protocolli

Infatti ogni utente che vuole trasmettere deve aspettare lo slot temporale
successivo quindi si ha collisione solo se più utenti effettuano la decisione
di trasmettere contemporaneamente: in questo modo nello slot successivo ci
saranno più trasmissioni sovrapposte.
In questo caso la probabilità di trasmissione con successo è:

P ( 0 eventi in T ) = e −G

Analogamente:
S = G · e −G
S
1
e

Aloha è un protocollo instabile perchè nella parte di grafico colorata:

S
1
e

se aumenta il traffico offerto il traffico smaltito risulta minore: di conse-


guenza aumentano le ritrasmissioni da effettuare e quindi il traffico offerto,
ma tale comportamento riduce ancora più il traffico smaltito e il sistema
collassa.

1.2.3 Ipotesi al calcolo del Ritardo


Un modello realistico parte da queste ipotesi:

. ciò che avviene in ciascuno slot è indipendente da ciò che accade negli
slot adiacenti: trasmissioni in slot diversi sono indipendenti;

. in ogni slot il processo è di Bernoulli e la probabilità di trasmissione


S
con successo è p = e −G = ;
G
. il numero di tentativi che si devono fare per avere successo è una
variabile geometrica:
S G
E[NT ] = 1 − =
G S
1.2. Protocolli Aloha e Slotted-Aloha 9

1.2.4 Calcolo del ritardo


Il valor medio del tempo di accesso di una trasmissione con successo è dato
da:
T
E[tacc ] = ‡ + T ‡
2
Il valor medio del tempo di accesso di una trasmissione con collisione è dato
da:  
T‡ ‡ ‡ G
− 1 ‡ + T†

E[tacc ] = + T + E[κ · θ] ·
2 S

Se si fa cadere l’ipotesi per cui si conosce l’esito della trasmissione imme-


diatamente è necessario tenere conto del tempo di propagazione fra i nodi
definito con δ. L’esito della trasmissione quindi è noto dopo un tempo 2 δ.
In questo caso il valor medio del tempo di accesso di una trasmissione con
collisioni è:
 
T G
E[tacc ] = + (T + 2 δ + E[κ · θ]) · −1 +T +δ
2 S

Normalizzando rispetto al periodo di un pacchetto:


   
1 θ G
E[tacc ] = + 1 + 2 a + E[κ] · · −1 +1+a
2 T S

δ
dove a = .
T
Il ritardo è una metrica fondamentale nei protocolli a contesa perchè re-
gola appunto la contesa; il parametro fondamentale è a: se è piccolo allora
il tempo di propagazione è piccolo rispetto alla durata del pacchetto e il
protocollo funziona bene altrimenti no.

1.2.5 Slotted Aloha con popolazione finita


Considerando N utenti indipendenti cade l’ipotesi della popolazione infinita
che introducono pacchetti quindi non è più possibile applicare il processo di
Poisson: ogni utente infatti ha un comportamento diverso, un’individualità
che è fondamentale prendere in considerazione mentre nel caso di popola-
zione infinita si può assumere che comportamenti diversi si perdono nella
moltitudine degli utenti.

Tempo medio che occorre aspettare per la trasmissione ‡ Durata di uno slot ‡ Tempo

medio che occorre aspettare per la trasmissione Numero di tentativi in cui si ha

insuccesso. Tempo dell’ultima trasmissione che ha successo.
10 CAPITOLO 1. Analisi di Protocolli

Modello di un singolo utente


. Si considera come successo l’evento che rappresenta la trasmissione del-
l’utente sul canale, sia essa una nuova trasmissione o una ritrasmissione
dovuta a collisioni.
. Si considera l’insuccesso l’evento contrario, ossia quando il canale è
libero.
La distribuzione è di Bernoulli e si applica ad ogni slot.

Si definisce:
Gm = la probabilità che un utente m trasmetta in uno slot
Il numero medio di pacchetti per slot trasmessi da m è dato da:
Rm = 1‡ · Gm + 0‡ · (1 − Gm ) = Gm
Il traffico normalizzato per slot invece è:
N
X
G= Gm
m=1
Il throughput normalizzato per slot è:
N
X
S= Sm
m=1
dove Sm è il throughput normalizzato per slot per utente. Con un ragiona-
mento analogo al precedente si desume che Sm è anche il numero medio di
pacchetti trasmessi in uno slot con successo dall’utente m−esimo quindi la
probabilità che m trasmetta con successo è:
N
Y
Sm = Gm (1 − Gj )
j=1 j6=m

ovvero la probabilità congiunta che trasmetta solo m e tutti gli altri no.

Ipotizzando che gli N utenti abbiano lo stesso comportamento:


G
Gm =
N
ossia ogni utente genera la stessa quantità di traffico, si ottiene:
G N −1
 
G
Sm = · 1−
N N
Quindi:
 N −1
G
S =G· 1−
N
‡ ‡
Trasmissione con successo. Trasmissione con insuccesso.
1.2. Protocolli Aloha e Slotted-Aloha 11

Osservazioni Esistono due casi notevoli:


. N =1 =⇒ S=G è il caso in cui l’utente è unico quindi
il traffico offerto è esattamente quello smaltito;

. considerando invece:
lim S = G · e −G
N −→∞
è il caso già visto in cui si prende in esame come ipotesi la popolazione
infinita.
É importante notare che i modelli pur partendo da ipotesi differenti hanno
lo stesso risultato quindi sono compatibili.

Considerando la derivata:
 N −2
∂S G
= 1− · (1 − G)
∂G N
La derivata è uguale a 0 solo in due condizioni:
(
G=N
G=1

Nel primo caso Gm = 1 perchè tutti gli utenti stanno trasmettendo contem-
poraneamente nello stesso slot quindi il throughput sarà nullo; nel secondo
caso, invece, si ha il massimo dell’efficienza perchè la probabilità di trasmis-
1
sione è pari a : utenti diversi possono trasmettere in slot diversi senza
N
collidere.

Caso particolare per due utenti Il traffico totale è dato dalla somma
dei traffici dei singoli utenti:

1 = G1 + G2

Il throughput vale:

S = G1 · (1 − G2 )‡ + G2 · (1 − G1 )‡

Quindi:
G2 = 1 − G1
Sostituendo:

S|max = G1 · [1 − (1 − G1 )] + (1 − G1 ) · (1 − G1 ) = G21 + (1 − G1 )2

‡ ‡
Traffico del primo utente. Traffico del secondo utente.
12 CAPITOLO 1. Analisi di Protocolli
Capitolo 2

Protocolli ad accesso
ordinato

Tali protocolli sono creati al fine di poter allocare in maniera deterministica


le risorse ed evitare le collisioni.

Esistono sostanzialmente due grandi famiglie di algoritmi che realizzano


l’accesso ordinato:

. algoritmi centralizzati danno vita a protocolli di polling;

. algoritmi distribuiti danno vita a protocolli token e buffer insertion.

2.1 Protocolli di Polling


I protocolli polling operano con due categorie di stazioni:

. una stazione master ;

. più stazioni slave.

La stazione master riceve le informazioni delle stazioni slave interrogandole


a turno; viene usata una suddivisione delle risorse di tipo TDMA.

I vantaggi di questo tipo di protcollo sono:

. facile gestione delle priorità;

. controllo sui ritardi;

. allocazione di banda permessa.

Gli svantaggi sono:

. elevata esposizione della rete a collasso se si guasta la stazione master;

13
14 CAPITOLO 2. Protocolli ad accesso ordinato

. elevata overhead dovuto a messaggi di polling;

. ritardi di accesso a basso carico.

2.2 Protocolli token


I protocolli token prevedono la possibilità di trasmissione da parte di un
utente solo se è in possesso di un token; il token è un segnale di controllo
che gli utenti devono far circolare sulla rete continuamente perciò sono am-
messe solo topologie ad anello (fisiche o anche logiche).

I vantaggi dei protocolli token sono essenzialmente gli stessi dei protocolli a
polling:

. controllo sui ritardi;

. possibile gestione delle priorità;

. allocazione di banda.

Gli svantaggi, invece, sono:

. overhead dovuto al token;

. gestione del token: generazione, eventuale rigenerazione se viene perso;

. tempo di passaggio del token se nessuna stazione trasmette;

. gestione dell’anello logico se la topologia fisica non lo è: inserzione di


una nuova stazione, rimozione, ecc...

Esistono due versioni di protocolli token:

. single packet;

. single token.

2.2.1 Single Packet


Nella versione single packet una stazione che deve trasmettere compie queste
operazioni:

. prelevare il token dall’anello;

. effettuare la trasmissione del pacchetto che deve inviare;

. trattenere il token fino a quando non riceve indietro il suo pacchetto;

. estrarre il pacchetto dalla rete e rilasciare il token.


2.3. Protocolli Buffer Insertion 15

In questo modo esiste un solo pacchetto sulla rete e, per evitare che resti
per un tempo indefinito, la rimozione viene realizzata proprio dalla stazione
che lo ha trasmesso. Il token invece non circola quando ci sono pacchetti in
fase di propagazione.

2.2.2 Single Token


Con il single token la stazione che vuole trasmettere deve:

. prelevare il token dall’anello;

. effettuare la trasmissione del pacchetto che deve inviare rilasciando


immediatamente il token;

. estrarre il primo pacchetto dalla rete che riceve perchè è sicuramente


quello che ha trasmesso.

In questo caso sulla rete possono circolare più pacchetti di stazioni diverse
contemporaneamente assieme ad un unico token.

Le prestazioni delle due versioni sono molto differenti:

. il single packet è meno efficiente perchè viene trasmesso un solo pac-


chetto per volta sulla rete e il tempo di passaggio del token è almeno
sempre pari ad un RTT;

. il single token è più efficiente, ma meno robusto a pacchetti spuri


sull’anello.

Rispetto ai protocolli ad accesso casuale, token ring:

. fornisce alto throughput;

. il ritardo massimo d’accesso è controllato, ma maggiore a basso carico;

. può gestire le priorità;

. se il token viene perso si blocca la rete.

2.3 Protocolli Buffer Insertion


É un protocollo d’accesso realizzato esclusivamente per reti locali con tipo-
logie ad anello, dove ogni nodo della rete funge da repeater e la sua trasmis-
sione avviene inserendo il proprio pacchetto come buffer sul percorso dei dati.

L’inserzione viene immessa nel buffer di transito solo se lo spazio libero è


maggiore delle dimensioni effettive del pacchetto perciò la dimensione mini-
ma del buffer deve essere almeno pari a quella di un pacchetto di dimensioni
16 CAPITOLO 2. Protocolli ad accesso ordinato

massime, altrimenti non ci potranno essere trasmissioni.

Il buffer viene svuotato grazie agli spazi tra i pacchetti, ma se una stazione
a monte trasmette continuamente di fatto impedisce ogni comunicazione de
stazioni a valle in quanto, queste, vedranno sempre il buffer pieno. Servono
quindi meccanismi di ripristino dell’equità, come Metaring.

Rispetto ai protocolli a token il controllo di equità e dei ritardi di acces-


so è più difficile e la rimozione di pacchetti dalla rete può avvenire alla
destinazione, anzichè alla sorgente del pacchetto stesso, permettendo quindi
un riuso di parte delle risorse trasmissive.
Capitolo 3

Standard Lan

3.1 Introduzione
Nelle reti locali il livello 2 dlla pila OSI è suddiviso in:
. strato MAC (Medium Access Control);
. strato LLC (Logical Link Control).
Le funzioni del livello 2 sono:
. delimitazione di trama (effettuata dal sottostrato MAC);
. multiplazione (IEEE 802.2 LLC / Mac Ethernet);
. rilevazione d’errore (sottostrato MAC);
. correzione d’errore (sottostrato LLC);
. indirizzamento (identificazione scheda da parte del sottostrato MAC
mentre la multiplazione in LLC);
. controllo di flusso (sottostrato LLC).

3.2 IEEE 802.2


LLC è un protocollo ispirato ad HDLC per reti locali, le cui principali
caratteristiche sono:
. non si utilizzano delimitatori;
. non si effettua controllo di errore, solo correzione;
. i pacchetti hanno dimensioni variabili;
. le PDU contengono sia indirizzo sorgente che destinazione;
. si effettua multiplazione di più protocolli di livello superiore.

17
18 CAPITOLO 3. Standard Lan

Formato PDU
Le PDU di LLC sono formate da:

. 8 bit di indirizzo destinazione;

. 8 bit di indirizzo sorgente;

. 8/16 bit di controllo (8 bit nelle PDU non numerate);

. 8 · M bit di informazione.

La dimensione massima dei pacchetti dipenda da quali vincoli impone il sot-


tostrato 802.3.

LLC offre al livello superiore tre tipi di servizi:

. Unacknowledged Connectionless Service (preferito da TCP/IP);

. Connection Oriented Service;

. Semireliable Service.

Per poter essere multiplati i protocolli di livello 3 hanno bisogno che le PDU
di livello 2 contengano al loro interno un campo Protocolo Type:

. in Mac Ethernet esiste un campo di questo tipo;

. in 802.3 i bit di PT vengono usati per indicare la lunghezza della trama


perciò LLC introduce una SNAP PDU con 5 Byte per specificare il tipo
di protocollo.

3.3 Indirizzi MAC


Gli indirizzi MAC sono formati da 6 Byte, dove:

. i primi tre identificano il costruttore;

. gli ultimi tre identificano, con una numerazione progressiva interna


alla casa produttrice, la macchina.

Gli indirizzi possono essere:

. unicast;

. broadcast;

. multicast:

. solicitation;
3.4. Ethernet e 802.3 19

. advertisement.
Quando una scheda riceve un pacchetto corretto:
. se l’indirizzo destinazione specificato è identico al suo lo accetta;
. se l’indirizzo destinazione è broadcast oppure multicast per cui la
scheda è abilitata alla ricezione, lo accetta;
. se non rientra nella casistica precedente lo scarta.

3.4 Ethernet e 802.3


Lo sviluppo di Ethernet è avvenuto prima di 802.3, ma i due protocolli in
sostanza differiscono solo per alcune caratteristiche tecniche del livello MAC
e fisico.

Le principali caratteristiche sono:


. utilizzo di CSMA-CD 1 persistente;
. presenza di collisioni, rilevate misurando la potenza media sul canale;

. quando si rileva una collisione contemporanea ad una trasmissione


viene inviata una sequenza di jamming (tramsessa a potenza molto
maggiore rispetto alle normali trasmissioni): in questo modo si inter-
rompono le trasmissioni sul canale e si avvertono tutte le stazioni della
rete dell’avvenuta collisione;

. dopo aver colliso le stazioni attendono un tempo casuale prima di


ritrasmettere: questo tempo è tanto maggiore quanto più è alto il
numero delle collisioni;
. quando si riceve un pacchetto corretto non seguono riscontri.

3.4.1 Formati di trama


Per quanto riguarda Ethernet:
. 7 Byte di preambolo (sequenza nota: 1010101): serve per la sincroniz-
zazione;

. 1 Byte di Start of Frame (SFD): un Byte posto a 1 per identificare


l’inizio di trama (si noti che il preambolo alternza uni e zeri: quando
si ricevono due uni consecutivi la trama vera e propria inizia);
. 6 Byte di indirizzo destinazione: è il primo campo utile perchè se non
coincide con quello della scheda si può immediatamente scartare il
pacchetto;
20 CAPITOLO 3. Standard Lan

. 6 Byte di indirizzo sorgente;


. 2 Byte di Protocolo Type (numero maggiore di 1500): serve per la
multiplazione;
. 46 − 1500 Byte di dati utili;
. 4 Byte di Frame Control Sequence;
. 12 Byte di IGP, Inter Packet Gap: delimitazione di trama.
Per quanto riguarda 802.3:
. 7 Byte di preambolo (sequenza nota: 1010101): serve per la sincroniz-
zazione;
. 1 Byte di Start of Frame (SFD): un Byte posto a 1 per identificare
l’inizio di trama (si noti che il preambolo alternza uni e zeri: quando
si ricevono due uni consecutivi la trama vera e propria inizia);
. 6 Byte di indirizzo destinazione: è il primo campo utile perchè se non
coincide con quello della scheda si può immediatamente scartare il
pacchetto;
. 6 Byte di indirizzo sorgente;
. 2 Byte di lunghezza trama (numero minore di 1500 per evitare conflitti
con Ethernet);
. 0 − 1500 Byte di dati utili;
. 0 − 46 Byte di padding: nel caso in cui si dovessero trasmettere pac-
chetti con dimensione minima inferiore ai canonici 46 Byte;
. 4 Byte di Frame Control Sequence;
. 12 Byte di IGP, Inter Packet Gap: delimitazione di trama.

3.4.2 Round Trip Delay


É un parametro che misura il tempo che intercorre fra le due estremità di
un cavo quando il segnale parte da una, raggiunge l’altra e torna indietro.

Analiticamente:
RTD = 2 · Tprop
Il RTD serve a capire quanto deve essere la dimensione minima di un
pacchetto:
min L‡
Dtrama ≥ RTD =⇒ ≥ 2 · Tprop
V

L rappresenta la durata spaziale della trama mentre V la velocità del canale.
3.4. Ethernet e 802.3 21

3.4.3 Parametri di progetto


Per progettare una rete locale è necessario:
. stimare il tempo di trasmissione affinchè sia superiore al RTD;

. stimare velocità del mezzo trasmissivo e dimensioni della rete determi-


nando cosı̀ la lunghezza minima della trama (dipende anche dall’IPG);

. stimare il diametro del Collision Domain.


Il Collision Domain è la porzione di rete per cui se due stazioni trasmettono
contemporaneamente collidono.

Repeater e Hub estendono il Collision Domain mentre Bridge e Switch se-


parano la rete in Collision Domain diversi.

Il diametro massimo di un Collision Domain in una rete a 10 Mbit/s è di


2800 m:
. dipende dalla lunghezza massima dei cavi e il numero di repeater
introdotti;

. dipende dal RTD.


In una rete a 10 Mbit/s:
. viene utilizzata la codifica Manchester (20 Mbit/s di clock);

. il massimo numero di stazioni che è possibile introdurre è 1024: espres-


so come potenza di 2 è 210 , infatti 10 è il numero massimo di incre-
menti del tempo casuale di backoff (dopo 16 tentativi la scheda va in
stand-by);

. possono essere usati repeater;

. a seconda del protocollo usato:

. in Ethernet se ci sono più di due repeater il preambolo non viene


agganciato correttamente;
. in 802.3 se ci sono più di due repeater e la trasmissione avviene
da parte della stessa sorgente l’IPG viene ad assumere dimensioni
minori;

. lo slot time minimo è di:


64 Byte · 8
= 51.2 µs
10 Mbit/s

. l’IPG dura 9.6 µs;


22 CAPITOLO 3. Standard Lan

. la sequenza di jamming dura da 32 a 48 bit;

. la dimensione massima del pacchetto è di 1518 Byte;

. la dimensione minima del pacchettè è di 46 Byte.

Nostante il pacchetto minimo duri 51.2 µs lo standard è molto più restrittivo


imponendo un RTD massimo di 45 µs.

3.4.4 Caratteristiche
. Per avere poche collisioni è preferibile avere basso carico (al contrario
dei protocolli ad accesso ordinato).

. Il protocollo è semplice e distribuito.

. Non ha vincoli sul ritardo massimo, ma a basso carico il ritardo minimo


di accesso è minimo.

. É lo standard più diffuso quindi ha un costo accessibile.

. Non sono implementate funzionalità come la priorità nè conferme di


avvenuta ricezione.

3.5 Token Ring 802.5


Il protocollo 802.5 appartiene alla famiglia dei protocolli ad accesso ordinato
di tipo token; le caratteristiche principali sono:

. topologia ad anello (singolo anello logico e doppio anello fisico) e wiring


concentrator;

. velocità di trasmissione a 2, 4, 16 Mbit/s (le ultime due sono le più


diffuse);

. inserzione attiva (dati rigenerati);

. ogni stazione ha un repeater ed è impostata in modalità full duplex.

Il protocollo viene gestito in modalità single packet e sono presenti tre livelli
di priorità.

La cattura del token da parte di una stazione avviene con bufferizzazione:


data la presenza del repeater è necessario fare una copia locale del pacchetto
trasmesso, cambiare il bit che identifica il pacchetto come token e ultimare
la ripetizione. A questo punto la stazione può iniziare la trasmissione dei
propri dati.
3.5. Token Ring 802.5 23

Data la gestione single packet, la stazione prima di rilasciare il token, ricam-


biando il bit di prima, aspetta il ritorno del pacchetto che aveva inviato.
La stazione destinataria dei dati deve copiare, anche lei, il pacchetto in lo-
cale e settare un bit con funzione di ack nella trama che ripete.

La gestione del token avviene eleggendo una stazione monitor : se dopo un


tempo di timeout (TVX timer valid trasmission) la stazione monitor non
vede circolare il token sull’anello invia un messaggio (ring purge) per avver-
tire tutte le stazioni della perdita del token. Quando il ring purge torna alla
stazione monitor, questa può emettere un nuovo token.
Le altre funzionalità della stazione monitor sono:

. sincronismo della rete;

. inserimento del buffer di transito in cui le stazioni possono inserire di


dati;

. rimozione di frammenti di pacchetti dalla rete.

L’elezione a stazione monitor avviene con i seguenti passi:

. se le stazioni, dopo un tempo di timeout (TSM: timer stand-by moni-


tor) non rilevano una stazione monitor attiva iniziano la procedura;

. ogni stazione rivendica il diritto a essere la stazione monitor inviando


sulla rete il proprio token claim value (l’identificativo della stazione);

. ogni stazione che vede passare in rete un token claim value più basso
del suo lo ripete, altrimenti lo aggiorna con il suo;

. la stazione che vede tornare indietro il proprio token claim value di-
venta monitor.

Lo standard prevede anche una funzione di backup-monitor.

3.5.1 Formato di trama


La trama di 802.5 prevede:

. 1 Byte di delimitazione (Starting Delimiter);

. 1 Byte di Access Control: differenzia un token da un pacchetto normale


e gestisce le priorità;

. 1 Byte di Frame Control: specifica se la trama è una trama dati o di


controllo;

. 6 o 2 Byte di indirizzo destinazione;


24 CAPITOLO 3. Standard Lan

. 6 o 2 Byte di indirizzo sorgente;

. 4 − 17749 Byte di dati, se la trasmissione avviene a 16 Mbit/s;

. 4 − 4450 Byte di dati, se la trasmissione avviene a 4 Mbit/s;

. 4 Byte di Frame Control Sequence, FCS;

. 1 Byte di fine delimitazione (Ending Delimiter);

. 1 Byte di Frame Status: serve per inserire gli ack.

Per la gestione della priorità occorre agire sul campo Access Control ed esi-
stono tre livelli di priorità.
Se un nodo ha urgenza di trasmettere un pacchetto setta questo bit con
priorità massima: quando il token viene rilasciato dalla stazione che stava
trasmettendo, ignora ogni richiesta di trasmissione da parte di stazioni con
priorità più bassa di quella settata e considera solo i nodi con quel livello di
priorità. La responsabilità di riportare a livello originale la priorità è della
stazione che per prima ha innalzato il livello.

Token Ring introduce una notevole complessità rispetto a 802.3 o ad Ether-


net e un costo decisamente maggiore.

3.5.2 FDDI
Esiste un protocollo Token Ring su fibra ottica e prende il nome di FDDI:
Fiber Distributed Data Interface.
É implementato con topologie a doppio anello controrotante in modalità
single token.
Le principali caratteristiche sono l’elevata velocità e affidabilità e un ritardo
poco dipendente dalle dimensioni della rete.
L’uso più diffuso è stato quello di backbone di reti LAN.

Caratteristiche tecniche:

. velocità trasmissive:

. 125 Mbit/s a livello fisico;


. 100 Mbit/s a livello collegamento;
. codifica 4B5B;

. funzionamento half/full duplex;

. massimo numero di stazioni introducibili pari a 500;

. massima dimensione della rete pari a 100 km;


3.6. Reti di nuova generazione 25

. massima distanza fra due stazioni:


. 2 km per i LED;
. 40 km per i laser.
In presenza di interruzioni o guasti FDDI, sfruttando la presenza della to-
pologia con anello controrotante, richiude l’anello su se stesso, tagliando di
fatto la parte di rete guasta, ma garantendo il normale funzionamento nella
parte restante.

3.6 Reti di nuova generazione


Le caratteristiche di queste reti sono:
. maggiore velocità e affidabilità;
. minor costo;
Il cablaggio è strutturato con topologia a stella gerarchica dove il centro
stella può essere un hub o uno switch: in questo modo in caso di guasti è
facile riconoscere i problemi ed effettuare le relative riparazioni.

Usando come centro stella un switch si separano i domini di collisione; gli


instradamenti da realizzare in queste condizioni possono essere di tre tipi:
. cut through: si legge solo la destinazione e si invia il pacchetto;
. store and forward: si memorizza e si inoltra;
. fragment free: se si è verificata una collisione e quindi ci sono in re-
te frammenti di pacchetti (dimensioni minori di 64 Byte) questi non
vengono trasmessi.
Le reti LAN sono intrinsecamente half duplex, ma in presenza di uno swit-
ch può diventare full duplex dividendo cosı̀ la rete in più domini di collisione.

Per aumentare la velocità di trasmissione, poichè esiste una precisa relazione


che la lega al RTD, si può agire:
. aumentando la dimensione del pacchetto;
. riducendo la dimensione della rete;
. modificando il protocollo;
L’ultima è poco praticabile perchè non ci sarebbe compatibilità con le im-
plementazioni del protocollo già esistenti. Esistono due soluzioni:
. Fast Ethernet;
. 100 VGAnyLAN che però non ha avuto successo a livello commerciale.
26 CAPITOLO 3. Standard Lan

Ethernet a 100 Mbit/s o Fast Ethernet mantiene inalterato l’algoritmo


realizzato per 10 Base T e la dimensione dei pacchetti, ma riduce le dimen-
sioni della rete: la massima distanza fra due stazioni è 210 m; è assicurata
compatibilità con 10 Base T.

Ulteriori sviluppi hanno portato alle seguenti implementazioni.

Gigabit Ethernet usa 802.3 con CSMA-CD per avere compatibilità; sup-
porta sia half sia full duplex, ma in pratica viene usato solo in modalità full
duplex.
Aumentando di un fattore 10 la velocità rispetto a Fast Ethernet si è scelto
di non ridurre ulteriormente le dimensioni della rete, ma si è obbligati a
trasmettere i pacchetti a gruppi di 10 mantenendo cosı̀ soddisfatto il vincolo
di avere un collision domain di circa 200 m.

10 Gigabit Ethernet lo standard è IEEE 802.3an per doppino previsto


in sola modalità full duplex senza CSMA-CD. Non è più necessario regolare
l’accesso sul canale perchè lo scopo per cui è progettato è diverso: serve
come backbone di reti metropolitane, quindi per connessioni end to end.
Mantiene, tuttavia, compatibilità con 802.3 evitando, pertanto, conversioni
di protocolli.

100 Gigabit Ethernet lo standard ha come sigla 802.3ba in approvazione


nel 2010 e gestirà due possibili velocità:

. 40 Gbit/s;

. 100 Gbit/s.

Per ottenere tali velocità si realizzeranno trasmissioni in parallelo, gestendo


gli ovvi problemi di sincronizzazione.
Capitolo 4

Interconnessione di reti locali

4.1 Introduzione
L’interconnessione di reti locali è mirata a:

. aumentare l’area geografica della rete;

. separare i domini di collisione;

. aumentare il numero di utenti;

. permettere l’aumento delle prestazioni di rete.

Ad esempio, interconnettendo con uno switch due reti locali con capacità
100 Mbit/s, si ottiene una capacità teorica totale di 200 Mbit/s.

Gli apparati, a seconda del livello, si distinguono in:

. Repeater e Hub (livello 1);

. Bridge e Switch (livello 2).

É possibile introdurre una seconda distinzione in base al numero delle porte


che utilizzano:

. Repeater e Bridge (una porta di ingresso e una di uscita);

. Hub e Switch (dispositivi multiporta).

Apparati di livello superiore sono:

. router (livello 3);

. gateway (livello 7).

A livello 2, i dispositivi più usati sono gli switch.

27
28 CAPITOLO 4. Interconnessione di reti locali

4.2 Switch
Utilizzati in cablaggi strutturati, gli switch generalmente connettono una
stazione per porta.

Le proprietà di questi apparati sono:


. trasparenza: le stazioni non devono modificare il loro comportamento
se viene installato uno switch nella LAN;
. introducendo uno switch si separa la condivisione delle risorse comuni
della LAN, permettendo, però, un miglioramento delle prestazioni;
. può venire estesa la rete geografica (si parla di LAN estesa);
. si introduce più sicurezza separando il traffico;
. vengono introdotti problemi di equità;
. esistono ritardi di store and forward e, nel caso in cui il buffer di
memorizzazione sia pieno, ci possono essere perdite di pacchetti.
Affinchè uno switch possa indirizzare correttamente un pacchetto è neces-
sario che, all’interno della rete locale, ogni apparato abbia un indirizzo di
livello 2 unico.

Le procedure di instradamento più diffuse sono:


. transparent bridging: usa l’algoritmo di spanning tree e sfrutta il
comportamento trasparente degli switch;
. source routing: legato a token ring, prevede che ogni stazione conosca
la topologia.
Le funzioni principali degli switch sono:
. address learning: consiste nella creazione di una tabella contenente le
coppie porta dello switch-indirizzo destinazione;
. frame forwarding: ritrasmissione di trame ricevute da indirizzi di cui si
conosce la provenienza topologica sulla rete; in caso contrario lo switch
inoltra il pacchetto su tutte le porte meno quella da cui ha ricevuto il
pacchetto (si parla di flooding);
. esecuzione dell’algoritmo di spanning tree per eliminare anelli logici.

Address Learning
Gli indirizzi vengono inseriti dinamicamente nella tabella con l’algoritmo di
backward learning: si conosce una coppia indirizzo-porta quando quella
stazione è la sorgente di un pacchetto che attraversa lo switch.
4.2. Switch 29

Frame Forwarding
Quando uno switch riceve una trama corretta:
. se la destinazione è unicast:

. cerca in tabella a quale porta è associato;


. se la porta destinazione è identica a quella sorgente il pacchetto
viene scartato;
. se la porta destinazione è diversa da quella sorgente il pacchetto
viene inoltrato;
. se non conosce la porta destinazione effettua il flooding;

. se la destinazione è broadcast o unicast effettua il flooding.

Spanning Tree
L’algoritmo, standardizzato nel 1985 in 802.1d, crea un albero logico elimi-
nando gli anelli sulla topologia.
Tutto ciò viene realizzato bloccando alcune porte (stato di blocking) e man-
tenendo attive le altre (stato di forwarding).

L’algoritmo prevede i seguenti passi:


. identificazione di uno switch radice;

. selezione per ogni switch della porta radice, ovvero quella porta che
raggiunge lo switch radice con il costo minimo;

. selezione delle porte designate, quelle che collegano una LAN allo
switch radice a costo minimo attraverso uno switch intermedio attivo;

. blocco di tutte le porte che non sono porte radice o designate.


L’identificazione dello switch radice avviene in questo modo:
. quando uno switch si accende si dichiara radice inviando delle Bridge
PDU contenenti: bridge-id, port-id e costo;

. inizialmente ogni switch comunica agli altri con BPDU il proprio bridge-
id pensando di essere radice;

. se ad uno switch arriva una BPDU che gli annuncia un bridge-id mi-
nore, comunica agli altri in una BPDU la nuova radice, la porta e il
costo con cui raggiunge la radice;

. l’algoritmo converge quando tutti gli switch hanno determinato una


sola radice nella LAN.
30 CAPITOLO 4. Interconnessione di reti locali
Capitolo 5

PHD-SDH-SONET

L’attuale rete telefonica, le cui infrastrutture vengono usate per canalizzare


anche il traffico di altre reti, è basata sull’evoluzione delle gerarchie sincrone,
prima fra tutte PDH (Plesiochrous Digital Hierarchy).

PDH:
. supporta esclusivamente canali vocali a 64 kbit/s;
. non memorizza la trama, ma sfrutta precisi vincoli temporali di cam-
pionamento;

. esistono standard diversi per USA, Europa, Giappone perciò l’inter-


facciamento di queste aree deve avvenire con conversioni di protocolli.

Temporizzazioni dello standard americano


. campionamento a 8 kHz =⇒ 1 campione ogni 125 µs;
. una trama ogni 125 µs;

. 193 bit per trama (192 + 1 di segnalazione);


. 24 canali vocali raggruppati in una carrier T1;

. la carrier ha velocità: (24 · 8 + 1) · 8 kHz = 1.544 Mbit/s.

Gerarchia dello standard americano


. in una trama DS2 sono presenti 4 trame DS1-T1:

4 · 1.544 Mbit/s = 6.312 Mbit/s

. in una trama DS3 sono presenti 7 trame DS2:

7 · 6.312 Mbit/s = 44.736 Mbit/s

31
32 CAPITOLO 5. PHD-SDH-SONET

. in una trama DS4 sono presenti 6 trame DS3:

7 · 44.736 Mbit/s = 274.176 Mbit/s

In PDH ogni apparato ha un proprio orologio interno soggetto a derive: la


sincronizzazione, che è un elemento fondamentale, soffre di errori.
Si cerca di ovviare a questo problema con il meccanismo del bit stuffing: se
una stazione è più veloce di quella precedente dovrebbe anticipare la tra-
smissione; invece inserisce un bit, inutile alla trasmissione vera dei dati, di
stuffing, di cui segnala la presenza con il 193◦ bit disponibile per la segna-
lazione.
Risulta, quindi, da questa operazione, che la trama trasmessa effettivamente
è diversa da quella standard originata dal campionamento PCM.
33

I problemi di PDH sono:

. mancanza di flessibilità dovuta alla rigida suddivisione temporale ap-


plicata;

. mancanza di efficienza in quanto non esistono strumenti per monito-


rare le prestazioni;

. mancanza di mid-fiber-meet ossia uno standard comune a livello fisico.

Quando i gestori di rete capirono che PDH non era scalabile introdussero:

. SONET (americano);

. SDH (Europa, Giappone).

Gli standard prevedono:

. definizione di una gerarchia di multiplazione strutturata;

. definizione di tecniche di monitoraggio della rete e protezione di guasti;

. modalità di interfacciamento con il livello fisico;

. definizione di interfacce per interazione con altri protocolli che possono


usare SONET-SDH.

Stratificazione SONET-SDH
Esistono 4 livelli:

. Path Layer : gestisce connessioni end-to-end e ne controlla lo stato;

. Line Layer : multipla più connessioni path layer fra due nodi e gestisce
le fasi di protezioni e recupero guasti;

. Section Layer : definisce lungo il percorso le operazioni dei rigeneratori


e fra i rigeneratori stessi;

. Physical Layer : definisce come i bit vengono effettivamente trasmessi.

In PDH il sincronismo era molto labile perchè ogni nodo aveva un clock pro-
prio mentre in SONET-SDH ogni nodo riceve il sincronismo dalla stazione
precedente.
Nelle tratte, ogni 30/50 km, vengono posti dei rigeneratori con il compito di
controllare il livello section e possono inviare messaggi di segnalazione con
dei bit nella parte della trama section overhead.

La section overhead si occupa di:


34 CAPITOLO 5. PHD-SDH-SONET

. monitoraggio delle prestazioni di rete;

. framing;

. dedicare un canale di comunicazione per operazioni di amministazione


e manutenzione (OAM).

La line overhead:

. effettua il multipexing/instradamento;

. localizza i VT (Virtual Tributary: puntatori di dati identificati in


questa sezione).

Uno dei problemi della multiplazione è la gestione di tributari a velocità


diverse; anche in questo caso si usa il bit stuffing:

. positive stuffing: se la velocità di una stazione è più piccola viene


segnalata la presenza di un byte aggiuntivo (di stuffing) invertendo i
bit dispari del puntatore;

. negative stuffing: se la velocità di una stazione è più alta viene segna-


lato l’anticipo del puntatore invertendone i bit pari.
Capitolo 6

Configurazione di un host ip

Per poter accedere alla rete ogni host deve conoscere almeno:
. il proprio indirizzo ip;
. la netmask della sottorete a cui è collegato;
. l’indirizzo ip del default gateway per raggiungere gli host al di fuori
della propria sottorete.
Queste informazioni possono essere ottenute:
. staticamente, se vengono inserite manualmente o ricavate da file di
configurazione interno alla macchina;
. ricavate in modo dinamico dalla rete:
. in fase di configurazione;
. quando necessarie.
La configurazione statica è molto semplice, ma soggetta a notevoli svantaggi:
. se cambia la topologia o la configurazione di rete è necessario riconfi-
gurare tutti gli hosts;
. se si cambiano sottoreti o spostano host da una sottorete ad un’altra
occorre riconfigurare buona parte della rete;
. se cade un router default gateway di una sottorete occorre riconfigurare
tutta la sottorete affichè effettui consegna indiretta attraverso un altro
gateway.
La configurazione dinamica risolve questi inconvenienti, ma introduce più
complessità; le soluzioni adottate sono:
. RARP (Reverse ARP);
. BOOTP (Bootstrap Protocol);
. DHCP (Dynamic Host Configuration Protocol).

35
36 CAPITOLO 6. Configurazione di un host ip

RARP
Essenzialmente permette di ottenere, partendo da un indirizzo MAC (di li-
vello 2 quindi), un indirizzo IP (di livello 3).
Poichè gli hosts conoscono il proprio indirizzo MAC, durante il boot, pote-
vano configurare il prorpio indirizzo IP.

Le richieste RARP dovevano essere inoltrate ad un Server RARP presen-


te nella stessa sottorete dell’host da configurare perchè venivano inviate in
broadcast MAC.

Dei parametri necessari per la configurazione solo l’indirizzo ip dell’host


veniva assegnato.

BOOTP
Questo protocollo configura tutti i parametri necessari agli host usando il
broadcast ip nei messaggi inviati (tali messaggi sono incapsulati in UDP-
IP): in questo modo non è vincolante avere un Server BOOTP nella propria
sottorete come per RARP.

Quando un host si accende manda una richiesta per ottenere i parametri


di configurazione e il server, oltre a fornirglieli, gli comunica anche l’indiriz-
zo di una macchina dove si trovano altri files di configurazione.

Sia RARP sia BOOTP forniscono indirizzi ip in modo statico, con allo-
cazione permanente quindi con notevoli sprechi.

DHCP
Il protocollo è un’estensione di BOOTP e mantiene compatibilità in quanto,
per entrambi i protocolli, hosts e servers usano gli stessi numeri di porte
UDP (68 per gli hosts e 67 per i servers).

Le forti innovazioni introdotte sono:

. la possibilità di avere allocazioni di indirizzi non permanenti (lease di


durata finita);

. la possibilità di poter negoziare i parametri di configurazione.


Capitolo 7

Protocolli di Routing

7.1 Introduzione
Il routing sulla rete avviene grazie all’indirizzamento gerarchico: ogni router
non conosce tutte le possibili destinazioni. Routers di livello basso conosco-
no solo le sottoreti che riescono a raggiungere; salendo di livello, routers
di uno stesso ISP conoscono tutta la rete interna in modo generale perchè
informazioni dettagliate vengono girate ai routers più interni, di livello in-
feriore. Il meccanismo si ripete e, salendo via via di livello, si conoscono
sempre meno informazioni specifiche, ma solo generali.

Routers e LAN aggregati in regioni prendono il nome di Autonomous


System quando sono controllati dalla stessa amministrazione; in un AS:
. i routers interni usano protocolli di instradamento IGP (Interior Ga-
teway Protocol);
. esistono routers gateway che effettuano collegamenti fra vari AS e
usano protocolli di instradamento EGP (Exterior Gateway Protocol).
Poichè esistono due tipi di routing (interno con IGP ed esterno con EGP)
i confini fra gli AS devono essere chiari. Inoltre le caratteristiche delle due
tipologie sono diverse:
. se interni: metrica del percorso più breve;
. se esterni: metrica della politica migliore (può essere economica e
gestionale, ma anche orientata alla sicurezza del traffico).

7.2 Interior Routing Protocols


I protocolli di routing interno sono principalmente: RIP, OSPF, IS-IS.
Questi protocolli garantiscono la possibilità di inviare ai routers della rete
aggiornamenti automatici, sfruttando algoritmi:

37
38 CAPITOLO 7. Protocolli di Routing

. distance vector;

. link state.

A differenza dei protocolli EGP in cui lo standard è unico, gli Interior


Routing Protocols sono molto diversi fra loro:

. RIP implementa distance vector;

. OSPF implementa link state;

. IS-IS implementa link state con indirizzamento OSI.

7.2.1 RIP
Questo protocollo, nato presso Xerox PARC, presenta due versioni compa-
tibili fra loro:

. RIP v1;

. RIP v2.

RIP (Routing Information Protocol):

. implementa distance vector con metrica numero di hop;

. divide host attivi e passivi (host attivi sono routers);

. un router informa gli altri routers periodicamente (ogni 30 s) annun-


ciando le proprie tabelle di routing;

. se un router identifica un percorso a costo minore rispetto all’intrada-


mento che fa in quel momento, aggiorna la entry.

In generale, le proprietà degli algoritmi distance vector sono:

. scambio con i nodi (routers) vicini di:

. destinazioni raggiungibili;
. costo con cui raggiungere le destinazioni;

. quando un nodo (router) riceve un aggiornamento:

. aggiunge destinazioni che non conosceva;


. aggiorna la entry per cui il costo originario era maggiore;
. cambia instradamenti se sono più brevi (e a costo minore);
. ignora gli altri casi.
7.2. Interior Routing Protocols 39

É fondamentale propagare updates periodici anche se il costo non varia al-


trimenti, se ci fossero due percorsi per raggiungere la stessa sottorete uno
sarebbe ignorato: nell’ipotesi in cui quello usato nelle routing tables cadesse,
senza aggiornamenti periodici quella sottorete non sarebbe più raggiungibile.
Invece con updates periodici i routers si accorgono del nuovo instradamento
possibile.

Quando cade un link, infatti, i nodi provvedono ad impostare un costo


infinito per raggiungere tutte le destinazioni attraverso quel percorso.
Si crea un problema se cad un link e i costi delle topologie sono diversi;
ipotizzando che:
. la stazione X sia raggiungibile con costo 1 attraverso Y e costo 20
attraverso Z;

. le stazioni Y e H sono direttamente collegate con un link a costo 5;

. la stazione Z è collegata con Y con costo 1.


Se cade il link che collega X a Y si crea un loop fra Y e H che prende il nome
di bouncing effect: Y crede di poter raggiungere X attraverso H mentre H
crede di poter raggiungere X attraverso Y.
Questo palleggiamento accade perchè i costi dei link sono tutti inferiori ri-
spetto al costo del link X-Z: quando il bouncing effect termina tutti i nodi
della rete possono raggiungere X attraverso Z perchè i costi di tutti i link
saranno superiori a quello fra X-Z.

Considerando invece l’ipotesi di rottura di due link si assite al fenomeno


del counting to infinity. Se:
. le stazioni X e Y sono collegate;

. X è collegata a Z;

. Y è collegata a H;

. si rompono questi due link;


ciò che accade è un loop fra X e Y che arriva fino ad ∞ (il massimo numero
possibile nel conteggio).
Le soluzioni a questo problema sono:
. split horizon: se X usa Y per raggiungere Z, X non comunica a Y che
raggiunge Z attraverso di lui;

. split horizon with poisonous reverse: X comuncica a Y che raggiunge


Z a costo infinito spezzando un eventuale loop fra le due stazioni.
Tali soluzioni non rompono anelli formati da più di due nodi.
40 CAPITOLO 7. Protocolli di Routing

RIP v1
In questa versione:

. gli indirizzi sono su 32 bit (classico indirizzo ip);

. indirizzamento a classi;

. metrica in base al numero di hop:

. 0 − 15 normalmente;
. 16 per indicare il costo ∞;

. sono supportati canali punto-punto e broadcast;

. si usa UDP come livello trasporto;

. i distance vector sono emessi ogni 30 s normalmente;

. se una entry non riceve aggiornamenti dopo 180 s si imposta il costo a


∞ e successivamente viene rimossa dalla routing table.

Formato PDU Il formato è composto da:

. 8 bit usati per specificare request code oppure response code: la request
sollecita i routers ad annunciare le loro routing tables ad un router che
si è appena acceso; la response corrisponde al normale update inviato
periodicamente;

. 16 bit di Address Family Identifier per specificare il tipo di rete;

. 32 bit di indirizzo ip;

. 32 bit di metrica;

. diversi campi Must be zero usati nella versione successiva.

Funzionamento La trasmissione viene fatta in broadcast ip con response


message e la sorgente specifica il proprio indirizzo; ogni messaggio contiene
i distance vector ed è inviato ogni 30 s. In ricezione si elaborano tutte le
entry ricevute.

Se durante la ricezione viene cambiata la routing table si manda un up-


date a tutti i nodi dopo un tempo causale [1, 5] s; si è deciso di aspettare un
tempo casuale per:

. poter eventualmente sommare altri update;

. limitare il traffico in rete.


7.2. Interior Routing Protocols 41

Le entry a costo infinito vengono segnalate una sola volta, poi vengono ele-
minte dalla routing table.

I messaggi di request sono inviati quando un nuovo nodo attivo si accende


e come unica entry nella propria routing table possiede 0.0.0.0; i messaggi
di risposta ad una request vengono inviati in unicast.

RIP v2
É un aggiornamento della versione 1 che apporta queste modifiche e aggiun-
te:

. routing con netmask anzichè classi;

. autenticazione;

. trasmissione in multicast dei distance vector.

Esiste compatibilità con la prima versione perchè le nuove funzionalità sono


implementate nei campi che in RIP v1 sono Must be zero: perciò un pac-
chetto inviato da un router con RIP v2 con questi campi a zero può essere
decodificato da un router con RIP v1.

Per ridurre il problema di sincronizzazione di RIP v1 dovuto agli update


(si aspetta un tempo casuale molto piccolo) RIP v2 li invia dopo un tempo
di attesa distribuito con probabilità uniforme fra 15 e 45 s.

7.2.2 OSPF
OSPF (Open Shortest Path First Protocol) è basato su link state con le
seguenti funzionalità di base:

. definizione di adiacenze;

. compilazione del database attraverso flooding;

. distribuzione di informazioni realtive link esterni;

. supporto di routing gerarchico.

Negli algoritmi link state:

. ogni nodo invia le informazioni dei costi a tutti gli altri nodi;

. ogni nodo si costruisce la topologia di rete;

. ogni nodo, data la topologia, calcola i percorsi a costo minimo con


l’algoritmo di Dijkstra.
42 CAPITOLO 7. Protocolli di Routing

In OSPF, per evitare un’enorme quantità di messaggi scambiati per la crea-


zione della topologia, si elegge un router designato e ogni altro nodo stabi-
lisce le adiacenze verso di esso.
I messaggi, che informano la rete di cambiamenti, vengono inviati periodica-
mente, con flooding, ogni 30 minuti: OSPF è infatti un algoritmo fortemente
centralizzato, a differenza di RIP, per cui richiede meno aggiornamenti.

I nodi che ricevono un messaggio:

. controllano se hanno già ricevuto un messaggio con quel numero di


sequenza da quel router;

. in caso affermativo scartano tale pacchetto;

. in caso negativo effettuano flooding;

. in entrambi i casi inviano un ACK alla sorgente.


A seconda della topologia di rete:

. se è broadcast:

. un router che deve mandare un aggiornamento lo trasmette solo


all’indirizzo multicast dei routers designati (224.0.0.6);
. un router designato può notificare tale aggiornamento a tutti i
routers OSPF inviando il pacchetto all’indirizzo multicast 224.0.0.5;

. se è punto-punto:

. un router che deve inviare un aggiornamento lo invia solo al router


designato;
. il router designato invia copie separate dell’aggiornamento a tutti
i routers.

Il routing avviene a due livelli con l’uso di diverse aree OSPF; questo
comporta:

. una riduzione della dimensione delle routing tables;

. la topologia di un’area è nascosta alle altre;

. ogni area ha un proprio database;

. la necessità di avere dei routers che connettono le varie aree (questi


routers prendono il nome di ABR, Area Border Router).

I messaggi, chiamati LSA (Link State Advertisement), contengono i LS re-


cord che formano il database e rappresentanon la topologia.
La trama di un LS record è formata da:
7.2. Interior Routing Protocols 43

. LS age: tempo trascorso dall’ultimo aggiornamento;

. Options: fra gli altri compiti, può impostare routing TOS (Type Of
Service), la priorità in ip;

. LS type: identifica il tipo di link annunciato; esistono:

. LS1: link del router (tutti lo possono memorizzare);


. LS2: indirizzi dei routers che hanno adiacenze con lui (lo possono
memorizzare solo i routers designati);
. LS3: può essere memorizzato solo da ARB e indica quale reti
conosce l’ARB in questione;
. LS4: anche questo può essere memorizzato solo da ARB e rap-
presenta tutti gli ARB che conosce l’ARB in questione;
. LS5: memorizzato solo da ARB identifica le reti esterne raggiun-
gibili.

. link state ID: indirizzo ip del link annunciato;

. advertising router: indirizzo ip del router che ha inviato l’annuncio;

. LS sequence number: aggiornato ad ogni annuncio;

. LS checksum: controllo d’errore.

Quando tutti i database sono riempiti e sincronizzati vengono calcolati i


percorsi migliori con l’algoritmo di Dijkstra; le metriche sono intere e incre-
mentative: valori bassi corrispondono ai percorsi migliori.
Possono essere calcolate tenendo conto di costi, banda e ritardi e, per link
bidirezionali, possono essere diverse.

Il protocollo OSPF è composto da:

. protocollo HELLO;

. protocollo EXCHANGE;

. protocollo FLOODING.

Il protocollo HELLO:

. è usato per controllare che i link siano operativi;

. è usato per eleggere il router designato e il suo backup;

. invia pacchetti ogni n secondi;

. specifica:
44 CAPITOLO 7. Protocolli di Routing

. indirizzo del router designato e del suo backup;


. indirizzi dei routers vicini da cui ha ricevuto un pacchetto HELLO
nell’ultimo dead interval.

Il protocollo EXCHANGE:

. è usato per la sincronizzazione iniziale dei database dei nodi;

. imposta lo scambio di messaggi in modalità master/slave, ossia chi


invia un pacchetto diventa master mentre chi lo riceve è lo slave;

. ogni messaggio si diversifica a seconda del flag usato:

. I: initialize;
. M: more;
. MS: master/slave.

. i messaggi regolano le procedure di sincronizzazione;

. ogni messaggio, inoltre, include:

. gli LS record del database;


. un ack dei pacchetti di EXCHANGE ricevuti dalla direzione op-
posta.

Il protocollo FLOODING:

. è usato per:

. annunciare cambi di stato dei links;


. eseguire il refresh periodico dei LSA (che avviene ogni 30 minuti);

. ogni messaggio di FLOODING contiene più LSA ed è numerato con


un numero di sequenza;

. il nodo, se riceve un messaggio di FLOODING dallo stesso router e


con lo stesso numero di sequenza:

. lo scarta;
. se il numero di sequenza è diverso inoltra il messaggio su tutte le
porte meno quella sorgente (procedura di flooding tradizionale);
. comunque invia un ack alla stazione mittente.
7.3. Protocolli di routing esterno 45

7.3 Protocolli di routing esterno


Il primo protocollo introdotto fu EGP (Exterior Gateway Protocol), ma
quando dorsali e cammini multipli ebbero forte diffusione andò in crisi per-
chè, tra gli altri motivi, il suo funzionamento presupponeva topologie ad
albero.

Le funzionalità di EGP erano tre principali:


. neighbour acquisition: capacità di un router di accordarsi con i vicini
per comunicare;

. neighbour reachability: capacità di un router di controllare se i suoi


vicini sono attivi;

. network reachability: routers vicini si scambiano informazioni di rag-


giungibilità.
EGP non permette ai nodi di propagare come informazione la distanza fra
le reti, ma solo se sono raggiungibili o meno. Non supporta:
. strutture con dorsali multiple;

. load sharing;

. cammini alternativi;

. policy routing.
Inoltre, un problema importante, è dato dal fatto che, in presenza di routers
malfunzionanti (inviano route non vere), il protocollo entra i crisi.

Con la crescita della rete, e quindi un aumento della complessità della topo-
logia, EGP non era più sufficiente: è stato introdotto, allora, BGP (Border
Gateway Protocol).
BPG è un protocollo che implementa path vector (non si creano anelli), e
permette di determinare il cammino migliore, in un contesto di possibili scel-
te multiple, attraverso opportune politiche di instradamento. Tali politiche
tengono conto di:
. fattori economici;

. fattori gestionali;

. sicurezza.
Path vector:
. implementa un routing update contenente un elenco di AS necessari
per raggiungere una destinazione;
46 CAPITOLO 7. Protocolli di Routing

. se lo stesso AS compare un numero di volte maggiore di uno si riconosce


la presenza di un anello;

. i vantaggi sono:

. riconoscimento facile di anelli;


. possibilità di avere metriche diverse per ogni router;

. lo svantaggio è rappresentato essenzialmente dall’elevato overhead:


esiste, infatti, una entry per ogni AS annunciato.

Si distinguono tre tipi di AS:

. stub AS : sono connessi ad un solo AS esterno e accettano solo scambio


di traffico locale;

. multihomed AD : sono connessi a più AS esterni e accettano solo scam-


bio di traffico locale;

. transit AS : connessi a più AS esterni, accettano anche traffico in


transito verso altri AS.

La comunicazione fra due routers che implementano BGP avviene con TCP
e i routers prendono il nome di BGP peers.
In una prima fase i routers di bordo di un AS scambiano le tabelle di in-
stradamento interne, stabilendo un BGP peering interno; in un secondo
momento vengono aperte connessioni con routers di bordo di altri AS, sta-
bilendo cosı̀ un BGP peering esterno.
Dopo queste fasi i peers inviano notifiche solo se ci sono modifiche sulla rete
(periodicamente vengono solo inviati messaggi di KEEPALIVE).

L’intestazione del pacchetto BGP contiene informazioni come:

. autenticazione;

. lunghezza del messaggio;

. tipo di messaggio:

. open;
. update;
. notification;
. keepalive.

I messaggi di UPDATE vengono inviati solo pera nnunciare un nuovo per-


corso possibile e per annullare percorsi inammissibili:
7.3. Protocolli di routing esterno 47

. percorsi annullati sono identificati attraverso l’indirizzo ip della desti-


nazione;

. percorsi nuovi sono identificati attraverso Path Attributes, che si rife-


riscono all’indirizzo ip della destinazione.

Le Path Attributes specificano inoltre diversi flags, tra cui AS PATH che:

. identifica gli AS attraversati dal messaggio di UPDATE;

. vincola un update ad avere solo l’ID del router stesso che lo ha gene-
rato;

. impone l’inoltro di un update ricevuto da routers esterni solo dopo che


il router attraversato ha aggiunto il proprio ID.

BGP memorizza i percorsi possibili in un RIB (Routing Information Base),


secondo una suddivisione di questo tipo:

. Adj Rib in: percorsi appena annunciati dai vicini;

. Loc Rib: percorsi predefiniti;

. Adj Rib out: percorsi appena annunciati ai routers vicini.

Il calcolo di un percorso ottimale avviene scegliendo fra gli Adj Rib in, in
tre passi:

. calcolo del grado di preferenza (secondo politiche locali);

. scelta del percorso (in base al grado di preferenza);

. diffusione dei percorsi.

Il grado di preferenza è espressione di:

. numero e qualità di AS da attraversare;

. politiche locali;

. origine del percorso;

. carico dei links;

. QoS (Quality of Service).

Per percorsi sovrapposti le varie destinazioni sono identificate dal campo


NLRI overlap.
Esistono due tipologie di percorsi sovrapposti:

. più specifici, se raggruppano un insieme piccolo di destinazioni;


48 CAPITOLO 7. Protocolli di Routing

. meno specifici, se raggruppano un insieme grande di destinazioni.

I percorsi sovrapposti possono essere gestiti:

. con aggregazione;

. accettandoli singolarmente.