Bianca Petretti - Le reti
1
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).
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 puntoBianca Petretti - Le reti
3
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
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
Bianca Petretti - Le reti
5
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
7
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;
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
9
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;
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
Bianca Petretti - Le reti
11
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.
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);
Bianca Petretti - Le reti
13
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
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
15
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
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
Bianca Petretti - Le reti
17
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 universitario1973 -
Comincia lo sviluppo del TCP/IP.1982 -
Si inizia a parlare di internet come insieme di reti TCP/IP collegate fra loro1983 -
ARPANET viene divisa in parte pubblica e parte militare.1989 -
Nasce il servizio WEB presso il CERN ( Centro Europeo Ricerca fisica Nucleare).Relazione fra i livelli OSI e TCP/IP
Bianca Petretti - Le reti
19
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.
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
21
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
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 nonaffidabile, i pacchetti possono arrivare in ordine diverso o non
Bianca Petretti - Le reti
23
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
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
25
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
TCP/IP e modello OSI a confronto
Somiglianze:
sono basati entrambi sul concetto
di pila di protocolli indipendenti;
hanno funzionalità simili per i vari
Bianca Petretti - Le reti
27
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.
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;
Bianca Petretti - Le reti
29
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).
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
31
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,
Esempi di architetture di rete:
IPX/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 offre 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 mezzo (corrisponde al livello 1 OSI)
Data link (corrisponde al livello 2 OSI)
Bianca Petretti - Le reti
33
Esempi di architetture di rete:
(2)
IPX/SPX
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.
Esempi di architetture di rete:
(3)
IPSX/SPX
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 e sono formati da un N° di rete di 32 bit e da un N° di nodo di 48 bit in dot notation e in esadecimale
Bianca Petretti - Le reti
35
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
Esempi di architetture di rete:
Arpanet
(2)
Protocolli definiti per Arpanet:
Host-IMP protocol;
Bianca Petretti - Le reti
37
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.
Esempi di architetture di rete:
DECnet Phase V (DNA - DEC)
DNA
(Digital Network Architecture)
è l’architettura
di rete proprietaria della DEC.
Le realizzazioni sdelle reti DNA si chiamano
DECnet
,
mentre le versioni sono le fasi (phases).
DECnet Phase V
è una versione
totalmente conforme al
Bianca Petretti - Le reti
39
Esempi di architetture di rete:
DECnet Phase V
(2)
Decnet ha costruito una piattaforma
che comprendente i primi 3 livelli
dell’ OSI, sulla quale possono
appoggiarsi due diverse pile di
protocolli:
pila OSI;
Esempi di architetture di rete:
Reti IBM
(1)
SNA
(System Network Architecture)
è una rete
proprietaria della
IBM
. Si è diffusa verso
la fine degli anni ’70 per collegare terminali
a mainframe.
VTAM
software di rete istallato sugli host
Bianca Petretti - Le reti
41
Esempi di architetture di rete:
Reti IBM
(2)
APPN
(Advanced Peer-to-Peer Networking)
è l’altra
rete proprietaria della
IBM
per applicazioni
Client/Server
A livello di rete si usa un servizio connesso in cui
l’instradamento è stabilito al momento della creazione
della connessione ed è fisso per tutta la durata della
connessione (routing statico).
HPR
(High Performance Routing)(detta anche
APPN+
)
introdotta nel 1994 implementa invece un routing
dinamico.
Autorità per gli standard
AUTORITA’ INTERNAZIONALI
DI STANDARDIZZAZIONE
ORGANIZZAZIONI SPONTANEE ORGANIZZAZIONISTABILITE CON CONTRATTI FRA GOVERNI NAZIONALI
Bianca Petretti - Le reti
43
Autorità per gli standard (2)
Organismi più significativi per gli standard:
•
Società telefoniche
(si occupano di standard
per la telecomunicazione)
•
ITU
(International Telecomunication Union)
organismo
internazionale con il compito di standardizzare le
telecomunicazioni internazionali.
•
ISO
organizzazione volontaria delle Nazioni Unite che si
occupa di stabilire standard internazionali in ogni campo,
fuorché elettricità ed elettronica.
Autorità per gli standard (3)
Altri organismi per gli standard:
• ANSI
organizzazione privata che pubblixca standard volontari (non obbliga ad applicarli, anche sela non adesione ha conseguenze negative). E’ il rappresentante Usa dell’ISO
• UNINFO
rappresentante italiano dell’ISO• IEE
organizzazione professionale mondiale, che si ocupa anche di standard per le reti• IEC
definisce standard internazionali per il campo dell’elettronicaBianca Petretti - Le reti
45
Organismi per gli standard
per Internet
(1)
I.S. (Internet Society)
organismo che dal 1992
sovrintende alle tecnologie della rete Internet
All’interno della IS troviamo vari gruppi:
•
IAB
gruppo tecnico consultivo che stabilisce gli standard per InternetGestisce la pubblicazione degli RFC in base alle proposte di IETF e IRTF
• IETF
si occupa di progetti a durata breve o media, come Applicazioni,Gestioni di rete, Servizi di Internet, Instradamento e Sicurezza
• IRTF
si occupa di attività di ricerca a lungo termine come proposte diRFC
Gli
RFC
(request for comment)
sono documenti che
descrivono standard o proposte di standard.
Tutti gli standard vengono pubblicati dalla
IAB
sottoforma di RFC.
Chiunque può presentare una proposta di standard,
Bianca Petretti - Le reti
47
RFC (2)
Stadi del
processo di maturazione
degli RFC :
•
una proposta di RFC viene esaminata dall’IETF dopodiché
può diventare
proposed standard
o restare in uno stadio
sperimentale
•
dopo almeno 6 msi può diventare
draft standard
•
dopo altri 4 mesi almeno può diventare uno
standard
Internet
RFC (3)
“Cosa succede ai vecchi protocolli
quando subentra un nuovo standard?”
Diventano
Historical protocol
Le RFC sono identificate da un
numero
.
Gli aggiornamenti di una RFC vengono pubblicati
con un nuovo numero, mentre le RFC vecchie non
vengono segnalate.
Alcuni numeri risultano mancanti perché corrispondono a
delle RFC che rimangono non pubblicate
Bianca Petretti - Le reti 49
RFC (4)
CLASSIFICAZIONE
DELLE RFC
REQUIRED RFC
RECOMMENDED RFC
Solitamente implementate anche se non obbligatorie
Devono essere implementate da host e router su Internet