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