Il 0% ha trovato utile questo documento (0 voti)
1 visualizzazioni

Modulo 1 - Standard ISO-OSI

Caricato da

alice.sedioli
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
1 visualizzazioni

Modulo 1 - Standard ISO-OSI

Caricato da

alice.sedioli
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Sei sulla pagina 1/ 26

Modello ISO-OSI

Standard di definizione delle Reti di Calcolatori

Daniele Di Filippo
Parte 1: introduzione al modello
Nomenclatura, stack, significato dei livelli

Daniele Di Filippo
MODELLO ISO-OSI

• OSI: Open Systems Interconnection


• Modello per la definizione di infrastrutture di rete
• E’ uno standard ISO (International Standardization Organization)
• E’ suddiviso in layer (livelli)
• Ogni layer è uno standard a sé stante
• Ogni layer descrive come un’infrastruttura di rete dovrebbe comportarsi ad un certo
“livello di astrazione”

Daniele Di Filippo
LA PILA ISO-OSI
7: APPLICAZIONE
LIVELLI
6: PRESENTAZIONE “APPLICATIVI

5: SESSIONE
4: TRASPORTO LIVELLI
3: RETE “DI RETE”

2: DATA LINK LIVELLI


1: FISICO “FISICI”

• Ogni livello comunica con quello sopra e quello sotto (se ci sono)
• Salendo nella pila, i livelli diventano sempre più “astratti”
• Quelli di maggiore interesse per noi sono quelli “di rete”
Daniele Di Filippo
Parte 2: livelli
Fisico, Data Link, Rete, Trasporto, Sessione, Presentazione, Applicazione

Daniele Di Filippo
7: APPLICAZIONE
6: PRESENTAZIONE
5: SESSIONE
4: TRASPORTO
Livello 1: Fisico 3: RETE
2: DATA LINK
1: FISICO

• Questo livello si occupa di descrivere gli standard di connessione fisica di un


elemento concreto alla rete.
• Si occupa di stabilire protocolli per la trasmissione fisica dell’informazione:
• numero di volt per rappresentare i bit
• durata del segnale elettrico
• struttura fisica del dispositivo di comunicazione
• parallelismo temporale della comunicazione possibile o impossibile
• Riguarda tutto ciò che si può “toccare con mano”

Daniele Di Filippo
7: APPLICAZIONE
6: PRESENTAZIONE
5: SESSIONE
4: TRASPORTO
Livello 2: Data Link 3: RETE
2: DATA LINK
1: FISICO

• Riguarda l’informazione rappresentata nella forma concettuale più elementare


• La responsabilità principale di questo livello è identificare gli errori di
comunicazione di bit.
• Si occupa di verificare la trasmissione dell’informazione elementare:
• rappresentazione di bit: non in forma elettrica, ma numerica (0 e 1)
• checksum: verifica di conformità dell’informazione ricevuta tramite somma
• framing: divisione dell’informazione in sezioni chiamate “frame”
• indirizzamento fisico: assegnazione di indirizzi MAC ai dispositivi fisici

Daniele Di Filippo
7: APPLICAZIONE
6: PRESENTAZIONE
5: SESSIONE
4: TRASPORTO
Esercizio: Checksum (1/6) 3: RETE
2: DATA LINK
1: FISICO
1 0 1 0 0 1 1 0

• La cella rossa è definita: “bit di parità”


• Tale valore è “0” quando la somma delle celle verdi è pari, “1” altrimenti
• Aggiungere un bit di questo genere consente di verificare se è avvenuto un singolo
errore di trasmissione.
• Vediamo come!

Daniele Di Filippo
7: APPLICAZIONE
6: PRESENTAZIONE
5: SESSIONE
4: TRASPORTO
Esercizio: Checksum (2/6) 3: RETE
2: DATA LINK
1: FISICO
1 0 1 0 0 0 1 0

• In questo caso, il penultimo bit verde è diventato “0” per via di un errore di
trasmissione.
• Ad esempio, un imprevisto sbalzo di tensione
• Il bit di parità riporta che la somma delle celle verdi è pari (valore “0”), ma
risulta invece dispari (1+1+1=3).
• Per questo motivo, la sequenza di bit sarà scartata, e ne sarà richiesto di nuovo
l’invio.
• Questa è una responsabilità del livello data link.
7: APPLICAZIONE
6: PRESENTAZIONE
5: SESSIONE
4: TRASPORTO
Esercizio: Checksum (3/6) 3: RETE
2: DATA LINK
1: FISICO
1 0 1 0 0 1 1 1

