Protocolli per trasmissione dati

Appunti

Fiandrino Claudio
2 settembre 2010

II

Indice
1 Analisi di Protocolli 1.1 Elenco di protocolli d’accesso . . . . . . . . 1.2 Protocolli Aloha e Slotted-Aloha . . . . . . 1.2.1 Ipotesi al calcolo del Throughput . . 1.2.2 Calcolo del Throughput . . . . . . . 1.2.3 Ipotesi al calcolo del Ritardo . . . . 1.2.4 Calcolo del ritardo . . . . . . . . . . 1.2.5 Slotted Aloha con popolazione finita 2 Protocolli ad accesso ordinato 2.1 Protocolli di Polling . . . . . 2.2 Protocolli token . . . . . . . . 2.2.1 Single Packet . . . . . 2.2.2 Single Token . . . . . 2.3 Protocolli Buffer Insertion . . 3 Standard Lan 3.1 Introduzione . . . . . . . . . . 3.2 IEEE 802.2 . . . . . . . . . . 3.3 Indirizzi MAC . . . . . . . . . 3.4 Ethernet e 802.3 . . . . . . . 3.4.1 Formati di trama . . . 3.4.2 Round Trip Delay . . 3.4.3 Parametri di progetto 3.4.4 Caratteristiche . . . . 3.5 Token Ring 802.5 . . . . . . . 3.5.1 Formato di trama . . 3.5.2 FDDI . . . . . . . . . 3.6 Reti di nuova generazione . . 5 5 5 6 7 8 9 9 13 13 14 14 15 15 17 17 17 18 19 19 20 21 22 22 23 24 25

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

4 Interconnessione di reti locali 27 4.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.2 Switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 III

IV 5 PHD-SDH-SONET 6 Configurazione di un host ip 7 Protocolli di Routing 7.1 Introduzione . . . . . . . . . 7.2 Interior Routing Protocols . 7.2.1 RIP . . . . . . . . . 7.2.2 OSPF . . . . . . . . 7.3 Protocolli di routing esterno

INDICE 31 35 37 37 37 38 41 45

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

Dedicato a Valentina G. perch` guardando i suoi e dolci occhi non si pu` o 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 e gli utenti conoscono qual’` il loro turno; esiste un’ulteriore suddivisione: e . 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 Ho un pacchetto da trasmettere

CAPITOLO 1. Analisi di Protocolli

Trasmetto il pacchetto

Aspetto l’ack

Attendo un tempo casuale

Ricevo l’ack?

No

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 a 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 Poise son a tasso g. Il rapporto fra i tassi `: e g>λ Infatti: . λ ` il tasso del numero di pacchetti che si vogliono trasmettere; e . g ` il tasso dei pacchetti che effettivamente vengono trasmessi, quindi e 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 e a e 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 e a 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: a
t0 − T t0 2T t0 + T

t

La probabilit` di successo ` la probabilit` che non ci siano trasmissioni nel a e a periodo 2T quindi `: e P ( 0 eventi in 2T ) = e −2 g T · (g T )k k! = e −2g T
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 G Se il traffico offerto ` basso viene smaltito molto bene; l’efficienza massima e ` per` soltanto del 18% e successivamente all’aumentare del traffico offerto e o il traffico smaltito sar` via via minore: ci saranno pertanto molte collisioni. a Considerando il protocollo Slotted Aloha il periodo di vulnerabilit` non ` a e pi` 2T , ma solo T : u
t0 − T T

t0

t0 + T

t

Trasmissione.

Probabilit` di effettuare una trasmissione con successo. a

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 u di trasmettere contemporaneamente: in questo modo nello slot successivo ci saranno pi` trasmissioni sovrapposte. u In questo caso la probabilit` di trasmissione con successo `: a e P ( 0 eventi in T ) = e −G Analogamente: S = G · e −G S 1 e G Aloha ` un protocollo instabile perch` nella parte di grafico colorata: e e S 1 e G se aumenta il traffico offerto il traffico smaltito risulta minore: di conseguenza aumentano le ritrasmissioni da effettuare e quindi il traffico offerto, ma tale comportamento riduce ancora pi` il traffico smaltito e il sistema u 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 o e o slot adiacenti: trasmissioni in slot diversi sono indipendenti; . in ogni slot il processo ` di Bernoulli e la probabilit` di trasmissione e a −G = S ; con successo ` p = e e G . il numero di tentativi che si devono fare per avere successo ` una e variabile geometrica: E[NT ] = 1 − S G = 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 e da: T E[tacc ] = ‡ + T ‡ 2 Il valor medio del tempo di accesso di una trasmissione con collisione ` dato e da: G T − 1 ‡ + T† E[tacc ] = ‡ + T ‡ + E[κ · θ]‡ · 2 S Se si fa cadere l’ipotesi per cui si conosce l’esito della trasmissione immediatamente ` necessario tenere conto del tempo di propagazione fra i nodi e definito con δ. L’esito della trasmissione quindi ` noto dopo un tempo 2 δ. e In questo caso il valor medio del tempo di accesso di una trasmissione con collisioni `: e E[tacc ] = T + (T + 2 δ + E[κ · θ]) · 2 G −1 +T +δ S

