Sei sulla pagina 1di 118

Reti dati geografiche

Fondamenti di reti di TLC 1


Prof. A.Bovo
Reti dati a pacchetto

„ Consentono collegamenti tra calcolatori su


lunghe distanze e con basso tasso di errore
„ Le problematiche più importanti riguardano il
livello di linea e il livello di rete
„ Le realizzazioni più diffuse usano il protocollo
X25

Fondamenti di reti di TLC Prof A.Bovo 2


Trame

„ Nella trasmissione dati i bit trasmessi dal livello


fisico sono organizzati in gruppi logici: trame
„ Le trame sono separate con metodi opportuni e
identificate tramite un header dal livello di
linea

Fondamenti di reti di TLC Prof A.Bovo 3


Tipi di protocolli di linea

„ orientati al carattere
„ informazione numerica interpretata a

gruppi di 8 bit sulla base dei caratteri di un


alfabeto (es. ASCII)
„ orientati al bit
„ informazione senza interpretazione diretta

„ trasferimento trasparente dei bit

Fondamenti di reti di TLC Prof A.Bovo 4


Delimitazione delle trame
„ Il problema della delimitazione delle trame si
pone per consentire al ricevitore di riconoscere
l’inizio e la fine delle trame senza ambiguità
„ I delimitatori di trama sono
„ delle sequenze di bit o caratteri speciali usati

per indicare inizio e fine della trama


„ delle segnalazioni introdotte dal livello fisico

„ delle temporizzazioni ricevute su canali di

servizio.

Fondamenti di reti di TLC Prof A.Bovo 5


Protocolli orientati al carattere

„ Binary Synchronous Communications (BSC)


„ vecchio protocollo a caratteri di IBM

„ uso di caratteri speciali per delimitare trame

e all’interno header e dati:


SOH
SYN
SYN

ETX
Header STX Text

Fondamenti di reti di TLC Prof A.Bovo 6


Protocolli orientati al carattere

„ I problemi nascono quando si vuole trasmettere


informazione binaria e non caratteri
„ trasmettere carattere 1 e 0 invece dei bit

– 1 bit → 8 bit: dispendioso!!!


„ organizzare i bit in gruppi di 8 e trasmettere
il carattere corrispondente
– problema della trasparenza: i bit del flusso
possono casualmente codificare i caratteri
speciali usati per la delimitazione

Fondamenti di reti di TLC Prof A.Bovo 7


Protocolli orientati al bit

„ Uso di flag: sequenze di 8 bit


„ Esempio: HDLC
„ sequenza di flag all’inizio e alla fine di una

trama
01111110

„ come impedire una casuale presenza della


sequenza di flag nei dati

Fondamenti di reti di TLC Prof A.Bovo 8


Protocolli orientati al bit
informazione
da trasmettere 1111000111111100010010101111111
inserimento bit di stuffing

111100011111011000100101011111011
trama
01111110 11110001111101100010010101111101101111110
flag flag
ricezione
01111110 11110001111101100010010101111101101111110

riconoscimento riconoscimento
flag d’inizio eliminazione di un bit flag di fine
dopo 5 uno consecutivi

Fondamenti di reti di TLC Prof A.Bovo 9


Controllo d’errore
„ In ricezione è possibile che venga riconosciuta una
sequenza di bit diversa da quella trasmessa (bit errati)

10011010100100100101000101000
10001010100110100101000111000
„ cause:
„ rumore termico (mezzi trasmissivi, apparati di

ricezione e trasmissione)
„ interferenza da altre trasmissioni sullo stesso mezzo

„ disturbi elettromagnetici

„ perdite di sincronismo

„ ecc.

Fondamenti di reti di TLC Prof A.Bovo 10


Controllo d’errore
„ I livelli della pila possono introdurre dei rimedi agli
errori collaborando ad offrire un servizio con basso
errore residuo
errore residuo errore residuo

tecniche di ritrasmissione
trasporto trasporto
rete rete
tecniche di ritrasmissione
linea linea
tecniche di correzione
fisico fisico

Fondamenti di reti di TLC Prof A.Bovo 11


Perdita di pacchetti
„ In una rete è possibile che una unità
informativa vada persa
„ la tecniche di controllo d’errore vengono usate
anche per il recupero dei pacchetti persi

Fondamenti di reti di TLC Prof A.Bovo 12


Livello di collegamento dati
Controllo degli errori e delle eventuali
ritrasmissioni
„ Strategie
„ Forward Error Control - FEC

– Codici a blocchi
– Codici convoluzionali
– Traffico indipendente dal tasso di errore
– Processing sempre più spinto per codici più complessi
„ Automatic Repeat reQuest
– Usa un codice di rivelazione di errore
– Richiede un canale di ritorno
– Il traffico aumenta con il tasso di errore

Fondamenti di reti di TLC Prof A.Bovo 13


Tecniche di controllo

„ Correzione (FEC - forward error correction)


„ codifica di canale

„ aggiunta di ridondanza in trasmissione

„ uso della ridondanza in ricezione per

rimediare ai bit errati (se in numero


contenuto)
„ teoria dei codici

„ esempio: codice a ripetizione (N volte lo

stesso bit); correzione di N/2 -1 errori

Fondamenti di reti di TLC Prof A.Bovo 14


Tecniche di controllo
„ Ritrasmissione (ARQ - Automatic Repeat reQuest)
„ aggiunta di ridondanza in trasmissione per ogni

unità informatica (FCS - Frame Check Sequence)


„ uso della ridondanza in ricezione per rivelare la

presenza di errori
„ uso di messaggi di servizio per la richiesta di

ritrasmissioni o la conferma di corretta ricezione


„ esempio di FCS: bit di parità

0011001100111001101001001110
0011010110001111001010001101

Fondamenti di reti di TLC Prof A.Bovo 15


Protocolli di ritrasmissione
„ regole applicate da trasmettitore e ricevitore per
rivelare e correggere errori mediante ritrasmissione:
protocollo
„ messaggi:
„ ACK (acknowledgement): riscontro positivo

„ NACK: riscontro negativo

„ ENQ: richiesta di ripetizione ultimo comando

„ anche i messaggi di servizio possono essere corrotti da


errori!
„ è necessario un canale di ritorno da ricevitore a
trasmettitore (no canali monodirezionali)

Fondamenti di reti di TLC Prof A.Bovo 16


Protocollo Stop and Wait
„ trasmettere un pacchetto e aspettare il
riscontro positivo prima di trasmettere il
successivo
„ ritrasmissione dopo time-out o NAK
time-out

ACK ACK

Fondamenti di reti di TLC Prof A.Bovo 17


