Networking - La rete della comunicazi one | un altro sito del ... · Web viewI collegamenti punto a...

257
Networking Teoria 1. 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 2. 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............................................ 15 Tipologie di collegamento.................................... 17 Mezzi di trasmissione........................................ 18 Classificazione delle reti in base alla distanza.............19 3. 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 4. 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 1

Transcript of Networking - La rete della comunicazi one | un altro sito del ... · Web viewI collegamenti punto a...

Networking Teoria

1. INTRODUZIONE ALLA TRASMISSIONE DATI..............................................................................................5

MODELLO DI COMUNICAZIONE.................................................................................5MODELLO DI ELABORAZIONE...................................................................................6INFORMAZIONI DI TIPO “DATO”.................................................................................7CLASSIFICAZIONE DELLE INFORMAZIONI...............................................................7SISTEMA DI COMUNICAZIONE..................................................................................9Definizione di networking............................................................................................10

2. INTRODUZIONE AGLI AMBIENTI DI RETE.................................................................................................12

Reti di telecomunicazioni............................................................................................12Vantaggi di un ambiente di rete..................................................................................13Ambienti Client/Server e Peer-to-Peer........................................................................13Sicurezza di un ambiente di rete.................................................................................14Struttura, funzioni e modo di trasferimento di una rete...............................................15Topologie di rete.........................................................................................................15Tipologie di collegamento...........................................................................................17Mezzi di trasmissione..................................................................................................18Classificazione delle reti in base alla distanza............................................................19

3. GLI STANDARD E LE RETI DI COMUNICAZIONE.....................................................................................20

Reti di calcolatori.........................................................................................................21Modello di comunicazione a strati...............................................................................21Modello ISO-OSI.........................................................................................................23Modello Internet..........................................................................................................24

4. WAN: TECNOLOGIE...........................................................................................................................................26

Caratteristiche delle WAN:............................................................................................................26Definizione di rete geografica........................................................................................................26Tipologie di traffico ed evoluzione dei servizi...............................................................................27Le tecnologie di trasporto...............................................................................................................28

PSTN (Public Switched Telephone Network)..............................................................28Le reti a commutazione di pacchetto x25....................................................................29Formazione dei flussi numerici PCM...........................................................................29CAMPIONAMENTO....................................................................................................30FORMAZIONE DI UN FLUSSO PCM.........................................................................32FLUSSI NUMERICI NORMALIZZATI..........................................................................33

Apparati di rete: Modulazione e multiplazione..............................................................................33l modem......................................................................................................................33TECNICHE DI MODULAZIONE..................................................................................34MULTIPLAZIONE........................................................................................................35TDM............................................................................................................................ 36Multiplazione numerica...............................................................................................37Multiplazione sincrona.................................................................................................38Multiplazione asincrona...............................................................................................38Wavelenght DIVISION MULTIPLEXING.....................................................................39La rete pdh/sdh..........................................................................................................39ISDN (Integrated Services Digital Network)................................................................40ADSL...........................................................................................................................43

1

Networking Teoria

Frame Relay...................................................................................................................................47ATM............................................................................................................................ 53

5. RETI LAN: MEZZI TRASMISSIVI E CABLAGGIO.......................................................................................55

Mezzi trasmissivi............................................................................................................................55Cavo coassiale............................................................................................................55Doppino ritorto.............................................................................................................56Fibra ottica..................................................................................................................58

Dispositivi di Comuniczione su teri LAN......................................................................................61Repeater.....................................................................................................................61Bridge..........................................................................................................................62Switch..........................................................................................................................62

IL CABLAGGIO STRUTTURATO..............................................................................................63Definizioni....................................................................................................................63Il sistema di cablaggio IBM.........................................................................................64Cablaggio in categoria 5.............................................................................................65

6. RETI LAN: MODELLI CORRENTI E STANDARD........................................................................................71

Le reti locali ed lo standard IEEE 802...........................................................................................71Topologie LAN..............................................................................................................................72

Topologia a bus...........................................................................................................72Topologia a stella........................................................................................................72

Protocolli e standard di LAN..........................................................................................................73IEEE 802.3 - CSMA/CD (Ethernet).............................................................................73Evoluzione di Ethernet................................................................................................74Domini di collisione.....................................................................................................75IEEE 802.11 - Wireless LAN.......................................................................................75

