Sei sulla pagina 1di 81

Corso di Sistemista di Rete

TIPOLOGIE DI COMPUTER
Esistono tipi diversi di personal computer, ed ognuno risponde ad una diversa
esigenza di lavoro.
1. Desktop
I computer desktop sono i classici personal, che trovano posto sopra una
scrivania e che sono utilizzati nellordinario lavoro.Essi sono composti da
un'unit centrale, generalmente a forma di parallelepipedo, che contiene al suo
interno i dispositivi necessari al funzionamento del computer stesso.Ad essa
vengono collegate tutte le periferiche di sistema, fra cui monitor, tastiera,
mouseIl desktop il computer ideale per il quotidiano lavoro dufficio a
motivo delle dimensioni notevoli del monitor, la possibilit di utilizzare grandi
quantit di memoria e, grazie a numerosi connettori, risulta agevole collegarvi
numerose periferiche.
2. Notebook
Come dice il nome, questi computer hanno la stessa grandezza di un blocco
note: 21 centimetri per 30. Ma non la stessa funzione, infatti sono computer
personal a tutti gli effetti e sono in grado di eseguire tutti i programmi dei
computer desktop o portatili. Alcuni modelli sono privi del disk drive per
dischetti, e lo scambio di dati con un altro computer pu essere effettuato
esclusivamente tramite cavo. Lo schermo identico a quello dei portatili, ma
tutto il resto di dimensioni ancora pi ridotte. La tastiera priva del
tastierino numerico: questo pu essere attivato allinterno della stessa tastiera
tramite uno speciale tasto.
3. Workstation
Le workstation sono computer di uso individuale, dalle dimensioni e
dellaspetto di un desktop o poco pi grandi. Sono dotati di processori pi
evoluti, di maggiore capacit di memoria e di archiviazione . Le workstation
sono adatte a svolgere compiti specializzati, spesso nel campo della grafica,
della progettazione, del disegno tecnico, dellingegneria. Si tratta di
applicazioni complesse, che richiedono una potenza ed una velocit che
sarebbero sproporzionate per il normale lavoro dufficio. Il costo di tali
macchine naturalmente maggiore di quello dei Personal Computer.
4. Server
Questi computer, sono elaboratori molto potenti. Essi sono posti al centro di una rete di
computer, o messi insieme per condividere risorse e creare un cluster.
Possono svolgere compiti molto diversi a secondo dellutilizzo per cui sono stati assegnati (web
server, printer server, controller di dominio).
Il loro hardware fatto in modo che non debbano mai interrompere i loro servizi, i dischi sono
quasi sempre SCSI e in RAID, la memoria RAM pu essere sostituita mentre la macchina in
produzione.
Mail Server
Caratteristiche di un Mail Server
Funzione:
server specializzato per la gestione della posta elettronica. Pu sfruttare vari protocolli fra cui
X-400,SMTP,POP3 etc. Contiene le mailbox degli utenti, le eventuali liste di distribuzione e
"newsgroup" dell'azienda o di utenti Internet. Attualmente la maggior parte dei server di posta
elettronica si basa su uno schema client-server in maniera che il carico di lavoro sia distribuito.
Caratteristiche:
Sono richieste alte prestazioni perch la gestione della mail in genere onerosa (possono
essere presenti collegamenti con Internet).

File Server
File server : la cassaforte delle informazioni
Funzione:
Un file server ha il compito di immagazzinare e gestire i dati della L.A.N. Su di esso viene
implementata una politica di accessi tale che sia garantita la riservatezza e la suddivisione
delle risorse in maniera logica (per gruppi di lavoro,livelli di responsabilit degli utenti etc.)
Una strategia di backup indispensabile per mantenere la disponibilit dei dati in ogni
condizione.
Caratteristiche:
Di primaria importanza sono la velocit dei dischi, della scheda di rete e del processore.Anche
la quantit di memoria RAM deve essere adeguata.Ciascuno di questi elementi pu essere il
"collo di bottiglia" che riduce le prestazioni del server. E' sconsigliato l'uso del "mirroring" per i
dischi che peggiora le prestazioni in scrittura.Non ha controindicazioni il "Disk Duplexing"
che,anzi,migliora le prestazioni in fase di lettura.
Print Server
Il metodo pi veloce per accentrare la gestione delle stampanti.
Funzione:
un server che si occupa di gestire le stampanti collegate alla rete di computers. Pu gestire le
code di stampa e gli accessi degli utenti alle stampanti cos da centralizzare la gestione delle
periferiche di stampa. Con funzioni avanzate possibile dare priorit pi alta alle stampe di
alcuni utenti rispetto ad altri e velocizzare al massimo l'installazione e disinstallazione delle
stampanti. La gestione e l'utilizzo delle stampanti vengono sempre pi spesso facilitati dall'uso
di interfacce html/java.
Caratteristiche:
Un print server non richiede hardware particolari.Pu essere gestito anche su macchine
"datate".Unica attenzione richiesta la disponibilit di spazio e memoria che deve essere
proporzionata alle code di lavori richiesti.
Web Server
Il necessario ad offrire contenuti su Internet.
WEB SERVER:
E' una macchina specializzata nel fornire contenuti agli utenti della rete Internet o della nostra
rete privata che cercano dati tramite un programma di "navigazione" (browswer). Importante
la capacit dei software pi recenti di fornire supporto A.S.P. (active server pages) cos da
rendere le pagine "interattive". E' possibile anche a questo livello implementare dei criteri di
sicurezza per controllare gli accessi ai contenuti.
Caratteristiche:
La macchina deve fornire alte prestazioni e deve essere altamente afidabile.Nei casi in cui i
contenuti devono essere disponibili senza interruzioni possibile pensare a soluzioni di
"clustering".
DHCP Server
Ovvero come assegnare indirizzi IP e impostazioni di rete in maniera dinamica.
Funzione:
il protocollo TCP/IP prevede la possibilit di fornire ai client di una rete un indirizzo IP in
maniera dinamica. Il server DHCP viene contattato dalle macchine dove l'assegnazione
dinamica di un indirizzo IP prevista e fornisce, oltre a detto indirizzo, anche parametri quali
default Gateway,server DNS e altro. Un server DHCP dispone di uno "scope" di indirizzi (cio di
una lista di indirizzi di una certa sottorete ritenuti "liberi") che pu gestire in base a vari
parametri in maniera da ottenere il miglio risultato senza dover aumentare il numero di
sottoreti.

Caratteristiche:
Il server DHCP deve avere soprattutto una scheda di rete ad alte prestazione e cablaggio
adeguato a smaltire le richieste. E' importante anche la memoria mentre sono di minore
interesse la memoria e la velocit dei dischi.
DNS Server
Il server che vi permette di trovare i domini (e di farvi trovare)
Funzione:
Il server DNS necessario per gestire il collegamento tra il nome della macchina (hostname)
ed il suo indirizzo IP. In genere viene configurato manualmente ma in Windows 2000
l'integrazione con le Active Directory permette di gestire dinamicamente le nuove macchine. Il
DNS funziona sul principio delle "zone" (divisioni logiche dei nomi degli host in gruppi). Per
risolvere nomi di domini e macchine che non abbiamo sul nostro server DNS si utilizzano le
"query" verso server esterni. Di conseguenza anche il nostro server DNS deve poter
comunicare alcuni dati con l'esterno.
Caratteristiche:
Nulla in paticolare da segnalare come requisiti.Se utilizate Windows 2000 ricordate le richieste
hardware di base del S.O.
Gateway Server
Il traduttore "universale" per le reti
Funzione:
E' una macchina impiegata nel tradurre i protocolli di comunicazione e permettere lo scambio
di dati fra sistemi diversi.La diversit pu verificarsi a diversi livelli ma deve essere sempre
negli ultimi tre strati dello stack di protocolli O.S.I. Se la trasmissione dati avviene a livello
dell'hardware bisogna usare macchine come routers e bridges.
Caratteristiche:
Nulla da segnalare a livello di hardware.Spesso il servizio di gateway un "pacchetto"
aggiuntivo al S.O. di base che viene acquistato separatamente
Proxy Server
In tanti su Internet senza rischi Internet
Abbiamo parlato in altre occasioni degli indirizzi IP su Internet. Vale la pena soffermarsi,
ora,sulla "navigazione".
Il mio indirizzo potrebbe essere non solo un punto di riferimento per gli altri ma anche un
punto di partenza per i miei utenti(come un indirizzo in una strada, che un punto di partenza
oltre che di arrivo). L'alternativa all'uso dei miei indirizzi pagare un "provider" che mi
permetter di usare alcuni suoi indirizzi per andare "in navigazione". Sappiamo che,per
risparmiare, interessante usare un numero limitato di indirizzi.E se volessi far navigare in
Rete duecento utenti senza utilizzare duecento indirizzi?
Ai problemi elencati (organizzare un punto di partenza "in proprio" e sfruttare al meglio i miei
indirizzi esistenti) risponde un software definito Proxy che,fra le sue funzioni,prevede la
possibilit di far navigare un elevato numero di computers nascosti sotto un limitato numero di
indirizzi. Insieme a questa funzione di base abbiamo altre possibilit: impostare dei filtri
(basati sull'indirizzo IP, sul protocollo richiesto o sulle autorizzazioni dell'utente), creare un
cache in cui conservare i dati relativi agli ultimi siti visitati cos da accellerare la
navigazione,impostare dei percorsi preferenziali o bloccare l'accesso ad alcuni siti.
Bench il ruolo di filtro sia in genere riservata ai Firewall si pu scegliere (per ragioni
economiche o gestionali) di sfruttare le funzioni appena elencate per accentrare pi lavori su
un singolo server. Per concludere una breve lista di software Proxy:

Microsoft Proxy Server 2.0


Allegro Surf
SOCKServ
VSOCKS Light
Wingate 3.0
Squid

Le diverse tipologie RAID


A seconda del prevalere di una funzione sono state definite alcune tipologie RAID , numerate
da 0 a 5 . Attenzione che la numerazione serve per definire con numeri crescenti livelli
superiori di prestazione e/o sicurezza .

RAID 0
ha come finalit principale il miglioramento delle prestazioni , senza particolare riguardo alla
componente della sicurezza .
Dando una occhiata alla struttura interna di un disco , si pu avere una idea pi chiara di cosa
si intende ottenere con l'operazione detta striping (traducibile come "divisione a strisce") .
Se al sistema collegato un solo disco , le testine che scorrono sui dischi possono essere
anche pi di una , ma sono mosse da un solo azionamento ; se devo recuperare il contenuto di
diverse tracce , poste su diversi piatti , posso accedere alle informazioni su una traccia solo
successivamente a quelle su una traccia diversa , in quanto le testine si muovono tutte
assieme .
Se , con qualche artificio , potessi far muovere le testine separatamente , potrei portare una
testina su una traccia e le altre su altre tracce diverse , contemporaneamente , prelevando cos
pi dati "in parallelo" .
La cosa , non possibile su un solo drive , lo diventa se viene implementato il RAID con la
modalit striping .

Supponiamo di aver collegato non un solo


disco , ma pi dischi . Ogni disco avr le
proprie testine e la posizione delle testine
sui piatti di una unit sar indipendente
da quella delle altre unit , che hanno
motori di posizionamento diversi .

I dati vengono suddivisi in blocchi ed ogni blocco viene


scritto su un diverso disco . La dimensione del blocco
viene definita durante la configurazione del sistema . La
richiesta di un dato pi piccolo del blocco definito sar
gestita da un solo disco ; se il dato di dimensioni
maggiori del blocco , esso sar distribuito su pi unit ,
con evidente vantaggio .
Supponiamo di aver stabilito la dimensione del blocco a
32K . Un dato grande 28K sar scritto e letto da un solo
disco ; non ci saranno particolari incrementi di prestazione
, a meno dell performances date dal controller , di solito
dotato di processore autonomo , cache , ecc.
Se il dato maggiore del blocco , ad
esempio 125K , sar scritto su due dischi
: il primo conterr due blocchi da 32k ed
il secondo un blocco da 32K ed uno con i
rimanenti 29K . Il vantaggio evidente :
sia la lettura che la scrittura coinvolgono
contemporaneamente due unit separate
; quindi i posizionamenti delle testine , le
operazioni di lettura e scrittura , ecc. sono
suddivise su drive che lavorano
autonomamente . Ne risulta un notevole
miglioramento del transfer rate .
Le richieste di acceso ai dati sono
organizzate dal controller e distribuite alle
unit che ,all' atto pratico , lavorano in
parallelo , riducendo drasticamente i
tempi morti . Cos , anche drive di non
eccelsa qualit possono fornire prestazioni
adatte agli impieghi pi gravosi (da qui l'
inexpensive contenuto nell' acronimo
RAID) .
Se la catena comprende pi di due unit ,
i dati sono suddivisi fra le varie unit con
lo stesso principio .
Poich ogni applicazione ha le sue necessit , diverse per quanto riguarda le dimensioni dei
files , il blocco minimo andr dimensionato in modo adeguato ; indicativamente delle
dimensioni della pi piccola richiesta del software .
RAID 0 non definito nelle specifiche iniziali della Berkeley University, ma diventato di uso
comune per le sue qualit.
RAID 0 ideale per quelle applicazioni che richiedono un intenso flusso di dati , ad esempio
video , grafica in movimento , TV e audio digitale , basate principalmente su files sequenziali di
grandi dimensioni che devono essere trasferiti in tempi massimi definiti .
Anche applicazioni che richiedono un accesso intensivo ad un gran numero di dati in sequenze
casuali , come data base o nel caso di file server e web server , ricava benefici anche
consistenti dalla struttura RAID 0 .Con una opportuna pianificazione , si pu portare il sistema
a movimentare file delle dimensioni di un blocco ; cos , ad esempio , la richiesta di due file da
32K (grandi , quindi , un blocco) sar processata in modo virtualmente contemporaneo .
Ovvio che , disponendo di pi dischi , pi richieste di blocchi potranno essere avanzate nello
stesso momento , con evidenti vantaggi .
Se si pu ascrivere un limite a RAID 0 , quello di implementare sistemi per aumentare l'
affidabilit dell' array di dischi ; questa viene lasciata , e non superiore , alla qualit dei

evel

AID

componenti installati . Il crash di uno dei dischi del sistema porta alla perdita di tutti i dati del
sistema .
RAID 0 non particolarmente costoso , n di difficile implementazione : quasi tutti i sistemi
con un minimo di prestazione sono dotati di almeno due dischi (il quantitativo minimo per l'
array) ; baster aggiungere l'opportuno controller RAID .
La tabella riassume le caratteristiche essenziali :

Caratteristica
Prestazione Sicurezza

si

no

Descrizione
Aumento prestazioni ,
rispetto al singolo disco ,
con il metodo di striping .
La prestazione massima
con files di garndi
dimensioni .
Non c' aumento della
sicurezza .

Drive
Min.

Max.

8/16

Uso

Sistemi non critici che richiedon


alte prestazioni

RAID1
Mentre RAID 0 ha come finalit principale il miglioramento delle prestazioni , RAID 1 ha come
finalit quella della sicurezza dei dati .

La struttura richiede 2 dischi , un primario ed


un mirror (specchio) , che , come dice il nome
, contiene una coppia speculare del disco
primario.
Il controller provvede alla gestione del flusso
dei dati. La rottura di una delle due unit non
pregiudica il funzionamento del sistema, che
mantiene l'accesso ai dati sull'altra unit
dell'array.
L'impiego di un solo controller richiede che i
dati siano scritti prima su una poi sull'altra
unit, con una leggera riduzione delle
prestazioni.

La modalit duplex su due canali od anche con


due controller diversi (o due canali dello stesso
controller), per incrementare ulteriormente sia
la sicurezza che la velocit.
Nel caso di guasto ad un driver , le richieste di
accesso sono re direzionate ed inviate all' altra
unit ; cos pure , nel sistema duplex a due
controller o con controller a doppia porta , il
guasto su un canale non blocca il
funzionamento del sistema . Il duplex , quindi
, un ulteriore grado di sicurezza .
RAID 1 una delle modalit pi comuni per
ottenere una elevata affidabilit nei PC con
unit a disco rigido , in quanto la sicurezza del
sistema prescinde dall' affidabilit dei singoli
componenti .
Il mirroring dei dischi, possibile anche via software (RAID software) aumenta grandemente la
sicurezza del sistema : i dati sono recuperabili senza problema se una delle unit si guasta,
anche se si tratta di quella di boot. Anche le prestazioni, rispetto al singolo disco, sono
incrementate, sopratutto durante i cicli di lettura, dove viene sfruttata la capacit del
protocollo SCSI di gestire catene di comandi; inoltre, se il controller dotato di cache, questa
contribuisce al miglioramento delle prestazioni.
RAID 1 , per la sua struttura , richiede due dischi di cui sostanzialmente uno solo quello
disponibile ; non necessario che i due dischi dell'array siano identici , ma occorre ovviamente
che il mirror abbia uguale o maggiore capacita del primario; possibile usare dischi differenti,
basta che abbiano capacit analoghe.
Ovviamente la protezione intesa a fronte del guasto di una unit , o di uno dei controller ,
ma non protegge dalla perdita di dati per errori dell' operatore (che li ha cancellati) o da
aggressioni da virus o danni complessivi al sistema . RAID 1 si "limita" a mantenere una copia
a specchio del disco primario , indipendentemente da quello che esso contiene .
Quindi , una completa politica di sicurezza non pu prescindere dalla presenza di un sistema di
backup e dal suo uso costante , soprattutto se i dati hanno una grande importanza .
La tabella riporta le caratteristiche essenziali :

Level

RAID
1

Per
Prestazione Sicurezza

no

si

Descrizione

Impiego

Aumento della
sicurezza con il sistema
del mirroring . I dati
sono duplicati
intrgralmente
(ridondanza completa)

Quando la sicurezza
il fattore pi
importante .

Drive
Min. Max.

RAID5
RAID 5 combina la prestazione dei blocchi interlacciati con striping, tipica del RAID 0 con il
sistema di ricostruzione a partire da un dato di parit tipico di RAID 3, senza richiedere il disco
dedicato a questo.

Come in RAID 4 viene generata una parit


ridondante , ma essa non depositata in un
solo disco dedicato , ma dstribuita sui vari
dischi dell'array . I dati sono frazionati su pi
hard disk (con modalit striping) per ottenere
alte prestazioni . Se uno dei dischi si guasta ,
i dati sono comunque completamente
accessibili : i dati mancanti sono ricalcolati
sfruttando le informazioni della parit .
Non sussiste pi il problema della possibilit
di guasto al disco dedicato alla parit .
Il "consumo"di spazio sui dischi per la parit minimo e non influisce in modo considerevole
sulla capacit dell'insieme , anche se bisogna tenerne conto nel dimensionamento dell'array .
Questa tecnica consente accessi multipli concorrenti sia in scrittura che in lettura, consentendo
prestazioni elevate.
RAID 5 lavora in modo ottimale anche nella situazione in cui i dati sono costituiti da una
grande quantit di piccoli blocchi e si presta bene per sistemi operativi multitask e multiuser .
Come RAID 4 , RAID 5 adatto per sistemi di media o grande capacit , dove sono richieste
prestazioni e sicurezza elevate; per contro, RAID 5 elimina il collo di bottiglia della gestione di
parit di RAID 4 ed per questo universalmente preferito.
La cache generalmente presente sul controller consente di neutralizzare la necessaria perdita
di tempo per la scrittura dei dati di controllo, cosicch le prestazioni di RAID 5 sono tra le pi
elevate.
Anche questo array consente la rimozione di unit a sistema acceso (hot swap). Inoltre,
attraverso le funzioni estese dei controller, possibile installare unit di riserva (spare) che
entreranno in servizio automaticamente in caso di guasto ad uno degli altri dischi.
Si ricorda che , comunque , una completa politica di sicurezza non pu prescindere dalla
presenza di un sistema di backup e dal suo uso costante , soprattutto se i dati hanno una
grande importanza .
La tabella riassume le caratteristiche principali :

Level

RAID
5

Per
Prestazione Sicurezza

si

si

Descrizione
I dati in striping e la
parit sono suddivisi
su diversi dischi per
avere prestazioni
anche nel caso di
sistemi multitask e
multiuser

Impiego

Sistemi multi user e


multi tasking in cui
sicurezza e prestazioni
sono ugualmente
importanti .

Drive
Min. Max.

7/
15

5. Mainframe
I mainframe sono su un gradino ancora superiore. Questi elaboratori possono
essere utilizzati da moltissimi terminali, anche a distanza tramite collegamenti
telematici. Possono conservare numerosi archivi di dati e mandare in
esecuzione molti programmi contemporaneamente. Sono utilizzati nellambito
di grosse aziende per la gestione industriale vera e propria od in organismi
statali per lelaborazione di grossi archivi di dati sempre in evoluzione.
Costituiscono il nucleo centrale dei servizi informativi delle banche, degli istituti
finanziari e delle borse. Sono anche impiegati dai servizi telematici pubblici e
privati perch permettono il collegamento contemporaneo di molti terminali o
computer e lesecuzione veloce delle rispettive transazioni.

IL SISTEMA BINARIO
Il computer basa il proprio funzionamento su un sistema di numerazione binario,
basato cio su due soli numeri: l'uno e lo zero.
Ci per un motivo fondamentale: gli elaboratori sono costituiti
fondamentalmente da un insieme di circuiti elettronici che conoscono solo due
possibili stati: accesi (c' corrente) o spenti (non c' corrente), proprio come le
comuni lampadine. Sono quindi accettabili solo due valori, convenzionalmente
fissati in 0 e 1, detti generalmente bit: il passaggio di corrente
contraddistinto dal numero uno, mentre l'assenza di corrente rappresentata
con lo zero.
Mediante combinazioni di vari bit possibile rappresentare, in una maniera
comprensibile anche per il computer, l'insieme di lettere, numeri e simboli
normalmente utilizzati: per soddisfare tutte le esigenze di rappresentazione si
scelto di utilizzare 8 bit per l'identificazione di un carattere in modo da
disporre di 2^8 = 256 configurazioni.
Per esempio la lettera A pu essere rappresentata come 00000001; la lettera B
come 00000010; la lettera C come 00000100 e cos via, fino a codificare tutti i
possibili caratteri.
Un gruppo di 8 bit, cio la rappresentazione binaria di un carattere, prende il
nome di byte.
Per fare in modo che computer diversi tra loro attribuiscano ad ogni
combinazione lo stesso significato, stato generalmente adottato il codice
ASCII (American Standard Information Interchange).
Nella pagina seguente viene riportata la tabella ASCI ''ristretta'', versione in cui
vengono usati solo 7 degli 8 bit disponibili.
Per tale motivo sono esclusi alcuni caratteri come per esempio le vocali
accentate (i codici da 0 a 30 sono generalmente utilizzati come codici di
controllo e non sono quindi di uso comune).
Ogni carattere occupa uno spazio di memoria pari ad un byte
(cio 8 bit).
L'unit di misura quindi il byte, mentre i suoi multipli sono
il Kilobyte (Kb = 1024 byte)
il Megabyte (Mb = 1024 Kilobyte)
il Gigabyte (Gb = 1024 Megabyte)
il Terabyte (Tb = 1024 Gigabyte)
La memoria RAM in genere espressa in Megabyte, mentre i dischi fissi
misurano alcuni Gigabyte.

Vengono spesso citati, nellinformatica, i numeri esadecimali. In realt i


computer lavorano esclusivamente in numeri binari. Per comodit i
programmatori usano rappresentare sia i numeri decimali (con 10 cifre) che i
numeri binari (con due cifre) con numeri esadecimali.
Questi hanno sedici cifre: le dieci cifre da 0 a 9 e quindi le sei lettere da A a F.
Lo 0 esadecimale equivale al valore decimale 1 mentre la F esadecimale
equivale al valore decimale 16.
Lavere inventato una rappresentazione dei numeri usando 16 cifre, rende i
numeri pi compatti. Gi il numero decimale 100, rappresentato dal binario
0010110, in esadecimale 64.
Dal punto di vista dellutente, ci non ha alcuna rilevanza.
IL MICROPROCESSORE
Il computer lo strumento mediante cui vengono raccolti i dati e, dopo
l'elaborazione e l'archiviazione, vengono prodotte le informazioni significative
per l'utente. Per far questo esso necessita di dispositivi che da una parte
consentano all'utente di introdurre i dati da elaborare e dall'altra gli
permettano di visualizzare e archiviare i risultati ottenuti e le informazioni
cercate. Questi dispositivi sono detti rispettivamente di Input (entrata) e di
Output (uscita). I dispositivi di Input pi comuni sono la tastiera, il mouse, lo
scanner, il microfono mentre per quanto riguarda i dispositivi di Output essi
sono il monitor, gli altoparlanti, la stampante Queste componenti, destinate
alla raccolta e all'emissione dei dati, sono generalmente dette "unit
periferiche", in contrapposizione all'unit centrale (CPU), cio l'insieme dei
componenti incaricati di svolgere l'elaborazione (microprocessore e memoria).
La CPU e il Microprocessore
La CPU (Central Processing Unit) senza dubbio il componente pi importante
e caratterizzante di un computer: il vero e proprio cervello del computer ed
esegue milioni di operazioni per secondo. Il suo compito quello di occuparsi
di tutte le operazioni richieste dalle applicazioni e dal sistema operativo.
Spesso i termini CPU e microprocessore sono utilizzati come sinonimi: pi
precisamente per chiameremo microprocessore (o
semplicemente processore) il circuito integrato
(chip), realizzato in silicio, che svolge le operazioni di
elaborazione dei dati, mentre con CPU indicheremo
l'insieme di microprocessore e memoria centrale (o
d'uso).
Il microprocessore un circuito integrato installato su un minuscolo pezzo di
silicio. Contiene milioni di transistor, che sono collegati tra loro mediante tracce
estremamente fini di alluminio. I transistor consentono di memorizzare e
manipolare i dati in modo che il microprocessore possa eseguire una grande
variet di funzioni utili. La storia del processore risale al 1971, anno in cui una
piccola e sconosciuta societ mise assieme dei transistor per formare un'unit
di elaborazione centrale che sarebbe stata battezzata Intel 4004. Da allora
Intel ha continuato a siglare i propri processori con i numeri, fino a quello che
avrebbe dovuto chiamarsi 80586, ma che invece, per ragioni commerciali ( un
marchio registrato), fu denominato Pentium. Successivamente sono nati il
Pentium II e l'attuale Pentium III. Per quanto riguarda le estensioni MMX (Multi
Media Extensions) basti ricordare che identificano processori potenziati con un
set di istruzioni aggiuntive che li rendono particolarmente adatti ad eseguire
applicazioni multimediali. Per quanto riguarda il suffisso Pro, esso si fa
riferimento ai processori con la cache di secondo livello integrata e non sulla
scheda madre come era stato fatto fino ad allora. Negli ultimi anni hanno fatto
la loro comparsa altre societ le quali offrono processori altrettanto validi con
rapporti qualit-prezzo particolarmente vantaggiosi (AMD, Cyrix)
Il microprocessore risulta composto da

