Come funziona Internet

Prima di procedere nel nostro viaggio attraverso Internet è opportuno dare un'occhiata 'dentro la scatola'. La conoscenza minima delle tecnologie che consentono il funzionamento di Internet è infatti indispensabile per sfruttarne al meglio le potenzialità; sapere come funzionano le cose permette all'utente di individuare le cause di eventuali problemi o malfunzionamenti, e, se non proprio di risolverli, almeno di dare informazioni precise a chi dovrà intervenire.

Non intendiamo comunque trasformare questo testo in un manuale tecnico sui sistemi di internetworking: cercheremo solamente di introdurre i principi fondamentali delle tecnologie che permettono a Internet di funzionare in modo efficiente e sicuro.

Inevitabilmente, saremo costretti ad usare un certo numero di strane sigle, con le quali vengono indicati i vari sistemi su cui si basa la rete. Ma a questo è bene fare l'abitudine: il mondo di Internet è popolato di sigle (nella maggior parte acronimi, spesso molto creativi).

Sottolineiamo comunque che la lettura di questo capitolo, eccetto il paragrafo intitolato 'I nomi della rete', non è assolutamente pregiudiziale alla comprensione del resto del manuale. Volendo potrete perciò saltarlo, e magari tornarci quando avrete maggiore dimestichezza con il mondo di Internet.

Un linguaggio comune: il protocollo TCP-IP

Internet è uno strumento di comunicazione. In primo luogo è uno strumento di comunicazione tra computer, e poi uno strumento di comunicazione tra gli uomini che usano i computer interconnessi attraverso la rete. Naturalmente i due soggetti in campo, computer e uomini, hanno esigenze diverse, spesso contrastanti, che occorre tenere presenti per fare in modo che la comunicazione vada a buon fine. Le tecnologie su cui si basa Internet si sono evolute nel corso degli anni proprio per rispondere con la massima efficienza a queste esigenze.

Il primo problema in ogni processo di comunicazione è naturalmente la definizione di un linguaggio che sia condiviso tra i diversi attori che comunicano; attori che, nel caso di Internet, sono in primo luogo i computer. E i computer, come ben si sa, pur usando tutti lo stesso alfabeto - il codice binario - 'parlano' spesso linguaggi differenti e incompatibili. Fuori di metafora, computer diversi usano sistemi operativi, codici di caratteri, strutture di dati, molto diversi. Per permettere la comunicazione tra l'uno e l'altro è necessario definire delle regole condivise da tutti. Questa funzione, nell'ambito della telematica, viene svolta dai protocolli.

Nel mondo diplomatico il protocollo è appunto una serie di regole di comportamento e di etichetta rigidamente codificata che permette a persone provenienti da diversi universi culturali di interagire senza creare pericolose incomprensioni. Protocolli sono detti anche gli accordi o i trattati internazionali. Questi usi del termine si ritrovano sostanzialmente invariati nell'ambito della telematica: un protocollo di comunicazione definisce le regole per manipolare e inviare i bit tra computer che usano ambienti operativi ed architetture hardware diversi. Naturalmente nel caso di Internet, che interconnette milioni di computer e di sottoreti, il problema di individuare protocolli comuni è fondamentale.

Il protocollo che permette attualmente il funzionamento di questa complessa società multietnica viene normalmente indicato con la sigla TCP/IP, che è un acronimo per Transfer Control Protocol/Internet Protocol. Possiamo dire che una delle ragioni del successo di Internet risiede proprio nelle caratteristiche del suo protocollo di comunicazione.

In primo luogo TCP/IP è un open standard, ovvero le sue specifiche sono liberamente utilizzabili da chiunque. Questo ha permesso il rapido diffondersi di implementazioni per ogni sistema operativo e piattaforma esistente, implementazioni spesso distribuite gratuitamente o, come nel caso del sistema operativo Unix, integrate in modo nativo nel sistema stesso.

Inoltre il TCP/IP è indipendente dal modo in cui la rete è fisicamente realizzata: una rete TCP/IP può appoggiarsi indifferentemente su una rete locale Ethernet, su un linea telefonica, su un cavo in fibra ottica ATM, su una rete di trasmissione satellitare... e così via. Anzi consente di integrare facilmente diverse tecnologie hardware in una unica struttura logica di comunicazione, come appunto è avvenuto per Internet.