7. CONNESSIONE DI LAN TRAMITE WAN........................................................................................................77

ROUTER........................................................................................................................................77GATEWAY....................................................................................................................................78

8. PROTOCOLLI DI COMUNICAZIONE.............................................................................................................80

La famiglia di protocolli TCP/IP....................................................................................................80Il protocollo di rete IP..................................................................................................81Schema di indirizzamento IP.......................................................................................82Classi di indirizzi IP.....................................................................................................83Corrispondenza tra indirizzi IP e indirizzi MAC...........................................................84Il protocollo di trasporto TCP.......................................................................................85Multiplazione e socket.................................................................................................86Well-knows ports.........................................................................................................87

Protocollo IP e collegati.................................................................................................................87Introduzione................................................................................................................88Formato del pacchetto IP............................................................................................89Problemi di indirizzamento..........................................................................................92Classi di indirizzi A, B, C, D.........................................................................................93Netmask e valori possibili............................................................................................95Indirizzi privati ed indirizzi pubblici..............................................................................97Protocolli correlati a IP e loro impiego.........................................................................97

2

Networking Teoria

Internet Control Message Protocol (ICMP).................................................................98Address Resolution Protocol (ARP) e Reverse ARP..................................................99

9. PROTOCOLLI DI TRASPORTO IN INTERNET...........................................................................................101

TCP - Transmission Control Protocol........................................................................101TCP - Multiplazione...................................................................................................102TCP - Connessione...................................................................................................102Applicazioni per TCP.................................................................................................103Telnet........................................................................................................................104FTP...........................................................................................................................104DNS.......................................................................................................................... 106Posta elettronica.......................................................................................................108HTTP.........................................................................................................................110Dynamic Host Configuration Protocol (DHCP)..........................................................115Server DHCP............................................................................................................115Client DHCP..............................................................................................................116Amministrazione DHCP............................................................................................116

10. SERVER SOFTWARE.........................................................................................................................................118

Principali funzioni dei componenti software di un server di rete.................................................118Il sistema operativo...................................................................................................118Protocolli di rete........................................................................................................118Programmi server e servizi.......................................................................................118

Confronto tra le funzioni dei principali sistemi operativi di rete.................................................119Installazione e configurazione di driver per periferiche di rete....................................................119

Interfacciamento con la rete - Configurazione di una interfaccia di rete....................120Interfacciamento con la rete - Indirizzamento con DHCP.........................................122Interfacciamento con la rete - IP aliasing..................................................................123Configurare il routing per la gestione dei pacchetti di una rete locale verso Internet 123Il comando netstat.....................................................................................................124

Installare e configurare software antivirus...................................................................................12711. CLIENT SOFTWARE.........................................................................................................................................129

Installazione dei componenti software di un client di rete.........................................129Configurazione dei protocolli di rete su di un client...................................................129

Esempi di installazione e configurazione del protocollo di rete TCP/IP: Windows2000............13012. AMMINISTRAZIONE DI UNA RETE..............................................................................................................132

Introduzione all'amministrazione di rete......................................................................................132Il problema dell'autenticazione..................................................................................132Tecniche di autenticazione........................................................................................132

Amministrazione di sistema.........................................................................................................134Servizi di directory.......................................................................................................................134

Domain name system...............................................................................................135Utilizzazione di DNS..................................................................................................136LDAP.........................................................................................................................137Directory services in Windows..................................................................................138Alberi e foreste di domini...........................................................................................138DIT in active directory...............................................................................................139

3

Networking Teoria

13. RISOLVERE MALFUNZIONAMENTI DELLA RETE.................................................................................141

Controllo fisico...........................................................................................................142Scambio di componenti di rete..................................................................................143Verifica della connettività IP......................................................................................146Analisi lato client.......................................................................................................147Analisi lato server (a livello applicazione)..................................................................148Utility per la verifica del corretto funzionamento della rete: ICMP.............................149Utility per la verifica del corretto funzionamento della rete: traceroute......................151Utility per la verifica del corretto funzionamento della rete: telnet.............................152Utility per la verifica del corretto funzionamento della rete: nslookup........................156Utility per la verifica del corretto funzionamento della rete: netstat...........................158Utility per la verifica del corretto funzionamento della rete: scan IP..........................159