un'unit di controllo (CU= Control Unit) e da


un'unit aritmetico-logica (ALU= Arithmetic
Logical Unit). L'unit di controllo sovrintende
al funzionamento della CPU stessa e
gestisce una a una, in un corretto ordine, le
istruzioni che essa deve svolgere. Essa
serve da coordinamento e controllo
sull'esecuzione dei programmi e sulle
periferiche, impartendo i comandi che
servono ad ottenere ci che viene richiesto
tramite il software. L'ALU invece esegue le
operazioni logiche ed aritmetiche contenute
nelle istruzioni che compongono i
programmi ottenendo il risultato che viene
poi memorizzato in una determinata cella di
memoria.
I dati vengono trasferiti da e verso il
processore mediante appositi "canali", detti
BUS. Naturalmente quanto maggiore la velocit di trasferimento dei dati
attraverso tali canali, tanto migliori saranno le prestazioni generali del
computer. I computer pi recenti utilizzano una velocit di BUS pari a 266 Mhz.
MHZ, MIPS e FLOPS
Generalmente per indicare la velocit di elaborazione di un processore viene
utilizzata la frequenza di clock: il clock pu essere visto come un precisissimo
orologio interno in grado di dividere il tempo di ciascuna elaborazione in
intervalli regolari.. Quanto maggiore la frequenza con cui questi segnali
vengono generati, tanto maggiore la velocit di elaborazione del processore.
In ogni ciclo, un impulso di dati transita fra i contatti esterni del
microprocessore e l'architettura al suo interno. Uno dei primi processori
realizzati da Intel, l'8086, lavorava ad una frequenza di clock pari a 4,77 Mhz
(cio 4,77 milioni di cicli per secondo), mentre i computer pi recenti
raggiungono frequenze pari a 1000 Mhz. Tuttavia la potenza di un processore
non dipende esclusivamente dalla velocit del clock: ben pi importante
invece l'architettura interna (come per esempio il numero di transistor integrati
all'interno del chip stesso). Infatti le CPU hanno strutture differenti che
comportano, come evidente, prestazioni non confrontabili. Pertanto un
processore della classe Pentium non pu essere confrontato con un 486, anche
se entrambi hanno uguale frequenza di clock.
Anno CPU Frequenza (Mhz) n transistor
1978-81 Prima generazione 8086-8088 fino 12 29.000
1984 Seconda generazione 80286 fino a 20 1350.000
1986 Terza generazione 80386 fino a 40 275.000
1990 Quarta generazione 80486 fino a 66 1.200.000
1993 Quinta generazione Pentium fino a 200 3.100.000
1995 Sesta generazione Pentium II AMD K6-2 fino a 450 7.500.000 9.300.000
Un altro parametro utile al fine di valutare la potenza di un processore la
velocit di esecuzione delle istruzioni, espressa in MIPS (Milioni di istruzioni per
secondo) o in FLOPS (Floating Point Operation per Second), mentre con "ciclo
macchina" si intende il tempo minimo necessario per eseguire un'istruzione
(anche se per alcune istruzioni richiedono pi cicli macchina).

CPU MIPS
8086-8088 0,33-0,75
80286 1,2-2,7
80386 5-11,4
80486 20-54
Pentium 112
Pentium II 969
LA MEMORIA RAM
Le memorie di un computer sono quei dispositivi elettronici e meccanici che
permettono la memorizzazione temporanea o definitiva delle informazioni e dei
risultati delle elaborazioni.
Esistono numerosi tipi di memorie con differenti caratteristiche. Sicuramente la
pi importante la cosiddetta Memoria Centrale (primary storage = memoria
principale), composta dalla memoria RAM e ROM (oltre alla cache), collegata
direttamente alla CPU. Alla memoria Centrale si contrappone la cosiddetta
Memoria di massa (o memoria secondaria), costituita dai dispositivi necessari
per l'archiviazione dei dati: essa si compone di dischi magnetici (Hard Disk,
floppy) o ottici (CD-Rom)
La RAM
La memoria RAM (Random Access Memory = memoria ad accesso casuale)
quella componente del PC dove vengono temporaneamente memorizzati i dati
che devono essere utilizzati dalle applicazioni in uso, in modo che essi siano
immediatamente disponibili nel momento in cui venissero richiesti. Il
processore infatti legge i dati memorizzati sull'hard disk e li carica
temporaneamente nella memoria RAM, la quale molto pi veloce del disco
fisso. Pertanto maggiore le prestazioni generali del computer dipendono dalla
sua quantit: infatti maggiore la memoria RAM disponibile, minore sar il
numero delle volte che il processore dovr leggere i dati dall'hard disk,
operazione che rallenta l'elaborazione in quanto i tempi di accesso alla RAM
sono in nanosecondi, quelli del disco fisso in millisecondi! La quantit di RAM
attualmente necessaria per un buon funzionamento di un computer di circa
64/128 Mb. Essa detta "ad accesso casuale" in quanto il processore in
grado di leggere il contenuto della memoria in modo diretto,
indipendentemente dal fatto che esso sia collocato all'inizio o alla fine della
stessa. Tale memoria detta anche volatile in quanto allo spegnimento del
computer i dati in essa contenuti vengono cancellati, al contrario di quanto
invece accade con le memorie di massa. La RAM costituita da piccoli chip
installati su moduli chiamati Simm (Single In-line Memory Module) o sui Dimm
(Dual In-line Memory Module).
GUIDA ALLHARDWARE Pag. 14 di 30
Questi moduli sono a loro volta inseriti nella scheda madre. I tempi di accesso
pe rquesto tipo di memoria sono di 60-70 nanosecondi per i moduli Simm e di
10-12 nanosecondi per quelli Dimm. Per quanto riguarda invece la memoria
con controllo di parit (o di tipo parity), si fa riferimento a quel particolare tipo
di memoria che controlla che i dati vengano o meno corrotti durante la loro
elaborazione e, se questo accade, a differenza della memoria non parity
segnala l'errore. Il controllo sui dati viene effettuato utilizzando un bit di
controllo, detto parity bit, ed a motivo della sua presenza che ogni byte che
proviene dalla memoria di tipo parity ha 9 bit e non 8, in quanto il bit
aggiuntivo quello di controllo dell'integrit dei dati. La memoria parity
segnala la presenza di un errore ma non fa nulla per correggerlo; per questo
motivo stata introdotta la memoria ECC (Error Correcting Code) che
salvaguardia l'integrit dei dati e corregge eventuali errori: per tale
caratteristica la memoria ECC viene utilizzata per quelle applicazioni dove la
salvaguardia dei dati di essenziale importanza, quali ad esempio i server.

FUNZIONMENTO DELLA MEMORIA RAM


