Reti di Calcolatori ed Internet. Trasferimento dell’Informazione Una rete trasporta informazioni...
-
Upload
arabella-guidi -
Category
Documents
-
view
215 -
download
0
Transcript of Reti di Calcolatori ed Internet. Trasferimento dell’Informazione Una rete trasporta informazioni...
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 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)
Stella
• 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 (inversione direzione)
- Più complesso
- Più nodi da attraversare
Anello
Topologia• Nessun nodo centrale
+ 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 contemporaneamente
- Complesso
- Più nodi da attraversareIrregolare
Bus
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
La struttura dei messaggi dipende dallo standard utilizzato ma è possibile dare una descrizione generale:
Fin
e m
essa
ggio
Car
atte
ri d
i co
ntro
llo
Dat
i da
invi
are
Des
tinat
ario
Mitt
ente
Iniz
io
mes
sagg
io
IntroduzioneParte utile del messaggio
Sequenza di controllo
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 connessioneIP: 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 Connectionless
CircuitSwitched Datagram SwitchingVirtual Circuit
Cell Switching Message SwitchingPacket Switched
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.
• 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 circuit 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)
Reti packet switching
Vantaggi e Svantaggi
Circuit Switching
informazione trasferita in maniera sicura
ritardi di trasferimento costanti e trascurabili
alta inefficienza, spreco della capacità di canale
Packet Switching la rete è utilizzata solo se c’è informazione da trasmettere
Message Switching
Cell Switching
ritardi variabili
spreco di risorse hardware
ritardi costanti
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
A B
X Y • 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
3. Livello rete Routing (instradamento)
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
6
5
4
3
2
1
Applicazione
Presentazione
Sessione
Trasporto
Rete
Data Link
Fisico
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
Trasferimento file
Gestione DataBase distribuiti
Livelli del modello ISO-OSI
7
6
5
4
3
2
1
Applicazione
Presentazione
Sessione
Trasporto
Rete
Data Link
Fisico
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)
Livelli del modello ISO-OSI
7
6
5
4
3
2
1
Applicazione
Presentazione
Sessione
Trasporto
Rete
Data Link
Fisico
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
Livelli del modello ISO-OSI
7
6
5
4
3
2
1
Applicazione
Presentazione
Sessione
Trasporto
Rete
Data Link
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
6
5
4
3
2
1
Applicazione
Presentazione
Sessione
Trasporto
Rete
Data Link
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
6
5
4
3
2
1
Applicazione
Presentazione
Sessione
Trasporto
Rete
Data Link
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
6
5
4
3
2
1
Applicazione
Presentazione
Sessione
Trasporto
Rete
Data Link
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
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
Il modello ISO-OSI
L7 L7Invia file “pippo.txt” Ricevi file
L6 L6Converti file Converti file
L5 L5Apri dialogo Chiudi dialogo
L4 L4Segmenta file Ricomponi file
L3 L3Invia msg1, msg2, … Ricevi msg1, msg2, …
L2 L2Aggiungi dati controllo Verifica messaggi
L1 L1Connessione fisica Connessione fisica
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
Mittente L6
L5
L4
L3
L2
L1
L7
L6
L5
L4
L3
L2
L1
L7
Rete fisica
Destinatario
Per es. invio filepippo.txt
Il modello ISO-OSI
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)
Trasporto
Rete
Network Access
Applicazione
Livelli del TCP/IP
TCP/IP e ISO/OSI: confronto
Trasporto
Rete
Network Access
Applicazione
7
6
5
4
3
2
1
Applicazione
Presentazione
Sessione
Trasporto
Rete
Data Link
FisicoTCP/IP
ISO/OSI
Entità del TCP/IP
Trasporto
Rete
Network Access
Applicazione HTTP-FTP-Telnet-DNS-POP3/IMAP
SMTP-BGP-SNMP-RIP-RTP
TCP-UDP
IP-ICMP
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
Trasporto
Rete
Network Access
ApplicazioneLivello 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
Trasporto
Rete
Network Access
ApplicazioneLivello 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
Trasporto
Rete
Network Access
ApplicazioneLivello 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
Panoramica sui livelli del TCP/IP
Trasporto
Rete
Network Access
ApplicazioneLivello 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 (giga-
ethernet) 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 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à
Rete logica
Cli
ent
Cli
ent
Per es. un sito Web
Server
Telefonia mobile Divisione del territorio
in celle
Ogni stazione assegnaspecifiche frequenzedi trasmissioneStazioni adiacenti gestisconolo spostamento di un utenteda una cella ad un’altraGenerazioni:
1a: TACS; analogici2a: GSM; digitali, introduzione della SIM card3a: UMTS; digitali, alta velocità multimediali
Stazione radio Stazione radio
Stazione radio
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
Centro informativobanca emittente
Centro informativobanca pagante
Banca pagante ATM Utente
Banca emittente
Emissione della carta e delcodice personale segreto
Richiesta diautorizzazione on-line.
Caso 1+2+3
Richiesta di autorizzazioneon-line. Caso 2+3
Richiesta di autorizzazioneon-line. Caso 3
Sistemi transazionali: Bancomat