Internet Informatica 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 R1 3.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.:
DNS ‘ indica il calcolatore www che sta nel sottodominio unito del 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 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 rete Requisiti 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 HTTPS Utilizza 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): ADSL HDSL VDSL
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 ( 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
ADSL Collegamento 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