Protocolli per trasmissione dati

52
Protocolli per trasmissione dati Appunti Fiandrino Claudio 2 settembre 2010

description

Appunti sintetici per il corso di Protocolli per trasmissione dati

Transcript of Protocolli per trasmissione dati

Page 1: Protocolli per trasmissione dati

Protocolli per trasmissione

dati

Appunti

Fiandrino Claudio

2 settembre 2010

Page 2: Protocolli per trasmissione dati

II

Page 3: Protocolli per trasmissione dati

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

Page 4: Protocolli per trasmissione dati

IV INDICE

5 PHD-SDH-SONET 31

6 Configurazione di un host ip 35

7 Protocolli di Routing 37

7.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377.2 Interior Routing Protocols . . . . . . . . . . . . . . . . . . . . 37

7.2.1 RIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387.2.2 OSPF . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

7.3 Protocolli di routing esterno . . . . . . . . . . . . . . . . . . . 45

Page 5: Protocolli per trasmissione dati

Dedicato a Valentina G.perche guardando i suoi

dolci occhi non si puonon essere felici!!!

CF

Page 6: Protocolli per trasmissione dati

2 INDICE

Page 7: Protocolli per trasmissione dati

Prefazione

Gli appunti sono realizzati a partire dagli appunti del corso.

Per ulteriori informazioni o segnalazioni di errori potete consultare il miosito http://claudiofiandrino.altervista.org o contattarmi all’indirizzo mailreperibile dal sito alla sezione contacts & links.

3

Page 8: Protocolli per trasmissione dati

4 INDICE

Page 9: Protocolli per trasmissione dati

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 e regolato con una sequenza predefinitae gli utenti conoscono qual’e 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 neiseguenti passi:

5

Page 10: Protocolli per trasmissione dati

6 CAPITOLO 1. Analisi di Protocolli

Ho un pacchetto da trasmettere

Trasmetto il pacchetto

Aspetto l’ack

Ricevo l’ack?

END

Attendo un tempo casuale

Si

No

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’infinita di utenti genera, nel complesso, un nuovo pacchetto di duratatemporale 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 e un processo di Pois-son a tasso g.

Il rapporto fra i tassi e:

g > λ

Infatti:

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

. g e il tasso dei pacchetti che effettivamente vengono trasmessi, quindicomprende anche i pacchetti che devono essere ritrasmessi in seguitoa collisioni.

‡ Affinche questa proprieta sia vera e necessario che gli utenti si comportino in maniera

indipendente.

Page 11: Protocolli per trasmissione dati

1.2. Protocolli Aloha e Slotted-Aloha 7

1.2.2 Calcolo del Throughput

Il throughput e per definizione la quantita di tempo del canale occupata datrasmissioni che avvengono con successo.Considerando la normalizzazione rispetto alla durata di un pacchetto T siottiene il throughput normalizzato che assume il simbolo S.

Una trasmissione ha successo se durante il periodo di tempo 2T , detto ancheperiodo di vulnerabilita, non ci sono trasmissioni:

tt0 − T t0 t0 + T

2T

La probabilita di successo e la probabilita che non ci siano trasmissioni nelperiodo 2T quindi e:

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

k!

k=0

= e−2g T

Si indica con G = g T che rappresenta il traffico offerto normalizzato rispettoalla durata del pacchetto, quindi:

P ( 0 eventi in 2T ) = e−2G

Si caratterizza il throughput come:

S = G‡ · e−2G‡

G

S1

2e

Se il traffico offerto e basso viene smaltito molto bene; l’efficienza massimae pero soltanto del 18% e successivamente all’aumentare del traffico offertoil traffico smaltito sara via via minore: ci saranno pertanto molte collisioni.

Considerando il protocollo Slotted Aloha il periodo di vulnerabilita non epiu 2T , ma solo T :

tt0 − T t0 t0 + T

T

‡ Trasmissione. ‡ Probabilita di effettuare una trasmissione con successo.

Page 12: Protocolli per trasmissione dati

8 CAPITOLO 1. Analisi di Protocolli

Infatti ogni utente che vuole trasmettere deve aspettare lo slot temporalesuccessivo quindi si ha collisione solo se piu utenti effettuano la decisionedi trasmettere contemporaneamente: in questo modo nello slot successivo cisaranno piu trasmissioni sovrapposte.In questo caso la probabilita di trasmissione con successo e:

P ( 0 eventi in T ) = e−G

Analogamente:S = G · e−G

G

S

1

e

Aloha e un protocollo instabile perche nella parte di grafico colorata:

G

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 piu il traffico smaltito e il sistemacollassa.

1.2.3 Ipotesi al calcolo del Ritardo

Un modello realistico parte da queste ipotesi:

. cio che avviene in ciascuno slot e indipendente da cio che accade neglislot adiacenti: trasmissioni in slot diversi sono indipendenti;

. in ogni slot il processo e di Bernoulli e la probabilita di trasmissione

con successo e p = e−G =S

G;

. il numero di tentativi che si devono fare per avere successo e unavariabile geometrica:

E[NT ] = 1 −S

G=

G