14. SICUREZZA E FAULT TOLERANCE.............................................................................................................161

Protezione da attività di utenti che possano compiere atti dolosi o colposi................................161Attivazione dei sistemi di controllo e di monitoraggio................................................................162

Ridondanza di server e servizi..................................................................................164Configurazioni RAID..................................................................................................164Ridondanza dei server..............................................................................................164Ridondanza dei servizi..............................................................................................164Installazione di Cluster..............................................................................................165

Backup e Restore..........................................................................................................................165Strategie di backup...................................................................................................166

Sicurezza di rete: Protezione da attacchi esterni..........................................................................166La sicurezza telematica.............................................................................................168Il protocollo IP...........................................................................................................169Il protocollo TCP........................................................................................................171Analisi dei rischi........................................................................................................173Strategie per la sicurezza della rete..........................................................................174Firewall......................................................................................................................178Esempio di firewall commerciali................................................................................178PGP - Pretty Good Privacy.......................................................................................182

4

Networking Teoria

1.

2. Introduzione alla trasmissione datiDefiniamo, 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

5

Networking Teoria

Lo schema precedente si riferisce al caso generale: per molti tipi di comunicazione alcuni passi potranno risultare superflui o non applicabili o trasparenti. 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.

6

Networking Teoria

I dati sono informazioni di tipo "statico", in quanto non si modificano nel tempo. Sono caratterizzati dalle seguenti proprietà:

* inalterabilità * 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.

7

Networking Teoria

CLASSIFICAZIONE DELLE INFORMAZIONI

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

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

Segnale sorgente

trasduttore trasmettitore

Sistema di

commutazione,

gestione,

ricevitoreSegnale destinatario trasduttore

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 reteReti di telecomunicazioniLa 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-PeerNelle 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

13

Networking Teoria

devono essere sempre disponibili, quindi sempre accessi, sempre connessi alla rete e sempre

pronti ad accettare nuove comunicazioni.

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-to-

peer 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 reteUna 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:

14

Networking Teoria

• 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);

• 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 reteUna 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:

15

Networking Teoria

• schema di multiplazione: modalità con cui le unità informative condividono le linee di

collegamento;

• modalità di commutazione: come si realizza la funzione di commutazione;

• architettura dei protocolli: la suddivisione delle funzioni di comunicazione e la loro distribuzione

fra gli apparati di rete.

Topologie di reteUna 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.

16

Networking Teoria

Esempio di topologia e grafo corrispondente

La struttura del grafo è anche topologia della rete.

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 punto-

punto 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

17

Networking Teoria

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 collegamentoEsistono 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.

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 trasmissioneI 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:18

Networking Teoria

• 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

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 distanzaLa 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:

19

Networking Teoria

• 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 reteStanza 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:

.

20

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;

• IEEE - http://www.ieee.org;

• EIA - http://www.eia.org;

• IETF - http://www.ietf.org;

Reti di calcolatoriStoricamente 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.

21

Networking Teoria

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 stratiPer 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.

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;

22

Networking Teoria

• 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.

Esempio di modello di comunicazione a strati

Modello ISO-OSINei 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.

23

Networking Teoria

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;

• 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 InternetLa rete Internet si è sviluppata al di fuori dal modello ISO-OSI e presenta una struttura solo

parzialmente aderente al modello OSI.

24

Networking Teoria

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;

• 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: tecnologieCaratteristiche 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 geograficaI 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:

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

26

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:

Commutazione di circuito

27

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 trasportoLe 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)

28

PSTN

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 x25La 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 secfc 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

LIVELLODENOM.

EUROPEAVELOCITA' Kbit/sec N. CANALI

a 64 Kbit/sec

DM0 64 1

DM1 E1 2.048 30

DM2 E2 8.448 120

DM3 E3 34.368 480

DM4 E4 139.264 1920

DM5 E5 565.148 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 multiplazionel 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.

33

Networking Teoria

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.

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

Networking Teoria

Frequenza Ampiezza Fase

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

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 asincronaE’ 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

Canali difrequenza

diversa

nodi con un canale dedicato

nodi che condividono uno stesso canaleunico

canale fisico

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

Wavelenght DIVISION MULTIPLEXING

39

Networking Teoria

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.