La memoria RAM formata da migliaia di piccole celle di memoria, ciascuna
con capacit di un byte, ossia, come si detto, una sequenza di 8 bit che,
opportunamente combinati tra loro, possono rappresentare uno qualsiasi dei
256 caratteri ASCII. Ogni cella di memoria si identifica tramite un indirizzo, allo
stesso modo in cui ogni casa in cui abitiamo identificata in maniera univoca
da un indirizzo e da un numero. Per definire gli indirizzi delle celle il computer
utilizza il bus di indirizzi: questo costituito da un certo numero di linee di 1
bit ognuna, attraverso le quali viaggiano in parallelo gli indirizzi di memoria.
Per specificare un indirizzo di memoria si invia 1 bit alla volta per tutte le linee
e il numero che ne risulta l'indirizzo di memoria.
Per esempio, immaginiamo che un
computer invii in un certo momento il
bus di indirizzi di 8 bit che si vede nella
figura qui a fianco (cio di 8 linee di 1
bit ognuna): ogni linea invia 1 bit (uno
0 o un 1) e l'indirizzo che ne risulta
10000011, che corrisponde al valore
decimale 67. In altre parole, 10000011
l'indirizzo della cella di memoria 67, la quale immagazziner un dato valore:
importante notare la differenza tra l'indirizzo di una cella di memoria (che
identifica la posizione della cella nel complesso delle celle di memoria) ed il
contenuto della cella (ossia uno dei 256 byte). Immaginiamo adesso che un
computer disponga di un bus di indirizzi di 2 linee: con sole 2 linee di 1 bit, il
computer pu fare riferimento solo a 4 indirizzi di celle per volta: 00, 01, 10 e
11. E se ci sono solo 4 indirizzi, si pu accedere solamente a 4 celle di
memoria di 1 byte; cio si pu accedere a 4 byte, malgrado la presenza di una
memoria RAM, per dire, di 8 Mb. chiaro che non esistono computer con un
GUIDA ALLHARDWARE Pag. 15 di 30
bus di indirizzi di 2 linee, ma l'esempio appena mostrato ci dice una cosa molto
importante: una memoria capace non sufficiente, in quanto, affinch questa
possa essere interamente utilizzata dal computer, occorre anche un adeguato
bus di indirizzi. Dal momento che per ogni linea del bus possono passare solo
due valori (0 e 1), il numero massimo di indirizzi di n linee corrisponde al
numero di combinazioni di 2 elementi presi a n a n, cio 2 elevato a n (2n): se
il bus di indirizzi ha 2 bit, il numero massimo di indirizzi pari a 4 (22); se ha
3 bit, il numero massimo di indirizzi 8 (23), ecc. Una delle principali
differenze tra i microprocessori riguarda proprio il numero di linee del bus di
indirizzi, e l'evoluzione dei microprocessori ha riguardato in primo luogo il bus
di indirizzi. Il microprocessore 8086 (ed anche l'8088) aveva un bus di indirizzi
di 20 bit (20 linee di 1 bit), sicch il numero massimo di indirizzi che si
potevano identificare era 1.048.576 (220), vale a dire 1024Kb (1Mb, se si
preferisce). Si pu dire, grosso modo, che i 1024Kb si dividono in due blocchi: i
primi 640Kb - da 0 a 640Kb - si chiamano memoria convenzionale e i
rimanenti 384Kb - da 640Kb a 1024Kb - si chiamano memoria superiore
(vedremo pi avanti il significato di questi diversi tipi di memoria). La seconda
generazione di microprocessori, i 286, hanno un bus di indirizzi di 24 bit, il che
permette di gestire 16Mb di memoria (224 = 16.777.216): i primi 1024Kb si
suddividono come sopra; la memoria tra 1024Kb e i 16Mb viene denominata
memoria estesa (vedi lo schema alla pagina seguente). Il microprocessore
386DX ha un bus di indirizzi di 32 bit, con il quale si possono indirizzare fino a
4096MB di memoria. Anche in questo caso la memoria che eccede i 1024Kb
detta memoria estesa. Il 386SX pensato come soluzione intermedia tra il 286

e il 386DX: dal punto di vista delle applicazioni eseguibili del tutto uguale al
386DX, solo ha una velocit inferiore ed una memoria massima indirizzabile di
16MB: da quest'ultimo punto di vista assimilabile al 286. Il 486, presentato
nel 1991, anch'esso un microprocessore a 32 bit, ma ha una velocit e una
potenza notevolmente maggiori rispetto al 386 in quanto incorpora un
coprocessore matematico, cio uno speciale chip che si occupa di svolgere ad
alta velocit le operazioni matematiche, alleggerendo il lavoro del
microprocessore centrale. Anche il Pentium, la quinta generazione dei
microprocessori, a 32 bit; anch'esso incorpora un coprocessore matematico,
ma integra pi di 3 milioni di transistor, contro il milione e mezzo circa del 486
e i 28.000 dell'8086 (il Pentium II ne contiene addirittura 7,5 milioni).

ROM e CACHE
La ROM
La memoria ROM (Read Only Memory) un insieme di circuiti integrati nei
quali sono permanentemente memorizzate le informazioni di base del
computer, cio tutto ci che serve alla macchina per il corretto avvio e per il
riconoscimento di tutte le periferiche ad essa collegate, come, per esempio, il
BIOS. A differenza della memoria RAM essa rimane intatta, anche in assenza di
corrente. In genere il contenuto di tale memoria detto ''firmware'' (FIRM =
stabile, immobile WARE = componente). Tale tipo di memoria non
direttamente modificabile dall'utente, se non mediante procedure e strumenti
particolari.
La Cache
A partire dal 386 ci si accorse che le prestazioni della CPU erano rallentate dai
lunghi tempi di accesso alla memoria RAM. Per ovviare a questo problema si
introdusse una memoria, detta cache, in posizione intermedia fra la CPU e la
stessa RAM, avente lo scopo di contenere i dati utilizzati pi spesso, in modo
da velocizzare le operazioni di calcolo. Tale memoria generalmente molto
veloce e la si trova in quantit ridotte a causa dell'elevato costo. I computer
pi recenti presentano due tipi cache: quella di primo livello (L1, fino a 64 Kb)
integrata processore stesso e quella di secondo livello, posta sulla scheda
madre (L2, in genere 256-1024 Kb). La cache L1 essendo integrata nel
microprocessore accessibile in modo quasi istantaneo e risulta quindi la pi
veloce. La cache L2 (anch'essa piuttosto costosa) risulta 4 o 5 volte pi lenta
della cache L1 mentre la RAM lo addirittura 20 o 30 volte.
IL DISCO FISSO
Detto anche disco rigido o hard disk (HD), il dispositivo di memoria di massa
in cui vengono registrate in modo duraturo e non volatile i dati in attesa di
elaborazione, le istruzioni necessarie nonch tutte le informazioni elaborate dal
processore. Il primo disco fisso lo troviamo nel 1957 in una
macchina della IBM chiamata RAMAC, che per l'epoca
rappresentava il massimo della tecnologia. Era composto da
50 piatti da 60 cm l'uno e riusciva a registrare un totale di
5.000.000 di caratteri. Il costo era di $ 35.000 di allora. Nel
1979, Seagate, attualmente una delle pi grandi produttrici
di dischi fissi, introduce il primo disco fisso per

microcomputer: aveva una capacit di 5 Mb, dieci volte maggiore di quella del
RAMAC, ma con dimensioni decisamente ridotte. I primi modelli di personal
computer generalmente non erano dotati di disco fisso, bens di lettori floppy,
pi pratici ma soprattutto pi convenienti. Solo intorno al 1983-84 il disco fisso
divenne l'unit di memoria di massa preferita. Nonostante ci, un corso di
informatica datato 1989, cos recitava: "Attualmente in commercio esistono
dischi rigidi da 40 milioni di byte. Certamente l'uso di
un hard disk non limitato ad un uso hobbystico, ma
piuttosto ad un uso professionale" (PCFacile, Gruppo
Editoriale Jackson, Milano, 1989, pag. 85).
Attualmente lo standard rappresentato da dischi
fissi con una capacit di circa 30 Gb, anche se non
mancano dischi fissi di dimensioni decisamente
maggiori. Per comprendere la quantit di dati che un
tale supporto in grado di contenere, basti pensare
che in 6,2 Gb di spazio sono memorizzabili quasi 2.000.000 di pagine
dattiloscritte.
Inoltre essi possono essere del tipo rimovibile, cio possono essere estratti e
sostituiti (spesso usati nelle Aziende per spostare grandi quantit di dati). In
commercio esistono due tipi di dischi fissi: gli hard disk EIDE (Enhanced
Integrated Drive Electronics) e quelli SCSI (Small Computer Systems
Interface). Fino a qualche tempo fa i dischi fissi del secondo tipo erano i
preferiti per applicazioni di uso professionale (ad esempio server di rete) grazie
alla maggiore affidabilit e velocit di accesso ai dati. Attualmente per i dischi
fissi del tipo EIDE hanno raggiunto prestazioni almeno pari a quelle degli SCSI,
pur avendo costi decisamente minori.
Fisicamente essi sono delle scatolette, chiuse ermeticamente, che contengono
al loro interno dei dischi di alluminio, detti "piatti," fatti ruotare da un motore
(hanno generalmente una velocit di rotazione di 4.500-7.200 o pi giri per
minuto) e sormontati da testine sorrette da particolari braccetti che ne
permettono lo spostamento sul disco.
GUIDA ALLHARDWARE Pag. 18 di 30
Sulla sommit delle testine sono montati dei magneti che leggono i dati
memorizzati sui dischi, proprio come se fosse la testina di un giradischi (anche
se qui non vi nessun contatto fisico fra le parti).
I dati vengono organizzati fisicamente sulla superficie di ogni disco in porzioni
chiamati cilindri. A loro volta ogni cilindro viene suddiviso in tracce contenenti
un ulteriore sottolivello organizzativo chiamato settore. Per diminuire i tempi di
accesso (transfer rate) ai dati conservati nell'hard disk, stato introdotto il
buffer, una piccola memoria interna all'hard disk che memorizza alcuni dati
letti dalla testina ma non ancora inviati alla CPU per essere elaborati.
Prima di poter essere usato un disco fisso deve essere formattato, cio
preparato per accogliere i dati da memorizzare, mediante apposite operazioni
gestite dal sistema operativo. Ogni sistema operativo si caratterizza per un
particolare file system, cio l'insieme di norme che regolano il funzionamento
dei nomi dei file, la loro memorizzazione, il loro recupero, i criteri utilizzati per
gestire lo spazio su disco Il file system diverso in base al tipo di sistema
operativo che viene utilizzato: FAT 16bit per il Dos fino alla versione 7.0 e per
Windows 95 (prime versioni); FAT 32 per Windows 95 (OSR2); NTFS per
Windows NT; HPFS per OS/2.
Per memorizzare un file su disco, il sistema operativo utilizza un gruppo di
settori chiamati cluster. Ogni singolo cluster utilizzato pu essere collocato in
una parte qualsiasi del disco e i segmenti sequenziali di un file non vengono
memorizzati necessariamente in cluster fisicamente adiacenti. Per questo
motivo bene effettuare spesso una deframmentazione del disco. Se un disco
frammentato, la testina di lettura e scrittura del disco dovr effettuare diversi
spostamenti per leggere i diversi segmenti di file e questo comporter un
rallentamento del PC. Inoltre la dimensione dei cluster fondamentale per una

buona gestione dello spazio su disco: infatti ogni file occupa almeno un cluster,
anche se le sue dimensioni sono minori. Inoltre un cluster pu memorizzare
solo un file (altrimenti due o pi file si troverebbero ad occupare la stessa
porzione di memoria).
Da questo si pu capire che quanto pi grande la dimensione dei cluster,
tanto maggiore sar lo spazio sprecato sul disco. Infatti se noi lavoriamo con
cluster da 32 Kb l'uno (FAT16), salvando un file da 5 Kb, sprechiamo ben 27
Kb di spazio: infatti il nostro file occupa 32 Kb (l'intero cluster) anche se in
realt le sue dimensioni sono di gran lunga minori. Per ovviare a tale problema
stata introdotta a partire da Windows 95 B (OSR2) la FAT32, cos chiamato
perch, nella tabella di allocazione dei file (File Allocation Table), richiede 4
byte per ogni file, quindi 32 bit. La FAT16 invece richiedeva solo due byte per
file (quindi 16 bit). Con tale file system la dimensione dei singoli cluster stata
ridotta a 4 Kb (anzich i precedenti 32). In tal modo il nostro file da 5 Kb
occuperebbe due cluster da 4 Kb l'uno, sprecando per solo 3 Kb (anzich 27).
Inoltre con la FAT32 possibile gestire dischi fissi grandi fino a 2.047 Gb (con
la FAT16 si arrivava al massimo a 2 Gb).
FLOPPY DISK
Come gi stato accennato, i primi personal computer non erano dotati di
hard disk, bens di lettori floppy, cio dispositivi di memorizzazione dei dati
aventi una limitata capacit.
Fino a qualche anno fa essi erano ancora i supporti pi usati per la
distribuzione di applicazioni e per il trasferimento dei dati: per un programma
spesso bastava un semplice floppy, magari da 720 Kb.
Col passare del tempo e con l'aumentare delle dimensioni dei programmi (
sempre pi frequente trovare applicazioni di decine di Mb) essi hanno perso di
importanza, anche se rimangono gli strumenti pi usati per l'archiviazione e il
trasferimento di file di limitate dimensioni.
L'unit di misura dei dischetti il pollice, espressa mediante le virgolette ( " ).
I primi floppy disk misuravano 5,25" e avevano una capacit di 360/720 Kb,
mentre i dischetti che usiamo ancora oggi misurano 3,5" e hanno una capacit
pari a 1,44 Mb.
Nella parte inferiore dei dischetti possibile osservare due fori: quello
richiudibile da una finestrella scorrevole, presente in tutti i tipi di disco, ha una
funzione di protezione del contenuto del floppy disk: quando la finestrella
aperta, la protezione attivata e sul disco non vi si pu scrivere, ma soltanto
leggere i dati; se il foro chiuso possiamo sia leggere i dati che modificarli,
inserire nuovi dati, ecc. In generale si consiglia di attivare la protezione per
quei dischi che contengono informazioni importanti che non si pu rischiare di
perdere accidentalmente, come per esempio le copie di sicurezza di file che si
desidera conservare. L'altro foro, presente solo dei floppy HD e ED, ha la
funzione di permettere all'elaboratore di distinguere i floppy disk da 720K da
quelli di 1,44MB di 2,88MB attraverso un sensore ottico.
E' curioso notare che, nonostante i floppy da 3,5" siano diffusi da almeno dieci
anni, la loro evoluzione sembra essersi arrestata: mentre tutte le altre
componenti del PC hanno subito modifiche e migliorie radicali, questi dischetti
sono rimasti praticamente invariati, anche se sono stati sperimentati, ma con
scarso successo (dovuto anche all'elevato costo), floppy drive con capacit
superiori ai 250 Mb, come per esempio i dischi Zip della Iomega.
CD ROM
Al contrario del disco fisso, del floppy e del nastro, che sono magnetici, il CD
(Compact Disk) un supporto ottico: i vantaggi sono una maggior resistenza
nel tempo e la capacit di immagazzinare grandi quantit di dati.
I dati sono memorizzati sul CD in un'unica spirale (come nei vecchi dischi in

vinile) partendo dal centro e spostandosi verso l'esterno.


Ma che cosa succede quando il nostro CD entra nel lettore?
Detto in estrema sintesi, una "testina" (detta piu' tecnicamente pickup)
contenente il laser viene spostata, per mezzo di un motorino, dall'interno
all'esterno della superficie del disco, accedendo alle diverse parti del supporto
durante la rotazione.
Una serie di specchi e di lenti accumula e mette a fuoco la luce riflessa dalla
superficie del disco e la invia verso un fotorilevatore. Il fotorilevatore trasforma
l'energia della luce in energia elettrica.
La potenza del segnale dipende direttamente dalla quantit di luce riflessa dal
disco.
Si possono avere tre tipi di CD:
- CD-ROM: dischi di cui possibile solo la lettura dei dati archiviati ma non la
loro modifica
- CD-R: dischi su cui possibile memorizzare, una sola volta, fino a 730-800
Mb di dati.
- CD-RW: dischi riscrivibili fino a 1000 volte
Naturalmente per utilizzare i CD-R e i CD-RW necessario disporre di un
masterizzatore, cio un'unit in grado di memorizzare i dati su tali supporti.
La caratteristica di un lettore CD la velocit con la quale riesce a leggere e
trasmettere i dati (Transfer Rate). Dalla velocit singola, detta 1X e pari a circa
150 Kb al secondo, usata oggi solo nella lettura di CD Audio, si giunti
all'attuale velocit di 50X: i dati possono essere letti e trasferiti, almeno
teoricamente, ad una velocit 50 volte superiore a quella del primo lettore CD.
Le tecnologie utilizzate dai lettori di CD sono due: CAV (Costant Angular
Velocity) e CLV (Costant Linear Velocity). Col termine CAV si indica che la
lettura dei dati viene effettuata ad una velocit costante, sia che il laser si trovi
nella traccia pi interna del CD, sia che si trovi in quella pi esterna. Ci
comporta quindi che, se i dati si trovano disposti nelle tracce pi interne, essi
verranno letti pi lentamente rispetto ai dati collocati in quelle pi esterne
(questo perch nella parte esterna del CD il laser riesce a leggere una quantit
maggiore di dati considerando un identico intervallo di tempo). Un lettore che
adotta la CLV invece adegua la velocit del motore, rallentandolo o
accelerandolo, a seconda della posizione del laser (all'interno o all'esterno del
CD).
Dovendo prendere in considerazione l'acquisto di un lettore CD, sarebbe meglio
prendere in considerazione fattori come il tempo di accesso (espresso in
millisecondi, ms), che misura il tempo necessario affinch il lettore possa
GUIDA ALLHARDWARE Pag. 21 di 30
accedere ad un'informazione (deve essere il pi basso possibile), e la velocit
di trasferimento dei dati, espressa in Mb per secondo (che dev'essere la pi
alta possibile).
Se la tendenza attuale verr confermata, entro poco tempo i comuni CD
verranno sostituiti dai nuovi DVD (Digital Versatil Disk) in grado di
memorizzare dati fino a 9 gigabyte (contro i 650-800 Mb dei normali CD)
garantendo una piena compatibilit in lettura con i maggiori dispositivi di
archiviazione ottica.
FUNZIONAMENTO delle MEMORIE
Come si visto esistono diversi tipi di memorie con compiti ed impieghi
differenti. Per comprenderne il funzionamento e l'utilizzo pu essere utile fare
un esempio.
La memoria ROM pu essere paragonata ad un libro: i dati in essa contenuti
possono essere letti e copiati ma non modificati.
La memoria cache invece paragonabile ad un piccolo foglietto di carta su cui
vengono eseguite semplici operazioni o segnate veloci annotazioni (per
esempio un numero di telefono).

La memoria RAM invece un foglio di dimensioni maggiori su cui eseguire


numerose operazioni (si pensi ai fogli di "brutta" usati per i compiti di
matematica).
Infine la memoria di massa (disco fisso) paragonabile al quaderno di
appunti, dove vengono annotate, con ordine e precisione, le informazioni che
devono essere conservate.
I fogli di "brutta" (RAM) e i vari foglietti (Cache) vengono eliminati al termine
di un pomeriggio di studio ("memoria volatile"), mentre il quaderno di appunti
conservato con cura e mantiene i dati in esso contenuti anche dopo il termine
della sessione di lavoro.
I Modem
Il modem (abbreviazione di modulatore/demodulatore) una periferica sia di
Input sia di Output. Esso infatti quel dispositivo utilizzato per trasmettere
ricevere informazioni (digitali) tramite una linea telefonica (analogica): il
modem ha il compito di convertire l'informazione analogica in digitale e
viceversa.
Per fare ci utilizza una linea telefonica nello stesso modo in cui una persona fa
una normale chiamata: alza il telefono, quindi compone il numero e trasmette
l'informazione. Essendo la comunicazione del tutto simile ad una chiamata
telefonica, ne ha anche lo stesso costo.
Ne esistono due versioni: interno ed esterno. Il vantaggio di averlo esterno
che non si occupa uno slot di espansione (cosa non indifferente se sono
numerose le periferiche collegate al computer)
e che possibile monitorare lo stato della
connessione mediante i led luminosi presenti
sul fronte del modem stesso. Il modem interno,
d'altra parte, offre il vantaggio di non
ingombrare ulteriormente la scrivania e di
essere leggermente pi conveniente.
Questo prezioso elemento che consente i collegamenti a Internet, servizi
online, banche dati e BBS, ha subito negli ultimi anni straordinari incrementi di
prestazioni tanto da arrivare a velocit di 640 Kbps (640.000 bit per secondo,
con l'ADSL) mentre nel 1995 si viaggiava ancora ad una velocit di 14.400
GUIDA ALLHARDWARE Pag. 30 di 30
Kbps. Vale la pena precisare, comunque, che tale velocit raggiungibile solo
nella ricezione dei dati mentre per quanto riguarda l'invio, che viene utilizzato
dall'utente per impartire comandi e richieste alla rete, garantisce un'ampiezza
di banda fino a 64 Kbps. Pertanto saremo in grado di riceve dati a 640 Kbps
ma li invieremo solo a 128 Kbps. Lo standard ritenuto per il momento ufficiale
il V90, che garantisce la piena compatibilit con i precedenti K56flex e X2.
Inoltre la maggior parte dei modem attualmente disponibili del tipo
modem/fax, con funzioni cio di ricezione/invio fax e di segreteria telefonica.

Sistema Operativo
Il S.O. un gestore di risorse:
Esso gestisce due tipi di risorse:
risorse software::

Archiviazione dati e programmi


database,
librerie
Esecuzione di programmi
ambiente di programmazione,
esecutori: compilatori, debugger)
Ingresso e uscita (I/O)
dispositivi di visualizzazione e stampa,
Comunicazione
posta elettronica,
remote login,
remote file transfer,

e risorse fisiche (processore, memoria, dispositivi), effettuandone l'allocazione agli utenti,


ottimizzandone la gestione tramite opportune politiche e risolvendo i conflitti di accesso tramite
sincronizzazione e mutua esclusione.

LE RETI

Il termine rete soggetto a molte definizioni, spesso anche contrastanti.


Di fatto siamo abituati ad intendere una rete come sistema di collegamento tra due o pi
computers.
Partendo da questo semplice concetto dobbiamo subito chiarire lo scopo di una rete che,
sostanzialmente, quello di permettere la condivisione di risorse e la cooperazione fra diverse
entit, attraverso i servizi offerti dalla rete stessa.
Elementi essenziali, e minimali, di una rete sono:

almeno due calcolatori


un interfaccia di rete per ogni calcolatore (NIC)
un media di collegamento (mezzo di collegamento)
il software operativo di rete

Associando a questi elementi minimali altri dispositivi HW e Sw, i clienti della rete possono
condividere archivi, unit periferiche e altri molteplici servizi.
Le reti possono avere dimensioni differenti ed possibile ospitarle in sedi singole, in edifici
attigui fra loro (campus) oppure dislocarle in ambito globale (dal singolo quartiere a tutto il
pianeta).

Fra le diverse tecnologie di rete le pi diffuse, attualmente, sono Ethernet e Fast Ethernet. Le
tecnologie Ethernet e Fast Ethernet sono abbastanza simili e la differenza maggiore
rappresentata dalla velocit con cui trasferiscono le informazioni. Ethernet funziona a 10
Megabit per secondo (Mbps) e Fast Ethernet a 100 Megabit per secondo.

RETI E DIMENSIONI
Distanza

Ambito

Tipo di rete

10 m.

Ufficio

Rete locale (LAN)

100 m.

Edificio

Rete locale (LAN)

1 km.

Campus

Rete locale (LAN)

10 km.

Citt

Rete metropolitana (MAN)

100 km.

Regione

Rete geografica (WAN)

1000 km.

Nazione

Rete geografica (WAN)

10.000 km.

Pianeta

Internet

CAVI (MEDIA)
Cavo Doppino Telefonico
Il cavo doppino telefonico un tipo di supporto utilizzato in molte topologie di rete. Il doppino
telefonico fu sviluppato in origine ad uso delle linee telefoniche, classificato come CAT 1 UTP
(unshielded twisted pair). Questo tipo di cavo consiste di in due coppie isolate di fili di rame,
ritorte luna sullaltra. La torsione dei fili garantisce un grado di protezione dalla diafonia
(crosstalk).
Il doppino telefonico esiste in due varianti: schermato e non schermato.
STP (Shielded twisted-pair cable)
STP (doppino ritorto schermato) combina le tecniche di schermatura (shielding),
cancellazione, e avvolgimento (twisting). Ogni coppia di fili elettrici avvolta in una lamina
metallica. Le 4 coppie di cavi sono avvolte in un intrecciato o lamina metallica. Normalmente
un cavo da 150 Ohm. Come specifica per l'uso in installazioni di reti Ethernet, STP riduce
"rumori elettrici", entrambi dentro il cavo (accoppiamento coppia a coppia, o diafonia) e al di
fuori del cavo (interferenza elettromagnetica - EMI - e interferenza radio frequenza RFI)
Il cavo STP condivide molti vantaggi e svantaggi dell'Utp. STP offre una grande protezione da
tutti i tipi di interferenze esterne, ma pi caro e difficile da installare rispetto ad UTP.
Principali caratteristiche
Cavo da 150 Ohm
Velocit - 16 Mbps / 155 Mbps
Lunghezza massima del cavo senza ripetitore - 100 metri (feet 382)
Vantaggi abbastanza resistente alle interferenze
Svantaggi pi costoso e difficile da installare rispetto ad UTP

Cavo STP
ScTP (Screened Twisted-Pair cable) o FTP (Foil Twisted-Pair)
Un nuovo incrocio di UTP con il tradizionale STP conosciuto come ScTP conosciuto anche
come FTP. Sctp essenzialmente un UTP avvolto in una lamina metallica schermata o
"screen". Di solito un cavo da 100 o 120 Ohm. I materiali metallici schermati in STP e ScTP
hanno bisogno di essere messi a terra entrambi. Se impropriamente collegati a massa, essi
diventano suscettibili ai principali problemi di rumore.

UTP (Unshielded twisted-pair cable)


UTP (doppino telefonico non schermato) consiste in due coppie isolate di fili di rame ritorte
luna sullaltra e avvolti in una guaina di plastica.
Il cavo UTP viene classificato in cinque categorie.
CAT 1 supporta solamente le comunicazioni vocali (cavo telefonico tradizionale)
CAT 2 supporta velocit di trasferimento fino a 4 Mbps
CAT 3 supporta velocit di trasferimento fino a 10 Mbps
CAT 4 supporta velocit di trasferimento fino a 16 Mbps
CAT 5 supporta velocit di trasferimento fino a 100 Mbps
I doppini telefonici non schermati presentano numerevoli vantaggi. Sono facili da installare e
costano poco rispetto a tutti gli altri media. Lo svantaggio che i doppini sono sensibili al
rumore elettrico e alle interferenze.

Cavo UTP
Principali Caratteristiche
Velocit 10/100 Mbps
Lunghezza massima del cavo senza ripetitore - 100 metri (feet 382)
Vantaggi installazione facile, costo ridotto
Svantaggi poco resistente alle interferenze

Cavo Coassiale
Il cavo coassiale consiste in un filo centrale conduttore di rame, che pi grosso dei fili del
doppino telefonico consentendo velocit di trasmissione dati maggiore su distanze pi lunghe.
Il conduttore centrale ricoperto da uno strato di materiale plastico isolante sotto forma di
schiuma che a sua volta circondato da un foglio di alluminio. Il conduttore non serve a
trasferire dati ma fornisce una messa a terra elettrica isolando il conduttore centrale dalle
interferenze. Il cavo coassiale pu trasmettere dati a 10 Mbps, per distanze massime che

vanno da 185 a 500 metri. I due principali tipi di cavi coassiali utilizzati nelle reti locali sono il
Thin Ethernet e il Thick Ethernet.

Struttura di un cavo coassiale


Cavo Thinnet o RG-58 (10Base2)
E il supporto coassiale pi utilizzato nelle reti di computer per connettere ciascun Pc
direttamente agli altri sulla Lan, per mezzo di connettori BNC (British Naval Connectors) e
terminatori da 50 ohm. Il connettore BNC a T viene applicato alla scheda di rete per
permettere l interfacciamento con il cavo coassiale.

Connettore BNC
Il terminatore, o tappo, un connettore che va inserito rispettivamente ai due lati estremi
della rete. Questo infatti ha il compito di assorbire un segnale sul cavo in modo da non creare
collisioni e quindi errori nella trasmissione.
Principali caratteristiche
Velocit - 10 Mbps
Lunghezza massima del cavo tra i ripetitori - 185 metri
Vantaggi - economico
Svantaggi - difficolt nelle operazioni di messa a terra del cavo

Cavo Thicknet (10Base5)


Pi spesso e costoso rispetto al Thinnet. Si serve di transceiver esterni AUI connessi a ciascuna
NIC per mezzo di un vampire tap che fora la guaina del cavo per accedere al filo.
Principali caratteristiche
Velocit - 10 Mbps
Distanza per segmento di cavo - 500m
Vantaggi - trasmissione su distanze maggiori, resistenza alle interferenze
Svantaggi - rigido quindi difficile da installare, costoso
Oltre alla dimensione e alla lunghezza supportata esiste un altra differenza sostanziale tra il
cavo Thin ed il cavo Thick. Il cavo Thicknet infatti utilizza dei transceiver ( a tutti gli effetti l
elemento che effettua la trasmissione e la ricezione dei dati ) esterni AUI connessi alla rete
attraverso un vampire tap (rubinetto) che fora la guaina del cavo per accedere al filo di rame.
Lo stesso transceiver poi connesso con un cavo DB-15 ( 15 pin ) alla scheda di rete. Essendo
il pi costoso dei due ed avendo maggiore supporto in lunghezza, il cavo thicknet spesso
utilizzato in dorsali di collegamento di reti thinnet. Una dorsale un collegamento ad alta
velocit che ha il compito di interconnettere pi reti tra loro.

Transceiver per cavo ThickNet con Vampire Tap collegato al conduttore interno

Tabella Riassuntiva

Versione

Velocit
max.

Lunghezza N max. di
Tipo di
Lunghezza N max. di N max. di
max. di un nodi su un
cavo
totale
ripetitori
segmenti
segmento segmento
utilizzato

10Base-5

10Mbps

500m.

100

2500m.

5, di cui 2
non
popolati

Coassiale
grosso

10Base-2

10Mbps

200m.

30

1000m.

5, di cui 2
non
popolati

Coassiale
sottile

10Base-T

10Mbps

100m.UTP
2
500m.STP

500m.

5, di cui 2
non
popolati

Doppino
UTP/STP

100m.

205

3, di cui 1 Doppino
per l'uplink UTP (cat.5)

100Base-T 100Mbps

Fibra Ottica (FDDI Fiber Distributed Data Interface)


Il cavo in fibre ottiche garantisce velocit di trasmissione dati superiori sulle lunghe distanze.
La garanzia di questo supporto dato anche dal fatto che immune alle interferenze ed alle
intercettazioni (EMI o RFI). La struttura di un cavo in fibra ottica costituita da un conduttore
centrale in vetro sottilissimo e purissimo con una guaina protettiva esterna. I dati vengono
inviati nel cavo attraverso un trasmettitore laser o LED che manda gli impulsi luminosi. Dall
altra parte c un corrispondente fotodiodo ricevitore che ha il compito di ricevere gli impulsi
luminosi e convertirli in segnali elettrici.

Fibra Ottica
Principali caratteristiche
Velocit - 100 Mbps / 2 Gbps
Distanza supportata per invio dati affidabili 2 Km senza ripetitore
Vantaggi - trasmissione su distanze maggiori, immune alle interferenze e intercettazioni
Svantaggi rigido quindi difficile da installare, il tipo di supporto pi costoso

Comunicazione Wireless
Wireless si riferisce a una tipologia di comunicazione, ad un monitoraggio e a un insieme di
sistemi di controllo in cui i segnali viaggiano nello spazio e non su fili o cavi di trasmissione. In
un sistema wireless la trasmissione avviene principalmente via radiofrequenza (RF) o via
infrarosso (IR).La Tecnologia Wireless consente in un ufficio, in una casa di far dialogare tra
loro tutti i dispositivi elettronici presenti. Lo scambio di informazione fra gli strumenti avviene
attraverso onde radio, eliminando qualsiasi tipo di connessione fisica tra dispositivi. Per fare ci
ciascun dispositivo deve possedere all'interno un chip, integrato, in grado di trasmettere e
ricevere informazioni nell'etere.
Gli standard per le tecnologie Wireless pi utilizzati sono :
DECT (Digital Enhanced Cordless Telecommunications).standard digitale criptato per telefonini
cordless con possibilit di 120 canali su 12 frequenze, evoluzione del cordless analogico,
implementa l'interfaccia Gap (Generic Access Profile) ed utilizza la modulazione GMSK, bit rate
max 348 Kbps.
IrDA (Infrared Device Application) tecnologia di interconnessione dati tramite infrarossi
bidirezionale point-to-point tra dispositivi posizionati in visibilit reciproca LoS, line of sight,
con range ridotto a 1 - 2 metri e bit rate di 4 Mbps.

Tipi di rete
Alcune reti sono connesse direttamente. Tutti gli host condividono il livello 1.

Ambiente di media condiviso: avviene quando pi host hanno accesso allo stesso
mezzo di comunicazione.
Ambiente di media condiviso esteso: i dispositivi possono estendere lambiente
realizzando accesso multiplo a pi utenti.
Ambiente di rete punto a punto: modello ampiamente utilizzato in connessioni di rete
dial-up. E un ambiente di rete condiviso in cui un unico dispositivo connesso ad un
altro mediante collegamento, come lISP e la sua linea telefonica.

Altre reti sono connesse indirettamente.


I dispositivi di rete al pi alto livello e/o alcune distanze geografiche comunicano attraverso
due host. Esistono due tipi:

circuit-switched: rete connessa indirettamente nel quale gli attuali circuiti elettrici
vengono mantenuti per tutta la durata della comunicazione. Lattuale sistema telefonico
ancora in parte circuit-switched sebbene in molti paesi ci si stia concentrando in
maniera minore allutilizzo delle tecnologie circuit-switched.
packet-switched: lorigine trasmette i messaggi in pacchetti. Ogni pacchetto contiene
abbastanza informazioni per essere instradato alla propria destinazione. Il vantaggio
che molti host possono condividere lo stesso collegamento; lo svantaggio che pu
avvenire un conflitto.

Collisioni e domini di collisioni


La collisione una condizione che si verifica sulle reti Ethernet quando due nodi tentano di
trasmettere allo stesso momento.
Ethernet permette solamente ad un pacchetto dati di accedere al cavo uno alla volta. Se pi di
un nodo tenta di trasmettere allo stesso momento avviene una collisione e i dati di ogni
dispositivo ne risentono.
Quando avviene una collisione i pacchetti spediti vengono distrutti bit dopo bit !!!!!
Apparati che estendono il dominio di collisione
Hub e Ripetitore
Gli Hub, e i repeater, sono fondamentalmente la stessa cosa. Entrambi sono apparati che
lavorano a livello 1 del modello OSI. Diversamente dagli switch e dai router, gli hub non
leggono la trama (frame) ma si assicurano che essa venga inoltrata sulle porte collegate. Va
ricordato che i repeater hanno una porta di entrata e una di uscita mentre gli hub sono
multiporta.
I segnali man mano che procedono lungo il cavo degradano e risultano distorti a causa di un
processo definito attenuazione. Linstallazione di un ripetitore consente la trasmissione dei
segnali su distanze maggiori.
I ripetitori rappresentano il modo meno costoso di estendere una rete. Lo svantaggio di
utilizzare i ripetitori che non possono filtrare il traffico di rete.

Ripetitore
Tutti gli elaboratori (nodi) che condividono una rete Ethernet usano il metodo di accesso
CSMA/CD. Si dice, infatti, che stanno tutti sullo stesso dominio di collisione. Detto questo
possiamo affermare che tutti i nodi connessi ad un hub sono parte dello stesso dominio di
collisione. In un dominio di collisione, infatti, quando avviene una collisione, tutti i nodi
nell'area del dominio (domain/area) avvertiranno la collisione e, quindi, reagiranno di
conseguenzza.
Per connettersi ad un hub, i nodi di una rete usano il cavo UTP (Unshielded Twisted Pair). Ad
ogni porta dell'hub pu corrispondere un solo nodo. Quando gli hub non erano cosi diffusi, e
costavano molto pi di adesso, le reti lan di tipo SOHO (small office home office) utilizzavano il
pi economico cavo coassiale.
La modalit di lavoro degli hub molto semplice e trasparente. Quando un nodo connesso ad
una delle sue porte trasmette dei dati, questi vengono replicati e spediti su tutte le altre porte.
Solo il destinatario dei dati "processer" la trama ethernet mentre tutti gli altri nodi
rifiuteranno la trama e non la inoltreranno sul proprio elaboratore. L'operazione di rifiuto e di
accettazione della trama viene portata a termine dalla scheda di rete (NIC) che, leggendo il
MAC address di destinazione contenuto nell'header della trama ethernet stessa, verr portato a

confrontato con il proprio MAC address. Solo in caso di uguale MAC address la trama verr
processata.

Hub
Gli hub pi recenti hanno una porta speciale che funziona come "uplink" port. La porta uplink
permette di connettere l'hub ad altri hub, aumentando le porte disponibili sulla LAN. Questo
soluzione, a basso costo, permette di estendere le reti di pochi computers e, da un certo punto
di vista funziona abbastanza bene.
Purtroppo, non appena la rete si appesantiisce con nuovi nodi, anche il traffico inutile (tutte le
trame non processate) diventa un problema e impatta in modo negativo sulle performance
della stessa.

Apparati che limitano i domini di collisione:


Switch
Questi apparati stanno rapidamente sostituendo i comuni hub nelle reti aziendali.
Diversamente degli hub (apparati di Livello 1) che hanno il solo compito di rigenerare il segnale
sulle porte a disposizione, gli switch (apparati di livello 2) si occupano di gestire la banda
prendendo delle decisioni basate sul MAC.
In pratica, uno switch (detto anche multi-port bridge) crea dei percorsi commutati collegando
fisicamente un interfaccia ad un altra rendendo cos disponibile tutta la larghezza di banda.
Diversamente dall'hub, lo switch instrada i dati sull'interfaccia (porta dello switch) alla quale
connesso l'host. In pratica lo switch separa/isola i segmenti della rete, stabilendo una
connessione temporanea tra la sorgente e il punto di destinazione, chiudendola al termine del
collegamento.

Switch
Lo switch un tipico apparato di Livello 2 (Data Link) anche se l'ovoluzione degli stessi (con
capacit di instradamento anche a livello IP) lo sta portando verso gestioni di instradamento e
load balancing.

La denominazione layer 2 o layer 3, deriva direttamente dalla struttura Iso/Osi. Il livello


(layer) 2 caratteristico degli switch pi tradizionali, i quali si basano sul MAC address. Con
questa tecnologia le comunicazioni sono di tipo 1 a 1, tutte le altre porte dello switch non sono
interessate. Gli switch di livello 3 operano sul protocollo e sono, quindi, in grado di determinare
i percorsi di instradamento utilizzando le informazioni fornite dai protocolli ( es. IPX, IP,
AppleTalk).
La scelta della tecnologia switch fondamentale per tutte le applicazioni che creano molto
traffico e per tutte le reti con un alto numero di utenti. Nell'ottica di rete sul modello Intranet,
con ampio utilizzo di contenuti multimediali, non si pu pi prescindere da una soluzione
switched. Lhub , oramai, un apparato che non soddisfa pi le continue esigenze di alte
performance e pu trovare applicazione solo in piccoli uffici dove pochi client condividono un
server per le stampe e/o semplici applicazioni transazionali.
Lo switch rappresenta quindi lo strumento principale per l'implementazione e la ottimizzazione
di un qualsiasi ambiente di rete locale. Laddove esiste un numero di nodi molto elevato lo
switch assolve pienamente al suo compito principale che quello di distribuire "banda" in
modo dedicato. Il proliferare degli accessi Internet, per esempio, spinge allutilizzo di soluzioni
switching in grado di ottimizzare la disponibilit di banda passante sul lato geografico evitando,
per quanto possibile, linterferenza con applicazioni, servizi e periferiche locali. Daltra parte,
laumento dei server allinterno di una qualsiasi organizzazione rende lutilizzo degli switch
lunico strumento veramente valido per garantire prestazioni e affidabilit. In questottica, la
disponibilit di funzionalit specifiche di CoS/QoS offre la possibilit di costruire una gerarchia
di servizi che abilita la convergenza di applicazioni diverse su ununica infrastruttura.
Gli switch oggi apportano un aiuto decisivo, superando i limiti della trasmissione "anarchica" di
Ethernet e la rigidit del Token Ring. Oltre alla segmentazione fisica del traffico, gli switch
consentono il tracciamento di reti virtuali per facilitare lo scorrimento del flusso dei dati. Gli
switch di Livello 2, dimensionati per gestire un numero ristretto di reti virtuali, con un numero
modesto di stazioni di lavoro, si rivelano non adatti alle topologie multiprotocollo distribuite su
pi piani e che generano un forte traffico tra gruppi di lavoro. I costruttori hanno permesso
allora ai propri switch di gestire le reti virtuali al Livello 3 del modello Osi. Questo
posizionamento consente a questi ultimi di assimilare un gruppo di lavoro virtuale a una
sottorete Ip, Ipx o AppleTalk e di organizzare la comunicazione tra queste entit protocollari.
Tuttavia, la semplice funzione di trasmissione dei pacchetti offerta da questi primi switch di
Livello 3 non dispensa dalla mediazione di un router. L'ultima generazione di switch offre un
palliativo a tale carenza, attivando una funzione di routing integrale, ovvero la trasmissione dei
pacchetti e la definizione dei percorsi. E, bene o male, i router tradizionali iniziano a
posizionarsi esternamente alla dorsale, per lasciare agli switch-router il compito di gestire i
pacchetti e di organizzare le comunicazioni all'interno della rete locale
Bridge
Il bridge, come dice il nome, un ponte tra due reti. Il suo lavoro consiste nel fare in modo
che i dati generati da una rete rimangano separati dall'altra, salvo quando il destinatario non
appartenga proprio all'altra rete. Il bridge lavora al livello 2 del modello ISO/OSI, cio a livello
data link. Questo comporta che l'indirizzo in base al quale si decide se inoltrare o meno un
messaggio, un indirizzo di scheda di rete Ethernet, a 48 bit.
I bridge possono essere utilizzati per:
-

estendere la lunghezza di un segmento

servire un maggior numero di computer nella rete

ridurre i colli di bottiglia del traffico

suddividere una rete sovraccarica in due reti distinte

collegare supporti fisici eterogenei, ad esempio cavi Ethernet coassiali e cavi a doppini
intrecciati
Router
Un router un apparecchio molto complesso. Ha in s tutte le caratteristiche degli apparecchi
visti fino ad ora, aggiungendone altre di maggior complessit. Lo scopo di questo corso
quello di illustrare le caratteristiche di base di un router, lasciando maggiori dettagli a corsi
successivi. La parola "router" significa instradatore. E un apparecchio di interconnessione fra
reti diverse e lavora al livello "network" del modello OSI.

Router
Il suo compito quello di suddividere la rete in pi reti e gestire l instradamento dei dati
attraverso l indirizzamento IP (o di altri protocolli routabili come l'IPX). La gestione fatta
attraverso una tabella di routing che riporta tutti gli indirizzi IP della rete e il percorso che un
pacchetto deve fare per raggiungere una data destinazione. Tale tabella puo autoaggiornarsi,
oppure necessario che l amministratore di rete aggiorni quotidianamente le varie entry nella
tabella. Si parla in questo caso di router statico o dinamico. Un router , nella maggior parte
dei casi, un apparato hardware a se stante, ma un router potrebbe anche essere un PC dotato
di due o pi schede di rete, atte a collegare insieme pi sottoreti. Si parla in questo caso di un
PC multihomed (con pi schede di rete) .

TIPOLOGIE DI RETE
Il termine topologia di rete si riferisce alla disposizione fisica dei computer, dei cavi e di altri
componenti della rete. Tutti i progetti di rete derivano da quattro topologie di base
bus,stella,anello,maglie).
Differenza topologia fisica e logica
La topologia fisica di una rete rappresentata dal cavo stesso, mentre la topologia logica
rappresentata dalla modalit di trasmissione dei segnali attraverso il cavo.
Per implementare correttamente una topologia di rete, necessario partire da una corretta
pianificazione.

Tipologie Fisiche:

Bus

Una rete a bus connette tutti i nodi sullo stesso canale trasmissivo, per cui i dati trasmessi da
un nodo sono intercettabili da tutti gli altri. In questo modo la trasmissione simultanea da
parte di pi nodi pu generare una collisione.
Stella

Una rete a stella connette tutti i nodi periferici a un nodo principale (centro stella). Ogni nodo
periferico connesso in modo indipendente e non interferisce con gli altri. In questo modo
tutte le comunicazioni passano per il nodo centrale che si occupa di gestirle.
Anello
Una rete ad anello connette tutti i nodi in sequenza fra di loro in modo da formare un anello. In
questo modo la comunicazione avviene in un unico senso e ogni nodo ritrasmette al nodo
successivo i dati che non sono destinati a se stesso.
Completa (Maglia)
Una rete con topologia a maglie offre ottime prestazioni a livello di ridondanza e affidabilit. In
una topologia a maglie ogni computer collegato agli altri tramite un cavo separato.
Ogni nodo connesso direttamente allaltro.

Vantaggi
Connessione ridondante, molti percorsi per il transito di informazioni
Svantaggi
Linstallazione risulta costosa a causa della quantit elevata dei cavi necessari.
Varianti delle Topologie Standard
Stella Estesa
In una topologia a stella estesa ogni nodo collegato con il nodo centrale anche il centro di
unaltra stella. Il vantaggio di utilizzare questa topologia che si limitano il numero di
dispositivi collegati al nodo centrale. Il nostro sistema telefonico strutturato con questo tipo
di topologia.
Anello doppio
Una topologia ad anello doppio consiste di due anelli concentrici che connettono gli stessi
dispositivi. Il secondo anello fornisce affidabilit e ridondanza nel caso il primo anello si guasti.
La fibra ottica si basa su questa topologia di rete.
Cellulare
La topologia Cellulare consiste di aree circolari o esagonali ognuna delle quali ha un proprio
nodo centrale. La sua area geografica divisa in regioni (celle) per sfruttare al meglio la
tecnologia Wireless. Non esistono collegamenti fisici in questo tipo di topologia ma solo onde
elettromagnetiche.

Tipologie Logiche:
Broadcast
Nelle reti broadcast i vari elaboratori comunicano tra di loro attraverso la trasmissione di
piccoli impulsi elettrici che utilizzano un unico "canale" di comunicazione condiviso da tutti.
Si dice che il canale trasmissivo (media) condiviso da tutti, e non c' nessun ordine nella
priorit di trasmissione. Questo , in parole povere, il modo in cui Ethernet lavora.
Le reti Ethernet e Fast Ethernet impiegano un protocollo chiamato CSMA/CD (Carrier-sense
Multiple Access with Collision Detection). Questo protocollo ha la caratteristica implicita di
permettere ad un solo dispositivo di comunicare in un dato momento. Quando due dispositivi
cercano di comunicare simultaneamente, tra i pacchetti trasmessi si verifica una collisione che
viene rilevata dai dispositivi trasmettenti. I dispositivi cessano quindi di trasmettere e si
mettono in attesa prima di inviare nuovamente i loro pacchetti. Tutto ci fa parte del normale
funzionamento per le reti Ethernet e Fast Ethernet ed paragonabile ad una conversazione tra
un gruppo di persone; se due persone parlano contemporaneamente, si fermano entrambe e
una di esse inizia a parlare nuovamente.
Token-Passing
Nelle reti token-passing viene distribuito sul canale trasmissivo un "gettone" che pu essere
catturato per trasmettere dati. Se un host non ha nessun dato da trasmettere passa il gettone
(token) all'host successivo. In questo modo si determina una sequenza. Le reti FDDI ed
ArcNet sono due tipologie di rete che utilizzano il metodo del token passing. Mentre ArcNet in
via di estinsione data la sua complessit e la sua bassa velocit ( 2.5 mbps ), la FDDI ( Fiber
Distributed Data Interface) particolarmente diffusa. La sua peculiarit quella di utilizzare un
doppio anello che fornisce ridondanza nella trasmissione. Infatti alla rottura di un anello i dati
vengono trasferiti sul secondo. La larghezza di banda supportata tocca i 100 mbps per circa
100 km di distanza.

L EVOLUZIONE
Inizialmente i primi computer, apparati elettromeccanici nati negli anni 40, non realizzavano
alcuno tipo di comunicazione tra loro, anche perch erano pochi e giganteschi. Negli anni 70 e
80 il dipartimento della difesa americano cominci a sviluppare le prime reti locali e poi le
prime reti geografiche. Nacquero cos i primi ripetitori e i primi concentratori, alla base delle
prime reti. Durante la met degli anni 80 furono sviluppati i primi calcolatori adibiti a far
comunicare tra loro le reti locali. Furono chiamati gateway e in seguito router. La sfida del
nuovo millennio la convergenza dati, video e voce, ovvero il far comunicare tutti i dati su di
un unico mezzo fisico.

IL FLUSSO DEI DATI


Per realizzare il flusso dei dati, i dati stessi devono essere divisi e inseriti in opportuni
contenitori in grado di trasportarli. Questo procedimento si chiama encapsulazione. Quando un
dato parte da un calcolatore viene diviso in segmenti dal livello del trasporto. Il livello di rete
inserisce il segmento in un pacchetto e assegna gli indirizzi logici di sorgente e destinazione. Il
livello di data link si occupa di encapsulare ancora il pacchetto in opportune trame
aggiungendo gli indirizzi di livello 2 (MAC). La trama viene poi trasmessa sotto forma di bit sul
mezzo fisico, arriva al calcolatore destinatario che effettua la procedura inversa, ovvero
deencapsula i dati ricostruendoli e passandoli al livello applicativo.

Il transito dei dati attraverso gli apparati di livello 1 (repeaters, hub) avviene semplicemente
sotto forma di bits, bit per bit, e il segnale viene rigenerato.
Il transito dei dati attraverso gli apparati di livello 2 (switch e bridge) avviene sotto forma di
trame. Gli apparati si occupano di ricostruire ogni trama prima di emetterla sulle porte di
destinazione (anche se in realt esistono alcuni metodi per abbreviare il tempo di
commutazione). Lo switch esamina in ogni trama lindirizzo di destinazione (indirizzo di livello
2) e in base ad esso emette la trama solo sulla porta dove si trova lindirizzo MAC destinatario
della trama.
Il flusso dei dati attraverso gli apparati di livello 3 (router) avviene invece sotto forma di
pacchetti. Il router ricostruisce i pacchetti di livello 3 in base allindirizzo logico di destinazione
del pacchetto (ad esempio indirizzo IP) emette il pacchetto su una delle sue interfacce.
Ovviamente per farlo deve encapsulare nuovamente al livello 2 il pacchetto in una trama (che
varia a seconda della tecnologia dellinterfaccia) ed emettere poi la trama bit per bit sul mezzo
fisico.
Negli host, infine, i dati percorrono tutti e sette i livelli della pila OSI per arrivare al livello
applicativo.
I dati viaggiano nella rete sotto forma di pacchetti (data packet). Il termine pacchetto
rappresenta una specie di confezionamento (o meglio di "imbustamento") delle informazioni
attraverso cui si definisce il mittente, il destinatario, i dati trasmessi e tutta una serie di
informazioni di controllo.
Pi precisamente un pacchetto composto da una serie di bit che formano un blocco di dati.
Questo blocco di datti diviso in diversi sotto blocchi che rappresentano un'intestazione,
informazioni di controllo, mittente, destinatario, dati di controllo degli errori nonch il
messaggio stesso (la parte relativa alle informazioni vere e proprie). Poich sono unit di dati
di rete simili tra loro, i termini pacchetto e frame sono di fatto sinonimi.
Il confezionamento, il tipo e la dimensione dei pacchetti dipendono dal tipo di rete utilizzata e
dai protocolli che regolano la trasmissione.
I dati (gruppi di bit che compongono il pacchetto) sono un materiale duttile che pu essere
suddiviso e aggregato in vari modi. Ci significa che, durante il loro tragitto, i dati possono
essere scomposti e ricomposti pi volte e in modi differenti. Per esempio, per attraversare un
particolare segmento di rete, potrebbe essere necessario suddividere dei pacchetti troppo
grandi in pacchetti pi piccoli, oppure potrebbe essere utile il contrario.
In particolare, si parla di incapsulamento quando i pacchetti vengono inseriti all'interno di altri
pacchetti.

PROTOCOLLI
I pacchetti vengono trasmessi e ricevuti in base a delle regole. Possiamo ben dire che un
"protocollo di comunicazione" un insieme di regole definite e accettate da tutti ("set of rules")
Le regole si applicano gi, nella vita normale, a tutti i livelli di comunicazione. Basti pensare ad
una semplice telefonata fra due interlocutori:
In base alle regole di comunicazione telefonica ogni telefonata inizia con un segnale di
attenzione/disponibilit come "pronto" o "hello" (in un altra lingua) e finisce con un altro
saluto. Durante la comunicazione telefonica, inoltre, mentre un interlocutore parla l'altro
rimane in ascolto.
Un altro esempio pu essere rappresentato dalle modalit e dalle regole di guida degli

autoveicoli. Anche in questo caso il tutto avviene per mezzo di "regole" riconosciute da tutti.
Se gli automobilisti non le rispettassero (non usando le freccie, inserendosi contromano nei
sensi unici, passando col rosso ecc) sarebbe il caos.
I protocolli di comunicazione riferiti ai dati usano le stesse regole:
Si annunciano, mentre un elaboratore trasmette gli altri restano in attesa e a fine trasmissione
mandano dei segnali per avvertire che il contatto terminato.
Trattandosi di protocolli di comunicazione che devono soddisfare molte reti e molti elaboratori,
necessitano di regole complesse ma efficenti.
Tornando all'analogia con la vita quotidiana, si potrebbero paragonare alle regole che
stabiliscono la comunicazione in un assemblea, in un dibattito politico o in una classe
scolastica.
Principali protocolli:
INSTRADABILI (ROUTABLE) - TCP/IP, IPX/SPX, OSI, AppleTalk, DECnet, XNS.
NON INSTRADABILI (NON-ROUTABLE) - NetBEUI, DLC, LAT.
NetBEUI - Protocollo Microsoft disegnato per piccole LAN; non instradabile. Not
compatibile con le reti UNIX.
IPX/SPX - Protocollo per reti Novell: instradabile. In NT conosciuto anche come NWLink.
TCP/IP - Il protocollo di Internet ; routabile. Usato nelle reti UNIXs.
DECnet - Definisce le comuncazioni sulle MAN FDDI; instradabile.
Appletalk - Protocollo disegnato per le piccole reti Apple; instradabile.
DLC - Usato per il collegamento a Mainframe IBM e stampanti di rete HP. Non instradabile.

I LIVELLI

Nel progettare una rete necessario seguire lo schema per livelli. Ogni livello costruito sopra
il precedente e comunica solamente con il livello corrispondente (Layer n on one computer
communicates with Layer n on another computer).
Essendoci diversi tipi di rete ci sono anche molto differenze nei livelli che le costituiscono. Essi
possono differire, in reti diverse, sia per numero, ma soprattutto per definizione o contenuto.
Anche le funzioni che i livelli esplicano sono spesso molto differenti, per cui bisogna stare
molto attenti nel fare riferimenti numerici in reti di tipo diverso.
Il principio fondamentale (che vale per tutti i tipi di rete) che ogni livello pu offrire i servizi
solo ai livelli pi alti, ignorando i dettagli sul come tali servizi siano implementati. Per esempio,
il livello 5 di un elaboratore conversa con il livello 5 di un altro elaboratore. Le regole e le
convenzioni che governano questa conversazione sono generalmente indicate col termine di
"protocollo di livello 5". E cos per tutti gli altri livelli.
I processi che effettuano tale conversazione si definiscono "peer entitiy" ovvero "entit di pari
livello". Il dialogo fra due entit di pari livello (es. livello 4) si realizza attraverso i servizi offerti
dal livello 3 ovvero (4-1).
Uno dei vantaggi palesi della divisione in livelli quello di scomporre il problema della
trasmissione fra computers in problemi pi piccoli e pi facilmente gestibili.

ELABORATORE A

ELABORATORE B

LIVELLO 5

<- PROTOCOLLO DI LIVELLO 5 ->

LIVELLO 5

LIVELLO 4

<- PROTOCOLLO DI LIVELLO 4 ->

LIVELLO 4

LIVELLO 3

<- PROTOCOLLO DI LIVELLO 3 ->

LIVELLO 3

LIVELLO 2

<- PROTOCOLLO DI LIVELLO 2 ->

LIVELLO 2

LIVELLO 1

<- PROTOCOLLO DI LIVELLO 1 ->

LIVELLO 1

MEZZO

FISICO

IL MODELLO OSI

Gestire le comunicazioni in rete un problema complesso. Le differenze di hardware e


software hanno creato, in passato, incompatibilit fra i sistemi e quindi difficolt di interazione
fra i servizi.
Nei primi anni '80 la rapida evoluzione delle reti cominci a creare grossi problemi alla
interconnessione fra le stesse tanto da costringere le grandi multinazionali dell'IT ad
abbandonare i sistemi proprietari e muovere verso un sistema di integrazione basato su uno
standard.
Il modello di riferimento OSI (Open System Interconnection), diventato parte degli standard
ISO (International Organization for Standardization) nel 1984, divide la gestione della rete in
livelli (layers). Questo modello non definisce uno standard tecnologico ma, un modello di
riferimento comune per le tecnologie e i servizi che gestiscono le reti. Esso assicura
compatibilit e interoperabilit anche fra diversi tipi di tecnologie.
Lo studio dell'Iso prese in esame gli aspetti comuni fra le varie tecnologie (SNA, DECNET,
TCP/IP ecc) e cerc di addivenire ad una serie di regole, basate su livelli, che aiutassero i
costruttori ad implementare protocolli aperti.