S

Page 13: Protocolli per trasmissione dati

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

E[tacc] =T

2‡ + T ‡

Il valor medio del tempo di accesso di una trasmissione con collisione e datoda:

E[tacc] =T

2‡ +

(

T ‡ + E[κ · θ]‡)

·

(

G

S− 1

)

‡ + T †

Se si fa cadere l’ipotesi per cui si conosce l’esito della trasmissione imme-diatamente e necessario tenere conto del tempo di propagazione fra i nodidefinito con δ. L’esito della trasmissione quindi e noto dopo un tempo 2 δ.In questo caso il valor medio del tempo di accesso di una trasmissione concollisioni e:

E[tacc] =T

2+ (T + 2 δ + E[κ · θ]) ·

(

G

S− 1

)

+ T + δ

Normalizzando rispetto al periodo di un pacchetto:

E[tacc] =1

2+

(

1 + 2 a + E[κ] ·θ

T

)

·

(

G

S− 1

)

+ 1 + a

dove a =δ

T.

Il ritardo e una metrica fondamentale nei protocolli a contesa perche re-gola appunto la contesa; il parametro fondamentale e a: se e piccolo allorail tempo di propagazione e piccolo rispetto alla durata del pacchetto e ilprotocollo funziona bene altrimenti no.

1.2.5 Slotted Aloha con popolazione finita

Considerando N utenti indipendenti cade l’ipotesi della popolazione infinitache introducono pacchetti quindi non e piu possibile applicare il processo diPoisson: ogni utente infatti ha un comportamento diverso, un’individualitache e fondamentale prendere in considerazione mentre nel caso di popola-zione infinita si puo assumere che comportamenti diversi si perdono nellamoltitudine 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.

Page 14: Protocolli per trasmissione dati

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 ritrasmissionedovuta a collisioni.

. Si considera l’insuccesso l’evento contrario, ossia quando il canale elibero.

La distribuzione e di Bernoulli e si applica ad ogni slot.

Si definisce:

Gm = la probabilita che un utente m trasmetta in uno slot

Il numero medio di pacchetti per slot trasmessi da m e dato da:

Rm = 1‡ · Gm + 0‡ · (1 − Gm) = Gm

Il traffico normalizzato per slot invece e:

G =N

m=1

Gm

Il throughput normalizzato per slot e:

S =N

m=1

Sm

dove Sm e il throughput normalizzato per slot per utente. Con un ragiona-mento analogo al precedente si desume che Sm e anche il numero medio dipacchetti trasmessi in uno slot con successo dall’utente m−esimo quindi laprobabilita che m trasmetta con successo e:

Sm = Gm

N∏

j=1 j 6=m

(1 − Gj)

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

Ipotizzando che gli N utenti abbiano lo stesso comportamento:

Gm =G

N

ossia ogni utente genera la stessa quantita di traffico, si ottiene:

Sm =G

(

1 −G

N

)N−1

Quindi:

S = G ·

(

1 −G

N

)N−1

‡ Trasmissione con successo. ‡ Trasmissione con insuccesso.

Page 15: Protocolli per trasmissione dati

1.2. Protocolli Aloha e Slotted-Aloha 11

Osservazioni Esistono due casi notevoli:

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

. considerando invece:lim

N−→∞S = G · e−G

e il caso gia visto in cui si prende in esame come ipotesi la popolazioneinfinita.

E importante notare che i modelli pur partendo da ipotesi differenti hannolo stesso risultato quindi sono compatibili.

Considerando la derivata:

∂ S

∂ G=

(

1 −G

N

)N−2

· (1 − G)

