Reti di Calcolatori ed Internet Vito Perrone Corso di Informatica A per Gestionali Indice • Modulazione e trasmissione dei dati • Reti di calcolatori – Topologia – Messaggi e protocolli – ISO/OSI – Ethernet – Architettura client/server • Telefonia mobile • Sistemi transazionali Copyright © 2004 - The McGraw-Hill Companies, srl Reti di Calcolatori ed Internet Informatica A – V. Perrone 2 Mezzi di trasmissione dati • Linea telefonica analogica (il doppino). – Modem su linea telefonica commutata 56 kbit/s – ISDN 128 kbit/s – ADSL 640 kbit/s, fino ad alcuni Mbit/s • Cavo coassiale – Su brevi distanze 107 bit/s – Su lunghe distanze 105 bit/s • Fibra ottica 10 Gbit/s • Onde elettromagnetiche – BlueTooth (brevissime distanze) 700 kbit/s – WiFi (decine/centinaia di metri) 56 Mbit/s – Via satellite Copyright © 2004 - The McGraw-Hill Companies, srl Reti di Calcolatori ed Internet Informatica A – V. Perrone 3 Modulazione e demodulazione • Modulazione: segnale digitale segnale analogico • Demodulazione: segnale analogico segnale digitale • La linea telefonica trasporta un segnale analogico (segnale portante) che viene modulato in modo da trasportare uno 0 oppure un 1 • Tecniche di modulazione del segnale portante: – Frequenza – Fase – Ampiezza Copyright © 2004 - The McGraw-Hill Companies, srl Reti di Calcolatori ed Internet Informatica A – V. Perrone 4 Modulazione di frequenza 0 1 0 1 1 Segnale digitale da trasmettere Portante Segnale modulato in frequenza Copyright © 2004 - The McGraw-Hill Companies, srl Reti di Calcolatori ed Internet Informatica A – V. Perrone 5 Trasmissione dati • Modem: MOdulatore, DEModulatore • Linee dedicate (connessione permanente) o commutate (connessione temporanea, es. telefono) • Linee simpex (mododirezionali), half-duplex (senso unico alternato), full-duplex (bidirezionali) Copyright © 2004 - The McGraw-Hill Companies, srl Reti di Calcolatori ed Internet Informatica A – V. Perrone 6 Collegamento dei terminali Copyright © 2004 - The McGraw-Hill Companies, srl Reti di Calcolatori ed Internet Informatica A – V. Perrone 7 Reti di calcolatori • Le reti di calcolatori collegano elaboratori, detti “nodi della rete”, situati ad una cerca distanza fra di loro, fornendo a ciascuno di essi vari “servizi di rete”, ossia funzionalità disponibili a tutti i calcolatori della rete stessa • Ogni rete è basata su di una certa topologia. Essa descrive le modalità con le quali si scelgono i calcolatori da connettere direttamente tra loro • Infatti, in una rete avrò: – Calcolatori connessi direttamente – Calcolatori che, per poter comunicare, devono far passare i messaggi attraverso altri elaboratori Copyright © 2004 - The McGraw-Hill Companies, srl Reti di Calcolatori ed Internet Informatica A – V. Perrone 8 Topologia • Nodo centrale che inoltra i messaggi + Semplice + Più nodi possono comunicare Stella - contemporaneamente Collo di bottiglia (nodo centrale…) Vulnerabile ai guasti del nodo centrale e della rete (unico collegamento) • Nessun nodo centrale: treni di messaggi + Nessun collo di bottiglia + Più nodi possono comunicare contempor. + Meno vulnerabile ai guasti della rete e di altri nodi Anello Copyright © 2004 - The McGraw-Hill Companies, srl - (inversione direzione) Più complesso Più nodi da attraversare Reti di Calcolatori ed Internet Informatica A – V. Perrone 9 Topologia • Nessun nodo centrale Bus + Semplice + Nessun nodo da attraversare - Vulnerabile ai guasti della rete - Solo due nodi alla volta possono comunicare • Nessuna topologia precisa + Resistente ai guasti (se routing dinamico) + Più nodi possono comunicare Irregolare Copyright © 2004 - The McGraw-Hill Companies, srl - contemporaneamente Complesso Più nodi da attraversare Reti di Calcolatori ed Internet Informatica A – V. Perrone 10 Topologia • Le topologie a stella, anello e bus sono usate soprattutto nell’ambito delle reti locali (LAN – Local Area Network) • La topologia irregolare è molto diffusa tra le reti geografiche (WAN – Wide Area Network) Copyright © 2004 - The McGraw-Hill Companies, srl Reti di Calcolatori ed Internet Informatica A – V. Perrone 11 I messaggi • Le informazioni scambiate tra i nodi sono strutturate in messaggi • Ogni messaggio contiene i dati da comunicare ed un certo insieme di informazioni di controllo • Spesso la quantità di dati (byte) che è possibile inserire in un messaggio è fissa. Se un nodo deve inviarne un numero maggiore, è necessario utilizzare più messaggi Copyright © 2004 - The McGraw-Hill Companies, srl Reti di Calcolatori ed Internet Informatica A – V. Perrone 12 Struttura dei messaggi Sequenza di controllo Copyright © 2004 - The McGraw-Hill Companies, srl Parte utile del messaggio Reti di Calcolatori ed Internet Informatica A – V. Perrone Inizio messaggio Mittente Destinatario Dati da inviare Caratteri di controllo Fine messaggio • La struttura dei messaggi dipende dallo standard utilizzato ma è possibile dare una descrizione generale: Introduzione 13 Routing dei messaggi • Se due nodi non sono connessi direttamente, il messaggio dovrà attraversare nodi intermedi • I nodi intermedi dovranno ricevere il messaggio e rispedirlo verso un nodo a loro connesso e più vicino alla destinazione (routing o instradamento) • Il caso più complesso è quello di una rete con topologia irregolare X A Copyright © 2004 - The McGraw-Hill Companies, srl Y B • Se A vuole comunicare con B, deve passare attraverso X, oppure attraverso X e Y • Il nodo X deve decidere quale strada usare (routing statico o dinamico) Reti di Calcolatori ed Internet Informatica A – V. Perrone 14 Protocolli di rete • Un protocollo stabilisce le regole di comunicazione che debbono essere seguite da due interlocutori – A: Chiamata per B – B: Pronto, chi parla? – A: Sono A, sei pronto a ricevere dati? – B: Sì – A: Ecco i dati … bla bla bla … fine dei dati – B: Dati ricevuti con successo – A: Ciao – B: Ciao • Il protocollo stabilisce cosa fare in tutte le situazioni che possono verificarsi (errori, ecc.) • Deve essere conosciuto dai due interlocutori (quindi, deve essere uno standard) Copyright © 2004 - The McGraw-Hill Companies, srl Reti di Calcolatori ed Internet Informatica A – V. Perrone 15 Lo stack ISO-OSI (1) • Lo standard ISO-OSI (Open System Interconnect) include un insieme di protocolli che definiscono, a vari livelli di dettaglio, le regole di comunicazione • E’ spesso chiamato stack (pila) ISO-OSI 7. Livello applicazione Servizio di rete (trasferimento file, e-mail, …) 6. Livello presentazione Conversione formati (01/12/02 12/01/02) 5. Livello sessione Apertura e chiusura dialogo (Chiamata per B...Ciao) 4. Livello trasporto Segmentazione dati in più messaggi Routing (instradamento) 3. Livello rete 2. Livello collegamento dati Controllo correttezza messaggi (rispedisci se errori) 1. Livello fisico Copyright © 2004 - The McGraw-Hill Companies, srl Specifiche Hw/Sw dipositivi fisici usati per connettere i nodi (Ethernet, cavo coassiale, …) Reti di Calcolatori ed Internet Informatica A – V. Perrone 16 Lo stack ISO-OSI (2) • Ogni livello definisce dei protocolli che gestiscono, a quel livello di dettaglio, la comunicazione • Ciascun livello rappresenta una macchina astratta • Ogni livello (macchina astratta) dello stack assume di “parlare” con il medesimo livello (macchina astratta) dell’altro nodo ed è completamente ignaro di ciò che succede sotto di lui • E’ un modello di riferimento, i protocolli reali spesso implementano solo parzialmente lo stack Copyright © 2004 - The McGraw-Hill Companies, srl Reti di Calcolatori ed Internet Informatica A – V. Perrone 17 Lo stack ISO-OSI (3) L6 Invia file “pippo.txt” Converti file L5 Apri dialogo L4 Segmenta file Invia msg1, msg2, … L7 L3 L2 L1 Aggiungi dati controllo Connessione fisica Copyright © 2004 - The McGraw-Hill Companies, srl Ricevi file Converti file L7 Chiudi dialogo L5 Ricomponi file Ricevi msg1, msg2, … L4 Verifica messaggi Connessione fisica L2 Reti di Calcolatori ed Internet Informatica A – V. Perrone L6 L3 L1 18 Lo stack ISO-OSI (4) • Il flusso dei dati, in realtà, “scende” lungo lo stack del nodo mittente e “risale” lungo lo stack del nodo destinatario • Durante la trasmissione: – Ogni livello aggiunge informazioni o modifica quelle provenienti dal livello superiore e le passa al livello inferiore • Durante la ricezione: – Ogni livello estrae le informazioni di suo interesse e passa quelle rimanenti al livello superiore Copyright © 2004 - The McGraw-Hill Companies, srl Reti di Calcolatori ed Internet Informatica A – V. Perrone 19 Lo stack ISO-OSI (5) Per es. invio file pippo.txt Mittente L7 L7 L6 L6 L5 L5 L4 L4 L3 L3 L2 L2 L1 Copyright © 2004 - The McGraw-Hill Companies, srl Rete fisica Reti di Calcolatori ed Internet Informatica A – V. Perrone Destinatario L1 20 Un esempio di LAN: ethernet • E’ una rete a bus (ma non solo…) • Serve un’interfaccia da installare sul PC (NIC) • 10 Mbit/s, 100 Mbis/s (fast-ethernet) , 1000 Mbit/s (giga-ethernet) • Usa cavi a doppino, coassiali o ottici di lunghezza limitata • Solo un nodo per volta può occupare il bus e trasmettere i dati • Un nodo non ha modo di sapere quando gli altri nodi inizieranno a trasmettere • Se due nodi trasmettono contemporaneamente? Si usa un protocollo detto “Carrier Sense Multiple Access / Collision Detection” (CSMA/CD) Copyright © 2004 - The McGraw-Hill Companies, srl Reti di Calcolatori ed Internet Informatica A – V. Perrone 21 Ethernet: struttura a bus Copyright © 2004 - The McGraw-Hill Companies, srl Reti di Calcolatori ed Internet Informatica A – V. Perrone 22 Ethernet: protocollo CSMA/CD • Si pone al livello 1 dello stack ISO-OSI • I passi eseguiti dal protocollo sono: – Ogni nodo che fa parte della rete “ascolta” (carrier sense) per vedere se essa è libera o occupata – Se nessuno trasmette, tutti i nodi possono iniziare una comunicazione (multiple access): non c’è alcun nodo privilegiato rispetto agli altri – Se capita che più nodi inizino effettivamente a trasmettere insieme, gli stessi si accorgono del problema (collision detection), si fermano, aspettano un intervallo casuale (piccolo) di tempo e ritrasmettono il messaggio Copyright © 2004 - The McGraw-Hill Companies, srl Reti di Calcolatori ed Internet Informatica A – V. Perrone 23 Architettura client/server • Indica una modalità particolare di accesso alle funzionalità offerte da una rete • E’ Indipendente dalla topologia della rete • Una macchina particolare (detta server) offre una serie di servizi (disco condiviso, stampanti, database, ecc.) ed aspetta richieste • Le altre macchine (dette client) utilizzano i servizi offerti dal server • Quindi, il server generalmente si limita ad attendere che qualcuno lo contatti. Sono sempre i client ad iniziare il dialogo (chiedendo un certo servizio) • E’ molto usata. Anche in ambito Internet (DNS, Web,…) Copyright © 2004 - The McGraw-Hill Companies, srl Reti di Calcolatori ed Internet Informatica A – V. Perrone 24 Architettura client/server • Più client possono contattare contemporaneamente lo stesso server • Il server gestisce una coda di richieste nella quale accoda i messaggi provenienti dal client ed estrae quello che, in un dato istante, elaborerà Client Server Client Rete logica Copyright © 2004 - The McGraw-Hill Companies, srl Per es. un sito Web Reti di Calcolatori ed Internet Informatica A – V. Perrone 25 Telefonia mobile • Divisione del territorio in celle • Ogni stazione assegna Stazione radio Stazione radio specifiche frequenze di trasmissione • Stazioni adiacenti gestiscono lo spostamento di un utente Stazione radio da una cella ad un’altra • Generazioni: – 1a: TACS; analogici – 2a: GSM; digitali, introduzione della SIM card – 3a: UMTS; digitali, alta velocità multimediali Copyright © 2004 - The McGraw-Hill Companies, srl Reti di Calcolatori ed Internet Informatica A – V. Perrone 26 Sistemi transazionali • transazione applicativa: ciascuna unità di interazione con il sistema in cui viene effettuata un’operazione elementare • Tipicamente, sono brevi unità di esecuzione • Molto spesso, la transazione richiede anche trasmissioni di dati (una o più transazioni ACID) • Tipicamente, si richiede che siano eseguite in tempi brevi • Nelle applicazioni finanziarie, ciascuna transazione informatica corrisponde a una transazione economica correttezza e sicurezza Copyright © 2004 - The McGraw-Hill Companies, srl Reti di Calcolatori ed Internet Informatica A – V. Perrone 27 Sistemi transazionali: Bancomat • • • • Gestito dai Centri Informativi regionali delle varie banche Coordinati dalla SIA (Società Interbancaria per l’Automazione) ATM (Automatic Teller Machine); carta magnetica Tre casi di richieste di denaro: – – – Richieste provenienti da carte emesse dalla banca pagante verifica locale, senza scambi interbancari Richieste provenienti da carte emesse da una banca pagante gestita dallo stesso CI autorizzazione da parte di quel CI Richieste provenienti da carte emesse da una banca pagante gestita da un diverso CI il CI della banca emittente verifica la validità della carta Copyright © 2004 - The McGraw-Hill Companies, srl Reti di Calcolatori ed Internet Informatica A – V. Perrone 28 Sistemi transazionali: Bancomat Banca emittente Centro informativo banca emittente Richiesta di autorizzazione on-line. Caso 3 Emissione della carta e del codice personale segreto Centro informativo banca pagante Richiesta di autorizzazione on-line. Caso 2+3 ATM Banca pagante Utente Richiesta di autorizzazione on-line. Caso 1+2+3 Copyright © 2004 - The McGraw-Hill Companies, srl Reti di Calcolatori ed Internet Informatica A – V. Perrone 29 I servizi Internet Indice - Internet • Breve storia di Internet • Il protocollo di connessione • La posta elettronica e il World Wide Web Copyright © 2004 - The McGraw-Hill Companies, srl Reti di Calcolatori ed Internet Informatica A – V. Perrone 31 Breve storia di Internet • Un insieme di tecnologie, standard ed applicazioni in grado di connettere tra loro reti disomogenee (basate cioè su standard diversi), creando una sorta di “rete di reti”, ovvero una “inter-rete”, ovvero una Inter-Net • Nasce alla fine degli anni ’60 negli USA per scopi militari (ARPANET) • Negli anni ’70 nasce il protocollo fondamentale di Internet: TCP/IP • Negli anni ’80 è diffusa soprattutto in ambito accademico • All’inizio degli anni ’90 nasce il World Wide Web Copyright © 2004 - The McGraw-Hill Companies, srl Reti di Calcolatori ed Internet Informatica A – V. Perrone 32 Il protocollo di connessione Copyright © 2004 - The McGraw-Hill Companies, srl Reti di Calcolatori ed Internet Informatica A – V. Perrone 33 Il protocollo TCP/IP • TCP/IP: il protocollo usato per connettere calcolatori e reti • E’ una combinazione di due protocolli: – TCP (Transmission Control Protocol): ha il compito di controllare la trasmissione dei dati sotto forma di pacchetti; corrisponde, più o meno, al livello trasporto ISO-OSI – IP (Internet Protocol): si occupa di trasmettere ciascun singolo pacchetto da un elaboratore all’altro; corrisponde, più o meno, con il livello rete ISO-OSI • Il meccanismo di routing è dinamico e tiene conto del carico della rete Copyright © 2004 - The McGraw-Hill Companies, srl Reti di Calcolatori ed Internet Informatica A – V. Perrone 34 Indirizzi Internet • Ogni nodo della rete ha un proprio indirizzo IP: – E’ un numero lungo quattro byte – In modo simbolico, viene scritto separando i valori dei singoli byte con dei punti (es. 127.123.45.156) – Le prime due parti identificano una “rete”, la terza una “sottorete” e la quarta uno specifico calcolatore su tale sotto-rete • A ogni nodo è assegnato anche un nome simbolico: – Indirizzo utente: nome simbolico dell’utente, simbolo @, nome del dominio dell’utente (es. [email protected]) • Dominio: – Rappresenta il nodo su cui l’utente stesso risiede – La maggior parte dei domini ha tre parti – I domini devono essere trasformati in indirizzi numerici, i DNS (Domain Name Server) hanno questo compito Copyright © 2004 - The McGraw-Hill Companies, srl Reti di Calcolatori ed Internet Informatica A – V. Perrone 35 Telnet e ftp • Telnet: – E’ un protocollo per l’emulazione di un terminale – Usa l’approccio client-server, usando il comando telnet fornito ai client, è possibile divenire utente di un computer remoto – Il computer remoto deve avere in funzione il relativo programma server in grado di dialogare con il client telnet • ftp: – File Transfer Protocol: programma per il trasferimento di file – Usa l’approccio client-server Copyright © 2004 - The McGraw-Hill Companies, srl Reti di Calcolatori ed Internet Informatica A – V. Perrone 36 La posta elettronica e il World Wide Web Copyright © 2004 - The McGraw-Hill Companies, srl Reti di Calcolatori ed Internet Informatica A – V. Perrone 37 La posta elettronica • Messaggio: una stringa di caratteri di lunghezza e contenuto arbitrari • Il messaggio è composto da varie parti: – Mittente (from): indirizzo utente del mittente – Destinatario (to): indirizzo utente del destintario – Destinatario in copia (cc): indirizzo utente del destinatario in copia – Oggetto (subject): titolo e breve descrizione del messaggio – Testo del messaggio • E’ possibile utilizzare elenchi contenenti un ampio numero di utenti (le mailing list) al posto dell’indirizzo del destinatario • Gestita dal protocollo SMTP (Simple Mail Transfer Protocol) • Approccio client-server Copyright © 2004 - The McGraw-Hill Companies, srl Reti di Calcolatori ed Internet Informatica A – V. Perrone 38 Esempio • SMTP scambia varie informazioni con il server: Copyright © 2004 - The McGraw-Hill Companies, srl Reti di Calcolatori ed Internet Informatica A – V. Perrone 39 I mailer Copyright © 2004 - The McGraw-Hill Companies, srl Reti di Calcolatori ed Internet Informatica A – V. Perrone 40 Il World Wide Web • Il World Wide Web (WWW) è un sistema per la gestione di documenti su Internet • Sviluppato al CERN di Ginevra • E’ un’evoluzione degli ipertesti • Sito Web: insieme unitario di documenti Web • Ogni sito Web ha una struttura gerarchica, con una pagina iniziale (home page) e una serie di documenti Web collegati tramite riferimenti (link) • I link possono fare riferimento a documenti Web che appartengono ad altri siti Web • Si crea così una “ragnatela” di connessioni tra le pagine Web che consente di “navigare” attraverso i siti Web Copyright © 2004 - The McGraw-Hill Companies, srl Reti di Calcolatori ed Internet Informatica A – V. Perrone 41 Standard del WWW • ULR (Uniform Resource Locator): il nome univoco di un documento sul Web • HTTP (HyperText Transfer Protocol): protocollo di trasferimento • HTML (HyperText Markup Language): linguaggio di descrrizione di un documento Web Copyright © 2004 - The McGraw-Hill Companies, srl Reti di Calcolatori ed Internet Informatica A – V. Perrone 42 Architettura del WWW • Il WWW segue l’approccio client-server : – Il browser: lato client; richiede le pagine al Web server e le visualizza – Il Web server: lato server; invia le pagine richieste • Pagine statiche, memorizzate sul file system • Pagine dinamiche, “assemblate” dinamicamente a partire da contenuti memorizzati – ad esempio – nei database – Il DBMS: lato server; contiene i dai usati per assemblare le pagine dinamiche • Una tipica interazione: – Il client (browser) si collega al Web server tramite HTTP – L’utente, richiede l’accesso alle pagine Web, individuate tramite i loro indirizzi (URL) – Il browser contatta il server e richiede il documento – Il server Web estrae (o costruisce dinamicamente) la pagina e la invia al browser – Il browser interpreta la pagina (ovvero l’HTML di cui è composta) e ne visualizza il contenuto Copyright © 2004 - The McGraw-Hill Companies, srl Reti di Calcolatori ed Internet Informatica A – V. Perrone 43 I browser Copyright © 2004 - The McGraw-Hill Companies, srl Reti di Calcolatori ed Internet Informatica A – V. Perrone 44 Classificazione • • • • • Commercio elettronico (es. amazon.com) Consultazione contenuti (es. giornali, biblioteca, …) Funzioni di comunità (es. i portali) Erogazione servizi (es. orario ferroviario) Applicazioni intranet – Rivolte ad una singola rete locale (per es. una rete aziendale) Copyright © 2004 - The McGraw-Hill Companies, srl Reti di Calcolatori ed Internet Informatica A – V. Perrone 45 L’evoluzione del WWW • XML: linguaggio per la definizione dei documenti – – – – Basato su tag, come HTML A differenza di HTML, permette di definire nuovi tag Usato anche come linguaggio per interscambio dati Usato anche come linguaggio per definire basi di dati • Web Services: una collezione di standard che consentono di invocare dei “servizi” presenti su Internet – Ciascun servizio viene reso disponibile tramite “porte” – I dati vengono scambiati basandosi su XML Copyright © 2004 - The McGraw-Hill Companies, srl Reti di Calcolatori ed Internet Informatica A – V. Perrone 46