Protocollo Stop and Wait
„ problema: se si perde l’ACK la trama viene
ritrasmessa di nuovo (duplicazione di pacchetti
ai livelli superiori)
„ rimedio: numerazione delle trame (SN)
time-out

ACK ACK ACK

Fondamenti di reti di TLC Prof A.Bovo 18


Protocollo Stop and Wait
„ problema: errata interpretazione di un ACK
„ rimedio: numerazione anche degli ACK (RN)
time-out
1 1 2 3

ACK ACK ACK

1 3

Fondamenti di reti di TLC Prof A.Bovo 19


Protocollo Stop and Wait
„ Efficienza del protocollo:
„ frazione di tempo in cui il canale è usato

T
η=
T + Tack + 2τ
„ efficienza bassa se T<<τ
„ protocollo non adatto a situazioni con elevato
ritardo di propagazione
„ utilizzo in modalità half-duplex

Fondamenti di reti di TLC Prof A.Bovo 20


Stop and wait
Calcolo dell'efficienza in presenza di errori

L +La
( −p)f
• P=1−1
∞ ∞ ∞
1
• Ns =∑iai =∑iP (1−P)=1
( −P)∑iP =
i−1 i−1

i=1 i=1 i=1


1−P
Tf Tf (1−P)
• η= =
( )
(Ns −1)(Tf +T)+Tf +Ta+2Tp +2τ Tf +TP+Ta+2Tp +2τ (1−P)
Tf (1−P)
• T=Ta+2Tp +2τ →η=ηmax=
Tf +Ta+2Tp +2τ
1−P
• Ta =Tp =0 →ηmax=
1+2a
Fondamenti di reti di TLC Prof A.Bovo 21
Protocollo Go-back-n

„ Il trasmettitore può trasmettere fino a n


pacchetti senza aver avuto il riscontro
„ se il riscontro non arriva si ricomincia a
trasmettere dalla prima trama non riscontrata
(“torna indietro di n trame”)
„ possibile funzionamento full-duplex perché i
ritardo negli ACK non sono molto critici

Fondamenti di reti di TLC Prof A.Bovo 22


Protocollo Go-back-n
„ Funzionamento full-duplex
traffico
informativo ricevitore
canale
bidirezionale

ACK ACK

ricevitore
traffico
informativo
- analisi trame ricevute
- inoltro a liv. sup. trame
corrette
- generazione degli ACK

Fondamenti di reti di TLC Prof A.Bovo 23


Protocollo Go-back-n
„ Piggy-backing: gli ACK possono anche essere
inseriti negli header dei pacchetti che viaggiano
in direzione opposta

SN RN Informazione

„ SN: numero di sequenza della trama


„ RN: trama attesa in direzione opposta, ovvero
riscontro cumulativo delle trame fino a RN-1

Fondamenti di reti di TLC Prof A.Bovo 24


Protocollo Go-back-n
„ Trasmettitore:
„ Nlast: ultimo riscontro ricevuto

„ Nc: numero corrente disponibile per prossima trama

„ regole:

– ogni nuova trama viene accettata per la trasmissione


solo se Nc < Nlast + n, altrimenti viene messa in attesa;
se Nc < Nlast + n la trama viene trasmessa con SN pari a
Nc e il valore di Nc viene incrementato di uno (Nc :=
Nc+1);
– ad ogni riscontro RN ricevuto, si pone Nlast = RN-1;
– i pacchetti nella finestra vengono trasmessi senza
vincoli di temporizzazione; alla fine la ritrasmissione
deve ripartire dalla trama Nlast+1.

Fondamenti di reti di TLC Prof A.Bovo 25


Protocollo Go-back-n
„ Ricevitore:
„ regole

– se viene ricevuta correttamente una trama


con SN=RN, questa viene inoltrata ai livelli
superiori e si pone RN:=RN+1;
– ad istanti arbitrari ma con ritardo finito,
RN viene trasmesso al mittente utilizzando
le trame in direzione opposta.
„ intervallo Nlast e (Nlast+n-1): finestra di trasmissione

Fondamenti di reti di TLC Prof A.Bovo 26


Protocollo Go-back-n
(Nlast,Nlast+n-1) (0,5) (1,6) (3,8) (4,9)
0 1 2

SN=0 SN=1 SN=2 SN=3 SN=4 SN=5 SN=6 SN=7 SN=8


RN=0 RN=0 RN=0 RN=0 RN=0 RN=1 RN=1 RN=2 RN=3
A

B
SN=0 SN=1 SN=2
RN=1 RN=3 RN=4

0 1 2 3 4 5 6 7
(Nlast,Nlast+n-1) (0,5) (1,6) (2,7)

Fondamenti di reti di TLC Prof A.Bovo 27


Protocollo Go-back-n
(0,3) (1,4) (2,5)
0 1 2 3 4 5 6 7 8 9

SN=0 SN=1 SN=2 SN=3 SN=4 SN=5 SN=2 SN=3 SN=4 SN=5 ...
RN=0 RN=0 RN=0 RN=1 RN=3 RN=4 RN=5 RN=6 RN=7 RN=8
A

B
SN=0 SN=1 SN=2 SN=3 SN=4 SN=5 SN=6 SN=7 SN=8 SN=9
RN=0 RN=0 RN=1 RN=2 RN=2 RN=2 RN=2 RN=2 RN=3 RN=4 ...

0 1 2 3 4
(0,3) (1,4) (3,6) (4,7) (5,8) (6,9)

Fondamenti di reti di TLC Prof A.Bovo 28


Protocollo Go-back-n

„ Funzionamenti anomali:
„ un ritardo nell’arrivo degli ACK può portare
all’inizio della ritrasmissione
„ cause:
„ ritardo di invio degli ACK (dinamica del

traffico in direzione opposta)


„ errori nelle trame in direzione opposta

Fondamenti di reti di TLC Prof A.Bovo 29


Protocollo Go-back-n
(0,3) (2,5) (4,7)
0 1 2 3

SN=0 SN=1 SN=2 SN=3 SN=0 SN=2 SN=3 SN=4


RN=0 RN=0 RN=0 RN=0 RN=0 RN=1 RN=1 RN=1
A

B
SN=0 SN=1 SN=2 SN=3
RN=2 RN=4 RN=4 RN=4

0 1 2 3 4
(0,3) (1,4)

Fondamenti di reti di TLC Prof A.Bovo 30


Protocollo Go-back-n
(0,3) (3,6) (4,7)
0 1 2

SN=0 SN=1 SN=2 SN=3 SN=0 SN=1 SN=3 SN=4


RN=0 RN=0 RN=0 RN=0 RN=1 RN=1 RN=1 RN=1
A

B
SN=0 SN=1 SN=2 SN=3 SN=4 SN=1 SN=2 SN=3
RN=0 RN=1 RN=2 RN=3 RN=4 RN=4 RN=4 RN=4