Normalizzando rispetto al periodo di un pacchetto: E[tacc ] = δ . T θ 1 + 1 + 2 a + E[κ] · 2 T · G −1 +1+a S

dove a =

Il ritardo ` una metrica fondamentale nei protocolli a contesa perch` ree e gola appunto la contesa; il parametro fondamentale ` a: se ` piccolo allora e e il tempo di propagazione ` piccolo rispetto alla durata del pacchetto e il e 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 e u Poisson: ogni utente infatti ha un comportamento diverso, un’individualit` a che ` fondamentale prendere in considerazione mentre nel caso di popolae zione infinita si pu` assumere che comportamenti diversi si perdono nella o moltitudine degli utenti.
Tempo medio che occorre aspettare per la trasmissione ‡ Durata di uno slot ‡ Tempo ‡ Numero di tentativi in cui si ha medio che occorre aspettare per la trasmissione † insuccesso. Tempo dell’ultima trasmissione che ha successo.

10 Modello di un singolo utente

CAPITOLO 1. Analisi di Protocolli

. Si considera come successo l’evento che rappresenta la trasmissione dell’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 ` e libero. La distribuzione ` di Bernoulli e si applica ad ogni slot. e Si definisce: Gm = la probabilit` che un utente m trasmetta in uno slot a Il numero medio di pacchetti per slot trasmessi da m ` dato da: e Rm = 1‡ · Gm + 0‡ · (1 − Gm ) = Gm Il traffico normalizzato per slot invece `: e
N

G=
m=1

Gm

Il throughput normalizzato per slot `: e
N

S=
m=1

Sm

dove Sm ` il throughput normalizzato per slot per utente. Con un ragionae mento analogo al precedente si desume che Sm ` anche il numero medio di e pacchetti trasmessi in uno slot con successo dall’utente m−esimo quindi la probabilit` che m trasmetta con successo `: a e
N

Sm = Gm
j=1 j=m

(1 − Gj )

ovvero la probabilit` congiunta che trasmetta solo m e tutti gli altri no. a Ipotizzando che gli N utenti abbiano lo stesso comportamento: G Gm = N ossia ogni utente genera la stessa quantit` di traffico, si ottiene: a Sm = Quindi: S =G· 1−

G G · 1− N N G N

N −1

N −1

Trasmissione con successo.

Trasmissione con insuccesso.

1.2. Protocolli Aloha e Slotted-Aloha Osservazioni Esistono due casi notevoli:

11

. N =1 =⇒ S=G ` il caso in cui l’utente ` unico quindi e e il traffico offerto ` esattamente quello smaltito; e . considerando invece:
N −→∞

lim S = G · e −G

` il caso gi` visto in cui si prende in esame come ipotesi la popolazione e a infinita. ´ E importante notare che i modelli pur partendo da ipotesi differenti hanno lo stesso risultato quindi sono compatibili. Considerando la derivata: ∂S = ∂G G 1− N
N −2

· (1 − G)

La derivata ` uguale a 0 solo in due condizioni: e G=N G=1 Nel primo caso Gm = 1 perch` tutti gli utenti stanno trasmettendo conteme poraneamente nello stesso slot quindi il throughput sar` nullo; nel secondo a caso, invece, si ha il massimo dell’efficienza perch` la probabilit` di trasmise a 1 : utenti diversi possono trasmettere in slot diversi senza sione ` pari a e N collidere. Caso particolare per due utenti Il traffico totale ` dato dalla somma e 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 ) = G2 + (1 − G1 )2 1

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. u 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`; a . 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 a utente solo se ` in possesso di un token; il token ` un segnale di controllo e e che gli utenti devono far circolare sulla rete continuamente perci` sono amo 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`; a . 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 e 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 ee quello che ha trasmesso. In questo caso sulla rete possono circolare pi` pacchetti di stazioni diverse u contemporaneamente assieme ad un unico token. Le prestazioni delle due versioni sono molto differenti: . il single packet ` meno efficiente perch` viene trasmesso un solo pace e chetto per volta sulla rete e il tempo di passaggio del token ` almeno e sempre pari ad un RTT; . il single token ` pi` efficiente, ma meno robusto a pacchetti spuri e u sull’anello. Rispetto ai protocolli ad accesso casuale, token ring: . fornisce alto throughput; . il ritardo massimo d’accesso ` controllato, ma maggiore a basso carico; e . pu` gestire le priorit`; o a . se il token viene perso si blocca la rete.

