Reti di Calcolatori Dipartimento di Ingegneria dell Informazione 1 Internet Un sistema di comunicazione che offre un servizio universale: permette a due calcolatori qualunque di comunicare indipendemente dalla rete fisica a cui sono effettivamente collegati Dipartimento di Ingegneria dell Informazione 2
! Reti per le aziende Utilizzo delle Reti di Calcolatori Condivisione di risorse (programmi, attrezzature, dati, ) Risparmio di denaro (minori spostamenti, maggiore efficienza, ) Alta affidabilita (replicazione dei dati)! Reti per le persone Accesso a informazioni remote (servizi finanziari, giornali online, ) Comunicazioni interpersonali (e-mail, videoconferenza, ) Intrattenimento (giochi, video on-demand, ) Dipartimento di Ingegneria dell Informazione 3 Modello Client-Server Richiesta di Servizio Il client richiede un servizio Client Server Il server offre un servizio Risultati I programmi Client e Server sono eseguiti su due macchine diverse La comunicazione avviene attraverso la rete Dipartimento di Ingegneria dell Informazione 4
Comunicazione Client-Server client server Sistema Operativo Hardware Sistema Operativo Hardware Internet Dipartimento di Ingegneria dell Informazione 5 Modalità Datagramma client server Modalità datagramma (connectionless) Modello: Sistema Postale Ogni messaggio contiene l indirizzo del mittente e del destinatario Messaggi diversi possono seguire percorsi diversi Nessuna garanzia sulla consegna, sui duplicati e sull ordinamento (non affidabile) Protocollo di comunicazione UDP Dipartimento di Ingegneria dell Informazione 6
Modalità Orientata alla Connessione client server centrale di commutazione Orientato alla connessione (Connection Oriented) Modello: Sistema telefonico Apertura connessione virtuale Invio dati Chiusura connessione Tutti i messaggi seguono lo stesso percorso Tutti i messaggi sono consegnati in sequenza (ordinamento FIFO) (affidabile) Protocollo di comunicazione TCP Dipartimento di Ingegneria dell Informazione 7 Famiglia di protocolli TCP/IP TCP = Transmission Control Protocol UDP = User Datagram Protocol IP = Internet Protocol! Famiglia di protocolli usati in Internet! Usati anche per la realizzazione di inter-reti private (Intranet)! Progettati verso gli inizi degli anni 70 su iniziativa del Pentagono Il Pentagono disponeva di reti di tipo diverso Agenzia ARPA " Arpanet Arpanet " Internet Dipartimento di Ingegneria dell Informazione 8
Formato di un Messaggio Header Payload # Intestazione (Header) $ Indirizzo IP del mittente $ Indirizzo IP del destinatario $ Altre informazioni di controllo # Blocco Dati o Carico (Payload) $ Lunghezza variabile (stabilito dall applicazione) Dipartimento di Ingegneria dell Informazione 9 Indirizzi IP! Indirizzo a 32 bit assegnato univocamente a ogni host! Struttura Gerarchica Indirizzo di rete (prefisso) + Indirizzo di host (suffisso)! Indirizzo di rete (network number) Identifica una rete fisica Calcolatori appartenente alla stessa rete fisica hanno lo stesso indirizzo di rete Viene assegnato da una autorità centrale in modo da garantire l univocità Indirizzo di host (host number) Identifica un particolare host all interno della rete fisica Calcolatori appartenente alla stessa rete fisica devono avere indirizzo di host diverso Calcolatori appartenente a reti fisiche diverse possono avere lo stesso indirizzo di host Viene assegnato localmente dall amministratore Dipartimento di Ingegneria dell Informazione 10
Notazione decimale puntata! Le persone hanno grosse difficoltà a usare indirizzi binari! Notazione decimale puntata (dotted decimal notation) I 4 byte sono interpretati come numeri decimali (compresi fra 0 e 255) L indirizzo viene letto come costituito da 4 numeri decimali separati da punti Dipartimento di Ingegneria dell Informazione 11 Come ottenere un indirizzo IP 32 bit Indirizzo IP Internet rete host L indirizzo di rete viene fornito dalla società di telecomunicazioni che fornisce l accesso a Internet (ISP=Internet Service Provider) Gli indirizzi di host vengono invece assegnati dall amministratore locale Gli ISP sono coordinati da una autorità centrale (IANA=Internet Assigned Number Authority) Intranet La scelta dell indirizzo di rete può essere fatta direttamente dal proprietario della inter-rete Il RFC 1597 raccomanda l uso di particolari indirizzi nelle interreti private Dipartimento di Ingegneria dell Informazione 12
Instradamento (Routing) server 2 Commutazione di pacchetto client 1 router 1 3 2 Tabella di routing Dst (IP adr) Client 1 1 Client 2 3 Server 1 2 Server 2 2 Next Hop client 2 server 1 Due pacchetti inviati da un mittente allo stesso destinatario possono seguire rotte (route) diverse Dipartimento di Ingegneria dell Informazione 13 server 2 Connessione client 1 server 1 client 2 Dipartimento di Ingegneria dell Informazione 14
Servizi Multipli Server 1 Server 2 Client 1 Client 2 Internet Dipartimento di Ingegneria dell Informazione 15 Identificazione dei servizi! Occorre identificare i servizi in maniera univoca! I protocolli TCP e UDP usano il numero di porta come identificativo del servizio! Il server al momento del suo avvio deve dichiarare il numero di porta su cui attende le richieste! Il client deve specificare il numero di porta del server quando richiede un servizio! Generalmente il numero di porta e pubblico % ftp: 21 % telnet: 23 % http: 80 Dipartimento di Ingegneria dell Informazione 16
Reti di Calcolatori Applicazioni di Uso Comune Dipartimento di Ingegneria dell Informazione 17 Servizi Internet di uso comune! DNS! E-mail! Ftp! Login remoto! News! WWW! Dipartimento di Ingegneria dell Informazione 18
Applicazioni di uso comune DOMAIN NAME SERVICE (DNS) Dipartimento di Ingegneria dell Informazione 19 Nomi ed Indirizzi 131.114.9.137 cirano.iet.unipi.it Dipartimento di Ingegneria dell Informazione 20
Domain Name System Human-readable Machine-readable Nome DNS Indirizzo IP cirano.iet.unipi.it 131.114.9.137 RFC 1034, 1035 Dipartimento di Ingegneria dell Informazione 21 DNS: Spazio dei nomi Sistema Postale Italia Mario Rossi Viale Risorgimento Pinerolo (Torino) Italia Torino Pinerolo Napoli Nola Mario Rossi Viale Risorgimento Nola (Napoli) Italia Viale Risorgimento Viale Risorgimento Mario Rossi Mario Rossi # Non si fa confusione con i nomi # Ogni provincia può assegnare nomi automamente Dipartimento di Ingegneria dell Informazione 22
DNS: lo spazio dei nomi Domini Generici Domini Nazionali int org edu gov mil com net nl it jp yale ibm microsoft unipi cs eng eng iet dm # Modello: Sistema Postale # Indirizzamento gerarchico # Domini, sottodomini e foglie Dipartimento di Ingegneria dell Informazione 23 DNS: lo spazio dei nomi! Il nome di un dominio è dato dal cammino inverso dal nodo corrispondente fino alla radice I componenti sono separati da. (punto) I nomi sono insensibili alle maiuscole/minuscole! Ciascun dominio controlla l allocazione dei suoi sottodomini Per creare un nuovo sottodominio occorre il permesso del dominio in cui verrà incluso Si evitano i conflitti tra i nomi e ciascun dominio può tenere traccia dei propri sottodomini in modo indipendente! DNS si conforma alle necessità dell organizzazione, non ai limiti delle reti fisiche Dipartimento di Ingegneria dell Informazione 24
Il server dei nomi Indirizzo IP di linda.cs.yale.edu? Soluzione centralizzata Client Resolver 195.130.224.18 Server dei nomi linda.cs.yale.edu Server Internet non scala (bottleneck) ed è un single-point of failure Dipartimento di Ingegneria dell Informazione 25 DNS: le zone int org edu gov mil com net nl it jp yale ibm microsoft unipi cs eng eng iet dm # Lo spazio dei nomi è suddiviso in zone non sovrapposte # Ogni zona ha un server (primario) che mantiene le informazioni relative ai nomi in quella zona Dipartimento di Ingegneria dell Informazione 26
DNS: risoluzione di un nome int org edu gov mil yale eng ibm com net nl it microsoft eng jp unipi iet dm cs linda.cs.yale.edu cs.yale.edu yale.edu edu iet.unipi.it cirano.iet.unipi.it Dipartimento di Ingegneria dell Informazione 27 Specificare DNS in Windows Dipartimento di Ingegneria dell Informazione 28
Free and Public DNS! Most of the time, your ISP automatically assigns a primary and secondary DNS server when your router or computer requests network information via DHCP.! But what if those ISP-provided DNS servers aren't working properly or they block certain sites?! Luckily there are several free DNS servers that you can use instead of the ones assigned to you Dipartimento di Ingegneria dell Informazione 29 Free and Public DNS Google Public DNS 8.8.8.8 8.8.4.4 Provider Primary DNS Server Secondary DNS Server Level3 1 209.244.0.3 209.244.0.4 Google 2 8.8.8.8 8.8.4.4 Comodo Secure DNS 8.26.56.26 8.20.247.20 OpenDNS Home 3 208.67.222.222 208.67.220.220 DNS Advantage 156.154.70.1 156.154.71.1 Norton ConnectSafe 4 199.85.126.10 199.85.127.10 GreenTeamDNS 5 81.218.119.11 209.88.198.133 SafeDNS 6 195.46.39.39 195.46.39.40 OpenNIC 7 216.87.84.211 208.115.243.35 Public-Root 8 199.5.157.131 208.71.35.137 SmartViper 208.76.50.50 208.76.51.51 Dyn 216.146.35.35 216.146.36.36 FreeDNS 9 37.235.1.174 37.235.1.177 censurfridns.dk 10 89.233.43.71 91.239.100.100 DNS.WATCH 11 84.200.69.80 84.200.70.40 Hurricane Electric 12 74.82.42.42 puntcat 13 109.69.8.51 Dipartimento di Ingegneria dell Informazione 30
Applicazioni di uso comune LA POSTA ELETTRONICA Dipartimento di Ingegneria dell Informazione 31 E-Mail! L utente compone il messaggio con lo user interface! Il programma mail transfer apre una connessione TCP con il mail server (porta 25)! Il messaggio viene inviato al mail server! Il mail server deposita il messaggio nella mailbox del destinatario Computer del mittente User Interface Mail Transf. Computer del destinatario User Mailbox Mail Server! Client e server seguono il protocollo SMTP (RFC 821) Internet Dipartimento di Ingegneria dell Informazione 32
E-mail con POP Server! Non tutti computer possono eseguire un mail server % mancanza di risorse % funzionamento non continuo Computer del mittente Server di posta elettronica Computer del destinatario! Il server di e-mail raccoglie la posta a nome dell utente! Periodicamente l utente si collega e preleva la sua posta User Interface Mail Transf.! Il mittente e il server di e-mail usano il protocollo SMTP mail server User Mailbox Internet POP server POP Client! Il ricevente e il server di e-mail usano il protocollo POP3 (port 110, RFC 1225) Dipartimento di Ingegneria dell Informazione 33 Privacy L email non è un mezzo sicuro per il trasferimento delle informazioni Inviare una email è come inviare una cartolina!! Dipartimento di Ingegneria dell Informazione 34 34
Vulnerabilità e attacchi! Spam Invio di grandi quantità di messaggi indesiderati (generalmente commerciali). Email piramidali! Web bugs / Web beacon Un oggetto incorporato in una email (pagina web), generalmente invisibile all utente, ma che permette di verificare se l utente ha visto l email (pagina web) Dipartimento di Ingegneria dell Informazione 35 35 Vulnerabilità e attacchi! Phishing Attività truffaldina che sfrutta una tecnica di ingegneria sociale, ed è utilizzata per ottenere l'accesso a informazioni personali o riservate con la finalità del furto di identità mediante l'utilizzo delle comunicazioni elettroniche, soprattutto messaggi di posta elettronica fasulli o messaggi istantanei, ma anche contatti telefonici.! Attachments Le email possono trasportare forme di malware come virus e trojans sotto forma di attachment Dipartimento di Ingegneria dell Informazione 36 36
Phishing passo 1 1 indizio: qualità della lingua Dipartimento di Ingegneria dell Informazione 37 37 Phishing step 2 Dipartimento di Ingegneria dell Informazione 38 38
Phishing step 3 Dipartimento di Ingegneria dell Informazione 39 39 Phishing step 4 Dipartimento di Ingegneria dell Informazione 40 40
Contromisure! Disabilitare il download automatico delle figure! Mostrare le email in formato testo! Prima di aprire gli attachment farli analizzare da un antivirus! Non fornire mai nome utente e password se richiesti da una email Dipartimento di Ingegneria dell Informazione 41 41 Contromisure: controlli in ingresso filtraggio email notifica utente SPAM Dipartimento di Ingegneria dell Informazione 42 42
Controlli in uscita Filtro anti-spam in uscita Filtraggio attachment Dipartimento di Ingegneria dell Informazione 43 43 Contromisure! Filtraggio email! Crittografia Cifratura e firma digitale delle email Connessione al server POP / SMTP tramite SSL Gestione dei certificati Dipartimento di Ingegneria dell Informazione 44 44
Applicazioni di uso comune WORLD WIDE WEB (WWW) Dipartimento di Ingegneria dell Informazione 45 Un po di storia del Web 1989 proposta iniziale di Tim Berners Lee di un sistema di documenti collegati 1991 dimostrazione pubblica del primo prototipo operativo di sistema Web 1993 primo browser grafico (NCSA Mosaic) 1994 CERN e MIT costituiscono il Consorzio WWW per la standardizzazione di protocolli Web (www.w3.org) 1995 Marc Andreessen (autore di Mosaic) lascia la NCSA e fonda Netscape Dipartimento di Ingegneria dell Informazione 46
Terminologia Vasta collezione di documenti chiamati pagine Browser programma per visualizzare le pagine server ipertesti iperlink macchina su cui risiedono le pagine pagine che puntano ad altre pagine collegamento ad altre pagine URL indirizzo di una pagina (vedi dopo) ipermedia ipertesti con audio, video, ecc. ext.viewer programmi usati per visualizzare files con formati particolari Dipartimento di Ingegneria dell Informazione 47 Pagina web La pagina appare cosí ma in realtá é fatta così Dipartimento di Ingegneria dell Informazione 48 48
Pagina web <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/tr/ html4/loose.dtd"> <html> <head><title>documento senza titolo</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> </head> <body> <h1>la mia pagina web</h1> <p>questa é la mia pagina web.</p> <p>questa é la mia foto <img style="width: 135px; height: 155px;" alt="la mia foto" src="virus.png">.</p> <p>questo é il mio indirizzo di posta elettronica <a href="mailto:gianluca.dini@ing.unipi.it">gianluca.dini@ing.unipi.it</a>. </p> </body> </html> Dipartimento di Ingegneria dell Informazione 49 Ipertesto: Un Esempio <HTML> <HEAD> </HEAD> <BODY> <P>Questo e` un esempio di iperlink: <A HREF="http://www.iet.unipi.it/~dini/ Teaching/IG/main.htm"> pagina Web dell'insegnamento</a>. <P>Questo e' un esempio di immagine <IMG SRC="computer_surfing_md_clr.gif > </BODY> </HTML> Dipartimento di Ingegneria dell Informazione 50
Funzionamento base Dipartimento di Ingegneria dell Informazione 51 51 Come funziona Dipartimento di Ingegneria dell Informazione 52
Per prelevare una pagina Web (HTTP 1.1)! Il browser determina la URL http://www.w3.com/hypertext/www/project.html! e chiede al DNS l indirizzo IP di www.w3.com! Il DNS replica 18.23.0.23! Il browser apre una connessione TCP con il server (porta 80)! e manda il comando GET /hypertext/www/project.html! Il server www.w3.com invia la pagina project.html! Il browser visualizza la pagina scaricata e! contemporaneamente scarica e visualizza eventuali figure contenute nella pagina Dipartimento di Ingegneria dell Informazione 53 Il protocollo HTTP (1)! Il browser e il Server comunicano secondo il paradigma client-server! Usano il protocollo HTTP (Hypertext Transfer Protocol)! Protocollo ASCII simile al protocollo SMTP! Non richiede necessariamente l apertura di una connessione TCP! Dettagli alla pagina http://www.w3.org/protocols/ Dipartimento di Ingegneria dell Informazione 54
Il Protocollo HTTP (2) Comandi di base del protocollo HTTP (Metodi) GET richiesta di leggere una pagina Web HEAD richiesta di leggere l intestazione di una pagina Web PUT richiesta di memorizzare una pagina Web POST richiesta di inserire in fondo a una pagina Web DELETE richiesta di rimozione di una pagina Web LINK richiesta di collegare due risorse esistenti UNLINK richiesta eliminare una collegamento fra due risorse Il metodo GET puo essere seguito dalla condizione If-Modified-Since Dipartimento di Ingegneria dell Informazione 55 Il Protocollo HTTP! Il server HTTP risponde a una richiesta del browser con una risposta! Generalmente la risposta consiste nel codice 200 (OK) seguito dai dati richiesti (es. Pagina Web)! Codici di errore 400 Bad Request 403 Forbidden 404 Page not found 302 Temporarily moved 304 Not Modified Dipartimento di Ingegneria dell Informazione 56
Uniform Resource Locator (URL)! Meccanismi per indirizzare e localizzare le risorse Qual e la risorsa richiesta? Dove e la risorsa richiesta? Come accedere alla risorsa richiesta?! Una URL e costituita da schema indirizzo del server dove la pagina e memorizzata nome del file contenente la risorsa Esempio: http://www.w3.com/protocols/specs.html Schema Indirizzo del Web server Nome del file Dipartimento di Ingegneria dell Informazione 57 Limite delle URL! Non e possibile richiedere una pagina Web senza dire anche dove essa si trova! Se le pagine sono replicate si deve specificare la replica a cui accedere! URI (Uniform Resource Indicator) Estensione delle URL Richieste del tipo Voglio la pagina abc ma non mi importa da quale sito venga scaricata Dipartimento di Ingegneria dell Informazione 58
Schemi per URL http Ipertesti http://www.ing.unipi.it/~8149/ ftp FTP ftp://pitagora.iet.unipi.it file File locali D:\Master\http_tutorial.html news newsgroup news://comp.os.unix mailto invio e-mail mailto:dini@iet.unipi.it telnet remote login telnet://pitagora.iet.unipi.it gopher Gopher gopher://gopher.iet.unipi.it/ Dipartimento di Ingegneria dell Informazione 59 Security problems for users! privacy le pagine consultate rimangono memorizzate sull HD (cache) email address harvesting cookies! integrity client-side scripting (javascript, java, ActiveX) Dipartimento di Ingegneria dell Informazione 60 60
Esercizio! Nel vostro web browser preferito individuare come disabilitare i cookies, e l esecuzione degli script! Nel vostro web browser preferito individuare la cache, le pagine qui memorizzate e cancellarle Dipartimento di Ingegneria dell Informazione 61 61 Proxy browser proxy web server Il browser invia una richiesta di pagina web al server La richiesta viene intercettata dal proxy che la registra (indirizzi IP), la filtra (siti indesiderati) ed, eventualmente, la inoltra al web server il web server risponde inviando la pagina al proxy che la gira al browser (dopo averla registrata e/o bonificata) Il browser la visualizza la pagina Dipartimento di Ingegneria dell Informazione 62 62
Dipartimento di Ingegneria dell Informazione 63 Ftp! Connessione di controllo Connessione TCP Intera durata della comunicazione! Connessione dati FTP Client Connessione Dati FTP Server Connessione TCP Solo per trasferire un file Internet Connessione di Controllo! Vantaggi della doppia connessione Semplicita di implementazione Invio di comandi durante un trasferimento dati (esempio abort) Dipartimento di Ingegneria dell Informazione 64
Net News! Gruppi di discussione a livello mondiale su uno specifico argomento! I gruppi piu piccoli sono realizzati come mailing lists! Rete di server che usano il procollo NNTP (RFC 977) per scambiarsi le news! L utente si collega ad un news-server e riceve le news relativi ai gruppi a cui e registrato Dipartimento di Ingegneria dell Informazione 65