• Cosa succede se l’errore finisce per essere proprio sul bit di parità?
• Siccome ora riporta “1” anziché “0”, si aspetta una somma dispari.
• 1+1+1+1=4, che è pari (infatti, il bit di parità è errato)
• La sequenza è quindi scartata. E’ un errore farlo?
7: APPLICAZIONE
6: PRESENTAZIONE
5: SESSIONE
4: TRASPORTO
Esercizio: Checksum (4/6) 3: RETE
2: DATA LINK
1: FISICO
1 0 1 0 0 1 1 1

• Cosa succede se l’errore finisce per essere proprio sul bit di parità?
• Siccome ora riporta “1” anziché “0”, si aspetta una somma dispari.
• 1+1+1+1=4, che è pari (infatti, il bit di parità è errato)
• La sequenza è quindi scartata. E’ un errore farlo?
• No! Non possiamo sapere dove sia avvenuto l’errore.
• Il bit di parità ci garantisce che, in presenza di *al massimo* 1 errore, sarà
possibile identificarlo - non correggerlo!
7: APPLICAZIONE
6: PRESENTAZIONE
5: SESSIONE
4: TRASPORTO
Esercizio: Checksum (5/6) 3: RETE
2: DATA LINK
1: FISICO
1 1 1 0 1 1 1 0

• Cosa succede nel caso di due errori?


• Il bit di parità si aspetta una somma pari (vale “0”).
• 1+1+1+1=0, è pari. Non è rilevato alcun errore.
• La sequenza, però, è sbagliata! Come mai?
7: APPLICAZIONE
6: PRESENTAZIONE
5: SESSIONE
4: TRASPORTO
Esercizio: Checksum (6/6) 3: RETE
2: DATA LINK
1: FISICO
1 1 1 0 1 1 1 0

• Cosa succede nel caso di due errori?


• Il bit di parità si aspetta una somma pari (vale “0”).
• 1+1+1+1=0, è pari. Non è rilevato alcun errore.
• La sequenza, però, è sbagliata! Come mai?
• Il bit di parità garantisce l’identificazione di, al massimo, 1 errore.
• Se si verificano 2 o più errori, la sequenza può essere corretta o scorretta, non
abbiamo più alcuna garanzia.
• Se si vuole identificare un maggior numero di errori, si devono aggiungere più
bit di verifica.
• Altri dettagli esulano dallo scopo di questo corso, ma chiedete e vi sarà dato!
7: APPLICAZIONE
6: PRESENTAZIONE
5: SESSIONE
4: TRASPORTO
Livello 3: Rete 3: RETE
2: DATA LINK
1: FISICO

• Riguarda il modo in cui i dispositivi comunicano in rete


• La responsabilità principale di questo livello è consentire ad un pacchetto di
informazioni di trovare il percorso da un mittente a un destinatario.
• Si occupa di verificare che l’informazione sulla rete:
• sia suddivisa in pacchetti
• sia correttamente trasmessa tra i dispositivi della rete seguendo un percorso
valido
• Controlla eventuali errori, ritardi, o problemi nell’identificazione del percorso
nell’invio dell’informazione
7: APPLICAZIONE
6: PRESENTAZIONE
5: SESSIONE
4: TRASPORTO
Indirizzo IP 3: RETE
2: DATA LINK
193.204.161.0 1: FISICO

11000001.11001100.10100001.00000000

11111111.11111111.11111111.00000000

• Ogni indirizzo IP è composto da 4 byte (4 sequenze da 8 bit).


• Ciascuna sequenza può essere scritta in decimale o in binario
• E’ composto da una parte di indirizzo e una parte di host-id:
• Indirizzo: identifica la rete di cui fa parte
• Host ID: identifica l’utente destinatario
• La netmask, una sequenza di 4 byte, indica quale parte è indirizzo e quale
host-id.
• Ha tutti “1” nella parte di inidirizzo, tutti “0” nella parte di host-id.
7: APPLICAZIONE
6: PRESENTAZIONE
5: SESSIONE
4: TRASPORTO
Conversione binario > decimale 3: RETE
2: DATA LINK
1: FISICO
1 0 0 1