2.3

Protocolli Buffer Insertion

´ E un protocollo d’accesso realizzato esclusivamente per reti locali con tipologie ad anello, dove ogni nodo della rete funge da repeater e la sua trasmissione avviene inserendo il proprio pacchetto come buffer sul percorso dei dati. L’inserzione viene immessa nel buffer di transito solo se lo spazio libero ` e maggiore delle dimensioni effettive del pacchetto perci` la dimensione minio 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. a Rispetto ai protocolli a token il controllo di equit` e dei ritardi di accesa so ` pi` difficile e la rimozione di pacchetti dalla rete pu` avvenire alla e u o destinazione, anzich` alla sorgente del pacchetto stesso, permettendo quindi e 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: e . 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 e 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. u 17

18 Formato PDU Le PDU di LLC sono formate da: . 8 bit di indirizzo destinazione; . 8 bit di indirizzo sorgente;

CAPITOLO 3. Standard Lan

. 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 sottostrato 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 o 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 . advertisement. Quando una scheda riceve un pacchetto corretto: . se l’indirizzo destinazione specificato ` identico al suo lo accetta; e

19

. se l’indirizzo destinazione ` broadcast oppure multicast per cui la e scheda ` abilitata alla ricezione, lo accetta; e . 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 e 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 interrompono 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 e u e 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 sincronizzazione; . 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 e e coincide con quello della scheda si pu` immediatamente scartare il o pacchetto;

20 . 6 Byte di indirizzo sorgente;

CAPITOLO 3. Standard Lan

. 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 sincronizzazione; . 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 e e coincide con quello della scheda si pu` immediatamente scartare il o 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 pacchetti 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

´ E un parametro che misura il tempo che intercorre fra le due estremit` di a 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: L‡ min ≥ 2 · Tprop Dtrama ≥ RTD =⇒ V

L rappresenta la durata spaziale della trama mentre V la velocit` del canale. a

3.4. Ethernet e 802.3

21

3.4.3

Parametri di progetto

Per progettare una rete locale ` necessario: e . stimare il tempo di trasmissione affinch` sia superiore al RTD; e . stimare velocit` del mezzo trasmissivo e dimensioni della rete determia 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 e contemporaneamente collidono. Repeater e Hub estendono il Collision Domain mentre Bridge e Switch separano la rete in Collision Domain diversi. Il diametro massimo di un Collision Domain in una rete a 10 Mbit/s ` di e 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: esprese e so come potenza di 2 ` 210 , infatti 10 ` il numero massimo di incree e 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 u agganciato correttamente; . in 802.3 se ci sono pi` di due repeater e la trasmissione avviene u da parte della stessa sorgente l’IPG viene ad assumere dimensioni minori; . lo slot time minimo ` di: e 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; e . la dimensione minima del pacchett` ` di 46 Byte. ee

Nostante il pacchetto minimo duri 51.2 µs lo standard ` molto pi` restrittivo e u imponendo un RTD massimo di 45 µs.

3.4.4

Caratteristiche

. Per avere poche collisioni ` preferibile avere basso carico (al contrario e dei protocolli ad accesso ordinato). . Il protocollo ` semplice e distribuito. e . Non ha vincoli sul ritardo massimo, ma a basso carico il ritardo minimo di accesso ` minimo. e ´ . E lo standard pi` diffuso quindi ha un costo accessibile. u . Non sono implementate funzionalit` come la priorit` n` conferme di a a e 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` a u diffuse); . inserzione attiva (dati rigenerati); . ogni stazione ha un repeater ed ` impostata in modalit` full duplex. e a Il protocollo viene gestito in modalit` single packet e sono presenti tre livelli a di priorit`. a La cattura del token da parte di una stazione avviene con bufferizzazione: data la presenza del repeater ` necessario fare una copia locale del pacchetto e trasmesso, cambiare il bit che identifica il pacchetto come token e ultimare la ripetizione. A questo punto la stazione pu` iniziare la trasmissione dei o propri dati.

