8° Lezione

Doppino telefonico
Costituito da due o più coppie di fili di rame,
singolarmente ricoperti di materiale isolante,
intrecciati uno intorno all’altro per ridurre le
interferenze elettromagnetiche (twisted pair) e
isolati da una guaina
Poco costoso e più utilizzato per segnali sia
analogici che digitali
Cavo coassiale
Costituito da un corpo centrale conduttore, in cui si propaga il segnale da
trasmettere, una protezione isolante, una rete di sottili fili metallici
(chiamata calza) che realizza una schermatura del conduttore dalle
interferenze esterne, una guaina protettiva esterna
Calza
Isolante
Conduttore
di segnale
Guaina protettiva
Tipi:
Thin: larghezza di banda da 10 Mbps, ~3 mm di diametro
Thick: larghezza di banda fino a 200 Mbps, ~15 mm di diametro
Utilizzati nella distribuzione televisiva (TV via cavo), nelle reti telefoniche per
trasmissioni a lunga distanza e nelle reti di calcolatori (in disuso)
Fibre ottiche
Costituito da un conduttore centrale (core) di dimensioni molto sottili, un
rivestimento (cladding), con indice di rifrazione minore del core, una guaina
opaca
La trasmissione avviene in base al principio di riflessione totale: la differenza
negli indici di rifrazione tra cladding e core mantiene la luce confinata all’interno
del core
Utilizzate nelle telecomunicazioni, sulle lunghe distanze, nei collegamenti
metropolitani e nelle reti locali
Vantaggi:
-larghezza di banda molto elevata Fonte di emissione
luminosa (laser)
-ridotta attenuazione del segnale
-immunità alle interferenze elettromagnetiche
Cladding
Core
Svantaggi:
-raggio di curvatura limitato
-non ammette derivazioni o giunzioni intermedie di tratta
-necessità di conversione ottica/elettrica nei punti di collegamento
Guaina protettiva opaca
…continua…
multimodale
monomodale
Mezzi non guidati
I segnali vengono trasmessi e ricevuti mediante antenne
- l’antenna del trasmettitore irradia nello spazio onde
elettromagnetiche, che l’antenna ricevente capta
- può essere direzionale (punto-a-punto) o non direzionale
(multipunto)
Fasce dello spettro di frequenze utilizzate:
-[30 MHz, 1 GHz]:
trasmissioni non direzionali
le trasmissioni cellulari utilizzano 900 Mhz e 1800 Mhz
-[2 GHz, 40 GHz] (microonde)
trasmissioni direzionali, punto-a-punto
utilizzato anche per le comunicazioni via satellite (multipunto)
-[300 GHz, 200 THz] (infrarossi)
trasmettitore e ricevitore devono essere visibili l’uno all’altro
applicazioni locali punto-a-punto e multipunto in aree limitate
Trasmissione nelle Rete
geografiche
Rete degli
utenti
Rete di
calcolatori
IMP
IMP
Rete di
trasmissione
IMP
IMP
IMP
IMP
Rete commutata e instradamento
A
2
E
B
1
D
4
6
3
rete di trasmissione
C
5
Commutazione di circuito
Tra sorgente e destinatario viene creato un canale logico temporaneo
dedicato costituito da una successione di connessioni tra nodi della rete
in modo che ogni nodo della rete instrada i dati lungo il canale
predisposto in uscita, senza alcun ritardo
Fasi della comunicazione:
-attivazione per stabilire il cammino tra sorgente e destinatario
il trasmettitore invia una richiesta di collegamento al nodo cui è direttamente
connesso, il nodo successivo crea un collegamento a un nodo a lui
direttamente connesso e che sia su un percorso che porti al destinatario
se è stato identificato un cammino libero e se il destinatario è disponibile a
ricevere la comunicazione, viene inviato un segnale alla sorgente
-trasferimento dati
effettivo trasferimento dei dati, che possono essere in formato digitale o
analogico
i dati seguono il cammino prestabilito a loro riservato
-chiusura della comunicazione
vengono rilasciate le risorse dedicate alla trasmissione
…continua…
A
2
E
B
1
D
4
6
3
rete di trasmissione
C
5
Commutazione di pacchetto
Si basa sull’invio di pacchetti di dati di dimensioni ridotte
(qualche KB) che contengono
-dati da trasmettere
-informazioni di controllo (l’indirizzo del destinatario, il
numero progressivo, …).
I pacchetti vengono spediti uno per volta attraverso la rete e
possono essere smistati su percorsi diversi. I pacchetti
giunti al destinatario vengono ricombinati per ricomporre il
messaggio originale
Ogni nodo che riceve un pacchetto:
-lo memorizza (store),
-lo esamina per capire chi è il destinatario
-lo invia a un nodo successivo (forward)
Commutazione di circuito Vs.
Commutazione di pacchetto
•Commutazione di circuito:
-gestione di pochi utenti
-allocazione statica delle risorse
-velocità di trasferimento pari a quella più lenta
•Commutazione di pacchetto:
-maggior quantità di dati trasmessi
-gestione dinamica delle risorse: utilizzo efficiente delle linee
-ritardi nella trasmissione dei dati (attese in coda): i pacchetti che arrivano a un nodo
vengono memorizzati e accodati per essere trasmessi al più presto sulla linea di uscita
prescelta
-possibilità di perdita dei pacchetti
-ricostruzione dell’ordine dei pacchetti
-collegamento efficiente anche tra calcolatori con diverse velocità di trasmissione
-in caso di traffico elevato, il trasmettitore può comunque inviare i pacchetti al nodo
direttamente connesso, benché naturalmente il tempo di consegna aumenti
-possibilità di gestire comunicazioni a priorità diverse
Commutazione di pacchetto:
Datagrammi
Datagrammi
-i pacchetti vengono trattati in modo indipendente l’uno dall’altro (ogni
pacchetto può seguire un cammino differente)
non è garantito l’ordine di arrivo (il nodo di destinazione ricomporrà il
messaggio in base al numero progressivo contenuto all’interno del
pacchetto)
-se un pacchetto si perde nella rete il destinatario deve gestirne la
richiesta dell’eventuale ritrasmissione
…continua…
A
1
2
2
E
B
1
D
4
6
3
rete di trasmissione
C
5
Commutazione di pacchetto:
circuiti virtuali
Circuito virtuale
-prima della spedizione dei pacchetti si stabilisce un percorso tra
sorgente e destinazione (circuito virtuale)
-ogni pacchetto contiene, oltre ai dati, un identificatore del circuito
virtuale associato
-i nodi intermedi non devono prendere alcuna decisione di
instradamento sui singoli pacchetti, poiché tale decisione viene presa
una volta per tutte definendo il circuito virtuale.
…continua…
A
2
E
B
1
D
4
6
3
rete di trasmissione
C
5
DSL: Digital Subscribe Line
La tecnologia DSL sfrutta le frequenze superiori ai 25 kHz
per trasmettere i dati digitali senza interferire con la normale
operatività telefonica della linea
Si basa sul frazionamento di ogni singola linea di
trasmissione in canali distinti, a ciascuno dei quali è
assegnato un insieme di frequenze: i dati, suddivisi in
pacchetti, possono viaggiare parallelamente su vari canali
ADSL: uso del canale
Voce/Fax
Upload dati
Download dati
ADSL2+
POTS
ADSL e ADSL2
4
26
140
1100
2200
Frequenza
[kHz]
Internet Service Provider
Per ottenere un accesso ad Internet occorre rivolgersi agli Internet
Service Provider (ISP) che dispongono di connessione dedicata ad alta
velocità con altri nodi di Internet
Gli utenti sono connessi agli ISP. Le richieste di informazioni da parte
degli utenti vengono inoltrate attraverso le linee degli ISP verso gli
opportuni siti e le risposte inviate da quest'ultimi rispedite indietro fino
agli utenti
Fornitori del servizio Internet:
-contatti con gli organismi nazionali di registrazione dei nomi dei nodi e di
assegnazione degli indirizzi,
-accordi con i gestori di altri nodi della rete per il collegamento dei canali
trasmissivi dei quali bisogna pagare il costo al network provider
TCP/IP: caratteristiche
•indipendenza dal modo in cui la rete è fisicamente
realizzata
•sfruttamento al meglio delle risorse di comunicazione
disponibili
•indirizzamento efficiente e sicuro di un gran numero di
dispositivi collegati
•buona affidabilità nelle comunicazioni
•sviluppo di applicazioni e servizi di rete facilmente
utilizzabili dall’utente
•standard aperto
-le specifiche sono liberamente utilizzabili da chiunque
-rapida diffusione su piattaforme hardware e sistemi operativi diversi
TCP/IP: scopo
–IP
instradamento dei dati nella rete mediante un
indirizzamento univoco per ogni dispositivo connesso
sistema
–TCP
gestione e organizzazione della trasmissione e della sua affidabilità
di
TCP/IP: indirizzamento
indirizzamento su due livelli
–Indirizzo IP
indirizzo globale unico associato a ogni calcolatore collegato a una
sottorete utilizzato da IP per l’instradamento e la consegna dei
pacchetti
–Porta TCP
indirizzo unico all’interno dell’host che individua un processo attivo
sull’host, utilizzato da TCP per consegnare i dati al processo giusto
Livello Applicazione
HOST A
HOST B
Livello Applicazione
App. Y
App. Y
App. X
App. X
porta 1
porta 2
Punti di accesso al
servizio (porte)
Connessione logica (TCP)
Indirizzi TCP/IP
Livello TCP
Livello TCP
Livello IP
Livello IP
Indirizzo di rete
(globale)
Protocollo di accesso
alla rete 1
Livello Fisico
(collegato a rete 1)
Indirizzo del punto di
collegamento alla sottorete
Protocollo di accesso
alla rete 2
ROUTER
Livello Fisico
(collegato a rete 2)
Livello IP
Protocollo di accesso
alla rete
Rete 1
Livello Fisico
Rete 2
Da un livello all’altro: imbustamento
Dati Flusso dati proveniente
utente dall’applicazione
MAC address
destinazione,
MAC address
mittente, …
porta TCP,
Intestazione
checksum,
TCP
numero d’ordine,
indirizzo …
host
destinazione, Intestazione
IP
indirizzo host
mittente, …
Intestazione
di rete
Unità dati a livello TCP
Unità dati a livello IP
(datagramma)
Unità dati a livello rete
(frame)
Indirizzi IPv4
insieme di 4 numeri separati da punti rappresentati in 4
byte
Esempio: 193.181.31.43 =
lucilla.dsi.unifi.it =
computer.sottorete.rete.zona
strutturato in due parti:
-la prima individua la rete fisica a cui la stazione è
collegata (assegnata globalmente)
-la seconda identifica la singola stazione nell’ambito
della rete fisica (assegnata localmente)
…continua…
IANA (Internet Assigned Number Authority)
-assegna gli indirizzi IP garantendone l’univocità
salvo eccezioni in quanto indirizzi relativi
(192.168.x.y sono indirizzi relativi alla rete locale)
-delega a enti nazionali la gestione degli indirizzi
di rete nei vari Paesi
Classi di indirizzi IP
A
0
B
1
0
C
1
1
0
D
1
1
1 0
E
1
1
1
network
host
network
host
network
1
host
multicast address
reserved
Domini e sottodomini
-i nomi sono raggruppati
gerarchicamente per domini
it
unifi
dsi
lucilla
unipi
ds
luzzy
-un dominio identifica una
struttura per cui esiste un
unico
ente
delegato
all’assegnazione dei nomi
-sotto ogni dominio si trova
una gerarchia di sottodomini
per i quali enti locali sono
delegati alla gestione della
registrazione dei nodi nel
DNS
…continua…
A ogni dominio è associato a un calcolatore responsabile del dominio
c’è un computer responsabile per il dominio it;
un computer responsabile per il dominio unifi.it;
un computer responsabile per il dominio dsi.unifi.it;
un computer per lucilla.dsi.unifi.it.
Il calcolatore responsabile di un dominio mantiene un elenco dei calcolatori
responsabili dei suoi sottodomini (e ne conosce i relativi indirizzi IP)
-il calcolatore responsabile del dominio it deve sapere chi sono (qual è il loro
indirizzo IP) i calcolatori responsabili di tutti i suoi sottodomini: unifi.it, unipi.it,
miur.it, …
-il calcolatore responsabile del dominio unifi.it, deve sapere chi sono i calcolatori
responsabili di tutti i suoi sottodomini: dsi.unif.it , psico.unifi.it, … e gli IP degli host
direttamente collegati
Indirizzi numerici vs. indirizzi simbolici
Gli indirizzi IP sono machine-oriented
Esempio: 193.181.31.43
I nomi simbolici sono human-oriented
Esempio: lucilla.dsi.unifi.it
La stringa più a destra rappresenta il dominio di primo livello
-identifica la nazione di appartenenza (it, uk, fr, …)
-identifica la categoria cui appartiene la società proprietaria del calcolatore
(com, edu, org, mil …)
la seconda stringa indica il dominio di secondo livello
-sottodominio del dominio di primo livello
-usualmente individua una singola organizzazione
le stringhe successive indicano i domini di terzo livello (sottodomini dei domini di
secondo livello), quelli di quarto livello, e così via finché non si arriva a
individuare un dominio che comprende il singolo host
Indirizzi numerici vs. indirizzi simbolici
193.181.31.43
DNS
lucilla.dsi.unifi.it
Domain Name System (DNS)
-associa a ogni indirizzo IP uno o più indirizzi simbolici
-gestisce la conversione tra indirizzi simbolici e indirizzi IP
Per tradurre l’indirizzo simbolico di un calcolatore nel suo indirizzo IP si
deve interrogare il responsabile di ciascuno dei domini (di I, II, … livello)
cui quel calcolatore appartiene:
-il responsabile del dominio di I livello sa qual è il responsabile del dominio di II
livello
-il responsabile del dominio di II livello sa qual è il responsabile del dominio di
III livello
…
DNS Server
ogni dominio è associato ad un calcolatore (server DNS) che
è responsabile del dominio e che mantiene un elenco
completo delle tabelle di conversione (nome/numero) dei
calcolatori compresi nel domino, oppure dei calcolatori
responsabili dei relativi sottodomini
se un Server DNS non riesce a tradurre un particolare
indirizzo, allora invia la richiesta di traduzione ad un secondo
DNS server e così via fino a quando il compito è portato a
termine
Esempio
1.
2.
3.
4.
5.
6.
L’utente utilizza un browser per richiedere la pagina
www.google.it
Il browser richiede al DNS l’indirizzo IP del server
Il server DNS restituisce l’apposito indirizzo
Il browser richiede la pagina al server
Il server risponde con la pagina HTML
Il browser legge l’HTML e crea la grafica della pagina
che viene visualizzata
…continua…
2
Quale indirizzo ha il server?
1
www.google.it
Servizio DNS
3
Utente
Browser
173.194.35.184
4
richiesta pagina
6
Creazione grafica pagina
Server google
173.194.35.184
HTTP/TCP/IP
DNS/UDP/IP
5
Invio pagina
IPv6
Difetti dell’IP attuale
-spazio di indirizzamento limitato
-difficoltà nel garantire livelli elevati di qualità del servizio
-difficoltà nello streaming real-time
Soluzoione: IPv6
-spazio di indirizzamento più ampio (128 bit)
-rimane connectionless (ogni datagramma include un
indirizzo
di
destinazione
e
viene
instradato
indipendentemente dagli altri)
-supporto per trasmissioni audio e video real-time
-… …
Indirizzi TCP (Porta)
numero di 16 bit che specifica a quale delle 65536 porte
l’applicazione è collegata
well known ports (fino alla 1023) sono riservate a servizi diffusi e di
utilizzo generale
porta 80 è riservata al protocollo HTTP
porta 25 è riservata al protocollo SMTP
Porte dalla 1024 alla 49151 possono essere registrate ma non
riservate (viene reso pubblico il nome dell’applicazione che, di norma,
le utilizza)
Porte dalla 49152 alla 65535 sono libere (gestione di collegamenti
dinamici e/o privati)
Protocollo IP
Protocollo connectionless (non orientato alla connessione)
si occupa di identificare i percorsi e gli indirizzi dei nodi nella
rete oltre a gestire la trasmissione fra il computer che invia i
dati e quello che li riceve
-frammenta il messaggio in datagrammi
-ogni datagramma viene inviato a destinazione lungo
percorsi indipendenti
-il controllo (checksum) consente soltanto la verifica
dell’integrità dell’intestazione, ma non dei dati
Protocollo TCP
Protocollo connection oriented (orientato alla connessione):
prima di inviare dati tra due macchine è necessario effettuare
uno scambio di informazioni per accordarsi sui dati della
connessione (handshaking)
-garantisce la consegna di un messaggio completo di tutte le
sue parti e ordinato correttamente
-il controllo consente la valutazione della correttezza sia
dell’intestazione TCP che dei dati
Protocollo TCP/IP
La combinazione delle due modalità permette di ottenere
sia una buona efficienza di trasmissione che una elevata
affidabilità
OK per applicazioni client-server
KO laddove l’affidabilità non è un requisito essenziale
In questi casi TCP può essere sostituito con altri protocolli
(e.g. UDP - User Datagram Protocol)
Instradamento nella rete
Instradamento
(o
routing)
dei
pacchetti:
trovare un percorso nella rete che porti il pacchetto dal calcolatore
sorgente al calcolatore destinatario
Operazioni di instradamento:
- esaminare l’indirizzo IP del destinatario per individuare a quale rete
appartiene
- se il destinatario appartiene alla stessa rete del mittente, il messaggio gli
viene inviato direttamente (routing diretto)
- se il destinatario appartiene a una rete diversa, si cerca (in una tabella) il
router cui instradare il messaggio (routing indiretto)
Un router ha poi:
-la necessità di mantenere dati sulla topologia della rete (tabella di routing)
-la capacità di dialogare con altri router per scambiarsi dati sulla topologia
della rete e sulle relative modifiche
-la possibilità di adottare algoritmi di instradamento per selezionare la strada
migliore
-meccanismi di controllo: timeout, numero massimo di salti
Modello architetturale client/server
forma di elaborazione distribuita. Le applicazioni sono
divise in tre parti fondamentali:
presentazione
logico-funzionale (cosa fa l’applicazione)
gestione dati
Queste parti possono risiedere su due distinti moduli:
front-end (client): eseguito su un elaboratore dotato di interfaccia
grafica e in uso all’utente
back-end (server): fornisce servizi a più moduli front-end
elaborando le richieste di servizio
Per l’utente la distribuzione dell’elaborazione su una o
più macchine è assolutamente trasparente.
…continua…
client:
interfaccia
logica
gestione
-interfaccia utente
applicativa
dati
-parti applicative che integrano quelle del server
-applicativi personali
server:
-nucleo degli applicativi integrati nel client
-gestione dei dati condivisi
server
client
interfaccia
utente
infrastruttura
di rete
logica
applicativa
gestione
dati
Comunicazione tra client e server
1.il componente server viene messo in esecuzione sul calcolatore server dal gestore
del servizio, e si pone in attesa, in ascolto sulla rete
2.il componente client viene eseguito dall’utente,
3.l’utente interagisce con il client per elaborare la richiesta da inviare al server
4.il client invia la richiesta al server
5.ricevendo la richiesta, il server si attiva per elaborare i dati ricevuti e produrre una
risposta
6.il server manda la risposta al client attraverso la rete
7.ricevendo la risposta, il client ne presenta il contenuto all’utente
Internet
7
1
6
2
5
4
3
Utente
Client
Server
Architetture a più livelli
Combinazione di sottosistemi client-server
Internet
8
5
1
6
7
2
4
3
Utente
Client
Server
5 Dedicato
per
applicazioni
particolari
…continua…
•Architettura basata su un principio di deleghe successive:
-un client non è in grado di svolgere un compito applicativo e
quindi si rivolge a un server
-se tale server non è in grado di soddisfare la richiesta può a
sua volta trasformarsi in un client per rivolgersi a un secondo
server
•Svantaggio
-complessità architetturale
•Vantaggio
-specializzazione: ogni sottosistema è realizzato per svolgere
un compito particolare e deve rispettare il protocollo
applicativo con i sottosistemi delegati
…continua…
Utente
Client
Internet
Server
Dedicato per
applicazioni
particolari
DBMS
DB
File System
URL
Uniform Rsource Locator
accesso ai servizi applicativi messi a disposizione dai
server
identificazione applicativa univoca da parte dei client
consente di assegnare un metodo di accesso e un indirizzo a ogni
risorsa presente sulla rete
protocollo://host:portaTCP/risorsa
Ex.:
http://pippo.dsi.unifi.it/dida/
http://pippo.dsi.unifi.it:80/dida/calendario.htm
protocollo applicativo
adottato
indirizzo del server web
cui è inviata la richiesta
porta TCP su cui è in
esecuzione il server web
nome completo del
file richiesto
World Wide Web
Ultimo servizio nato: ideato nel 1990 al CERN di Ginevra,
esplode nel 1993 quando viene sviluppata un'interfaccia
grafica per l'accesso ai documenti presenti sul WWW
(Mosaic)
WWW è un ipertesto distribuito
-portata mondiale
-organizzazione delle informazioni in modo ipertestuale
-i link possono portare a pagine sullo stesso server o su un
altro in modo totalmente trasparente
…continua…
Ipertesto: documento testuale in formato
elettronico “non sequenziale”
Sito: insieme delle informazioni, organizzate
come un ipertesto e residenti su un
computer
Come funziona
1.il componente server (server web) viene messo in esecuzione sul calcolatore
server dal gestore del servizio (www.curioso.it), e si pone in attesa, in ascolto sulla
rete
2.il componente client (browser) viene eseguito dall’utente
3.l’utente interagisce con il client per elaborare la richiesta scrivendo nell’indirizzo
http://www.curioso.it/CoseInteressanti/BelloQuesto.txt
4.il
client
invia
la
richiesta
al
server
nella
seguente
forma
GET /CoseInteressanti/BelloQuesto.txt HTTP/1.1
Host: www.curioso.it
User-Agent:
Mozilla/5.0
(Windows
NT
5.1)
Firefox/1.5
Accept: */*
1.ricevendo la richiesta il server cerca il file richiesto
Transfer
Protocoldel tipo:
(/CoseInteressanti/BelloQuesto.txt) e, trovatolo, HyperText
produce un
messaggio
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
content-type: text/plain
content-length: 14
Saluti a tutti
2.il server manda la risposta al client attraverso la rete
7.ricevendo la risposta, il browser visualizza il contenuto del file (interprete HTML)
….continua
3. à Connessione
il client invia un richiesta di connessione al server: àConnessione
4. à Richiesta
se l connessione viene stabilita il client specifica al server il protocollo
da applicare e l’oggetto richiesto
5., 6. àRisposta
se il server riesce a soddisfare la richiesta la transazione viene
eseguita: à status line
7. à Termine
la connessione è chiusa e il browser mostra quanto ha recuperato: à
Completo
…..continua
la pagina inviata dal server è in formato
HyperText Markup Language
–file ASCII con informazioni di controllo per
l’impaginazione del testo, per la definizione dei
link, etc.
Ex.: link è formato dall’indirizzo di rete del server e
l’identificativo del file contenente la pagina associata al
link (nascosto)
<a href=“http://www.dsi.unifi.it/~elisa/informaticaABC>
Collegamento sito corso</a>
Collegamento sito corso