Uploaded by Angelo Giordano

cap03 (1)

advertisement
AUTORE: Ing. Giuseppe F. Rossi
Università degli Studi di Bergamo
FONDAMENTI DI RETI
E TELECOMUNICAZIONI
Prof. Giuseppe F. Rossi
giuseppe.rossi@guest.unibg.it
UNIVERSITA' DEGLI STUDI DI BERGAMO
Dipartimento di Ingegneria Gestionale,
dell'Informazione e della Produzione
A.A. 2021/22 - II° Semestre
FONDAMENTI DI RETI E
TELECOMUNICAZIONI
Lucidi delle Lezioni - Capitolo III
Architetture di comunicazione
Struttura del capitolo
Il problema della costruzione di una rete di TLC a commutazione di pacchetto
Approcci alla costruzione di una rete di TLC a commutazione di pacchetto
Approccio 'monolitico'
Analisi di 3 casi significativi
Approccio 'a strati'
Architetture di comunicazione a strati: definizioni
Funzioni svolte dai livelli 1, 2, 3 di una architettura di comunicazione a strati
Capitolo III
Architetture di comunicazione
1-2/37
© Copyright Ing. G. F. Rossi, 1995-2022
AUTORE: Ing. Giuseppe F. Rossi
Università degli Studi di Bergamo
FONDAMENTI DI RETI
E TELECOMUNICAZIONI
Il problema della costruzione di una rete di TLC a
commutazione di pacchetto
Nel corso del capitolo 1 è stato introdotto il concetto di rete a commutazione di pacchetto
Una volta introdotto il principio, l'obiettivo diventa la costruzione di una rete di tale tipo
Un nodo intermedio dovrà eseguire la commutazione dei pacchetti analizzando i pacchetti stessi
Le prossime slide esploreranno alcuni approcci con i quali costruire una rete a pacchetto
Appl
A
Calcol.
Calcol.
Calcol.
Calcol.
Appl
B
Calcol.
Costruzione di una rete di TLC a pacchetto
Approccio 'monolitico'
Proviamo a costruire una rete a pacchetto seguendo l'approccio più intuitivo
1 programma su ciascun nodo di rete, che svolge tutte le operazioni richieste
Funzionalità da sviluppare sui vari nodi della rete
Sul mittente
Generare i pacchetti e trasmetterli sul canale che porta al 1° nodo intermedio
Su un nodo intermedio
Riconoscere che un pacchetto ricevuto da un'interfaccia di ingresso non è destinato a quel
nodo e pertanto commutarlo verso il prossimo nodo
Sul destinatario
Ricevere i pacchetti
Capitolo III
Architetture di comunicazione
3-4/37
© Copyright Ing. G. F. Rossi, 1995-2022
AUTORE: Ing. Giuseppe F. Rossi
Università degli Studi di Bergamo
FONDAMENTI DI RETI
E TELECOMUNICAZIONI
Costruzione di una rete di TLC a pacchetto
Approccio 'monolitico'
Per comprendere la bontà della soluzione illustrata nella slide precedente, si tenterà di applicare
tale approccio in tre semplici casi
1° caso
Coppia di nodi end-system collegati direttamente tramite un canale punto-a-punto
In questo caso la dorsale intermedia è degenere (è costituita dal solo canale di trasmissione
che collega i due end-system)
Si supponga che su ciascun nodo sia pertanto in esecuzione un processo applicativo che deve
scambiare pacchetti con il processo applicativo in esecuzione sull'altro nodo
Tanto per fissare le idee i due nodi scambiano pacchetti per effettuare, ad esempio, una
operazione di file transfer
Costruzione di una rete di TLC a pacchetto
Approccio 'monolitico'
2° caso
Stessa topologia di rete del primo caso
Anzichè una sola coppia di processi applicativi comunicanti, in questo caso si supponga di
avere due coppie di processi con attive due diverse sessioni comunicative indipendenti tra
loro (ad esempio file transfer ed instant messaging)
3° caso
Coppia di end-system non collegati direttamente, ma attraverso un nodo intermedio (che viene
quindi a costituire la dorsale intermedia)
Su un end-system è in esecuzione un processo applicativo che deve scambiare pacchetti con
un processo applicativo in esecuzione sull'altro end-system
Sul nodo intermedio ci dovrà essere un processo applicativo che commuta i pacchetti
Capitolo III
Architetture di comunicazione
5-6/37
© Copyright Ing. G. F. Rossi, 1995-2022
AUTORE: Ing. Giuseppe F. Rossi
Università degli Studi di Bergamo
FONDAMENTI DI RETI
E TELECOMUNICAZIONI
Approccio 'monolitico'
1° caso
Due end-system sono collegati direttamente attraverso un canale di trasmissione
Sui due nodi sono in esecuzione due processi applicativi che realizzano, per esempio, il
trasferimento di un file da sinistra verso destra
Il file, a causa della sua lunghezza, di norma deve essere trasferito 'a pezzi' nella forma di
pacchetti scambiati tra il processo applicativo mittente (A) e il processo controparte destinatario
(B)
Una volta pronto sul mittente, ciascun pacchetto (= pezzo del file) viene trasmesso sul canale
pacchetti
File
System
Appl
A
Appl
B
File
System
Canale di trasmissione
punto-a-punto
Porte di comunicazione
Approccio 'monolitico'
1° caso
Schema a blocchi (di principio) dei due processi applicativi
Mittente
Destinatario
Leggi il file dal disco
Dividi il file in pacchetti
NO
Trasmetti un
pacchetto sul canale
Arrivano pacchetti
dalla porta di
comunicazione?
SI
Leggi il pacchetto dalla
porta di comunicazione
SI
Altri pacchetti
da trasmettere?
NO
NO
Il file è finito ?
SI
FINE
Capitolo III
Architetture di comunicazione
Assembla i vari 'pezzi'
del file e scrivi su disco
7-8/37
© Copyright Ing. G. F. Rossi, 1995-2022
AUTORE: Ing. Giuseppe F. Rossi
Università degli Studi di Bergamo
FONDAMENTI DI RETI
E TELECOMUNICAZIONI
Approccio 'monolitico'
1° caso
La soluzione riportata nelle slide precedenti non considera una serie di problemi
Il processo mittente si deve sincronizzare con il processo destinatario
Quando il processo mittente invia un pacchetto, il processo destinatario deve essere in
ascolto sulla porta di cominicazione
Il nodo mittente non deve spedire pacchetti ad un ritmo che il nodo destinatario non può
reggere (in caso contrario si perderebbero pezzi di file)
I processi devono gestire possibili condizioni di errore (ad esempio un'interferenza esterna
'sporca' il segnale che codifica i bit costituenti un pacchetto trasmesso sul canale)
Occorrono procedure per la diagnosi degli errori (funzione di error detection)
Occorrono procedure per la correzione degli errori (funzione di error recovery)
Approccio 'monolitico'
2° caso
Si supponga di prendere la struttura precedente e di modificarla aggiungendo una seconda coppia
di applicazioni, le quali anch'esse scambiano pacchetti tra loro
Sorgono ulteriori problemi ....
Se i processi A e C, per esempio, agiscono da mittenti, chiaramente determinano un conflitto
sull'uso della porta di comunicazione del nodo di sinistra
Se i processi B e D a loro volta agiscono da riceventi, chi di loro è il legittimo destinatario,
una volta che un pacchetto si presenta sulla porta di comunicazione (in ricezione) del nodo di
destra???
Capitolo III
Architetture di comunicazione
Appl
A
Appl
B
Appl
C
Appl
D
9-10/37
© Copyright Ing. G. F. Rossi, 1995-2022
AUTORE: Ing. Giuseppe F. Rossi
Università degli Studi di Bergamo
FONDAMENTI DI RETI
E TELECOMUNICAZIONI
Approccio 'monolitico'
3° caso
Si supponga infine di considerare quest'ultima struttura in cui è necessario far comunicare due
processi applicativi A e C in esecuzione su due nodi non direttamente connessi da un canale di
trasmissione (il nodo intermedio funge da dorsale)
In tal caso occorre scrivere un'applicazione B sul nodo intermedio che commuta i pacchetti
spedendoli verso il nodo su cui è in esecuzione il processo destinatario
L'applicazione B dovrà essere un'applicazione 'su misura' di ciò che si dicono A e C (quindi una
modifica in queste ultime quasi certamente comporta un'inevitabile modifica in B)
Appl
A
Appl
B
Appl
C
Approccio 'monolitico'
3° caso
Questa struttura di rete, leggermente più complessa delle precedenti, evidenzia ulteriori problemi
che si aggiungono a quelli già citati
L'operazione di commutazione effettuata dal processo B non può funzionare prescindendo dai
dettagli di A e C
Il processo B, a causa della lentezza della CPU del nodo di rete su cui viene eseguito (il nodo
intermedio), potrebbe non reggere il ritmo d'invio di A
L'inserimento di nuovi nodi end-system non direttamente connessi tra loro (le cui
comunicazioni devono quindi attraversare il nodo intermedio) comporta sicuramente
modifiche all'interno del processo B
Capitolo III
Architetture di comunicazione
11-12/37
© Copyright Ing. G. F. Rossi, 1995-2022
AUTORE: Ing. Giuseppe F. Rossi
Università degli Studi di Bergamo
FONDAMENTI DI RETI
E TELECOMUNICAZIONI
Approccio 'monolitico'
Conclusione
I 3 casi appena analizzati evidenziano quanto segue
Viste le problematiche che sono emerse già in presenza di reti molto semplici, si deduce che
l'obiettivo di realizzazione di una rete complessa a commutazione di pacchetto attraverso
l'approccio 'monolitico' (1 programma su ciascun nodo) diviene irraggiungibile
Anche ipotizzando di riuscire a costruire una rete complessa, quest'ultima dovrebbe essere
totalmente immutabile, in quanto ogni modifica (anche solo applicativa) avrebbe pesanti
impatti (= sarebbero necessarie pesanti modifiche) su tutto il resto della rete
Conclusione ... ovvia: l'approccio 'monolitico' non va bene!
Obiettivo delle prossime slide sarà allora quello di riaffrontare il problema in altro modo
Costruzione di una rete di TLC a pacchetto
Approccio 'a strati'
Nuovo approccio
E' sufficiente quanto abbiamo fatto??
Il problema della comunicazione tra
processi attivi su nodi diversi è complesso
e quindi va suddiviso in sottoproblemi
Una prima suddivisione: le funzioni su un
nodo di rete vengono realizzate separando
Di norma no ... in quanto la porzione
comunicativa risulta ancora troppo
complessa
Applicazione
A
....
Applicazione
Z
Porzione 'applicativa' (in giallo)
Porzione 'comunicativa' (in verde)
Una prima conseguenza: più applicazioni
possono utilizzare contemporaneamente lo
stesso servizio comunicativo, il quale, a sua
volta, sarà l'unico a gestire direttamente la
porta di comunicazione
Porzione comunicativa
porta di comunicazione
Capitolo III
Architetture di comunicazione
13-14/37
© Copyright Ing. G. F. Rossi, 1995-2022
AUTORE: Ing. Giuseppe F. Rossi
Università degli Studi di Bergamo
FONDAMENTI DI RETI
E TELECOMUNICAZIONI
Architetture di comunicazione a strati
La suddivisione in livelli
Operiamo una ulteriore suddivisione
('spalmiamo' le funzioni comunicative)
La stratificazione delle funzionalità presenti
su un nodo di rete
La porzione comunicativa viene a sua
volta suddivisa in N livelli
Applicazione
A
Ogni livello esegue alcuni controlli e
sfrutta il servizio comunicativo offerto dal
livello sottostante
....
Applicazione
Z
Livello N
Livello N-1
La struttura che si viene a creare prende il
nome di architettura di comunicazione a strati
...........
Livello 2
Il numero N di livelli (detti anche layer) varia
in funzione della specifica architettura
(nella maggioranza dei casi 4 ≤ N ≤ 7)
Livello 1
Porta di comunicazione
Architetture di comunicazione a strati
Principi costruttivi
Un'architettura a strati costruisce un servizio
comunicativo sofisticato 'per gradi'
Principi costruttivi di una buona architettura a
strati ( ... spesso non rispettati)
Un livello k
Indipendenza tra i livelli architetturali
chiede un servizio di comunicazione al
livello (k-1)
fornisce un servizio di comunicazione al
livello (k+1)
Un livello k deve essere sostituibile con
un altro livello k equivalente "ai
morsetti esterni" (= chiede lo stesso
servizio al livello k-1 e fornisce lo
stesso servizio al livello k+1)
Tale sostituzione deve essere
trasparente alla restante parte
dell'architettura
Livello k+1
Servizio di comunicazione
offerto
Un livello k deve utilizzare solo i servizi
del k-1 e fornire servizi solo al k+1
Livello k
Servizio di comunicazione
richiesto
Livello k-1
Capitolo III
Architetture di comunicazione
15-16/37
© Copyright Ing. G. F. Rossi, 1995-2022
AUTORE: Ing. Giuseppe F. Rossi
Università degli Studi di Bergamo
FONDAMENTI DI RETI
E TELECOMUNICAZIONI
Architetture di comunicazione a strati
Gli incapsulamenti
In un'architettura a strati le funzioni di controllo dei trasferimenti dei pacchetti, secondo quanto
enunciato in precedenza, sono 'spalmate' all'interno dei livelli architetturali
Affinchè tali funzioni di controllo possano avere luogo, risulta spesso (sempre) necessario
aggiungere ai messaggi generati dalle applicazioni alcune informazioni di controllo che saranno
utilizzate dai nodi per comprendere se il trasferimento è avvenuto correttamente
Visto che ogni livello architetturale si incarica di svolgere un ben preciso insieme di controlli,
ogni livello (eccetto il livello 1) dunque aggiungerà proprie informazioni di controllo che saranno
consultate dal livello omologo sul nodo destinatario (e/o su un nodo intermedio)
La porzione con le informazioni di controllo può essere aggiunta in testa al messaggio (in tal
caso prende il nome di testata o header) e/o in coda (in tal caso prende il nome di coda o trailer)
La struttura che si viene così a creare costituisce il pacchetto che poi verrà trasmesso sui canali
Architetture di comunicazione a strati
Cosa avviene sul nodo mittente?
L'invio di un messaggio da parte di un'applicazione sul mittente comporta la discesa dello stack
architetturale con una successione di incapsulamenti (aggiunta di header e trailer)
Alla fine l'intera sequenza binaria (il pacchetto) viene trasmesso bit-a-bit sul canale secondo la
codifica prevista dal livello 1
Applicazione
Mittente
Msg applicativo
Layer N
Hdr-N
Msg applicativo
.........
.........
Layer 2
Hdr-2
.....
Hdr-N
Msg applicativo
Trailer
Layer 1
Capitolo III
Architetture di comunicazione
17-18/37
© Copyright Ing. G. F. Rossi, 1995-2022
AUTORE: Ing. Giuseppe F. Rossi
Università degli Studi di Bergamo
FONDAMENTI DI RETI
E TELECOMUNICAZIONI
Architetture di comunicazione a strati
Cosa avviene sul nodo destinatario?
La ricezione di un pacchetto da parte del nodo destinatario comporta la risalita dello stack
architetturale con una serie di successivi controlli+eliminazioni delle header/trailer, al fine di
consegnare all'applicazione destinataria il messaggio inviato dall'applicazione mittente
Applicazione
Destinataria
Msg applicativo
Layer N
Hdr-N
Msg applicativo
.........
.........
Layer 2
Hdr-2
.....
Hdr-N
Msg applicativo
Trailer
Layer 1
Architetture di comunicazione a strati
Cosa avviene su un nodo intermedio?
L'adozione di una struttura stratificata consente ad un intermedio di realizzare l'operazione di
commutazione ad un livello inferiore rispetto a quello delle applicazioni, svolgendo tale funzione
sulla base delle sole informazioni di controllo presenti nelle header/trailer di tale livello
Questa scelta ha il vantaggio di non coivolgere nell'operazione di inoltro del pacchetto un
eventuale processo applicativo presente sul nodo intermedio
Qui sotto si riporta un esempio di commutazione effettuata a livello 3 (caso molto diffuso)
Appl
Appl
Appl
Appl
Layer N
Layer N
Layer N
Layer N
Layer N-1
Layer N-1
........
........
Layer N-1
Layer N-1
........
........
Layer 3
Layer 3
Layer 3
Layer 3
Layer 2
Layer 2
Layer 2
Layer 2
Layer 1
Layer 1
Layer 1
Layer 1
End-system A
Nodo intermedio
Nodo intermedio
End-system B
Capitolo III
Architetture di comunicazione
commutazione
del pacchetto
19-20/37
© Copyright Ing. G. F. Rossi, 1995-2022
AUTORE: Ing. Giuseppe F. Rossi
Università degli Studi di Bergamo
FONDAMENTI DI RETI
E TELECOMUNICAZIONI
Architetture di comunicazione a strati
Cosa si ottiene ...
Una architettura di comunicazione a strati permette la costruzione di una rete a commutazione di
pacchetto in cui la funzione di commutazione viene effettuata ad un ben preciso livello
architetturale (di norma al 3°o al 2°)
Appl
Layer N
Layer N
Layer N-1
Layer N-1
........
........
Layer 1
Layer 1
Layer N
Appl
Layer N-1
Layer N
........
Layer N-1
Layer 1
........
Layer 1
Layer N
Layer N-1
........
Layer 1
Layer N
Appl
Layer N-1
Layer N
........
Layer N-1
Layer 1
........
Layer 1
Architetture di comunicazione a strati
Definizioni
Entità comunicante (o peer entity) di livello k
Funzionalità responsabile della costruzione delle header/trailer (lato mittente) e del loro
controllo+eliminazione (lato destinatario)
Ogni entità comunicante risiede in un ben preciso livello architetturale
Protocollo di comunicazione (o peer protocol) di livello k
Insieme delle regole attraverso le quali le entità comunicanti dello stesso livello k (di norma
appartenenti a nodi diversi) si scambiano i messaggi di quel livello
Hdr-k
Layer k
Tutto ciò che appartiene ai livelli > k
protocollo di livello k
Layer k
entità comunicanti di livello k
Capitolo III
Architetture di comunicazione
21-22/37
© Copyright Ing. G. F. Rossi, 1995-2022
AUTORE: Ing. Giuseppe F. Rossi
Università degli Studi di Bergamo
FONDAMENTI DI RETI
E TELECOMUNICAZIONI
Architetture di comunicazione a strati
Definizioni
Protocol Data Unit di livello k
Messaggio scambiato tra due entità di pari
livello k
Entità di livello (k+1)
Una k-PDU è costituita da:
(k+1)-PDU
Header di livello k
Payload di livello k (chiamato spesso
anche Parte dati)
k-SAP
Service Access Point di livello k (k-SAP)
Entità di livello (k)
Punto di accesso ai servizi di un livello
Un k-SAP collega due entità sullo stesso
nodo, poste a livello k e (k+1)
k-Payload
k-Hdr
Architetture di comunicazione a strati
Interazioni tra livelli adiacenti
Interazioni tra i livelli (k-1), k, (k+1) (lo schema sotto è riferito al caso di un nodo mittente)
Entità di livello (k+1)
(k+1)-PDU
Eventuali parametri
(Info provenienti dai livelli > k che devono
essere inserite in alcune testate dei livelli ≤ k)
Primitive di livello k
Interfaccia (k+1) - k
Entità di livello (k)
k-PDU
Eventuali parametri
(Info provenienti dai livelli > (k-1) che devono
essere inserite in alcune testate dei livelli ≤ (k-1))
Primitive di livello (k-1)
Interfaccia k - (k-1)
Entità di livello (k-1)
Capitolo III
Architetture di comunicazione
23-24/37
© Copyright Ing. G. F. Rossi, 1995-2022
AUTORE: Ing. Giuseppe F. Rossi
Università degli Studi di Bergamo
FONDAMENTI DI RETI
E TELECOMUNICAZIONI
Architetture di comunicazione a strati
Riepilogo dei concetti
Schematizzazione dei concetti di entità e protocollo di comunicazione ai vari livelli architetturali
Applicazione
protocollo applicativo
.........
Applicazione
.........
k+1-SAP
Livello k+1
k+1-entity
k+1-SAP
protocollo di livello (k+1)
Livello k+1
k+1-entity
k-SAP
Livello k
k-entity
k-SAP
Livello k
protocollo di livello k
.........
k-entity
.........
Livello 1
Livello 1
Architetture di comunicazione a strati utilizzate nel
corso degli anni
Il modello a strati ha dato origine a diverse architetture di comunicazione
Nel corso degli anni diversi costruttori hanno formalizzato proprie architetture di comunicazione
(per tale motivo dette architetture proprietarie) ora non più utilizzate
SNA (System Network Architecture) di IBM
...
Parallelamente allo sviluppo delle architetture di comunicazione proprietarie, sono stati avviati
importanti progetti per la definizione di architetture non proprietarie (= non definite da uno
specifico costruttore)
Modello ISO/OSI
TCP/IP (Transmission Control Protocol / Internet Protocol)
Capitolo III
Architetture di comunicazione
25-26/37
© Copyright Ing. G. F. Rossi, 1995-2022
AUTORE: Ing. Giuseppe F. Rossi
Università degli Studi di Bergamo
FONDAMENTI DI RETI
E TELECOMUNICAZIONI
Architetture di comunicazione a strati
Il modello ISO/OSI
L'ISO (International Standard Organization)
ha formalizzato un modello di riferimento a
strati chiamato OSI (Open System
Interconnection)
La struttura architetturale di ISO/OSI
OSI non è in sé una specifica architettura a
strati, ma solo un modello di riferimento in
quanto:
non specifica quale protocollo deve essere
utilizzato ad un dato livello
Application Services
Presentation Services
Session
Transport
Network
definisce solo cosa deve fare ciscun livello
Non ha avuto successo ...
Data Link Control
Physical
Il modello ISO/OSI
Studio di una architettura di comunicazione a strati
Una volta introdotti i principi costruttivi di un'architettura di comunicazione a strati, il passo
successivo potrebbe essere lo studio delle funzionalità dei singoli strati nelle specifiche
architetture
Tale studio risulterebbe assolutamente inutile (oltre che maledettamente pesante e noioso!) in
quanto:
la quasi totalità delle architetture di comunicazione, a prescindere dal numero di livelli che le
costituiscono, presentano nei primi 3 livelli (dal basso) caratteristiche/funzionalità simili
Pertanto è possibile studiare, prescindendo dall'architettura, le caratteristiche generali
degli strati Physical, Data Link Control (DLC), Network (secondo la terminologia OSI)
tra le diverse architetture di comunicazione, quella che si è imposta su tutte ed è diventata lo
standard (spazzando via le altre) è l'architettura TCP/IP
Lo studio dettagliato di TCP/IP verrà affrontato nella 2a parte del presente Corso
Capitolo III
Architetture di comunicazione
27-28/37
© Copyright Ing. G. F. Rossi, 1995-2022
AUTORE: Ing. Giuseppe F. Rossi
Università degli Studi di Bergamo
FONDAMENTI DI RETI
E TELECOMUNICAZIONI
Studio di una architettura di comunicazione a strati
Funzioni svolte dai livelli 1
Effettua la codifica elettrica/ottica dei simboli (bit) scambiati tra due nodi adiacenti (= connessi
direttamente da uno stesso canale di trasmissione)
Trasmette i simboli che costituiscono la PDU generata dall'entità di livello DLC, senza tuttavia
comprenderne il significato
1001001010
1001001010
( ... si spera)
Physical
Physical
Canale di trasmissione
Studio di una architettura di comunicazione a strati
Funzioni svolte dai livelli 2
Fornisce un servizio di interconnessione tra nodi adiacenti 'arricchendo' di controlli i servizi
(scarni) forniti dal livello Physical
A tale livello viene definito
il tracciato delle 2-PDU (spesso chiamate frame) scambiate tra le entità comunicanti
L'insieme delle regole di scambio delle 2-PDU (cioè il protocollo di comunicazione utilizzato
a livello 2)
PDU di livello 3
PDU di livello 3
Data Link Control
Data Link Control
Physical
Physical
Canale di trasmissione
Capitolo III
Architetture di comunicazione
29-30/37
© Copyright Ing. G. F. Rossi, 1995-2022
AUTORE: Ing. Giuseppe F. Rossi
Università degli Studi di Bergamo
FONDAMENTI DI RETI
E TELECOMUNICAZIONI
Studio di una architettura di comunicazione a strati
Funzioni svolte dai livelli 2
Funzioni esistenti in quasi tutti i DLC
Il DLC sul nodo destinatario verifica l'integrità della PDU ricevuta
Funzioni svolte da alcuni DLC (in funzione dell'architettura in cui operano)
Invio al mittente della conferma di corretta ricezione di una PDU (Acknowledgement o ACK)
Ritrasmissione in caso di ricezione di PDU rovinate
Controllo del ritmo di invio delle PDU da parte dell'entità DLC mittente, al fine di non
congestionare l'entità DLC destinataria
Le funzioni svolte da un DLC dipendono dal protocollo di comunicazione utilizzato a quel livello
(2). Quanto qui esposto verrà ripreso sistematicamente nel capitolo Protocolli di comunicazione
Studio di una architettura di comunicazione a strati
Funzioni svolte dai livelli 2
In funzione della tipologia del canale di trasmissione sottostante i protocolli di comunicazione di
livello 2 potrebbero dover introdurre propri sistemi di indirizzamento, necessari per identificare le
singole entità DLC
I canali punto-a-punto non necessitano che il protocollo a livello 2 preveda indirizzi (vi è 1
sola possibile entità destinataria!)
I canali ad accesso multiplo di norma costringono il protocollo a livello 2 a prevedere
indirizzi (in caso contrario il livello 2 non riuscirebbe ad offrire al livello superiore un
servizio di comunicazione unicast). Gli indirizzi sono trasportati nelle header della 2-PDU
DLC
DLC
Physical
Physical
DLC
DLC
DLC
Physical
Physical
Physical
Link punto-a-punto
Link ad accesso multiplo
Capitolo III
Architetture di comunicazione
31-32/37
© Copyright Ing. G. F. Rossi, 1995-2022
AUTORE: Ing. Giuseppe F. Rossi
Università degli Studi di Bergamo
FONDAMENTI DI RETI
E TELECOMUNICAZIONI
Protocolli di livello 2
Il problema della trasparenza dei dati
Le frame previste dai vari protocolli DLC prevedono una struttura formata da una testata
(header) e da una coda (trailer), le quali in taluni casi iniziano e finiscono con sequenze speciali
Può succedere che i livelli 3 richiedano al DLC l'invio di sequenze di bit che in alcune parti
coincidono proprio con le sequenze speciali del protocollo DLC, generando così ambiguità. Tale
situazione prende il nome di problema della trasparenza dei dati e si risolve con varie tecniche
Byte-stuffing
Inserimento di byte aggiuntivi per eliminare l'ambiguità
Bit-stuffing
Inserimento di bit aggiuntivi per eliminare l'ambiguità
Header DLC
Payload (PDU del livello 3)
Trailer DLC
Generica frame DLC
Protocolli di livello 2
Il problema della trasparenza: l'esempio di SDLC
SDLC è un protocollo di comunicazione di livello 2 formalizzato da IBM
In ambito ISO/OSI SDLC ha ispirato la specifica del protocollo HDLC
Qui sotto viene riportato il tracciato della PDU di SDLC, la quale inizia e finisce con il campo
Flag impostato al valore speciale '7E' (Hex) = '01111110' (Bin)
Se in qualunque altra porzione della PDU (diversa dal byte iniziale e finale) comparisse la
sequenza '01111110' il destinatario interpreterebbe (erroneamente) tale sequenza come il
carattere di fine frame, con conseguente troncamento della PDU
Per evitare tale problema SDLC adotta la tecnica del bit stuffing (vedi prossima slide)
Flag (7E)
Address
Control
Payload
1 byte
1 byte
1/2 byte
Var
Capitolo III
Architetture di comunicazione
33-34/37
FCS
2 byte
Flag (7E)
1 byte
© Copyright Ing. G. F. Rossi, 1995-2022
AUTORE: Ing. Giuseppe F. Rossi
Università degli Studi di Bergamo
FONDAMENTI DI RETI
E TELECOMUNICAZIONI
Protocolli di livello 2
Il problema della trasparenza: l'esempio di SDLC
Bit-stuffing in SDLC (detto anche zero-insertion)
Il mittente inserisce uno '0' dopo ogni sequenza di cinque '1' consecutivi che non
appartengono al Flag
Quando il destinatario riceve la sequenza '011111' legge il bit successivo:
se è pari a '0' ⇒ lo elimina (poiché è stato aggiunto dal mittente)
se è pari a '1' ⇒ legge il bit ancora successivo:
se è pari a '0' ⇒ riconosce il Flag
se è pari a '1' ⇒ scarta la frame in quanto affetta da errore (sequenza non ammessa)
L'ambiguità cade in quanto la frame di fatto viene ricodificata su un numero maggiore di bit
Frame da inviare: 0 1 1 1 1 1 1 0 0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 0
Frame trasmessa: 0 1 1 1 1 1 1 0 0 1 0 1 1 1 1 1 0 0 1 0 1 1 1 1 1 1 0
Frame da inviare: 0 1 1 1 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 0
Alcuni
esempi
CORRETTA Frame trasmessa: 0 1 1 1 1 1 1 0 0 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 1 0 1 1 1 1 1 1 0
Studio di una architettura di comunicazione a strati
Funzioni svolte dai livelli 3
I protocolli di livello 2 consentono di far comunicare tra loro nodi adiacenti
Ciò che ancora manca nei livelli architetturali analizzati finora è la funzionalità di
commutazione, che permette a due nodi non adiacenti di comunicare tra loro attraverso
l'intervento di uno o più nodi intermedi
Nelle architetture a strati il livello al quale viene affidata la commutazione del pacchetto è di
norma il livello 3 (vedi sotto), anche se spesso tale operazione viene effettuata anche a livello 2
Network
Network
DLC1
DLC2
DLC3
DLC3
Network
DLC1
Phys1
Phys2
Phys1
Phys3
DLC3
Phys1
Phys3
Network
Network
DLC2
Phys2
Capitolo III
Architetture di comunicazione
Network
canale
multipunto
DLC2
Phys2
DLC3
DLC1
Phys1
Phys1
Network
DLC1
Phys1
35-36/37
© Copyright Ing. G. F. Rossi, 1995-2022
AUTORE: Ing. Giuseppe F. Rossi
Università degli Studi di Bergamo
FONDAMENTI DI RETI
E TELECOMUNICAZIONI
Studio di una architettura di comunicazione a strati
Una situazione molto frequente ...
Effettuando, ad esempio, la commutazione dei pacchetti a livello Network, come avvengono gli
incapsulamenti durante il trasporto di un pacchetto sulla rete?
I nodi intermedi si fermano a consultare solo la header di livello 3
Mitt
Dest
......
......
Transport
Transport
Network
Network
Network
DLC1
DLC1
DLC2
DLC2
Physical1
Physical1
Physical2
Physical2
Capitolo III
Architetture di comunicazione
37-38/37
© Copyright Ing. G. F. Rossi, 1995-2022
Download