Reti di Calcolatori ed Internet

annuncio pubblicitario
Reti di Calcolatori ed Internet
Trasferimento dell’Informazione



Una rete trasporta informazioni a distanza mettendo a
disposizione risorse di comunicazione
Le risorse di comunicazione sono messe a
disposizione in tutti i componenti di rete attraversati
dalla sorgente alla destinazione
Un’utilizzazione efficiente della rete richiede che la
quantità di risorse dedicata al trasporto delle
informazioni sia rapportata alle caratteristiche delle
informazioni da trasportare
Mezzi di trasmissione dati

Linea telefonica analogica (il doppino).
– Modem su linea telefonica commutata  56 kbit/s
– ISDN  128 kbit/s
– ADSL  640 kbit/s, fino ad alcuni Mbit/s

Cavo coassiale
– Su brevi distanze  107 bit/s
– Su lunghe distanze  105 bit/s


Fibra ottica  10 Gbit/s
Onde elettromagnetiche
– BlueTooth (brevissime distanze)  700 kbit/s
– WiFi (decine/centinaia di metri)  56 Mbit/s
– Via satellite
Modulazione e demodulazione




Modulazione: segnale digitale  segnale analogico
Demodulazione: segnale analogico  segnale digitale
La linea telefonica trasporta un segnale analogico (segnale
portante) che viene modulato in modo da trasportare uno 0
oppure un 1
Tecniche di modulazione del segnale portante:
– Frequenza
– Fase
– Ampiezza
Modulazione di frequenza
0
1
0
1
1
Segnale
digitale da
trasmettere
Portante
Segnale
modulato in
frequenza
Trasmissione dati



Modem: MOdulatore, DEModulatore
Linee dedicate (connessione permanente) o commutate
(connessione temporanea, es. telefono)
Linee simpex (monodirezionali), half-duplex (senso unico
alternato), full-duplex (bidirezionali)
Collegamento dei terminali
Reti di calcolatori



Le reti di calcolatori collegano elaboratori, detti “nodi
della rete”, situati ad una cerca distanza fra di loro,
fornendo a ciascuno di essi vari “servizi di rete”, ossia
funzionalità disponibili a tutti i calcolatori della rete stessa
Ogni rete è basata su di una certa topologia. Essa descrive
le modalità con le quali si scelgono i calcolatori da
connettere direttamente tra loro
Infatti, in una rete avrò:
– Calcolatori connessi direttamente
– Calcolatori che, per poter comunicare, devono far passare i
messaggi attraverso altri elaboratori
Topologia

Stella
Nodo centrale che inoltra i messaggi
+ Semplice
+ Più nodi possono comunicare contemporaneamente
- Collo di bottiglia (nodo centrale…)
- Vulnerabile ai guasti del nodo centrale e della rete
(unico collegamento)
• Nessun nodo centrale: treni di messaggi
+ Nessun collo di bottiglia
+ Più nodi possono comunicare contempor.
+ Meno vulnerabile ai guasti della rete e di altri nodi
Anello
-
(inversione direzione)
Più complesso
Più nodi da attraversare
Topologia
• Nessun nodo centrale
Bus
+ Semplice
+ Nessun nodo da attraversare
- Vulnerabile ai guasti della rete
- Solo due nodi alla volta possono comunicare
• Nessuna topologia precisa
+ Resistente ai guasti (se routing dinamico)
+ Più nodi possono comunicare
Irregolare
-
contemporaneamente
Complesso
Più nodi da attraversare
Topologia
Le topologie a stella, anello e bus sono
usate soprattutto nell’ambito delle reti locali
(LAN – Local Area Network)
 La topologia irregolare è molto diffusa tra le
reti geografiche (WAN – Wide Area
Network)

I messaggi
Le informazioni scambiate tra i nodi sono
strutturate in messaggi
 Ogni messaggio contiene i dati da comunicare
ed un certo insieme di informazioni di
controllo
 Spesso la quantità di dati (byte) che è possibile
inserire in un messaggio è fissa. Se un nodo
deve inviarne un numero maggiore, è
necessario utilizzare più messaggi