Principali servizi:

40

Networking Teoria

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 pacchettoCollegamenti 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

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.

46

Networking Teoria

Sono allo studio le seguenti sezioni:

•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à

47

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.

48

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

49

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.

50

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.

51

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 (frame-check 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).

52

Networking Teoria

Trama Standard di Frame Relay Le trame di formato Standard di Frame Relay sono formate dai campi illustrati in figura.

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

53

Networking Teoria

Le trame Frame Relay conformi alle specifiche LMI sono illustrate nella seguente figura:

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.

54

Networking Teoria

ATM

Struttura di una rete ATM:

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:

NC: Nodi di commutazione ATM

NNI: Network to Network Interface

UNI: User to Network Interface

55

NC

NC

NC

RETE ATM

InterfacciaUNI Interfaccia

NNI

Networking Teoria

56

Networking Teoria

6. RETI LAN: Mezzi trasmissivi e cablaggio

Mezzi trasmissiviI 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 coassialeEsistono 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

57

Networking Teoria

collegamento tra il cavo e l'elaboratore è fatto con costosi transceiver. Questi si agganciano al

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 ritortoIl 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.

58

Networking Teoria

Sezione del cavo con 4 UTP

Cavo con 4 UTP

Sezione del cavo con 4 FTP

59

Networking Teoria

Cavo con 4 FTP

Fibra ottica

fibra ottica tubetto di protezione

a - esempio di protezione lasca tramite tubetto.nucleomantellorivestimento primario

rivestimento secondario internoad alto modulo elastico

rivestimento secondario esternoa 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

60

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

61

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.

62

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

Dimensione e Peso medio alto basso

Dispositivi di Comuniczione su teri LANRepeaterll 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.

63

Networking Teoria

BridgeI 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 fault-tolerance. 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 cascatao Superare i limiti di distanza

Il bridge filtra i pacchetti e perciò:o Aumenta la larghezza di banda disponibileo Si possono scartare pacchetti errati o collisi

Passano pacchetti broadcasto 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 reteo occorre analizzare i colli di bottiglia

A volte sono inutili, anzi dannosio 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.

64

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:

Le modalità e i metodi di cablaggio

65

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:

66

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 caviSui 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 armadiGli armadi di permutazione sono costruiti, nel sistema ACS, mediante pannelli modulari contenenti ciascuno fino a 48 connettori femmina RJ-45.

Cablaggio in categoria 5Il 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).

67

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: 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

68

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:

F.O. MM Coax 50 (Thin) terminato con connettori tipo

BNC UTP a 4 coppie 100 STP a 2 coppie 150

69

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.413 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:

Identificatore di edificio Identificatore di piano dell’edificio Identificatore (tre car.) del posto di lavoro Identificatore di armadio di piano a cui è connesso

Es.: E102019C dove:

E1 : edificio 1

02 : secondo piano

019: numero utente

C : identificatore armadio

70

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)

Stazione

Placchetta utente (Telecommunication outlet)

Derivatore (Splice)

71

S

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:

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

72

Networking Teoria

7. RETI LAN: Modelli correnti e standard

Le reti locali ed lo standard IEEE 802Una 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

73

Networking Teoria

(emanati dai relativi gruppi di lavoro in cui è suddiviso il comitato IEEE 802), i più importanti dei

quali sono:

• 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 LANTopologia a busRichiede 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 stellaLa stella si realizza collegando ogni macchina al centro stella attraverso un collegamento punto-

punto, 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.

74

Networking Teoria

Topologia a stella

Protocolli e standard di LANIEEE 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.

75

Networking Teoria

Evoluzione di EthernetLa 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

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.

76

Networking Teoria

Domini di collisioneIn 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 LANNel 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:

• 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:

77

Networking Teoria

• 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à.

78

Networking Teoria

8. Connessione di LAN tramite WANAnche 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

SottoRete 1CA

D

P

SottoRete 2 S

Q

W

F

SottoRete 3 L

E

H

SottoRete 4R

VRouter

Percorso 2

RouterPercorso 1

Router

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.

79

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

DATA LINK

PHISICAL

ETHERNET CABLE

ETHERNET X.25 LAPB

X.21 BIS

X.21 BIS CABLE

TCP

IP

X.25 LAPB

