...

Capitolo 8 Strato di Collegamento- Accesso Multiplo e Reti in Area

by user

on
Category: Documents
19

views

Report

Comments

Transcript

Capitolo 8 Strato di Collegamento- Accesso Multiplo e Reti in Area
Capitolo 8
Strato di CollegamentoAccesso Multiplo e Reti in Area
Locale
1
Sommario del Capitolo
  Servizi offerti dallo Strato di Collegamento
o 
o 
o 
o 
Rivelazione di errore e controllo di errore (ARQ)
Indirizzamento
Controllo di flusso
Accesso Multiplo
  Reti in Area Locale
o 
o 
o 
La famiglia delle Reti Ethernet
L’interconnessione di Reti in Area Locale
Il protocollo PPP
  Reti a Circuito Virtuale
o 
o 
Generalità
Indirizzamento
  Introduzione alle Reti ATM
o 
o 
o 
Architettura Protocollare
Servizi Offerti
Virtualizzazione dello Strato di Collegamento
2
Il Servizio di Base offerto dallo
Strato di Collegamento
  Il servizio di base offerto dallo Strato di
Collegamento è quello di permettere il trasferimento
di interi datagrammi (cioè, di pacchetti generati dallo
Strato di Rete) da un nodo (utente terminale o
Commutatore) ad uno ad esso adiacente attraverso un
singolo canale fisico.
  Il canale fisico che collega una coppia di nodi adiacenti
può essere
o 
o 
dedicato esclusivamente alla comunicazione della coppia di
nodi in oggetto (canale punto-punto);
Condiviso (ovvero, utilizzato) da più coppie di nodi che
vogliono comunicare tra di loro simultaneamente (canale
broadcast).
3
Strato di Collegamento- Contesto
Operativo
I datagrammi vengono trasferiti da differenti protocolli di
Collegamento mediante canali diversi:
o 
esempio: Ethernet sul primo collegamento, rilancio delle
trame sui collegamenti intermedi e 802.11 sull’ultimo
collegamento.
 
Ogni protocollo di collegamento fornisce servizi differenti.
Analogia
 
viaggio da Princeton a Losanna
i. 
macchina da Princeton fino all’aeroporto JFK;
ii. 
aereo dall’aeroporto JFK a Ginevra;
iii. 
treno da Ginevra a Losanna.
 
turista= datagramma
 
segmento di trasporto= collegamento di comunicazione
 
modo di trasporto= protocollo dello strato di collegamento.
 
4
Strato di Collegamento- Servizio di
Base (1/2)
Terminologia:
  hosts and router sono i nodi
  i canali di comunicazione che
collegano nodi adiacenti lungo
un cammino di comunicazione
sono i collegamenti (link)
o  collegamenti wired
o  collegamenti wireless
o  LANs
  il pacchetto di strato-2 è
una trama, datagramma
incapsulato
Lo strato di collegamento ha la
responsabilità di trasferire datagrammi da
un nodo ad un nodo adiacente su un
collegamento che può essere dedicato
(punto-punto) o condiviso (broadcast).
Baccarelli,
Cordeschi, Patriarca, Polli
5
Strato di Collegamento: Servizio di
Base (2/2)
  I canali di comunicazione che collegano nodi
adiacenti lungo un cammino sono i collegamenti
(canali trasmissivi o “link”). Essi possono
essere:
o 
o 
cablati
wireless (radio)
  Le unità di dati scambiate dai protocolli a
livello di Strato di Collegamento sono
chiamate trame (frame).
  I protocolli a livello di Strato di Collegamento
si occupano del trasporto di Trame lungo un
singolo canale di comunicazione.
6
Modalità di Trasmissione tra coppie
di nodi (1/5)
modalità che una coppia di nodi
possono adottare per trasferire segnali tra di
loro attraverso il canale fisico che li collega?
  Quali sono le
7
Modalità di Trasmissione (2/5)
  Ad una via (unidirezionale): dalla sorgente S
verso al destinazione D.
S
D
  A due vie (bidirezionale): tra 2 terminali T1,
T2.
T1
T2
(Duplexing)
8
Modalità di Trasmissione
Bidirezionale (Duplexing) (3/5)
  Duplexing a divisione di frequenza
(FDD: Frequency Division Duplexing)
T1
f1
f2
T2
T1 --> T2 T2 -->T1
f1
f2
B1
B2
Frequenza
(Hz)
  Duplexing a divisione di tempo (TDD: Time Division
Duplexing)
T1
T2
T1 --> T2
T2 --> T1
T1 --> T2
T2 --> T1
…
Tempo
(sec)
  Duplexing a divisione di spazio
T1
Collegamento 1
Collegamento 2
T2
9
Modalità di Trasmissione
Bidirezionale Full-Duplex e HalfDuplex (4/5)
Consideriamo la trasmissione bidirezionale tra due
terminali (nodi) T1 e T2.
T1
T2
Full-Duplex quando sia T1 che
T2 possono trasmettere e ricevere simultaneamente.
  La trasmissione è detta Half-Duplex quando
alternativamente, T1 trasmette e T2 riceve e, poi, T2
trasmette e T1 riceve.
  La modalità di trasmissione Full-Duplex è detta anche
bidirezionale simultanea. La modalità di trasmissione
Half-Duplex è detta anche bidirezionale alternata.
  La trasmissione è detta
10
Modalità di Trasmissione tra
Sorgente e Destinazione (5/5)
 
Unicast: da una sorgente S verso una sola destinazione D
(es. telefono)
D
S
 
Broadcast: da una sorgente
verso tutte le destinazioni
(es. radio, televisione “in
chiaro”)
 
Multicast: da una sorgente
verso solo alcune
S
destinazioni (es.
televisione “criptata”,
video-conferenza)
D
S
D
D
D
D
D
S
D
D
D
D
11
Ulteriori Servizi offerti dallo Strato
di Collegamento (1/3)
  Gli ulteriori servizi che i protocolli di Strato di
Collegamento possono offrire sono:
o 
o 
o 
o 
o 
o 
la delimitazione delle trame (frames);
l’indirizzamento delle trame;
la rivelazione degli (eventuali) errori introdotti dal canale;
il recupero, quando richiesto, del corretto trasferimento
delle trame in caso di errori (controllo di errore mediante
tecniche ARQ);
il controllo della velocità di trasferimento delle trame dal
nodo-sorgente al nodo-destinazione (controllo di flusso);
la gestione (instaurazione, abbattimento e reinizializzazione) della connessione di strato di collegamento.
12
Ulteriori Servizi offerti dallo Strato
di Collegamento (2/3)
  Delimitazione di trame (Framing):
o  I protocolli incapsulano i datagrammi generati dallo
Strato di Rete all’interno di un frame di Strato di
Collegamento;
o  Per identificare origine e destinatario di ciascuna
trama, vengono utilizzati indirizzi di Strato di
Collegamento (detti anche indirizzi MAC).
  Trasferimento affidabile dei datagrammi
o  E’ considerato non necessario nei collegamenti che
presentano un basso numero di errori (fibra ottica,
cavo coassiale e doppino intrecciato)
o  E’ spesso utilizzata nei collegamenti soggetti a
elevati tassi di errori (es.: collegamenti radio)
13
Ulteriori Servizi offerti dallo Strato
di Collegamento (3/3)
  Controllo di flusso:
o 
Evita che il nodo trasmittente saturi la memoria
tampone presente presso il nodo ricevente.
  Rivelazione degli errori:
o 
o 
gli errori sono causati dall’attenuazione del segnale
e dal rumore;
il nodo ricevente individua la presenza di errori
grazie all’inserimento, da parte del nodo
trasmittente, di bit per il controllo di errore
all’interno delle trame trasmesse.
14
Adattatori (1/3)
  Per ogni assegnato canale di comunicazione tra coppie
di nodi adiacenti, il protocollo di Strato di
Collegamento è realizzato in un Adattatore.
  Un Adattatore è una scheda PCMCIA (detta anche
Network Interface Card(NIC)) che è costituita da
RAM, DSP chips e linee di collegamento.
Nodo Tr.
Nodo Ric.
Datagramma
Datagramma
Frame
Canale Fisico
Adattatore
Frame
Adattatore
Baccarelli,
Protocollo
di Strato
di Collegamento
Cordeschi,
Patriarca,
Polli
15
Adattatori- Funzionamento (2/3)
 
 
L’Adattatore al lato Trasmittente:
i. 
Incapsula il datagramma in una trama
(frame);
ii.  Invia il frame nel canale fisico.
L’Adattatore al lato Ricevente:
i. 
Effettua le funzioni di rivelazione/controllo
degli errori sul frame ricevuto;
ii.  Se non sono stati rivelati errori nel frame
ricevuto, estrae il datagramma dal frame e
passa il datagramma allo Strato di Rete
presso il nodo-Ricevente.
16
Adattatori- Funzionamento (3/3)
  Tutti i servizi offerti dal protocollo di Strato di
Collegamento sono attuati dagli Adattatori presenti al
Nodo-Tr. e al Nodo-Ric.
  Un Adattatore è un sistema Semi-Autonomo, ossia è
un sistema che è in grado di svolgere alcuni servizi
(quali la rivelazione e il controllo degli errori sui frame
ricevuti) autonomamente, ossia senza il controllo dello
Strato di Rete del nodo a cui l’Adattatore appartiene.
  Ad esempio, un Adattatore può ricevere un frame,
verificare se il frame contiene errori, e ,se vi sono
errori, scartare autonomamente il frame, senza
interpellare lo Strato di Rete del nodo a cui
l’Adattatore appartiene.
17
Indirizzamento al Livello di Strato di
Collegamento (1/3)
Ciascun Adattatore ha un suo proprio indirizzo, in
generale noto come Indirizzo MAC.
  Un indirizzo MAC è costituito da 6 bytes (48 bits) e
il contenuto di ogni byte è espresso mediante una
coppia ordinata di cifre esadecimali.
  Le 16 cifre della numerazione esadecimale sono:
0, 1, 2, 3, 4, 5, 6, 7, 8 , 9, A, B, C, D, E, F.
  Esempi di indirizzi MAC:
i.  1A- 23- F9- CD- 06- 9B
ii.  88- B2- 2F- 54- 1A- 0F
iii.  49- BD- D2- C7- 56- 2A
 
18
Indirizzamento MAC (2/3)
  Ogni Adattatore ha un unico indirizzo MAC
Indirizzo Broadcast=
FF-FF-FF-FF-FF-FF
1A-2F-BB-76-09-AD
= Adattatore
71-65-F7-2B-08-53
LAN
(wired o
wireless)
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
19
Proprietà degli Indirizzi MAC (3/3)
uno e uno solo
indirizzo MAC (unicità dell’Indirizzamento MAC).
  L’indirizzo MAC è permanente, ossia non cambia
quando l’adattatore cambia area geografica di
funzionamento.
  L’indirizzo MAC è piatto (ossia, non è di tipo
gerarchico). Ciò significa che non vi è alcun legame tra
l’indirizzo MAC di un adattatore e la regione
geografica in cui l’adattatore si trova ad operare.
  L’indirizzo MAC per frames di tipo Broadcast (cioè,
per frames che hanno come destinatari tutti gli
adattatori presenti nella rete) è:
FF-FF-FF-FF-FF-FF
  Ad ogni Adattatore corrisponde
20
Servizi Offerti dallo Strato di
Collegamento
21
Servizio di Rivelazione degli Errori
(1/3)
  Ha lo scopo di rivelare la presenza di eventuali
errori introdotti dal canale trasmissivo e
presenti (eventualmente) nel frame ricevuto
dal nodo-destinazione.
  Per essere attuato, è richiesto l’impiego di un
codice a rivelazione degli errori.
  Poiché la capacità di rivelazione degli errori di
un (qualsiasi) codice è sempre finita, non
rivelare errori nel frame ricevuto non assicura
che il frame ricevuto è privo di errori.
22
Attuazione della Rivelazione degli
Errori (2/3)
  EDC= Error Detection and Correction
  D= Dati che devono essere protetti da errori e ai quali
vengono aggiunti dei bit EDC.
Datagram
Datagram
Yes
All
Bits in D’ OK?
detection
Error-chiedi la
ritrasmissione del frame
d data bits
D
No
EDC
D’
EDC’
Bit-error prone link
23
Servizio di Rivelazione degli Errori
(3/3)
riveli errori
nel frame ricevuto, il nodo ricevente chiede al
nodo trasmittente di ri-trasmettere di nuovo
il frame in oggetto.
  Nel caso in cui il nodo ricevente
  Quindi, il Servizio di Rivelazione degli errori è
sempre attuato in congiunzione col Servizio di
Controllo degli Errori mediante strategie di
Automatic Repeat Request (Sistemi ARQ).
24
Servizio di Recupero degli
Errori mediante Strategie di
tipo ARQ
25
Trasferimento Dati AffidabileDefinizione (1/2)
Supponiamo che il nodo NT trasmetta frame
al nodo NR attraverso un canale che
introduce errori.
  Per definizione, il trasferimento di frame da
NT a NR è detto affidabile se:
 
i. 
ii. 
iii. 
Tutti i frame sono ricevuti da NR senza errori;
Ciascun frame privo di errori è ricevuto da NR
una ed una sola volta (no duplicazione di frame
corretti);
I frame corretti sono ricevuti da NR nello stesso
ordine in cui sono stati trasmessi da NT.
26
Trasferimento Dati Affidabile
(2/2)
  Lo scopo del Servizio di Recupero degli errori è quello
di dar luogo ad un trasferimento di frame affidabile
impiegando un canale trasmissivo che introduce errori
nei frame in transito.
Processo
trasmittente
Processo
ricevente
Processo
trasmittente
Protocollo
X affidabilità
Canale affidabile
Processo
ricevente
Protocollo
X affidabilità
Canale
Canale non
non affidabile
affidabile
27
Schema Generale di un Sistema ARQ
di tipo punto-punto (1/3)
Nodo
sorgente
Frame trasmesso
Riscontro (ACK/NACK)
Canale diretto
Canale di
Ritorno
Frame trasmesso
Nodo
destinazione
Riscontro (ACK/NACK)
E’ supposto che:
  Il Canale Diretto possa introdurre errori e/o perdite, così che il
frame ricevuto non coincida col frame trasmesso o non venga mai
ricevuto.
  Il Canale di Ritorno non introduca errori, ma possa introdurre
perdite, così che uno o più messaggi di riscontro (ACK o NACK)
generati dal Nodo-Destinazione potrebbero non raggiungere mai
il Nodo-Sorgente.
28
Parametri Principali di un Sistema
ARQ (2/3)
  I parametri principali che definiscono il funzionamento di
un sistema ARQ sono:
o  C (bit/sec)  capacità trasmissiva del canale diretto;
o  v (m/sec)  velocità di propagazione del segnale
elettrico nel Canale Diretto;
o  dmax(m)  distanza massima tra il Nodo-Sorgente e il
Nodo-Destinazione;
o  τ dmax/v (sec)  ritardo di propagazione del segnale
elettrico dal Nodo-Sorgente al Nodo-Destinazione;
o  Lmin (bit)  lunghezza minima di una trama;
o  Lmax (bit)  lunghezza massima di una trama;
o  Tt Lmax/C (sec)  tempo richiesto per trasmettere una
trama di lunghezza massima;
o  Tout (sec)  intervallo (o tempo) di Time-Out.
o  v!
29
o  v!
Principio Generale dei Sistemi ARQ
(3/3)
  Nei sistemi ARQ, a ciascun frame da trasmettere si
aggiunge un campo che contiene un codice per la rivelazione
degli errori. Una volta rivelato l’(eventuale) errore nel
frame ricevuto, il Nodo-Destinazione deve comunicare
questa situazione al Nodo-Sorgente, affinchè quest’ultimo
provveda a ri-trasmettere i frame ricevuti con errore. Per
questo motivo, i Sistemi ARQ prevedono sempre la
presenza di un Canale di Ritorno dal Nodo-Destinazione al
Nodo-Sorgente.
  Poiché uno stesso frame potrebbe essere ri-trasmesso più
volte, i Sistemi ARQ richiedono sempre la presenza di un
buffer dal Nodo-Sorgente, dove vengono temporaneamente
memorizzati i frame trasmessi e che sono in attesa di un
riscontro positivo da parte del Nodo-Destinazione.
30
Classificazione dei Sistemi ARQ (1/2)
I protocolli ARQ si suddividono in Stop and Wait e
Continuous ARQ.
  Nel protocollo Stop and Wait, il Nodo-Sorgente invia un
frame e, quindi, aspetta di ricevere un riscontro positivo
(ACK) da parte del Nodo-Destinazione prima di
procedere alla trasmissione di un nuovo frame.
  Nei protocolli Continuous ARQ, il Nodo-Sorgente può
trasmettere con continuità frame che vengono, però,
opportunamente numerate, così che il Nodo-Destinazione
possa ri-posizionarle nell’ordine corretto.
  A loro volta, i protocolli Continuous ARQ si suddividono
in:
i. 
Protocollo Go-Back-m (GBm)
ii.  Protocollo Selective Repeat (SR)
 
31
Classificazione dei Sistemi ARQ
(2/2)
Recupero degli errori
Protocolli ARQ
Stop and Wait
(SaW)
Countinuous
ARQ
Go-Back-m
(GBm)
Selective Repeat
(SR)
32
Strategie impiegate nei Sistemi ARQ
Per ottenere un trasferimento di frame affidabile
mediante un canale diretto che introduce errori e/o
perdite, i sistemi ARQ fanno (opportuno) impiego
delle seguenti 3 strategie di base:
 
