Materie: | Appunti |
Categoria: | Informatica |
Voto: | 2 (2) |
Download: | 806 |
Data: | 06.04.2007 |
Numero di pagine: | 68 |
Formato di file: | .doc (Microsoft Word) |
Download
Anteprima
evoluzione-reti-informatiche_1.zip (Dimensione: 804.84 Kb)
readme.txt 59 Bytes
trucheck.it_evoluzione-delle-reti-informatiche.doc 1097.5 Kb
Testo
L’ evoluzione delle reti informatiche.
Si definisce rete informatica un sistema di collegamento di dispositivi informatici (calcolatori, stampanti, monitor, tastiere, ecc.) avente lo scopo di condividere informazioni e risorse tra gli utenti collegati alla rete stessa. Le risorse possono essere sia hardware che software.
Le reti informatiche nascono negli anni ’70: l’ architettura di tale reti prevedeva il collegamento di terminali stupidi (essenzialmente tastiere) al fine di condividere le risorse di calcolatori potenti e molto costosi, detti mainframe. Un mainframe è un computer grande e dotato di elevata capacità di elaborazione, in grado di supportare l' utilizzo contemporaneo da parte di centinaia o addirittura migliaia di utenti; attraverso i terminali ad esso collegati gli utenti inseriscono i dati di input e ricevono in uscita output.
Un sistema di questo tipo ha la caratteristica fondamentale di concentrare le risorse hardware e software in un unica unità, che risulta pertanto l’ elemento critico di tutto il sistema; un guasto a tale macchina blocca tutta la rete. Ad essa è, pertanto, richiesta grande affidabilità.
Le alte prestazioni computazionali e l’elevatissima affidabilità richieste ad una tale macchina si traducono ovviamente in ingenti costi iniziali di investimento.
Dalla fine degli anni ’80, parallelamente a quanto visto, si affermavano nuovi modelli di sviluppo delle reti informatiche che hanno portato all’ era dell’ informatica distribuita.
L’ impulso a tali modelli è stato dato dal fenomeno cosiddetto del “downsizing” (riduzione delle dimensioni), caratterizzato dalla migrazione degli utenti e delle applicazioni da grossi sistemi mainframe a mini computer e a personal computer, che intanto diventavano più potenti dei mainframe di dieci anni prima.
I minicomputer sono in grado di supportare varie decine di utenti interattivi, hanno potenze di calcolo elevate e costi di decine o centinaia di migliaia di euro. Inizialmente essi hanno semplicemente preso il posto dei mainframe, ma senza modificare l’ architettura del sistema (terminali stupidi collegati ai minicomputer) con il solo beneficio di ridurre i costi e di favorirne la diffusione.
Il fattore decisivo per l’ avvento dell’ informatica distribuita è stato in realtà l’ ideazione a metà anni ’70 del personal computer, frutto di una ricerca che ha portato ad un abbattimento dei costi di realizzazione delle componenti elettroniche; esso è nato come macchina in grado di far lavorare un unico utilizzatore per volta.
È grazie allo sviluppo del PC che si è potuta avere la migrazione delle applicazioni da grossi e monolitici mainframe a reti di personal e minicomputer. Ciò si traduce in un nuovo schema architetturale di distribuzione del software, chiamato client/server, il quale prevede che le applicazioni siano strutturate in due moduli:
un modulo client, installato sui personal computer distribuiti in rete, che comprende la parte del programma che gestisce la visualizzazione dei dati all’utente (in modo grafico) e le elaborazioni personali ed un modulo server, installato su un minicomputer centrale, che comprende quelle parti dell’applicazione che gestiscono le elaborazioni più intense e di uso comune.
I vantaggi di una rete di calcolatori rispetto all’ architettura precedente sono principalmente:
o fault tolerance (resistenza ai guasti): il guasto di una macchina non blocca tutta la rete, ed è possibile sostituire il computer guasto facilmente (la componentistica costa poco e un'azienda può permettersi di tenere i pezzi di ricambio a magazzino);
o economicità: come accennato sopra, hardware e software per computer costano meno di quelli per i mainframe;
o gradualità della crescita e flessibilità: l' aggiunta di nuove potenzialità a una rete già esistente e la sua espansione sono semplici e poco costose.
Tuttavia una rete ha alcuni punti deboli rispetto a un mainframe:
o scarsa sicurezza: un malintenzionato può avere accesso più facilmente ad una rete di computer che ad un mainframe: al limite gli basta poter accedere fisicamente ai cablaggi della rete. Inoltre, una volta che un virus o, peggio, un worm abbiano infettato un sistema della rete, questo si propaga rapidamente a tutti gli altri e l'opera di disinfezione è molto lunga, difficile e non offre certezze di essere completa;
o alti costi di manutenzione: man mano che la struttura di rete tende ad espandersi e a diventare sempre più complessa i computer che ne fanno parte sono sempre più eterogenei, rendendo la manutenzione sempre più costosa in termini di ore lavorative. Oltre un certo limite di grandezza della rete (circa 50 computer) diventa necessario eseguire gli aggiornamenti hardware e software su interi gruppi di computer invece che su singole macchine, vanificando in parte il vantaggio dei bassi costi dell'hardware.
Secondo una prima classificazione, le reti locali possono essere suddivise in due grosse categorie, quelle paritetiche e quelle client/server.
Nel primo tipo, detto anche Peer To Peer non esiste una gerarchia ben precisa all'interno della rete ed ogni computer si può indifferentemente comportare sia da server che da client; nel secondo tipo, invece, il server ha la precisa funzione di gestire ed amministrare la rete ed il client, assume una posizione subordinata accedendo alle risorse condivise dal server.
Il vantaggio più evidente delle reti peer-to-peer consta nel fatto che esse sono più facili da realizzare e far funzionare. Esse rappresentano, però, una soluzione eccellente fino a che l'uso delle risorse di rete non compromette il livello di prestazioni degli altri computer. Supponiamo, ad esempio, chegli utenti A, B e C (collegati mediante l’ hub E) debbano utilizzare risorse differenti condivise dall’ utente D (ad esempio due diversi file, collocati nella cartella “risorse condivise” ed una stampante condivisa). In queste condizioni il computer D dovrebbe gestire il traffico dei dati e l’ uso della stampante condivisa tenendo occupate parte delle sue risorse e ne sarebbe rallentato. Il canale DE dovrebbe, poi, essere condiviso ed ogni utente utilizzerebbe solo una frazione della sua banda.
Ogni stazione è, inoltre, responsabile di controllare l' accesso alle proprie risorse, ossia dovrebbe essere ciascun utente della rete a gestire i diritti sulle risorse condivise collocate fisicamente sulla propria postazione, ossia a svolgere il compito di amministratore di rete, con evidente possibilità di incorrere in errori o dimenticanze, a discapito della sicurezza della rete stessa, e difficoltà a concentrarsi sul proprio lavoro.
La molteplicità di queste circostanze viene a creare una situazione frustrante per l’ utente con conseguente riduzione della produttività.
Le reti del secondo tipo, basate sul server, necessitano di una gestione centralizzata che conferisce un alto grado di affidabilità dal punto di vista sicurezza della rete e dell'amministrazione; ovviamente questo tipo di rete trova applicazione nelle aziende di una certa dimensione dove occorre un livello di sicurezza più elevato.
In sintesi il confronto tra le reti peer-to-peer porta ai seguenti vantaggi e svantaggi della prima rispetto alla seconda:
Vantaggi:
• facile installazione e configurazione;
• non serve la presenza continua di un amministratore di rete;
• poco costosa (richiede meno hardware rispetto al tipo client/server)
Svantaggi:
• poco veloce;
• poca sicurezza dei dati;
• formazione del personale sull'utilizzo delle condivisioni e della Rete.
La comunicazione in rete.
Sino agli anni ’60, l’interconnessione era possibile solo tra elaboratori uguali, con il medesimo sistema operativo e facendo uso di uno specifico mezzo trasmissivo.
Ben presto il software fu arricchito per gestire il colloquio tra elaboratori diversi, ma sempre dello stesso costruttore, dotati dello stesso software di base ed utilizzando gli stessi canali.
Verso la fine degli anni '70 la ISO (International Standard Organization) con lo scopo di uniformare la comunicazione anche tra reti progettate da case diverse, sviluppò un modello standardizzato, chiamato modello di riferimento OSI (Open System Interconnection).
Questa architettura doveva rappresentare un modello di riferimento per tutti i costruttori, portando alla realizzazione di sistemi aperti. L’elevata complessità, però, ne ritardò l’applicazione proprio mentre Internet, basata sull’ architettura di rete TCP/IP (Transmission Control Protocol/ Internet Protocol) si espandeva e diventava praticamente l’unica grande rete presso cui gli utenti chiedevano la compatibilità. Così il TCP/IP divenne uno standard de facto, mentre l’ ISO/OSI conobbe una sola implementazione commerciale, il DENECT phase V, della Digital Equipment Corporation.
Per ridurre la complessità progettuale e semplificarne lo sviluppo, si sono organizzati l’hardware ed il software stessi in una struttura gerarchica a livelli, detta architettura di rete, caratterizzati da un livello di astrazione crescente procedendo verso i livelli più alti, cioè quelli più vicini all’ utente. Insomma, la problematica complessiva è suddivisa in sotto-problematiche, ovvero in sottoprogrammi. I livelli più alti sono vicini all’uomo, quelli più bassi sono vicini all’hardware di rete. Ognuno di essi contiene moduli atti ad eseguire funzioni specifiche e con precise relazioni tra loro e comunica con il corrispondente livello del nodo della rete con cui si instaura la comunicazione seguendo una serie di regole che prendono il nome di protocolli. L’interazione tra i moduli di due livelli adiacenti sono gestite da opportune interfacce. La comunicazione tra i livelli corrispondenti di due nodi avviene grazie ad una tecnica detta imbustamento: ogni livello aggiunge ai dati da trasmettere, ricevuti dal livello superiore, delle informazioni di controllo che saranno utilizzate dal corrispondente livello del nodo di destinazione. Il tutto viene poi passato al livello immediatamente inferiore, ed il processo si ripete finché, arrivati al livello fisico, i bit vengono trasmessi. In questo modo, si può dire che a ogni passaggio verso il basso i pacchetti vengano imbustati in pacchetti (più grandi) del livello inferiore, mentre, a ogni passaggio verso l'alto, i pacchetti vengono estratti dalla busta di livello inferiore.
Ad ogni livello i dati imbustati sono detti PDU (Protocol Data Unit), composti dalla PDU proveniente dal livello superiore, che attraversa l’interfaccia con il livello sovrastante, e che viene ribattezzata SDU (Service Data Unit) e da un’intestazione (header) contenente le informazioni di controllo del livello stesso, detta PCI (Protocol Control Information);
AH = header sistemato dal livello applicazione (7)
APDU = AH + DATI = pacchetto generato dal livello applicazione (7)
PH = header sistemato dal livello presentazione (6)
PPDU = PH + APDU = pacchetto generato dal livello presentazione (6)
SH = header sistemato dal livello sessione (5)
SPDU = SH + PPDU = pacchetto generato dal livello sessione (5)
TH = header sistemato dal livello trasporto (4)
TPDU = TH + SPDU = pacchetto generato dal livello trasporto (4)
NH = header sistemato dal livello rete (3)
NPDU = NH + TPDU = pacchetto generato dal livello rete (3)
DH = header sistemato dal livello data link (2)
BITS = DH + NPDU + DT (data trailer) = pacchetto generato dal livello data link (2) = pacchetto
che viaggia sul canale fisico.
Se ad esempio immaginiamo che l’utente che usa un calcolatore deve trasmettere dei dati ad un altro utente su un calcolatore ricevente, ebbene, in tal caso, la comunicazione tra i due computer avviene al massimo livello, cioè al livello 7.
E precisamente, in fase di trasmissione dei dati, un livello, ricevuto un pacchetto, prima ci aggiunge a sua volta il proprio header, e poi lo trasmette al livello sottostante, e ciò fino ad arrivare al canale fisico, lungo il quale avviene la trasmissione.
Arrivato al computer di destinazione, poi, il pacchetto, nel passaggio da un livello a quello sovrastante, viene via via liberato dei corrispondenti header, fino ad arrivare al livello applicazione, al quale sono finalmente disponibili i dati.
• Livello 7, Applicazione: è l’ interfaccia di comunicazione con i programmi (Application Program Interface), ossia fa da tramite tra le applicazioni dell’utente ed il sistema operativo. Si occupa tra l'altro del trasferimento di file, delle connessioni a computer remoti e della posta elettronica.
• Livello 6, Presentazione: serve per risolvere le differenze di formato dei dati. Questo può accadere se in rete ci sono sistemi che adottano codifiche diverse (ad esempio codifica ASCII o EBCDIC).
• Livello 5, Sessione Instaurazione, mantenimento e conclusione delle sessioni di comunicazione. Il livello di sessione gestisce il dialogo tra due nodi di rete, e stabilisce se il traffico delle informazioni può essere bidirezionale o meno; nel caso in cui il traffico sia unidirezionale deve stabilire un sistema di sincronizzazione che sia in grado di determinare chi debba trasmettere per primo e come questo debba poi cedere il diritto di trasmissione all' altro nodo. Questo livello, inoltre, è chiamato a gestire la ripresa ed il proseguimento di file dopo un’interruzione dovuta ad un malfunzionamento su una linea di trasmissione.
• Livello 4, Trasporto: Controlla il trasferimento dei dati al nodo di destinazione, occupandosi, quando essi sono troppo numerosi per essere trasmessi in una sola volta, della loro frammentazione il più PDU (detti pacchetti), del controllo e correzione degli errori, della ricomposizione nel corretto ordine dei pacchetti. È il livello più basso ad ignorare la topologia fisica della rete (il livello inferiore deve invece conoscere la rete per instradare i pacchetti)
• Livello 3, Rete: ogni calcolatore della rete può essere collegato soltanto ad un ridotto numero di altri nodi e, quindi, un suo messaggio, per giungere a destinazione su un calcolatore non direttamente collegato, dovrà attraversare dei nodi intermedi. Il livello Network gestisce le tabelle di instradamento, che determinano il percorso più adatto per raggiungere la destinazione voluta e provvede a inoltrare i pacchetti lungo cammini alternativi in caso di guasto. È il livello più basso ad operare in modo astratto rispetto al tipo fisico di comunicazione.
• Livello 2, Collegamento dati (data link): aggiunge codici per il controllo degli eventuali errori generati a livello fisico e gestisce le procedure di accesso al mezzo trasmissivo. Ha, dunque, come obiettivo la trasmissione sufficientemente affidabile dei dati organizzati in frame.
• Livello 1, Fisico: Definisce gli aspetti elettrici, meccanici e funzionali del collegamento fisico tra i nodi della rete, specificando le caratteristiche dei cavi e dei connettori e la rappresentazione elettrica degli 0 ed 1 binari in modo tale che il sistema ricevente possa leggere correttamente il flusso di bit in arrivo.
Per ciascun livello gli standard ISO/OSI definiscono le possibili modalità di funzionamento, i protocolli, le interfacce ed ogni altra specifica utile per la progettazione di hardware e software di rete che garantisca l’ interoperabilità di prodotti diversi e di diversi costruttori.
Mettiamo ora a confronto lo standard ISO/OSI con quello TCP/IP. La prima osservazione che si può fare è che il secondo non definisce i livelli 1 e 2, per i quali si fa riferimento agli standard OSI, mentre i tre livelli superiori (Sessione, Presentazione ed Applicazione), per la maggior parte degli applicativi di rete più comuni, sono collassati in un unico livello, in cui le specifiche di ogni applicazione definiscono anche caratteristiche di Sessione e Presentazione. In ambiente I livelli TCP ed IP, invece, trovano corrispondenti nella pila di protocolli OSI rispettivamente nel livello Network e nel livello di Trasporto.
Protocolli in Internet.
In ambiente Internet i protocolli per le applicazioni più comuni sono:
• Telnet, che permette di accedere a un computer remoto, sul quale sono stati dati i permessi di accesso, ossia di effettuare un login1 a distanza su un’ altra macchina della rete sulla quale si possiede un account2. È in tal modo possibile lavorare a distanza sulla macchina remota tramite Telnet, in modalità interattiva. Con Telnet si può, inoltre, fare ricerca su database remoti ed effettuare login ai cataloghi delle biblioteche di università lontane.
Per iniziare il collegamento Telnet si deve specificare l’indirizzo della macchina remota o il suo numero IP. Se il collegamento funziona appare la dicitura login alla quale si risponde col il nome utente della macchina remota e poi la dicitura password alla quale bisogna rispondere con la parola d'ordine. A questo punto dovrebbe apparire il prompt3 della macchina remota che e' in generale il nome seguito dal carattere "%". Si può terminare il collegamento e ritornare alla macchina locale inviando il comando logout dal prompt della macchina remota. Se ci si trova lontani dal proprio ambiente di lavoro e si ha bisogno di controllare la posta elettronica, basta trovare un qualsiasi accesso ad Internet con servizio di telnet e collegarsi al proprio server di posta elettronica. Esistono due tipi di server per la posta elettronica: SMTP e POP3 che potrebbero anche essere la stessa macchina. SMTP è la sigla che indica i server di posta in uscita, POP3 i server di posta in entrata. In poche parole, con un server SMTP si mandano le email, con un server POP3, invece, si ricevono le email sul proprio computer client.
Il nostro client può inviare la nostra missiva grazie ad una opportuna sessione Telnet, tramite questa si manda il nostro messaggio al server SMTP il quale a sua volta lo manda al server POP3 di destinazione e, tramite una sessione Telnet compiuta dal ricevente, è possibile scaricarla nel computer client dell’ amico che riceverà la lettera elettronica.
• FTP (File Transfer Protocol), che è un protocollo di comunicazione studiato per la copia di file binari o di testo tra due computer collegati alla rete. Esso è stato sviluppato prima dell’ HTTP e svolge funzioni relativamente simili. Tuttavia, mentre l’ HTTP è essenzialmente centrato sul trasferimento di iperoggetti4 e sulla loro visualizzazione, l’ FTP permette di leggere comodamente le directory e il loro contenuto sul computer remoto, e di muoversi al loro interno; in pratica, l'hard disk del sito FTP viene momentaneamente collegato al proprio, ed è possibile compiere tutte le operazioni che normalmente si compiono con i file presenti sul proprio hard disk (copia, cancellazione, spostamento...). In questo modo, è possibile copiare facilmente un grande numero di file (ad esempio copiando un’intera cartella), cosa che tramite il WWW richiederebbe la faticosa selezione di un link per ogni file. Quando si stabilisce una connessione con un sito FTP vengono richiesti un login e una password, poiché si suppone che l'utente disponga di un accesso personale a quel server. Tuttavia, proprio per poter creare archivi di software aperti al pubblico, è stato inventato il cosiddetto FTP anonimo, ossia un accesso che chiunque può utilizzare, e mediante il quale si entra in una zona dell'hard disk del server in cui sono contenuti file "pubblici". La modalità anonima viene normalmente attivata indicando, all'atto del collegamento, come login anonymous - si tratta di un nome convenzionale - e come password il proprio indirizzo di E-mail, che non verrà controllato, ma solo conservato; ci si troverà in questo modo nella directory radice del sito FTP, nella quale viene solitamente posta una sottodirectory denominata pub (pubblica) che contiene i file che è possibile trasferire. In tal caso si hanno solo i diritti di lettura e copiatura.
È possibile accedere a siti FTP anonimi mediante un normale browser, inserendo URL del tipo:
ftp://nomesito
• SMTP (Simple Mail Transfer Protocol) che è il protocollo per spedire i messaggi di posta elettronica e POP3 (Post Office Protocol version 3), che è il protocollo di gestione delle mailbox, e quindi adottato per prelevare i messaggi ricevuti. Solitamente i due server coincidono, ma i programmi più recenti permettono di specificare server differenti per la posta in uscita e in entrata. Per individuare mittenti e destinatari dei messaggi, si utilizzano gli indirizzi di e-mail, che hanno l'aspetto:
nomeutente@nomemacchina
dove nomeutente è appunto un nome che identifica l'utente, nomemacchina è il nome del computer sul quale è posta la sua mailbox (casella postale elettronica), scritto in forma letterale secondo i soliti criteri di denominazione dei computer connessi alla rete, mentre il carattere @, che separa i due nomi e permette di distinguere gli indirizzi di posta elettronica dai comuni nomi di computer e dagli URL, viene normalmente letto come “at” (presso).
Spesso il nomemacchina non è un vero nome di computer, ma il nome di un sottodominio (ad esempio polito.it o tin.it); in questo caso, il messaggio verrà spedito ad un server che si occupa di smistare tutta la posta diretta ad utenti di quel sottodominio.
Le mailbox non sono situate sul computer dell'utente, ma su particolari server che vengono tenuti accesi 24 ore su 24, in modo che anche messaggi ricevuti mentre l'utente è scollegato vengano comunque conservati. All'atto della connessione, in maniera automatica oppure dietro richiesta dell'utente a seconda della configurazione del proprio programma di posta elettronica, i messaggi ricevuti vengono poi trasferiti sul computer o nell'area dell'utente. È quindi importante capire che la posta viene ricevuta in due fasi: prima viene memorizzata su di un apposito computer, nella mailbox dell’ utente, e poi viene prelevata dalla mailbox e copiata sul computer dell’ utente stesso.
I programmi che controllano la posta in arrivo possono essere configurati sostanzialmente in due modi: uno per scaricare la posta, ossia per rimuovere i messaggi che vengono prelevati dalla mailbox (remove from the server); un altro per leggere la posta, ossia per copiare i messaggi presenti nella casella postale, senza rimuoverli (leave on the server). Questo serve per non fare pasticci: difatti è opportuno stare attenti a scaricare la posta sempre sullo stesso computer; se si vuole controllare la posta arrivata avendo a disposizione un altro computer conviene configurare il programma in modo da evitare di cancellare la posta dalla mailbox, questo per evitare la confusione di ritrovare i messaggi sparsi su vari computer o programmi.
• SNMP (Simple Network Management Protocol): consente la gestione e la supervisione di apparati collegati in una rete, rispetto a tutti quegli aspetti che richiedono azioni di tipo amministrativo. I tre componenti fondamentali di un’applicazione SNMP sono:
1. sistema gestito (managed object)
2. agente di gestione (management agent)
3. sistema di gestione (manager)
Ogni sistema gestito (per esempio un semplice nodo, un router, una stampante o qualsiasi altro dispositivo che fornisca una interfaccia di gestione SNMP) ospita un agente di gestione (master agent) e solitamente un certo numero di subagent. Il master agent ha almeno il ruolo di intermediario fra il manager (che è l'applicazione remota che prende le decisioni di gestione, per esempio sotto il controllo diretto dell'operatore umano) e i subagent (che sono gli esecutori di tali decisioni). Ciascun subagent è incaricato di attuare le decisioni di gestione nel contesto di un particolare sottosistema o relativamente a un particolare aspetto del sistema gestito. In sistemi che forniscono meccanismi di gestione particolarmente semplici, master agent e subagent
possono confluire in un unico componente software capace sia di dialogare con il manager che di attuarne le decisioni; in questo caso si parlerà semplicemente di agent.
Nell'architettura SNMP, per ogni sottosistema è definita una base dati detta MIB (Management Information Base), gestita dal corrispondente subagent, la quale rappresenta lo stato del sottosistema gestito, o meglio, una proiezione di tale stato limitata agli aspetti di cui si vuole consentire la gestione. Si tratta di una base dati che si potrebbe definire “casualmente connessa”: in altre parole, ogni modifica alla MIB causa un corrispondente mutamento nello stato del sottosistema rappresentato, e viceversa. Garantire questa proprietà della MIB è la funzione principale del subagent che la gestisce.
Come esempio, si potrebbe avere un dato di MIB che rappresenta l'indirizzo IP del sistema gestito; per modificare tale indirizzo, al manager è sufficiente accedere alla MIB sovrascrivendo il dato corrispondente, prescindendo dei dettagli di come una tale modifica venga poi concretamente “attuata” sul sistema gestito.
Più in dettaglio, il manager dialoga con i sistemi gestiti essenzialmente in due modi: invia richieste SNMP e riceve notifiche SNMP.
Alcuni esempi di richieste sono:
GET, usata per leggere uno o più dati di MIB
GETNEXT, usata per leggere iterativamente una sequenza di dati di MIB
GETBULK, usata per leggere con una sola richiesta grandi porzioni di MIB
SET, usata per scrivere (modificare) uno o più dati di MIB
Le notifiche (trap) sono messaggi inviati dall’ agent per segnalare eventi occorsi nel sistema gestito (p.es. allarmi in caso di guasti).
Per motivi di sicurezza, i sistemi di gestione facenti parte di una rete SNMP vengono raggruppati in una cosiddetta comunità. La comunità è identificata da una stringa di 32 byte e ciascun sistema può appartenere a più di una di queste. L'agent SNMP accetta richieste solo da un manager della stessa comunità. L'autorizzazione dei membri di una comunità ad operare su un oggetto può essere di tre tipi:
read: il manager può interrogare l'agent solo per conoscere lo stato del sistema (solo GET)
write: dove il manager può anche variarne l'impostazione (GET e SET)
trap: l'agent può inviare trap al manager
• HTTP: è l'acronimo di Hyper Text Transfer Protocol (protocollo di trasferimento di un ipertesto). usato come principale sistema per la trasmissione di informazioni (ipertesti e più in generale iperoggetti) sul web e le cui specifiche sono attualmente in carica al W3C (World Wide Web Consortium)
Un ipertesto è semplicemente un normale file di testo (ASCII) contenente, in mezzo al testo del documento e racchiuse tra i caratteri < e >, alcune istruzioni particolari, dette tag, che permettono di inserire immagini, creare rimandi, ecc. L'HTML (HyperText Markup Language) è il “linguaggio di programmazione”, estremamente semplice, per creare gli ipertesti, ed è costantemente in via di sviluppo.
Non bisogna allora confondere l'HTML (che è una specie di rudimentale linguaggio di programmazione) con l'HTTP (HyperText Transfer Protocol), che è invece il protocollo di comunicazione usato per trasferire sulla rete gli ipertesti, e più in generale gli iperoggetti del World Wide Web, dal computer dove sono memorizzati a quello dell'utente che vuole leggerli. L'HTTP, difatti, permette di trasferire qualsiasi tipo di file; sarà poi il computer dell'utente, in base al tipo MIME del file, a decidere che cosa farsene. Ad esempio Netscape permette di configurare una azione predefinita per ciascun possibile file in arrivo; mentre i file HTML vengono visualizzati come ipertesti, i file di immagini vengono visualizzati come tali, i file audio vengono spediti alla scheda sonora (se disponibile), eccetera. Nel caso che il browser non sappia come trattare il tipo del file, normalmente esso chiederà all'utente che cosa fare.
L'HTTP funziona su un meccanismo richiesta/risposta (client/server): il client esegue una richiesta ed il server restituisce la risposta. Nell'uso comune il client corrisponde al browser ed il server al sito web. Vi sono quindi due tipi di messaggi HTTP: messaggi richiesta e messaggi risposta.
Una tipica transazione avviene così:
1. Il client HTTP (browser) stabilisce una connessione con un server HTTP remoto. Le informazioni sul server da contattare e sulla porta da usare sono comprese nel link ipertestuale; il client localizza il server e inizia il processo di connessione.
2. Il client spedisce una richiesta.
3. Il server processa la risposta: nella maggior parte delle volte il processo consiste nel localizzare un file e restituirlo al cliente.
4. Il server risponde qualcosa al client; potrebbe essere il file richiesto, una semplice conferma che la richiesta è stata processata, oppure un messaggio di errore.
5. Il server chiude la connessione. I primi protocolli, come telnet e ftp, erano stati progettati con l’idea che l’utente si collegasse ad un sistema remoto per un periodo di tempo esteso, trasmettendo comandi diversi e tenendo la connessione aperta; nel caso del web invece è probabile che la prossima connessione avvenga in un tempo abbastanza successivo alla precedente, e/o che la richiesta sia diretta ad un altro server; in tal caso non c’è vantaggio nel tenere la connessione aperta o mantenere informazioni sul client; quindi HTTP è stato progettato per chiudere la connessione appena ha finito di processare una richiesta.
Il messaggio richiesta è composto di tre parti:
Riga di richiesta (request line) composta a sua volta da
method, che è una singola parola che dice al server che tipo di richiesta viene fatta, ad esempio, “get” è usato per ottenere il contenuto della risorsa oggetto della richiesta (come può essere il contenuto di una pagina HTML) indicata come URI Uniform Resource Identifier; “head” analogo a “get”, ma restituisce solo i campi dell’ header, ad esempio per verificare la data di modifica del file.
URI: dice il percorso e il nome della risorsa richiesta.
versione del protocollo, ad esempio “http/1.0”
L’ espressione generale di una riga di header è:
“http/1.0”
Righe di Header, che possono comprendere informazioni aggiuntive, come
Host: nome del server a cui si riferisce l’ URI.
User-Agent: identificazione del tipo di client: tipo browser, produttore, versione, ecc.
Body, sono dati opzionali che possono essere aggiunti in qualche richiesta.
Il messaggio di risposta è composto dalle seguenti tre parti:
Riga di stato (status-line), che riporta un codice a tre cifre che rappresenta lo stato della risposta, che può essere Success (la richiesta è stata soddisfatta), Client error (la richiesta non può essere soddisfatta perché sbagliata), Server error (la richiesta non può essere soddisfatta per un problema interno del server), ecc.
Header, come
Server, che indica il tipo e la versione del server, equivalentemente all’header di richiesta User-Agent,
Content-Type, che indica il tipo di contenuto MIME restituito
Body, che contiene i dati che vengono trasferiti al client.
Cosa indica la MIME dell’instestazione? MIME (Multipart Internet Mail Extension) è un sistema di comunicazione che permette la circolazione sulla rete di dati binari codificati in modo diverso; A ciascun flusso di dati viene associata una intestazione che specifica sostanzialmente il tipo di oggetto codificato (immagine, testo, programma, ecc.) e il formato con cui è stato memorizzato. Molti tipi di trasmissioni di dati, tra cui la posta elettronica e il protocollo HTTP usato per il World Wide Web, prevedono che il contenuto vero e proprio sia preceduto, all'interno delle righe di intestazione, da una indicazione del tipo oggetto/formato dove al posto di oggetto (talvolta anche detto tipo o type) vi è una parola chiave che specifica il tipo di oggetto (es. text, image) e al posto di formato (talvolta anche detto sottotipo o subtype) vi è una parola chiave che specifica il formato (ad esempio, se l'oggetto è un testo, plain, html, ecc., se è un’immagine JPEG, GIF).
Protocolli connessi e non.
Per tutti i livelli superiori al livello fisico, sono possibili due modalità operative: una modalità connessa ed una non connessa. Un’analogia tra i due diversi tipi di servizi può essere la seguente:
• Servizi con connessione sono quelli del servizio telefonico: due apparecchi vengono posti in comunicazione prima che ci possa essere uno scambio di messaggi;
• Servizi senza connessione sono quelli del sistema postale in cui ciascuna lettera reca l’intero indirizzo. Tutto avviene in una sola fase, lasciando cadere la busta, che deve contenere l’indirizzo del destinatario, nella cassetta delle lettere. Il destinatario non viene preventivamente avvertito della spedizione e, normalmente, il mittente non ha un riscontro diretto dell’avvenuto recapito.
La modalità connessa prevede che l’invio dei pacchetti sia preceduta da una fase di inizializzazione del collegamento, in cui si instaura un canale di comunicazione (tipicamente virtuale) tra mittente e destinatario. Gli indirizzi di mittente e destinatario vengono specificati solo in questa fase della comunicazione. Poi tutti i pacchetti attraversano nell’ordine tale canale, ne viene controllata la correttezza ed eventualmente richiesta la ritrasmissione. Al termine il canale di comunicazione viene disattivato.
In un servizio non connesso, invece, il messaggio viene direttamente immesso nel sistema di comunicazione senza attivare preventivamente un canale di comunicazione con il destinatario e, appena terminata la comunicazione, il mittente considera chiusa la comunicazione.
Un protocollo connesso garantisce la corretta ricezione di tutti i pacchetti nell’ordine in cui sono stati spediti. In un’architettura di rete, servizi connessi possono essere realizzati poggiandosi sui servizi non connessi dei livelli inferiori e viceversa. Il protocollo IP, ad esempio, è un protocollo non connesso. Se alcuni pacchetti vengono persi o giungono a destinazione nell’ordine sbagliato, è il protocollo di livello superiore, TCP, che gestisce, in modalità connessa, l’eventuale richiesta di ritrasmissione o il riordino dei dati.
Le tecniche di commutazione.
Poiché ogni nodo della rete deve essere messo nella condizione di trasmettere messaggi a qualunque altro nodo, agli estremi del mezzo fisico è necessario disporre di circuiti di commutazione che possano inoltrare i messaggi verso le destinazioni finali.
Fino a qualche anno fa, il metodo più usato per i collegamenti telefonici era la commutazione di circuito. In base a tale tecnica, per ogni chiamata viene stabilito un circuito elettrico, mediante cavi, amplificatori e sistemi automatici di commutazione nelle centrali telefoniche, tra gli apparecchi telefonici dei due interlocutori. Stabilito il collegamento, l’uso del circuito è esclusivo e continuo per tutta la durata della conversazione tra i due utenti. L’uso esclusivo del mezzo impedisce di sfruttare appieno la sua banda passante e, quindi, la sua potenziale velocità trasmissiva e non permette di utilizzare i periodi di assenza di trasmissione (i silenzi nelle telefonate) per altre trasmissioni. La commutazione di circuito è principalmente orientata a trasmissioni analogiche.
I problemi della commutazione di circuito vengono superati con le tecniche di commutazione di dati digitali, come, ad esempio, la commutazione di pacchetto. Un tempo tali tecniche riguardavano solo la trasmissione dati; oggi, con l’introduzione delle centrali telefoniche numeriche, in cui le telefonate vengono convertite in forma digitale prima di essere instradate verso la centrale di destinazione, alcune di esse, quali ATM, sono applicabili anche alla telefonia.
La rete, a maglia incompleta, dispone in ogni nodo di un dispositivo (commutatore di pacchetto) in grado di instradare ogni pacchetto in arrivo verso la sua destinazione finale.
Terminato l’instradamento di un pacchetto,il dispositivo può occuparsi del pacchetto successivo, che può anche appartenere ad un’altra comunicazione e instradarlo verso un diverso cammino.
In questo modo, sia i canali trasmissivi che i dispositivi di commutazione non vengono dedicati ad una singola comunicazione, come accade nella commutazione di circuito, ma sono condivisi tra più comunicazioni contemporanee. Inoltre, se una comunicazione non ha dati da trasmettere, non genera pacchetti e non occupa risorse né trasmissivo né di commutazione del sistema.
L’instradamento dei pacchetti avviene in base all’indirizzo del destinatario. La decisione di dove instradarli va effettuata di volta in volta, se il protocollo utilizzato non è connesso, oppure quando viene instaurata la comunicazione, in modalità connessa.
In quest’ultimo caso, viene realizzato un canale virtuale, analogo l canale fisico della commutazione di circuito, ma, per quanto visto, più efficiente.
LE RETI LAN
I servizi di rete.
Si parla di servizi di rete quando programmi in esecuzione su elaboratori distinti si scambiano informazioni di controllo (ad esempio comandi) e dati.
Quasi tutti i principali servizi di rete si basano su un’ architettura client/server; per ciascuno di essi sono disponibili programmi e programmi server, scritti per i diversi elaboratori e sistemi operativi.
Grazie alla progressiva standardizzazione avvenuta nell’ ambito delle reti, client e server in esecuzione su tipi di sistemi diversi (tipicamente con sistemi operativi diversi) possono interoperare.
Elenchiamo di seguito i principali servizi disponibili in rete, con particolare riferimento alle reti LAN:
• posta elettronica (servizio raramente usato in una LAN): ad ogni nodo della rete di computer è associato un nome (indirizzo) e per l’invio di un messaggio è necessario conoscere il nome del PC utilizzato dalla persona con cui si vuole comunicare; se gli elaboratori sono multiutente bisogna anche conoscere il nome dello username del destinatario.
Il client, mediante interfaccia grafica consente all’ utente di digitare ed inviare messaggi testuali con eventuali file in allegato (attachment), contenenti testi, immagini,dati multimediali.
L’invio e la ricezione di messaggi è invece gestito da un mail server, un software installato su un server che comunica con il client e con altri mail server collegati alla rete. Per ovviare a quelle situazioni in cui l’elaboratore destinatario è irraggiungibile (per interruzione alla linea di collegamento o perché guasto), i messaggi sono memorizzati temporaneamente in un nodo intermedio per essere poi inoltrato a destinazione non appena possibile.
• Condivisione di risorse, ossia di dischi, stampanti ed altre periferiche. Questa possibilità consente di ridurre la duplicazione di dati e, soprattutto, di programmi. Anche se il costo dei dischi è in continua diminuzione, la quantità di memoria richiesta per l’installazione di programmi applicativi cresce in modo da annullare ogni possibile risparmio. La condivisione dei dischi consente di sfruttare la rete per accedere da parte di più calcolatori ad un’unica copia dei programmi e delle cartelle residenti su un singolo server, normalmente detto file server o application server a seconda dei casi. I diversi sistemi operativi fanno vedere all’utente i dischi in modo diverso. In windows ad esempio sono identificati con un nome di rete e sono accessibili come dischi distinti da quelli locali. In Unix, grazie ad NFS (Network File System) il file system appare come un unico albero ed i dischi o i direttori condivisi sono sottoalberi della radice.
Per la condivisione delle stampanti si utilizza, invece, un calcolatore con funzione di print server: accodare i file in attesa di stampa ed inviarli ad una stampante, tra quelle previste, non appena questa è libera.
Fino a qualche hanno fa le stampanti erano collegate direttamente al server mediante interfacce seriali o parallele, la cui velocità di trasferimento dei dati era superiore a quella di stampa. Con l’ aumento della velocità di stampa le interfacce seriali e parallele sono divenute il collo di bottiglia del sistema, lasciando la stampante in attesa del trasferimento dati tra una pagina e l’altra. Per ovviare a questo inconveniente quasi tutte le stampanti di classe medio-alta vengono collegate direttamente alla rete ed attraverso questa possono dialogare direttamente con il print-server, beneficiando così della maggiore velocità di quest’ultima. Analogamente può essere condiviso in rete un fax.
• Downloading del software: ci sono alcune apparecchiature in rete (ad esempio stampanti) che pur essendo dotate di RAM e di CPU, non contengono localmente il software, ma lo caricano da un server tramite la rete. Si evita l’utilizzo di memorie di massa, ad esempio dischi magnetici, che aumenterebbero il costo delle apparecchiature.
All’accensione dell’apparecchiatura un piccolo programma in ROM invia un messaggio a tutti gli elaboratori, richiedendo il caricamento del software. A tale messaggio un elaboratore opportunamente configurato per fungere da server risponde, inviando il software. Un caso particolare di software download si ha quando l’apparecchiatura è essa stessa un elaboratore, ma non dispone di una copia locale del sistema operativo (per esempio PC o workstation diskless, oppure i nuovi network computer). In tal caso si parla di bootstrap remoto.
Prestazioni e struttura delle reti LAN.
Esistono diversi tipi di reti di computer in grado di soddisfare le esigenze di uffici o aziende di piccola, media, grossa dimensione. Una rete è caratterizzata da tre elementi fondamentali:
• Sicurezza: capacità di assicurare la destinazione corretta del flusso di dati ed evitarne l'intercettazione e di garantire un rischio di guasto bassissimo.
• Prestazione: velocità di trasmissione dei dati nella rete.
• Fattibilità: facile costruzione della rete.
I tipi di rete più comuni sono:
Rete a stella o stella estesa
È caratterizzata da un punto centrale, centrostella, che può essere uno switch o un elaboratore e diversi host connessi ad esso. La rete a stella diventa a stella estesa quando al posto di un host collegato al centrostella c'é un altro apparato attivo, switch o hub con a sua volta altri host collegati ad esso.
Pregi
• un guasto ad un host non compromette le comunicazioni degli altri;
• comunicazioni sicure e difficilmente intercettabili tra un host e l'altro (con l’ uso dello switch);
• basso traffico di pacchetti per gli host (con l’ uso dello switch).
Difetti
• la rottura del centrostella porta all’ interruzione delle comunicazioni per tutti gli host.
Rete a bus
Ogni host è collegato in modo lineare attraverso un cavo o tramite un hub.
Pregi
• reti semplici da realizzare e poco costose
Difetti
• ogni computer può intercettare le comunicazioni altrui
• elevato traffico in tutta la rete
• un guasto ad un host compromette le comunicazioni degli altri
Rete ad anello o token ring
Ogni calcolatore è collegato ad altri due formando un cerchio. Il protocollo più diffuso in una rete ad anello è il “Token ring”, basato sul “passaggio del testimone”, in base al quale la determinazione di quale calcolatore abbia diritto a trasmettere avviene tramite un particolare messaggio, detto token.
All’ interno di questa rete solo un calcolatore alla volta può trasmettere, quello in possesso del token. Esso avvia la trasmissione dei dati trasferendoli al calcolatore vicino, il quale lo prende in consegna se è il destinatario oppure ripete a sua volta il segnale verso il successivo calcolatore ad esso collegato, così fino a raggiungere il destinatario. Il destinatario legge i dati ma non li toglie dalla rete; sarà il mittente ad eliminare i suoi dati dalla rete e a rimettere in circolo il testimone.
Quando il calcolatore che è in possesso del token ha terminato la trasmissione dei dati passa il token a quello vicino. Quest’ ultimo se deve trasmettere dati inizia la comunicazione, altrimenti cede immediatamente il token senza impegnare il canale. Ogni calcolatore, ogni volta che riceve il token, può trasmettere al massimo un solo frame, quindi deve consegnare il token al terminale vicino.
Nelle reti Token Ring un computer malfunzionante viene automaticamente escluso dall’anello consentendo agli altri di continuare a funzionare regolarmente in rete. In altri tipi di reti ad anello, un computer che non funziona può provocare la caduta di tutta la rete.
Pregi
• può coprire distanze maggiori di quelle consentite da altre reti senza l'aggiunta di amplificatori di segnale
Difetti
• esiste il rischio che gli host possano intercettare comunicazioni altrui
• elevato traffico in tutta la rete
• il guasto di un host può compromettere la trasmissione di dati
Le reti locali possono essere di vario tipo, ad esempio:
• Ethernet
• Token Ring
• Wireless
Ethernet
Ethernet è il nome di un protocollo per reti locali, sviluppato a livello sperimentale da Robert Metcalfe e David Boggs, suo assistente, alla Xerox PARC. La data ufficiale è il 1973 quando Metcalfe scrisse un promemoria ai suoi capi della Xerox sulle potenzialità di Ethernet. Metcalfe lasciò Xerox nel 1979 per promuovere l'uso del PC e delle LAN per cui fondò 3Com. Metcalfe spesso attribuisce il successo di 3Com a Jerry Saltzer. Questi collaborò alla stesura di un articolo importantissimo dove suggeriva che l'architettura token ring fosse teoricamente superiore alla Ethernet. Con questo le grosse aziende decisero di non puntare su Ethernet mentre, al contrario, 3Com poté creare un business intorno al sistema riuscendo a guadagnarsi un ottimo vantaggio tecnico e a dominare sul mercato quando Ethernet prese piede.
Successivamente, l'interesse delle imprese del settore aumentò al punto che l'IEEE5 costituì alcuni gruppi di studio finalizzati a perfezionare e consolidare Ethernet, nonché a creare numerosi altri standard correlati. Uno dei risultati raggiunti fu la pubblicazione, nel 1985, della prima versione dello standard IEEE 802.3, basato sull'originale specifica Ethernet, ma non completamente identificabile con essa. In seguito, lo standard Ethernet come tale non è più stato mantenuto, ma il termine continua ad essere usato quasi come fosse un sinonimo di IEEE 802.3, sebbene i due standard non coincidano affatto.
Ethernet attualmente è il sistema LAN più diffuso per diverse ragioni:
• È nata molto presto e si è diffusa velocemente per cui l'uscita di nuove tecnologie ha trovato il campo occupato;
• Rispetto ai sistemi concorrenti è più economica e facile da usare e la diffusione delle componenti hardware ne facilitano l'adozione;
• Funziona bene e genera pochi problemi (cosa rara nel campo informatico);
• È adeguata all'utilizzo con TCP/IP;
Il frame contiene il Destination MAC address ossia l’ Indirizzo MAC, lungo 6 byte, dell’adattatore di destinazione ed il Source MAC address , ossia l’Indirizzo sorgente, anch’esso di lunghezza 6 byte. Esso viene spedito a tutti i nodi della LAN: se l’ indirizzo del ricevente non corrisponde a quello indicato nel frame, il Livello fisico del protocollo lo scarta e non lo invia agli strati successivi.
I dati reali oggetto di scambio sono contenuti nel “Campo dati”, lungo da 46 a 1500 byte. Se essi superano la capacità massima MTU (Maximum Transmission Unit) della Ethernet vengono suddivisi in più pacchetti.
Quattro byte (campo FCS) del frame sono destinati al “Controllo a ridondanza ciclica” (CRC), che permette di rilevare se sono presenti errori di trasmissione: il ricevente calcola il CRC mediante un algoritmo e lo confronta con quello ricevuto in questo campo. Se essi non coincidono il frame viene scartato. Ethernet non prevede la ritrasmissione del frame scartato, né una notifica della sua perdita agli strati superiori. Tale protocollo è quindi inaffidabile, ma anche semplice ed economico.
Sarà compito degli strati superiori (ad esempio TCP) provvedere alla ritrasmissione.
Ethernet è una tecnologia che fornisce al livello di rete un servizio senza connessione, in pratica il mittente invia il frame nella LAN senza alcun handshake iniziale, questo frame viene inviato in modalità broadcast (o a bus condiviso) e attraversa tutta la LAN. Quando viene ricevuto da tutti gli adattatori presenti sulla LAN quello che vi riconoscerà il suo indirizzo di destinazione lo recepirà mentre tutti gli altri lo scarteranno.
La gestione delle collisioni e dell'occupazione simultanea del canale di trasmissione viene gestita mediante il CSMA/CD (Carrier Sense Multiple Access with Collision Detection).
CSMA/CD è un acronimo composto da:
• Carrier Sense: ogni stazione sulla rete locale ascolta continuamente il mezzo trasmissivo;
• Multiple Access: il mezzo trasmissivo è condiviso da ogni stazione;
• Collision Detection: le stazioni sono in grado di rilevare la presenza di collisioni dovute alla trasmissione simultanea, e reagire di conseguenza. Tali collisioni avvengono, principalmente, quando gli adattatori sono contemporaneamente in attesa di trasmettere, tutti simultaneamente tenteranno di trasmettere provocando altre collisioni.
L’ algoritmo è così sintetizzabile: l’ adattatore sistema il frame in un buffer; se il canale è inattivo si procede alla trasmissione, se è occupato si attende prima di ritrasmettere. Mentre si trasmette l'adattatore monitora la rete (è questo il vero e proprio Collision Detection), se non riceve segnali da altri adattatori considera il frame spedito, tale segnale si ricava confrontandolo con quello che trasmette, se i due differiscono è avvenuta una collisione, quindi va interrotta la trasmissione;
Se l'adattatore riceve, durante una trasmissione, un segnale da un altro adattatore, arresta la trasmissione e trasmette un segnale di disturbo (jam) per avvertire tutti gli adattatori che è avvenuta una collisione. Dopo aver abortito la trasmissione attende in maniera esponenziale (backoff esponenziale). L'attesa esponenziale funziona in questo modo: gli adattatori aspettano un tempo casuale entro un valore massimo d (il protocollo che usa il CSMA/CD, ad esempio Ethernet, fissa tale valore). Se viene generata nuovamente una collisione il valore d viene raddoppiato, così fino a che questo è sufficientemente grande. Questa tecnica viene chiamata recessione binaria esponenziale.
Bridge.
Come dice il nome, il bridge è un dispositivo ponte, esso costituisce un precursore dello switch e il suo lavoro è stato oggi ereditato integralmente dagli switch. Collega tra loro due o più segmenti di una rete dello stesso tipo oppure due o più reti di tipo diverso, regolando il passaggio delle trame da una all'altra sulla base dell'indirizzo di destinazione contenuto in queste ultime. Esso riceve tutte le trame che circolano all'interno di ciascuna delle reti o dei segmenti di rete a cui si collega per mezzo delle proprie porte di ingresso/uscita. Legge l’ indirizzo MAC di provenienza di queste trame e, così facendo, costruisce una tabella di mappatura delle varie macchine collegate a ciascun segmento (detta forwarding table), come illustrato in figura. Questa mappa gli servirà per ripartire il traffico così che passino da un segmento all'altro solo i pacchetti (trame) che ne hanno effettivamente bisogno, bloccando il traffico interno di ciascun segmento affinché non si riversi inutilmente negli altri (ricordiamo che Ethernet, per costituzione propria, tende a distribuire tutto a tutti, anche quelli che non ne hanno necessità). Quando il bridge riceve una trama su una delle proprie porte o interfacce, ha quattro alternative. Se l'indirizzo di destinazione appartiene a una macchina che si trova sullo stesso segmento da cui la trama arriva, il bridge scarta la trama. Se l'indirizzo di destinazione si trova su un segmento diverso rispetto a quello da cui la trama arriva, il bridge la invia sul segmento di destinazione. Se l'indirizzo di destinazione indicato non compare in alcun modo all'interno della tabella d'inoltro (forwarding table), la trama viene spedita a tutte le reti oppure a tutti i segmenti a cui il bridge è collegato, con la sola eccezione di quello da cui è arrivata. Quest’ ultima operazione si chiama flooding (allagamento). Nel caso in cui la trama sia indirizzata a una rete che usa un sistema diverso nel confezionare le trame il bridge dovrà anche eseguirne la traduzione. Se infine la trama è destinata al bridge medesimo, viene intercettata e consegnata ai circuiti interni che dovranno interpretarla.
Switch.
Adesso che abbiamo visto come funziona un bridge passiamo alla sua evoluzione più moderna: lo switch o commutatore. Si tratta di un'apparecchiatura che, alla pari di un bridge, collega tra loro diversi segmenti logici di una rete (diversi domini di collisione) e che consente il passaggio d'informazioni dall'uno all'altro, impedendo tuttavia che l'intero traffico presente su uno di essi si riversi negli altri, e viceversa Nella tecnologia delle reti informatiche, uno switch, in inglese letteralmente commutatore, è un dispositivo di rete che inoltra selettivamente i frame ricevuti verso una porta di uscita.
A differenza di quanto farebbe un hub, uno switch inoltra i frame in arrivo da una qualsiasi delle sue porte soltanto a quella cui è collegato il nodo destinatario del frame. Due nodi possono comunicare attraverso uno switch come se questo non ci fosse, ovvero il suo comportamento è trasparente. L'inoltro selettivo dei frame permette a più frame di attraversare contemporaneamente lo switch, e quindi la banda totale disponibile non viene ridotta6. In una connessione di questo tipo si dice che l'host ha un accesso dedicato al commutatore.
Normalmente uno switch opera al livello datalink del modello di riferimento ISO/OSI.
La sola differenza rispetto al bridge è che lo switch esegue tutte le proprie elaborazioni in hardware e non via software, perciò non rallenta il fluire del traffico tra i segmenti. In gergo tecnico si dice che la connessione sia wire speed cioè lasci transitare i pacchetti alla velocità massima consentita dal tipo di conduttore usato per il cablaggio. Nella realtà, un rallentamento esiste sempre, anche se marginale, e la sua entità dipende dal modo in cui lo switch funziona. La primissima tecnica di switching, che eredita in toto la modalità operativa dei bridge, si chiama store-and-forward. Ogni trama che arriva su una delle porte dello switch viene incamerata per intero in una speciale porzione di memoria (buffer) e quindi scartata o trasferita a un altro segmento a seconda dell'indirizzo di destinazione (mac address) indicato al suo interno. L'operazione è velocissima, ma comporta in ogni caso un certo rallentamento perché la trama deve arrivare per intero nel buffer dello switch prima di cominciare a essere ritrasmessa su un'altra porta (a cui corrisponde un altro segmento, appunto). È la tecnica di commutazione più affidabile, poiché prima di rispedire il pacchetto ci si accerta di averlo per intero e se ne verifica la correttezza attraverso il calcolo del crc (Cyclic Redundancy Check), ed è l'unica utilizzabile quando si collegano segmenti funzionanti a velocità diverse, come Ethernet e Fast Ethernet, per esempio. Tuttavia su impianti molto veloci, come nel caso di una dorsale che funziona tutta a 100 Mbps o più, il numero di trame in circolazione è molto elevato e il ritardo che si accumula per la registrazione di ciascuna si fa sentire.
L'alternativa ideata per eliminare quest'ultimo inconveniente si chiama commutazione cut-through. La parola significa "tagliare attraverso", "prendere una scorciatoia" e in effetti è proprio quello che accade. Non appena lo switch comincia a ricevere una trama su una qualsiasi delle sue porte, ne legge l'indirizzo di destinazione e, se questo corrisponde a un segmento collegato a un'altra porta, inizia immediatamente a trasmettere la trama senza aspettare che questa sia arrivata per intero.
In questo modo, dopo aver letto l'indirizzo, la trasmissione in uscita avviene quasi in contemporanea con la ricezione, e il ritardo è minimo (fino a 20 volte inferiore a quello della tecnica store-and-forward). Benché molto efficace sotto il profilo della velocità, questa tecnica presenta il difetto di far passare anche porcheria. Infatti vengono ritrasmesse anche le trame difettose (troppo corte) risultanti da collisioni o da altri problemi nel segmento di provenienza. Lo switch si limita a controllare l'indirizzo e quindi fa passare tutto quel che segue senza controllo alcuno.
Inoltre il beneficio del sistema cut-through diminuisce quando il traffico diventa molto intenso e continuo. In questa circostanza è facile che una trama trovi la porta di uscita ancora occupata a trasmettere la trama precedente e perciò deve comunque essere memorizzata per intero nell'attesa di essere trasmessa (si torna alla modalità store-and-forward). Tale fenomeno è ancora più visibile con switch dotati di numerose porte visto che la quantità di traffico complessiva che si genera al loro interno è sempre elevata. Dal confronto di questi due approcci, ne è stato ideato un terzo, intermedio, che si chiama fragment-free switching.
Alla pari della modalità store-and-forward, anche qui si aspetta di ricevere l'intera trama prima di iniziare a trasmetterla, però ci si assicura che questa sia almeno lunga 64 byte (il minimo consentito dallo standard Ethernet) e si scarta qualsiasi frammento di trama che abbia dimensioni inferiori. In una rete Ethernet progettata con cura, gli unici errori ricorrenti sono le trame corte provocate da collisioni (runt) e per definizione queste hanno una dimensione inferiore ai 64 byte. Uno switch fragment-free è più veloce di un modello store-and-forward e al contempo non inonda il segmento di destinazione con frammenti di trama inutilizzabili. Il controllo, tuttavia, non è completo visto che continuano in ogni caso a passare le trame troppo lunghe (che sono peraltro il prodotto di malfunzionamenti sulla rete, come abbiamo visto sullo scorso numero, e che vengono risolte sostituendo i componenti difettosi).
Per filtrare queste ultime non esiste alternativa se non quella di utilizzare il sistema store-and-forward: si aspetta che la trama arrivi per intero, la si misura e la si fa proseguire solo se va tutto bene. Ciascuna di queste tre modalità offre vantaggi specifici e l'impiego dell'una piuttosto che dell'altra è anche determinato dallo stato contingente in cui si trova la rete: un'alta percentuale di collisioni e di errori oppure un traffico normale.
La banda disponibile per Internet viene equamente frazionata fra le porte dello switch, ugualmente a quanto avviene per un hub, ed ha un'allocazione statica, per la quale banda resta la medesima anche se non tutte le porte sono collegate ad un cavo Ethernet o se alcuni computer (connessi con cavo Ethernet) non sono collegati ad Internet.
Se su un Hub sono collegate tutte le macchine di un laboratorio, e su un secondo Hub tutte le macchine di un secondo laboratorio, collegando i due Hub a due porte differenti di uno switch i due laboratori, che genereranno prevalentemente traffico "interno", potranno lavorare senza disturbarsi reciprocamente.
Costruire una rete LAN peer-to-peer.
I requisiti hardware per assemblare una rete Peer To Peer da 10 postazioni è la seguente:
• 10 computer con Windows95/98 correttamente configurati;
• 10 schede di rete Ethernet con attacco BNC;
• 9 cavi del tipo RJ-58 Thinnet con connettori BNC: la lunghezza dei singoli cavi è data dalla distanza tra una postazione e la successiva e non deve superare i 185 metri;
• 2 terminatori da 50 Ohm per cavi RJ-58;
• 10 connettori (per cavi RJ-58) a T:
Questi sono i 4 passi per realizzare il collegamento fisico della rete:
1. Posizionare i computer nelle relative stanze;
2. Inserire i connettori a T sul retro di ogni scheda di rete;
3. Inserire, nel connettore a T del primo computer, l'estremità del primo cavo e collegare l'altra al connettore a T del computer successivo. Ripetere tale operazione per tutti i 9 cavetti (dal primo PC al secondo, dal secondo PC al terzo,....,dal nono PC al decimo).
4. Inserire un terminatore da 50 Ohm all' altra estremità del connettore a T della prima postazione e l' altro al connettore a T della scheda di rete del computer 10.
Configurazione software.
Questi sono gli 8 passi per configurare la rete:
1. Installare i driver per la scheda di rete.
2. Installare un protocollo di comunicazione (ad esempio “Microsoft NetBEUI”) da pannello di controllo.
3. Installare “Client per Reti Microsoft” da pannello di controllo.
4. Abilitare la condivisione di file e stampanti da pannello di controllo. Per condividere una risorsa (directory, stampante, disco,ecc.) ossia renderla visibile e disponibile a tutti gli utenti della rete bisogna cliccare con il tasto destro sulla risorsa da condividere e cliccare su “Condivisione”, selezionare "Condividi con nome" e specificare il tipo di accesso e/o una eventuale password. In tal modo sarà visibile da tutti in “Risorse di Rete”.
5. Sempre nelle proprietà di rete cliccare sulla linguetta in alto "Identificazione" ed inserire nel campo “Nome computer” un nome univoco della postazione (es. Postazione1), in Gruppo di Lavoro (o WorkGroup) su tutte le postazioni lo stesso nome di gruppo (es. Area_Tecnica).
6. Riavviate le postazioni.
7. Ripetere i passi dall'1 al 7 per ogni singola postazione.
NetBEUI (pron. Netbui), acronimo di NetBIOS Extended User Interface (interfaccia utente estesa per NetBIOS). È un protocollo del Livello Trasporto definito da IBM nel 1985 e sviluppato successivamente da Microsoft. NetBEUI è presente su Windows 95-98, Windows NT, ed altri sistemi quali LAN Manager, LAN server e Windows per Workgroups. Una rete NetBEUI è semplice da configurare, per identificare un PC è sufficiente assegnarvi un nome scelto a piacere dall'utente e un nome di dominio. Questo protocollo non supporta però il routing dei messaggi su altre reti. Può essere utilizzato solo su una rete costituita da un unico segmento (subnet, porzione di rete elettricamente contigua). Comunque è sempre possibile utilizzare il TCP/IP o IPX per costruire un internetwork, ossia una rete costituita da più segmenti congiunti da bridge o router.
Dominio di collisione e dominio di broadcast.
Vai a: Navigazione, cerca
In una rete di calcolatori, un insieme di nodi che concorrono per accedere allo stesso mezzo trasmissivo costituiscono un dominio di collisione.
Facendo riferimento al modello ISO/OSI, questo concetto si colloca al livello datalink, e in particolare al sottolivello di accesso al mezzo trasmissivo (MAC, Medium Access Control).
L'espressione ha origine nelle reti in cui l'accesso al mezzo trasmissivo è regolato in modo non deterministico: un nodo (più precisamente l'hardware di rete di cui esso è munito) può cercare di accedere al mezzo in qualunque momento ma, se questo risulta già occupato da una trasmissione in corso, si ha una collisione, e il nodo attende per un tempo casuale prima di ritentare. Il tempo casuale viene incrementato ad ogni nuovo tentativo fallito, per cui si può avere un rapido decadimento delle prestazioni della rete in situazione di traffico intenso. Vedi anche IEEE 802.3.
Naturalmente, quanto più è ampio un dominio di collisione, tanto più probabili sono le collisioni, e quindi anche il decadimento della velocità di trasmissione all'interno del dominio. È dunque importante limitare la proliferazione dei nodi all'interno di uno stesso dominio di collisione.
Poiché dispositivi come repeater e hub si limitano a inoltrare ogni trasmissione ricevuta a tutti i nodi cui sono collegati, espandere una rete tramite simili dispositivi porta a creare domini di collisione sempre più ampi e quindi meno performanti.
Dispositivi come switch e bridge, invece, possono essere usati per dividere un dominio di collisione in parti più piccole e quindi più efficienti. Infatti, quando due nodi comunicano attraverso uno switch, questo crea una sorta di mezzo trasmissivo dedicato fra i due nodi, su cui essi possono trasmettere senza disturbare le trasmissioni fra gli altri nodi, né esserne disturbati. Si avranno collisioni solo nel caso che, mentre lo switch mette in comunicazione due nodi, altri nodi vogliano comunicare proprio con questi.
Un dominio di broadcast è un insieme di computer in una rete che possono scambiare dati a livello datalink, senza che questi debbano risalire fino al livello di rete in altri nodi dello stesso insieme.
Tipicamente, due diversi domini di broadcast sono separati da un router, che deve esaminare le intestazioni IP dei pacchetti per poterli inoltrare verso la loro destinazione.
Dispositivi come hub, switch, bridge o repeater si limitano invece ad esaminare le intestazioni di livello datalink, e quindi i nodi ad essi collegati condividono lo stesso dominio di broadcast.
Il nome deriva dal fatto che in una rete IEEE_802.3, anche se segmentata con switch o bridge, i pacchetti con indirizzo destinazione di tipo broadcast vengono comunque inviati a tutti i calcolatori, quindi il dominio di broadcast può essere visto come l'insieme massimo di calcolatori che possono inviarsi reciprocamente pacchetti di tipo broadcast.
La segmentazione delle reti in domini di broadcast.
Gli amministratori delle reti di grandi dimensioni preferiscono suddividere la rete locale in reti interconnesse per facilitarne gestione ed amministrazione, con l’ effetto di non secondaria importanza di ottenere una riduzione del traffico in quanto i protocolli adottati non consentono in genere ai pacchetti broadcast di transitare all’ interno dei router. Gli strumenti adottati per segmentare la rete sono il gateway e la subnet mask o “Maschera di Sottorete.
Il gateway (dall'inglese, portone, passaggio) è un dispositivo di rete che opera al livello di rete e superiori del modello ISO/OSI. Il suo scopo principale è quello di veicolare i pacchetti di rete all'esterno della rete locale (LAN), o più in generale verso le altre sottoreti. Da notare che gateway è un termine generico che indica il servizio di inoltro dei pacchetti verso l'esterno; il dispositivo hardware che porterà a termine questo compito è tipicamente un router.
Nelle reti più semplici è presente un solo gateway che inoltra tutto il traffico diretto all'esterno verso la rete internet. In reti più complesse in cui sono presenti parecchie subnet, ognuna di queste fa riferimento ad un gateway che si occuperà di instradare il traffico dati verso le altre sottoreti o a rimbalzarlo ad altri gateway.
La subnet mask è necessaria al computer che deve comunicare con un altro indirizzo IP per sapere se deve instradare i pacchetti verso il gateway della sua rete locale oppure usare l'indirizzo di rete locale del destinatario (ethernet, tokenring o quant’ altro). Normalmente viene indicata con un indirizzo di 4 byte scritti sotto forma di 4 numeri decimali separati da un punto, come nel caso degli indirizzi IP, ad esempio 255.255.255.192. Quando il sistema operativo (più precisamente: il livello IP dello stack TCP/IP) riceve da un programma la richiesta di inviare un pacchetto IP ad un certo indirizzo IP destinatario, per prima cosa calcola l'AND logico fra la subnet mask e il proprio indirizzo ip, e lo confronta con l'AND logico tra la subnet mask e l'indirizzo IP di destinazione. Se il risultato delle operazioni è identico (cioè i bit che identificano l’ id di rete, o net ID, sono identici, mentre variano solo i bit dell’ id di host) allora il sistema operativo invierà il pacchetto nella rete locale indirizzandolo con l’ indirizzo di rete locale del PC destinatario; se invece il risultato delle operazioni è differente significa che il computer destinatario non appartiene alla rete locale, e il pacchetto verrà trasmesso al gateway della rete locale affinché lo instradi verso la rete remota che contiene il computer destinatario.
Supponiamo, ad esempio, che il protocollo IP del nostro computer sia configurato come segue:
Indirizzo IP: 192.168.32.97
Subnet Mask: 255.255.255.224
e che richiediamo di connetterci all'indirizzo IP 192.168.32.130. Allora lo strato IP calcolerà il risultato dell’ operazione:
192.168.32.97 AND 255.255.255.224 = 192.168.32.96
operazione che per maggiore chiarezza riportiamo anche in numeri binari:
11000000.10101000.00100000.01100001 AND
11111111.11111111.11111111.11100000 =
-------------------------------------
11000000.10101000.00100000.01100000
Ora ripetiamo l'operazione con l’ IP di destinazione:
192.168.32.130 AND 255.255.255.224 = 192.168.32.128
Per maggior chiarezza riportiamo l'operazione in binario:
11000000.10101000.00100000.10000010 AND
11111111.11111111.11111111.11100000 =
--------------------------------------------------
11000000.10101000.00100000.10000000
I due risultati 192.168.32.96 e 192.168.32.128, essendo differenti tra di loro, indicano due macchine appartenenti a diverse reti.
Se al posto dell'indirizzo da raggiungere ci fosse stato l'indirizzo 192.168.32.100, i due indirizzi avrebbero indicato macchine appartenenti alla medesima sottorete. Infatti:
192.168.32.100 AND 255.255.255.224 = 192.168.32.96
come si può constatare esprimendo gli indirizzi in binario:
11000000.10101000.00100000.01100100 AND
11111111.11111111.11111111.11100000 =
--------------------------------------------------
11000000.10101000.00100000.01100000
Un computer connesso alla rete locale confronta l’ indirizzo di destinazione dei dati da inviare con la subnet mask: se corrispondono, significa che il computer di destinazione è sulla stessa rete locale;
se invece non corrispondono, il computer d’ origine invia i dati al gateway predefinito, il quale si occuperà del loro successivo instradamento verso la rete remota di destinazione.
Il protocollo NetBEUI non ha alcuna funzionalità per distinguere tra più reti interconnesse, a differenza del TCP/IP che consente l’ adozione della subnet mask per configurare e gestire le subnet.
Costruire una rete LAN client/server.
I componenti hardware di una rete client/server:
1. un mezzo trasmissivo (cavi di rete RJ-45 Cat.5) per ogni postazione;
2. una scheda di rete Ethernet (10Mbit) o Fast Ethernet (10/100Mbit) per ogni postazione;
3. un dispositivo ripetitore (Hub o Switch);
4. uno o più host server e più host client
Per realizzare il collegamento fisico della rete bisogna posizionare i computer nelle relative stanze ed inserire, per ogni postazione, l’ estremità di un cavetto di rete RJ-45 nella scheda di rete del PC e l’ altro capo sull’ HUB centrale in una qualsiasi porta libera, facendo attenzione a non occupare la porta n°1 e l'ultima porta disponibile (queste 2 servono in genere per aggiungere altri HUB in cascata); si deve quindi collegare il Server all’ HUB centrale in una porta qualsiasi libera.
Configurazione del server.
Dopo aver installato sull’ host server un server opportuno, ad esempio Windows NT Server 4.0, ed il protocollo TCP/IP, impostiamo i seguenti parametri:
• Indirizzo IP (voce indicata con DNS server): ad esempio 192.168.0.2.
• Dominio DNS, ossia il nome con cui il server è individuato in Internet, ad esempio pippoitalia.it
• SubNet Mask: ad esempio 255.255.255.0.
• L’amministratore del dominio (login e password).
• Ecc.
Configurazione del client.
• Installare i driver per la scheda di rete;
• Installare un protocollo TCP/IP, ad esempio "Microsoft TCP/IP";
• Installare il client, ad esempio “Client per Reti Microsoft”
• Abilitare la "Condivisione di file e stampanti";
• Assegnare un nome univoco della postazione (es. Postazione1),
• Specificare il WorkGroup: questo serve a far modo che in "Risorse di Rete" i computer di uno stesso Workgroup vengano visualizzati tutti insieme nello stesso gruppo;
• Specificare l'indirizzo del router all’ interno della voce Gateway.
Indirizzi MAC.
L'indirizzo MAC (MAC address in inglese) viene detto anche indirizzo fisico o indirizzo ethernet o indirizzo LAN, ed è un codice di 48 bit (6 byte) assegnato in modo univoco ad ogni scheda di rete ethernet prodotta al mondo. Rappresenta in sostanza un nome per un particolare dispositivo di rete: ad esempio due schede di rete in due diversi calcolatori avranno due diversi nomi (e quindi diversi indirizzi MAC), così come avranno nomi diversi una scheda Ethernet ed una scheda wireless posizionate nel medesimo computer. MAC è un acronimo che significa Media Access Control e viene utilizzato per l'accesso al mezzo fisico dal livello datalink secondo lo standard ISO/OSI.
Nelle reti broadcast come l'Ethernet, il compito della conversione dagli indirizzi di livello 3 come l'Internet Protocol agli indirizzi MAC di livello 2 è comunemente demandato all'ARP.
ARP (Address Resolution Protocol) è un protocollo che fornisce la "mappatura" tra l'indirizzo IP a 32bit (4byte) di un calcolatore e il suo MAC address, l'indirizzo fisico a 48bit (6 byte). ARP è un protocollo di servizio, utilizzato in una rete di calcolatori che utilizzi il protocollo di rete IP sopra una rete di livello datalink che supporti il servizio di broadcast.
Per inviare un pacchetto IP ad un calcolatore della stessa sottorete, è necessario incapsularlo in un pacchetto di livello datalink, che dovrà avere come indirizzo destinazione il mac address del calcolatore a cui lo si vuole inviare. ARP viene utilizzato per ottenere questo indirizzo.
Se il pacchetto deve essere inviato ad un calcolatore di un'altra sottorete, ARP viene utilizzato per scoprire il mac address del gateway.
In ogni calcolatore, il protocollo ARP tiene traccia delle risposte ottenute in una apposita cache, per evitare di utilizzare ARP prima di inviare ciascun pacchetto. Le voci della cache ARP vengono cancellate dopo un certo tempo di inutilizzo.
L’ host che vuole conoscere il mac address di un altro host, di cui conosce l'indirizzo IP, invia in broadcast una richiesta ARP (ARP-request), generata dal protocollo IP, contenente l'indirizzo IP dell'host di destinazione ed il proprio indirizzo MAC.
Tutti i calcolatori della sottorete ricevono la richiesta. In ciascuno di essi il protocollo ARP verifica se viene richiesto il proprio indirizzo IP. L'host di destinazione che riconoscerà il proprio IP nel pacchetto di ARP-request, provvederà ad inviare una risposta (ARP-reply) in unicast all'indirizzo MAC sorgente, contenente il proprio MAC. In questo modo, ogni host può scoprire l'indirizzo fisico degli altri host sulla stessa sottorete.
Bisogna osservare che il protocollo ARP viene usato tutte le volte che un host collegato ad una LAN deve inviare un messaggio ad un host sulla stessa LAN di cui conosce unicamente l'indirizzo di livello rete (IP), quindi lavora solo in subnet locali (non può attraversare router).
Individuazione univoca di un nodo in Internet: gli indirizzi IP.
All'interno di Internet ciascuna macchina è univocamente identificata da un numero binario lungo 32 bit e comunemente detto indirizzo IP, o semplicemente IP. Questo numero viene di solito presentato "tradotto" sotto forma di quattro cifre decimali separate da punti (es. 151.99.200.2). Poiché è un po' difficile ricordarsi gli indirizzi sotto forma di numeri, è stato tuttavia creato un sistema (il cosiddetto DNS o Domain Name System) per cui ad ogni computer viene assegnato anche un nome letterale, in modo univoco, ed esistono poi dei sistemi di “traduzione” automatica che permettono al software di comunicazione di risalire all'indirizzo IP dal nome letterale e viceversa. Mentre l'elettronica di gestione della rete, per trasmettere i vari messaggi, si serve degli IP, gli utenti possono così servirsi di più intuitivi nomi letterali.
I nomi letterali delle macchine sono costituiti da una o più parole (formate da lettere, numeri e altri caratteri come il trattino, ma non da spazi) separate da punti. Il nome più a destra individua il dominio (domain) di appartenenza della macchina, ossia un grosso sottoinsieme della rete, che al di fuori degli Stati Uniti tende a coincidere quasi sempre con una nazione. Alcuni domini nazionali sono ad esempio:
• it Italia
• uk Regno Unito
• fr Francia
• de Germania
• se Svezia
• jp Giappone
Oltre ai domini nazionali, esistono dei domini di tipo organizzativo, ossia in cui i siti vengono suddivisi in base al tipo di attività dell'organizzazione a cui appartengono. Originariamente questi domini erano riservati agli Stati Uniti, ma di fatto - tranne alcuni casi - essi sono ormai internazionali, e comprendono siti di tutto il mondo. Alcuni di essi sono:
• edu Università statunitensi
• com Operatori commerciali
• org Organizzazioni senza scopo di lucro
• net Organizzazioni di gestione della rete
Non vi è in realtà alcun vincolo geografico che individui i vari domini: sebbene in Italia quasi tutti i computer appartengano al dominio it, esistono anche computer situati fisicamente in Italia ma appartenenti ai domini com, net, ecc.
Su Internet, i nomi dei domini devono essere registrati per evitare duplicati e confusioni e devono essere acquistati.
Il nome più a sinistra è invece il "nome proprio" (hostname) del computer; i nomi che stanno in mezzo rappresentano sottoinsiemi della rete, o più propriamente sottodomini (subdomains), sempre più grandi procedendo da sinistra verso destra, e contenuti nell'ordine gli uni dentro gli altri. Si usa talvolta anche parlare di domini di primo livello (top level domains o TLD) per indicare i domini veri e propri, e di domini di secondo, terzo... livello per indicare mano a mano i sottodomini successivi, utilizzando il termine "dominio" per indicare in generale un qualsiasi sottoinsieme della rete caratterizzato dalla stessa parte finale nei nomi dei computer. In particolare, con il termine domain suffix si intende normalmente tutto ciò che sta a destra del primo punto del nome di un computer.
Poichè probabilmente tutto ciò non è molto chiaro, si può ad esempio considerare il nome:
lennon.engr.wisc.edu
Questo nome indica il computer denominato lennon situato all'interno del sottodominio engr (Ingegneria) del sottodominio wisc (Università del Wisconsin) del dominio edu (Università americane). Si noti quindi come edu sia un dominio di primo livello, wisc un dominio di secondo livello, engr un dominio di terzo livello e lennon un semplice computer.
Normalmente, ogni computer ha uno e un solo nome; tuttavia, è possibile definire degli alias (più precisamente, alias DNS), ossia ulteriori nomi per lo stesso computer. Questa possibilità è utilizzata normalmente per concentrare un certo numero di servizi sullo stesso computer: ad esempio, poiché per ragioni di convenienza generale si è soliti porre il sito FTP di un’ ente sullo stesso computer in cui è posto il suo sito WWW, il nome ftp.azienda.com e il nome www.azienda.com individuano solitamente lo stesso computer! In realtà, non vi è alcun obbligo di mettere in piedi alias di questo tipo, in quanto il nome di un computer è completamente scorrelato dai servizi che sono posti su di esso (in altre parole, è possibile realizzare siti WWW anche su computer il cui "nome proprio" non è www, e così via); tuttavia, si cerca normalmente di assegnare nomi intuitivi, anche sfruttando gli alias, ai computer che svolgono determinati servizi (come mail per i server di posta elettronica, o news per i server per i newsgroup).
Il routering.
Per consentire la comunicazione tra un host di rete con un altro host che no sia localizzato nella stessa rete sono state sviluppate sia soluzioni software che soluzioni hardware.
Per consentire l’arrivo a destinazione delle informazioni da un nodo all’ altro, oltre a garantire la condivisione del mezzo trasmissivo tra gli host di una stessa rete, un qualunque tipo di soluzione dovrebbe consentire anche la scelta del percorso da far seguire ad ogni singolo pacchetto in ingresso.
Se si opta per una macchina ad hoc la scelta non può che ricadere su un router. Nella tecnologia delle reti informatiche un router, in inglese letteralmente instradatore, è un dispositivo di rete che si occupa di instradare pacchetti tra reti diverse, anche eterogenee, come ad esempio una LAN ethernet con un collegamento geografico in tecnologia frame relay o ATM.
La funzione di instradamento è basata sugli indirizzi di livello 3 (rete) del modello OSI, a differenza dello switch che instrada sulla base degli indirizzi di livello 2 (collegamento). Rispetto agli switch, infatti, i router non utilizzano il MAC address ma l'indirizzo IP per cui vanno configurati e non sono plug and play. Per sapere se il destinatario non appartiene alla stessa rete è sufficiente analizzare il suffisso dell'indirizzo IP confrontandolo con il suffisso del proprio indirizzo IP. Questa operazione è molto efficiente perché si può fare con poche istruzioni macchina. Se i suffissi sono diversi, l’ host incapsula il datagramma7 e lo manda al router più vicino, questo estrae il datagramma e il software IP sceglie il prossimo router sulla strada per la destinazione. Il datagramma viene di nuovo trasformato in frame e il procedimento si ripete finché non si trova un router che può mandare il pacchetto direttamente al destinatario.
Di solito l'algoritmo di routing utilizza su ogni macchina informazioni memorizzate su tutte le possibili destinazioni e modi di raggiungerle, queste informazioni vengono dette Internet Routing Table. Siccome sia gli host che i router fanno routing, entrambi possiedono le tabelle di routing. Evidentemente, sorge il problema di come fare a contenere nelle tabelle tutti gli indirizzi esistenti, e ancora come fare ad aggiornarle. Questo richiederebbe se non altro almeno una memoria molto grande sicché si è pensato di fare in modo che l'indirizzamento verso un certo host sia fatto al livello locale e le macchine lontane considerino solo la parte di indirizzo che si riferisce alla rete, metodo per quale gli indirizzi IP si adattano molto bene. Questo fa in modo che le tabelle di routing abbiano dimensioni ragionevoli contenendo solo gli indirizzi di rete e non l'intero indirizzo IP. Di solito le tabelle contengono coppie di dati tipo (N, R) dove N è l'indirizzo IP della rete di destinazione e R è l'indirizzo IP del prossimo router (chiamato "next-hop router"), verso cui bisogna instradare i pacchetti al fine di minimizzare il percorso che conduce al nodo N.
Per ricavare ed aggiornare le tabelle di instradamento i router si scambiano periodicamente fra loro informazioni su come raggiungere le varie reti. Per fare questo sono stati messi a punto dei protocolli di routing appositi attraverso i quali i router si scambiano informazioni sulle reti raggiungibili.
Un algoritmo in uso in Internet fino al 1979 è l’ “Algoritmo del vettore distanza” (Distance vector routing) Usato in Internet fino al 1979 con il protocollo RIP. Secondo tale protocollo ogni router mantiene una tabella contenente la migliore distanza (costo) conosciuta per ogni destinazione ed il canale da utilizzare per raggiungerla (nexthop); la tabella di instradamento è costituita, pertanto, dai record Destination, Cost e NextHop. Consideriamo ad esempio la rete in figura.
Nello stato iniziale ogni nodo conosce i costi dei collegamenti ai nodi adiacenti, pari ad 1, mentre ai nodi non adiacenti ed ai collegamenti interrotti è associata una distanza infinita. In figura, a titolo di esempio, è mostrata la tabella del nodo B in tale stato.
Destination
Cost
Next hop
A
1
A
C
1
C
D
∞
E
∞
F
∞
G
∞
Figura 1: routing table finale del nodo B
Ogni nodo spedisce aggiornamenti ai suoi nodi adiacenti e riceve aggiornamenti dai suoi nodi adiacenti periodicamente e, in ogni caso, se la tabella cambia (triggered update).
Un nodo aggiorna la tabella locale se riceve un cammino migliore e somma il costo diminuito propostogli al costo per raggiungere del nodo adiacente che lo ha indicato. In tal caso l’aggiornamento dello stato iniziale prevede, ad esempio, che A proponga a B un costo 1 per raggiungere E. B, in risposta, aggiorna il costo per raggiungere E con 2 = 1 + 1 e prende nota, come Next Hop, del nodo che lo ha proposto. La situazione globale aggiornata per il nodo B è illustrata in figura.
Figura 2: routing table finale del nodo B
La seguente illustra, invece, il quadro dei salti per tutti i nodi della rete.
Dopo aver scambiato diversi aggiornamenti con i nodi adiacenti, tutti i nodi conosceranno i cammini migliori verso tutti gli altri nodi.
Se, ad esempio, il collegamento tra F e G si interrompe il sistema deve aggiornare le proprie tabelle, per cui nell’ ordine
• F si accorge che il collegamento a G è interrotto
• F aggiorna a infinito la distanza da G e spedisce l’aggiornamento ad A
• A aggiorna a infinito la distanza da G perché usa F per raggiungere G
• A riceve un aggiornamento periodico da C con un percorso verso G di costo 2
• A aggiorna a costo 3 via C la distanza da G e spedisce l’aggiornamento a F
• F aggiorna a costo 4 via A la distanza da G
Un algoritmo più recente è l’ “Algoritmo dello stato della connessione” (Link-state routing), usato attualmente in Internet con il protocollo OSPF (open shortest path first). L’ obiettivo dell’ algoritmo è quello di mettere ogni nodo nelle condizioni di costruire una mappa completa della rete. La strategia adottata è quella di spedire a tutti i nodi (non solo quelli adiacenti) le informazioni sui collegamenti diretti. Il nodo emette su tutte le sue linee in uscita le informazioni sui collegamenti diretti che lo riguardano. I nodi riceventi propagano, a loro volta, le informazioni ricevute su tutte le loro linee in uscita. La distribuzione va avanti finché le informazioni non si sono propagate a tutti i nodi della rete.
Per la sua funzione di commutatore di pacchetto il router è anche uno strumento per far condividere l’ utilizzo di Internet a tutti i PC di una rete locale, ma di questo argomento tratteremo nel prossimo paragrafo.
Da non confondere con il router è il cosiddetto Gateway (protocol converters), che realizza la connessione tra reti che differiscono nei livelli alti; è un sistema molto complesso che fa una radicale conversione di tutto il protocollo.
La condivisione dell’ accesso ad Internet in una rete LAN.
In questa pagina è descritta la configurazione delle macchine di una piccola LAN costituita da più computer, che si avvale di un router per la connessione a Internet. Il router è un dispositivo in grado di effettuare la connessione telefonica (ISDN / ADSL) e, attraverso un software NAT o Proxy, di condividere la connessione tra tutti i computer della LAN.
Nel nostro esempio, la rete è composta da tre PC ma, se si dispone di un maggior numero di macchine, sarà sufficiente ripetere le stesse configurazioni apportando qualche piccola modifica che descriveremo nel corso della trattazione.
Il router collegato ad Internet è il Server/Gateway: un piccolo computer (senza tastiera e mouse) che offre la condivisione dei servizi Internet alle altre macchine della rete e mette in collegamento con Internet la mini LAN interna. L'hardware di rete necessario per realizzare la piccola LAN è costituito, oltre che dal Router, dalle schede di rete, da un concentratore, Hub o Switch, che distribuisce fisicamente i dati (a meno che il router non svolga anche la funzione di concentratore) e, naturalmente, dai cavi di rete (Twisted Pair) da collegare al concentratore e alle schede di rete.
Osservando lo schema della rete, si deduce chiaramente che l'architettura è, in questo caso, del tipo Client/Server; la topologia fisica a stella e quella logica Ethernet.
Prima di spiegare brevemente la tecnica utilizzata dal router, è necessario precisare che i PC Client dispongono di un indirizzo IP privato, mentre il router gateway possiede sia un indirizzo IP privato che un IP pubblico (vedi figura sopra).
Ad esempio, il PC Client che desidera navigare invia al router gateway, attraverso il suo browser, la richiesta di visualizzazione di un determinato sito web. Quest'ultimo viene "visto" dal PC Client grazie al suo indirizzo IP privato. La richiesta, come del resto tutte le informazioni che circolano in rete, avviene sotto forma di pacchetti dati TCP/IP: questi ultimi sono accompagnati dall'indirizzo IP del mittente e da quello del destinatario. Il router gateway riceve la richiesta ma, prima di inviarla verso l'esterno, sostituisce l'ndirizzo IP privato del Client con il suo indirizzo IP pubblico (ottenuto dal provider al momento della connessione, ad es: 62.11.4.101). In questo modo, il server web che fornisce i contenuti (pagine web) vede solo l'indirizzo IP pubblico del gateway e non quello privato del PC client. Infine, nel momento in cui il router gateway ottiene le informazioni da Internet, le analizza e le inoltra al PC Client che ha eseguito la richiesta.
L'utilizzo di un router al posto di un computer che funge da Server/Gateway è una soluzione ideale se non si dispone di un computer a cui devolvere tale funzione. Infatti, in questo caso il computer Server/Gateway, oltre a disporre di un particolare software proxy, dovrebbe rimanere sempre acceso (pure quando non è utilizzato per svolgere altre funzioni). In ogni caso, anche se il computer Gateway è utilizzato per condividere la connessione e contemporaneamente per condividere altri servizi (o semplicemente come stazione di lavoro) tanto da giustificarne il suo stato di accensione continuo, esso potrebbe rallentare il suo lavoro, visto il notevole carico di mansioni da espletare. Il Router è invece un dispositivo dedicato ad una sola funzione, ovvero quella di analizzare i pacchetti e di instradarli verso la corretta destinazione. Di conseguenza, oltre ad eseguirla in modo eccellente, rimane acceso soltanto quando serve. Inoltre, a differenza di un PC dedicato alla funzione di gateway, il router occupa poco spazio, consuma molto meno e non produce il rumore o il calore tipico di una macchina sempre accesa e super-utilizzata.
Il collegamento fisico del router nella rete cambia se il dispositivo in esame dispone anche di un Hub o di uno Switch incorporato. In caso contrario, il router si dovrebbe appoggiare ad un concentratore per collegare i vari apparati della rete. In entrambe le situazioni occorre collegare il Router alla linea digitale (se si utilizza un Router ISDN) o analogica (se si impiega un Router ADSL) attraverso un cavo telefonico e, naturalmente, fornigli l'alimentazione necessaria.
Se il router funge anche da concentratore per le macchine della rete, è sufficiente collegare le schede di rete di ogni macchina alle porte Ethernet del Router con un cavo twisted pair.
Qualora il router non svolga anche la funzione di concentratore, sarà necessario collegare il cavo Twisted pair alla sua unica porta Ethernet e al concentratore. Il concentratore sarà a sua volta collegato alle macchine della rete sempre con l'ausilio di altri cavi.
La configurazione del router è un'operazione necessaria e può essere eseguita da un qualsiasi PC della rete. Nella maggior parte dei casi, attraverso software proprietari messi a disposizione dal produttore del dispositivo oppure tramite un qualsiasi browser di navigazione.
Alcuni router possiedono anche un firewall incorporato, poiché il punto di ingresso/uscita di una rete verso l'esterno è ovviamente il luogo migliore dove effettuare controlli sui pacchetti in transito.
Sincronizzazione dei nodi e modalità di trasmissione del segnale.
Esistono principalmente due modi di trasmettere i byte: è possibile mandare tutti i bit di un byte contemporaneamente su canali separati verso il dispositivo, oppure mandarli uno dopo l’altro su un unico canale. Nel primo caso si ha quella che viene chiamata trasmissione parallela, in quanto i bit vengono appunto spediti contemporaneamente su più fili, e quindi in parallelo; nel secondo caso si ha una trasmissione seriale, poiché i bit vengono spediti, su un unico filo, uno per volta, uno dopo l’altro.
La trasmissione parallela, dato il costo elevato, ha applicazioni molto limitate; ad esempio è adottato per i bus interni al calcolatore, come lo SCSI, e nelle interfacce parallele per le stampanti ed in ogni caso per trasmissioni limitate a pochi metri.
Uno dei problemi da risolvere nella trasmissione è la sincronizzazione, ossia la realizzazione di una concordanza temporale tra la trasmissione e la lettura dei bit che costituiscono i segnali. In base a come si effettua la sincronizzazione la trasmissione può definirsi sincrona o asincrona.
Una trasmissione su un canale è detta sincrona quando la sincronizzazione tra le stazioni comunicanti avviene tramite un opportuno segnale di clock comune; tale segnale ha lo scopo di fornire la cadenza degli istanti in cui trasmettere i segnali e/o leggere i segnali. In questo caso tra le stazioni deve esserci un filo dedicato sul quale transita il segnale di clock generato centralmente da una di queste.
Una comunicazione è detta asincrona nel momento in cui tra le stazioni del canale non vi è alcun segnale di clock. In questo caso è necessario accordarsi in fase iniziale riguardo alla velocità di trasmissione, di modo che mittente e destinatario la possano impostare localmente. In una comunicazione asincrona è sicuro che i due clock lasciati indipendenti, non essendo perfetti, con il tempo si disallineino e per questo motivo necessitano di una continua sincronizzazione. Tale sincronizzazione è ricavata dagli stessi segnali trasmessi ed avviene mediante un’opportuna successione di bit.
La trasmissione asincrona è utilizzata soltanto in alcuni standard per le interfacce seriali (quali la RS 232 presente nei personal computer), mentre la trasmissione universalmente adottata negli standard di rete è quella seriale.
Con riferimento alla direzione di trasmissione del segnale, le modalità di trasmissione utilizzabili in reti idi calcolatori sono due:
• L'half-duplex è una modalità di invio e ricezione di informazioni digitali, che impiega un protocollo di arbitrazione per gestire il traffico. In una connessione half-duplex, il mezzo trasmissivo è il medesimo per entrambi i sensi del flusso dati, ovvero vi è una contesa per il suo utilizzo; è quindi necessario utilizzare un metodo che permetta la risoluzione della contesa e la riduzione degli errori. In una connessione half duplex è quindi possibile trasmettere in entrambe le direzioni, ma non contemporaneamente. È come una strada a senso unico alternato con un semaforo. La strada può essere percorsa in entrambi i sensi di marcia, ma è il semaforo che dice in un determinato momento, qual è il senso di marcia praticabile. Nelle reti Ethernet (IEEE 802.3) si impiega l'algoritmo CSMA/CD.
• Il full-duplex è una modalità di invio e ricezione di informazioni digitali, con funzione completamente bidirezionale. In una connessione full-duplex, il mezzo trasmissivo permette di sovrapporre le trasmissioni nei due sensi, ovvero non vi è contesa per il suo utilizzo; la modalità full-duplex permette di fatto di raddoppiare la banda passante aggregata del mezzo trasmissivo
In ogni caso è possibile che il ricevitore impieghi più tempo ad utilizzare i dati ricevuti (per esempio a elaborarli, registrarli su disco, o a stamparli) di quanto il trasmettitore impieghi per generarli. Ogni ricevitore dispone di un buffer dove si accumulano i dati ricevuti non ancora utilizzati e questo consente di compensare differenze temporanee di velocità tra trasmettitore e ricevitore. Se tali differenze si protraggono, però, il buffer si riempie ed è necessario adottare tecniche di controllo della trasmissione che prendono il nome di controllo di flusso.
Il controllo di flusso o handshake (letteralmente “stretta di mano“), può essere hardware o software. Nel primo caso, utilizzato per i collegamenti su brevi distanze tramite cavi in rame a più conduttori, come nel caso delle interfacce seriali, un segnale hardware permette al ricevitore di far interrompere la trasmissione quando il suo buffer sta per riempirsi e di farla riprendere quando è quasi vuoto.
L’handshake software, invece, non richiede canali dedicati, ma fa uso del normale canale di comunicazionein direzione opposta in un sistema full-duplex. Quando il ricevitore deve richiedere l’interruzione della trasmissione, invia al trasmettitore un codice predefinito (normalmente il carattere XOFF del codice ASCII), che viene interpretato come richiesta di interruzione della trasmissione. Il successivo invio di un altro codice (XON) avverte il trasmettitore che può riprendere la trasmissione.
Teoremi di Shannon e Nyquist
I canali trasmissivi utilizzati per la comunicazione dei dispositivi si suddividono in:
Canali perfetti: non causano distorsioni o ritardi nella propagazione dei segnali.
Canali ideali: causano solo un ritardo costante nella propagazione.
Canali reali: causano attenuazioni e ritardi, in funzione della frequenza dei segnali.
Shannon e Nyquist hanno rispettivamente enunciato teoremi che esprimono la massima velocità di trasmissione per ciascun tipo di canale.
Il massimo bit rate (data rate) relativo ai canali perfetti è dato dal Teorema di Nyquist, indicato di seguito, che lega la larghezza di banda di un canale alla quantità di informazione trasportabile:
Massimo data rate = [bit/s]
dove H8 è la larghezza di banda del segnale e V il numero di livelli differenti presenti nel segnale.
Il massimo bit rate (data rate) relativo ai canali reali (con rumore termico) è dato dal Teorema di Shannon, indicato di seguito, che considera anche il rumore:
Massimo data rate = [bit/s]
dove H è la larghezza di banda del segnale, S e N sono rispettivamente la potenza del segnale e del rumore del canale. Da questa espressione si deduce chiaramente che per ogni canale esiste un ben preciso limite fisico alla velocità di propagazione dell’ informazione, che dipende, come sarà più chiaro avanti, oltre che dal tipo di canale (doppino telefonico, cavo coassiale, ecc.), anche dalla lunghezza fisica dello stesso.
La larghezza di banda di un segnale (Hz), definita come l’ intervallo di frequenze entro le quali tale canale è in grado di trasmettere correttamente9 il segnale, dipende, infatti, dalla lunghezza del mezzo trasmissivo, in quanto la forma d’ onda del segnale che attraversa un canale reale può subire effetti di attenuazione e di distorsione.
L’attenuazione è un fenomeno che riguarda la riduzione della potenza del segnale trasmesso. Essa avviene, in funzione della lunghezza L del mezzo trasmissivo, secondo una legge esponenziale della forma:
Pout = 10 exp [- L /10] Pin
dove d è il coefficiente di attenuazione.
La distorsione, invece, modifica la forma d’ onda del segnale, quindi, l’informazione in esso contenuta; ciò è dovuto al fatto che le linee di trasmissione propagano i segnali a velocità proporzionali alle loro frequenze.
La conseguenza è che la larghezza di banda del mezzo trasmissivo si riduce all’ aumentare della lunghezza del mezzo stesso per effetto dei fenomeni di attenuazione e distorsione.
La connessione analogica.
Una storia di successo per quanto riguarda la ricerca delle strade per avvicinarsi al limite di Shannon riguarda il canale telefonico analogico come connessione tra i computer. Questo mezzo era stato progettato per la trasmissione della voce, ma la necessità di trasmettere dati, aggiunta al fatto che la rete telefonica è estremamente capillare, stimolarono una intensa attività di ricerca dedicata alla trasmissione di dati su questo mezzo. La rete telefonica convenzionale utilizza una banda di circa 3000 Hz, compresa tra 300 e 3400 Hz, frequenze entro le quali è concentrata la maggior parte dell’ energia dell’ informazione vocale. I 3 kHz di banda sono inoltre ottimi per la trasmissione vocale fra centrale locale e utente, riducendo al minimo le possibili interferenze, come ad esempio quelle elettromagnetiche, che si hanno per accoppiamento capacitivo quando i vari doppini sono disposti in unico cavo.
La capacità teorica del canale telefonico si può calcolare, scoprendo che essa è, per un rapporto S/N di 33 dB (considerato tipico) di circa 36 kb/s. Questo rappresenta un limite fisico alla trasmissione su linea telefonica analogica commutata, legato all’ estensione geografica della rete Internet, ossia alle elevate distanze che limitano la banda del canale telefonico.
Le codifiche di sequenze di dati digitali generano segnali con banda più ampia di quella adottata dalle comunicazioni vocali. I canali telefonici, quindi, non sono adatti a trasportare i bit così come vengono codificati sui comuni mezzi trasmissivi.
Per trasmettere dati digitali su un canale telefonico convenzionale si utilizzano tecniche di modulazione: un segnale elettrico la cui frequenza è tale da permettergli di passare attraverso il canale, detto portante (per esempio un segnale sinusoidale a 1000 Hz), viene leggermente modificato nei suoi parametri in modo da codificare differentemente zeri e uni. Il ricevitore deve riconoscere queste alterazioni e ricostruire la sequenza di zeri e uni. Gli apparecchi che realizzano queste funzioni sono detti modem (modulatore-demodulatore) e sono oggi molto diffusi, soprattutto per il collegamento da casa di personal computera nodi della rete Internet.
La modulazione di un segnale portante sinusoidale, nei modem, trattandosi di un segnale sinusoidale in banda acustica, è percepita come un fischio ad una determinata frequenza) avviene tramite tre tecniche di base, che possono essere anche combinate tra loro.
• Modulazione di frequenza (FM, Frequency Modulation) o, più propriamente per i modem, frequency shift keying (FSK).: la frequenza del segnale portante viene modificata per codificare zeri e uni, mentre l’ampiezza viene mantenuta costante.
• Modulazione di ampiezza (AM, Amplitude Modulation): l’ ampiezza del segnale portante viene fatta variare nel tempo in funzione dl valoree dei bit da trasmettere.
• Moulazione di fase (PM, Phase Modulation): viene modificata la fase del segnale portante, mentre l’ampiezza e la frequenza rimangono costanti; è il metodo più complesso dal punto di vista tecnico, ma in combinazione con la modulazione di ampiezza, consente una codifica molto efficiente.
In queste tecniche di modulazione è possibile prevedere più di due valori possibili per ampiezza frequenza e fase; inoltre è possibile utilizzarne più d’una simultaneamente. In questo modo, ogni variazione dovuta alla modulazione (detta “simbolo”) può rappresentare un gruppo di bit e non uno solo. La tecnica di modulazione QAM (Quadratude Amplitude Mudulation), ad esempio, combina una modulazione di ampiezza a tre livelli ed una di fase a 12. In questi schemi di codifica complessi, la velocità in bit al secondo risulta, quindi, superiore a quella dei simboli al secondo, che viene misurata in baud.
La connessione tra un computer e Internet generalmente non avviene in modo diretto. Per collegarsi alla rete infatti il nostro computer si mette in collegamento con un altro computer, quello del provider. Il provider, o fornitore di connettività, è la nostra porta di accesso alla rete: dispone infatti di un computer (server) sempre acceso e sempre collegato a Internet, attraverso veloci linee dedicate. Quando il nostro computer ‘chiama’ il computer del provider, ne diventa un’appendice, e sfrutta le sue linee per ricevere informazioni da tutto il resto della rete.
La tecnologia DSL.
Ideata e proposta da Joseph W. Lechleider negli anni ‘80, la tecnologia DSL (Digital Subscriber Line) permette l’utilizzo di una larghezza di banda massima di 1104 KHZ sul doppino telefonico. Questa nuova tecnologia rappresenta, quindi, un riciclo dell’ attuale sistema di connessione più economico e diffuso, ma solo, come vedremo, fino alla centrale telefonica più vicina, dove il segnale analogico proveniente dal modem dell’ utente, viene riconvertito in digitale e quindi facendo compiere al segnale analogico brevi tratti (non più di 5 km). La modifica sostanziale rispetto alla tecnologia a modem analogici è, infatti, la collocazione di un ulteriore modem nella centrale telefonica locale. L’utilizzo ottimale della frequenze superiori ai 4khz è ora condizionato, quindi, dalla sola lunghezza del circuito analogico fra i due modem.
Utilizzando lo stesso rapporto di segnale rumore dei modem analogici, 35 dB, si ottiene un limite teorico di:
bps=1,104Mhzlog2 (1+10(35/10))=12,8064 Mbps.
Il modem che risiede nella Centrale Locale deve obbligatoriamente avere una connessione a larga banda10 con l’ISP locale per garantire le velocità di connessione desiderate.
Nella tecnologia DSL la banda disponibile è suddivisa in tre sottobande. I dati digitali Internet, trasportati con la tecnica DSL, sono sovrapposti al normale canale telefonico, trasportato in banda base (ad esempio dai 0-4KHz), e non interferiscono con quest’ ultimo in modo da poter usare il collegamento telefonico, sulla stessa linea, contemporaneamente al collegamento dati. Inoltre qualunque forma prenda l’accesso a larga banda, il cablaggio verso i telefoni analogici esistenti non deve essere variato. La separazione dal canale telefonico è svolta tramite due Splitter, situati uno nell'edificio di centrale locale e l'altro presso l'utente
in modo da fornire:
• una banda audio in banda base da 0 a 25,875 khz: utilizzata per il segnale telefonico, in modo da lasciare invariata la banda “analogica” da zero a 4 khz (range in cui è compresa la maggior parte dell’ energia dell’ informazione vocale).
• banda upstream, dedicata alla ricezione di dati digitali, di larghezza 138 khz da 25,875 khz a 163,875 khz: l’upstream, come si vede in tabella 1.1, paragrafo 1.7, ha la caratteristica di richiedere delle velocità minori rispetto il downstream. Questo determina una minore richiesta di banda, come facilmente intuibile dal teorema di Shannon, per la trasmissione da utente a Centrale locale, che dà un limite massimo di data rate pari a:
bps=138 [khz]] log2 (1+10^(35/10)) = 1600,8 kbps.
Il canale upstream occupa la parte più bassa dello spettro perché qui l’attenuazione del segnale è inferiore, in modo da favorire i trasmettitori di segnale utente che sono usualmente alimentati ad una potenza più bassa dei trasmettitori di centrale.
• una banda downstream di larghezza 940,125 khz da 163,875khz a 1104 khz: il data rate teorico è
bps=940 [khz]] log2 (1+10^(35/10)) = 10,904 Mbps.
Sebbene la tecnologia permetta una banda intorno al Mb/s (megabit/s) in trasmissione e oltre 10 mb/s in ricezione, gli standard e le applicazioni pratiche sono più limitati. Gli standard ANSI T1.413 e ITU G.992.1 prevedono massimi di 768 Kbps in trasmissione (upstream) e di 8,192 Mbps in ricezione (downstream). Nella pratica, in Italia l’ offerta ADSL consente di ottenere una velocità fino a 640 kbit/sec in ricezione (downstream) e sino a 128 Kbit/s in trasmissione (upstream).
Tra le tecniche di modulazione disponibili, si è imposta la DMT (discrete multitone), che suddivide la banda di frequenza in 256 sottocanali di 4,3 KHz (toni), ciascuno dei quali viene modulato in ampiezza e fase secondo la QAM (Quadrature Amplitude Modulation). I primi sottocanali non vengono usati per lasciare il posto alla banda audio della telefonia vocale; i toni da 7 a 31 (25-138 KHz) sono destinati all’upstream (trasmissione) e quelli da 33 a 255 (138-1100 KHz) sono usati in downstream (ricezione).
Dato che l’intera banda non ha una curva costante di segnale/rumore e attenuazione, ogni sottocanale viene monitorato costantemente e modulato in modo indipendente. Secondo le potenzialità di ogni sottocanale in ogni istante, il sistema decide quanti bit per hertz possono essere trasferiti su ciascuno dei sottocanali. Il massimo è di 15 bit/Hz, troncati per sicurezza a 14 (ma i sistemi reali possono lavorare molto al di sotto dello standard). Quando i bit utilizzabili scendono sotto una soglia minima, il sottocanale viene escluso.
Differente è la tecnica SDSL, caratterizzata dal fatto che (tipicamente) le velocità del collegamento sono simmetriche. SDSL significa infatti Symmetric Digital Subscriber Line. In parole povere, la velocità con cui i dati possono essere ricevuti ("downlink") è uguale alla velocità con cui i dati possono essere inviati ("uplink"), diversamente da quanto accade con le connessioni ADSL e "56k" (che consentono di ricevere più dati di quanti non sia possibile trasmetterne).
Il blocco, in casa utente, che contiene l’apparato modem ADSL e lo splitter è chiamato ATU-R (ADSL Transceiver Unit- Remote terminal end). Il secondo modem ADSL ed un’altro Splitter, posti presso l’edificio di centrale (centrale locale) costituiscono un apparato detto ATU-C (ADSL Transceiver Unit- Central office end). La differenza sostanziale rispetto la tecnologia a modem analogici, è che adesso il circuito locale ADSL termina in un nodo di accesso ADSL, invece di raggiungere il commutatore PSTN di centrale. Il collegamento vocale telefonico continua ad essere una circuito commutato, con tutti problemi relativi alla commutazione del segnale. Il collegamento ADSL dall’utente alla centrale locale diventa una linea dedicata con una determinata larghezza di banda. Il segnale digitale non passa più dal commutatore analogico locale evitando i problemi di sovraccarico dei centralini di commutazione. Il lato fra centrale locale e ISP sfrutta ora in modo migliore la tecnologia Internet a commutazione di pacchetto. Come visto nel paragrafo 2.1.1, la rete per la trasmissione Internet a modem analogici, che porta dalla centrale di commutazione all’ISP locale, è formata da giunzioni canalizzate che funzionano con la logica del circuito commutato, che non sfrutta a pieno le caratteristiche di una trasmissione a pacchetto Internet. In ADSL invece, i diversi apparati ATU-C che servono gli apparati utenti ATU-R di una determinata zona, sono riuniti in un nodo di accesso in centrale locale, tramite un apparato chiamato DSLAM (Digital Subscriber Line Adsl Multiplexer).
DSLAM, quindi, tramite la tecnica TDM (Time Division Multiplexing), combina i flussi di bit provenienti da diversi canali (case e/o uffici) per poi convogliarli in un unico canale a banda larga, consentendo al tratto di linea fra centrale e server una gestione a pacchetti della stessa e migliorando, pertanto, la gestione della banda del traffico a pacchetti.
Il MUX-ADSL, infatti, multipla il canale trasmissivo a valle secondo la tecnica TDM, acronimo di Time Division Multiplexing ("multiplazione" a divisione di tempo); si tratta di un sistema mediante il quale un canale di comunicazione viene condiviso da vari utenti: ognuno di essi ottiene a turno la possibilità di utilizzare completamente il canale per un lasso di tempo definito ed identico per gli utenti. I vantaggi che ne derivano sono soprattutto economici in quanto anziché realizzare numerosi canali di comunicazione con poca capacità, ne viene realizzato solamente uno ma con capacità molto elevate.
Il sistema ADSL vero e proprio consente, come si è detto, la connessione dell’ utente alla centrale ove sono localizzati i sistemi trasmissivi del fornitore dell’ accesso (Telecom Italia). Quest’ ultima provvede nel caso generale anche a rendere disponibili le funzioni di transito necessarie per mettere in comunicazione l’ utente con la rete del fornitore dei servizi (es: Tiscali) per i quali e' stato richiesto l'accesso.
Il canone ADSL è legato all’ “affitto” di una porta del DSLAM in centrale telefonica e le centrali che risultano non coperte da ADSL sono quelle non provviste di DSLAM e di collegamento in fibra ottica con la centrale finale Telecom.
Le autostrade informatiche.
Il temine superstrada informatica corrisponde a un concetto, sul cui significato è molto difficile trovare un accordo. In un’ottica a trecentosessanta gradi il concetto di autostrada informatica dovrebbe abbracciare diversi aspetti:
• le reti aziendali, quali ne esistono oggi all'interno delle grandi società, sono uno dei concetti della superstrada informatica, soprattutto quando si inizia al collegare insieme varie società nella rete aziendale;
• il videotelefono, per passare con le rete telefonica da voce a video;
• la televisione che dispone già del video, ma a senso unico, quindi nella superstrada informatica sarà interattiva, cioè a due sensi;
• i sistemi online commerciali, che permette, agli acquirenti e alle aziende fornitrici, di incrociare domanda ed offerta in maniera semplificata e veloce.
• Internet.
Internet è sicuramente l’ espressione più compita di autostrada informatica. Le altre forme, come i servizi online, passano su Internet, le reti aziendali sono basate sempre più frequentemente su protocolli Internet e utilizzano Internet per collegare insieme le società. Vi sono ora degli sviluppi per fornire servizi TCP/IP su dei sistemi di televisione via cavo.
Il protagonista dello sviluppo delle autostrade informatiche è sicuramente, a livello infrastrutturale, la fibra ottica. Entro pochi anni tutte le località italiane saranno collegate da reti in fibra ottica di diverse società. Sotto i nostri piedi sta nascendo un'immensa ragnatela. L’ obiettivo, in parte perseguito, è quello di distendere sotto le strade una rete di cavi in fibra ottica capace di far viaggiare dati in formato digitale a velocità molto più elevate di quelle raggiungibili con gli attuali sistemi di connessione. Innumerevoli difficoltà hanno però frenato i progetti nel tempo: al di là di problemi di ordine economico e politico, rallentamenti dovuti alla necessità di definire gli standard e, infine, la concorrenza di altre tecnologie, come quelle per le connessioni wireless e per il miglior sfruttamento del doppino con l' x-dsl. Oggi, però, i tempi sembrano davvero maturi per riaprire con forza il discorso fibra ottica e difatti i progetti di cablaggio si stanno moltiplicando giorno dopo giorno.
L’ Università degli studi di Lecce, ad esempio, ha lanciato la gara di appalto per il cablaggio con fibra ottica monomodale delle sedi universitarie nell’ area urbana di Lecce, il cui progetto esecutivo era stato già approvato nel novembre 2006.
Le fibre ottiche.
Il vetro è costituito da silicio e, se filato fino a diametri estremamente ridotti (dell’ ordine delle decine di micron ( milionesimi di millimetro), diventa relativamente robusto e flessibile; si possono ottenere lunghi fili in grado di propagare un raggio luminoso confinandolo all’interno delle pareti anche in presenza di tratti curvi. Un fattore di fondamentale importanza è la purezza del silicio, senza la quale il sottile raggio verrebbe attenuato eccessivamente già dopo pochi metri. Questa è ottenibile grazie alle tecnologie derivate dai sistemi di produzione dei circuiti integrati, costituiti anch’essi da silicio. Le fibre ottiche vengono identificate con due numeri, che esprimono il diametro interno (ossia quello delle pareti che propagano la luce) ed diametro esterno in micrometri, escluse eventuali guaine. Valori tipici sono 62.5/125 10/125 /m. Il differente diametro interno determina la possibilità o meno di propagare più raggi di luce. Con diametro 62.5 m si propagano contemporaneamente più raggi lungo traiettorie leggermente diverse, (dette “modi di propagazione”) e tali fibre sono dette multimodali. I diversi raggi di luce raggiungono l’altra estremità della fibra in tempi leggermente diversi, a causa dei diversi cammini seguiti e questo fenomeno, detto dispersione modale, limita la velocità trasmissiva per fibre molto lunghe.
Le fibre multimodali sono utilizzate nelle reti locali,in quanto le distanze da coprire sono ridotte,, mentre per distanze maggiori o per velocità estremamente elevate si utilizzano fibre monomodali (ad esempio le fibre 10/125 /m), in cui il diametro interno permette la propagazione di un solo raggio. Le fibre monomodali permettono di coprire distenze di centinaia di chilometri a velocità trasmissive superiori ad 1Gb/s, ma sono più costose delle multimodali.
La fibra ottica rappresenta un ottimo mezzo trasmissivo, che unisce diversi vantaggi: totale immunità a disturbi elettromagnetici, elevata banda passante, dell’ordine delle centinaia di MHz o di alcuni GHz e ridotte dimensioni, che permettono di inserire in un unico cavo anche centinaia di fibre. Per contro, rispetto ai mezzi trasmissivi in rame, le fibre ottiche hanno costi maggiori.
1 Procedura con cui si dà inizio ad una sessione
2 Controllo amministrativo e di sicurezza dell’accesso ad un sistema multiutente di un utente abbonato o, comunque, autorizzato.
3 Per prompt si intende la stringa di caratteri che indica la disponibilità della shell ad accettare dei comandi, e che precede la zona di immissione. Con shell si intende generalmente la riga di comando, attraverso la quale i comandi vengono impartiti come stringhe di testo immesse da tastiera. Con il termine shell si intende un programma che permette all'uomo di dialogare con un computer e attraverso la quale vengono impartiti i comandi
4 insieme strutturato di informazioni, costituito da testi, note, illustrazioni, tabelle collegate tra loro da rimandi e collegamenti logici, al quale possono accedere in modo selettivo i vari utenti.
5 Lo IEEE, acronimo di Institute of Electrical and Electronic Engineers, nacque il 1° gennaio 1963 dalla fusione di due istituzioni precedenti: l’ IRE, Institute of Radio Engineers, e l’ AIEE, American Institute of Electric Engineers nati nel 1884. La sua sede è nello stato di New York, negli Stati Uniti. Ad oggi l’ IEEE annovera più di 320.000 membri in 150 nazioni; comprende tecnici, ingegneri e ricercatori di tutto il mondo nel settore elettrotecnico ed elettronico. Gli studi e le scoperte dei suoi membri hanno contribuito a edificare il mondo attuale come noi lo conosciamo. Le pubblicazioni dello IEEE sono il 30% della letteratura ingegneristica e coprono quasi tutti gli aspetti dell'Elettronica e dell'Informatica moderna. Inoltre IEEE ha definito oltre 900 standard industriali.
6 Ossia il pacchetto trasmesso da un nodo A non deve attendere nel buffer dello switch la ritrasmissione da parte di quest’ ultimo del pacchetto di un altro nodo B, o in altri termini, i pacchetti del nodo A non si devono mettere in coda nello switch a quelli del nodo B e viceversa. Ogni pacchetto ha una sua via dedicata. La banda totale dei cavi collegati alla porta non viene quindi ridotta da ritardi dovuti all’interazione di trasmissioni diverse.
7 L'unità base di informazione di livello 3 trasferita attraverso Internet. Contiene gli indirizzi IP di partenza e di destinazione oltre ai dati da trasferire.
8 Si tratta del massimo intervallo di frequenze entro il quale un canale fisico è in grado di trasmettere correttamente il segnale.
9 il termine correttamente si deve intendere in termini di fedeltà della forma del segnale ricevuto rispetto a quello trasmesso.
10 Nell'ambito della teoria dei segnali questo termine è usato per indicare i metodi che consentono a due o più segnali di condividere la stessa linea trasmissiva.Nella legislazione italiana ed europea manca una definizione ufficiale di banda larga. Tuttavia la commissione Europea usa il termine Banda larga in un'altra accezione: come sinonimo, cioè di connessione più veloce di quella assicurata da un normale modem. In questo senso la più tipica banda larga sarebbe quella assicurata dalla connessione a fibre ottiche.
---------------
------------------------------------------------------------
---------------
------------------------------------------------------------
1