sistemi e tecnologie della comunicazione lezione 2: architettura delle reti e modello osi

31
Sistemi e Tecnologie della Comunicazione Lezione 2: architettura delle reti e modello OSI

Upload: angelico-aiello

Post on 03-May-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemi e Tecnologie della Comunicazione Lezione 2: architettura delle reti e modello OSI

Sistemi e Tecnologie della Comunicazione

Lezione 2: architettura delle reti e modello OSI

Page 2: Sistemi e Tecnologie della Comunicazione Lezione 2: architettura delle reti e modello OSI

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

Page 3: Sistemi e Tecnologie della Comunicazione Lezione 2: architettura delle reti e modello OSI

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

Page 4: Sistemi e Tecnologie della Comunicazione Lezione 2: architettura delle reti e modello OSI

4

Architettura stratificata La strutturazione piu’ idonea per una architettura di rete e’

la stratificazione La rete viene strutturata in livelli (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

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

Page 5: Sistemi e Tecnologie della Comunicazione Lezione 2: architettura delle reti e modello OSI

5

Struttura a strati

Page 6: Sistemi e Tecnologie della Comunicazione Lezione 2: architettura delle reti e modello OSI

6

Lo strato

Uno strato e’ definito quando sono definite le sue funzioni

Uno strato puo’ occuparsi dello scambio dei dati tra due applicazioni, 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 fornisce servizio a diverse entita’ dello strato superiore, e deve poter indirizzare i dati verso la destinazione corretta

Page 7: Sistemi e Tecnologie della Comunicazione Lezione 2: architettura delle reti e modello OSI

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 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

Page 8: Sistemi e Tecnologie della Comunicazione Lezione 2: architettura delle reti e modello OSI

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

Page 9: Sistemi e Tecnologie della Comunicazione Lezione 2: architettura delle reti e modello OSI

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

Page 10: Sistemi e Tecnologie della Comunicazione Lezione 2: architettura delle reti e modello OSI

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

Page 11: Sistemi e Tecnologie della Comunicazione Lezione 2: architettura delle reti e modello OSI

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

Page 12: Sistemi e Tecnologie della Comunicazione Lezione 2: architettura delle reti e modello OSI

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.

Page 13: Sistemi e Tecnologie della Comunicazione Lezione 2: architettura delle reti e modello OSI

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)

Page 14: Sistemi e Tecnologie della Comunicazione Lezione 2: architettura delle reti e modello OSI

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

Page 15: Sistemi e Tecnologie della Comunicazione Lezione 2: architettura delle reti e modello OSI

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

Page 16: Sistemi e Tecnologie della Comunicazione Lezione 2: architettura delle reti e modello OSI

16

Definizione della architettura

L’architettura (stratificata) della rete si realizza con la definizione di strati: partizionamento delle funzionalita’ protocolli: come comunicano i processi

paritari 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

Page 17: Sistemi e Tecnologie della Comunicazione Lezione 2: architettura delle reti e modello OSI

17

Flusso dei dati

Page 18: Sistemi e Tecnologie della Comunicazione Lezione 2: architettura delle reti e modello OSI

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

Page 19: Sistemi e Tecnologie della Comunicazione Lezione 2: architettura delle reti e modello OSI

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.

Page 20: Sistemi e Tecnologie della Comunicazione Lezione 2: architettura delle reti e modello OSI

20

Livelli del modello OSI

Page 21: Sistemi e Tecnologie della Comunicazione Lezione 2: architettura delle reti e modello OSI

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) proprieta’ meccaniche dei connettori specifiche elettriche dei circuiti dell’interfaccia caratteristiche del mezzo trasmissivo direzionalita’ della trasmissione

Page 22: Sistemi e Tecnologie della Comunicazione Lezione 2: architettura delle reti e modello OSI

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)

Page 23: Sistemi e Tecnologie della Comunicazione Lezione 2: architettura delle reti e modello OSI

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

Page 24: Sistemi e Tecnologie della Comunicazione Lezione 2: architettura delle reti e modello OSI

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

Page 25: Sistemi e Tecnologie della Comunicazione Lezione 2: architettura delle reti e modello OSI

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

Page 26: Sistemi e Tecnologie della Comunicazione Lezione 2: architettura delle reti e modello OSI

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 National Standard Code for Information Interchange

EBCDIC: Extended Binary Coded Decimal Interchange Code

compressione crittografia

Page 27: Sistemi e Tecnologie della Comunicazione Lezione 2: architettura delle reti e modello OSI

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)

Page 28: Sistemi e Tecnologie della Comunicazione Lezione 2: architettura delle reti e modello OSI

28

Schema del modello OSI

Page 29: Sistemi e Tecnologie della Comunicazione Lezione 2: architettura delle reti e modello OSI

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

Page 30: Sistemi e Tecnologie della Comunicazione Lezione 2: architettura delle reti e modello OSI

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

Page 31: Sistemi e Tecnologie della Comunicazione Lezione 2: architettura delle reti e modello OSI

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

34

5 6

78