Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoRomano Marchetti Modificato 9 anni fa
1
Sistemi e Tecnologie della Comunicazione Lezione 2: architettura delle reti e modello OSI
2
2 Architettura di rete Una rete e’ costituita da componenti hardware (cavi, interfacce, circuiti integrati, processori, RAM,…) e componenti software (per la implementazione di algoritmi finalizzati al trasferimento dei dati non realizzabili in hardware). L’architettura di una rete definisce le specifiche con cui si vuole realizzarla
3
3 Architettura strutturata Per ridurre la complessita’ del problema lo si spezza in parti Si definisce l’insieme di compiti che ogni parte deve eseguire Si definiscono i meccanismi con cui le diverse parti interagiscono tra loro Si maschera la implementazione di ciascuna parte alle altre parti
4
4 Architettura stratificata La strutturazione piu’ idonea per una architettura di rete e’ la stratificazione La rete viene strutturata in livelli (detti anche strati, o layer), visti come una pila di oggetti Ciascuno strato ha come compito quello di fornire un servizio allo strato superiore. La definizione delle regole di accesso ai servizi offerti da uno strato costituisce la interfaccia tra quello strato e lo strato superiore, ed e’ l’unica cosa che lo strato superiore deve conoscere sullo strato sottostante Ciascuno strato realizza i servizi per lo strato superiore comunicando logicamente con lo strato paritario del nodo remoto, attraverso un insieme di regole dette protocollo. Lo scambio di dati con lo strato paritario viene realizzato utilizzando i servizi dello strato sottostante. I dettagli implementativi di come i servizi che lo strato N fornisce allo strato N+1 vengano realizzati (il protocollo di strato N) sono sconosciuti agli altri strati
5
5 Struttura a strati
6
6 Lo strato Uno strato e’ definito quando sono definite le sue funzioni Uno strato puo’ occuparsi dello scambio dei dati tra due applicazioni (ad es. richieste, risposte, controllo della comunicazione logica), senza occuparsi di questioni relative al modo in cui i dati debbano viaggiare sulla rete, o alla codifica dei dati Un altro strato puo’ occuparsi di come recapitare i dati attraverso i vari nodi della sottorete, senza occuparsi ne’ del significato dei dati, ne’ del modo in cui vanno codificati i bit sul mezzo trasmissivo Una questione comune a tutti gli strati riguarda l’indirizzamento uno strato puo’ fornire servizio a diverse entita’ dello strato superiore, e deve poter indirizzare i dati verso la destinazione corretta
7
7 Il protocollo Un protocollo e’ un insieme di regole che definiscono la comunicazione tra due strati di pari livello Esempio: protocollo per trasferimento di file il client comunica al server “voglio trasferire un file” ed attende la risposta dal server il server risponde “tu chi sei?” ed attende la comunicazione dal client il client invia lo username il server risponde non sei autorizzato dammi la password nel primo caso il client chiude, nel secondo invia la password il server accetta la password (se corretta) o la richiede nel secondo caso il client deve fornirla nuovamente il client comunica il nome del file che vuole trasferire il server fornisce il file il client legge il file e lo copia localmente il server chiude la comunicazione
8
8 Protocol Data Unit Il protocollo definisce quindi le modalita’ con cui due entita’ comunicano Generalmente un protocollo prevede lo scambio di dati e di informazioni di controllo per gestire la comunicazione; ad esempio: informazioni di controllo per negoziare le caratteristiche della comunicazione (la dimensione dei pacchetti, la velocita’, …) informazioni di riscontro (acknowledge) sulla ricezione dei dati Il pacchetto unitario (dati o informazioni di controllo) che si scambiano due strati paritari e’ detto PDU Normalmente ci si riferisce alla PDU dello strato X con la sigla X-PDU, o XPDU
9
9 Il servizio Il servizio offerto da uno strato allo strato superiore definisce cosa lo strato superiore puo’ ottenere dallo strato inferiore; ad esempio: servizio di recapito dei dati affidabile o non affidabile servizio orientato alla connessione o connection less servizi di comunicazione multicast o broadcast Il servizio e’ sostanzialmente la definizione di un rapporto client-server, dove il client e’ lo strato superiore ed il server e’ lo strato inferiore
10
10 Servizi orientati alla connessione La comunicazione si sviluppa in tre fasi: attivazione della connessione: in questa fase non ci si scambiano “dati”, ma si eseguono le operazioni necessarie al successivo scambio di dati (si allocano le risorse, ci si accorda sulle modalita’ di comunicazione, eventualmente si rifiuta la connessione, …) trasferimento dati: non e’ necessario che i dati siano indirizzati, in quanto la loro destinazione e’ determinata dall’appartenenza ad una connessione. rilascio della connessione: il rilascio lo si fa in modo che entrambi i lati della connessione siano consapevoli di cio’, e rilascino le risorse L’esempio classico di servizio connection oriented e’ la comunicazione telefonica
11
11 Servizi non orientati alla connessione La comunicazione non prevede una fase iniziale, ne’ una fase finale: i dati vengono inviati alla controparte senza sapere se e’ pronta a riceverli. Ogni blocco di dati deve riportare l’indirizzo del destinatario (e del mittente) Il servizio non orientato alla connessione funziona come il servizio postale
12
12 Qualita’ del servizio Servizio affidabile garantisce che i dati arrivino correttamente a destinazione, nell’ordine giusto il servizio realizza l’affidabilita’ utilizzando un protocollo che preveda riscontri sulla ricezione dei dati. Servizio inaffidabile non si occupa di garantire la riuscita del trasferimento dei dati, o dell’ordinamento degli stessi: qualora fosse necessario, si occuperanno della cosa gli strati superiori.
13
13 Qualita’ del servizio (2) I servizi orientati alla connessione si possono classificare: flusso affidabile di messaggi (servizio affidabile orientato al messaggio: una sequenza di pagine di un libro, fax) flusso affidabile di byte (servizio affidabile orientato al byte: trasferimento file) connessione inaffidabile (servizio non affidabile: telefonia) I servizi non orientati alla connessione si possono classificare: servizio di datagramma inaffidabile (servizio inaffidabile: accesso ad un database) servizio di datagramma affidabile (protocolli di data link layer)
14
14 L’interfaccia L’interfaccia tra due strati adiacenti definisce le modalita’ con cui lo strato superiore puo’ usufruire dei servizi offerti allo strato inferiore L’interfaccia e’ specificata dalla definizione di primitive di servizio, che istruiscono lo strato inferiore ad eseguire determinate azioni L’interfaccia definisce anche i parametri che gli strati si scambiano (ad esempio un puntatore alla PDU che lo strato superiore deve inviare o che lo strato inferiore deve recapitare) nel caso di implementazioni software, le primitive di servizio sono di fatto chiamate a funzione, ed i parametri sono gli argomenti delle funzioni
15
15 Primitive di servizio Le primitive di servizio costituiscono le operazioni che lo strato superiore ha a disposizione per accedere al servizio Queste dipendono dalla natura del servizio reso disponibile un servizio connection oriented mettera’ a disposizione primitive del tipo Listen (attesa di una connessione entrante) Connect (richiede una connessione) Receive (attesa di dati) Send (invio di dati) Disconnect (richiesta di disconnessione) un servizio connection less potrebbe avere le sole Send e Receive
16
16 Definizione della architettura L’architettura (stratificata) della rete si realizza con la definizione di strati: partizionamento delle funzionalita’ servizi: quali servizi lo strato e’ in grado di offrire allo strato superiore interfacce tra gli strati: come lo strato superiore accede ai servizi offerti dallo strato inferiore protocolli: come comunicano i processi paritari
17
17 Flusso dei dati
18
18 Flusso dei dati (2) Ogni livello organizza la sua comunicazione come se avvenisse direttamente con il processo paritario, secondo il protocollo (flusso virtuale). I dati in realta’ scorrono dal livello superiore al livello inferiore nel nodo che trasmette, ed in senso inverso nel nodo che riceve In generale un livello N preleva la PDU del livello N+1, e costruisce la propria PDU: se necessario spezza la PDU dello strato superiore in pezzi aggiunge in testa a ciascun pezzo un header con informazioni di controllo se deve, aggiunge in coda a ciascun pezzo un trailer con informazioni di controllo ciscun pezzo cosi’ formato costituisce una PDU del livello N Il livello N accede quindi ai servizi dello strato N-1 per inviare i dati al processo paritario N sul nodo remoto
19
19 Modello OSI Nel 1977 l’ISO ha costituito un gruppo che producesse uno standard universale per le architetture di rete Il modello e’ stato pubblicato nel 1983 col nome OSI (Open System Interconnection) Lo scopo era quello di definire una architettura (strati, protocolli, interfacce) in modo sufficientemente preciso da consentire implementazioni indipendenti ma interoperanti in realta’ il modello non definisce esattamente i protocolli ed i servizi, ma piu’ in generale quello che ogni strato deve fare; le specifiche di protocolli e servizi sono state definite e pubblicate a parte.
20
20 Livelli del modello OSI
21
21 Livelli OSI: fisico Lo strato fisico si occupa della trasmissione dei bit sul mezzo trasmissivo La sua funzione e’ di fare in modo che un bit 0 sia ricevuto dal livello fisico del nodo remoto come bit 0, e non come 1 Problemi tipici di questo livello sono: la codifica (i valori delle tensioni, la durata dei bit) modulazione e multiplexing proprieta’ meccaniche dei connettori specifiche elettriche dei circuiti dell’interfaccia caratteristiche del mezzo trasmissivo direzionalita’ della trasmissione
22
22 Livelli OSI: data link Lo strato di data link si occupa di trasformare una trasmissione di bit grezzi tra nodi adiacenti in una linea di trasmissione priva di errori (!) Esegue funzioni quali divisione dei dati in frame controllo degli errori conferma della ricezione (acknowledge) controllo del flusso controllo di accesso al mezzo trasmissivo in caso di canali condivisi (substrato MAC: Medium Access Control)
23
23 Livelli OSI: network Lo strato di network si occupa del recapito dei dati tra nodi non necessariamente adiacenti (quindi del funzionamento della sottorete di comunicazione) Funzioni caratteristiche sono: suddivisione dei dati in pacchetti indirizzamento dei nodi della rete recapito a destinazione (su quale canale uscente inoltrare i dati provenienti da un canale), solitamente basandosi su tabelle modalita’ di definizione ed aggiornamento delle tabelle controllo della congestione, dei ritardi, dei tempi di transito
24
24 Livelli OSI: transport Lo strato di trasporto deve prelevare dati dallo strato superiore, eventualmente suddividerli in unita’ piu’ piccole, ed inviarli (tramite lo strato di rete) la nodo remoto occupandosi di controllare che le unita’ arrivino al processo pari del nodo remoto nell’ordine di trasmissione E’ il primo protocollo end-to-end Deve occuparsi del tipo di servizio offerto allo strato superiore (affidabile, non affidabile) OSI specifica solo un servizio connection oriented Affronta diverse problematiche simili a quelle del livello di data link su connessioni punto-punto ma in un contesto molto piu’ complesso
25
25 Livelli OSI: session Lo strato di sessione si occupa del controllo del dialogo controllo su quale delle due parti abbia diritto di trasmettere supervisione di una connessione lunga con eventuale ripristino della connessione in caso di fallimento del livello sottostante
26
26 Livelli OSI: presentation Il livello di presentazione si occupa essenzialmente di rendere trasparente eventuali rappresentazioni differenti dei dati codifiche differenti dei dati (ASCII/EBCDIC, …) ASCII: American Standard Code for Information Interchange (7 bit encoding, esteso in seguito ad 8 bit) EBCDIC: Extended Binary Coded Decimal Interchange Code (8 bit encoding) compressione crittografia
27
27 Livelli OSI: application Il livello di applicazione si occupa di definire le specifiche che le applicazioni utente possono utilizzare per accedere alla rete L’ISO ha fornito specifiche su sole tre applicazioni: FTAM (file transfer) X.400 (posta elettronica) X.500 (servizio di directory)
28
28 Schema del modello OSI
29
29 Service Access Point Uno strato puo’ fornire servizio a piu’ entita’ dello strato superiore Per essere identificabili queste entita’ devono avere un indirizzo L’indirizzo generico di accesso ad uno strato si chiama Service Access Point (SAP) L’indirizzo di accesso allo strato di Network e’ detto NSAP, allo strato di trasporto TSAP Lo strato N del computer ricevente deve sapere a quale entita’ dello strato N+1 deve recapitare le informazioni, quindi ricevere dal pari l’informazione dell’ NSAP utilizzato dallo strato N+1 destinatario
30
30 Primitive di servizio Nel modello OSI ci sono 4 categorie di primitive: request: una entita’ chiede al servizio di fare qualcosa indication: una entita’ deve essere informata su un qualche evento response: una entita’ vuole rispondere ad un evento confirm: una entita’ deve essere informata sulla sua richiesta
31
31 Esempio In una comunicazione orientata alla connessione tra due computer si avra’ la seguente sequenza: connect.request: lo strato N chiede che venga stabilita una connessione connect.confirm: lo strato N-1 informa sulla realizzazione della connessione data.request: lo strato N chiede di inviare dati disconnect.request: lo strato N chiede di chiudere la connessione connect.indication: lo strato N viene informato sulla richiesta di connessione connect.response: lo strato N accetta (o rifiuta) la connessione data.indication: lo strato N viene avvisato che sono arrivati dati disconnect.indication: allo strato N viene notificata la richiesta di disconnessione 1 2 3 4 5 6 7 8
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.