Infine TCP/IP è un protocollo di comunicazione che risolve in modo molto efficiente i tipici problemi di ogni sistema telematico:

  • sfruttare al meglio le risorse di comunicazione disponibili
  • permettere un indirizzamento efficiente e sicuro dei computer collegati, anche se questi sono diversi milioni
  • garantire con la massima sicurezza il buon fine della comunicazione
  • permettere lo sviluppo di risorse e servizi di rete evoluti e facilmente utilizzabili dall'utente

Un protocollo a strati

Il TCP/IP in realtà è costituito da un vero e proprio insieme di protocolli di comunicazione, ognuno con un compito specifico, organizzati in maniera gerarchica. In termini tecnici si dice che è un protocollo a strati di servizi (layers of services). Per la precisione TCP/IP si basa su un modello a quattro strati:

  • lo strato della rete fisica
  • lo strato di indirizzamento dei computer e dell'invio dei dati
  • lo strato di controllo e di organizzazione dei dati per la trasmissione
  • lo strato delle applicazioni e dei servizi di rete per l'utente

In questa struttura ad ogni livello corrispondono alcune operazioni necessarie per la trasmissione dei dati: il primo livello ovviamente è quello della gestione delle connessioni fisiche, dei cavi; il secondo si occupa di inviare i dati ai vari computer collegati, sfruttando al meglio il livello hardware; il terzo livello invece ha il compito di controllare che la comunicazione di un certo blocco di dati sia andata a buon fine, e di ritrasmettere quello che eventualmente è andato perso; il quarto livello infine produce i dati veri e propri da inviare. Ogni strato è gestito da uno o più protocolli.

In fase di invio i dati partono dal livello delle applicazioni, e passano in sequenza attraverso la pila di strati; ogni protocollo riceve i dati dal livello superiore, aggiunge le informazioni di gestione che gli competono in una intestazione (header), e poi passa il tutto al livello inferiore. In fase di ricezione avviene naturalmente il processo inverso. I dati arrivano al protocollo del primo strato che legge la intestazione a lui destinata, compie le conseguenti operazioni, e poi passa il tutto al livello successivo, e così via. Naturalmente nella realtà le cose sono molto più complicate, ma questa descrizione rende l'idea. TCP/IP, insomma, può essere visto come una sorta di servizio di recapito basato su un meccanismo a scatole cinesi. Ogni interazione tra due computer della rete è costituita dalla confezione e dall'invio di una serie di scatole (figura 1).

figura 1
figura 1: Rappresentazione schematica dei dati inviati tramite TCP/IP

Il gruppo di protocolli che costituiscono TCP/IP in realtà si occupa specificamente dei tre livelli superiori. Infatti, come si è detto, la gestione diretta della infrastruttura hardware della rete non è parte integrante del TCP/IP, che in quanto tale è indipendente da tale infrastruttura. Esistono comunque una serie di specifiche che descrivono in che modo ogni singola architettura fisica di rete possa interfacciarsi con il TCP/IP: ad esempio per la rete Ethernet, il tipo di rete locale più diffusa al mondo, ci sono lo Address Resolution Protocol (ARP) e lo Standard for the Transmission of IP Datagrams over Ethernet Networks.

L'Internet Protocol e gli indirizzi della rete

La trasmissione dei dati e la regolazione del traffico tra i vari computer sono gestiti dallo Internet Protocol (IP), che è il cuore del TCP/IP. Lo IP ha il compito di impacchettare i dati in uscita e di inviarli, trovando la strada migliore per arrivare ad un particolare computer tra tutti quelli connessi alla rete. Le informazioni necessarie a questo fine sono inserite in un header IP che viene aggiunto ad ogni pacchetto di dati.

