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++, ...).