I Messaggi (o pacchetti)
Ogni pacchetto viene completato con una testata (header) che contiene la
seguenti informazioni:
Mittente:
l’indirizzo IP del computer che spedisce il pacchetto
Destinatario: l’indirizzo IP del computer a cui il pacchetto viene spedito.
Lunghezza: la lunghezza del pacchetto in byte.
Numero: il numero totale di pacchetti nel messaggio completo.
Sequenza: il numero di sequenza del pacchetto nella lista dei pacchetti del
messaggio e in numero di ECC.
Vantaggi:
 Conosciamo il numero di pacchetti ricevuti/persi
 Possiamo chiederne la ritrasmissione
 Presenza di ERROR CORRECTION CODE
Struttura dei messaggi
Sequenza di
controllo
Parte utile del
messaggio
Inizio
messaggio
Mittente
Destinatario
Dati da
inviare
Caratteri di
controllo
La struttura dei messaggi dipende dallo standard
utilizzato ma è possibile dare una descrizione
generale:
Fine
messaggio

Introduzione
Tecniche di Switching (1/2)
Orientate alla connessione: viene instaurato un collegamento fisico (link)
tra gli utenti che si scambiano l’informazione (es. rete telefonica)
Senza connessione: l’informazione è incapsulata in entità, dette
datagrammi o pacchetti, che giungeranno a destinazione attraverso
la rete ognuna con un proprio percorso (es. servizio postale)
Il protocollo TCP/IP, uno dei protocolli di rete più utilizzati, sfrutta
entrambe le configurazioni:
TCP: protocollo orientato alla connessione
IP: protocollo senza connessione
Comunicazione con Connessione
(Connection Oriented)
Strutturazione in tre fasi temporali
(instaurazione, trasferimento,
abbattimento)
 Negoziazione dei parametri di
trasferimento
 Uso di identificatori di connessione
 Garanzia ad instaurazione avvenuta del
trasferimento delle informazioni
 Rispetto della sequenza del flusso
informativo

Comunicazioni senza
Connessione (Connectionless)
Una fase temporale
 Assenza di negoziazione
 Non c’è garanzia dell’arrivo dei pacchetti
informativi
 I pacchetti informativi possono arrivare
anche in fuori sequenza

Tecniche di Switching (2/2)
Connection-Oriented
Circuit
Switched
Connectionless
Packet Switched
Cell Switching
Message Switching
Virtual Circuit
Datagram Switching
Circuit Switching: sistema orientato alla connessione in cui un circuito fisico
viene instaurato tra mittente e destinatario.
Packet Switching: l’informazione è inviata sottoforma di pacchetti. Se i
pacchetti sono instradati dalla rete l’uno indipendentemente dall’altro
(datagrams) il sistema è connection-less; viceversa se i pacchetti fanno parte
di una sequenza, la commutazione è a circuito virtuale.
Reti circuit switching
• Il servizio (chiamata) si articola in 3 fasi:
– Instaurazione
– Dati
– Svincolo
• La banda richiesta per il trasporto delle IU viene
riservata in modo esclusivo durante la fase di
instaurazione
• Svantaggio: Utilizzo inefficiente delle risorse in
presenza di sorgenti a rate fortemente variabile (bursty)
• Vantaggio: Non sono necessari meccanismi di
bufferizzazione presso i nodi di commutazione (ritardi di
accodamento nulli)
Reti packet switching
• La banda richiesta per il trasporto delle IU non viene
riservata in modo esclusivo
• La banda globalmente prenotata su un canale può
essere superiore alla capacità del canale
• Elevata Utilizzazione delle risorse
• Paradigma Store & Forward (ritardi di accodamento
non nulli)
• 2 Servizi previsti:
– A Circuito Virtuale (Connection oriented)
– A Datagramma (Connectionless)
Vantaggi e Svantaggi
informazione trasferita in maniera sicura
Circuit
Switching
ritardi di trasferimento costanti e trascurabili
alta inefficienza, spreco della capacità di canale
Packet Switching la rete è utilizzata solo se c’è informazione da trasmettere
ritardi costanti
ritardi variabili
Message
Switching
spreco di risorse
hardware
Cell
Switching
bassa complessità
inefficiente con
celle molto grandi
Datagram Switching: l’header del pacchetto deve contenere gli indirizzi del
mittente e del destinatario, le informazioni di routing ed un numero di sequenza
Virtual Circuit: maggiore efficienza dovuta alla minore dimensione dell’header
del pacchetto da trasmettere lungo il circuito virtuale instaurato
Routing
Uno dei punti chiave di una comunicazione è come far transitare i dati da
un punto all’altro della rete. La scelta del percorso da compiere è parte
dell’algoritmo di routing che caratterizza una determinata rete.
Idealmente si vorrebbe un algoritmo di routing corretto, semplice, robusto e
poco complesso in termini di risorse occupate e costi di rete.
Uno dei migliori algoritmi di routing è la scelta del percorso più breve
(shortest path) tra due nodi della rete. In termini di link, distanza, ritardi
costi di rete, non sempre il percorso più breve tra due nodi è quello
composto dal minor numero di collegamenti.
Routing e minimo percorso
Per andare da P ad A qual è il percorso
migliore?
Routing dei messaggi
• Se due nodi non sono connessi direttamente, il
messaggio dovrà attraversare nodi intermedi
• I nodi intermedi dovranno ricevere il messaggio e
rispedirlo verso un nodo a loro connesso e più
vicino alla destinazione (routing o instradamento)
• Il caso più complesso è quello di una rete con
topologia irregolare
X
A
Y
B
• Se A vuole comunicare con B, deve
passare attraverso X, oppure
attraverso X e Y
• Il nodo X deve decidere quale strada
usare (routing statico o dinamico)
Protocolli di rete