La derivata e uguale a 0 solo in due condizioni:{

G = N

G = 1

Nel primo caso Gm = 1 perche tutti gli utenti stanno trasmettendo contem-poraneamente nello stesso slot quindi il throughput sara nullo; nel secondocaso, invece, si ha il massimo dell’efficienza perche la probabilita di trasmis-

sione e pari a1

N: utenti diversi possono trasmettere in slot diversi senza

collidere.

Caso particolare per due utenti Il traffico totale e dato dalla sommadei 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 + (1 − G1)2

‡ Traffico del primo utente. ‡ Traffico del secondo utente.

Page 16: Protocolli per trasmissione dati

12 CAPITOLO 1. Analisi di Protocolli

Page 17: Protocolli per trasmissione dati

Capitolo 2

Protocolli ad accesso

ordinato

Tali protocolli sono creati al fine di poter allocare in maniera deterministicale risorse ed evitare le collisioni.

Esistono sostanzialmente due grandi famiglie di algoritmi che realizzanol’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 ;

. piu stazioni slave.

La stazione master riceve le informazioni delle stazioni slave interrogandolea turno; viene usata una suddivisione delle risorse di tipo TDMA.

I vantaggi di questo tipo di protcollo sono:

. facile gestione delle priorita;

. controllo sui ritardi;

. allocazione di banda permessa.

Gli svantaggi sono:

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

13

Page 18: Protocolli per trasmissione dati

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 possibilita di trasmissione da parte di unutente solo se e in possesso di un token; il token e un segnale di controlloche gli utenti devono far circolare sulla rete continuamente percio sono am-messe solo topologie ad anello (fisiche o anche logiche).

I vantaggi dei protocolli token sono essenzialmente gli stessi dei protocolli apolling:

. controllo sui ritardi;

. possibile gestione delle priorita;

. 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 e: inserzione diuna 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 questeoperazioni:

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

Page 19: Protocolli per trasmissione dati

2.3. Protocolli Buffer Insertion 15

In questo modo esiste un solo pacchetto sulla rete e, per evitare che restiper un tempo indefinito, la rimozione viene realizzata proprio dalla stazioneche lo ha trasmesso. Il token invece non circola quando ci sono pacchetti infase 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 rilasciandoimmediatamente il token;

. estrarre il primo pacchetto dalla rete che riceve perche e sicuramentequello che ha trasmesso.

In questo caso sulla rete possono circolare piu pacchetti di stazioni diversecontemporaneamente assieme ad un unico token.

Le prestazioni delle due versioni sono molto differenti:

. il single packet e meno efficiente perche viene trasmesso un solo pac-chetto per volta sulla rete e il tempo di passaggio del token e almenosempre pari ad un RTT;

. il single token e piu efficiente, ma meno robusto a pacchetti spurisull’anello.

Rispetto ai protocolli ad accesso casuale, token ring:

. fornisce alto throughput;

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

. puo gestire le priorita;

. 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 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 emaggiore delle dimensioni effettive del pacchetto percio la dimensione mini-ma del buffer deve essere almeno pari a quella di un pacchetto di dimensioni

Page 20: Protocolli per trasmissione dati

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 stazionea monte trasmette continuamente di fatto impedisce ogni comunicazione destazioni a valle in quanto, queste, vedranno sempre il buffer pieno. Servonoquindi meccanismi di ripristino dell’equita, come Metaring.

Rispetto ai protocolli a token il controllo di equita e dei ritardi di acces-so e piu difficile e la rimozione di pacchetti dalla rete puo avvenire alladestinazione, anziche alla sorgente del pacchetto stesso, permettendo quindiun riuso di parte delle risorse trasmissive.

Page 21: Protocolli per trasmissione dati

Capitolo 3

Standard Lan

3.1 Introduzione

Nelle reti locali il livello 2 dlla pila OSI e 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 MACmentre la multiplazione in LLC);

. controllo di flusso (sottostrato LLC).

3.2 IEEE 802.2

LLC e un protocollo ispirato ad HDLC per reti locali, le cui principalicaratteristiche 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 piu protocolli di livello superiore.

17

Page 22: Protocolli per trasmissione dati

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 PDUdi 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 tramapercio LLC introduce una SNAP PDU con 5Byte per specificare il tipodi protocollo.

3.3 Indirizzi MAC

Gli indirizzi MAC sono formati da 6Byte, dove:

. i primi tre identificano il costruttore;

. gli ultimi tre identificano, con una numerazione progressiva internaalla casa produttrice, la macchina.

Gli indirizzi possono essere:

. unicast;

. broadcast;

. multicast:

. solicitation;

Page 23: Protocolli per trasmissione dati

3.4. Ethernet e 802.3 19

. advertisement.

Quando una scheda riceve un pacchetto corretto:

. se l’indirizzo destinazione specificato e identico al suo lo accetta;

. se l’indirizzo destinazione e broadcast oppure multicast per cui lascheda e abilitata alla ricezione, lo accetta;

. se non rientra nella casistica precedente lo scarta.

3.4 Ethernet e 802.3

Lo sviluppo di Ethernet e avvenuto prima di 802.3, ma i due protocolli insostanza differiscono solo per alcune caratteristiche tecniche del livello MACe 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 trasmissioneviene inviata una sequenza di jamming (tramsessa a potenza moltomaggiore rispetto alle normali trasmissioni): in questo modo si inter-rompono le trasmissioni sul canale e si avvertono tutte le stazioni dellarete dell’avvenuta collisione;

. dopo aver colliso le stazioni attendono un tempo casuale prima diritrasmettere: questo tempo e tanto maggiore quanto piu e alto ilnumero delle collisioni;

. quando si riceve un pacchetto corretto non seguono riscontri.

3.4.1 Formati di trama

Per quanto riguarda Ethernet:

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

. 1Byte di Start of Frame (SFD): un Byte posto a 1 per identificarel’inizio di trama (si noti che il preambolo alternza uni e zeri: quandosi ricevono due uni consecutivi la trama vera e propria inizia);

. 6Byte di indirizzo destinazione: e il primo campo utile perche se noncoincide con quello della scheda si puo immediatamente scartare ilpacchetto;

Page 24: Protocolli per trasmissione dati

20 CAPITOLO 3. Standard Lan

. 6Byte di indirizzo sorgente;

. 2Byte di Protocolo Type (numero maggiore di 1500): serve per lamultiplazione;

. 46 − 1500Byte di dati utili;

. 4Byte di Frame Control Sequence;

. 12Byte di IGP, Inter Packet Gap: delimitazione di trama.