0 1 2 3 4
(0,3) (1,4)

Fondamenti di reti di TLC Prof A.Bovo 31


Protocollo Go-back-n

„ Rimedi nel caso di ritardi degli ACK


„ aumentare il time-out

„ aumentare n

„ ma: aumenta ritardo dopo ogni errore

„ rimedio radicale:

– consentire l’invio di trame vuote con la sola


indicazione del numero RN

Fondamenti di reti di TLC Prof A.Bovo 32


Protocollo Go-back-n
(0,3) (1,4) (2,5) (3,6) (4,7) (5,8) (6,9)
0 1 2 3

SN=0 SN=1 SN=2 SN=3 SN=4 SN=5 SN=6 SN=7 SN=8


RN=0 RN=0 RN=0 RN=0 RN=0 RN=0 RN=1 RN=2 RN=3
A

B
SN=0 SN=1 SN=2 SN=3
RN=1

RN=2

RN=3

RN=7

RN=8
RN=2 RN=4 RN=5 RN=6

0 1 2 3 4 5 6 7 8
(0,3) (1,4) (2,5) (3,6)

Fondamenti di reti di TLC Prof A.Bovo 33


Selective Repeat
„ Il go back n impone la ristrasmissione anche di
pacchetti in realta’ ricevuti correttamente
„ come alternativa e’ possibile pensare di
ritrasmettere i soli pacchetti errati: e’ questo il
funzionamento selective repeat
„ Per consentire un funzionamento di tipo SR
sono necessarie funzionalita’ aggiuntive:
„ riordino dei pacchetti fuori sequenza

„ informazione di ACK per ogni pacchetto

Fondamenti di reti di TLC Prof A.Bovo 34


Selective Repeat

„ Riordino pacchetti
„ occorre mantenere un buffer e inoltrare ai

livelli superiori solo le sequenze corrette

„ associato a finestra di trasmissione come go-


back-n

Fondamenti di reti di TLC Prof A.Bovo 35


Selective Repeat

„ Trasmissione degli ACK


„ ACK singoli per ogni pacchetto

– ritrasmissione per i pacchetti senza ACK dopo


un time-out
„ ACK cumulati piu’ bitmap

RN=5 0 1 1 1 0 1 1 1 1 0

„ l’informazione necessaria e’ maggiore

Fondamenti di reti di TLC Prof A.Bovo 36


Continuous ARQ
Calcolo efficienza
Tf 1
• η= =
NsTf Ns
• Selective repeat
1
• Ns =
1−P
• Go−back −n
( ) ( )( ) ( ) ( ) ( ) ( )
• Ns =1⋅ 1−P + K+1P1−P + 2K+1P2 1−P +...+ iK+1Pi 1−P +...=

KP 1+(K−1)P
= ∑(iK+1)P (1−P)=
i
+1=
i=0 1−P 1−P
• KTf ≅Tf +2τ → K=1+2a
⎧ 1−P SR

• η= ⎨ 1−P
⎪ GBN
⎩1+2aP
Fondamenti di reti di TLC Prof A.Bovo 37
Sliding window
Calcolo efficienza
• Casi
• WTf >Tf +2τ → W >1+2a
• WTf <Tf +2τ → W <1+2a
• Senza errori
⎧1 W >1+ 2a

• η = ⎨ WTf = W W <1+ 2a
⎪T +2τ 1+2a
⎩ f
• Con errori
• W >1+2a: come prima
⎧ 1−P SR

η = ⎨ 1−P
⎪⎩1+2aP GBN

• W <1+2a
⎧W (1−P )
⎪ SR
WTf N s W ⎪ 1+2a
η= = =⎨
W (1−P )
Tf +2τ N s (1+2a ) ⎪ GBN (K =W )
⎪⎩(1+2a )[1+ (W −1)P ]

Fondamenti di reti di TLC Prof A.Bovo 38


Osservazioni sul controllo d’errore
„ necessita’ di inzializzare il protocollo
„ I numeri SN e RN devono essere inizializzati

„ deve esistere un momento di inizio non

equivocabile
„ occorre scambiare all’inizio informazione

per l’inizializzazione

Fondamenti di reti di TLC Prof A.Bovo 39


Controllo di flusso

„ Obiettivo:
„ regolare la velocità di invio delle unità informative
da una sorgente ad una destinazione in modo che
tale velocità non sia superiore a quella con la quale
le unità informative vengono smaltite a destinazione
„ Livelli
„ livello di linea (2)

„ livello di trasporto (4)

Fondamenti di reti di TLC Prof A.Bovo 40


Schema di esempio

sorgente destinazione

„ Buffer di ricezione limitato a K


posizioni
„ ritmo di assorbimento dell’utente utente
arbitrario
„ obiettivo: evitare che pacchetti vadano
persi perché all’arrivo trovano il
buffer pieno

Fondamenti di reti di TLC Prof A.Bovo 41


Sliding window flow control

„ è possibile usare un meccanismo come quello


del go back n
„ la sorgente non può inviare più di W trame
(stessa funzione del parametro n) senza aver
avuto il riscontro
„ si pone W=K
„ i riscontri vengono inviati dal ricevitore solo
quando i pacchetti vengono assorbiti
dall’utente

Fondamenti di reti di TLC Prof A.Bovo 42


Sliding window flow control
sorgente SN=0 SN=1 SN=2 SN=3 SN=4 SN=5 SN=6 SN=7

destinazione

RN=2

RN=4
RN=1

buffer
0 1 2 3 4 5 6

utente
0 1 2,3

Fondamenti di reti di TLC Prof A.Bovo 43


Uso del messaggio RNR
„ Il problema del buffer pieno può essere
affrontato
„ trasmettendo regolarmente i riscontri

all’arrivo dei pacchetti


„ usando un messaggio speciale di RNR

(Receiver Not Ready) per segnalare che il


buffer è pieno

Fondamenti di reti di TLC Prof A.Bovo 44


Uso del messaggio RNR
sorgente SN=0 SN=1 SN=2 SN=3 SN=4 SN=5 SN=6 SN=7 SN=8 SN=6

destinazione

RN=5
RN=3

RN=6
RN=1

RN=4

RNR
RN=2

buffer
0 1 2 3 4 5 6

utente
0 1 2,3,4,5

Fondamenti di reti di TLC Prof A.Bovo 45


Uso del campo W
„ Il problema può essere risolto in modo radicale separando i
meccanismi di controllo d’errore e di controllo di flusso a
finestra
„ si inserisce nei riscontri (o nell’header delle trame in
direzione opposta) un campo finestra W
„ il ricevitore invia i riscontri sulla base dell’arrivo dei
pacchetti
„ usa il campo W per indicare lo spazio rimanente nel buffer
„ è questo l’approccio usato nel TCP