Un protocollo stabilisce le regole di comunicazione che
debbono essere seguite da due interlocutori
– A: Chiamata per B
– B: Pronto, chi parla?
– A: Sono A, sei pronto a ricevere dati?
– B: Sì
– A: Ecco i dati … bla bla bla … fine dei dati
– B: Dati ricevuti con successo
– A: Ciao
– B: Ciao
Il protocollo stabilisce cosa fare in tutte le situazioni che
possono verificarsi (errori, ecc.)
Deve essere conosciuto dai due interlocutori (quindi, deve
essere uno standard)
Un esempio….
L’esempio è tratto da libro di A. S. Tanenbaum Computer Networks.
Due biologi, uno in Svezia e uno in India, devono comunicare tra di
loro. Poiché non hanno un linguaggio in comune, ambedue assumono
un interprete, ognuno dei quali contatta a sua volta un tecnico delle
trasmissioni. Lo scienziato svedese vuole comunicare allo scienziato
indiano il suo affetto per i conigli. Per far questo passa un messaggio
(in svedese) al suo interprete, che lo traduce in “I like rabbits”.
L’interprete dà il messaggio al suo tecnico che lo trasmette mediante
telegrafo. Quando il messaggio arriva, viene tradotto in indonesiano e
passato al biologo indiano.
Un esempio….
L’esempio è tratto da libro di A. S. Tanenbaum Computer Networks.
I due biologi comunicano tra di loro, ma solo virtualmente; e così fanno
i due interpreti; i due tecnici invece comunicano fisicamente tra di loro.
La comunicazione virtuale tra i due biologi avviene in realtà scendendo
attraverso le interfacce svedesi fino al livello più basso e risalendo a
quello più alto dalla parte indiana. Ruoli importanti svolgono i protocolli
di livello e le interfacce tra livelli.
Il modello ISO-OSI

Lo standard ISO-OSI (Open System Interconnect)
include un insieme di protocolli che definiscono,
a vari livelli di dettaglio, le regole di comunicazione

E’ spesso chiamato stack (pila) ISO-OSI
7. Livello applicazione
Servizio di rete (trasferimento file, e-mail, …)
6. Livello presentazione
Conversione formati (01/12/02  12/01/02)
5. Livello sessione
Apertura e chiusura dialogo (Chiamata per B...Ciao)
4. Livello trasporto
Segmentazione dati in più messaggi
Routing (instradamento)
3. Livello rete
2. Livello collegamento dati Controllo correttezza messaggi (rispedisci se errori)
1. Livello fisico
Specifiche Hw/Sw dipositivi fisici usati per
connettere i nodi (Ethernet, cavo coassiale, …)
Modello OSI:

Ciascun strato usa il suo protocollo per
comunicare con lo strato alla pari
dell’altro sistema