3.5. Token Ring 802.5

23

Data la gestione single packet, la stazione prima di rilasciare il token, ricambiando il bit di prima, aspetta il ritorno del pacchetto che aveva inviato. La stazione destinataria dei dati deve copiare, anche lei, il pacchetto in locale 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 avvertire tutte le stazioni della perdita del token. Quando il ring purge torna alla stazione monitor, questa pu` emettere un nuovo token. o Le altre funzionalit` della stazione monitor sono: a . 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 monitor) 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 u del suo lo ripete, altrimenti lo aggiorna con il suo; . la stazione che vede tornare indietro il proprio token claim value diventa 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`; a . 1 Byte di Frame Control: specifica se la trama ` una trama dati o di e controllo; . 6 o 2 Byte di indirizzo destinazione;

24 . 6 o 2 Byte di indirizzo sorgente;

CAPITOLO 3. Standard Lan

. 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 esia stono tre livelli di priorit`. a Se un nodo ha urgenza di trasmettere un pacchetto setta questo bit con priorit` massima: quando il token viene rilasciato dalla stazione che stava a 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 a u priorit`. La responsabilit` di riportare a livello originale la priorit` ` della a a ae stazione che per prima ha innalzato il livello. Token Ring introduce una notevole complessit` rispetto a 802.3 o ad Ethera 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. ´ E implementato con topologie a doppio anello controrotante in modalit` a single token. Le principali caratteristiche sono l’elevata velocit` e affidabilit` e un ritardo a a poco dipendente dalle dimensioni della rete. L’uso pi` diffuso ` stato quello di backbone di reti LAN. u e Caratteristiche tecniche: . velocit` trasmissive: a . 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 . massima distanza fra due stazioni: . 2 km per i LED; . 40 km per i laser.

25

In presenza di interruzioni o guasti FDDI, sfruttando la presenza della topologia 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`; a a . minor costo; Il cablaggio ` strutturato con topologia a stella gerarchica dove il centro e stella pu` essere un hub o uno switch: in questo modo in caso di guasti ` o e 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 ree 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 switch pu` diventare full duplex dividendo cos` la rete in pi` domini di collisione. o ı u Per aumentare la velocit` di trasmissione, poich` esiste una precisa relazione a e che la lega al RTD, si pu` agire: o . aumentando la dimensione del pacchetto; . riducendo la dimensione della rete; . modificando il protocollo; L’ultima ` poco praticabile perch` non ci sarebbe compatibilit` con le ime e a plementazioni del protocollo gi` esistenti. Esistono due soluzioni: a . Fast Ethernet; . 100 VGAnyLAN che per` non ha avuto successo a livello commerciale. o

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 dimensioni della rete: la massima distanza fra due stazioni ` 210 m; ` assicurata e e compatibilit` con 10 Base T. a Ulteriori sviluppi hanno portato alle seguenti implementazioni. Gigabit Ethernet usa 802.3 con CSMA-CD per avere compatibilit`; supa porta sia half sia full duplex, ma in pratica viene usato solo in modalit` full a duplex. Aumentando di un fattore 10 la velocit` rispetto a Fast Ethernet si ` scelto a e di non ridurre ulteriormente le dimensioni della rete, ma si ` obbligati a e 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 e in sola modalit` full duplex senza CSMA-CD. Non ` pi` necessario regolare a e u l’accesso sul canale perch` lo scopo per cui ` progettato ` diverso: serve e e e come backbone di reti metropolitane, quindi per connessioni end to end. Mantiene, tuttavia, compatibilit` con 802.3 evitando, pertanto, conversioni a di protocolli. 100 Gigabit Ethernet lo standard ha come sigla 802.3ba in approvazione nel 2010 e gestir` due possibili velocit`: a a . 40 Gbit/s; . 100 Gbit/s. Per ottenere tali velocit` si realizzeranno trasmissioni in parallelo, gestendo a gli ovvi problemi di sincronizzazione.

Capitolo 4

Interconnessione di reti locali
4.1 Introduzione

L’interconnessione di reti locali ` mirata a: e . 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` a 100 Mbit/s, si ottiene una capacit` teorica totale di 200 Mbit/s. a Gli apparati, a seconda del livello, si distinguono in: . Repeater e Hub (livello 1); . Bridge e Switch (livello 2). ´ E 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. u 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: a . 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; o . pu` venire estesa la rete geografica (si parla di LAN estesa); o . si introduce pi` sicurezza separando il traffico; u . vengono introdotti problemi di equit`; a . 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 ` necese e sario che, all’interno della rete locale, ogni apparato abbia un indirizzo di livello 2 unico. Le procedure di instradamento pi` diffuse sono: u . 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. e