Per capire il concetto di strutturazione per livelli necessario comprendere come il flusso dei
dati viene gestito e regolato fra gli stessi. Un buon esempio potrebbe essere quello relativo al
sistema postale. Ogni passaggio di consegna di una lettera avviene per livello di competenza e
per regole di smistamento. La lettera viene imbucata in una cassetta postale e poi prelevata e
portata al centro di smistamento. Nel centro di smistamento viene interpretato l'indirizzo e la
lettera viene veicolata verso un altro centro vicino alla destinazione finale dove seguir il
percorso analogo (ma a ritroso) fino ad arrivare nelle mani del postino per essere recapitata.

I livelli del modello OSI/ISO sono sette. La storia racconta che la scelta di 7 livelli dovuta ad
una aderenza sostanziale e a una compatibilit inevitabile con il modello di comunicazione pi
in voga nel 1984. IBM ovviamente.
Se consideriamo i livelli nel modo indicato dalla tabella seguente, il primo livello quello pi
basso ed a contatto con il mezzo fisico (media), mentre l'ultimo quello pi alto ed
direttamente a contatto con le applicazioni:
Livello 7 Applicazione (Network Processes to Application)
Il livello 7 quello che si interfaccia direttamente con i programmi applicativi (Application
Program Interface). I campi applicativi pi conosciuti sono, per esempio, la posta elettronica
(software per la gestione della Email), il trasferimento dei flussi (software per ftp o http), le
connessioni remote (software di accesso remoto) , emulazioni di terminali ecc.
E' il livello pi a contatto con l'utente e non serve nessun livello superiore.
Livello 6 Presentazione (Data Representation)
Il livello 6 serve per la trasformazione/conversione del formato dei dati (ad es. cifratura e
decifratura). Molto spesso i sistemi che si interfacciano alla rete adottano codifiche diverse (es.
ASCII o EBCDIC). In pratica il livello 6 assicura la "leggibilit e l'interpretazione" del dato da
parte del sistema ricevente.
Livello 5 Sessione (Interhost Communication)
Si preoccupa di controllare il dialogo (sincronizzazione/mantenimento della comunicazione) fra
due programmi applicativi. Questo livello si occupa quindi della qualit della cosidetta
"conversazione".
Livello 4 Trasporto (End-to-end connections)
E' il livello a cui delegata la funzione di invio e ricezione dei dati. Si occupa di fornire un
trasferimento dati affidabile correggendo gli errori. Divide i messaggi i in pacchetti, ne
controlla e preserva l'ordine con cui devono essere spediti, controlla la presenza di errori. E' il
primo layer che lavora indipendentemente dalla topologia della rete in cui si trova, per questo
viene chiamato end-to-end.
Questo livello non si occupa quindi della qualit del servizio e della sua affidabilit. In
particolari servizi di comunicazione questo il livello che stabilisce, mantiene e poi chiude i
cosideti "circuiti virtuali".

Livello 3 Network (Address and best path)


Questo livello si occupa della gestione relativa all'instradamento dei pacchetti, controlla
l'indirizzo di provenienza e di destinazione e gestisce le tabelle di instradamento (come le
tabelle di routing) necessarie per far giungere a destinazione i pacchetti. E' questo il livello che
sceglie gli instradamenti alternativi, sia in caso di guasti o di mutate condizioni di traffico, che
in base alla scelta del minor costo. Si pu affermare che lavora in modo astratto rispetto al tipo
fisico di comunicazione.
Livello 2 Data Link (Access to media)
Gestisce i pacchetti (frame), spezzoni di messaggio di lunghezza fissa. Si occupa di tutti i
meccanismi di individuazione e correzione degli errori avvenuti nel livello 1. A questo livello
avviene l'indirizzamento fisico basato sull'indirizzo fisico degli host (MAC).
Livello 1 Fisico (Bnariy transmission)
Si occupa della trasmissione dei dati sul mezzo fisico (media). Qui viene, di fatto, specificata la
rappresentazione elettrica degli 0 ed 1 binari in modo tale che il sistema ricevente possa
leggere correttamente il flusso di bit in arrivo. Tutti gli standard di voltaggio, distanze
massime, connettori fisici ecc. sono qui attribuiti.
TABELLA ESEMPLIFICATIVA PER ALCUNI PROTOCOLLI INTERESSATI:

1
2
3
4
5
6
7

Application SMB, NCP e FTP


NCP, Compressione
Presentation
Dati
Session
Nessuno
TCP, SPX, NWLink,
Transport
NetBEUI
IP, IPX, NetBEUI,
Network
DLC, DecNET
Solo lo standard
Data Link
IEEE 802
Solo lo standard
Physical
IEEE 802

Principi seguiti durante lo sviluppo del modello OSI:

ogni livello deve avere un diverso livello di astrazione;


ogni livello deve avere una funzione ben definita;
la scelta dei livelli deve:
o
o

minimizzare il passaggio delle informazioni fra livelli;


evitare:
troppe funzioni in un livello;
troppi livelli

LINCAPSULAMENTO
Per trasferire delle informazioni attraverso un canale comunicativo necessario procedere al
cosiddetto incapsulamento dei dati (encapsulation).
L'incapsulamento quell'operazione che arricchisce i dati di ulteriori informazioni (ad esempio
quelle relative al al protocollo) ogni volta che scendono di livello verso il media fisico. In
pratica, nel loro cammino verso il basso (dal livello 7 fino al livello 1) i dati vengono "rivestiti"

di ulteriori informazioni come ad esempio i vari header (intestazioni) ogni volta che
attraversano i livelli 4, 3 e 2 della pila OSI.
L'incapsulamento passo dopo passo:
LIVELLO
7

Dati

LIVELLO 6

Dati

LIVELLO 5

Dati

LIVELLO 4

Segmenti (DATA-DATA-DATA)

LIVELLO 3

Pacchetti (intestazione logica + Data)

LIVELLO 2

Frame (intestazione + indirizzo destinazione + Data


+ indirizzo locale)

LIVELLO 1

100100101011010

1) Generazione del dato: (livelli 7, 6 e 5)


Una qualsiasi generazione di informazioni (ed esempio un utente che genera una Email in
formato alfanumerico).
2) Incapsulamento: (livello 4)
I dati da trasferire sono spezzettati in segmenti, e spediti al destinatario, numerandoli
sequenzialmente. Il destinatario, alla ricezione dei segmenti, invia un segnale di avvenuta
trasmissione. Nel caso di fallimento della ricezione di un segmento, il destinatario pu
richiederne la ritrasmissione. In questo modo sussiste il controllo degli errori nel trasporto dei
dati.
3) Aggiunta dell'intestazione - "header": (livello3)
Il dato viene inserito in un pacchetto (o datagramma) munito di intestazione che contiene gli
indirizzi logici ( a seconda del protocollo di comunicazione scelto) del mittente e del
destinatario.
E' questa l'operazione che permette agli apparati di rete di smistare i pacchetti e scegliere i
percorsi.
4) Aggiunta dell'indirizzo locale di rete nel frame-header: (livello2)
Ogni apparato di rete inserisce i pacchetti in una frame. La frame viene spedita alle device
connesse direttamente sulla stessa rete che ne aggiungono il proprio indirizzo di rete fisico. In
questo caso le informazioni ulteriori riguardano la tecnologia trasmissiva scelta (es. Ethernet o
Tokeng Ring).
5) Conversione binaria: (livello 1)
La frame viene convertita in una struttura a bit "0/1" per permetterne la trasmissione sul
media (tipicamente un cavo).
L'operazione di incapsulamento pu essere paragonata a quella che avviene nelle comuni
operazioni che accompagnano le funzioni proprie dei sistemi postali convenzionali.

In questi sistemi vengono essaminate, a vari livelli, le informazioni relative agli indirizzi
presenti nelle buste e nei pacchi.
Ad esempio l'ufficio postale esaminer solo il CAP, mentre il postino analizzer la Via e il
portiere del condominio il nome del condomino.
I livelli, infatti, si astraggono dalle altre informazioni e prendono in esame solo le informazioni
offerte dai pari entit. PDU del pari livello.

I VANTAGGI DEL MODELLO OSI


1. Riduce la complessit
Scompone le complesse problematiche del networking in parti pi piccole (livelli)
2. Standardizza le interfaccie
Standardizzando i componenti, permette a tutti i vendor di partecipare al mercato
3. Facilita l' ingenerizzazione dei componenti
Permette ai costruttori di hw e di sw di creare prodotti "compatibili".
4. Assicura l'interoperabilit
Permette la gestione di servizi indipendentemente dal tipo di piattaforma hw e sw
5. Accellera l'evoluzione
Permette l'implementazione dei singoli livelli indipendentemente dagli altri. Ci facilita sviluppo
ed evoluzione.
6. Semplifica l'apprendimento e l'insegnamento
Divide la complessit delle comunicazioni in rete in tante piccole parti. Ognuna delle quali
facile da apprendere e da insegnare.

TCP/IP
Ancora prima della attuale Internet, fu il progetto di ricerca Arpanet (finanziato dal Department
of Defense americano) che si preoccup di costruire una rete estremamente affidabile, anche
in caso di eventi catastrofi. come cataclismi o guerre planetarie che potevano influire sulla
eliminazione, o isolamento, di molti nodi di rete.
Arpanet, da prototipo, si svilupp fino a diventare la Internet come ora la conosciamo. Nel
corso del suo sviluppo Internet riusc ad integrare i diversi sistemi di rete esistenti attraverso
un architettura ideata, fin dall'inizio, per consentire l'interconnessione di reti fra loro
profondamente diverse (internetwork).
Ed proprio il concetto di Internetworking che sta alla base del successo di Internet e che ne
ha determinato l'assunzione a STANDARD.
Nel corso del tempo questo tipo di architettura (nota anche con il nome di Internet Protocol
Suite, architettura TCP/IP e TCP/IP reference model) cresciuta attraverso un costante lavoro
di implementazione e affinamento. Questo lavoro di implementazione, affinamento e
standardizzazione trova testimonianza permanente nelle RFC (Request For Comments).

Relazione fra i livelli OSI e quelli TCP/IP:


OSI

TCP/IP

APPLICATION
PRESENTATION

<APPLICATION

SESSION
TRANSPORT

<-

TRANSPORT

NETWORK

<-

INTERNET

<-

NETWORK INTERFACE

DATA LINK
PHYSICAL
I principali requisiti che il progetto stabil, fin dall'inizio, si possono riassumere in:

ricerca di una affidabilit estrema


ottima tolleranza ai guasti
possibilit di interconnessione di pi reti fra loro diverse

questi requisiti portarono alla definizione di una architettura di rete basata su:

packet-switched;
livello connectionless di internetwork.