Fondamenti di reti di TLC Prof A.Bovo 46


Uso del campo W

sorgente SN=0 SN=1 SN=2 SN=3 SN=4 SN=5 SN=6 SN=7 SN=8 SN=6

destinazione

RN=5 W=1
RN=3 W=3
RN=1 W=3

RN=6 W=4
RN=4 W=2

RN=6 W=0
RN=2 W=3

buffer
0 1 2 3 4 5 6

utente
0 1 2,3,4,5

Fondamenti di reti di TLC Prof A.Bovo 47


Uso del campo W
„ gestione della finestra
„ non è necessario che il ricevitore dica la

“verità” sullo spazio restante R


„ può tenersi un margine di sicurezza (W=R-

m)
„ può aspettare che il buffer si sia svuotato per

una frazione (ad es. W=0 se R<K/2 ed W=R


altrimenti)
„ può usare dei meccanismi adattativi

Fondamenti di reti di TLC Prof A.Bovo 48


Protocolli di linea
„ classificazione „ canali
„ orientati al carattere
„ punto-punto

„ orientati al bit
„ punto-multipunto

„ colloquio „ necessità

„ half-duplex dell’indirizzo nei


„ full-duplex canali punto-
„ relazioni tra le stazioni multipunto
„ master-slave

„ peer-to-peer

Fondamenti di reti di TLC Prof A.Bovo 49


HDLC
High-level Data Link Communications
„ standard ISO
„ deriva dal protocollo proprietario SDLC
(Synchronous Data Link Control) di IBM per
reti SNA
„ può operare in molti modi differenti e con
diversi meccanismi di controllo d’errore e di
flusso
„ half-duplex o full-duplex

„ master-slave o peer-to-peer

Fondamenti di reti di TLC Prof A.Bovo 50


HDLC
„ Modalità di funzionamento:
„ Normal Response Mode (NRM)

– Una stazione primaria è collegata a una o più stazioni


secondarie tipicamente in modalità half-duplex. Solo la
stazione primaria può inviare i comandi e le stazioni
secondarie trasmettono solo a seguito di un permesso
(polling) esplicito inviato dalla stazione primaria
„ Asynchronous Response Mode (ARM)
– Anche in questo caso come nel NRM il colloquio è di tipo
sbilanciato, ma la stazione secondaria ha la possibilità di
iniziare una trasmissione senza il permesso esplicito della
stazione primaria iniziando così un colloquio full-duplex.
(poco usata)

Fondamenti di reti di TLC Prof A.Bovo 51


HDLC
„ Modalità di funzionamento (… continua):
„ Asynchronous Balanced Mode (ABM)

– Fornisce una modalità di funzionamento bilanciato su


configurazioni punto-punto tra stazioni combinate che
possono, in modalità full-duplex, inviare informazioni in
modo indipendente ed asincrono.
– E’ l’unico modo di funzionamento conforme con lo stack
OSI!

Fondamenti di reti di TLC Prof A.Bovo 52


Formato della trama HDLC
1 byte 1 byte
Frame Check
Flag Address Control Information Sequence
Flag
F A C Info FCS F

„ Flag 01111110

„ uso del bit stuffing


„ in alcune configurazioni trasmissione continua
dei flag in caso di mancanza di informazione

Fondamenti di reti di TLC Prof A.Bovo 53


Formato della trama HDLC
1 n byte 1
Frame Check
Flag Address Control Information Sequence
Flag
F A C Info FCS F

0 0 … 1

„ normalmente di 8 bit, ma può essere di n byte


„ l’ultimo bit di ogni byte è usato per indicare se segue un
ulteriore byte del campo A

Fondamenti di reti di TLC Prof A.Bovo 54


Formato della trama HDLC
1 1÷ n 1
Frame Check
Flag Address Control Information Sequence
Flag
F A C Info FCS F

„ L’indirizzo contenuto può essere quello della stazione


destinataria o quello della stazione sorgente
„ nelle modalità sbilanciate (NRM, ARM) è sempre

quello della stazione secondaria


„ nella modalità ABM è quello della stazione

destinataria

Fondamenti di reti di TLC Prof A.Bovo 55


Formato della trama HDLC
1 1÷ n 1 o 2 byte 1
Frame Check
Flag Address Control Information Sequence
Flag
F A C Info FCS F

„ Il campo controllo distingue i tipi di trama e contiene le


informazioni di controllo relative ad ogni tipo
„ i primi bit distinguono il tipo
„ gli altri contengono il controllo vero e proprio

Fondamenti di reti di TLC Prof A.Bovo 56


Formato della trama HDLC
1 1÷ n 1÷2 1
Frame Check
Flag Address Control Information Sequence
Flag
F A C Info FCS F