X.21 BIS

TCP

IP

ETHERNET

TRANSPORT

NETWORK

DATA LINK

PHISICAL

TRANSPORT

NETWORK IP

GATEWAY

GatewaySNA/X25

X.25

IBM3274 Token Ring

802.5

IBM3745

MainframeIBM

rete SNA rete OSI

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.

80

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.

81

Networking Teoria

9. Protocolli di comunicazioneLa famiglia di protocolli TCP/IPSi è 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.

82

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 IPIl 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.

83

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 IPL'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;

84

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 IPIn 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.

85

Networking Teoria

Le cinque classi di indirizzi IP

Corrispondenza tra indirizzi IP e indirizzi MACSi è 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

86

Networking Teoria

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.

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 TCPIl 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.

87

Networking Teoria

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

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 socketCompito 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

88

Networking Teoria

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):

Connessione di diversi client con lo stesso server tramite socket TCP

Well-knows portsTipicamente 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 servizio21 FTP trasferimento file

22 SSH terminale virtuale criptato

23 TELNET terminale virtuale in chiaro

25 SMTP invio posta elettronica

89

Networking Teoria

53 DOMAIN server DNS

80 HTTP server Web

110 POP accesso posta elettronica

Protocollo IP e collegati

IntroduzioneIl 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.

90

Networking Teoria

91

Networking Teoria

Formato del pacchetto IPIl 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

92

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 IPIl 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).

93

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.

94

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 indirizzamentoFormato 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

95

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, Dclassi A e B

Classe A

96

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

97

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 possibiliSubnet 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

98

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 IP000 subnet 32

001 disponibile 33

99

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 pubbliciIndirizzi privatiIANA

Allocated, Non-Internet Routable IP Address Schemes

Classe Network Address RangeA 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 impiegoIl 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:

100

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

101

Networking Teoria

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:

• 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 ARPLo 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

102

Networking Teoria

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

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

103

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

104

Networking Teoria

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. Ogni trasmissione di dati deve essere preceduta da una fase di attivazione della

connessione e seguita da una fase di rilascio.

TCP - MultiplazioneCompito 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 - ConnessioneCome 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.

105

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 TCPAl 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 real-

time 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;

106

Networking Teoria

TelnetTelnet è 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.

107

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;

108

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 DescrizioneABOR 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]

109

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

110

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

111

Networking Teoria

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:

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.

112

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

113

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

114

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 testualeTutto ok 200 OK

Documento spostato 301 Moved permanently

Richiesta di autenticazione 401 Unauthorized

Richiesta di pagamento 402 Payment required

Accesso vietato 403 Forbidden115

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 delleinformazionitext/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.

116

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);117

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

118

Networking Teoria

Server DHCPIl 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 DHCPMolte 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.

119

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 DHCPAmbiti DHCPUn 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 indirizziUna 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 esclusioneUn 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.

PrenotazioniLe 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.

LeaseUn 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.

120

Networking Teoria

Opzioni DHCPLe 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.

121

Networking Teoria

11.Server softwarePrincipali funzioni dei componenti software di un server di reteUn server è composto principalmente da un sistema operativo, protocolli e moduli di rete e il

supporto di programmi server e servizi.

Il sistema operativoLe 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 reteIl 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 serviziTutte 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.

122

Networking Teoria

Confronto tra le funzioni dei principali sistemi operativi di reteEsistono 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 retePer 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.

123

Networking Teoria

Interfacciamento con la rete - Configurazione di una interfaccia di reteIl 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:

124

Networking Teoria

• 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.

• 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.125

Networking Teoria

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.

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 DHCPIn 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.

126

Networking Teoria

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

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 aliasingMediante 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 InternetL'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

127

Networking Teoria

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.

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 netstatPer 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:

128

Networking Teoria

• 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.

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.

129

Networking Teoria

Configurazione IP di Windows2000

Tabella di routing di Windows2000

L'output del comando netstatI 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.

130

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 Windows2000Aggiungere 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.

131

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)

132

Networking Teoria

12.Client software

Installazione dei componenti software di un client di reteI 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 clientPer 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.

133

Networking Teoria

Esempi di installazione e configurazione del protocollo di rete TCP/IP: Windows2000Nel 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.

134

Networking Teoria

135

Networking Teoria

