2. 2
Negli anni 70 i dispositivi di rete erano costruiti da aziende diverse che realizzavano
hardware e software con l’obiettivo di far comunicare esclusivamente i prodotti
dell’azienda produttrice senza curarsi della comunicazione con sistemi diversi: si
realizzarono quelli che furono in seguito identificati come sistemi chiusi (closed system).
Con il passare del tempo nacque la necessità di collegare tra loro dispositivi anche a
media distanza, per esempio tra due sedi delle stessa azienda poste in città differenti, e
quindi i sistemi chiusi dovettero connettersi a sistemi e impianti di comunicazione, sia
privati che pubblici, di altri produttori.
L'ISO (International Organization for Standardization) iniziò a dare le basi per la
coordinazione dello sviluppo di standard per l'interconnessione dei sistemi di
elaborazione, mettendo a punto lo standard OSI (Open System Interconnetcion) cosi
facendo creò un protocollo di comunicazione in grado di far comunicare sistemi con
caratteristiche diverse tra loro, passando dai sistemi chiusi ai sistemi aperti (Open
System). Per esempio se vogliamo far comunicare due computer che usano due
codifiche diverse per rappresentare i caratteri, il primo usa la codifica ASCII e il secondo
la codifica UNICODE con dei sistemi chiusi e senza un protocollo di interconnessione
non sarebbero in grado di "capirsi".
3. 3
MODELLO ISO/OSI
La caratteristica principale dello standard OSI è quella di essere un modello a strati.
Le funzioni che due sistemi devono svolgere per poter comunicare vengono
suddivise da OSI in una gerarchia a 7 strati.
Utilizzando un modello a strati si può ridurre la complessità della comunicazione in
funzioni elementari e assegnarle a diversi strati. Il modello a strati permette inoltre la
modularità degli strati, ovvero si potrebbero modificare le funzionalità di un singolo
strato senza dover cambiare tutti gli altri.
4. 4
Il modello ISO/OSI strutturando la trasmissione in maniera modulare ha scopo di
semplificare l'intera comunicazione tra due host. Il singolo pacchetto infatti, unità
dell'informazione della rete, lungo il suo viaggio da un host ad un altro, partendo dal
livello più alto della struttura dell'host di partenza (livello Applicazione) percorre in
ordine tutti i livelli sottostanti fino ad arrivare all'ultimo (livello Fisico) per poi
raggiungere il livello Fisico dell'host di destinazione e ripercorrere di nuovo il percorso al
contrario fino raggiungere di nuovo il Livello Applicazione.
5. 5
Ogni livello (strato) del mittente comunica (logicamente) con il suo pari del destinatario,
chiamato: peer level.
Comunicazione logica= nessun dato è trasferito direttamente tra i due nodi A e B sullo
stesso livello N. Ogni livello passa i dati e le informazioni di controllo a quello
sottostante e questo procedimento continua fino a quando non si arriva al livello
fisico, che è quello che effettua la trasmissione vera e propria. Ogni livello può
comunicare con il suo superiore e con il suo inferiore ovvero con i livelli a lui adiacenti
mediante le interfacce o SAP (Service Access Point)
6. 6
I dati N-PDU (Protocol Data Unit), generati
da un protocollo di livello N, una volta
attraversata l'interfaccia SAP tra il livello N e
il livello N-1, diventano (N-1)-SDU (Service
Data Unit).
Ogni livello N-1 aggiunge ai dati N-PDU
ricevuti dal livello superiore N delle
informazioni di controllo (N-1)-PCI (Protocol
Control Information) .
La mail quando viene inviata subisce
una serie di trattamenti applicati da
ogni singolo livello
7. 7
Il principio che sta alla base delle architetture di rete che utilizzano il modello a strati, è
l'incapsulamento (encapsulation). Questo processo si verifica nel momento in cui un
Computer (Host A) vuole inviare dati all’Host B, e l'informazione (PDU) passa da un
livello superiore a quello inferiore, e ogni livello aggiunge a quest'ultimo un pacchetto di
dati chiamato header.
8. 8
LIVELLO 1: Livello Fisico
Obiettivo di questo livello è trasmettere un flusso di dati non strutturati (bit) attraverso
un collegamento fisico, che può essere un cavo coassiale, una fibra ottica, dei connettori
o dei doppini telefonici tramite. Implementa le procedure meccaniche ed elettroniche
necessarie a stabilire, mantenere e disattivare un collegamento fisico. È l'unico livello che
riguarda direttamente l'hardware.
Il livello fisico definisce:
•Caratteristiche dei cavi, prese e
connettori;
•Le tensioni scelte per rappresentare
i bit tramessi;
•La durata in microsecondi del
segnale che identifica un bit;
•Tipologia dei segnali (es. elettrici,
ottici, etc);
•L'eventuale trasmissione simultanea
in due direzioni (duplex);
La sua unità dati fondamentale è il bit
9. 9
LIVELLO 2: Datalink
Il livello di collegamento dati si preoccupa di gestire trasmissione/ricezione di un
pacchetto di bit, detto frame, tra 2 pc appartenenti alla stessa LAN.
Il protocollo Ethernet appartiene a questo livello.
Il livello data link si occupa di:
Identificare i nodi connessi: Le schede di rete dispongono di un numero cablato (di 48 bit),
il MAC address (detto anche indirizzo fisico, indirizzo ethernet o indirizzo LAN), che è
assegnato in modo univoco dal produttore ad ogni scheda di rete ethernet o wireless e
viene impiegato per identificare le entità in una LAN.
Controllare Errori: Aggiunge al pacchetto proveniente dal livello ISO/OSI superiore (il
livello network) una sequenza di bit (checksum) che e' usata in ricezione per valutare la
corretta trasmissione del pacchetto. Se il "checksum calcolato" e' diverso dal "checksum
ricevuto" il destinatario individua un errore.
• Correggere gli errori mediante ritrasmissione: I pacchetti inviati sono tutti numerati. Per
ogni pacchetto ricevuto, il destinatario invia al mittente una conferma contenente lo
stato della trasmissione (positivo o negativo) e il numero del pacchetto abbinato. Il
mittente deve ripetere l'invio dei pacchetti mal trasmessi e di quelli che non ha ricevuto
alcuna conferma entro un lasso di tempo prestabilito.
10. 10
Controllare il flusso dati: ovvero sincronizza il dispositivo fisico più
veloce portandolo alla velocità di quello più lento. In questo modo
si evita che un mittente troppo veloce tenda a trasmettere
pacchetti con un volume superiore a quello supportato dal
ricevente evitando che quest’ultimo risulti completamente
sopraffatto dal sovraccarico di lavoro (buffer overflow).
Accesso condiviso al canale (MAC): Disciplina l'accesso multiplo di più
nodi ad un canale di comunicazione condiviso evitando o gestendo
l'occorrenza di collisioni.
Data Framing: Il secondo livello forma dei pacchetti dati detti frame
da far viaggiare lungo la dorsale di comunicazione.
LIVELLO 2: Datalink
11. 11
LIVELLO 3: Rete
Il livello di rete definisce come devono funzionare le reti interconnesse e si occupa del
trasferimento dei pacchetti dal computer di origine fino al computer di destinazione; a
questo livello la trasmissione dei dati non è affidabile (per esempio, in caso di
malfunzionamento o di congestione i router di una rete WAN scartano i pacchetti che
non sono in grado di gestire). Il più importante protocollo legato al Network layer è IP.
Il livello di rete definisce:
• Indirizzamento logico: Ogni nodo connesso deve essere identificato con un indirizzo
logico (indirizzo IP) che deve essere unico sull’intera Internetwork.
• La scelta del cammino migliore (routing) o di un cammino alternativo in caso di
guasto, per raggiungere il destinatario del messaggio. Gli algoritmi di Instradamento
possono essere di tipo Statico (basano le proprie scelte su informazioni memorizzate in
un archivio) o di tipo Dinamico (utilizzano misure e stime del traffico sulla rete, in modo
da instradare i dati sui percorsi che di volta in volta sembrano più promettenti).
Fragmentation: Il livello di rete deve inviare messaggi al livello sottostante datalink. Se il
pacchetto del livello di rete è troppo grande questo deve essere suddiviso in pezzi in
modo che possa essere inserito all’interno del frame del livello inferiore.
Analogamente quando riceve diversi frame relativi allo stesso messaggio, il network
layer deve preoccuparsi di riassemblarli.
12. 12
LIVELLO 4: Trasporto
Il Transport Layer provvede al trasferimento dei messaggi sulla rete procedendo in tre fasi:
1. realizzazione della connessione
2. trasferimento dei dati
3. rimozione della connessione.
Il livello di trasporto rende la comunicazione affidabile gestendo gli errori (pacchetti persi o
in sequenza non ordinata) del livello di rete. La connessione è generalmente riservata per
tutta la durata della comunicazione (commutazione di circuito), ma il livello può dividere il
messaggio in pacchetti da inoltrare con percorsi distinti (commutazione di pacchetto).
Il livello di sessione provvede a gestire la comunicazione fra processi presenti su
macchine differenti. Il livello 5 si occupa di attivare la connessione tra due stazioni,
mantenerla per tutta la durata del trasferimento dei dati e di terminarla a fine
trasmissione. L’intero processo è chiamato appunto sessione; una sessione deve essere
individuata, eventualmente interrotta e poi ripresa in base alla necessita'.
LIVELLO 5: Sessione
13. 13
LIVELLO 6: Presentazione
Il Presentation Layer si occupa di rendere compatibili le rappresentazioni dei dati negli
scambi tra computer che utilizzano codifiche diverse, convertendo i codici e i formati da
un sistema operativo all'altro.
Compito del livello di presentazione è eventualmente crittografare i messaggi per motivi
di sicurezza o comprimerli per questioni di performance nella trasmissione.
LIVELLO 7: Applicazione
L'Application Layer interagisce direttamente con le applicazioni usate dall’utente,
fornendo i servizi di rete. Quindi il livello applicazione si occupa di fornire agli utenti
un'interfaccia per accedere alle reti.
Come principale sistema per la trasmissione d'informazioni sul web, con l'application
layer utilizziamo il protocollo HTTP (Hyper Text Transfer Protocol). L'HTTP funziona su un
meccanismo richiesta/risposta (client/server): il client esegue una richiesta e il server
restituisce la risposta. Nell'uso comune il client corrisponde al browser ed il server la
macchina su cui risiede il sito web.
Fanno parte di questo livello tutte le applicazioni funzionanti in rete
14. APPROFONDIMENTO: Il MAC ADDRESS
E’ un numero di 48 bit (rappresentato nella forma aa:bb:cc:dd:ee:ff ) che serve ad
identificare univocamente le schede di rete. E’ cablato nella scheda e viene impiegato per
indicare l’entità a cui si vuole inviare un messaggio in una LAN.
Questi numeri vengono assegnati dall’ Institute of Electrical and Electronics Engineers (IEEE)
I primi 24 bit (OUI) del MAC Address identificano l’azienda che ha prodotto la scheda di
rete.
Esempio: Nell'indirizzo 00-50-04-2D-BD-13, le prime tre coppie di numeri 00-50-04
identificano la casa produttrice della scheda (3COM in questo caso), mentre le altre tre
coppie indicano il numero seriale della scheda di rete, possono essere assegnati
liberamente dal produttore a patto di rispettare il criterio dell'univocità. Se volete
l'elenco completo degli OUI assegnati alle case produttrici potete consultare questa
pagina.
http:// standards.ieee.org/develop/regauth/oui/public.html
Il MAC è fisso e può essere modificato solo a livello software.
15. TCP/IP
Nel TCP/IP i livelli 5, 6 e 7 del modello OSI sono unificati in un solo livello applicativo. La
sigla TCP/IP significa «Transmission Control Protocol/Internet Protocol» e proviene dai
nomi dei due protocolli maggiori della serie di protocolli, cioè i protocolli TCP e IP. Il
TCP/IP rappresenta l'insieme delle regole di comunicazione su Internet.
I protocolli del macrolivello
applicativo dipendono dal tipo di
operazione che l’utente richiede alla
rete (accesso a una pagina o servizio
web, lettura o inoltro di una email,
download o upload di un file, ...).
I protocolli del livello data-link
dipendono dalla tecnologia di
telecomunicazione adottata
(LAN/WAN, wired/wireless, …).
16. I protocolli dei livelli intermedi di rete e di trasporto sono indipendenti sia dalle
tecnologie impiegate, sia dalle operazioni effettuate e i protocolli indicati nella
tabella si sono da tempo affermati come gli unici effettivamente utilizzati su Internet
TCP/IP
LAN
WAN
17. Il livello di rete e il protocollo IP
Il protocollo IP ha il compito di trasferire un pacchetto dal computer mittente al
computer destinatario: a questo scopo ogni computer presente sulla stessa rete deve
disporre di un indirizzo IP univoco.
L’indirizzo IP versione 4 (IPv4) di un dispositivo è un numero a 32 bit che viene
considerato suddiviso in due parti:
• l’indirizzo che identifica la rete, normalmente una rete LAN cui
appartiene il dispositivo
• l’indirizzo del dispositivo all’interno della rete
Il numero di bit della parte di rete di un indirizzo IP è definito dalla sua netmask, una
sequenza di 32 bit in cui i bit meno significativi sono posti a «0» e i più significativi sono
posti a «1» in numero corrispondente ai bit dedicati alla parte di rete dell’indirizzo.
18. Normalmente gli indirizzi IP sono scritti come 4 numeri separati dal simbolo «.»
corrispondenti al valore dei 4 byte che costituiscono l’indirizzo (massimo valore 255)
Il livello di rete e il protocollo IP
Il numero di dispositivi che si possono indirizzare in una rete è pari al numero di indirizzi
distinti che si possono configurare con il numero di bit a disposizione meno 2. Gli indirizzi
di dispositivo composti da tutti «0» e da tutti «1» hanno un significato speciale: nel primo
caso è l’indirizzo stesso della rete, mentre nel secondo caso è l’indirizzo di broadcast da
utilizzare se un pacchetto è destinato a tutti i dispositivi presenti nella rete.