La tecnica di inviare i dati in pacchetti (detti anche datagrammi) recanti tutte le informazione sulla loro destinazione è una caratteristica delle reti di tipo TCP/IP, che sono dette reti a commutazione di pacchetto. In questo modo è possibile usare lo stesso tratto di cavo fisico per far passare i pacchetti di molte comunicazioni diverse, sia che provengano da più persone che operano sullo stesso computer, sia che provengano da più computer collegati a quel tratto di rete. Mai nessuno occuperà un certo tratto di rete fisica per intero, come invece avviene nella comunicazione telefonica. Questa caratteristica è importantissima, poiché permette una grande efficienza nella gestione dei servizi di rete: infatti se per una qualche ragione una singola sessione di invio si interrompe, il computer emittente può iniziare un'altra transazione, per riprendere in seguito quella iniziale.

Il secondo compito del protocollo IP è l'invio dei dati per la 'retta via'. Per fare in modo che la comunicazione tra gli host vada a buon fine è necessario che ogni singolo computer abbia un indirizzo univoco, che lo identifichi senza alcuna ambiguità, e che descriva la via per raggiungerlo tra i milioni di altri host della rete.

A questo fine lo IP utilizza uno schema di indirizzamento dei computer collegati in rete. Questo schema si basa su un sistema di indirizzi numerici. In particolare un indirizzo Internet è costituito da una stringa di numeri. Normalmente essa viene rappresentata come una sequenza di quattro numeri da 0 a 255, separati da un punto; ad esempio:

  • 151.100.4.2
  • 192.106.166.1

Ogni computer su Internet ha un indirizzo come questo. Come abbiamo detto Internet è una rete che collega diverse sottoreti. Lo schema di indirizzamento rispecchia questa caratteristica: in generale la parte sinistra dell'indirizzo indica una certa sottorete nell'ambito di Internet, e la parte destra indica il singolo host di quella sottorete. Se vi sembra complicato, basta pensare alla struttura di un normale indirizzo: Vicolo Stretto 2, Roma, Italia. "Roma, Italia" svolge la funzione di un indirizzo di rete, "Vicolo Stretto 2" corrisponde all'indirizzo del computer.

L'analogia con il sistema postale è in realtà molto più profonda di quanto non potrebbe sembrare. Infatti il sistema di recapito dei pacchetti di dati attraverso la rete è funzionalmente simile al modo in cui un servizio postale tradizionale organizza il recapito delle lettere (anche queste pacchetti di dati). Quando infatti il protocollo IP di un computer riceve dei dati da inviare ad un certo indirizzo, per prima cosa guarda alla parte dell'indirizzo che specifica la rete. Se l'indirizzo di rete è quello della rete locale, i dati sono inviati direttamente al computer che corrisponde all'indirizzo. Se invece l'indirizzo di rete è esterno, i dati vengono inviati ad un computer speciale denominato gateway o router che a sua volta li invierà al gateway, da lui conosciuto, competente per un certo indirizzo di rete: ogni sottorete di Internet ha dunque almeno un gateway.

Pensiamo al sistema postale: quando imbuchiamo una lettera questa arriva all'ufficio postale locale (il gateway); se la lettera ha un indirizzo di competenza di un altro ufficio postale, sarà inviata a quell'ufficio postale, che si preoccuperà di recapitarla al destinatario. Naturalmente l'ufficio postale locale non conosce gli indirizzi di tutti gli altri uffici postali locali del mondo. Se una lettera è indirizzata ad esempio in Francia, l'ufficio locale la spedirà prima all'ufficio nazionale delle poste, che a sua volta manderà tutta la corrispondenza indirizzata alla Francia al suo omologo francese, il quale farà procedere la nostra lettera verso l'ufficio postale locale, che infine la recapiterà al destinatario.

Anche Internet funziona così. Il gateway locale infatti ha un elenco di altri gateway per ogni indirizzo di rete che conosce, più un gateway per tutti gli altri indirizzi. Normalmente i gateway conosciuti direttamente sono su parti contigue nella topologia di rete (che non necessariamente corrisponde alla contiguità geografica).

Il Transfer Control Protocol

Internet, si è detto, è una rete a commutazione di pacchetto. Questo significa che i dati sulla rete viaggiano in blocchi di dimensione definita: un datagramma IP è per default grande 1500 byte. Ma è chiaro che assai raramente i dati scambiati dagli utenti di Internet avranno dimensioni pari o inferiori a quelli dei pacchetti IP, peraltro così limitate.

