Elementi di Informatica e Programmazione La Rete Internet Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Che cos è Internet? Il punto di vista storico-organizzativo Risultato delle ricerche finanziate dalla DARPA (Defence Advanced Research Projects Agency) rete accademica ARPANET nel 1969 Obiettivo principale: consentire interoperabilità fra reti diverse per poter realizzare una internet (rete geografica ottenuta dal collegamento di reti più piccole) Oggi: interconnessione di più sistemi autonomi (gruppi di reti controllati da una determinata autorità amministrativa) Funzionamento/coordinamento supportato da organismi internazionali (es: ICANN assegna indirizzi IP e nomi di dominio) Docente: Daniela Fogli Daniela Fogli Elementi di Informatica e Programmazione 2 Che cos è Internet? Il punto di vista tecnico Architettura client-server Internet: sistema di reti interconnesse, organizzate in accordo ad una architettura di protocolli detta Internet Protocol Suite: - TCP o UDP a livello di trasporto - IP a livello rete - nessun vincolo sui livelli sottostanti Servizi internet realizzati mediante un insieme di protocolli standard di livello applicazione (es. HTTP): nel seguito ne esaminiamo alcuni L architettura client-server è alla base di tutti i servizi applicativi di Internet In una architettura client-server, esistono sistemi che accedono a servizi (funzionalità) forniti da altri e sistemi dedicati a fornire i servizi richiesti Si distinguono i clienti di un servizio (processi client) dai fornitori di servizi (processi server) I processi client possono usufruire dei servizi inviando una richiesta al processo server opportuno che, al termine del lavoro, rispedisce al client un messaggio di risposta Generalmente, processi server e processi client sono in esecuzione su macchine diverse collegate in rete Daniela Fogli Elementi di Informatica e Programmazione 3 Daniela Fogli Elementi di Informatica e Programmazione 4
Architettura client-server Calcolatore Server Server richiesta Server è un concetto software spesso si predispongono macchine dedicate principalmente a far girare processi server e quindi vengono denominate a loro volta macchine server risposta Server Un calcolatore server si occupa dunque di rendere disponibile uno o più servizi. Esempi di servizi offerti: file server, che consente la condivisione in rete dei documenti presenti sui dischi del server; web server, che consente l accesso alle pagine web ivi memorizzate : indirizzo IP e numero di porta assegnato dinamicamente Server: indirizzo IP statico e numero di porta standard (dipende dal protocollo, es. http ha la porta 80) Un calcolatore server è spesso un computer dotato di un processore veloce, un'elevata capacità di memoria e numerosi dischi. Inoltre, differentemente da un comune personal computer, il server ha caratteristiche specifiche di modularità (tutte le sue parti sono facilmente accessibili e smontabili, anche "a caldo") ed è in grado, grazie a un sistema di ventilazione potenziato, di rimanere acceso anche molto a lungo Daniela Fogli Elementi di Informatica e Programmazione 5 Daniela Fogli Elementi di Informatica e Programmazione 6 Il servizio di risoluzione dei nomi Domini e sotto-domini in un indirizzo simbolico Gli indirizzi IP sono difficili da utilizzare per un utente umano Un sistema di gestione degli indirizzi (Domain Name System - DNS) permette di passare da indirizzi numerici (gli indirizzi IP) a nomi (indirizzi simbolici detti indirizzi DNS) Il DNS: associa a ogni indirizzo IP uno o più indirizzi simbolici gestisce la conversione tra indirizzi simbolici e indirizzi IP Il DNS è organizzato in maniera gerarchica (domini, sottodomini, sotto-sotto-domini, ) per semplificarne l utilizzo 192.167.20.1 DNS zeus.ing.unibs.it Il numero di livelli è variabile! zeus.ing.unibs.it Dominio di primo livello (.fr per Francia,.uk per Regno Unito, oppure anche.com,.org,.edu, ) Dominio di secondo livello (università, azienda, ente ) Dominio di terzo livello (nell es. un sottodominio dell Università di Brescia) Denominazione di un host preciso Daniela Fogli Elementi di Informatica e Programmazione 7 Daniela Fogli Elementi di Informatica e Programmazione 8
Passaggio da un indirizzo simbolico a un indirizzo IP Il World Wide Web Realizzato mediante un insieme distribuito di server (DNS server): ogni server accetta richieste (indirizzi DNS) e restituisce ind. IP se un server non conosce un indirizzo, può agire da client e inviare richieste di traduzione ad altri server A ogni dominio è associato un calcolatore responsabile del dominio. Ad es. dato l indirizzo zeus.ing.unibs.it: c è un computer responsabile per il dominio it; un computer per il dominio unibs.it; un computer per il dominio ing.unibs.it. Il calcolatore responsabile di un dominio mantiene un elenco dei calcolatori responsabili dei suoi sottodomini (e ne conosce i relativi indirizzi IP) Per es. il calcolatore responsabile del dominio unibs.it deve sapere chi sono i calcolatori responsabili di tutti i suoi sottodomini, tra cui ing.unibs.it, med.unibs.it, eco.unibs.it, Daniela Fogli Elementi di Informatica e Programmazione 9 WWW: spazio informativo di risorse distribuite nei nodi della rete, dette pagine web tipicamente scritte nel linguaggio HTML (HyperText Markup Language linguaggio di marcatura di ipertesti) Architettura client-server alla base del servizio www: Il client è il navigatore web (il web browser): applicazione che interpreta un linguaggio HTML e interagisce con l utente Il server si chiama web server (e.g. Apache, attualmente il più diffuso, distribuito gratuitamente in modalità open source) rende disponibili pagine web a richiesta e server interagiscono attraverso il protocollo di livello applicazione HTTP (HyperText Transfer Protocol) Le pagine sono identificate mediante indirizzi detti URL (Universal resource locator) I tre standard principali del web: URL, HTML, HTTP Daniela Fogli Elementi di Informatica e Programmazione 10 URL e HTML Un semplice esempio di documento HTML URL <protocollo>://<server>/<risorsa> Esempio: http://www.unibs.it/on-line/ing/home/calendarieorari.html HTML Un file HTML è un file di testo che, oltre a contenere il testo vero e proprio che deve essere visualizzato, contiene anche le istruzioni per Formattazione Impaginazione Inclusione di immagini e altri oggetti multimediali Le istruzioni sono dette markup (o tag etichette) <html> <head> <title> Pagina di prova </title> </head> <body> <p> Corpo della pagina </p> Esempio di collegamento ipertestuale: <a href="http://www.unibs.it/index.html> Sito web dell Università degli Studi di Brescia </a> </body> </html> Daniela Fogli Elementi di Informatica e Programmazione 11 Daniela Fogli Elementi di Informatica e Programmazione 12
Iter di una richiesta di una pagina web Web Browser e Web Server La richiesta parte dalla barra degli indirizzi del browser dell utente Ad es. l utente scrive http://www.ing.unibs.it Il browser stabilisce con il web server una connessione TCP (tipicamente sulla porta 80) ed invia un messaggio di richiesta di una pagina web, indicandone il nome completo (quello digitato dall utente) Il web server restituisce un messaggio di risposta con un codice che indica se la richiesta è soddisfatta + la pagina web Il browser riceve la risposta su una porta TCP da esso attivata all atto della richiesta La pagina web ricevuta (che è un documento HTML) viene interpretata dal browser, che restituisce una presentazione grafica del contenuto all utente Il web browser è un applicazione client che: è in grado di interagire con il web server via HTTP è in grado di interpretare HTML (e visualizzare pagine web) interagisce con l utente (e ne rileva le azioni) Il web server è un applicazione server che: accetta una richiesta di connessione TCP da un client riceve una richiesta con il nome della pagina e restituisce come risposta la pagina stessa Daniela Fogli Elementi di Informatica e Programmazione 13 Daniela Fogli Elementi di Informatica e Programmazione 14 La posta elettronica La posta elettronica E un altro servizio applicativo su Internet server SMTP server SMTP Ogni utente è identificato da un indirizzo: nome-utente@nome-dominio (nome-dominio è un dominio DNS) coda dei messaggi in partenza SMTP coda dei messaggi in partenza Per accedere al servizio un utente utilizza un programma detto client di posta (es. Outlook, Eudora) porta 25 porta 25 Il trasferimento dei messaggi viene realizzato tramite applicazioni sempre attive dette server di trasferimento (detti anche server SMTP) SMTP casella di posta messaggi in arrivo casella di posta messaggi in arrivo Ad ogni dominio di posta elettronica (es. ing.unibs.it) è associato un server di trasferimento che dispone di una casella di posta per ciascun utente del dominio client di posta mittente destinatario client di posta porta 110 o 143 POP3 o IMAP Daniela Fogli Elementi di Informatica e Programmazione 15 Daniela Fogli Elementi di Informatica e Programmazione 16
La posta elettronica (spedizione) La posta elettronica (ricezione) Il server di trasferimento consente ad un applicazione client (es. Eudora) che si colleghi ad esso tramite una connessione TCP sulla porta 25, di spedire email utilizzando il protocollo SMTP (Simple Mail Transfer Protocol) Il server di trasferimento può: Memorizzare la email nella casella di posta se il dominio del destinatario corrisponde a quello gestito dal server Spedire la email al server del dominio di destinazione attraverso SMTP in caso contrario Una volta che il messaggio di posta elettronica è arrivato ed è stato memorizzato nella casella di posta appropriata, il messaggio può essere reperito dal client del destinatario attraverso l accesso ad un server per la consegna all utente finale Tale server conosce nome utente e password di coloro che sono autorizzati a ricevere email L accesso al server per la consegna all utente finale può avvenire con uno dei protocolli seguenti: POP3 (Post Office Protocol) sulla porta 110 IMAP (Internet Mail Access Protocol) sulla porta 143 Daniela Fogli Elementi di Informatica e Programmazione 17 Daniela Fogli Elementi di Informatica e Programmazione 18 Altre applicazioni su Internet Altre applicazioni su Internet (cont.) Trasferimento di file: un file può essere posto in un opportuna area di memoria di un server, dal quale può essere reperito utilizzando il protocollo FTP (File Transfer Protocol) Sul server deve essere in esecuzione un FTP server Sul client, un FTP client (e.g. FileZilla, SmartFTP); si può usare anche il browser (ftp:// al posto di http://) Scambio di file basato su modello peer-to-peer: Prevede connessione diretta tra sistemi coinvolti (non più server e client ) Alcuni software che realizzano questo modello: Naptster, Gnutella, BitTorrent, Kazaa, LimeWare, Sistemi di messaggistica instantanea: Applicazione che permette a due persone di comunicare tra loro in maniera sincrona ( chat = chiacchierata) Non esiste uno standard, esempi di sistemi: MSN Messenger, Yahoo! Messenger, Servizio telefonico su Internet: Servizio noto come VoIP (Voice over IP) Consentono fra l altro scambio di file in parallelo a conversazione vocale e audio/video conferenze Basso costo, ma problemi di affidabilità e qualità servizio (anche se stanno migliorando velocemente ) Esempio: Skype Daniela Fogli Elementi di Informatica e Programmazione 19 Daniela Fogli Elementi di Informatica e Programmazione 20
Sicurezza informatica (cenni) Alcune minacce alla sicurezza Alcuni aspetti del problema della sicurezza: Disponibilità delle informazioni (nel momento e in tutto il periodo in cui servono) Integrità delle informazioni (no alterazione durante la trasmissione, elaborazione, memorizzazione) Riservatezza delle informazioni (accessibilità solo a soggetti autorizzati) Codice maligno (malware) (es. Virus, Cavalli di Troia, Worm) Violazione della riservatezza Attacchi per sovraccaricare i sistemi della rete ( denial of service) Intrusione in reti private per accedere ad informazioni riservate o effettuare elaborazioni non consentite Daniela Fogli Elementi di Informatica e Programmazione 21 Daniela Fogli Elementi di Informatica e Programmazione 22 Alcuni rimedi E infine Controllo degli accessi (password ma non solo ) Firewall (filtro dei messaggi che non rispettano determinate caratteristiche) Antivirus Crittografia Qualche consiglio: evitare di eseguire macro e applicazioni di provenienza sconosciuta evitare di scaricare programmi da siti poco raccomandabili immettere il numero della carta di credito solo se la connessione è sicura (ad es. usa il protocollo https) Non farsi sorprendere dal terrorismo psicologico : Esempio: arriva un messaggio che dice se nella tua macchina è presente il file sulfnbk.exe significa che hai un virus: cancellalo immediatamente! e invece era un importante file del sistema operativo Daniela Fogli Elementi di Informatica e Programmazione 23 Daniela Fogli Elementi di Informatica e Programmazione 24