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 (ruolo attivo) al processo server opportuno che, al termine del lavoro, rispedisce al client un messaggio di risposta (ruolo passivo) 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://eracle.ing.unibs.it/fogli/elementi-info/lucidi_lezioni.htm 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://eracle.ing.unibs.it/fogli/elementi-info/index.htm"> Corso di Elementi di Informatica e Programmazione </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 Un breve glossario per gli utenti del Web Un breve glossario (cont.) Sito web: un insieme di pagine correlate e appartenenti alla stessa organizzazione Applicazione web: sito che offre servizi (contrapposto a siti che offrono solo informazioni). Es. siti per la gestione della posta elettronica, siti per la gestione delle pratiche bancarie, Motore di ricerca: sito che consente di specificare delle interrogazioni e fornisce elenchi di riferimenti di documenti che potenzialmente sono pertinenti rispetto alle interrogazioni (web crawler o spider) Portale: sito che offre servizi e informazioni, e eventualmente un motore di ricerca. Prevede spesso la possibilità di registrarsi e di definirsi un proprio profilo di utilizzo. Mediante il profilo un utente può personalizzare la fruizione dei servizi e delle informazioni offerte dal portale Cookie: frammento di testo inviato da un Web server ad un Web client e poi rimandato indietro dal client al server ogni volta che il client accede allo stesso server. Usati per eseguire autenticazioni e tracking di sessioni e memorizzare informazioni specifiche riguardanti gli utenti che accedono al server (e.g. i siti preferiti o, in caso di acquisti on-line, il contenuto dei loro carrelli della spesa) Wiki: sito che può essere modificato o aggiornato dai suoi utilizzatori e i cui contenuti sono sviluppati in collaborazione da tutti coloro che vi hanno accesso (e.g. Wikipedia) Web 2.0: l'insieme di tutte quelle applicazioni online che permettono uno spiccato livello di interazione sito-utente (blog, forum, chat, sistemi quali Wikipedia, Youtube, Facebook, Myspace, Twitter, ) Daniela Fogli Elementi di Informatica e Programmazione 15 Daniela Fogli Elementi di Informatica e Programmazione 16
Un breve glossario (cont.) La posta elettronica Spesso si usa il prefisso e- (electronic) per indicare: Sito di e-commerce: sito per la commercializzazione di beni e servizi Sito di e-learning: sito per l istruzione e l apprendimento; forniscono servizi, strumenti, materiali, corsi a distanza (anche solo di supporto a percorsi didattici tradizionali) Sito di e-government: portale che consente ai cittadini accesso ai servizi e alle informazioni della Pubblica Amministrazione Sito di e-democracy: sito che permette ai cittadini di partecipare alle scelte politiche delle istituzioni democratiche di qualsiasi livello (locale, nazionale, internazionale) E un altro servizio applicativo su Internet Ogni utente è identificato da un indirizzo: nome-utente@nome-dominio (nome-dominio è un dominio DNS) Per accedere al servizio un utente utilizza un programma detto client di posta (es. Outlook, Eudora) Il trasferimento dei messaggi viene realizzato tramite applicazioni sempre attive dette server di trasferimento (detti anche server SMTP) 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 Daniela Fogli Elementi di Informatica e Programmazione 17 Daniela Fogli Elementi di Informatica e Programmazione 18 La posta elettronica La posta elettronica (spedizione) server SMTP coda dei messaggi in partenza SMTP porta 25 SMTP casella di posta messaggi in arrivo server SMTP coda dei messaggi in partenza porta 25 casella di posta messaggi in arrivo porta 110 o 143 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) client di posta mittente destinatario client di posta POP3 o IMAP Daniela Fogli Elementi di Informatica e Programmazione 19 Daniela Fogli Elementi di Informatica e Programmazione 20
La posta elettronica (ricezione) Altre applicazioni su Internet 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 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, Daniela Fogli Elementi di Informatica e Programmazione 21 Daniela Fogli Elementi di Informatica e Programmazione 22 Altre applicazioni su Internet (cont.) Sicurezza informatica (cenni) 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 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) Daniela Fogli Elementi di Informatica e Programmazione 23 Daniela Fogli Elementi di Informatica e Programmazione 24
Alcune minacce alla sicurezza Alcuni rimedi 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 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) Daniela Fogli Elementi di Informatica e Programmazione 25 Daniela Fogli Elementi di Informatica e Programmazione 26 E infine 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 27