8 4 2 1

1*1 + 2*0 + 4*0 + 8*1 = 9

• A partire dalla cifra meno significativa (quella più a destra), si associano i valori
decimali: 1, 2, 4, 8, 16, 32, 64, 128…
• Il successivo è sempre il doppio del precedente, e si parte da 1
• Sono tutte potenze di 2, e si parte da 2^0 = 1.
• Si moltiplicano le cifre decimali con le rispettive binarie, e si effettua la somma
• Ignoro quindi tutte le cifre che nel numero binario valgono 0
7: APPLICAZIONE
6: PRESENTAZIONE
5: SESSIONE
4: TRASPORTO
Conversione decimale > binario 3: RETE
2: DATA LINK
1: FISICO
193

... 256 128 64 32 16 8 4 2 1

... 0 1 1 0 0 0 0 0 1

• Si cerca la potenza di 2 più alta che sia minore o uguale al numero decimale che
vogliamo convertire
• In questo caso, 128
• Si sottrae tale numero al decimale che si sta convertendo
• In questo caso: 193 - 128 = 65
• Per ciascuna potenza di due inferiore assente si inserisce uno zero
• In questo caso: 32, 16, 8, 4 e 2
• Si procede in questo modo fin quando il numero decimale in conversione risulta 0
7: APPLICAZIONE
6: PRESENTAZIONE
5: SESSIONE
4: TRASPORTO
Tabella di routing 3: RETE
2: DATA LINK
1: FISICO
Destinatario Next Hop Netmask
193.204.161.0 d.c. 255.255.255.0
0.0.0.0 0.0.0.0 193.204.161.1

• Ogni router è dotato della sua personale “tabella di routing”.


• La tabella contiene le informazioni necessarie a prendere decisioni rispetto
all’invio di un pacchetto di informazione.
• Ciascuna riga comprende:
• Indirizzo destinatario desiderato
• “Next hop”: prossimo salto, e cioè destinazione alla quale inoltrare per
compiere un passo verso quel destinatario
• Netmask: identifica la parte dell’indirizzo che riguarda la rete, e quella che
riguarda invece la specifica macchina (vedremo un esercizio).
7: APPLICAZIONE
6: PRESENTAZIONE
5: SESSIONE
4: TRASPORTO
Esercizio: subnetting 3: RETE
2: DATA LINK
1: FISICO

• Il subnetting è una tecnica che consente di separare una rete in più sottoreti.
• Abbiamo già visto il significato di indirizzo e host-id
• Se vogliamo dividere una rete:
• La parte di indirizzo non può essere toccata, perché la identifica
• Si può però dedicare una porzione di host-id per identificare l’indirizzo delle
sottoreti.
• Ad esempio: suddicidiamo la rete qui di seguito in due sottoreti.

193.204.161.0

11000001.11001100.10100001.00000000

11111111.11111111.11111111.00000000
7: APPLICAZIONE
6: PRESENTAZIONE
5: SESSIONE
4: TRASPORTO
Esercizio: subnetting 3: RETE
2: DATA LINK
193.204.161.0 1: FISICO

11000001.11001100.10100001.00000000

11111111.11111111.11111111.00000000

193.204.161.0 193.204.161.128

11000001.11001100.10100001.00000000 11000001.11001100.10100001.10000000

11111111.11111111.11111111.10000000 11111111.11111111.11111111.10000000

• In questo caso, abbiamo separato la rete di partenza in due sottoreti, che hanno
un indirizzo più lungo di 1 bit.
• La netmask è stata prolungata di 1, perché il bit aggiuntivo ora fa parte
dell’indirizzo delle subnet.
• Per ogni ulteriore suddivisione, si dovrà aggiungere un bit all’indirizzo.
7: APPLICAZIONE
6: PRESENTAZIONE
5: SESSIONE
4: TRASPORTO
Livello 4: Trasporto 3: RETE
2: DATA LINK
1: FISICO

● Il livello di Trasporto si occupa di garantire che la connessione sia instaurata,