Ciascun protocollo di strato scambia
informazioni chiamate PDU (Protocol
Data Units) tra strati alla pari

Il protocollo di strati alla pari usa i servizi
degli strati sottostanti
Livelli del modello ISO-OSI
7
Applicazione
6
Presentazione
5
Sessione
4
Trasporto
Livello di Applicazione:

Fornisce, tramite un processo applicativo,
l’interfaccia d’utente per l’accesso a servizi
informativi distribuiti

Esempi di servizi:
 Terminale Virtuale
 Posta Elettronica
3
Rete
2
Data Link
1
Fisico
 Trasferimento file
 Gestione DataBase distribuiti
Livelli del modello ISO-OSI
Livello di Presentazione:
 Consente l’interlavoro tra applicazioni che
rappresentano i dati utilizzando formati
diversi
 Le sue funzioni consistono nelle operazioni
di trasformazione, formattazione e modifica
della sintassi dei dati utilizzati
 La sintassi con cui avviene lo scambio dei
dati può essere quella di uno dei due sistemi
interagenti, oppure una sintassi intermedia di
trasferimento
 Esempi di funzioni:
 Compressione dei dati
 Traduzione dei codici utilizzati per
rappresentare i dati
 Transcodifica a scopi di sicurezza
(encryption)
7
Applicazione
6
Presentazione
5
Sessione
4
Trasporto
3
Rete
2
Data Link
1
Fisico
Livelli del modello ISO-OSI
Livello di Sessione:
 Gestisce il dialogo e lo scambio dati tra entità di
presentazione
 Funzione di questo tipo si rendono necessarie
in quei casi in cui le applicazioni usano diversi
modi di trasferimento delle informazioni, oppure
quando occorre partizionare in sequenze più
brevi un lungo scambio di informazioni
attraverso una rete poco affidabile
 Esempi di servizi di questo livello sono:
 Gestione Modalità Dialogo (es., un
terminale half-duplex interlavora con
un’applicazione che opera in full-duplex)
 Recupero del dialogo seguente ad
un’interruzione del servizio di trasporto
7
Applicazione
6
Presentazione
5
Sessione
4
Trasporto
3
Rete
2
Data Link
1
Fisico
Livelli del modello ISO-OSI
7
Applicazione
6
Presentazione
5
Sessione
4
Trasporto
3
Rete
2
Data Link
1
Fisico
Livello di Trasporto:
 Multiplazione (è il meccanismo per cui la
capacità disponibile di un collegamento viene
condivisa tra diversi canali trasmissivi)
 Demultiplazione
 Indirizzamento delle unità dati (indirizzo di
porta)
 Segmentazione e Riassemblaggio delle unità
dati
 Controllo di Flusso
 Controllo degli errori
Livelli del modello ISO-OSI
7
Applicazione
6
Presentazione
5
Sessione
4
Trasporto
3
Rete
2
Data Link
1
Fisico
Livello di Rete:
 Sovraintende al trasferimento di informazioni
lungo una sequenza di nodi attraverso la rete.
 Maschera al livello di trasporto la tecnica di
commutazione utilizzata.
 Funzioni:
 Instradamento
 Interlavoro tra porzioni eterogenee di
rete
 Controllo di flusso per prevenire la
congestione
 Multiplazione di più connessioni di rete
su un unico collegamento dati
Livelli del modello ISO-OSI
7
Applicazione
6
Presentazione
5
Sessione
4
Trasporto
3
Rete
2
Data Link
1
Fisico
Livello Data-link:
 Svolge la funzione di trasferimento dati privo di
errori tra due nodi adiacenti lungo un
collegamento trasmissivo. Funzionalità:
 Rivelazione errori
 Recupero frame persi
 Controllo di flusso
 Controllo di accesso al collegamento
Livelli del modello ISO-OSI
7
Applicazione
6
Presentazione
5
Sessione
4
Trasporto
3
Rete
2
Data Link
1
Fisico
Livello Fisico:
 Svolge tutte le funzioni necessarie a
interfacciare il sistema con il mezzo fisico:
 Gestione topologia
 Gestione procedure di trasmissione
 Codifica dei bit mediante segnali elettrici/ottici
