Post on 02-May-2015
Internet
12-06-2008Informatica applicata B
Cristina Bosco
Modelli di sistema
Anni ‘70: sistemi time-sharing multi-utente (un solo calcolatore, molti terminali)
Anni ‘80: sistemi distribuiti (molti calcolatori collegati)
Vantaggi dei sistemi distribuiti
• Flessibilità e tolleranza ai guasti• Economicità • Eterogeneità di calcolatori e
sfruttamento delle risorse• Comunicazione con il mondo
Reti locali
Condivisione di servizi e risorse indipendente dall’hardware dei calcolatori eterogenei
Su ogni macchina l’utente trova lo stesso ambiente (programmi e dati) e non percepisce alcuna diversità
Reti locali
L’ambiente viene creato dal software di base (SO, ma apposito per sistemi distribuiti)
Inoltre si applica il modello client/server
Client/server
• I calcolatori della rete giocano ruoli diversi (rispetto a servizi e risorse)
• Ogni risorsa è collegata ad un calcolatore (server) che la gestisce
• Ogni calcolatore (client) che vuole utilizzare una risorsa deve rivolgersi al server
Client/server
• Un calcolatore può essere client e server contemporaneamente
• Per ogni servizio accessibile si deve implementare una istanza del modello client/server
• Il carico di lavoro è distribuito tra tutti i calcolatori del sistema
Client/server
• Il modello è sviluppato a livello software (software server e software client)
• I software server e client comunicano rispettando un protocollo che definisce le modalità di accesso a servizi e risorse
Reti geografiche
Sono reti in cui reti e calcolatori si collegano
Su ogni macchina l’utente può utilizzare servizi e risorse appartenenti ad altre reti
Reti geografiche
Problema: Disomogeneità delle reti collegate
(diversi tipi di calcolatori, diversi protocolli di comunicazione)
Soluzione:Internetworking (protocolli per la
comunicazione tra reti)
Internetworking
1. Connessione fisica tra il nodo A (della rete R1) e il nodo B (della rete R2) tramite router
2. Comunicazione da A al router di R13. Comunicazione dal router di R1
(tramite la rete di router) al router di R2
4. Comunicazione dal router di R2 a B
Router
Il router e’ un dispositivo che presiede all’istradamento dei pacchetti tra le varie reti
Il suo lavoro e’ coadiuvato da quello del firewall che limita le comunicazioni da e verso l’esterno sulla base di motivi di sicurezza
Internetworking
Grazie ai protocolli di internetworking l’utente immagina di essere collegato ad un’unica rete in cui tutti i calcolatori sono collegati
Internet
Internet nasce dalla prima rete (ARPAnet del Ministero della Difesa USA):
• Sistema di comunicazione per scopi militari > efficiente ed affidabile
• Massimamente tollerante ai guasti di singoli nodi > non centralizzato
IP = Internet Protocol
• Gestisce tutti gli aspetti della comunicazione a livello rete, in modo che i nodi possano comunicare
• Indipendente dai router: la comunicazione avviene qualunque sia il numero e la posizione dei router attivi
• Opera una commutazione di pacchetto: le comunicazioni sono segmentate
…
IP
…• Non orientato alla connessione: non
stabilisce connessioni dirette tra mittenti e destinatari, ne’ mantiene traccia del percorso
• Inaffidabile: non garantisce che i pacchetti arrivino a destinazione e che ci arrivino integri
IP
Per fare tutto ciò IP deve:
• Stabilire regole di indirizzamento dei nodi della rete
• Definire il formato dei pacchetti• Stabilire regole per l’istradamento
dei messaggi
IP
Regole di indirizzamento:
• Ogni nodo è identificato dalla rete X a cui appartiene e da un nome univoco in X
IP
Formato dei pacchetti:
• Ogni pacchetto P contiene una intestazione (identificativo, lunghezza, indirizzo del mittente e del destinatario, time to live, protocollo di P) e una parte dei dati
IP
Istradamento dei messggi (da parte dei router):
• Ogni volta che un router R riceve un pacchetto controlla se è destinato ad un nodo della rete di R (e lo passa alla sua rete) o no (e lo passa ad altro router)
TCP = Transmission Control Protocol
• Al di sopra di IP, crea l’ambiente virtuale in cui i nodi comunicano come se esistesse una connessione diretta
• Commutazione di circuito virtuale• Orientato alla connessione• Affidabile: messaggi con conferma
di ricezione
Protocolli applicativi
• Sopra TCP/IP rendono disponibili i sevizi di rete per l’utente
• Sono tutti basati sul modello client/server
• DNS, SMTP, FTP, Telnet, HTTP
DNS = Domain Name System
In IP ogni nodo è identificato dalla rete X a cui appartiene e da un nome univoco in X
MA un nome di nodo N in IP è una sequenza di numeri (32 bit = 4 terne) e non dà nessuna informazione sulla localizzazione di N in Internet
DNS
DNS consente di attribuire dei nomi logici ai nodi di Internet che sono più semplici da utilizzare
DNS si basa sulla nozione di dominio e di località in un dominio
DNS
I calcolatori hanno nomi logici e sono raggruppati gerarchicamente in domini che hanno nomi logici
Il nome di ogni calcolatore e dominio deve essere unico solo all’interno del dominio di appartenenza
DNS
Come il pathname di un file nel file system è una sequenza di directory separate da ‘\’Es.: C:\documenti\tesi\capitolo1\
Così l’identificativo DNS di un nodo in Internet è una sequenza di domini separati da ‘.’Es.: www.di.unito.it
DNS
‘www.di.unito.it’indica
il calcolatore wwwche sta nel sottodominio unitodel dominio it (NB: quello più a destra è il dominio
di primo livello)
DNS
Domini di primo livello, stabiliti da gestori appositi:
• Nazionali (it, fr, de, uk …) eventualmente con sottodomini
• Trans-nazionali di attività (edu, int, net, org, com, gov, mil, to, tv)
DNS
L’appartenenza di due nodi ad uno stesso dominio non corrisponde necessariamente al fatto che i due abbiano la stessa localizzazione fisica
DNS
DNS è basato sul modello client/server:
• Sui server DNS è installato un software server DNS
• Sui client DNS è installato un software client DNS
DNS
• Un nodo client DNS X della rete R vuole conoscere l’indirizzo fisico corrispondente ad un indirizzo logico
• Si rivolge al server DNS locale ad R
• Se il server DNS di R conosce l’informazione, la restituisce a X
DNS
• Altrimenti il server DNS di R diventa client di un DNS server di più alto livello
• La richiesta sale così fino al server DNS che ha l’indirizzo richiesto in uno dei suoi sottodomini, e poi ridiscende nel sottodominio stesso
• Infine l’informazione percorre il percorso inverso alla ricerca per arrivare al nodo X
DNS
• Per rendere più rapido il procedimento di ricerca dell’indirizzo, le memorie cache dei server DNS possono essere sfruttate per gli indirizzi di uso più frequente
HTTP = HyperText Transfer Protocol
Introdotto dal CERN negli anni ‘90, consente di navigare in Internet
HTTP è basato sul modello client/server:
• Sui server HTTP è installato un software server HTTP
• Sui client HTTP è installato un software client HTTP
HTTP
• Un nodo client HTTP vuole ricevere un documento ipertestuale
• Si rivolge al server HTTP• Il server HTTP fornisce il
documento richiesto oppure genera un messaggio di errore
HTTP
• La richiesta inviata dal client HTTP (= browser) specifica il documento, il browser utilizzato e il tipo di documenti che il browser può visualizzare
• La risposta del server HTTP contiene informazioni sul documento ed il documento stesso
HTTP e URL
• Il modo in cui l’utente richiede un documento (ovvero avvia la richiesta del client HTTP) è digitando un URL (uniform resource locator):
http://www.di.unito.it/bosco/lez1.html
HTTP ed altri protocolli
La prima parte di un URL serve a specificare il protocollo utilizzato per i dati (richiesti e/o ricevuti)
Questo serve perchè i browser possono essere utilizzati anche come client per altri protocolli(es. ftp o telnet)
HTTP e connessione
Ogni richiesta di documento in HTTP richiede una o più connessioni TCP
MA si possono utilizzare strategie per limitare il numero di connessioni
HTTP e connessione
• Memoria cache del browser (contiene le informazioni più richieste e/o recenti, configurabile dall’utente)
• Proxy server (funge da ponte rispetto al server, ha una grande cache e banda larga, configurabile dall’utente)
• Cookie (file che il server mette sul client per identificarlo in connessioni future, rimuovibili dall’utente)
Internet e sicurezza in reteRequisiti di connessione sicura tra A e B:• Privatezza (C diverso da A e B non
deve intercettare i dati trasmessi)• Integrità (C non deve contraffare I dati
trasmessi)• Identità di A e B (C non deve potersi
spacciare per A o B)• Non ripudiabilità degli impegni (A e B
non possono negare l’invio o ricezione di dati)
Crittografia
Si adottano pertanto tecniche che limitano l’accesso ai dati ai non autorizzati
Si utilizzano sistemi basati sulla crittografia: i dati viaggiano in forma crittografata
Crittografia
• Il mittente crittografa il messaggio, utilizzando una chiave C, prima di inviarlo e lo invia in questa forma codificata
• Il destinatario riceve il messaggio crittografato e lo decodifica usando C
Chiavi simmetriche
Se mittente e destinatario utilizzano la stessa chiave di codifica si parla di chiavi simmetriche
• Più la chiave è lunga più è sicura (128 bit)
• MA come inviare la chiave?• MA come garantire l’integrità dei
dati e l’identità del mittente?
Chiavi asimmetriche
Se mittente e destinatario dispongono di chiavi diverse, si parla di chiavi asimmetriche
• Ogni utente ha 2 chiavi, generate insieme
• Se si codifica un messaggio con una delle chiavi, lo si potrà decodificare solo con l’altra
Chiavi asimmetriche
• L’utente A genera le sue chiavi• Ne rende pubblica una (chiave
pubblica) a coloro con cui intende comunicare
• Mantiene riservata l’altra (chiave privata)
• La stessa cosa fa l’utente B
Chiavi asimmetriche
• A codifica il messaggio M con la sua chiave privata e ottiene M’
• Poi codifica M’ con la chiave pubblica di B e ottiene M’’
• Infine invia M’’• B riceve M’’ e lo decodifica con la sua
chiave privata ottenendo M’• Poi lo decodifica con la chiave
pubblica di A ottenendo M
Chiavi asimmetriche
Il mittente sa che l’unico a poter decodificare è il destinatario
Il destinatario è sicuro dell’identità del mittente
Non occorre un canale speciale per l’invio della chiave
Chiavi asimmetriche
Tutto si basa sul fatto che chiave pubblica e privata di un utente sono collegate, ma il loro collegamento è difficilissimo da ricostruire
Conoscendo una sola delle chiavi è pressochè impossibile generare l’altro in tempi ragionevoli
Certificazione
Resta il problema di certificare l’identità:
Come si fa ad essere certi del fatto che la chiave pubblica appartenga a chi dichiara di esserne proprietario?
Si ingloba la chiave pubblica nel certificato digitale rilasciato da una autorità competente
Protocolli sicuri
HTTPSUtilizza un sistema di cifratura con
chiave pubblica e privata (in modo automatico)
Vuota
Sistemi integrati per le reti
ISDN (integrated services digital network)
xDSL (digital subscriber loop):ADSLHDSLVDSL
ISDN
Servizi digitali integrati (telefonici e di rete)
Standard internazionale per rete digitale commutata (=linea telefonica)
Qualunque utente si collega per utilizzare i servizi
ISDN
(Base) Consente l’utilizzo di 2 linee telefoniche grazie all’attivazione di 3 canali (64 + 64 Kbit per dati + 16 Kbit di servizio)
Es.: si può telefonare e contemporaneamente spedire/ricevere dati e avere un avviso di chiamata
ISDN
Linea apposita digitale che utilizza un adattatore (non è propriamente un modem) detto modem ISDN
Velocità tra 115,2 Kb/sec e 128 Kb/sec
(modem analogico max 56,6 Kb/sec)
xDSL
Famiglia di tecnologie basate su dispositivi ad alta velocità per il massimo sfruttamento della banda del doppino telefonico
La banda per la voce ha larghezza max 3.3 Khz
La banda per i dati ha larghezza max 2 MHz
xDSL
Multiplexing: ogni singola linea di trasmissione è frazionata in canali distinti (256 di cui 255 dati e 1 voce)
Commutazione di pacchetto: i dati viaggiano in parallelo sui canali con massimo sfruttamento della banda
Gestione dell’interferenza: modem speciali che cercano costantemente i canali liberi da interferenza
ADSLCollegamento assimmetrico: la velocità
di download (trasmissione rete > utente) è maggiore della velocità di upload (trasmissione utente > rete)
Download: fino a 9 Mb/sec ~ 640 Kb\2 Mb/sec
Upload: fino a 640 Kb/sec ~ 128 Kb/sec
ADSL
Connessione permanente alla rete: trasmissione di dati continua perchè la connessione è sempre attiva
Adatta alla distribuzione di servizi ad alta velocità
In pratica
Per la trasmissione della voce si utilizza una limitatissima percentuale della banda
ADSL ne utilizza la maggior parte