„ Information (I)
– Sono trame numerate per la trasmissione di informazione d'utente
contenuta nel campo I.
„ Supervisory (S)
– Sono trame numerate per il controllo dell'invio del flusso di informazione
(ad esempio riscontri non associati ad informazione in senso opposto).
„ Unnumbered (U)
– Sono trame non numerate usate per l'invio di informazione di controllo
(ad esempio per l'instaurazione delle connessioni) o per l'invio di
informazione in modalità senza connessione.

Fondamenti di reti di TLC Prof A.Bovo 57


Formato della trama HDLC
1 1÷ n 1÷2 ≥0 1
Frame Check
Flag Address Control Information Sequence
Flag
F A C Info FCS F

„ Contiene l’informazione d’utente (dei livelli superiori)


„ può non essere presente
„ è presente solo nella trame I e nella trame U usate per

trasferimento di informazione in modalità connectionless


„ lunghezza variabile

Fondamenti di reti di TLC Prof A.Bovo 58


Formato delle trame HDLC
1 1÷ n 1÷2 ≥0 2 1
Frame Check
Flag Address Control Information Sequence
Flag
F A C Info FCS F

„ Contiene il codice rivelatore d’errore usato per


riconoscere le trame errate

Fondamenti di reti di TLC Prof A.Bovo 59


Formato della trama HDLC
Frame Check
Flag Address Control Information Sequence Flag
F A C Info FCS F

c1 c2 c3 c4 c5 c6 c7 c8
trame I 0 SN P/F RN

trame S 1 0 Type P/F RN

trame U 1 1 M (1) P/F M (2) X

Fondamenti di reti di TLC Prof A.Bovo 60


Trame S
trame S 1 0 Type P/F RN

„ Sono usate per riscontri (senza piggyback) e


controllo
„ RR (Receiver Ready), campo type 00, che è normalmente usato
come ACK e il campo RN contiene la prossima trama attesa
(riscontro delle trame fino a RN-1)
„ RNR (Receiver Not Ready), campo type 10, serve a bloccare
l'invio di trame da parte dell'altra stazione e,
contemporaneamente a riscontare le trame fino a RN-1
„ REJ (Reject), campo type 01, serve a richiedere la
ritrasmissione delle trame da RN in avanti e,
contemporaneamente, a riscontrare le trame fino a RN-1
„ SREJ (Selective Reject), campo type 11, è usato per richiedere
la ritrasmissione della sola trama con numero RN

Fondamenti di reti di TLC Prof A.Bovo 61


Trame U
trame U 1 1 M (1) P/F M (2) X
Comandi di definizione del modo
SNRM Set normal response mode (SNRME versione estesa)
SARM Set asynchronous response mode (SARME versione estesa)
SABM Set asynchronous balanced mode (SABME versione estesa)
SIM Set inizialization modo
DISC Disconnect
Risposte
UA Unnumbered acknowledgment
DM Disconnect mode
RIM Request inizialization mode
Trasferimento di informazione
UI Unnumbered information
UP Unnumbered poll
Vari
RSET Reset
XID Exchange identification

Fondamenti di reti di TLC Prof A.Bovo 62


Instaurazione della connessione:
modalità NRM
stazione stazione stazione
primaria secondaria secondaria
A B C

B, SNRM, P
B, UA, F
C, SNRM, P

C, UA, F

B, DISC, P
B, UA, F
C, DISC, P

C, UA, F

Fondamenti di reti di TLC Prof A.Bovo 63


Instaurazione della connessione
modalità ABM
stazione stazione
comb. comb.
A B

B, SABM, (P)
A, UA, (F)

B, DISC, (P)
A, UA, (F)

Fondamenti di reti di TLC Prof A.Bovo 64


Esempi di trasferimento dell’informazione:
modalità NRM
B, I 0 0
B, I 1 0
B, I 2 0, P
B, I 0 1
B, I 1 1
B, I 2 1, F

B, I 1 3
B, I 2 3
B, I 3 3, P

B, I 0 0 B, I 0 0
B, I 1 0 B, I 1 0

B, I 2 0, P B, I 2 0, P
B, SREJ 1, F B, REJ 1, F
B, I 1 0 B, I 1 0
B, I 2 0
B, I 3 0, P
B, I 3 0, P

Fondamenti di reti di TLC Prof A.Bovo 65


Esempi di trasferimento dell’informazione:
modalità ABM
B, I 0 0
B, I 1 0
A, I 0 1
B, I 2 0 A, I 1 2
A, I 2 3
A, I 3 3
A, I 4 3
A, I 5 3
A, I 6 3

B, RR 7
A, I 7 3
A, I 0 3
A, I 1 3
B, RR 1,

Fondamenti di reti di TLC Prof A.Bovo 66


Il controllo di congestione
„ le reti a pacchetto consentono una elevata
condivisione delle risorse di rete:
„ risorse trasmissive (canali)

„ buffer di trasmissione e ricezione

„ capacità di processamento dei nodi (CPU)

„ la condivisione di risorse porta l’inconveniente


della congestione:
„ ingresso in rete di più traffico di quello che

la rete può supportare

Fondamenti di reti di TLC Prof A.Bovo 67


Congestione di “traffico”
„ Paragone con il traffico
automobilistico:
„ all’ora di punta nelle strade

un flusso di auto maggiore di


quello supportabile
„ possibili conseguenze:
„ le auto che trovano la via

d’uscita sono meno di quelle


date dai limiti delle strade

Fondamenti di reti di TLC Prof A.Bovo 68


Effetti della congestione
traffico
smaltito

capacità

rete controllata
rete non
controllata

A traffico
offerto

Fondamenti di reti di TLC Prof A.Bovo 69


Rimedi contro la congestione
„ Network design:
„ è possibile immaginare di dimensionare la

rete in modo che lavori sempre con basso


traffico (prima del punto A)
„ problemi:

– non è sempre facile prevedere il traffico in fase di


progetto
– non è conveniente dimensionare la capacità della
rete in funzione del traffico dell’ora di punta
„ analogia con traffico auto: allargare le strade

Fondamenti di reti di TLC Prof A.Bovo 70


Rimedi contro la congestione
„ Regolare il traffico:
„ controllare dinamicamente il traffico in

ingresso in modo che non raggiunga i livelli


che provocano la congestione
„ analogia con traffico auto: mettere un po’ di

vigili in giro

Fondamenti di reti di TLC Prof A.Bovo 71


Meccanismi della congestione: esempio
20
A X 30 10 B
Z
10
20 50
C Y
D

„ capacità in kbit/s
„ pacchetti di 1000 bit
„ relazioni di traffico: λAB,λCD in pacchetti/s

Fondamenti di reti di TLC Prof A.Bovo 72


Meccanismi della congestione: esempio
20
A X 30 10 B
Z
10
20 50
C Y
D

„ Scenario 1: „ nessuna
„ λ
congestione: la
AB=9
„ λ
rete supporta il
CD=0
traffico offerto!

Fondamenti di reti di TLC Prof A.Bovo 73


Meccanismi della congestione: esempio
20
A X 30 10 B
Z
10
20 50
C Y
D

„ il traffico è maggiore della


„ Scenario 2:
capacità
„ λ
AB=11 „ il nodo Z inizia a perdere
„ λ pacchetti
CD=0
„ se è attivo meccanismo di
ritrasmissione si saturano
anche canali a monte
Fondamenti di reti di TLC Prof A.Bovo 74
Meccanismi della congestione: esempio
20
A X 30 10 B
Z
10
20 50
C Y
D

„ Scenario 3: „ nessuna
„ λ
congestione: la
AB=9
„ λ
rete supporta il
CD=9
traffico offerto!

Fondamenti di reti di TLC Prof A.Bovo 75


Meccanismi della congestione: esempio
20
A X 30 10 B
Z
10
20 50
C Y
D

„ Scenario 4: „ relazione di
„ λ
traffico AB in
AB=11
„ λ
congestione!
CD=9

Fondamenti di reti di TLC Prof A.Bovo 76


Controllo della congestione
„ Nell’esempio basta introdurre dei meccanismi che
impediscano alla sorgente A di immettere più di
10 pacc/s in rete
„ Nella realtà i problemi sono:
„ trovare un limite opportuno al traffico

„ tenere conto della condivisione delle risorse (il

limite dipende dal traffico degli altri flussi


„ Controllore globale del traffico in ingresso: non
realizzabile
„ In pratica si usano meccanismi di controllo
distribuiti del traffico in ingresso in rete

Fondamenti di reti di TLC Prof A.Bovo 77


Controllo di congestione e di flusso
Generalità

„ Portata
„ In accesso alla rete
„ Internodo
– Hop-by-hop
– Edge-to-edge
„ End-to-end
„ Tipologia
„ Metodi reattivi
– Operano con schema a catena chiusa
– Sono previsti a differenti scale temporali
„ Metodi preventivi
– Operano con schema a catena aperta
„ Tecnica
„ Credit-based
– Window scheme
„ Rate-based
– Tecnica isaritmica
– Leaky buket
– Token bucket

Fondamenti di reti di TLC Prof A.Bovo 78


Controllo a finestra

„ Approccio hop-by-hop
„ applicare la limitazione su ogni canale della

rete

congestione

Fondamenti di reti di TLC Prof A.Bovo 79


Controllo a finestra
„ Approccio hop-by-hop
„ limite della finestra

⎧ W ⎫
c eff = min ⎨ c , ⎬
„ prodotto banda ritardo:⎩ RTT ⎭

„
W = veloci
approccio non adatto a canali molto c ⋅ RTT

Fondamenti di reti di TLC Prof A.Bovo 80


Controllo a finestra
„ Approccio end-to-end
„ la finestra viene variata dinamicamente in base alle

condizioni della rete

Rete

Fondamenti di reti di TLC Prof A.Bovo 81


Controllo a finestra
„ Explicit congestion notification

Fondamenti di reti di TLC Prof A.Bovo 82


Controllo a finestra
„ Explicit congestion notification
„ monitoraggio dello stato di congestione:

– livello di riempimento delle code


– utilizzo della CPU
„ segnalazione per limitare il traffico in ingresso
– invio di pacchetti verso tutte le sorgenti
– intercettazione dei pacchetti in direzione opposta e settaggio
di un opportuno flag
– settaggio del flag negli stessi pacchetti che sperimentano la
congestione (la destinazione si può occupare di ridurre la
finestra)

Fondamenti di reti di TLC Prof A.Bovo 83


Controllo di congestione e di flusso
Rate-based

„ Tecnica isaritmica
„ Utilizzata tipicamente all’accesso della rete

„ Un numero fisso di permessi circola nella rete

„ Un pacchetto entra in rete se nel nodo di ingresso vi

é un permesso che viene consumato


„ Un pacchetto che esce dalla rete genera un permesso

nel nodo di uscita


„ Tecniche a bucket
„ Utilizzate sia in accesso, sia tra nodi

„ Due tecniche

– Leaky bucket
– Token bucket

Fondamenti di reti di TLC Prof A.Bovo 84


Controllo di congestione e di flusso
„
Rate-based
Controllo di flusso con leaky
bucket
Packets
„ Buffer pacchetti con capacità Ps Pb

W (pacchetti)
W 1
„ Un pacchetto trasmesso

consuma un permesso
Permits
„ Ogni r secondi viene generato 1/r

un permesso
Packets
„ Perde pacchetti quando ne ha Ps Pb

accumulati W
1
„ Controllo di flusso con token
bucket W
Permits
„ Buffer dei permessi con 1/r

capacità W (permessi)
„ Ogni r secondi viene generato

unFondamenti
permesso di reti di TLC Prof A.Bovo 85
Controllo di congestione e di flusso
Rate-based
C [Mbit/s]

Ps = 1 Mbit / s 1.2
TON = 0.8 s 1.0
0.8
TOFF = 1 s 0.6
0.4
t [s]
Lp = 25,000 byte 0.2
0
0 0.5 1.0 1.5 2.0 2.5 3.0

C [Mbit/s]
Pb = 1 Mbit / s
r = 0 .3 s 1.2
1.0
W = 10 0.8
0.6
0.4
0.2 t [s]
0
0 0.5 1.0 1.5 2.0 2.5 3.0

C [Mbit/s]

1.2
1.0
0.8
0.6
0.4
0.2 t [s]
0
0 0.5 1.0 1.5 2.0 2.5 3.0

Fondamenti di reti di TLC Prof A.Bovo 86


Routing
„ L’instradamento è alla base della funzionalità di rete
implementata dalle entità di livello 3 (OSI) dei nodi
„ consente a due nodi A e B, non collegati direttamente, di
comunicare tra loro mediante la collaborazione di altri nodi
posti su un cammino nella rete che connette A e B

Fondamenti di reti di TLC Prof A.Bovo 87


Routing
„ Le entità di livello 3 sul cammino basano la commutazione
(forwarding) verso il SAP d’uscita sulla base di un indirizzo o
di una etichetta posta sul pacchetto
„ La corrispondenza tra indirizzo e SAP d’uscita è mantenuta dal
nodo in una tabella di routing

Entità A
Entità B deve instradare Entità C

Fondamenti di reti di TLC Prof A.Bovo 88


Routing

„ La politica di routing è quella che definisce i criteri di


scelta del cammino nella rete per i pacchetti che
viaggiano tra un nodo di ingresso ed uno di uscita
„ e dunque quella che costruisce le tabelle di routing che
vengono usate dai nodi per effettuare il forwarding
„ il tipo di rete (datagram, circuito virtuale) determina il
tipo di tabelle da utilizzare e i gradi di libertà della
politica di routing nella scelta dei cammini

Fondamenti di reti di TLC Prof A.Bovo 89


Algoritmi di instradamento
Tassonomia

Algoritmi di
instradamento

Instradamento Instradamento Instradamento


senza tabella gerarchico con tabella

Random Flooding Source routing Dinamico Fisso

Distance vector Link state

Fondamenti di reti di TLC Prof A.Bovo 90


Routing e capacità
„ Nelle reti broadcast (come le LAN non switched) non vi
sono nodi che effettuano instradamento ed il mezzo
condiviso può essere usato a turno
„ Il risultato è che il traffico massimo che può essere
smaltito dalla rete (capacità) è al più pari alla capacità del
canale
„ Nelle reti magliate la trasmissione di un pacchetto non
occupa tutte le risorse di rete e più canali e cammini
possono essere usati in parallelo
„ E’ facile comprendere come in questo caso la politica di
instradamento abbia un forte impatto sul traffico
smaltibile dalla rete

Fondamenti di reti di TLC Prof A.Bovo 91


Routing e capacità
„ Ad esempio:
„ se il traffico viene fatto passare da pochi cammini nella

rete il traffico massimo sarà basso

Capacità di tutti i link = C


Traffico massimo = C
D2

S2
D1

S1

Fondamenti di reti di TLC Prof A.Bovo 92


Routing e capacità

„ se invece si usano molti cammini ripartendo il carico il


massimo traffico sarà elevato
Capacità di tutti i link = C
Traffico massimo = 3C
D2

S2
D1

S1

Fondamenti di reti di TLC Prof A.Bovo 93


Politiche di routing per reti datagram
„ Il tipo di inoltro (forwarding) utilizzato dalle reti datagram
condiziona la scelta delle politiche di routing
„ Ricordiamo che il forwading datagram è
„ Basato sull’indirizzo di destinazione (destination-based …)

„ Con inoltro al nodo successivo (…next-hop routing)

„ Come conseguenza:
„ I pacchetti diretti ad una stessa destinazione D che giungono in

un router R seguono lo stesso percorso da R verso D


indipendentemente dal link di ingresso in R

D
R

Fondamenti di reti di TLC Prof A.Bovo 94


Politiche di routing per reti datagram
„ Quindi il vincolo che ogni politica di routing deve soddisfare è che
„ l’insieme dei cammini da ogni sorgente verso una destinazione D

sia un albero, per ogni possibile destinazione D


S4 S5

D
S6
S3

S1
S2
„ Non è dunque possibile instradare in modo indipendente ogni
relazione di traffico (coppia sorgente-destinazione)

Fondamenti di reti di TLC Prof A.Bovo 95


Cammini minimi
„ La politica di routing utilizzata sin dall’introduzione
delle reti TCP/IP è basata sul calcolo dei cammini
minimi
„ Il calcolo è effettuato sul grafo che rappresenta la rete
nel quale ad ogni arco è associato un peso
opportunamente scelto (metrica)
„ I motivi di questa scelta sono fondamentalmente:
„ i cammini minimi verso una destinazione formano un

albero (l’albero dei cammini minimi);


„ esistono degli algoritmi di calcolo dei cammini

minimi che possono essere eseguiti in modo


distribuito nei nodi della rete.
„ dato un grafo e dei pesi associati agli archi il calcolo del
cammino minimo si può ottenere con algoritmi di
complessità polinomiale nel numero di nodi.
Fondamenti di reti di TLC Prof A.Bovo 96
Richiami sui Grafi

„ digrafo G(N,A)
„ N nodi

„ A={(i,j), i∈N, j∈N} archi (coppia ordinata di nodi)

„ percorso: (n1, n2, …, nl) insieme di nodi con (ni, ni+1)∈A


„ cammino: percorso senza nodi ripetuti
„ ciclo: percorso con n1= nl
„ digrafo connesso: per ogni coppia i e j esiste almeno un
cammino da i a j
„ digrafo pesato: dij peso associato all’arco (i,j) ∈A
„ lunghezza di un cammino (n1, n2, …, nl):
dn1, n2+ dn2,n3+…+dn(l-1), nl

Fondamenti di reti di TLC Prof A.Bovo 97


Problema del cammino minimo
Dato
Dato un
un digrafo
digrafo G(N,A)
G(N,A) ee duedue nodi
nodi ii ee j,j,
trovare
trovare ilil cammino
cammino di di lunghezza
lunghezza
minima
minima tra
tra tutti
tutti quelli
quelli che
che consentono
consentono
di
di andare
andare ii aa jj

„ il problema è di complessità polinomiale

Proprietà:
Proprietà:
se
se ilil nodo
nodo kk èè attraversato
attraversato dal
dal cammino
cammino minimo
minimo
da
da ii aa j,j, ilil sotto-cammino
sotto-cammino fino
fino aa kk èè anch’esso
anch’esso
minimo
minimo

Fondamenti di reti di TLC Prof A.Bovo 98


Algoritmo di Bellman-Ford

„ Ipotesi:
„ pesi sia positivi che negativi

„ non esiste alcun ciclo di lunghezza

negativa
„ Scopo:
„ trovare i cammini minimi tra un nodo

(sorgente) e tutti gli altri nodi, oppure


„ trovare i cammini minimi da tutti i nodi

ad un nodo (destinazione)

Fondamenti di reti di TLC Prof A.Bovo 99


Algoritmo di Bellman-Ford
„ Variabili aggiornate nelle iterazioni:
„ Di
(h) lunghezza del cammino minimo tra il nodo 1

(sorgente) e il nodo i composto da un numero di archi ≤ h


„ Valori iniziali: (h)
D1 = 0 ∀h
Di( 0 ) = ∞ ∀i ≠ 1
„ Iterazioni:

D i
( h +1) ⎡
⎢⎣
(h)
j
(
= min Di , min D j + d ji ⎤
(h)
⎥⎦
)
„ l’algoritmo termina in N-1 passi

Fondamenti di reti di TLC Prof A.Bovo 100


Algoritmo di Bellman-Ford in forma
distribuita
„ Si dimostra che l’algoritmo converge in un numero finito di
passi anche nel caso in cui viene implementato in modo
distribuito
„ Periodicamente i nodi inviano l’ultima stima del cammino
minimo ai vicini e aggiornano la propria stima secondo il
criterio delle iterazioni

Dj

⎢⎣ j
(
Di := min ⎡ Di , min D j + d ji ⎤
⎥⎦
)
Fondamenti di reti di TLC Prof A.Bovo 101
Algoritmo di Bellman-Ford in pratica

„ Per poter applicare praticamente l’algoritmo (e saper


fare gli algoritmi) si può procedere in questo modo:
„ Si usano delle etichette per i nodi (n, L) dove n indica il
primo nodo sul cammino minimo ed L la sua lunghezza
„ Le etichette vengono aggiornate guardando le etichette
dei vicini (l’ordine non conta grazie alla proprietà
dell’algoritmo distribuito)
„ Quando le etichette non cambiano più si ricostruisce
l’albero dei cammini minimi ripercorrendo le etichette

Fondamenti di reti di TLC Prof A.Bovo 102


Esempio: Bellman-Ford
(1, 2) (5, 3)
(1, 2) (1, 5)
(1, 2) (1, 5)
(-, ∞) 3 (-, ∞)
2 3 (5, 4)
(1, 0)
(1, 0) 2 4 (3, 9)
5
(1, 0) (-, ∞)
(1, 0) 1 1 6 (-, ∞)
2
1 2
4 1 5
(-, ∞) (-, ∞)
(1, 1) (-, ∞)
(1, 1) (4, 2)
(1, 1) (4, 2)

Fondamenti di reti di TLC Prof A.Bovo 103


Algoritmi di Dijkstra
„ Ipotesi:
„ archi con pesi positivi

„ Scopo:
„ trovare il cammini tra un nodo 1 (sorgente) e

tutti gli altri nodi


„ Valori iniziali:
P = {1},
D1 = 0, D (0)
j = d1 j ∀j ≠ 1
„ si assume dij=∞ se l’arco tra i e j non esiste

Fondamenti di reti di TLC Prof A.Bovo 104


Algoritmi di Dijkstra
„ Iterazioni:
1. trova i ∈ (N-P) tale che :
Di = min D j
j∈( N − P )

e poni
P: = P ∪ {} i . Se P = N , allora STOP.
2. per tutti j ∈ (N-P) poni :
[ (
D j = min D j , min Dk + d kj
k
)]
3. vai allo step 1.
Fondamenti di reti di TLC Prof A.Bovo 105
Algoritmi: complessità
„ L’algoritmo di Bellman-Ford ha una complessità:
„ N-1 iterazioni

„ N-1 nodi per iterazione

„ N-1 confronti per nodo

– Complessità: O(N3)
„ L’algoritmo di Dijkstra ha una complessità:
„ N-1 iterazioni

„ in media N operazioni per iterazioni

– Complessità: O(N2)
„ L’algoritmo di Dijkstra è in generale più conveniente

Fondamenti di reti di TLC Prof A.Bovo 106


Algoritmi di Dijkstra in pratica

„ Si applica lo stesso criterio di Bellman-Ford


„ L’unica differenza consiste nella distinzione tra
etichette temporanee e permanenti
„ all’inizio l’unica etichetta permanente è quella
della sorgente
„ ad ogni iterazione l’etichetta temporanea con la
lunghezza più corta diventa permanente

Fondamenti di reti di TLC Prof A.Bovo 107


Esempio: Dijkstra
(1, 2) (5, 3)
(1, 2) (1, 5)
(1, 2) (1, 5)
(-, ∞) 3 (-, ∞)
2 3 (5, 4)
(1, 0)
(1, 0) 2 4 (3, 9)
5
(1, 0) (-, ∞)
(1, 0) 1 1 6 (-, ∞)
2
1 2
4 1 5
(-, ∞) (-, ∞)
(1, 1) (-, ∞)
(1, 1) (4, 2)
(1, 1) (4, 2)

Fondamenti di reti di TLC Prof A.Bovo 108


Protocolli di Routing

„ Con questo nome si indicano in genere due diverse


funzionalità, anche se legate fra loro
„ lo scambio fra i router di informazioni di

raggiungibilità
„ la costruzione delle tabelle di routing

„ formalmente il protocollo è solo la parte che descrive lo


scambio di messaggi tra i router
„ in realtà questo scambio è poi strettamente legato al
modo con cui sono calcolate le tabelle di routing

Fondamenti di reti di TLC Prof A.Bovo 109


Protocolli di Routing

‹ Per gestire lo scambio di informazioni tra i


router ed eseguire il calcolo del cammino
minimo esistono due grandi famiglie di
protocolli

Î Distance Vector
Î Link State

Fondamenti di reti di TLC Prof A.Bovo 110


Distance Vector
‹ l’informazione sulla raggiungibilità è costituita dal
Distance Vector : [indirizzo, distanza]

Î la distanza è una stima che il nodo


possiede

‹ Il DV è inviato ai soli nodi adiacenti

‹ la stima delle distanze avviene tramite Bellman-Ford


distribuito

Fondamenti di reti di TLC Prof A.Bovo 111


Distance Vector
‹ Ogni nodo invia il DV

Î periodicamente
Î se il risultato di un ricalcolo differisce dal
precedente

‹ Ogni nodo esegue il ricalcolo delle distanze se

Î riceve un DV diverso da quello memorizzato in


precedenza
Î cade/nasce una linea attiva a cui è connesso

Ricalcolo: Dj’ = mink [ Dk + dkj ]


Fondamenti di reti di TLC Prof A.Bovo 112
Link State
„ Ogni nodo impara a conoscere i nodi e le destinazioni sue
adiacenti, e le relative distanze per raggiungerle
„ Ogni nodo invia a tutti gli altri nodi (flooding) queste
informazioni mediante dei Link State Packet (LSP)

„ Tutti i nodi si costruiscono un database di LSP e una


mappa completa della topologia della rete
„ Sulla base di questa informazione vengono calcolati i
cammini minimi verso tutte le destinazioni (ad esempio
con Dijkstra)

Fondamenti di reti di TLC Prof A.Bovo 113


Link State
„ Vantaggi:

„ più flessibile in quanto ogni nodo ha una mappa


completa della rete (routing ottimale)
„ non è necessario inviare l’informazione (LSP)
periodicamente ma solo dopo un cambiamento
„ tutti i nodi vengono subito informati dei
cambiamenti (in particolare topologici)

Fondamenti di reti di TLC Prof A.Bovo 114


Link State
„ Svantaggi:

„ è necessario un protocollo dedicato a


mantenere l’informazione sui vicini (Hello)
„ è necessario l’utilizzo del flooding
„ è necessario un riscontro dei pacchetti di
routing inviati
„ difficile da implementare

Fondamenti di reti di TLC Prof A.Bovo 115


Link State: esempio
R1 R3
2 R4
a
1 4
R2

b
R5
a 1
c b 1 LSP generato da R2
c 1
R2 0
R1 2
R3 4

Fondamenti di reti di TLC Prof A.Bovo 116


X.25
Generalità

„ X.25
„ Protocollo precedentemente più diffuso per reti dati
„ Specifica l’interfaccia tra host (DTE) e rete (DCE)
„ Architettura protocollare
„ Strato fisico: X.21 oppure V.24 (cioé la EIA RS-232-F)
„ Strato di collegamento: LAP-B (sottoinsieme di HDLC)
„ Strato di rete: protocollo PLP
„ Servizi resi disponibili
„ Chiamata virtuale (VC)
„ Circuito virtuale permanente (PVC)

User data
Transport layer

Layer 3
Header
Layer 3
LAP-B LAP-B
Header Trailer

Layer 2 F A C FCS F

Fondamenti di reti di TLC Prof A.Bovo 117


X.25
Caratteristiche principali

„ Strato 2
„ Unità informativa: trama
„ Protocollo LAP-B, derivato da HDLC in modalità ABM
– Numerazione modulo 8, o modulo 128, o modulo 32768
– Protocollo ARQ Go-back-n con modulo 8 o 128, Selective Reject con modulo 128 o
32768
„ Strato 3
„ Unità informativa: pacchetto
„ Multiplazione
– LCI usa 12 bit
– Fino a 4095 circuiti virtuali possono essere multiplati su un unico collegamento fisico
„ Controllo di sequenza (rilevazione perdita di pacchetti)
– Numerazione modulo 8, oppure 128, oppure 32768
– Realizzato con protocollo ARQ Go-back-n (NACK implementato da pacchetti REJ)
„ Controllo di flusso
– Sliding window con opportuna apertura Ws (default Ws=2)
„ Massima dimensione di pacchetto e finestra negoziate all’instaurazione
– Max packet size: 16, 32, 64, 128, 256, 512, 1024, 2048, 4096 bytes (default 128)
– Max window size: Ws=7, 127, 32767

Fondamenti di reti di TLC Prof A.Bovo 118