i. 
ii. 
iii. 
iv. 
I frame trasmessi vengono numerati progressivamente,
come anche i corrispondenti riscontri (ACK/NACK);
Il Nodo-Destinazione invia nel canale di ritorno opportuni
messaggi di riscontro positivo (ACK) oppure negativo
(NACK);
Il Nodo-Sorgente impiega un Temporizzatore (Timer) per
misurare il tempo trascorso dalla trasmissione di un frame;
Si impiegano buffer in trasmissione (sempre) e in ricezione
(talvolta) per la memorizzazione temporanea dei frame
trasmessi e di (alcuni) di quelli ricevuti.
33
Numerazione “Ciclica” dei Frame e dei
Riscontri (1/4)
  Nei protocolli Continuous ARQ si possono
trasmettere più trame consecutivamente in
attesa dei riscontri (positivi o negativi) sulle
prime trame trasmesse.
  Ciò richiede un meccanismo di numerazione delle
trame trasmesse e dei corrispondenti riscontri
(positivi o negativi) per far si che le trame
trasmesse, ma non ancora riscontrate
positivamente, abbiano un numero di sequenza NS
per consentire al Nodo-Sorgente e al NodoDestinazione di intendersi su quali trame sono
state ricevute correttamente e quali no.
34
Numerazione “Ciclica” dei Frame e dei
Riscontri (2/4)
  Indichiamo con:
o 
o 
o 
b (bit)  numero (intero) di bit a
disposizione per numerare le trame;
M  2b  numero di numeri di trama
distinti;
NS  numero di sequenza di una (generica)
trama.
35
Numerazione “Ciclica” dei Frame e dei
Riscontri (3/4)
Allora, si ha che:
  La numerazione NS delle trame è ciclica modulo-M, con ciò
intendendo dire che NS può assumere solo i seguenti M  2b
valori distinti:
NS ∊ {0,1,2,3,…,M-2,M-1}.
  Per esempio, se b=3, le trame vengono trasmesse con i seguenti
numeri di sequenza consecutivi:
0,1,2,3,4,5,6,7,0,1,2,…
  Dato un (qualsiasi) numero intero (non negativo) x, per
definizione, l’operazione
(x) mod.M
sta ad indicare il resto della divisione intera di x per M. Quindi, il
suddetto resto è sempre un numero intero compreso tra 0 e
(M-1).
36
Numerazione “Ciclica” dei Frame e dei
Riscontri (3/3)
 
Ad esempio,
(0) mod.8 = (8) mod.8 = (16) mod.8 ≡ 0;
(7) mod.8 = (15) mod.8 = (23) mod.8 ≡ 7;
(12) mod.8 = (20) mod.8 = (28) mod.8 ≡ 4.
Gli esempi precedenti mostrano che la
numerazione mod.M delle trame può dar
luogo ad ambiguità, con ciò intendo dire che:
 
i. 
ii. 
dato M;
dato il risultato di (x) mod.M;
non è univocamente calcolabile il numero x
che è il dividendo dell’operazione mod.M.
37
Riscontri Positivi e Negativi (1/5)
  Per indicare che la trama con numero di sequenza
NS=i è stata rivelata priva di errori, il NodoDestinazione invia indietro al Nodo-Sorgente
attraverso il canale di ritorno un messaggio di
riscontro positivo che reca il numero di sequenza NS=i
della trama riscontrata, ossia il messaggio:
ACK(i).
  Per definizione, in tutti i protocolli ARQ, il riscontro
ACK(i) ha il seguente significato:
o 
Tutte le trame sino alla i-ma compresa sono state rivelate
prive di errori (ricevute correttamente) dal NodoDestinazione.
38
Riscontri Positivi e Negativi (2/5)
  Per indicare che la trama con numero di
sequenza NS=s è stata rivelata con errori (è
corrotta da errori), il Nodo di Destinazione
invia indietro al Nodo-Sorgente attraverso il
canale di ritorno un messaggio di riscontro
negativo che reca il numero di sequenza NS=s
della trama riscontrata negativamente, ossia il
messaggio:
NACK(s).
  Per definizione, il protocollo SaW non impiega
messaggi di riscontro negativi.
39
Riscontri Positivi e Negativi (3/5)
  Per definizione, nel protocollo Go-Back-m, il
messaggio NACK(s) significa:
o  la trama s-ma è stata ricevuta con errori,
ma tutte le trame precedenti (sino alla
(s-1)-ma compresa) sono state ricevute
correttamente.
  Per definizione, nel protocollo SR, il messaggio
NACK(s) significa:
o  La trama s-ma è stata ricevuta con errori.
40
Riscontri Positivi e Negativi (4/5)
In tutti i protocolli ARQ, una stessa trama è
ri-trasmessa dal Nodo-Sorgente una o più
volte, finchè il Nodo-Sorgente non riceve da
parte del Nodo-Destinazione un riscontro
positivo (ACK) relativo alla trama in oggetto.
  Al Nodo-Destinazione, una trama con lo
stesso numero di sequenza può essere
ricevuta più volte, dando così luogo al
fenomeno della Duplicazione della trama.
 
41
Riscontri Positivi e Negativi (5/5)
Duplicazioni di Trama al Nodo-Destinazione
possono aver luogo per 2 motivi diversi:
 
i. 
ii. 
È il Nodo-Destinazione ad avere richiesto
(mediante invio di un NACK) la ri-trasmissione di
una trama che era stata ricevuta con errori;
È il Nodo-Sorgente che spontaneamente ritrasmette una trama che aveva già trasmessa,
perché il Nodo-Sorgente non ha ricevuto il
riscontro positivo ( messaggio ACK) relativo alla
trama in oggetto.
42
Temporizzatori e Time-Out (1/3)
Poiché il Canale di Ritorno e il Canale Diretto possono
introdurre perdite, può accadere che uno (o più) messaggi
di riscontro positivo relativi al frame s-mo non siano mai
ricevuti dal Nodo-Sorgente e/o che uno o più frame non
siano mai ricevuti dal Nodo-Destinazione.
 
Per ovviare a questo inconveniente, in tutti i protocolli
ARQ, il Nodo-Sorgente:
i. 
Avvia un Temporizzatore (Timer) nell’istante in cui inizia
a trasmettere la trama s-ma;
ii. 
Aspetta per un prefissato tempo di Time-Out (Tout) di
ricevere un riscontro (positivo o negativo) da parte del
Nodo-Destinazione relativamente alla trama s-ma;
iii. 
Se non ha ricevuto alcun riscontro (né positivo, né
negativo), allo scadere del tempo di Tout, il NodoSorgente ri-trasmette spontaneamente la trama s-ma.
 
43
Temporizzatori e Time-Out (2/3)
 
Poiché
i. 
il Temporizzatore è avviato nell’istante in cui la trama sma inizia ad essere trasmessa;
ii. 
il Tempo necessario per trasmettere una trama di
dimensione massima è Tt≡
Lmax/C (sec);
iii. 
poiché il segnale elettrico impiega un tempo
τ dmax/v per propagarsi dal Nodo-Sorgente al NodoDestinazione (tempo di propagazione di una trama), e, poi,
un altro tempo τ per propagarsi dal Nodo-Destinazione al
Nodo-Sorgente (tempo di propagazione del messaggio di
riscontro), allora il Tempo di Time-Out (Tout ) deve
soddisfare il seguente limite:
Tout ≥ Tt+2 τ
44
Temporizzatori e Time-Out (3/3)
  In tutti i protocolli ARQ, il Nodo-Sorgente
impiega uno e un solo Temporizzatore.
  Specificatamente, in ogni istante t0 di
funzionamento del Sistema ARQ, il
Temporizzatore è sempre associato dal NodoSorgente al frame trasmesso e non ancora
riscontrato positivamente che, tra tutti i
frame trasmessi e non ancora riscontrati
positivamente, è quello che è stato trasmesso
per primo (ossia, il frame trasmesso e non
ancora riscontrato positivamente più anziano).
45
Buffer di memoria
Tutti i protocolli ARQ impiegano, al Nodo-Sorgente,
un Buffer di Trasmissione in cui vengono
temporaneamente memorizzati i frame che sono già
stati trasmessi almeno una volta, ma che non sono
ancora stati riscontrati positivamente.
 
Solo il protocollo SR richiede, al NodoDestinazione, un Buffer di Ricezione in cui vengono
i. 
memorizzati temporaneamente;
ii. 
ordinati sequenzialmente in accordo ai Numeri di
Sequenza,
le trame che sono state ricevute correttamente.
 
46
Esempio di Numerazione delle trame
(1/2)
  Ogni trama contiene un
numero di sequenza (nell’esempio,
NS∊
{0,1}).
o  Il numero di sequenza NS è il numero d’ordine sequenziale
caratterizzante la trama uscente dal Nodo-Sorgente.
NodoSorgente
Tout
0
NodoDestinazione
ACK(1)
0
0
Tout
1
ACK(1)
0 (duplicata)
ACK(0)
0
1
  La ricezione di trame consecutive recanti lo
numero di sequenza è indice di duplicazione.
0
stesso valore del
47
Esempio di Numerazione delle trame
(2/2)
  È necessario numerare anche i riscontri,
altrimenti il Nodo-Sorgente non sarebbe in
grado di sapere a quale trama fa riferimento il
riscontro ricevuto (i riscontri possono
perdersi; nell’esempio NS∊ {0,1}).
NodoSorgente
0
Tout
NodoDestinazione
0
1
ACK
0
?
Tout
ACK
0 (duplicata)
1
48
Esempi di uso dei temporizzatori
  Temporizzatori
Si introducono dei meccanismi di temporizzazione:
quando il Nodo-Sorgente emette una trama fa
contemporaneamente partire un temporizzatore allo
scadere del quale la trama viene ri-trasmessa dal
Nodo-Sorgente.
Nodo- Trama 1
Sorgente
Tout
Trama 1
Trama 2
tempo
ACK
ACK
NodoDestinazione
tempo
1
2
49
Protocollo Stop-and-Wait (SaW)
(1/6)
Il principio generale del protocollo SaW è che il NodoSorgente non trasmette la prossima trama se non ha
ricevuto un riscontro positivo (ACK) relativo alla trama
correntemente trasmessa.
 
Nel protocollo SaW, il Nodo-Sorgente opera come segue:
i. 
numera la trama da trasmettere, avvia il
temporizzatore (Timer), trasmette la trama e,
contemporaneamente, la memorizza nel Buffer di
Trasmissione;
ii. 
se riceve l’ACK prima che scada il Timer, allora il
Nodo-Sorgente rimuove la trama dal Buffer di
Trasmissione e, poi, passa a trasmettere il frame
successivo;
iii. 
se il Timer scade prima di ricevere l’ACK, allora il
Nodo-Sorgente ri-inizializza il Timer e, poi,
ritrasmette il frame memorizzato nel Buffer di
Trasmissione.
50
 
Protocollo Stop-and-Wait (SaW)
(2/6)
Nel protocollo SaW, il Nodo-Destinazione opera
come segue sul frame correntemente ricevuto:
 
i. 
ii. 
iii. 
iv. 
applica la decodifica a rivelazione di errore;
se il frame ricevuto è corrotto da errori, allora il NodoDestinazione scarta il frame e non invia alcun messaggio al
Nodo-Sorgente;
se il frame è ricevuto correttamente ed ha lo stesso
numero di sequenza del frame ricevuto precedentemente,
allora il Nodo-Destinazione scarta il frame (frame
duplicato) e, poi, invia un messaggio ACK al Nodo-Sorgente;
se il frame è ricevuto correttamente e non ha lo stesso
numero di sequenza del frame ricevuto precedentemente,
allora il Nodo-Destinazione accetta il frame e, poi, invia un
messaggio ACK al Nodo-Sorgente.
51
Protocollo Stop-and-Wait (SaW)
(3/6)
inutilizzato
negli intervalli di tempo intercorrenti tra la fine della
trasmissione del frame corrente e l’istante di ricezione
dell’ACK o quello di superamento di Tout.
  Poiché il Nodo-Sorgente non trasmette un nuovo frame
prima che quello attualmente sotto trasmissione sia stato
riscontrato positivamente, nel protocollo SaW il numero di
sequenza NS assume solo i due valori {0,1} (ossia, b=1 e M
 2b ≡2).
  Specificatamente, il Nodo-Sorgente numera
alternativamente le trame trasmesse con NS=0 e NS=1. Il
Nodo-Destinazione può accettare solo trame consecutive
con numerazione alternata. Quando il Nodo-Destinazione
riceve due trame consecutive prive di errori e con lo
stesso numero di sequenza, il Nodo-Destinazione scarta la
seconda trama ricevuta in quanto è trama duplicata.
  Nel protocollo SaW, il Canale Diretto rimane
52
Protocollo Stop-and-Wait (SaW)
(4/6)
  Riscontri
il principio è quello per cui il Nodo-Sorgente non invia
la prossima trama se non riceve il riscontro relativo a
quella precedentemente trasmessa.
NodoSorgente
Trama 0
Trama 1
Tout
Trama 1
ACK
NodoDestinazione
ACK
Diagramma spazio tempo
Trama 0 consegnata
allo strato superiore
Trama 1 consegnata
allo strato superiore
53
Protocollo SaW: Azioni del NodoSorgente (5/6)
Inizializza Numero Sequenza
NS:=0
Preleva nuovo datagramma
Dat e costruisci nuovo frame
F: = < NS, DAT >
Aggiorna NS
NS : = NS+1
Memorizza F in Buffer
Trasmissione
Ri-trasmetti
F
Inizializza Timer
Ri-inizializza
Timer
Preleva frame F dal
Buffer di
Trasmissione
Rimuovi F dal Buffer di
Trasmissione
SI
Ricevuto ACK ?
SI
NO
NO
Timer > Tout
54
Protocollo SaW: Azioni del Nodo-Destinazione
(6/6)
Inizializza Numero Atteso di Sequenza
X : =0
Hai ricevuto un frame
F dal Canale Diretto?
NO
Attendi
SI
Hai rivelato errori
in F
Aggiorna Numero Atteso di
Sequenza
X : = (X+1)mod.2
Scarta
F
NO
Invia ACK
Estrai Numero di Sequenza NS da F
Invia ACK
Accetta F
SI
SI
NO
NS è uguale a x ?
Scarta
Frame F
(F è
duplicato)
55
Protocollo Go-Back-m (GBm) (1/8)
  Nel protocollo Go-Back-m, il Nodo-Sorgente
mantiene una finestra di emissione WS di
dimensione m dove sono via via memorizzati i
numeri di sequenza NS che il Nodo-Sorgente
può trasmettere consecutivamente, senza,
cioè, attendere alcun riscontro positivo da
parte del Nodo-Destinazione.
  In altri termini, il numero (intero) m ≥ 1 nel
nome stesso del protocollo indica il numero
massimo di trame che il Nodo-Sorgente può
trasmettere consecutivamente in assenza di
alcun riscontro positivo da parte del NodoDestinazione.
56
Protocollo Go-Back-m (GBm) (2/8)
Nel protocollo GBm, il Nodo-Destinazione accetta
le trame ricevute solo se:
i. 
non vi rileva errori e, inoltre,
ii. 
esse sono rigidamente in sequenza.
 
Se una trama è ricevuta con errore, allora il NodoDestinazione:
i. 
scarta la trama in oggetto;
ii. 
richiede la ri-trasmissione della trama in
oggetto;
iii. 
scarta anche tutte le trame ricevute dopo la
ricezione della trama con errore, e questo anche
se le suddette trame sono state ricevute
correttamente.
 
57
Protocollo Go-Back-m: NodoSorgente (3/8)
Specificatamente, nel protocollo GBm, il NodoSorgente opera come segue:
 