mantenuta e chiusa tra mittente e destinatario in modo coerente.
● Due protocolli:
○ TCP: consegna dei pacchetti garantita. E’ quello comunemente in uso
○ UDP: consegna non garantita (nessun controllo)
● La responsabilità principale di questo livello è la continuità della connessione.
● Il livello di Trasporto si occupa, soprattutto:
○ Controllo della connessione, del flusso e degli errori
○ Segmentazione (pacchetti di livello 4)
○ Indirizzamento delle porte (“port addressing”)
7: APPLICAZIONE
6: PRESENTAZIONE
5: SESSIONE
4: TRASPORTO
Three-way Handshake 3: RETE
2: DATA LINK
1: FISICO

● Protocollo di avvio di una connessione “a tre


vie”. Tre scambi di messaggi: HOST 1 HOST 2
○ SYN: invio di un messaggio di
sincronizzazione da chi apre la SYN
connessione al destinatario
○ SYN + ACK: invio di un messaggio di
conferma + intenzione di sincronizzarsi SYN + ACK
da parte dell’host che ha ricevuto il
messaggio
○ ACK + DATI: invio di un messaggio di ACK + DATI
conferma e invio primi pacchetti di
informazioni
7: APPLICAZIONE
6: PRESENTAZIONE
5: SESSIONE
4: TRASPORTO
Chiusura della connessione con timeout 3: RETE
2: DATA LINK
1: FISICO

● Protocollo di chiusura di una connessione: HOST 1 HOST 2


○ Quando uno dei due host ha finito di
trasmettere, informa l’altro che vuole END
terminare la connessione
○ L’altro host, di solito, risponde a sua volta
con un messaggio di chiusura, e la … (Timeout?)
connessione termina.
■ Se però non è così, l’altro aspetta un
po’, poi va in timeout e termina END
comunque la connessione.
7: APPLICAZIONE
6: PRESENTAZIONE
5: SESSIONE
4: TRASPORTO
Livello 5: Sessione 3: RETE
2: DATA LINK
1: FISICO

● Il livello di Sessione si occupa di mantenere la comunicazione tra due host, e di


garantire il giusto sequenziamento e la sincronia dei dati.
● Le funzioni principali del livello di sessione sono:
○ Sincronizzazione: introduce checkpoint nella trasmissione, così che, qualora si
verifichi una disconnessione inattesa, sarà possibile riprendere da tali punti di
controllo
○ Controllo del dialogo: verifica il tipo di connessione e il verso di trasmissione
dei dati
○ Controllo della concorrenza: impedisce ai due host di effettuare operazioni
che generino conflitti nello stesso momento
7: APPLICAZIONE
6: PRESENTAZIONE
5: SESSIONE
4: TRASPORTO
Livello 6: Presentazione 3: RETE
2: DATA LINK
1: FISICO

● Questo livello si occupa di gestire la sintassi e la semantica dell’informazione.


Garantisce che gli attori siano in grado di comprendere l’informazione trasmessa.
● Le principali responsabilità di questo livello sono:
○ Traduzione: si occupa di trasformare in un formato comprensibile per le
applicazioni. Sulla rete, infatti, le informazioni sono trasmesse come semplici
bit
○ Criptaggio: si occupa di codificare e decodificare l’informazione
○ Compressione: ove possibile, si occupa di ridurre il traffico dei dati
comprimendoli prima dell’invio (riducendone l’entropia)
7: APPLICAZIONE
6: PRESENTAZIONE
5: SESSIONE
4: TRASPORTO
Livello 7: Applicazione 3: RETE
2: DATA LINK
1: FISICO

● L’ultimo livello della pila consente agli utenti di fare uso dei dati che inviano e
ricevono sulla rete. Funge quindi da interfaccia, sfruttando uno dei tanti linguaggi
per l’organizzazione e la trasmissione dei dati (HTTP, FTP, ecc.)
● Le responsabilità di questo livello sono:
○ Terminale di rete: offrire agli utenti un’interfaccia per l’accesso dei dati
trasmessi in rete
○ Trasferimento dati: offre funzioni e protocolli per il trasferimento dei dati da
host a server (vedi FTP)
○ Servizi di mailing: definisce il protocollo su cui si basano i servizi di invio e
ricezione di email.

Potrebbero piacerti anche