Ad ovviare a questi limiti interviene il protocollo che gestisce l'organizzazione dei dati e il controllo della trasmissione, il Transfer Control Protocol (TCP). Se la dimensione del blocco di dati da inviare eccede la dimensione di un singolo pacchetto (come avviene di norma) il TCP è in grado di suddividerlo, in fase di invio, in una catena di pacchetti, e di ricomporlo in fase di ricezione.

Quando il modulo TCP riceve dei dati da trasmettere da parte di una certa applicazione dello strato superiore, suddivide il flusso di dati in segmenti; ad ogni segmento viene aggiunta una intestazione (TCP header) che specifica che tipo di applicazione ha prodotto il flusso di dati e a che punto del flusso appartiene il blocco in questione. In questo modo il TCP ricevente sarà in grado di ricomporre i dati nella loro sequenza e di passarli alla applicazione giusta.

Ma il TCP svolge anche un'altra importante funzione, come il nome stesso suggerisce: assicura che la trasmissione dei dati vada a buon fine, esercitando un controllo sulla comunicazione.

Per fare questo il modulo TCP del computer A che invia stabilisce un contatto diretto con il suo pari (peer in termini tecnici) nell'host B che riceve. La comunicazione inizia con una richiesta rivolta da A a B di prepararsi a ricevere dati. In caso di risposta positiva A inizia il trasferimento del primo segmento di dati, e poi attende che B invii un segnale di conferma di aver ricevuto tutti i dati inviati. Se questo non avviene o se B dichiara di avere ricevuto solo una parte dei dati inviati, A ritrasmette il segmento perduto.

Naturalmente questo schema semplifica il vero funzionamento delle transazioni TCP, e offre un'idea solo teorica delle comunicazioni in rete. L'essenziale è tuttavia che un meccanismo di questo tipo permette alla maggior parte delle comunicazioni su Internet di andare a buon fine; se pensate che ogni giorno avvengono in rete miliardi di transazioni, vi potrete rendere conto della efficienza e dell'importanza di questo sistema.

Le applicazioni e i servizi di rete

Lo strato dei servizi applicativi è l'ultimo livello nell'architettura del TCP/IP. A questo livello si pongono tutte le applicazioni che producono i dati e che fanno uso dei protocolli TCP ed IP per inviarli attraverso la rete. Si tratta per la maggior parte delle applicazioni e dei servizi di rete con i quali gli utenti interagiscono direttamente.

Infatti Internet offre all'utente una molteplicità di servizi e di applicazioni che facilitano l'uso della rete e lo scambio o il reperimento di informazioni. Si va dalla posta elettronica allo scambio di file, fino alla diffusione di informazione multimediale. Ogni singolo servizio di rete Internet si basa su un dato protocollo, specifico di quel particolare servizio. Ma come funzionano le varie applicazioni che complessivamente sono presenti su Internet?

I servizi telematici di Internet si basano su una particolare modalità di interazione, denominata tecnicamente architettura client-server. Con tale formula si indica in generale una applicazione informatica, un software, che è costituito da due moduli interagenti ma distinti, che collaborano tra loro per eseguire un certo compito richiesto dall'utente, e che possono trovarsi su piattaforme hardware diverse.

Il client è il programma che costituisce l'interfaccia con l'utente e che si occupa di richiedere e presentare i dati. Il server invece si occupa solo del mantenimento, del reperimento e dell'invio dei dati al client che li ha richiesti. Normalmente client e server sono installati su macchine diverse: il primo si trova sul computer locale utilizzato dall'utente finale (che ha quindi bisogno di sapere solo come funziona il suo programma client). Il secondo si trova sul sistema remoto, e l'utente non ha alcun bisogno di conoscerne il funzionamento. Tuttavia nulla impedisce che entrambi i moduli si trovino sulla stessa macchina (questo avviene normalmente in tutte le macchine che ospitano server).

Affinché l'interazione tra client e server possa stabilirsi, è necessario che entrambi utilizzino un linguaggio comune, ovvero un protocollo di comunicazione. Tra i vari protocolli specifici delle applicazioni abbiamo ad esempio il Simple Mail Transfer Protocol (SMTP) per la posta elettronica, il File Transfer Protocol (FTP) per il trasferimento di file tra host, e il protocollo su cui si basa World Wide Web, denominato Hyper-Text Transfer Protocol (HTTP).