i. 
ii. 
iii. 
trasmette al massimo, WS ≡ m trame consecutive senz
attendere alcun riscontro positivo;
memorizza temporaneamente nel Buffer di Trasmissione
le trame trasmesse e delle quali non ha ancora ricevuto un
riscontro positivo;
quando riceve il riscontro ACK(i), allora:
o 
rimuove dal Buffer di Trasmissione tutti i frames con
Numero di Sequenza: NS ≤ i;
o 
trasmette tutti i frames con numero di sequenza
compreso tra:
(i+1) ≤ NS ≤ (i+m),
e che non sono mai stati ancora trasmessi.
o 
Infine, memorizza nel Buffer di Trasmissione i frames
che sono stati correttamente trasmessi;
58
Protocollo Go-Back-m: NodoSorgente (4/8)
quando riceve NACK(j), allora:
iv. 
o 
o 
ri-trasmette il frame j-mo;
ri-trasmette anche tutti i frames già trasmessi e con
numero di sequenza NS strettamente maggiore di j;
quando riceve un riscontro (positivo o negativo),
allora:
v. 
o 
vi. 
o 
o 
inizializza il Timer;
quando il Timer scade (ossia quando Timer> TOUT,
allora:
ri-inizializza (cioè pone a zero) il Timer;
ri-trasmette il frame già trasmesso, ma non ancora
riscontrato positivamente e che, tra tutti i frames già
trasmessi, ma non ancora ri-scontrati, è quello col
numero di sequenza NS più piccolo (ossia, il frame “più
vecchio”).
59
Protocollo Go-Back-m: NodoDestinazione (5/8)
 
Nel protocollo GBm, il Nodo-Destinazione opera
come segue su ciascun frame ricevuto dal canale
diretto:
i. 
Applica la procedure di rivelazione di errori;
ii. 
Se sono stati rivelati errori, allora:
o 
invia al Nodo-Sorgente il messaggio NACK(j),
dove j è il numero di sequenza del frame con
errori;
o 
scarta tutti i frame ricevuti dal Canale
Diretto e con numero di sequenza
strettamente maggiore di j.
60
Protocollo Go-Back-m: NodoDestinazione (6/8)
iii. 
iv. 
Se non sono stati rivelati errori e il frame
ricevuto non è un frame duplicato, allora:
o 
accetta il frame ricevuto;
o 
invia al Nodo-Sorgente il messaggio ACK(j),
dove j è il numero di sequenza del frame
ricevuto;
Se non sono stati rivelati errori e il frame
ricevuto è un frame duplicato, allora:
o 
scarta il frame ricevuto;
o 
invia al Nodo-Sorgente il messaggio ACK(j),
dove j è il numero di sequenza del frame
ricevuto.
61
Protocollo Go-Back-m: Azioni del
Nodo-Sorgente (7/8)
Inizializza Timer
Timer : = 0
Trasmetti m frame
consecutivi
Trasmetti tutti i frame
non ancora trasmessi e
con NS compreso tra
(i+1)<=NS<= (i+m)
Timer : =0
Timer > Tout
Rimuovi dal Buffer di
Trasmissione tutti i
frame con numeri di
Sequenza:
NS<=i
Tra tutti i frame trasmessi
e non ancora riscontrati, ritrasmetti quello col NS più basso
Memorizza frames Trasmessi
nel Buffer di Trasmissione
SI
Timer : =0
NO
SI
Ricevuto ACK (i)?
NO
Ricevuto NACK (j)?
NO
SI
Timer : =0
Baccarelli,
Cordeschi, Patriarca, Polli
Ritrasmetti il frame j-mo
E, poi, tutti i frames già
Trasmessi dopo il frame j-mo
62
Protocollo Go-Back-m: Azioni del
Nodo-Destinazione (8/8)
Inizializza Numero Atteso di Sequenza
X : = 0
Hai ricevuto un frame F
dal Canale Diretto?
Attendi
SI
Estrai Numero di
Sequenza NS dal frame
F
Invia
ACK (NS)
Aggiorna il Numero
Atteso di Sequenza:
X : = (NS+1) mod. M
NS = X ?
NO
Scarta il frame
F
Invia
NACK (NS)
SI
Accetta
Frame F
NO
Hai rivelato errori
nel frame F ?
Baccarelli,
Cordeschi, Patriarca, Polli
SI
Scarta
Frame F
63
Protocollo Selective Repeat (SR)
(1/15)
  Nel protocollo SR, il Nodo-Sorgente può trasmettere
consecutivamente un numero massimo di trame WS ≥ 1
senza bisogno di ricevere alcun riscontro positivo dal
Nodo-Destinazione.
  Il Nodo-Destinazione può accettare un numero
massimo di trame WR ≥ 1 anche se ricevute non in
ordine; ciò richiede la presenza presso il NodoDestinazione di un Buffer di Ricezione che consenta
di ripristinare l’ordine corretto delle trame ricevute,
affinchè i Datagrammi da esse trasportati possano
essere consegnati in ordine sequenziale allo Strato di
Rete del Nodo-Destinazione.
64
Protocollo SR (2/15)
  Nel protocollo SR, il riscontro NACK(i) indica
che il solo frame i-mo deve essere
ritrasmesso dal Nodo-Sorgente, ma non indica
che tutti i frame precedenti l’i-mo sono stati
ricevuti correttamente.
  Nel protocollo SR, il riscontro ACK(i) indica
che il frame i-mo e tutti quelli precedenti
sono stati ricevuti correttamente dal NodoDestinazione.
65
Protocollo SR- Finestre di
Trasmissione e Ricezione (3/15)
Nel protocollo SR,
  il Nodo-Sorgente mantiene e aggiorna una finestra che
contiene WS ≥ 1 numeri di sequenza consecutivi. La
suddetta finestra è detta Finestra di Trasmissione, e, in
ogni istante, contiene i numeri di sequenza dei frame che il
Nodo-Sorgente può trasmettere consecutivamente senza
bisogno di attendere riscontri da parte del NodoDestinazione;
  il Nodo-Destinazione mantiene ed aggiorna una finestra
che contiene WD ≥ 1 numeri di sequenza consecutivi. La
suddetta finestra è detta Finestra di Ricezione, e, in ogni
istante, contiene i numeri di sequenza dei frame che il
Nodo-Destinazione è disposto ad accettare, anche se
ricevuti non in ordine sequenziale.
66
Protocollo SR- Finestre di
Trasmissione e Ricezione (4/15)
 
In ogni istante,
i. 
il Nodo-Sorgente non può trasmettere (o ritrasmettere) frame i cui Numeri di Sequenza non
cadano nella Finestra di Trasmissione corrente;
ii. 
il Nodo-Destinazione non può accettare trame i
cui numeri di sequenza non cadano nella corrente
Finestra di Ricezione, anche se le suddette
trame sono state ricevute correttamente.
67
Protocollo SR- Aggiornamento della
Finestra di Trasmissione (5/15)
Indichiamo con IS ≥ 0 l’estremo inferiore
corrente della Finestra di Trasmissione,
ossia il più piccolo Numero di Sequenza che
fa correntemente parte della Finestra di
Trasmissione. Allora:
 
i. 
la Finestra di Trasmissione corrente è costituita
da tutti i Numeri di Sequenza NS compresi tra
IS ≤ NS ≤ ( IS + WS – 1) mod. M
68
Protocollo SR- Aggiornamento della
Finestra di Trasmissione (6/15)
ii. 
Quando il Nodo-Sorgente riceve un
riscontro ACK(i), allora aggiorna il valore di
IS in accordo a :
IS:= (i+1) mod. M
iii. 
Poiché i riscontri ACK(i) ricevuti dal NodoSorgente hanno Numero di Sequenza
incrementale, e poiché, alla ricezione di ciascun
ACK(i), il Nodo-Sorgente aggiorna (ovvero
incrementa) IS, la Finestra di Trasmissione è
detta anche Finestra Mobile (Sliding Window).
69
Protocollo SR- Aggiornamento della
Finestra di Ricezione (7/15)
Indichiamo con ID ≥ 0 l’estremo inferiore
corrente della Finestra di Ricezione, ossia il
più piccolo Numero di Sequenza che il NodoDestinazione è correntemente in grado di
accettare.
Allora,
i. 
La Finestra di Ricezione corrente è costituita da
tutti i Numeri di Sequenza compresi tra:
ID ≤ NS ≤ ( ID+ WD– 1) mod. M.
70
Protocollo SR- Aggiornamento della
Finestra di Ricezione (8/15)
ii. 
Dopo aver inviato al Nodo-Sorgente un riscontro positivo
ACK(j), il Nodo-Destinazione aggiorna ID in accordo a:
ID := (NSMAX + 1 ) mod. M,
iii. 
dove NSMAX è il valore più alto del Numero di Sequenza
dei frame che il Nodo-Destinazione ha ricevuto senza
errori e in ordine sino all’istante corrente.
In generale, NSMAX ≥ J. Quindi, poiché, ad ogni invio di un
riscontro ACK(.), l’estremo inferiore ID della Finestra di
Ricezione assume un valore non inferiore a quello assunto
precedentemente, anche la Finestra di Ricezione è una
Finestra Mobile (Sliding Window).
71
Protocollo SR- Nodo Sorgente (9/15)
Nel protocollo SR, il Nodo-Sorgente opera come
segue:
i. 
ii. 
senza attendere alcun riscontro, il NodoSorgente trasmette tutti i frame che non sono
già stati trasmessi e i cui Numeri di Sequenza
cadono nella Finestra di Trasmissione corrente;
memorizza temporaneamente nel Buffer di
Trasmissione le trame trasmesse e delle quali
non ha ancora ricevuto un riscontro positivo;
72
Protocollo SR- Nodo Sorgente
(10/15)
i. 
quando riceve il riscontro ACK(i), allora:
o 
rimuove dal Buffer di Trasmissione tutti i frames
con Numeri di Sequenza: NS ≤ i;
o 
aggiorna IS in accordo a: IS:= (i+1) mod. M;
o 
trasmette tutti i frame che non sono stati
ancora trasmessi e che hanno un Numero di
Sequenza compreso tra:
IS ≤ NS ≤ ( IS + WS – 1) mod. M;
o 
memorizza i frame trasmessi nel Buffer di
Trasmissione.
73
Protocollo SR- Nodo Sorgente (11/15)
quando riceve NACK(j), allora
iv. 
o 
ri-trasmette solo il frame j-mo;
quando riceve un riscontro (positivo o
negativo), allora
v. 
o 
inizializza il Timer;
quando il Timer scade (ossia quando Timer >
TOUT )
vi. 
o 
o 
ri-inizializza il Timer;
tra tutti i frame già trasmessi e non riscontrati
positivamente, ri-trasmette quello con il Numero
di Sequenza più piccolo.
74
Protocollo SR- Nodo Destinazione
(12/15)
Nel protocollo SR, il Nodo-Destinazione
estrae il Numero di Sequenza NS dal frame
F correntemente ricevuto dal Canale Diretto
e, quindi:
se NS non cade nella Finestra di Ricezione
corrente, allora il Nodo-Destinazione scarta il
frame F ricevuto;
se NS cade nella Finestra di Ricezione corrente
e in F sono rivelati errori, allora il NodoDestinazione:
i. 
ii. 
o 
o 
scarta il frame F ricevuto;
Invia al Nodo-Sorgente il riscontro NACK(NS).
75
Protocollo SR- Nodo Destinazione
(13/15)
Se NS cade nella Finestra di Ricezione corrente e
in F non sono rivelati errori, allora il NodoDestinazione:
iii. 
o 
o 
o 
o 
pone F nel Buffer di Ricezione;
ri-ordina i frame correntemente contenuti nel Buffer di
Ricezione secondo Numeri di Sequenza crescenti;
invia al Nodo-Sorgente il riscontro ACK(NS);
aggiorna l’estremo inferiore ID della Finestra di Ricezione
in accordo a:
ID := (NSMAX + 1 ) mod. M
o 
preleva dal Buffer di Ricezione tutti i frame ivi contenuti
con Numeri di Sequenza strettamente consecutivi e li
passa allo Strato di Rete del Nodo-Destinazione.
76
Protocollo SR- Azioni del Nodo
Sorgente (14/15)
Inizializza
IS : = 0 e Timer : = 0
Trasmetti tutti i frame non ancora
trasmessi e con Numero di
Sequenza NS:
IS ≤ NS ≤ ( IS + WS – 1) mod. M
Memorizza frame trasmessi nel
Buffer di Trasmissione
Timer : = 0
Elimina dal Buffer di
Trasmissione tutti i frame con
NS ≤ ( i )
IS : = ( i+1 ) mod.M
Ritrasmetti il frame
non ancora riscontrato
e con Numero di
Sequenza più piccolo
Timer > Tout
SI
Timer : =0
NO
SI
Ricevuto ACK (i)?
Ritrasmetti solo il
frame j-mo
NO
NO
Baccarelli,
Ricevuto
NACK (j)?
Cordeschi, Patriarca, Polli
SI
Timer : =0
77
Protocollo SR- Azioni del Nodo
Destinazione (15/15)
Inizializza
ID : = 0
Hai ricevuto un frame
F dal Canale Diretto?
Preleva dal Buffer di
Ricezione tutti i frame con
Numeri di Sequenza
strettamente consecutivi
Attendi
Estrai da F il Numero di Sequenza
NS
Aggiorna ID come in
ID : = ( NSmax + 1 ) mod.M
E’ NS compreso nella
Finestra di Ricezione
[ID, (ID + WD – 1 ) mod.M ]
?
Invia ACK(NS)
Memorizza F nel Buffer di
Ricezione.
Ri-ordina il Buffer di
Ricezione
NO
NO
Scarta F
SI
NO
Sono rivelati errori in
F ?
Baccarelli,
Cordeschi, Patriarca, Polli
SI
Invia NACK (NS)
78
Ambiguità nella Numerazione
delle Sequenza nel protocollo SR
(1/3)
  Come già osservato, la Numerazione delle
Sequenze è mod.M, con M2b, b ≥1. La
numerazione mod.M può dar luogo ad
ambiguità.
79
Ambiguità nella Numerazione delle
Sequenza nel protocollo SR (2/3)
 
Esempio di ambiguità di numerazione
o 
Supponiamo M=23=8 ed anche WS=8.
o 
Assumiamo che il Nodo-Sorgente trasmetta 8 trame
consecutive, con Numeri di Sequenza pari a: 4, 5, 6, 7, 0, 1,
2, 3.
o 
Il Nodo-Ricevente invia indietro al Nodo-Sorgente il
riscontro positivo ACK(3).
o 
Purtroppo, il Nodo-Sorgente può interpretare ACK(3) in
due modi diversi:
i. 
Il Nodo-Destinazione ha ricevuto correttamente tutte
le 8 trame trasmesse
ii. 
Il Nodo-Destinazione non ha ricevuto correttamente
nessuna delle 8 trame trasmesse, e il messaggio ACK(3)
si riferisce alla trama con NS=3 che era già stata
trasmessa prima della trasmissione della trama con
NS=4.
80
Ambiguità nella Numerazione delle
Sequenza nel protocollo SR (3/3)
  Si può dimostrare che, nel protocollo SR, l’ambiguità
di numerazione delle trame è eliminata se le
dimensioni WS e WD delle finestre di trasmissione e di
ricezione soddisfano alla seguente disuguaglianza:
WS+WD ≤ M2b
  Tipicamente, nel protocollo SR si pone
WS ≡WD = M/2.
81
Confronto Complessità-Prestazioni
tra i protocolli ARQ (1/2)
  Tutti e tre i protocolli ARQ ri-trasmettono uno stesso frame sin
tanto che non ricevono un riscontro positivo. Quindi, tutti e tre i
protocolli danno luogo alla stessa Probabilità di Errore residua e,
da questo punto di vista, sono equivalenti.
  Il protocollo SaW trasmette un frame e poi si arresta sino alla
ricezione del corrispondente riscontro. I protocolli GBm e SR
trasmettono senza mai interrompersi nuovi frame o frame
riscontrati negativamente. Quindi il protocollo SaW è quello che
utilizza di meno la capacità trasmissiva del Canale Diretto.
  Il protocollo SR ri-trasmette solo i frame in cui il NodoDestinazione ha rivelato errori. Il protocollo GBm ri-trasmette
anche i frame che seguono quelli rivelati con errori. Quindi, il
protocollo SR è quello che utilizza meglio la capacità trasmissiva
del Canale Diretto.
82
Confronto Complessità-Prestazioni
tra i protocolli ARQ (2/2)
  Il protocollo SR richiede la Numerazione mod.M dei frame
trasmessi e l’impiego di un Buffer in Trasmissione e di un
Buffer in Ricezione.
  Il protocollo GBm richiede la Numerazione mod.M dei
frame trasmessi e l’impiego del solo Buffer di
Trasmissione.
  Il protocollo SaW richiede solo la Numerazione mod.2 dei
frame trasmessi e l’impiego di un Buffer di Trasmissione in
grado di memorizzare un solo frame alla volta.
Quindi il protocollo SR è il più complesso da realizzare,
mentre il protocollo SaW è il più semplice da realizzare.
83
Servizio di Controllo di Flusso (1/4)
  Supponiamo che il Nodo-Sorgente S
trasmetta
trame al Nodo-Destinazione D . Supponiamo che le
trame ricevute dal Nodo-Destinazione siano
temporaneamente memorizzate in un Buffer di
Ricezione che può contenere al più NF ≥ 1 trame.
scopo del Servizio di Controllo di Flusso è quello di
regolare (ossia, controllare) la velocità con cui il
Nodo-Sorgente invia nuove trame in modo che il
numero di trame da memorizzare nel Buffer di
Ricezione non sia mai superiore a NF.
  Lo
84
Controllo di Flusso mediante il
protocollo SR (2/4)
Il protocollo SR precedentemente descritto è
anche in grado di espletare il Servizio di Controllo
di Flusso.
 
Nel protocollo SR, il Controllo di Flusso viene
effettuato:
i.  scegliendo opportunamente le dimensioni WS e
WD delle finestre di trasmissione e di ricezione;
ii.  regolando la velocità (ossia, il ritmo) con cui il
Nodo-Destinazione invia indietro al NodoSorgente messaggi di riscontro positivi (riscontri
ACK).
 
85
Controllo di Flusso mediante il
protocollo SR (3/4)
 
Ricordiamo che, nel protocollo SR:
i.  WS è il numero massimo di trame che il
Nodo-Sorgente può trasmettere
consecutivamente senza bisogno di
ricevere riscontri positivi da parte del
Nodo-Destinazione;
ii.  WD è il numero massimo di trame che il
Nodo-Destinazione può ricevere
consecutivamente senza bisogno di inviare
messaggi ACK(.) al Nodo-Sorgente.
86
Controllo di Flusso mediante il
protocollo SR (4/4)
Quindi,
 
i. 
ii. 
se si scelgono: WS ≤ NF e WD ≤ NF , e, inoltre,
se il Nodo-Destinazione rallenta la velocità con
cui invia messaggi ACK al Nodo-Sorgente quando
il numero di trame temporaneamente
memorizzate nel Buffer di Ricezione si avvicina a
NF;
allora
il numero di trame da tenere in memoria nel
Buffer di Ricezione non supererà mai il valore
massimo consentito NF.
87
88
Il problema dell’Accesso Multiplo (1/5)
 
Il problema dell’accesso multiplo si ha quando più NodiSorgente vogliono trasmettere le loro trame ad uno o più
Nodi-Destinazione attraverso un singolo canale
trasmissivo.
 
Il canale trasmissivo è, quindi, condiviso dalle
trasmissioni di più (almeno due) Nodi-Sorgente e, per
questo motivo, viene detto canale broadcast.
 
Dal punto di vista fisico, un canale broadcast può essere
di tipo:
i. 
Cablato (cavo coassiale, doppino telefonico, fibra
ottica);
ii.  Radio (trasmissione nello spazio libero).
89
Il problema dell’Accesso Multiplo
(2/5)
simultaneamente
i segnali da esse generati nel canale condiviso, allora
i segnali interferiscono tra di loro e il segnale
interferito risultante è inutilizzabile da parte dei
Nodi-Destinazione.
  In questo caso, si dice che si è verificata una
collisione tra i segnali trasmessi simultaneamente dai
Nodi-Sorgente.
  Lo scopo dei Protocolli per l’Accesso Multiplo
(Protocolli MAC) è quello di regolare (disciplinare)
opportunamente le trasmissioni dei Nodi-Sorgente in
modo da evitare (o, quanto meno, minimizzare)
l’occorrenza di collisioni.
  Se due o più Nodi-Sorgente inviano
90
Il problema dell’Accesso Multiplo
(3/5)
 
Più sorgenti (almeno 2) che trasmettono verso le
destinazioni (almeno una) tramite lo stesso mezzo
trasmissivo
D1
S1
D2
S2
D3
S3
Mezzo trasmissivo (cavo, fibra, aria…)
D5
D4
  La trasmissione da parte delle sorgenti deve essere
disciplinata attraverso regole di accesso al mezzo per
evitare fenomeni di interferenza tra messaggi generati
da sorgenti diverse (collisioni).
91
Il problema dell’Accesso Multiplo
(4/5)
  Collegamento broadcast o multiaccesso (cavo o canale
condiviso: multipunto)
  Il termine broadcast indica che quando un nodo
trasmette una trama il canale la diffonde e tutti gli altri
nodi ne ricevono una copia
o  Ethernet tradizionale
o  Wireless LAN 802.11
Shared wireless
Shared wire
(e.g. Ethernet)
(e.g. WaveLAN)
Satellite
92
Il problema dell’Accesso Multiplo
(5/5)
  Centinaia o anche migliaia di nodi possono
comunicare direttamente su un canale
broadcast:
o 
Si genera una collisione quando due o più nodi
trasmettono trame contemporaneamente.
  Protocolli
di Accesso Multiplo
Protocolli che fissano le modalità con cui i nodi
regolano l’immissione delle Trame da essi
generate nel canale condiviso.
93
Sistema di Accesso Multiplo (1/3)
  In generale, un sistema di Accesso Multiplo
è costituito da N≥2 stazioni (nodi), ciascuna
delle quali può sia trasmettere che ricevere
da un canale condiviso di capacità C (bit/
sec).
  Ciascuna stazione può sia inviare trame che
ricevere da qualsiasi altra stazione.
  Ciascuna stazione è univocamente
individuata da un indirizzo MAC costituito
da 6 byte ed espresso in forma
esadecimale.
94
Sistema di Accesso Multiplo
(2/3)
Canale condiviso (Broadcast channel)
Nodo 1
Nodo 2
Nodo N
dmax (m)
95
Sistema di Accesso Multiplo:
Parametri Principali (3/3)
 
Con riferimento alla figura precedente,
introduciamo le seguenti definizioni:
o 
o 
o 
o 
o 
o 
o 
o 
N  numero di nodi che compongono il sistema;
C (bit/sec)  capacità trasmissiva del Canale condiviso;
dMAX (m)  distanza massima tra due nodi del sistema;
v (m/sec)  velocità di propagazione del segnale
elettrico nel canale condiviso;
τ  dMAX /v (sec) = ritardo massimo di propagazione del
segnale elettrico;
L MIN (bit)  lunghezza minima di una trama;
LMAX (bit)  lunghezza massima di una trama;
Tt  LMAX/C (sec) = tempo necessario a trasmettere una
trama di lunghezza massima.
96
Proprietà di un Protocollo MAC ‘ideale’
 
Idealmente, un protocollo MAC per un sistema di
Accesso Multiplo con N nodi che impiega un
canale condiviso di capacità C dovrebbe
possedere le seguenti due proprietà:
i. 
quando un solo nodo ha dati da trasmettere,
quel nodo può trasmettere ad una velocità
(tasso) pari alla capacità C (bit/sec) del
canale condiviso (Proprietà di utilizzo
efficiente del canale);
ii. 
quando N ≥ 2 nodi hanno dati da trasmettere,
ciascuno di questi può trasmettere ad una
velocità media di C/N (bit/sec) (Proprietà di
equità di condivisione del canale).
97
Prestazioni di un Protocollo MACEfficienza (1/3)
Supponiamo assegnato un Protocollo MAC che
regoli (in qualche modo) le trasmissioni di N ≥ 2
nodi attraverso un canale condiviso di capacità C.
 
In ogni intervallo temporale di durata Tt, il
canale condiviso può trovarsi in uno e in uno solo
dei seguenti tre stati:
i.  Stato libero: nessun nodo sta trasmettendo
nel canale;
ii.  Stato di collisione: due o più nodi stanno
trasmettendo simultaneamente nel canale;
iii.  Stato utile: uno e uno solo nodo sta
trasmettendo nel canale.
 
98
Prestazioni di un Protocollo MACEfficienza (2/3)
  Indichiamo con:
o 
o 
o 
o 
 
TL (sec)  tempo che il canale passa nello stato Libero;
TC (sec)  tempo che il canale passa nello stato di
Collisione;
TU (sec)  tempo che il canale passa nello stato Utile;
Ttot (sec)  TL + TC + TU = tempo di lavoro del canale.
Ciò posto, l’efficienza del protocollo MAC
assegnato è così definita:
99
Prestazioni di un Protocollo MACEfficienza (3/3)
 
Il valore di varia al variare del Protocollo MAC
considerato.
 
Dal punto di vista analitico,
compreso in [0,1].
 
Dal punto di vista ingegneristico, i Protocolli MAC
più efficienti (migliori) sono quelli che hanno più
alti valori di , perché consentono agli N nodi di
condividere il canale broadcast dando luogo a
“poche” collisioni.
è un numero reale
100
Classificazione dei Protocolli MAC
(1/2)
 
Protocolli MAC si possono classificare in
(almeno) due categorie:
i.  Protocolli a suddivisione del canale (Channel
Partitioning Protocols): partizionano la
capacità C del canale condiviso in parti “più
piccole”, dette sotto-canali, non interferenti;
ii.  Protocolli ad accesso casuale (Random Access
Protocols): il canale condiviso non viene
suddiviso tra i nodi. Trasmissioni simultanee
danno luogo a collisioni. I nodi collidenti ritrasmettono le trame che hanno colliso.
101
Classificazione dei Protocolli MAC
(2/2)
Protocolli MAC
Protocolli a
suddivisione
del canale
TDMA
FDMA
Protocolli ad
accesso casuale
CDMA
Slotted
ALOHA
CSMA/CD
102
Protocolli a suddivisione di canaleGeneralità (1/2)
Consideriamo un sistema di accesso con N ≥ 2
nodi che impiega un canale condiviso di capacità
C (bit/sec).
 
Per definizione, un Protocollo MAC a
suddivisione di canale opera come segue:
i. 
Suddivide il canale in N sotto-canali non
interferenti, ciascuno di capacità C/N (bit/
sec);
ii. 
Assegna permanentemente a ciascuno dei nodi
uno dei sotto-canali per l’intero tempo della
comunicazione.
 
103
Protocolli a suddivisione di canaleGeneralità (2/2)
i. 
ii. 
iii. 
iv. 
v. 
Dalla precedente definizione, discendono alcune proprietà
generali possedute da tutti i protocolli MAC a suddivisione di
canale, e cioè:
La trasmissione di dati da parte di ciascun nodo avviene sempre
senza collisioni;
Tutti i nodi possono trasmettere alla stessa velocità di C/N (il
protocollo è equo);
Quando c’è un solo nodo che ha dati da trasmettere, esso può
farlo alla velocità di C/N (bit/sec) (il protocollo non utilizza
efficientemente la capacità C del canale condiviso);
Il protocollo offre un modo di trasferimento “a circuito”;
C’è bisogno di un nodo controllore (nodo Master) che disciplini
l’accesso al canale condiviso da parte degli N nodi (il protocollo
è di tipo centralizzato).
104
Protocolli a suddivisione di canaleClassificazione
 
A seconda della tecnica (strategia) impiegata
per partizionare il canale condiviso in sottocanali non interferenti, i Protocolli a suddivisione
del canale possono essere di tre tipi :
i.  Protocollo d’accesso a Divisione di Tempo
(TDMA);
ii.  Protocollo d’accesso a Divisione di Frequenza
(FDMA);
iii.  Protocollo d’accesso a Divisione di Codice
(CDMA).
105
Accesso Multiplo a divisione di tempo
(TDMA, Time Division Multiple Access)
  Le sorgenti trasmettono sulla stessa banda di frequenza ma in
intervalli di tempo diversi, alternati e separati da intervalli di
guardia Tg
1
2
3
4
1
2
3
4
…
Tempo (sec)
Trama
Tg
timeslot
  Definizione di una trama : ciascuna destinazione estrae il proprio
segnale generato dalla sorgente desiderata sulla base del
sincronismo della trama
  Esempi:
i.  Assegnazione timeslot per collegamenti GSM
ii.  trasmissioni dati su fibra ottica, con allocazione fissa o
dinamica degli intervalli (“timeslot”)
106
Accesso Multiplo a divisione di
frequenza
(FDMA, Frequency Division Multiple Access)
  Le varie sorgenti trasmettono contemporaneamente nel tempo
ma impiegano bande di frequenza diverse, separate da bande di
guardia Bg
T1
T2
T3
f1
f2
f3
B1
B2
Bg
B3
Frequenza
(Hz)
  Ciascuna destinazione estrae il proprio segnale della sorgente
desiderata tramite un filtraggio in banda
  Esempi:
i.  broadcasting radio e tv, con allocazione fissa della banda
(multiplazione in frequenza)
ii.  trasmissioni in HF, con allocazione dinamica della banda
107
Accesso Multiplo a divisione di codice
(1/5)
Dato A= 1
Utente A
t
Codice A:
1-1-11-111-1
t
integratore
1
A
A
Dato B= 1
Utente B
t
t
Codice B:
-1-111-11-11
Trasmettitori
(“Spreaders”)
t
Codice A:
1-1-11-111-1
-1
Decisore
Canale Ricevitore per l’utente A
(“Despreader”)
108
Accesso Multiplo a divisione di
codice- Parametri di sistema (2/5)
 Ciascun utente (“A” o “B”) genera forme d’onda binarie che
assumono i valori ± 1. Ciascuna forma d’onda elementare è di durata
TB, detto “periodo di bit”
  Ciascun utente moltiplica ciascun suo singolo dato da trasmettere
per un segnale di codice (cA(t) o cB(t)) di durata complessiva Tb e
costituito da SF>1 forme d’onda binarie elementari, ciascuna delle
quali è di durata TC (periodo di chip).
 Il rapporto SF
>1 è detto spreading factor (fattore di
allargamento) del sistema e rappresenta il numero di chips contenuti in un
periodo di bit TB.
 Il segnale CDMA sA(t) trasmesso dall’utente A durante un periodo di
bit è quindi pari a:
sA(t)=AcA(t),
0 ≤ t ≤ Tb,
dove A= ±1 è il bit di messaggio trasmesso
dall’utente A.
Baccarelli,
Cordeschi, Patriarca, Polli
109
Accesso Multiplo a divisione di codiceForme d’onda dei segnali (3/5)
+1
A(t)
-1
(segnale digitale dell’utente A)
2Tb
Tb
CA(t)
t
(segnale di codice A)
+1
Tb
-1
2Tb
t
2Tb
t
TC
SA(t)  A(t)CA(t)
(segnale CDMA di A)
+1
Tb
-1
SF 
=8
110
Accesso Multiplo a divisione di codice
(4/5)
La Banda occupata dal segnale CDMA generato da ciascuno
degli utenti (“A” o “B”) è SF volte la banda fm del
corrispondente segnale binario prima della moltiplicazione per
il segnale di codice, ossia abbiamo che
 
BCDMA ≡ SF x fm
(allargamento di banda del segnale A)
 
Quindi, il CDMA è un formato di segnale a Banda LARGA.
111
Accesso Multiplo a divisione di codice
(5/5)
rumore di canale e sotto l’assunzione (fondamentale) che i
due segnali di codice soddisfino alla seguente condizione di ortogonalità:
 In assenza di
(condizione di ortogonalità tra i segnali di codice),
all’uscita dell’integratore di ricezione è sempre ricostruibile senza errore
il valore rA del bit di messaggio A realmente trasmesso dall’utente A.
Infatti dalla figura precedente abbiamo che:
1
0
112
Protocolli MAC Ad Accesso CasualeGeneralità (1/3)
Consideriamo N ≥ 2 nodi che condividono un canale di
capacità C (bit/sec).
 
Per definizione, i protocolli ad accesso casuale
operano in accordo alla eseguenti regole generali:
i. 
Un nodo che vuole trasmettere, lo fa sempre alla
velocità di C (bit/sec);
ii. 
Quando si verifica una collisione, ciascun nodo
coinvolto nella collisione ritrasmettere il suo
frame ripetutamente, sin tanto che il frame è
trasmesso senza collisione;
113
Protocolli MAC Ad Accesso CasualeGeneralità (2/3)
i. 
ii. 
Quando un nodo subisce una collisione, non
cerca di ritrasmettere il suo frame
immediatamente. Al contrario, il nodo
attende un certo intervallo di tempo prima
di ritrasmettere il suo frame;
Ciascun nodo coinvolto in una collisione
sceglie un tempo di attesa per la
ritrasmissione del suo frame
indipendentemente da tutti gli altri nodi.
114
Protocolli MAC Ad Accesso CasualeGeneralità (3/3)
Dalla definizione precedente, scaturiscono le seguenti proprietà
generali dei Protocolli ad Accesso Casuale:
i. 
Quando c’è un solo nodo che vuole trasmettere, può farlo
alla velocità C(bit/sec) (Proprietà di utilizzo efficiente del
canale);
ii. 
Quando N ≥ 2 nodi hanno dati da trasmettere, il protocollo
non garantisce che possano farlo ad una velocità media di
C/N (bit/sec) (il protocollo non è “equo”);
iii. 
Trasmissioni simultanee da parte di più nodi danno sempre
origine a collisioni;
iv. 
Il protocollo offre un modo di trasferimento “a
pacchetto” con perdita;
v. 
Non c’è alcun nodo controllore (nodo Master) che disciplina
le trasmissioni da parte dei nodi (il protocollo è di tipo
Distribuito).
115
Protocolli MAC ad Accesso CasualeClassificazione (1/2)
 
 
In funzione delle diverse tecniche (strategie) che
possono essere adottate per prevenire oppure per
risolvere le collisioni, i protocolli MAC ad accesso
casuale si suddividono in (almeno) due categorie:
i.  Protocolli di tipo ALOHA
Non effettuano alcune rilevazione dello stato (libero
oppure occupato) del canale condiviso al momento di
iniziare la trasmissione di ua trama da parte di un
nodo.
ii.  Protocolli di tipo ‘Carrier Sensing Multiple
Access with Collision Detection’ (CSMA/CD)
116
Protocolli MAC ad Accesso CasualeClassificazione (2/2)
  Effettuano una rilevazione (“sensing”) dello stato
(libero o occupato) del canale prima di iniziare la
trasmissione di una trama, cercando così di prevenire
gli eventi di collisione. Inoltre, dopo che un nodo ha
iniziato a trasmettere una trama, esso continua a
rilevare lo stato del canale per accorgersi se la
collisione si stia comunque verificando, così da essere
in grado di sospendere subito la trasmissione non
appena la collisione avviene (Collision Detection).
117
Protocollo d’accesso Slotted ALOHAGeneralità (1/5)
 
Nei sistemi d’accesso Slotted ALOHA, si assume che:
i. 
Il tempo è suddiviso in sotto-intervalli (timeslot) di durata ciascuno LMAX/C (sec);
ii. 
I nodi possono iniziare le trasmissioni solo agli
inizi degli slot;
iii.  Ciascun nodo conosce esattamente gli istanti
d’inizio dei vari slot;
iv.  Se due o più nodi trasmettono simultaneamente
in uno stesso slot, i corrispondenti frame
collidono (cioè, vanno persi) e i nodi che hanno
colliso si accorgono (rilevano) tale collisione.
118
Protocollo d’accesso Slotted ALOHAFunzionamento (2/5)
 
 
 
Indichiamo con p un valore di probabilità, cioè un numero compreso tra
[0,1]. p è la ”probabilità di persistenza ” del protocollo.
Allora un qualunque nodo che abbia una trama da trasmette opera in
accordo al seguente protocollo “Slotted Aloha”:
a) 
Quando un nodo ha una nuova trama da trasmettere, aspetta
l’inizio del successivo slot e poi trasmettere l’intera trama
durante lo slot;
b) 
Se non c’è stata collisione, il nodo ha trasmesso con successo la
sua trama e torna al passo a);
c) 
Se il nodo ha rilevato la collisione, allora esso ritrasmette la
stessa trama con probabilità p in ciascuno dei seguenti slot, sin
tanto che la trama non è stata trasmessa senza collisione.
I passi a), b), c) definiscono il modo di operare del protocollo “Slotted
ALOHA”.
119
Protocollo d’accesso Slotted ALOHACalcolo dell’Efficienza (3/5)
 
 
 
 
 