Per quanto riguarda 802.3:

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

. 1Byte di Start of Frame (SFD): un Byte posto a 1 per identificarel’inizio di trama (si noti che il preambolo alternza uni e zeri: quandosi ricevono due uni consecutivi la trama vera e propria inizia);

. 6Byte di indirizzo destinazione: e il primo campo utile perche se noncoincide con quello della scheda si puo immediatamente scartare ilpacchetto;

. 6Byte di indirizzo sorgente;

. 2Byte di lunghezza trama (numero minore di 1500 per evitare conflitticon Ethernet);

. 0 − 1500Byte di dati utili;

. 0 − 46Byte di padding: nel caso in cui si dovessero trasmettere pac-chetti con dimensione minima inferiore ai canonici 46Byte;

. 4Byte di Frame Control Sequence;

. 12Byte 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 estremita diun 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 unpacchetto:

Dmintrama ≥ RTD =⇒

L

V‡ ≥ 2 · Tprop

‡L rappresenta la durata spaziale della trama mentre V la velocita del canale.

Page 25: Protocolli per trasmissione dati

3.4. Ethernet e 802.3 21

3.4.3 Parametri di progetto

Per progettare una rete locale e necessario:

. stimare il tempo di trasmissione affinche sia superiore al RTD;

. stimare velocita 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 e la porzione di rete per cui se due stazioni trasmettonocontemporaneamente 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 10Mbit/s e di2800m:

. dipende dalla lunghezza massima dei cavi e il numero di repeaterintrodotti;

. dipende dal RTD.

In una rete a 10Mbit/s:

. viene utilizzata la codifica Manchester (20Mbit/s di clock);

. il massimo numero di stazioni che e possibile introdurre e 1024: espres-so come potenza di 2 e 210, infatti 10 e il numero massimo di incre-menti del tempo casuale di backoff (dopo 16 tentativi la scheda va instand-by);

. possono essere usati repeater;

. a seconda del protocollo usato:

. in Ethernet se ci sono piu di due repeater il preambolo non vieneagganciato correttamente;

. in 802.3 se ci sono piu di due repeater e la trasmissione avvieneda parte della stessa sorgente l’IPG viene ad assumere dimensioniminori;

. lo slot time minimo e di:

64Byte · 8

10Mbit/s= 51.2µs

. l’IPG dura 9.6µs;

Page 26: Protocolli per trasmissione dati

22 CAPITOLO 3. Standard Lan

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

. la dimensione massima del pacchetto e di 1518Byte;

. la dimensione minima del pacchette e di 46Byte.

Nostante il pacchetto minimo duri 51.2µs lo standard e molto piu restrittivoimponendo un RTD massimo di 45µs.

3.4.4 Caratteristiche

. Per avere poche collisioni e preferibile avere basso carico (al contrariodei protocolli ad accesso ordinato).

. Il protocollo e semplice e distribuito.

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

. E lo standard piu diffuso quindi ha un costo accessibile.

. Non sono implementate funzionalita come la priorita ne conferme diavvenuta ricezione.

3.5 Token Ring 802.5

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

. topologia ad anello (singolo anello logico e doppio anello fisico) e wiringconcentrator;

. velocita di trasmissione a 2, 4, 16Mbit/s (le ultime due sono le piudiffuse);

. inserzione attiva (dati rigenerati);

. ogni stazione ha un repeater ed e impostata in modalita full duplex.

Il protocollo viene gestito in modalita single packet e sono presenti tre livellidi priorita.

La cattura del token da parte di una stazione avviene con bufferizzazione:data la presenza del repeater e necessario fare una copia locale del pacchettotrasmesso, cambiare il bit che identifica il pacchetto come token e ultimarela ripetizione. A questo punto la stazione puo iniziare la trasmissione deipropri dati.

Page 27: Protocolli per trasmissione 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 untempo di timeout (TVX timer valid trasmission) la stazione monitor nonvede 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 allastazione monitor, questa puo emettere un nuovo token.Le altre funzionalita della stazione monitor sono:

. sincronismo della rete;

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

. 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 inviandosulla rete il proprio token claim value (l’identificativo della stazione);

. ogni stazione che vede passare in rete un token claim value piu bassodel 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:

. 1Byte di delimitazione (Starting Delimiter);

. 1Byte di Access Control: differenzia un token da un pacchetto normalee gestisce le priorita;

. 1Byte di Frame Control: specifica se la trama e una trama dati o dicontrollo;

. 6 o 2Byte di indirizzo destinazione;

Page 28: Protocolli per trasmissione dati

24 CAPITOLO 3. Standard Lan

. 6 o 2Byte di indirizzo sorgente;

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

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

. 4Byte di Frame Control Sequence, FCS;

. 1Byte di fine delimitazione (Ending Delimiter);

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

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

Token Ring introduce una notevole complessita 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.E implementato con topologie a doppio anello controrotante in modalitasingle token.Le principali caratteristiche sono l’elevata velocita e affidabilita e un ritardopoco dipendente dalle dimensioni della rete.L’uso piu diffuso e stato quello di backbone di reti LAN.

Caratteristiche tecniche:

