Reti di Calcolatori
a.a. 2005/06
Lezione 3
Reti di Calcolatori
Andrea Frosini
1
La realtà nel mondo delle reti
Esaminiamo due importanti realtà nel mondo delle reti:
• OSI Reference Model
• Internet Protocol Suite (architettura TCP/IP)
Attenzione! Un modello di riferimento non è una architettura di rete:
• il modello di riferimento definisce solo numero, relazioni e caratteristiche
funzionali dei livelli, NON definisce i protocolli effettivi
• l’architettura di rete definisce, livello per livello, i protocolli effettivi
Reti di Calcolatori
Andrea Frosini
2
Open Systems Interconnection Reference Model
L'OSI (Open Systems Interconnection) Reference Model è stato realizzato dalla ISO
(International Standard Organization). Ha lo scopo di:
- fornire uno standard de iure per la connessione di sistemi aperti, cioè in grado di
colloquiare gli uni con gli altri
- fornire una base comune per lo sviluppo di standard per l'interconnessione di
sistemi
- fornire un modello rispetto a cui confrontare le varie architetture
Reti di Calcolatori
Andrea Frosini
3
OSI: principi del progetto
1.
Ogni livello deve avere un diverso livello di astrazione
2.
Ogni livello deve avere una funzione ben definita
3.
I livelli devono essere isolati quanto più possibile
4.
La scelta dei livelli deve:
- minimizzare il passaggio delle informazioni fra livelli
- evitare troppe funzioni in un livello e troppi livelli
Reti di Calcolatori
Andrea Frosini
4
I 7 livelli OSI
Livello
Nome
Unità scambiata
7
Application
APDU
6
Presentation
PPDU
5
Session
SPDU
4
Transport
TPDU
3
Network
paccheto
2
Data link
Frame
1
Fisico
bit
Reti di Calcolatori
Andrea Frosini
5
Host1
Lv. 7
Router
Application
Router
Protocollo Application
Host2
Application
Protocollo Presentation
Lv. 6 Presentation
Presentation
Protocollo Session
Lv. 5
Session
Lv. 4
Transport
Lv. 3
Network
Network
Network
Network
Lv. 2
Data Link
Data Link
Data Link
Data Link
Lv. 1
Fisico
Fisico
Fisico
Fisico
Protocollo Transport
protocolli
host-router
Reti di Calcolatori
protocolli
router-router
Andrea Frosini
Session
Transport
protocolli
host-router
6
Flusso di dati nel modello OSI
Host1
Router
Router
Host2
Attenzione: I protocolli dei 4 livelli superiori considerano solo gli host finali
I protocolli dei 3 livelli inferiori considerano tutte le coppie di calcolatori coinvolte
Reti di Calcolatori
Andrea Frosini
7
OSI – Livello Fisico
Ha a che fare con la trasmissione di bit "grezzi" su un canale di comunicazione
Gli aspetti di progetto sono:
- volti a garantire che la comunicazione avvenga in modo corretto
(es. se viene inviato un 1, venga ricevuto 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
Si caratterizzano, tra gli altri:
- tensioni scelte per rappresentare 0 ed 1
- durata (in microsecondi) di un bit
- trasmissione simultanea in due direzioni oppure no
- forma dei connettori
Reti di Calcolatori
Andrea Frosini
8
OSI – Livello Data Link I
Il suo scopo principale è, per quanto possibile, controllare gli errori di trasmissione
ed evitare che tali errori, se riconosciuti, siano passati al livello superiore
Deve quindi:
• raggruppare i bit da inviare in PDU chiamate frame e aggiungere
delimitatori al frame (framing)
• inviare i frame in sequenza
• aspettare un acknowledgment frame (ack) per i frame inviati
Lunghezza del frame: dal centinaio al migliaio di byte (1 byte = 8 bit)
Reti di Calcolatori
Andrea Frosini
9
OSI – Livello Data Link II
Il livello deve anche:
• gestire gli errori di trasmissione:
– errori in ricezione (un frame non viene completato)
– perdita di frame (timeout per un ack)
– duplicazione di frame (dovuta a perdita di un frame di ack)
• realizzare meccanismi per l’invio dell’ ack:
– con frame separati
– con piggybacking (da pickaback, “portare sulle spalle”)
• regolare il traffico (per impedire che il ricevente sia "sommerso" di dati)
• per reti broadcast, arbitrare l’accesso al canale (sottolivello MAC)
Reti di Calcolatori
Andrea Frosini
10
OSI – Livello Network
Controlla il funzionamento della communication subnet.
Alcune delle sue funzioni:
• routing dei pacchetti:
– routing statico (fissato ogni tanto e raramente variabile)
– routing dinamico (costantemente aggiornato fra un pacchetto e l’altro)
• gestione della congestione della communication subnet (troppi pacchetti arrivano
ad un router)
• accounting (contabilizzazione) del traffico (gli operatori possono far pagare l’uso
della rete in base al traffico effettuato)
• conversione di dati nel passaggio fra due reti diverse (indirizzi da rimappare,
pacchetti da frammentare, protocolli diversi da gestire, . . . )
Reti di Calcolatori
Andrea Frosini
11
OSI – Livello Transport I
Deve
- accettare dati dal livello superiore,
- frammentarli in pacchetti
- passarli al livello network
- assicurarsi che arrivino alla peer entity finale che si trova all'altra
estremità della connessione
- fare tutto ciò efficientemente
- isolare i livelli superiori dai cambiamenti della tecnologia di rete sottostante
E’ il primo livello end-to-end, cioè le peer entity di questo livello portano avanti una
conversazione senza intermediari (senza avere cognizione dei livelli sottostanti)
Reti di Calcolatori
Andrea Frosini
12
OSI – Livello Transport II
Compiti:
- creazione di connessioni di livello network per ogni connessione di livello transport
richiesta:
- una connessione network per ciascuna connessione transport
- molte connessioni network per una singola connessione transport
- una singola connessione network per molte connessioni transport, con
meccanismi di multiplexing
- offerta di vari servizi al livello superiore:
- canale punto a punto affidabile, che consegna dati in ordine e senza errori (il
servizio più diffuso, connection oriented)
- invio di messaggi isolati, con o senza garanzia di consegna (connectionless)
Reti di Calcolatori
Andrea Frosini
13
OSI – Livello Session
Permette agli utenti su diversi calcolatori di stabilire sessioni di lavoro tra di loro
Una sessione è analoga ad una connessione transport, però può fornire servizi
supplementari quali:
• controllo della direzione del traffico
• sincronizzazione tra applicazioni sui diversi calcolatori basata su token
management
• frammentazione di lunghe attività (ad esempio, trasferimento di file) in
tronconi eseguibili indipendentemente
Reti di Calcolatori
Andrea Frosini
14
OSI – Livello Presentation
Si occupa della sintassi e della semantica delle informazioni da trasferire
Servizi tipicamente svolti:
• nell’ host di partenza, convertire tipi di dati standard (stringhe, interi …)
da una rappresentazione specifica della sua piattaforma HW in una
rappresentazione comune “on the wire”
• nell’ host di arrivo, convertire la rappresentazione “on the wire” dei tipi di
dati standard nella rappresentazione specifica della sua piattaforma HW
Reti di Calcolatori
Andrea Frosini
15
OSI – Livello Application
Fornisce tutti i protocolli utilizzati dalle applicazioni comunemente usate all’utente.
Ad esempio:
• Posta elettronica
• Terminale virtuale
• Trasferimento di file
• World Wide Web
Attraverso l’uso di questi protocolli si possono scrivere e gestire applicazioni che
offrono i servizi agli utenti finali.
Reti di Calcolatori
Andrea Frosini
16
Internet Protocol Suite
La prima rete di grandi dimensioni fu Arpanet, sviluppata nell’ambito di un progetto di
ricerca del DoD (Department of Defense) americano. Lo scopo era creare una rete
estremamente affidabile anche in caso di catastrofi (o eventi bellici) che ne
eliminassero una parte. Attraverso varie evoluzioni, ha dato origine alla attuale
“Internet”
Per integrare reti di tipo eterogeneo, si vide la necessità di una nuova architettura,
mirata fin dall'inizio a consentire l'interconnessione di molteplici reti (internetwork)
L'architettura divenne, più tardi, nota coi nomi di Internet Protocol Suite, architettura
TCP/IP e UCP/IP reference model. Non è un modello nel senso stretto del termine, e
include i protocolli specifici, descritti per mezzo di documenti detti RFC (Request For
Comments). Utilizza
- packet-switched
- connectionless per l’interconnessione delle reti
Reti di Calcolatori
Andrea Frosini
17
Livelli OSI e IPS a confronto
OSI
IPS
Application
Application
Presentation
Session
Transport
Transport
Network
Internet
Data Link
Host-to-Network
Fisico
Osserviamo ancora:
I protocolli di IPS sono specificati tramite documenti (RFC)
IPS è nata con requisiti di affidabilità e tolleranza ai guasti
Reti di Calcolatori
Andrea Frosini
18
IPS – Livello Host-to-Network
Corrisponde ai livelli Fisico e Data Link del modello OSI
L’architettura TCP/IP non specifica nulla in questo livello: deve solo garantire che
il calcolatore possa trasmettere pacchetti sulla rete
I protocolli utilizzati possono dunque variare da calcolatore a calcolatore e da rete
a rete
Reti di Calcolatori
Andrea Frosini
19
IPS – Livello Internet
Permette ad un host di iniettare pacchetti in una qualunque rete e fare il possibile
per farli viaggiare, indipendentemente gli uni dagli altri e magari per strade diverse,
fino alla destinazione, che può essere situata anche in un'altra rete
(connectionless). E' un servizio best-effort, ossia non affidabile.
connectionless + best-effort = datagram
E' definito un formato ufficiale dei pacchetti ed un protocollo, IP (Internet Protocol)
Incombenze:
- routing
- controllo congestione
Reti di Calcolatori
Andrea Frosini
20
IPS – Livello Transport I
Consente la conversazione delle peer entity (end-to-end).
Sono definiti due protocolli in questo livello:
TCP (Transmission Control Protocol):
- è un protocollo connection oriented affidabile che frammenta il flusso in
arrivo dal livello superiore in messaggi separati che vengono passati al livello
Internet.
- in arrivo, i pacchetti vengono riassemblati in ordine e senza errori in un
flusso di output per il livello superiore
- il servizio collegato gestisce anche il controllo della velocità di trasmissione
(flow control)
Reti di Calcolatori
Andrea Frosini
21
IPS – Livello Transport II
UDP (User Datagram Protocol):
- è un protocollo connectionless non affidabile
- il servizio riceve un pacchetto che invia all’entità di pari livello sull’ host
destinazione
- i pacchetti possono arrivare in ordine diverso da quello dell’invio, o non
arrivare affatto
Reti di Calcolatori
Andrea Frosini
22
IPS – Livello Application I
Non ci sono i livelli Session e Presentation (non furono ritenuti necessari; l'esperienza
col modello OSI ha mostrato che questa visione è condivisibile). Le funzionalità dei
due livelli devono essere realizzate direttamente dalle applicazioni che le richiedono
(nessun supporto è fornito dall’architettura)
Sopra il livello transport c'è direttamente il livello application, che contiene tutti i
protocolli di alto livello che vengono usati dalle applicazioni reali
I primi protocolli furono:
Terminale virtuale
Telnet
Trasferimento file
FTP
(File Transfer Protocol)
Posta elettronica
SMTP
(Simple Mail Transfer Protocol)
Reti di Calcolatori
Andrea Frosini
23
IPS – Livello Application II
Successivamente sono stati aggiunti al livello molti altri servizi, quali:
indirizzi simbolici
DNS
(Domain Name Service)
sincronizzazione temporale
NTP
(Network Time Protocol)
booting via rete
BOOTP
(BOOTstrap Protocol)
prelievo di posta elettronica
POP
(Post Office Protocol)
news (gruppi di discussione)
NNTP
(Network News Transfer Protocol)
esecuzione remota di procedure
RPC
(Remote Procedure Call)
World Wide Web
HTTP
(HyperText Transfer Protocol)
Attenzione! Questi sono servizi e protocolli, non applicazioni
Reti di Calcolatori
Andrea Frosini
24
IPS - protocolli e livelli
Application
Transport
Telnet
Ftp
Smtp
TCP
http
Nntp ecc…
UDP
Internet
IP
Host-to-Network
Standard per LAN e WAN
Reti di Calcolatori
Andrea Frosini
25
TCP vs. OSI
I due modelli si somigliano perché
• entrambi sono basati su una pila di protocolli tra loro indipendenti
• ciascun livello nei due modelli ha funzionalità simili
Il modello OSI è nato come modello di riferimento, solo più tardi è stato effettivamente
realizzata una architettura corrispondente
L’Internet Protocol Suite è nata come architettura di rete, e solo successivamente è
stata considerata come un modello di riferimento
Reti di Calcolatori
Andrea Frosini
26
Pregi e difetti di OSI
E’ un modello molto generale
I livelli non sono ben progettati:
– Session e Presentation sono praticamente inutili
– Data Link è stato sdoppiato per le reti broadcast
– funzionalità duplicate in vari livelli (ad es, gestione degli errori,
addressing, controllo del flusso …)
L’internetworking non è stato quasi considerato (si pensava a reti separate e
gestite da ciascuno stato)
A livello Transport e superiori, solo servizi connection-oriented
Reti di Calcolatori
Andrea Frosini
27
Pregi e difetti di IPS
Descrive fedelmente l’architettura TCP/IP
Non è applicabile ad altre architetture
Non vi è chiara distinzione tra servizi, interfacce e protocolli
Notevole successo commerciale (standard de facto)
A livello Network (Internet), solo un servizio connectionless
Molti protocolli del livello Application sono ormai obsoleti (ad es. TELNET)
Reti di Calcolatori
Andrea Frosini
28
Cosa considereremo?
Durante l’intero corso ci baseremo su un modello di riferimento OSI modificato e
insieme sui protocolli principali dell’architettura TCP/IP:
Application
Transport
Network
Data Link
Fisico
Reti di Calcolatori
Andrea Frosini
29
Appendice – Autorità Internazionali I
PTT (Post, Telephone and Telegraph): amministrazione nazionale che gestisce
i servizi trasmissivi (Ministero delle Poste e Telecomunicazioni)
ITU (International Telecomunication Union): organismo internazionale dell’ONU
che emette le specifiche tecniche che devono essere adottate dalle varie nazioni
per la radiofonia e la telecomunicazioni.
CCITT (Comité Consultatif International Telégraphique et Teléphonique): fino al
1993, la sezione dell’ITU concernente le telecomunicazioni. Oggi chiamata ITUTSS
(ITU - Telecommunication Standard Support), ne fanno parte i vari PTT
(ministeri delle poste e telecomunicazioni) dei paesi membri dell’ONU.
Reti di Calcolatori
Andrea Frosini
30
Appendice – Autorità Internazionali II
ISO (International Standard Organization): il principale ente di standardizzazione
internazionale.
ANSI (American National Standards Institution): rappresentante USA nell’ISO; è
una organizzazione privata senza fini di lucro.
UNINFO (UNIPREA): rappresentante italiano, per le reti, nell’ISO.
IEEE (Institute of Electrical and Electronic Engineers): organizzazione professionale
mondiale degli ingegneri elettrici ed elettronici; ha gruppi di standardizzazione
sulle reti.
Reti di Calcolatori
Andrea Frosini
31
Appendice – Autorità Internazionali III
IRTF (Internet Research Task Force): comitato rivolto agli aspetti di ricerca a lungo
termine in merito alla rete Internet.
IETF (Internet Engineering Task Force): comitato rivolto agli aspetti di
ingegnerizzazione a breve termine della rete Internet.
IAB (Internet Architecture Board): comitato che prende le decisioni finali su nuovi
standard da adottare per Internet, di solito proposti da IETF o IRTF.
Internet Society: associazione di membri interessati ad Internet, che elegge i
componenti dell’IAB.
Reti di Calcolatori
Andrea Frosini
32
Appendice – Unità di misura
Attenzione alle unità di misura: gli stessi prefissi possono indicare multipli dell’unità
diversi a seconda di ciò che stiamo considerando
velocità di una linea,
cicli di un clock … in unità
dimensione di una memoria,
di un disco, di un DB … in byte
1012
Tera
240
109
Giga
230
106
Mega
220
103
Kilo
210
100
-
20
Quindi 1KB = 1024 byte, 1 MB = 1024*1024 = 1048576 byte …
Reti di Calcolatori
Andrea Frosini
33
Scarica

Un modello di riferimento non è una architettura di rete