Ricordiamo che, per definizione:
Ovvero, l’efficienza di un protocollo è la frazione del tempo
totale in cui il canale trasmette trame senza collisioni.
Nel caso dello Slotted ALOHA, supponiamo di avere N nodi,
ciascuno dei quali trasmette la propria trama in uno slot con
probabilità p.
Allora, la probabilità Ps che un singolo nodo trasmette la sua
trama senza collisioni è: Ps = p (1-p)N-1.
Poiché vi sono N nodi, la probabilità totale Pst che un qualsiasi
nodo trasmetta la sua trama con successo è pari a:
Pst= NPs= Np (1-p)N-1.
Per definizione, Pst coincide con l’efficienza dello Slotted
ALOHA cioè
≡ Pst = Np (1-p)N-1
120
Protocollo d’accesso Slotted ALOHACalcolo dell’Efficienza (4/5)
 
Definiamo come efficienza massima
ALOHA il seguente limite:
 
Per N finito, il valore p* della probabilità di
persistenza che massimizza è: p* = 1/N, così che
abbiamo:
dello Slotted
121
Protocollo d’accesso Slotted ALOHACalcolo dell’Efficienza (5/5)
  Ricordiamo il seguente limite notevole:
  Allora passando al limite per N ∞ l’espressione precedentemente