. velocita trasmissive:

. 125Mbit/s a livello fisico;

. 100Mbit/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;

Page 29: Protocolli per trasmissione dati

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 difatto la parte di rete guasta, ma garantendo il normale funzionamento nellaparte restante.

3.6 Reti di nuova generazione

Le caratteristiche di queste reti sono:

. maggiore velocita e affidabilita;

. minor costo;

Il cablaggio e strutturato con topologia a stella gerarchica dove il centrostella puo essere un hub o uno switch: in questo modo in caso di guasti efacile riconoscere i problemi ed effettuare le relative riparazioni.

Usando come centro stella un switch si separano i domini di collisione; gliinstradamenti 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 e verificata una collisione e quindi ci sono in re-te frammenti di pacchetti (dimensioni minori di 64Byte) questi nonvengono trasmessi.

Le reti LAN sono intrinsecamente half duplex, ma in presenza di uno swit-ch puo diventare full duplex dividendo cosı la rete in piu domini di collisione.

Per aumentare la velocita di trasmissione, poiche esiste una precisa relazioneche la lega al RTD, si puo agire:

. aumentando la dimensione del pacchetto;

. riducendo la dimensione della rete;

. modificando il protocollo;

L’ultima e poco praticabile perche non ci sarebbe compatibilita con le im-plementazioni del protocollo gia esistenti. Esistono due soluzioni:

. Fast Ethernet;

. 100 VGAnyLAN che pero non ha avuto successo a livello commerciale.

Page 30: Protocolli per trasmissione dati

26 CAPITOLO 3. Standard Lan

Ethernet a 100Mbit/s o Fast Ethernet mantiene inalterato l’algoritmorealizzato per 10 Base T e la dimensione dei pacchetti, ma riduce le dimen-sioni della rete: la massima distanza fra due stazioni e 210m; e assicuratacompatibilita con 10 Base T.

Ulteriori sviluppi hanno portato alle seguenti implementazioni.

Gigabit Ethernet usa 802.3 con CSMA-CD per avere compatibilita; sup-porta sia half sia full duplex, ma in pratica viene usato solo in modalita fullduplex.Aumentando di un fattore 10 la velocita rispetto a Fast Ethernet si e sceltodi non ridurre ulteriormente le dimensioni della rete, ma si e obbligati atrasmettere i pacchetti a gruppi di 10 mantenendo cosı soddisfatto il vincolodi avere un collision domain di circa 200m.

10 Gigabit Ethernet lo standard e IEEE 802.3an per doppino previstoin sola modalita full duplex senza CSMA-CD. Non e piu necessario regolarel’accesso sul canale perche lo scopo per cui e progettato e diverso: servecome backbone di reti metropolitane, quindi per connessioni end to end.Mantiene, tuttavia, compatibilita con 802.3 evitando, pertanto, conversionidi protocolli.

100 Gigabit Ethernet lo standard ha come sigla 802.3ba in approvazionenel 2010 e gestira due possibili velocita:

. 40Gbit/s;

. 100Gbit/s.

Per ottenere tali velocita si realizzeranno trasmissioni in parallelo, gestendogli ovvi problemi di sincronizzazione.

Page 31: Protocolli per trasmissione dati

Capitolo 4

Interconnessione di reti locali

4.1 Introduzione

L’interconnessione di reti locali e 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 capacita100Mbit/s, si ottiene una capacita teorica totale di 200Mbit/s.

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 porteche 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 piu usati sono gli switch.

27

Page 32: Protocolli per trasmissione dati

28 CAPITOLO 4. Interconnessione di reti locali

4.2 Switch

Utilizzati in cablaggi strutturati, gli switch generalmente connettono unastazione per porta.

Le proprieta di questi apparati sono:

. trasparenza: le stazioni non devono modificare il loro comportamentose viene installato uno switch nella LAN;

. introducendo uno switch si separa la condivisione delle risorse comunidella LAN, permettendo, pero, un miglioramento delle prestazioni;

. puo venire estesa la rete geografica (si parla di LAN estesa);

. si introduce piu sicurezza separando il traffico;

. vengono introdotti problemi di equita;

. esistono ritardi di store and forward e, nel caso in cui il buffer dimemorizzazione sia pieno, ci possono essere perdite di pacchetti.

Affinche uno switch possa indirizzare correttamente un pacchetto e neces-sario che, all’interno della rete locale, ogni apparato abbia un indirizzo dilivello 2 unico.

Le procedure di instradamento piu diffuse sono:

. transparent bridging : usa l’algoritmo di spanning tree e sfrutta ilcomportamento trasparente degli switch;

. source routing : legato a token ring, prevede che ogni stazione conoscala topologia.

Le funzioni principali degli switch sono:

. address learning : consiste nella creazione di una tabella contenente lecoppie porta dello switch-indirizzo destinazione;

