Bianca Petretti - LE RETI - 2003 1
Le reti
Classificazione delle reti
Struttura del software di rete
Livelli di modelli OSI e TCP/IP
Bianca Petretti - LE RETI - 2003 2
Introduzione al concetto di rete
Con il termine rete si indica in modo
generico un collegamento fra due
apparecchiature (apparecchiatura
sorgente ed apparecchiatura
destinataria) attraverso un mezzo
trasmissivo per effettuare una
qualsiasi trasmissione di informazioni.
Bianca Petretti - LE RETI - 2003 3
Inizialmente le reti erano essenzialmente costituite da
terminali collegati a un mainframe centrale (Architettura
centralizzata o master-slave).
La realizzazione di questo tipo di reti era legata a
soluzioni proprietarie.
Attualmente, con il termine rete di calcolatori si indica un
insieme di computer capaci di lavorare autonomamente,
ma collegati fra loro in modo da poter scambiare
informazioni (Architettura distribuita).
Architetture centralizzate e
architetture distribuite
Bianca Petretti - LE RETI - 2003 4
• Condividere risorse
(ad es. i dati di un file o una stampante)
• Comunicare fra terminali lontani
(es. posta elettronica)
• Utilizzare servizi telematici
( la Telematica si occupa dell’elaborazione a
distanza delle informazioni)
Risorse offerte dalla rete
Bianca Petretti - LE RETI - 2003 5
Alcune tipiche applicazioni di rete
Consultazione di informazioni come la
consultazione di pagine web o di data base remoti
Teletext (televideo) in cui le comunicazioni avvengono
via radio
Teleconferenza (collegamento audio e anche video)
Commercio elettronico (ha fatto nascere problemi i
sicurezza in rete)
Telemedicina (diagnosi e terapie a distanza)
Bianca Petretti - LE RETI - 2003 6
Sistemi Client/Server
I Server mettono a disposizione servizi e risorse
ai Client che chiedono ogni volta il permesso di
potervi accedere.
Uno stesso computer può anche fungere da
server e da client al tempo stesso
(sistemi Peer to Peer)
Bianca Petretti - LE RETI - 2003 7
Classificazione delle reti
Le reti si possono classificare secondo la
tecnologia di trasmissione e la dimensione.
In base alla tecnologia di trasmissione abbiamo:
reti di tipo broadcast
reti di tipo point to point
Bianca Petretti - LE RETI - 2003 8
Classificazione delle reti :
reti con tecnologia broadcast
Vi è un unico canale di comunicazione
condiviso da tutte le stazioni.
Ogni messaggio che viene inviato lungo il
canale di trasmissione viene intercettato da
tutte le postazioni ma viene elaborato solo dal
terminale a cui è diretto (reti a bus)
Bianca Petretti - LE RETI - 2003 9
Classificazione delle reti :
reti con tecnologia point to point
Collegamenti individuali fra coppie di
terminali.
Il messaggio per giungere al destinatario
può attraversare nodi intermedi (come nella
topologia a connessione parziale e nella
topologia ad anello).
Bianca Petretti - LE RETI - 2003 10
Messaggi point to point,broadcast
e multicast
Indipendentemente dalla tecnologia di trasmissione
l’invio del messaggio può essere rivolto:
a una stazione ben precisa (point to point)
a tutte le stazioni (broadcast)
Ad un gruppo di stazioni (multicast)
Bianca Petretti - LE RETI - 2003 11
In base alla dimensione le reti si classificano in:
LAN (local area network)
MAN (metropolitan area network)
WAN (wide area network)
In generale reti piccole usano la tecnologia broadcast, mentre
le reti geografiche ricorrono alla tecnologia point to point.
Classificazione delle reti in
base alle dimensioni
Bianca Petretti - LE RETI - 2003 12
Le reti locali LAN
Reti private all’interno di un singolo edificio o edifici vicini
Non possono attraversare suolo pubblico
Usano la tecnologia bradcast , alcune anche quella point to point.
Velocità fra i 10 Mbps e 100Mbps
Basso ritardo e basso tasso d’errore
Topologia di rete a bus ad anello o a stella
Bianca Petretti - LE RETI - 2003 13
Reti metropolitane e geografiche
Le reti metropolitane possono coprire un gruppo di
edifici o una città e possono essere private o
pubbliche.
Le reti geografiche coprono una grande area
geografica, una nazione, un continente o l’intero
pianeta. Gli utenti (host) sono collegati da una
sottorete di comunicazione costituita da linee di
trasmissione ed elementi di commutazione (router).
Quando un computer vuole comunicare con un altro
occorre individuare un percorso per raggiungere il
destinatario (routing)
Bianca Petretti - LE RETI - 2003 14
Internetworking
E’ possibile la comunicazione
tra reti di tipo diverso.
Reti locali e metropolitane
possono collegarsi a reti più
ampie mediante un router.
Il collegamento fra due o più reti è appunto noto
con il termine internet. La forma che assume la sottorete di
comunicazione tra le vaie stazioni viene detta topologia di rete.
La topologia delle reti geografiche è tipicamente a maglia, poiché
non è possibile rispettare una disposizione particolare a causa della
varietà delle caratteristiche delle zone geografiche.
Individuare il particolare tipo di topolgia di una rete è importante per
aspetti come l’instradamento dei messaggi e la tolleranza dei guasti.
Bianca Petretti - LE RETI - 2003 15
Internetworking (2)
E’ possibile connettere fra di loro reti progettualmente diverse e perciò spesso incompatibili fra loro.
In questo caso si deve ricorrere ai gateway (o router multiprotocollo), che instradano i pacchetti da una rete all'altra ed effettuano le operazioni necessarie per rendere possibili tali
trasferimenti.
Wan 1 Wan 2
Gataway
Bianca Petretti - LE RETI - 2003 16
Un po’ di terminologia…
sottorete (subnet), che
nel contesto di una WAN è
l'insieme dei router e delle
linee di trasmissione;
rete (network), che altro
non è che una subnet più tutti
gli host collegati;
internetwork, che è una
collezione di più network,
anche non omogenee,
collegate per mezzo di
gateway.
Figura : relazioni fra subnet, network e internetwork
Bianca Petretti - LE RETI - 2003 17
Il software di rete (1)
E’ necessario un software di rete per gestire la comunicazione
fra le varie stazioni. Tale software è molto complesso ed
organizzato come una serie di livelli, ognuno costruito su quello
inferiore. Il nome, il numero dei livelli e la loro funzione specifica
può variare da una rete all’altra.
Lo scopo di ogni livello è quello di offrire dei servizi al livello
superiore nascondendo i dettagli su come tali servizi vengono
realizzati. Ogni livello può fornire diversi tipi di servizi.
Bianca Petretti - LE RETI - 2003 18
Il software di rete (2)
Il livello superiore può richiedere un’azione usando delle opportune
primitive, e il livello inferiore la esegue.
Fra ogni coppia di livelli adiacenti vi è un’interfaccia che definisce:
le operazioni primitive che possono essere richieste al livello sottostante;
i servizi che possono essere offerti dal livello sottostante.
SAP (Service Access Point) punto dal quale ciascun livello
può accedere ai servizi offertigli dal livello ad esso inferiore.
Il servizio definisce quali operazioni può eseguire ma non dice nulla
su come tali operazioni vengono implementate.
Ogni livello può comunicare con i livelli corrispondenti di altre stazioni
(livelli paritetici)
Bianca Petretti - LE RETI - 2003 19
Il software di rete (3)
I servizi sono disponibili ai SAP ( Service Access Point ).
I SAP del livello n, detti anche n - SAP, sono i punti di accesso nei quali il
livello (n+1) può accedere ai servizi del livello n. Ogni n - SAP ha un indirizzo
che lo identifica univocamente.
Analogia col telefono:
SAP: presa a muro del telefono;
SAP address: numero telefonico che identifica quella presa.
Figura: Livelli adiacenti e service access point
Bianca Petretti - LE RETI - 2003 20
Il software di rete (4) Differenza fra protocolli e servizi
I protocolli sono le regole e le convenzioni usate per le
conversazioni paritetiche. Descrivono come vengono eseguiti i
servizi e definiscono le regole che governano il formato e il
significato dei blocchi di informazioni scambiate durante le
conversazioni paritetiche. E’ possibile modificare i protocolli
senza per questo cambiare i servizi disponibili.
I servizi sono tutte le utilità che un livello può
fornire al livello superiore, senza però rendere ad
esso visibile l’implementazione di ciascuna di queste
operazioni.
Bianca Petretti - LE RETI - 2003 21
Il software di rete (5)
Elementi che in ogni livello offrono
effettivamente i servizi al livello
superiore e comunicano con il livello
corrispondente delle altre stazioni
Entità che si trovano in livelli corrispondenti
vengono dette entità paritetiche (peer entity).
Ogni livello richiede un meccanismo di
indirizzamento per identificare le entità del
trasmittente e del ricevente.
Entità:
Bianca Petretti - LE RETI - 2003 22
Il software di rete (6) Stratificazione (layering)
La stratificazione di un sistema riduce la complessità
mediante livelli di astrazione.
Ogni livello è composto da più entità (applicazioni, processi,
calcolatori, …)
L’obiettivo di un livello è di fornire servizi alle entità del livello
superiore, nascondendo il modo in cui i servizi sono realizzati
Livelli adiacenti comunicano tramite la loro interfaccia.
Bianca Petretti - LE RETI - 2003 23
Architettura di rete (1)
L’architettura di rete è un insieme di livelli e dei relativi
protocolli paritetici che non descrive tuttavia le implementazioni
dei servizi offerti da ciascun livello.
Per ciascun livello un’entità può essere implementata in modo
diverso purché rispetti le regole di comunicazione definite dal
protocollo.
Si possono usare stazioni che usano interfacce diverse fra i livelli
purché i livelli rimangano gli stessi da un nodo all’altro e vengano
usati correttamente i protocolli.
E' quindi possibile che sui vari host della rete ci siano implementazioni
che differiscono fra di loro anche in termini di interfacce fra livelli,
purché ogni host implementi correttamente i protocolli previsti
dall'architettura. In questo caso possono dialogare fra loro anche
host aventi caratteristiche (processore, sistema operativo, costruttore)
diverse.
Bianca Petretti - LE RETI - 2003 24
Architettura di rete (2)
Dunque, nell'ambito di una specifica architettura di
rete, si ha che:
tutti gli host devono contenere implementazioni conformi in termini di livelli e di protocolli;
gli host possono contenere implementazioni che differiscono in termini di dettagli implementativi e di interfacce fra livelli;
Bianca Petretti - LE RETI - 2003 25
Architettura di rete (3) Gerarchia dei protocolli di rete
Il livello N su un calcolatore permette una comunicazione con
il livello N di un altro calcolatore.
Le entità di livello N (eccetto il livello 1) per comunicare usano
servizi di livello N -1.
Protocollo: accordo tra partecipanti su come si deve
svolgere una comunicazione.
Protocollo di rete: insieme regole che specificano il
formato (sintassi) e il significato (semantica) dei
messaggi scambiati tra entità pari di una rete.
Bianca Petretti - LE RETI - 2003 26
Architettura di rete (4) Pila di protocolli (Stack di protocolli)
Stack di protocolli : insieme dei protocolli usati da una stazione
relativi ad una architettura di rete.
Un protocollo può dipendere dai servizi realizzati da altri protocolli (di
livello inferiore)
Principio di stratificazione:
Un protocollo di livello N destinatario (o meglio, l’entità software che
lo implementa) deve ricevere esattamente lo stesso messaggio
spedito dal protocollo di livello N mittente.
Bianca Petretti - LE RETI - 2003 27
Dialogo fra livelli paritetici e flusso delle
informazioni (1)
H5 Dati
H4
H3
H2
H5 Dati
H2
H3
H4
Bianca Petretti - LE RETI - 2003 28
Dialogo fra livelli paritetici e flusso delle
informazioni (2)
In realtà non c'è un trasferimento diretto dal livello
n di host 1 al livello n di host 2. Ogni livello di host
1 passa i dati, assieme a delle informazioni di
controllo, al livello sottostante.
Al di sotto del livello 1 c'è il mezzo fisico, attraverso
il quale i dati vengono trasferiti da host 1 ad host 2.
Quando arrivano a host 2, i dati vengono passati
da ogni livello (a partire dal livello 1) a quello
superiore, fino a raggiungere il livello n.
Bianca Petretti - LE RETI - 2003 29
Messaggi in una pila di protocolli (1)
Ogni livello aggiunge al messaggio un’intestazione (header) con
informazioni di controllo e a volte un trailer a fine messaggio.
Un livello potrebbe dover frammentare il messaggio in unità più
piccole, aggiungendo un’intestazione ad ogni frammento.
Sebbene i dati vengano trasmessi verticalmente, ogni livello è
programmati come se la comunicazione avvenisse in modo
orizzontale. Ogni livello esegue alcuni compiti in trasmissione
ed altri, complementari, in ricezione
Bianca Petretti - LE RETI - 2003 30
Messaggi in una pila di protocolli (2) Struttura del dato trasmesso
Quando il messaggio arriva alla stazione destinataria il
messaggio risale lungo i livelli.
Ogni livello toglie le informazioni che sono state aggiunte dal
suo livello paritetico, le utilizza per la propria elaborazione e
passa il resto del messaggio al livello superiore.
Bianca Petretti - LE RETI - 2003 31
Messaggi in una pila di protocolli (3)
Bianca Petretti - LE RETI - 2003 32
Flusso dell'informazione fra peer entity Vediamo cosa accade:
il programma applicativo (livello 5) deve mandare un messaggio M alla sua peer entity;
il livello 5 consegna M al livello 4 per la trasmissione;
il livello 4 aggiunge un suo header in testa al messaggio (talvolta si dice che il messaggio è inserito nella busta di livello 4); questo header contiene informazioni di controllo, tra le quali:
• numero di sequenza del messaggio;
• dimensione del messaggio;
• time stamp;
• priorità;
il livello 4 consegna il risultato al livello 3;
il livello 3 può trovarsi nella necessità di frammentare i dati da trasmettere in unità più piccole, (pacchetti) a ciascuna delle quali aggiunge il suo header;
il livello 3 passa i pacchetti al livello 2;
il livello 2 aggiunge ad ogni pacchetto il proprio header (e magari un trailer) e lo spedisce sul canale fisico;
nella macchina di destinazione i pacchetti fanno il percorso inverso, con ogni livello che elimina (elaborandoli) l'header ed il trailer di propria competenza, e passa il resto al livello superiore.
Bianca Petretti - LE RETI - 2003 33
Un po’ di terminologia…
PDU (Protocol Data Unit) messaggio passato da un livello al sottostante
SDU (Service Data Unit) il messaggio PDU nel livello al sottostante
PCI (Protocol Control Information) insieme delle informazioni aggiunte all’SDU come intestazione
Il messaggio formato da PCI e SDU costituisce la PDU da passare al livello
successivo.
Nel modello OSI al posto di PDU si usano i termini:
Segmento (o anche TPDU, Transport PDU) - nel livello di trasporto
Pacchetto (Packet) - nel livello di rete
Trama (Frame) - nel livello di data link
Bianca Petretti - LE RETI - 2003 34
L'informazione passata dal livello n
al livello (n-1), attraverso il (n-1)-SAP,
si dice PDU (Protocol Data
Unit) di livello n, o anche n-PDU.
Essa, entrando nel livello (n-1),
diventa una SDU (Service Data Unit)
di livello (n-1), o anche (n-1)-SDU.
Entro il livello (n-1) viene aggiunta alla (n-1)-SDU una PC (Protocol
Control Information) di livello (n-1).
Il tutto diventa una (n-1)-PDU, che verrà passata al livello (n-2)
attraverso un (n-2)-SAP.
Bianca Petretti - LE RETI - 2003 35
Servizi connection-oriented,
connectionless, reliable e non reliable
Ci sono due principali classi di servizi
offerti da un livello a quello superiore:
servizi connection-oriented
servizi connectionless
Inoltre un servizio può essere:
affidabile (reliable)
non affidbile (non rielable)
Bianca Petretti - LE RETI - 2003 36
Connection-oriented services
I servizi connection-oriented sono modellati secondo il sistema
Telefonico.
Un servizio connection-oriented si sviluppa in 3 fasi: si stabilisce una connessione. Questa operazione coinvolge un certo
numero di elaboratori nel cammino fra sorgente e destinazione;
la connessione, una volta stabilita, agisce come un tubo digitale lungo il quale scorrono tutti i dati trasmessi, che arrivano nello steso ordine in cui sono partiti;
si rilascia la connessione (attività che coinvolge di nuovo tutti gli elaboratori sul cammino).
Bianca Petretti - LE RETI - 2003 37
Connectionless services
(datagram services)
I servizi connectionless
sono modellati secondo il
sistema Postale.
In un servizio Datagram, i pacchetti (PDU) viaggiano
indipendentemente gli uni dagli altri, possono prendere strade
diverse ed arrivare in ordine diverso da quello di partenza o non
arrivare affatto.
La fase è una sola: invio del pacchetto (corrisponde all'immissione della
lettera nella buca).
Bianca Petretti - LE RETI - 2003 38
Reliable e non reliable services
Un servizio affidabile (reliable o anche confermato) non perde mai dati, cioé assicura che tutti i dati spediti verranno consegnati al destinatario. Ciò generalmente richiede che il ricevente invii un acknowledgement (conferma) alla sorgente per ogni pacchetto ricevuto. Si introduce ovviamente un overhead, che in certe situazioni può non essere desiderabile.
Viceversa, un servizio non affidabile (non reliable o anche non confermato) non offre la certezza che i dati spediti arrivino effettivamente a destinazione.
Bianca Petretti - LE RETI - 2003 39
Quindi il servizio offerto da un livello a quello
superiore può essere di quattro tipi diversi:
reliable connection oriented, necessario ad esempio per il trasferimento di file (i dati devono arrivare tutti ed in ordine);
non reliable connection oriented: nelle trasmissioni isocrone (quali voce e video) le relazioni temporali fra i bit del flusso devono essere mantenute. E' meglio un servizio inaffidabile, piuttosto che interruzioni momentanee, ma avvertibili, del flusso di dati;
non reliable connectionless (detto anche datagram service, da telegram): distribuzione di posta elettronica pubblicitaria, non importa se qualche messaggio si perde;
reliable connectionless (detto anche acknowledged datagram service): si invia un breve messaggio e si vuole essere assolutamente sicuri della sua avvenuta ricezione;
Bianca Petretti - LE RETI - 2003 40
Primitive di definizione del servizio
(1) Un servizio di livello n è formalmente specificato da un insieme di primitive (cioè
operazioni) che un'entità di livello (n+1) può adoperare per accedere al servizio.
Esse possono indicare al servizio:
l'azione da compiere (l'informazione viagga da livello n al livello (n-1));
cosa riportare in merito ad una azione effettuata dalla peer entity di livello
n (l'informazione viaggia dal livello (n-1) al livello n);
Le primitive possono avere dei parametri per specificare ulteriormente
le operazioni. Le primitive hanno vari parametri (mittente, destinatario, tipo del
servizio richiesto, ecc.), che possono essere usati dalle peer entity per negoziare
le caratteristiche della connessione. I dettagli della negoziazione fanno parte del
protocollo. Ad esempio, un servizio può essere richiesto in modalità confermata
oppure non confermato.
Bianca Petretti - LE RETI - 2003 41
Primitive di definizione del servizio
(2)
Un esempio di primitive può essere il seguente:
Bianca Petretti - LE RETI - 2003 42
Primitive di definizione del servizio
(3) Per stabilire una connessione fra le peer entity A a B si
usa il servizio Connect( ) che è sempre affidabile per
accertarsi che la connessione è avvenuta:
Un servizio non
reliable usa
solo queste
due primitive
Bianca Petretti - LE RETI - 2003 43
Primitive di definizione del servizio
(4) Vediamo ora un esempio di servizio connection oriented con
8 primitive: connect.request() ;
connect.indication();
connect.response() ;
connect.confirm() ;
data.request() : si cerca di inviare dati;
data.indication() : sono arrivati dei dati;
disconnect.request() : si vuole terminare la conness ;
disconnect.indication() : l'altra entità vuole terminare.
Bianca Petretti - LE RETI - 2003 44
Esempio di attivazione, uso e rilascio di
una connessione
La sequenza di primitive che entrano in gioco successivamente nel corso
della gestione di una connessione è la seguente:
Bianca Petretti - LE RETI - 2003 45
La suddivisione in livelli permette di creare facilmente
applicazioni di rete senza doversi preoccupare di problemi
generali, come la ricerca di un percorso verso il destinatario o il
controllo degli errori.
Per creare un’applicazione basta utilizzare le primitive messe a
disposizione dal livello di trasporto della pila di protocolli per la
gestione della comunicazione. In questo modo sono i livelli
sottostanti che si occupano di tutte le problematiche della
comunicazione in rete e il programmatore si può concentrare
sulle funzioni che l’applicazione deve svolgere effettivamente.
L’utilità di un software di rete
stratificato…
Bianca Petretti - LE RETI - 2003 46
Aspetti di progetto dei livelli (1) In merito a diverse problematiche vanno prese, nei vari livelli, alcune
decisioni di progetto. Le principali problematiche sono:
Meccanismi di identificazione di mittente e destinatario (cioé indirizzamento), in ogni livello.
Regole per il trasferimento dati (livelli bassi): • in una sola direzione (simplex connection);
• in due direzioni ma non contemporaneamente (half-duplex connection).
• in due direzioni contemporaneamente (full-duplex connection);
Meccanismi per il controllo degli errori di trasmissione;
è possibile: • rilevarli oppure no;
• correggerli oppure no;
• avvertire il mittente oppure no.
Bianca Petretti - LE RETI - 2003 47
Aspetti di progetto dei livelli (2)
Altri aspetti fondamentali di cui tener conto nella progettazione sono:
Meccanismi per il mantenimento (o la ricostruzione) dell'ordine originario dei dati.
Meccanismi per regolare le velocità di sorgente e destinazione.
Decisioni sulla dimensione (minima o massima) dei messaggi da inviare, e su come eventualmente frammentarli.
Meccanismi di multiplexing di varie "conversazioni" su di un'unica connessione (se stabilire la connessione è costoso).
Meccanismi di routing dei messaggi se esistono più strade alternative, ed eventualmente di suddivisione di una "conversazione" su più connessioni contemporaneamente (per aumentare la velocità di trasferimento dei dati).
Bianca Petretti - LE RETI - 2003 48
La realtà nel mondo delle reti:
OSI e TCP/IP Iniziamo ad esaminare due realtà importanti nel mondo delle reti:
OSI Reference Model (E’ solo un modello di riferimento e non un’architettura. Alcuni protocolli sono stati definiti successivamente, in standard separati);
Internet Protocol Suite (detta anche architettura TCP/IP o, piuttosto impropriamente, TCP/IP reference model).
Un modello di riferimento è cosa diversa da un'architettura di rete:
Bianca Petretti - LE RETI - 2003 49
Il modello di riferimento OSI
L'OSI (Open Systems Interconnection) Reference Model è un
modelo di riferimento di software di rete a livelli definito dalla ISO
(International Standard Organization), ed ha lo scopo di:
fornire uno standard per la connessione di sistemi aperti
fornire una base comune per lo sviluppo di standard per
l'interconnessione di sistemi
fornire un modello rispetto a cui confrontare le varie
architetture di rete
RETE APERTA rete a cui ci si può collegare da qualsiasi punto
geografico e con qualsiasi sistema tramite un mezzo di
comunicazione e opportuni protocolli.
Bianca Petretti - LE RETI - 2003 50
Principi di progetto seguiti durante
lo sviluppo del modello OSI
Il modello OSI definisce sette livelli:
ogni livello deve avere un diverso grado di astrazione;
ogni livello deve avere una funzione ben definita;
la scelta dei livelli deve minimizzare il passaggio delle informazioni fra livelli;
occorre evitare troppe funzioni all’interno di un unico livello ed un numero troppo elevato di livelli.
Bianca Petretti - LE RETI - 2003 51
I 7 livelli del modello OSI
Possiamo considerare i primi tre livelli come standard
per la comunicazione, in quanto si occupano della
gestione della sottorete di comunicazione,
dipendono dal gestore della rete e le applicazioni non
possono avere alcuna influenza su di essi.
I quattro livelli superiori invece si occupano
dell’elaborazione, in quanto permettono di creare
applicazioni indipendenti dalla rete di comunicazione.
Bianca Petretti - LE RETI - 2003 52
Schematizzazione dei 7 livelli del modello OSI
Bianca Petretti - LE RETI - 2003 53
Rappresentazione schematica dei
livelli gestiti lungo un cammino
Spesso, per visualizzare le competenze (in termini di livelli
gestiti) dei vari elaboratori sul cammino, si usano diagrammi
del tipo:
Bianca Petretti - LE RETI - 2003 54
Il livello fisico del modello OSI
Si occupa della trasmissione dei bit dei dati lungo il mezzo fisico di
trasmissione. Gli aspetti di progetto sono:
volti a garantire che se parte un 1, arrivi effettivamente un 1 e non uno 0;
riguardanti le caratteristiche meccaniche, elettriche e procedurali delle interfacce di rete (componenti che connettono l'elaboratore al mezzo fisico) e le caratteristiche del mezzo fisico.
E’ a questo livello che si caratterizzano:
Valori della tensione per rappresentare 0 ed 1;
durata (in microsecondi) di un bit;
scelta della trasmissione simultanea in due direzioni oppure no;
forma dei connettori.
Bianca Petretti - LE RETI - 2003 55
Il livello Data link del modello OSI
Lo scopo di questo livello è far si che un mezzo fisico
trasmissivo appaia, ai livelli superiori, come una linea
di trasmissione esente da errori di trasmissione
Funzionamento: i dati provenienti dal livello superiore vengono
spezzettati in frame (da qualche centinaia a qualche migliaia di byte);
i frame vengono inviati in sequenza;
si aspetta un acknowledgement frame (ack) per ogni frame inviato.
Bianca Petretti - LE RETI - 2003 56
Il livello Network del modello OSI
Lo scopo del livello di rete è controllare il funzionamento della subnet di comunicazione
(linne e router). Inizialmente esso offriva solamente servizi orientati alla connessione,
successivamente fu aggiunta la modalità connectionless.
Sono di competenza di tale livello:
Il routing (scelta del percorso nella sottorete), che può essere statico (fissato ogni tanto e raramente variabile) o dinamico (continuamente aggiornato, anche da un pacchetto all'altro);
La gestione della congestione: che si verifica quando troppi pacchetti arrivano ad un router (es.: da molte linee in ingresso ad un unica linea di uscita);
L’accounting: gli operatori della rete possono far pagare l'uso agli utenti sulla base del traffico generato;
La conversione di dati nel passaggio fra una rete ed un'altra (diversa). Ciò implica di dover:
• rimappare gli indirizzi;
• frammentare i pacchetti;
• gestire protocolli diversi.
Bianca Petretti - LE RETI - 2003 57
Il livello Transport del modello OSI
(1) Il livello di trasporto si occupa della comunicazione fra due
stazioni attraverso la sottorete di comunicazione, facendo in
modo che i dati inviati dal mittente arrivino a destinazione come
se attraversassero una linea diretta tra le due stazioni, senza
errori. Tale livello offre solo servizi orientati alla connessione.
Una volta che i dati vengono accettati dal livello superiore, essi
vengono spezzettati in pacchetti, passati al livello network
assicurandosi che arrivino alla peer entity che si trova all'altra
estremità della connessione.
Tutto ciò è compiuto in maniera efficiente, isolando i livelli
superiori dai cambiamenti della tecnologia di rete sottostante.
Bianca Petretti - LE RETI - 2003 58
Il livello Transport del modello OSI
(2) Il livello transport è il primo livello realmente end-to
end, cioè da host sorgente a host destinatario: le peer
entity di questo livello portano avanti una conversazione
senza intermediari.
Si noterà che certe problematiche sono, in ambito end
to-end, le stesse che il livello data link ha nell'ambito di
una singola linea di comunicazione; le soluzioni però
sono alquanto diverse per la presenza della subnet di
comunicazione.
Bianca Petretti - LE RETI - 2003 59
Incombenze del livello di trasporto
Creazione di connessioni di livello network (attraverso i servizi del
livello network) per ogni connessione di livello transport richiesta. Sono
possibili:
una connessione network per ciascuna connessione transport;
molte connessioni network per una singola connessione transport (per
ottenere un alto throughput)
una singola connessione network viene usata per molte connessioni transport,
con meccanismi di multiplexing(se è alto il costo di una connessione network)
Offerta di vari servizi al livello superiore:
canale punto a punto affidabile, che consegna i dati in ordine e senza errori (il
servizio più diffuso, connection oriented);
invio di messaggi isolati, con o senza garanzia di consegna (connectionless);
broadcasting di messaggi a molti destinatari (connectionless).
Bianca Petretti - LE RETI - 2003 60
Il livello Session del modello OSI
Tale livello dovrebbe aggiungere dei servizi
avanzati a quelli del transport layer.
Ad es: token management: autorizza le due parti, a turno, alla trasmissione. Come vedremo nel seguito, in realtà questo livello non ha avuto
un grande successo
Bianca Petretti - LE RETI - 2003 61
Il livello Presentation del modello
OSI
Tale livello fa riferimento alla sintassi e alla semantica delle
informazioni trasmesse, diversamente dai livelli sottostanti
che gestiscono solo una sequenza di bit.
Ad esempio, si occupa di convertire tipi di dati standard (caratteri,
interi) da rappresentazioni specifiche della piattaforma HW di partenza
in una rappresentazione "on the wire" e poi in quella specifica dell' HW
di arrivo.
Bianca Petretti - LE RETI - 2003 62
Il livello Application del modello
OSI
Tale livello prevede che qui risieda tutta la varietà di
protocolli necessari per offrire i vari servizi agli utenti,
quali ad esempio:
terminale virtuale
transferimento dei file
posta elettronica
Attraverso l'uso di questi protocolli si possono scrivere
applicazioni che offrono i suddetti servizi agli utenti
finali.
Bianca Petretti - LE RETI - 2003 63
IL TCP/IP
Il TCP/IP è un’architettura di rete ideata con
l’obiettivo di collegare reti di diversa natura
(internetworking) e di essere affidabile anche in
caso di guasti a parti della rete.
Il suo nome trae origine dai suoi due protocolli
principali. Essa non è un modello nel senso
stretto del termine, in quanto include i protocolli
effettivi, che sono specificati per mezzo di
documenti detti RFC (Request For Comments).
Bianca Petretti - LE RETI - 2003 64
Un po’ di storia del TCP/IP…
1957 - Presso il Dipartimento della Difesa degli USA, nasce l’A.R.P.A.
(Advanced Research Project Agency) per studiare applicazioni di scienza
e tecnologia all’uso militare.
1962 - Parte il progetto di una rete a commutazione di pacchetto in grado di
resistere agli attacchi bellici.
1968 - Nasce la rete ARPAnet che collega quattro università statunitensi.
1972 - ARPAnet collega 32 nodiusando linne telefoniche, reti satellitari e onde
radio; nasce la prima posta elettronica per uso universitario
1973 - Comincia lo sviluppo del TCP/IP.
1982 - Si inizia a parlare di internet come insieme di reti TCP/IP collegate fra loro
1983 - ARPANET viene divisa in parte pubblica e parte militare.
1989 - Nasce il servizio WEB presso il CERN ( Centro Europeo Ricerca fisica
Nucleare).
Bianca Petretti - LE RETI - 2003 65
Relazione fra i livelli OSI e TCP/IP
I livelli TCP/IP hanno questa relazione con quelli OSI:
Bianca Petretti - LE RETI - 2003 66
I livelli del TCP/IP
I livelli fondamentali del TCP/IP sono quello di
rete e quello di trasporto, mentre il livello di
applicazione contiene tutti i protocolli ad alto
livello (come HTTP, SMTP, FTP ecc…)
Non vengono definiti livelli inferiori a quello di rete.
Viene indicato un livello generico host-to-network
che prevede di utilizzare qualsiasi protocollo
sottostante per trasportare pacchetti IP lungo il mezzo
di trasmissione.
Bianca Petretti - LE RETI - 2003 67
Livello host-to-network del TCP/IP
Il livello più basso non è specificato
nell'architettura, che prevede di utilizzare quelli
disponibili per le varie piattaforme HW e
conformi agli standard.
Tutto ciò che si assume è la capacità dell'host
di inviare pacchetti IP sulla rete, appoggiandosi
a qualsiasi tecnologia esistente.
Bianca Petretti - LE RETI - 2003 68
Livello Internet del TCP/IP
E’ il corrispondente del livello di rete del modello OSI. E' il livello
che tiene insieme l'intera architettura, e il suo ruolo è
permettere ad un host di iniettare pacchetti in una qualunque rete
e fare il possibile per farli viaggiare tramite commutazione di
pacchetto fino alla destinazione, che può essere situata anche su
un’altra rete.
Offre un servizio connectionless e non confermato.
E' un servizio best-effort datagram. E' definito un formato
ufficiale dei pacchetti ed un protocollo chiamato IP (Internet
Protocol).
Come il livello di rete del modello OSI, si occupa del routing e del
controllo della congestione.
Bianca Petretti - LE RETI - 2003 69
Livello Transport del TCP/IP
E' progettato per consentire la conversazione delle peer
entity sugli host sorgente e destinazione (end-to-end).
Sono definiti due protocolli in questo livello:
TCP (Transmission Control Protocol): protocollo connesso ed
affidabile (ossia tutti i pacchetti arrivano, e nell'ordine giusto).
Frammenta il flusso in arrivo dal livello superiore in messaggi
separati che vengono passati al livello Internet. In arrivo, i pacchetti
vengono riassemblati in un flusso di output per il livello superiore.
UDP (User Datagram Protocol): protocollo non connesso e non
affidabile, i pacchetti possono arrivare in ordine diverso o non
arrivare affatto.
Bianca Petretti - LE RETI - 2003 70
Livello Application del TCP/IP
(1) Nell'architettura TCP/IP non ci sono i livelli Session e Presentation
(non furono ritenuti necessari; l'esperienza col modello OSI ha
mostrato che questa visione è condivisibile).
Sopra il livello Transport c'è direttamente il livello Application, che
contiene tutti i protocolli di alto livello vengono usati dalle
applicazioni reali. I primi protocolli furono:
Telnet: terminale virtuale;
FTP (File Transfer Protocol): file transfer;
SMTP (Simple Mail Transfer Protocol) e POP (Post Office
Protocol): posta elettronica
Bianca Petretti - LE RETI - 2003 71
Livello Application del TCP/IP
(2)
Successivamente se ne sono aggiunti altri, fra cui:
DNS (Domain Name Service): mapping fra nomi di host e
indirizzi IP numerici.
NNTP (Network News Transfer Protocol): trasferimento di
articoli per i newsgroup.
HTTP (HyperText Transfer Protocol): alla base del Word
Wide Web.
Bianca Petretti - LE RETI - 2003 72
I diversi protocolli del TCP/IP
Relazione fra i livelli e i protocolli dell'architettura TCP/IP:
HTTP, SMTP, POP3, FTP, NNTP, SNTP, DNS, VoIP
TCP, UDP
IP, ARP, RARP, BOOTP, ICMP, IGMP, OSPF, BGP
Vari standard per LAN, MAN, WAN
Application
Transport
Network
Bianca Petretti - LE RETI - 2003 73
TCP/IP e modello OSI a confronto
Somiglianze:
sono basati entrambi sul concetto
di pila di protocolli indipendenti;
hanno funzionalità simili per i vari
livelli;
Bianca Petretti - LE RETI - 2003 74
TCP/IP e modello OSI a confronto
(2)
Il TCP/IP è uno standard de facto, è diventato
uno standard grazie al suo utilizzo. Ciò
significa che il TCP/IP nasce coi protocolli,
mentre il modello di riferimento viene a
posteriori
Il modello OSI è uno standard de jure, cioè
uno standard formale legale adottato dalla ISO,
i protocolli verranno definiti solo in un secondo
momento.
Bianca Petretti - LE RETI - 2003 75
TCP/IP e modello OSI a confronto
(3)
Poiché il modello OSI nacque prima dei relativi protocolli,
successe che:
il modello era, ed è tuttora, molto generale (punto a
favore);
vi era insufficiente esperienza nella
progettazione dei livelli (punto a sfavore). Ad
esempio:
• il livello data-link (pensato all'origine per linee punto-punto) ha
dovuto sdoppiarsi per gestire reti broadcast;
• mancava del tutto l'idea di internetworking: si pensava ad una
rete separata, gestita dallo stato, per ogni nazione
Bianca Petretti - LE RETI - 2003 76
TCP/IP e modello OSI a confronto
(4)
I protocolli dell'architettura TCP/IP sono invece il
punto di partenza del progetto, per cui:
l'architettura è molto efficiente (punto a
favore);
il reference model non è generale, in quanto
descrive solo questa particolare architettura
(punto a sfavore);
è difficile rimpiazzare i protocolli se
necessario (punto a sfavore).
Bianca Petretti - LE RETI - 2003 77
Limiti dei protocolli associati al
modello OSI la definizione dei protocolli è arrivata tardi, quando quelli TCP/IP si erano
già diffusi.
infelici scelte tecnologiche: i sette livelli (e i relativi protocolli) sono stati
dettati in realtà dalla architettura SNA dell' IBM, più che da considerazioni di
progetto. Per cui il progetto soffre di vari difetti:
grande complessità e conseguente difficoltà di implementazione;
inutili i livelli session e presentation;
non ottimali attribuzioni di funzioni ai vari livelli:
• alcune funzioni appaiono in molti livelli (es. controllo errore e flusso in tutti i livelli);
• altre funzioni mancano del tutto (ad es. sicurezza e gestione rete);
le prime implementazioni erano lente ed inefficienti, mentre i protocolli
dell'architettura TCP/IP invece sono stati implementati efficientemente fin
dall'inizio, per cui si sono affermati sempre più, e quindi hanno goduto di un
crescente supporto che li ha resi ancora migliori.
Bianca Petretti - LE RETI - 2003 78
Limiti dell’architettura TCP/IP
l'architettura TCP/IP non ha utilità come modello (non serve ad altro che a descrivere se stessa);
manca una distinzione fra protocolli, servizi e interfacce, il che rende più difficile l'evoluzione dell'architettura;
alcune scelte di progetto cominciano a pesare (ad es., indirizzi IP a soli 16 bit).
In conclusione:
L’OSI è ottimo come modello, mentre i suoi protocolli hanno avuto poco successo;
Il TCP/IP è ottimo (per ora) come architettura di rete, ma inutile come modello di riferimento.
Bianca Petretti - LE RETI - 2003 79
Esempi di architetture di rete:
IPSX/SPX IPX/SPX(Internet Packet Exchange/ Sequenced Packet Exchange)
è uno stack di protocolli proprietario diffuso negli anni ’80 perché usato
dalle reti con sistema operativo Novell Netware. E' l'architettura di rete più
diffusa nel mondo PC. E' precedente all’ OSI, e assomiglia molto al TCP/IP.
IPX come Ip è un protocollo di rete che ofre un servizio non connesso e non
affidabile.
SPX come TCP è un protocollo di trasporto che offre un servizio connesso e
affidabile.
Lo stack di protocolli IPX/SPX comprende quattro livelli funzionali:
Accesso al messo (corrisponde al livello 1 OSI)
Data link (corrisponde al livello 2 OSI)
Internet (livelli 3 e 4 OSI)
Applicazione (livelli 5 , 6 e 7 OSI)
Bianca Petretti - LE RETI - 2003 80
Esempi di architetture di rete:
IPSX/SPX (2) La pratica di avere un livello network best-effort e connectionless, e
sopra esso un livello transport reliable e connected, è molto diffusa.
Sono così anche: Appletalk e il TCP/IP.
Bianca Petretti - LE RETI - 2003 81
Esempi di architetture di rete:
IPSX/SPX (3) NCP protocollo principale di applicazione(netware Core Protocol)
che può usare SPX ma anche IPX; usato per la stampa, la
condivisione di file e la posta elettronica.
Altri protocolli a livello applicazione sono RIP e NLSP (protocolli
di routing) e il protocollo SAP che trasmette in broadcast
informazioni sui server disponibili, subito dopo che siano diventati
attivi.
Gli indirizzi IPX sono
lunghi 10 byte Protocolli
vari
NLS
P
RIP
SA
P
NC
P
Interfaccia collegamento dati
1
2
3
4
5
7
6
IPX
Accesso al mezzo
IPX SPX
Bianca Petretti - LE RETI - 2003 82
Esempi di architetture di rete:
Arpanet E’ l’antenata del TCP/IP. Nacque a metà degli anni '60 (ai
tempi della guerra fredda); il D.o.D. volle una rete
robustissima anche in caso di catastrofi, in grado di non
interrompere le connessioni in atto anche se alcune sue
componenti fossero state distrutte.
Si scelse quindi una rete a commutazione di pacchetto,
formata dagli host e da una subnet di comunicazione
costituita da vari IMP (Interface Message Processor)
collegati da linee di trasmissione.
Il software venne diviso in due parti:
SW per gli host
SW per la subnet (ossia per gli IMP)
Bianca Petretti - LE RETI - 2003 83
Esempi di architetture di rete:
Arpanet (2)
Protocolli definiti per Arpanet: Host-IMP protocol;
IMP-IMP protocol;
Source IMP-destination IMP protocol.
Bianca Petretti - LE RETI - 2003 84
Esempi di architetture di rete:
Arpanet (3)
Successivamente Arpanet si sviluppò incorporando altre reti, il che
mostrò l'inadeguatezza dei protocolli originari rispetto alle
problematiche di internetworking.
Nacque di conseguenza, verso la metà degli anni '70, l'architettura TCP/IP,
che il giorno 1/1/1983 divenne lo standard di Arpanet. TCP/IP fu poi
mantenuta anche per l'evoluzione di Arpanet, NSFNET (metà degli anni '80),
basata su linee da 56Kbps all'inizio e poi più veloci (1.5 Mbps nel 1990, 34
Mbps sulle linee principali oggi).
Il continuo aggiungersi di reti, ad Arpanet prima e ad NSFNET poi, ha creato
quella che oggi viene comunemente chiamata Internet, costituita da milioni
di host e utilizzata da decine di milioni di utenti. Internet si raddoppia
all'incirca ogni anno, ed ha suscitato grande interesse sia per i privati cittadini
che per le aziende.
Bianca Petretti - LE RETI - 2003 85
Esempi di architetture di rete:
Decnet Phase V (Digital)
Decnet Phase V è un'architettura di
rete totalmente conforme al modello
OSI.
Decnet ha costruito una piattaforma
comprendente i livelli 1, 2 e 3 del
modello OSI, sulla quale possono
appoggiarsi due diverse pile di
protocolli:
pila OSI;
pila Decnet Phase IV(proprietaria).