trovata per:
, otteniamo che l’efficienza massima
alla quale può dar luogo il protocollo Slotted ALOHA è pari a :
al più, solo (circa)
il 37% degli slot trasporta trame che non collidono. In altri
termini, nello slotted ALOHA, almeno il 63% degli slot o rimane
inutilizzato o trasporta trame che collidono.
  Ciò significa che, nel caso dello slotted ALOHA,
122
Accesso Multiplo con Rivelazione
della portante (CSMA) (1/4)
 
 
 
Una prima strategia che si può usare per migliorare l’efficienza
dello Slotted ALOHA è quella di rilevare lo stato del canale
(libero o occupato) prima di iniziare a trasmettere.
Specificatamente, i protocolli di tipo Carrier Sensing Multiple
Access (CSMA) prevedono che ogni nodo che ha una trama da
trasmettere effettui le seguenti operazioni:
i. 
Si pone in ascolto del canale (sensing) per verificarne lo
stato;
ii. 
Se il canale è libero, il nodo trasmette l’intera trama;
iii. 
Se il canale è occupato, il nodo aspetta un opportuno
intervallo di tempo e, poi, torna ad ascoltare il canale.
Quindi, i protocolli CSMA adottano la seguente regola: “Ascolta
prima di parlare e, se qualcun altro sta già parlando, aspetta
finchè non ha concluso”.
123
Accesso Multiplo con Rivelazione della
portante (CSMA) (2/4)
 
 
 
La strategia di accesso CSMA non garantisce l’assenza di collisioni.
Supponiamo che il nodo B e il nodo D siano alla massima distanza dmax.
o 
Supponiamo che, all’istante t0, il nodo B ascolti il canale, lo trovi libero
ed inizi a trasmettere;
o 
Supponiamo che all’istante t1 (dove t1≥t0), il nodo D ascolti il canale.
o 
Se la differenza (t1-t0) è minore del ritardo di propagazione τ del
segnale elettrico nel canale condiviso, ossia, se è verificata la
condizione:
(t1-t0) < τ
allora all’istante t1, il nodo D “sente” il canale libero ed inizia a
trasmettere la propria trama.
o 
Poiché il nodo B sta già trasmettendo la propria trama le trame
generate dai nodi D e B collidono.
Ne concludiamo che, in generale, la strategia di accesso CSMA è tanto meno
efficace quanto maggiore è il ritardo di propagazione τ del sistema d’accesso
considerato.
124
Accesso Multiplo con Rivelazione
della portante (CSMA) (3/4)
 
Le collisioni possono ancora verificarsi:
o 
tra i due nodi trasmittenti avviene una collisione se
essi accedono al canale in istanti che differiscono tra
loro meno del tempo di propagazione tra i nodi;
o 
Il ritardo di propagazione fa sì che due nodi non
rilevino la reciproca trasmissione.
collisione
B
D
125
Accesso Multiplo con Rivelazione
della portante (CSMA) (4/4)
 Il ritardo di
propagazione τ
gioca un ruolo
importante nel
determinare le
collisioni
126
CSMA con Rilevazione di Collisione
(CSMA/CD) (1/3)
 
 
 
 
Le prestazioni dei protocolli CSMA possono essere
migliorate facendo ricorso alla funzione di Rilevazione delle
Collisioni (Collision Detection- CD)
Per definizione, la funzione di Collision Detection richiede
che un qualsiasi nodo che ha già iniziato a trasmettere
continui ad ascoltare il canale, ed interrompa
immediatamente la trasmissione nel caso in cui si accorga
che c’è anche un altro nodo che sta trasmettendo.
Quindi, la funzione di Collision Detection permette di
minimizzare la durata temporale di ciascuna collisione.
E’ da rimarcare che un nodo può espletare la funzione di
Collision Detection solo durante l’intervallo temporale in cui
sta trasmettendo la propria trama, ma non dopo aver
terminato di trasmetterla.
Baccarelli,
127
Cordeschi, Patriarca, Polli
CSMA con Rilevazione di Collisione
(CSMA/CD) (2/3)
 
Ricapitolando, i protocolli CSMA/CD prevedono che ogni
nodo che abbia una trama da trasmettere:
i.  Ascolti lo stato del canale e inizi a trasmettere solo se
il canale è libero (fase CSMA);
ii.  Continui ad ascoltare il canale durante la trasmissione
della propria trama e interrompa immediatamente la
trasmissione appena si accorga che un altro nodo sta
trasmettendo (fase CD).
 
In essenza, i protocolli CSMA/CD adottano la regola:
“Ascolta prima di parlare e anche mentre stai parlando”.
128
CSMA con Rilevazione di collisione
(CSMA/CD) (3/3)
 Rispetto al
protocollo CSMA,
migliora le
prestazioni
riducendo la
durata temporale
delle collisioni
129
Il protocollo CSMA/CD (1/2)
 
Nei sistemi d’accessi di tipo CSMA/CD, ciascun nodo opera
in accordo al seguente protocollo:
Nodo pronto a
trasmettere
Canale
occupato?
Attesa di Δ
si
no
Trasmissione e
sensing del canale
Collisione
Rilevata?
no
Scelta casuale del
tempo di attesa Δ
nell’insieme
{0, T0, 2T0, …, (2k-1)T0}
Calcolo di (2k-1)T0
si
Trasmetti il
segnale di jam
Trasmissione
completata
Attendi Δ1=9.6µs
130
Il protocollo CSMA/CD –
Definizione dei parametri (2/2)
 
I parametri introdotti nel diagramma precedente hanno i
seguenti significati/valori:
o 
T0 (sec) ≡ tempo necessario a trasmettere una trama
di lunghezza minima ≡ Lmin/C
tipicamente T0=51.2µs;
o 
Δ1 ≡ tempo che deve intercorrere tra l’istante in cui
termina la trasmissione di una trama e l’istante in cui il
nodo torna a sentire il canale per trasmettere la trama
successiva (Inter-Frame Gap)
tipicamente Δ1 = 9.6 µs;
o 
K ≡ min {Nc,10};
o 
Nc ≡ numero di collisioni già subite dalla trama che il
nodo sta cercando di trasmettere.
131
Il protocollo CSMA/CD- Descrizione (1/3)
Quando il nodo ha una trama da trasmettere, inizia ad
ascoltare (sensing) il canale. Nel caso in cui rilevi una
trasmissione già in atto, il nodo si pone in uno stato di
attesa per un opportuno intervallo di tempo Δ (sec) e,
quindi, torna di nuovo ad ascoltare il canale.
  Nel caso in cui l’operazione di Collision Detection rilevi
una collisione mentre il nodo sta già trasmettendo, il
nodo interrompe immediatamente la trasmissione della
trama e, poi, emette un segnale di allarme (segnale di
jam).
  Il segnale di jam è una particolare sequenza di 32 bit
che ha il compito di avvertire tutti i nodi del sistema
delle collisioni e, che, quindi, tutti i bit che essi hanno
ricevuto sono da scartare.
 
132
Il protocollo CSMA/CD- Descrizione
(2/3)
 
Dopo la trasmissione del segnale di jam, il nodo si pone in attesa di
riprovare la trasmissione della trama che ha colliso.
 
La durata Δ (sec) (variabile) dello stato di attesa è calcolata
applicando il cosiddetto algoritmo di subentro (Algoritmo di Backoff), che è basato sulla definizione di un intervallo di base
T0 ≡ 51.2µs che rappresenta il tempo necessario a trasmettere una
trama di lunghezza minima.
Specificatamente, l’Algoritmo di Back-off prevede che il nodo
torni ad ascoltare il canale dopo un tempo di attesa Δ che è scelto
casualmente nell’insieme:
Δ  {0, T0, 2T0, …, (2k-1)T0},
dove
 
K ≡ min {Nc,10}
e l’intero Nc ≥ 1 è il numero di collisioni che la trama da
Baccarelli,
trasmettere ha già subito.
Cordeschi, Patriarca, Polli
133
Il protocollo CSMA/CD- Descrizione
(3/3)
 
Nell’Algoritmo di Back-off, il numero di possibili valori
assumibili dal tempo di attesa Δ cresce in modo
esponenziale con K, ossia cresce in modo esponenziale
con il numero Nc di collisioni già subite dalla trama da
trasmettere, almeno finchè Nc ≥ 10.
 
Infatti, maggiore è Nc, maggiore è il numero di nodi che
stanno cercando di trasmettere. Quindi, per evitare
che due o più nodi continuino a collidere più e più volte,
l’insieme dei possibili valori che può assumere Δ deve
crescere al crescere di Nc.
134
Corretto funzionamento della procedura
di Collision Detection (1/2)
 
 
Poiché un nodo espleta la funzione di Collision Detection solo
durante l’intervallo di tempo in cui sta trasmettendo una
trama, è necessario che il tempo
LMIN/C (sec)
che un nodo impiega per trasmettere una trama di lunghezza
minima sia non inferiore al ritardo massimo ΔMAX (sec) con
cui un nodo che ha iniziato a trasmettere di accorge che un
altro nodo sta già trasmettendo.
Ovviamente, ΔMAX è pari al tempo impiegato dal segnale
elettrico per propagarsi dal nodo A al nodo B e, poi, dal nodo
B al nodo A, dove A e B sono due nodi posti alla massima
distanza dMAX . Ovvero,
ΔMAX = 2 τ = 2 dMAX /v
135
Corretto funzionamento della procedura
di Collision Detection (2/2)
 
Quindi, affinchè la funzione di CD operi correttamente,
dobbiamo avere
LMIN/C ≥ ΔMAX ≡ 2 dMAX /v,
ovvero,
dMAX ≤ v (m/sec) x LMIN (bit) /2 C (bit/sec)
 
(1)
Ciò significa che i sistemi d’accesso di tipo CSMA/CD
hanno una estensione massima dMAX (ovvero, una
copertura) che è limitata dal secondo membro della
disuguaglianza riportata nella eq. (1).
136
Efficienza massima del protocollo
CSMA/CD (1/3)
 
 
L’impiego del protocollo CSMA/CD non garantisce
l’assenza di collisioni.
Anche nel caso dei sistemi di accesso CSMA/CD, il
canale condiviso dagli N nodi può trovarsi in uno dei tre
stati:
i.  Stato libero,
ii.  Stato con collisione,
iii.  Stato utile.
precedentemente definiti.
137
Efficienza massima del protocollo
CSMA/CD (2/3)
 
Si può dimostrare che, al tendere all’inifinito del numero di
nodi N che compongono il sistema, l’efficienza massima di un
sistema CSMA/CD è pari a:
dove
o 
o 
o 
a ≡ τ /Tt (sec) ≡ tempo di propagazione normalizzato al
tempo di trasmissione;
τ ≡ dMAX /v (sec) = tempo di propagazione del segnale
elettrico nel sistema;
Tt ≡ LMAX /C (sec) = tempo di trasmissione di una trama
di dimensione massima.
138
Efficienza massima del protocollo
CSMA/CD (3/3)
 
E’ interessante osservare che:
 
Quindi, il protocollo CSMA/CD è tanto più efficiente
(cioè, tanto più capace di evitare collisioni) quanto più è
piccolo il valore a del rapporto tra il ritardo di
propagazione τ il tempo di trasmissione Tt di una trama
di dimensione massima.
139
Reti in Area Locale (LAN) e
Reti Ethernet
140
Reti in Area Locale - Definizione (1/2)
 
 
 
Le reti in Area Locale (Local Area Networks) nascono per
interconnettere utenti terminali distribuiti su un’area geografica
limitata e dell’ordine di 2.5km-3.0km.
Dal punto di vista componentistico, una LAN è costituita da:
o 
Più utenti terminali;
o 
Elementi di inter-connessione tra utenti terminali (hub e/o
bridge);
o 
Canali trasmissivi che collegano le coppie di nodi.
Le caratteristiche fondamentali di una LAN sono:
i. 
Estensione geografica limitata, ossia dMAX ≤ 2.5km-3.0km;
ii. 
Elementi di inter-connessione che attuano solo protocolli
degli Strati Fisico e di Collegamento;
iii. 
Canali trasmissivi che possono essere di tipo punto-punto,
oppure condivisi (canali broadcast).
141
Reti in Area Locale - Definizione (2/2)
 
Le LAN si suddividono in due grandi categorie:
i. 
LAN cablate (wired LAN):
usano come mezzi trasmissivi i cavi coassiali, e/o i
doppini telefonici e/o le fibre ottiche;
i. 
LAN radio (wireless LAN):
usano come mezzo trasmissivo lo spetto radio.
142
La Famiglia delle LAN Ethernet
143
Ethernet - Generalità (1/2)
 
 
 
La tecnologia Ethernet è nata a metà anni ’70; ad oggi,
detiene una posizione dominante nel mercato delle LAN
cablate.
Gli adattatori Ethernet sono poco costosi (dell’ordine dei
20 Euro) e permettono agli utenti collegati di trasmettere a
velocità che vanno dai 10Mb/sec sino ai 10 Gb/sec.
La tecnologia Ethernet comprende tutta una famiglia di
reti che si differenziano principalmente per:
i. 
Velocità di trasmissione (dai 10Mb/sec ai 10 Gb/sec);
ii. 
Coperture (da qualche decina di metri ai 3.5/4.0km);
iii. 
Mezzi trasmissivi impiegati (cavo coassiale, doppino
telefonico, fibra ottica);
iv. 
Strategia usata per l’accesso (CSMA/CD oppure
accesso dedicato).
144
Ethernet - Generalità (2/2)
 
 
Dal punto di vista dell’Architettura Protocollare, gli standard Ethernet
definiscono solo i protocolli degli:
i. 
Strato fisico
ii. 
Strato di Collegamento.
Modello di Servizio
Tutte le tecnologie Ethernet forniscono un servizio privo di connessione
e non affidabile al corrispondente Strato di Rete. Specificatamente:
i. 
Servizio privo di connessione significa che quando un adattatore A
vuole inviare una trama ad un adattatore B lo fa direttamente
senza ricorrere alla fase di Instaurazione della connessione (fase
di handshaking);
ii. 
Servizio non affidabile significa che quando un adattatore B riceve
una trama da A, esso applica la procedura di rivelazione degli
errori, ma non invia indietro ad A né alcun riscontro positivo né
negativo. Quando l’adattatore B rivela errori nella trama ricevuta,
esso scarta semplicemente la trama, senza richiederne la ritrasmissione.
145
Strato Fisico della Tecnologia
Ethernet
146
Topologia delle Reti Ethernet (1/2)
 
 
 
 
 
Le reti Ethernet attuali impiegano una topologia a stella, in cui
gli N ≥2 nodi che compongono la rete sono collegati (in modo
bidirezionale) ad un nodo di interconnessione detto Centro
Stella.
Ciascun nodo è connesso al Centro Stella mediante due canali, il
primo dei quali è impiegato per inviare segnali verso il Centro
Stella, mentre il secondo è utilizzato per ricevere segnali dal
Centro Stella.
Le trame generate da un Nodo-Sorgente A debbono
necessariamente transitare per il Centro Stella prima di
raggiungere il Nodo-Destinazione desiderato B.
Il Centro Stella può essere un hub oppure un bridge.
Il modo di trasmissione di una rete Ethernet è sempre
bidirezionale e può essere half-duplex o full-duplex.
147
Topologia delle Reti Ethernet (2/2)
Nodo
1
Centro Stella
(hub o bridge)
Nodo
2
Nodo
3
Nodo
N
148
Mezzi trasmissivi nelle Reti Ethernet
(1/2)
 
 
 