. frame forwarding : ritrasmissione di trame ricevute da indirizzi di cui siconosce la provenienza topologica sulla rete; in caso contrario lo switchinoltra il pacchetto su tutte le porte meno quella da cui ha ricevuto ilpacchetto (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 dibackward learning : si conosce una coppia indirizzo-porta quando quellastazione e la sorgente di un pacchetto che attraversa lo switch.

Page 33: Protocolli per trasmissione dati

4.2. Switch 29

Frame Forwarding

Quando uno switch riceve una trama corretta:

. se la destinazione e unicast:

. cerca in tabella a quale porta e associato;

. se la porta destinazione e identica a quella sorgente il pacchettoviene scartato;

. se la porta destinazione e diversa da quella sorgente il pacchettoviene inoltrato;

. se non conosce la porta destinazione effettua il flooding ;

. se la destinazione e 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 cio 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 cheraggiunge lo switch radice con il costo minimo;

. selezione delle porte designate, quelle che collegano una LAN alloswitch 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 BridgePDU 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 ilcosto con cui raggiunge la radice;

. l’algoritmo converge quando tutti gli switch hanno determinato unasola radice nella LAN.

Page 34: Protocolli per trasmissione dati

30 CAPITOLO 4. Interconnessione di reti locali

Page 35: Protocolli per trasmissione dati

Capitolo 5

PHD-SDH-SONET

L’attuale rete telefonica, le cui infrastrutture vengono usate per canalizzareanche il traffico di altre reti, e 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 percio 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 velocita: (24 · 8 + 1) · 8 kHz = 1.544Mbit/s.

Gerarchia dello standard americano

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

4 · 1.544Mbit/s = 6.312Mbit/s

. in una trama DS3 sono presenti 7 trame DS2:

7 · 6.312Mbit/s = 44.736Mbit/s

31

Page 36: Protocolli per trasmissione dati

32 CAPITOLO 5. PHD-SDH-SONET

. in una trama DS4 sono presenti 6 trame DS3:

7 · 44.736Mbit/s = 274.176Mbit/s

In PDH ogni apparato ha un proprio orologio interno soggetto a derive: lasincronizzazione, che e un elemento fondamentale, soffre di errori.Si cerca di ovviare a questo problema con il meccanismo del bit stuffing : seuna stazione e piu veloce di quella precedente dovrebbe anticipare la tra-smissione; invece inserisce un bit, inutile alla trasmissione vera dei dati, distuffing, di cui segnala la presenza con il 193◦ bit disponibile per la segna-lazione.Risulta, quindi, da questa operazione, che la trama trasmessa effettivamentee diversa da quella standard originata dal campionamento PCM.

Page 37: Protocolli per trasmissione dati

33

I problemi di PDH sono:

. mancanza di flessibilita 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;

. modalita di interfacciamento con il livello fisico;

. definizione di interfacce per interazione con altri protocolli che possonousare SONET-SDH.

Stratificazione SONET-SDH

Esistono 4 livelli:

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

. Line Layer : multipla piu connessioni path layer fra due nodi e gestiscele fasi di protezioni e recupero guasti;

. Section Layer : definisce lungo il percorso le operazioni dei rigeneratorie fra i rigeneratori stessi;

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

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

La section overhead si occupa di:

Page 38: Protocolli per trasmissione dati

34 CAPITOLO 5. PHD-SDH-SONET

. monitoraggio delle prestazioni di rete;

. framing;

. dedicare un canale di comunicazione per operazioni di amministazionee manutenzione (OAM).

La line overhead :

. effettua il multipexing/instradamento;

. localizza i VT (Virtual Tributary: puntatori di dati identificati inquesta sezione).

Uno dei problemi della multiplazione e la gestione di tributari a velocitadiverse; anche in questo caso si usa il bit stuffing:

. positive stuffing : se la velocita di una stazione e piu piccola vienesegnalata la presenza di un byte aggiuntivo (di stuffing) invertendo ibit dispari del puntatore;

. negative stuffing : se la velocita di una stazione e piu alta viene segna-lato l’anticipo del puntatore invertendone i bit pari.

Page 39: Protocolli per trasmissione dati

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 e collegato;

. l’indirizzo ip del default gateway per raggiungere gli host al di fuoridella propria sottorete.

Queste informazioni possono essere ottenute:

. staticamente, se vengono inserite manualmente o ricavate da file diconfigurazione interno alla macchina;

. ricavate in modo dinamico dalla rete:

. in fase di configurazione;

. quando necessarie.

La configurazione statica e molto semplice, ma soggetta a notevoli svantaggi:

. se cambia la topologia o la configurazione di rete e necessario riconfi-gurare tutti gli hosts;

. se si cambiano sottoreti o spostano host da una sottorete ad un’altraoccorre riconfigurare buona parte della rete;

. se cade un router default gateway di una sottorete occorre riconfiguraretutta la sottorete affiche effettui consegna indiretta attraverso un altrogateway.

La configurazione dinamica risolve questi inconvenienti, ma introduce piucomplessita; le soluzioni adottate sono:

. RARP (Reverse ARP);

. BOOTP (Bootstrap Protocol);

. DHCP (Dynamic Host Configuration Protocol).

35

Page 40: Protocolli per trasmissione dati

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).Poiche 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 perche venivano inviate inbroadcast MAC.