Livello Application
Nella suite TCP/IP non sono previsti i livelli session e presentation (non furono ritenuti
necessari; l'esperienza col modello OSI ha mostrato che questa visione condivisibile).
Sopra il livello transport c' direttamente il livello application, che contiene tutti i protocolli di
alto livello che vengono usati dalle applicazioni reali. I progettisti hanno creato un livello che
soddisfa le problematiche di presentazione, codifica e controllo della comunicazione.
I protocolli introdotti per primi (ed attualmente fortemente in uso) sono:
* Telnet: terminale virtuale;
* FTP (File Transfer Protocol): trasferimento di archivi;
* SMTP (Simple Mail Transfer Protocol) e POP (Post Office Protocol): posta elettronica.
Successivamente se ne aggiunsero altri, fra cui:
DNS (Domain Name Service): mappatura fra nomi di host e indirizzi IP numerici;
NNTP (Network News Transfer Protocol): trasferimento di articoli per i newsgroup;
HTTP (HyperText Transfer Protocol): alla base del Word Wide Web.
Livello Transport
E' stato progettato per consentire la conversazione delle peer entity sugli host sorgente e
destinazione (end-to-end). E' il livello che si occupa della qualit del servizio, dell'affidabilit,
del controllo di flusso e della correzione degli errori.
Sono definiti due protocolli in questo livello:

TCP (Transmission Control Protocol): un protocollo orientato alla connessione e molto


affidabile (tutti i pacchetti arrivano a destinazione e, nell'ordine giusto). Frammenta il
flusso di dati in arrivo dal livello superiore in messaggi separati (segmenti) che vengono
passati al livello Internet. In fase di arrivo a destinazione, i pacchetti vengono
riassemblati in un flusso di output per il livello superiore. Connection-oriented non
significa l'esistenza di un circuito reale fra i due host (circuit switching). Significa ,
invece, che i segmenti del livello 4 viaggiano avanti e indietro fra i due host per
assicurarsi che la connessione sia stabile durante un deterrminato periodo. Questo
processo conosciuto come "packet switching".
UDP (User Datagram Protocol): un protocollo non orientato alla connessione e,
quindi, non affidabile. I pacchetti possono arrivare in ordine diverso o, addirittura, non
arrivare affatto.

Livello Internet
E' il livello che tiene insieme l'intera architettura. Il suo ruolo consentire ad un elaboratore
(host) di iniettare pacchetti in una qualsiasi rete e fare il possibile per farli viaggiare,
indipendentemente gli uni dagli altri e magari per strade diverse, fino alla destinazione, che
pu essere situata anche in un'altra rete. Dunque connection less. E' un servizio best-effort
datagram. Il protocollo che si occupa di questa incombenza l' IP (Internet Protocol). Le
funzioni principali sono l'instradamento (routing) e il controllo della congestione.
Network Interface
Nelle specifiche del modello TCP/IP non esiste una considerazione del livello fisico in quanto lo
stesso si appoggia direttamente a quello dei dispositivi disponibili per le varie piattaforme HW
e, comunque, conformi agli standard IEEE 802. Tutto ci che si assume la capacit dell'host
di inviare pacchetti IP sulla rete, difatti questo livello viene anche denominato "host-to-network
layer".

Collocazione dei principali protocolli sui livelli della suite TCP/IP:


APPLICATION ->

TELNET, FTP, SMTP, HTTP, NNTP, RLOGIN, DNS, TFTP

TRANSPORT ->

TCP, UDP

INTERNET ->

IP, ICMP, ARP, RARP

NETWORK INTERFACE ->

LAN, MAN, WAN

RETI GEOGRAFICHE - WAN

Con il concetto di rete geografica si entra nel mondo dell'internetworking. WAN, acronimo di Wide Area
Network, sta ad indicare una tipologia di rete operante ai livello fisico e data-link nata per la connessione
fra di loro di diverse Lan e lo scambio di pacchetti attraverso bridge e e router.
Le principali carateristiche di una Wan si possono riassumere nei fattori principali che la distinguono da
un Lan:

Utilizzo dei servizi di trasporto su vaste aree geografiche delegati a provider telefonici;
Utilizzo di connessioni seriali, full o part time;
Utilizzo di apparati specifici per le aree geografiche come: router, switch, modem, communication
servers.

Per quanto riguarda le specifiche, le raccomandazioni e gli standard che, sia a livello fisico che a livello
data-link, intervengono nel dettare regole e armonizzare lo scambio di dati fra le varie tecnologie
adottate, vanno citati:

International Telecommunication Union-Telecommunication Standardization Sector (ITU-T),


formerly the Consultative Committee for International Telegraph and Telephone (CCITT)
International Organization for Standardization (ISO)
Internet Engineering Task Force (IETF)
Electronic Industries Association (EIA)

Esistono diversi standard WAN, ognuno con proprie caratteristiche tecniche e particolare diffusione nel
mercato IT. Abbiamo in precedenza detto che le WAN operano su due differenti livelli: fisico e data-link.
Quello che importante sapere, prima di affrontare le varie tecnologie, che mentre al livello fisico si
stabiliscono i parametri elettronici e meccanici per lo scambio dati, al livello data-link si stabiliscono le
modalit di trasmissione dei frame attraverso il singolo canale comunicativo.
Piu' in particolare:
A livello fisico vengono prese in esame le intefacce DTE (data terminal equipment) e DCE (data circuitterminating equipment) dove il DCE il servizio offerto del provider (tipicamente la terminazione del Wan
provider Telecom/wind/Infostrada ecc.) e il DTE l'interfaccia locale del router aziendale.
Il DCE , molto spesso, un modem o una CSU/DSU (interfaccia digitale che connette l'apparato aziendale
al "local digital telephone loop" (circuito dati del provider) usato nei circuiti digitali (tipicamente le CDN)
come le T1 o E1.

Channel service unit/Data service unit. E' usato per collegarsi a una linea T1 o ad una linea dedicata,
come il T1
frazionato. La funzione primaria di CSU/DSU convertire il segnale in formato che il resto della rete pu
capire. simile alla
funzione di un modem. CSU/DSU funziona allo strato fisico del modello OSI. Una considerazione
importante riguarda la funzionalit di timing che demandata al DSU.

A livello fisico gli standard di riferimento sono:

EIA/TIA-232
EIA/TIA-449
V.24
V.35
X.21
G.703
EIA-530

A livello Data-Link i protocolli pi usati sono:

High-Level Data Link Control (HDLC) standard dello IEEE. Non compatibile con tutti gli apparati
di rete. Molti produttori implementano versioni proprietarie di questo protocollo. HDLC supporta la
configurazione point-to-point e quella multipoint.
Frame Relay. Questo protocollo utilizza i vantaggi dell'alta qualit digitale. Utilizza una trama
(frame) semplificata senza meccanismo di correzione. Questa caratteristica permette di inviare
informazioni di Livello 2 in modo pi veloce di tutti gli altri protocolli.
Point-to-Point Protocol (PPP). Viene descritto dalla RFC 1661 e contiene due standard sviluppati
dall' IETF. Il PPP, nella sua struttura, contiene un campo utilizzato per identificare il protocollo di
Livello 3.
Simple Data Link Control Protocol (SDLC) stato ingenerizzato da IBM per supportare le Wan di
tipo SNA (System Network Architecture). Attualmente rimpiazzato dal pi versatile HDLC .
Serial Line Interface Protocol (SLIP) uno dei protocolli pi usati per trasportare IP nelle reti WAN
stato, quasi completamente, rimpiazzato dal pi versatile PPP.
Link Access Procedure Balanced (LAPB) usato su reti X.25 e dispone d un ottima capicit di
controllo degli errori.
Link Access Procedure D-channel (LAPD) il protocollo WAN usato per il canale di servizio "D"
nelle reti ISDN (i dati veri e propri transitano nei canali B).
Link Access Procedure Frame (LAPF) un protocollo molto simile all' LAPD e viene usato in
abbinata alle tecnologie frame relay.

TIPOLOGIE WAN

Tabella comparativa
TECNOLOGIA

Massima larghezza di banda

Caratteristiche

POTS
Plain Old Telephone Service

4 Khz Analogico

Sistema telefonico odierno. Lo


standard per l'affidabilit

ISDN
Integrated Services Digital
Network

128 Kbps

Dati e voce sulla stessa


tecnologia
Vecchia tecnologia ma molto
affidabile

X.25
Frame Relay

fino a 44,736 Mbps

A commutazione di pacchetto.
L'evoluzione di ISDN

ATM
Asynchronous Transfer Mode

622 Mbps

Performance ad alto costo

SMDS
Switched Multimegabit Data
Service

da 1,54 a 44,736 Mbps

Variante metropolitana di ATM

T1, T3

da 1,54 a 44,736 Mbps

Tecnologia fra le pi in uso

xDSL
Digital Subscriber Line

384 Kbps

Nuova tecnologia su linee


telefoniche

56 kbps

Tecnologia ormai affermata su


linea telefonica

9.992 Mbps

Il backbone di Internet. Su fibra


ottica

56 Kbps

Bassa velocit su linee


telefoniche

WIRELESS DI TERRA

11 Mbps

Microonde a terra

WIRELESS SATELLITARE

2 Mbps

Il wireless per utenti mobili

Dial-up Modem
SONET
MODEM

Le tecnologie WAN sopraelencate godono di una ulteriore suddivisione in base al modo in cui avviene la
trasmissione dei dati sul media di collegamento. Esaminiamo le categorie.
Circuit-switched Services - Servizi a commutazione di circuito

POTS (Plain Old Telephone Service). Questa tecnologia comunemente usata per la trasmissione
della voce, non riguarda i computer ma le sue caratteristiche sono rilevanti per lo sviluppo delle
infrastrutture di rete. Essendo un modello estremamente affidabile e facile da usare nelle reti
Wan utile studiarlo e conoscerlo. Il media fisico utilizzato da questa tecnologia di tipo twistedpair.

ISDN (Integrated Services Digital Network). E' una delle tecnologie pi diffuse ed stata la
prima a consentire un servizio di accesso dial-up completamente digitale. Non molto costosa e
ha una larghezza di banda massima di 128 Kbps per l'accesso base "BRI" (Basic Rate Interface) e
di 3 Mbps per l'accesso primario "PRI" (Primary Rate Interface). Anche la tecnologia ISDN utilizza
come media fisico il cavo in rame di tipo twisted-pair.

Packet-Switched Services - Servizi a commutazione di pacchetto

X.25 una vecchia tecnologia ancora molto usata che permette un controllo di errore molto
raffinato. Nata per far fronte agli errori trasmissivi che colpivano le reti WAN al principio.
Purtroppo la larghezza di banda limitata, fino a 2 Mbps . Anche la tecnologia X.25 utiliizza come
media fisico il cavo in rame di tipo twisted-pair.

Frame Relay la versione packet-switched di ISDN ed diventata una delle tecnologie pi


diffuse. E' pi efficente di X.25 e, pur erogando gli stessi servizi, pu usufruire di una larghezza di
banda massima di 44.736 Mbps. Utilizza il media di rame twisted pair e la fibra ottica.

Cell-Switched Services - Servizi a commutazione di cella

ATM (Asynchronous Transfer Mode) sta diventando una tecnologia usatissima sia in ambito Wan
che Lan. Ha il pregio di usare delle piccole trame a grandezza fissa (53 byte) ma il suo costo
ancora molto sostenuto. La massima larghezza di banda si attesta a 622 Mbps anche se si stanno
implementando velocit pi interessanti. Utilizza il media di rame a due fili intrecciati e la fibra
ottica.

SMDS (Switched Multimegabit Data Service) abbastanza simile a ATM viene usata negli ambienti
metropolitani (MAN). La velocit di trasmissione di circa 44 Mbps. Dato il costo relativamente
alto non molto diffusa. Utilizza il media di rame a due fili intrecciati e la fibra ottica.

Dedicated Digital Services - Servizi digitali dedicati

T1, T3, E1, E3. Le tecnologie della serie T vengono usate negli Stati Uniti, mentre le tecnologie
della serie E sono riferite all'Europa. Sono le tecnologie che usano il "time division multiplexing"
un meccanismo di suddivisione del tempo per l'assegnazione della banda. La tabella della
larghezza di banda la seguente:

T1
T3
E1
E3

-----

1.544 Mbps
44.736 Mbps
2.048 Mbps
34.368 Mbps

Vengono utilizzati media di rame a due fili intrecciati e fibre ottiche.

xDSL (Digital Subscriber Line) una nuova tecnologia WAN sviluppata per uso casalingo e per
piccoli uffici. La caratteristica principale sta nella disponibilit di larghezza di banda che
diminuisce con la crescita della distanza dal punto di attacco del provider. La velocit maggiore
(51,84 Mbps) virtualmente possibile a ridosso del sito tecnico del provider. Questa tecnologia
sta rapidamente prendendo piede e i prezzi di erogazione si stanno abassando notevolmente. Le
varianti di questa tecnologia sono:

HDSL -- high-bit-rate DSL


SDSL -- single-line DSL
ADSL -- asymmetric DSL
VDSL -- very-high-bit-rate DSL
RADSL -- rate adaptive DSL

SONET (Synchronous Optical Network) -- E' una tecnologia ad alta velocit che utilizza,
principalmente, la fibra ottica ma pu adattarsi anche al rame. Le velocit raggiungibili sono
diverse a seconda dell'uso a cui questa tecnologia viene destinata. Viene implementata a diversi
livelli raggiungendo velocit che variano dai 51,84 Mbps fino a 9.952 Mbps (OC-192); Pu
raggiungere queste straordinarie velocit grazie all'uso del WDM (wavelength division
multiplexing) dove i fasci laser vengono sintonizzati su diversi colori (wavelengths) per poter
inoltrare enormi quantit di dati. Questa tecnologia molto usata nei backbone di Internet ed il
suo costo molto elevato.

Altri servizi WAN

I Modem analogici possono essere usati sulle linee telefoniche convenzionali anche se le
velocit sono molto contenute. La velocit massima si attesta sui 56 kbps. Hanno il vantaggio di
costare molto poco e la loro destinazione quella domestica.
I Cable modem sono molto usati nei paesi dove la TV via cavo molto sviluppata (90% delle
case americane). La velocit massima arriva a 10 Mbps ma decrementa quando molti utenti
condividono il media. Il loro costo non alto e usano il cavo coassiale televisivo.
Wireless - Non richiede nessun cavo poich utilizza onde elettromagnetiche. Fra i vari tipi di
tecnologie wireless per Wan vanno citate:

Terrestri - Con le microonde raggiungono 11 Mbps ad un costo non molto alto.


Abbisognano del campo visivo diretto fra i due estremi, senza interruzioni intermedie
Satellitari - Utilizzate per utenti mobili (PDA e cellulari) ad un costo ancora troppo alto
per raggiungere grandi platee di utilizzatori.

TCP
Vediamo questa struttura al lavoro facendo un semplice esempio, immaginate di voler inviare un
messaggio su una rete TCP/IP (Internet una di queste). Ci che il protocollo di posta SMTP produce,
viene passato in basso al TCP.
Innanzi tutto diciamo che TCP fornisce un servizio byte-stream. Questo termine indica che i dati da e per
i livelli superiori vengono presentati e ricevuti come un unico flusso di byte, e non come pacchetti. Questo
significa che TCP, e non i protocolli superiori (e quindi le applicazioni), a doversi preoccupare di
preparare i pacchetti, con l'evidente vantaggio di avere chiara la distinzione dei ruoli: SMTP (o qualsiasi
altra applicazione di alto livello) pensa a preparare il messaggio di posta, TCP pensa a come deve
inviarlo.
Un pacchetto TCP detto segmento.
Essenzialmente i compiti di TCP sono:

suddividere i dati da spedire in tanti segmenti indipendenti e numerati.


riassemblare i dati arrivati all'altro capo, presentandoli nuovamente come un flusso di byte.
rispedire i datagrammi non arrivati o arrivati corrotti.
rimetterli nel giusto ordine se alcuni di essi non hanno "rispettato il turno".
controllare il flusso attraverso il meccanismo delle finestre e dell'acknowledgement che descrivo
tra poco.
multiplexing attraverso l'uso delle porte. Ne parlo nell'header TCP.

Ad ogni segmento, TCP aggiunge il suo header.


|0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3|
|0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|..........Source Port..........|.......Destination Port........|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|........................Sequence Number........................|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|.....................Acknowledgment Number.....................|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Data...|...........|U|A|P|R|S|F|...............................|
|Offset.|.Reserved..|R|C|S|S|Y|I|............Window.............|
|.......|...........|G|K|H|T|N|N|...............................|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|............Checksum...........|.........Urgent Pointer........|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|....................Options....................|....Padding....|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|.............................data..............................|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Nell'header sono contenuti i seguenti campi.

Source port/Destination port; (16 bit + 16 bit) quando iniziate ad inviare o a ricevere dati, qui
vengono memorizzati due numeri di porta, uno al quale inviare i dati, uno sul quale i dati
verranno spediti da parte dell'altro computer. Sull'altra macchina, i numeri di porta sono uguali
ma scambiati. Per ogni comunicazione full-duplex, sul vostro computer (e su quello a cui vi siete
connessi) vengono aperte due connessioni, una in trasmissione e una in ricezione, ognuna con il
suo numero di porta. Fate attenzione a non confondere le porte con gli indirizzi IP.

Qui apro una piccola ma importante parentesi per far capire quanto sia utile il concetto di porta nelle
comunicazioni TCP. Normalmente, quando stabilite una comunicazione generica, TCP genera un numero
di porta casuale. Se per volete iniziare una connessione con un protocollo di alto livello (cio il 99% dei
casi), come per esempio il protocollo SMTP, perch volete mandare un messaggio di posta all'altro
computer, dovete prima di tutto specificare che volete una connessione attraverso la porta n.25 (o lo far
per voi il vostro lettore di posta). Solo dietro a questo numero di porta troverete SMTP in ascolto. Ci sono
diversi "numeri magici" standard (detti "well known services", servizi ben noti), ad esempio 21 per FTP,
23 per Telnet, 53 per il servizio DNS, 80 per il Web Server. Potete trovare una lista dei principali servizi
noti in C:\Windows\Services, o in /etc/services in Linux.

Sequence number; (32 bit) contiene il numero necessario per sapere quale sia l'ordine dei
segmenti e per sapere se qualcuno andato perduto. Diversamente da come si potrebbe
pensare, non viene usato il numero di segmento, ma il numero del primo byte di quel segmento.
Quindi se ogni segmento contiene 1500 byte, il sequence number sar 0...1500...3000... , e non
0...1...2... .
Acknowledgment number; (32 bit) viene usato per segnalare che avete ricevuto tutti i dati fino al
numero di byte specificato meno uno, e dovrebbe essere uguale al valore del prossimo Sequence
number che sar ricevuto.
Window; (16 bit) nei segmenti con il flag ACK, indica in byte l'ampiezza della finestra che il
computer in grado di ricevere. Per il funzionamento vedi il paragrafo Il meccanismo delle
finestre scorrevoli.
Data offset; (4 bit) il numero di parole a 32-bit dell' header TCP. Indica dove iniziano i dati.
Reserved; (6 bit) riservato ad usi futuri.
Flags; (1 bit per ogni flag) composto dai seguenti campi:
o Flag URG; (urgent) se attivo indica che il campo Urgent Pointer valido e deve essere
letto.
o Flag ACK; (acknowledgement) se attivo indica che il campo Acknowledgement number
valido e deve essere letto.
o Flag PSH; (push) usato per indicare che il segmento deve essere inviato
immediatamente. Utile nei programmi interattivi come Telnet, dove vogliamo che i
comandi digitati con la tastiera siano inoltrati quanto prima. Senza il Flag PSH, per motivi
di efficienza il TCP accumula tutti i dati in un buffer interno, la cui spedizione viene
ritardata fino a che non si sia completamente riempito.
o Flag RST; (reset) usato per reinizializzare completamente la connessione TCP corrente.
o Flag SYN; (synchronize) usato quando viene stabilita una sessione, indica che il ricevente
dovr leggere il campo Sequence number e sincronizzare il proprio con esso.
o Flag FIN; (finish) indica che non ci sono altri dati da trasmettere. La connessione rimane
comunque aperta in ricezione.
Checksum; (16 bit) un numero che serve per sapere se il datagramma corrente contiene errori
nel campo dati.
Urgent pointer; (16 bit) indica che il ricevente deve iniziare a leggere il campo dati a partire dal
numero di byte specificato. Viene usato se si inviano comandi che danno inizio ad eventi asincroni
"urgenti". Ad esempio il comando Control-C in una sessione Telnet.
Options; (lunghezza variabile) contiene varie opzioni di TCP (Maximum Segment Size, Window
Scale, Sack Permitted, Sack, Time Stamp).
Padding; (lunghezza variabile) una serie di 0 inserita perch la lunghezza dell'header TCP sia un
multiplo di 32 bit.

E finalmente

Data; il nostro campo dati.

HANDSHAKE
Quando due computer utilizzano TCP devono innanzitutto creare una sessione. La procedura attraverso la
quale la sessione viene stabilita si chiama "three way handshaking", o handshaking a tre vie.
Se il computer client PC1 vuole connettersi al computer server PC2, succede questo:
1 - PC1 manda a PC2 un segmento TCP attivando il flag SYN.
2 - PC2 risponde a PC1 con i flag SYN e ACK attivi.
3 - PC1 risponde a sua volta con il flag ACK.
Al primo passo, PC1 attiva nel primo segmento il flag SYN per indicare a PC2 che il campo Sequence
number valido e che quindi deve essere letto. Il valore settato da PC1 in quel campo detto Sequence
number iniziale, o ISN (Initial Sequence Number). PC2 risponde attivando il flag SYN ed indicando un
proprio ISN, inoltre attiva l'ACK indicando l'ISN+1 di PC1. Infine PC1 attiva l'ACK indicando l'ISN+1 di
PC2. A questo punto la comunicazione stabilita e PC1 pu iniziare ad inviare gli altri segmenti.
Ad esempio:
n.__mitt.__dest.__SYN Flag__ACK Flag___________Seq. n.________Ack. n.
1____PC1____PC2_____Si_________No____________2481573249_____1875913495
2____PC2____PC1_____Si_________Si____________408548955______2481573250
3____PC1____PC2_____No_________Si____________2481573250_____408548956

Un problema di questa tecnica la vulnerabilit ad un famoso tipo di DoS (Denial of Service): il SYNFlooding. In sostanza il client (PC1) richiede decine e decine di connessioni al server vittima (PC2)
inondandolo di pacchetti SYN (inondare = to flood). PC2 risponde con tanti SYN-ACK, a cui per PC1
volutamente non risponde (in teoria dovrebbe completare gli handshake con un ACK per ogni
connessione). PC2 dopo un p smette di aspettare, ma quando i SYN ricevuti sono troppi, rimane
pressoch paralizzato: dato che esiste un limite massimo al numero di connessioni che si possono
stabilire su PC2, un eventuale utente PC3 che si collega a PC2 non verrebbe accettato perch tutti i canali
disponibili sono impegnati (ad aspettare ACK che non arrivano).

STATI DI UNA CONNESSIONE


Una sessione TCP pu essere in diversi stati. Potete visualizzare lo stato di tutte le connessioni in corso
sul vostro computer con il comando:
netstat -na
Gli stati possibili sono i seguenti

LISTEN: in attesa che qualcuno richieda una connessione


SYN-SENT: durante la creazione di una connessione, indica che stato inviato un segmento con
flag SYN attivo e si sta aspettando il segmento di risposta (quello con i flag SYN/ACK).
SYN-RECEIVED: durante la creazione di una connessione, indica che stato ricevuto un
segmento SYN, stato inviato in risposta il SYN/ACK e che ora si sta attendendo l'ACK che
completa l'handshake.
ESTABLISHED: stato raggiunto dopo che l'handshake stato completato con successo. La
connessione ora aperta e si possono trasferire dati.
FIN-WAIT1: in attesa di una richiesta di terminazione della sessione da parte del computer
remoto o di un acknowledgement della richiesta di terminazione della connessione
precedentemente stabilita.
FIN-WAIT2: in attesa di una richiesta di terminazione della sessione da parte del computer
remoto.
CLOSE-WAIT: in attesa di una richiesta di terminazione della sessione da parte del computer
locale.

CLOSING: in attesa dell'acknowledgement alla richiesta di terminazione da parte del computer


remoto.
LAST-ACK: in attesa dell'acknowledgement della richiesta di terminazione della connessione che
stata precedentemente inviata al computer remoto, include un acknowledgement della sua
richiesta di terminazione della connessione
TIME-WAIT: in attesa che passi abbastanza tempo in modo da essere sicuri che il computer
remoto abbia ricevuto l'acknowledgement della sua richiesta di terminazione della connessione.
CLOSED: quando la connessione del tutto terminata.

Elementi di base IP
Per prima cosa, esaminiamo alcuni elementi di base dei numeri binari.
Un byte un gruppo di 8 bit binari. Dal momento che un bit binario costituito da uno 0 o da un 1, un
byte consiste in otto 0 e/o 1. Come si fa a convertire questi valori in numeri decimali? Il bit pi a destra
ha un peso di 1 (20). Il bit successivo alla sua sinistra ha invece un peso di 2 (21), quello successivo ha
un peso di 4 (22), in altre parole due elevato alla seconda potenza, e cos via:
27 26 25 24 23 22 21 20
oppure, in modo equivalente:
128 64 32 16 8 4 2 1: pesi decimali
Di conseguenza, il numero binario 10101001 caratterizzato da un equivalente decimale di:
1x1 + 1x8 + 1x32 + 1x128 = 169
Se si assegnano degli 1 contigui a partire da destra, il diagramma di cui sopra si pu usare come una
sorta di calcolatore. Supponiamo di avere dei bit binari 00001111; per ottenere l'equivalente decimale si
possono compiere i calcoli nel modo difficile, in altre parole:
1x1 + 1x2 + 1x4 + 1x8 = 15
Oppure si pu prendere nota di quanto segue (prendendo il nostro numero):
0 0 0 0 1 1 1 1 : numero binario
Se a partire dal lato destro si hanno tutti 1, si pu semplicemente prendere il peso del primo bit 0 (16 in
questo caso), sottrarre 1 e ottenere 15 - l'equivalente decimale - senza dover usare un calcolatore. Di
conseguenza, se tutti i bit sulla destra sono degli 1, si pu calcolare il valore decimale usando il
diagramma di cui sopra come una sorta di calcolatore.
Si noti che, dal momento che i bit crescono in potenze di 2, il nono bit ha un peso decimale di 256. Di
conseguenza, se si ha un byte con tutti 1 (per esempio 11111111), esso ha un valore decimale di 255
(256-1). Il numero 255 compare molte volte nell'indirizzamento IP.
A questo punto bisogna costruire un altro calcolatore come utile referenza (vedere la tabella 1). Esiste un
elemento chiamato netmasking, che sar esaminato pi avanti. La procedura standard dice di iniziare la
mascheratura da sinistra e di lavorare verso il basso. Di conseguenza, se si pone a 1 l'ottavo bit (o bit di
ordine pi elevato) e il resto uguale a 0, l'equivalente decimale 128. Se si pongono a 1 i primi tre bit e
il resto a 0, l'equivalente decimale 224, ecc.