Il modello ISO-OSI




Ogni livello definisce dei protocolli che
gestiscono, a quel livello di dettaglio, la
comunicazione
Ciascun livello rappresenta una macchina astratta
Ogni livello (macchina astratta) dello stack
assume di “parlare” con il medesimo livello
(macchina astratta) dell’altro nodo ed è
completamente ignaro di ciò che succede sotto di
lui
E’ un modello di riferimento, i protocolli reali
spesso implementano solo parzialmente lo stack
Il modello ISO-OSI
L6
Invia file “pippo.txt”
Converti file
L5
Apri dialogo
L4
Segmenta file
Invia msg1, msg2, …
L7
L3
L2
L1
Aggiungi dati controllo
Connessione fisica
Ricevi file
Converti file
L7
Chiudi dialogo
L5
Ricomponi file
Ricevi msg1, msg2, …
L4
Verifica messaggi
Connessione fisica
L2
L6
L3
L1
Il modello ISO-OSI


Il flusso dei dati, in realtà, “scende” lungo lo
stack del nodo mittente e “risale” lungo lo stack
del nodo destinatario
Durante la trasmissione:
– Ogni livello aggiunge informazioni o modifica quelle
provenienti dal livello superiore e le passa al livello
inferiore

Durante la ricezione:
– Ogni livello estrae le informazioni di suo interesse e
passa quelle rimanenti al livello superiore
Il modello ISO-OSI
Per es. invio file
pippo.txt
Mittente
L7
L7
L6
L6
L5
L5
L4
L4
L3
L3
L2
L2
L1
Rete fisica
L1
Destinatario
Il Modello TCP/IP


Modello a strati di riferimento per Internet
Prende il nome da due dei suoi protocolli più importanti:
– Transmission Control Protocol (TCP)
– Internet Protocol (IP)
Applicazione
Trasporto
Rete
Network Access
Livelli del TCP/IP
TCP/IP e ISO/OSI: confronto
7
Applicazione
Applicazione
6
Presentazione
Trasporto
5
Sessione
4
Trasporto
3
Rete
2
Data Link
1
Fisico
Rete
Network Access
TCP/IP
ISO/OSI
Entità del TCP/IP
Applicazione
HTTP-FTP-Telnet-DNS-POP3/IMAP
SMTP-BGP-SNMP-RIP-RTP
Trasporto
TCP-UDP
Rete
IP-ICMP
Network Access
Ethernet-IEEE 802.3-IEEE 802.5-FDDI-ISDN
Frame Relay-IEEE 802.11-SONET/SDH-PPP-HDLC
SLIP/CSLIP-xDSL
Panoramica sui livelli del TCP/IP
Applicazione
Trasporto
Rete
Network Access
Livello delle Applicazioni:
 Incorpora tutte le funzionalità dell’omonimo
livello ISO/OSI
 Ove necessario provvederà a fornire anche
servizi tipici dei livelli di sessione,
presentazione e trasporto
Panoramica sui livelli del TCP/IP
Applicazione
Trasporto
Rete
Network Access
Livello di Trasporto:
 User Datagram Protocol (UDP): fornisce un
servizio inaffidabile e non orientato alla
connessione. La sua unica funzione è quella
del multiplexing.
 Transmission Control Protocol (TCP):
fornisce un servizio affidabile e orientato alla
connessione. Funzioni:
 Controllo di Flusso
 Controllo di Congestione
 Ritrasmissione di PDU perse o corrotte
 Consegna nella corretta sequenza delle
unità dati
Panoramica sui livelli del TCP/IP
Livello di Rete:
 Internet Protocol (IP): è il collante di Internet
Offre un servizio non affidabile e non orientato
alla connessione. Funzioni:
 Instradamento
 Internet-working
 Internet Control Message Protocol (ICMP):
consente lo scambio di informazioni di servizio
tra nodi della rete
Applicazione
Trasporto
Rete
Network Access
Panoramica sui livelli del TCP/IP
Applicazione
Trasporto
Rete
Network Access
Livello di Accesso alla Rete:
 Il modello TCP/IP non pone alcun
vincolo o requisito per tale livello

Racchiude tutte le funzionalità
specifiche della particolare
tecnologia fisica utilizzata per il
trasporto delle PDU dell’IP
Un esempio di LAN: ethernet