Dei parametri necessari per la configurazione solo l’indirizzo ip dell’hostveniva assegnato.

BOOTP

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

Quando un host si accende manda una richiesta per ottenere i parametridi 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 e un’estensione di BOOTP e mantiene compatibilita in quanto,per entrambi i protocolli, hosts e servers usano gli stessi numeri di porteUDP (68 per gli hosts e 67 per i servers).

Le forti innovazioni introdotte sono:

. la possibilita di avere allocazioni di indirizzi non permanenti (lease didurata finita);

. la possibilita di poter negoziare i parametri di configurazione.

Page 41: Protocolli per trasmissione dati

Capitolo 7

Protocolli di Routing

7.1 Introduzione

Il routing sulla rete avviene grazie all’indirizzamento gerarchico: ogni routernon conosce tutte le possibili destinazioni. Routers di livello basso conosco-no solo le sottoreti che riescono a raggiungere; salendo di livello, routersdi uno stesso ISP conoscono tutta la rete interna in modo generale percheinformazioni dettagliate vengono girate ai routers piu interni, di livello in-feriore. Il meccanismo si ripete e, salendo via via di livello, si conosconosempre 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 eusano protocolli di instradamento EGP (Exterior Gateway Protocol).

Poiche esistono due tipi di routing (interno con IGP ed esterno con EGP)i confini fra gli AS devono essere chiari. Inoltre le caratteristiche delle duetipologie sono diverse:

. se interni: metrica del percorso piu breve;