INDIRIZZI IP (IPv4)
L'indirizzo IP identifica, in modo univoco, un elaboratore (host) nella rete (net). Esso rappresentato da
una stringa composta da 32 bit (es. 00001010.00000001.00000000.11110000) divisi in 4 otteti (gruppi
di 8 bit).
Sommando i bit uno e zero di ogni otteto, si ottiene la notazione numerica/decimale che, in questo
esempio, corrisponde a: 10.1.0.240.
In pratica un indirizzo di rete si pu rappresentare in forma binaria (bit) o decimale puntata.
Tabella comparativa di base:
1

128

64

32

16

Ogni indirizzo IP costituito di due parti: un identificativo di rete (net ID) e un identificativo dell'host
(host ID). Per host si intende qualsiasi elaboratore che necessita di un indirizzo come p.c., workstations,
apparati di rete, stampanti, servers, ecc.
L'indirizzo 151.109.2.24 rappresenta la rete 151.109 e l'host 2.24. La suddivisione dei numeri fra net ID
e host ID, avviene attraverso la suddivisione in classi.
In pratica i bit del primo otteto distinguono le 5 tipologie standard di rete, identificate da una lettera dell'
alfabeto:

Classe A = da 1.0.0.0 a 126.255.255.255 inizia con un bit a 0 (primo ottetto da 1 a 126 in decimale), 7 bit per la rete , 24 per l'host.
Permette di avere 126 reti con 16.777.213 host ciascuno.
Classe B = da 128.0.0.0 a 191.255.255.255
inizia con due bit a 10 (primo ottetto da 128 a 191 in decimale), 14 bit per la rete , 16 per l'host.
16.382 reti, di 65.534 host ciascuno.
Classe C = da 192.0.0.0 a 223.255.255.255
inizia con tre bit a 110 (primo ottetto da 192 a 223 in decimale), 21 bit per la rete , 8 per l'host.
2.097.150 reti, di 254 host ciascuno.
Classe D = da 224.0.0.0 a 239.255.255.255 - riservata per il multicasting
inizia con quattro bit a 1110 (primo ottetto da 224 a 239 in decimale)
Classe E = da 240.0.0.0 a 254.255.255.255 - riservata per usi futuri
inizia con quattro bit a 1111 (primo ottetto da 240 a 254 in decimale

Tabella di conversione decimale / binario


Dec

Bin

Dec

Bin

Dec

Bin

Dec

Bin

00000000

64

01000000

128

10000000

192

11000000

00000001

65

01000001

129

10000001

193

11000001

00000010

66

01000010

130

10000010

194

11000010

00000011

67

01000011

131

10000011

195

11000011

00000100

68

01000100

132

10000100

196

11000100

00000101

69

01000101

133

10000101

197

11000101

00000110

70

01000110

134

10000110

198

11000110

00000111

71

01000111

135

10000111

199

11000111

00001000

72

01001000

136

10001000

200

11001000

00001001

73

01001001

137

10001001

201

11001001

10

00001010

74

01001010

138

10001010

202

11001010

11

00001011

75

01001011

139

10001011

203

11001011

12

00001100

76

01001100

140

10001100

204

11001100

13

00001101

77

01001101

141

10001101

205

11001101

14

00001110

78

01001110

142

10001110

206

11001110

15

00001111

79

01001111

143

10001111

207

11001111

16

00010000

80

01010000

144

10010000

208

11010000

17

00010001

81

01010001

145

10010001

209

11010001

18

00010010

82

01010010

146

10010010

210

11010010

19

00010011

83

01010011

147

10010011

211

11010011

20

00010100

84

01010100

148

10010100

212

11010100

21

00010101

85

01010101

149

10010101

213

11010101

22

00010110

86

01010110

150

10010110

214

11010110

23

00010111

87

01010111

151

10010111

215

11010111

24

00011000

88

01011000

152

10011000

216

11011000

25

00011001

89

01011001

153

10011001

217

11011001

26

00011010

90

01011010

154

10011010

218

11011010

27

00011011

91

01011011

155

10011011

219

11011011

28

00011100

92

01011100

156

10011100

220

11011100

29

00011101

93

01011101

157

10011101

221

11011101

30

00011110

94

01011110

158

10011110

222

11011110

31

00011111

95

01011111

159

10011111

223

11011111

32

00100000

96

01100000

160

10100000

224

11100000

33

00100001

97

01100001

161

10100001

225

11100001

34

00100010

98

01100010

162

10100010

226

11100010

35

00100011

99

01100011

163

10100011

227

11100011

36

00100100

100

01100100

164

10100100

228

11100100

37

00100101

101

01100101

165

10100101

229

11100101

38

00100110

102

01100110

166

10100110

230

11100110

39

00100111

103

01100111

167

10100111

231

11100111

40

00101000

104

01101000

168

10101000

232

11101000

41

00101001

105

01101001

169

10101001

233

11101001

42

00101010

106

01101010

170

10101010

234

11101010

43

00101011

107

01101011

171

10101011

235

11101011

44

00101100

108

01101100

172

10101100

236

11101100

45

00101101

109

01101101

173

10101101

237

11101101

46

00101110

110

01101110

174

10101110

238

11101110

47

00101111

111

01101111

175

10101111

239

11101111

48

00110000

112

01110000

176

10110000

240

11110000

49

00110001

113

01110001

177

10110001

241

11110001

50

00110010

114

01110010

178

10110010

242

11110010

51

00110011

115

01110011

179

10110011

243

11110011

52

00110100

116

01110100

180

10110100

244

11110100

53

00110101

117

01110101

181

10110101

245

11110101

54

00110110

118

01110110

182

10110110

246

11110110

55

00110111

119

01110111

183

10110111

247

11110111

56

00111000

120

01111000

184

10111000

248

11111000

57

00111001

121

01111001

185

10111001

249

11111001

58

00111010

122

01111010

186

10111010

250

11111010

59

00111011

123

01111011

187

10111011

251

11111011

60

00111100

124

01111100

188

10111100

252

11111100

61

00111101

125

01111101

189

10111101

253

11111101

62

00111110

126

01111110

190

10111110

254

11111110

63

00111111

127

01111111

191

10111111

255

11111111

Il numero di rete assegnato da un ente centrale, l'InterNIC, il numero di host invece deciso dal
possessore di quel numero di rete. Quando il numero di host fatto solo da '0', l'indirizzo esprime
l'indirizzo di rete. Quando fatto di soli '1', indica un broadcast a tutti i nodi della rete.
N.B. : quando assegnate gli indirizzi IP alle vostre macchine, buona norma non assegnare mai valori
gi usati in Internet, per questo sono stati definiti indirizzi "sicuri": 10.0.0.0 (numero di rete=primi 8 bit),
172.16.0.0 (numero di rete=primi 20 bit), 192.168.0.0 (numero di rete=primi 16 bit), se non avete
particolari esigenze io vi consiglio quest'ultimo. Evitate come al solito i valori 0 e 255. Un'altra classe di
indirizzi riservata 127.0.0.0 (numero di rete=primi 8 bit), che identifica il localhost, ossia il proprio
computer. In generale il mio consiglio di assegnare alle macchine della vostra LAN gli indirizzi
192.168.x.y dove x rappresenta il numero di sottorete, e y il numero per il nodo, e come subnet
255.255.255.0. Tra parentesi, una macchina pu essere collegata a pi di una rete, avr quindi due o pi
indirizzi IP, uno per ogni rete. Tale macchina viene detta multi-homed e pu svolgere le funzione di un
router (un altro nome usato gateway, tuttavia questa parola ha anche altre definizioni e pu generare
confusione).
Un indirizzo Ethernet, 48 bit, viene invece indicato con una notazione differente: 6 numeri esadecimali,
ma ognuno di essi continua ad esprime ancora 8 bit(8bit x 6n=48bit), es. 20-53-52-b8-1f-00. I valori
vanno da 00 a ff (che per l'appunto sono poi equivalenti in decimale a 0 e 255, cambia solo il modo di
scriverli). Anche qui i numeri 0 e ff non vanno usati, ma di questo non vi dovete preoccupare. Infatti gli
indirizzi Ethernet sono gi scritti nelle schede di rete quando vengono fabbricate. Essi devono seguire le
disposizioni della IEEE in materia, secondo le quali non devono esistere due schede di rete con lo stesso
indirizzo.
cosa unisce l'indirizzo IP di una macchina con l'indirizzo fisico della scheda di rete di quella macchina?
Nulla! E' per questo che hanno inventato un altro protocollo molto importante: ARP, Address Resolution
Protocol.

IL SUBNETTING
Come abbiamo visto nelle sezioni dedicate all'IP, questo numero specificato da 32 bit (4 Byte) es:
192.168.150.2:
192 (8 bit)
Network

168 (8 bit)

150 (8 bit)

2 (8 bit)
Host

Ogni indirizzo IP si suddivide in due o tre parti:


a) Divisione degli IP con mashere di sottorete convenzionali:
Network

Host

Classe A = da 1.0.0.0 a 126.255.255.255 inizia con un bit a 0 (primo ottetto da 1 a 126 in decimale), 7 bit per la rete , 24 per l'host.
Permette di avere 126 reti con 16.777.213 host ciascuno.

N.H.H.H

78

31

Network

Host

Classe B = da 128.0.0.0 a 191.255.255.255


inizia con due bit a 10 (primo ottetto da 128 a 191 in decimale), 14 bit per la rete , 16 per l'host.
16.382 reti, di 65.534 host ciascuno.

N.N.H.H
0

15 16
Network

31
Host

Classe C = da 192.0.0.0 a 223.255.255.255


inizia con tre bit a 110 (primo ottetto da 192 a 223 in decimale), 21 bit per la rete , 8 per l'host.
2.097.150 reti, di 254 host ciascuno.

N.N.N.H
0

23 24
Network

31
Host

b) Divisione degli Ip con maschere di sottorete non convenzionali:


Nel caso di maschere di sottorete non convenzionali, il campo Host viene ulteriormente suddiviso in due
parti. Subnet e host.

Network

Subnet

Host

Questo caso si verifica quando necessario dividere la rete in due segmenti separati, in modo che gli
host appartengano a due reti diverse, separate da un router.

La divisione in sottoreti
La segmentazione di una rete IP in pi sottoreti, pu rendersi necessaria per una variet di motivi,
compreso l' organizzazione, l' uso di diversi accessi ai media fisici ( Ethernet, il FDDI, WAN, ecc.) e,
sopprattutto, per la razionalizzazione dell'indirizzamento IP. Non ultimo motivo, la sicurezza.
Il motivo pi comune quello di gestione del traffico della rete. In una rete di tipo Ethernet, tutti gli host

del segmento fisico vedono, e analizzano, tutti i pacchetti trasmessi da tutti gli altri host di quel
segmento. Le prestazioni della rete possono subire pesanti carichi e, quindi, rallentamenti e
collassamenti, dovuti alle collisioni e alle ritrasmissioni. L'uso dei router indicato per segmentare le reti
(e segmentare, quindi, i domini di broadcast) per consentire un miglior rendimento generale. Le reti IP
segmentate minimizzano la quantit di traffico che ogni segmento deve gestire.

Applicando una maschera di sottorete (subnetmask) ad un indirizzo IP si permette l'identificazione della


sottorete di appartenenza con la semplice comparazione dell' indirizzo e della maschera. L' operazione si
dice di "AND LOGICO" fra il numero IP e la sua maschera. Risultato di questa operazione
l'individuazione della rete di appartenenza.
L'operazione di AND LOGICO compara 2 bit: se sono entrambi di valore "1", il risultato sar "1",
altrimenti sar "0" (lettura incrociata della tabella seguente):
0

Lo stack TCP/IP di un host esegue, durante l'inizializzazione, un processo di AND fra il numero di IP e la
sua maschera di sottorete. Quando un pacchetto viene inviato in rete, il suo destinatario IP viene
sottoposto, anch'esso, ad un AND logico con la subnetmask. Se le risultanti dei due processi sono uguali
significva che il destinatario appartiene alla rete locale. Diversamente verr inviato ad un router che
provveder a smistarlo in una rete remota.
Subnet mask di default (maschere di sottorete convenzionali)
La mascheratura di sottorete un indirizzo di 32 bit (simile al numero IP) che consente di "dividere" la
parte host da quella di rete. Questa maschera fondamentale perch grazie ad essa si riesce a
determinare se un IP fa parte della rete locale o va ricercato in una rete remota.
In presenza di reti locali non segmentate si user la maschera di default.
Vediamone un esempio:
Dichiariamo l'indirizzo IP 150.129.220.200 con maschera di sottorete 255.255.000.000 ed effettuiamo
l'AND LOGICO:

10010110.10000001.11011100.11001000 150.129.220.200 Indirizzo classe B


11111111.11111111.00000000.00000000 255.255.000.000 Subnet Mask classe B
----------------------------------------------------------------------10010110.10000001.00000000.00000000 150.129.000.000 Indirizzo di rete
Come si vede dalla tabella, la risultante dell'AND LOGICO ci restituir l'indirizzo di rete.
Possiamo dire che in una maschera di sottorete convenzionale tutti i bit dell' Net ID saranno settati a 1 e
tutti i bit dell'host ID saranno settati a 0.

Classe

NetMask di default

A
B
C

255.0.0.0
255.255.0.0
255.255.255.0

TABELLA DELLE NETMASK DI DEFAULT


Significato dell'indirizzo
Esempi di indirizzi host
IP
N.H.H.H
N.N.H.H
N.N.N.H

10.0.1.23
146.87.12.250
200.150.189.31

Rete di appartenenza
10.0.0.0
146.87.0.0
200.150.189.0

Mascherature non convenzionali


Laddove intendiamo segmentare una rete locale in pi sottoreti, abbiamo la necessit di utilizzare
maschere personalizzate dette "non convenzionali". Per fare questo utilizziamo una modalit diversa che
consiste nel'appropriarsi di bit dell' host ID (prendere in prestito dei bit dall'host) per definire la
mascheratura "non convenzionale".

Dobbiamo, quindi, prendere in prestito dei bit dalla porzione host e trasferirli in una porzione internedia
del numero IP per determinare una mascheratura non convenzionale:
Network

Subnet

Host

In questo caso avremo tre campi distinti: Net ID, SubnetMask ID e Host ID.
Attenzione:
Il numero minimo di bit che dobbiamo rubare dalla porzione host 2.
Il numero massimo di bit che possiamo rubare dalla porzione host 6.
Calcolo del numero degli HOST
196.120.30.18
255.255.255.240

11000100.01111000.00011110.00010010
11111111.11111111.11111111.11110000

(identificativo di sottorete) AND logico


196.120.30.16
11000100.01111000.00011110.00010000
(broadcast) si mettono tutti uno nel campo host del broadcast)
196.120.30.31
11000100.01111000.00011110.00011111
Numero di host disponibile: da 196.120.30.17 a 196.120.30.30

107.85.20.2
255.255.255.240
107.85.20.0
107.85.20.15

00000010
11111111.11111111.11111111.11110000
00000000
00001111

172.16.14.228
255.255.248.0

00001110.11100100
11111111.11111111.11111000.00000000

172.16.8.0
172.16.15.255

00001000.00000000
00001111.11111111

Identificativo di sottorete
Broadcast

Identificativo di sottorete
Broadcast

Esempio:

11001000.10110011.11011100.11001000
200.179.220.200
IP Address
11111111.11111111.11111111.11100000
255.255.255.224
Subnet Mask
---------------------------------------------------------------------11001000.10110011.11011100.11000000
200.179.220.192
Subnet Address
10001100.10110011.11011111.11111111
200.179.220.223
Broadcast Address
PROTOCOLLO ARP
Quando due computer su una stessa rete Ethernet vogliono comunicare, essi devono prima conoscere
l'indirizzo fisico. Ogni volta che usiamo TCP/IP su Ethernet e vogliamo comunicare con un sistema di cui
conosciamo solo l'indirizzo IP, viene spedita una richiesta ARP di tipo broadcast sulla rete. In essa si

chiede ai computer in ascolto quale sia l'indirizzo fisico corrispondente al quell'indirizzo IP. Il computer
interessato fornisce la risposta, noi la riceviamo, la mettiamo nella nostra ARP-Table, dopo di che
possiamo parlare con quel computer in modo diretto. Se in seguito abbiamo nuovamente bisogno di
parlargli, guardando nella ARP-Table, ci accorgeremo che conosciamo gi l'indirizzo fisico, cos non
dovremo neppure inviare una richiesta ARP.
Gi che siamo in argomento, volevo farvi notare una curiosit che forse non tutti conoscono (ed al tempo
stesso vedrete ARP al lavoro sul vostro Pc). Quando siete in Internet, cio adesso, lanciate da una
finestra Dos il comando "arp -a"; questo comando serve per vedere la ARP-Table. Scoprirete una cosa
strana: tutti gli indirizzi IP dei siti che avete visitato di recente, hanno l'indirizzo fisico uguale! Perch?
Perch in realt quell'indirizzo fisico corrisponde al router del vostro provider. Questo perch quando
cercate di accedere ad un sito dovete lasciare tutto in mano al router, il quale fare tutto il lavoro per voi,
come se fosse un maggiordomo virtuale.
Ora che abbiamo tutto pronto, e che conosciamo grazie ad ARP l'indirizzo fisico del destinatario, non resta
che spedire il tutto!
Nel sistema ricevente, tutti gli header saranno analizzati ed utilizzati opportunamente e via via rimossi.

PROTOCOLLO RARP
Rarp sta per Reverse Address Resolution Protocol, cio Arp inverso. Infatti la sua intestazione identica a
quella di Arp (tranne che per i numeri di identificativi utilizzati) ma il suo scopo esattamente l'opposto:
scoprire l'indirizzo Ip (logico) corrispondente a un dato indirizzo Mac (fisico).
Ci si potrebbe chiedere che utilit abbia una cosa simile. Il fatto che le workstation prive di disco non
hanno alcun modo per imprimere dati persistenti, se non su altre macchine. In altre parole, quando un
computer privo di disco viene spento, tutti i dati che aveva in memoria vanno persi. Quando poi viene
riacceso, si dovr riconnettere alla rete; solo che non ricorder il suo Ip! Mentre invece non pu
"dimenticare" il suo indirizzo Mac, perch impresso nella memoria Rom (non volatile) della sua scheda
di rete.
Queste macchine, qualche anno fa, inviavano automaticamente una richiesta Rarp a un server Rarp,
specificando il proprio indirizzo fisico. Il server Rarp riceveva la richiesta, controllava la sua cache e, se
necessario, la sua tabella, poi rispondeva all'host privo di disco con una risposta Rarp contenente il suo
indirizzo Ip, che poi veniva conservato nella memoria Ram finch il computer non veniva spento o
resettato.
Dico qualche anno fa perch ormai il protocollo Rarp in disuso: stato sostituito da Dhcp, un protocollo
pi efficiente e con pi funzionalit che consente a un server di amministrare la configurazione Tcp/Ip dei
client.

NOMI DI HOST E DI DOMINIO


Ogni Host pu essere identificato con un nome. Infatti, se per un programma necessario conoscere
l'indirizzo Ip di una certa macchina e forse anche il suo indirizzo fisico per poterle inviare qualsiasi cosa,
per un essere umano sarebbe impossibile ricordarsi a memoria questi indirizzi. Allora sono nati i nomi;
ogni computer e ogni dominio possiede un nome, che l'utente finale pu inserire per indicare a quale
macchina vuole connettersi. Questo nome viene poi risolto in un indirizzo Ip tramite il Domain Name
System.
Nomi di host
Ogni singolo host ha un nome, che viene deciso dall'amministratore di rete. Questo nome pu essere
scelto, ad esempio, in base alla funzione che svolge o in base alla persona che lo utilizza: www,
marketing, paola. Se qualcuno utilizza un host appartenente allo stesso dominio del computer Paola, gli
baster scrivere paola per indicare ai vari programmi da quale computer vuole ottenere informazioni.

Nomi di dominio
Un dominio un raggruppamento di nomi di host. Questi possono essere annidati l'uno dentro l'altro. Per
esempio un dominio pu chiamarsi disney e contenere due sottodominii che si chiamano rispettivamente
pippo e topolino. Il sottodominio topolino (che si dice "dominio di secondo livello" in questo caso) pu
contenere il dominio di terzo livello denominato pluto. Non c' un limite alla quantit livelli di dominio.
Vediamo come si indicano i dominii fin qui elencati:
disney
pippo.disney
topolino.disney
pluto.topolino.disney
Ovviamente questo era un esempio non particolarmente intelligente, si consiglia di scegliere nomi di
dominio pi sensati, come ad esempio "servizio_clienti.marketing.nomeazienda".
Fqdn
Fqdn sta per Fully Qualified Domain Name, ossia nome di dominio completamente specificato. Esso
comprende il nome dell'host che si vuole raggiungere, seguito dal nome di dominio del quale fa parte.
essenziale specificarlo se vogliamo connetterci a un host che non appartiene al nostro stesso dominio,
anche perch un'infinit di host possono avere lo stesso nome ma essere situati in dominii differenti.
La sintassi semplice: paola.servizio_clienti.marketing.nomeazienda ad esempio indica l'host paola nel
dominio di terzo livello servizio_clienti, che si trova nel dominio marketing, che si trova nel dominio
nomeazienda.
Nomi NetBios
NetBios una Api (interfaccia di programmazione) che si trova agli strati Applicazione, Presentazione e
Sessione del modello Osi (e negli strati corrispondenti di altre implementazioni di Tcp/Ip).
Non ci dilunghiamo su di essa perch non questo il luogo, ma spieghiamo la forma e il significato di un
nome NetBios. Esso identifica un servizio di rete e l'host che lo esegue. Per poter utilizzare tale servizio,
tuttavia, occorre che esso venga risolto in un indirizzo Ip e un numero di porta (l'Ip identifica la
macchina, la porta precisa il servizio).
Tali nomi sono composti da 15 caratteri, mai uno di meno: se si inserisce un nome di 7 lettere, ad
esempio, il programma lo completer automaticamente aggiungendo otto spazi. Vi poi un sedicesimo
carattere "invisibile", che generalmente non viene mostrato: se visualizzato appare come un numero
esadecimale a due cifre, che identifica il tipo di servizio associato a quel nome NetBios. Un nome NetBios
pu essere composto da tutte le lettere dell'alfabeto minuscole o maiuscole, tutti i numeri, il carattere _
ed il carattere $. Altri caratteri sono ufficialmente consentiti, ma possono causare dei problemi e quindi
bisogna evitarli. Anche gli spazi andrebbero evitati, a parte quelli alla fine che servono ad allungare il
nome fino a 15 caratteri. Infine il simbolo $ va inserito alla fine se vogliamo che la risorsa identificata con
tale nome venga nascosta a tutti gli utenti della rete (tranne quelli che ne conoscono il nome).
Di solito il nome NetBios di tutti i servizi che vengono eseguiti da un server sono uguali al suo nome di
host. Sono distinguibili ugualmente grazie a quel sedicesimo carattere invisibile, che indica a quale porta
ci si sta rivolgendo.
Nomi di dominio su Internet
Quando un dominio collegato a Internet, deve essere inglobato in un dominio pi grande, detto Top.
Per esempio, ftp.microsoft.com indica il nome host ftp, contenuto nel dominio "radice" chiamato
microsoft, che appartiene a sua volta al dominio Top chiamato com. Anche in questo caso, per non vi
alcun limite al numero di livelli di sottodominii possibili.
Segue una tabella dei dominii top e il tipo di siti che sono destinati a contenere:

COM

Siti commerciali

EDU *

Siti educativi (scuole, universit...)

ORG

Organizzazioni non-profit

NET

Relativi a Internet

GOV *

Governativi americani

MIL *

Militari americani

INFO

Informazioni di pubblica utilit

TV

Mass media

BIZ

Siti commerciali

COOP

Cooperative

PRO

Dominii profeffionali

AERO *

Trasporti aerei

MUSEUM *

Musei

NAME

Dominii personali

