UNIVERSITÀ MAGNA GRÆCIA DI CATANZARO FACOLTÀ di MEDICINA e CHIRURGIA Informatica e Sistemi di Elaborazione delle Informazioni Dispensa “RETI DI CALCOLATORI ED INTERNET” SOMMARIO Nel modulo “Reti di Calcolatori ed Internet” sono introdotte le Reti di Calcolatori ed Internet, con particolare riferimento alle principali applicazioni del World Wide Web, e le problematiche di sicurezza dei dati e delle comunicazioni Gli argomenti trattati comprendono: un’introduzione alle Reti di Calcolatori, alle tipologie LAN, MAN, WAN, e ai protocolli di comunicazione; una descrizione del protocollo TCP/IP (TCP, IP); la presentazione dettagliata delle principali applicazioni e servizi di Internet, ed in particolare il DNS, la posta elettronica ed World Wide Web. Prof. Mario Cannataro Dipartimento di Medicina Sperimentale e Clinica “G. Salvatore” Pag. 1/15 UNIVERSITÀ MAGNA GRÆCIA DI CATANZARO INDICE 1 Introduzione alle Reti di Calcolatori ..............................................................................3 1.1 Concetti di base.....................................................................................................3 1.2 Tipologie di comunicazione ...................................................................................4 1.3 Concetto di protocollo............................................................................................5 1.4 Tipologie di reti LAN/MAN/WAN ............................................................................6 2 Il protocollo TCP/IP.......................................................................................................8 2.1 Confronto con il modello ISO/OSI..........................................................................8 2.2 Struttura del TCP/IP ..............................................................................................9 2.3 Livello rete: protocollo IP ......................................................................................9 2.4 Livello trasporto: protocolli TCP...........................................................................10 2.5 Livello applicazione e servizi di base: DNS .........................................................10 3 Internet e World Wide Web.........................................................................................12 3.1 Architettura di Internet .........................................................................................12 3.2 World Wide Web..................................................................................................12 3.3 Posta elettronica..................................................................................................14 Prof. Mario Cannataro Dipartimento di Medicina Sperimentale e Clinica “G. Salvatore” Pag. 2/15 UNIVERSITÀ MAGNA GRÆCIA DI CATANZARO 1 INTRODUZIONE ALLE RETI DI CALCOLATORI 1.1 Concetti di base Le principali motivazioni per lo sviluppo delle reti di calcolatori sono le seguenti: • Accesso all’informazione: non solo a quella locale ma anche a quella memorizzata su calcolatori remoti. • Condivisione di risorse: in particolare, una risorsa accessibile via rete (ad esempio una stampante o un database o un file system) è di fatto condivisibile tra più calcolatori. • Affidabilità, relativa alla possibilità di realizzare per una computazione più calcolatori; • Comunicazione • Condivisione di compiti • Scalabilità. Una Rete di Calcolatori è, in estrema sintesi, un insieme di calcolatori indipendenti ed interconnessi tra loro che possono scambiarsi informazioni. Componenti di base di una Rete di Calcolatori (o più brevemente rete) sono: • Hardware di rete, comprendente gli apparati hardware necessari sia a connettere il calcolatore al mezzo di trasmissione, sia necessari per trasmettere le informazioni sul mezzo fisico e per le eventuali conversioni (es. digitale-analogico e viceversa) o apparati di interconnessione, o apparati per il controllo della trasmissione. • Software di rete, ovvero l’insieme di programmi che consentono in sintesi la comunicazione tra applicazioni residenti su calcolatori diversi. Tale software realizza le funzioni di: o codifica e formattazione dei dati, o invio e ricezione dei dati, o rilievo di errori e correzione. • Mezzo di trasmissione, ovvero il supporto fisico che trasporta le informazioni tra i diversi calcolatori. Questa componente presenta le maggiori eterogeneità: o fisiche (es. onde radio nel vuoto o su conduttori elettrici, luce su fibra ottica, raggi infrarossi, microonde, ecc.) o trasmissione (es. Ethernet, Frame Relay, ATM, GSM, GPRS, SDH, ecc.) Le reti possono essere classificate per: • tipologia di trasmissione: Prof. Mario Cannataro Dipartimento di Medicina Sperimentale e Clinica “G. Salvatore” Pag. 3/15 UNIVERSITÀ MAGNA GRÆCIA DI CATANZARO • • o punto-a-punto, dove la comunicazione avviene tra coppie di nodi, (ad es. una coppia di telefoni) e o broadcast, dove la comunicazione interessa contemporaneamente tutti i calcolatori connessi alla rete (rete locale Ethernet, televisione via satellite o via terrestre) topologia: o regolare, completamente o non completamente magliata, nel caso di reti locali e metropolitane, o di reti dedicate (come nel caso dei supercalcolatori) , o irregolare, nel caso di reti geografiche, dove ragioni di costo e di orografia del territorio impediscono la costruzione di reti regolari completamente magliate estensione: o Local Area Network (LAN). Sono le reti più diffuse e utilizzano quasi per la totalità dei casi protocolli di tipo broadcast. o Metropolitan Area Network (MAN). Le MAN possono essere pensate come delle grandi (estese) LAN visto che spesso usano una simile tecnologia, e la grande differenza è che esse sono spesso dislocate su territorio pubblico. o Wide Area Network (WAN). Le reti WAN dette anche reti geografiche, quasi sempre sono il backbone (pubblico o privato) che interconnette più LAN/MAN. o Internet, è l’interconnessione a livello mondiale di tante reti LAN, MAN, WAN La figura seguente mostra le tipiche estensioni per le differenti tipologie di rete. 1.2 Tipologie di comunicazione Oltre alla tipologia di trasmissione vista in precedenza (punto-a-punto, tra coppie di nodi, o broadcast, comunicazione contemporanea tra tutti i calcolatori), le reti possono funzionare con due modalità di comunicazione: Prof. Mario Cannataro Dipartimento di Medicina Sperimentale e Clinica “G. Salvatore” Pag. 4/15 UNIVERSITÀ MAGNA GRÆCIA DI CATANZARO Commutazione di circuito, in tal caso la comunicazione tra due host richiede l’allocazione di un circuito (fisico) tra gli host, che pertanto rimane interamente dedicato alla comunicazione per tutta la sua durata, e la succesiva deallocazione. Un esempio è la rete telefonica tradizionale (in gergo detta PSTN, Plain Switched Telephone Network), infatti durante una telefonata la composizione del numero provoca l’allocazione di tanti tronchi di canale fisico che costituiscono il circuito, quindi si ha l’effettiva trasmissione dei dati utente (la voce) e infine la deallocazione del circuito quando la telefonata è terminata. Si noti che oltre alla trasmissioen di dati utente esiste una trasmissione di dati di controllo (es, il segnale di linea libera o di linea occupata, l’invio dello squillo al numero chiamante, ecc.) detta segnalazione. Un esempio di sistema di segnalazione nella rete telefonica è SS7. Commutazione di pacchetto, in tal caso la comunicazione tra due host non richiede l’allocazione di un circuito (fisico) tra gli host. I dati da inviare vengono suddivisi in pacchetti di lunghezza limitata che vengono inviati sulla rete e consegnati in maniera indipendente l’uno dall’altro, allocando di volta in volta solo la frazione di circuito (link) necessaria a trasportare i pacchetti da un host/router ad uno adiacente. L’aspetto principale di tale modalità di comunicazione è la massimizzazione del grado di utilizzazione dei canali di trasmissione che vengono allocati solo per il tempo strettamente necessario a trasportare dati. Non appena un canale ha trasportato un pacchetto della comunicazione A, esso è disponibile per trasportare un secondo pacchetto, ad esempio appartenente sempre ad A o ad un’altra comunicazione B. La figura seguente illustra un esempio di comunicazione a commutazione di pacchetto. 1.3 Concetto di protocollo Per ridurre la complessità e per ragioni di modularità le reti sono organizzate come una serie di strati o livelli ognuno costruito sul livello inferiore. Le convenzioni e le regole usate nelle comunicazioni di uno stesso livello tra due macchine sono dette protocollo. Prof. Mario Cannataro Dipartimento di Medicina Sperimentale e Clinica “G. Salvatore” Pag. 5/15 UNIVERSITÀ MAGNA GRÆCIA DI CATANZARO Un protocollo è un accordo tra più elementi che devono stabilire una conversazione. La figura seguente illustra l’architettura a livelli dei protocolli di rete. 1.4 Tipologie di reti LAN/MAN/WAN Local Area Network (LAN). Sono le reti più diffuse e utilizzano quasi per la totalità dei casi protocolli di tipo broadcast. Lo standard “de facto” per reti LAN o reti Locali è Ethernet nelle sue diverse varianti (Ethernet, FastEthernet, GigaEthernet, operanti rispettivamente con bande di trasmissione dati di 10, 100, 1000 Mbit/sec). Come verrà illustrato di seguito di definisce Intranet una rete LAN che utilizza i protocolli TCP/IP e le applicazioni Web per espletare i suoi servizi. Metropolitan Area Network (MAN). Le MAN possono essere pensate come delle grandi (estese) LAN visto che spesso usano una simile tecnologia, e la grande differenza è che esse sono spesso dislocate su territorio pubblico. Solo di recente con la cablatura delle città esse iniziano a diffondersi in Italia, esempi sono FastWeb, che collega la cintura urbana intorno a Milano e una rete metropolitana sviluppata presso Pisa. Normalmente Prof. Mario Cannataro Dipartimento di Medicina Sperimentale e Clinica “G. Salvatore” Pag. 6/15 UNIVERSITÀ MAGNA GRÆCIA DI CATANZARO sono gestite da provider pubblici o da società miste pubblico/private, dove la componente pubblica è spesso o titolare del territorio (es, amministrazione comunale) o proprietaria di public utilities (rete gas, rete fognaria, autostrate, ferrovie) dove vengono dislocati i collegamenti. Wide Area Network (WAN). Le reti WAN dette anche reti geografiche, quasi sempre sono il backbone (pubblico o privato) che interconnette più LAN/MAN. Esse si basano su una sotto-rete con routers, dove il backbone contiene i routers, la periferia contiene gli Host che sono connessi alla sottorete tramite apparati di switching e routers. Al contrario delle LAN e spesso delle MAN, le reti WAN usano quasi esclusivamente protocolli di comunicazione punto-punto. Mentre le prire reti ad estensione geografica, quale la rete telefonica, adottavano una modalità di comunicazione detta a commutazione di circuito, le reti WAN attuali usano la commutazione di pacchetto. Internet, è l’interconnessione a livello mondiale di tante reti LAN, MAN, WAN Prof. Mario Cannataro Dipartimento di Medicina Sperimentale e Clinica “G. Salvatore” Pag. 7/15 UNIVERSITÀ MAGNA GRÆCIA DI CATANZARO 2 IL PROTOCOLLO TCP/IP 2.1 Confronto con il modello ISO/OSI Il protocollo TCP/IP (Transmission Control Protocol / Internet Protocol), utilizza i principi di base del modello ISO/OSI, ma è notevolmente più semplice e quindi più efficiente delle implementazioni ISO/OSI. Tra questi si ricordano: • Decomposizione in livelli per diminuire la complessità • Ogni livello offre servizi ai livelli superiori, mascherando come questi servizi sono realizzati • Ogni livello passa dati e informazioni di controllo al livello sottostante, sino a raggiungere il livello fisico dove avviene la trasmissione • Meccanismo di “imbustamento” Applicazione Applicazione (telnet, ftp, smtp,...) Presentazione assente Sessione assente Trasporto Trasporto (TCP,UDP) Rete Rete (IP, ICMP, ...) Data Link Host-to-Network (non specificato) Fisico Il TCP/IP, nato su iniziativa dell’agenzia americana della difesa DARPA, è stato largamente adottato in ambito accademico ed è diventato in poco tempo lo standard de facto per i protocolli di rete, superando tutti i protocolli proprietari sviluppati dai vari produttori (ad es. AppleLink della Apple, Token Ring di IBM, PSI DecNet di Digital e così via). La semplificazione rispetto al modello OSi si esplica nella non presenza e definizione dei due livelli Session e Presentation, e nella non specifica, che è lasciata a costruttori terze parti, dei livelli Physical e Data Link (ad esempio, il protocollo Data Link della rete Prof. Mario Cannataro Dipartimento di Medicina Sperimentale e Clinica “G. Salvatore” Pag. 8/15 UNIVERSITÀ MAGNA GRÆCIA DI CATANZARO Ethernet, definito da Xerox, è ora standardizzato da IEEE). La figura seguente mostra il confronto tra i due modelli ISO/OSI e TCP/IP. 2.2 Struttura del TCP/IP I principali protocolli del Livello di TRASPORTO sono: TCP Transmission Control Protocol • flusso di byte bidirezionale canale virtuale, • dati non duplicati, • affidabili, con controllo di flusso UDP User Datagram Protocol • Scambio di messaggi inaffidabile • senza connessione e senza ordine Il principale protocollo del Livello di RETE è: IP Internet Protocol • Scambio di datagrammi senza garanzia di consegna. 2.3 Livello rete: protocollo IP Indirizzi IP. Un indirizzo IP identifica univocamente un Host sulla rete: Prof. Mario Cannataro Dipartimento di Medicina Sperimentale e Clinica “G. Salvatore” Pag. 9/15 UNIVERSITÀ MAGNA GRÆCIA DI CATANZARO • • • Gli indirizzi sono organizzati in classi di differente cardinalità, per sopperire ad esigenze di differenti organizzazioni Gli indirizzi hanno una semplice gerarchia – Rete – Host nell’ambito della rete Un indirizzo IP è una stringa di 32 bit, spesso presentata nella “dot notation”, come sequenza di 4 byte Esempio di indirizzo IP. L’indirizzo di classe B – 160.97.3.4 • Denota l’host – x.x.3.4 (00000011-00000100), n° 772 • sulla rete – 160.97.x.x, (10100000-11000001), n° 41153 2.4 Livello trasporto: protocolli TCP Di seguito sono illustrate le funzionalità del livello Trasporto. • • • • • • 2.5 Controllo di flusso Controllo delle connessioni Controllo di errori Sequenzializzazione Multiplexing sulle applicazioni Controllo della congestione. p Trasporto nInternet n Host-to-Network Livello applicazione e servizi di base: DNS DNS (Domain Name System) Gli indirizzi delle macchine in rete sono definiti in formato numerico, ma sono più facili da usare se sono indicati come delle stringhe, che sono più facili da ricordare e da Prof. Mario Cannataro Dipartimento di Medicina Sperimentale e Clinica “G. Salvatore” Pag. 10/15 UNIVERSITÀ MAGNA GRÆCIA DI CATANZARO capire. Ad es. l’indirizzo numerico 150.145.63.1 corrisponde all’host di nome simbolico www.icar.cnr.it. Gli utenti usano nomi simbolici, ma per comunicare sulla rete servono gli indirizzi IP numerici. Quando gli host sono pochi la tabella di conversione può essere memorizzata localmente ad ogni host (es, /etc/hosts in Unix). Il DNS è distribuito: ogni sito mantiene il suo database relativo agli host locali eseguendo su una macchina il server DNS che può essere interrogato da altri siti su Internet. Il DNS è un database distribuito che permette di convertire i nomi simbolici degli host negli indirizzi IP numerici (e viceversa). I nomi in Internet sono organizzati in modo gerarchico. I nodi rappresentano domini e le foglie domini senza sottodomini I domini sono di tipo generico: com organizzazioni commerciali edu università USA gov organizzazioni governative USA int organizzazioni internazionali mil rete militare USA net fornitori di servizi di rete org organizzazioni no profit e legati alla posizione geografica it de uk fr us au italia germania united kingdom francia united states australia Prof. Mario Cannataro Dipartimento di Medicina Sperimentale e Clinica “G. Salvatore” Pag. 11/15 UNIVERSITÀ MAGNA GRÆCIA DI CATANZARO 3 INTERNET E WORLD WIDE WEB 3.1 Architettura di Internet Una definizione di Internet è (Federal Networking Council, 24/10/1995) : Sistema globale di informazione che: • e’ collegato da un unico spazio di indirizzi basato sul protocollo IP • consente di comunicare mediante protocollo TCP/IP o sue estensioni • rende accessibili, pubblicamente o privatamente, servizi basati sulla infrastruttura descritta Internet è una rete data dall’interconnessione, a livello globale, di varie reti, tutte basate sul protocollo TCP/IP. 3.2 World Wide Web Il World Wide Web (WWW) è una architettura software per l’accesso a documenti distribuiti su Internet e collegati tra loro. Una “Ragnatela” mondiale di documenti organizzati secondo un modello ipertestuale. I concetti alla base del WWW sono: • Internet, • ipertesti multimediali, documenti a lettura non sequenziale con inserti multimediale Il Web è un sistema client-server su Internet per l’accesso a ipertesti multimediali Prof. Mario Cannataro Dipartimento di Medicina Sperimentale e Clinica “G. Salvatore” Pag. 12/15 UNIVERSITÀ MAGNA GRÆCIA DI CATANZARO richiesta client risposta server Il Web usa il modello client-server per lo scambio delle informazioni. • Il client, è realizzato dal browser che “gira” sull’elaboratore dell’utente. • Il server, è un programma applicativo che “gira” sull’elaboratore del fornitore di informazioni (provider). I concetti di base per la navigazione su Web e per la visualizzazione degli ipertesti sono: • Browser: programma applicativo per navigare in rete e per visualizzare ipertesti, che è capace di inviare richieste a Server web • Server Web: applicazione che gestisce insiemi di ipertesti e che risponde ad invocazioni di Browser web • Page (pagina): singolo “foglio” di un ipertesto. • Link, iperlink: porzione di una pagina che, se selezionata, permette di raggiungere un altro punto dell’ipertesto o una nuova risorsa. • Home-page: “punto di ingresso” di un sito web. • URL. Essi sono gli indirizzi per “trovare” i documenti nel Web e sono detti Uniform Resource Locator (URL) e identificano in modo univoco i nodi (i documenti). Lo schema generale di un URL è: protocollo://indirizzodelserver[:portaTCP]/pathname, ad esempio: http://www.unicz.it/index.html, è l’indirizzo della home-page dell’Università di Catanzaro. Prof. Mario Cannataro Dipartimento di Medicina Sperimentale e Clinica “G. Salvatore” Pag. 13/15 UNIVERSITÀ MAGNA GRÆCIA DI CATANZARO HTML. Gli ipertesti del Web sono scritti usando il linguaggio HyperText Markup Language (HTML). • • HTML non è un linguaggio di programmazione! HTML descrive la disposizione di tutti gli elementi presenti all’interno di un documento ipertestuale. Include documenti in altri formati. Protocollo HTTP (HyperText Transfer Protocol). La comunicazione tra client e server Web avviene seguendo il protocollo HTTP, cioè un protocollo a livello di applicazione per lo scambio di ipertesti multimediali: • • • • Hyper Text Transmission Protocol (HTTP) introdotto per trasmettere documenti ipertestuali / ipermediali sulla rete. Il protocollo defisce l’interazione (richieste e risposte) tra client e server Web. Le richieste HTTP sono in formato ASCII e le risposte in formato MIME. Prescrive il formato di – nomi delle risorse (URL) – domande – risposte Ogni sito Web ha un processo server in ascolto su una porta TCP. La porta standard è la numero 80 ma può essere usata una porta con numero diverso. Questo permette di avere più server Web su una stessa macchina. Il protocollo è senza stato (non c’è memoria delle transazioni). Web Servers e Download di Pagine Web • Il browser controlla e determina l’URL, (es. www.w3c.org), • Il browser chiede al DNS l’indirizzo IP del sito richiesto, • Il DNS risponde 18.23.0.23, • Il browser crea una connessione TCP sulla porta 80 della macchina 18.23.0.23, • Il browser invia il comando GET/hypertext/WWW/TheProject.html • Il server invia il file TheProject.html, • Viene chiusa la connessione TCP, • Il browser visualizza il testo del file e quindi le immagini contenute in esso. 3.3 Posta elettronica Questa applicazione permette di scambiare dati tra due o più utenti identificati univocamente sulla rete. Gli standard RFC 821 e RFC 822 proposte da ARPANET sono stati accettati a scapito di altre proposte come X.400 proposto dal CCITT. Due sottosistemi: • User agent : agenti utenti che permettono di inviare e ricevere messaggi di posta. Prof. Mario Cannataro Dipartimento di Medicina Sperimentale e Clinica “G. Salvatore” Pag. 14/15 UNIVERSITÀ MAGNA GRÆCIA DI CATANZARO • Transfer agent : agenti di trasferimento che si occupano di far arrivare i messaggi dal mittente al destinatario. Questi implementano cinque funzioni base: • composizione • trasferimento • visualizzazione • notifica • eliminazione Agenti utente • Programmi per leggere, comporre e gestire la posta e le mailboxes (es. Eudora, Netscape Messenger, Outlook, Pine, Mailtool) • Possono utilizzare protocolli per la gestione di mailbox remote (POP3, IMAP). Agenti di trasferimento • Gestiscono il trasferimento dei messaggi dalla sorgente alla destinazione e la ricezione dei messaggi sui server di posta. • Sono programmi di sistema che sono eseguiti in background e usano il protocollo SMTP per trasferire i messaggi sulla rete (es. sendmail, postfix). Il trasferimento dell’email segue il seguente flusso: mittente agente utente coda della posta da spedire agente di trasferimento SMTP connessione TCP tramite la porta 25 destinatario agente utente mailboxes degli utenti agente di trasferimento Indirizzi di posta elettronica. Hanno il formato [email protected] • Gli indirizzi sono risolti dal DNS che individua il server a cui inviare il messaggio (eventualmente usa una richiesta MX) • Il server di posta riceve i messaggi e li accoda nella mailbox dell’utente. • La mailbox è un file di testo in una directory specifica nel server (es. in Unix può essere /spool/mail/utente ) • L’utente può accedere alla posta localmente leggendo il file mailbox. Il client per la lettura della posta provvede a individuare i singoli messaggi nella mailbox. Prof. Mario Cannataro Dipartimento di Medicina Sperimentale e Clinica “G. Salvatore” Pag. 15/15