4.2. Switch Frame Forwarding Quando uno switch riceve una trama corretta: . se la destinazione ` unicast: e . cerca in tabella a quale porta ` associato; e

29

. se la porta destinazione ` identica a quella sorgente il pacchetto e viene scartato; . se la porta destinazione ` diversa da quella sorgente il pacchetto e viene inoltrato; . se non conosce la porta destinazione effettua il flooding; . se la destinazione ` broadcast o unicast effettua il flooding. e Spanning Tree L’algoritmo, standardizzato nel 1985 in 802.1d, crea un albero logico eliminando gli anelli sulla topologia. Tutto ci` viene realizzato bloccando alcune porte (stato di blocking) e mano 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 bridgeid pensando di essere radice; . se ad uno switch arriva una BPDU che gli annuncia un bridge-id minore, 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, e 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 campionamento; . esistono standard diversi per USA, Europa, Giappone perci` l’intero facciamento di queste aree deve avvenire con conversioni di protocolli. Temporizzazioni dello standard americano . campionamento a 8 kHz . 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. a 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 =⇒ 1 campione ogni 125 µs;

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. e Si cerca di ovviare a questo problema con il meccanismo del bit stuffing: se una stazione ` pi` veloce di quella precedente dovrebbe anticipare la trae u 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 segnalazione. Risulta, quindi, da questa operazione, che la trama trasmessa effettivamente ` diversa da quella standard originata dal campionamento PCM. e

33 I problemi di PDH sono: . mancanza di flessibilit` dovuta alla rigida suddivisione temporale apa plicata; . mancanza di efficienza in quanto non esistono strumenti per monitorare 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; a . 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 u 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 proe 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` e a diverse; anche in questo caso si usa il bit stuffing: . positive stuffing: se la velocit` di una stazione ` pi` piccola viene a e u 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 segnaa e u 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; e . 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: e . se cambia la topologia o la configurazione di rete ` necessario riconfie 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 e gateway. La configurazione dinamica risolve questi inconvenienti, ma introduce pi` u complessit`; le soluzioni adottate sono: a . RARP (Reverse ARP); . BOOTP (Bootstrap Protocol); . DHCP (Dynamic Host Configuration Protocol). 35

36 RARP

CAPITOLO 6. Configurazione di un host ip

Essenzialmente permette di ottenere, partendo da un indirizzo MAC (di livello 2 quindi), un indirizzo IP (di livello 3). Poich` gli hosts conoscono il proprio indirizzo MAC, durante il boot, potee vano configurare il prorpio indirizzo IP. Le richieste RARP dovevano essere inoltrate ad un Server RARP presente nella stessa sottorete dell’host da configurare perch` venivano inviate in e 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 UDPIP): in questo modo non ` vincolante avere un Server BOOTP nella propria e 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’indirizzo di una macchina dove si trovano altri files di configurazione. Sia RARP sia BOOTP forniscono indirizzi ip in modo statico, con allocazione permanente quindi con notevoli sprechi. DHCP Il protocollo ` un’estensione di BOOTP e mantiene compatibilit` in quanto, e a 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 a durata finita); . la possibilit` di poter negoziare i parametri di configurazione. a

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 conoscono solo le sottoreti che riescono a raggiungere; salendo di livello, routers di uno stesso ISP conoscono tutta la rete interna in modo generale perch` e informazioni dettagliate vengono girate ai routers pi` interni, di livello inu 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 Gateway 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) e i confini fra gli AS devono essere chiari. Inoltre le caratteristiche delle due tipologie sono diverse: . se interni: metrica del percorso pi` breve; u . se esterni: metrica della politica migliore (pu` essere economica e o 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 a aggiornamenti automatici, sfruttando algoritmi: 37

38 . distance vector; . link state.

CAPITOLO 7. Protocolli di Routing

A differenza dei protocolli EGP in cui lo standard ` unico, gli Interior e 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 compatibili 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) annunciando le proprie tabelle di routing; . se un router identifica un percorso a costo minore rispetto all’intradamento che fa in quel momento, aggiorna la entry. In generale, le propriet` degli algoritmi distance vector sono: a . 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); u . ignora gli altri casi.

7.2. Interior Routing Protocols

