Reti di Calcolatori
Alessandro Longheu
http://www.diit.unict.it/users/alongheu
[email protected]
© 2005 – Alessandro Longheu
Struttura del corso
Introduzione
Lo strato fisico
Lo strato data link
Il sottostrato MAC (sottostrato del data link)
Lo strato network
Lo strato trasporto
Lo strato applicazione
© 2005 – Alessandro Longheu
Libro consigliato:
Reti di Calcolatori
(quarta edizione)
Andrew S. Tanenbaum
Pearson – Prentice Hall
© 2005 – Alessandro Longheu
Definizione - 1
Una Rete di Calcolatori è un insieme di elaboratori
autonomi ed interconnessi.
Autonomi: tutti hanno “pari dignità”, nessuno può
controllare gli altri
Interconnessi: tutti sono in grado di scambiarsi
informazioni
© 2005 – Alessandro Longheu
Definizione - 2
NON SONO reti di calcolatori:
Un sistema distribuito, che è una Rete di calcolatori +
Software di gestione (middleware) che presenta la rete agli
utenti come un unico sistema, assicurando coesione e
trasparenza
Internet, che è invece una rete di reti potenzialmente diverse
fra loro
Il WWW, che è invece un sistema distribuito che poggia su
Internet
© 2005 – Alessandro Longheu
Scopi di una Rete
1.
2.
3.
4.
Applicazioni aziendali
Applicazioni domestiche
Applicazioni mobili
Risvolti sociali
© 2005 – Alessandro Longheu
Applicazioni Aziendali
Scopi principali della rete in ambito aziendale:
condivisione delle risorse, di solito basata sul modello client-server
(diffuso anche in ambiti non aziendali). Risorse = programmi,
periferiche, informazioni
migliore comunicazione fra utenti (e-mail, videoconferenza)
commercio elettronico (e-commerce)
© 2005 – Alessandro Longheu
Applicazioni Domestiche - 1
1.
2.
3.
4.
Accesso a informazioni remote
Comunicazione da persona a persona
Intrattenimento interattivo
Commercio elettronico
© 2005 – Alessandro Longheu
Applicazioni Domestiche - 2
1. Accesso a informazioni remote:
quotidiani on-line (personalizzabili)
biblioteche digitali (ACM, IEEE)
© 2005 – Alessandro Longheu
Applicazioni Domestiche - 3
2. Comunicazione da persona a persona:
e-mail
instant messaging (erede del talk)
newsgroup
peer-to-peer o P2P (non ci sono client e
server predefiniti): napster, e-donkey,
kazaa, …
e-learning
© 2005 – Alessandro Longheu
Applicazioni Domestiche - 4
3. Intrattenimento interattivo:
gioco d’azzardo (problemi legislativi)
giochi collaborativi on-line
video on demand
© 2005 – Alessandro Longheu
Applicazioni Domestiche - 5
4. Commercio elettronico:
compravendita di merce nuova/usata (e-bay)
transazioni finanziarie
Sigla
Sigla per esteso
Esempio
B2C
Business-to-Consumer
Ordinare libri on-line
B2B
Business-to-Business
Ordine a fornitori
G2C
Government-to-Consumer Dichiarazione dei redditi on-line
C2C
Consumer-to-Consumer
Aste on-line
© 2005 – Alessandro Longheu
Applicazioni mobili - 1
Esempi di contesti di utilizzo:
ufficio mobile
campus universitari
aeroporti
trasporti di merci e persone (taxi)
militari
© 2005 – Alessandro Longheu
Applicazioni mobili - 2
Confronto mobilità – wireless:
Wireless Mobile Tipiche applicazioni
No
No
Stazioni di lavoro fisse
No
Si
Dispositivo portatile connesso ad una presa di rete fissa
Si
No
LAN in edifici non cablati (es. edifici storici)
Si
Si
Portatili e PDA in ambienti wireless
© 2005 – Alessandro Longheu
Applicazioni mobili - 3
Applicazioni emergenti:
gestione parchimetri
gestione distributori di cibo e bevande
telelettura contatori e rilevatori
mobile commerce (m-commerce), basato su
PDA wireless
servizi georeferenziati (GPS)
personal area network (wearable computer)
© 2005 – Alessandro Longheu
Risvolti sociali
Problema dei contenuti offensivi,
discriminatori o razziali
Responsabilità degli operatori di rete
Rischi per la libertà di comunicazione
Nessun controllo sulla veridicità delle
informazioni
Furto di identità
© 2005 – Alessandro Longheu
Aspetti tecnici delle Reti
Hardware di rete
Classificazione
LAN,MAN,WAN e Internetworking
Wireless
Reti Domestiche
Software di rete
Strati, protocolli, interfacce
Progettazione degli strati
Servizi e primitive
Relazione fra servizi e protocolli
© 2005 – Alessandro Longheu
Classificazione - 1
Classificazione delle reti :
Basata sulla tecnologia trasmissiva
la topologia della rete, e quindi le caratteristiche della
comunicazione
Basata sulla scala dimensionale
l’estensione fisica della rete, e quindi l’utilizzo della rete
© 2005 – Alessandro Longheu
Classificazione - 2
Considerando le tecnologie, esistono due principali
topologie di rete:
1. le reti broadcast: un unico canale di
comunicazione è condiviso da tutti i calcolatori
2. le reti punto-punto: ogni canale di
comunicazione collega due diversi calcolatori
della rete
In generale, per le reti piccole si utilizzano topologie
broadcast, mentre per le reti più estese si adottano
topologie punto-punto.
© 2005 – Alessandro Longheu
Classificazione - 3
Nelle reti broadcast la comunicazione è basata su
piccole sequenze di dati (pacchetti)
In ciascun pacchetto è riportato un identificatore del
calcolatore a cui i dati sono destinati.
Ogni calcolatore riceve e legge tutti i pacchetti, ma
considera solo quelli indirizzati a se stesso.
E’ generalmente possibile indirizzare un pacchetto a
tutti i calcolatori nella rete (broadcasting).
Alcune reti permettono anche il multicasting, ossia
l’invio di pacchetti ad un sottoinsieme dei calcolatori
nella rete.
© 2005 – Alessandro Longheu
Classificazione - 4
Due tipiche topologie broadcast :
bus, implementata dallo standard IEEE 802.3 (ethernet)
anello, implementata dallo standard IEEE 802.5 (token ring)
Stazione di lavoro
Server
Stazione di lavoro Stazione di lavoro
Stazione di lavoro
Server
Stampante
Stampante
Rete ad anello
Rete a Bus
Stazione di lavoro
© 2005 – Alessandro Longheu
Classificazione - 5
Nelle reti punto-punto la comunicazione è ancora basata
su piccole sequenze di dati (pacchetti).
Per arrivare alla sua destinazione, ogni pacchetto deve
attraversare più calcolatori
Sono anche dette reti store-and-forward o packetswitched (commutazione di pacchetto)
In generale esistono molti percorsi che portano alla stessa
destinazione, quindi è necessario sceglierne uno: routing
(instradamento) dei pacchetti.
© 2005 – Alessandro Longheu
Classificazione - 6
In base alla scala dimensionale, le reti si possono
classificare in:
reti locali
reti metropolitane
reti geografiche
Distanza
Ambito
Tipo di rete
1m
10 m
100 m
1 km
10 km
100 km
1000 km
10 000 km
1 mq
stanza
edificio
campus
città
nazione
continente
pianeta
rete locale personale
rete locale (LAN)
rete locale (LAN)
rete locale (LAN)
rete metropolitana (MAN)
rete geografica (WAN)
rete geografica (WAN)
rete di reti geografiche (Internet)
© 2005 – Alessandro Longheu
Reti locali
LAN (Local Area Network)
Hanno una dimensione massima prefissata
(fino a pochi chilometri), quindi si conosce il
ritardo massimo di un pacchetto
Hanno un basso tasso d’errore
Sono generalmente di tipo broadcast, con una
velocità di trasmissione da 10 Mbps a 10 Gbps.
Sono in genere basate su topologia a bus oppure
ad anello (ring)
© 2005 – Alessandro Longheu
Reti metropolitane
MAN (Metropolitan Area Network)
Hanno una dimensione ben superiore
alle LAN, coprono una intera città
Negli Stati Uniti le prime MAN sono
nate sfruttando la preesistente rete di
televisione via cavo, riadattata per
trasmissioni bidirezionali.
© 2005 – Alessandro Longheu
Reti geografiche
WAN (Wide Area Network) - 1
Possono estendersi per intere nazioni o
continenti, o su scala planetaria
Sono costituite da due componenti distinte:
un insieme di elaboratori detti host (i
calcolatori che si intendono effettivamente
collegare)
una communication subnet che connette gli
host tra di loro, costituita da:
linee di trasmissione (anche dette canali o trunk)
elementi di commutazione (anche detti switching
element o router)
© 2005 – Alessandro Longheu
Reti geografiche
WAN (Wide Area Network) - 2
Una WAN collega solitamente più LAN e
MAN tra loro
La communication subnet è in genere
realizzata con una topologia punto-punto
ROUTER
SubNet
Server
Stazione di lavoro Stazione di lavoro
Stazione di lavoro
Stampante
Server
Stazione di lavoro Stazione di lavoro
Stazione di lavoro
Stampante
Rete a Bus
LAN
Rete a Bus
LAN
© 2005 – Alessandro Longheu
Reti geografiche
WAN (Wide Area Network) - 3
Alcune communication subnet sono realizzate
con topologia wireless oppure mista (ad es.,
quando basate su trasmissioni radio o
satellitari). In tali casi possono essere in
topologia broadcast
li
Up
b
nk
m
ea
Do
Router + Antenna
Satellite
lin
wn
m
ea
kb
Router + Antenna
Router + Antenna
Router + Antenna
Router + Antenna
© 2005 – Alessandro Longheu
Internetworking
Si ha internetworking quando due o più reti (LAN,
MAN, o WAN) sono connesse tra loro.
Una internetwork (o semplicemente internet) non
coincide con una WAN quando le reti connesse
adottano tecnologie tra loro incompatibili
in questo caso la internetwork comprende alcuni router
detti gateway (o anche router multiprotocollo) che si
occupano di effettuare le necessarie trasformazioni per i
pacchetti che transitano da una rete all’altra
Internet è una particolare internetwork
© 2005 – Alessandro Longheu
Reti wireless - 1
Comunicazione con segnale radio od ottico (laser,
infrarosso) nell’etere. Generalmente con canale di
comunicazione condiviso per segnali radio, con canale
di comunicazione “punto-punto” per segnali ottici
Il tasso d’errore della trasmissione è molto alto
Usate per mobile computing e integrazione con la
telefonia cellulare e satellitare
Quasi tutte le reti wireless si interfacciano con la rete
fissa (wired) preesistente
© 2005 – Alessandro Longheu
Reti wireless - 2
Categorie di reti wireless
Connessioni all’interno di un sistema
Wireless LAN
Wireless WAN
© 2005 – Alessandro Longheu
Reti wireless - 3
Wireless Bluetooth:
poca distanza
bassa velocità
paradigma master-slave
© 2005 – Alessandro Longheu
Reti wireless - 3
Wireless LAN
uso di modem radio
stazione base o P2P
© 2005 – Alessandro Longheu
Reti wireless - 4
Wireless WAN
rete per cellulari
tre generazioni: analogica, digitale voce, digitale
voce e dati
rispetto alle wireless LAN, hanno banda ridotta
(1Mbps vs 50Mbps) ma distanze molto
maggiori (km anzichè m)
in futuro è prevista la banda larga a grandi
distanze (IEEE 802.16)
© 2005 – Alessandro Longheu
Reti domestiche - 1
Consentono il collegamento di svariati dispositivi:
Computer (desktop PC, PDA, periferiche condivise)
Intrattenimento (TV, DVD, VCR, videocamera, stereo, MP3)
Telecomunicazioni (telefoni, telefoni cellulari, citofoni, fax)
Elettrodomestici
(microonde,
frigoriferi,
orologi,
condizionatori, lampade)
Telemetria (contatori, allarmi, sistemi di sorveglianza)
© 2005 – Alessandro Longheu
Reti domestiche - 2
Una rete domestica vincente deve garantire:
facilità di installazione (no reinstallazioni frequenti)
facilità d’uso
basso prezzo
supporto per multimedialità
supporto standard (IEEE 1394 vs USB 2.0)
scalabilità (espandibilità)
sicurezza
Wireless (basso costo ma potenzialmente insicura) o wired?
© 2005 – Alessandro Longheu
Software di rete
Strati, protocolli, interfacce
Progettazione degli strati
Servizi e primitive
Relazione fra servizi e protocolli
© 2005 – Alessandro Longheu
Strati, Protocolli, Interfacce
Per
facilitare
la
progettazione,
la
verifica,
l’implementazione ed il testing, le reti sono
organizzate in livelli o strati (layers), ciascuno dei
quali è costruito sopra il precedente
Lo scopo di ogni livello è fornire servizi al livello
immediatamente superiore, nascondendo i dettagli su
come tali servizi sono implementati
Ciascun tipo di rete ha:
un diverso numero di livelli
diversi nomi e funzioni associati a ciascun livello
© 2005 – Alessandro Longheu
Strati, Protocolli, Interfacce
Location B
Location A
I like
rabbits
Message
Philosopher
J'aime
bien les
lapins
3
2
1
3
L: Dutch
Ik vind
konijnen
leuk
Fax #--L: Dutch
Ik vind
konijnen
leuk
Information
for the remote
translator
Information
for the remote
secretary
Translator
Secretary
L: Dutch
Ik vind
konijnen
leuk
Fax #--L: Dutch
Ik vind
konijnen
leuk
2
1
© 2005 – Alessandro Longheu
Strati, Protocolli, Interfacce
Host 1
Host 2
Protocollo di livello 5
Livello 5
Livello 5
Interfaccia livello 4/5
Interfaccia livello 4/5
Protocollo di livello 4
Livello 4
Livello 4
Interfaccia livello 3/4
Interfaccia livello 3/4
Protocollo di livello 3
Livello 3
Livello 3
Interfaccia livello 2/3
Interfaccia livello 2/3
Protocollo di livello 2
Livello 2
Livello 2
Interfaccia livello 1/2
Interfaccia livello 1/2
Protocollo di livello 1
Livello 1
Livello 1
Mezzo Fisico
© 2005 – Alessandro Longheu
Strati, Protocolli, Interfacce
Il livello n su un host “dialoga” con il livello n di un
altro host (solo logicamente!)
Regole e convenzioni della comunicazione a livello n
sono indicate col termine protocollo di livello n
Si determina in tal modo una gerarchia di
protocolli (protocol hierarchies)
Le entità logiche che portano avanti la
conversazione a livello n sono dette peer entity
(entità di pari livello)
Ciascuna peer entity di livello n porta avanti il
dialogo utilizzando i servizi offerti dal livello n - 1
© 2005 – Alessandro Longheu
Strati, Protocolli, Interfacce
Fra ogni coppia di livelli adiacenti c’è una interfaccia
L’interfaccia definisce:
i servizi offerti dal livello sottostante
le operazioni primitive che possono essere richieste al livello
sottostante
Analogia con i sistemi operativi: l’interfaccia tra il livello
superiore e quello inferiore è simile alle API (funzioni di
libreria e chiamate di sistema) tra i programmi
applicativi ed il sistema operativo
© 2005 – Alessandro Longheu
Strati, Protocolli, Interfacce
© 2005 – Alessandro Longheu
Strati, Protocolli, Interfacce
Una collezione di livelli e relativi protocolli è chiamata
architettura di rete
Due host possono dialogare anche se utilizzano diverse
piattaforme hardware e diversi sistemi operativi,
purchè adottino la stessa architettura di rete
L’insieme dei protocolli di una architettura utilizzati su
un certo host viene detto pila di protocolli (protocol
stack).
In generale, non è detto che ci sia un protocollo per
ogni livello.
© 2005 – Alessandro Longheu
Progettazione degli strati
Problemi da affrontare:
Addressing (indirizzamento host)
Mono- o Bi- direzionale
Numero canali logici
Error Control (perdita pacchetti)
Order Control (sequenza di pacchetti)
Flow Control (sincronizzazione host)
Fragmenting-Assembling
Multiplexing (condivisione canale)
Routing
© 2005 – Alessandro Longheu
Servizi e Primitive
Gli strati possono offrire due tipi di servizi ai livelli sovrastanti:
Connection-oriented (canale dedicato da negoziare)
Connection-less (canale non dedicato)
Per ognuno esistono diverse qualità del servizio:
orientato alla
connessione
senza
connessione
Servizio
Esempio
Flusso affidabile (conferma ricezione) di
messaggi (preserva confini)
Sequenza di pagine
Flusso affidabile di byte
Login remoto
Connessione inaffidabile (senza ritardo
dovuto alla conferma)
Voce digitalizzata
Datagram inaffidabile
e-mail spazzatura
Datagram con conferma
Posta raccomandata
Request-Reply
Interrogazione database
© 2005 – Alessandro Longheu
Servizi e Primitive
Un servizio è formalmente specificato da un
insieme di primitive, ossia le operazioni a
disposizione per accedere al servizio
Le primitive di solito sono chiamate di sistema
o funzioni del kernel
Le primitive per un servizio di tipo connectionoriented sono diverse dalle primitive per un
servizio connection-less.
© 2005 – Alessandro Longheu
Servizi e Primitive
Esempio di primitive che implementano un
servizio connection oriented
server
client
server
client
server
© 2005 – Alessandro Longheu
Servizi e Primitive
Pacchetti trasmessi in una interazione client-server
in una rete connection-oriented.
© 2005 – Alessandro Longheu
Servizi e Primitive
Le primitive per un servizio connection less
potrebbero essere soltanto due (REQUEST e
REPLY ad esempio), tuttavia nel mondo reale un
protocollo di questo tipo risulta spesso
inadeguato (errori di trasmissione, perdita
messaggi), da cui la coesistenza di entrambe le
tipologie di servizio
© 2005 – Alessandro Longheu
Relazione tra servizi e protocolli
Fissato un layer, le entità locale e remota comunicano tramite un
protocollo
La loro comunicazione consente ad entrambi di implementare il
servizio che pretendono di offrire ai livelli superiori
Mantenere separati servizio e protocollo permette la gestione
(aggiornamento, modifica) del protocollo senza impattare sul
servizio offerto
© 2005 – Alessandro Longheu
Architetture di rete - 1
Una architettura di rete può essere:
proprietaria
standard de facto
standard de iure
© 2005 – Alessandro Longheu
Architetture di rete - 2
Architetture proprietarie
Basate su scelte indipendenti ed arbitrarie di un
costruttore
Generalmente incompatibili con architetture differenti
Raramente le specifiche sono rese pubbliche
Esempi: IBM SNA (Systems Network Architecture),
Digital Decnet Phase IV, Novell IPX, Appletalk
© 2005 – Alessandro Longheu
Architetture di rete - 3
Architetture standard de facto
Basate su specifiche di pubblico dominio
Largamente adottate a livello mondiale
Esempio: Internet Protocol Suite (TCP/IP)
© 2005 – Alessandro Longheu
Architetture di rete - 4
Architetture standard de jure
Basate su specifiche pubbliche
Approvate da enti internazionali di standardizzazione
Esempi: standard IEEE 802 (LAN), architettura OSI
(Open Systems Interconnection), Decnet Phase V
© 2005 – Alessandro Longheu
Architetture di rete - 5
Considerando solo le architetture standard:
ISO Reference Model – OSI (de jure), modello valido
ma protocolli in disuso
Internet Protocol Suite – TCP/IP (de facto), modello
inesistente, ma protocolli realmente utilizzati
© 2005 – Alessandro Longheu
OSI Reference model – 1
Il modello di riferimento Open Systems
Interconnection (OSI) è stato prodotto dalla
International Standard Organization (ISO)
standard de iure per la connessione dei sistemi
aperti
modello comune per confrontare le diverse
architetture di rete
non definisce protocolli specifici (tuttavia, ISO
ha pubblicato standard separati per ogni strato)
© 2005 – Alessandro Longheu
OSI Reference model – 2
I principi guida del progetto OSI sono:
Ogni livello deve avere un diverso livello di astrazione
Ogni livello deve avere una funzione ben definita
I livelli devono essere tali da:
minimizzare il passaggio di informazioni tra i livelli
evitare troppe funzioni in un livello
evitare troppi livelli
© 2005 – Alessandro Longheu
OSI Reference model – 3
© 2005 – Alessandro Longheu
OSI Reference model – 4
Physical layer:
Ha a che fare con la trasmissione di bit “grezzi” sul
mezzo fisico:
deve fare in modo che se parte un bit “1”, arriva un bit “1”, e
non un bit “0”, e viceversa
Tipiche specifiche definite dal livello:
tensioni scelte per rappresentare 0 ed 1
durata di un bit
modalità di trasmissione simultanea
forma dei connettori
© 2005 – Alessandro Longheu
OSI Reference model – 5
Data Link Layer:
Il suo scopo principale è rilevare gli errori presenti nel mezzo
trasmissivo. Per raggiungere lo scopo:
raggruppa i bit da inviare in PDU chiamate frame (100-1000 byte) e
aggiunge delimitatori al frame (framing)
invia i frame in sequenza
Aspetta un acknowledgment frame (ack) per i frame inviati (se è
richiesto un servizio affidabile)
Gli errori possibili sono:
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)
Oltre il controllo di errore, realizza il controllo di flusso
Nelle reti broadcast, si occupa anche dell’accesso al canale
condiviso (sottostrato Medium Access Control o MAC)
© 2005 – Alessandro Longheu
OSI Reference model – 6
Network Layer:
Controlla il funzionamento della communication
subnet.
Nelle reti broadcast è molto ridotto o assente
Alcune delle sue funzioni:
routing dei pacchetti:
routing statico (fissato ogni tanto e raramente variabile)
routing dinamico (continuamente aggiornato fra un pacchetto
all’altro)
gestione della congestione della communication subnet
accounting (contabilizzazione) del traffico
conversione di dati nel passaggio fra una rete ed un’altra
(indirizzi da rimappare, pacchetti da frammentare, protocolli
diversi da gestire, . . . )
© 2005 – Alessandro Longheu
OSI Reference model – 7
Transport Layer:
Fornisce un servizio punto-punto affidabile fra due entità (isola
quindi i livelli superiori dalla tecnologia particolare della rete
sottostante). Per ottenere questo:
Frammenta i dati che arrivano dal livello superiore in pacchetti
Trasmette i dati alla peer entity finale
Utilizza connessioni di livello network:
una connessione network per una connessione transport
molte connessioni network per una conness. transport (alto
throughput)
una connessione network per molte connessioni transport
(multiplexing)
Controlla la congestione (flow control)
Offre varie tipologie di servizio (connection-oriented affidabile,
connectionless, broadcasting,. . . )
© 2005 – Alessandro Longheu
OSI Reference model – 8
Session Layer
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 del dialogo (gestione turni di trasmissione)
sincronizzazione tra applicazioni basata su token
management
frammentazione di lunghe attività (ad esempio,
trasferimento
di
file)
in
tronconi
rieseguibili
indipendentemente
© 2005 – Alessandro Longheu
OSI Reference model – 9
Presentation Layer
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, . . . ) 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 dell’host
© 2005 – Alessandro Longheu
OSI Reference model – 10
Application Layer
Fornisce tutti i protocolli utilizzati dalle
applicazioni comunemente usate dall’utente.
Ad esempio:
Posta elettronica
Terminale virtuale
Trasferimento di file
World Wide Web
…
© 2005 – Alessandro Longheu
TCP/IP – 1
Internet deriva da ARPANET, una rete geografica di
derivazione militare americana
L’obiettivo fondamentale era l’affidabilità: la rete
doveva continuare a funzionare anche se intere
porzioni di essa fossero state distrutte
Col tempo, Internet si è diffusa in tutto il mondo ed ha
acquisito la capacità di integrare reti utilizzanti ogni
tipo di tecnologia ed architettura
L’architettura di Internet è chiamata Internet
Protocol Suite, ed anche, impropriamente,
architettura TCP/IP e TCP/IP reference model
© 2005 – Alessandro Longheu
TCP/IP – 2
OSI Model
TCP/IP Model
APPLICATION
APPLICATION
PRESENTATION
SESSION
TRANSPORT
TRANSPORT
NETWORK
INTERNET
DATA LINK
HOST-TO-NETWORK
PHYSICAL
© 2005 – Alessandro Longheu
TCP/IP – 3
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
© 2005 – Alessandro Longheu
TCP/IP – 4
Livello Internet:
E’ il livello fondamentale dell’architettura:
permette agli host di inviare pacchetti su
qualunque rete e instradarli verso la loro
destinazione.
Definisce un formato standard dei pacchetti
Definisce un protocollo chiamato IP
(Internet Protocol)
Principalmente svolge compiti di routing dei
pacchetti e controllo della congestione
© 2005 – Alessandro Longheu
TCP/IP – 5
Livello Transport:
Consente la comunicazione tra le peer entity
degli host sorgente e destinazione (“end-toend”)
Sono definiti due diversi servizi, con relativi
protocolli:
un servizio connection-oriented affidabile (TCP)
un servizio connectionless non affidabile (UDP)
© 2005 – Alessandro Longheu
TCP/IP – 6
Il servizio connection-oriented è affidabile ed
è definito da un protocollo chiamato TCP
(Transmission Control Protocol)
Il servizio riceve un flusso di dati e lo
spezzetta in pacchetti, che vengono
ricomposti in ordine e senza errori dall’entità
di pari livello sull’host destinazione
Il servizio gestisce anche il controllo della
velocità di trasmissione (flow control)
© 2005 – Alessandro Longheu
TCP/IP – 7
Il servizio connectionless è non affidabile ed è
definito da un protocollo chiamato UDP
(User Datagram Protocol)
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
© 2005 – Alessandro Longheu
TCP/IP – 8
Livello Application:
Fornisce tutti i protocolli utilizzati dalle applicazioni
Poiché mancano i livelli OSI Session e Presentation, le
relative funzionalità devono essere realizzate
direttamente dalle applicazioni che le richiedono
(nessun supporto è fornito dall’architettura)
I primi servizi offerti, con relativi protocolli, erano:
terminale virtuale TELNET
trasferimento di file FTP (File Transfer Protocol)
trasferimento di messaggi UUCP (Unix to Unix Copy
Protocol)
posta elettronica SMTP (Simple Mail Transfer Protocol)
© 2005 – Alessandro Longheu
TCP/IP – 9
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 NNTP (Network News Transfer Protocol)
esecuzione remota di procedure RPC (Remote Procedure
Call)
World Wide Web HTTP (HyperText Transfer Protocol)
© 2005 – Alessandro Longheu
Confronto TCP/IP vs OSI – 1
Confronto fra i modelli e non fra i protocolli
OSI distingue fra servizi, interfacce e protocolli, TCP/IP no
OSI è stato inventato prima dei corrispondenti protocolli, il modello
TCP/IP è nato in seguito, quindi OSI è generico ma vago, TCP/IP
specifico ma non applicabile ad altre reti.
Il numero di strati è differente
OSI fornisce servizi connection-oriented e connection-less nello
strato di network, ma solo c-oriented nello strato di trasporto,
mentre TCP/IP offre solo c-less nello strato di network e sia coriented che c-less nello strato di trasporto (il più importante per le
applicazioni)
© 2005 – Alessandro Longheu
Confronto TCP/IP vs OSI – 2
Il modello OSI non ha avuto successo a causa di:
Poca tempestività (apocalisse dei due elefanti)
Tecnologia scadente (modello troppo complesso e non sempre
efficiente)
Implementazioni carenti
Incapacità politica (promosso da burocrati, odiato dai ricercatori)
© 2005 – Alessandro Longheu
Confronto TCP/IP vs OSI – 3
Il modello TCP/IP ha avuto successo, tuttavia:
Servizi, interfacce e protocolli non sono distinti
Non è un modello di validità generale
Il livello host-to-network non è ben definito
Il livello fisico e data-link non sono ben distinti
L’implementazione dei protocolli in alcuni casi
non è adeguata
© 2005 – Alessandro Longheu
Confronto TCP/IP vs OSI – 4
In conclusione:
il modello OSI è valido, i suoi protocolli no
il modello TCP/IP non è adatto, i suoi protocolli sono molto
usati
Si adotta quindi un modello ibrido:
© 2005 – Alessandro Longheu
Esempi di reti – 1
Internet
Connection-Oriented Networks:
X.25, Frame Relay, and ATM
Ethernet
Wireless LAN: 802.11
© 2005 – Alessandro Longheu
Esempi di reti – 2
Internet:
Negli anni ’50 gli USA temevano che un attacco nucleare
sovietico potesse distruggere le loro comunicazioni militari,
che poggiavano sulla rete telefonica (gerarchica e senza
ridondanza)
Il Dipartimento della Difesa (DOD) affida alla società RAND
il compito di trovare una soluzione alternativa: una rete
digitale a commutazione di pacchetto e distribuita
Il
progetto vede la luce solo dopo la costituzione
dell’Advanced Reasearch Project Agency (ARPA): nascita di
ARPANET (1969), e del TCP/IP (1974)
© 2005 – Alessandro Longheu
Esempi di reti – 3
Caratteristiche di ARPANET:
I nodi principali (Interface Message Processors) sono
minicomputer con memoria a nuclei magnetici da 12K
Gli IMP sono collegati da linee a 56 kbps
Si
usano quattro protocolli: IMP-IMP, IMP sorgentedestinazione, IMP-host, host-host
© 2005 – Alessandro Longheu
Esempi di reti – 4
Per collegarsi ad ARPANET, le università dovevano avere un
contratto con il DOD
Per ampliare le possibilità, il National Science Fundation
(NSF) crea una rete WAN aperta a tutte le università, basata
su TCP/IP: nasce NFSNET
I nodi (fuzzball) sono microcomputer collegati da linee a 56
kbps, che vennero ampliate a 448 kbps, 1.5 Mbps, 45Mbps
(1990)
Ingresso delle organizzazioni commerciali ed uscita del
governo USA dalla gestione: da NSFNET ad ANSNET (gestita
da un consorzio fra Merit, MCI ed IBM), venduta ad America
On Line (AOL) nel 1995
Reti analoghe nel resto del mondo, ad esempio EuropaNET
ed EBONE in Europa, con linee inizialmente da 2 Mbps e poi
© 2005 – Alessandro Longheu
da 34 Mbps
Esempi di reti – 5
Nel 1983, il TCP/IP divenne il protocollo ufficiale e
NFSNET ed ARPANET vennero interconnesse: nella
metà degli anni ’80 nasce il termine Internet
Un pc è “su Internet” se è in esecuzione la pila di
protocolli TCP/IP, ha un indirizzo IP, ed è in grado di
scambiare pacchetti con tutti gli altri pc
I primi usi di Internet: posta elettronica, newsgroup, login
remoto, trasferimento file
Nascita del WWW nel 1990 al CERN ad opera di Tim
Berners-Lee
© 2005 – Alessandro Longheu
Esempi di reti – 6
Architettura di Internet
© 2005 – Alessandro Longheu
Esempi di reti – 7
X-25, Frame-Relay e ATM:
Internet promuoveva i servizi senza connessione per
favorire la tolleranza ai guasti
Le società telefoniche favorivano invece le reti orientate
alla connessione per garantire una migliore qualità
(preallocazione delle risorse in fase di negoziazione del
canale) e per potere gestire la tariffazione
Internet andrà in questa direzione per migliorare I flussi
audio-video
© 2005 – Alessandro Longheu
Esempi di reti – 8
X-25, Frame-Relay
X-25 fu la prima rete dati pubblica connectionoriented, attivata negli anni ’70
l’host che desidera comunicare con un host remoto
effettua una telefonata per stabilire la connessione,
alla quale viene assegnato un numero (12 bit) che
identifica i relativi pacchetti
Negli anni ’80, x-25 fu ampiamente sostituita dal
frame-relay, che è connection-oriented ma senza
controllo di flusso o errore
Adatta per l’interconnessione di LAN, è usata ancora
oggi
© 2005 – Alessandro Longheu
Esempi di reti – 9
ATM
ATM (Asynchronous Transfer Mode) fu presentata
negli anni ’90 come una rete connection-oriented in
grado di integrare voce, video, dati fornendo elevate
prestazioni
Fu un fallimento, con cause simili a quelle del modello
OSI, tuttavia è molto usata ancora oggi dalle
compagnie telefoniche, solitamente nei circuiti di
collegamenti interni dei carrier per il trasporto di
pacchetti IP
© 2005 – Alessandro Longheu
Esempi di reti – 10
ATM
ATM opera tramite connessioni denominate circuiti virtuali
I dati sono trasmessi in unità chiamate celle, di piccole dimensioni (53 byte)
per essere inoltrate direttamente in hardware dai router e per impegnare poco
la linea
ATM prevede il multicast hardware (copia della cella su più uscite)
ATM fa viaggiare le celle con destinazione comune sullo stesso percorso. Non è
garantita la consegna ma lo è l’ordine (TCP/IP non garantisce nemmeno quello)
La velocità è di 155Mbps (per trasmettere tv ad alta definizione). Esiste anche
da 622Mbps (4 canali da 155Mbps) o superiori
© 2005 – Alessandro Longheu
Esempi di reti – 11
Modello ATM, diverso da OSI e TCP/IP
© 2005 – Alessandro Longheu
Esempi di reti – 12
Modello ATM - 2
© 2005 – Alessandro Longheu
Esempi di reti – 13
Modello ATM - 3
Tre dimensioni per diverse categorie di
utilizzatori: utenti (trasporto dati), controllo
(gestione connessione), gestione strati e
plane (coordinamento strati, allocazione
risorse)
trasmissione in pacchetti affidata al livello di
adattamento AAL: SAR per assemblare e
disassemblare pacchetti in celle, CS per
fornire servizi diversi ad applicazioni diverse
(voce, video)
© 2005 – Alessandro Longheu
Esempi di reti – 14
Ethernet:
Ethernet nacque dalla rete Hawaiiana, ALOHANET (primi anni ’70),
basata su due canali radio, upstream e downstream
Nata nel 1976, Ethernet è basata su un cavo condiviso per 256 host,
lungo fino a 2.5Km con ripetitori ogni 500m ed una banda di 2.94Mbps
Rispetto ad Alohanet, gli host ascoltano prima di trasmettere ed
interrompono e posticipano la trasmissione in caso di collisione
(protocollo Carrier sense multiple access collision detection CSMA-CD)
Nel 1983 nasce l’Ethernet standard a 10Mbps, IEEE 802.3
© 2005 – Alessandro Longheu
Esempi di reti – 15
Ethernet è de facto lo standard per le LAN, ma altre
proposte sono esistite
Token Bus (IEEE 802.4), promossa da General
Motors, basata su un unico cavo (stessa topologia
di Ethernet), ma per trasmettere occorre essere in
possesso di un pacchetto (token)
Token Ring (IEEE 802.5), promossa da IBM,
simile al token bus ma il token viene propagato
lungo la rete, e trattenuto e successivamente
rilasciato dall’host che trasmette
© 2005 – Alessandro Longheu
Esempi di reti – 16
Wireless network:
nate nella metà degli anni ’90 (IEEE 802.11), le reti
wireless consentono la connessione via radio, in
presenza di una stazione base (access point) o meno
(ad-hoc networking)
compatibile con Ethernet dal terzo livello (network)
© 2005 – Alessandro Longheu
Esempi di reti – 17
Problemi del wireless:
portata trasmettitori (non applicabile l’ascolto del canale
presente in Ethernet)
riflessione segnale radio (multipath fading)
software non progettato per la mobilità
riassociazione host – access point per host in movimento
Dopo la prima versione a 2Mbps, gli standard proposti sono:
802.11b (primo proposto), 11Mbps a 2.4Ghz
802.11a, 54Mbps a 5Ghz
802.11g, 54Mbps a 2.4Ghz
© 2005 – Alessandro Longheu
Standardizzazione delle reti – 1
Standardizzazione su tre fronti:
telecomunicazioni
standard
internet
© 2005 – Alessandro Longheu
Standardizzazione delle reti – 2
Telecomunicazioni:
situazione: da un lato gli USA, fortemente privatizzate
(AT&T), dall’altro monopoli nazionali.
Si va comunque verso la liberalizzazione del mercato,
quindi è richiesta la compatibilità
l’esigenza di compatibilità nasce già nel 1865, e portò alla
nascita dell’ITU (International Telecommunication
Union), divisa nei settori radio (ITU-R), telecomunicazioni
(ITU-T) e sviluppo (ITU-D)
L’ITU-T
è anche nota come CCITT, ed emana
raccomandazioni per telegrafia, telefonia e trasmissione
dati
© 2005 – Alessandro Longheu
Standardizzazione delle reti – 3
Standard:
ISO, nata nel 1946, che include membri come
ANSI (USA), BSI (UK), AFNOR (Francia) e
DIN (Germania)
ISO e ITU-T cooperano per gli standard in
telecomunicazioni
Altri organismi sono il NIST (National Institute
of Standards and Technology), ex National
Bureau of Standards, e l’IEEE (Institute of
Electrical and Electronics Engineers)
© 2005 – Alessandro Longheu
Standardizzazione delle reti – 4
© 2005 – Alessandro Longheu
Standardizzazione delle reti – 5
Internet:
creazione dell’Internet Activity Board (IAB)
nel 1983
Lavoro basato su rapporti tecnici noti come
Request for comments (RFC)
Nel 1989, IAB viene diviso in IRTF (Internet
Reasearch Task Force) e IETF (Internet
Engineering Task Force), che si occupano
rispettivamente di ricerca e sviluppo
© 2005 – Alessandro Longheu