Per la maggior parte, le reti Ethernet attuali impiegano come
mezzo trasmissivo il doppino telefonico oppure la fibra ottica.
I doppini telefonici impiegati sono di tipo non schermato (UTPUnshielded Twisted Pair) e, a seconda della qualità del rame
impiegato, si suddividono in 7 categorie, di qualità via via
crescente.
Specificatamente, i doppini UTP impiegati nelle reti Ethernet
sono quelli di:
i. 
Categoria 3 – hanno una larghezza di banda di 16MHz;
ii. 
Categoria 4 – hanno una larghezza di banda di 20MHz;
iii.  Categoria 5 – hanno una larghezza di banda di 100MHz;
iv.  Categoria 6 – hanno una larghezza di banda di 250MHz;
v. 
Categoria 7 – hanno una larghezza di banda di 1000MHz.
149
Mezzi trasmissivi nelle Reti Ethernet
(2/2)
Le fibre ottiche impiegate nelle reti Ethernet
possono essere di tipo monomodo o multimodo.
  La fibre multimodo operano in 1° finestra e in 2°
finestra, ossia a lunghezze d’onda dell’ordine dei
850nm e dei 1300nm. Esse sono dispersive e
introducono attenuazioni non trascurabili.
  Le fibre monomodo operano in 2° finestra e in 3°
finestra, ossia a lunghezze d’onda dell’ordine di
1300nm e 1500nm. Esse sono poco dispersive e
introducono basse attenuazioni.
 
150
Modulazione nelle Reti Ethernet (1/3)
 
 
 
Il formato di modulazione impiegato è il Manchester, che è
un formato di modulazione binario e di banda base.
Indicato con Tb (sec) il periodo di bit, nel formato
Manchester:
i. 
Il bit ‘0’ è rappresentato da un segnale che presenta
una transizione: altobasso a Tb/2;
ii. 
Il bit ‘1’ è rappresentato da un segnale che presenta
una transizione: bassoalto a Tb/2.
Poiché nelle reti Ethernet non c’è un segnale di sincronismo
che coordina (allinea temporalmente) i nodi della rete, le
suddette transizioni facilitano l’estrazione del segnale di
sincronismo dalla sequenza di bit ricevuti da ciascun nodo.
151
Modulazione nelle Reti Ethernet (2/3)
  Le reti Ethernet che impiegano il doppino
telefonico come mezzo trasmissivo usano la
modulazione Manchester di tipo bipolare.
S1(t)
S0(t)
+1
+1
Tb/2
-1
Tb
Tb/2
t
Tb
t
-1
152
Modulazione nelle Reti Ethernet (3/3)
fibra ottica
come mezzo trasmissivo usano la modulazione
Manchester di tipo on-off.
  Le reti Ethernet che impiegano la
S1(t)
S0(t)
+1
+1
Tb/2
Tb
t
Tb/2
Tb
t
153
Strato di Collegamento della
Tecnologia Ethernet
154
Formato della Trama Ethernet (1/3)
  Le trama Ethernet ha una lunghezza minima di
73 byte e una lunghezza massima di 1527 byte.
  Il tempo T0 per la trasmissione di una trama di
lunghezza minima è fissata a T0 = 51.2µs.
  La struttura di trama è la seguente (standard
IEEE802.3):
64-1518 byte
preamble
S
F
D
DA
8
1
6
SA
L
E
N
data
P
A
D
CRC
6
2
0-1500
0-46
4
155
Formato della Trama Ethernet (2/3)
 
Il significato dei campi della Trama è il seguente:
o 
preamble (8 byte) - consente, trama per trama, la
sincronizzazione del segnale numerico ricevuto dal
Nodo-Destinazione;
o 
Short Frame Delimiter (SFD) (1 byte) - contiene
la stringa ‘10101011’ che individua l’inizio della
trama;
o 
Destination Address (DA) (6 byte) - contiene
l’indirizzo MAC del Nodo-Destinazione della
trama;
o 
Source Address (SA) (6 byte) - contiene
l’indirizzo MAC del Nodo-Sorgente della trama;
156
Formato della Trama Ethernet (3/3)
o 
o 
o 
o 
Length (LEN) (2 byte) - specifica la lunghezza del
campo DATA;
Data (0-1500 byte) - contiene il datagramma generato
dallo strato di rete del Nodo-Sorgente;
PAD (0-46 byte) - serve a garantire che ogni trama
abbia una lunghezza minima non inferiore a 73 byte;
Cyclic Redundancy Check (CRC) (4 byte) - contiene i
bit di controllo di parità del codice impiegato per
rilevare in ricezione eventuali errori presenti nella
trama ricevuta.
157
Reti EthernetInterconnessione tramite Hub
158
Interconnessione tramite Hub (1/4)
 
 
 
 
Nelle reti Ethernet che impiegano un hub come centrostella, ogni nodo è connesso all’hub mediante due canali, uno
dei quali è impiegato per trasmettere verso l’hub, mentre
l’altro è usato per ricevere dall’hub.
L’hub è un dispositivo che opera semplicemente la ritrasmissione del segnale ricevuto da uno dei nodi di rete
verso tutti gli altri nodi della rete, tranne il nodo da cui il
segnale è stato ricevuto.
Quindi, se 2 o più nodi trasmettono contemporaneamente
verso l’hub, i corrispondenti segnali collidono e sono
inutilizzabili.
Dal punto di vista logico, una rete Ethernet con centro-stella
costituito da un hub di comporta come un sistema ad accesso
multiplo con protocollo CSMA/CD.
159
Interconnessione tramite Hub (2/4)
 
 
 
Dal punto di vista fisico (hardware), un hub è un dispositivo con N
interfacce, ciascuna delle quali è collegata bidirezionalmente con
uno dei nodi di rete.
Ciascuna interfaccia è costituita da:
i. 
Una porta d’ingresso, dalla quale l’hub riceve il segnale
trasmesso dal nodo;
ii. 
Una porta di uscita, attraverso la quale l’hub invia il segnale
verso il nodo.
Il segnale che l’hub riceve dall’m-sima porta d’ingresso viene:
i. 
Demodulato;
ii. 
Ri-modulato;
iii. 
Amplificato;
iv. 
Ritrasmesso su tutte le porte d’uscita tranne che sulla
porta di uscita m-sima.
160
Interconnessione tramite Hub (3/4)
 
La struttura interna di un hub è riportata in figura, per il caso N = 3.
Dal nodo 1
Al nodo 1
Porta di
Ingresso 1
DemodMod.
Ampl.
Dal nodo 2
Porta di
Uscita
1
Al nodo 2
Porta di
Ingresso 2
DemodMod.
Ampl.
Dal nodo 3
Porta di
Uscita
2
Al nodo 3
Porta di
Ingresso 3
DemodMod.
Ampl.
Porta di
Uscita
3
161
Interconnessione tramite Hub (4/4)
 
Dal punto di vista dell’Architettura Protocollare, un hub
attua solo protocolli di Strato Fisico. Quindi un hub non
può essere impiegato per interconnettere nodi che
adottano protocolli di Strato di Collegamento diversi
tra loro.
Strato Fisico
Simbolo grafico
di un Hub
Pila protocollare
attuata da un Hub
162
Reti EthernetInterconnessione tramite Bridge
163
Bridge - Generalità
 
 
 
 
Il centro-stella di una rete Ethernet può essere costituito da un
Bridge.
Un Bridge è un dispositivo con N interfacce che attua sia
protocolli di strato fisico che protocolli di strato di collegamento.
In particolare, un Bridge opera su ogni tarma ricevuta al seguente
modo:
i. 
Legge l’indirizzo di destinazione della trama;
ii. 
Inoltra la trama solo sulla porta di uscita connessa alla
destinazione;
iii. 
Trasmette la trama verso la destinazione solo quando non ci
sono altre trame che sono correntemente trasmesse verso la
stessa destinazione.
Quindi l’interconnessione tramite Bridge evita completamente le
collisioni.
164
Bridge – Struttura (1/2)
  La struttura di un Bridge è riportata in figura.
Dispositivo di indirizzamento e inoltro
B
u
f
f
e
r
1
Porta 1 . . . Porta N
Porte
d’ingresso
B
u
f
f
e
r
N
Porta 1
Porta N
Porte
d’uscita
165
Bridge – Struttura (2/2)
 
 
Un Bridge è costituito da N interfacce, ciascuna della quali è
composta da una porta di ingresso e da una porta d’uscita. Il
Bridge riceve le trame generate dal nodo m-simo mediante la mporta di ingresso. Il Bridge invia le trame destinate al nodo m-simo
mediante la m-sima porta di uscita.
La trama ricevuta da una (generica) porta di ingresso viene
prelevata dal Dispositivo di Indirizzamento, che svolge le seguenti
funzioni:
i. 
Legge l’indirizzo del nodo di destinazione contenuto nella
trama;
ii. 
Inoltra la trama solo verso il buffer connesso con la porta di
uscita collegata col nodo di destinazione;
iii.  Preleva la trama dal buffer e la trasmette verso il nodo di
destinazione solo quando non ci sono altre trame che
correntemente sono trasmesse verso lo stesso nodo di
destinazione (assenza di collisioni).
166
Bridge – Architettura Protocollare
 
 
 
Dal punto di vista dell’Architettura Protocollare, un Bridge attua
sia i protocolli di Strato Fisico che i protocolli di Strato di
Collegamento.
In particolare, un Bridge è in grado di leggere e interpretare gli
indirizzi MAC di una trama, ma non è in grado né di leggere né di
interpretare gli indirizzi IP di un Datagramma.
Un Bridge può essere anche utilizzato per inter-connettere nodi
che adottano differenti protocolli di Strato di Collegamento.
Strato di
collegamento
Strato Fisico
Simbolo grafico
di un Bridge
Pila protocollare
attuata da un Bridge
167
Le funzione svolte da un Bridge
 
Più in dettaglio, un Bridge svolge le seguenti
funzioni (operazioni) su ciascuna trama che
riceve da una delle sue porte di ingresso:
i.  Filtraggio;
ii.  Inoltro;
iii.  Auto-apprendimento;
iv.  Conversione del formato di trama
(opzionale).
168
Filtraggio e Inoltro (1/5)
Filtraggio si riferisce alla capacità che un Bridge ha di
decidere se una trama ricevuta da una delle sue porte di
ingresso debba essere inoltrata ad una opportuna sua
porta di uscita oppure debba essere scartata.
  Inoltro (forwarding) è la capacità che un Bridge ha di
determinare (calcolare) a quale porta di uscita debba
essere inviata ciascuna trama che il bridge ha ricevuto
da una delle sue porte di ingresso.
  Il bridge svolge le funzioni di filtraggio e inoltro
avvalendosi delle informazioni memorizzate in una
tabella residente nel bridge stesso, e detta Tabella di
Inoltro.
 
169
Filtraggio e Inoltro (2/5)
 
 
Specificatamente, la Tabella di Inoltro memorizzata in
ciascun Bridge ha tante righe quanti sono i nodi
destinazione raggiungibili dalle porte di uscita del
Bridge stesso.
Ciascuna riga della Tabella di Inoltro contiene 3
informazioni:
i. 
Indirizzo MAC (6 byte) di un nodo di destinazione;
ii. 
Il numero d’ordine della porta di uscita del bridge
dalla quale è raggiungibile il nodo di destinazione;
iii.  Il tempo (l’ora) in cui l’indirizzo del nodo di
destinazione è stato inserito (scritto) nella Tabella
di Inoltro.
170
Filtraggio e Inoltro (3/5)
  Un possibile esempio di Tabella di Inoltro
memorizzata da un bridge è la seguente
Indirizzo MAC del
nodo di destinazione
Numero della porta
di uscita del Bridge
Tempo di
inserimento
dell’indirizzo MAC
62-FE-F7-11-89-A3
1
9:32
7C-BA-B2-B4-91-10
3
10:37
88-B2-2F-54-1A-0F
1
10:52
…
…
…
171
Filtraggio e Inoltro- Algoritmo
(4/5)
 
 
Supponiamo che il bridge riceva una trama dalla porta di ingresso con
numero m e che la trama contenga come indirizzo di destinazione DD-DDDD-DD-DD-DD.
L’algoritmo di Filtraggio e Inoltro eseguito dal bridge procede come segue:
i. 
Se l’indirizzo DD-DD-DD-DD-DD-DD non è contenuto nella Tabella
di Inoltro, allora il bridge inoltra la trama ricevuta su tutte le sue
porte d’uscita tranne l’m-sima;
ii. 
Se l’indirizzo DD-DD-DD-DD-DD-DD è contenuto nella Tabella e la
porta di uscita ad esso associata è l’m-sima, allora il bridge scarta
la trama ricevuta (ossia, non inoltra la trama su nessuna delle porte
d’uscita) (Filtraggio);
iii. 
Se l’indirizzo DD-DD-DD-DD-DD-DD è contenuto nella tabella e la
porta di uscita ad esso associata è l’x-sima con x ≠ m, allora il
bridge memorizza temporaneamente la trama nel buffer che
precede la porta d’uscita x-sima. Il bridge rimuove la trama dal
buffer e la trasmette sulla porta d’uscita x-sima solo quando la
suddetta trasmissione non provoca collisione con altre trasmissioni
172
già in corso (Inoltro). Baccarelli,
Cordeschi, Patriarca, Polli
Filtraggio e Inoltro- Esempio (5/5)
Source: A
Dest: A’
 
 
Destinazione della trama
sconosciuta: flood
Destinazione A
conosciuta: inoltro
selettivo
A A A’
C’
B
A6A’
porta
A’ A
tempo
A
1
9:57
A’
4
10:19
1
5
bridge
MAC addr
Tabella di
inoltro
trama
2
3
4
C
B’
173
Auto-Apprendimento (1/3)
  La Tabella di Inoltro di un bridge è
inizialmente vuota. Essa viene costruita e
aggiornata automaticamente, ossia senza
bisogno dell’intervento dell’amministratore di
rete.
  La capacità di un bridge di costruire e
aggiornare la propria Tabella di Inoltro in
modo autonomo è detta capacità di autoapprendimento (self-learning) del bridge.
174
Auto-Apprendimento: algoritmo
(2/3)
 
Specificatamente, l’algoritmo di auto-apprendimento procede
come segue:
1.  La tabella di Inoltro è inizialmente vuota;
2.  Quando una trama arriva al bridge e l’indirizzo MAC del nodoSorgente della trama non è già contenuto nella Tabella di
Inoltro, allora il bridge memorizza:
i. 
L’indirizzo MAC di tale nodo;
ii.  Il numero della porta di ingresso dalla quale è arrivata la
trama;
iii.  L’istante di tempo in cui la trama è arrivata.
3.  Quando una trama arriva al bridge e l’indirizzo del nodoSorgente è già contenuto nella Tabella, allora la Tabella non
viene modificata.
4.  Il bridge elimina (cancella) un indirizzo dalla tabella se nessuna
trama è stata ricevuta con quell’indirizzo di sorgente per un
intervallo di tempo (Tempo di Età) che, tipicamente, è
dell’ordine dei 60 minuti.
175
Auto-Apprendimento- Esempio (3/3)
  Supponiamo che all’istante 9:39 una trama arrivi dalla porta di
ingresso no.2 e con indirizzo-sorgente: 01-12-23-34-45-56.
  Supponiamo che questo indirizzo non sia nella Tabella di Inoltro
del bridge. Allora, il bridge lo inserisce nella Tabella di Inoltro.
Indirizzo MAC del
nodo di destinazione
Numero della porta di
uscita del Bridge
Tempo di inserimento
dell’indirizzo MAC
01-12-23-34-45-56
2
9:39
  Supponiamo, ora, che il Tempo di Età della tabella sia di 60
minuti e che nessuna trama con indirizzo-sorgente:
01-12-23-34-45-56 arrivi al bridge tra l’istante 9:39 e l’istante
10:39. Allora all’istante 10:39 il bridge rimuove tale indirizzo
dalla sua Tabella di Inoltro.
176
Conversione del formato di trama
– Translating Bridge
  Un bridge può essere anche usato per
interconnettere nodi di rete che impiegano
protocolli di Strato di Collegamento diversi
(eterogenei).
  In questo caso il bridge, oltre ad effettuare le
funzioni di Filtraggio, Inoltro e AutoApprendimento, effettua anche la conversione
del formato della trama ricevuta dal nodosorgente nel formato di trama richiesto dal
nodo-destinazione.
  I bridge che effettuano anche questa
conversione sono detti “translating bridge”.
177
Reti Ethernet con accesso a contesa
e Reti Ethernet a commutazione
178
Classificazione delle Reti
Ethernet
•  Le reti Ethernet che impiegano come centrostella un hub sono dette Reti Ethernet con
accesso a contesa.
•  Le reti Ethernet che impiegano come centrostella un bridge sono dette Reti Ethernet a
commutazione (Switched Ethernet LANs).
179
Reti Ethernet con Accesso a
Contesa – Generalità (1/2)
Reti Ethernet con accesso a
contesa impiegano un hub come centro-stella.
  A tutti gli effetti, una rete Ethernet con accesso a