. se esterni: metrica della politica migliore (puo essere economica egestionale, 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 possibilita di inviare ai routers della reteaggiornamenti automatici, sfruttando algoritmi:

37

Page 42: Protocolli per trasmissione dati

38 CAPITOLO 7. Protocolli di Routing

. distance vector;

. link state.

A differenza dei protocolli EGP in cui lo standard e unico, gli InteriorRouting 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 proprieta 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 piu brevi (e a costo minore);

. ignora gli altri casi.

Page 43: Protocolli per trasmissione dati

7.2. Interior Routing Protocols 39

E fondamentale propagare updates periodici anche se il costo non varia al-trimenti, se ci fossero due percorsi per raggiungere la stessa sottorete unosarebbe ignorato: nell’ipotesi in cui quello usato nelle routing tables cadesse,senza aggiornamenti periodici quella sottorete non sarebbe piu raggiungibile.Invece con updates periodici i routers si accorgono del nuovo instradamentopossibile.

Quando cade un link, infatti, i nodi provvedono ad impostare un costoinfinito 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 20attraverso Z;

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

. la stazione Z e 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 nomedi bouncing effect : Y crede di poter raggiungere X attraverso H mentre Hcrede di poter raggiungere X attraverso Y.Questo palleggiamento accade perche i costi dei link sono tutti inferiori ri-spetto al costo del link X-Z: quando il bouncing effect termina tutti i nodidella rete possono raggiungere X attraverso Z perche i costi di tutti i linksaranno superiori a quello fra X-Z.

Considerando invece l’ipotesi di rottura di due link si assite al fenomenodel counting to infinity. Se:

. le stazioni X e Y sono collegate;

. X e collegata a Z;

. Y e collegata a H;

. si rompono questi due link;

cio che accade e un loop fra X e Y che arriva fino ad ∞ (il massimo numeropossibile nel conteggio).Le soluzioni a questo problema sono:

. split horizon: se X usa Y per raggiungere Z, X non comunica a Y cheraggiunge Z attraverso di lui;

. split horizon with poisonous reverse: X comuncica a Y che raggiungeZ a costo infinito spezzando un eventuale loop fra le due stazioni.

Tali soluzioni non rompono anelli formati da piu di due nodi.

Page 44: Protocolli per trasmissione dati

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 e composto da:

. 8 bit usati per specificare request code oppure response code: la requestsollecita i routers ad annunciare le loro routing tables ad un router chesi e appena acceso; la response corrisponde al normale update inviatoperiodicamente;

. 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 responsemessage e la sorgente specifica il proprio indirizzo; ogni messaggio contienei distance vector ed e inviato ogni 30 s. In ricezione si elaborano tutte leentry 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 e deciso di aspettare untempo casuale per:

. poter eventualmente sommare altri update;

. limitare il traffico in rete.

Page 45: Protocolli per trasmissione dati

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 accendee come unica entry nella propria routing table possiede 0.0.0.0; i messaggidi risposta ad una request vengono inviati in unicast.

RIP v2

E un aggiornamento della versione 1 che apporta queste modifiche e aggiun-te:

. routing con netmask anziche classi;

. autenticazione;

. trasmissione in multicast dei distance vector.

Esiste compatibilita con la prima versione perche le nuove funzionalita sonoimplementate nei campi che in RIP v1 sono Must be zero: percio un pac-chetto inviato da un router con RIP v2 con questi campi a zero puo esseredecodificato 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 tempodi attesa distribuito con probabilita uniforme fra 15 e 45 s.

7.2.2 OSPF

OSPF (Open Shortest Path First Protocol) e basato su link state con leseguenti funzionalita 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 conl’algoritmo di Dijkstra.

Page 46: Protocolli per trasmissione dati

42 CAPITOLO 7. Protocolli di Routing

In OSPF, per evitare un’enorme quantita 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 e infatti un algoritmo fortementecentralizzato, a differenza di RIP, per cui richiede meno aggiornamenti.

I nodi che ricevono un messaggio:

. controllano se hanno gia ricevuto un messaggio con quel numero disequenza 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 e broadcast:

. un router che deve mandare un aggiornamento lo trasmette soloall’indirizzo multicast dei routers designati (224.0.0.6);

. un router designato puo notificare tale aggiornamento a tutti irouters OSPF inviando il pacchetto all’indirizzo multicast 224.0.0.5;

. se e punto-punto:

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

. il router designato invia copie separate dell’aggiornamento a tuttii routers.

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

. una riduzione della dimensione delle routing tables;

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

. ogni area ha un proprio database;

. la necessita di avere dei routers che connettono le varie aree (questirouters 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 e formata da:

Page 47: Protocolli per trasmissione dati

7.2. Interior Routing Protocols 43

. LS age: tempo trascorso dall’ultimo aggiornamento;

. Options: fra gli altri compiti, puo impostare routing TOS (Type OfService), la priorita 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 possonomemorizzare solo i routers designati);

. LS3: puo essere memorizzato solo da ARB e indica quale reticonosce l’ARB in questione;

. LS4: anche questo puo 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 ipercorsi 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 linkbidirezionali, possono essere diverse.

Il protocollo OSPF e composto da:

. protocollo HELLO;

. protocollo EXCHANGE;

. protocollo FLOODING.

Il protocollo HELLO:

. e usato per controllare che i link siano operativi;

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

. invia pacchetti ogni n secondi;

. specifica:

Page 48: Protocolli per trasmissione dati

44 CAPITOLO 7. Protocolli di Routing

. indirizzo del router designato e del suo backup;

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

Il protocollo EXCHANGE:

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

. imposta lo scambio di messaggi in modalita master/slave, ossia chiinvia un pacchetto diventa master mentre chi lo riceve e 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:

. e usato per:

. annunciare cambi di stato dei links;

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

. ogni messaggio di FLOODING contiene piu LSA ed e numerato conun numero di sequenza;

. il nodo, se riceve un messaggio di FLOODING dallo stesso router econ lo stesso numero di sequenza:

. lo scarta;

. se il numero di sequenza e diverso inoltra il messaggio su tutte leporte meno quella sorgente (procedura di flooding tradizionale);

. comunque invia un ack alla stazione mittente.

Page 49: Protocolli per trasmissione dati

7.3. Protocolli di routing esterno 45

7.3 Protocolli di routing esterno

Il primo protocollo introdotto fu EGP (Exterior Gateway Protocol), maquando dorsali e cammini multipli ebbero forte diffusione ando in crisi per-che, tra gli altri motivi, il suo funzionamento presupponeva topologie adalbero.

Le funzionalita di EGP erano tre principali:

. neighbour acquisition: capacita di un router di accordarsi con i viciniper comunicare;

. neighbour reachability : capacita di un router di controllare se i suoivicini sono attivi;

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

EGP non permette ai nodi di propagare come informazione la distanza frale reti, ma solo se sono raggiungibili o meno. Non supporta:

. strutture con dorsali multiple;

. load sharing;

. cammini alternativi;

. policy routing.

Inoltre, un problema importante, e dato dal fatto che, in presenza di routersmalfunzionanti (inviano route non vere), il protocollo entra i crisi.

Con la crescita della rete, e quindi un aumento della complessita della topo-logia, EGP non era piu sufficiente: e stato introdotto, allora, BGP (BorderGateway Protocol).BPG e un protocollo che implementa path vector (non si creano anelli), epermette di determinare il cammino migliore, in un contesto di possibili scel-te multiple, attraverso opportune politiche di instradamento. Tali politichetengono conto di:

. fattori economici;

. fattori gestionali;

. sicurezza.

Path vector:

. implementa un routing update contenente un elenco di AS necessariper raggiungere una destinazione;

Page 50: Protocolli per trasmissione dati

46 CAPITOLO 7. Protocolli di Routing

. se lo stesso AS compare un numero di volte maggiore di uno si riconoscela presenza di un anello;

. i vantaggi sono:

. riconoscimento facile di anelli;

. possibilita di avere metriche diverse per ogni router;

. lo svantaggio e 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 scambiodi traffico locale;

. multihomed AD : sono connessi a piu AS esterni e accettano solo scam-bio di traffico locale;

. transit AS : connessi a piu AS esterni, accettano anche traffico intransito verso altri AS.

La comunicazione fra due routers che implementano BGP avviene con TCPe 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 secondomomento 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:

Page 51: Protocolli per trasmissione dati

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 cheil 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, intre 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 e espressione di:

. numero e qualita 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 campoNLRI overlap.Esistono due tipologie di percorsi sovrapposti:

. piu specifici, se raggruppano un insieme piccolo di destinazioni;

Page 52: Protocolli per trasmissione dati

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.