Quando l'utente richiede un certo documento o file situato in un dato host della rete, il client invia una richiesta al server attraverso il TCP/IP. Il server, ricevuta la richiesta, ricerca i dati desiderati, e li invia al computer sui cui è installato il client. Sarà quest'ultimo che si occuperà di presentare opportunamente i dati sul video per facilitare l'interazione con l'utente.

Una conseguenza di questa architettura è che possono esistere programmi client diversi per accedere agli stessi servizi, anche a seconda dell'ambiente operativo utilizzato, e che ci possono essere più versioni di un certo client. Nel seguito di questo manuale vedremo molti esempi di programmi client che si usano per reperire o inviare informazioni su Internet.

I nomi della rete

Il metodo di indirizzamento numerico dell'Internet Protocol, sebbene sia molto efficiente dal punto di vista dei computer, che macinano numeri, è assai complicato da maneggiare per un utente. Ricordare le varie sequenze numeriche corrispondenti agli indirizzi dei computer a cui ci si intende connettere può essere molto noioso, come lo sarebbe dover ricordare a memoria tutti i numeri telefonici dei nostri amici e conoscenti. Per questo sono nate le agende: se voglio telefonare a Gino, cerco sulla mia agenda, magari elettronica, il suo nome (facile da rammentare) e leggo il suo numero di telefono. Pensate, poi, quanto sarebbe comodo dire al telefono "voglio telefonare a Gino" e sentire il telefono comporre da solo il numero.

Per ovviare ai problemi dell'indirizzamento numerico su Internet, è stato sviluppato un sistema di indirizzamento simbolico, che funziona in modo simile: si chiama Domain Name Service (DNS).

Attraverso il DNS ogni host di Internet può essere dotato di un nome (domain name), composto da stringhe di caratteri. Tali stringhe, a differenza dell'indirizzo numerico, possono essere di lunghezza illimitata. È evidente che per un utente utilizzare dei nomi simbolici è molto più semplice e intuitivo che maneggiare delle inespressive sequenze di numeri. Ad esempio, il nome dell'host corrispondente al primo indirizzo numerico dato sopra è il seguente: rmcisadu.let.uniroma1.it.

Come si può vedere anche i nomi sono sequenze di simboli separati da punti. Questa articolazione rispecchia la struttura gerarchica del Domain Name Service. Esso suddivide la intera rete in parti, denominati domini, a loro volta divisi in sottodomini, e così via per vari livelli; ogni sottodominio fa parte del dominio gerarchicamente superiore: alla fine della scala c'è il singolo host.

L'identificativo di un host è una traccia delle varie gerarchie di domini a cui appartiene: ogni sottostringa rappresenta o un dominio o un sottodominio, o il nome del computer. Ma l'ordine di scrittura è inverso all'ordine gerarchico! Suona complicato, ma non lo è. Vediamo più da vicino il nostro esempio.

La parte di indirizzo più a destra nella stringa indica il dominio più alto della gerarchia, nel nostro caso 'it'. In genere, il livello più alto identifica il paese o, per gli Stati Uniti, il tipo di ente che possiede il computer in questione. Gli altri livelli della gerarchia, muovendosi da destra a sinistra, scendono verso il sistema specifico presso il quale è ospitato l'utente identificato dall'indirizzo. Così, nel caso sopra considerato 'uniroma1' si riferisce all'Università di Roma "La Sapienza, 'let' si riferisce alla facoltà di Lettere di questa università, e infine 'rmcisadu' è il nome dell'host, che peraltro prende il nome dal Centro Interdipartimentale Servizi di Automazione nelle Discipline Umanistiche della facoltà. Dunque un nome simbolico fornisce all'utente con un minimo di esperienza una serie di informazioni che possono essere molto utili.

I domini di primo livello sono essenzialmente di due tipi: domini di organizzazione e domini nazionali. Quando il DNS fu creato Internet era diffusa, salvo rare eccezioni, solo negli Stati Uniti. Per questa ragione i domini furono divisi per tipo di organizzazione:

  • EDU: università ed enti di ricerca
  • COM: organizzazioni commerciali
  • GOV: enti governativi
  • MIL: enti militari
  • NET: organizzazioni di supporto e di gestione della rete stessa
  • ORG: organizzazioni ed enti non rientranti nelle categorie precedenti come enti no-profit, associazioni, organizzazioni non governative.

