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:
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 .
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
RAID1
Mentre RAID 0 ha come finalit principale il miglioramento delle prestazioni , RAID 1 ha come
finalit quella della sicurezza dei dati .
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.
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
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.
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.
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
Sistema Operativo
Il S.O. un gestore di risorse:
Esso gestisce due tipi di risorse:
risorse software::
LE RETI
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
100 m.
Edificio
1 km.
Campus
10 km.
Citt
100 km.
Regione
1000 km.
Nazione
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.
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.
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
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
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.
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.
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.
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.
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 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
LIVELLO 5
LIVELLO 4
LIVELLO 4
LIVELLO 3
LIVELLO 3
LIVELLO 2
LIVELLO 2
LIVELLO 1
LIVELLO 1
MEZZO
FISICO
IL MODELLO OSI
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".
1
2
3
4
5
6
7
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
LIVELLO 2
LIVELLO 1
100100101011010
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.
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).
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:
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:
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".
TRANSPORT ->
TCP, UDP
INTERNET ->
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:
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.
EIA/TIA-232
EIA/TIA-449
V.24
V.35
X.21
G.703
EIA-530
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
Caratteristiche
POTS
Plain Old Telephone Service
4 Khz Analogico
ISDN
Integrated Services Digital
Network
128 Kbps
X.25
Frame Relay
A commutazione di pacchetto.
L'evoluzione di ISDN
ATM
Asynchronous Transfer Mode
622 Mbps
SMDS
Switched Multimegabit Data
Service
T1, T3
xDSL
Digital Subscriber Line
384 Kbps
56 kbps
9.992 Mbps
56 Kbps
WIRELESS DI TERRA
11 Mbps
Microonde a terra
WIRELESS SATELLITARE
2 Mbps
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.
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.
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.
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
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:
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.
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:
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:
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
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).
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
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
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
N.N.H.H
0
15 16
Network
31
Host
N.N.N.H
0
23 24
Network
31
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.
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:
Classe
NetMask di default
A
B
C
255.0.0.0
255.255.0.0
255.255.255.0
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
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
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 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 *
ORG
Organizzazioni non-profit
NET
Relativi a Internet
GOV *
Governativi americani
MIL *
Militari americani
INFO
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:
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.
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.
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
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.
STORE (STOR)
Questo comando permette la ricezione di un file che verr creato sul server.
Torna su
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 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.
LIST (LIST)
Questo comando lista i files e le directory presenti.
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.
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.
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
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
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>
Errori di sintassi:
211
214
220
221
250
251
500
501
502
503
504
550
551
552
553
554
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)