13. Amministrazione di una rete

Introduzione all'amministrazione di reteCon 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'autenticazioneIn 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 autenticazioneLe 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

136

Networking Teoria

l'utente deve possedere il token e, di norma, essere a conoscenza di un segreto, ad esempio un

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.

137

Networking Teoria

Amministrazione di sistemaI 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 directoryUn 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.

138

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 systemIl 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.

139

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 è virtualmente illimitato, al contrario del numero IP.

Esempio di nome simbolico nella gerarchia DNS

Utilizzazione di DNSIn 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.

140

Networking Teoria

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

LDAPLDAP (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

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;

141

Networking Teoria

• 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 WindowsIl 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 dominiUn 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 east.mycompany.com sotto quest'ultimo, e un dominio figlio chiamato

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.

142

Networking Teoria

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 directoryIn 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

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.

143

Networking Teoria

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

144

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

145

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.

146

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:

147

Networking Teoria

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à

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.

148

Networking Teoria

rmazione degli insegnanti sulle Tecnologie dell'Informazione e della Comunicazione

149

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.

150

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.

151

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.

152

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 MESSAGE0 Echo Reply8 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, è:

153

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.

154

Networking Teoria

Ministero dell'Istruzione, dell'Università e della RicercaFormazione 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

155

Networking Teoria

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 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 MESSAGE11 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:

156

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:

157

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.

158

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:

159

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:

160

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:

161

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.

162

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.

163

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.

164

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. Blocco dei tentativi di intrusione dall'esterno. 2. Protezione da attività di utenti che possano compiere atti dolosi o colposi. 3. Protezione da attacchi virali, di trojans, di codici maliziosi e simili. 4. Aumento dei sistemi di controllo e di monitoraggio. 5. 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.

165

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à Prevenzione

Cancellazione o alterazione di file

Mascherare i dischi di sistema Utilizzare filesystem NTFS e relativi permessi

Inibire l'uso del "Prompt dei comandi"

Installazione di software non autorizzato

Attivare policy che impediscano l'installazione di software e la modifica del registro.

Modifica delle configurazioni del sistema

Attivare policy che inibiscano l'uso del pannello di controllo e di quanto ad esso collegato.

Modifica delle configurazioni dei programmi Utilizzare profili bloccati (mandatory).

166

Networking Teoria

Attivazione dei sistemi di controllo e di monitoraggioUna 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.

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.

167

Networking Teoria

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.

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 serviziIl 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.

168

Networking Teoria

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.

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 ClusterUn 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 RestoreLe 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ò 169

Networking Teoria

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:

• 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 backupUna 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

170

Networking Teoria

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.

Sicurezza di rete: Protezione da attacchi esterniLe 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.

171

Networking Teoria

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

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.

172

Networking Teoria

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

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.173

Networking Teoria

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

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.

174

Networking Teoria

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

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.

175

Networking Teoria

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.

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

176

Networking Teoria

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

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.

177

Networking Teoria

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

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

178

Networking Teoria

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.

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.

179

Networking Teoria

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

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

180

Networking Teoria

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,

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:

181

Networking Teoria

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.

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.

182

Networking Teoria

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

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:

183

Networking Teoria

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.

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.

184

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.

185

Networking Teoria

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.

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.

186

Networking Teoria

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:

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.

187

Networking Teoria

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.

FunzioneAlgoritmo utilizzato

Descrizione

Message

EncryptionIDEA, RSA

Il messaggio è criptato utilizzando IDEA con una singola chiave di

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.

Firma digitale RSA, MD5

Utilizzando MD5 si crea un codice hash del messaggio. Il messaggio

viene dunque sottoposto ad operazione di crittografia con RSA con la

chiave privata del trasmettitore ed incluso nel messaggio.

Compressione ZIPIl messaggio viene compresso utilizzando ZIP al fine di ottenere una

trasmissione ed una memorizzazione più efficiente.

Compatibilità con

e-mail

Conversione

Radix 64

Al fine di garantire trasparenza in caso di applicazioni e-mail il messaggio

criptato può essere convertito in formato ASCII utilizzando Radix 64.

SegmentazioneAl fine di garantire il rispetto della massima dimensione ammessa per il

messaggio il PGP realizza funzioni di segmentazione e riassemblaggio.

188