Quando la rete cominciò a diffondersi a livello internazionale furono creati altri domini di primo livello, suddivisi per nazioni: questi domini usano delle sigle che spesso (ma non sempre) corrispondono alle sigle delle targhe internazionali. L'Italia, come si può evincere dal nostro esempio, è identificata dalla sigla 'it', l'Inghilterra dalla sigla 'uk', la Francia da 'fr', e così via.

Nell'ambito di ogni dominio possono essere creati un numero qualsiasi di sottodomini. Normalmente la gestione dei domini viene affidata a degli enti specifici, che hanno il compito di assegnare i sottodomini e che debbono anche occuparsi di gestire il sistema software attraverso il quale funziona il DNS.

Il Domain Name Service funziona attraverso un sistema di database distribuiti nella rete chiamati name server, che sono collegati tra loro. Ogni dominio e ogni sottodominio hanno almeno un name server di riferimento. Quest'ultimo svolge la funzione di tradurre i nomi in indirizzi numerici per conto degli host o di altri name server. Infatti la comunicazione effettiva tra gli host avviene sempre attraverso gli indirizzi numerici. La traduzione viene chiamata tecnicamente risoluzione.

Quando un host (sollecitato da un utente o da una applicazione) deve collegarsi ad un altro host che ha un determinato nome simbolico, ad esempio sunsite.dsi.unimi.it, chiede al proprio name server locale di tradurre il nome simbolico nel corrispondente indirizzo numerico. Il name server locale va a vedere nella sua tabella se ha l'informazione richiesta. In caso positivo risponde all'host che lo ha interpellato, altrimenti chiede ad un altro name server (detto name server di primo livello). La scelta di questo 'super-aiutante' è determinata dal dominio di primo livello, appunto, dell'indirizzo da risolvere (it, nel nostro caso). I name server di primo livello vengono detti authoritative name server. Essi possono sia rispondere direttamente, sia dirottare la richiesta a degli altri name server (questa volta di secondo livello). Il processo può continuare per vari sottolivelli, finché non viene risolto per intero l'indirizzo dell'host cercato. Intelligentemente, nel fare questo lavoro di interrogazione il nostro name server locale si annota gli indirizzi che ha conosciuto, in modo che le future richieste possano essere risolte immediatamente.

Grazie a questo meccanismo il DNS è sempre aggiornato: infatti la responsabilità di aggiornare i singoli name server è decentralizzata e non richiede una autorità centrale che tenga traccia di tutti i milioni di host computer collegati a Internet.

La tipologia delle connessioni a Internet

Sappiamo che Internet collega milioni di computer. Il collegamento di un computer ad Internet può avvenire tecnicamente in diversi modi.

Possiamo dividere questi modi in due grandi categorie:

  • collegamenti diretti con linee dedicate
  • collegamenti dial-up con linee commutate

La connessione diretta ad Internet implica dei costi di investimento iniziali e di gestione molto alti, non alla portata del singolo utente, e interessa normalmente enti ed aziende che vogliono entrare in rete.

Fino a pochi anni fa dunque l'utente finale che non aveva accesso diretto ai centri di calcolo di enti ed università dotate di collegamento a Internet poteva solo collegarsi via modem ad un host con un software di emulazione terminale, ed usare i servizi di rete presenti sull'host.

Questa limitazione è stata superata con la diffusione di due protocolli che permettono di effettuare una connessione diretta alla rete attraverso un semplice collegamento su linea seriale, e dunque di stabilire un collegamento Internet completo attraverso il modem e la linea telefonica commutata. I due protocolli che permettono il collegamento dial-up, come viene denominato, sono il Serial Line Internet Protocol (SLIP) e il Point-to-Point Protocol (PPP).

Il collegamento diretto

Internet, abbiamo ricordato più volte, è una rete costituita da un insieme di reti interconnesse. Per collegamento diretto si intende appunto l'inserimento di un computer all'interno di una di queste sottoreti locali, o la creazione di una nuova sottorete collegata ad Internet.