Oltre a questi, che sono gestiti da InterNic, esistono dominii top formati da due lettere, che indicano
l'appartenenza a un determinato stato (es. IT=Italia, FR=Francia, CH=Svizzera, ecc) e sono gestiti da
autorit locali. Esiste anche un dominio top chiamato EU, che sta per Europe.
I dominii seguiti da un asterisco sono riservati, cio vengono rifiutati a siti che non corrispondono ai
requisiti segnati a fianco. Gli altri vengono concessi a chiunque, ma pu essere nell'interesse dei siti non
avere un estensione .ORG se svolgono attivit commerciali, per esempio.
Url
L'url l'indirizzo Internet che indica a quale risorsa si vuole accedere, su quale computer si trova, a quale
dominio appartiene, quale protocollo si intende utilizzare e a quale porta si deve inviare la richiesta.
Eccone la sintassi:
PROTOCOLLO://FQDN/PERCORSO/FILE:PORTA
Ecco un esempio: http://www.disney.com/personaggi/topi/minnie.html indica che si vuole raggiungere il
file /personaggi/topi/minnie.html che si trova su www.disney.com e si utilizza il protocollo Http. Ad ogni
protocollo associato un numero di porta prefissato, se cos non fosse la comunicazione di rete sarebbe
molto ardua. Ma se si sa che per accedere a un certo servizio su un certo sito bisogna usare una porta
diversa da quella prefissata (cosa peraltro rara), occorre specificarne il numero in questo modo:
http://www.disney.com/personaggi/topi/minnie.html:127

DNS
Di tutti i servizi Internet, il Domain Name System (DNS) uno tra i meno compresi ma allo stesso tempo
uno tra i pi importanti. Definito negli RFC 1034 e 1035, il DNS ha l'importante compito di convertire i
nomi delle macchine collegate in rete in indirizzi IP e viceversa.
Ogni computer di Internet possiede un indirizzo numerico chiamato indirizzo IP, che identifica in modo
unico solo quella macchina. I computer hanno bisogno di questi indirizzi per poter comunicare.
Quando digitiamo nel browser l'URL http://www.networkingitalia.it, il DNS dell'Internet Provider, o del
server tramite cui accediamo ad Internet, traduce il nome mnemonico del sito nell'indirizzo IP
151.1.16.34.
Quando Internet muoveva ancora i primi passi, il collegamento tra due macchine veniva effettuato
solamente mediante gli indirizzi IP. Dato che gli indirizzi non sono certo facili da ricordare, si deciso
molto presto di adottare l'uso di nomi simbolici al posto di indirizzi numerici. Questo nuovo modo di
identificare le macchine necessitava tuttavia di un qualche sistema in grado di tradurre gli indirizzi in
nomi e viceversa. Inizialmente la gestione delle corrispondenze tra indirizzi IP e nomi mnemonici di tutte
le macchine collegate, era affidata allo Stanford Research Institute Network Information Center (SRI-NIC)
che si preoccupava di mantenere tutte le corrispondenze in un singolo file, chiamato HOSTS.TXT. Tutte le
macchine periodicamente accedevano a questo file per ottenere una copia aggiornata.
Con la crescita esponenziale del numero di macchine collegate ad Internet, questo semplice sistema di
traduzione stato presto abbandonato in favore di un sistema pi flessibile, il Domain Name System, o
pi semplicemente DNS, di cui ci occuperemo nel resto di questo articolo.
E' importante notare che l'uso del file HOSTS non scomparso del tutto. Trova ancora applicazione
all'interno di reti di piccole dimensioni, dove l'uso un singolo file per mantenere le corrispondenze risulta
spesso molto pi pratico che installare un server DNS interno. Nelle comunicazioni tra rete locale e rete
Internet rimane comunque indispensabile affidarsi ad un DNS.
Il sistema DNS stato concepito nel 1982 quando nessuno si sarebbe aspettato uno sviluppo di Internet
pari a quello degli ultimi anni. Nonostante la sua et, ha dimostrato di essere un sistema in grado di
scalare molto bene all'aumentare delle macchine collegate.
Il DNS un grande database distribuito. Questo significa che non esiste un unico computer che conosce
l'indirizzo IP di tutte le macchine collegata in Internet (come avveniva usando il file HOSTS). Le
informazioni sono invece distribuite su migliaia di macchine, i server DNS. Ognuno di questi server
responsabile di una certa porzione del nome, detta dominio. I server sono organizzati secondo una
struttura gerarchica ad albero che presenta forti somiglianze con la struttura del file system UNIX. Il suo
nome albero dei domini.

Si tratta di un albero inverso al cui capo troviamo il dominio radice (di solito denotato con un punto '.') e
dove ogni nodo dell'albero corrisponde ad un dominio, o equivalentemente, al server DNS che lo gestisce.
Le foglie dell'albero sono i nomi delle macchine.
Per fare un esempio prendiamo il sito www.networkingitalia.it. Il nome www.networkingitalia.it il
dominio di livello pi basso, al di sopra di esso troviamo networkingitalia.it. Questo a sua volta un
sottodominio di .it. "www" per convenzione il nome della macchina che risponde alle richieste di pagine
html.
Come noto, quando un utente digita un nome di dominio, i nomi dei singoli nodi vengono separati dal
punto '.'. Questi nomi vanno dal pi specifico (pi lontano dalla radice) verso il meno specifico (pi vicino
alla radice). Dato che un nome di dominio completo finisce con l'etichetta radice, e che questa sempre
rappresentata da una stringa nulla, un nome completo finisce sempre con un punto. Se non viene

specificato il punto, quello che abbiamo un nome incompleto. Di solito i nomi incompleti vengono
completati automaticamente dal software, provando con il dominio locale e con alcuni domini predefiniti,
tra cui il '.' della radice. Quindi se viene omesso il punto finale quando si digita un nome di dominio,
questo viene facilmente riconosciuto come un nome da risolvere rispetto al dominio radice. Allo stesso
modo la macchina host1.networking.net.wind.it. pu comunicare con la macchina
host2.networking.net.wind.it. usando solo la stringa 'host2'.
Il dominio radice, o dominio di root, che troviamo a capo dell'albero contiene un elenco di tutti i server
DNS dei domini di primo livello. Sparsi per Internet esistono una decina di DNS radice, ma sono usati solo
per creare ridondanza e contengono tutti le stesse informazioni.
Al di sotto dei domini di alcuni paesi esiste una gerarchia che rispecchia quella dei domini di primo livello.
Ad esempio i nomi delle organizzazioni commerciali di Regno Unito (.UK) e Giappone (.jp) finiscono
rispettivamente in .co.uk e .co.jp, mentre l'equivalente dei .edu sono .ac.uk e .ac.jp (dove ac
l'abbreviazione di academic).
Anche per gli Stati Uniti stato previsto il codice .us
Viene usato in combinazione del codice di ogni stato (ad esempio .ny.us indica lo stato di New York).
Un DNS che copre un dominio di primo livello conosce gli indirizzi di tutti i DNS di secondo livello
sottostanti ad esso. Quindi un DNS .it conosce tutti i domini del tipo qualche-cosa.it
Un DNS di secondo livello di una certa organizzazione conosce a sua volta tutte le macchine il cui nome
Internet finisca con nome-organizzazione.it. Tra queste, come gi accennato, molto spesso troviamo la
macchina speciale "www", che identifica il server Web della societ. Il suo compito consiste nel
rispondere alle richieste di pagine Html. Ogni dominio viene amministrato da un'organizzazione. Ad
esempio il dominio .it amministrato dalla Registration Authority Italiana. Molto spesso queste
organizzazioni delegano l'amministrazione dei loro sottodomini a terzi. Quindi ad esempio il dominio
wind.it viene gestito da Wind per delega dalla Registration Authority, il dominio net.wind.it gestito da
Net per delega da Wind.
Tutte le informazioni relative alla zona coperta da un server DNS vengono memorizzate in un file sotto
forma di Resource Record (RR).
Il formato generico di un RR dispone dei seguenti campi:

Nome: Il nome di dominio a cui questo RR si riferisce.


TTL: Time-To-Live, indica in secondi quanto a lungo questo RR rimarr nella cache dei server
DNS prima di essere scartato. Un'intero a 32 bit unsigned.
Classe: Identifica la famiglia di protocollo. Il valore usato sempre IN che indica il sistema
Internet. In realt esistono altri due valori: HS per i server Hesiod e CH per i Chaosnet ma non
hanno a che fare con le reti TCP/IP di Internet.
Tipo: Il tipo di RR. I tipi principali sono:
o A: E' il tipo pi usato. Indica che il RR contiene l'indirizzo IP per il dominio specificato.
Usato nella normale risoluzione del nome.
o CNAME: Record Canonical Name, usato per indicare un nome di alias per il dominio.
o MX: Mail eXchanger, indica un host che gestisce la posta per il dominio. Lo descriveremo
meglio dopo.
o NS: Un server DNS per il dominio specificato.
o PTR: Usato per associare un indirizzo IP al nome del dominio specificato. Usato nella
risoluzione inversa.
o SOA: Start of Authority, un RR che indica il server DNS dove risiedono i dati autoritativi
per questo dominio ed alcuni dati amministrativi.
Rdata: Contiene le informazioni per il tipo specificato. A seconda del tipo abbiamo i seguenti casi.
o A: Un indirizzo IP a 32 bit
o CNAME: Un nome di dominio
o MX: Un valore di preferenza a 16 bit seguito da un nome di dominio.
o NS: Il nome di un host
o PTR: Un nome di dominio
o SOA: Comprende diversi campi

Associato ad un nome di dominio possiamo trovare pi RR, ciascuno contenente informazioni di vario
tipo, ma relative sempre allo stesso nome. L'ordine in cui vengono memorizzati non importante.

Vediamo ora il meccanismo DNS al lavoro.


Quando un utente desidera collegarsi con il sito www.networkingitalia.it vengono eseguiti i seguenti
passi.
1.
2.
3.
4.
5.
6.
7.
8.

Sul computer dell'utente viene consultato il file HOSTS alla ricerca del server WWW di
Networkingitalia.
Non trovandolo, viene effettuata una richiesta al proprio server DNS. Questo pu essere il DNS
del provider Internet, oppure, se il computer installato in una rete collegata direttamente ad
Internet, probabile che il server DNS sia interno.
Dato che il server contattato si limita a coprire solo la sua zona (nel caso del DNS del provider si
tratter della zona al di sotto di nomeprovider.it, nel caso di un DNS interno la zona coperta sar
del tipo nome-organizzazione.it) la richiesta viene inoltrata ad un DNS radice.
Il DNS radice non conosce l'IP per www.networkingitalia.it ma conosce i Resource Record di tipo
NS dei server DNS .it e li restituir al primo DNS.
A questo punto il nostro DNS inoltra la stessa richiesta verso l'indirizzo di un DNS .it
Il DNS .it non conosce l'IP per www.networkingitalia.it ma conosce i RR NS relativi ai DNS che
gestiscono il dominio networkingitalia.it e li restituir al primo DNS.
Il nostro DNS ora contatta uno di questi DNS, il quale finalmente conosce l'IP per
www.networkingitalia.it e lo restituisce sotto forma di RR di tipo A.
Il DNS restituisce al computer dell'utente l'indirizzo IP per www.networkingitalia.it.

Come si vede, la ricerca di un indirizzo IP molto spesso non un operazione diretta. Questo perch come
gi detto, il database DNS non localizzato in una sola macchina.
Questa procedura detta risoluzione del nome. Si tratta di una procedura client server. Il client (detto
anche resolver) in esecuzione sulle macchine collegate in rete e si occupa di effettuare al DNS le
richieste di traduzione da indirizzi in nomi e viceversa. Il server il server DNS e si occupa di rispondere
alle richieste del resolver seguendo i passi appena visti. Data la brevit e la semplicit delle richieste e
delle relative risposte, il protocollo usato per lo pi l'UDP, che ricordo, fornisce una comunicazione
meno affidabile ma pi veloce. Pi raramente si usa il TCP. La porta usata dal servizio DNS la numero
53.
Il modo di procedere nella risoluzione del nome detto ricorsivo se viene chiesto al DNS di fare tutto il
lavoro ed alla fine di restituire la risposta. E' non ricorsivo se invece della risposta pu venire restituito un
riferimento ad un altro DNS.
Un server DNS in grado di gestire i riferimenti, quindi pu usare entrambi i metodi per risolvere la
richiesta. Il resolver usa invece il metodo ricorsivo perch non in grado di seguire i riferimenti, quindi
lascia tutto nelle mani del suo DNS. I server radice sono non ricorsivi: se non hanno la risposta,
forniscono gli indirizzi di chi la possiede. I server DNS dei provider sono ricorsivi nei confronti dei
computer dei propri utenti perch cercano la risposta e quando la trovano la restituiscono al client.
Cos come per i DNS radice per ogni zona ci possono essere diversi DNS. Il numero massimo si aggira
intorno ai 10-12 DNS. Questo numero limitato da quanti DNS possibile elencare in un pacchetto UDP
di risposta e varia a seconda di quanto bene si riesce a comprimere l'elenco nel messaggio.
I server DNS sono in grado di effettuare caching, cio possono ricordare le interrogazioni effettuate pi di
recente e le relative risposte. In questo modo la risoluzione di un nome molto richiesto pu essere
soddisfatta immediatamente, senza dover inoltrare la query ad un DNS radice. Nel nostro esempio il DNS
dell'utente ha interpellato il DNS radice per conoscere uno dei DNS .it
In realt molto probabile che questa informazione si trovi gi nella cache del server DNS.
Come abbiamo visto ogni RR contiene un campo TTL (Time To Live) che indica in secondi quanto a lungo i
server DNS terranno l'RR in cache. Di solito il valore di 86400 secondi (24 ore).
I pacchetti di richiesta e di risposta del DNS contengono i seguenti campi:

Header: Indica se il messaggio una richiesta o una risposta, contiene alcuni flag, i codici di
errore ed altre informazioni relative al pacchetto.
Question: contiene la domanda per il DNS.
Answer: contiene un elenco di RR che rispondono alla domanda.
Authority: contiene un elenco di RR NS di server DNS che portano pi vicino alla risposta.
Additional: contiene un elenco di RR con informazioni utili per rispondere alla domanda, anche se
non si tratta della risposta.

Nell'header troviamo tra le altre cose il flag AA (Authoritative Answer). Quando attivo, nei messaggi di
risposta, indica che il DNS che ha generato la risposta (direttamente o indirettamente) il server
autoritativo per quella zona. Se la risposta viene memorizzata nella cache del nostro DNS, effettuando la
stessa richiesta, otterremo la stessa risposta ma con il flag AA non attivo, ad indicare che la risposta non
autoritativa.
Una particolarit dei messaggi di risposta che il campo Authority, contenente i RR che portano verso i
server autoritativi, viene riempito anche se il messaggio la risposta. Se chiediamo un record A
contenuto nella cache, la risposta come stato detto non autoritativa. Tuttavia il campo Authority
contiene ancora gli indirizzi autoritativi, cio permette di sapere quali sono i server DNS a cui rivolgersi
per avere la risposta autoritativa.
Per il corretto funzionamento di tutto questo meccanismo ogni server DNS deve avere due tipi di
informazione. Il primo tipo riguarda i domini direttamente coperti dal DNS. Il secondo tipo l'indirizzo del
DNS radice a cui rivolgersi nel caso una richiesta non possa essere risolta internamente. Si pu trovare la
lista ufficiale dei DNS radice al seguente indirizzo:
ftp://ftp.rs.internic.net/domain/named.root
Inoltre ogni macchina in rete deve essere configurata in modo da conoscere l'indirizzo IP del DNS che
dovr usare (a meno che questa informazione non venga fornita automaticamente).
Un'altra peculiarit del DNS la capacit di fornire servizi di load balancing e fault tolerance. Per far
questo vengono associati gli indirizzi IP di diverse macchine ad un solo nome. Il computer dell'utente
sceglier a caso uno di questi indirizzi. Server DNS pi sofisticati sono in grado di restituire un solo
indirizzo IP basandosi sul carico delle macchine e sulla loro disponibilit.
Per ottenere il nome di una macchina sapendo l'indirizzo IP le cose diventano pi complesse. Sapere i
nomi a partire da indirizzi IP torna utile per varie ragioni. Ad esempio, per produrre un output leggibile
nei file di log, altre volte viene usato per controlli di autenticazione.
Per ricavare un indirizzo IP dato il nome, si pu seguire la struttura gerarchica dell'albero dei domini nel
modo visto in precedenza. Per effettuare l'operazione inversa non pi possibile seguire questa
gerarchia. Per rendere possibile questo servizio stato riservato il dominio speciale "in-addr.arpa",
chiamato anche dominio inverso. Termina in "arpa" perch Internet era originariamente denominata
ARPAnet. Dato che i nomi dei domini sono organizzati in modo tale da avere la parte pi significativa a
destra, mentre gli indirizzi IP, nel formato decimale, hanno i byte pi significativi a sinistra, necessario
creare il nome di dominio inverso mettendo i numeri dell'indirizzo IP in ordine inverso e aggiungendo inaddr.arpa alla fine. In questo modo viene rispettata la natura gerarchica del DNS. Un esempio di dominio
in-addr.arpa pu essere 34.16.1.151.in-addr.arpa Quando viene effettuata una richiesta di traduzione da
IP a nome, viene effettuata una normale ricerca del nome di dominio. Ad esempio se in Unix si digita il
comando "nslookup 151.1.16.34" viene eseguita una ricerca per il nome di dominio "34.16.1.151.inaddr.arpa". Per poter funzionare sono presenti nei DNS i RR di tipo PTR il cui funzionamento ricalca a
grandi linee quello dei record A.
Il server DNS ha un'altra importante funzione oltre a quelle viste finora. Gioca infatti un ruolo molto
importante nella gestione della posta elettronica. Normalmente quando si pensa alla posta elettronica si
pensa che il mail server del computer mittente debba solo conoscere il mail server del dominio del
destinatario per arrivare a destinazione. Se questo fosse vero il mail server del mittente si limiterebbe ad
interrogare il proprio DNS per scoprire l'indirizzo IP del mail server del destinatario. In realt il DNS non
si limita a fornire un servizio di traduzione da indirizzi IP a nomi e viceversa. E' infatti in grado di fornire
alcune utili informazioni di routing per la posta al mail server mittente.
Per ogni dominio che in grado di ricevere posta, il DNS in grado di fornire una lista di computer a cui
si pu inviare il messaggio. In questo modo, se il mail server principale del destinatario non operativo,
possibile inviare il messaggio verso un computer di backup in grado di gestire la posta altrettanto bene.
Queste informazioni sono contenute nei record MX (Mail eXchanger). Il mail server deve sempre chiedere
al proprio DNS quali host possono gestire la posta per un certo dominio. Inserendo informazioni
appropriate nei record MX di un DNS si pu informare il mail server associato a quel DNS che, per un
certo dominio, esistono varie macchine che possono ricevere la posta. Ogni record MX restituito al mail
server contiene tra le altre cose un valore di preferenza. Il valore di preferenza indica al mail server un
ordine di scelta tra gli host MX a cui possibile consegnare il messaggio per il dominio specificato.
Quando si allaccia il proprio computer o la propria rete ad Internet essenziale disporre di un servizio
DNS in modo da trovare e farsi trovare sulla rete. Per far questo ci sono sostanzialmente due strade. La

