apri/salva file

Transcript

apri/salva file
Networking
Teoria
2. INTRODUZIONE ALLA TRASMISSIONE DATI....................................................................................................5
MODELLO DI COMUNICAZIONE..................................................................................5
MODELLO DI ELABORAZIONE.................................................................................... 6
INFORMAZIONI DI TIPO “DATO”..................................................................................7
CLASSIFICAZIONE DELLE INFORMAZIONI................................................................7
SISTEMA DI COMUNICAZIONE....................................................................................9
Definizione di networking..............................................................................................10
3. INTRODUZIONE AGLI AMBIENTI DI RETE......................................................................................................12
Reti di telecomunicazioni..............................................................................................12
Vantaggi di un ambiente di rete....................................................................................13
Ambienti Client/Server e Peer-to-Peer.........................................................................13
Sicurezza di un ambiente di rete.................................................................................. 14
Struttura, funzioni e modo di trasferimento di una rete ................................................ 15
Topologie di rete...........................................................................................................16
Tipologie di collegamento.............................................................................................17
Mezzi di trasmissione................................................................................................... 18
Classificazione delle reti in base alla distanza ............................................................. 19
4. GLI STANDARD E LE RETI DI COMUNICAZIONE...........................................................................................20
Reti di calcolatori.......................................................................................................... 21
Modello di comunicazione a strati................................................................................ 21
Modello ISO-OSI...........................................................................................................23
Modello Internet............................................................................................................24
5. WAN: TECNOLOGIE.................................................................................................................................................26
Caratteristiche delle WAN:........................................................................................................... 26
Definizione di rete geografica...................................................................................................... 26
Tipologie di traffico ed evoluzione dei servizi..............................................................................27
Le tecnologie di trasporto..............................................................................................................28
PSTN (Public Switched Telephone Network) ...............................................................28
Le reti a commutazione di pacchetto x25.....................................................................29
Formazione dei flussi numerici PCM............................................................................29
CAMPIONAMENTO......................................................................................................30
FORMAZIONE DI UN FLUSSO PCM.......................................................................... 32
FLUSSI NUMERICI NORMALIZZATI...........................................................................33
Apparati di rete: Modulazione e multiplazione.............................................................................33
l modem........................................................................................................................ 33
TECNICHE DI MODULAZIONE................................................................................... 34
MULTIPLAZIONE......................................................................................................... 35
TDM.............................................................................................................................. 36
Multiplazione numerica.................................................................................................37
Multiplazione sincrona.................................................................................................. 38
Multiplazione asincrona................................................................................................ 38
Wavelenght DIVISION MULTIPLEXING...................................................................... 40
La rete pdh/sdh............................................................................................................40
ISDN (Integrated Services Digital Network) ................................................................. 40
ADSL.............................................................................................................................43
1
Networking
Teoria
Frame Relay...................................................................................................................................50
ATM.............................................................................................................................. 57
6. RETI LAN: MEZZI TRASMISSIVI E CABLAGGIO............................................................................................59
Mezzi trasmissivi...........................................................................................................................59
Cavo coassiale............................................................................................................. 59
Doppino ritorto.............................................................................................................. 60
Fibra ottica.................................................................................................................... 62
Dispositivi di Comuniczione su teri LAN.....................................................................................65
Repeater....................................................................................................................... 65
Bridge............................................................................................................................66
Switch........................................................................................................................... 66
IL CABLAGGIO STRUTTURATO.............................................................................................67
Definizioni..................................................................................................................... 67
Il sistema di cablaggio IBM...........................................................................................68
Cablaggio in categoria 5..............................................................................................69
7. RETI LAN: MODELLI CORRENTI E STANDARD..............................................................................................75
Le reti locali ed lo standard IEEE 802...........................................................................................75
Topologie LAN............................................................................................................................. 76
Topologia a bus............................................................................................................ 76
Topologia a stella..........................................................................................................76
Protocolli e standard di LAN.........................................................................................................77
IEEE 802.3 - CSMA/CD (Ethernet).............................................................................. 77
Evoluzione di Ethernet..................................................................................................78
Domini di collisione.......................................................................................................79
IEEE 802.11 - Wireless LAN........................................................................................ 79
8. CONNESSIONE DI LAN TRAMITE WAN.............................................................................................................81
ROUTER....................................................................................................................................... 81
GATEWAY...................................................................................................................................82
9. PROTOCOLLI DI COMUNICAZIONE...................................................................................................................84
La famiglia di protocolli TCP/IP...................................................................................................84
Il protocollo di rete IP....................................................................................................85
Schema di indirizzamento IP........................................................................................86
Classi di indirizzi IP.......................................................................................................87
Corrispondenza tra indirizzi IP e indirizzi MAC............................................................ 88
Il protocollo di trasporto TCP........................................................................................89
Multiplazione e socket.................................................................................................. 90
Well-knows ports.......................................................................................................... 91
Protocollo IP e collegati................................................................................................................ 92
Introduzione.................................................................................................................. 92
Formato del pacchetto IP............................................................................................. 93
Problemi di indirizzamento........................................................................................... 96
Classi di indirizzi A, B, C, D..........................................................................................97
Netmask e valori possibili............................................................................................. 99
Indirizzi privati ed indirizzi pubblici............................................................................. 101
Protocolli correlati a IP e loro impiego........................................................................101
2
Networking
Teoria
Internet Control Message Protocol (ICMP)................................................................ 102
Address Resolution Protocol (ARP) e Reverse ARP ................................................. 103
10. PROTOCOLLI DI TRASPORTO IN INTERNET..............................................................................................105
TCP - Transmission Control Protocol.........................................................................105
TCP - Multiplazione.................................................................................................... 106
TCP - Connessione.................................................................................................... 106
Applicazioni per TCP.................................................................................................. 107
Telnet..........................................................................................................................108
FTP............................................................................................................................. 108
DNS............................................................................................................................ 110
Posta elettronica.........................................................................................................112
HTTP...........................................................................................................................114
Dynamic Host Configuration Protocol (DHCP)...........................................................119
Server DHCP..............................................................................................................120
Client DHCP............................................................................................................... 120
Amministrazione DHCP..............................................................................................121
11. SERVER SOFTWARE............................................................................................................................................123
Principali funzioni dei componenti software di un server di rete................................................123
Il sistema operativo.....................................................................................................123
Protocolli di rete..........................................................................................................123
Programmi server e servizi.........................................................................................123
Confronto tra le funzioni dei principali sistemi operativi di rete................................................ 124
Installazione e configurazione di driver per periferiche di rete...................................................124
Interfacciamento con la rete - Configurazione di una interfaccia di rete ....................125
Interfacciamento con la rete - Indirizzamento con DHCP .......................................... 127
Interfacciamento con la rete - IP aliasing................................................................... 128
Configurare il routing per la gestione dei pacchetti di una rete locale verso Internet 128
Il comando netstat...................................................................................................... 129
Installare e configurare software antivirus.................................................................................. 132
12. CLIENT SOFTWARE.............................................................................................................................................134
Installazione dei componenti software di un client di rete ..........................................134
Configurazione dei protocolli di rete su di un client ....................................................134
Esempi di installazione e configurazione del protocollo di rete TCP/IP: Windows2000...........135
13. AMMINISTRAZIONE DI UNA RETE................................................................................................................137
Introduzione all'amministrazione di rete.....................................................................................137
Il problema dell'autenticazione................................................................................... 137
Tecniche di autenticazione.........................................................................................137
Amministrazione di sistema........................................................................................................ 139
Servizi di directory...................................................................................................................... 139
Domain name system.................................................................................................140
Utilizzazione di DNS................................................................................................... 142
LDAP...........................................................................................................................142
Directory services in Windows....................................................................................143
Alberi e foreste di domini............................................................................................143
DIT in active directory.................................................................................................144
3
Networking
Teoria
14. RISOLVERE MALFUNZIONAMENTI DELLA RETE ...................................................................................146
Controllo fisico ........................................................................................................... 147
Scambio di componenti di rete .................................................................................. 148
Verifica della connettività IP ...................................................................................... 151
Analisi lato client ........................................................................................................152
Analisi lato server (a livello applicazione) ..................................................................153
Utility per la verifica del corretto funzionamento della rete: traceroute ..................... 156
Utility per la verifica del corretto funzionamento della rete: telnet .............................157
Utility per la verifica del corretto funzionamento della rete: nslookup .......................161
Utility per la verifica del corretto funzionamento della rete: netstat ...........................163
15. SICUREZZA E FAULT TOLERANCE................................................................................................................166
Protezione da attività di utenti che possano compiere
atti dolosi o colposi.......................................................................................................................166
Attivazione dei sistemi di controllo e di monitoraggio............................................................... 167
Ridondanza di server e servizi................................................................................... 169
Configurazioni RAID................................................................................................... 169
Ridondanza dei server................................................................................................169
Ridondanza dei servizi............................................................................................... 170
Installazione di Cluster............................................................................................... 170
Backup e Restore.........................................................................................................................170
Strategie di backup.....................................................................................................171
Sicurezza di rete: Protezione da attacchi esterni......................................................................... 172
La sicurezza telematica .............................................................................................173
Il protocollo IP ............................................................................................................174
Il protocollo TCP ........................................................................................................ 176
Analisi dei rischi .........................................................................................................178
Strategie per la sicurezza della rete ..........................................................................179
Firewall ...................................................................................................................... 183
Esempio di firewall commerciali ................................................................................ 184
PGP - Pretty Good Privacy ........................................................................................187
4
Networking
Teoria
1.
2. Introduzione alla trasmissione dati
Definiamo, per prima cosa, il significato di "dati", di "informazioni": identifichiamo la natura di ciò
che viene trasmesso.
L'informazione è una rappresentazione simbolica di una certa quantità di eventi e/o situazioni. Gli
eventi possono riferirsi non solo alla realtà dei fenomeni fisici, ma anche a tutto ciò che l'uomo è in
grado di concepire, ipotizzare ed esprimere. Le situazioni comprendono i legami e le dinamiche
che correlano fra loro gli eventi.
In generale possiamo affermare che è informazione tutto ciò che può essere correttamente
espresso attraverso una procedura di sintesi e mediante una certa quantità di simboli idonea a
consentire la ricostruzione del significato primitivo.
La precedente definizione, che proviene dall'informatica, consente di stabilire un limite a cosa
può essere trasmesso, che risulta coincidere con quanto può essere codificato. Alcune
informazioni sono codificabili in modo quasi spontaneo, come per esempio i testi, per i quali è
sufficiente una tabella del tipo di quella ASCII; in altri casi, le informazioni devono subire un
processo di analisi e successivamente di sintesi, per poter essere efficacemente espresse per
mezzo di un codice.
La corretta identificazione e la successiva codifica dell'informazione, costituisce il presupposto
fondamentale delle comunicazioni.
MODELLO DI COMUNICAZIONE
Lo schema precedente si riferisce al caso generale: per molti tipi di comunicazione alcuni passi
potranno risultare superflui o non applicabili o trasparenti.
5
Networking
Teoria
La sequenza sopra riportata, con gli opportuni adattamenti, sembra la stessa di quella utilizzata
dall'uomo per leggere, ricordare ed esprimere, per comunicare, la realtà che lo circonda: non ci
sono riferimenti a strumenti particolari, dato che il lavoro di elaborazione potrebbe essere quello
effettuato dal cervello umano, mentre la trasmissione e la ricezione sono affidati agli organi
sensoriali e di espressione come occhi (immagini), orecchi e bocca (suoni).

Per le operazioni affidate alle macchine, possiamo aggiornare lo schema in un modo che
evidenzia le manipolazioni effettuate da dispositivi che, nel nostro caso, sono
fondamentalmente costituiti o gestiti da computer di varia potenza.
MODELLO DI ELABORAZIONE
I sensori ed i trasduttori possono essere di tipo elettromeccanico (es.: Fine-corsa, Tastiere, ecc.),
di tipo ottico (es.: Scanner, fotocellule), ecc..
Gli schemi precedenti sono validi per qualsiasi tipo di informazione?
L'informatica insegna che ci sono due tipi di informazioni: il primo tipo è costituito dai dati.
I dati sono informazioni di tipo "statico", in quanto non si modificano nel tempo. Sono
caratterizzati dalle seguenti proprietà:
* inalterabilità
6
Networking
Teoria
* rappresentano entità singole o raggruppate
* la loro codifica si ottiene per mezzo di tabelle
* la ripetitività è superflua
INFORMAZIONI DI TIPO “DATO”
- Messaggio
- Testo
- Documento
- Immagine (Foto, disegno, animazione, grafico ecc.)
- Peso (numero)
- Distanza
- Suono
La rappresentazione dei dati può seguire una strutturazione più o meno avanzata, tuttavia non
comprende gli eventuali aspetti operativi e relazioni logiche che entrino nel merito dell'uso che dei
dati stessi possa essere fatto.
Esiste un secondo tipo di informazione, diverso dai dati, che è in grado di identificare non gli
oggetti, le entità, gli eventi, ma i loro legami logici, le relazioni dinamiche che li coinvolgono.
Mediante tale tipo di informazione, che prende il nome di "procedura" (in informatica:
"programmi") è possibile, attraverso un lavoro di analisi, sintesi e codifica (quest'ultima di tipo
simile a quella utilizzata dai dati), rappresentare non il prodotto delle attività, ma le attività stesse:
"come", "quando" e "cosa" fare per raggiungere un particolare risultato.
La divisione delle informazioni in due tipi è importante per lo studio delle telecomunicazioni in
quanto la classificazione, in dati e procedure, di tutto quanto viene trasmesso costituisce il primo
passo per la comprensione del livello di servizio da richiedere.
Il servizio offerto dalle telecomunicazioni può essere erogato con un'aggiunta di valore (VAS)
direttamente proporzionale all'efficacia con cui l'informazione viene prelevata dal mittente,
trasportata e infine resa disponibile al destinatario.
Efficacia significa: efficienza, affidabilità, esattezza, correttezza, rapidità e, ai livelli di servizio più
elevati, assicurare la comprensibilità delle informazioni scambiate.
CLASSIFICAZIONE DELLE INFORMAZIONI
7
Networking
Teoria
Occuparsi della comprensibilità END-TO-END, implica la necessità di entrare nel merito del
"contenuto" dell'informazione trasmessa, tenere conto, in qualche modo, del suo significato.
L'immagine di un servizio "scalabile" su vari livelli limitrofi di prestazioni differenziate risulta
particolarmente realistica: attualmente i servizi di rete offerti sono adeguatamente classificabili
secondo una scalatura che prevede alcuni (7 nel modello OSI= Open System Interconnection)
livelli relativi ad altrettante funzioni. I livelli sono rappresentati in modo sovrapposto a formare una
"pila" nella quale lo strato, o livello, inferiore, il più basso, corrisponde al servizio meno qualificato (
ad esempio la semplice connessione fisica), mentre l'ultimo, il più elevato (il settimo nel modello
OSI), identifica il livello che è in grado di dialogare direttamente con l'utente nel particolare
ambiente applicativo di quest'ultimo. I cinque livelli intermedi, che si trovano fra il primo ed il
settimo, si occupano ciascuno di un compito particolare, come sarà dettagliatamente riportato nel
capitolo dei protocolli e degli standard e, in particolare, del modello di riferimento OSI (Open
System Interconnection) al quale verrà dedicato uno spazio adeguato all'importanza
dell'argomento.
8
Networking
Teoria
SISTEMA DI COMUNICAZIONE
Nel prossimo capitolo, quando inizieremo ad occuparci delle trasmissioni, non sarà
immediatamente necessario distinguere fra i tipi di informazione; in seguito saranno affrontati
argomenti che riguardano i livelli avanzati dei servizi di rete e occorrerà ricordare la classificazione
sopra riportata. In tutti i casi, qualunque sia il tipo di informazione da trasmettere e il servizio da
erogare, il primo passo da superare rimane quello della "codifica". Il problema è costituito dal fatto
che non esiste una sola regola di codifica valida in tutti i casi, ma tante quante sono le tipologie di
informazioni, cosa ben nota a chi conosce un po' di informatica.
Il significato dei termini utilizzati nel prospetto è il seguente:
INFORMAZIONI:
Dati e procedure
CODIFICA:
meccanismo associativo che permette la rappresenta zione delle informazioni mediante una sequenza di
bytes.
ELABORAZIONE:
trattamento dell'informazione codificata per mezzo di
un computer o di un'apparecchiatura per le
comunicazioni.
Nello schema è stato riportato un collegamento fra il blocco della SELEZIONE DEL TIPO DI
CODIFICA (linea tratteggiata) e il corrispondente blocco SELEZIONE DEL TIPO DI DECODIFICA,
per sottolineare che al sistema di codifica usato deve corrispondere il reciproco sistema di
decodifica
9
Networking
Teoria
Definizione di networking
Segnale sorgente
trasduttore
trasmettitore
Sistema di
commutazione,
gestione,
Segnale destinatario
trasduttore
ricevitore
Una rete per TLC è costituita da un insieme di apparati in grado di svolgere un certo numero di
funzioni indispensabili per il trasferimento dell’informazione. Il modello di rete a cui possiamo fare
riferimento, quando ci occupiamo delle funzioni supportate da un sistema di comunicazione, è il
seguente:
Trasduzione: Il segnale sorgente deve essere opportunamente trattato (conversione, codifica,
adattamento ecc.) per renderlo idoneo ad essere trasmesso. In ricezione il
segnale viene convertito nella tipologia originale in modo da renderne possibile
l’impiego da parte del destinatario.
Ogni rete usa un particolare tipo di trasduttore: nella fonia tradizionale il trasduttore
converte la vibrazione acustica in segnale elettrico analogico, mentre in tutte le
altre reti il segnale che trasporta l’informazione è trasformato in un segnale
digitale.
La funzione di trasduzione è realizzata dal dispositivo di utente che si occupa anche del
rilevamento del segnale: il trasduttore per la fonia è inserito nell’apparecchio
telefonico.
10
Networking
Teoria
Trasmissione/Ricezione: Per superare le distanze che separano i vari apparati di rete, il segnale
elettrico viene amplificato in modo da conservare integra l’informazione
trasportata nonostante l’inevitabile degrado causato dalle linee e dai dispositivi
attraversati. Quando è previsto, il trasmettitore si occupa di modulare ed
eventualmente multiplare i segnali. Anche l’eventuale codifica di linea è
generalmente compresa nel trasmettitore.
Commutazione: La commutazione è la principale funzione svolta da una rete di TLC e consiste
nella selezione ed assegnazione provvisoria dei circuiti necessari alla
realizzazione della connessione fra due punti. Quando un utente chiede di
comunicare con un altro, la centrale di commutazione seleziona, se disponibili, i
circuiti e le risorse indispensabili alla connessione e li assegna, per tutta la
durata della conversazione, al collegamento instaurato; al termine della
connessione, le risorse liberate saranno rese disponibili per altri utente che ne
faranno richiesta.
La funzione di commutazione comporta un’ottimizzazione particolamente
importante in quanto consente una enorme riduzione del numero di risorse di
cui dotare le centrali per soddifare le connesioni fra utenti.
Esistono commutatori di varie tipologie e la loro tecnologia ha subito, nel corso
degli anni, una notevole evoluzione.
Segnalazione: Prima, durante ed al termine di una comunicazione, è necessario che gli organi ed
i dispositivi coinvolti si scambino le informazioni utili all’identificazione e
all’erogazione dei servizi richiesti. Per esempio, il chiamante segnala alla
centrale telefonica il suo desiderio di comunicare con un certo utente. Tali
informazioni, così come tutte le altre che vengono scambiate fra utente e
centrale e fra centrale e centrale, devono rispondere a protocolli e regole
comuni: gli standard della segnalazione. Tutti i moderni servizi che oggi le
centrali telefoniche rendono disponibili, vengono attivati, controllati e gestiti per
mezzo di opportune segnalazioni fra gli organi di centrale e la periferia.
Gestione: Una rete di TLC è dotata di un sistema per il controllo ed il management (CGM:
Centro di Gestione e Manutenzione) che ha il compito di provvedere a tutte le
necessità degli impianti come instradamento e routing, distribuzione,
ripartizione e trabocco, manutenzione, analisi e prevenzione, riparazione,
gestione dei guasti e delle anomalie da degrado, implementazione, fino ad
arrivare alla tariffazione, ai rilevamenti statistici e alle proiezioni. La maggior
parte delle attività gestionali viene eseguita automaticamente, ma alcune
operazioni che richiedono un intervento decisionale devono essere supportate
dall’operatore.
11
Networking
Teoria
3. Introduzione agli Ambienti di rete
Reti di telecomunicazioni
La parola telecomunicazione unisce la radice di origine greca tele (lontano) con il verbo latino
comunicare e significa trasmissione di informazioni a distanza.
Trasmettere informazioni a distanza, superando il limite fisico dei nostri sensi, è da sempre un
obiettivo dell'uomo, si pensi ad esempi quali la comunicazione tramite luce riflessa da specchi
nelle navi da guerra (già utilizzata dagli antichi romani) o la comunicazione con segnali di fumo
degli indiani d'america.
Nei tempi moderni si è imparato ad utilizzare i segnali elettromagnetici per la comunicazione a
distanza e gli sviluppi della tecnologia nel campo delle comunicazioni elettriche e
dell'elettronica hanno permesso la nascita delle moderne telecomunicazioni.
Una volta che risultino disponibili strumenti per la telecomunicazione, emergono una serie di altri
problemi legati all'organizzazione del sistema che si rende necessario per garantire accesso a
questo servizio a grandi popolazioni di utenti (siano essi esseri umani o calcolatori). Questi sistemi
complessi sono le reti di telecomunicazioni.
Alcune importanti date nella storia delle reti di telecomunicazioni sono:
• 1835: viene varato il sistema telegrafico, si può considerare l'inizio delle moderne
telecomunicazioni;
• 1846: viene inventata da Siemens la telescrivente, il primo terminale automatico;
• 1866: viene posato il primo cavo transatlantico telegrafico;
• 1876: viene brevettato da Graham Bell il telefono;
• 1885: nasce la radio con il primo esperimento di Guglielmo Marconi;
• 1887: vengono inventate (Strowger) le prime centrali telefoniche automatiche;
• 1956: viene posato il primo cavo transatlantico telefonico;
• 1969: viene realizzata la prima rete di calcolatori, ARPAnet, che poi diventerà
Internet.
Si tenga poi presente che la trasmissione dei segnali elettrici a grande distanza presenta numerosi
problemi di carattere tecnico, per cui è molto importante l'ausilio offerto dall'elettronica. A questo
proposito due date fondamentali sono:
• 1904: Hartley inventa il triodo e nasce l'elettronica;
• 1947: Shottky inventa il transistor allo stato solido.
12
Networking
Teoria
Vale la pena sottolineare che sia Hartley sia Shottky lavoravano per la stessa società di
telecomunicazioni statunitense (Bell System).
Vantaggi di un ambiente di rete
Il calcolatore elettronico è uno strumento avente lo scopo di elaborare e gestire informazioni. Tali
elaborazioni vengono generalmente effettuate sfruttando risorse interne al calcolatore; il
processore, le memorie volatili (RAM), le memorie di massa (dischi rigidi, nastri, eccetera).
L'interazione fra utente umano e calcolatore, al fine di comandare e/o ottenere i risultati di queste
elaborazioni avviene tramite interfacce quali monitor, tastiera, stampante, eccetera, che possono
anch'esse essere considerate parte delle risorse a disposizione del calcolatore.
Avere una rete di telecomunicazioni fra calcolatori ha l'ovvio vantaggio di permettere lo scambio di
informazioni fra gli utenti dei calcolatori stessi, come e-mail, documenti ed immagini, eccetera, ma
offre anche la possibilità di realizzare una condivisione delle risorse di un calcolatore con tutti gli
altri nella rete.
Tramite una rete di calcolatori è possibile avere accesso a risorse, siano esse di elaborazione, di
memorizzazione, di stampa o quant'altro che altrimenti potrebbero non essere disponibili per tutti,
per ragioni di costo, di complessità, eccetera. Per questo con la progressiva diffusione dei
calcolatori si è sempre più sentita la necessità della interconnessione in rete degli stessi, al fine di
aumentarne le funzionalità e quindi l'utilità. La rete di calcolatori può quindi essere visto come una
sorta di calcolatore esteso che, tramite le funzioni di comunicazione, fa di un insieme di calcolatori
isolati un sistema integrato che rende disponibili ad una più vasta popolazione di utenti una serie di
risorse.
Ambienti Client/Server e Peer-to-Peer
Nelle reti di calcolatori fino ad oggi tipicamente si è sempre utilizzata una comunicazione di tipo
client/server. Con questi termini si intende che alcuni calcolatori ben identificabili detti server
mettano a disposizione informazioni e servizi a cui gli altri calcolatori della rete accedono con
modalità opportune. Un tipico esempio è il WWW in cui i server mettono a disposizione dei client
pagine di testo, immagini, eccetera, che siano reperibili e visualizzabili tramite i normali browser
(Internet Explorer, Netscape, Opera, eccetera).
Questo modello di dialogo è di tipo asimmetrico nel senso che i due soggetti partecipanti alla
comunicazione svolgono funzioni diverse: il server mette a disposizione le informazioni, il client le
reperisce e le rende consultabili localmente dall'utente. Per svolgere questa funzione i server
devono essere sempre disponibili, quindi sempre accessi, sempre connessi alla rete e sempre
pronti ad accettare nuove comunicazioni.
13
Networking
Teoria
Inoltre i server devono essere opportunamente configurati al fine di salvaguardare il più possibile
l'integrità delle informazioni e del servizio.
Più di recente si sono sviluppati sulla rete Internet dei servizi di comunicazione che utilizzano un
diverso modello di dialogo, detto peer-to-peer. Ciò che cambia è la modalità di fornitura e di
reperimento delle informazioni. In pratica il server smette di esistere e tutti i calcolatori connessi
alla rete possono contemporaneamente agire come server e/o come client. Nel dialogo peer-topeer si perde quindi la nozione di server e tutti i calcolatori possono allo stesso tempo rendere
disponibili informazioni e reperirne dagli altri. In questo caso esistono ancora alcuni calcolatori che
svolgono funzione di server solamente per le funzioni di centralizzazione degli indici di informazioni
disponibili. Tramite questi indici i singoli computer possono scoprire chi metta a disposizione certe
informazioni sulla rete e collegarsi direttamente a questi per il loro reperimento. Il dialogo relativo
alle informazioni vere e proprie è quindi semprediretto fra il fornitore ed il fruitore di informazioni
senza l'intermediazione di un server. I server per l'indicizzazione sono necessari in quanto i singoli
calcolatori possono collegarsi e scollegarsi alla rete di dialogo. I singoli calcolatori una volta
collegati in rete si connettono a questi server per comunicare quali informazioni loro rendano
disponibili e per conoscere quali informazioni siano già disponibili e presso chi. Il primo esempio
eclatante di servizio utilizzante un dialogo peer-to-peer è il famoso sistema Napster per la
distribuzione di brani musicali che tanta risonanza ha avuto anche sui mezzi di comunicazione a
seguito della battaglia legale per la tutela dei diritti d'autore con le case discografiche.
Sicurezza di un ambiente di rete
Una rete di calcolatori, oltre ad offrire i vantaggi descritti precedentemente, pone un importante
problema legato alla sicurezza del sistema informatico.
Le problematiche di sicurezza di un sistema informatico sono state discusse estensivamente in un
precedente modulo; qui ci limitiamo ad accennare quali siano i problemi prettamente legati
all'ambiente di rete.
La connessione in rete di un calcolatore implica che la rete venga utilizzata per scambiare dati con
altri calcolatori e per fornire servizi (server di stampa, server Internet, eccetera). Le problematiche
di sicurezza tipiche di questo scenario sono quindi legate alla riservatezza della comunicazione e
al mantenimento dell'integrità dei servizi.
Per quanto riguarda la riservatezza della comunicazione, è necessario evitare:
• che i dati relativi ad una particolare comunicazione fra calcolatori possano essere intercettati e
letti, anche senza interromperne il normale flusso (sniffing), in quanto questi dati possono essere
di tipo sensibile (password, dati personali, numero di carta di credito, eccetera);
14
Networking
Teoria
• che un calcolatore possa comportarsi in modo malevole prendendo il posto di un altro
calcolatore, ad esempio assumendone gli indirizzi di rete (spoofing),sostituendosi ad esso nella
comunicazione con altri al fine di appropriarsi di dati sensibili o per l'uso di servizi a lui non
permessi.
Per quanto riguarda invece l'integrità dei servizi è necessario garantirsi dall'eventualità che utenti
malevoli, utilizzando la rete di calcolatori possano interferire con il normale funzionamento di
sistemi server. Un esempio di questo tipo, che ha avuto particolare rilevanza anche sulla stampa, è
relativo agli attacchi ai server Internet di grandi enti, non avente lo scopo di attentare alla sicurezza
dei dati, ma semplicemente di interferire con il normale funzionamento dei server (rendere
impossibile l'uso della posta elettronica o dei server Web, eccetera).
Struttura, funzioni e modo di trasferimento di una rete
Una rete di telecomunicazioni è un sistema che si compone di:
• apparati terminali con cui si interfaccia direttamente l'utente finale del servizio di
telecomunicazione (spesso l'essere umano);
• linee di collegamento che permettono fisicamente la trasmissione a distanza delle informazioni
sotto forma di segnali elettromagnetici;
• nodi di rete che svolgono le funzioni necessarie a garantire il corretto trasferimento delle
informazioni all'interno della rete.
Una rete di comunicazione deve svolgere quattro fondamentali funzioni:
• Trasmissione: trasferimento fisico del segnale da punto a punto o da un punto a molti punti.
• Commutazione: reperimento delle risorse all'interno della rete necessarie per realizzare un
opportuno trasferimento delle informazioni.
• Segnalazione: scambio di informazioni fra utente e rete oppure internamente alla rete
necessario per il corretto funzionamento della comunicazione e della rete stessa.
• Gestione: tutto ciò che concerne il mantenimento delle funzioni della rete; riconfigurazione di
fronti a guasti o cambiamenti strutturali, allacciamento di nuovi utenti, tariffazione, eccetera.
Una rete di telecomunicazioni è caratterizzata da un modo di trasferimento, cioé dalla modalità con
cui avviene il trasferimento delle informazioni al suo interno. Il modo di trasferimento è, a sua volta,
caratterizzato da:
• schema di multiplazione: modalità con cui le unità informative condividono le linee di
collegamento;
• modalità di commutazione: come si realizza la funzione di commutazione;
15
Networking
Teoria
• architettura dei protocolli: la suddivisione delle funzioni di comunicazione e la loro distribuzione
fra gli apparati di rete.
Topologie di rete
Una rete di telecomunicazioni può essere rappresentata con un grafo, ossia una struttura logica,
composta da nodi e da archi.
I nodi sono gli elementi che raccolgono i dati e li instradano verso la loro destinazione, sono quindi
posti in corrispondenza dei terminali e degli apparati che svolgono la funzione di commutazione.
Possiamo suddividere quindi i nodi in nodi di accesso quando si tratta di terminali e ad essi sono
connessi degli utilizzatori o dei fornitori di servizi, e nodi di transito quando ad essi non sono
connessi gli utenti ma solo altri nodi di transito o nodi di accesso.
I rami sono gli elementi che permettono il trasferimento dei dati da un'estremità all'altra, sono posti
in corrispondenza degli apparati che svolgono la funzione di multiplazione e con i sistemi
trasmissivi di linea.
Esempio di topologia e grafo corrispondente
La struttura del grafo è anche topologia della rete.
16
Networking
Teoria
La più semplice topologia possibile è quella a maglia completa, in cui tutti i nodi sono collegati fra
loro a due a due. Questa topologia ha l'indiscutibile vantaggio di prevedere un collegamento puntopunto diretto fra qualunque coppia di nodi. Ha però il grande svantaggio di richiedere un numero di
linee di collegamento che cresce con il quadrato del numero dei nodi. Per una rete di N nodi sono
necessarie N(N-1)/2 linee. È quindi una topologia che poco si addice a reti con molti nodi.
Un'alternativa che invece richiede un minor numero di linee è quella a stella in cui una insieme di
nodi di accesso viene collegato ad un nodo di transito che svolge la funzione di commutazione. La
rete a stella ha il vantaggio di richiedere un minor numero di linee, ma è potenzialmente più
vulnerabile ai guasti, in quanto se non funziona correttamente il nodo di transito tutta la rete smette
di funzionare.
Ovviamente è anche possibile combinare queste soluzioni creando reti gerarchiche con topologie
ibride. Un esempio è quello che segue, in cui due livelli di topologia a stella sono utilizzati per
collegare i nodi di accesso con un primo livello di nodi di transito. A loro volta questi sono collegati
a stella con un secondo livello di nodi di transito e poi con un terzo. I nodi di transito del terzo
livello, meno numerosi dei precedenti sono infine collegati con una topologia a maglia completa.
Questo si giustifica in quanto questa parte della rete risulta essere il nocciolo (core) del sistema e
deve avere la massima affidabilità possibile.
Topologia di rete descritta nel testo.
Tipologie di collegamento
Esistono varie tipologie di collegamenti fra terminali o nodi di una rete:
• Punto-punto: due nodi comunicano fra loro agli estremi del collegamento.
• Punto-multipunto: un nodo può comunicare con tanti altri.
• Multicast: un nodo trasmette allo stesso tempo ad un sottoinsieme dei nodi della rete.
• Broadcast: un nodo trasmette allo stesso tempo a tutti i nodi della rete.
17
Networking
Teoria
Inoltre su di una linea di collegamento fra i terminali A e B il flusso di informazioni può essere di
tipo:
• monodirezionale o simplex: A invia dati a B;
• monodirezionale alternato o half duplex: A invia informazioni a B, quando A tace B può inviare
informazioni ad A e viceversa;
• bidirezionale o full duplex: A e B possono contemporaneamente inviare informazioni all'altro.
Mezzi di trasmissione
I mezzi fisici utilizzati per la trasmissione dei dati sono di tre tipi:
• mezzi elettrici (cavi); si usa l'energia elettrica per trasferire i segnali sul mezzo;
• mezzi wireless (onde radio); in questo caso si sfruttano onde elettromagnetiche;
• mezzi ottici (LED, laser e fibre ottiche); con le fibre ottiche si usa la luce.
I parametri prestazionali di questi mezzi sono:
• larghezza di banda; serve per determinare quanti bit al secondo è possibile trasferire;
• affidabilità; ogni mezzo presenta una certa probabilità di errore nella trasmissione;
• prestazioni; determinano la distanza massima in un collegamento;
• caratteristiche fisiche; a seconda del mezzo si usano fenomeni diversi per la trasmissione,
occorre perciò sfruttare tecnologie differenti.
I mezzi elettrici più usati sono fondamentalmente il cavo coassiale e il doppino. Il doppino è il
mezzo più vecchio e comune dei due. Consiste di due fili intrecciati ad elica tra loro, e può essere
sia schermato (STP - Shielded Twisted Pair) che non schermato (UTP - Unshielded Twisted Pair).
Il doppino viene utilizzato all'inizio per le connessioni terminali nella telefonia, cioé per quel tratto
che va dall'apparecchio alla centrale. Una versione del STP con più avvolgimenti e un migliore
isolamento viene usato per il traffico dati su lunghe distanze. Il cavo coassiale è composto da un
conduttore centrale ricoperto di isolante, all'esterno del quale vi è una calza metallica. Il coassiale
era usato per lunghe tratte telefoniche ma è stato sostituito dalla fibra ottica, ora rimane in uso per
la televisione via cavo e per l'uso in reti locali.
Le fibre ottiche sono costituite da un sottilissimo cilindro centrale in vetro (core), circondato da uno
strato di vetro esterno (cladding), con un diverso indice di rifrazione e da una guaina protettiva. Le
fibre ottiche sfruttano il principio della deviazione che un raggio di luce subisce quando attraversa il
confine fra due materiali diversi (core e cladding nel caso delle fibre). La deviazione dipende dagli
indici di rifrazione dei due materiali. Oltre un certo angolo, il raggio rimane intrappolato all'interno
del materiale.
Le fibre ottiche hanno delle prestazioni eccellenti, possono raggiungere velocità di trasmissioni pari
a 50.000 Gb/s, ossia 50 terabit al secondo con un bassissimo tasso d'errore. Le distanze massime
18
Networking
Teoria
per un collegamento di questo tipo sono di circa 30 kilometri, per collegamenti di lunghezza
maggiore si introducono ripetitori e amplificatori lungo la tratta.
La trasmissione senza fili si effettua su diverse lunghezze d'onda, e sono le onde radio,
microonde, raggi infrarossi, luce visibile e ultravioletti. Il comportamento di questo mezzo dipende
dalla lunghezza d'onda e dalla banda utilizzata, le prestazioni possono variare ampiamente.
Classificazione delle reti in base alla distanza
La storia delle reti di telecomunicazioni ha visto nascere diverse soluzioni a problemi di tipo
eterogeneo, che vanno dalla necessità di comunicare a grande distanza tramite il telegrafo o il
telefono, fino alla possibilità di interconnettere tra loro computer residenti nella stessa stanza o
edificio.
Questa diversità di problematiche ha comportato tradizionalmente una classificazione delle reti
sulla base della distanza coperta dalle reti stesse:
• LAN - Local Area Network o reti locali: tipicamente sono reti private per l'interconnessione di
computer ed altri apparati appartenenti ad un unico ente o azienda;
• MAN - Metropolitan Area Network o reti metropolitane: possono essere reti private o pubbliche
e fornire servizi di vario tipo in ambito urbano, 13 dall'interconnessione di computer, alla telefonia,
alla TV via cavo;
• WAN - Wide Area Network o reti geografiche: in passato erano le reti dei grandi gestori
tipicamente pubblici che fornivano servizi e connettività a livello nazionale; oggi, dopo la
deregulation, possono anche appartenere a privati ed offrire connettività a livello mondiale.
La differenza tra questi tre tipi di reti in termini di distanza coperta è rappresentata nella tabella
seguente:
Area coperta Distanza Tipo di rete
Stanza 10 metri LAN
Edificio 100 metri LAN
Campus 1 kilometro LAN
Città 10 kilometri MAN
Area metropolitana 100 kilometri MAN
Stato o Nazione 1.000 kilometri WAN
Continente 5.000 kilometri WAN
Pianeta 10.000 kilometri WAN
Un esempio di come reti eterogenee possono essere interconnesse è mostrato nella figura
seguente:
19
Networking
Teoria
.
Interconnessione di LAN, MAN e WAN
4. Gli standard e le reti di
comunicazione
Per lo sviluppo delle telecomunicazioni risultano fondamentali gli standard, che definiscono delle
serie di regole secondo cui i sistemi e le reti di telecomunicazioni devono operare. Grazie agli
standard è possibile che reti di amministrazioni o paesi diversi possano interconnettersi (si pensi
alla rete telefonica con la teleselezione internazionale), che i terminali di utente continuino a
funzionare anche in reti diverse (si pensi alla radio, alla televisione, al telefono cellulare) e così via.
La problematica della definizione e negoziazione degli standard ha quindi accompagnato da
sempre il mondo delle reti di telecomunicazioni.
L'ente internazionale che istituzionalmente si occupa dell'emanazione di questi standard è
l'International Telecommunication Union (ITU), nato nel 1865 e rimasto sempre operativo da
allora.
L'ITU (http://www.itu.int) emana delle Raccomandazioni che sono standard per la realizzazione di
sistemi e reti di telecomunicazioni.
Nonostante sia certamente un soggetto importante nello scenario della standardizzazione delle
telecomunicazioni l'ITU non è l'unico ente che emana o ha emanato standard. Altri enti pubblici e
privati si sono occupati di queste problematiche e sono stati, a vario titolo promotori di standard:
• ISO - http://www.iso.org;
• ETSI: - http://www.etsi.org;
20
Networking
Teoria
• IEEE - http://www.ieee.org;
• EIA - http://www.eia.org;
• IETF - http://www.ietf.org;
Reti di calcolatori
Storicamente le prime reti di calcolatori vengono sviluppate negli anni '70.L'esperimento pilota,
finanziato dall'agenzia statunitense DARPA, prende il nome diARPAnet e nasce ufficialmente nel
1969.
A questa esperienza seguono, nel corso degli anni '70, numerose implementazioni di reti di
calcolatori, molte delle quali di tipo proprietario, cioè sviluppate da un solo costruttore ed
incompatibili con sistemi di altri costruttori. Alcune tra le più note furono DECnet della Digital, SNA
di IBM e XNS della Xerox.
La caratteristica fondamentale di queste reti è quella di essere sistemi chiusi, ossia
sostanzialmente incapaci di comunicare fra loro. Una volta che un utente decide di adottare una di
queste reti è legato al relativo produttore, che è l'unico fornitore di apparati compatibili con la rete
installata. Questo fenomeno detto di captivity, limita molto le scelte dell'utente, che è costretto a
seguire l'evoluzione e le scelte tecnologiche del tipo di rete che ha scelto.
Al contrario sarebbe auspicabile che queste reti fossero sistemi aperti, ossia tali che qualunque
calcolatore fosse in grado di comunicare con qualunque altro indipendentemente dalla sua
architettura e dal suo costruttore. Un sistema aperto ha infatti alcuni importanti vantaggi:
• favorire la diffusione delle reti di calcolatori tramite l'interconnessione delle reti esistenti;
• rendere possibile agli utenti e ai costruttori di reti approvvigionarsi da qualunque produttore,
favorendo la concorrenza.
Modello di comunicazione a strati
Per realizzare reti di calcolatori che siano sistemi aperti è necessario:
• delineare un modello di riferimento per la comunicazione fra calcolatori che sia base comune di
questi sistemi;
• giungere alla definizione di standard universalmente accettati che specifichino in modo preciso le
funzioni che sono necessarie per realizzare la comunicazione.
La comunicazione fra calcolatori di tipo diverso è in generale un problema abbastanza complesso.
Per semplificare la progettazione dal punto di vista tecnico di una rete di calcolatori risulta quindi
conveniente suddividere il problema complessivo in una serie di sottoproblemi ben confinati,
chiarendo poi come essi debbano interagire.
Questo tipo di approccio è stato sostanzialmente comune a tutte le implementazioni di reti di
calcolatori, anche quando queste si presentavano come sistemi chiusi.
21
Networking
Teoria
I vantaggi che si hanno nell'operare un approccio a strati sono:
• riduzione della complessità nella costruzione di architetture protocollari introducendo livelli di
astrazione;
• indipendenza per l'operatività e le strutture interne di ogni strato; ogni strato deve compiere un
compito diverso dagli altri e la sua struttura non è vincolata da quella degli altri livelli;
• interazione tramite servizi; i livelli sono disposti a pila, uno sopra l'altro. Ogni livello fornisce
servizi al livello superiore e usufruisce di servizi dal livello sottostante, comunicando tramite la loro
interfaccia;
• facilità di attuare cambiamenti su uno strato senza alterare i restanti; gli strati interagiscono tra
loro tramite servizi, essendo quindi indipendenti tra loro possono essere modificati nel tempo con
nuove tecnologie senza che questo richieda interventi negli altri strati;
• possibilità di utilizzare differenti protocolli per compiti specifici con complessità più trattabile;
potendo scegliere le modalità di funzionamento e il livello su cui operare le funzioni di
commutazione e di multiplazione, si possono ottimizzare alcuni aspetti del modo di trasferimento.
Due livelli di pari grado posti su due calcolatori differenti comunicano tra loro tramite protocollo,
mentre due livelli adiacenti della stessa macchina comunicano tra loro tramite interfaccia.
L'obiettivo di un livello è quello di servire servizi al livello superiore nascondendo a questo il modo
in cui i servizi sono realizzati.
22
Networking
Teoria
Esempio di modello di comunicazione a strati
Modello ISO-OSI
Nei primi anni '80 l'ISO promuove un'azione volta alla definizione di un modello di riferimento a
strati e di una serie di standard per protocolli e interfacce atti a realizzare dei sistemi aperti. Questo
lavoro prende il nome di Open System Interconnection o OSI.
L'ISO-OSI (Open System Interconnection) Reference Model ha lo scopo di:
• fornire uno standard per la connessione di sistemi aperti;
• fornire una base comune per lo sviluppo di nuovi standard per l'interconnessione di sistemi;
• fornire un modello rispetto a cui confrontare le architetture di rete.
Il modello OSI non definisce di per sé dei protocolli specifici di comunicazione, non può essere
considerato quindi come un'architettura di rete. Il numero di livelli che compongono il modello
strutturale è stato scelto in modo da associare una specifica funzionalità per livello, senza
presentare funzionalità ridondanti su più livelli.
OSI è costituito da 7 livelli:
• strato fisico; ha come compito principale effettuare il trasferimento fisico delle cifre binarie tra i
due sistemi in comunicazione;
23
Networking
Teoria
• strato di collegamento (data link); la sua funzione fondamentale è quella di rivelare e
recuperare gli errori trasmissivi che potrebbero essersi verificati durante il trasferimento fisico;
• strato di rete (network); rende invisibile allo strato superiore il modo in cui sono utilizzate le
risorse di rete per la fase di instradamento;
• strato di trasporto (transport); fornisce le risorse per il trasferimento trasparente di
informazioni;
• strato di sessione (session); assicura la possibilità di instaurare un colloquio tra due sistemi;
• strato di presentazione (presentation); è interessato alla sintassi e alla semantica delle
informazioni da trasferire;
• strato di applicazione (application); ha lo scopo di fornire ai processi residenti nei due sistemi
in comunicazione i mezzi per accedere all'ambiente OSI.
I sette strati del modello di riferimento ISO-OSI
Modello Internet
La rete Internet si è sviluppata al di fuori dal modello ISO-OSI e presenta una struttura solo
parzialmente aderente al modello OSI.
L'architettura di rete Internet Protocol Suite nota anche come architettura TCP/IP, è una
architettura composta da 4 strati:
• strato di accesso alla rete (network access layer); comprende le funzioni che nel modello OSI
sono comprese negli strati fisico, di collegamento e parte di quello di rete, non è specificato
nell'architettura, perché prevede di utilizzare quelli delle varie piattaforme hardware e conformi agli
standard;
• strato Internet Protocol (IP); è collocabile nella parte alta dello strato di rete del modello OSI, è di
tipo senza connessione e best effort, si occupa di instradare e di controllo di congestione;
24
Networking
Teoria
• strato di trasporto (TCO o UDP); corrisponde al livello di trasporto del modello OSI, ed è
implementato in due versioni, TCP (Transmission Control Protocol) che è un protocollo con
connessione ed affidabile, e UDP (User Datagram Protocol) che è senza connessione e non
affidabile;
• strato di applicazione (application protocol); nell'architettura Internet non sono previsti gli strati di
sessione e di presentazione, ma solo quello di applicazione; questo strato contiene i protocolli
utilizzati poi dai programmi residenti sulle macchine. I protocolli utilizzati in questo strato sono FTP
(File Transfer Protocol - per il trasferimento dei file), POP (Post Office Protocol) e SMTP (Simple
Mail Transfer Protocol) per la posta elettronica, Telnet per il terminale virtuale, http (HyperText
Transfer Protocol - per le pagine Web), DNS (Domain Name Service - per convertire nomi
alfanumerici in indirizzi IP), NNTP (News Network Transfer Protocol - trasferimento articoli dei
newsgroup)
Il modello a strati di Internet
25
Networking
Teoria
5. WAN: tecnologie
Caratteristiche delle WAN:
·
Velocità di trasmissione inizialmente modesta ma in rapida crescita
·
Flessibilità, affidabilità, molteplicità di soluzioni
·
Collegabilità tra apparecchiature eterogenee
·
Rese disponibili da Carrier pubblici
Definizione di rete geografica
I collegamenti che attraversano il suolo pubblico o che, a causa della distanza fra gli estremi, non
possono essere limitati ad aree di proprietà privata esclusiva, sono realizzati mediante il supporto
di linee appartenenti alle reti geografiche.
La rete telefonica nazionale (PSTN = Public Switched Telephone Network) costituisce l’esempio
più diffuso e consolidato di WAN (WAN= Wide Area Network) anche se il meno dotato di
tecnologie avanzate.
Se la voce è il tipo di informazione tradizionale, oggi il mercato richiede, in misura continuamente
crescente, il servizio di trasmissione dati.
Fra le applicazioni già affermate ed altre emergenti elenchiamo:
26

Inoltro ordini

Consultazione banche dati e cataloghi

Telebanking

Trasferimento dati di archivi centrali

Back-up remoto per sicurezza

Data & voice su circuiti dedicati

Teleconferenza

Telemarketing propositivo e interattivo

TeleVetrina (Internet)

Televendita – E-Commerce
Networking
Teoria

E-business
Tipologie di traffico ed evoluzione dei servizi.
Le tipologie applicative e le richieste del mercato sono fortemente orientate verso l’interattività e la
multimedialità. Di conseguenza l’offerta dei Carrier risulta sempre più ricca di servizi caratterizzati
da prestazioni in continua crescita: maggiore larghezza di banda, velocità sempre più alte,
protocolli di livello superiore si accompagnano a soluzioni ad hoc e personalizzabili sulle specifiche
necessità del cliente.
La fonia, servizio centrale di tipo monolitico dello storico gestore di Monopolio, ed ancora oggi
perno volumetrico delle telecomunicazioni, è oggetto di offerta differenziata e scolpita sulle
molteplici occasioni e situazioni di mercato in uno scenario in cui la caduta del monopolio e la
nascita di alternative nell’offerta dei servizi ha comportato, per lo meno, un caleidoscopico
proliferare di soluzioni.
Se la trasmissione della voce si sta differenziando in termini di tecnologie impiegate, le
comunicazioni che hanno per oggetto i dati sono in forte aumento in termini di volume. La T.D. si
sta manifestando come una richiesta differenziata di servizi da calibrare secondo la tipologia
specifica del traffico, in modo da raggiungere una soluzione ottimizzata nel rapporto
prezzo/prestazioni.
Inoltre la tipologia delle tecniche per la T.D. comportano una inesorabile convergenza delle
comunicazioni verso una situazione in cui dati e voce costituiranno due applicazioni per le quali la
differenza comporterà non un’alternativa di rete ma una diversificazione di trattamento all’interno
della stesso servizio di rete.
Le tipologie di traffico tradizionali rimangono ancora valide ed utili alla ricerca della soluzione
ottimale:
 On line – interattivo
 Batch
In corrispondenza di ciascuna delle precedenti tipologie si ricercano le tecniche di gestione del
traffico, realizzate dai vari protocolli, in grado di rispondere nella misura più adeguata alle
particolari esigenze dei dati da trasportare. Tali tecniche di gestione del traffico di rete sono
riconducibili a tre tipologie di trattamento:

27
Commutazione di circuito
Networking
Teoria

Commutazione di pacchetto

Multiplazione
La commutazione di circuito è una procedura ormai limitata quasi esclusivamente alla PSTN.
La commutazione di pacchetto è in forte crescita e propone continuamente soluzioni innovative ed
in grado di sfruttare adeguatamente le nuove tecnologie disponibili.
La multiplazione trova largo impiego nelle dorsali e nelle linee punto a punto dedicate e/o
appartenenti a reti pubbliche dotate di grande capacità di carico e di elevata banda.
Le tecnologie di trasporto
Le tecnologie di trasporto delle reti geografiche sono tutte basate sul trattamento di un segnale
digitale, ad eccezione della PSTN che rimane l’unica rete che, in periferia, gestisce un segnale
analogico.
La prevalenza del segnale digitale non è soltanto dovuta alla necessità di trasportare dati,
originariamente digitali, ma soprattutto alla possibilità, specifica dei dati digitali, di poter fornire un
elementare quanto efficace metro di valutazione del rapporto qualità/prezzo relativamente ai
servizi offerti.
PSTN (Public Switched Telephone Network)
PSTN
28
Networking
Teoria
Esistono molti tipi di WAN che si differenziano per tecnologie, prestazioni e servizi offerti.
Oltre a Telecom Italia, che ha monopolizzato fino ad oggi il mercato delle reti per la fonia e per
dati, da qualche anno esistono alternative di carrier privati che propongono soluzioni
concorrenziali per il servizio di trasporto delle informazioni.
Le reti a commutazione di pacchetto x25
La rete a commutazione di pacchetto è una delle prime reti digitali introdotte sul mercato italiano e
oggi presente ed interconnessa in tutta l’Europa. Le sue caratteristiche sono:

Velocità da 2.400 a 64.000 bit/sec

Altissima affidabilità

Circuiti diretti e commutati (PVC e SVC)

Tariffazione a volume e a tempo (SVC)

Bassi costi di impianto e di esercizio

Grande diffusione

Non adatta per applicazioni interattive o multimediali on line
Forniscono il servizio X25, oltre alla Telecom Italia (Itapac), altri carrier privati come Intesa, Sprint,
Cable & Wireless, Infostrada, Albacom, BT.
Per attivare una connessione alla rete X25 occorre, oltre ad un contratto con un Carrier, una
scheda X25 da inserire in uno slot libero del P.C., oppure, per i servizi a bassa velocità, un
modem.
Formazione dei flussi numerici PCM.
L’evoluzione delle applicazioni dalla semplice fonia alle comunicazioni multimediali è parallela al
passaggio delle tecniche analogiche ai sistemi digitali ed al trattamento numerico del segnale.
L’elemento di convergenza delle tecnologie trasmissive è costituito dalle tecniche PAM-PCM-TDM,
che consentono il trattamento omogeneo di tutti i segnali a prescindere dalla loro forma sorgente.
Il segnale analogico continuo che identifica il messaggio da trasmettere, viene trasformato,
mediante una procedura di campionamento (PAM: Pulse Amplitude Modulation) in una serie
di impulsi discreti. L'operazione di campionamento consiste nel prelevare il valore del segnale
originale un certo numero di volte ad istanti prefissati.
29
Networking
Teoria
La legge di Shannon (1948) stabilisce che, affinché non si abbia degrado del segnale originale,
occorre che la frequenza di campionamento sia almeno doppia della larghezza di banda del
segnale e della sua massima frequenza.
Nel caso dei canali telefonici la larghezza di banda è quella delimitata dalle frequenze 300-3400
Hz.
In un secondo vengono eseguiti 8000 campionamenti sul segnale analogico, più che sufficienti a
garantire l’integrità dei campioni del segnale fonico (sarebbe sufficiente un campionamento alla
frequenza di 6800 Hz). La frequenza di campionamento è di 8 kHz (come prescritto dal CEPT per
le comunicazioni telefoniche).
CAMPIONAMENTO
Se il numero dei valori ammessi per le ampiezze campionate è limitato, si parla di segnale
"quantizzato".
I livelli di ampiezza consentiti prendono il nome di "livelli quantici", mentre
"quanto" è la differenza fra due livelli quantici adiacenti.
Il numero dei livelli quantici utilizzati è pari a 256. Si hanno complessivamente 128 livelli positivi e
127 livelli negativi.
30
Networking
Teoria
La "quantizzazione" si chiama lineare se i quanti sono tutti uguali, altrimenti la quantizzazione
viene definita non lineare.
Il quantizzatore associa ad ogni campione il valore del livello quantico più vicino, scelto fra i 256
livelli disponibili.
Infine, il codificatore associa ad ogni valore quantizzato una serie di bit. Per quantizzare 256 valori
diversi sono sufficienti 8 bit ( 28 = 256) per cui all’uscita del codificatore avremo un byte per ogni
campione del segnale originale.
Per ottimizzare il rapporto segnale/disturbo (S/D) tenendo conto del variare delle ampiezze del
segnale analogico, conviene adottare una distribuzione non lineare dei valori di quantizzazione. In
USA è adottata una variazione logaritmica della distribuzione (legge "Bell" o "µ"), mentre in Europa
la distribuzione segue un andamento parzialmente lineare e parzialmente logaritmico (legge "A",
adottata e normalizzata dal CEPT).
La legge A, che descrive il modo di variare della distribuzione dei valori di quantizzazione, viene
chiamata "legge di compressione" (companding law).
L’intervallo di trama, ovvero il tempo occupato da un campione è dato da:
1
=
1
125  sec
=
fc
8.000
con fc = 8 Khz frequenza di campionamento
Il campione occupa solo una parte dei 125  sec: le tecniche di multiplazione PAM utilizzano il
tempo di trama residuo per inserire 30+2 canali, secondo lo standard europeo normalizzato dal
CCITT e dal CEPT.
Il segnale in uscita dal quantizzatore è costituito da impulsi binari di ampiezza uguale.
Un flusso primario PCM è costituito da 30+2 canali che sono contenuti nello stesso tempo di
trama. Ogni canale occupa uno slot chiamato ITn con n che va da 0 a 31.
Per formare il flusso PCM il sistema di codifica inserisce nel tempo di trama due parole di
allineamento:
31
Networking
Teoria
parola A: 10011011
parola B: 11S11111 (con S bit di allarme di fuori sincronismo)
La parola A viene inserita nelle trame pari mentre la B nelle trame dispari.
Il segnale PCM codificato è di tipo NRZ (No Return to Zero) che non ha un valore medio nullo.
Occorre quindi introdurre una codifica di linea AMI o HDB3
FORMAZIONE DI UN FLUSSO PCM
La figura riporta lo schema a blocchi delle varie fasi che portano alla conversione del
segnale analogico in un segnale PCM.
In uscita dal codificatore, ogni campione quantizzato è rappresentato da un byte
(codifica ad 8 bit). La codifica del segnale è generalmente NRZ (No Return to Zero)
eventualmente bifase differenziale. Prima di essere trasmesso, il segnale verrà
adattato e definitivamente codificato dal codificatore di linea le cui funzioni
dipendono dalle particolari caratteristiche del mezzo trasmissivo utilizzato.
32
Networking
Teoria
FLUSSI NUMERICI NORMALIZZATI
LIVELLO
DM0
DM1
DM2
DM3
DM4
DM5
DENOM.
VELOCITA' Kbit/sec
EUROPEA
E1
E2
E3
E4
E5
N. CANALI
a 64 Kbit/sec
64
2.048
8.448
34.368
139.264
565.148
1
30
120
480
1920
7680
Il CCITT (oggi ITU-T) ha definito a suo tempo 6 livelli identificativi di altrettanti flussi con velocità
compresa fra 64 Kbit/sec e 565 Mbit/sec, strutturabili con un certo numero di canali per voce o per
dati.
Negli Stati Uniti ed in Giappone l’organizzazione dei livelli di multiplazione è leggermente diversa in
quanto il numero di canali a 64 Kbit/sec che costituiscono il flusso primario non è 30 ma 24: tale
flusso è chiamato T1 per distinguerlo dall’europeo E1.
Apparati di rete: Modulazione e multiplazione
l modem
Nello schema generale di una connessione sono presenti i tre elementi fondamentali, il DTE (Data
Terminal Equipment) il DCE (Data Communication Equipment) e la rete.
Lo schema può essere considerato valido per rappresentare qualunque connessione,
indipendentemente dalle scelte operate in fatto di dispositivi e reti.
Il DTE è generalmente costituito da un terminale, un personal computer, un server, un host.
Il DCE è l’adattatore per la connessione fra terminale (DTE) e la particolare rete che si intende
utilizzare. Uno dei DTE più diffusi è il modem.
33
Networking
Teoria
I modem sono dispositivi che rendono possibile il passaggio dei dati nella rete analogica PSTN. Il
principio che sta alla base del loro funzionamento è costituito dal processo di modulazione in cui i
dati costituiscono il segnale modulante (modem= MODulazione DEModulazione).
L’elemento differenziatore che ne definisce anche la principale prestazione è la velocità di
trasmissione: attualmente i modem per la rete analogica (chiamati modem in banda fonica)
possono raggiungere la velocità massima di 56 Kbit/sec (racc. V90). In realtà le velocità effettive
raggiungibili sono funzione della qualità del rilegamento di utente e delle centrali attraversate, che
spesso riducono notevolmente la prestazione teorica.
Il modem effettua anche altre operazioni studiate per migliorare le funzioni di connessione, come
la compressione dei dati (secondo lo standard V42) e il controllo dell’errore (V42 bis).
Con riferimento al modello OSI, le funzioni ed i protocolli implementati dai modem si collocano al
primo e secondo livello (fisico) della torre.
Vengono impropriamente chiamati modem anche i DCE per la connessione con reti digitali, come
per esempio, ISDN. In questi ultimi, tuttavia, non esiste lo stadio di modulazione, in quanto il
segnale mantiene sempre una struttura digitale.
La velocità di un modem per rete ISDN è tipica di 64 Kbit/sec. e, in tal caso, si tratta di una
velocità reale.
I collegamenti punto a punto che usano la rete PDH/SDH, che un tempo Telecom chiamava CDN
(Collegamenti Diretti Numerici), necessitano di appositi DCE che dipendono dalla velocità di linea
prescelta.
Le prestazioni sono coerenti con quelle offerte dal supporto di rete: le velocità disponibili per i
collegamenti numerici, oggi arrivano a 2 Mbit/sec, ma in breve tempo dovrebbero entrare nel
mercato velocità notevolmente superiori (144 Mbit e oltre).
E’ possibile effettuare connessioni punto a punto attraverso la rete Frame Relay con lo stesso
hardware (e opportuno software) che consente l’allacciamento alla rete ISDN.
TECNICHE DI MODULAZIONE
La rete PSTN non è adatta al trasferimento di segnali digitali, per cui è necessario utilizzare una
tecnica che consenta di trasformare i segnali digitali dei computer in segnali analogici. Tale
tecnica, simile a quella delle radiocomunicazioni, è la modulazione. Un segnale caratterizzato da
una frequenza prefissata viene impiegato come portante. I dati digitali costituiscono il segnale
modulante.
Un segnale analogico è caratterizzato da tre grandezze fondamentali:



34
Frequenza
Ampiezza
Fase
Networking
Teoria
La frequenza misura quante volte il segnale oscilla nell’unità di tempo e si misura in Hz: 1 Hz = 1
oscillazione al secondo.
L’ampiezza corrisponde al valore massimo raggiunto dalla tensione del segnale elettrico e si
misura in Volt.
La fase è il ritardo (o l’anticipo) del segnale rispetto al segnale di riferimento e si misura in gradi.
I metodi utilizzati per la modulazione prevedono la modifica di una delle tre grandezze di un
segnale analogico, o più di una.
Tali metodi sono:
·
Modulazione di Ampiezza (AM o ASK)
Molto sensibile all'attenuazione/amplificazione o ai disturbi, non fornisce un valido metodo
di trasmissione per lunghe distanze.
–
·
·
Modulazione di frequenza (FM o FSK)
– È più immune a distorsioni o disturbi, ma le caratteristiche del mezzo possono diminuire
eccessivamente le frequenze usabili. Solitamente è usato dai modem a bassa velocità.
Modulazione di Fase (PSK)
Molto resistente ai disturbi, può essere base per metodi di auto sincronismo (self-clocking).
–

Quadrature Amplitude Modulation (QAM)
- Modulazione di ampiezza di due portanti in quadratura, ma può essere considerato come
una modulazione contemporanea di fase e di ampiezza di una portante.
Viene usata per i modem a velocità da 9.600 a 19.200 bit/sec.
MULTIPLAZIONE
35
Networking
Teoria
HIGH-RATE DATA LINK
MUX
MUX
LOW SPEED DATA LINK
Il multiplatore è un dispositivo che consente l’impiego di una linea fisica a più di un collegamento
simultaneamente.
Esistono due tecnologie consolidate per i multiplexer: la più utilizzata oggi è la TDM (Time Division
Multiplexer), l’altra è la FDM (Frequency Division Multiplexer); una terza tecnologia, emergente,
impiegata con supporti in fibra ottica, è la WDM (Wavelenght Division Multiplexer).
Nei multiplexer TDM tutta la banda disponibile in linea viene assegnata, per piccoli intervalli di
tempo, a ciascun canale, ciclicamente.
Nei multiplexer a divisione di frequenza, invece, è la banda ad essere divisa fra i vari canali.
I multiplexer realizzano funzioni specifiche del primo livello (fisico) della torre ISO/OSI.
Le tecniche di Multiplexing permettono lo sfruttamento di un unico collegamento ad alta velocità da
parte di apparecchiature lente senza perdita di rendimento.
TDM
36
Networking
Teoria
Nella tecnica di multiplazione TDM, ad ogni utente a turno, viene assegnato un intervallo di tempo
nel quale è abilitato a trasmettere il suo messaggio avendo a disposizione tutta la capacità del
canale.
Caratteristiche:
·
i segnali possono essere solo digitali
·
i messaggi sono serializzati
·
esiste un unico canale.
Multiplazione numerica
La multiplazione numerica avviene bit per bit assegnando la banda sequenzialmente a ciascun
tributario senza tenere conto del framing, per cui è totalmente indipendente dai protocolli di livello
superiore. Nelle trasmissioni via satellite vengono usate anche tecniche di multiplazione word per
word e perfino trama per trama.
L’esigenza comune a tutte le tecniche è l’allineamento in frequenza e fase dei tributari all’ingresso
del multiplatore.
Esistono due tecniche di multiplazione: sincrona e asincrona.
37
Networking
Teoria
Multiplazione sincrona
Occorre che i tributari abbiano la stesa frequenza, per cui devono impiegare la stessa sorgente di
clock distribuita da un master multiplexer.
L’esempio illustra la multiplazione di 4 flussi primari in un flusso secondario di un sistema
PCM/TDM.
Multiplazione asincrona
E’ una tecnica più complessa ma anche più flessibile in quanto accetta tributari con frequenze
simili ma generate da clock indipendenti. Per la multiplazione si rende necessario un meccanismo
di sincronizzazione costituito dall’introduzione di impulsi di riempimento - pulse stuffing – fittizi nei
flussi tributari, fino a raggiungere, per tutti, l’esatta frequenza del clock di riferimento fornita dal
multiplexer.FREQUENCY DIVISION MULTIPLEXING
38
Networking
Teoria
nodi con un canale dedicato
Canali di
frequenza
diversa
unico
canale fisico
nodi che condividono uno stesso canale
Il sistema FDM è usato per suddividere un mezzo fisico in un insieme di canali indipendenti,
ciascuno caratterizzato da una particolare banda di frequenza.
·
La larghezza di banda disponibile viene infatti suddivisa fra i vari canali in modo da
permettere la trasmissione contemporanea di segnali indipendenti, ciascuno su un canale
diverso.
·
Esistono noti esempi dell'utilizzo di questa tecnica nelle reti telefoniche, televisive e
radiofoniche.
Caratteristiche:
·
i segnali possono essere solo analogici
·
i messaggi possono essere trasmessi simultaneamente in parallelo
·
esistono canali dedicati per ciascuna banda di frequenza
39
Networking
Teoria
Wavelenght DIVISION MULTIPLEXING
La tecnica WDM, impiegata all’inizio come metodo per sfruttare più convenientemente le fibre
installate, si dimostra potenzialmente molto efficiente per fornire soluzioni di networking avanzate,
flessibile al continuo sviluppo delle reti, contenendo i costi di produzione e di manutenzione degli
apparati.
Negli ultimi tempi l’esigenza di fornire infrastrutture più efficienti per il trasporto di pacchetti IP ha
portato a proporre soluzioni ad hoc denominate genericamente come "IP su WDM".
La rete pdh/sdh
Caratteristiche di una rete PDH (CDN):





Velocità da 2.400 bit/sec. a 2 Mbit/sec (ed oltre)
Alta affidabilità
Alti costi di esercizio
Connessioni Punto a Punto e Multipunto.
Organizzazione gerarchica conforme agli standard
dei flussi numerici PCM realizzzata mediante tecniche di multiplazione
TDM
La rete dei Circuiti Diretti Numerici (CDN), che è strutturata secondo lo standard PDH
(Plesiocronous Digital Hierachy), fornisce un servizio di circuiti diretti numerici ad alta affidabilità
a costi fissi e indipendenti dall’effettivo utilizzo. Le caratteristiche sono
La rete utilizza specifiche centrali numeriche, dette RED (ripartitori Elettronici Digitali), alle quali
sono affidati i compiti di gestione dei flussi numerici, la loro multiplazione e demultiplazione,
l’allineamento e la sincronizzazione.
ISDN (Integrated Services Digital Network)
ISDN costituisce l’evoluzione dei servizi voce e dati. E’ una rete con funzionamento e trattamento
del segnale completamente sotto forma digitale ed è in grado di fornire tutti i più avanzati servizi di
comunicazione.
Il contratto per l’accesso base al servizio (disponibile attualmente solo presso Telecom Italia)
comprende due canali a 64 Kbit/sec ciascuno, utilizzabili sia per fonia che per dati.
40
Networking
Teoria
Principali servizi:
 Comunicazioni in Fonia (voce)
 Fax gruppo IV

Sessione a pacchetto X25
 Video telefonia
 Identificazione chiamante
 Gruppo chiuso di utenti
Le tariffe dipendono dal tempo e dalla distanza e sono paragonabili a quelle della PSTN in
teleselezione.
Per l’allacciamento occorre un dispositivo per la terminazione della linea (NT = Network
Terminal) e apparecchiature dotate di interfaccia ISDN.
ISDN (Integrated System Digital Network) consiste in un insieme di reti interconnesse, ognuna
delle quali conserva il proprio funzionamento, e dove l'elemento comune, che identifica anche il
supporto alle comunicazioni è costituito da un insieme di protocolli, previsti dal modello di
riferimento OSI (raccomandazioni della serie I.xxx del CCITT), che consentono alle informazioni di
raggiungere la destinazione finale seguendo percorsi diversificati ed eterogenei. Qualunque
informazione come dati, immagini e suoni digitalizzati, può circolare nella rete alla velocità di 64
kbit/sec.
Evoluzione spontanea delle reti di comunicazione tradizionali quando la commutazione passa dalla
tecnologia elettromeccanica ed analogica ad elettronica e numerica, il sistema ISDN rappresenta il
livello massimo dell'integrazione e dell'efficienza quando anche i segnali da trasmettere assumono
la forma digitale. Rispetto ai sistemi analogici, le tecniche digitali offrono superiori prestazioni,
migliore efficienza, riduzione dei costi, maggiore affidabilità, ottimizzazione delle prestazioni.
Le modalità di ingresso alla rete ISDN prevedono solo due tipi di accesso: base e primario e il
punto di ingresso alla rete si trova in una centrale numerica del sistema telefonico generale della
PSTN opportunamente attrezzata con i necessari moduli di interfaccia e il software di controllo per
il protocollo.
41
Networking
Teoria
Fig.1
Per il collegamento fra la centrale e la sede di utente è sufficiente il normale doppino telefonico
(UTP: Unshielded Twisted Pair) per l'accesso base e due coppie per l'accesso primario. Il tipo di
cablaggio permette un rapido ed economico allacciamento degli utilizzatori alla rete ISDN, tuttavia
occorre tener presente che le centrali di commutazione telefonica, per espletare il servizio, devono
essere di tipo numerico, come sopra accennato, e situate ad una distanza non superiore a due-tre
chilometri dalla borchia di utente.
L'accesso base è costituito da due canali di tipo B, caratterizzati da una velocità di 64 Kbit/sec,
oltre ad un canale di servizio, identificato come canale D, in cui i dati viaggiano alla velocità di 16
Kbit/sec. Nell'accesso primario i canali di tipo B sono 30 ( anche se è possibile stipulare contratti
per un numero inferiore) oltre al canale D. Nell'accesso primario il canale D ha una velocità di 64
Kbit/sec come i canali di tipo B.
L'aspetto più significativo della rete ISDN è costituito dal fatto che, diversamente da quanto
avviene in tutte le altre reti, dove le segnalazioni di controllo seguono lo stesso percorso dei dati di
utente, esiste un canale dedicato alle informazioni di servizio e di segnalazione diverso da quello
utilizzato dai dati. Tutto quanto si riferisce alle modalità di instaurazione della connessione, la sua
gestione e, in chiusura, al suo abbattimento, così come le segnalazioni utili al controllo della
trasmissione, utilizza esclusivamente il canale D, mentre i canali B sono riservati al passaggio
delle informazioni dell'utente.
Le applicazioni.
Alla rete ISDN possiamo collegare qualsiasi apparecchiatura, dotata di interfaccia specifica per
BUS tipo "S" direttamente, oppure, tramite apposito adattatore (TA: Terminal Adaptor, v. fig.1). Le
prestazioni sono esaltate dalla velocità di 64 Kbit/sec utilizzabile per le comunicazioni.
42
Networking
Teoria
Il telefono digitale è il dispositivo più immediato, anche se non in grado di sfruttare
convenientemente le opportunità della rete ISDN. Si tratta di un telefono dotato di tastiera e display
a 2 righe per 20 caratteri, completo di convertitore analogico/digitale e digitale/analogico per la
conversione dei segnali e fornito di interfaccia ISDN su bus "S". E' possibile comunicare con
qualsiasi altro abbonato alla rete ISDN o alla PSTN e sono disponibili funzioni locali come la
ripetizione ultimo numero selezionato, con possibilità di verifica e eventuale correzione, rubrica
telefonica con selezione abbreviata, visualizzazione di durata della conversazione.
La voce viene digitalizzata e codificata nella banda fonica tipica (300-3400 Hz) di larghezza
3100 Hz secondo la regola specificata dalla legge A. Sono previste (ma non ancora disponibili)
anche codifiche relative ad ampiezze di banda superiori (7,1 kHz e 15 kHz).
Il videotelefono è l'applicazione che introduce una novità nel tradizionale collegamento voce. In
ISDN vengono usati entrambi i canali B per il trasporto del segnale audio e delle immagini.
Il telefax gruppo IV (raccomandazione T5 del CCITT) che può sfruttare la velocità di 64 Kbit/sec
con cui i tempi di trasmissione si riducono a meno di un quarto rispetto al fax gruppo III.
Trasmissione dati ad alta velocità : 64 Kbit/sec sui canali B singoli e 128 Kbit/sec utilizzando
entrambi i canali dell'accesso base in un unico flusso. Fino a 2048 bit non strutturati su accesso
primario.
Commutazione di pacchetto
Collegamenti con attraversamento di reti a commutazione di pacchetto (Itapac) per i quali è
stato preventivamente stipulato il relativo contratto per l'accesso. Il costo della sessione è
formato dalla somma delle tariffe vigenti nelle singole reti attraversate. E' possibile comunicare
con altri utenti di reti a commutazione di pacchetto come Itapac.
ADSL
Il servizio xDSL
La tecnologia Digital Subscriber Line (DSL) impiega la normale linea telefonica, costituita dal
doppino (UTP), per il trasporto di dati ad alta velocità.
Il termine xDSL identifica una famiglia di connessioni appartenenti alla stessa categoria
tecnologica quali: ADSL, SDSL (Symmetrical DSL), HDSL (High-bit rate DSL), RADSL (Rate
Adaptive DSL) e VDSL (Very-high-bit rate DSL).
Le linee xDSL sono dedicate in connessione punto a punto, tra utente e Carrier fornitore del
servizio, realizzate con doppino di rame in loop locale fra la centrale del Network Service Provider
e il sito utente ("last mile"), oppure su loop locali creati all'interno di intranet o cablaggi strutturati
interamente presso l'utilizzatore.
Asymmetric Digital Subscriber Line (ADSL)
La tecnologia ADSL è asimmetrica. La banda disponibile per il download (dal provider all'utente) è
maggiore di quella assegnata all'upload; è la situazione ideale per alcune applicazioni che sono
43
Networking
Teoria
caratterizzate proprio dall'asimmetria dei carichi come, ad esempio, la navigazione in Internet. Il
collegamento è sempre attivo, per cui non occorre effettuare la chiamata.
Le velocità previste per ADSL arrivano a 8,448 (6,1 in USA) Mbps in download, e a 640 kbps in
upload (vedi Figura). Attualmente sono disponibili linee ADSL 128/640 Kbps.
Caratteristiche di ADSL
Una connessione ADSL è formata da una linea UTP a ciascuna estremità della quale sono
allacciati adattatori per linea ADSL in grado di creare tre canali, due digitali ed uno analogico:
1. un canale digitale ad alta velocità per il download
2. un canale digitale a media velocità per l'upload (duplex)
3. un canale analogico telefonico standard per la fonia in banda base sezionato mediante filtri dai
due precedenti canali digitali in modo da garantire un funzionamento autonomo al servizio di
telefonia.
I due canali digitali possono essere demultiplati per creare più canali a velocità inferiore.
Gli adattatori per linee ADSL forniscono servizi conformi ai flussi numerici normalizzati secondo gli
standard PDH: T1 (per il Nord America = 1.544 Mbps) e E1 (per l'Europa = 2.048 Mbps.)
Le velocità massime raggiungibili per il download dipendono da vari fattori, come la lunghezza e
la qualità della linea, la presenza di segnali di disturbo e interferenze, ecc..
Velocità canale principale - downstream:
N x 2.048 kbps (N=2m)
Velocità canale duplex:
16, 64, 128, 256, 640 Kbps
44
Networking
Teoria
Con il metodo della cancellazione dì eco alla upstream viene assegnata una banda in parte
sovrapposta a quella riservata al downstream; la separazione delle due bande viene effettuata
dalla cancellazione d'eco, una tecnica utilizzata anche nei modem V32 e V34.
In entrambi i casi l' ADSL riserva una banda di 4 kHz per il servizio telefonico situata nella zona
delle basse frequenze.
Tecnologia ADSL
Per creare canali multipli, gli adattatori ADSL possono usare due tecniche per dividere in più canali
la banda disponibile di una linea telefonica:
1. FDM (frequency-division multiplexing)
2. Cancellazione d'eco.
La FDM assegna una banda per il canale dati in un senso (upstream) e un'altra banda per il
secondo canale dati (downstream).
Inoltre la banda riservata al downstream viene divisa con una tecnica TDM (time-division
multiplexing) in uno o più canali ad alta velocità ed anche la seconda banda (upstream), viene
divisa in uno o più canali a bassa velocità.
45
Networking
Teoria
46
Networking
Teoria
47
Networking
Teoria
I canali creati con le sopracitate tecniche vengono utilizzati per trasmettere blocchi di dati corredati
di procedure per la correzione d'errore.
Standard ed Enti per l' ADSL
L'ANSI (American National Standards Institute), con il gruppo di lavoro denominato T1E1.4, ha
approvato uno standard ADSL per velocità fino a 6.1 Mbps (ANSI Standard T1.413). L'europeo
ETSI (European Technical Standards Institute) ha fornito un contributo allegato al documento
T1.413 per le corrispondenze con la nromativa europea. Il T1.413 prevede una sola interfaccia per
terminale di linea.
Il gruppo T1E1.4 prevede di introdurre nello standard una interfaccia multiplexata ai terminali di
linea corredata dei necessari protocolli per la configurazione e la gestione. .
Il Forum ATM e il Digital Audio-Visual Council (DAVIC) hanno entrambi riconosciuto ADSL come
un protocollo di trasmissione fisico per UTP (physical-layer transmission protocol for UTP media)
(UTP = Unshielded Twisted Pair – doppino non schermato).
Il Forum ADSL è stato fondato nel Dicembre del 1994 con lo scopo di promuovere e diffondere
l'ADSL. Il forum ha più di 200 membri, rappresentanti di service providers, costruttori di
apparecchiature e di semiconduttori di tutto il mondo.
Sono allo studio le seguenti sezioni:
48
Networking
Teoria
•ATM over ADSL (incluso trasporto e aspetti architetturali end-to-end)
•Packet over ADSL (lavori già completati)
•CPE/CO (customer premises equipment/central office) - configurazioni e interfaccia
•Operatività
•Network management
•Testing e interoperabilità
49
Networking
Teoria
Frame Relay
Scenario
Frame Relay è un protocollo per WAN ad alte prestazioni che opera ai livelli fisico e data link del modello di
riferimento OSI.
Frame Relay originariamente fu progettato per essere usato con l'interfaccia dell'Integrated Services Digital
Network (ISDN) mentre oggi è usato anche in una certa varietà di altre interfacce di rete.
Frame Relay è un esempio di tecnologia a commutazione di pacchetto.
Le reti a commutazione di pacchetto abilitano le stazioni finali a condividere dinamicamente il mezzo e la
banda disponibile della rete.
Pacchetti a lunghezza variabile vengono impiegati per un trasferimento dati più flessibile ed efficiente. I
pacchetti sono commutati fra i vari segmenti di rete fino a raggiungere la destinazione.
In una rete a commutazione di pacchetto il controllo dell’accesso è gestito tramite tecniche di Statistical
multiplexing, che consentono di ottenere maggiore flessibilità ed efficienza nell’utilizzo della banda.
Frame Relay è una suite di protocolli di Layer 2, mentre, come abbiamo precedentemente illustrato, X.25
fornisce servizi anche al Layer 3 (livello di rete).
Questo è il motivo per cui Frame Relay offre prestazioni più evolute rispetto a X25 e diventa una soluzione
idonea per applicazioni WAN moderne, come ad esempio l’interconnessione fra LAN.
Le prime proposte per la standardizzazione di Frame Relay furono presentate al Consultative Committee on
International Telephone and Telegraph (CCITT) nel 1984, ma il vero sviluppo di Frame Relay è iniziato nel
1990 quando Cisco Systems, Digital Equipment, Northern Telecom e StrataCom formarono un consorzio per
lo sviluppo della tecnologia Frame Relay. Il consorzio sviluppò delle specifiche in conformità al protocollo
base del CCITT ma dotate di estensioni che aggiungevano migliori prestazioni.
Tali estensioni di Frame Relay sono denominate come Local Management Interface (LMI).
ANSI e CCITT hanno successivamente standardizzato proprie varianti dell’originale specifica LMI, che
attualmente sono più usate della versione originale.
In sede internazionale, Frame Relay è stato standardizzato dall’International Telecommunications Union Telecommunications Sector (ITU-T). Negli Stati Uniti, Frame Reali è uno standard dell’American National
Standards Institute (ANSI).
Considerato come l’erede dell’X25, il protocollo Frame Relay, è disponibile in Italia dal 1995, fornisce
connettività numerica su circuito virtuale permanente PaP e MP con tariffa dipendente
solo dal volume di traffico realmente sviluppato. Le linee sono le stesse di ISDN con
velocità che partono da 19.200 bit/sec per arrivare a 2 Mbit/sec.
Oltre a Telecom Italia, sono presenti sul mercato altri Carrier che offrono lo stesso servizio a prezzi
concorrenziali.
Dispositivi per Frame Relay
I DCE (data Communication Equipment) per Frame Relay sono interfaccia specifiche per internetworking
fornite dal carrier. Lo scopo del DCE è di fornire servizi di sincronizzazione e commutazione. Nella maggior
parte dei casi sono commutatori di pacchetto.
50
Networking
Teoria
Il tipo di DCE rappresentato nella precedente figura risiede presso il carrier
La connessione fra un DTE ed un DCE consiste di componenti appartenenti al livello fisico ed al livello di
link. Il componente fisico definisce le specifiche meccaniche, elettriche, funzionali e procedurali della
connessione fra i dispositivi. Una delle più frequentemente utilizzate come interfaccia di livello fisico è quella
definita dallo standard RS 232 (EIA).
I componenti del link-layer definiscono il protocollo che stabilisce la connessione tra il DTE ed il DCE. Il
livello di link è il livello specifico in cui opera Frame Relay.
Il Circuito Virtuale di Frame Relay
Frame Relay fornisce collegamenti connection-oriented al livello di data link. Ciò significa che viene definito
un collegamento fra una coppia di dispositivi e che le relative connessioni sono associate ad un identificatore
di connessione. Tale servizio è implementato con l’utilizzo di un circuito virtuale Frame Relay, che consiste in
una connessione logica creata fra due dispositivi DTE (data terminal equipment) attraverso una rete a
commutazione di pacchetto Frame Relay (packet-switched network = PSN).
Il Circuito Virtuale fornisce un percorso di comunicazione bidirezionale tra un DTE ed un altro ed è
univocamente identificato da un data-link connection identifier (DLCI). Un singolo circuito fisico può
contenere un certo numero di circuiti virtuali multiplexati.
I Circuiti Virtuali di Frame Relay possono essere di due categorie: Commutati (switched virtual circuit =
SVC) e Permanenti (permanent virtual circuit = PVC).
Switched Virtual Circuit (SVC)
I Circuiti Virtuali Commutati (SVC) sono connessioni temporanee usate in situazioni che richiedono solo data
transfer sporadico fra i DTE. Una sessione di comunicazione attraverso un SVC consiste di 4 fasi operative:
Call Setup: Viene stabilito un Circuito virtuale tra due DTE Frame Relay.
Data Transfer: I data vengono trasmessi fra i DTE sul circuito virtuale.
Attesa (Idle): La connessione fra DTE è ancora attiva, ma non vengono trasferiti dati. Se un SVC rimane in
uno stato di idle oltre un periodo di tempo predefinito, il collegamento viene terminato.
Call Termination: Il circuito virtuale fra DTE viene chiuso.
Dopo la chiusura del circuito virtuale, il DTE deve stabilire un nuovo SVC se ci sono altri dati da trasmettere.
Si suppone che un SVC venga stabilito, mantenuto e terminato utilizzando gli stessi protocolli di
51
Networking
Teoria
segnalazione usati in ISDN. Tuttavia sono pochi i costruttori di DCE per Frame Reali che supportano circuiti
virtuali commutati, per cui la presenza di SVC nelle attuali reti Frame Relay è minima.
Permanent virtual circuits (PVC)
I Circuiti Virtuali Permanenti (PVC) sono connessioni instaurate permanentemente che vengono usate per
frequenti e consistenti data transfer tra DTE in una rete Frame Relay. Una comunicazione attraverso un PVC
non richiede il call setup e il call termination necessari nei SVC. I PVC si trovano sempre in uno dei due stati
seguenti:
Data Transfer: Trasferimento data tra i due DTE nel virtual circuit.
Idle: La connessione fra DTE è attiva, ma non vengono trasmessi dati. Diversamente dal SVC, un PVC non
viene mai chiuso.
I DTE possono iniziare il trasferimento dati in qualsiasi momento dato che il circuito è sempre attivo.
Data-Link Connection Identifier (DLCI)
I circuiti virtuali in Frame Relay sono contrassegnati da identificatori di data-link (DLCIs). I valori per i DLCI
sono assegnati dal service provider di Frame Relay (per esempio, la Compagnia Telefonica). Il DLCI ha un
significato locale, cioè tale valore non è unico nella WAN Frame Relay. Due DTE connessi con un virtual
circuit, per esempio, possono utilizzare un valore differente per il DLCI per fare riferimento alla stessa
connessione. La figura illustrata come ad un singolo virtual circuit può essere assegnato un differente valore
di DLCI per ogni connessione.
Controllo Congestione
Frame Relay riduce il sovraccarico di rete implementando due semplici meccanismi di notifica della
congestione:
Forward-explicit congestion notification (FECN)
Backward-explicit congestion notification (BECN)
FECN e BECN sono rappresentati ciascuno da un singolo bit contenuto nella testata della trama. La testata
della trama di Frame Relay contiene anche un bit di Discard Eligibility (DE), che è usato per identificare il
traffico meno importante che potrebbe essere eliminato durante i periodi di congestione.
52
Networking
Teoria
Il bit di FECN fa parte del campo Address nella testata della trama. Il meccanismo di FECN inizia quando un
DTE invia trame Frame Relay nella rete. Se la rete è congestionata, il DCE (switches) pongono ad 1 il
valore del bit di FECN nella trama. Quando tale trama raggiunge il DTE di destinazione, il campo Address
(con il bit di FECN settato ad 1) indica che la frame ha incontrato congestione nel tratto dall’origine alla
destinazione. Il DTE può rinviare tale informazione ad un livello superiore perché venga elaborata. In
funzione dell’implementazione, può iniziare il controllo del flusso oppure l’indicazione può essere ignorata.
Il bit BECN fa parte del campo Address nella testata della trama in Frame Relay. Il DCE pone uguale ad 1 il
valore del bit di BECN nelle trame che transitano nella direzione opposta rispetto a quella delle trame che
hanno settato il loro bit di FECN. In tal modo il DTE ricevente viene informato che un certo tratto della rete è
congestionato. Analogamente a quanto esposto per il FECN, il DTE può rinviare tale informazione ad un
livello superiore perché venga elaborata. In funzione dell’implementazione, può iniziare il controllo del flusso
oppure l’indicazione può essere ignorata. Oggi, DECnet e OSI rappresentano le sole architetture che
prevedono l’implementazione di tali caratteristiche ai livelli superiori.
Discard Eligibility (DE)
Il bit di Discard Eligibility (DE) è usato per indicare che una trama ha un’importanza minore di altre. Anche il
bit di DE fa parte del campo Address nella testata di una trama Frame Relay. Quando una rete rischia la
congestione i DCE scarteranno per prime le trame che hanno settato il bit DE.
Error Checking
Frame Relay usa un meccanismo di controllo errore noto come Cyclic Redundancy Check (CRC). Il CRC
confronta due valori calcolati per verificare se c’è stato un errore durante la trasmissione fra origine e
destinazione. Frame Relay reduce il sovraccarico di rete implementando solo il rilevamento dell’errore e non
la sua correzione. Frame Relay è tipicamente realizzato su mezzi trasmissivi molto affidabili, per cui
l’integrità dei dati non risulta compromessa e la correzione di eventuali errori può essere rinviata ai livelli
superiori dei protocolli implementati sopra Frame Relay.
Local Management Interface (LMI)
Il Local Management Interface (LMI) è un gruppo di miglioramenti nella specifica di Frame Relay base. LMI è
stato sviluppato nel 1990 da Cisco Systems, StrataCom, Northern Telecom, e Digital Equipment Corporation
per offrire un certo numero di prestazioni (chiamate estensioni=extensions) per la gestione di reti complesse.
Le estensioni LMI includono indirizzamento globale, messaggi sullo stato dei virtual-circuit, e multicasting.
In particolare, l’estensione global addressing di LMI attribuisce al data-link connection identifier (DLCI) di
Frame Relay valori con significato globale invece che locale. Il DLCI diventa un indirizzo di DTE unico nella
WAN Frame Relay.
Implementazione di una rete Frame Relay
Le reti Frame Relay possono essere pubbliche o private.
Un’implementazione privata di rete Frame Relay consiste nell’equipaggiare una linea T1 multiplexata con
interfaccia Frame Relay e non Frame Relay. Il traffico Frame Relay viene inoltrato dall’interfaccia Frame
Relay sulla rete. Il traffico non-Frame Relay viene inoltrato verso la specifica applicazione o servizio, come
un centralino (private branch exchange = PBX) telefonico o applicazioni di video-teleconferenza.
Una tipica rete Frame Relay consiste in un certo numero di DTE, come router, multiplexer, collegati tramite
linee punto a punto di tipo T1 (USA) o E1 (Europa) strutturati o frazionati . La figura mostra una semplice
rete Frame Relay.
53
Networking
Teoria
54
Networking
Teoria
La maggioranza delle reti Frame Relay attualmente appartengono a service providers che offorno
ai clienti il servizio di trasmissione. Si tratta di reti Frame Relay pubbliche. Come sopra
accennato, Frame Relay può essere implementato in reti pubbliche o private, utilizzando
appropriate e specifiche metodologie.
Formati delle trame di Frame Relay
Per comprendere le funzionalità di Frame Relay è utile esaminare la struttura della trama.
Illustreremo il formato base standard e la versione LMI della trama Frame Relay.
Le Flag indicano l’inizio e la fine della trama. In una trama ci sono tre sezioni: L’area dell’indirizzo
(address area), la zona dei dati utente (user-data), e il campo per il controllo dell’errore (framecheck sequence = FCS).
L’address area, lunga 2 byte, è costituita da 10 bit rappresentanti l’identificatore di circuito e da 6
bit della zona riservata alla gestione della congestione. Tale identificatore è il data-link connection
identifier (DLCI).
Trama Standard di Frame Relay
Le trame di formato Standard di Frame Relay sono formate dai campi illustrati in figura.
55
Networking
Teoria
Il significato dei campi della figura precedente è:
Flag: Delimitano l’inizio e la fine della trama. Il valore della flag è sempre lo stesso ed è uguale
all’esadecimale 7E o al binario 01111110.
Address: Contiene le seguenti informazioni:
DLCI: Il campo a 10-bit del DLCI identifica la connesione virtuale fra il DTE e lo switch. Ogni
connessione virtuale multiplata nel canale fisico viene rappresentata da un DLCI unico. Il valore
del DLCI ha significato locale.
EA (Extended Address): Il bit EA serve ad indicare se il byte in cui il valore di EA è 1 è l’ultimo
campo di indirizzo: Se il valore è 1, allora il corrente byte è considerato l’ultimo ottetto del DLCI.
Nonostante che le attuali implementazioni di Frame Relay utilizzino tutte un DLCI a due byte, tale
potenzialità consentirà di usare, in futuro, valori più lunghi per i DLCI. L’ottavo bit di ogni byte del
campo Address è usato per indicare EA.
C/R: Il C/R è il bit che segue il byte più significativo del DLCI nel campo Address. Il bit C/R
attualmente non è definito.
Congestion Control: consiste di tre bit che servono al meccanismo di notifica della congestione:
sono i bit di FECN, BECN e DE, che sono i tre ultimi bit nel campo Address.
Data: Incapsula i dati provenienti dai livelli superiori PDU). In questa zona a lunghezza variabile,
ogni trama prevede un campo user data o payload che può arrivare ad una lunghezza massima di
16.000 ottetti.
Frame Check Sequence: Assicura l’integrità dei dati trasmessi. Tale valore è calcolato ed inserito
nella trama dal dispositivo mittente e verificato in ricezione dal destinatario con un calcolo analogo.
Formato della trama LMI
Le trame Frame Relay conformi alle specifiche LMI sono illustrate nella seguente figura:
56
Networking
Teoria
Significato dei campi:
Flag: Delimitano l’inizio e la fine della trama.
LMI DLCI: Identifica la trama come trama di tipo LMI invece che di tipo base. Il valore particolare
stabilito dal consorzio per questo campo è: DLCI = 1023.
Unnumbered Information Indicator: Pone a zero il bit poll/final.
Protocol Discriminator: Contiene sempre un valore che segnala che la trama è di tipo LMI.
Call Reference: Contiene sempre zero. Campo attualmente non utilizzato.
Message Type: Etichetta la frame come una dei seguenti tipi di frame-messaggio:
Status-inquiry message: Consente ad u dispositivo di utente di indagare sullo stato della rete.
Status message: Risponde ai messaggi di status-inquiry.
Information Elements: Contiene un numero variabile di elementi di informazione individuali (IEs).
Gli IEs sono formati dai seguenti campi:
IE Identifier: Identifica univocamente l’IE.
IE Length: Indica la lunghezza dell’IE.
Data: Consiste di uno o più byte contenenti dati incapsulati provenienti dai livelli superiori.
Frame Check Sequence (FCS): Garantisce l’integrità dei dati trasmessi.
ATM
Struttura di una rete ATM:
57
Networking
Teoria
RETE ATM
Interfaccia
UNI
Interfaccia
NNI
NC
NC
NC
L’Asyncronous Transfer Mode rappresenta l’ultima soluzione offerta per i
servizi di TLC ed impiega portanti in fibra ottica. Il funzionamento è basato
sulla commutazione di cella (= gruppo di 53 bytes) ed è stato studiato per
rispondere ad applicazioni di varia natura, comprese quelle multimediali. Le
velocità partono da 155 Mbit/sec e arrivano a superare 2 Gbit/sec.
Nella figura precedente sono riportati i due tipi di Interfaccia ed in nodi di commutazione di una rete
ATM:
58

NC: Nodi di commutazione ATM

NNI: Network to Network Interface

UNI: User to Network Interface
Networking
Teoria
6. RETI LAN: Mezzi trasmissivi e
cablaggio
Mezzi trasmissivi
I mezzi fisici tipicamente utilizzati per connettere i calcolatori in una LAN sono:
• mezzo elettrico;
• onde elettromagnetiche;
• mezzo ottico.
In realtà quello utilizzato nella maggior parte dei casi è il mezzo elettrico, nella fattispecie sotto
forma di coassiale grosso e sottile, o doppino. Le onde elettromagnetiche sono utilizzate in
situazioni particolari, ad esempio per permettere ad un utente di potersi spostare liberamente con il
suo elaboratore all'interno della struttura che ospita la LAN, senza però perdere o sospendere la
sua connessione.
Imezzi ottici, ossia fibre ottiche e laser, hanno la proprietà di permettere collegamenti alle velocità
di trasferimento più elevate, e di essere relativamente insensibili ai disturbi elettromagnetici. Per
questo motivo sono utilizzate per cablare delle parti di LAN che sono sottoposte a inquinamento
elettromagnetico notevole.
Cavo coassiale
Esistono due tipi di cavo coassiale:
• cavo coassiale spesso (thick ethernet);
Cavo coassiale spesso
è stato il primo mezzo trasmissivo utilizzato. Il segnale trasmesso è di tipo sbilanciato, con la
maglia esterna a massa. Le caratteristiche principali sono il costo elevato, la difficoltà di posare il
cavo con raggi di curvatura maggiori di 50 centimetri, un buon isolamento dal mondo esterno e dal
rumore elettromagnetico, e una bassa attenuazione. Il cavo viene posato senza interruzioni, il
collegamento tra il cavo e l'elaboratore è fatto con costosi transceiver. Questi si agganciano al
59
Networking
Teoria
cavo, e sono dotati a loro volta di un cavo di lunghezza massima pari a 50 metri che termina
collegandosi con l'elaboratore. Un vantaggio di questo mezzo trasmissivo è che l'utente non è in
grado di vedere il cavo, perciò è una soluzione affidabile. La lunghezza massima del cavo
coassiale è di 500 metri, mentre la distanza minima tra due transceiver è di 2.5 metri. Il cavo
coassiale spesso è poco usato a causa delle difficoltà di cablaggio.
• cavo coassiale sottile (thin ethernet);
Cavo coassiale sottile
è un cavo coassiale con segnale trasmesso di tipo sbilanciato e maglia esterna a massa. Le sue
principali caratteristiche sono flessibilità, quindi facilità di posa, ma un isolamento inferiore al
coassiale grosso. I transceiver vengono connessi tagliando il cavo e connettendo i due spezzoni
con una T, creando una struttura con ponticelli; l'attenuazione è maggiore del thick ethernet e
comporta una lunghezza massima del cavo pari a circa 200 metri, compresi i cavi di attacco alla
macchina, con distanza minima tra le stazioni 0.5 metri. In questo caso invece l'utente può
facilmente arrivare ai ponticelli aprendo il circuito e compromettendone il funzionamento, con
problemi di affidabilità.
Doppino ritorto
Il doppino viene utilizzato come mezzo trasmissivo in cavi formati da più doppini, chiamati coppie
simmetriche. Il segnale in questo caso è trasmesso in maniera bilanciata. Le sue caratteristiche
principali sono sia il basso costo che la facilità di posatura; ciò lo rende adatto ai cablaggi
strutturati, che hanno avuto enorme diffusione recentemente perchè migliorano i processi di
produzione, con migliore difesa dal rumore, migliore qualità dell'isolante, codifiche più efficienti.
Necessita di amplificatori che possano lavorare ad alte frequenze e rendere la trasmissione poco
sensibile al rumore elettromagnetico. Sono presenti problemi di diafonia tra le coppie di doppini
all'interno del cavo, questo problema però può essere risolto con schermature coppia per coppia.
Le possibili varianti per il doppino sono: UTP (Unshielded Twisted Pair) ossia non schermato, STP
(Shielded Twisted Pair) schermato coppia per coppia, e FTP (Foiled Twisted Pair), un solo
schermo per tutto il cavetto.
60
Networking
Teoria
Sezione del cavo con 4 UTP
Cavo con 4 UTP
Sezione del cavo con 4 FTP
61
Networking
Teoria
Cavo con 4 FTP
Fibra ottica
fibra ottica
tubetto di protezione
a - esempio di protezione lasca tramite tubetto.
nucleo
mantello
rivestimento primario
rivestimento secondario interno
ad alto modulo elastico
rivestimento secondario esterno
a basso modulo elastico
Nella fibra ottica, a differenza dei due mezzi trasmissivi precedenti, il segnale che si propaga è
costituito non da un'onda elettromagnetica ma da un fascio di luce. Per questo motivo i disturbi e le
interferenze dell'ambiente esterno non hanno nessun effetto su un segnale trasmesso su una fibra
ottica; tale mezzo risulta perciò particolarmente adatto per installazioni in ambienti di fabbrica.
La fibra ottica ha una struttura concentrica in cui le parti interne sono costituite da due strati di
vetro con differente indice di rifrazione, in modo tale che il fascio luminoso viaggia solo nello strato
62
Networking
Teoria
più interno (nucleo) e si riflette totalmente quando arriva a contatto dello strato più esterno
(mantello).
Questo evita a dispersione di luce e attenuazione del segnale.
Gli strati più esterni sono costituiti da vari tipi di rivestimento che servono sia per dare consistenza
alla fibra, sia per garantire un isolamento ottico totale dall'ambiente esterno.
STRUTTURA DEI CAVI A FIBRE OTTICHE
I cavi ottici raggruppano un insieme di più fibre. All'interno del cavo la fibra deve risultare
sufficientemente protetta da ogni eventuale sollecitazione derivante dalle condizioni cui il
cavo è sottoposto durante la posa e l'esercizio.
Il progetto della struttura dei cavi ottici è quindi basato sull'ottenimento di minime
sollecitazioni meccaniche per la fibra.
Le condizioni di equilibrio sono in genere ottenute mediante l'inserimento di materiali di
rinforzo (tondini di acciaio o di vetroresina o filamenti sintetici ad elevata resistenza
meccanica) aventi il compito di contrastare le sollecitazioni.
La fibra ottica è il materiale del futuro poiché presenta notevoli vantaggi:




la totale immunità dai disturbi e.m. . Non è infatti costituita da materiale conduttore;
larga banda di utilizzo. Si usa per TD ad alta velocità fino a 2 Gb/sec;
bassa attenuazione e diafonia assente;
dimensioni ridotte e costi contenuti.
Struttura di una fibra ottica
63
Networking
Teoria
Un cavo in fibra ottica è costituito dal core, dal cladding, da un rivestimento primario e dalla guaina
protettiva; il core è il nucleo, il cladding è il mantello. Hanno due indici di rifrazione diversi, il primo
è maggiore del secondo, affinché la luce rimanga confinata all'interno del core.
La fisica delle fibre ottiche è l'ottica geometrica. Molto importante è l'angolo rispetto l'asse del cavo
con cui i raggi luminosi vengono indirizzati all'interno del core. Esiste infatti un angolo massimo di
incidenza , detto angolo critico, al di sotto del quale i raggi vengono totalmente riflessi dal cladding
e rimangono, quindi, all'interno del core.
Fibra ottica: angolo massimo di incidenza
Si nota, inoltre, come per diversi angoli di incidenza aumenti il cammino del raggio luminoso
all'interno del core. Se la sorgente luminosa è puntiforme e se presenta raggi di differente
lunghezza d'onda (per es. una sorgente che emette nell'infrarosso), i raggi percorrono cammini
diversi (dispersione cromatica) e, a parità di tempo trascorso, avremo uno sfasamento dei raggi.
Le fibre ottiche che consentono a più raggi di entrare sono dette multimodo ed hanno una
dimensione di 50/125 o 62.5/125 micron.
Per ovviare a questo fatto, il brusco gradino dell'indice di rifrazione tra il cladding ed il core (FO
multimodo step-index) viene smorzato ed il core presenta un indice di rifrazione che, da un valore
massimo al centro, decresce fino al cladding (FO multimodo graded-index), facendo convergere i
raggi in alcuni punti ed eliminando la differenza di fase.
64
Networking
Teoria
Fibra ottica multimodo graded index
Questi problemi si eliminano del tutto se si utilizzano FO monomodali .
Il core in queste fibre è sottile per permettere l'entrata di un solo raggio luminoso proveniente,
però, non da un LED come le FO precedenti, ma da un LASER. La dimensione tipica di una FO
monomodale e` di 10/125 micron.
Un vantaggio sottovalutato delle fibre ottiche è l'impossibilità di intercettazione del segnale inviato
a causa, purtroppo, della difficoltà di giunzione e connettorizzazione.
In prossimità della lunghezza d'onda dell'infrarosso la fibra ottica presenta 3 finestre di
attenuazione ridotta che vengono utilizzate per la trasmissione del segnale luminoso
CONFRONTO FRA I MEZZI TRASMISSIVI
CARATTERISTICA DEL
MEZZO
TWISTED PAIR
CAVO COASSIALE
FIBRA OTTICA
Banda passante
1 - 20 Mhz
500 Mhz ¸ 5 Ghz
1 Ghz ¸ 1000 Ghz
Tasso di errore
10-5 ¸ 10-6
10-6 ¸ 10-7
10-10 ¸ 10-12
Distanza massima senza
ripetitori
500 m
500 m
200 km
Costo del mezzo
basso
medio basso
medio
Isolamento I/O completo
no
no
sì
Possibilità di corto ciruiciti
sì
sì
no
medio
alto
basso
Dimensione e Peso
Dispositivi di Comuniczione su teri LAN
Repeater
ll Repeater è il primo dispositivo di comunicazione su reti LAN.
Connette due segmenti di cavo:
 usato nei coassiali per aumentare le distanze
 su doppino e fibra per ottenere topologie stellari
Il Repeater lavora unicamente sul livello fisico, non indirizzabile dalla LAN:
 Legge segnale su un cavo
 Amplifica e rigenera il segnale
 Lo trasmette sull’altro cavo (sugli altri cavi)
I computer non sono coscienti dell’esistenza dei repeater nella rete.
65
Networking
Teoria
Bridge
I Bridge eseguono la commutazione a livello Collegamento.
A livello Collegamento ogni scheda ha un indirizzo fisico (MAC Address) di 48 bit, unico al mondo:
esso è composto da un codice del costruttore (stabilito dall’ISO) di 24 bit e da un numero seriale
assegnato dal costruttore.
I bridge eseguono la commutazione sulla base di questi indirizzi.
Le stazioni non sono coscienti della presenza dei bridge nella rete: la rete è unica, come con i
repeater.
La banda teorica della LAN è condivisa: ciò significa che le collisioni sono inevitabili, ma fanno
diminuire la banda.
Quando il traffico è elevato, vi è un sensibile degrado delle prestazioni.
A differenza del Repeater il Bridge, non ripete pedestremente il segnale, ma legge l’indirizzo di
destinazione ed instrada solo se la destinazione è all’altro lato del bridge.
Tre sono le funzioni maggiori di un bridge:
 Learning: imparare gli indirizzi dal traffico in rete (si memorizza i MAC Address e li associa
a ciascuna porta, costruendosi una tabella di instradamento).
 Forwarding/filtering delle trame: lascia passare le trame soltanto se il destinatario è
dall’altra parte, altrimenti le blocca; il traffico multicast e broadcast è sempre fatto passare,
ciò assicura che la rete sia unica.
Loop avoidance: evita i loop. E’ possibile costruire con i bridge percorsi magliati a scopo di faulttolerance. L’Ethernet però non permette magliature. Un apposito standard IEEE 802.1d, noto
anche come STA - Spanning Tree Angorithm, stabilisce un protocollo di dialogo attraverso cui i
bridge negoziano tra di loro quali sono attivi e quali sono in stand-by, pronti ad intervenire in caso
di guasto
Vantaggi del Bridge:
 Il bridge trasmette con modalità store and forward, e ciò permette di:
o Superare il limite dei 4 repeater in cascata
o Superare i limiti di distanza
 Il bridge filtra i pacchetti e perciò:
o Aumenta la larghezza di banda disponibile
o Si possono scartare pacchetti errati o collisi
 Passano pacchetti broadcast
o La rete è unica
Limiti del Bridge:
 Limiti di velocità e di transito:
o ciascun bridge introduce un ritardo a causa dello store and forward (bridging delay)
che rallenta l’efficienza di trasferimento
 Complessità della rete
o occorre analizzare i colli di bottiglia
 A volte sono inutili, anzi dannosi
o Per esempio il bridge di figura è ben progettato, perché il traffico maggiore è
separabile in due parti (ciascun gruppo accede al proprio server), ma se i server
fossero riuniti dallo stesso lato non avremmo vantaggi, anzi svantaggi.
Switch
Uno switch può essere definito un bridge multiporta.
Come un bridge, possiede una tabella in cui associa ad ogni porta i MAC Address che ha rilevato
su quella porta.
66
Networking
Teoria
La rete Ethernet è perciò suddivisa in tanti segmenti (domini di collisione) quante sono le porte
(micro-segmentazione); ciascun micro-segmento ha a disposizione una intera banda di 10Mbit/s.
In teoria sono possibili N/2 comunicazioni simultanee, dove N è il numero di porte. Il throughput
teorico totale attraverso di esso è di (10 Mbit/s x N/2).
Vantaggi dello switch:
 Offre connessione fisica come un hub
 Attua principalmente come un Bridge
 Offre alta densità di porte
 Minimizza i ritardi (latenza)
 Crea una segmentazione multipla della rete (piccoli domini di collisione)
 Moltiplica la banda aggregata (10*N/2 Mbit/s)
 E’ fondamentalmente un dispositivo plug-and-play: di base non richiede configurazione e
può sostituire gli hub progressivamente (consente percorsi di migrazione e salvaguardia
degli investimenti)
 Ideale per l’ambiente client/server
 Architettura scalabile
 Non richiede cambi tecnologici
Modernamente si realizzano reti di soli switch, in cui la micro-segmentazione è spinta ad un
computer solo per porta; esistono switch a 10 Mbit/s, ma i più diffusi sono ormai quelli con porte
10/100 auto-sensing, ed eventuali porte Gigabit Ethernet per le dorsali e super-server.
IL CABLAGGIO STRUTTURATO
Definizioni
Il cablaggio strutturato risponde all’esigenza di proporre una soluzione integrata e globale in grado
di soddisfare tutte le richieste di comunicazione presenti in un’azienda in un’ottica di investimenti a
lungo termine.
Le caratteristiche fondamentali che il cablaggio strutturato deve possedere sono:









Supporto di LAN
Fonia analogica e digitale
Segnalazione di allarmi
Controlli distribuiti
Trasporto di immagini e informazioni MM
Rilevamento presenze
Flessibilità architetturale
Certificazione delle caratteristiche funzionali
Rispondenza alle normative di riferimento standard
Gli standard di riferimento per il cablaggio strutturato definiscono:

67
Le modalità e i metodi di cablaggio
Networking
Teoria




Le caratteristiche dei mezzi trasmissivi
Le topologie, gli adattamenti fra topologie diverse, le distanze massime
ammesse
Le regole di installazione
La documentazione
In questi ultimi anni è nata l'esigenza di progettare una rete di calcolatori nel momento in cui si
progetta la costruzione dell'edificio in cui sorgerà l'azienda stessa. Infatti, progettare una rete di
elaborazione dati ad edificio realizzato, presenta problematiche non sempre risolvibili nel migliore
dei modi ma sicuramente evitabili se l'evoluzione della rete segue di pari passo quella dell'edificio,
proprio come progettare l'impianto idraulico od elettrico.
Nel 1985 l'Associazione delle Industrie Elettroniche si assunse il compito di sviluppare uno
standard per regolamentare il cablaggio strutturato degli edifici, cioè l'impiantistica standard di una
rete di trasmissione dati, chiamato EIA/TIA 568. Nel luglio '91 l'ANSI lo ratifica per gli Stati Uniti.
Esiste, inoltre, un'altra proposta di cablaggio standard, l'ISO/IEC 11801, non ancora approvata, ma
che sta suscitando un notevole interesse.
Oggi sul mercato esistono diversi sistemi di cablaggio, alcuni proprietari come il Cablying System
IBM e il DECconnect Digital, altri varianti dei sopracitati standard. Questi ultimi si dividono un due
famiglie:
 sistemi di derivazione dati basati sulla permutazione effettuata dai connettori RJ45. I principali
sono IBM ACS, Digital OPEN DECconnect, AMP ACO (Utilizzato al Dipartimento di Fisica)
 sistemi di derivazione dati basati sulla permutazione telefonica, come: AT&T PDS e Trucco
SCP.
Il sistema di cablaggio IBM.
Il sistema di cablaggio IBM, introdotto alla metà degli anni ’80 ed in seguito, in gran parte
modificato, diventato ACS (Advanced Connectivity System), definisce i seguenti componenti:




Tipo dei cavi
Tipo dei connettori per i cavi
Tipo e caratteristiche delle morsettiere
Tipo e caratteristiche degli armadi di distribuzione
Cavi
La topologia di cablaggio è tradizionalmente stellare, tuttavia, agendo sull’armadio di distribuzione,
è possibile ricostruire un’architettura a BUS o a RING. Per la T.D. viene impiegato il cavo:
68
Networking
Teoria
tipo 1 (ideato per la rete Token Ring) consistente in un STP a 150 ohm dotato di due coppie
individualmente schermate.
Per la fonia viene usato il cavo:
tipo 2 (il tipo 1 non è idoneo per il basso numero di coppie e per l’impedenza diversa) che è
formato da un cavo tipo 1 unito a quattro coppie a 100 ohm.
Per l’ACS è previsto l’uso del cavo UTP e FTP, anche se è preferito il secondo, in categoria 5 a
100 ohm e 24 AWG.
Connettori per i cavi
Sui pannelli di permutazione e sulle placchette utente è usato un connettore ermafrodita
(mas/fem). I cavi di adattamento, che possono contenere un balun, sono dotati di connettori idonei
a collegare fra loro tipi di cavo diversi.
Morsettiere ed armadi
Gli armadi di permutazione sono costruiti, nel sistema ACS, mediante pannelli modulari contenenti
ciascuno fino a 48 connettori femmina RJ-45.
Cablaggio in categoria 5
Il primo standard per sistemi di cablaggio relativi ad edifici commerciali ad imporsi sul mercato è
stato definito in America ed è noto come EIA/TIA 568. (EIA = Electronic Industries Association. TIA
= Telecommunication Industries Association).
E’ applicabile ad un edificio o gruppo di edifici con i seguenti limiti:



50.000 persone
3.000 m di massima estensione geografica
1.000.000 m2 superficie massima complessiva
Le specifiche definiscono anche caratteristiche e valori per le seguenti sezioni:
La topologia: stellare con gerarchia ad albero.
Al centro stella (Main Crossconnect) sono collegati i concentratori periferici intermedi
(intermediate Crossconnect) ai quali fanno capo gli armadi di piano
(Telecommunication Closet).
69
Networking
Teoria
Elementi di cablaggio:
Main Crossconnect: permutatore principale. E’ l’armadio (a volte un intero locale) di
distribuzione principale, che raccoglie le varie dorsali e le linee uscenti dal
comprensorio (campus).
Intermediate Crossconnect: Armadio di edificio. Raccoglie le utenze di un solo edificio o
dominio, collegato al principale con una dorsale. Se il comprensorio è
costituito da un solo edificio, questo diviene.
Telecommunication Closet: Armadio di piano.
Interbuilding Backbone: Dorsali che collegano gli Intermediate Crossconnect
con il principale.
Intrabuilding Backbone: Dorsale che collega gli armadi di piano (TC) con gli
IC.
Equipement room: Locale tecnologico che contiene il Main Corssconnect.
Interbuilding Entrance Facility: Infrastrutture per la protezione e la
connessione dei cavi in ingresso della ER.
Transition Point: Connessione fra cavo UTP e cavo piatto nel cablaggio
orizzontale.
Work Area: Posto di lavoro o utenza.
Patch Panel: pannello di permutazione contenente Patch Cord.
Telecommunication Outlet: Presa utente singola o multipla.
Adapter: Adattatori passivi e attivi per i cavi (es.: balun)
Mezzi trasmissivi:




70
UTP a 4 coppie e multicoppia a 25 coppie, 24 AWG, 100 , cat.
3,4 o 5.
STP a 150  - tipo 1 IBM
Coax 50 : RG 123 (cavo giallo Ethernet), RG 58 (thin)
F.O. multimodali 62,5-125 m
Networking
Teoria
Dorsali:
I cavi utilizzabili sono:




F.O. MM
Coax 50  (Thick) terminato con connettori tipo N
Multicoppia 100 
STP a 150 
La lunghezza delle dorsali dipende dal mezzo impiegato:
Cavo
Tratto TC-MC
Tratto TC-IC
Tratto IC-MC
UTP
800 m
500 m
300 m
STP
700 m
500 m
700 m
COAX
500 m
500 m
500 m
F.O.
2000 m
500 m
1500 m
Cablaggio orizzontale:
Collega, in topologia stellare, all’armadio di piano i vari posti di lavoro. I seguenti servizi devono
essere supportati:




Fonia
T.D. seriale
T.D. per LAN
Trasmissione di segnalazione e controlli.
Distanze massime:

Armadio di piano (TC) – Placchetta utente: 90 m

Placchetta – Stazione: 3 m
Cavi utilizzabili:




71
F.O. MM
Coax 50  (Thin) terminato con connettori tipo
BNC
UTP a 4 coppie 100 
STP a 2 coppie 150 
Networking
Teoria
Le placchette utente prevedono 2 connettori di cui uno deve essere un connettore RJ-45
con 4 coppie cablate di UTP cat.3 o superiore. E’ anche possibile usare un connettore a T
per RJ-45.
Norme di installazione:
Cavi UTP:


Tensione massima dei cavi: 11,3 Kg
Raggio di curvatura min.: 1” per cat.3
8xdiametro est.del cavo cat.4,5

Misura cavo non ritorto su terminazioni: 1” per cat.4
13 mm. per cat.5





Divieto di passaggio sotto moquette di ambienti umidi o non idonei
Pavimentazione modulare a riquadri mobili
Divieto di incrocio con cavi di potenza passanti sotto moquette
Distanza minima da cavi paralleli di potenza: 152 mm.
Messa a terra obbligatoria per cavi schermati e F.O. con rivestimento
metallico
Osservanza delle leggi anti infortunistiche e delle norme sulla sicurezza
vigenti nel Paese.

Identificazione dei cavi:
Dorsali:


Identificatore cavo
Numero di coppie o fibre contenute
Cavo utente/posto di lavoro:




Es.:
E102019C
Identificatore di edificio
Identificatore di piano dell’edificio
Identificatore (tre car.) del posto di lavoro
Identificatore di armadio di piano a cui è connesso
dove:
E1 : edificio 1
02 : secondo piano
019: numero utente
C : identificatore armadio
72
Networking
Teoria
Documentazione:
La documentazione deve essere redatta utilizzando la simbologia standard e deve comprendere:




Il disegno riepilogativo dell’intero comprensorio realizzato ai fini logici e
topologici
Lo schema di cablaggio di ogni edificio con l’individuazione degli armadi
Una tabella per le dorsali con l’identificazione di tutti i cavi o fibre, l’ubicazione e
l’identificazione dei due armadi di estremità
Una tabella per ogni armadio completa di identificatori di connessione con le
dorsali e i posti di lavoro. Per ogni armadio deve essere redatta la tabella delle
permutazioni per consentire la ricostruzione dell’intero percorso dei cavi. Infine
devono essere indicati i cavi ed il loro eventuale utilizzo.
Simbologia:
Permutatore (Cross Connect)
Terminazione meccanica
(blocco di permutazione)
S
Stazione



73
Placchetta utente
(Telecommunication outlet)
Derivatore (Splice)
Networking
Teoria
Sigle:
MC: Main Cross Connect (centro stella di comprensorio)
IC : Intermediate Cross Connect (centro stella di edificio)
ER: Equipment Room (Locale tecnologico)
EF: Entrance Facility ( dispositivi di ingresso dei cavi su MC)
TC: Telecommunication Closet (Armadio di piano)
WA: Work Area (punto di utenza)
Tipi di connettori:
Sono ammessi i seguenti connettori:






74
RJ-45 per UTP a 4 coppie
Ermafrodita (IBM) per STP a due coppie
N per coassiali di dorsale
BNC per coax di cablaggio orizzontale
ST per fibra ottica
Derivatori per fibra con attenuazione max di 0,3 dB
Networking
Teoria
7. RETI LAN: Modelli correnti e
standard
Le reti locali ed lo standard IEEE 802
Una rete locale (LAN) può essere definita come un'infrastruttura di telecomunicazioni che
consente ad apparati indipendenti di comunicare in un'area limitata attraverso un canale fisico
condiviso ad elevata bit-rate e con bassi tassi di errore.
Quindi, se si parla di reti locali, si intendono reti caratterizzate da estensione geografica limitata,
dell'ordine di qualche chilometro al massimo, velocità di trasmissione (bit-rate) medio-alta,
compresa tra 10-1000 Mbps (associata ad una bassa probabilità di errore per bit) e costi
relativamente bassi. L'esigenza di contenere i costi porta alla scelta di topologie di rete molto
semplici (a bus o ad anello), e a un utilizzo condiviso delle risorse trasmissive. L'utilizzo condiviso
del mezzo trasmissivo è stato preferito ad un utilizzo esclusivo del mezzo anche per un'altra
ragione. L'utente di LAN per la maggior parte del tempo non accede al mezzo trasmissivo, ma
quando vi accede richiede delle prestazioni elevate. Se il mezzo fosse suddiviso in un numero di
parti pari agli utenti che vi partecipano e ciascuna parte assegnata staticamente ed
esclusivamente ad ogni utente, la velocità trasmissiva sarebbe notevolmente inferiore. Inoltre, i
terminali interconnessi tramite una rete locale sono tipicamente indipendenti e tutti uguali tra loro,
nel senso che non ce n'è uno che debba svolgere funzioni diverse dagli altri per il corretto
funzionamento della LAN stessa, o che abbia diritto più degli altri all'utilizzo del mezzo condiviso.
A causa delle caratteristiche peculiari delle LAN, che ne fanno uno strumento utilissimo all'interno
di uffici, fabbriche e laboratori, diversi produttori di macchine da ufficio in passato hanno proposto
numerose soluzioni proprietarie per interconnettere apparati in un'area limitata. La necessità, poi,
di regolamentare ed unificare tutte queste soluzioni ha portato allo sviluppo di veri e propri
standard internazionali che definiscono in maniera precisa le caratteristiche tecniche di diversi tipi
di LAN, derivandole comunque dai migliori e più diffusi prodotti commerciali.
In particolare l'organizzazione internazionale denominata IEEE (Institute of Electrical and
Electronics Engineers) ha sviluppato una serie di standard per le LAN attraverso il progetto IEEE
802, che si inquadra nei primi due strati del modello ISO-OSI: esso standardizza quindi strato fisico
e strato di collegamento di diversi tipi di LAN. Proprio a causa del numero di problematiche
eterogenee affrontate dallo standard IEEE 802, esso è stato suddiviso in diversi documenti
(emanati dai relativi gruppi di lavoro in cui è suddiviso il comitato IEEE 802), i più importanti dei
quali sono:
75
Networking
Teoria
• 802.1 - introduce l'insieme degli standard e definisce l'architettura del modello 802;
• 802.2 - standardizza il livello più alto chiamato Logical Link Control;
• 802.3 - standardizza il protocollo CSMA/CD, noto anche come Ethernet;
• 802.4 - standardizza il protocollo Token Bus;
• 802.5 - standardizza il protocollo Token Ring;
• 802.11 - standardizza un protocollo per reti locali via radio (wireless LAN).
Topologie LAN
Topologia a bus
Richiede un mezzo trasmissivo bidirezionale, che ammetta cioè la propagazione del segnale in
entrambe le direzioni. La trasmissione è di tipo broadcast, quindi quando una macchina trasmette,
tutte le altre ricevono il segnale. I sistemi collegati al bus non si devono preoccupare di ripetere il
segnale o di effettuare instradamento, in quanto tutti i calcolatori sono direttamente raggiungibili.
La contropartita è che, essendo il mezzo trasmissivo fisicamente condiviso da tutte le stazioni,
esso risulta soggetto a collisioni quando più macchine vogliono trasmettere contemporaneamente.
I bus vengono realizzati tipicamente con cavo coassiale a 10 Mb/s.
Topologia a bus
Topologia a stella
La stella si realizza collegando ogni macchina al centro stella attraverso un collegamento puntopunto, utilizzando tipicamente doppino ritorto o fibra ottica, a seconda della distanza da coprire. Il
centro stella può operare in modo attivo realizzando una vera funzione di commutazione, oppure
in modo passivo limitandosi a ripetere il segnale che riceve su tutte le altre interfacce di
comunicazione. La soluzione a stella passiva assicura di per sé una trasmissione di tipo
broadcast. D'altra parte la soluzione a stella attiva, permettendo il collegamento commutato fra
stazioni, migliora l'efficienza del sistema.
76
Networking
Teoria
Topologia a stella
Protocolli e standard di LAN
IEEE 802.3 - CSMA/CD (Ethernet)
Nel documento IEEE 802.3 è standardizzato il sottolivello MAC di una rete locale basata sul
protocollo Carrier Sense Multiple Access with Collision Detection (CSMA/CD).
La topologia a bus adottata nell'802.3
La topologia adottata da questo protocollo è quella a bus, realizzato tipicamente con cavo
coassiale a 10 Mb/s. CSMA/CD è un protocollo distribuito privo di master, quindi operante in
modo paritario su tutte le macchine della LAN, che permette alle stazioni di condividere l'utilizzo
del mezzo trasmissivo. Il protocollo, essendo di tipo ad accesso casuale al mezzo, non esclude il
verificarsi di collisioni; prevede quindi un meccanismo di riconoscimento delle collisioni da parte
delle stazioni coinvolte, in modo che esse possano ritentare la trasmissione in un tempo
successivo. Con questo approccio, comunque non è possibile evitare il fenomeno delle collisioni
per via dei tempi di propagazione non nulli e della lunghezza delle trame trasmesse.
Lo standard 802.3 proposto da IEEE è l'evoluzione di una soluzione per reti locali proposta nei
primi anni '80 da un consorzio formato da Digital, Intel e Xerox, chiamata Ethernet. Le differenze
tra i due standard sono talmente minime da renderli compatibili: su una stessa rete locale ci
possono essere contemporaneamente alcune macchine che implementano l'802.3 ed altre che
usano Ethernet.
77
Networking
Teoria
Evoluzione di Ethernet
La rete locale di tipo Ethernet (o 802.3) ha avuto un notevole successo commerciale nell'ambito
dell'automazione d'ufficio, tale da renderla la rete locale per antonomasia e da farne oggetto di
continui miglioramenti ed evoluzioni. Un cambiamento importante è avvenuto nel tipo di mezzo
trasmissivo utilizzato: dal cavo coassiale, delicato e soggetto a rotture, si è passati all'utilizzo del
più robusto ed economico doppino telefonico, che nella sua forma più evoluta presenta una
larghezza di banda molto maggiore, tale da permettere velocità di trasmissione di 100 Mb/s (Fast
Ethernet). Inoltre, a differenza del coassiale, non essendo il doppino adatto alla realizzazione di
un bus, è stata necessaria anche un'evoluzione della topologia fisica di Ethernet: il bus collassa in
un apparato chiamato hub al quale le stazioni sono connesse tramite collegamenti punto-punto
realizzati con doppini, il tutto a formare una topologia a stella di cui l'hub rappresenta il centro.
L'hub è quindi un dispositivo multiporta che agisce solo allo strato 1 ripetendo il segnale
proveniente da una porta su tutte le altre: esso in pratica simula il mezzo trasmissivo condiviso tra
più stazioni.
Stazioni connesse ad un hub secondo la topologia a stella adottata da Ethernet
Fattori come la coesistenza di tecnologie diverse, le prestazione limitate in caso di molti utenti e/o
di elevato traffico, la ridotta estensione geografica specialmente nel caso di LAN ad alte velocità,
hanno comportato la scelta di suddividere una LAN in più parti e interconnetterla con i dispositivi
appositamente progettati che dialogano a livello MAC e che prendono il nome di bridge.
Inizialmente i bridge si limitavano a interconnettere due LAN, successivamente l'evoluzione della
topologia da bus a stella ha favorito l'adozione di bridge multiporta come centro stella, che
diventano dei veri e propri commutatori (switch). Fra le stazioni direttamente connesse ad uno
78
Networking
Teoria
switch non esiste più la condivisione del mezzo e lo switch si comporta come un commutatore tra
stazione sorgente e stazione ricevente.
Ulteriori evoluzioni hanno portato ad una versione di Ethernet a 1 Gb/s (Gigabit Ethernet), già
disponibile sul mercato, e ad un'altra a 10 Gb/s, ancora in fase di sviluppo e basata su
collegamenti in fibra ottica.
Domini di collisione
In una rete Ethernet si definisce dominio di collisione l'insieme delle stazioni che condividono lo
stesso mezzo trasmissivo e che quindi possono fra loro collidere in fase di trasmissione. Ad
esempio, l'insieme delle stazioni connesse al medesimo spezzone di cavo coassiale oppure allo
stesso hub formano un dominio di collisione. Alle porte dello switch possono essere connessi
degli hub, realizzando in questo modo un'architettura a stella gerarchica, in cui si mantengono
separati i domini di collisione.
Uno switch risulta più efficiente di un hub perché isola il traffico locale a ciascuna porta: le stazioni
connesse direttamente allo switch vedranno solo il traffico broadcast e quello diretto a loro stesse,
migliorando così l'utilizzazione del mezzo trasmissivo.
Topologia a stella gerarchica utilizzata da Ethernet
IEEE 802.11 - Wireless LAN
Nel documento IEEE 802.11 è standardizzato il sottolivello MAC di una rete locale senza fili
(Wireless LAN). Questo protocollo nasce dall'esigenza di offrire connettività mobile agli
elaboratori, cioè dalla necessità di avere una rete locale che copra un'area più o meno limitata in
cui la connessione dei computer sia realizzata tramite il mezzo radio, superando quindi le
limitazioni di mobilità tipicamente causate dal cablaggio.
Lo strato fisico definito nel documento IEEE 802.11 prevede attualmente tre sistemi di
trasmissione:
79
Networking
Teoria
• Infrarosso: con velocità di 1 o 2 Mb/s su una lunghezza d'onda tra gli 850 ed i 950 nm;
• Spread Spectrum Frequency Hopping: con velocità di 1 o 2 Mb/s sulla banda a 2.4 GHz;
• Spread Spectrum Direct Sequenze: con 7 canali da 1 o 2 Mb/s sulla banda a 2.4 GHz;
Per la definizione delle problematiche di accesso al mezzo il MAC 802.11 propone duesoluzioni
possibili:
• una basata su un meccanismo di controllo dell'accesso di tipo distribuito, chiamato Carrier
Sense Multiple Access with Collision Avoidance (CSMA/CA), che funziona attraverso un
sistema di rilevazione della portante simile al CSMA/CD ma che prevede la conferma di ogni
trama ricevuta correttamente per sapere se c'è stata o meno collisione;
• un'altra che utilizza un meccanismo di tipo centralizzato in base al quale l'arbitraggio è
comandato da un gestore centrale. La versione distribuita dimostra particolare efficienza nella
gestione di stazioni che colloquiano direttamente oppure in presenza di traffico con caratteristiche
impulsive. Un protocollo di tipo centralizzato, invece, si applica tipicamente quando le stazioni
wireless comunicano fra loro tramite una stazione base interconnessa ad una LAN cablata e si
scambiano dati sensibili al ritardo e di alta priorità.
80
Networking
Teoria
8. Connessione di LAN tramite WAN
Anche se la principale esigenza di un gruppo di utenti collegati mediante una LAN è colloquiare tra
loro e condividere dati locali, sempre più sentita è la necessità di comunicare con altri utenti
all'esterno della propria area ed accedere a dati di interesse più generale (p.e. banche dati centrali
dell'azienda o fonti di informazioni pubbliche).
Per questo motivo le tecniche ed i dispositivi di interconnessione stanno acquistando una
importanza sempre maggiore.
B
P
Q
A
C
SottoRete 1
D
SottoRete 2
Percorso 1
Router
W
S
Router
E
Percorso 2
SottoRete 3
F
H
L
Router
SottoRete 4
R
V
Percorsi multipli tra due utenti finali gestiti grazie all'interconnessione tra router
ROUTER
Il router, a differenza del bridge, è in grado di controllare collegamenti multipli poiché è dotato di
una logica decisionale che gli permette di effettuare l'instradamento di un messaggio.
Il messaggio inviato dal nodo B (mittente) al nodo R (destinatario finale) sarà intercettato dal router
D (destinatario intermedio), il quale conoscendo l'esatta topologia della rete ed osservando
l'indirizzo del destinatario finale deciderà il percorso "ottimale" tra quelli disponibili su cui instradare
il messaggio.
Il messaggio arriverà al destinatario finale passando attraverso un certo numero di sottoreti
intermedie.
Le regole decisionali mediante le quali i router decidono il percorso ottimale prendono il nome di
strategie o algoritmi di routing.
81
Networking
Teoria
Un buon algoritmo di routing prevede la possibilità di adattamento alle condizioni della rete,
utilizzando ad esempio un percorso alternativo se quello primario non è più disponibile a causa di
un guasto. Le interconnessioni mediante router sono perciò molto più affidabili di quelle mediante
bridge.
Poiché non esiste ancora una efficace standardizzazione nel settore degli algoritmi di
instradamento, se ne trovano sul mercato molti con differenti caratteristiche tecnologiche e
prestazioni; nell'ambito di una rete è però importante avere tutti i router dello stesso tipo.
Struttura Logica di un router
TCP
TRANSPORT
IP
NETWORK
DATA LINK
ETHERNET
PHISICAL
TRANSPORT
IP
TCP
NETWORK
IP
X.25 LAPB
DATA LINK
X.25 LAPB
X.21 BIS
PHISICAL
ETHERNET
ETHERNET CABLE
X.21 BIS
X.21 BIS CABLE
GATEWAY
rete SNA
rete OSI
Mainframe
IBM
IBM
3745
Gateway
SNA/X25
X.25
IBM
3274
Token Ring
802.5
Interconnessione di rete SNA ed OSI mediante gateway
Il gateway è il dispositivo di interconnessione più complesso ed è utilizzato per interconnettere reti
con architetture completamente diverse.
82
Networking
Teoria
In figura ad esempio un gateway connette una rete SNA con una rete X.25 conforme al modello
OSI.
Poichè le architetture interconnesse sono molto diverse tra loro, il gateway deve affrontare
problemi di:
· conversione di formato dei messaggi
· conversione degli indirizzi (le reti possono utilizzare differenti strutture di indirizzamento)
· conversione di protocollo
Il gateway consente la comunicazione tra due sistemi intrinsecamente incompatibili. Nell'esempio
illustrato, la pila di protocolli OSI X.400 scambia messaggi con la pila SNA DIA/DCA. Tutti i 7 livelli
delle pile di ciascun protocollo sono implementati nel gateway. I messaggi "attraversano" la doppia
pila (dal cavo all'applicazione e viceversa) per essere "capiti" dai due sistemi eterogenei.
83
Networking
Teoria
9. Protocolli di comunicazione
La famiglia di protocolli TCP/IP
Si è già visto che la rete Internet adotta un modello a strati simile all'ISO-OSI ma con soli quattro
strati: Accesso, Internet, Trasporto e Applicazione. Lo standard TCP/IP definisce una famiglia di
protocolli che lavorano negli strati Internet e Trasporto, i più importanti dei quali sono Internet
Protocol (IP) e Transmission Control Protocol (TCP).
La famiglia di protocolli TCP/IP
La rete Internet e la famiglia di protocolli TCP/IP nascono per l'Internetworking, tecnica che
consente di far comunicare reti differenti nascondendo i dettagli hardware di ognuna. In generale si
può dire che Internet è una grande rete di reti: i computer, chiamati host, sono distribuiti su tutto il
territorio coperto da Internet (che oggi coincide con quasi tutta la parte abitata del globo terrestre)
e sono collegati a reti di tipo diverso, che a loro volta sono interconnesse tramite dispositivi,
chiamati router, capaci di adattarsi a qualunque tipo di struttura fisica e topologica delle varie reti.
84
Networking
Teoria
Esempio di Internetworking tramite router
Nessuna specifica è fornita per gli strati sotto IP, in quanto relativi alla singola sottorete di
appartenenza degli host o router. IP svolge funzioni di rete e instradamento dei pacchetti (tipici
dello strato 3 OSI), mentre TCP svolge le funzioni di controllo della connessione end-to-end
(relativi allo strato 4 OSI). Lo strato di applicazione definisce programmi e protocolli utilizzati per
fornire servizi all'utente, quali la navigazione sul Web, la posta elettronica, il trasferimento di file e
molti altri.
Il protocollo di rete IP
Il collante che tiene insieme la rete Internet è il protocollo di livello rete, comunemente chiamato
IP (Internet Protocol). A differenza dei vecchi protocolli di livello rete, il protocollo IP è stato
progettato tenendo in mente le problematiche di Internetworking. Il compito del protocollo IP è
quello di fornire una modalità best-effort (cioè senza garanzie di affidabilità) per trasportare dei
datagrammi (pacchetti) IP dall'origine alla destinazione senza preoccuparsi se le macchine si
trovino nella stessa rete o se ci siano altre reti tra le due macchine. Il protocollo IP fornisce i
seguenti servizi:
• trasmissione di un datagramma host-to-host, grazie ad un opportuno schema di indirizzamento;
• funzioni di routing, cioè di corretto instradamento delle informazioni attraverso nodi intermedi;
• frammentazione e riassemblaggio dei datagrammi.
85
Networking
Teoria
Il protocollo, essendo best-effort, non fornisce:
• controllo di flusso;
• controllo d'errore;
• controllo di sequenza.
I router in rete elaborano il pacchetto fino al livello IP, per conoscere quale sia l'indirizzo di
destinazione; attraverso la tabella di instradamento viene quindi deciso su quale interfaccia di
rete inviare il pacchetto. La tabella di instradamento è il risultato dell'esecuzione di un particolare
algoritmo di routing (statico o dinamico, centralizzato o distribuito). Nella rete Internet sono utilizzati
sia protocolli di tipo Distance Vector (RIP) che di tipo Link State (OSPF).
IP supporta le operazioni di frammentazione e riassemblaggio dei datagrammi: il termine
frammentazione indica un'operazione in cui una PDU (in questo caso il datagramma IP) viene
suddivisa o segmentata in unità più piccole. Questa funzione è necessaria perché non tutte le reti
adottano la stessa dimensione per le PDU. Senza l'impiego della frammentazione, sarebbe più
complicato gestire le incompatibilità tra le dimensioni delle PDU di diverse reti. IP risolve il
problema fissando regole di frammentazione per i router e regole di riassemblaggio nell'host
destinazione.
Schema di indirizzamento IP
L'indirizzamento IP è parte integrante del processo di instradamento dei messaggi sulla rete. Gli
indirizzi IP, che devono essere univoci nell'ambito di tutta la rete Internet, sono lunghi 32 bit (4
byte) e sono espressi scrivendo i valori decimali di ciascun byte separati dal carattere punto
(notazione dotted decimal). Un indirizzo IP ha la seguente struttura:
Struttura dell'indirizzo IP divisa in Net-ID e Host ID
Il Net-ID identifica la rete, mentre l'Host-ID identifica l'host all'interno della rete. L'indirizzo con i bit
relativi alla parte di host posti a zero risulta essere l'indirizzo della rete in cui si trova l'host, mentre
quello con i bit di host posti tutti a uno indica l'indirizzo broadcast di quella rete, cioè quello usato
per inviare pacchetti a tutti gli host della rete. Quindi il numero di host possibili in una certa rete è
pari alla dimensione dello spazio di indirizzamento della parte di host-id diminuita di 2 unità. Ad
esempio:
• indirizzo IP = 132.125.18.36;
• net-ID = 132.125;
86
Networking
Teoria
• host-ID = 18.36;
• indirizzo della rete = 132.125.0.0;
• indirizzo broadcast = 132.125.255.255;
• indirizzi possibili = da 132.125.0.1 a 132.125.255.254;
• numero di host possibili = (256x256) - 2 = 65.534.
Non sono i nodi ad avere un indirizzo IP, bensì le interfacce. Quindi se un nodo ha tre interfacce
(ad esempio un router), esso ha tre indirizzi IP. Gli indirizzi IP sono univoci a livello mondiale e
sono assegnati da un'unica autorità (in realtà l'autorità assegna al gestore di una rete un indirizzo
di rete; sarà poi il gestore a decidere quali indirizzi di quella rete assegnare alle proprie macchine).
Inoltre, l'indirizzo IP non identifica l'host in quanto tale, ma la connessione di un host alla relativa
rete. Di conseguenza, se una macchina host viene spostata in un'altra rete, il suo indirizzo deve
essere cambiato.
Classi di indirizzi IP
In base al numero di bit assegnati a net-ID e host-ID, gli indirizzi IP sono suddivisi in cinque classi:
• Classe A - Utili per reti che hanno un numero cospicuo di host. Il campo host-ID è di 24 bit,
pertanto possono essere identificati circa 16 milioni di host per ogni rete di questo tipo. Sette bit
sono dedicati al net-ID, per un massimo di 128 reti di classe A.
• Classe B - Sono utilizzati per reti di dimensioni intermedie. Il net-ID è di 14 bit, per cui si possono
avere al massimo circa 16.000 reti di classe B, ciascuna con una dimensione massima di circa
65.000 indirizzi (host-ID da 16 bit).
• Classe C - Sono utilizzati per numerose reti con pochi host. Le reti di classe C contengono meno
di 256 host (host-ID da 8 bit) e sono individuate da 21 bit nell'ID di rete.
• Classe D - Sono riservati al multicasting, cioé all'indirizzamento di gruppi di host.
• Classe E - Sono riservati per usi futuri.
Lo spazio di indirizzamento va partizionato tra le varie classi di indirizzi, in modo che non vi siano
sovrapposizioni tra classi diverse. Questo si ottiene fissando, per ogni classe, particolari
configurazioni nel primo byte.
87
Networking
Teoria
Le cinque classi di indirizzi IP
Corrispondenza tra indirizzi IP e indirizzi MAC
Si è visto come nell'ambito della rete Internet ciascun host, per poter essere raggiungibile, debba
essere connesso tramite un'interfaccia di rete a cui è assegnato un indirizzo IP univoco.
L'interfaccia di rete (modem, scheda Ethernet, eccetera) a sua volta implementa un protocollo di
livello 2 che dipende dal tipo di rete fisica a cui la macchina è connessa. Si è visto anche che, nel
caso di reti LAN, l'interfaccia deve avere un indirizzo univoco anche a livello MAC, che è cablato
nella circuiteria stessa della scheda di rete. Inoltre, un host in una LAN deve incapsulare il
datagramma IP in un pacchetto MAC e quindi inviarlo ad un host o ad un router nella LAN stessa:
per fare ciò è necessario conoscere l'indirizzo MAC del destinatario. Nasce così l'esigenza di
porre in corrispondenza biunivoca l'indirizzo MAC e l'indirizzo IP di un'interfaccia di rete.
Per effettuare questa operazione, lo standard TCP/IP fornisce un protocollo di risoluzione degli
indirizzi chiamato Address Resolution Protocol (ARP), che gestisce la traduzione degli indirizzi
IP in indirizzi fisici e nasconde questi ultimi agli strati superiori. Generalmente, ARP funziona con
tabelle di mappatura, definite cache ARP, che forniscono la corrispondenza tra un indirizzo IP e un
indirizzo fisico. In una LAN, ARP prende l'indirizzo IP di destinazione e cerca l'indirizzo fisico
corrispondente nella cache ARP: se lo trova lo restituisce al richiedente. Se l'indirizzo richiesto non
viene reperito nella cache ARP, il modulo ARP effettua una trasmissione broadcast sulla rete:
questa prende il nome di richiesta ARP (ARP request) e contiene l'indirizzo IP richiesto. Di
conseguenza, se una delle macchine che ricevono la richiesta riconosce il proprio indirizzo IP nel
messaggio di ARP, restituisce una risposta ARP (ARP reply) all'host richiedente. Il frame contiene
l'indirizzo fisico dell'host interrogato. Quando riceve questo frame, l'host richiedente inserisce
l'indirizzo nella propria cache ARP: i datagrammi che verranno successivamente inviati a questo
particolare indirizzo IP potranno essere tradotti nell'indirizzo fisico accedendo alla cache.
88
Networking
Teoria
Funzionamento del protocollo ARP
Le informazioni presenti nella cache di una stazione hanno un tempo di vita che è legato alla
specifica implementazione e configurazione del TCP/IP, ma comunque dell'ordine di grandezza dei
minuti. Il motivo della temporaneità di tali informazioni è legato al fatto che la corrispondenza tra
indirizzi IP e MAC deve essere dinamica e può variare nel tempo (ad esempio a causa di una
sostituzione della scheda di rete o di un cambiamento di indirizzo IP).
A volte risulta utile effettuare l'operazione inversa, cioè risalire all'indirizzo IP a partire dall'indirizzo
Ethernet; tali funzionalità sono assicurate dal protocollo RARP (Riverse Address Resolution
Protocol).
Il protocollo di trasporto TCP
Il Transmission Control Protocol (TCP) è stato progettato al fine di offrire alle applicazioni un
servizio end-to-end, orientato alla connessione e perfettamente affidabile, tenendo conto che la
rete sottostante (IP) non è affidabile. Il TCP accetta dal livello superiore messaggi di lunghezza
illimitata, li segmenta in pacchetti di piccole dimensioni e li invia incapsulandoli in datagrammi. Le
funzioni svolte dal protocollo TCP sono:
• controllo di errore;
• controllo di flusso;
• controllo di sequenza;
• multiplazione delle connessioni su un singolo indirizzo di rete.
TCP riceve i dati a flussi dai protocolli di strato superiore che li inviano a byte, uno alla volta;
quando arrivano allo strato TCP, i byte vengono raggruppati in segmenti TCP, che vengono quindi
passati a IP per essere trasmessi alla destinazione successiva. La lunghezza dei segmenti è
determinata da TCP.
Le funzionalità del protocollo TCP vengono garantite mediante la numerazione dei datagrammi e
l'invio di messaggi di riscontro (acknowledgment) da parte della destinazione ogniqualvolta viene
ricevuto correttamente il giusto datagramma della sequenza. Nel caso di connessioni interattive
bidirezionali si usa la tecnica del piggybacking (acknowledgment contenuto nelle risposte).
89
Networking
Teoria
Inoltre, i numeri di sequenza servono a TCP per il riordinamento dei segmenti ricevuti, qualora
questi giungano alla destinazione finale in ordine errato. TCP adotta una tecnica di riconoscimento
globale, che comprende tutti i byte fino al numero di riconoscimento meno uno. Il modulo TCP
ricevente può anche eseguire il controllo del flusso dei dati del mittente, molto utile per evitare la
perdita di dati per superamento della capacità del buffer e l'eventuale saturazione della macchina
ricevente. Il meccanismo si basa sull'emissione di un valore di finestra alla stazione trasmittente,
la quale può inviare un numero specificato di byte all'interno di tale finestra; al raggiungimento di
questo numero, la finestra viene chiusa e l'entità trasmittente deve interrompere l'invio dei dati.
Poiché TCP è un protocollo che opera in modalità orientata alla connessione, ogni trasmissione di
dati deve essere preceduta da una fase di attivazione della connessione e seguita da una fase di
rilascio.
Multiplazione e socket
Compito di TCP è anche quello di distinguere tra i diversi programmi applicativi e i diversi utenti
che fanno uso di uno stesso sistema, quindi di uno stesso indirizzo IP.
Per questo si è stabilito che ogni sistema contenga un insieme di punti di destinazione TCP
chiamati porte. Ogni porta è identificata da un intero positivo, che rappresenta un'applicazione
attiva nello strato superiore. L'indirizzo completo di un'applicazione su Internet è quindi dato
dall'insieme di indirizzo IP e porta TCP ed è denominato socket; ad esempio:
• indirizzo IP = 132.125.18.35;
• porta TCP = 80;
• socket = 132.125.18.35:80.
Il numero di porta è contenuto nell'intestazione del segmento TCP, mentre l'indirizzo IP è
contenuto nell'intestazione del pacchetto IP. Questo significa che tutte le sessioni di
comunicazione in atto tra due specifici sistemi useranno lo stesso indirizzo IP di sorgente e lo
stesso indirizzo IP di destinazione; saranno perciò distinte solo a livello TCP e individuabili tramite
la coppia porta sorgente e porta destinazione. Ne segue che queste sessioni sono multiplate su
un'unica coppia di indirizzi IP, ovvero su un unico canale IP di comunicazione. In TCP, quindi, una
connessione è identificata da una coppia di socket, relativa ai due processi che hanno stabilito la
connessione. Ad esempio una connessione tra la porta 1029 dell'host 132.125.18.36 e la porta 80
dell'host 132.125.18.35 sarà identificata dalla coppia (132.125.18.36:1029,132.125.18.35:80).
Grazie a tale meccanismo, un indirizzo di porta di un sistema può supportare connessioni multiple;
la porta 80 dell'host 132.125.18.35 potrebbe gestire contemporaneamente le seguenti connessioni
(ed anche altre):
90
Networking
Teoria
Connessione di diversi client con lo stesso server tramite socket TCP
Well-knows ports
Tipicamente le applicazioni in Internet seguono un modello del tipo client/server, in cui alcuni
applicativi server mettono a disposizione determinati servizi che gli applicativi client richiedono
connettendosi ad essi attraverso TCP/IP. Per identificare i processi applicativi server, sono stati
definiti dei numeri di porta ben noti (well-known ports); per richiedere un certo servizio, un
applicativo client deve aprire una connessione con la macchina di destinazione sulla ben nota
porta server che individua quel particolare servizio. Un client FTP, ad esempio, per connettersi ad
un server FTP, deve conoscere e indicare l'indirizzo IP dell'elaboratore remoto e il numero della
porta associata al servizio
Le porte sono individuate da un numero intero rappresentato con 16 bit. Questo spazio di
numerazione è diviso in due gruppi:
• da 0 a 1023 è lo spazio riservato per le porte privilegiate o well known ports, che servono per
indirizzare un certo servizio;
• lo spazio da 1024 a 65535 è lasciato libero per le porte utenti, cioè quelle scelte dall'applicativo
client come porta sorgente.
Nella tabella seguente vengono riportati i numeri di porta di alcuni tra i servizi più noti:
Numero porta Nome Tipo di servizio
21 FTP trasferimento file
22 SSH terminale virtuale criptato
23 TELNET terminale virtuale in chiaro
25 SMTP invio posta elettronica
53 DOMAIN server DNS
80 HTTP server Web
110 POP accesso posta elettronica
91
Networking
Teoria
Protocollo IP e collegati
Introduzione
Il collante che tiene insieme la rete Internet è il protocollo di livello rete, comunemente chiamato IP
(Internet Protocol). A differenza dei vecchi protocolli di livello rete, il protocollo IP è stato progettato
tenendo in mente le problematiche di internetworking. Il compito del protocollo IP è quello di fornire
una modalità best-effort per trasportare dei datagrammi (pacchetti) IP dall'origine alla destinazione
senza preoccuparsi se le macchine si trovino nella stessa rete o se ci siano altre reti tra le due
macchine.
La comunicazione in Internet avviene nel seguente modo: il livello di trasporto gestisce le
informazioni in forma di data stream che vengono frammentati in datagrammi a livello di rete.
Risulta quindi fondamentale comprendere la modalità con cui viene costruito un pacchetto IP.
Tale sezione presenta i seguenti argomenti all'interno del capitolo relativo al pacchetti IP:
• formato del pacchetto IP;
• problemi di indirizzamento;
• classi di indirizzi A, B, C, D;
• netmask e valori possibili;
• indirizzi privati e indirizzi pubblici;
• logical IP subnet.
La sicurezza delle connessioni ad Internet sta divenendo sempre più importante, in questa sezione
vengono illustrate le principali tecniche che consentono di avere un accesso sicuro alla rete. Come
noto, la suite di protocolli TCP/IP è in realtà un insieme abbastanza complesso di molteplici
protocolli. Nella parte finale di questa sezione vengono presentati alcuni protocolli, che insieme a
più noti protocolli TCP e IP, giocano un ruolo fondamentale all'interno della rete Internet (per
esempio i protocolli NAT e PAT, i quali tra l'altro consentono di risolvere il problema della carenza
di indirizzi
pubblici).
La sezione relativa alle soluzioni e ai protocolli correlati contiene le seguenti sezioni:
• protocolli correlati a IP e loro impiego;
• ICMP;
• ARP/RARP.
92
Networking
Teoria
Formato del pacchetto IP
Il protocollo IP
Protocollo IP
Quando un'applicazione invia dei dati, utilizzando l'architettura TCP/IP, i dati vengono mandati
verso il basso attraverso tutti i livelli della pila protocollare fino ad essere trasmessi dal livello fisico.
Ogni livello aggiunge delle informazioni di controllo, preponendo degli header (ed a volte
aggiungendo anche dei trailer) ai dati che riceve. I dati d'utente, ai quali viene preposta
un'intestazione (header) dallo strato di applicazione, vengono passati al protocollo dello strato di
trasporto (in questo caso si tratta del protocollo TCP, sebbene il funzionamento sia del tutto
analogo nel caso si utilizzi UDP): quest'ultimo esegue varie operazioni e aggiunge un'intestazione
alla PDU che gli è stata inviata. L'unità di dati prende ora il nome di segmento. Lo strato di
trasporto fornisce quindi il segmento allo strato di rete, che presta anch'esso servizi specifici e
aggiunge un'intestazione. Questa unità (che la terminologia di Internet definisce ora datagramma)
viene passata ai livelli inferiori, dove lo strato di collegamento dati aggiunge la propria intestazione
e una coda (trailer); l'unità di dati (che ora prende il nome di trama) viene poi trasmessa in rete
dallo strato fisico. In figura è mostrato un esempio di imbustamento dei dati, nell'ipotesi che la
sottorete sia una LAN di tipo Ethernet.
Il pacchetto IP
93
Networking
Teoria
Pacchetto IP
Il protocollo IP fornisce i seguenti servizi:
• trasmissione di un datagram host-to-host (indirizzamento);
• funzioni di routing;
• frammentazione e riassemblaggio dei datagram.
Il protocollo non fornisce:
• controllo di flusso;
• controllo d'errore;
• controllo di sequenza.
I router in rete elaborano il pacchetto fino a livello IP, per vedere quale sia l'indirizzo di
destinazione; attraverso la tabella di instradamento viene deciso su quale interfaccia inviare il
pacchetto. IP supporta le operazioni di frammentazione: il termine di frammentazione indica
un'operazione in cui una PDU viene suddivisa o segmentata in unità più piccole. Questa funzione
è necessaria perché non tutte le reti adottano la stessa dimensione per le PDU. Senza l'impiego
della frammentazione, un router sarebbe incaricato di gestire le incompatibilità tra le dimensioni
delle PDU delle diverse reti. IP risolve il problema fissando regole di frammentazione per i router e
regole di riassemblaggio nell'host ricevente.
I campi del pacchetto IP
Il campo versione identifica la versione del protocollo IP del pacchetto; quella oggi in uso
prevalente è IPv4, sebbene ci si stia indirizzando verso l'uso della versione IPv6 (denominata
anche IPng, IP next generation).
94
Networking
Teoria
Il campo lunghezza dell'intestazione (IHL) contiene 4 bit impostati a un valore che indica la
lunghezza dell'intestazione dei datagrammi. La lunghezza è misurata in parole di 32 bit;
solitamente, un'intestazione senza opzioni di qualità del servizio (QoS) è costituita da 20 byte
(quindi 20 * 8 = 160 bit, ovvero 5 raggruppamenti da 32); di conseguenza il valore del campo della
lunghezza è di norma 5.
Il campo tipo di servizio (TOS) può essere utilizzato per classificare i pacchetti e offrire un servizio
differenziato (QoS). Il campo lunghezza totale specifica la lunghezza totale del datagramma IP. Si
misura in byte e comprende la lunghezza dell'intestazione e dei dati. IP sottrae il campo lunghezza
dell'intestazione dal campo lunghezza totale, per calcolare le dimensioni del campo dati. La
lunghezza massima possibile per un datagramma è di 65.535 byte.
Il protocollo IP utilizza tre campi nell'intestazione per controllare la frammentazione e il
riassemblaggio dei datagrammi. Questi sono il campo identificatore, flag e scostamento del
frammento. Il campo identificatore serve all'host ricevente per designare in modo univoco ciascun
frammento di un datagramma proveniente dall'indirizzo di origine.
Il campo flag contiene i bit che determinano se il datagramma può essere frammentato: in caso
affermativo, uno dei bit può essere impostato in modo tale da determinare se il frammento è
l'ultimo del datagramma.
Il campo scostamento del frammento contiene un valore che specifica la posizione relativa del
frammento nel datagramma originale; il valore si misura in unità di otto byte. Il parametro tempo di
durata (TTL, Time To Live) serve per misurare il tempo di presenza di un datagramma in rete. Ogni
router quando riceve un pacchetto controlla questo campo, e lo scarta se il valore TTL è uguale a
zero; prima di inoltrare nuovamente il pacchetto, il campo TTL viene diminuito di una unità. Il
campo TTL indica quindi il numero di tratti che il pacchetto può attraversare, e può essere usato
dai router per evitare che i pacchetti entrino in cicli infiniti, ma anche da un host per limitare la
durata della presenza di segmenti in rete.
Il campo protocollo serve per identificare il protocollo dello strato immediatamente superiore a IP
che deve ricevere il datagramma. È simile al campo tipo, presente nella trama Ethernet.
Il campo checksum dell'intestazione viene utilizzato per rilevare eventuali errori che possono
essersi verificati nella sola intestazione. I controlli non vengono eseguiti sul flusso dei dati
dell'utente. Se da un lato ciò consente di usare un algoritmo di checksum piuttosto semplice, in
quanto non deve operare su molti byte, dall'altro richiede che un protocollo di livello superiore
esegua un controllo degli errori sui dati dell'utente.
IP trasporta due indirizzi nel datagramma: l'indirizzo di origine e l'indirizzo di destinazione, che
conservano lo stesso valore per tutto il trasferimento.
Il campo opzioni serve per identificare vari servizi supplementari.
95
Networking
Teoria
Il campo riempimento può essere utilizzato per far sì che l'intestazione del datagramma sia
allineata ad una delimitazione precisa di 32 bit.
Infine il campo dati contiene i dati dell'utente. La combinazione dei dati e dell'intestazione non può
superare 65.535 byte.
Problemi di indirizzamento
Formato dell'indirizzo IP
Struttura dell'indirizzo IP divisa in Net-ID e Host ID
Le reti TCP/IP si avvalgono di un indirizzo di 32 bit (quattro byte); esso è espresso scrivendo i
valori decimali di ciascun byte, separati dal carattere punto. Il suo formato è Indirizzo IP = Indirizzo
di rete (Net-Id)-Indirizzo di host (Host-Id)
L'indirizzo, con i bit relativi alla parte di host posti a zero, risulta essere l'indirizzo della rete in cui si
trova l'host.
Non sono i nodi ad avere un indirizzo IP, bensì le interfacce. Quindi se un nodo ha tre interfacce
(ad esempio un router), esso ha tre indirizzi IP. Gli indirizzi IP sono univoci a livello mondiale e
sono assegnati da un'unica autorità (in realtà l'autorità assegna al gestore di una rete un indirizzo
di rete; sarà poi il gestore a decidere quali indirizzi dare alle proprie macchine). Inoltre, l'indirizzo IP
non identifica l'host in quanto tale, ma la connessione di un host alla relativa rete. Di conseguenza,
se una macchina host viene spostata in un'altra rete, il suo indirizzo deve essere cambiato. Per
indicare non una macchina nella sottorete, ma la sottorete, si mettono a zero i bit della parte di
indirizzo di host; per indicare tutte le macchine attestate sulla sottorete, cioè l'indirizzo di
broadcast sulla sottorete, si mettono a uno i bit della parte di indirizzo di host. Quindi il numero di
host possibili in una certa sottorete è pari alla dimensione dello spazio di indirizzamento della parte
di host-id diminuita di 2.
Classi di indirizzi IP
96
Networking
Teoria
Le cinque classi di indirizzi IP
Gli indirizzi IP sono suddivisi in cinque classi:
Classe A. Provvedono alle reti che hanno un numero cospicuo di host. Il campo dell'ID dell'host è
di 24 bit, pertanto possono essere identificati circa 16 milioni di host per ogni rete di questo tipo.
Sette bit sono dedicati all'ID di rete, per un massimo di 128 reti di classe A.
Classe B. Sono utilizzati per reti di dimensioni intermedie. Si possono avere al massimo circa
16000 reti di classe B, ciascuna con una dimensione massima di circa 64000 indirizzi.
Classe C. Sono utilizzati per numerose reti con pochi host. Le reti di classe C contengono meno di
256 host e sono individuate da 21 bit nell'ID di rete.
Classe D. Sono riservati al multicasting (RFC 1112).
Classe E. Sono riservati per usi futuri.
Lo spazio di indirizzamento va partizionato tra le varie classi di indirizzi, in modo che non vi siano
sovrapposizioni tra classi diverse. Questo si ottiene fissando, per ogni classe, particolari
configurazioni nel primo byte.
Classi di indirizzi A, B, C, D
classi A e B
Classe A
97
Networking
Teoria
Una rete di classe A è rappresentata dal primo bit (bit più significativo) a zero. I primi otto bit (0-7)
identificano il numero della rete, e i rimanenti bit (8-31) identificano il numero dell' host all'interno
della rete. Con questa rappresentazione si possono ottenere 128 (27) reti di classe A, ciascuna
con un numero massimo di 16777216 (224) - 2 host. Gli indirizzi di classe A sono riconoscibili dal
primo numero dell'indirizzo compreso tra 0 e 127.
Esempio Classe A
Classe B
Una rete di classe B è rappresentata da un 1 ed uno 0 come primi due bit. I primi 16 bit (0-15)
identificano il numero della rete, e gli ultimi 16 bit (16-31) identificano il numero dell'host all'interno
della rete. Con questa rappresentazione si possono ottenere 16384 (214) reti di classe B, ciascuna
con un numero massimo di 65536 (216) - 2 host. Gli indirizzi di classe B sono riconoscibili dal
primo numero dell'indirizzo compreso tra 128 e 191.
Esempio Classe B
classi C e D
Classe C
Una rete di classe C è rappresentata dai primi tre bit aventi valore rispettivamente 1,1, e 0. I primi
24 bit (0-23) identificano il numero della rete, e gli ultimi 8 bit (24-31) identificano il numero
dell'host all'interno della rete. Con questa rappresentazione si possono ottenere 2097152 (221) reti
di classe C, ciascuna con un numero massimo di 256 (28) - 2 host. Gli indirizzi di classe C sono
riconoscibili dal primo numero dell'indirizzo, compreso tra 192 e 223.
Esempio Classe C
98
Networking
Teoria
Classe D
La classe D prevede che il primo byte contenga un valore compreso tra 224 e 239. Tale classe è
riservata alla trasmissione di datagrammi IP in modalità multicasting.
Netmask e valori possibili
Subnet ID
Subnet ID
Nel 1985, l'RFC 950 ha definito una procedura standard per supportare il subnetting, ovvero la
divisione di una singola rete, di classe A, B o C, in sottoreti di dimensioni minori. Il subnetting è
stato introdotto per superare alcuni dei problemi che Internet cominciava ad avere con la gerarchia
di indirizzamento a due livelli (netid + hostid): la continua crescita delle tabelle di routing. Le
organizzazioni dovevano richiedere un indirizzo di rete prima di poter installare una nuova LAN
nella propria rete privata.
Entrambi questi problemi sono stati affrontati aggiungendo un terzo livello gerarchico (netid +
subnetid + hostid) allo schema di indirizzamento iniziale. Il subnetting ha risolto il problema della
crescita delle tabelle di routing facendo in modo che le sottoreti di una rete non siano visibili
all'esterno della rete stessa. Il percorso da Internet a qualsiasi sottorete di una certa rete IP è lo
stesso, in quanto tutte le sottoreti condividono lo stesso indirizzo di rete (pur avendo differenti
subnetid). Quindi, mentre i router all'interno della rete devono distinguere le singole sottoreti, i
router di Internet hanno un'unica entry nella tabella di routing che individua tutte le sottoreti. Ciò
consente all'amministratore di rete di introdurre una complessità arbitraria alla rete senza
accrescere le dimensioni delle tabelle di routing di Internet. Il subnetting ha risolto il problema della
99
Networking
Teoria
continua richiesta di indirizzi IP, assegnando ad ogni organizzazione uno (o al più alcuni) indirizzi
di rete. L'organizzazione è poi libera di assegnare un differente numero di sottorete per ognuna
delle sue reti interne. Ciò consente ad un'organizzazione di usufruire di sottoreti addizionali, senza
la necessità di richiedere ed ottenere un nuovo indirizzo di rete.
Netmask (esempio)
Netmask
L'ampiezza dei campi subnet e host viene definita tramite un parametro detto netmask. La
netmask contiene bit a uno in corrispondenza dei campi network e subnet, e a zero in
corrispondenza del campo host. Per determinare la subnet di appartenenza di un host a partire dal
suo indirizzo IP, basta mettere in AND bit a bit la netmask con l'indirizzo IP. L'importanza di
comprendere se due indirizzi appartengono o no alla stessa subnet è fondamentale, in quanto nel
primo caso l'host mittente del pacchetto lo invierà direttamente verso il destinatario (routing
diretto), nel secondo caso lo invierà ad un router a valle verso la destinazione (routing indiretto).
Questo comportamento deriva dall'assunzione implicita che ad ogni rete logica (subnet IP)
corrisponda una stessa rete fisica. Nella figura viene mostrato ad esempio un indirizzo IP
193.205.102.36 con maschera 255.255.255.248, relativo ad una subnet con al massimo 6
macchine. Bisogna considerare infatti che l'indirizzo con tutti zero nella parte di host indica la
subnet e l'indirizzo con tutti uno indica l'indirizzo di broadcast sulla sottorete.
Nella tabella seguente vengono riportati i valori che potranno assumere gli ultimi 3 bit.
bit host quarto numero IP
000 subnet 32
001 disponibile 33
100
Networking
Teoria
010 disponibile 34
011 disponibile 35
100 disponibile 36
101 disponibile 37
110 disponibile 38
111 broadcast (tutti) 39
Tutti i router di Internet instradano in base all'indirizzo di Network (193.205.102) di classe C. Il
router responsabile di questa rete procede con l'ulteriore instradamento verso le Subnet in base
all'esame degli ulteriori 5 bit (informazione ricavata dalla maschera).
Indirizzi privati ed indirizzi pubblici
Indirizzi privati
IANA
Allocated, Non-Internet Routable IP Address Schemes
Classe Network Address Range
A da 10.0.0.0 a 10.255.255.255 (10.0.0.0/8)
B da 172.16.0.0 a 172.31.255.255
(172.16.0.0/12)
C da 192.168.0.0 a 192.168.255.255
(192.168.0.0/16)
La IANA (Internet Assigned Numbers Authority) ha riservato i tre blocchi di indirizzi indicati in figura
per le reti IP private, ovvero reti IP che non sono interconnesse ad Internet. Il primo blocco
(10.0.0.0/8) rappresenta un'intera classe A. Il secondo blocco (172.16.0.0/12) è costituito
dall'insieme di 16 reti di classe B contigue. Il terzo blocco (192.168.0.0/16) rappresenta 255 reti di
classe C contigue.
Protocolli correlati a IP e loro impiego
Il protocollo IP, impiega il corrispondente indirizzo per permettere ai gateway di prendere le
decisioni di instradamento del datagramma. Tuttavia, affinché possano essere consegnati i dati
nell'ambito di una rete locale, occorre fare riferimento all'indirizzo della stazione destinataria. Per
tale motivo, e non solo, esistono altri protocolli che vengono tipicamente utilizzati nell'ambito delle
reti e che possono essere considerati all'Internet Protocol:
101
Networking
Teoria
• ARP (Address Resolution Protocol) e il corrispondente RARP (Reverse Address Resolution
Protocol);
• ICMP (Internet Control Message Protocol). Di questi due viene fornita una spiegazioni tecnica (e
la loro motivazione all'uso) nelle sezioni loro dedicate.
Internet Control Message Protocol (ICMP)
ICMP
IP non possiede meccanismi di indicazione o correzione degli errori, ma si affida a un modulo
denominato Internet Control Message Protocol (ICMP) per la segnalazione degli errori
sopravvenuti nel corso dell'elaborazione di un datagramma e per la generazione di messaggi
amministrativi e di stato. ICMP risiede in ogni computer host o router come protocollo abbinato a
IP. ICMP viene utilizzato tra gli host o i router quando i datagrammi non possono essere
consegnati, quando un router non ha sufficiente memoria temporanea per conservare ed inoltrare
unità dati del protocollo, eccetera. ICMP comunica all'host se una destinazione è irraggiungibile;
inoltre, gestisce o crea un messaggio per segnalare il superamento del tempo massimo di
permanenza in rete (TTL) di un datagramma. Infine, ICMP esegue alcune funzioni di modifica per
determinare se l'intestazione IP è errata o in altro modo inintelligibile. Il protocollo ICMP è descritto
in RFC 792 ed è incluso in tutte le implementazioni IP come un protocollo a basso livello che si
appoggia direttamente su IP.
È utilizzato per la trasmissione dei messaggi di errore, di messaggi di controllo e misure di
prestazioni, ma non specifica le azioni da intraprendere. I messaggi viaggiano nel campo dati del
datagram IP e vengono manipolati dal software IP, non dagli applicativi utente. ICMP viene
imbustato in IP, indirizzato con 1 nel campo protocol. Il formato del pacchetto ICMP prevede:
102
Networking
Teoria
• tipo, indica un particolare messaggio ICMP (si veda la tabella seguente);
• codice, viene usato in alcuni messaggi ICMP per specificare alcune condizioni;
• checksum, per il controllo di errore; viene calcolato su tutto il pacchetto ICMP;
• la parte rimanente viene usata per trasmettere dei dati legati al particolare messaggio ICMP.
Come esempio, nella figura precedente è mostrato un pacchetto di ICMP, del tipo error message,
in cui nella parte di dati è inclusa l'intestazione IP e altri 64 bit del pacchetto che ha generato
l'errore.
Address Resolution Protocol (ARP) e Reverse ARP
Lo stack IP fornisce un protocollo per risolvere gli indirizzi. Il protocollo di risoluzione degli indirizzi
(ARP) gestisce la traduzione degli indirizzi IP in indirizzi fisici e nasconde questi indirizzi fisici agli
strati superiori. Generalmente, ARP funziona con tabelle di mappatura, definite cache ARP, che
forniscono la mappatura tra un indirizzo IP e un indirizzo fisico. In una LAN, ARP prende l'indirizzo
IP di destinazione e cerca l'indirizzo fisico corrispondente nella cache ARP: se lo trova lo
restituisce al richiedente. Se l'indirizzo richiesto non viene reperito nella cache ARP, il modulo ARP
effettua una trasmissione broadcast sulla rete: questa prende il nome di richiesta ARP (ARP
request) e contiene l'indirizzo IP richiesto. Di conseguenza, se una delle macchine che ricevono la
richiesta riconosce il proprio indirizzo IP nel messaggio di ARP, restituisce una risposta ARP (ARP
reply) all'host richiedente. Il frame contiene l'indirizzo fisico dell'host interrogato. Quando riceve
questo frame, l'host richiedente inserisce l'indirizzo nella propria cache ARP: i datagrammi che
verranno successivamente inviati a questo particolare indirizzo IP potranno essere tradotti
nell'indirizzo fisico accedendo alla cache.
ARP
Il protocollo ARP si appoggia direttamente sul livello data link e non su IP. Il pacchetto ARP è
incapsulato nella PDU del livello data link, che potrebbe essere per esempio una trama Ethernet.
La richiesta viene inviata all'indirizzo di broadcast di livello 2, perché deve essere elaborata da
103
Networking
Teoria
tutte le macchine; contiene inoltre l'indirizzo di livello 2 e quello di livello 3 della macchina sorgente;
così la macchina che riconosce il proprio indirizzo di livello 2 sa a chi inviare il reply. Nel pacchetto
di risposta vengono riempiti tutti i campi; importante è chiaramente l'indirizzo di livello 2 di chi invia
il reply, che era l'informazione richiesta in partenza. Qualsiasi modulo ARP può avvalersi di un
pacchetto ARP per aggiornare la propria cache: il modulo esamina l'indirizzo IP e l'indirizzo
hardware del mittente per determinare se queste voci sono comprese nella propria cache. In
questo modo, ottiene tutte le informazioni possibili sui dati. Il pacchetto ARP, oltre ai campi per gli
indirizzi di livello 2 e 3 di sorgente e destinazione, contiene:
• hard type, specifica il tipo di indirizzo di livello 2; per indicare che l'indirizzo è di tipo MAC si usa il
valore 1;
• protocol type, specifica il tipo di indirizzo di livello 3, si usa 0x0800 per indicare indirizzi IP;
• hard size, indica la lunghezza dell'indirizzo di livello 2;
• protocol size, indica la lunghezza dell'indirizzo di livello 3;
• operation, indica il tipo di comando ARP, 1 per ARP-request, 2 per ARP-reply.
A volte risulta utile risalire all'indirizzo IP a partire dall'indirizzo Ethernet; tali funzionalità sono
assicurate dal Protocollo RARP (Reverse Address Resolution Protocol).
RARP
104
Networking
Teoria
10.Protocolli di trasporto in Internet
TCP - Transmission Control Protocol
Segmento TCP/UDP e datagramma IP
Il Transmission Control Protocol (TCP) è stato progettato al fine di offrire un servizio end-to-end
perfettamente affidabile alle applicazioni, tenendo conto che la rete sottostante (IP) non è
affidabile. Il TCP accetta dal livello superiore messaggi di lunghezza illimitata, li segmenta in
pacchetti di piccole dimensioni e li invia in datagrammi.
Il protocollo è descritto nelle Request For Comments (RFC) 793 ed è successivamente ampliato
a causa di alcune bug fixes: RFC 1122. Se ne trova anche una estensione: RFC 1323.
Le funzioni svolte dal protocollo TCP sono:
• controllo di errore;
• controllo di flusso;
• controllo di sequenza;
• multiplexing delle connessioni su un singolo indirizzo di rete.
TCP riceve i dati a flussi dai protocolli di strato superiore che li inviano a byte, uno alla volta;
quando arrivano allo strato TCP, i byte vengono raggruppati in segmenti TCP, che vengono quindi
passati a IP per essere trasmessi alla destinazione successiva. La lunghezza dei segmenti è
determinata da TCP. Le funzionalità del protocollo TCP vengono garantite mediante la
numerazione dei datagrammi e l'invio di messaggi di riscontro (acknowledgment) da parte della
destinazione ogniqualvolta viene ricevuto correttamente il giusto datagramma della sequenza. Nel
caso di connessioni interattive bidirezionali si usa la tecnica piggybacking (acknowledgment
contenuto nelle risposte). Inoltre, i numeri di sequenza servono a TCP per il risequenziamento dei
segmenti, qualora questi giungano alla destinazione finale in ordine errato. TCP adotta una tecnica
di riconoscimento globale, che comprende tutti i byte fino al numero di riconoscimento meno uno. Il
105
Networking
Teoria
modulo TCP ricevente può anche eseguire il controllo del flusso dei dati del mittente, molto utile
per evitare la perdita di dati per superamento della capacità del buffer e l'eventuale saturazione
della macchina ricevente. Il meccanismo si basa sull'emissione di un valore di finestra alla stazione
trasmittente, la quale può inviare un numero specificato di byte all'interno di tale finestra; al
raggiungimento di questo numero, la finestra viene chiusa e l'entità trasmittente deve interrompere
l'invio dei dati. Ogni trasmissione di dati deve essere preceduta da una fase di attivazione della
connessione e seguita da una fase di rilascio.
TCP - Multiplazione
Compito di TCP è quindi anche quello di distinguere tra i diversi programmi applicativi e i diversi
utenti che fanno uso di uno stesso sistema. Come avviene per UDP, si è stabilito che ogni sistema
contenga un insieme di punti di destinazione chiamati porte. Anche in TCP, ogni porta è
identificata da un intero positivo. L'indirizzo di un utente di strato TCP è denominato porta, mentre
l'indirizzo completo nell'insieme dei protocolli TCP e IP è denominato socket ed è costituito dalla
coppia:
• porta@IP_Address.
La componente port è contenuta nell'intestazione dell'unità di dati di TCP, mentre la componente
IP_Address è contenuta nell'intestazione dell'unità dati di IP. Questo significa che tutte le sessioni
di comunicazione in atto tra due specifici sistemi useranno lo stesso indirizzo IP di sorgente e lo
stesso indirizzo IP di destinazione; saranno perciò distinte solo allo strato TCP. Ne segue che
queste sessioni sono multiplate su un unico indirizzo IP, ovvero su un unico canale IP di
comunicazione (non su una connessione IP; in questo caso la definizione di multiplazione va usata
con cautela dal momento che IP è un protocollo senza connessione).
TCP - Connessione
Come per UDP esistono dei numeri di porta ben noti (well known port), ma a differenza di UDP,
alla stessa porta può corrispondere più di un processo. Tale maggiore complessità deriva dal fatto
che TCP è un protocollo con connessione. In TCP una connessione è identificata da una coppia di
socket, relativa ai due processi che hanno stabilito la connessione.
106
Networking
Teoria
Esempio di connessione
Ad esempio una connessione tra la porta 2772 dell'host 197.2.7.2 e la porta 80 dell'host 151.80.4.1
sarà identificata dalla coppia:
• [email protected], [email protected].
Grazie a tale meccanismo, un indirizzo di porta di un sistema può supportare connessioni multiple;
la porta 2772 dell'host 197.2.7.2 potrebbe gestire contemporaneamente le seguenti connessioni
(ed anche altre):
• [email protected], [email protected];
• [email protected], [email protected]
Applicazioni per TCP
Al livello più alto della pila di protocolli si pongono gli applicativi, che possono utilizzare come livello
di trasporto UDP o TCP a seconda delle necessità. Poiché UDP è un protocollo di tipo
connection-less (non prevede controllo di flusso o recupero di errore), questo non è consigliabile
con applicativi per il trasferimento dati, come FTP o HTTP, ma può essere utile, grazie al ridotto
overhead, per applicativi che usano pacchetti di piccole dimensioni, nonché per gli applicativi realtime in cui è inutile la ritrasmissione di pacchetti errati. I più comuni protocolli applicativi sono i
seguenti:
• Telnet;
• FTP;
• DNS;
• Posta elettronica:
• formato dei messaggi (RFC 822, MIME);
• trasferimento dei messaggi (SMTP, POP3, IMAP);
• HTTP;
• PROXY;
107
Networking
Teoria
Telnet
Telnet è un protocollo che permette ad un utente di collegarsi, tramite elaboratore locale, ad un
qualsiasi altro elaboratore remoto connesso alla rete. La connessione viene attivata facendo
seguire al comando telnet il nome del calcolatore remoto o il suo indirizzo. Da quel momento in
poi, tutti i caratteri battuti sulla tastiera sono inviati all'elaboratore remoto e le risposte da questo
generate sono visualizzate sullo schermo locale. Il calcolatore locale è reso trasparente dal
programma telnet e si opera come se si fosse direttamente connessi all'elaboratore remoto.
Quando ci si scollega dall'elaboratore remoto, il programma telnet termina e ci si trova
nuovamente a dialogare con il sistema operativo dell'elaboratore locale.
Normalmente il programma telnet include degli emulatori per i terminali più diffusi (esempio: Digital
VT100 e IBM 3270). Telnet è specificato dalle RFC 854 e 855. Alternativamente al telnet è
possibile utilizzare il comando rlogin che ha funzionalità analoghe.
FTP
[FTP è specificato nel RFC 959]
Il File Transfer Protocol (FTP) è una specifica di protocollo applicativo che permette ad un utente
collegato ad un calcolatore, di trasferire file da e verso un altro elaboratore. La sicurezza è gestita
tramite la richiesta all'utente di fornire uno username ed una password validi presso l'elaboratore
remoto.
FTP gestisce la rappresentazione dei dati in maniera automatica di file di testo tra elaboratori con
codifiche dei caratteri diverse (ad esempio quando si ha a che fare con diversi sistemi operativi e
quindi diverse strutture di file e diverso set di caratteri).
Telnet risolve i problemi di eterogeneità forzando entrambe le macchine a lavorare con uno stesso
standard: i caratteri scambiati sono codificati con NVT ASCII.
108
Networking
Teoria
FTP
FTP differisce dalle altre applicazioni perché usa due connessioni TCP per trasferire un file: una
connessione di controllo sulla porta 21, in uso durante tutto il trasferimento del file e che serve per
passare i comandi del client e le risposte del server (in particolare per inizializzare il trasferimento
di un file), e una connessione per i dati, che è creata ogni volta che va trasferito un file. FTP
supporta un limitato set di tipi di file e di strutture di memoria: per trasferire un file la macchina
client e quella server devono inizializzarsi e fare delle scelte per le opzioni previste.
Per decidere come un file deve essere trasferito e memorizzato, la macchina client e quella server
devono fare una scelta per un formato comune di rappresentazione e trasmissione dei dati ed in
particolare:
Tipo di file
• file ASCII, è trasferito con codifica NVT ASCII e necessita per chi trasmette la conversione dal
formato locale in ASCII e per chi riceve la conversione opposta; viene inviata la fine di ogni linea,
quindi in ricezione si fa una scansione dei byte in attesa del carriage return; è usato per trasferire
file di testo;
• file immagine o binario, trasferito come un flusso continuo di bit; è usato di solito per trasferire file
binari;
Struttura
• file come flusso continuo di byte, senza nessuna struttura interna;
• file organizzato con una struttura a record, usato per i file di testo;
109
Networking
Teoria
• file organizzato per pagine, in cui si trasmette una pagina alla volta, con numero di pagina che
permette al ricevitore di memorizzarle in modo casuale;
Modo di trasmissione
• stream, cioé come flusso continuo di bit; per un file senza struttura, la fine del file viene
individuata dalla chiusura della connessione, mentre per un file con struttura a record, una speciale
sequenza di due byte indica la fine dei record e del file;
• a blocchi, con file trasferito a blocchi ognuno preceduto da un header. La combinazione delle
precedenti opzioni dà le possibili combinazioni nel trasferimento e memorizzazione dei file. La
scelta più comune in ambiente Unix è come tipo di file ASCII o binario, senza struttura e modo di
trasmissione stream.
I comandi e le repliche che il client e il server FTP si scambiano sul canale di controllo sono
codificati in NVT ASCII. I comandi che il client può inviare al server sono circa 30; i più importanti
sono riportati nella tabella. Le repliche del server sono costituite da un numero di tre cifre usato dal
client per individuare il tipo di risposta, e da un commento per l'utente. Esempi di reply sono: 200
Command OK, 331 Username OK – password required, eccetera.
Comando Descrizione
ABOR annulla (abort) il precedente comando FTP e ogni trasferimento di dati LIST filelist elenca
(list) file e directory
PASS password password sul server
PORT n1, n2, n3, n4, n5, n6 client IP address (nl.n2.n3.n4) e port (n5 x 256 + n6)
QUIT logoff dal server
RETR filename ottieni (retrieve, get) un file
STOP filename immagazzina (store, put) un file
SYST server returns system type
TYPE type specifica il tipo di file: A per ASCII, I per image
USER username usename sul server
TFTP (Trivial FTP) è una versione semplificata di FTP usata normalmente per downloading di
software e specificata nel RFC 1350.
DNS
[Il DNS è specificato negli RFC 1035, 883 e 882]
110
Networking
Teoria
Esempio di DNS
I programmi raramente si riferiscono agli host, alle mailbox e ad altre risorse mediante i loro
indirizzi di rete IP e tantomeno tramite numeri binari. Sarà preferibile rivolgersi ai sistemi tramite
stringhe, come ad esempio utente@dominio. Tuttavia, gli apparati di rete dispongono della sola
nozione di indirizzo binario, quindi è necessario un meccanismo che consenta di convertire le
stringhe in indirizzi di rete.
Il Domain Name Server (DNS) è una base di dati distribuita e replicata per gestire principalmente
la corrispondenza tra nomi e indirizzi IP. DNS si avvale di una struttura gerarchica ad albero per
stabilire i nomi. La radice è la voce di massimo livello ed è anche il nodo genitore rispetto ai livelli
inferiori di un albero. L'albero è costituito da rami, che collegano i nodi.
Le etichette dei nodi dello stesso livello nell'albero devono essere completamente univoche e
distinte: ciò significa che l'etichetta deve essere un nome unico e inconfondibile nel livello di nodo
specifico.
Ogni dominio, identificato da un nome univoco, controlla ed ha la responsabilità dell'allocazione dei
domini nel suo comprensorio. Per creare un nuovo dominio, è necessaria l'autorizzazione del
dominio nel quale questo verrà incluso. Una volta che il nuovo dominio è stato creato e registrato,
esso può creare a sua volta dei sottodomini senza aver bisogno di richiedere l'autorizzazione a
nessuno dei domini superiori.
• com: Organizzazioni commerciali (hp.com, sun.com ...);
• edu: Organizzazioni educative (berkeley.edu, purdue.edu ...);
• gov: Organizzazioni governative (nasa.gov, nsf.gov ...);
• mil: Organizzazioni militari (army.mil, navy.mil ...);
• net: Organizzazione di gestione reti (nsf.net ...);
• org: Organizzazioni non commerciali (eff.org ...);
• int: Organizzazioni internazionali (nato.int ...);
• country-code: Codice di due caratteri per indicare una nazione.
Lo spazio dei nomi è diviso in diversi domini di massimo livello (top-level domains), tra i quali
distinguiamo dei top-level domain generici (generic domains) e dei top-level domain geografici
111
Networking
Teoria
(country domains). Almeno in teoria, un unico name server potrebbe contenere l'intero DNS
database e rispondere a tutte le interrogazioni che lo riguardano. In realtà, questo server sarebbe
così sovraccarico da essere inutilizzabile.
Inoltre, se per qualsiasi motivo questo si guastasse, l'intera Internet si non disporrebbe più del
servizio dei nomi.
Non è pensabile quindi che tutte le traduzioni indirizzo IP - name_address siano contenute
all'interno di un unico database o siano decise da una sola organizzazione. Il sistema è
organizzato invece con la modalità di database distribuito e con il meccanismo della delegation:
una società o università, proprietaria di una rete, viene delegata per scegliere le traduzioni IP
address - name address come vuole, e si impegna a mettere a disposizione un server DNS che,
quando viene interrogato dall'esterno, possa fare queste traduzioni, che quindi sono conosciute
solo su quel server.
Posta elettronica
[Standard per la formazione di messaggio è specificato nel RFC 822]
La posta elettronica è uno dei servizi più consolidati ed usati nelle reti. In Internet è in uso da circa
20 anni, e prima del WWW era senza dubbio il servizio più utilizzato. Un servizio di posta
elettronica, nel suo complesso, consente di effettuare le seguenti operazioni:
• comporre un messaggio;
• spedire il messaggio (a uno o più destinatari);
• ricevere messaggi da altri utenti;
• leggere i messaggi ricevuti;
• stampare, memorizzare, eliminare i messaggi spediti o ricevuti.
Di norma, un messaggio ha un formato ben preciso. In Internet un messaggio ha un formato
(definito nell'RFC 822) costituito da un header e da un body, separati da una linea vuota. L'header
è a sua volta costituito da una serie di linee, ciascuna relativa a una specifica informazione
(identificata da una parola chiave che è la prima sulla linea); alcune informazioni sono:
• To: indirizzo di uno o più destinatari.
• From: indirizzo del mittente.
• Cc: indirizzo di uno o più destinatari a cui si invia per conoscenza.
• Bcc: blind Cc: gli altri destinatari non sanno che anche lui riceve il messaggio.
• Subject: argomento del messaggio.
• Sender: chi materialmente effettua l'invio (ad esempio nome della segretaria).
Il body contiene il testo del messaggio, in caratteri ASCII. L'ultima riga contiene solo un punto, che
identifica la fine del messaggio. Gli indirizzi di posta elettronica in Internet hanno la forma:
112
Networking
Teoria
username@hostname dove username è una stringa di caratteri che identifica il destinatario, e
hostname è un nome DNS oppure un indirizzo IP. Ad esempio, [email protected].
La posta elettronica viene implementata in Internet attraverso la cooperazione di due tipi di
sottosistemi:
• Mail User Agent (MUA);
• Mail Transport Agent (MTA).
Il primo permette all'utente finale di:
• comporre messaggi;
• consegnarli a un MTA per la trasmissione;
• ricevere e leggere messaggi;
• salvarli o eliminarli.
Il secondo si occupa di:
• trasportare i messaggi sulla rete, fino alla consegna a un MTA di destinazione;
• rispondere ai MUA dei vari utenti per consegnare loro la posta arrivata;
• in questa fase l'MTA richiede ad ogni utente una password per consentire l'accesso ai messaggi.
SMTP, POP3 e IMAP
[SMTP è specificato nel RFC 821]
[POP3è specificato nel RFC 1225]
Esiste la definizione di due protocolli per la posta elettronica:
• SMTP (Simple Mail Transfer Protocol) per il trasporto dei messaggi: dal MUA di origine ad un
MTA; fra vari MTA, da quello di partenza fino a quello di destinazione;
• POP3 (Post Office Protocol versione 3) per la consegna di un messaggio da parte di un MTA al
MUA di destinazione.
Il Simple Mail Transfer Protocol (SMTP) è probabilmente l'applicativo più importante del TCP/IP.
Esso permette di inviare posta elettronica agli utenti della rete.
Ogni utente è identificato dalla sintassi 'Utente@Elaboratore' e non è richiesta alcuna
autorizzazione per poter inviare un messaggio di posta elettronica. Il procedimento di invio avviene
in batch, riprovando più volte sino a quando l'elaboratore remoto non diventa raggiungibile.
L'utente remoto viene avvisato dell'arrivo di un nuovo messaggio.
Recentemente sono stati introdotti altri protocolli più sofisticati, quali IMAP (Interactive Mail Acces
Protocol, RFC 1064) e DMSP (Distributed Mail System Protocol, RFC 1056), il cui supporto però
non è ancora molto diffuso nel software disponibile agli utenti.
113
Networking
Teoria
SMTP
Inoltre, non è detto che il primo MTA consegni i messagi direttamente all'MTA di destinazine. È
possibile che le macchine siano configurate in modo da trasferire i messaggi attraverso un certo
numero di server SMTP intermedi.
Se un host, tipicamente un PC, non è collegato direttamente ad Internet (ad esempio, nel caso di
accesso remoto tramite un Internet provider), esso utilizza un mail server per inviare e ricevere
messaggi di posta elettronica. POP3 consente di prelevare i messaggi di posta e memorizzarli sul
PC locale, per poi poterli leggere (consultazione off-line). Un protocollo più sofisticato è IMAP
(Interactive Mail Access Protocol). Esso, a differenza di POP3, consente all'utente di leggere i
messaggi direttamente dal server, senza doverli quindi prelevare e memorizzare sul proprio PC
(consultazione on-line).
Infine, vanno citate due significative estensioni di funzionalità della posta elettronica:
• possibilità di inviare messaggi di posta contenenti informazioni di qualunque tipo (per esempio
programmi eseguibili, immagini, filmati, suoni, eccetera) attraverso lo standard
MIME
(Multipurpose Internet Mail Extension, RFC 1341 e 1521);
• possibilità di inviare messaggi corredati di firma digitale o crittografati, attraverso lo standard in
via di definizione S/MIME (Secure/MIME, RFC 1847).
HTTP
[HTTP 1.0 è specificato nel RFC 1945]
[HTTP 1.1 è specificato nel RFC 2616]
Il protocollo Hypertext Transfer Protocol (HTTP) è la base del World Wide Web (WWW). Un Web
client, chiamato comunemente browser, comunica con un Web server usando una o più
connessioni TCP. La well-known port per indirizzare sul server il servizio è la 80.
HTTP è il protocollo usato dal client e dal server per lo scambio di messaggi attraverso
connessioni TCP. I documenti che il server invia al client possono essere immagini, file di testo o
documenti di tipo HTML (HyperText Markup Language).
114
Networking
Teoria
HTTP è un protocollo semplice: il client stabilisce una connessione TCP con il server sulla porta
80, fa una richiesta e aspetta il documento di risposta, che in genere contiene puntatori (hypertext
link) ad altri file; questi possono risiedere sullo stesso server o su altri. Il server indica la fine del
documento chiudendo la connessione.
Per poter richiedere un certo servizio da un determinato host della rete, si usa un URL (Uniform
Resource Locator). Il formato per URL è:
scheme://hostname[:port]/directory/file
dove scheme individua il tipo di servizio richiesto, hostname è il nome della macchina server;
segue la directory di appartenenza e il nome del file.
Esempi di schemi sono:
• http: per un file su Web server (protocollo HTTP);
• ftp: per un file su ftp server (protocollo FTP);
• telnet: per una connessione su un servizio basato su telnet.
Esempi di URL sono:
• http://info.cern.ch/;
• http://www.ietf.org/;
• ftp://ftp.nis.garr.it/.
Quando un client effettua una richiesta invia diverse informazioni:
• il metodo (cioè il comando) che si chiede al server di eseguire;
• il numero di versione del protocollo HTTP in uso;
• l'indicazione dell'oggetto al quale applicare il comando;
• varie altre informazioni, fra cui:
• il tipo di client;
• i tipi di dati che il client può accettare.
I metodi definiti in HTTP sono:
• GET: richiesta di ricevere un oggetto dal server;
• HEAD: richiesta di ricevere la sola parte head di una pagina HTML;
• PUT: richiesta di mandare un oggetto al server;
• POST: richiesta di appendere sul server un oggetto a un altro;
• DELETE: richiesta di cancellare sul server un oggetto;
• LINK e UNLINK: richieste di stabilire o eliminare collegamenti fra oggetti del
server.
In proposito, si noti che il metodo che si usa più frequentemente è GET; POST ha il suo più
significativo utilizzo in relazione all'invio di dati tramite form; HEAD si usa quando il client vuole
avere delle informazioni per decidere se richiedere o no la pagina; PUT, DELETE, LINK, UNLINK
115
Networking
Teoria
non sono di norma disponibili per un client, tranne che in quei casi in cui l'utente sia abilitato alla
configurazione remota (via Web) del server Web.
Ad esempio, supponiamo che nel file HTML visualizzato sul client vi sia un'ancora:
<A HREF="http://pippo.net/pluto/minnie/index.html"> ..... </A>
e che l'utente attivi tale link. A tal punto il client:
• chiede al DNS l'indirizzo IP di pippo.net;
• apre una connessione con pippo.net, porta 80;
• invia la sua richiesta.
Essa è costituita da un insieme di comandi (uno per ogni linea di testo) terminati con una linea
vuota:
• GET /pluto/minnie/index.html HTTP/1.0: metodo, URL e versione protocollo;
• User-agent: Mozilla/3.0: tipo del client;
• Host: 160.10.5.43: indirizzo IP del client;
• Accept: text/html: client accetta pagine HTML;
• Accept: image/gif: client accetta immagini;
• Accept: application/octet-stream: client accetta file binari qualunque;
• If-modified-since: data e ora: inviare il documento solo se è più recente della data specificata.
La risposta del server è articolata in più parti, poiché il client non può sapere in che modo dovrà
gestire le informazioni che gli arriveranno. Si consideri ad esempio il fatto che non si può mostrare
sotto forma di testo un'immagine o un file sonoro, e dunque si deve informare il client sulla natura
dei dati che gli arriveranno prima di iniziare a spedirglieli.
Per questo motivo la risposta consiste di 3 parti:
• una riga di stato, che indica quale esito ha avuto la richiesta (tutto ok, errore, eccetera);
• delle metainformazioni che descrivono la natura delle informazioni che seguono;
• le informazioni vere e proprie (ossia, l'oggetto richiesto).
La riga di stato, a sua volta, consiste di tre parti:
• Versione del protocollo HTTP;
• Codice numerico di stato;
• Specifica testuale dello stato.
Tipici codici di stato sono:
Esito Codice numerico Specifica testuale
Tutto ok 200 OK
Documento spostato 301 Moved permanently
Richiesta di autenticazione 401 Unauthorized
Richiesta di pagamento 402 Payment required
Accesso vietato 403 Forbidden
116
Networking
Teoria
Documento non esistente 404 Not found
Errore nel server 500 Server error
SYST server returns system type OK
Dunque, ad esempio, si potrà avere:
HTTP/1.0 200 OK
Le metainformazioni comunicano al client ciò che deve sapere per poter gestire correttamente i
dati che riceverà. Sono elencate in linee di testo successive alla riga di stato e terminano con una
linea vuota. Tipiche metainformazioni sono:
• Server: ... : identifica il tipo di server;
• Date: ... : data e ora della risposta;
• Content-type: ... : tipo dell'oggetto inviato;
• Content-length: ... : numero di byte dell'oggetto inviato;
• Content-language: ... : linguaggio delle informazioni;
• Last-modified: ... : data e ora di ultima modifica;
• Content-encoding: ... : tipo di decodifica per ottenere il content;
Il Content-type si specifica usando lo standard MIME (Multipurpose Internet Mail Exchange), nato
originariamente per estendere la funzionalità della posta elettronica.
Un tipo MIME è specificato da una coppia:
MIME type/MIME subtype
Vari tipi MIME sono definiti, e molti altri continuano ad aggiungersi. I più comuni sono:
Type/Subtype Estensione Tipologia delle
informazioni
text/plain .txt, .java testo
text/html .html, .htm pagine HTML
image/gif .gif immagini gif
image/jpeg .jpeg, .jpg immagini jpeg
audio/basic .au suoni
video/mpeg .mpeg filmati
application/octet-stream .class, .cla, .exe programmi eseguibili
application/postscript .ps documenti Postscript
x-world/x-vrml .vrml, .wrl scenari 3D
Il server viene configurato associando alle varie estensioni i corrispondenti tipi MIME. Quando gli
viene chiesto un file, deduce dall'estensione e dalla propria configurazione il tipo MIME che deve
comunicare al client.
117
Networking
Teoria
Se la corrispondenza non è nota, si usa quella di default (tipicamente text/html), il che può causare
errori in fase di visualizzazione. Anche la configurazione del client (in merito alle applicazioni
helper) si fa sulla base dei tipi MIME. Tornando al nostro esempio, una richiesta del client quale:
GET /products/toasters/index.html HTTP/1.0
User-agent: Mozilla/3.0
eccetera
riceverà come risposta dal server (supponendo che non ci siano errori) le metainformazioni, poi
una riga vuota e quindi il contenuto del documento (in questo caso una pagina HTML costituita di
6528 byte):
HTTP/1.0 200 OK
Server: NCSA/1.4
Date: Tue, july 4, 1996 19:17:05 GMT
Content-type: text/html
Content-length: 6528
Content-language: en
Last-modified: Mon, july 3, 1996 15:05:35 GMT
________________________________________<----- notare la riga vuota
<HTML>
<HEAD>
...
<TITLE>...</TITLE>
...
</HEAD>
<BODY>
...
</BODY>
</HTML>
Sulla base di quanto detto finora, si possono fare alcune osservazioni:
• il protocollo HTTP è molto semplice, essendo basato su interazioni che prevedono
esclusivamente l'invio di una singola richiesta e la ricezione della relativa risposta;
• questa semplicità è insieme un punto di forza e di debolezza:
• di forza perché è facilissimo, attraverso la definizione di nuovi tipi MIME e di corrispondenti
funzioni sui client, estendere le tipologie di informazioni gestibili (il server non entra nel merito di
ciò che contengono i file: si limita a consegnare i dati che gli vengono richiesti, senza preoccuparsi
della loro
semantica);
118
Networking
Teoria
• di debolezza perché queste estensioni di funzionalità talvolta mal si adattano alla concezione
originaria (stateless) del protocollo, come ad esempio è il caso delle transazioni commerciali.
Dynamic Host Configuration Protocol (DHCP)
DHCP (Dynamic Host Configuration Protocol) è standard, secondo quanto definito dalle specifiche
RFC 2131 e 2132 IETF. DHCP è in grado di configurare automaticamente un host durante il suo
avvio su una rete TCP/IP, e può modificare le impostazioni mentre l'host è connesso. Ciò consente
di memorizzare tutti gli indirizzi IP disponibili insieme alle relative informazioni di configurazione,
quali le subnet mask, i gateway e gli indirizzi dei server DNS, su un database centralizzato.
Il protocollo DHCP si basa sul protocollo BOOTStrap Protocol (BOOTP), standard Internet (RFC
951 e 1084), che consente l'assegnazione dinamica degli indirizzi IP oltre al riavvio a distanza di
workstation prive di disco. DHCP supporta l'assegnazione dinamica degli indirizzi IP e fornisce
inoltre tutti i dati di configurazione richiesti dai protocolli TCP/IP, più dati aggiuntivi richiesti per
server specifici.
Come osservato, ciò semplifica i compiti dell'amministratore di rete, al quale adesso sarà
sufficiente configurare manualmente solo un computer: il server DHCP. Quando viene connesso
un nuovo host sul segmento di rete servito dal server DHCP, oppure quando viene riacceso un
host esistente, il computer richiede un indirizzo IP univoco e il server DHCP ne assegna uno dal
pool degli indirizzi IP disponibili.
DHCP
Questo processo comprende quattro fasi: il client DHCP richiede un indirizzo IP (Risultato DHCP),
il server DHCP offre un indirizzo al client DHCP (Offerta DHCP), il client DHCP accetta l'offerta e
richiede l'indirizzo (Richiesta DHCP), quindi il server DHCP assegna ufficialmente l'indirizzo al
client DHCP (Riconoscimento DHCP).
119
Networking
Teoria
Server DHCP
Il Server DHCP, attraverso uno strumento di gestione consente agli amministratori di rete di
definire le configurazioni dei client DHCP. Il server DHCP comprende inoltre un database per la
gestione dell'assegnazione degli indirizzi IP e di altri parametri di configurazione.
I parametri di configurazione TCP/IP che possono essere assegnati dal server DHCP includono:
• Indirizzi IP di ciascuna scheda di rete dei computer client.
• Subnet mask, che vengono utilizzate per identificare la parte IP della rete dalla
parte host dell'indirizzo IP.
• Gateway predefiniti (router), che vengono utilizzati per collegare un singolo
segmento della rete agli altri segmenti.
• Parametri di configurazione aggiuntivi che possono essere assegnati ai client
DHCP, quali ad esempio gli indirizzi IP per i server DNS o Windows Internet Naming Service
(WINS) che un client potrebbe utilizzare.
Client DHCP
Molte piattaforme economiche standard sono in grado di funzionare come client DHCP, secondo
quanto stabilito dalla specifica RFC 2132 aggiornata.
Le quattro fasi necessarie a un client DHCP per ottenere un lease da un server DHCP vengono
avviate automaticamente quando il computer viene avviato per la prima volta.
La configurazione client minima richiesta da DHCP può essere abilitata velocemente durante
l'installazione del client oppure mediante l'esecuzione manuale di una breve reimpostazione delle
proprietà TCP/IP del client.
Oltre a rendere disponibili le informazioni di configurazione mediante DHCP, gli amministratori di
rete sono in grado di sovrascrivere le impostazioni dinamiche mediante impostazioni manuali. Ogni
informazione inserita manualmente nella configurazione TCP/IP di un client sovrascrive le
impostazioni dinamiche.
Per l'esecuzione del proprio lavoro, i protocolli BOOTP e DHCP si basano sui broadcast di rete. I
router, in ambienti di routing normale, non inoltrano automaticamente broadcast da un'interfaccia a
un'altra, pertanto, è necessario utilizzare un agente di inoltro che trasmetta tale comunicazione. Un
agente di inoltro DHCP può essere un router oppure un computer host configurato per ascoltare i
messaggi broadcast DHCP/BOOTP e indirizzarli verso server DHCP specifici.
L'utilizzo degli agenti di inoltro elimina la necessità di disporre di un server DHCP fisico su ogni
segmento della rete. Gli agenti di inoltro non soltanto indirizzano le richieste dei client DHCP locali
ai server DHCP remoti, ma restituiscono le risposte dei server DHCP remoti ai client DHCP.
120
Networking
Teoria
I router conformi alla specifica RFC 2131 (che sostituisce la RFC 1542) contengono agenti di
inoltro che consentono di inoltrare pacchetti DHCP.
Amministrazione DHCP
Ambiti DHCP
Un ambito DHCP è un raggruppamento amministrativo che identifica gli intervalli consecutivi
completi di indirizzi IP possibili per tutti i client DHCP su una subnet fisica.
Gli ambiti definiscono una subnet logica destinata a essere fornita di servizi DHCP e consentono al
server di identificare i parametri di configurazione che vengono assegnati a tutti i client DHCP sulla
subnet. È necessario definire un ambito prima che i client DHCP siano in grado di utilizzare il
server DHCP per la configurazione TCP/IP dinamica.
Pool di indirizzi
Una volta definito un ambito DHCP e applicati gli intervalli di esclusione, gli indirizzi rimanenti
formano all'interno dell'ambito ciò che viene chiamato un pool di indirizzi disponibili. Gli indirizzi del
pool possono quindi venire assegnati dinamicamente ai client DHCP sulla rete.
Intervalli di esclusione
Un intervallo di esclusione rappresenta una sequenza limitata di indirizzi IP all'interno di un
intervallo di ambito che non devono essere assegnati dal servizio DHCP. Se utilizzati, gli intervalli
di esclusione agiscono in modo che ai client del server DHCP non rilasciato offerto alcun indirizzo
contenuto in un determinato intervallo di esclusione.
Prenotazioni
Le prenotazioni consentono al server DHCP di assegnare lease di indirizzi permanenti. Se
utilizzate, le prenotazioni garantiscono la capacità di utilizzare sempre lo stesso indirizzo IP a una
periferica hardware specifica sulla subnet.
Ambiti estesi
È possibile utilizzare una funzionalità amministrativa inclusa nello strumento Manager DHCP
Microsoft per creare un numero di ambiti separati, raggruppati in una singola entità denominata
ambito esteso. Gli ambiti estesi sono utili per risolvere diversi problemi relativi al servizio DHCP.
Lease
Un lease rappresenta la durata dell'utilizzo di un indirizzo IP assegnato specificata da un server
DHCP a un client. Quando un lease viene rilasciato a un client, viene descritto come attivo. A metà
della durata del lease, è necessario che il client rinnovi l'assegnazione del lease di indirizzo con il
server. La durata dei lease influisce sulla frequenza delle richieste di rinnovo dei client al server
DHCP relative ai lease che sono stati loro assegnati.
Opzioni DHCP
121
Networking
Teoria
Le opzioni DHCP rappresentano altri parametri di configurazione client che un server DHCP è in
grado di assegnare durante la distribuzione di lease ai client DHCP. Ad esempio, gli indirizzi IP per
un router o per un gateway predefinito, per i server WINS o per i server DNS vengono
normalmente forniti per un ambito singolo oppure globalmente per tutti gli ambiti gestiti dal server
DHCP. Molte opzioni DHCP sono predefinite secondo la specifica RFC 2132.
122
Networking
Teoria
11.Server software
Principali funzioni dei componenti software di un server
di rete
Un server è composto principalmente da un sistema operativo, protocolli e moduli di rete e il
supporto di programmi server e servizi.
Il sistema operativo
Le caratteristiche essenziali di un sistema operativo orientato alla gestione di ambienti distribuiti di
rete sono la multiprogrammazione e la multiutenza.
Un
sistema
operativo
multiprogrammato
è
in
grado
di
eseguire
più
programmi
contemporaneamente mediante algoritmi di gestione dei processi. Questa peculiarità è
fondamentale per consentire ai client di utilizzare una moltitudine di programmi e servizi residenti
sul server. La capacità di gestire più utenti consente una maggiore sicurezza del sistema unita
possibilità di regolare permessi di accesso alle risorse.
Protocolli di rete
Il sistema operativo comprende inoltre moduli che implementano i protocolli di rete, possono
essere integrati nel kernel oppure essere caricati o installati su richiesta. (Ad esempio moduli del
kernel di Linux o l'installazione dei protocolli nella rete per i sistemi Windows).
Programmi server e servizi
Tutte le funzionalità server solitamente sono demandate a programmi specifici, denominati
programmi server. Tali programmi vanno configurati e impostati secondo le esigenze della rete in
cui operano, occorrono perciò buone conoscenze di base sia del sistema operativo in uso, sia
delle reti e dei protocolli di rete utilizzati.
I programmi server installati implementano soltanto il lato server nell'architettura client/server
necessaria per il funzionamento del servizio. Di solito, dipendentemente delle risorse del sistema
(velocità di calcolo e spazio disco e banda disponibile), si integrano più programmi server sulla
stessa macchina, dando luogo a sistemi concentrati di servizi di rete.
123
Networking
Teoria
Confronto tra le funzioni dei principali sistemi operativi
di rete
Esistono attualmente disponibili sul mercato o liberamente reperibili su Internet una grande
quantità di sistemi operativi con implementazioni e funzionalità orientate alle reti.
Tra i sistemi maggiormente diffusi di tipo open source citiamo GNU/Linux: disponibile in una
moltitudine di distribuzioni è implementazione libera e open source del sistema UNIX. La famiglia
di sistemi BSD come OpenBSD, NetBSD, FreeBSD sono implementazioni open source derivate da
BSD UNIX, la versione di UNIX sviluppata alla Berkeley Univesity.
Tra i sistemi operativi commerciali troviamo implementazioni del sistema UNIX come Digital UNIX
(Digital), Tru64 (Compaq), HP-UX (HP), AIX (IBM) e Solaris (Sun). Windows NT/2000 e XP sono
implementazioni del sistema Windows prodotto da Microsoft per le reti.
Tuttavia, per la generalità degli argomenti trattati e per la preponderante diffusione in ambienti
scolastici presentiamo le configurazioni e le descrizioni dei sistemi operativi: GNU/Linux RedHat e
Microsoft Windows 2000. Per le diverse versioni e varianti di questi sistemi operativi e per sistemi
simili come struttura e funzionalità rimandiamo alle descrizioni ed ai manuali relativi. Vedremo le
loro principali strutture e funzionalità.
Installazione e configurazione di driver per periferiche
di rete
Per quanto riguarda Windows2003, come per tutti i sistemi Microsoft, l'installazione dei driver per
le periferiche di rete è abbastanza semplice e occorre semplicemente eseguire il programma di
installazione fornito in dotazione con la scheda di rete stessa.
Se non si disponesse del driver relativo o se lo si ritenesse obsoleto di solito si contatta il sito del
produttore dell'hardware.
Per quanto riguarda i sistemi Linux è necessario caricare nel kernel l'opportuno modulo contenente
il driver. Alcuni kernel hanno già compilato all'interno i principali driver di rete cosicché siano
disponibili al momento dell'installazione, in questo caso non occorre fare nulla e all'avvio del
sistema sarà disponibile il dispositivo relativo all'hardware installato.
In caso contrario ogni specifico hardware ha un proprio modulo incluso nella distribuzione dei
sorgenti del kernel. È bene consultare gli HOW-TO relativi al driver in questione per poter fornire le
opzioni specifiche al momento del caricamento.
Dopo aver caricato il modulo opportuno il dispositivo è utilizzabile e pronto per essere configurato.
124
Networking
Teoria
Interfacciamento con la rete - Configurazione di una interfaccia
di rete
Il comando generalmente utilizzato negli script di avvio per configurare ed attivare una interfaccia
di rete è:
# ifconfig
Non sempre il suo utilizzo è obbligatorio: ad esempio le interfacce di rete associate ai link PPP
(ppp0, ppp1, ...) vengono attivate direttamente dal demone pppd che sovrintende alla
connessione. Se il comando ifconfig viene usato senza parametri, permette di ottenere lo stato
delle diverse interfacce attive sulla macchina:
# ifconfig
eth0 Link encap:Ethernet HWaddr 00:60:97:AC:34:A4
inet addr:193.43.98.1 Bcast:193.43.98.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:440578 errors:0 dropped:0 overruns:0 frame:0
TX packets:2363317 errors:0 dropped:0 overruns:0 carrier:0
collisions:503318 txqueuelen:100
Interrupt:12 Base address:0x6400
ppp0 Link encap:Point-to-Point Protocol
inet addr:213.255.24.25 P-t-P:213.255.6.251 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MTU:1500 Metric:1
RX packets:93509 errors:0 dropped:0 overruns:0 frame:0
TX packets:101886 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:30
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:3924 Metric:1
RX packets:122056 errors:0 dropped:0 overruns:0 frame:0
TX packets:122056 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
In questo caso nel sistema sono presenti l'interfaccia di loopback (lo), una scheda Ethernet (eth0)
ed un collegamento PPP (ppp0). I valori presenti nell'output di ifconfig hanno il seguente
significato:
• Link encap: il tipo di interfaccia (Ethernet denota che si tratta di una interfaccia Ethernet, mentre
Point-to-Point Protocol che si sta utilizzando il PPP).
• HWaddr: nel caso di schede Ethernet, contiene l'indirizzo MAC della scheda.
125
Networking
Teoria
• Inet addr: l'indirizzo IP associato alla interfaccia. Nel caso di collegamento punto-a-punto viene
indicato anche l'indirizzo presentato all'altro capo della connessione (P-t-P).
• Bcast: l'indirizzo di broadcast (ha senso solo nel caso di interfacce col parametro BROADCAST
attivo).
• Mask: la netmask associata alla interfaccia (nel caso di collegamenti punto-a-punto fra due
macchine, essa vale 255.255.255.255).
• Flags: le caratteristiche dell'interfaccia e lo stato della stessa. Nell'esempio, l'interfaccia eth0
risulta attualmente attiva (UP RUNNING), collegata ad un medium capace di trasmettere pacchetti
IP in broadcast (BROADCAST) ed in multicast (MULTICAST) e con dimensione massima dei
pacchetti trasmissibili (MTU) pari a 1500 bytes. Il parametro NOARP nel caso della interfaccia
Punto-a-punto indica che su questa interfaccia non viene gestito il protocollo ARP. Il campo Metric
viene infine utilizzato per definire la priorità della interfaccia nelle decisioni di routing.
• Statistiche: le ultime linee indicano delle statistiche sui pacchetti (frame) trasmessi e ricevuti e su
eventuali errori.
A proposito del campo flags è doveroso fare due brevi richiami:
Le interfacce ethernet, oltre a ricevere i pacchetti IP destinati al proprio indirizzo (unicast), ricevono
anche i pacchetti con destinatario l'indirizzo di broadcast della rete.
In questo modo è possibile spedire un pacchetto di dati in modo che venga ricevuto da tutte le
macchine presenti su uno stesso segmento di rete.
In aggiunta è possibile configurare l'interfaccia per ricevere anche i pacchetti destinati ad un
gruppo chiuso di macchine (MULTICAST). Tale funzionalità viene sfruttata ad esempio per
realizzare trasmissioni multimediali verso più utenti senza dover realizzare un collegamento
dedicato per ogni macchina.
Il parametro MTU indica la massima dimensione di un pacchetto trasmissibile su una determinata
interfaccia. Le interfacce Ethernet hanno in ogni caso un valore di MTU pari a 1500, imposto
dall'hardware e derivante dalla dimensione dei frame Ethernet. Eventuali pacchetti di dati di
dimensioni maggiori della MTU possono essere comunque trasmessi, ma prima devono essere
deframmentati ed in seguito riassemblati (tali operazioni vengono gestite automaticamente dallo
stack IP del sistema operativo).
Per configurare manualmente una interfaccia Ethernet si utilizza il comando:
ifconfig eth0 <ip_address> altri_parametri ...
Questo comando assegna un indirizzo IP all'interfaccia e la attiva. Se non vengono esplicitamente
specificati dei valori, per gli altri vengono utilizzati dei valori di default.
La netmask e l'indirizzo di broadcast vengono calcolati automaticamente in base alla classe
dell'indirizzo. Ad esempio se l'indirizzo appartiene ad una rete di classe C, la netmask viene posta
a 255.255.255.0.
126
Networking
Teoria
Un esempio di configurazione della interfaccia eth0 è il seguente:
ifconfig eth0 192.168.1.2 netmask 255.255.255.0 broadcast 192.168.1.255 up
Per maggiori dettagli e per le altre opzioni utilizzabili nel comando ifconfig si faccia riferimento alla
pagina del manuale in linea.
Una volta configurata l'interfaccia è necessario creare un opportuno percorso di instradamento
(route) verso gli indirizzi della rete raggiungibili mediante essa.
Nelle versioni recenti di Linux il kernel crea automaticamente tale route quando si configura
l'interfaccia. In caso contrario è possibile farlo a mano mediante il comando route:
route add -net 192.168.1.0 netmask 255.255.255.0 dev eth0
Le nuove versioni di route sono in grado di calcolare automaticamente eventuali valori non
specificati e l'interfaccia da utilizzare nel caso non la si indichi nella linea di comando, pertanto si
può semplificare il comando precedente in:
route add -net 192.168.1.0
Impartendo a mano i comandi di configurazione appena visti, essi non vengono salvati. Occorre
pertanto inserirli all'interno di un file di inizializzazione del sistema. A meno di situazioni particolari,
di solito non è necessario usare esplicitamente il comando ifconfig o creare a mano un file di avvio,
in quanto la sequenza di operazioni necessarie viene svolta al boot da uno degli script di
inizializzazione del sistema (in /etc/rc.d). Nelle distribuzioni moderne di Linux esistono degli
strumenti di configurazione che permettono una gestione semplice della configurazione delle
interfacce di rete.
Purtroppo i meccanismi usati non sempre sono standard fra le varie distribuzioni di Linux.
Interfacciamento con la rete - Indirizzamento con DHCP
In una rete contenente un numero elevato di nodi risulta macchinoso assegnare manualmente gli
indirizzi IP a ciascuna macchina. La maggior parte delle distribuzioni di Linux offrono la possibilità
di configurare una interfaccia di rete utilizzando i protocolli BOOTP (Boot Protocollo) oppure DHCP
(Dynamic Host Configuration Protocol), che consentono di centralizzare l'assegnazione degli
indirizzi attraverso l'uso di un apposito server.
Allo scopo viene utilizzato il demone dhcpcd, il quale si occupa di richiedere al server l'indirizzo. Ad
esso è associato un periodo di validità (lease), scaduto il quale il demone, che pertanto deve
rimanere attivo, si occupa di richiedere un nuovo indirizzo.
Poiché al momento del boot la macchina non dispone ancora di un indirizzo IP, la richiesta al
server viene fatta mediante un frame Ethernet spedito in modalità broadcast.
Mediante BOOT o DHCPD è possibile ottenere anche altri tipi di informazioni, ad esempio il nome
della macchina o del dominio di appartenenza e gli indirizzi dei server DNS da utilizzare per la
127
Networking
Teoria
risoluzione dei nomi. I dati ottenuti da dhchcp per le diverse interfacce vengono salvati in un file
/etc/dhcpc/dhcpcd-<nome_interfaccia>.info.
Quando dhcpcd ottiene dei dati da un server, esso esegue lo script /etc/dhcpc/dhcpcd-eth0.exe,
che contiene i comandi necessari a riconfigurare l'interfaccia con il nuovo indirizzo e ad aggiornare
il sistema con i valori ricevuti.
Per ulteriori informazioni si faccia riferimento al DHCP Mini HOWTO.
Interfacciamento con la rete - IP aliasing
Mediante ifconfig è anche possibile assegnare alla stessa interfaccia fisica più indirizzi IP. Tale
funzione è supportata ad esempio nel caso delle schede Ethernet, per le quali è possibile creare
delle interfacce logiche denominate ethN: M (ad esempio: eth0:1, eth0:2, ...) con indirizzi diversi.
Questo permette di gestire servizi virtuali che rispondano ad indirizzi diversi sulla stessa macchina.
Ad esempio è possibile configurare un server Web in modo che presenti pagine diverse a seconda
dell'indirizzo utilizzato per accedervi.
Per configurare un indirizzo IP secondario su una interfaccia Ethernet si utilizza il comando
ipconfig con la seguente sintassi:
ifconfig eth0:1 192.168.1.23 netmask 255.255.255.0 up
Se non esiste già, è necessario ricordarsi di creare una route verso l'indirizzo della nuova
interfaccia:
route add 192.168.1.23 dev eth0:1
Configurare il routing per la gestione dei pacchetti di una rete
locale verso Internet
L'operazione di routing consiste nelle decisioni che il kernel deve intraprendere per selezionare
l'interfaccia di rete mediante cui inviare un pacchetto IP destinato ad un determinato indirizzo: ad
esempio un pacchetto destinato ad una macchina appartenente allo stesso segmento di rete
ethernet di una delle interfacce del sistema viene spedito direttamente al destinatario.
Nel caso il destinatario non sia raggiungibile direttamente, il pacchetto di dati può essere dato in
consegna ad un router che si occupi del suo inoltro. Questo dispone di una interfaccia sulla stessa
rete della macchina e di una interfaccia su un'altra rete. In questo modo, passando per uno o più
router, è possibile far giungere il pacchetto IP alla destinazione desiderata. Se nella rete locale non
esiste una router attraverso cui è possibile raggiungere la macchina destinataria di un pacchetto,
questo viene scartato.
128
Networking
Teoria
Generalmente viene definito un router a cui spedire tutti i pacchetti non recapitabili attraverso altre
strade, che prende anche il nome di default gateway.
Per default, nelle versioni del kernel di Linux superiori alla 2.2, il forwarding di pacchetti IP, ovvero
il passaggio per una macchina di pacchetti generati da altre macchine e non diretti ad essa, non è
abilitato.
Volendo utilizzare il proprio sistema come un router, il forwarding deve essere attivato in modo
esplicito mediante il seguente comando:
echo 1 > /proc/sys/net/ipv4/ip_forward
Si tratta di un esempio significativo di come sia possibile utilizzare il proc filesystem per modificare
il funzionamento del kernel a run time. Altri esempi di tuning del kernel sono documentati nel file
net/TUNABLE fornito con i sorgenti del kernel di Linux.
Nei sistemi Windows si può abilitare la stessa funzione accedendo a Start ->Impostazioni ->
Pannello di controllo -> Strumenti di amministrazione -> Servizi ->Routing e Accesso remoto.
Selezionando le Proprietà con il tasto destro del mouse ed abilitando il modo Automatico nella
casella Tipo di Avvio.
Per rendere effettive le modifiche apportate, cliccare il pulsante Applica. Nel caso più banale la
decisione
sull'instradamento
viene
effettuata
semplicemente
confrontando
l'indirizzo
di
destinazione del pacchetto con il contenuto di una tabella di routing statico. In reti complesse è
possibile utilizzare uno dei protocolli di routine dinamico (RIP, OSPF e BGP4, ...) oppure utilizzare
le funzioni di filtraggio di pacchetti interne al kernel, per decidere i percorsi in base a criteri più
complessi, come la porta TCP o UDP sorgente o di destinazione, il tipo di protocollo oppure la
qualità di servizio desiderata (QoS).
Il comando netstat
Per visualizzare il contenuto corrente della tabella di routing si utilizza per tutti e due gli ambienti
operativi il comando netstat.
Riportiamo come esempio la tabella di routing di una macchina con una interfaccia
Ethernet sulla rete di classe C 192.168.1.0.
Il suo indirizzo IP è 192.168.1.14 e viene utilizzato come instradamento di default per il traffico
locale. Nella rete è presente un router all'indirizzo 192.168.1.254. Shell di Linux:
• netstat -h fornisce un help in linea con la sintassi del comando.
• netstat -r stampa il contenuto della tabella di routing.
• netstat -rn stampa il contenuto della tabella di routing senza che gli IP vengano risolti come nomi
simbolici.
129
Networking
Teoria
Configurazione IP di Linux
Tabella di routing di Linux
Prompt di MS-DOS di Windows2003:
• netstat /? fornisce un help in linea con la sintassi del comando.
• netstat -r stampa il contenuto della tabella di routing.
130
Networking
Teoria
Configurazione IP di Windows2000
Tabella di routing di Windows2000
L'output del comando netstat
I valori significativi che appaiono nell'output di netstat sono i seguenti:
• Destination o Indirizzo rete: identifica la rete di destinazione della route.
Questo valore per avere significato deve essere letto assieme al valore della netmask (Genmask o
Mask).
• Gateway: indica l'eventuale router da utilizzare per raggiungere la destinazione specificata.
131
Networking
Teoria
La tabella di routing contiene un insieme di percorsi di instradamento (route), che possono essere
di diverso tipo:
• una route di tipo H (host) identifica un percorso utilizzato per raggiungere un determinato host
(flag H);
• una network route specifica invece il percorso da utilizzare per raggiungere tutte le macchine di
una rete specificata (il campo Genmask contiene la netmask associata alla rete);
• una default route specifica quale interfaccia (o gateway) utilizzare come ultima risorsa se non
sono stati trovati degli altri percorsi validi.
Un instradamento può fare riferimento ad una interfaccia oppure passare attraverso un gateway
(identificato dal flag G).
Per interagire con la tabella, creare nuovi instradamenti o eliminare quelli esistenti, si utilizza il
comando route.
NOTA: nel caso sopra descritto, non è necessario aggiungere altre route statiche, in quanto nella
rete è presente un router che è in grado di instradare i pacchetti non diretti alla rete locale.
Esempi di utilizzo del comando route nella finestra prompt di ms-dos di
Windows2000
Aggiungere una route statica per l'instradamento verso la rete 192.168.50.0/24, attraverso
l'indirizzo IP 192.168.1.253:
route ADD 192.168.50.0 MASK 255.255.255.0 192.168.1.253
Cancellare una route statica per l'instradamento verso la rete 192.168.50.0
route DELETE 192.168.50.0
Creare una route di default utilizzando un default gateway:
route ADD 0.0.0.0 MASK 0.0.0.0 192.168.1.254
Cancellare una route di default:
route DELETE 0.0.0.0
Installare e configurare software antivirus
Per combattere efficacemente la diffusione dei virus in sistemi non dotati di un controllo efficace
sui permessi di lettura e scrittura degli utenti, è bene installare software che controllino
periodicamente i dati e file sensibili del sistema.
132
Networking
Teoria
Questi software sono chiamati Antivirus e vengono aggiornati continuamente per fare fronte alle
evoluzioni dei virus esistenti ed alla diffusione di quelli nuovi. Prevalentemente vengono installati
su macchine client con sistemi Windows.
L'installazione non presenta alcuna difficoltà, occorre però mantenere il proprio antivirus
aggiornato alle ultime versioni onde evitare di contrarre virus recenti non rilevabili da un antivirus
obsoleto.
Citiamo alcuni antivirus tra i più conoscuti:
• Norton (www.symantec.com)
• NetShield (www.mcafeeb2b.com)
• Protector (www.pspl.com)
133
Networking
Teoria
12.Client software
Installazione dei componenti software di un client di rete
I computer client di rete sono generalmente workstation su cui girano programmi client per i relativi
servizi, e che si connettono tramite la rete ai server presenti.
Non richiedono particolari caratteristiche hardware/software, ma necessitano di una configurazione
corretta per poter interrogare il server ed espletare così il servizio.
La scelta del sistema operativo è legata al programma client che si intende eseguire; alcuni di
questi sono multipiattaforma e possono girare su diversi sistemi operativi, altri invece sono scritti
per un unico sistema.
L'installazione dei programmi avviene nella maniera consueta:
Per le distribuzioni Linux:
• scaricare ed installare il pacchetto relativo alla distribuzione adottata;
• impostare la configurazione mediante script forniti con i sorgenti del
programma oppure modificando i file di configurazione.
Vedere le documentazioni relative alle varie distribuzioni:
http://www.linux.org/dist/list.html
Per i sistemi Windows:
• eseguire il setup di installazione;
• la configurazione generalmente viene richiesta automaticamente ad installazione avvenuta.
Configurazione dei protocolli di rete su di un client
Per il funzionamento dei servizi è fondamentale il supporto e la corretta impostazione dei protocolli
di rete incaricati del trasporto dei dati tra client e server.
Il protocollo maggiormente diffuso è il TCP/IP, ciò non toglie però che client specifici possano
utilizzarne altri molto diffusi come IPX, NetBEUI, o addirittura protocolli proprietari creati ad hoc per
la specifica applicazione.
Il protocollo di rete è un elemento che interagisce fortemente con il kernel del sistema operativo.
Vediamo la sua installazione nei due ambienti operativi.
134
Networking
Teoria
Esempi di installazione e configurazione del protocollo
di rete TCP/IP: Windows2000
Nel pannello di controllo, selezionare le risorse di rete e connessioni remote e successivamente le
proprietà della Connessione alla rete locale LAN. Nel pannello relativo alle proprietà
Proprieta' della rete locale in Windows 2000
accertarsi che sia installato il Protocollo Internet TCP/IP, e in caso contrario installarlo
selezionando il tasto Installa e scegliendo il protocollo dalla lista dei protocolli.
135
Networking
Teoria
136
Networking
Teoria
13. Amministrazione di una rete
Introduzione all'amministrazione di rete
Con il termine amministrazione di rete si intende indicare l'insieme delle funzioni di gestione
necessarie per garantire la corretta utilizzazione dei servizi, le funzionalità e la qualità di una rete.
È compito dell'amministratore di rete implementare le procedure e le politiche necessarie per
garantire il corretto funzionamento della rete, a partire dall'autenticazione degli utenti fino al
monitoraggio e al mantenimento delle corrette funzionalità degli apparati.
In questo corso verranno fornite informazioni sulle principali funzioni di amministrazione di rete,
partendo proprio dall'autenticazione degli utenti e dalla regolamentazione nell'uso dei servizi, per
giungere alle più tipiche funzioni di gestione e monitoraggio di rete.
Il problema dell'autenticazione
In un sistema informativo distribuito l'autenticazione riguarda la verifica dell'identità di un utente.
Sulla base di questa verifica il sistema permette o nega l'utilizzazione di risorse e/o l'esecuzione di
procedure.
Gli schemi adottati per l'autenticazione sono:
• User-to-host (da utente a host). Metodi usati dall'host per identificare gli utenti.
• Host-to-host (da host a host). Tecniche utilizzate dagli host per convalidare l'identità di altri host,
in modo da poter scoprire eventuali comunicazioni fraudolente.
• User-to-user (da utente ad utente). Metodi per essere certi che i dati elettronici originino
effettivamente dal supposto utente e non da qualcuno che si spaccia per il mittente.
Tecniche di autenticazione
Le tecniche mediante le quali è possibile identificare host o user sfruttano quello che sei
(Something You Are - SYA), quello che sai (Something You Know - SYK) o quello che possiedi
(Something You Have - SYH).
Le caratteristiche di queste tre tecniche possono essere così schematizzate: • SYH - L'utente
viene identificato per mezzo di qualcosa che possiede, detto token che può essere incluso in una
smart card o in un tesserino bancomat. Per potere essere autenticato e quindi accedere al sistema
l'utente deve possedere il token e, di norma, essere a conoscenza di un segreto, ad esempio un
137
Networking
Teoria
PIN o una password. Questo tipo di metodologia di identificazione può presentare i seguenti
problemi:
• Il token può essere smarrito, clonato o al momento non disponibile.
• Il token comporta un costo che in alcuni casi può anche essere elevato.
• Il correto uso del token presuppone l'esistenza di una infrastruttura hardware e software che può
essere piuttosto complessa.
• SYA - L'utente viene identificato per mezzo di qualcosa che è. Appartengono a questa categoria i
meccanismi
di
identificazione
biometrica.
L'utente
è
autenticato
sulla
base
di
fisici
precedentemente impostati e su di lui modellati. Questa metodologia di identificazione può
presentare i seguenti problemi:
• Alta percentuale di errore, stimabile nel 10%.
• Rischio di intrusione nei sistemi di rilevazione.
• Costo elevato delle attrezzature.
• SYK - L'utente viene identificato per mezzo di qualcosa che sa. È questo il metodo di
riconoscimento a mezzo password segreta. È sicuro se ben realizzato ossia se abbinato a
tecniche crittografiche quando le password viaggiano sulla rete, è efficiente, non è intrusivo e,
soprattutto, è economico.
A seconda di come gli schemi precedenti vengono applicati, la tecnica di autenticazione può
essere:
• a fattore unico;
• a due o più fattori.
L'autenticazione a fattore unico è basata sul possesso o la conoscenza di una singola entità, ossia
un elemento che solo l'utente ha a disposizione (per esempio lo schema basato sulla conoscenza
di nome_utente e password, dove il primo viene distribuito all'intera organizzazione, mentre la
parola chiave è nota solo all'utente). Tali schemi non presentano un elevato grado di sicurezza:
quando le password sono facili da ricordare, spesso lo sono anche da indovinare; occorre quindi
definire scelte rigide per la scelta delle password, evitando facili schemi, quali date di nascita,
iniziali di nomi, eccetera (inoltre è bene modificarle periodicamente).
Gli schemi a due fattori si basano sulla memorizzazione di un'entità e sul possesso di un'altra
(esempio possesso di una card e conoscenza di un PIN). La sicurezza è migliore rispetto agli
schemi a fattore unico; tuttavia risulta di scarsa praticità d'uso. Tra l'altro, oltre a poter dimenticare
l'informazione, è possibile smarrire l'oggetto necessario all'autenticazione.
Per ragioni di semplicità ed economia la forma di autenticazione più usata, in Internet, è SYK a
fattore unico con l'utilizzo della password segreta.
138
Networking
Teoria
Amministrazione di sistema
I moderni sistemi operativi di rete sono sistemi operativi multiutente. Più utenti possono pertanto
accedere contemporaneamente al sistema ed utilizzarne le risorse, quali dati contenuti nelle
memorie di massa (direttori e file) o programmi.
Questo accesso può avvenire direttamente dalla console del calcolatore oppure tramite rete.
In questi sistemi, al fine di garantirne la sicurezza, ad ogni risorsa sono associati determinati
permessi, in modo da restringerne l'accesso ai soli utenti abilitati. Nel seguito vedremo quali sono
le modalità per creare gli utenti, associare loro delle proprietà ed abilitarli o meno all'uso delle
risorse del sistema stesso.
L’amministrazione centralizzata di un sistema viene garantita dai sistemi windows
mediante il servizio di Active Directory, che consente di creare utenti, gruppi, politiche di
sicurezza e di assegnare permessi alle risorse (file, cartelle e stanpanti)
Servizi di directory
Un servizio di directory è una sorta di base dati distribuita di informazioni o di puntatori alle
informazioni (per esempio, utenti, gruppi, risorse). Una volta implementata la directory, è possibile
creare applicazioni distribuite che la utilizzano. Ad esempio l'elenco telefonico è un servizio di
directory per la rete telefonica in cui la base dati contiene contiene i dati delle persone e le loro
proprietà associate, che sono i numeri telefonici e l'indirizzo. Una semplice applicazione potrebbe
ricavare il numero telefonico dato il nome dell'utente.
Il protocollo X.500 sviluppato dalla ISO è lo standard internazionale per i servizi di directory. Il
protocollo X.500 specifica lo schema di default con cui costruire la base dati e descrive alcune
classi di oggetti e i loro attributi associati. In particolare X.500 specifica che i dati (detti Directory
Information Base o DIB) siano organizzati secondo un albero logico detto Directory Information
Tree (DIT). Quindi le directory basate sul protocollo X.500 permettono di creare oggetti che
contengono altri oggetti e supportano relazioni gerarchiche. L'albero delle informazioni viene
costruito in base ai valori di attributi delle informazioni che possono essere di tipo assolutamente
generale.
In una directory X.500 deve essere possibile reperire gli oggetti secondo schemi di ricerca, per
esempio basati sui nomi degli attributi di un oggetto. Ogni elemento del DIB può essere ritrovato
utilizzando due diverse notazioni:
• Distinguished Name (DN) che identifica univocamente l'elemento nell'albero;
• Relative Distinguished Name (RDN) che identifica univocamente l'oggetto all'interno di uno
specifico contesto, ossia come elemento all'interno di una parte dell'albero.
139
Networking
Teoria
X.500 specifica le regole con cui gli elementi del DIB possono essere ordinati, filtrati ed elaborati in
genere. La ricerca di elementi all'interno del DIB viene svolta da un agente detto Directory User
Agent (DUA) che accedere ai dati utilizza un protocollo specifico detto DAP (Directory Access
Protocol).
Come vedremo una sua versione semplificata detta LDAP (Lightweight DAP) viene utilizzata per
accedere a servizi di directory in Linux e Windows.
Ad esempio in un ambiente scolastico la directory del personale della scuola potrebbe essere un
albero organizzato tramite attributi che identifichino le mansioni del personale stesso. Partendo
dalla radice (ROOT) del DIT si potrebbe avere un primo attributo legato all'area operativa (A) ed un
secondo legato all'attività specifica nell'ambito dell'area operativa (B) ed infine un terzo che
identifica la persona per nome e cognome (C).
• Root
• A=Amministrazione
• A=Docenti
• B=Italiano
• C=Rossi
• C=Bianchi
• B=Matematica
• ...
• ...
• A=Tecnici
• ...
In questo DIT il Prof. Rossi può essere identificato utilizzando il distinguished name
DN={A=Docenti,B=Italiano,C=Rossi}, oppure all'interno della parte di albero relativo ai docenti di
italiano dal relative distinguished name RDN={C=Rossi}.
Come vedremo la gestione di un sistema distribuito può avvalersi di uno o più directory service per
la catalogazione dei nomi e degli attributi degli elementi del sistema, siano essi utenti, calcolatori o
quant'altro.
Domain name system
Il Domain Name System (DNS) è uno dei più noti ed utilizzati servizi di directory. Esso risulta
fondamentale per il buon funzionamento dell'attuale rete Internet.
Come noto l'instradamento a livello di protocollo IP si basa sull'indirizzo IP degli host. Per ragioni di
comodità e di più facile memorizzazione gli esseri umani associano agli host, ed in particolare ai
server dei nomi a parole.
140
Networking
Teoria
Il DNS altro non è che un servizio di directory che permette di associare ad un nome simbolico di
un host il suo numero IP.
Il DNS segue l'architettura di un servizio di directory vista precedentemente, per cui ha una
organizzazione ad albero:
• Internet è partizionata in aree logiche dette domini con un nome univoco.
• I singoli domini possono a loro volta essere suddivisi in sottodomini.
Non esiste limite al numero di ripartizioni di un dominio o sottodominio. Una rete IP appartiene
solitamente ad un dominio o sottodominio e il suo posizionamento nell'albero della directory si
riflette nella forma che assumono i nomi degli host.
I nomi sono composti da stringhe di caratteri separati da punti:
• la struttura dei nomi segue l'organizzazione gerarchica a partire da destra, dove si trova il nome
di maggior valore (del dominio primario), seguito da quelli di valore sempre inferiore;
• le stringhe sono abbreviazioni convenzionali che indicano luogo fisico o ente di appartenenza
dell'host;
•
il
numero
di
stringhe
è
Esempio di nome simbolico nella gerarchia DNS
141
virtualmente
illimitato,
al
contrario
del
numero
IP.
Networking
Teoria
Utilizzazione di DNS
In una rete IP esiste normalmente almeno un server DNS, ossia un calcolatore dove è attivo il
servizio DNS e nel quale risiede l'archivio con i nomi degli host di quella rete.
Negli host sono implementati metodi automatici per tradurre nomi in numeri, detti Name Resolver.
Il name Resolver si preoccupa di questa traduzione, dialogando con il Name Server che è un
programma specializzato per la risoluzione di nomi appartenenti ad altri domini.
Tutti i DNS servers utilizzano memoria cache per ridurre il traffico DNS sulla rete. Di default DNS
usa UDP: ma se la risposta supera 512 bytes, viene troncata e si esegue una ulteriore
interrogazione tramite TCP, che supporta la frammentazione.
Esempio di ricerca nel DNS utilizzando il Name Resolver
LDAP
LDAP (Lightweight Directory Access Protocol) è un altro sistema di gestione centralizzata di
informazioni, il quale offre un approccio più generico rispetto a NIS, in quanto non si limita ai soli
dati amministrativi ma è utilizzabile anche per gestire dati generici quali bookmarks o indirizzari.
L'aggettivo lighweight (leggero), suggerisce una progettazione del sistema che privilegia le
prestazioni. L'architettura di LDAP è infatti studiata per avere tempi di risposta molto veloci nella
ricerca e lettura dei dati, a scapito di una maggiore lentezza nelle operazioni di scrittura e
aggiornamento. Questo non rappresenta un problema grave, in quanto le operazioni di scrittura
avvengono di norma meno frequentemente rispetto a quelle di lettura (si pensi al numero di volte in
cui la propria agenda telefonica viene consultata rispetto a quelle in cui viene modificata).
LDAP gestisce insiemi di dati strutturati secondo una gerarchia ad albero (directory), nei quali i
singoli elementi possono essere oggetti che possiedono diversi attributi. Gli elementi di una
directory, nodi intermedi o foglie dell'albero, possono anche essere riferimenti ad altre directory
142
Networking
Teoria
residenti su altri server LDAP. Ogni elemento deve avere un nome che permetta di individuarlo in
modo univoco nella directory.
Alcuni dei tipi possibili utilizzabili per definire gli attributi di un oggetto sono i seguenti:
• bin: dato binario;
• ces (case exact string): stringa in cui vengono distinte le lettere maiuscole dalle minuscole;
• cis (case ignore string): stringa in cui le lettere maiuscole e minuscole sono trattate allo stesso
modo;
• tel: numero telefonico;
• dn (distinguished name): nome univoco;
Un server che fornisce in UNIX/Linux il servizio LDAP è slapd. Esso mantiene i dati in un formato
denominato LDBM, simile al DBM ma ottimizzato per le ricerche (per ognuno degli attributi degli
oggetti contenuti in una directory viene creato un indice).
Directory services in Windows
Il sistema operativo Windows si rifà a X.500 per il servizio di directory. In Windows 2000 viene
implementato un servizio di directory detto Active Directory, che mette a disposizione una directory
di oggetti specifici al NOS (Network Operating System) che consente di gestire non soltanto gli
utenti e le loro proprietà, ma anche vari tipi di funzionalità specifiche come i volumi DFS
(Distributed File System), gli oggetti GPO (Group Policy Object) e l'infrastruttura PKI (Public Key
Infrastructure). Il tipi di oggetti che possono essere contenuti in una directory sono virtualmente
illimitati. In ogni caso, occorre tenere conto delle implicazioni relative a prestazioni e replicazione.
Domini. In Windows 2000 le politiche di sicurezza sono ancora legate al dominio, così come
esistono ancora i gruppi Domain Admins. I domini di Active Directory non usano più lo standard di
nomi NetBIOS a quindici caratteri; anche se questo tipo di nomi risulta ancora presente per offrire
la compatibilità all'indietro, i dispositivi Windows 2003 riconoscono i domini Active Directory
attraverso i loro nomi DNS (Domain Name System). In Windows 2003, infatti, il servizio di default
per la gestione dei nomi è il DNS; tutti i domini Active Directory hanno un dominio DNS che serve a
identificarli (per esempio mycompany.com).
Alberi e foreste di domini
Un albero è costituito da un insieme di domini che si accordano vicendevolmente la fiducia e che
appartengono a uno spazio di nomi contiguo (per esempio, un albero di directory in cui ciascun
dominio è un sotto-dominio del proprio dominio padre). Un esempio di spazio di nomi contiguo può
essere un albero di domini che contiene alla radice il dominio mycompany.com, un dominio figlio
chiamato
143
east.mycompany.com
sotto
quest'ultimo,
e
un
dominio
figlio
chiamato
Networking
Teoria
finance.east.mycompany.com sotto east.mycompany.com. In questo esempio, i tre domini formano
uno spazio di nomi contiguo e, in conseguenza, un albero di domini.
Alberi di domini che stabiliscono relazioni di fiducia fra loro
Una foresta è invece costituita da un albero di domini (o un insieme di alberi di domini)
caratterizzato da spazi di nomi contigui separati. Quando nell'ambiente viene installato il primo
controller sul primo dominio del primo albero, è necessario specificare se appartiene a una nuova
foresta oppure a una foresta già esistente. In Active Directory, tutti i domini di una foresta devono
condividere il medesimo schema. Windows 2000 non permette di fondere più foreste o schemi; in
conseguenza, se è necessario creare più foreste (per esempio, quando la società si fonde con
un'altra che dispone già di una foresta Active Directory), occorre usare relazioni di fiducia non
transitive e di tipo downlevel per collegare le foreste. In alternativa, si possono usare dei tool per
spostare gli oggetti da una foresta all'altra. Se non si dispone di tool per gestire più foreste
nell'ambito delle grandi aziende, è buona norma utilizzare il minor numero possibile di foreste
DIT in active directory
In NT 4.0, il database SAM (Security Accounts Manager) contiene tutte le informazioni relative a
utenti, computer e gruppi del dominio. Le sue dimensioni hanno limiti di scalabilità dovuti alla sua
implementazione. Sui controller di dominio Windows 2000-2003, il database SAM viene sostituito
dall'albero DIT. Quest'ultimo si basa sul motore database Jet di Microsoft ed è simile al motore Jet
usato da Microsoft Exchange Server.
Il file ntds.dit, contenuto nella directory \%systemroot%\ntds, è l'equivalente Windows 2000-2003
del file SAM. Questo file contiene il database della directory. In generale, l'albero DIT è più esteso
del database SAM dal momento che Active Directory contiene più informazioni e tipi di oggetti
rispetto alla directory di NT 4.0. All'interno di un dominio, i contenuti del file ntds.dit vengono
replicati su tutti i controller. Si potrebbe ritenere che la migrazione da NT 4.0 a Windows 2000
144
Networking
Teoria
comporti un maggiore traffico di replicazione tra i controller di dominio; Windows 2000 usa tuttavia
un modello completamente diverso da quello di NT 4.0 per replicare le modifiche alla directory.
Active Directory fornisce a Windows 2000 molte funzionalità che diversificano questo sistema
operativo da NT 4.0 e lo rendono più facile da usare nella gestione delle grandi aziende.
Queste nuove funzionalità comprendono:
• il Global Catalog;
• le unità OU;
• i gruppi espansi;
• la replicazione della directory;
• una nuova struttura dei controller di dominio.
Global Catalog. Il Global Catalog è un nuovo concetto, introdotto per la prima volta con Windows
2000. Il catalogo è un indice separato di oggetti in una foresta Active Directory. Per default, questo
indice non contiene tutti gli oggetti presenti nel database di Active Directory, ma soltanto una parte
dei loro attributi. Il Global Catalog permette agli utenti di individuare rapidamente gli oggetti della
directory all'interno della foresta aziendale, senza doversi recare presso il controller del dominio in
cui risiede l'oggetto.
Il Global Catalog viene usato al meglio quando sono presenti più domini e alberi, sparsi su varie
reti. È necessario avere a disposizione sulla rete almeno un server Global Catalog affinché i client
possano compiere l'autenticazione sui domini Active Directory.
Per default, il primo controller del primo dominio nel primo albero diventa il server Global Catalog.
Per specificare manualmente altri controller di dominio come server Global Catalog, si può usare lo
snap-in MMC (Microsoft Management Console) Active Directory Sites and Services.
Sebbene la maggior parte delle informazioni del dominio (come utenti e gruppi) venga replicata
soltanto sul controller all'interno del dominio stesso, Active Directory replica il Global Catalog
attraverso i confini del dominio e verso tutti i controller che sono dei server Global Catalog. Nel
momento in cui viene implementato Windows 2000, è opportuno posizionare attentamente i server
Global Catalog. Ciascuna macchina client deve avere un facile accesso al Global Catalog, in modo
da ottimizzare la capacità del computer di compiere una ricerca all'interno della directory. Il Global
Catalog sostituisce inoltre la lista GAL (Global Address List) in Exchange 2000 Server (in
precedenza chiamato in codice Platinum).
145
Networking
Teoria
Finestra Active Directory Users and Computers
14. Risolvere Malfunzionamenti della
rete
Lo scopo di questa sezione è quello di fornire strumenti di analisi per isolare le cause più comuni
dei malfunzionamenti della rete. Si definiranno semplici procedure che occorrerà seguire per
individuare e risolvere i più frequenti malfunzionamenti che si possono riscontrare in una rete di
calcolatori. Spesso occorre verificare preliminarmente che il problema sussista effettivamente.
Infatti capita non di rado che un utente associ alla non possibile fruizione di un servizio di rete
problemi di connettività. Tipiche segnalazioni da parte dell'utenza sono per esempio: non riesco a
146
Networking
Teoria
scaricare la posta elettronica, non riesco a stampare, non riesco a visualizzare un sito Web,... In
realtà se, per esempio, l'utente non riesce a leggere la posta elettronica, ma riesce a navigare con
il suo Web browser, è molto probabile che ci sia solamente un problema di errata configurazione
del suo programma per la lettura della posta elettronica piuttosto che si stia manifestando la
momentanea indisponibilità del server email. Nel caso in cui invece più servizi di rete
contemporaneamente non siano fruibili, allora è possibile che si tratti di un reale problema di rete.
ormazione degli insegnanti sulle Tecnologie dell'Informazione e della Comunicazione
Controllo fisico
Una volta accertato che si tratti di un problema di rete, occorre effettuare alcune verifiche che possono
risultare ovvie, ma che spesso possono portare alla risoluzione:

Controllare l'alimentazione: verificare che tutti i cavi di alimentazione siano collegati alle prese
della rete elettrica e che il computer sia stato acceso.

Controllare la connettività: verificare che il cavo di rete sia connesso saldamente alla scheda di
rete ed alla presa a muro. Se il cavo connesso alla scheda di rete è di tipo twisted pair (rete 10 Base
T e 100 Base TX ), per esempio, estrarlo e reinserirlo fino a sentire il tipico click che si ha quando
raggiunge la corretta posizione. Occorre fare attenzione che si stia usando un vero cavo di rete e
non uno telefonico che è simile, ma ha connettori più piccoli ( RJ45 è il codice che identifica il primo
contro RJ11 che identifica il secondo).

Riavviare il computer: provare a riavviare il computer, può darsi che reinizializzando il Sistema
Operativo (SO) e la scheda di rete (Network Interface Card, NIC) il problema si risolva.
La sequenza di operazioni da seguire in questa fase preliminare è riassunta nel successivo diagramma di
flusso.
Se, una volta eseguite queste verifiche, il problema non si risolve allora occorre procedere con altri test più
dettagliati che vadano ad isolare l'ambito in cui questo risiede.
147
Networking
Teoria
Formazione degli insegnanti sulle Tecnologie dell'Informazione e della Comunicazione
Scambio di componenti di rete
Spesso sulla scheda di rete è presente un LED illuminato; per verificare la stabilita connettività con
un apparato di rete, come un hub od uno switch , occorre controllare lo stato di tale LED: se è
spento allora sicuramente c'è un problema di connettività, mentre se è acceso non si posso
escludere ulteriori problemi, ma la connettività è fisicamente stabilita. Nel caso di LED spento
occorre procedere con le successive operazioni necessarie ad isolare il problema:

provare a sostituire il cavo che connette la scheda di rete del calcolatore alla presa a
muro: se a questo punto il LED si accende ed il computer riacquista tutte le funzionalità
148
Networking
Teoria
nell'uso della rete, significa che il problema era dovuto al cavo (patch cord) difettoso; se
invece il LED non si accende ed è presente un'altra presa di rete vicina alla prima, allora si
può passare alla fase successiva;

collegare il computer ad un altra presa di rete: se la connettività di rete è in questo caso
presente, il problema è legato a difetti della prima presa di rete o della cablatura che la
collega all'apparato di rete corrispondente; mentre se la connettività non è stabilita, il
problema potrebbe risiedere nell'host stesso oppure potremmo essere di fronte
effettivamente ad un malfunzionamento della rete. Occorre quindi procedere con ulteriori
verifiche;

Usare un altro computer all'interno della LAN: se questo computer si connette
correttamente alla rete, allora probabilmente il problema risiede sull'host dell'utente e non
sulla rete; se invece entrambi gli host non riescono a connettersi allo stesso servizio di rete,
mentre ciò non avviene con altri servizi di rete, allora il problema potrebbe risiedere sul
server. Nel caso in cui entrambe le macchine non riescano ad accedere a tutti i servizi di
rete, probabilmente si tratta di un effettivo malfunzionamento della rete ed occorre
procedere con i test successivi.
In questi casi occorre capire se il problema si trova sull'host dell'utente (ovvero dal lato client),
sull'host che ospita il servizio (lato server) oppure se si sta manifestando un malfunzionamento
legato al Domain Name System (DNS) o ad un punto intermedio del percorso di rete che connette i
due endpoint della comunicazione (problema di connettività).
Le operazioni appena descritte si riassumono nel seguente diagramma di flusso.
149
Networking
Teoria
rmazione degli insegnanti sulle Tecnologie dell'Informazione e della Comunicazione
150
Networking
Teoria
Verifica della connettività IP
Supponiamo di voler connetterci ad un host per usufruire di un servizio di rete (Web, mail, FTP,
telnet, ...), usando il protocollo TCP/IP e riferendolo mediante il suo nome nel DNS.
Per esempio, connettendoci ad una Uniform Resource Locator (URL) di un Web server (per
esempio http://www.unibo.it), nel caso di malfunzionamento, potremmo ottenere due tipi di
messaggio di errore che ci possono dare informazioni diverse:


Se otteniamo un messaggio del tipo Errore 404, pagina non trovata vuol dire che la rete
funziona correttamente, ma vi possono essere eventualmente problemi sul server.
Se otteniamo un messaggio di errore del tipo il server non esiste o non posso trovare il
server allora siamo di fronte ad un possibile problema di rete.
Se il server risulta raggiungibile mediante l'indicazione del solo indirizzo IP allora siamo di
fronte ad un problema di DNS :


Possono essere sbagliati i riferimenti ai DNS server nella configurazione di rete dell'host
che manifesta il malfunzionamento;
Può esserci un problema sui DNS server o possono non essere raggiungibili.
Se possibile, chiedere ad un collaboratore di connettersi al server da una diversa locazione:


Se la connessione ha successo allora il problema si trova lato client;
Se la connessione fallisce allora il problema è legato alla rete o si trova lato server.
Il diagramma di flusso che descrive questa procedura è riportato di seguito.
151
Networking
Teoria
egli insegnanti sulle Tecnologie dell'Informazione e della Comunicazione
Analisi lato client
Come prima cosa occorre verificare la correttezza della configurazione di rete dell'host (quali
indirizzo IP, subnet mask, default gateway) ed in particolare identificare quale sia l'indirizzo IP del
default gateway.
Una volta accertato che tutto sia corretto, si può procedere a lanciare il comando telnet e
provare a collegarsi all' indirizzo IP del gateway .
Se otteniamo in risposta il prompt di login del router allora probabilmente la nostra configurazione
di rete è corretta ed il malfunzionamento è dovuto ad un problema di rete posto in un punto
successivo al router.
Se non riusciamo invece a connetterci al default gateway , allora potrebbe esserci un problema sul
router o su un'apparecchiatura di rete intermedia.
In quest'ultimo caso si potrebbe chiedere ad un collaboratore, che si trovi in una diversa locazione
nella rete, di provare a collegarsi dall'esterno al router col comando telnet .
Nel caso in cui l'operazione fallisca il problema può essere legato al router o al cammino di rete
per raggiungerlo.
Se l'operazione ha successo si può provare a sollecitare dall'esterno con un comando ping l'
indirizzo IP della macchina che ha problemi. Se questa risponde, allora il problema è
sicuramento legato alla non corretta configurazione del software sull'host che si sta utilizzando, in
caso contrario non si può escludere che sia un problema legato al cammino di rete tra il default
gateway e l'host stesso.
Viene riportato nel successivo diagramma di flusso il percorso logico da seguire per portare a
termine quest'ultima analisi.
152
Networking
Teoria
Analisi lato server (a livello applicazione)
Nel caso si arrivi a questo punto dell'analisi, significa che, probabilmente, il problema risiede nella
rete destinazione.
Come prima cosa occorrerebbe informarsi se, per qualche motivo, il servizio di cui si desidera
usufruire è momentaneamente indisponibile.
In caso contrario sarebbe utile provare a sollecitare con un comando ping l' indirizzo IP della
macchina destinazione. Se si ottengono risposte dall'host destinazione, allora vi è un
malfunzionamento di quest'ultimo.
Se questo test non ha dato esito positivo allora è possibile cercare di sollecitare, mediante
un'applicazione per lo scanning di rete , IP diversi da quelli della macchina destinazione. Se
l'operazione ha successo (individuo host diversi da quello destinazione che rispondono al
comando ping e che risiedono sempre sulla stessa LAN di quest'ultimo) allora il problema consiste
in qualche malfunzionamento o non corretta configurazione della macchina destinazione, in caso
contrario non si può escludere un problema nella rete target.
Il diagramma di flusso di quest'ultima analisi è il seguente.
153
Networking
Teoria
Utility per la verifica del corretto funzionamento della rete:
ICMP
Nelle procedure viste nei paragrafi precedenti si fa riferimento ad alcuni comandi, come ping e
telnet, per potere verificare la raggiungibilità di host ed apparecchiature di rete.
Come ausilio alla gestione ed al monitoraggio della rete nella suite di protocolli TCP/IP usati dalla
rete Internet è inserito il protocollo ICMP (Internet Control Management Protocol). Questo
protocollo consente ai router presenti nel cammino di rete tra un host sorgente ed un host
destinazione, di mandare al primo eventuali informazioni su malfunzionamenti di rete, in modo che
possano prendere eventualmente provvedimenti correttivi. I pacchetti ICMP sono trattati allo
stesso livello dei datagrammi IP e quindi seguono la filosofia best effort per la consegna, ovvero
possono essere persi e possono eventualmente causare a loro volta congestione. L'unica
differenza è che non possono generare, in caso di errori, a loro volta messaggi ICMP (non si
generano cioé messaggi di errore su messaggi di errore).
Nell'header del pacchetto ICMP vi è un campo TYPE della lunghezza di 8 bit che identifica la
tipologia del messaggio ICMP.
In particolare vi è una coppia di messaggi ICMP che permettono di verificare la raggiungibilità di un
host da un altro:
TYPE
MESSAGE
0
Echo Reply
8
Echo Request
Inviando ad un host una richiesta Echo Request ed ottenendo da questo una risposta Echo
Reply ne abbiamo verificato la raggiungibilità via rete. Un utility per inviare queste richieste è il
comando ping , che è presente in praticamente tutti i sistemi operativi che abbiano funzionalità per
il supporto della rete (Microsoft Windows 9x/ME/NT/2000/XP, UNIX, LINUX, e altri).
La sintassi del comando ping è la seguente:
ping [switch] [nome host destinazione| indirizzo IP host destinazione]
Come parametro si può esprimere il nome dell'host (normalmente il nome DNS, ma può essere
anche un nome in stile nbt se ci troviamo su di una rete Microsoft) oppure direttamente il suo
indirizzo IP . È possibile anche esprimere una serie di modificatori che pemettono di variare il
comportamento standard del comando.
Un esempio di uso del comando, se vogliamo verificare la raggiungibilità dell'host
kaiser.alma.unibo.it, è
ping kaiser.alma.unibo.it
L'output che possiamo vedere su schermo, usandone la versione presente in Microsoft Windows
XP Professional, è:
154
Networking
Teoria
In questo caso l'host è raggiungibile. Si può osservare, infatti, che sono state ottenute 4 risposte a
4 datagrammi di richiesta ed inoltre sono riportate ulteriori informazioni statistiche sul tempo di
risposta, TTL (Time To Live), ecc..
Nel caso di host non raggiungibile avremmo avuto invece una schermata simile alla seguente:
Come si può notare ogni richiesta ICMP Echo Request va in timeout in quanto non riceve una
risposta ICMP Echo Reply.
Purtroppo non sempre è possibile fare uso di ICMP per la verifica dello stato di connettività della
rete e della raggiungibilità degli host. Ad esempio, può capitare che in reti provviste di sistemi di
protezione come firewall, il protocollo ICMP non sia permesso. Questo accade per evitare possibili
attacchi di tipo DoS ( Denial of Service ) che mirano ad impedire l'utilizzo di un servizio da parte
dell'utenza, senza in realtà manifestare una vera e propria intrusione nei sistemi. Un tipico attacco
DoS è il cosiddetto Ping Flooding (inondazione di ping) che mira a saturare la banda della rete
vittima, impedendo quindi l'utilizzo delle sue funzionalità all'utenza. Una protezione da questo tipo
di attacco si realizza bloccando con un firewall il transito di datagrammi ICMP, ma si rinuncia alle
funzionalità diagnostiche messe a disposizione dal protocollo. Sistemi di protezione più raffinati
consentono l'uso di ICMP bloccandolo solo quando il numero di datagrammi in transito sembra
elevato in modo anomalo. Per sapere se è possibile fare uso del ping per il test della rete
occorrerebbe verificare, con gli amministratori della propria rete, le misure di protezione adottate.
Ministero dell'Istruzione, dell'Università e della Ricerca
155
Networking
Teoria
Formazione degli insegnanti sulle Tecnologie dell'Informazione e della Comunicazione
Utility per la verifica del corretto funzionamento della rete:
traceroute
Un altro comando utile per verificare dove, all'interno del cammino di rete, si trova un problema di
connettività, è traceroute (tracert nei sistemi Microsoft).
La sintassi per questo comando è:
traceroute [switch] [nome host destinazione| indirizzo IP host destinazione]
analoga a quella del comando ping.
Lanciando remotamente da una macchina UNIX, per esempio il seguente comando:
traceroute www.csr.unibo.it
otteniamo il seguente output:
Si può notare come siano evidenziati tutti i passaggi ( hop ) da apparati che si preoccupano
dell'instradamento dei datagrammi e che sono presenti nel cammino di rete dall'host sorgente
all'host destinazione.
Se l'host destinazione non è raggiungibile otterremo la lista relativa ai soli hop di apparati
raggiungibili. In questo modo è possibile capire in quale punto del cammino di rete il problema si
presenta.
Il funzionamento del comando traceroute si basa sull'invio all'indirizzo destinazione di datagrammi
ICMP Echo Request con valore crescente del campo TTL (Time To Live) presente nell'header. Il
campo TTL serve normalmente ad evitare che un datagramma circoli indefinitamente su Internet
nel caso sfortunato che entri in un percorso di instradamemento circolare (si può verificare questa
eventualità quando c'è un malfunzionamento di qualche apparato di rete). Ad ogni passaggio di
router, il valore di questo campo viene decrementato di uno. Nel caso in cui il valore raggiunga lo
156
Networking
Teoria
zero, il router che in quel momento ha in consegna il datagramma manda un messaggio ICMP
all'indirizzo sorgente indicando che il pacchetto è stato scartato in quanto il TTL è scaduto:
TYPE
11
MESSAGE
Time Exceeded
Sfruttando questo meccanismo ed inviando in sequenza datagrammi ICMP Echo Request con TTL
crescenti a partire dal valore uno, otterremo in risposta, dai router intermedi tra il nostro host
sorgente e destinazione, messaggi ICMP Time Exceeded. Nel caso di raggiungibilità dell'host
destinazione, il processo terminerà quando il TTL sarà impostato al giusto numero di hop
necessario per percorrere tutto il cammino di rete (in risposta all'ultimo datagramma inviato si avrà
un ICMP Echo Reply). In caso contario il processo terminerà quando si raggiungerà il numero
massimo di hop previsto (normalmente 30). L'utility traceroute, analizzando l'header di ciascun
datagramma ICMP ottenuto in risposta, è in grado di identificare l'indirizzo IP del router che lo ha
generato e, eventualmente, di effettuare una query al DNS server per associargli un nome, se
esistente.
mazione degli insegnanti sulle Tecnologie dell'Informazione e della Comunicazione
Utility per la verifica del corretto funzionamento della rete:
telnet
Un'altra utility per verificare la connettività di rete, di cui si è fatto cenno precedentemente, è il
comando telnet.
Telnet è un'applicazione che ha funzionalità di emulatore di terminale remoto, cioè crea localmente
una shell di comandi che in realtà sono eseguiti sull'host remoto a cui ci si è collegati. Viene
stabilita una connessione TCP con il server (host a cui ci si collega) ed il terminale sull'host locale
fa le veci di un terminale del sistema remoto.
Nell'esempio precendente, è usata questa applicazione per lanciare l'utility traceroute su un host
UNIX remoto.
La sintassi del comando telnet, che si può trovare praticamente su qualunque sistema operativo, è
la seguente:
telnet [nome host destinazione| indirizzo IP host destinazione] [numero porta TCP]
Come si vede è possibile specificare il server mediante il suo nome o indirizzo IP . È possibile
anche specificare una porta TCP a cui è associato il servizio al quale ci si vuole collegare. Se
quest'ultimo parametro è omesso, la porta a cui ci si collega è la 23/TCP, che è il default per il
server di emulazione di terminale remoto.
Volendo collegarci, per esempio, all'host UNIX kaiser.alma.unibo.it dovremmo digitare il comando
telnet kaiser.alma.unibo.it
ottenendo come output un prompt di login:
157
Networking
Teoria
Inserendo username e password appropriati avremo a disposizione una shell dove potere inserire
comandi, come se avessimo acceduto fisicamente alla console dell'host remoto:
e quindi potremmo lanciare, per esempio, un programma per la lettura della posta elettronica a
terminale:
158
Networking
Teoria
L'utility telnet era stata citata, tra le altre cose, per valutare la possibilità di collegarsi al proprio
default gateway.
In questo caso, se tutto funziona correttamente, si ottiene un prompt di login come per una
macchina UNIX, ad esempio:
Abbiamo visto che è possibile specificare anche la porta TCP a cui l'utility telnet deve collegarsi.
Questo consente di verificare anche la disponibilità dei servizi di rete presenti sui server di nostro
interesse.
Sapendo che il servizio smtp di un server di posta si trova alla porta 25/TCP potremmo verificarne
la disponibilità digitando, per esempio:
telnet kaiser.alma.unibo.it 25
Si otterrà in risposta:
e cioè un banner che indica che il programma sendmail (il server di posta elettronica) è attivo ed in
attesa di input.
159
Networking
Teoria
Lo stesso si può fare se si desidera verificare la disponibilità del servizio POP3, che consente di
scaricare la posta elettronica dal server al proprio host.
In questo caso si digiterà
telnet kaiser.alma.unibo.it 110
ottenendo in output:
cioè il banner del servizio POP3.
Nel caso in cui uno dei servizi non fosse stato attivo, avremmo ottenuto un output simile al
seguente:
Non è detto però che l'applicazione che ci interessa risponda sempre al telnet con un banner,
anche nel caso in cui il servizio sia attivo.
Infatti, si potrebbe ottenere solo un prompt lampeggiante che resta in attesa di ulteriore input,
come nella figura seguente:
160
Networking
Teoria
Comunque, un output di questo tipo indica che il servizio è attivo e che la connessione TCP è stata
stabilita.
Utility per la verifica del corretto funzionamento della rete:
nslookup
Un'applicazione utile per interrogare direttamente ed in modo interattivo il DNS server è invece
nslookup, presente sia su sistemi UNIX che su sistemi Microsoft. Può servire ad isolare problemi
di rete legati alla risoluzione dei nomi.
Digitando il comando viene presentato un prompt a cui si possono sottoporre interrogazioni o
comandi:
Al prompt possiamo digitare un nome dns ottenendo in risposta l'indirizzo IP ad esso associato:
161
Networking
Teoria
è possibile effettuare anche query per la risoluzione inversa, impostando opportunamente il tipo di
record che si vuole cercare, ad esempio:
Come si può notare dalla figura, per potere sapere quale nome DNS è associato all'indirizzo IP
137.204.35.4 occorre impostare il tipo di record per la risoluzione inversa (set type=PTR) e poi
usare nell'interrogazione il dominio in-addr.arpa facendolo precedere dall'indirizzo IP scritto con i 4
bytes in ordine inverso (4.35.204.137.in-addr.arpa) e ottenendo il nome riddle.alma.unibo.it che
dalla query diretta precedente era risultato essere associato all'indirizzo IP specificato.
È chiaro che se, durante la ricerca di un problema di rete che pensiamo essere legato al DNS,
otteniamo come output del comando nslookup qualcosa di simile al seguente:
162
Networking
Teoria
significa che sia il DNS server primario che quello secondario non sono, per qualche motivo,
raggiungibili od il servizio di risoluzione dei nomi non è disponibile. Chiaramente in questa
situazione non è possibile riferire gli host tramite il loro nome dns, ma solo tramite il loro indirizzo
IP e ciò confermerà i nostri sospetti sulla correlazione dei malfunzionamenti con il DNS.
Utility per la verifica del corretto funzionamento della rete:
netstat
Un comando utile per verificare se si sta manifestando un comportamento anomalo della rete è
netstat. Questo comando, a seconda del modificatore specificato, può dare importanti informazioni
e statistiche sul funzionamento della rete. In particolare il comando netstat -i su piattaforma UNIX e
netstat -e su piattaforma Microsoft ci danno informazioni sui pacchetti transitati sulle interfacce di
rete dell'host, con indicazione del numero di errori e di collisioni che si sono manifestati. Possiamo
sicuramente affermare che, se il numero di collisioni supera il 10 % dei pacchetti transitati
attraverso l'interfaccia, siamo sicuramente di fronte ad un comportamento anomalo ed occorre
quindi procedere con successive analisi sul comportamento dell'host e delle apparecchiature di
rete limitrofe.
Vengono riportati di seguito due esempi di output rispettivamente del comando netstat -e su un
host con sistema operativo Microsoft Windows XP Professional e del comando netstat -i su un
host basato su sistema operativo UNIX.
163
Networking
Teoria
Come si può evincere dalle statistiche, in entrambi i casi il funzionamento della rete non presenta
problemi rilevanti.
Il comando netstat permette di ottenere anche altre informazioni, quali le statistiche separate per
protocollo, le tabelle di routing, le connessioni e le socket attive
Utility per la verifica del corretto funzionamento della rete:
scan IP
Nella sezione relativa alla procedura di analisi lato server si è fatto riferimento ad una generica
applicazione di scan della rete per individuare host che rispondono al comando ping, in una
determinata sottorete. Sul mercato si possono trovare diverse applicazioni di questo tipo, le quali,
dato un range di indirizzi IP da analizzare, si preoccupano di effettuare iterativamente un comando
ping su ciascuno di questi indirizzi. L'esempio riportato nella figura successiva mostra come viene
testata la raggiungibilità degli host con IP address nel range 137.204.2.1 - 137.204.2.254.
164
Networking
Teoria
Viene riportata come output la lista di indirizzi IP che rispondono al ping.
Le applicazioni di scan hanno normalmente funzionalità ulteriori, come l'analisi, in un range di
porte specificato, della presenza di servizi attivi su un host o su insiemi di host.
Di seguito viene riportato l'output dello scan delle porte dell'host 137.204.95.203.
Come si può notare è attivo un servizio alla porta 80/TCP. Tale host è infatti un Web server. Si
nota inoltre, dalla croce rossa, che, per motivi di sicurezza, l'host è stato configurato in modo tale
da non rispondere alle sollecitazioni ICMP del comando ping.
Con quest'ultimo comando chiudiamo questa breve carrellata sulle semplici applicazioni utili nella
ricerca e risoluzione dei malfunzionamenti della rete.
165
Networking
Teoria
15.Sicurezza e Fault Tolerance
La capacità di un sistema di eseguire normalmente le operazioni malgrado la presenza di errori
hardware o software si definisce fault tolerance. Si tratta di uno degli argomenti maggiormente
descritti nei testi di gestione delle reti.
Per la sua struttura fisica e logica una rete non può essere considerata una struttura sicura al
100%, ma poiché in molti casi malfunzionamenti possono essere causa di guai e di costi,
l'aumento della tolleranza agli errori è, in un certo senso, strategica.
Ovviamente in reti aziendali o di grandi dimensioni, ovvero quando la funzionalità della rete
debba essere garantita con bassissimi margini di errore, le soluzioni sono molteplici e complesse.
Tuttavia la soluzione definitiva, ovvero la sicurezza al 100% non esiste. Basti pensare a quanto
successo nei giorni scorsi al sistema informativo dell'Aeroporto di Linate, dove una caduta di
alimentazione e il blocco degli UPS ha bloccato tutto, con le conseguenze che tutti conoscono.
Per ridurre il rischio di blocchi della rete è necessario operare con diverse strategie che possono
riassumersi in:
1.
2.
3.
4.
5.
Blocco dei tentativi di intrusione dall'esterno.
Protezione da attività di utenti che possano compiere atti dolosi o colposi.
Protezione da attacchi virali, di trojans, di codici maliziosi e simili.
Aumento dei sistemi di controllo e di monitoraggio.
Aumento del livello di affidabilità e sicurezza (alimentazione, impianti, locali,
strutture).
6. Ridondanza di server e servizi.
Protezione da attività di utenti che possano compiere
atti dolosi o colposi
Spesso gli attacchi ad una rete scolastica non provengono dall'esterno, ma da attività di utenti
accreditati nella rete stessa.
Analizzando il problema da un punto di vista sociologico, potremmo pensare che gli utenti di un
sistema hanno tutto l'interesse a fare in modo che questo funzioni correttamente.
166
Networking
Teoria
Pensiamo ad una famiglia nella quale tutti utilizzano l'impianto idraulico: difficilmente a qualcuno
verrà in mente di bucare qualche tubo o di rompere un rubinetto aprendolo con troppa forza.
In una rete scolastica, invece, questo approccio comportamentale non sempre è reale e le cause
di problemi possono essere classificate in due tipi:


Cause dolose
Cause colpose
Le cause dolose sono prevalentemente ascrivibili ad utenti poco esperti e male informati. Questi
utenti, con le loro attività, possono causare seri danni che, a volta, portano al blocco di postazioni
client. Si dà, infatti, per scontato che i normali utenti non possano accedere ai server se non in
aree ben precise e con permessi commisurati, per cui questa fattispecie dovrebbe essere da
escludersi.
Sulle postazioni client, invece, i problemi dovuti a fatti colposi possono verificarsi, qualora
protezioni non siano in atto.
Ad esempio, un utente tenta di formattare un floppy disk ed, essendo poco esperto nella
procedura, in Risorse del computer seleziona l'icona del disco C: o di altro disco. I risultati saranno
evidenti...
Altri problemi potrebbero sorgere nel caso che l'utente cancelli file di sistema o compia le
procedure di logoff e spegnimento in modo non corretto.
Le cause colpose sono purtroppo frequenti in ambiente scolastico. Spesso alcuni alunni,
solitamente quelli meno inclini a partecipare proficuamente al dialogo educativo, si divertono a
manomettere sia dal punto di vista logico che fisico le postazioni client.
A puro scopo di informazione, ecco alcuni tra i sabotaggi preferiti da questi idioti e i possibili rimedi:
Attività
Cancellazione o alterazione di
file
Installazione di software non
autorizzato
Modifica delle configurazioni del
sistema
Modifica delle configurazioni dei
programmi
Prevenzione


Mascherare i dischi di sistema
Utilizzare filesystem NTFS e relativi permessi

Inibire l'uso del "Prompt dei comandi"

Attivare policy che impediscano l'installazione
di software e la modifica del registro.

Attivare policy che inibiscano l'uso del
pannello di controllo e di quanto ad esso
collegato.

Utilizzare profili bloccati (mandatory).
Attivazione dei sistemi di controllo e di monitoraggio
Una delle procedure atte ad aumentare la fault tolerance è, senza dubbio, il sapere ciò che
avviene all'interno della rete e ciò che transita attraverso i router ed i firewall.
167
Networking
Teoria
In questo caso sarà possibile risalire alle cause di un inconveniente ed, anche, al responsabile.
Di norma i server Windows 2000/2003 dispongono di un sufficiente strumento di monitoraggio che
consente l'auditing di ciò che avviene. Purtroppo questo non è attivato in modo completo di default,
per cui è necessario intervenire per scegliere ciò che si vuole monitorare.
Nel sito di aiuto di Windows 2003 server sono riportate le categorie sulle quali è possibile attivare
il monitoraggio:









Audit account logon events
Audit account management
Audit directory service access
Audit logon events
Audit object access
Audit policy change
Audit privilege use
Audit process tracking
Audit system events
Di queste è molto importante la prima, per controllare gli accessi alla rete.
Il monitoraggio deve essere configurato attraverso un Criterio di gruppo per computer, ovviamente
nei quali sia installato Windows 2000 professional o Windows XP professional.
Per quanto riguarda il traffico Internet, qualora sia installato un firewall software, questo disporrà di
un esaustivo strumento di monitoraggio, ovvero sarà disponibile un software per l'analisi
dettagliata dei log.
Qualora il firewall sia hardware, è probabile che lo stesso disponga di un sistema di monitoraggio,
ad esempio con invio dei log ad un indirizzo email.
Nel caso sia necessario attivare un controllo anche sulle attività svolte dagli studenti è necessario
installare su ciascun client un programma stealth per il controllo completo.
168
Networking
Teoria
Tali software hanno la capacità di controllare quanto si scrive alla tastiera, i siti web visitati, le
eventuali chat, catturare a cicli predefiniti immagini del desktop ed inviare il tutto ad una cartella su
un server, in modo che l'amministratore possa controllare il tutto.
Ottimo prodotto in tal senso è ActMon Pro (http://www.actmon.com) facile da configurare e molto
funzionale. Nel sito del produttore è disponibile un demo.
E' appena il caso di ricordare che, in osservanza alle norme sulla privacy, è conveniente rendere
edotti tutti gli utenti del fatto che le attività sono monitorate
Ridondanza di server e servizi
Il limite strutturale di una rete informatica a dominio è che se il server non funziona tutte le attività
sono bloccate.
Poiché, come dicono le varie leggi di Murphy, la sfortuna è sempre in agguato, è meglio premunirsi
per evitare "fuori servizio" troppo lunghi.
Configurazioni RAID
Le procedure di sicurezza in questi casi possono prevedere l'attivazione di backup programmati
dei server, la creazione di immagini dei dischi, l'uso di sistemi disco RAID (Redundant Array of
Independent Disks )in configurazione mirroring (RAID1) che prevede l'uso di due dischi o in
configurazione RAID 0+1 con quattro dischi.
Nella configurazione RAID1 i dati vengono scritti in modo speculare su due dischi , per cui nel
caso uno dei due si rompesse sarebbe sufficiente sostituirlo e ripristinare da quello superstite.
La configurazione RAID0+1 prevede anche lo striping dei dati su due dischi che sono speculari ad
altri due. In questo caso alla sicurezza del mirrorin si aggiungono le maggiori performance in
scrittura e lettura dello striping.
Ridondanza dei server
Se la rete deve funzionare sempre è necessario provvedere all'installazione di almeno un secondo
domain controller che lavori di concerto con quello esistente.
Le procedure di installazione di un server Windows 2000/2003, la sua promozione a domain
controller e la distribuzione dei ruoli sono ampiamente documentate.
Lo scopo di avere due server è quello di permettere la validazione dell'utente da uno o dall'altro e
la distribuzione dei servizi essenziali alla rete (DNS, WINS, DHCP).
In caso di problemi ad uno, o semplicemente in occasione di manutenzione, sarà l'altro a reggere
la rete.
169
Networking
Teoria
Ridondanza dei servizi
La prima informazione da conoscere è che la ridondanza dei servizi ha senso solo se questi sono
replicati tra i due server.
La replica di Active Directory consente ai due server di avere gli stessi utenti, gruppi, UO,
computer e di poterli gestire. Tale replica deve essere automatica ed assolutamente trasparente.
Gli altri servizi che, a nostro avviso, sono da installare sui due server sono:



DNS
WINS
DHCP
Installazione di Cluster
Un Cluster è un gruppo di sistemi indipendenti che lavorano insieme come un unico sistema: I
cleint interagiscono con un cluster come se fosse costituito da un singolo server. Tale
configurazione è utilizzata per aumentare:
o la disponibilità: Se un sistema in cluster fallisce, il software risponde reindirizzando il lavoro
dal sistema bloccato all’altro sistema del cluster
o la scalabilità: Quando le richieste eccedono le possibilità dei sisyemi in cluster è possibile
aggiungere altri server al Cluster, aumentandone le capacità di elebaorazione
Backup e Restore
Le procedure di backup hanno lo scopo di mantenere disponibile copie aggiornate dei dati sia di
utente sia relative ai sistemi operativi al fine di poter recuperare eventuali malfunzionamenti che
portino alla perdita dei dati presenti nella loro naturale locazione.
Il backup può essere effettuato direttamente sul calcolatore locale utilizzando ad esempio un Hard
Disk aggiuntivo o il CD, oppure tramite rete copiando i file su di un dispositivo connesso ad un altro
calcolatore, normalmente un server di rete.
In genere è bene effettuare il backup su di uno o più dispositivi distinti da quello su cui risiedono
normalmente i dati stessi al fine di evitare che un guasto del dispositivo che lo renda inservibile
provochi la perdita dei dati originali così come delle copie.
A questo scopo si utilizzano Hard Disk dedicati su server di rete, a loro volta protetti per esempio
con sistemi RAID di cui si è parlato nel modulo 7, oppure dispositivi accessori quali dischi estraibili,
cassette, dischi ottici, eccetera.
Per essere efficace un backup deve essere pianificabile a livello di amministrazione di sistema e in
modo indipendente dalle azioni dell'utente. Infatti il singolo utente, occupato in altre attività può
facilmente dimenticare di svolgere le azioni di backup ed esporsi quindi ad una potenziale perdita
di dati.
È opportuno effettuare operazioni di backup in momenti in cui il sistema sia poco o per nulla
utilizzato, ad esempio alla sera o nei fine settimana. Due sono le ragioni principali per questo:
170
Networking
Teoria
• se gli utenti stanno modificando i dati quando viene effettuato un backup, quest'ultimo potremmo
non salvare l'ultima versione dei documenti e quindi venire meno al suo scopo;
• per sua natura il backup comporta la copia di grandi moli di dati e quindi intensive operazioni di
lettura e scrittura dai dischi e di trasferimento di dati sulla rete e quindi interferisce con il normale
funzionamento del sistema.
Se effettuato quando i calcolatori non sono utilizzati il backup risulta più efficace e si minimizza la
sua influenza sul normale funzionamento dell'ambiente di rete. Inoltre per diminuire i tempi di
backup si può ricorrere a strategie di compressione e/o di backup incrementale o differenziale:
• Un backup differenziale effettua il backup di ciò che è stato modificato rispetto ad un backup
completo di riferimento.
• Un backup incrementale effettua il backup di ciò che è stato modificato rispetto al backup
precedente, eventualmente anch'esso incrementale.
I backup differenziali ed incrementali copiano solamente una parte dei dati e risultano quindi più
efficienti per occupazione di spazio di memoria e per velocità. D'altro canto la procedura di
recupero dei dati risulta generalmente più complessa.
Strategie di backup
Una strategia di backup tipicamente combina diverse tipologie di backup: alcune di queste
strategie privilegiano i tempi di backup, mentre altre privilegiano i tempi di ripristino.
Di seguito sono illustrati alcuni esempi:
• Esempio 1: Normale e Differenziale. Viene effettuato un backup Normale il Lunedi ed un backup
Differenziale dal Martedi al Venerdi. In caso di fallimento bisogna ripristinare il backup Normale del
Lunedi e l'ultimo Differenziale disponibile. Tale strategia favorisce i tempi di ripristino rispetto a
quelli di backup.
• Esempio 2: Normale e Incrementale. Viene effettuato un backup Normale il Lunedi ed un backup
Incrementale dal Martedi al Venerdi. In caso di fallimento bisogna ripristinare il backup Normale del
Lunedi e tutti gli Incrementali disponibili, nell'ordine in cui sono stati effettuati. Tale strategia
favorisce i tempi di backup rispetto a quelli di ripristino.
• Esempio 3: Normale, Differenziale e Copy. Questa strategia è la stessa dell'Esempio 1, con la
differenza che al Mercoledi viene effettuato un backup di tipo Copy per catturare una immagine
completa dei dati pur senza influire sulla strategia di backup in corso. Ha il vantaggio di avere
un'immagine di metà periodo, qualora qualcosa dovesse corrompere il backup originale.
171
Networking
Teoria
Sicurezza di rete: Protezione da attacchi esterni
Le problematiche di sicurezza di una rete sono distinte da quelle legate alla sicurezza dei sistemi informativi
o dei singoli calcolatori e richiedono strumenti ad hoc. Ciononostante per garantire la sicurezza globale delle
informazioni è necessario che gli strumenti per la garanzia della sicurezza nei calcolatori, nei sistemi
operativi e nelle reti siano in grado di interagire in modo sinergico al fine di permettere la più elevata
possibile garanzia.
Quando si fa riferimento ad un evento atto a violare la sicurezza delle informazioni trasmesse all'interno della
rete, si parla di procedura di attacco.
Gli attacchi alla sicurezza della rete si possono classificare secondo due grandi categorie:

MINACCE PASSIVE: definite anche intercettazioni che rappresentano i tentativi da parte di terzi di
accedere alle informazioni trasmesse durante una comunicazione.

MINACCE ATTIVE: in cui l'accesso alle informazioni trasmesse da parte di un'entità non autorizzata
è seguito dall'alterazione delle informazioni stesse e dalla trasformazione delle stesse in modo da
trasmettere informazioni false.
Sulla base di tali considerazioni si può intuitivamente comprendere come l'implementazione di tecniche di
protezione e la definizione dei servizi da loro offerti coinvolga in modalità diverse l'architettura di rete.
È dunque necessario, innanzi tutto, comprendere come agiscono i diversi protocolli rispetto alle molteplici
problematiche di protezione dell'informazione trasmessa tenendo presente che la suite protocollare TCP/IP,
sulla quale si basa la rete Internet, come noto, risulta essere, universalmente la più diffusa.
Una volta apprese le caratteristiche architetturali, la progettazione di sistemi di sicurezza ad hoc per lo
scenario considerato deve prevedere un'analisi dei rischi al fine di poter individuare la tecnica migliore sia
dal punto di vista dell'efficienza, sia dal punto di vista strettamente economico.
Inoltre, la conoscenza delle tecniche d'attacco consente all'amministratore di sistema di proteggere i propri
sistemi prevenendo gli attacchi, ovvero adottando le misure necessarie a ridurre i fattori di rischio di
esposizione.
Una fra le più comuni tecniche di protezione della rete in termini di sicurezza è rappresentata dal firewall. Un
firewall si può definire come un oggetto che consente l'implementazione di una politica di sicurezza.
Ovviamente per poter implementare una adeguata politica di sicurezza mediante l'aiuto di un firewall è
necessario comprendere quali strumenti e quali tecniche vengono comunemente adottati dagli attaccanti per
penetrare all'interno delle reti e per meglio comprendere la tecnologia dei firewall e le operazioni che svolge
è necessario conoscere gli oggetti con cui un firewall interagisce.
Particolare importanza in tema di sicurezza è ricoperta dalle tecniche di crittografia e cifratura che
costituiscono uno strumento potente ed estremamente importante per garantire la protezione delle
informazioni trasmesse all'interno della rete.
In un contesto di crittografia convenzionale l'elemento fondamentale è la chiave, condivisa fra due entità, che
consente di cifrare e decifrare le informazioni, ma come si può intuitivamente comprendere la distribuzione e
172
Networking
Teoria
la protezione delle chiavi costituisce a sua volta uno degli elementi di debolezza del sistema e quindi che a
sua necessita di una particolare attenzione e cura in termini di sicurezza.
Nella crittografia a chiave pubblica si dispone di una coppia di chiavi, una per la cifratura e l'altra per la
decifratura. Una delle due chiavi è di dominio pubblico mentre l'altra è mantenuta segreta da parte del
soggetto che ha generato la coppia
La sicurezza telematica
La presenza di molti servizi Internet standard sempre più richiesti ed utilizzati dagli utenti fa intuitivamente
comprendere come tenda esponenzialmente a crescere la probabilità che, in alcuni casi, fornire un
determinato servizio possa rendere la nostra rete vulnerabile rispetto ad alcune tecniche di attacco che
mirano alla violazione o addirittura alla distruzione delle informazioni trasmesse all'interno della rete cui
l'utente accede.
In questa unità didattica ci occuperemo dei principali servizi forniti in Internet e cercheremo di comprendere
quali sono i loro principali problemi di sicurezza.
Parlando di servizi sicuri, tipicamente ci si riferisce a servizi che forniscono due tipi di garanzie:

il servizio non può essere utilizzato in nessun modo se non per le operazioni previste.

non è possibile leggere e/o falsificare le transazioni che avvengo attraverso il servizio.
Tali garanzie non implicano che si possano eseguire transazioni con il servizio continuando ad essere al
sicuro. Per esempio, si potrebbe utilizzare un HTTP (HyperText Transfer Protocol) sicuro per effettuare il
download di un file, ed essere sicuri che si stia effettivamente effettuando il download del file a cui si è
interessati, e che nessuno lo stia modificando nel transito. Ma non si possono avere garanzie che il file non
contenga dei virus o programmi dannosi.
È possibile anche utilizzare servizi insicuri in modo sicuro, ma ciò richiede maggiore cautela. Ad esempio, la
posta elettronica attraverso il protocollo SMTP (Simple Mail Transfer Protocol) è un classico esempio di un
servizio insicuro.
Tutte le volte che si valuta la sicurezza di un servizio, bisogna contestualizzare le valutazioni al proprio
ambiente e tener conto delle proprie configurazioni; non è interessante la sicurezza in astratto di un servizio
Sicurezza nei protocolli TCP/IP
Per comprendere le tecniche di packet filtering, una delle possibili tecniche adottate dai firewall per difendere
la propria rete, è necessario comprendere come siano composti i pacchetti da ciascuno strato software che
costituisce l'architettura TCP/IP:

Application Layer (FTP, HTTP, eccetera);

Transport Layer (TCP o UDP);

Internet Layer (IP).
Ad ogni livello un pacchetto si compone di due parti: l'intestazione (header) e i dati (payload). L'intestazione
contiene informazioni rilevanti per il protocollo, mentre il payload contiene i dati.
La costruzione del pacchetto avviene in base al meccanismo che prevede che ciascuno strato aggiunga
proprie informazioni di controllo al campo dati ricevuto dalo strato soprastante. Questo procedimento che
173
Networking
Teoria
consiste nel ricevere un pacchetto da un protocollo di livello superiore e nell'aggiungere a tale pacchetto una
propria intestazione viene detto incapsulamento.
Il protocollo IP
Il protocollo IP fornisce il servizio di internetworking in maniera non connessa e non riscontrata. Il trasporto
dei pacchetti IP può avvenire con l'impiego di differenti reti fisiche basate su diverse tecnologie (locali,
geografiche).
La maggior parte dei pacchetti IP sono di tipo unicast (sono spediti verso un unico host di destinazione).IP
prevede anche la trasmissione e l'indirizzamento multicast (spediti ad un gruppo di host) oppure di tipo
broadcast (indirizzati a tutti gli host che possono riceverli nell'ambito della rete logica di appartenenza del
mittente).
Lo scopo del multicasting è quello di migliorare l'efficienza. Un pacchetto di tipo multicast è un singolo
oggetto. Se diversi host desiderano la stessa informazione, un pacchetto di tipo multicast consente di
spedire loro diverse informazioni trasmettendo una sola copia del pacchetto, anzichè spedire un pacchetto
ciascuno.
Si noti che gli indirizzi di multicast e di broadcast debbono essere intesi
come indirizzi di destinazione, e non come indirizzi di origine. Altrimenti, gli indirizzi di origine di tipo
multicast e di tipo broadcast potrebbero essere utilizzati da un attaccante che sta utilizzando una macchina
di destinazione per amplificare l'attacco.
L'attaccante probabilmente non sarebbe in grado di raggiungere un grande numero di host senza usare
questo genere di scorrettezza. Non c'é interesse ad ottenere informazioni di tipo broadcast da altre reti,
poiché non sono rilevanti per la propria organizzazione: potrebbero essere altresì potenzialmente dannosi.
Un firewall quindi deve rifiutare i pacchetti destinati ad un indirizzo di broadcast e i pacchetti il cui indirizzo di
origine sia un multicast o un broadcast.
L'intestazione del pacchetto IP include un campo Options che solitamente non viene utilizzato. Il campo
opzioni IP è stato progettato per utilizzare informazioni speciali o per gestire istruzioni che non avevano un
174
Networking
Teoria
proprio campo specifico nell'intestazione. In pratica, le opzioni IP sono usate raramente eccezion fatta per i
tentativi di attacco.
La più comune opzione IP che un firewall è costretto a controllare è l'opzione di source routing. Il source
routing consente al mittente del pacchetto di specificare il percorso che il pacchetto dovrebbe seguire per
giungere a destinazione, piuttosto che consentire ad ogni router lungo il cammino di usare la propria routing
table per decidere a quale router successivo consegnare il pacchetto. Il source routing è stato progettato per
sovrascrivere le istruzioni presenti nelle routing table. Lo scopo del source routing è di aggirare i router che
possiedono routing table guaste o non corrette. In pratica, il source routing viene comunemente utilizzato
solamente dagli attaccanti che tentano di aggirare le misure di sicurezza costringendo i pacchetti a seguire
cammini inaspettati.
Alcuni sistemi di protezione seguono l'approccio di scartare tutti quei pacchetti che hanno le opzioni IP
impostate, senza analizzarle; tale approccio solitamente non causa grossi problemi.
Una delle caratteristiche del protocollo IP è la sua capacità di dividere un pacchetto di grandi dimensioni, che
altrimenti non potrebbe attraversare una rete (a causa delle limitazioni imposta dalle diverse porzioni di reti
fisiche attraversate) in pacchetti più piccoli chiamati frammenti, che possono attraversare la rete. I frammenti
vengono quindi riassemblati nell'host di destinazione.
Qualunque router può decidere di frammentare un pacchetto. Un flag nell'intestazione IP può essere
utilizzato per evitare che un router frammenti un pacchetto. In passato tale flag non era molto utilizzato,
perchè un router che necessità di frammentare un pacchetto ma è impossibilitato a farlo è costretto a
scartare il pacchetto, cosa peraltro meno desiderabile della frammentazione stessa. Per apprendere la MTU
(Maximun Transmission Unit) che può essere utilizzata lungo un cammino viene utilizzato un sistema che fa
uso del flag suddetto.
La tecnica per l'individuazione della massima MTU è un modo che consente di determinare qual'è il più
grande pacchetto che può essere spedito ad una macchina senza subire frammentazione. Pacchetti grandi
non frammentati consentono di avere un efficienza maggiore rispetto a pacchetti piccoli. Perciò, la massima
efficienza dipende dalla conoscenza di quanto possono essere grandi i pacchetti. Al fine di scoprire tale
limite massimo, i sistemi spediscono pacchetti impostando il flag che vieta la frammentazione e attendono
messaggi di errore. Se si verifica un errore, la macchina riduce la dimensione dei pacchetti, altrimenti la
aumenta.
Dal punto di vista della sicurezza il problema che si incontra con la frammentazione sta nel fatto che solo il
primo frammento contiene le informazioni relative ai protocolli di più alto livello che i sistemi di firewalling
devono controllare per decidere se far passare o meno un pacchetto. In principio, un approccio comune era
quello di consentire il passaggio a tutti i frammenti facendo il controllo solamente sul primo. Questo
approccio era considerato sicuro perché se il firewall decideva di scartare il primo frammento, l'host di
destinazione non poteva essere in grado di riassemblare tutto il contenuto. Se il pacchetto originale non può
essere ricostruito, il pacchetto parzialmente riassemblato non può essere accettato.
I problemi con i pacchetti frammentati ancora oggi persistono. Se si consente il passaggio a tutti i pacchetti
eccetto il primo, l'host di destinazione mantiene tali frammenti in memoria per un certo periodo, in attesa di
ricevere il pezzo mancante; questo consente ad un attaccante di usare i pacchetti frammentati in un attacco
di tipo DoS. Quando l'host di destinazione rinuncia ad assemblare un pacchetto, spedisce un messaggio
175
Networking
Teoria
ICMP di tipo packet reassembly time expired in risposta al mittente, tale messaggio informa l'attaccante
dell'esistenza dell'host e del motivo per cui la connessione non può essere stabilita (presenza del firewall).
Inoltre, gli attaccanti possono usare pacchetti frammentati in modo speciale per nascondere delle
informazioni. Ogni frammento contiene i riferimenti che indicano dove i dati iniziano e finiscono.
Normalmente, ogni frammento inizia dopo la fine di quello precedente. Comunque un attaccante può
costruire pacchetti nelle parti in cui i frammenti si sovrappongono. Questo ovviamente non accade in
condizioni normali; può accadere solamente nel caso di errori o di attacchi.
I sistemi operativi differiscono nelle modalità con cui gestiscono i frammenti che si sovrappongono. Poichè
tali frammenti non sono normali, molti sistemi operativi li gestiscono male e possono riassemblarli in
pacchetti non validi. Tre tecniche di attacco sono possibili grazie ai frammenti che si sovrappongono:

Semplici attacchi di tipo DoS contro sistemi che gestiscono male i frammenti che si sovrappongono.

Attacchi di tipo Information-hiding. Se un attaccante sa che sono stati installati sistemi che rilevano
virus, individuano le intrusioni, o altri sistemi che sono attenti al contenuto dei pacchetti allora può
costruire frammenti che nascondono il reale contenuto del pacchetto.

Attacchi che prelevano informazioni da servizi che non dovrebbero essere accessibili. Un attaccante
può costruire un pacchetto con un'intestazione valida nel primo frammento e quindi sovrapporla con
il prossimo frammento. Poichè un firewall non si aspetta intestazioni nei frammenti successivi al
primo, non analizza tali frammenti.
Se non è possibile eseguire il riassemblaggio dei pacchetti nel firewall la cosa migliore da fare è scartare tutti
i frammenti. Tale approccio potrebbe distruggere connessioni che avrebbero potuto andare a buon fine ma,
in ogni caso, tra i due mali questo è certamente il minore.
Il protocollo TCP
Il protocollo TCP è il protocollo di strato trasporto più comunemente usato in Internet. Ad esempio, i servizi
Telnet, FTP, SMTP, NNTP e HTTP sono tutti servizi basati sul protocollo TCP. Il protocollo TCP fornisce alle
applicazioni connessioni affidabili e bidirezionali tra due host.
Il protocollo TCP è affidabile nel senso che garantisce lo strato applicativo, cioè:

La destinazione riceve i dati applicativi nello stesso ordine in cui sono stati spediti.

La destinazione riceve tutti i dati applicativi.

La destinazione non riceve dati duplicati.
Il protocollo TCP è anche in grado di chiudere una connessione nel caso in cui non riesca a garantire le tre
precedenti proprietà. Ad esempio, se vengono persi i pacchetti TCP nell'ambito di una sessione, il protocollo
TCP proverà a ritrasmettere i pacchetti prima di chiudere la connessione definitivamente.
Queste garanzie implicano ritardi sui tempi di setup (i due lati di una connessione debbono scambiarsi delle
informazioni prima che possano realmente spedire dei dati) ed influenzano le prestazioni (i due lati di una
connessione debbono tenere traccia dello stato della connessione).
Il protocollo TCP è bidirezionale nel senso che dal momento in cui viene stabilita una connessione tra un
client ed un server, il server ha la possibilità di rispondere al client sulla stessa connessione.
176
Networking
Teoria
Per bloccare una connessione TCP è sufficiente bloccare il primo pacchetto di tale connessione (quello che
contiene la flag SYN=1). Senza il primo pacchetto, qualunque altro pacchetto successivo al primo non può
essere riassemblato in uno stream sul lato ricevente. Qualunque altro pacchetto, successivo al SYN iniziale,
indifferentemente dalla direzione in cui viaggia, è contraddistinto dal bit di ACK impostato ad 1.
Il riconoscimento dei pacchetti di apertura della connessione consente il rafforzamento delle politiche di
sicurezza, dal momento che, ad esempio, permette ai client interni di connettersi ai server esterni, e può
vietare ai client esterni di connettersi ai server interni.
Le opzioni presenti in un pacchetto TCP sono:

URG (URGent).

ACK (ACKnowledgement).

PSH (PuSH).

RST (ReSeT).

SYN (SYNchronize).

FIN (FINish).
I flag URG e PSH vengono utilizzati per identificare dati particolarmente critici; PSH comunica al ricevente di
interrompere il buffering e consegnare i dati allo strato applicativo, mentre URG identifica i dati che il mittente
considera genericamente importanti. In pratica entrambi non sono implementati in maniera affidabile, quindi i
firewall possono tranquillamente trascurarli. Potrebbe essere utile scartare i pacchetti con i bit URG e PSH
impostati nei casi in cui fossero indirizzati a delle destinazioni che non li gestiscono.
I flag ACK e SYN vengono utilizzati per implementare il protocollo Three-way Handshake. Il flag SYN è
impostato ad 1 nei primi due pacchetti che vengono utilizzati per stabilire una connessione.
I flag RST e FIN vengono utilizzati per chiudere le connessioni. Il flag RST viene utilizzato per una chiusura
brutale, mentre il flag FIN viene utilizzato per una chiusura concordata tra i due lati della connessione.
Si deduce quindi che gli unici due flag interessanti per un firewall sono ACK e RST:

ACK perché consente di rilevare in maniera affidabile il primo pacchetto della connessione.

RST perché fornisce un modo utile per chiudere una connessione senza dover spedire messaggi di
errore.
Si possono pensare diversi attacchi che coinvolgono l'impostazione ad 1 di alcuni flag che normalmente non
vengono impostati. Molte implementazioni TCP/IP rispondono erroneamente a strane combinazioni di flag,
bloccando ad esempio la macchina. Altre implementazioni rispondo a tali pacchetti ma non effettuano il
logging del pacchetto, consentendo agli attaccanti di non essere rilevati, eccetera.
Il protocollo TCP garantisce alle applicazioni che riceveranno i dati nell'ordine corretto, ma nulla garantisce al
protocollo TCP che i pacchetti arriveranno nell'ordine corretto. Al fine di poter ricostruire correttamente i
pacchetti ricevuti, il protocollo TCP identifica i pacchetti attraverso un numero, chiamato numero di
sequenza. All'inizio di una connessione tra due host, ciascun host seleziona un numero da cui iniziare, tali
numeri vengono scambiati attraverso il protocollo Three-way Handshake.
Un attaccante, per poter dirottare una connessione, deve indovinare i corretti numeri di sequenza. Poiché tali
numeri vengono semplicemente incrementati durante una connessione, è facile per un attaccante prevedere
i numeri di sequenza futuri. D'altra parte, tale operazione è molto difficile se non si ha la possibilità di
177
Networking
Teoria
osservare i numeri di sequenza iniziali stabiliti durante l'apertura della connessione; i numeri di sequenza
iniziali dovrebbero essere scelti in modo casuale. In alcune implementazioni TCP/IP i numeri di sequenza
sono predicibili.
Per poter dirottare una connessione predicendo i numeri di sequenza, un attaccante deve:

avere la possibilità di costruire i pacchetti TCP/IP;

conoscere il numero di sequenza iniziale di una connessione;

conoscere l'esistenza di una connessione interessante;

avere informazioni precise sull'istante di tempo in cui una connessione è iniziata;

avere la possibilità di rispondere in modo che nessuno possa rilevare la sua presenza.
Per anni tale attacco è stato considerato un attacco puramente teorico, che non comporta rischi reali.
Attualmente è molto diffuso ed esistono programmi di libero dominio che ne rendono possibile l'attuazione.
Analisi dei rischi
Una volta che sono ben chiare le caratteristiche di gestione della sicurezza nell'architettura protocollare che
caratterizza la nostra rete è opportuno, prima di affrontare l'effettiva implementazione di strumenti e servizi
per la protezione dell'informazione, effettuare un'analisi dei rischi. In effetti, la sicurezza in ciascun sistema
deve essere valutata rispetto ai rischi. Il processo che consente di determinare quali controlli siano
appropriati e realizzabili dal punto di vista economico è molto spesso complesso ed a volte soggettivo.
Ci sono diversi approcci per quel che riguarda la fase di analisi dei rischi, ma essi possono essere facilmente
ricondotti ad uno dei due seguenti tipi:

Analisi dei rischi di tipo quantitativo. Questo approccio impiega due elementi fondamentali: la
probabilità che si verifichi un evento disastroso e le perdite stimate che possono essere associate a
tale evento.

Analisi dei rischi di tipo qualitativo. Questo approccio è quello più largamente utilizzato. Ci si basa
sull'individuazione delle risorse da proteggere, dei possibili attaccanti e delle possibile tecniche di
attacco.
COSA PROTEGGERE
I dati
I dati di una organizzazione possiedono tre caratteristiche che necessitano di essere protette:

Segretezza. Si desidera che altri non possano leggerne il contenuto.

Integrità. Si desidera che altri non possano modificarli.

Disponibilità. Si desidera che siano sempre accessibili.
Anche se i propri dati non sono particolarmente segreti, bisogna sempre preoccuparsi delle conseguenze
che si verificherebbero in seguito alla loro modifica. In questo caso si genererebbe la perdita di fiducia da
parte di utenti e/o dei clienti rispetto alle tecnologie e alle politiche di amministrazione e quindi una perdita di
fiducia nell'organizzazione.
Le risorse
178
Networking
Teoria
Le risorse elaborative di un'organizzazione sono considerate pregiate e, come tali, l'organizzazione deve
tutelarle evitando che gli attacchi dall'esterno ne sfruttino le capacità per scopi maliziosi.
La reputazione
Un attaccante che riesce a penetrare all'interno di un sistema si presenta in Internet con l'identità
dell'organizzazione che è riuscito ad attaccare.
È noto come sia possibile comporre e spedire messaggi di posta elettronica senza ottenere l'accesso ad un
certo server, ma è molto più facile farlo dopo essere penetrati all'interno del sistema stesso. I messaggi che
provengono dal sito attaccato ed inviati dall'attaccante non sono distinguibili da quelli inviati dalle persone
realmente autorizzate.
Attacchi di tale genere riducono la fiducia verso l'organizzazione.
DA COSA PROTEGGERE
Le prerogative di un hacker sono:

evitare l'individuazione e la cattura;

nascondere la propria identità mediante un nickname;

nascondere la propria collocazione geografica.
Se ottengono l'accesso su un sistema, tentano certamente di conservarlo.
Joyrider
I joyrider sono persone annoiate che cercano dei divertimenti. Essi violano i sistemi perché pensano di
trovarvi cose interessanti o perché trovato eccitante la possibilità di usare le risorse di altri.
Vandali
I vandali sono coloro che cancellano i dati nei siti. Sono invisi anche alle persone che fanno parte
dell'underground.
Scorekeeper
A questa categoria appartengono i collezionisti di successi. Non sono interessati solo alla qualità dei sistemi
violati, ma anche alla quantità.
Spia
Appartengono a questa classe le persone cha praticano il furto di informazioni, direttamente o indirettamente
convertibili in valore economico (informazioni relative a carte di credito, schede/ricariche telefoniche,
eccetera).
Le precauzioni che governi e organizzazioni attuano per proteggere informazioni sensibili sono complesse e
costose (schermi elettromagnetici, controllo degli accessi ossessivo, eccetera).
Strategie per la sicurezza della rete
L'approccio più semplice possibile per quel che riguarda la sicurezza è quello di considerare quali strategie
adottare per ridurre al minimo i rischi.
È bene partire dal presupposto che non esiste un approccio o una strategia che possa risolvere tutti i
problemi. Non esiste nulla che possa fornire una protezione perfetta e non esiste neanche una strategia che
sia in grado di risolvere tutti i problemi di gestione.
179
Networking
Teoria
Sicurezza attraverso l'obscurity
Un'altra semplice strategia di sicurezza è quella a cui comunemente ci si riferisce con il termine security
through obscurity. Con questa strategia, un sistema si considera sicuro semplicemente perché si suppone
che nessuno sia a conoscenza della sua esistenza. Tuttavia, esistono molti modi per venire a conoscenza
dell'esistenza di un host.
Ci sono diversi modi per ottenere informazioni sensibili da una macchina. Ad esempio, conoscendo
l'hardware, il software e la versione del sistema operativo di un host, è possibile individuare le tecniche da
utilizzare per accedervi. In molti casi la versione del proprio sistema operativo viene rivelata al server al
momento del login.
Si inviano informazioni sensibili anche quando ci si connette con macchine esterne alla propria rete. Ad
esempio, quando si effettua una connessione ad un server HTTP, il client comunica la versione del browser
e del sistema operativo utilizzati.
A lungo termine, quindi, la scelta della tecnica di obscurity non si rivela molto efficace.
Host security
Una strategia molto utilizzata è quella che si basa sulla sicurezza a livello di host. Con questa strategia, si
rafforza la sicurezza di ciascun host separatamente, e ci si sforza di evitare o alleviare tutti i problemi di
sicurezza sui singoli host. Tale soluzione presenta difficoltà di scalabilità, al crescere del numero degli host e
al crescere della varietà degli host stessi (hardware diverso, sistemi operativi diversi, applicazioni diverse,
configurazioni eterogenee, eccetera).
La sicurezza a livello di host dipende fortemente dalle competenze di chiunque abbia un accesso privilegiato
ad ogni macchina.
Una sicurezza a livello di host può essere molto appropriata per piccoli siti oppure per siti con elevati requisiti
di sicurezza.
Network security
Al crescere della consistenza degli ambienti di elaborazione la soluzione basata sulla sicurezza a livello di
host diviene sempre meno attuabile e gestibile; per questo motivo molte organizzazioni e reti di computer
adottano una strategia a livello di rete.
In tal caso si concentra l'attenzione sul controllo degli accessi alla rete ed ai servizi offerti. Gli approcci a
livello di rete includono la realizzazione di firewall per la protezione delle reti e dei sistemi interni, l'uso di
meccanismi di autenticazione forte e l'uso della cifratura per proteggere i dati particolarmente sensibili.
Un sito può ottenere importanti vantaggi utilizzando un approccio basato sulla rete. Infatti, un singolo firewall
può proteggere molte macchine da attacchi che provengono da reti esterne, senza preoccuparsi del tipo di
sicurezza a livello dei singoli host.
Least privilege
Molto probabilmente, il principio fondamentale per la sicurezza è quello dei privilegi minimi. Tale principio
prevede che utenti, amministratori, programmi, sistemi, dovrebbero possedere solamente i privilegi
necessari per eseguire uno specifico task. Il principio dei privilegi minimi è un importante principio per
limitare l'esposizione agli attacchi e per limitare i danni.
Tutti gli utenti non necessitano in generale di accedere ad ogni servizio Internet. Ogni utente probabilmente
non necessita di modificare o leggere ogni file in un sistema. Ogni utente probabilmente non necessita di
180
Networking
Teoria
conoscere la password di amministratore di una macchina. Ogni amministratore di sistema probabilmente
non necessita di conoscere le password di amministrazione di tutti i sistemi. Molti sistemi operativi non sono
configurati con privilegi minimi, anche per semplificare l'avviamento all'uso della macchina da parte
dell'utente.
Ci possono essere due problemi nel momento in cui si decide di applicare il principio dei privilegi minimi.
Innanzitutto, può essere difficile applicarlo a causa dell'esistenza di programmi e/o di protocolli non progettati
per supportare tale schema. In secondo luogo, si può correre il rischio di impostare in un sistema un numero
di privilegi inferiore a quelli minimi.
Il tentativo di applicare il principio dei privilegi minimi sulle persone piuttosto che sui programmi potrebbe
rivelarsi controproducente. Si può predire abbastanza facilmente quali permessi siano necessari per un mail
server (il paradosso a cui si può andare incontro è di trasformare involontariamente i propri utenti in
potenziali nemici della propria rete).
Defense in depth
Un secondo principio di sicurezza è basato sulla difesa in profondità. In altri termini ci si affida a diversi
meccanismi, anche per motivi di fault tolerance.
Si possono prevedere diversi meccanismi che forniscono backup e ridondanza:

meccanismi di network security (firewall);

meccanismi di host security;

meccanismi di sicurezza per gli utenti.
Tutti questi meccanismi sono importanti e possono essere molto efficienti, ma è bene utilizzarli in maniera
combinata.
Choke point
Un choke point obbliga un attaccante ad utilizzare un canale o un accesso obbligato. Per quanto riguarda la
sicurezza nelle reti, il firewall tra una rete privata ed Internet (assumendo che esista un unico cammino che
le interconnetta) costituisce un choke point; tutti coloro che desiderano attaccare la rete privata debbono
passare per il firewall.
Un choke point è inutile se ci sono modi per aggirarlo; un attaccante proverà ad entrare dalla via di accesso
meno sicura e meno sorvegliata.
Un choke point costituisce un meccanismo di sicurezza centralizzato e come tale sarà più agevole
l'esercizio, la manutenzione, la configurazione.
Link più debole
Un'assunzione fondamentale per quanto riguarda la sicurezza è che una catena di sicurezza è tanto forte
quanto il suo anello più debole. Gli attaccanti più scaltri cercano di individuare il punto più debole in una rete
e si concentrano solo ed esclusivamente su di esso.
È necessario che l'amministratore sia a conoscenza dei punti deboli delle proprie difese per poterli eliminare
quanto più possibile e per controllare attentamente quelli non eliminabili.
Strategie di configurazione
Un altro fondamentale principio di sicurezza è quello delle configurazioni fail safe, cioè quelle configurazioni
che continuano ad essere sicure anche a seguito di un errore e/o di un failure. Se, infatti, falliscono,
181
Networking
Teoria
dovrebbero lasciare gli accessi completamente bloccati.
Ci sono due approcci principali che si possono seguire rispetto alle politiche ed alle strategie da adottare per
quel che riguarda la sicurezza:

Default deny. Si specifica solamente ciò che è consentito e si vieta qualunque altra cosa.

Default permit. Si specifica solamente ciò che è proibito e si abilita qualunque altra cosa.
Dal punto di vista della sicurezza, l'approccio migliore è quella relativo al default deny, mentre,
probabilmente, dal punto di vista degli utenti l'approccio migliore è quello del default permit.
TUTTO CIÒ CHE NON È ESPRESSAMENTE CONSENTITO DEVE ESSERE PROIBITO
Tale approccio ha senso da un punto di vista della sicurezza in quanto è fail safe.
Con questo approccio, si proibisce di default qualunque cosa; per poter individuare cosa è consentito
occorre:

esaminare i servizi necessari agli utenti;

considerare le implicazioni relative alla sicurezza con l'erogazione di tali servizi;

permettere solamente i servizi che si conoscono, che possono essere forniti in maniera sicura e che
sono strettamente necessari.
I servizi in questo modo vengono abilitati in maniera controllata.
TUTTO CIÒ CHE NON È ESPRESSAMENTE PROIBITO DEVE ESSERE PERMESSO
In questo caso, possono rilevarsi alcune malfunzioni in alcuni servizi:

NFS non è permesso attraverso il firewall;

l'accesso al WWW è consentito solamente agli utenti che sono stati adeguatamente istruiti sulle
possibilità di attacco che provengono dal Web;

gli utenti non possono installare servizi non autorizzati.
Tale approccio richiede di specificare cosa sia ritenibile pericoloso. Ciò che si considera pericoloso viene
vietato, mentre si permette qualunque altra operazioni che non si considera pericolosa.
Ipotizzare quali siano tutti i rischi in un sistema o in Internet è un'impresa impossibile. Finché non si hanno
notizie del rischio derivante dall'utilizzo di determinati servizi, tali servizi non verranno inseriti nell'elenco.
L'utente spesso reagisce a questo approccio limitativo, cercando nuovi modi per accedere ai servizi chiusi.
Architetture per reti sicure
Non esiste una terminologia completa e consistente per le architetture e componenti di firewall. Per quanto
riguarda i firewall sicuramente si può schematizzare quanto segue:

Firewall: un componente o un insieme di componenti che limitano l'accesso tra una rete protetta ed
Internet.

Host: un computer connesso ad una rete.

Bastion host: un computer che deve essere reso molto sicuro in quanto potrebbe essere oggetto di
attacchi.

Dual-homed host: un computer che ha almeno due interfacce di rete.

Network address translation: una procedura mediante la quale un router modifica i pacchetti che lo
attraverso cambiando gli indirizzi di rete in base ad una opportuna politica.

Pacchetto: l'unità fondamentale di comunicazione in Internet.
182
Networking
Teoria

Packet filtering: l'azione intrapresa da un dispositivo per controllare in maniera selettiva il flusso dei
dati proveniente e/o diretto verso la rete.

Rete perimetrale: una rete aggiunta (interposta) tra una rete protetta ed una rete esterna (Internet) al
fine di fornire un ulteriore livello di sicurezza. Una rete perimetrale viene qualche volta chiamata
DMZ, De-Militarized Zone (Zona DeMilitarizzata, riferimento alla zona che separa le due Coree).

Proxy: un'applicazione software che dialoga con server esterni per conto dei client interni.

Virtual Private Network o VPN: una rete che trasporta pacchetti, appartenenti ad una rete privata
implementata sull'infrastruttura pubblica, che non possono essere decifrati dagli attaccanti.
Firewall
Per meglio comprendere la tecnologia dei firewall e le operazioni che svolge è necessario conoscere gli
oggetti con cui un firewall interagisce: i pacchetti e i protocolli che sono stati utilizzati per assemblare tali
pacchetti. In questa unità didattica vengono illustrate le principali problematiche relative alla sicurezza dei
protocolli comunemente adottati in Internet.
Un firewall è un oggeto che consente l'implementazione di una politica di sicurezza. Per poter definire
un'adeguata politica di sicurezza, e per poterla successivamente implementare mediante l'aiuto di un firewall
è necessario comprendere quali strumenti e quali tecniche vengono comunemente adottati dagli attaccanti
per penetrare all'interno delle reti.
La conoscenza delle tecniche di attacco consente all'amministratore di sistema di proteggere i propri sistemi
prevenendo gli attacchi, ovvero adottando le misure necessarie a ridurre i fattori di rischio di esposizione.
Un buon amministratore di reti e sistemi deve essere un po' hacker
Personal firewall
Si tratta di un programma progettato per proteggere adeguatamente un computer quando questo è collegato
ad una rete. Un personal firewall analizza i canali di comunicazione, negando l'elaborazione del traffico
ritenuto rischioso sia in ingresso sia in uscita. Di seguito si analizzano le caratteristiche di alcuni prodotti
molto diffusi e si riassumono le caratteristiche comparate, in una tabella.
Tiny Personal Firewall
Tiny Personal Firewall è un prodotto facile da configurare ed utilizzare e protegge completamente un
computer dagli attacchi. Tiny Personal Firewall include dei wizard semplici per il rilevamento delle intrusioni
che individuano attività sconosciute e chiedono all'utente di impostare i parametri del firewall.
Per proteggere il computer da cavalli di Troia o applicazioni non autorizzate, Tiny Personal Firewall include
degli application filter. Appositi wizard rilevano i tentativi di connessione alle porte di comunicazione e creano
delle regole di filtering in base all'indicazioni dell'utente.
Per garantire che dei cavalli di Troia non si nascondano all'interno di applicazioni viene utilizzata la firma
digitale con algoritmo MD5.
I log file generati possono essere salvati localmente oppure trasmessi ad un server Syslog.
Norton Personal Firewall
Norton Personal Firewall controlla tutte le connessioni tra il computer e la rete. Fornisce dei tool e dei wizard
per la configurazione automatica delle regole di filtering.
Zone Alarm
183
Networking
Teoria
Personal Firewall simile ai precedenti per quel che riguarda protezione e tool di configurazione
Esempio di firewall commerciali
Una soluzione per la sicurezza di un'organizzazione deve essere in grado di dichiarare una politica a livello
di organizzazione, distribuirla e ricevere i log. Deve inoltre consentire all'organizzazione di controllare l'intera
infrastruttura di sicurezza (i firewall dell'organizzazione, le reti private virtuali) da un unico punto di
amministrazione.
Esistono diversi prodotti che soddisfano i requisiti di sicurezza e che forniscono i tool per la protezione delle
reti private delle organizzazioni. Si analizzano a titolo di esempio le caratteristiche di due prodotti
commerciali molto diffusi: Cisco PIX e Checkpoint FIREWALL 1
Firewall Cisco
Le principali caratteristiche sono:

Context-Based Access Control: fornisce agli utenti interni un controllo di accesso sicuro per tutto il
traffico attraverso il firewall.

Rilevamento delle intrusioni: fornisce il monitoraggio, l'intercettazione e la risposta in tempo reale
agli abusi nella rete rilevando un vasto insieme di attacchi comuni.

Proxy di autenticazione: fornisce meccanismi di autenticazione e autorizzazione degli utenti per quel
che riguarda le comunicazioni di rete e/o dial-up.

Rilevamento e prevenzione di attacchi di tipo DoS: difende e protegge le risorse del router da
attacchi comuni.

Assegnazione dinamica delle porte.

Blocco degli applet Java.
184
Networking
Teoria

Supporto per reti VPN, cifratura IPSec e qualità del servizio.

Alert in tempo reale.

Funzionalità di auditing dettagliati: memorizza la data, l'host di origine, l'host di destinazione, le
porte, la durata e il numero totale di byte trasmessi.

Logging degli eventi: consente agli amministratori di rilevare in tempo reale, potenziali buchi di
sicurezza o altre attività non standard effettuando il logging dei messaggi di errore di sistema su un
Syslog server.

Funzionalità di gestione del firewall: tool di configurazione che offre la possibilità di definire passo
passo le azioni necessarie per la protezione della rete.

Strategie di filtering del traffico base ed avanzate.

Ridondanza/fileover: dirotta automaticamente il traffico ad un router di backup nell'eventualità in cui il
firewall vada in errore.

Funzionalità NAT.

Regole per il filtering temporizzato.
Checkpoint Firewall-1
Un firewall Cisco è un dispositivo hardware per la protezione di una rete, Checkpoint Firewall-1 è invece
un'applicazione software. La console di management di Checkpoint Firewall-1 fornisce una singola
interfaccia grafica per definire e gestire molti elementi di una rete. Tutte le definizioni degli oggetti sono
condivise tra tutte le applicazioni.
185
Networking
Teoria
Gli amministratori della sicurezza possono selezionare la locazione degli oggetti oppure modificarne le
caratteristiche utilizzando l'editor visuale per la definizione delle politiche di sicurezza.
Checkpoint Firewall-1 fornisce anche un editor visuale per i log che consente un'analisi in tempo reale delle
informazioni relative al tracking, al monitoraggio e all'accounting di tutte le connessioni. Il modulo per la
generazione dei report permette agli amministratori di trasformare i dettagliati log del firewall in report di
gestione che rappresentano le informazioni mediante tabelle e grafici.
I firewall proteggono le organizzazioni in Internet fornendo accessi sicuri: garantendo che utenti validi
possano accedere alle risorse di rete di cui hanno bisogno. Determinare chi sia un utente valido è compito
del sistema di autenticazione; mentre determinare quali risorse un utente possa accedere è compito del
sistema di autorizzazione (Access Control).
Le regole per l'Access Control determinano quali utenti possono accedere alle risorse. Per fornire
meccanismi di Access Control, un firewall richiede una comprensione profonda dei servizi e delle
applicazioni utilizzati in rete. Checkpoint Firewall-1 fornisce tecnologie di ispezione di tipo statefull.
Le funzionalità di content security di Checkpoint Firewall-1 estendono le ispezioni dei dati fino al livello
applicativo per proteggere gli utenti nei confronti di:

Virus.

Oggetti ActiveX.
186
Networking
Teoria

Applet Java.
Checkpoint Firewall-1 ha inoltre la possibilità di mascherare la visibilità interna di una rete attraverso
meccanismi di NAT.
Checkpoint Firewall-1 cura inoltre tutti gli aspetti relativi alle prestazioni per non introdurre ritardi penalizzanti
nell'instradamento dei pacchetti che sono abilitati a transitare.
PGP - Pretty Good Privacy
Le problematiche legate alla sicurezza della rete coinvolgono molti aspetti che sono, di fatto, diversi tra loro e
condizionano in vario modo le strategie attuate per garantire un'implementazione di rete sicura. Si parla,
infatti, di sicurezza telematica, sicurezza dei protocolli, sicurezza dei sistemi informativi. In tale scenario, un
aspetto di particolare importanza è rappresentato dalla necessità di proteggere le informazioni sensibili
durante la trasmissione delle stesse all'interno della rete. Al fine di perseguire quest'obiettivo sono stati
progettati strumenti opportuni che si basano su algoritmi di crittografia di consolidata efficienza. In
particolare, in questi ultimi anni, il sistema di protezione denominato PGP, Pretty Good Privacy, ha
conseguito un enorme successo di mercato in virtù delle sue caratteristiche di particolare efficienza e di
facile reperibilità a livello mondiale.
È dunque necessario per completezza della trattazione relativa agli aspetti di sicurezza delle reti, descrivere
quali siano le principali caratteristiche e le relative potenzialità di tale servizio.
PGP può essere definito come un servizio d'autenticazione e d'amministrazione confidenziale delle
informazioni utilizzato per la gestione sia di applicazioni di memorizzazione di file, sia della posta elettronica.
In effetti, come rilevato nella precedente sessione si tratta sostanzialmente dello sforzo di una singola
persona, Phil Zimmermann, il quale, nell'implementazione di questo nuovo servizio di crittografia, ha seguito
alcuni fondamentali aspetti, che si sono poi rilevati l'elemento chiave del successo del PGP a livello
mondiale.
Gli elementi in questione possono essere brevemente riassunti attraverso il seguente elenco:
1. Selezione dei migliori algoritmi di crittografia esistenti da utilizzare come elementi basilari per la
definizione del nuovo servizio.
2. Definire un'efficiente integrazione di tali algoritmi in un'applicazione di tipo general-purpose ossia in
grado di operare in modo indipendente rispetto dall'hardware ed al sistema operativo utilizzato
dall'utente.
3. Una volta conclusa l'implementazione del servizio, garantire la libera fruizione dell'intero pacchetto
applicativo via Internet, corredato da un contributo di documentazione che sia il più completo ed il
più aggiornato possibile.
4. Definire accordi commerciali con le più importanti compagnie al fine di fornire piena compatibilità al
prodotto, garantendo anche un suo costo commerciale quanto più possibile ridotto.
In effetti, il perseguimento di tali obiettivi ha consentito al PGP di riscuotere un immediato successo pochi
anni dopo la sua nascita con ritmi di crescita impressionati.
Le ragioni che hanno consentito quest'ampia diffusione a livello mondiale possono essere così riassunti:
187
Networking
Teoria
1. Il PGP è disponibile in modo gratuito e facilmente reperibile in Internet (si rimanda al sito citato nella
bibliografia del presente modulo dove viene offerta la possibilità di fruire liberamente di un esaustiva
documentazione sul PGP, oltre che della possibilità di scaricare il relativo software applicativo) sia
per ambiente Window sia per ambiente Unix/linux.
2. Si basa su algoritmi di crittografia di provata e consolidata affidabilità: in particolare si utilizza RSA
per l'operazione di crittografia delle chiavi pubbliche, IDEA (International Data Encryption Algorithm)
per le operazioni di crittografia convenzionale ed MD5 per le codifiche hash.
3. È caratterizzato da un elevato livello di applicabilità in relazione alle più diverse aree di utlizzo.
4. Non essendo controllato da nessun ente governativo o di standardizzazione lo rende
inconsciamente enormemente appetibile.
Dal punto di vista dei servizi il PGP è in grado di fornirne cinque fondamentali:
1. Autenticazione.
2. Trattamento confidenziale.
3. Compressione.
4. Compatibilità col servizio di posta elettronica.
5. Segmentazione.
Tali servizi possono essere spiegati in modo semplice e schematico attraverso la seguente tabella che ne
rappresenta le funzioni, i relativi algoritmi utilizzati, descrivendone le principali caratteristiche.
Funzione
Algoritmo
utilizzato
Descrizione
Il messaggio è criptato utilizzando IDEA con una singola chiave di
Message
Encryption
IDEA, RSA
sessione generata dal trasmettitore. La chiave di sessione è poi
sottoposta ad operazione di crittografia attraverso RSA con la chiave
pubblica del beneficiario e inclusa nel messaggio.
Utilizzando MD5 si crea un codice hash del messaggio. Il messaggio
Firma digitale
RSA, MD5
viene dunque sottoposto ad operazione di crittografia con RSA con la
chiave privata del trasmettitore ed incluso nel messaggio.
Compressione
ZIP
Il messaggio viene compresso utilizzando ZIP al fine di ottenere una
trasmissione ed una memorizzazione più efficiente.
Compatibilità con Conversione
Al fine di garantire trasparenza in caso di applicazioni e-mail il messaggio
e-mail
criptato può essere convertito in formato ASCII utilizzando Radix 64.
Segmentazione
188
Radix 64
Al fine di garantire il rispetto della massima dimensione ammessa per il
messaggio il PGP realizza funzioni di segmentazione e riassemblaggio.