39

´ E fondamentale propagare updates periodici anche se il costo non varia altrimenti, 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. u 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. e 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 rie 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 e 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; e . Y ` collegata a H; e . si rompono questi due link; ci` che accade ` un loop fra X e Y che arriva fino ad ∞ (il massimo numero o e 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. u

40 RIP v1 In questa versione:

CAPITOLO 7. Protocolli di Routing

. 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: e

. 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 e 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 e entry ricevute. Se durante la ricezione viene cambiata la routing table si manda un update a tutti i nodi dopo un tempo causale [1, 5] s; si ` deciso di aspettare un e 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 eleminte 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 ´ E un aggiornamento della versione 1 che apporta queste modifiche e aggiunte: . routing con netmask anzich` classi; e . autenticazione; . trasmissione in multicast dei distance vector. Esiste compatibilit` con la prima versione perch` le nuove funzionalit` sono a e a implementate nei campi che in RIP v1 sono Must be zero: perci` un paco chetto inviato da un router con RIP v2 con questi campi a zero pu` essere o 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. a

7.2.2

OSPF

OSPF (Open Shortest Path First Protocol) ` basato su link state con le e seguenti funzionalit` di base: a . 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 creaa zione della topologia, si elegge un router designato e ogni altro nodo stabilisce le adiacenze verso di esso. I messaggi, che informano la rete di cambiamenti, vengono inviati periodicamente, con flooding, ogni 30 minuti: OSPF ` infatti un algoritmo fortemente e 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 a 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: e . 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 o routers OSPF inviando il pacchetto all’indirizzo multicast 224.0.0.5; . se ` punto-punto: e . 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; e . ogni area ha un proprio database; . la necessit` di avere dei routers che connettono le varie aree (questi a routers prendono il nome di ABR, Area Border Router). I messaggi, chiamati LSA (Link State Advertisement), contengono i LS record che formano il database e rappresentanon la topologia. La trama di un LS record ` formata da: e

7.2. Interior Routing Protocols . LS age: tempo trascorso dall’ultimo aggiornamento;

43

. Options: fra gli altri compiti, pu` impostare routing TOS (Type Of o Service), la priorit` in ip; a . 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 o conosce l’ARB in questione; . LS4: anche questo pu` essere memorizzato solo da ARB e rapo presenta tutti gli ARB che conosce l’ARB in questione; . LS5: memorizzato solo da ARB identifica le reti esterne raggiungibili. . 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 incrementative: 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: e . protocollo HELLO; . protocollo EXCHANGE; . protocollo FLOODING. Il protocollo HELLO: . ` usato per controllare che i link siano operativi; e . ` usato per eleggere il router designato e il suo backup; e . 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; e . imposta lo scambio di messaggi in modalit` master/slave, ossia chi a invia un pacchetto diventa master mentre chi lo riceve ` lo slave; e . 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 opposta. Il protocollo FLOODING: . ` usato per: e . 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 u e 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 e 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 pero ch`, tra gli altri motivi, il suo funzionamento presupponeva topologie ad e albero. Le funzionalit` di EGP erano tre principali: a . neighbour acquisition: capacit` di un router di accordarsi con i vicini a per comunicare; . neighbour reachability: capacit` di un router di controllare se i suoi a vicini sono attivi; . network reachability: routers vicini si scambiano informazioni di raggiungibilit`. a 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 e malfunzionanti (inviano route non vere), il protocollo entra i crisi. Con la crescita della rete, e quindi un aumento della complessit` della topoa logia, EGP non era pi` sufficiente: ` stato introdotto, allora, BGP (Border u e Gateway Protocol). BPG ` un protocollo che implementa path vector (non si creano anelli), e e permette di determinare il cammino migliore, in un contesto di possibili scelte 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; a . lo svantaggio ` rappresentato essenzialmente dall’elevato overhead: e 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 scamu bio di traffico locale; . transit AS : connessi a pi` AS esterni, accettano anche traffico in u 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 instradamento interne, stabilendo un BGP peering interno; in un secondo momento vengono aperte connessioni con routers di bordo di altri AS, stabilendo 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 percorso possibile e per annullare percorsi inammissibili:

7.3. Protocolli di routing esterno

47

. percorsi annullati sono identificati attraverso l’indirizzo ip della destinazione; . percorsi nuovi sono identificati attraverso Path Attributes, che si riferiscono 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 generato; . 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: e . numero e qualit` di AS da attraversare; a . 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; u

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.

Sign up to vote on this title
UsefulNot useful