Grazie alla topologia di Internet, per realizzare il collegamento basta agganciare la nuova rete locale alla più vicina rete già connessa ad Internet, attraverso un cavo dedicato. Per la precisione occorre avere un computer speciale che viene chiamato Internet router o Internet gateway, che va a sua volta collegato al router di una rete già connessa ad Internet. Il traffico in entrata ed uscita dalla nostra rete passerà attraverso questo 'cancello'.

Le infrastrutture di rete usate nelle interconnessioni vanno dal cavo Ethernet o Token-ring, usati all'interno delle piccole sottoreti locali, fino alle dorsali continentali in fibra ottica.

Naturalmente dopo avere steso il cavo fisico di collegamento bisognerà ottenere un indirizzo di rete ufficiale dagli enti che gestiscono la rete nel nostro territorio, ed eventualmente un pacchetto di nomi registrati presso un DNS competente. Infine occorrerà installare e configurare il software TCP/IP su tutti i computer che si vorrà collegare.

SLIP e PPP

I protocolli SLIP e PPP permettono di stabilire una connessione TCP/IP su un collegamento seriale, quale è il collegamento via modem e cavo telefonico, consentendo così all'utente di collegarsi ad Internet anche da casa.

Lo SLIP è stato il primo ad essere sviluppato, ed è tecnologicamente più arretrato: infatti non prevede alcun controllo sulla stabilità del collegamento e nella sua versione originale richiede l'assegnazione di indirizzi fissi ad ogni computer che si collega. Il suo vantaggio era la facilità di implementazione che ne ha permesso una rapida diffusione presso i cosiddetti access provider.

Ma ormai SLIP è stato quasi ovunque rimpiazzato dal Point-to-Point Protocol. Il PPP è un protocollo molto efficiente. Esso prevede sistemi di controllo della trasmissione e permette l'assegnazione dinamica degli indirizzi IP: quando un utente effettua la connessione via modem, riceve un indirizzo che rimane assegnato al suo computer solo per il tempo della connessione, e che rimane poi libero per altri utenti.

Per funzionare sia SLIP sia PPP richiedono l'installazione dei rispettivi moduli software tanto sul computer che chiede il collegamento quanto su quello che lo fornisce. Quest'ultimo naturalmente deve essere dotato di una connessione diretta ad Internet e deve avere a disposizione un certo 'pacchetto' di indirizzi ufficiali. Quando arriva una richiesta di connessione, il modulo PPP assegna al computer chiamante un indirizzo Internet che gli permette di essere individuato dagli altri host di Internet, e dunque di ricevere o inviare direttamente informazioni attraverso la rete.

La connessione tramite SLIP, e ora tramite PPP, ha rappresentato sicuramente un notevole progresso nella connettività di rete per quel che riguarda Internet, ed ha permesso la diffusione del collegamento in rete anche presso l'utenza finale non professionale. Tuttavia presenta anche alcuni aspetti negativi.

In primo luogo è limitata dalla scarsa velocità e portata della rete telefonica. Infatti, la trasmissione di informazioni multimediali richiede lo spostamento di decine o centinaia di kilobyte, che, anche alle velocità massime attualmente supportate dalle connessioni via modem, richiedono attese spesso lunghe. Questo comporta naturalmente alti costi per l'utente finale. Tuttavia la recente diffusione di modem che supportano il protocollo V/34, in grado di fornire transfer-rate effettivi introno ai tremila byte al secondo, costituisce un notevole passo in avanti, in attesa di una futura estensione delle linee in fibra ottica fino ai terminali telefonici domestici.

In secondo luogo il software può essere di difficile configurazione per un utente inesperto, poiché sono richieste alcune conoscenze tecniche sul funzionamento dei protocolli TCP/IP. Ma anche questo secondo limite è ormai molto prossimo ad essere superato. Infatti i sistemi operativi delle ultime generazioni integrano ormai i moduli PPP in modo nativo e hanno delle interfacce notevolmente semplificate per configurare i parametri necessari alla connessione. I protocolli base per la connettività a Internet sono già disponibili direttamente nei sistemi operativi Unix, Windows 95, Macintosh 7.5, OS/2 Warp. Ce ne occuperemo in dettaglio nel prossimo capitolo.

torna a inizio pagina