1.4 Introduzione ad Internet 1.4.1 Cosa è Internet 1.4
Transcript
1.4 Introduzione ad Internet 1.4.1 Cosa è Internet 1.4
1.4 Introduzione ad Internet 1.4.1 Cosa è Internet Internet è la più grande rete delle reti mondiale (vedi RICHIAMO), che interconnette alcune centinaia di milioni di elaboratori. Nata nelle intenzioni dei suoi inventori come "la" rete delle reti, nell'arco di pochi decenni, è divenuta la rete globale. La caratteristica tecnica che identifica Internet è l’uso del protocollo di trasmissione Transmission Control Protocol (TCP) e l'Internet Protocol (IP), noto con l’acronimo TCP-IP. I requisiti per collegarsi ad Internet sono banali: possedere il software adatto (distribuito dal venditore del computer insieme con il sistema operativo) ed avere una connessione (ad esempio con un provider, vedi in seguito). La natura globale con la quale è stata concepita Internet ha fatto sì che oggi, non solo apparati di calcolo in senso stretto, ma una enorme varietà di dispositivi, abbiano tra le proprie funzionalità quella di connettersi ad Internet e attraverso Internet a qualche servizio di aggiornamento, di distribuzione di informazione e dati; dal frigorifero, al televisore, all'impianto di allarme, al forno, alla macchina fotografica. Internet è diventato ormai una forma di comunicazione di massa, motivo per il quale ci sono stati diversi tentativi di filtrare una parte di informazioni o addirittura di controllarla. Con l'aumentare del terrorismo e in generale dell'uso criminoso della rete, Internet sta in effetti diventando sempre più controllata. Ma l'auspicio è che, pur effettuandosi i controlli anti-terrorismo e anticrimine, Internet resti un sistema libero, anche perché la vita delle persone é migrata sempre più verso la grande rete, rendendola così più vulnerabile alle violazioni della loro privacy. RICHIAMO § 1.3.4 - Reti di reti, internet e Internet 1.4.2 Nascita ed evoluzione Internet nasce negli anni Sessanta come progetto militare. La stessa idea di creare nella rete prtcprsi alternativi (vedi RICHIAMO) nasce da una strategia militare: “creare una rete di elaboratori decentrata che potesse resistere ad un attacco nucleare da parte dell'Unione Sovietica”; tale rete sarebbe sopravvissuta a molti attacchi visto che un attacco ad un singolo elaboratore non ne avrebbe impedito il funzionamento generale, ed i collegamenti ridondanti avrebbero sostituito quelli distrutti. Alla fine della guerra fredda, all'inizio degli anni Novanta, Internet è stata messa a disposizione di impieghi civili, collegando dapprima i principali centri universitari e raggiungendo poi, in modo ampio, l'utenza commerciale e casalinga. Progenitore di Internet è il progetto Arpanet, finanziato dall'Advanced Research Projects Agency (ARPA), una agenzia del Dipartimento della Difesa statunitense. La rete venne fisicamente costruita nel 1969 collegando quattro nodi: l'Università della California di Los Angeles, l'SRI di Stanford, l'Universita della California di Santa Barbara, e l'Università dello Utah. Negli incontri per definire le caratteristiche della rete, vennero introdotti i fondamentali Request For Comments (RFC), tutt'ora i documenti fondamentali per tutto ciò che riguarda i protocolli informatici della rete. Le prime applicazioni furono Telnet e File Transfer (vedi in seguito). La posta elettronica fu “inventata” da Ray Tomlinson nel 1971 e poi perfezionata dallo stesso Tomlinson e da Larry Roberts che aveva prodottoun altro programma per la posta elettronica. Nel 1972 Arpanet fu presentata al pubblico e in pochi anni allargò i suoi nodi oltreoceano, contemporaneamente all'avvento del primo servizio di invio pacchetti a pagamento (Telenet della BBN). In Francia inizia la costruzione della rete Cyclades mentre la rete norvegese Norsar permise il collegamento di Arpanet con lo University College di Londra. Con la definizione del protocollo TCP-IP le strutture che erano intanto divenute i gestori di Arpanet, DARPA e DCA, diedero il via ufficiale ad Internet. RICHIAMO: § 1.3.7 - La commutazione di pacchetto 1.4.3 Internet Service Provider Un Internet Service Provider (ISP) è una struttura commerciale o un'organizzazione che offre agli utenti accesso a Internet (nelle diverse forme di collegamento fisso, flat o attraverso chiamata telefonica, dial up) con i relativi servizi (registrazione di dominio, hosting, accesso al web, posta elettronica, etc.). Con l'esplosione di Internet all'inizio del 2000 parecchi ISP sono stati ristrutturati o acquisiti da altri più grandi. Gli ISP si dividono in una gerarchia di livelli, quelli di primo livello hanno una copertura internazionale, mentre quelli di secondo hanno, di solito, una copertura nazionale-regionale. I punti di connessione dell’ISP si chiamano POP (Point of Presence) e fisicamente si compongono di router a cui si possono connettere da un lato i router di ISP di livello superiore, dall’altro gli utenti che chiedono l’accesso ad Internet. 1.4.3.1 Le reti degli ISP (approfondimento) La rete degli ISP costituiscono la cosiddetta dorsale (backbone) di Internet, questi sono ISP di primo livello che hanno una rete di interconnessione velocissima che varia dai 2,5 ai 10 Gbps, sono internazionali e direttamente connessi ad altri ISP di primo livello. A tali ISP sono connessi ISP di secondo livello. Al primo livello degli ISP (fornitori di quelli di secondo, che ne sono utenti) fanno parte grandi società telefoniche come ad esempio la Statunitense AT&T, etc. Rete di un ISP 1.4.4 Il protocollo TCP/IP Il protocollo tipico di Internet è in realtà una famiglia di protocolli, la “Internet Protocol Suite” i cui due esponenti principali sono: • • il TCP (Trasmission Control Protocol) un protocollo che fornisce un servizio full-duplex (vedi RICHIAMO) orientato alla trasmissione con conferma e controllo di flusso, cioè una tecnica per la quale il ricevente trasmette a sua volta pacchetti per indicare la corretta ricezione. l'IP (Internet Protocol) che si occupa di instradare i messaggi sulla rete, ma ha anche il compito di frammentare e riassemblare i messaggi in pacchetti (vedi RICHIAMO). Questi protocolli, progettati presso l’University di Berkeley in California, hanno avuto con Internet un grande successo, tanto che gli Enti di standardizzazione, di fronte al fatto compiuto della massiccia diffusione, li hanno preferiti allo stack ISO/OSI. La differenza sostanziale fra TCP/IP e ISO/OSI consiste nel fatto che lo stack TCP/IP ha un numero inferiore di livelli. RICHIAMO: § 1.2.3 - Canali mono e bidirezionali, RICHIAMO: § 1.3.7 - La commutazione di pacchetto RICHIAMO: § 1.2.4 - Canali punto-punto e multi-punto RICHIAMO: § 1.3.8 - I protocolli di rete e l’organizzazione a livelli. L’ISO-OSI 1.4.4.1 La “suite”TCP/IP (approfondimento) La “suite di protocolli Internet” (TCP/IP), è un insieme di protocolli a 4 livelli; ogni livello utilizza specifici protocolli di comunicazione (vedi figura). A livello “Applicazione” si usano diversi protocolli, in dipendenza dell’applicazione, ad esempio FTP per effettuare il download di un file, SMTP per scarica la posta elettronica, etc. A livello trasporto si può usare o il Transmission Control Protocol (TCP) o lo User Datagram Protocol (UDP). Su TCP si appoggiano gran parte delle applicazioni Internet. Esso è un protocollo corrispondente al livello 4 (trasporto) del modello di riferimento OSI. Nel protocollo TCP l’intestazione di un pacchetto (TCP header) è costituita da diverse sezioni tra cui evidenziamo: • • • Porta sorgente (Source port) [16 bit] che indica il porto sorgente; Porta di destinazione (Destination port) [16 bit] che indica il porto destinazione; Numero di sequenza (Sequence number) e Numero di riconoscimento (Acknowledgement number) sono usati per mantenere i pacchetti in ordine, e per segnalare all'altra parte quali pacchetti sono stati ricevuti; A livello rete esiste lo Internet Protocol (IP), che è un protocollo di tipo datagramma. Secondo la classificazione ISO/OSI è di livello rete (3). La versione correntemente usata del protocollo IP è detta anche IPv4 per distinguerla dalla più recente IPv6, nata dall'esigenza di gestire meglio il crescente numero di computer connessi ad Internet. IP è un protocollo di interconnessione di reti (Inter-Networking Protocol), nato per interconnettere reti eterogenee per tecnologia, prestazioni, e gestione. All'interno di una rete ad ogni interfaccia viene assegnato un indirizzo univoco, in modo da rendere possibili le comunicazioni tra un computer e l'altro. Va considerato, infatti, che non è l'host ad essere connesso ma è l'interfaccia fisica (ad esempio una scheda di rete). Un router, ad esempio, ha diverse interfacce e per ognuna occorre un indirizzo IP. "Suite" di protocollo Internet (TCP/IP) Livello Protocolli Application TELNET, FTP, SMTP, HTTP, NNTP, etc. Transport TCP, UDP Internet IP Host-to-Network Vari standard per LAN, WAN, MAN 1.4.5 Indirizzi IP numerici L’indirizzo IP è un codice numerico che consente di identificare un host (computer) di Internet. Nello standard attuale (IPv4) è costituito da quattro numeri separarti da un punto, ciascuno com- preso tra 0 e 255 e corrisponde ad una codifica su 32 bit (è peraltro già pronto un nuovo standard, IPv6, a 128 bit, teso ad estendere il numero di indirizzi disponibile). Un esempio è l'indirizzo: 60.101.52.102. Gli indirizzi IP possono essere pubblici o privati; i primi sono quelli dei computer posti direttamente sulla rete Internet, i secondi di quelli posti su una LAN collegata alla rete attraverso altri computer. Sia gli indirizzi pubblici che quelli privati possono essere a loro volta statici o dinamici; i primi sono assegnati una tantum ad un computer stabilmente collegato ad Internet, i secondi sono assegnati temporaneamente per un tempo determinato a un host non connesso permanentemente alla rete. 1.4.5.1 IPv6 (approfondimento) L'indirizzo IPv6 (nuovo standard per gli indirizzi Internet) è costituito da 128 bit. Esso viene descritto da 8 numeri esadecimali rappresentati su 8 byte (quindi ogni numero varia tra 0 e 65.535) separati dal simbolo ":". Un esempio è 2001:0DB8:0000:0000:0000:0000:0000:0001, che può essere abbreviato in 2001:DB8::1 (i due punti doppi stanno a sostituire la parte dell'indirizzo che è composta di soli zeri consecutivi). Il numero di indirizzi disponibili in IPv6 è 2128 = 3,4×1038. 1.4.5.2 Indirizzi IP pubblici e privati (approfondimento) Un indirizzo pubblico è assegnato, in modo statico o dinamico, da un ISP oppure da una organizzazione. Ad esempio, ad un computer domestico viene assegnato un indirizzo pubblico dinamico quando si connette alla rete. L'assegnazione è automatica ed univoca (non è possibile che due PC connessi a Internet abbiano lo stesso indirizzo IP). Al fine di permettere la creazione di reti che utilizzino il protocollo IP senza necessariamente essere direttamente connesse ad Internet, sono state riservate alcune classi di indirizzi IP come indirizzi privati. Essi non possono essere utilizzati su Internet, ma sono utilizzabilii per una rete privata, sia domestica sia di una grande azienda. Un computer che utilizzi un indirizzo privato non può collegarsi direttamente ad un computer su un indirizzo pubblico, ma esistono dei meccanismi per permettergli di fruire egualmente dell'accesso ad Internet, come il NAT che viene spesso usato per far connettere una rete privata ad Internet attraverso un indirizzo pubblico. 1.4.5.3 Indirizzi IP statici e dinamici (approfondimento) Mentre un indirizzo statico è assegnato una tantum ad un computer, un IP dinamico è un indirizzo temporaneo e variabile, assegnato a un host non connesso permanentemente alla rete. Un protocollo che assegna gli IP dinamici è il DHCP (Dynamic Host Configuration Protocol): gli indirizzi assegnati dinamicamente hanno una scadenza temporale assegnata dall'amministratore di rete, o durano finché l'host non verrà disconnesso dalla rete. Questo metodo è generalmente usato dai providers commerciali per tutti gli utenti che si connettono al loro servizio tramite linea telefonica, ma anche dai gestori di reti locali per il collegamento di PC portatili. 1.4.5.4 Assegnazione degli indirizzi (approfondimento) Apposite autorità assegnano classi di indirizzi pubblici agli ISP (Internet Service Provider) o alle grosse organizzazioni, che a loro volta le distribuiscono ai loro utenti, in modo statico o dinamico. Così, l'ISP assegna in genere dinamicamente l'indirizzo al computer domestico in modo automatico (in tal modo può gestire una molteplicità di utenti maggiore del numero di indirizzi disponibili). In alcuni casi, gli ISP assegnano IP statici: si tratta, in sostanza, di IP che non variano ad ogni connessione, bensì rimangono immutati, in genere, questi IP vengono offerti sotto forma di servizio a pagamento. Un computer necessita di un indirizzo IP pubblico statico nel caso in cui si debba offrire un servizio Internet, ad esempio una macchina su cui è installato un Server Web per ospitare dei siti web. 1.4.6 Indirizzi simbolici: il DNS Gli indirizzi IP (vedi RICHIAMO) sono numeri e come tali non sono facili da ricordare per gli esseri umani; per questa ragione, spesso ad un indirizzo IP viene associato un nome simbolico. Il sistema che consente l’uso di nomi simbolici in luogo degli indirizzi numerici è il DNS (Domain Name System). Esso è un servizio di Internet realizzato tramite una enorme tabella (in realtà si tratta di un database distribuito su moltissimi “DNS server” sparsi in tutto il mondo) che pone in corrispondenza il nome simbolico degli host con il loro indirizzo numerico. La strategia per l’assegnazione dei nomi si basa sul concetto dei “domini di livelli successivi”; un nome è costituito da una serie di stringhe separate da punti, ad esempio unina.it. La parte più importante è la prima a destra, detta dominio di primo livello (TLD, Top Level Domain), per esempio "org" o "it" (talvolta questo dominio specifica la nazionalità) ed ogni dominio di primo livello è gestito da una Autorità alla quale il privato o l’organizzazione deve rivolgersi per “registrare” un dominio di secondo livello. Un dominio di secondo livello forma un indirizzo composto di due parti, per esempio unina.it per indicare il dominio unina (dominio di secondo livello) in quello di primo livello it. Ogni ulteriore elemento specifica un'ulteriore livello (ad esempio, docenti.unina.it, in cui docenti è un dominio di terzo livello) e così via. Quando un dominio di secondo livello viene registrato, il proprietario è autorizzato a usare i nomi di dominio relativi ai successivi livelli. RICHIAMO: § 1.4.5 - Indirizzi IP numerici 1.4.7 Internet: una sintesi Internet è una rete di reti di enorme complessità, appoggiata a strutture fisiche e collegamenti di vario tipo (fibre ottiche, cavi coassiali, ponti radio, ecc.), che si estende includendo tutte le attuali tecnologie di rete (dalle satellitari ai telefoni cellulari) e le più disparate organizzazioni (reti private, pubbliche, aziendali, universitarie, commerciali, etc.). La rete interconnette i più disparati utenti e sistemi ed è costituita da host, da linee di trasmissione e da apparati di rete, come i router, che realizzano i collegamenti. Gli host sono computer dei tipi più disparati (dai grossi computer ai personal, dai portatili ai palmari, ai telefonini). La comunicazione avviene con la tecnica della commutazione di pacchetto e il protocollo usato (si dovrebbe meglio dire la famiglia di protocolli) è il TCP/IP, uno standard de facto per la comunicazione tra le varie reti, consentendo ai più diversi Enti di scambiare dati fra di loro o al loro interno. L'utenza casalinga accede ad Internet mediante gli ISP (Internet Service Provider) i quali sono connessi a loro volta ad ISP di livello superiore che utilizzano router ad alta velocità e link in fibra ottica e forniscono agli utenti, oltre alla possibilità di collegarvisi, anche servizi tipici di Internet come ad esempio la posta elettronica (vedi in seguito). La struttura di Internet non è uniforme ma è composta da un'ossatura molto veloce e potente (il cosiddetto backbone) a cui si connettono reti di accesso in genere più lente. 1.4.8 Intranet Il protocollo TCP/IP, indipendente da specifiche hardware o software proprietarie, viene oggi assunto anche da reti diverse da Internet, come le Extranet e le Intranet, a causa della ormai raggiunta sua universalità. In particolare, una Intranet è una rete interna aziendale che utilizza tale protocollo. È dunque una rete privata finalizzata allo scambio e alla condivisione di informazioni all'interno di un'organizzazione, che opera come Internet. In genere la rete utilizza la tecnologia web (vedi in seguito) come strumento di accesso ai programmi dei suoi sistemi informatici e gli utenti, dunque, utilizzano prevalentemente il browser come interfaccia (come si vedrà, il browser è uno dei componenti software alla base del servizio web di Internet). Il vantaggio è che così si ottiene un sistema indipendente dalle specifiche applicazioni e dal computer disponibile: quest'ultimo può essere un PC, un Macintosh o una workstation UNIX e, purché disponga di un browser, può accedere alle applicazioni con le medesime regole. Le aziende possono utilizzare una Intranet per ottenere alcuni dei seguenti vantaggi: • • • • • • • • condividere documentazione tra diversi reparti e persone, rendere efficiente il flusso delle comunicazioni aziendali interne, consultare la disponibilità di merci in diversi magazzini sparsi sul territorio, condividere informazioni sui contatti dell'azienda, evitare l'inutile e dannosa duplicazione di informazioni, coordinare diversi uffici e/o filiali sparse sul territorio, accedere all'informazione da qualsiasi luogo del mondo. gestire il proprio sistema informativo aziendale. 1.4.9 Extranet Una Extranet è una rete privata che utilizza il protocollo TCP/IP e collega in modo protetto reti locali anche distanti fra loro; per condividere informazioni con soci, acquirenti, fornitori o altri partner, limitandone l'accesso ai soli utenti autorizzati. Può essere vista come una Intranet che viene estesa ad alcuni (selezionati) utenti esterni. Una Extranet, per essere affidabile, necessita di protocolli per garantire la sicurezza nelle transizioni e il rispetto della privacy degli utenti; ovvero strumenti come firewall (vedi in seguito), strumenti per l'autenticazione, algoritmi per criptare messaggi e così via. 1.4.10 Applicazioni Client-Server Le applicazioni in rete spesso si realizzano seguendo il paradigma di elaborazione ClientServer, secondo il quale l'applicazione si sviluppa usando due computer, l'uno che funge da server e l'altro da client. I due computer cooperano per svolgere un compito comune, l’applicazione. Per server si intende un computer dedicato all’esecuzione di uno specifico servizio (p.e. la posta elettronica, la stampa, il web); esso ha un comportamento di tipo reattivo, vale a dire che le sue azioni sono reazioni a eventi generate da un client: il server non esegue operazioni in modo spontaneo, ma solo su richiesta di un client. Spesso i server assumono il nome dell'applicazione che servono, come nel caso della gestione delle stampe (print server), dello scambio di dati (file server), della gestione della posta (mail server) oppure della gestione del web (web server). Talora server diversi risiedono sul medesimo computer, talora usano computer dedicati: Il client, invece, è un computer collegato in rete che richiede un servizio al server. Il client è localmente dotato di un software apposito per il servizio richiesto, detto anche esso “client”. Il collegamento fra server e client avviene mediante appositi protocolli. Tipici esempi sono: • • L’accesso al web, dove il software client è il browser (Internet Explorer, Netscape Navigator, ecc. …), che comunica con un web server il quale fornisce le informazioni richieste dall'utente; la comunicazione avviene attraverso il protocollo http. La posta elettronica: un server (quello dell'ISP o dell'organizzazione) possiede il software "mail server" e gli utenti finali (i computer domestici oppure quelli negli uffici dell'organizzazione) posseggono il software "client di posta" (Outlook, Eudora, ...). La comunicazione avviene attraverso i protocolli POP3, IMAP …. Architettura Client-Server 1.4.11 Applicazioni Peer-to-Peer In alternativa al paradigma client-server, una applicazione può usare quello peer-to-peer (o P2P). In esso non esistono client e server fissi, ma nodi equivalenti (peer, “pari” appunto) che cooperano nello svolgimento di un’applicazione: tutti gli elaboratori occupano la stessa posizione gerarchica svolgendo, se necessario, i ruoli di client e di server altternativamente. Un esempio classico di applicazioni P2P è l’uso della rete per la condivisione di file (File sharing): in essa due (o più) processi “simili” (se non addirittura cloni dello stesso processo) comunicano con un protocollo noto ad entrambi, sono in cooperazione bilanciata per svolgere la funzionalità della condivisione e scambio dei file (winmx, emule, idc++, ...).