contesa alla quale sono collegati N nodi di rete
mediante canali fisici di capacità C (bit/sec) si
comporta come un sistema d’accesso multiplo che
impiega il protocollo d’accesso CSMA/CD
precedentemente descritto e analizzato.
  Tipicamente, ciascun nodo di una rete Ethernet con
accesso a contesa comunica con l’hub in modo
bidirezionale e half-duplex.
  Per definizione, le
180
Reti Ethernet con Accesso a
Contesa – Generalità (2/2)
 
Ciò significa che, dei due canali che connettono
ciascun nodo all’hub:
i.  Uno è impiegato, alternativamente nel tempo,
per trasmettere dati verso l’hub e per ricevere
dati dall’hub (comunicazione nodo-hub di tipo
bi-direzionale e half-duplex);
ii.  L’altro canale è impiegato dal nodo
esclusivamente per espletare la funzione di
Collision Detection (CD) richiesta dalla tecnica
di accesso CSMA/CD.
181
Reti Ethernet con Accesso a
Contesa - Tassonomia
Esistono più tipi di reti Ethernet con accesso, che si
differenziano per:
i. 
la capacità C (bit/sec) del canale condiviso;
ii. 
il tipo di mezzo trasmissivo impiegato dal canale condiviso.
 
Le diverse topologie di reti Ethernet con accesso a contesa sono
individuate con la notazione
X –Base- Y
dove:
a.  X indica la capacità del canale condiviso, espressa in Mb/sec;
b.  Base sta ad indicare che la modulazione adottata è di banda
base (tipicamente, la Manchester);
c.  Y può essere un numero oppure una lettera:
 
- 
- 
quando è un numero, indica la copertura della rete misurata in
centinaia di metri;
quando è una lettere, specifica il mezzo trasmissivo del canale
condiviso (tipicamente, doppino telefonico o fibra ottica).
182
Caratteristiche delle principali Reti
Ethernet con Accesso a Contesa
10-Base-T
10-Base-F
Mezzo trasmissivo
Doppino UTP
Fibra in I finestra
Topologia
Stella con hub
Stella con hub
Modulazione
Manchester Bipolare
Manchester On-Off
Velocità di trasmissione
10Mb/sec
10Mb/sec
Tecnica di accesso
CSMA/CD
CSMA/CD
Velocità di propagazione
del segnale nel mezzo
trasmissivo
0.59x3x108m/sec
0.66x3x108m/sec
Distanza massima tra
due nodi
100m
500m
Numero massimo di nodi
Non specificato
33
Modalità di trasmissione
Bidirezionale half-duplex Bidirezionale half-duplex
183
Reti Ethernet con Accesso Commutato
(Switched Ethernet) – Generalità (1/2)
  Per definizione, le reti Switched Ethernet
impiegano un bridge come centro-stella.
  A tutti gli effetti, in una Switched Ethernet,
ad ogni coppia di nodi Sorgente-Destinazione è
dedicato un collegamento punto-punto privo di
collisioni attraverso cui i nodi possano
comunicare ad una velocità (bit/sec) pari alla
capacità C del mezzo trasmissivo impiegato
dalla rete.
  Tipicamente, ciascun nodo di una rete
Switched Ethernet comunica con il bridge in
modo bidirezionale e full-duplex.
184
Reti Ethernet con Accesso Commutato
(Switched Ethernet) – Generalità
(2/2)
  Ciò significa che i due canali che connettono
ciascun nodo al bridge vengono usati
simultaneamente, uno per trasmettere dati
dal nodo al bridge, e l’altro per trasmettere
dati dal bridge al nodo.
185
Classificazione delle Reti Switched
Ethernet
più famiglie di Reti Switched Ethernet, che
si differenziano per la velocità di trasmissione e/o il
tipo di mezzo trasmissivo impiegato.
  Specificatamente, le tre principali famiglie di Reti
Switched Ethernet sono:
  Esistono
a. 
b. 
c. 
La famiglia Fast-Ethernet
È caratterizzata da una velocità di trasmissione di 100Mb/
sec;
La famiglia Gigabit-Ethernet
È caratterizzata da una velocità di trasmissione di 1000Mb/
sec;
La famiglia TenGigabit-Ethernet
È caratterizzata da una velocità di trasmissione di
10000Mb/sec.
186
Caratteristiche principali delle
Reti Fast - Ethernet
100-Base-T
100-Base-F
Mezzo trasmissivo
2 UTP di categoria 5
2 fibre ottiche
Topologia
Stella con bridge
Stella con bridge
Modulazione
Manchester bipolare
Manchester On-Off
Velocità di trasmissione
125 Mb/sec
125 Mb/sec
copertura
Centinaia di metri
≤ 2 Km
Modalità di trasmissione
Bidirezionale full-duplex
Bidirezionale full-duplex
187
Caratteristiche principali delle
Reti Gigabit - Ethernet
1000-Base-S
1000-Base-L
Mezzo trasmissivo
Fibra multimodo in 1°
finestra
Fibra monomodo in 2°
finestra
Topologia
Stella con bridge
Stella con bridge
Velocità di trasmissione
1.25 Gb/sec
1.25 Gb/sec
copertura
≤ 550 m
≤ 5 Km
Modalità di trasmissione
Bidirezionale full-duplex
Bidirezionale full-duplex
188
Caratteristiche principali delle
Reti TenGigabit - Ethernet
  Impiegano solo fibre ottiche
  Trasmettono a velocità dell’ordine di 10Gb/sec, con modalità
bidirezionale e full-duplex.
  Hanno topologia a stella con bridge come centro stella.
Lunghezza d’onda
impiegata
copertura
850nm
65m
1310nm
300m
monomodo
1310nm
10Km
monomodo
1550nm
40Km
multimodo
multimodo
189
Inter-connessione di più LAN
190
Inter-connessione di più LAN –
Generalità (1/3)
  Due o più LAN, di stesso tipo o di tipo
diverso, possono essere inter-connesse tra
di loro mediante:
i. 
ii. 
un hub;
un bridge.
scopo dell’inter-connessione è quello di
far comunicare tra di loro nodi (terminali
d’utente) che fanno parte di LAN distinte.
  L’intera rete ottenuta mediante l’interconnessione è chiamata LAN. Le singole
sotto-reti che sono state inter-connesse
sono chiamate segmenti (LAN segment).
  Lo
191
Inter-connessione di più LAN –
Generalità (2/3)
Hub oppure Bridge
Connessione
Connessione
Hub 3
Connessione punto-punto
Hub 1
Hub 2
NodoI
NodoC
NodoA
NodoB
Segmento 1
NodoH
NodoD
NodoE
NodoF
Baccarelli,
Segmento
2 Polli
Cordeschi,
Patriarca,
NodoG
Segmento 3
192
Inter-connessione di più LAN –
Generalità (3/3)
  L’architettura di base di una LAN inter-
connessa è quella riportata nella figura
precedente. In questo caso,
i. 
ii. 
iii. 
Il segmento 1 è costituito dall’hub 1 e i nodi A,B,C;
Il segmento 2 è costituito dall’hub 2 e i nodi D,E,F;
Il segmento 3 è costituito dall’hub 3 e i nodi G,H,I.
  Ciascuno degli hub ha una connessione
bidirezionale, full-duplex oppure half-duplex
con l’hub/bridge centrale.
  L’ hub/bridge centrale è chiamato hub/
bridge dorsale (backbone hub/bridge).
193
Dominio di Collisione
  Quando più segmenti vengono inter-connessi,
può accadere che la trasmissione simultanea di
nodi appartenenti a segmenti differenti dia
luogo a collisioni.
  In una LAN inter-connessa, si definisce
Dominio di Collisione l’insieme dei nodi
(appartenenti allo stesso segmento o a
segmenti differenti) la cui trasmissione
simultanea dà luogo a collisioni.
  A seconda del modo in cui viene effettuata
l’inter-connessione, una LAN inter-connessa
può presentare uno o più domini di collisione.
194
Interconnessione mediante
Backbone-Hub (1/3)
  Consideriamo l’architettura generale di inter-
connessione di M segmenti LAN mediante un
backbone-Hub riportato in figura.
Backbone Hub
Connessione
Connessione
Connessione punto-punto
Segmento M
Segmento 1
Segmento 2
195
Interconnessione mediante
Backbone-Hub (2/3)
 
L’inter-connessione mediante backbone-hub
ha i seguenti vantaggi:
i.  E’ poco costosa e facile da realizzare;
ii.  Permette a nodi appartenenti a segmenti
differenti di comunicare tra loro;
iii.  Estende la copertura consentita a ciascun
singolo segmento.
196
Interconnessione mediante
Backbone-Hub (3/3)
 
L’inter-connessione mediante backbone-hub ha i seguenti
svantaggi:
i.  Poiché un hub attua solo protocolli di Strato Fisico,
tutti i segmenti inter-connessi debbono usare la stessa
tecnologia (ad es., devono tutti essere reti Ethernet
10-base-T, oppure tutti 100-base-T);
ii.  Poiché un hub non effettua l’operazione di inoltro
(forwarding), né legge gli indirizzi delle trame che gli
pervengono, tutti i segmenti inter-connessi con un
backbone-hub costituiscono un unico dominio di
collisione. Ciò significa che, se due nodi appartenenti a
due segmenti differenti trasmettono simultaneamente,
le loro trasmissioni danno luogo a collisione.
197
Interconnessione mediante
Backbone-Bridge (1/2)
  Consideriamo l’altra architettura generale di
interconnessione di M segmenti mediante
backbone-bridge riportata in figura.
Backbone Bridge
Connessione punto-punto
Segmento 1
Connessione punto-punto
Connessione punto-punto
Segmento M
Segmento 2
198
Interconnessione mediante
Backbone-Bridge (2/2)
  L’inter-connessione mediante backbone-bridge ha i seguenti
vantaggi:
i. 
ii. 
iii. 
iv. 
Permette a nodi di segmenti differenti di comunicare tra di loro e
quindi estende la copertura di un singolo segmento;
Poiché un bridge è in grado di modificare il formato delle trame che
riceve, i segmenti possono usare anche tecnologie diverse;
Poiché un bridge esegue le operazioni di inoltro e legge gli indirizzi
MAC delle trame che gli pervengono, ciascuno dei segmenti connessi da
un backbone bridge costituisce un singolo dominio di collisione. Ciò
significa che, se due nodi appartenenti a segmenti differenti
trasmettono simultaneamente, le loro trasmissioni non danno luogo a
collisioni.
La modalità di trasmissione tra ciascun segmento e il backbone bridge
è bidirezionale e full-duplex.
  Tuttavia, un backbone-bridge è
installare di un backbone-hub.
più costoso e più difficile da
199
Protocolli di Strato di Collegamento
per canali punto-punto
200
Collegamenti Punto-Punto
  Consideriamo un collegamento tra un
singolo
nodo-Sorgente e un singolo nodoDestinazione collegati da un canale fisico
dedicato.
  In questo scenario,
i. 
ii. 
iii. 
Non c’è bisogno di un protocollo di accesso al mezzo;
Non occorre indirizzare i nodi;
Il canale fisico potrebbe essere una linea telefonica, o un
collegamento SONET/SDM.
  Il protocollo di Strato di Collegamento più
usato per gestire le connessioni punto-punto
è il Protocollo PPP (Point-to-Point Protocol).
201
Funzioni che il PPP deve svolgere
(1/2)
  Al PPP è richiesto di svolgere le seguenti funzioni e possedere i
seguenti requisiti:
i.  Costruzione di trame (packet framing): al nodo-Sorgente, il
protocollo deve essere in grado di incapsulare i datagrammi
generati dallo Strato di Rete in trame PPP;
ii.  Trasparenza: il PPP non deve porre alcuna restrizione sul
formato dei dati che costituiscono i datagrammi generati
dallo Strato di Rete del nodo-Sorgente;
iii.  Rivelazione degli errori: al nodo-Destinazione, il PPP deve
essere in grado di rivelare (ma non di correggere) gli
eventuali errori introdotti nelle trame ricevute dal canale
trasmissivo.
iv.  Disponibilità della connessione: il PPP deve essere in grado di
rilevare l’eventuale presenza di guasti nel collegamento
sorgente-destinazione;
v.  Negoziazione degli indirizzi IP: PPP deve fornire un
meccanismo agli Strati di Rete dei nodi-Sorgente e
Destinazione per scambiarsi e/o configurare gli indirizzi IP.
202
Funzioni che il PPP non deve
svolgere (2/2)
non è richiesto di svolgere le seguenti
funzioni:
  Al PPP
i. 
ii. 
iii. 
iv. 
v. 
Correzione degli errori eventualmente presenti
nella trama ricevuta;
Controllo della velocità del flusso di dati che il
Nodo-Sorgente invia al Nodo-Destinazione;
Trasferimento in ordine (in sequenza) delle trame
generate dal Nodo-Sorgente;
Instaurazione e gestione di collegamenti punto-amultipunto (multicast);
Attuazione di strategie ARQ per il controllo degli
errori.
203
Modello di servizio offerto dal
PPP
  Il PPP è un protocollo di Strato di
Collegamento. Esso offre allo Strato di Rete
un servizio di trasferimento di datagrammi:
i.  con connessione;
ii.  non affidabile (no correzione errori, no
trasferimento in sequenza);
attuato mediante una modalità di
trasmissione che è:
i.  Bidirezionale;
ii.  Full-duplex.
204
Architettura del PPP (1/2)
  Dal punto di vista dell’Architettura
Protocollare, per attuare il servizio descritto,
il PPP si avvale di 2 famiglie di protocolli, e
cioè dei:
i. 
ii. 
Link Control Protocol (LCP): ha il compito di
instaurare, gestire e abbattere il collegamento PPP
tra sorgente e destinazione;
Network Control Protocol (NCP): famiglia di
protocolli che il PPP utilizza per configurare
opportunamente gli Strati di Rete del NodoSorgente e del Nodo-Destinazione.
205
Architettura Protocollare del PPP
(2/2)
Strato di Rete
Strato di
collegamento
NCP
PPP
LCP
Strato Fisico
206
Formato della trama PPP
  Flag: indica l’inizio della trama PPP;
  Address: non viene realmente utilizzato nel PPP e gli è
 
 
 
 
assegnato come valore fisso la stringa “11111111”;
Control: anche questo campo è al momento inutilizzato;
potrebbe in futuro contenere campi di controllo multipli;
Protocol: protocollo di strato superiore al quale la trama
deve essere consegnata (e.s., PPP-LCP, IP, IPCP, etc);
Info: datagrammi degli strati superiori (datagramma IP);
Check: cyclic redundancy check per la rivelazione degli
errori.
Num.byte 1
1
1
01111110
11111111
00000011
Flag
Address
Control
1 or 2
protocol
info
Variable
length
2 or 4
1
check
01111110
Flag
207
Byte Stuffing (Aggiunta di byte)
(1/2)
requisito di trasparenza richiede che nel campo info
della trama PPP possa comparire anche la stringa di bit
“01111110”. Poiché la suddetta stringa è impiegata per
delimitare l’inizio e la fine del frame, come fa il nodoricevente a sapere se tale stringa fa parte del campo info
oppure è un flag di inizio/fine trama?
  Si applica la tecnica del Byte-Stuffing, e cioè:
i.  Il nodo-sorgente aggiunge (“stuff”) un byte di controllo
“01111101” prima di ogni byte di dati “01111110”;
ii.  Il nodo ricevente che vede la stringa “01111110”
preceduta dal byte di controllo “01111101”,
  Il
o 
o 
Comprende che la stringa è un byte di dati e non un
flag;
Rimuove il byte di controllo e continua a ricevere i
successivi byte.
208
Byte Stuffing (Aggiunta di byte)
(2/2)
Dati con
stesso
valore del
byte di
Flag
b5
b1
b4
b2
01111110
01111110
b2
b4
b1
b5
PPP
b5
b4
PPP
01111110
01111101
b2
Flag byte più stuffed byte
b1
209
Gestione del Collegamento PPP
(1/4)
Link Control Protocol (LCP)
gestire tutte le fasi di un collegamento tra
Nodo-Sorgente e Nodo-Destinazione.
  E’ compito del
  Specificatamente, le fasi previste da un
collegamento PPP sono riassunte dal seguente
Diagramma degli Stati (Diagramma dei Stati
del PPP).
210
Gestione del Collegamento PPP
(2/4)
Link
establishment
dead
authenticate
terminating
open
Network
layer config.
211
Gestione del Collegamento PPP
(3/4)
  Tutti i collegamenti PPP, iniziano e terminano
nello Stato Dead;
  Nello stato Link Establishment, viene instaurata
la connessione tra il Nodo-Sorgente e il NodoDestinazione (fase di hand-shaking);
  Quando è prevista (per motivi di sicurezza) una
autenticazione delle identità dei Nodi-Sorgente
e Destinazione, la suddetta autenticazione è
effettuata nello Stato Authenticate.
212
Gestione del Collegamento PPP
(4/4)
Stato Network Layer Configuration, il
protocollo LCP attiva il protocollo NCP che, a sua
volta, provvede a negoziare e configurare i parametri
(quali gli indirizzi IP) degli Strati di Rete dei nodi
Sorgente e Destinazione;
  Nello Stato Open, il protocollo LCP gestisce il