E’ una rete a bus (ma non solo…)
Serve un’interfaccia da installare sul PC (NIC)
10 Mbit/s, 100 Mbis/s (fast-ethernet) , 1000 Mbit/s (gigaethernet)
Usa cavi a doppino, coassiali o ottici di lunghezza limitata
Solo un nodo per volta può occupare il bus e trasmettere i
dati
Un nodo non ha modo di sapere quando gli altri nodi
inizieranno a trasmettere
Se due nodi trasmettono contemporaneamente?
Si usa un protocollo detto “Carrier Sense Multiple Access /
Collision Detection” (CSMA/CD)
Ethernet: struttura a bus
Ethernet: protocollo CSMA/CD


Si pone al livello 1 dello stack ISO-OSI
I passi eseguiti dal protocollo sono:
– Ogni nodo che fa parte della rete “ascolta” (carrier
sense) per vedere se essa è libera o occupata
– Se nessuno trasmette, tutti i nodi possono iniziare una
comunicazione (multiple access): non c’è alcun nodo
privilegiato rispetto agli altri
– Se capita che più nodi inizino effettivamente a
trasmettere insieme, gli stessi si accorgono del
problema (collision detection), si fermano, aspettano
un intervallo casuale (piccolo) di tempo e ritrasmettono
il messaggio
Architettura client/server






Indica una modalità particolare di accesso alle
funzionalità offerte da una rete
E’ Indipendente dalla topologia della rete
Una macchina particolare (detta server) offre una serie di
servizi (disco condiviso, stampanti, database, ecc.) ed aspetta
richieste
Le altre macchine (dette client) utilizzano i servizi offerti dal
server
Quindi, il server generalmente si limita ad attendere che
qualcuno lo contatti. Sono sempre i client ad iniziare il dialogo
(chiedendo un certo servizio)
E’ molto usata. Anche in ambito Internet (DNS, Web,…)
Architettura client/server

Server
Client

Più client possono contattare contemporaneamente
lo stesso server
Il server gestisce una coda di richieste nella quale
accoda i messaggi provenienti dal client ed estrae
quello che, in un dato istante, elaborerà
Client
Rete logica
Per es. un sito Web
Telefonia mobile
Divisione del territorio
in celle
Ogni stazione assegna
specifiche frequenze
di trasmissione
Stazioni adiacenti gestiscono
lo spostamento di un utente
da una cella ad un’altra
Generazioni:

Stazione radio
Stazione radio
Stazione radio
1a: TACS; analogici
2a: GSM; digitali, introduzione della SIM card
3a: UMTS; digitali, alta velocità  multimediali
Sistemi transazionali





transazione applicativa: ciascuna unità di
interazione con il sistema in cui viene effettuata
un’operazione elementare
Tipicamente, sono brevi unità di esecuzione
Molto spesso, la transazione richiede anche
trasmissioni di dati (una o più transazioni ACID)
Tipicamente, si richiede che siano eseguite in tempi
brevi
Nelle applicazioni finanziarie, ciascuna transazione
informatica corrisponde a una transazione
economica  correttezza e sicurezza
Sistemi transazionali: Bancomat




Gestito dai Centri Informativi regionali delle varie banche
Coordinati dalla SIA (Società Interbancaria per
l’Automazione)
ATM (Automatic Teller Machine); carta magnetica
Tre casi di richieste di denaro:
–
–
–
Richieste provenienti da carte emesse dalla banca pagante 
verifica locale, senza scambi interbancari
Richieste provenienti da carte emesse da una banca pagante gestita
dallo stesso CI  autorizzazione da parte di quel CI
Richieste provenienti da carte emesse da una banca pagante gestita
da un diverso CI  il CI della banca emittente verifica la validità
della carta
Sistemi transazionali: Bancomat
Banca emittente
Centro informativo
banca emittente
Richiesta di autorizzazione
on-line. Caso 3
Emissione della carta e del
codice personale segreto
Centro informativo
banca pagante
Richiesta di autorizzazione
on-line. Caso 2+3
ATM
Banca pagante
Richiesta di
autorizzazione on-line.
Caso 1+2+3
Utente
Scarica