ANNUNCI LA SETTIMANA PROSSIMA INIZIANO MODULO C, D, E LABORATORI!! http://www.dit.unitn.it/~poesio/Teach/IU: piano delle lezioni di Informatica Umanistica D online. Modulo C: CORREZIONE ORARI!! Orari: Moduli C1, C2 e C3 LUN MAR MER GIO VEN 8-10 10-12 B2 12-14 C2 14-16 B3 16-18 18-20 C1 B1 C1 C3 Orari: Modulo D LUN MAR MER GIO VEN 8-10 10-12 B2 12-14 C2 14-16 B3 16-18 18-20 D C1 B1 C3 Orari: Laboratori LUN MAR MER GIO 8-10 LAB A LAB B (B2) 10-12 LAB E 12-14 C2 14-16 LAB D (B3) D 16-18 LAB C C1 18-20 VEN B1 C3 RICEVIMENTO (MASSIMO POESIO) Ricevimento: Martedi’ 16-18, via Sighele INFORMATICA UMANISTICA B 5: RETI E PROTOCOLLI. INTERNET. IL WEB RETI DI COMPUTER Condivisione di risorse e comunicazione con gli altri utenti Mainframe Switching node Server RETI DI COMPUTER Condivisione risorse: Per esempio: non è economico comprare 1 stampante laser per ogni personal Condivisione di programmi e dati da parte di utenti Base di dati a cui molti utenti (da diversi compute) possono accedere: Sistema di prenotazioni e assegnamento posti di una compagnia aerea Sistema informativo di una banca RETI DI COMPUTER Comunicazione tra utenti in locazioni fisiche differenti (scambio di messaggi e dati) Comunicazioni in ambito di ricerca Lavoro cooperativo Possibilità di volgere attività di lavoro a casa (tele-lavoro) EVOLUZIONE DEI SISTEMI INFORMATICI IL MODELLO CENTRALIZZATO Negli anni settanta, prevalse il modello time-sharing multi-utente (il modello centralizzato) che prevede il collegamento di molti utenti ad un unico elaboratore potente attraverso terminali Terminale: un dispositivo hardware, usato solo per inserire dati e ricevere dati per la visualizzazione (per esempio, con tastiera, schermo, mouse, ma senza capacità di elaborazione) IL MODELLO CENTRALIZZATO Mediante il modello time-sharing multi-utente tutti gli utenti di un ufficio o di un centro di ricerca potevano condividere i programmi, i dati e le periferiche collegate all’elaboratore All’aumentare del numero di utenti e al crescere delle esigenze di calcolo, questo modello è entrato in crisi, perché era necessario usare elaboratori sempre più potenti L’informatica distribuita può essere vista come una naturale evoluzione del modello time-sharing multi-utente INFORMATICA DISTRIBUITA Gli anni ottanta hanno visto nascere l’era dell’informatica distribuita Una nuova tendenza che consiste nel collegare in rete gli elaboratori (di varie potenze, e tipi), e quindi gli utenti, che si trovano in uno stesso ufficio o in località diverse Il modello distribuito Gli elaboratori sono collegati tra di loro e possono condividere le risorse Ogni utente ha a disposizione una macchina (per esempio, un personal computer, come nel laboratorio) su cui lavorare, ma può anche condividere le informazioni e le risorse con gli altri utenti L’informatica distribuita offre molteplici vantaggi rispetto al modello centralizzato Il modello distribuito: vantaggi rispetto al modello centralizzato Flessibilità: In un sistema centralizzato, in caso di guasto all’elaboratore centrale nessuno può lavorare Nel caso distribuito invece, la rottura di una macchina blocca un solo utente mentre gli altri possono continuare a lavorare Economicità: In termini di costi, è più conveniente acquistare molti elaboratori personali e collegarli in rete Il modello distribuito Le possibilità di connessione non si limitano agli elaboratori personal Si può collegare in rete anche un elaboratore potente che gli utenti potranno utilizzare quando ne avranno bisogno Un altro aspetto fondamentale è dato dalla possibilità di collegarsi ad elaboratori che si trovano in diverse parti del mondo (Internet) COS’E’ UNA RETE? Dal punto di vista FISICO: Un insieme di HARDWARE, COLLEGAMENTI e PROTOCOLLI che permettono la comunicazione tra risorse remote Dal punto di vista LOGICO: un sistema distribuito di dati, risorse di elaborazione, ed utenti IL PUNTO DI VISTA FISICO: TIPI DI RETI Le reti possono essere classificate sulla base della loro TOPOLOGIA TECNOLOGIA DI TRASMISSIONE SCALA TOPOLOGIA Reti punto a punto (point-to-point) Consistono di molte connessioni individuali tra coppie di elaboratori RETI PUNTO-A-PUNTO: VANTAGGI E SVANTAGGI RETI A STELLA I nodi sono tutti collegati a un nodo centrale detto HOST Host RETI A STELLA Le comunicazioni tra due nodi non sono dirette ma passano attraverso il nodo host che provvede a smistarle verso il nodo destinazione Host RETI A STELLA: VANTAGGI E SVANTAGGI TOPOLOGIA: RETI AD ANELLO Reti ad anello I nodi sono organizzati secondo una configurazione ad anello e non sono tutti direttamente collegati RETI AD ANELLO Il segnale emesso da un nodo passa al nodo successivo; se non è indirizzato a quel nodo, viene ritrasmesso al nodo seguente, finché non raggiunge il destinatario RETI AD ANELLO: VANTAGGI E SVANTAGGI TOPOLOGIA: RETI LINEARI Reti lineari (broadcast) Hanno un unico canale di comunicazione (dorsale) condiviso da tutte le macchine della rete I messaggi inviati da un elaboratore vengono ricevuti da tutti ma solo l’elaboratore destinatario elaborerà il messaggio, gli altri elaboratori lo ignoreranno Esempio: ETHERNET RETI A BUS: VANTAGGI E SVANTAGGI TECNOLOGIA DI CONNESSIONE La trasmissione di dati tra calcolatori puo’ avvenire tramite MEZZI GUIDATI: linee fisiche che portano il messaggio al ricevitore. (Esempio: doppino telefonico, fibre ottiche) MEZZI NON GUIDATI: irradiazione di segnali nello spazio. (Satelliti, wireless) MEZZI GUIDATI MEZZI NON GUIDATI CARATTERISTICHE DELLA TRASMISSIONE Capacita’ del canale (LARGHEZZA DI BANDA) Grado di attenuazione del signale Interferenza Numero dei ricevitori DIFFERENZE TRA I METODI DI TRASMISSIONE Condivisione del canale (linee dedicate / commutate) Trasmissione seriale / parallela Trasmissione sincrona / asincrona Trasmissione digitale / analogica TRASMISSIONE DIGITALE / ANALOGICA Reti locali: si possono usare connessioni specializzate dedicate solo a trasmissione di segnali digitali Reti a lunga distanza / Internet: si cerca di sfruttare le reti esistenti, in particolare la rete telefonica, che pero’ e’ progettata per trasmettere dati analogici Occorre un metodo per trasformare dati in forma digitale in analogica, e viceversa: il MODEM LINEE DEDICATE / COMMUTATE Linee dedicate: usate esclusivamente per la comunicazione tra due calcolatori Linee commutate: canale di comunicazione viene ‘costruito’ volta per volta Due metodi: commutazione di CIRCUITO (= rete telefonica), commutazione di PACCHETTO (Ethernet) TRASMISSIONE DEI DATI: COMMUTAZIONE DI PACCHETTO Ogni messaggio e’ diviso in tanti pacchetti numerati di dimensione fissa Ogni pacchetto contiene l’indirizzo del computer destinatario e del computer mittente Ogni pacchetto e’ inviato separatamente e potenzialmente almeno puo’ usare un percorso completamente diverso COMMUTAZIONE DI PACCHETTO (PACKET SWITCHING) PACKET SWITCHING Mittente Dati Packet Destinatario PACKET SWITCHING Controllo Parte di dati PACKET SWITCHING PACKET SWITCHING PACKET SWITCHING I pacchetti non arrivano necessariamente nell’ordine giusto; il destinatario aspetta che arrivino tutti prima di ricostruire il messaggio Ogni pacchetto occupa la connessione per un tempo molto breve. Potenzialmente, i pacchetti possono essere inviati in parallelo. Reti di computer Non esiste una classificazione univoca delle reti ma due aspetti hanno un particolare importanza Tecnologia di trasmissione Scala Scala Un criterio alternativo per classificare le reti è legato alla loro scala, che si determina in base alla dimensione dei processori e alla loro distanza Scala 0.1 m Circuito 1m Sistema Multicomputer 10 m Stanza Rete locale LAN 100 m Edificio LAN 1 km Università LAN 10 km Città Rete metropolitana MAN 100 km Nazione Rete geografica WAN 1000 km Continente Internet 10000 km Pianeta Internet LAN = Local Area Network Reti private per la condivisione di risorse all’interno di un edifico o in edifici vicini Risorse come computer, stampanti, dati Sono generalmente di dimensioni ridotte Si possono distinguere a seconda della topologia (punto-a-punto, ad anello, a stella, lineare, …) LAN – Client/Server Server: elaboratore che può essere condiviso dagli altri computer collegati in rete Server gestore dei dati (file server): gestisce la memorizzazione e la condivisione di dati in una rete locale Server di stampa (printer server): gestisce le stampanti disponibili in una rete locale Server di comunicazione: permette l’accesso ad altre reti locali o ad Internet Client: elaboratore che usa delle risorse condivise, messe a disposizione dal server LAN – Sistema operativo di rete Il sistema operativo non è in grado di gestire le risorse che non appartengono all’elaboratore Si introduce un nuovo livello nella “struttura a cipolla”: il sistema operativo di rete Sistema operativo locale 011100010 111010101 000011110 Hardware Sistema operativo di rete Scala 0.1 m Circuito 1m Sistema Multicomputer 10 m Stanza Rete locale LAN 100 m Edificio LAN 1 km Università LAN 10 km Città Rete metropolitana MAN 100 km Nazione Rete geografica WAN 1000 km Continente Internet 10000 km Pianeta Internet MAN = Metropolitan Area Network Una rete metropolitana è sostanzialmente una versione ingrandita di una LAN Può coprire un gruppo di uffici, aziende diverse, una città Può essere pubblica o privata WAN = Wide Area Network Una rete WAN copre una grande area geografica Ad esempio, la rete GARR collega tutte le Università italiane Nella maggior parte delle reti WAN la sottorete di comunicazione è formata da Linee di trasmissione (che spostano i dati fra i vari nodi) Elementi di commutazione (router), calcolatori specializzati usati per collegare due o più linee di trasmissione LA RETE COME STRUMENTO DI COMUNICAZIONE L’uso fondamentale di una rete è quello di consentire la comunicazione tra i nodi I nodi si scambiano dei dati sotto forma di messaggi codificati in forma digitale Ogni messaggio è caratterizzato da un mittente, un destinatario, e un insieme di informazioni che costituiscono il corpo del messaggio PROTOCOLLI Affinché questa comunicazione possa avvenire in modo corretto si deve definire un protocollo di comunicazione Come nella vita reale si stabiliscono delle convenzioni per il comportamento tra gli individui, nel caso della comunicazione tra gli elaboratori un protocollo definisce quell’insieme di regole che il nodo mittente e il nodo destinatario devono seguire per interagire tra loro PROTOCOLLI Un protocollo specifica: A che velocità vengono trasmessi i messaggi; Come verificare la correttezza del messaggio; Come segnalare che il messaggio e’ stato ricevuto; Dove inviare il messaggio (addressing) ed attraverso quale percorso (routing) STANDARD Come nel caso della codifica dei dati, sono necessari degli STANDARD internazionali per garantire che la comunicazione avvenga senza errori e confusioni Esempio: TCP/IP Comunicazione nelle reti – protocolli Un protocollo “monolitico” che realizzi tutte le funzionalità necessarie per la comunicazione tra elaboratori in rete è difficile da realizzare Inoltre, se cambia qualche componente della rete, si deve modificare l’intero protocollo Per ridurre la complessità di progettazione la maggior parte dei protocolli è organizzata come una serie di livelli Il numero dei livelli, il loro nome, le funzionalità differiscono da una rete ad un’altra Comunicazione multilivello Per ogni coppia di livelli adiacenti esiste una interfaccia Le convenzioni usate nella conversazione sono il protocollo Si tratta di un accordo tra i partecipanti su come deve avvenire la comunicazione Al di sotto del livello più basso c’è il mezzo fisico che serve per il trasferimento dei dati Comunicazione multilivello: lo standard ISO - OSI Modello teorico di riferimento per definire le caratteristiche della comunicazione multilivello OSI: Open Standard Interconnection Application Presentation Session Transport Network Data link Physical Comunicazione multilivello: ISO - OSI Modello teorico di riferimento per definire le caratteristiche della comunicazione multilivello OSI: Open Standard Interconnection Application Presentation Per esempio: Servizi per utilizzo delle rete Session Transport Comunicazione end-to-end Network Data link Physical Indirizzamento, routing tra reti Comunicazione multilivello: ISO - OSI Application Application Presentation Presentation Session Session Transport Transport Network Network Data link Data link Physical Physical Comunicazione multilivello: ISO - OSI Application Application Presentation Presentation Session Session Transport Transport Network Network Data link Data link Physical Physical • Il livello n di un calcolatore comunica virtualmente con il livello n di un altro calcolatore • In realtà nessun dato viene trasferito da un livello n ad un altro ma passa ad un livello sottostante Comunicazione multilivello: ISO - OSI I livelli più bassi sono quelli più vicini all’hardware e definiscono delle regole di basso livello che consentono di “azzerare” le differenze tra le diverse reti fisiche Si introduce un livello virtuale uniforme sul quale si basano i livelli successivi che possono essere definiti in modo indipendente dalle reti fisiche sottostante INTERNET La reti delle reti: collega fra loro reti locali, metropolitane, geografiche e singoli computer di tutto il mondo INTERNET: STORIA IN BREVE Nata dalla fusione di reti governative (ARPANET) e universitarie americane Anni ’70: invenzione di TCP / IP 1990: 3000 reti e 200.000 computer (detti host) 1992: viene collegato il milionesimo host Agli esordi il numero di host cresce in modo esponenziale mentre in questi anni si osserva un rallentamento, con incremento annuo del del 6% 2002: hanno accesso ad Internet 457 milioni di persone (di cui 174 milioni negli Stati Uniti) Come funziona Internet Un aspetto importante di Internet è la sua topologia distribuita e decentrata • In questo modo se un percorso è interrotto o troppo trafficato i dati possono prendere strade alternative N1 N5 N2 N7 N6 N3 N4 • Ad esempio per andare da N1 a N3 si può prendere il percorso N1-N2-N6-N3 oppure N1-N5-N4-N3 e così via INTERNET Una macchina è in Internet se: utilizza il protocollo TCP/IP ha un suo indirizzo IP (Internet Protocol) ed ha la capacità di spedire pacchetti IP a tutte le altre macchine su Internet COME CI SI COLLEGA AD INTERNET Via ROUTER Oppure usando il router del provider COLLEGAMENTO AD INTERNET: VIA ROUTER COLLEGAMENTO AD INTERNET: VIA MODEM + PROVIDER LIVELLI DI PROTOCOLLI INTERNET I PROTOCOLLI INTERNET Application layer HTTP FTP SMTP TELNET TCP … UDP IP DNS … Transport layer Network layer Link + physical layer I DUE PROTOCOLLI DI BASE: TCP / IP Insieme, si occupano di: Dividere il messaggio in pacchetti Instradarli Assicurarsi che arrivino (tramite meccanismi di conferma della ricezione e segnalazione di errori) Application Network layer: IP Transport Network Link & Physical Internet può essere vista come una collezione di sottoreti diverse (eterogenee) connesse tra loro (internetworking) La “colla” che tiene insieme le varie sottoreti è l’Internet Protocol (IP) Permette di trasportare i dati dalla sorgente alla destinazione, sfruttando la presenza di reti intermedie lungo il percorso Network layer: IP Una entità di livello Network è presente su tutti i dispositivi ad Internet Trasmissione di tipo packet switching Application Application Transport Transport Network Network Link & Physical Link & Physical Network layer: IP Ogni computer collegato ad Internet possiede un indirizzo univoco detto indirizzo IP (32 bit) I 32 bit di un indirizzo IP sono suddivisi in 4 campi da 8 bit ciascuno Per esempio: 10000000000101000011111010101011 Di solito si usa una rappresentazione formata da 4 numeri decimali separati da un punto Per esempio: 128.10.2.30 Network layer: IP Gli indirizzi IP devono essere univoci Per questo motivo è stata istituita una organizzazione, Internet Assigned Number Authority, preposta ad assegnare gli indirizzi IP garanthendone l’univocità Quando vi collegate ad Internet da casa è il provider che vi assegna un indirizzo IP scegliendolo tra quelli che ha acquistato Network layer: IP IP fornisce anche l’instradamento (routing) dei pacchetti tra mittente e destinatario Protocollo di routing: Scopo: determinare un “buon” percorso nella rete tra sorgente e destinazione Percorso “buono”: in genera significa “più corto” La topologia della rete può cambiare (qualche router o link si può guastare) Application Transport layer Transport Network Link & Physical Il compito del livello Transport è quello di fornire un trasporto affidabile dall’host di origine a quello di destinazione, indipendentemente dalla rete utilizzata In Internet il protocollo di questo livello è chiamato Transmission Control Protocol (TCP) Application Application layer Transport Network Link & Physical Si colloca al di sopra del livello Transport ed è il livello nel quale viene svolto il “lavoro utile” per l’utente In questo livello si trovano diversi protocolli, alcuni relativi alle applicazioni che usiamo abitualmente in Internet SMTP: Simple Mail Transfer Protocol FTP: File Transfer Protocol TELNET HTTP: HyperText Transfer Protocol Application layer I protocolli del livello Application sono basati sul modello di interazione client/server Per usare i servizi messi a disposizione mediante questi protocolli bisogna contattare un server Per esempio: tutte le volte che usate il browser e richiedete delle pagina di un sito web, di fatto state contattando un web server remoto Per esempio: tutte le volte che inviate una e-mail di fatto del vostro provider contatta il mail server del provider del vostro destinatario Application layer: DNS Gli indirizzi IP numerici sono difficili da ricordare Si usano quindi degli indirizzi simbolici che sono più significativi per l’essere umano di.unito.it, cs.bham.ac.uk, developer.netscape.com Questi nome vengono tradotti in indirizzi IP numerici mediante il Domain Name System (DNS) Gli indirizzi simbolici hanno un formato come quello seguente … nome5.nome4.nome3.nome2.nome1 Application layer: DNS Sono costruiti a partire da uno schema gerarchico di nomi basato sul concetto di dominio root com edu gov mil net org au … it unitn gnu … zw unito Livello 1 Livello 2 www.gnu.org www www.lett.unitn.it lett dit di Livello 3 www www www Livello 4 Application layer: DNS Domini di primo livello (top level) com Aziende edu università americane gov istituzioni governative mil istituzioni militari net fornitori d’accesso org organizzazioni non-profit … … au Australia ch Svizzera fr Francia it Italia jp Giappone uk Regno Unito … … Application layer: DNS Ogni dominio deve essere in grado di “risolvere i nomi” dei calcolatori di sua competenza Si usano i name server che gestiscono la corrispondenza tra nomi simbolici e indirizzi IP numerici Quando un’applicazione deve collegarsi ad una risorsa di cui conosce il nome logico (ad es. www.unito.it), invia una richiesta al suo name server locale Application layer: DNS Il name server, se conosce la risposta, la invia direttamente al richiedente Altrimenti interroga il name server di top level; questi può conoscere l’indirizzo oppure inoltrare l’interrogazione ai suoi figli nella gerarchia Si continua con le interrogazioni fino a quando non si ottiene l’indirizzo IP numerico della risorsa Quando l’applicazione riceve la risposta crea una connessione TCP con la destinazione, usando l’indirizzo IP appena ricevuto APPLICATION LAYER: POSTA ELETTRONICA Si basa sul protocollo SMTP e permette lo scambio dei messaggi tra gli utenti collegati alla rete È necessario fornire: L’indirizzo del mittente L’indirizzo del destinatario Il corpo del messaggio Gli indirizzi devono avere un formato ben preciso La posta elettronica Nome utente Nome host che ospita la casella postale dell’utente [email protected] Separatore (simbolo a commerciale che si legge ‘at’) La posta elettronica Per leggere i messaggi di posta elettronica arrivati nella nostra casella, e per scrivere ed inviarne ai nostri corrispondenti, dobbiamo usare uno specifico programma o client mail che preleva i messaggi e li porta sul nostro computer e-mail (3) MAIL SERVER MAIL SERVER APPLICATION LAYER: ALTRI ESEMPI TRASFERIMENTO FILE: Si basa sul File Transfer Protocol (FTP) Permette di collegarsi a siti remoti per prendere (download)/salvare (upload) file L’accesso può essere riservato (tramite login e password) oppure aperto a tutti (si parla di anonymous ftp) COLLEGAMENTO REMOTO: Telnet: permette di collegarsi a calcolatore che si trovano in località remote per lavorare interattivamente su di essi SSH WEB (la prossima settimana) Application layer: World Wide Web Si basa sul protocollo HTTP (HyperText Transfer Protocol) che gestisce l’interazione tra un client e un server web Client e server si scambiano dei messaggi Richieste da parte del client Risposte da parte del server Più precisamente: L’utente richiede una pagina residente su un server e il suo browser richiede una connessione TCP con il server Il server accetta la connessione iniziata dal browser Il browser ed il server si scambiano messaggi La connessione viene chiusa LETTURE Ciotti / Roncaglia, capitoli IV e V