trasferimento delle trame tra i due nodi comunicanti;
  Nello Stato Terminating, uno dei due nodi invia il
messaggio di “richiesta di Terminazione”. Se l’altro
nodo risponde con il messaggio “terminazione
accettata”, la connessione passa nello stato Dead e
viene chiusa.
  Nello
213
Reti a commutazione di Pacchetto
con Modo di Trasferimento a
Circuito Virtuale (CV)
214
Reti a CV come tecnologie di
Strato di Collegamento
  Come abbiamo visto, le reti Ethernet costituiscono una
tecnologia di Strato di Collegamento che offrono un
servizio privo di connessione allo Strato di Rete per il
trasferimento di datagrammi.
  Le reti ATM (Asynchronous Transfer Mode) e le reti
MPLS (MultiProtocol Label Switching) possono essere
considerate tecnologie di Strato di Collegamento
basate sulla commutazione di pacchetto (multiplazione
statistica) e che offrono un servizio orientato alla
connessione allo Strato di Rete per il trasferimento
dei datagrammi.
215
Reti a Circuito Virtuale
  Generalmente, ricordiamo che le Reti a
Circuito Virtuale sono caratterizzate da:
i. 
ii. 
iii. 
iv. 
Essere reti a commutazione di pacchetto;
Impiegare la multiplazione statistica ai nodi di rete;
Offrire un servizio di trasferimento dei pacchetti orientato
alla connessione;
Far ricorso ai cosiddetti Circuiti Virtuali (CV) per
implementare le connessioni tra nodi-Sorgente e nodiDestinazione.
  I nodi di commutazione di una Rete a CV sono
chiamati Commutatori (Switch) o anche
Router.
216
Che cos’è un Circuito Virtuale
Consideriamo un Nodo-Sorgente A e un NodoDestinazione B all’interno di una rete a CV.
  Per definizione, un Circuito Virtuale da A a B è
costituito da:
i.  Una sequenza ordinata (directed path) di nodi di
rete e di canali di comunicazione dal NodoSorgente A al Nodo-Destinazione B;
ii.  Un insieme di Identificatori del Circuito Virtuale
(VC Identifiers), un identificatore per ciascun
canale che costituisce il circuito virtuale. Ciascun
identificatore è, tipicamente, un numero intero.
 
217
Tabelle di Instradamento (1/2)
  Un pacchetto generato dal Nodo-Sorgente A e che
appartiene ad un CV reca nel suo campo Intestazione
(Header Field) il numero del CV cui appartiene.
  Poiché ad un medesimo Circuito Virtuale possono
corrispondere differenti identificatori (diversi VCI) su
ciascuno dei canali che costituiscono il CV stesso,
ciascun nodo di commutazione (Switch o Router) che fa
parte del CV in oggetto deve essere in grado di
aggiornare opportunamente l’identificatore di ciascuno
dei pacchetti che riceve dalle sue porte di ingresso
prima di inoltrarlo ad una (opportuna) porta di uscita.
218
Tabelle di Instradamento (2/2)
A questo scopo, il nodo di commutazione impiega la Tabella di
Instradamento in esso memorizzata.
 
Essenzialmente, una Tabella di Instradamento ha tante righe
quanti sono i Circuiti Virtuali che attraversano il nodo di
commutazione in cui la tabella risiede.
 
Ogni riga della tabella fa riferimento ad uno specifico CV e
riporta 4 informazioni:
i. 
Il numero della porta di ingresso dalla quale il nodo riceve i
pacchetti del CV in oggetto;
ii. 
L’identificatore di CV dal quale il nodo riceve in ingresso i
pacchetti del CV in oggetto;
iii.  Il numero della porta di uscita alla quale il nodo deve
inoltrare i pacchetti;
iv.  L’identificatore del CV che il nodo assegna in uscita del CV
in oggetto.
 
219
Tabelle di InstradamentoEsempio (1/2)
  Per illustrare il concetto, consideriamo la rete illustrata in figura.
VC number
Nodo A
12
1
S1
2
22
3
S2
32
Nodo B
port
S3
S4
number
  I numeri 1, 2, 3 vicino al commutatore S1 sono i numeri delle sue porte di
ingresso e uscita (bidirezionali).
  Supponiamo che il nodo A richieda l’instaurazione di un CV col nodo B e
supponiamo che la rete assegni il cammino (path): AS1  S2  B e
assegni al suddetto CV i seguenti identificatori: 12, 22, 32 per ciascuno
dei 3 canali che compongono il CV.
220
Tabelle di InstradamentoEsempio (2/2)
  Allora, la Tabella di Instradamento memorizzata nel
nodo di commutazione S1 assume la seguente forma:
Porta
d’ingresso
VCI
d’ingresso
Porta
d’uscita
VCI
d’uscita
1
12
3
22
  Ciò significa che tutti i pacchetti che arrivano a S1
dalla porta di ingresso 1 e con VCI=12 nell’header
verranno inoltrati alla porta di uscita 3 di S1 e il loro
VCI verrà posto dal commutatore S1 pari a 22.
221
Indirizzamento nelle reti a CV
  Da quanto esposto, ne concludiamo che nelle reti a CV:
L’indirizzamento dei pacchetti non è fatto
specificando gli indirizzi dei nodi sorgente e
destinazione, ma è fatto specificando il CV (ossia, il
cammino) al quale il pacchetto appartiene;
ii.  Ogni volta che un nuovo CV è attivato attraverso un
nodo di commutazione, una nuova riga va aggiunta
alla Tabella di Instradamento residente nel nodo
stesso;
iii.  Dualmente, ogni volta che un CV è disattivato, la
corrispondente riga va eliminata dalla Tabella di
Instradamento del commutatore.
  Quindi, ciascun commutatore mantiene uno stato per
ciascun CV che lo attraversa.
i. 
222
Gestione di un CV (1/2)
  Poiché una rete a CV offre un servizio
orientato alla connessione, la gestione di un
CV è articolata in 3 fasi:
i.  Fase di instaurazione del CV : durante
questa fase, la rete:
o 
o 
o 
o 
Individua il cammino (path) tra il nodo-sorgente e il nodo
destinazione;
Assegna i VCI ai canali che compongono il cammino;
Aggiorna le Tabelle di Instradamento di tutti i nodi di
commutazione che fanno parte del cammino;
Riserva risorse (banda, spazio nei buffer) per i
pacchetti che saranno trasmessi lungo il cammino.
223
Gestione di un CV (2/2)
ii.  Fase di trasferimento dei pacchetti: la rete
trasferisce i pacchetti generati dal NodoSorgente verso il Nodo-Destinazione e
attraverso il cammino precedentemente
instaurato.
iii.  Fase di abbattimento del CV: durante questa
fase, la rete:
o 
o 
Termina il flusso dei pacchetti attraverso il CV;
Elimina l’informazione (la riga) circa il CV in
oggetto dalle Tabelle di Instradamento di tutti i
nodi di commutazione facenti parte del cammino.
224
La tecnologia ATM
(Asynchronous Transfer Mode)
225
Reti ATM – Generalità (1/2)
esempio (non l’unico) di
rete a commutazione di pacchetto e con
modalità di trasferimento a Circuito Virtuale.
  Esse possono essere viste come una tecnologia
di Strato di Collegamento in grado di offrire
un servizio di trasferimento dati orientato alla
connessione allo Strato di Rete.
  I nodi di commutazione di una rete ATM
impiegano la tecnica di multiplazione statistica
e sono detti ATM switche (commutatori ATM).
  Le reti ATM sono un
226
Reti ATM – Generalità (2/2)
  Gli standard per ATM cominciarono a essere
sviluppati alla metà degli anni ’80 dall’ATM Forum e
dall’ITU; in pratica fu utilizzata principalmente
all’interno di reti telefoniche e IP, servendo, per
esempio, come tecnologia dei collegamenti che
connettono router IP.
  Obiettivo: progettare reti in grado di trasportare file
audio e video in tempo reale, oltre a testo, e-mail e
file di immagini:
- rispondenza ai requisiti di tempo/QoS per voce e
video (rispetto al modello best-effort di Internet)
- Telefonia di ultima generazione
- Commutazione di pacchetto usando circuiti virtuali
227
Architettura protocollare di ATM
– Generalità (1/2)
AAL
celle
ATM
ATM
ATM
ATM
physical
physical
physical
physical
end system
switch
switch
end system
bit
 
AAL
AAL PDU
L’Architettura Protocollare di ATM è suddivisa in 3 strati:
i. 
ATM Adaptation Layer (AAL)
o 
è attivato solo nei nodi terminali (end-system);
o 
ha lo scopo di segmentare/riassemblare i datagrammi
ricevuti/consegnati allo Strato di Rete e di attuare tutte le
funzioni necessarie per implementare il servizio di
trasferimento dati richiesto dallo Strato di Rete;
o 
le unità informative generate dallo strato AAL sono dette
AAL Protocol Data Units (AAL PDU).
228
Architettura protocollare di ATM
– Generalità (2/2)
ATM Layer
o 
è attuato sia dai nodi terminali che dai nodi di commutazione;
o 
ha il compito di instradare il flusso di dati generato dal NodoSorgente verso il Nodo-Destinazione corrispondente;
o 
le unità informative generate dallo strato ATM sono dette celle
e sono di lunghezza fissa (53 bytes).
iv.  Physical Layer (Strato Fisico)
o 
è attuato sia dai nodi terminali che dai nodi di commutazione;
o 
ha lo scopo di convertire il flusso di celle generato dallo strato
ATM in un flusso di bit, e , poi, di consentire il trasferimento
dei bit attraverso il mezzo trasmissivo adottato dalla rete;
o 
le unità informative generate dallo strato fisico sono i bit.
ii. 
229
Strato AAL (1/2)
solo ai nodi terminali (non è
presente nei nodi di commutazione).
  E’ presente
  Al nodo sorgente, lo strato AAL riceve
datagrammi dallo Strato di Rete e li frammenta
in AAL PDU. Al nodo destinazione, lo strato AAL
riassembla le AAL PDU ricevute in datagrammi.
230
Strato AAL (2/2)
In base al tipo di servizio che la rete ATM
offre allo Strato di Rete, esistono più
protocolli di strato AAL, e
specificatamente:
 
i. 
ii. 
iii. 
Protocollo AAL1 – è impiegato per emulare reti a
commutazione di circuito, quale la rete telefonica
analogica;
Protocollo AAL2 – è impiegato per il trasferimento con
bassi tempi di ritardo dei dati generati da sorgenti a
velocità di emissione variabile (ad es., codificatori video
MPEG);
Protocollo AAL5 – è impiegato per il trasferimento di
datagrammi generati dallo Strato di Rete di Internet
(trasferimento dei dati).
231
Struttura della PDU del
Protocollo AAL5 (1/2)
  La struttura della PDU (unità informativa)
generata dal protocollo AAL5 è riportata in
figura.
Payload
PAD
Length
0-65535
0-47
2
CRC
4
byte
232
Struttura della PDU del
Protocollo AAL5 (2/2)
  Specificatamente,
o  Payload – contiene il Datagramma (dati) generato
dallo Strato di Rete. La lunghezza massima è di
65535 byte.
o  PAD – serve a garantire che, complessivamente, la
lunghezza della PDU sia un multiplo intero di 48
bytes. Quindi la dimensione massima del campo PAD
è di 47 byte.
o  Cyclic Redundancy Check (CRC) – serve a rivelare
(ma non a correggere) al nodo ricevente l’eventuale
presenza di errori nella AAL PDU ricevuta. Il
campo ha dimensione di 4 byte.
233
Lo Strato ATM – Funzioni (1/2)
Lo strato ATM è attuato sia ai nodi terminali che ai nodi di
commutazione della rete ATM.
  Le funzioni principali svolte dallo Strato ATM sono le
seguenti tra:
i.  Generazione/riassemblamento delle celle – al nodo
sorgente, lo strato ATM genera celle (cioè, Unità
Informative) di 53bytes frammentando le PDU passate
dallo Strato AAL. Al Nodo-Destinazione, lo Strato ATM
riassembla le celle ricevute, così da rigenerare le PDU
dello Strato AAL.
ii.  Gestione dei circuiti virtuali – gli Strati ATM dei Nodi Sorgente e destinazione e dei nodi di commutazione
provvedono alla instaurazione, mantenimento e
abbattimento di ciascun Circuito Virtuale. Essi
provvedono anche ad assegnare a ciascun CV i
corrispondenti Identificatori (VCI).
 
234
Lo Strato ATM – Funzioni (2/2)
iii.  Instradamento delle celle – a ciascun nodo di
commutazione il corrispondente strato ATM
provvede a :
o 
Instradare le celle ricevute dalle porte di
ingresso verso le (opportune) porte
d’uscita;
o 
Aggiornare la Tabella di Instradamento
memorizzata nel nodo.
235
Servizio offerto dallo Strato ATM
  Il servizio offerto dallo Strato ATM allo Strato AAL
è quello di trasferimento delle PDU generate sotto
forma di celle ATM.
  Il modo di trasferimento attuato dallo strato ATM è
a commutazione di pacchetto e con indirizzamento a
Circuito Virtuale.
  Il servizio offerto è di tipo orientato alla connessione,
ma (in generale) non affidabile.
  A seconda della tipologia della connessione instaurata,
lo Strato ATM offre:
o 
o 
o 
o 
un trasferimento di celle a velocità costante in ogni istante;
un trasferimento di celle a velocità media costante;
un trasferimento di celle a velocità minima prefissata;
un trasferimento di celle a velocità variabile e non garantita.
236
La cella ATM (1/2)
  Le unità informative generate e trasferite
dallo strato ATM si chiamano celle. Ogni
cella ha una lunghezza fissa di 53 byte.
  Ogni cella è costituita da
i. 
ii. 
un Campo Header di 5 byte;
un Campo Payload di 48 byte.
Header
5
Payload
48
byte
237
La cella ATM (2/2)
Il campo Payload contiene parte della PDU
generata dallo strato AAL.
  Il campo Header è:
i.  Aggiunto dallo Strato ATM del NodoSorgente;
ii.  Letto e (eventualmente) modificato dallo
Strato ATM di ciascuno dei nodi di
commutazione attraversati dalla cella;
iii.  Rimosso dallo Strato ATM del NodoDestinazione.
 
238
L’Header della cella ATM (1/2)
  Essenzialmente, l’Header (5 byte) di una cella
ATM contiene l’informazione circa il CV al
quale la cella appartiene.
  Sulla base della suddetta informazione,
ciascun nodo di commutazione provvede al
corretto instradamento della cella ricevuta.
  La struttura dell’Header di cella ATM è
riportato in figura.
VCI
28
PT
3
CLP
HEC
1
8
bit
239
L’Header della cella ATM (2/2)
 
Il significato dei campi dell’Header è il seguente:
i.  Virtual Channel Identifier (VCI) – è un campo di 28bit che
specifica il CV al quale appartiene la cella. Il contenuto del
VCI può essere modificato da ciascun nodo di commutazione
attraversato dalla cella.
ii.  Payload Type (PT) – è un campo di 3 bit che specifica il tipo di
informazione (dati oppure informazione di controllo)
trasportata dal campo Payload della cella.
iii.  Cell-Loss Priority (CLP) – è un campo di 1 bit. Le celle con
CLP=1 sono a bassa priorità (possono essere eliminate nel caso
di congestione), mentre le celle con CLP=0 sono ad alta
priorità (non possono essere scartate in caso di congestione).
iv.  Header Error Control – è un campo di 8 bit. Costituisce i bit di
controllo di parità del codice che è impiegato per la
rivelazione e la correzione degli (eventuali) errori che il
canale trasmissivo ha introdotto nel (solo) header della cella.
240
Lo Strato Fisico di ATM (1/4)
sia a
nodi terminali che ai nodi di commutazione della
Rete ATM.
  La funzione dello Strato Fisico è quello di
fornire una opportuna interfaccia col mezzo
trasmissivo impiegato, così che lo Strato ATM
possa trasmettere e ricevere celle con modalità
che sono indipendenti dalle caratteristiche
specifiche del mezzo trasmissivo di volta in
volta adottato.
  I protocolli di Strato Fisico sono attuati
241
Lo Strato Fisico di ATM (2/4)
  Lo Strato Fisico di ATM è suddiviso in
sotto-strati:
o 
o 
due
Trasmission Convergence Sub-Layer (TCS);
Physical-Medium Dependent Sub-Layer (PMDS);
TCS
Strato fisico di ATM
PMDS
Mezzo trasmissivo
242
Lo Strato Fisico di ATM (3/4)
  Il TCS svolge tutte le funzioni richieste per
trasformare una sequenza di celle ATM in una
sequenza di bit. In particolare,
o  genera e riceve il flusso binario che è
trasferito dal/al mezzo trasmissivo;
o  allinea le celle ricevute/trasmesse allo
Strato ATM;
o  effettua la rivelazione e correzione degli
errori eventualmente presenti nell’Header
di ciascuna cella ricevuta.
243
Lo Strato Fisico di ATM (4/4)
  Il PMDS modula e demodula la sequenza di bit
ricevuta/trasmessa dal/al TCS, ed,
eventualmente, codifica e decodifica la
suddetta sequenza di bit.
  Le velocità di trasmissione del flusso binario
generato/ricevuto dal PMDS possono essere
di: 155.52Mb/sec, 622.08Mb/sec, 51.84 Mb/
sec e 2.5 Gb/sec.
244
Fly UP