prima di affidarsi ai server DNS di un provider Internet. La seconda di installare un server DNS
all'interno della propria rete.
Nel primo caso bisogna contattare un Internet Service Provider informandolo riguardo i record che si
vogliono inserire per permettere l'accesso dall'esterno. L'Isp informer la Registration Authority del fatto
che esso fornisce servizi DNS per il o i computer che si vogliono allacciare ad Internet. Fatto questo si
procede con il configurare le proprie macchine in modo che usino i DNS dell'Isp.
Se invece si vuole dotare la propria rete di un server DNS interno bisogna prima di tutto dotarsi di due
server DNS, uno primario ed uno secondario, altrimenti l'InterNIC o la RA Italiana non acconsentiranno
all'inserimento del nome di dominio nel database dei propri DNS. Fatto questo si procede alla
registrazione di un dominio presso la Registration Authority. A questo punto si possono configurare i
propri DNS per strutturare al meglio la propria rete.
Un secondo server DNS sempre richiesto per ragioni di fault tolerance. Le informazioni contenute nel
DNS secondario sono una copia del primario. Periodicamente (di solito ogni 6 ore, ma possibile
specificare qualsiasi intervallo) il DNS secondario interroga il primario per controllare se la tabella dei
domini indirizzati cambiata. In caso affermativo questa viene copiata nel secondario.
La Registration Authority varia a seconda del dominio di primo livello sotto cui si vuole inserire la propria
organizzazione. Come abbiamo detto, per il dominio .it esiste la Registration Authority Italiana
(http://www.nic.it/RA). Nel caso si usi uno dei domini generici .com, .edu, .gov, .org, .net bisogna
rivolgersi all'InterNIC (http://www.internic.net). L'autorit centrale al di sopra di queste organizzazioni e
responsabile del coordinamento e della gestione del sistema DNS l'Internet Assigned Numbers Authority
(IANA).
Si pu trovare una lista dei domini di primo livello e delle relative organizzazioni che li gestiscono al sito
http://www.norid.no/domreg.html
Avere il proprio server DNS comporta diversi vantaggi, tra cui una pi veloce risoluzione dei nomi dato
che il server DNS dell'Isp di solito piuttosto caricato di traffico. Inoltre, nel caso ci siano frequenti
cambiamenti nei nomi delle macchine della propria rete, si pu effettuare l'aggiornamento dei propri DNS
in modo diretto, mentre con un Isp bisogna aspettare un certo intervallo di tempo, di solito stabilito
dall'Isp stesso.
Se ci che vogliamo solo risolvere i nomi pi velocemente senza registrare alcun dominio e senza
rivolgersi all'Isp o all'Authority, sufficiente impostare un server DNS con semplici funzioni di caching.
Questo sistema velocizza le richieste di risoluzione, specialmente se il DNS del proprio Isp
sovraccaricato. Inoltre questo sistema funziona senza problemi anche con gli indirizzi IP dinamici. Un DNS
caching un server non autoritativo. Ottiene tutte le sue informazioni dai server DNS primario e
secondario, non ha autorit su nessuna zona e richiede almeno un RR NS da cui poter ricavare
inizialmente informazioni.
A questo punto opportuno fare una precisazione. Ci di cui abbiamo parlato la registrazione di un
nome di dominio. Non stiamo parlando dell'attribuzione di indirizzi IP per le proprie macchine. Per fare
questo ci sono altre organizzazioni, come la RIPE per Europa, Medio Oriente e parte dell'Africa, l'ARIN per
Nord e Sud America, Caraibi e Africa Sub-Sahariana, e l'APNIC per l'Asia del Pacifico. Diversamente dal
caso dei nomi, per avere un indirizzo IP fisso rivolgersi al proprio Isp spesso l'unica strada dato che gli
indirizzi non vengono rilasciati direttamente agli utenti finali ma solo agli Isp e ad altre organizzazioni che
fanno uso di un grande numero di indirizzi.
E' bene notare che i server DNS non producono nessun tipo di broadcast per rendersi visibili nella rete. E'
necessario effettuare la registrazione presso l'autorit sotto la quale vogliamo comparire. Se si installasse
un server DNS senza registrare il dominio che si intende coprire, questo non avrebbe effetto sulla rete
perch il server DNS di livello superiore non lo indirizza (o ne indirizza un altro se il dominio gi stato
registrato da un'altra organizzazione).
Per ottenere informazioni su un dominio e sul suo gestore esiste un sistema, il WHOIS (definito nell'RFC
954), che permette di collegarsi ed effettuare richieste ad un server NIC.
Esistono diversi database Whois in Internet. Whois fornisce solo le informazioni registrate presso quel
server NIC. in particolare citiamo whois.internic.net e whois.nic.it, entrambi accessibili sulla porta 43.
Per accedervi sufficiente lanciare il comando:
telnet whois.nic.it 43

IL PROTOCOLLO TELNET
Telnet, descritto nell'RFC 854, un noto programma che permette di effettuare il login da remoto.
Effettuare un login remoto significa sostanzialmente collegarsi ad un computer ed avere la possibilit di
digitare tasti sulla propria tastiera come se questa fosse direttamente collegata a quel computer. E' anche
possibile lanciare da remoto comandi e programmi. Oltre a questo, Telnet si occupa di rimandare indietro
fino allo schermo dell'utente, l'output della macchina remota.
Il client Telnet disponibile nella maggior parte delle implementazioni del TCP/IP, inclusi Windows e Unix.
La macchina a cui ci si collega deve essere predisposta per accettare connessioni Telnet. Di solito le
macchine Unix permettono il login remoto, mentre i sistemi Windows non lo consentono.
Per lanciare Telnet da Windows sufficiente selezionare Esegui dal menu Start e scrivere il comando
telnet <nome dell'host>
oppure
telnet <indirizzo IP dell'host>

Telnet usa un modello client-server. Questo significa che c' una macchina, il server, che rimane in attesa
delle connessioni, ed un'altra macchina, il client, che effettua la connessione al servizio Telnet offerto dal
server. Quando si lancia Telnet sul proprio computer, si sta lanciando il client di Telnet. Solitamente la
porta usata dal server per ricevere connessioni la numero 23. Dato che il processo server in ascolto su
questa porta deve poter gestire pi connessioni contemporaneamente, esso crea per ogni richiesta di
comunicazione Telnet, un nuovo processo figlio, identico al padre, a cui affidare la gestione della
connessione.
A questo punto ogni nuovo processo collega il flusso di dati generato sulla porta 23 dal client con uno
pseudoterminale del sistema. Il termine pseudoterminale si usa per indicare il punto di ingresso (entrypoint) nel sistema operativo attraverso il quale i programmi di login remoto (come Telnet, RLogin o SSH)
possono immettere caratteri, come se essi provenissero direttamente da un terminale reale, come la
tastiera del computer. Lo pseudoterminale quindi possiede, oltre alle caratteristiche di un vero terminale,
la possibilit di fornire l'accesso al sistema anche da una locazione remota.

Il server Telnet un programma che opera a livello applicativo. Questo comporta sia vantaggi che
svantaggi. Il vantaggio pi ovvio che risulta pi semplice la modifica ed il controllo del server rispetto al
caso in cui il codice sia contenuto nel sistema operativo. Lo svantaggio chiaramente l'inefficienza,
poich ciascun carattere deve viaggiare dalla tastiera dell'utente, attraverso il sistema operativo, fino al
client Telnet, dal programma client deve tornare al sistema operativo e poi, attraversando la connessione
TCP/IP, arrivare alla macchina remota. Qui, i dati devono arrivare, passando per il sistema operativo, fino
al programma Telnet server, e da quest'ultimo di nuovo al sistema operativo in uno dei suoi dispositivi di
pseudoterminale. Alla fine, il carattere arriva al programma applicativo che l'utente stava facendo
correre. L'output (compresi i caratteri di echo, se tale opzione stata selezionata) viaggia a ritroso dal
server al client lungo lo stesso percorso.

IL PROTOCOLLO FTP
Il protocollo FTP utilizzato per la gestione di files su un server, un protocollo di alto livello infatti si
trova nello strato "application" della scala TCP-IP ed un protocollo di tipo client-server.
L'rfc (il "documento ufficiale") che espone lo standard FTP la numero 959, naturalmente in lingua
inglese con 30 pagine tecniche che spiegano per filo e per segno tutte le potenzialit di questo protocollo,
per quanto riguarda questo documento rappresenta una sintesi, riferita in particolare ai comandi utilizzati
e ai messaggi di errore, con qualche facile esempio da implementare immediatamente.
La procedura per loggarsi al server:
Innazitutto bisogna conoscere il dominio di un server-FTP, la porta a cui dobbiamo connetterci la 21,
come espresso dalla rfc numero 1060: "ftp 21/tcp"; per la connessione usate un client telnet, su windows
andate su avvio\esegui...\ftp; su Linux, beh, avete la vostra shell, digitate ftp e connettetevi;
Una volta stabilit la connessione compare il seguente banner di benvenuto "220 FTPDaemon- Server",
con la versione e il nome del server daemon che gira su quel dominio, il numero 220 sta ad indicare che il
server pronto per un nuovo utente (in calce all'articolo trovare le spiegazioni dei numeri)
<utente>user tuousername
<server>331 Password required for tuousername.
<utente>pass tuapassword
<server>230 User username logged in.
<utente>HELP
<server>214-The following commands are recognized (* =>'s unimplemented).
<server>USER PASS ACCT* CWD XCWD CDUP XCUP SMNT*
<utente>quit
<server>221 service closed
I Comandi FTP:

USER
QUIT
RETR
ABOR
SYST

PASS
PORT
STOR
DELE
STAT

ACCT
PASV
STOU
RMD
HELP

COMANDI FTP
CWD
TYPE
APPE
MKD
NOOP

CDUP
STRU
ALLO
PWD

SMNT
MODE
REST
LIST

REIN
TURN
RNTO
SITE

TIPO_DI_TRANSAZIONE(COMANDO):
I seguenti comandi specificano l'identificazione per l'accesso:
USER NAME (USER)
Come ho gi accennato la procedura di identificazione pu avvenire con un normale telnet client,
l'argomento del comando user deve identificare l'utente, in questa maniera si otterr l'accesso ad una
porzione del server , alcuni server richiedono anche la password o un sistema di accounting. E' possibile
una modifica dei parametri user-id e password.
PASSWORD (PASS)
Anche in questo caso la shell ci permette di inviare la stringa con la password relativa ad un dato utente.
Questo comando sempre preceduto dal comando di identificazione dell'username, e per alcuni siti
completa l'identificazione. Inoltre la password un dato molto importante, che non pu essere ne
mascherata ne si pu evitare di digitarla (in realt si pu : ), quindi la responsabilit attribuita
all'utente-FTP per fare in modo di nascondere la password.

Torna su
ACCOUNT (ACCT)
L'argomento di questo comando identifica l'account dell'utente. In questo caso il server pu richiedere un
account per accessi specifici, ad esempio per conservare files etc.
Ci sono due diverse repliche nell'inserimento della PASSword da cui possiamo capire se necessario
inserire l'account, la prima quando il server non necessita dell'account allora il numero che replicher
sar 230, l'altra replica un 332 che significa un'azione necessaria per completare il login oppure
direttamente la 332 in caso di azione su files.

CHANGE WORKING DIRECTORY (CWD)


Questo comando permette all'utente di lavorare su una directory differente, basta inserire il comando e
come argomento il nome della directory.

CHANGE TO PARENT DIRECTORY (CDUP)


Questo comando invece permette di tornare immediatamente alla directory principale.

STRUCTURE MOUNT (SMNT)


Questo comando permette all'utente di montare un differente file system in una differente struttura dati
senza bisogno di cambiare le informazioni relative all'accesso. L'argomento un percorso specifico.

REINITIALIZE (REIN)
Il comando termina un utente, l'account information e l'I/O riferito ai files eccetto quelli in corso.
Torna su
LOGOUT (QUIT)
Questo comando server per chiudere la connessione con il server, il server dovr attendere che siano
finite tutte le operazioni sui files.
Eventuali errori autorizzeranno il server a comandare l'aborto del processeo e il logout

PARTICOLARI PARAMETRI E I RELATIVI COMANDI::


DATA PORT (PORT)
L'argomento una specificazione di HOST-PORTA per la porta da utilizzare nella connessione ai dati. Sia il
server che l'utente hanno delle porte di default da utilizzare, e di solito questo comando non viene
utIlizzato, Se questo comando dovesse essere utilizzato allora deve essere scritto nel seguente modo:
PORT h1,h2,h3,h4,p1,p2
praticamente h1,h2 sono le parti di ip dell'host e p1 e p2 le porte.

Torna su
PASSIVE (PASV)
Questo comando richiede il server-DTP in ascolto su una data porta, attendendo una connessione, il
comando restituir l'host e la porta alla quale connettersi.

REPRESENTATION TYPE (TYPE)


Comando per il cambio di formato.
\/
A - ASCII | | N - Non-print
|-><-| T - Telnet format effectors
E - EBCDIC| | C - Carriage Control (ASA)
/\
I - Image
L <byte size> - Local byte Byte size
Torna su

FILE STRUCTURE (STRU)


L'argomento specifica la struttura di invio dei dati "file".
L'invio pu avvenire:
F - File (no record structure)
R - Record structure
P - Page structure
Di default si utilizza F.

TRANSFER MODE (MODE)


Questo comando specifica il modo per spedire i dati.
Si pu scegliere:
S - Stream
B - Block
C - Compressed
Di default si utilizza Stream.
Torna su

FTP SERVICE COMMANDS


Questo tipo di comandi definiscono il trasferimento dei files o la gestione degli stessi:
RETRIEVE (RETR)
Questo comando permette di trasferire una copia del file specificato.

STORE (STOR)
Questo comando permette la ricezione di un file che verr creato sul server.
Torna su

STORE UNIQUE (STOU)


Questo comando simile al STOR, ad eccezione che il file viene creato nella directory corrente sotto il
nome unico della directory.

APPEND (with create) (APPE)


Questo comando permette la creazione di un file se il file esiste gi allora i dati verranno aggiunti in calce
al file gi esistente.

ALLOCATE (ALLO)
Questo comando serve per garantire sufficiente spazio ad un file che deve essere creato, in maniera che
non vi siano problemi di storage successivi.
Torna su
RESTART (REST)
Questo comando dice al server che il file trasferito deve essere reinizializzato.

RENAME FROM (RNFR)


Questo comando specifica il vecchio percorso di un file che deve essere rinominato. In seguito si dovr
lanciare il comando di rinominazione.
Torna su

RENAME TO (RNTO)
Questo comando successivo al RNFR e causa l'effettiva rinomina del file.

ABORT (ABOR)
Questo un comando molto potente, che permette l'aborto delle azioni in corso.
Torna su
DELETE (DELE)
Questo comando permette la cancellazione di un file specificato nell'argomento.

REMOVE DIRECTORY (RMD)

Questo comando permette di rimuovere una directory specificata.

MAKE DIRECTORY (MKD)


Questo comando permette la creazione di una directory.
Torna su

PRINT WORKING DIRECTORY (PWD)


Questo comando ci visualizza la directory su cui stiamo lavorando.

LIST (LIST)
Questo comando lista i files e le directory presenti.

NAME LIST (NLST)


Questo comando specifica i file in una directory presente nell'argomento.
Torna su

SITE PARAMETERS (SITE)


Questo comando specifica particolari attivit del server, per maggiori informazioni digitare HELP SITE.

SYSTEM (SYST)
Questo comando utilizzato per scoprire il tipo di sistema che opera sul server.
STATUS (STAT)
Questo comando causa lo stato del trasferimento del file in esecuzione.
HELP (HELP)
Questo comando lista un HELP per l'utenza, si pu specificare come argomento un comando.
NOOP (NOOP)
Questo comando specifica il no operation, una volta che avviene la replica del server non si potranno
effettuare operazioni.
Torna su

Questa la sintassi:
Quando nel testo compariranno dei simboli come <CRLF> e <SP>, rispettivamente significano INVIO e
SPAZIO (user <SP> <username> <CRLF>), mentre le "<>" es. <usernmame>, possono essere
ommesse.

USER <SP> <username> <CRLF>


PASS <SP> <password> <CRLF>
ACCT <SP> <account-information> <CRLF>
CWD <SP> <pathname> <CRLF>
CDUP <CRLF>
SMNT <SP> <pathname> <CRLF>
QUIT <CRLF>
REIN <CRLF>
PORT <SP> <host-port> <CRLF>
PASV <CRLF>
TYPE <SP> <type-code> <CRLF>
STRU <SP> <structure-code> <CRLF>
MODE <SP> <mode-code> <CRLF>
RETR <SP> <pathname> <CRLF>
STOR <SP> <pathname> <CRLF>
STOU <CRLF>
APPE <SP> <pathname> <CRLF>
ALLO <SP> <decimal-integer>
[<SP> R <SP> <decimal-integer>] <CRLF>
REST <SP> <marker> <CRLF>
RNFR <SP> <pathname> <CRLF>
RNTO <SP> <pathname> <CRLF>
ABOR <CRLF>
DELE <SP> <pathname> <CRLF>
RMD <SP> <pathname> <CRLF>
MKD <SP> <pathname> <CRLF>
PWD <CRLF>
LIST [<SP> <pathname>] <CRLF>
NLST [<SP> <pathname>] <CRLF>
SITE <SP> <string> <CRLF>
SYST <CRLF>
STAT [<SP> <pathname>] <CRLF>
HELP [<SP> <string>] <CRLF>

NOOP <CRLF>
Errori di sintassi e repliche del server:

200
202
211
212
213
214
215
220
221
225
226
227
230
250
257

Commando di okay.
Commando non implementato, superfluo in questa zona.
Stato di sistema, o sistema in replica di un help.
Stato della directory.
Stato del file.
Messaggio di help. In replica a richiesta di help o per conoscere particolari comandi implementati.
NAME system type.
Servizio pronto per un nuovo utente.
Servizio di controllo di chiusura della connessione.
Connessioni Dati aperta; nessuna trasmissione in progressione.
Chiusa connessione dati.
Entra nella modalit passiva (h1,h2,h3,h4,p1,p2).
Utente loggato, procedere.
Richiesta azione file okay, completa.
"PATHNAME" creata.

331 Nome utente okay, necessaria password.


332 Necessaria azione per il login.
350 Richiesta azione su file, attendere altre informazioni.
421 Service non avviabile, chiusura della connessione.
425 Non poter aprire una connessione dati.
426 Connessione chiusa; trasferimento abortito.
450 Richiesta azione su file non presa.
451 Richiesta azione abbortita: errore locale in processione.
452 Richiesta di azione non presa.
Spazio disponibile insufficiente.
500
501
502
503
504
530
532
550
551
552
553

Errore di sintassi, comando non individuato.


Errore di sintassi nei parametri o nell'argomento.
Comando non implementato.
Cattiva sequenza dei comandi.
Comando non implementato per questi parametri.
Non loggato.
Bisogno di un account per copiare i files.
Richiesta di azione non presa. (file non trovato)
Richiesta di azione abbortita: tipo pagina sconosciuto.
Richiesta azione su file abbortita.
Richiesta di azione non presa.

Fine del protocollo FTP, alcune parti sono state tagliate perch o troppo specifiche o troppo complesse,
per chi volesse approfondire il protocollo FTP in Inglese sufficiente leggere la rfc 959.

IL PROTOCOLLO SMTP
Il protocollo SMTP (Simple Mail Transfer Protocol) quel servizio che si occupa di smistare la posta sulle
reti TCP/IP. Una conoscenza di base permette, anche all'utente meno esperto, di spedire una Email
utilizzando un semplicissimo client di Telnet. Questo protocollo ci permette, inoltre, di comprendere a
fondo come lavora il nostro mailer.
La RFC (il "documento ufficiale") che espone lo standard SMTP la numero 821. Essendo al stessa molto
tecnica, ci limiteremo a sintetizzare in questo documento le sezioni relative ai comandi utilizzati e ai
messaggi di errore, con qualche facile esempio da implementare immediatamente.

Assumendo la conoscenza del nome di dominio di un server-SMTP (o del suo IP number), la porta a cui si
richiede la connessione , quasi sicuramente la n. 25, come espresso dalla rfc numero 1060: "smtp
25/tcp mail";
La procedura per spedire un'e-mail prevede delle fasi standard:
Contrattazione: il server saluta con un tipico banner:"220 dominio SMTP Service ready";
Dialogo ( botta-risposta tra il client ed il server)
Chiusura
Esempio di una "conversazione" SMTP:
helo dominio
250 mail.dominio.it
mail from:<amico@ciao.it>
250 MAIL FROM:<amico@ciao.it> OK
rcpt to:<destin@tario.it>
250 RCPT TO:<destin@tario.it> OK
data
354 Start mail input; end with <CRLF>.<CRLF>
ciao, questa una prova...
.
250 <3AB8900000490F69> Mail accepted
Una specificazione d'obbligo: il protocollo SMTP non case-sensitive, cio i comandi scritti in minuscolo
o in MAIUSCOLO avranno lo stesso effetto, perci si pu scrivere ad es:
Mail

HELO
RSET

MAIL
VRFY

RCPT
EXPN

MAIL

mail

mAIL

COMANDI SMTP
DATA
SEND
HELP
NOOP

SOML
QUIT

SAML
TURN

I comandi e la sintassi:
TIPO_DI_TRANSAZIONE(COMANDO):
HELLO (HELO)
Questo comando serve per identificare il client (sender-SMTP), l'argomento contiene l'host name dello
stesso client. Il server si identifica nella fase di connessione (con l'apposito banner di saluto, un biglietto
da visita); il server risponder con un messaggio di OK, in questo caso i buffers e le tabelle sono tutti
puliti.
Torna su
MAIL (MAIL)
Questo comando utilizzato per inizializzare la vera e propria transazione. In questo caso si deve indicare
il mittente (reverse-path), a cui riferita la creazione della e-mail; ci possono essere pi host mittente a
cui riferita la e-mail, che in caso di mancata consegna, riceveranno l'annotazione.
Questo comando pulisce i buffer, e inserisce nello stesso buffer dedicato al mittente, l'e-mail del client.

RECIPIENT (RCPT)
Per chi non ha dimestichezza con l'Inglese, recipient significa ricevente; questo comando usato per
identificare il destinatario della Email. Si possono creare pi destinatari con l' uso multiplo di questo
comando.
La forward-path consiste in una lista opzionale di hosts destinatari, ma almeno una mail-box obbligatorio.
Pu anche capitare che il dominio della Email non venga riconosciuto, in questo caso si verificher un
errore (550 mail box unaviable).

DATA (DATA)
Una volta digitato questo comando il server capir che i successivi dati fanno parte del body della e-mail;
questo comando, inoltre, prepara l'apposito buffer al ricevimento; c' da ricordare che il campo in cui vi
sono i dati pu essere composto solo dei 128 caratteri ASCII, in pratica tutti i caratteri di una tastiera.
I dati della Email terminano quando vi una linea con solo un punto, quindi bisogna seguire questa
sequenza"<CRLF>.<CRLF>", questo rappresenta la fine del body. La fine della Email data indica al server
di poter processare immediatamente i dati nei buffers raccolti durante la transazione. Al termine di
questa operazione i buffers verranno puliti. Se il processo andato a buon fine il server risponder con
un OK, se invece fallisce si spedir un'e-mail di reply.
data<CRFL>
Start mail input; end with <CRLF>.<CRLF>
ciao come va....
.
Mail Accepted

Ogni volta che la mail deve passare per un server-SMTP, quest'ultimo lascer negli header della stessa un
cos detto "Time Stamp", con varie informazioni sull'host, etc., Una volta arrivati all'ultimo server,
quest'ultimo scriver all'inzio la c.d. return path, con la mail-box del mittente.
Torna su
SEND (SEND)
Questo comando serve per spedire una Email ad uno o pi terminali. Questo comando di seguito
necessita la Email del mittente. Questo comando pulisce i buffers, e inserisci le informazioni nel buffer
dedicato alla Email del mittente

SEND OR MAIL (SOML)


Questo comando serve per spedire un messaggio ad un terminale, oppure alla sua mail-box. Se il
terminale attivo allora ricever il messaggio, se no verra inviato nella sua mail-box.

SEND AND MAIL (SAML)


Questo messaggio, invece, spedisce ad ambedue, sia al terminale che alla sua mailbox, ricordiamo che
alla fine di questo comando c' sempre la pulizia dei buffers e il loro riempimento.

RESET (RSET)
Questa procedura indica la volont di voler abbortire la transazione Email, ogni buffer verr
immediatamente ripulito e si ricomincer da capo, il server dovr spedire un OK di conferma.
Torna su

VERIFY (VRFY)
Questo comando vuole avere la verifica della e-mail di un utente; non si portano modifiche ai buffers.

EXPAND (EXPN)
Questo comando vuole ricevere conferma che il suo argomento (quello che si inserisce dopo il comando),
faccia parte di una mailing list, se cos si restituir gli appartenenti alla mailing list; si restituir il nome
dell'utente e della sua mailbox, come il comando VERIFY non si apportano modifiche ai buffer.

HELP (HELP)
Questo comando restituisce la lista degli aiuti forniti dal server; di solito se si vogliono sapere
informazioni su un particolare comando, quest'ultimo diventa l'argomento dell'HELP, questo comando non
causa effetti ai buffers.
NOOP (NOOP)
Questo comando specifica di non poter fare nessuna operazione, il server spedir un OK di conferma; non
si apportano modifiche ai buffers.
Torna su

QUIT (QUIT)
Questo comando la fine della transazione, il server risponder con un messaggio di conferma e
chiuder la transazione stessa.
TURN (TURN)
Questo comando molto particolare, perch serve per invertire i ruoli tra il server ed il client. Se il client
spedisce questo comando il server lo pu rifiutare, oppure pu rispondere con un messaggio di conferma
e diventare lui un client-SMTP.
Sintassi:
Premessa: quando nel testo compariranno dei simboli come <CRLF> e <SP>, significano rispetivamente
INVIO e SPAZIO (MAIL <SP> <ciao@prova.it> <CRLF>); inoltre bisogna comprendere che quando si
inviano dati al server, questo li registra su degli appositi buffer.
C' quindi un buffer per il reverse-path, per il forward-path, per la data, etc.
Il buffer un area di memorizzazione temporanea che serve per il transito di dati tra due sistemi
eterogenei.
HELO <SP> <domain> <CRLF>
MAIL <SP> FROM:<reverse-path> <CRLF>
RCPT <SP> TO:<forward-path> <CRLF>
DATA <CRLF>
RSET <CRLF>
SEND <SP> FROM:<reverse-path> <CRLF>
SOML <SP> FROM:<reverse-path> <CRLF>
SAML <SP> FROM:<reverse-path> <CRLF>
VRFY <SP> <string> <CRLF>
EXPN <SP> <string> <CRLF>

HELP [<SP> <string>] <CRLF>


NOOP <CRLF>
QUIT <CRLF>
TURN <CRLF>

Errori di sintassi:
211
214
220
221
250
251

System status, or system help reply


messaggio di Help
<domain> Servizio pronto
<domain> Servizio ha chiuso il canale
Richieste di azione completata, OK.
Utente non locale; si spedir a <forward-path>

354 Inizia l'input dei dati; finisce con <CRLF>.<CRLF>


421
450
451
452

Servizio non avviabile


Richiesta di azione non avviabile [E.g., mailbox piena]
Richiesta di azione abbortita: errore locale durante il processo
Richiesta di azione abbortita: spazio di sistema insufficiente

500
501
502
503
504
550
551
552
553
554

Errore di sintassi, comando non riconosciuto


Errore di sintassy nei parametri o negli argomenti
Comando non implementato
Cattiva sequenza del comando
Parametri del comando non implementati
Richiesta di azione non presa: mailbox inavvibile
Utente non locale; perfavore prova <forward-path>
Richiesta di azione abbortia: si eccede l'allocazione di spazio
Richiesta di azione non presa: nome della mailbox non permesso
Transazione fallita

Configurazione Router CISCO


Cisco il leader mondiale del Mercato Router, esso costruisce molte tiopoligie di router
differenti per Hardware, numero di porte di accesso e tipologie di rete

Comandi di Base per la configurazione di un Router CISCO


enable : entra in super-user mode
show running-config: visualizza la configurazione corrente
configure terminal : entra in modalit di configurazione generale
host xxx : setta il nome host del router
interface sx/ex : entra in modalit di configurazione per linterfaccia da configurare

ip address ip subnet : setta lip address per lintefaccia


no shutdown : rende attiva linterfaccia
router rip : abilita il protocollo rip verso network diversi
network xxx : specifica il network dove abilitare il rip
copy running-configuration startup-configuration : copia la configurazione corrente nella
NVRAM
Storia di Internet

Nasce con il nome di Arpanet L'ARPA (Advanced Research Projects Agency), nei tardi Anni Sessanta,
voluta dal Dipartimento della Difesa statunitense, L'ARPA (Advanced Research Projects Agency). Inizi
collegando quattro computers, tre in California ed uno in Utah, usando il Network Control Protocol (NCP).
Tra la fine degli anni sessanta e gli inizi degli anni '70, altri centri di elaborazione iniziarono ad usare
l'innovativa tecnologia di packet switching di ARPAnet per collegare i propri sistemi.
Nel 1971 c'erano 23 hosts nel network; entro il 1980 erano gi diventati pi di 200 con i primi
collegamenti internazionali.
Appena l'internetworking (proprio da interconnettere e quindi INTERNET) divenne pi popolare, si
formarono tre maggiori networks (durante gli anni '80): BITNET (Because It's Time Network), CSNET
(Computer
Science
Network)
e
NSFnet
(National
Science
Foundation
Network).
NSFnet divenne la principale rete portante di INTERNET (definita "backbone" o spina dorsale) grazie
ad una linea a 56Kbps.

Nella met degli anni '80 venne scelto TCP/IP come protocollo preferenziale e ARPAnet fu divisa in
ARPAnet e MILnet. Entro la fine del 1986, vi erano gi pi di 5000 hosts.
INTERNET inizi a ricevere attenzione dai mass-media nei tardi anni '80, specialmente quando il mitico
verme "worm" di Robert J. Morris disattiv alcune migliaia di computers presenti nel network.
Nel 1989, il backbone NSFnet fu potenziato con una linea T1 (1544 Kbps). A quel punto vi erano pi di
100000 hosts in INTERNET. Nei primi anni '90, ARPAnet venne eliminato e fu creato il Commercial
Internet Exchange (CIX) per dare modo agli utenti commerciali per evitare NSFnet e la sua Acceptable
Use Policy (AUP) che proibisce ogni tipo di traffico commerciale su NSFnet.
In questo periodo, inoltre, Mitch Kapor fond la Electronic Frontier Foundation (EFF); Thinking Machines
Corp. sviluppo il WAIS Database system; e l'University of Minnesota introdusse Gopher.
INTERNET a questo punto aveva pi di 700000 hosts.

Internet non posseduta, n gestita da una singola autorit. Per mantenere uno standard dei protocolli
usati e per connettere organizzazioni al network, fu istituita L'Internet Society nel 1992 con presidente
Vinton Cerf.
Inoltre, nello stesso anno, il CERN di Ginevra, Svizzera, introdusse quello che diventato uno dei
programmi pi usati su INTERNET: un sistema multimediale ad ipertesto con tecnologia client/server
chiamato World-Wide-Web.

Ancora nel 1992, NFS istitu l'InterNIC per offrire vari servizi informativi riguardo ad INTERNET ed il
National Center for Supercomputing Application (NCSA) presso la University of Illinois a UrbanaChampaign rilasci l'interfaccia utente Mosaic per utilizzare World-Wide Web.
Attualmente NSF sta lentamente cedendo il controllo del backbone di Internet ad Internet Providers
commerciali e abolir le restrizioni imposte dall'AUP.
Oggi la comunit INTERNET sta letteralmente esplodendo grazie all'attenzione dei mass-media e della
nascita di numerose strutture commerciali.
A met 1994 c'erano pi di 2,2 milioni di hosts registrati e circa 25 milioni di utenti.

Caratteristiche

Dati di qualsiasi tipo consultabili 24 ore al giorno anche attraverso una potente interfaccia grafica
(Browser).
Miniere di files e programmi di pubblico dominio prelevabili in qualsiasi momento ( ftp).
E-mail: permette di mandare e ricevere messaggi privati (testo, immagini, suoni) praticamente
in tempo reale.
News: Sono messaggi pubblici che tutti gli utenti della rete possono leggere.
Possibilit di teleconferenze: chiacchiere e discorsi pi impegnati con migliaia di utenti ( IRC ),
o con un singolo (talk)