Sei sulla pagina 1di 144

NWI02 LAN ADMINISTRATOR

Corso per amministratori di rete offerto in collaborazione con NetworkingItalia

1
INDICE

INDICE Corso Lan Administrator NWI-02 (Release 1.0) _________________ 2


1.Introduzione alle reti locali _______________________________________ 6
1.2 Tipologie di rete ______________________________________________ 7
1.3 Ethernet ____________________________________________________ 9
1.4 10Base2____________________________________________________ 10
1.5 10Base T___________________________________________________ 12
1.6 100Base T __________________________________________________ 15
1.7 Topologie Ethernet___________________________________________ 16
1.8 Come i dati viaggiano sulla rete _________________________________ 17
1.9 CSMA / CD ________________________________________________ 17
1.10 Le trame Ethernet __________________________________________ 18

2 Token Ring___________________________________________________ 20

3 Cenni sul wireless 802.11 ________________________________________ 21


4 La scheda di rete (Nic)__________________________________________ 23
4.1 HUB _____________________________________________________ 24
4.2 SWITCH __________________________________________________ 25

5. SUITE TCP/IP _______________________________________________ 27


5.1 Caratteristiche del TCP/IP_____________________________________ 27
5.2 I Protocolli di comunicazione___________________________________ 28
5.3 Connectionless e Connection-Oriented ___________________________ 28
5.4 Modello OSI e TCP a confronto _________________________________ 29
5.5 Strato Applicazione __________________________________________ 29
Windows Sockets______________________________________________ 30
NetBios______________________________________________________ 30
5.6 Strato di Trasporto___________________________________________ 30
5.7 L’ header TCP ______________________________________________ 31
5.8 Strato Internet ______________________________________________ 33
IP (Internet Protocol) __________________________________________ 34
ARP (Address Resolution Protocol) _______________________________ 36
IGMP (Internet Group Management Protocol) __________ 39
5.9 Strato NETWORK ACCESS ___________________________________ 39

2
6. Le Utility TCP/IP _____________________________________________ 40
6.1 Ping ______________________________________________________ 40
6.2 Pathping ___________________________________________________ 42
6.3 ARP ______________________________________________________ 44
6.4 Route _____________________________________________________ 45
6.5 Tracert ____________________________________________________ 46
6.6 Nslookup___________________________________________________ 47
6.7 Netstat ____________________________________________________ 49
6.8 Nbtstat ____________________________________________________ 50
6.9 Ipconfig ___________________________________________________ 51
6.10 Hostname _________________________________________________ 53
6.11 Lpq ______________________________________________________ 53
6.12 Lpr ______________________________________________________ 53
6.13 Ftp ______________________________________________________ 54
6.14 Rcp ______________________________________________________ 56
6.15 Rexec ____________________________________________________ 57
6.16 Rsh ______________________________________________________ 58
6.17 Telnet ____________________________________________________ 59
6.18 Tftp______________________________________________________ 59

7. LAN SWITCHING ____________________________________________ 60


7.1 Segmentare la LAN con i Bridges _______________________________ 61
7.2 Segmentare la LAN con i Routers _______________________________ 62
7.3 Segmentare la LAN con i Switch ________________________________ 62
7.4 Benefici del LAN Switching ____________________________________ 63
7.5 VANTAGGI della Segmentazione tramite BRIDGES ________________ 63
7.6 Vantaggi della Segmentazione tramite SWITCH____________________ 64
7.7 Tecnologia “FAST ETHERNET” _______________________________ 65
7.8 “Switching Mode” ___________________________________________ 65
7.9 SPANNING-TREE___________________________________________ 66
7.10 Virtual LAN _______________________________________________ 67
7.11 MAC ( MEDIA ACCESS CONTROL )__________________________ 68

8. ROUTING: CONCETTI GENERALI _____________________________ 69


8.1 Routing in Microsoft _________________________________________ 70
8.2 Il protocollo RIP (Routing Information Protocol) ___________________ 72
8.3 Il Protocollo OSPF (Open Shortest Path First) _____________________ 72
8.4 IGRP (Interior Gateway Routing Protocol)________________________ 73

3
8.5 EIGRP (la versione "Enhanced " di IGRP)________________________ 73
8.6 BGP (Border Gateway Protocol) ________________________________ 74

9. Reti locali e geografiche ________________________________________ 75


9.1 LAN (Local Area Network) ____________________________________ 75
9.1.1 Ethernet ________________________________________________ 75
9.1.2 Token Ring ______________________________________________ 76
9.2 WAN (Wide Area Network)____________________________________ 77
9.2.1 TECNOLOGIE WAN DI LIVELLO 1 - Tabella comparativa_______ 80
9.2.2 ALTRI SERVIZI WAN ____________________________________ 82

10 Presentazione del Sistema Operativo Microsoft Windows 2000 _________ 84


10.1 Active Directory – Il potenziale di Microsoft Windows 2000 __________ 85
10.1.1 Alcune delle principali caratteristiche di Active Directory _________ 85
10.1.2 Struttura di Active Directory _______________________________ 86
10.1.3 Gestione dei Domini e Trust Relationships in Windows 2000_______ 90
10.1.4 Il Database di Active Directory______________________________ 92
10.1.5 Group Policy Object (GPO) ________________________________ 92
10.1.7 Gruppi in Windows 2000___________________________________ 93
10.1.8 Autorizzazioni per gli oggetti in Active Directory________________ 94

11. Linux – Panoramica sul sistema operativo _________________________ 95


11.1 Linux si adatta a diversi ambienti ______________________________ 95
11.2 Compatibilità di Linux_______________________________________ 96
11.3 Linux è un sistema operativo moderno “MULTIUTENTE” __________ 96
11.4 Linux possiede un ricco supporto per il “NETWORKING” __________ 97
11.5 Linux è gratuito ____________________________________________ 97
11.6 Come nasce Linux __________________________________________ 97

12. SERVIZI DI RETE applicati in Microsoft Windows 2000 _____________ 98


12.1 Introduzione al DNS – Domain Name System _____________________ 98
12.2 Le caratteristiche del DNS di Windows 2000______________________ 99
12.3 Come avviene il processo di risoluzione dei nomi. __________________ 99
12.4 Tipi di query______________________________________________ 100
12.5 Le zone del DNS ___________________________________________ 100
12.6 Ruoli di un server dei nomi __________________________________ 101
12.7 Configurare le zone ________________________________________ 102
12.8 Altre funzionalità del DNS ___________________________________ 104
12.9 Testare il servizio DNS Server con le utility ______________________ 105

4
12.10 Record di Risorsa DNS_____________________________________ 105
12.11 Durata (TTL) per i record di risorse __________________________ 106
12.12 Monitorare il servizio DNS__________________________________ 106

13. DHCP IN MICROSOFT WINDOWS 2000 _______________________ 107


13.1 Funzionamento del DHCP ___________________________________ 107
13.2 Il rinnovo dell’indirizzo IP ___________________________________ 108
13.3 La scadenza dell'indirizzo IP _________________________________ 109
13.4 Le comunicazioni client / server – Utilizzo dei messaggi DHCP_______ 109
13.5 Opzioni del comando “IPCONFIG” utili per il DHCP _____________ 110
13.6 Installare e configurare un DHCP server________________________ 110
13.7 Autorizzare un server DHCP_________________________________ 111
13.8 Lo scope DHCP ___________________________________________ 111
13.9 Configurare DHCP per integrazione DNS _______________________ 113
13.10 DHCP Relay Agent________________________________________ 113

14. WINS – La risoluzione dei nomi NetBios _________________________ 116

15. Il protocollo SNMP __________________________________________ 120

16. Riconoscimento del traffico non autorizzato: strumenti IDS __________ 121

5
1.Introduzione alle reti locali

Prima di introdurci nel concetto di reti locali, più comunemente chiamate LAN (
Local Area Network ), dobbiamo riprendere e chiarire, una volta per tutte, cosa
intendiamo per rete !

Si definisce rete un aggregato di entità atte a comunicare attraverso un media


di collegamento.

Una rete di negozi, una rete televisiva sono tutti esempi in cui abbiamo delle
entità sparse che comunicano tra loro in vario modo.

Quando parliamo di reti, orientandoci nel campo informatico, dobbiamo fare


riferimento ad un gruppo, anche piccolo, di computer che comunicano tra loro
attraverso un mezzo trasmissivo ( cavo o altro ). Il bisogno di collegare due o
più computer insieme, formando cosi una rete, nasce dall’ esigenza di
scambiarsi delle informazioni e di mettere a disposizione determinate risorse (
files, applicazioni o altro ).

Elementi essenziali, e minimali, di una rete sono:

• almeno due calcolatori


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

Associando a questi elementi minimali altri dispositivi HW e Sw, i clienti della


rete possono condividere archivi, unità periferiche e altri molteplici servizi.
Le reti possono avere dimensioni differenti ed è possibile ospitarle in sedi
singole, in edifici attigui fra loro (campus) oppure dislocarle in ambito globale
(dal singolo quartiere a tutto il pianeta).

In questo paragrafo porremo la nostra attenzione sulle reti locali ( LAN ) che,
per definizione, sono nate per servire elaboratori in distanze tra loro che vanno
dai 10 ai 100 metri circa. La più importante e diffusa tecnologia di rete è la
tecnologia Ethernet ( fino a 10 megabit di velocità trasferimento dati ) e Fast
Ethernet ( fino a 100 megabit di velocità trasferimento dati ) .

6
1.2 Tipologie di rete

Esistono due tipi di tipologie: La tipologia fisica e la tipologia logica:

Fondamentalmente le principali tipologi e fisiche sono tre: stella, anello o


bus.
La tipologia fisica di una rete locale si differenzia, come evidenziato dalle
figure, in base al tipo di collegamento tra i vari dispositivi che la compongono.

Tipologia a stella

Tipologia ad anello

Tipologia a bus

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

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.

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 genera un collisione.

Da un punto di vista logico le tipologie sono due: broadcast (o controllo


casuale) e token-passing (o contollo distribuito).

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.
In pratica, ogni stazione invia dei messaggi che saranno ricevuti da tutte le
altre stazioni della rete.

Una sola stazione, però, elaborerà il messaggio ricevuto, e questo accadrà nel
caso in cui questo contenga il suo indirizzo fisico. In caso contrario verrà
ignorato.

Quando due dispositivi cercano di comunicare simultaneamente, tra i pacchetti


trasmessi si verifica una collisione che viene rilevata dai dispositivi trasmittenti.
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
8
contemporaneamente, si fermano entrambe e una di esse inizia a parlare
nuovamente.

Le reti Ethernet e Fast Ethernet impiegano un protocollo chiamato CSMA/CD


(Carrier-sense Multiple Access with Collision Detection), di cui ne parleremo a
breve. Questo protocollo ha la caratteristica implicita di permettere ad un solo
dispositivo di comunicare in un dato momento.

Nelle reti token-passing, più comunemente conosciute col nome di reti Token
Ring, 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.

1.3 Ethernet

Ethernet è il tipo rete locale più diffuso nel mondo. Fin dalle sue origini,
definite nel documento IEEE 802.3, rappresenta un sistema di comunicazione i
cui punti chiave sono i costi contenuti e la semplicità d'installazione e gestione.

L'accesso alla rete è disciplinato in modo non deterministico dal sistema


CSMA/CD, che permette ad un computer di usare la rete solo se nessun altro la
stava già usando. L'estensione che Ethernet può coprire varia da circa 200m a
2,5Km a seconda delle varie versioni, con velocità di 10Mbit/s, 100Mbit/s fino a
1000Mbit/s di Gigabit Ethernet. Possiede una struttura elettrica a bus: il
segnale raggiunge tutti gli altri nodi seguendo un solo percorso. La struttura
fisica invece può essere a bus o a stella, in cui i nodi si collegano ad un punto
centrale.

Il progetto Ethernet nacque nei primi anni 70 presso il Palo Alto Research
Center (PARC) di Xerox. Successivamente è stato riveduto e aggiornato da tre
società congiunte, Digital, Intel e Xerox (DIX), prima nel 1980, con il rilascio
della prima versione di Ethernet, poi nel 1982 con l'uscita delle specifiche di
Ethernet 2. Nel 1983 si è avuta la prima definizione ufficiale di Ethernet ad
opera dell'IEEE, nel documento 802.3, contenente le specifiche fisiche ed
elettriche. Negli anni seguenti le specifiche sono state via via aggiornate,

9
includendo il supporto per il cavo coassiale grosso e sottile, per il doppino UTP
e per le fibre, con velocità sempre crescenti. E' comunque bene tenere
presente che in condizioni normali, con numerosi nodi collegati, la velocità
effettiva di trasmissione si aggira intorno al 40, 50% del valore dichiarato.

Le varie versioni di Ethernet possiedono nomi come 10Base-2, 10Base-5,


10Base-T... Questo nome contiene informazioni riguardanti le caratteristiche
salienti del tipo di rete. Il primo numero indica la velocità in Mbit/s. La parola
Base sta per baseband. In una rete baseband il segnale viene trasmesso
attraverso un'onda portante a 20Mhz, secondo la codifica Manchester. L'ultimo
numero indica la distanza massima che può coprire un singolo segmento. Se
invece di un numero è presente una lettera, questa indica il mezzo
trasmissivo: T sta per Twisted pair, il doppino ritorto, F sta per Fiber, la fibra
ottica.

1.4 10Base2
Questa versione di Ethernet è l'ideale quando il numero di computer da
collegare rimane inferiore a poche decine. Si tratta probabilmente della
soluzione meno costosa (per questo viene anche chiamata anche CheaperNet,
ossia rete economica).

Il cavo che connette le varie stazioni è un cavo coassiale. E' spesso chiamato
"sottile" per distinguerlo dal cavo coassiale "grosso", usato nello standard
10Base-5, una rete ormai obsoleta a causa degli alti costi e delle numerose
limitazioni.

E' in grado di trasferire fino a 10Mbit/s, che si trasformano in 0,5 - 1 Mbyte/s


nella pratica. Un singolo segmento può coprire una lunghezza di 200 metri,
dopo i quali si rende necessaria l'installazione di un ripetitore. Il cablaggio di
questa rete deve rispettare la regola 5-4-3, cioè ci possono essere al massimo
cinque segmenti, separati da quattro ripetitori, e solo tre segmenti possono
essere popolati, con max 30 stazioni per segmento. Si arriva in questo modo
all'estensione massima di 1000m. Le connessioni avvengono tramite attacchi
BNC.

Installare ed espandere questa rete è un'operazione molto semplice, a patto di


seguire alcuni accorgimenti.

Il cavo deve snodarsi da un computer all'altro toccando ogni stazione come in


figura, senza creare anelli o derivazioni secondarie.

10
Nel retro di ogni stazione, in corrispondenza della scheda di rete, è presente un
connettore BNC a baionetta. Qui deve essere inserito sempre e solo un
connettore a T.

a sinistra e al centro, attacchi BNC


a destra, un connettore a T

Ai due capi del cavo devono esserci sempre e solo due terminatori da 50 Ohm
(e non 75) di cui uno solo va messo a terra.

Terminatore con messa a terra

Non inserite uno o entrambi i capi del cavo direttamente nel connettore della
scheda di rete. Anche se entra perfettamente non fatevi trarre in inganno, è
necessario il terminatore. Questo consiste di una resistenza che impedisce ai
dati in transito di riflettersi indietro.

11
Per unire due spezzoni di cavo sono disponibili appositi connettori.

I connettori di tipo BNC si innestano prima a pressione, poi bisogna ruotarli di


un quarto di giro per bloccarli. Per sbloccarli si segue il procedimento inverso.
Attenzione a non tirare troppo senza prima sbloccarli!

Tutto il materiale è facilmente reperibile in un buon negozio di


informatica/elettronica.

Una rete 10Base-2 si può collegare ad una rete 10Base-T se si dispone di un


hub (concentratore, vedi la sezione 10Base-T) dotato di connettore BNC.

La principale limitazione della rete 10Base-2 è la vulnerabilità ai guasti. E'


infatti sufficiente una scheda di rete difettosa, o una qualsiasi interruzione sul
cavo, per far cadere tutto il segmento. Inoltre, per l'individuazione del guasto,
si rende necessario controllare ogni stazione. E' per questi motivi che non è
consigliabile utilizzare la 10Base-2 su reti di una certa dimensione.

1.5 10Base T

La differenza principale tra questa versione e la 10Base-2 è la disposizione, che


è a stella. Vediamo di capire di cosa si tratta spiegando le cose con ordine.

Innanzi tutto non si usa più il cavo coassiale bensì il doppino ritorto non
schermato, detto UTP (Unshielded Twisted Pair). E' molto simile al doppino
telefonico ma ha otto fili al suo interno, ed usa connettori RJ45. La velocità
rimane a 10 Mbit/s, ma la distanza massima è di 100 metri. Esistono due
categorie di doppino. Quella di cat.3, più economico, e quella di cat.5,
preferibile perché ha il vantaggio di essere compatibile con le reti 100Base-T
(Fast Ethernet, 100Mbit/s) nel caso voleste in futuro aggiornare la rete a
questo standard. Il suo costo inoltre, è ormai paragonabile a quello di cat.3.

Connettore RJ45

12
Esiste anche una versione schermata detta STP (Shielded Twisted Pair), che
copre una distanza di 150 metri ma è più costosa dell'UTP. Spesso si rivela
utile in ambito aziendale e in tutti quei casi nei quali il cavo deve attraversare
zone con elevati disturbi.

A differenza della 10Base-2, un capo del doppino va inserito direttamente nel


retro della scheda, l'altro invece deve arrivare ad una delle porte libere
dell'hub. L'hub, in inglese concentratore, è un dispositivo che ha due funzioni:
e' un ripetitore di segnale, e ha il compito di riunire tutte le connessioni verso
un singolo punto. Per questo si dice che la disposizione è a stella, come si vede
in questa figura.

In vendita si trovano hub con un numero di porte che va da 4 a 48. Se


dovessero finire le porte libere è possibile aggiungere alla rete altri hub, fino ad
un massimo di quattro (anche qui vale la regola 5-4-3: essendo l'hub un
ripetitore, al massimo possono esserne presenti quattro). La distanza massima
è di 500m. Un hub supplementare viene collegato a quello di partenza
attraverso una porta speciale, detta di "uplink" o anche "cascade". Questa è
una porta speciale, si tratta di una porta "raddrizzata": in una porta normale,
perchè tutto funzioni correttamente, il filo di trasmissione deve diventare
all'altro capo quello di ricezione e viceversa, il collegamento tra due hub è
invece come una prolunga e non necessita questi incroci. In questa figura si
vede una rete con due hub, le porte rosse sono quelle di uplink.

13
Un'altra soluzione per aumentare il numero complessivo di porte, senza pero'
sprecare segmenti per l'uplink, è data dagli hub su chassis (per le grandi
aziende) e dagli hub impilabili (se il numero di nodi non è elevatissimo).

Vale la pena ricordare che un hub non opera alcun controllo sui dati in transito,
limitandosi a ritrasmettere tutto cio' che e' arrivato su tutte le porte attive.

I pregi di questa organizzazione a stella sono l'espandibilità (per aggiungere


una nuova stazione è sufficiente collegarla via doppino con una porta vuota
dell'hub) e la bassa vulnerabilità ai guasti. Infatti, nel caso di
malfunzionamento di un nodo, l'hub provvede automaticamente all'isolamento
della porta corrispondente. Cosi' facendo il resto della rete puo' continuare a
funzionare regolarmente senza risentire del guasto. E' anche possibile
aggiungere e togliere connessioni in qualsiasi momento senza interferire con le
altre stazioni collegate. Altro pregio della 10Base-T è la possibilità di poter
ridistribuire in modo ottimale il traffico quando la rete si avvicina alla
saturazione. E' infatti possibile intervenire suddividendo appropriatamente la
rete in più segmenti, facendo uso di dispositivi come i bridge, gli switch e i
router, messi a cavallo tra essi. La funzione di questi apparecchi è tutto
sommato simile, in quanto consiste nel lasciare uscire il traffico da un
segmento, solo se il destinatario dei dati trasmessi appartiene ad un segmento
diverso da quello del mittente. Si prevengono così inutili intasamenti quando
mittente e destinatario appartengono allo stesso segmento.
14
La differenza tra questi apparecchi è spiegata nella pagina Bridge-Switch-
Router. La rete 10Base-T (così come la sua variante a 100Mbit/s), a causa
della presenza di componenti come l'hub, e nelle reti più complesse, di switch,
è un pò più costosa della 10Base-2, ma le sue indubbie qualità la rendono una
scelta pressoché obbligata per le aziende, dove il numero di stazioni è elevato
ed è richiesta una buona scalabilità all'aumentare delle stazioni collegate. Se
dovete collegare solo due computer, potete fare a meno dell'hub, a patto di
utilizzare un cavo crossover (coppia invertita 1-3 e 2-6).

1.6 100Base T
Questa versione di Ethernet rappresenta l'evoluzione della 10Base-T. Condivide
infatti moltissime caratteristiche con quest'ultima, come ad esempio la
disposizione a stella e il doppino UTP (a patto di aver scelto quello di cat.5).
Anche la distanza massima tra hub e stazione resta di 100 metri. La differenza
sostanziale è la velocità massima, che è dieci volte maggiore, raggiungendo
così i 100Mbit/s. Per questo motivo la 100Base-T viene anche chiamata Fast
Ethernet. Per questo tipo di rete non vale più la regola 5-4-3: ora il numero
massimo di segmenti scende a 3 ed il numero di hub installabili a 2, inoltre la
lunghezza del segmento di uplink, che collega i due hub, è di soli cinque metri.
Ne deriva che la lunghezza totale tra le due stazioni alle estremità sia di soli
205 metri (2 segmenti da 100 m. + uplink da 5 m.) contro i 500 della 10Base-
T. Il limite dei 5 metri per l'uplink non è prestabilito, ma varia in funzione della
lunghezza degli altri due segmenti, l'importante è che la lunghezza totale
rimanga sotto i 205 metri. La versione più diffusa è la 100Base-TX che usa due
coppie di doppino, una per inviare ed una per ricevere i dati, ed è l'unica
capace di gestire connessioni full-duplex (200Mbit/s) a queste velocità.

Le schede di tipo Fast Ethernet sono compatibili con il basso, quindi, anche se
non avete ancora un hub da 100Mbit/s, potete sempre installarle e collegarle
con una porta a 10Mbit/s.

Da notare la regola 5-4-3 vale per tutti i tipi di reti Ethernet e dice che si
possono collegare fino a 5 segmenti, intervallati da 4 ripetitori, e solo 3
segmenti possono essere popolati, gli altri due segmenti devono restare liberi e
servono solo per collegare un ripetitore ad un altro.

Una eccezione a questa regola è rappresentata dalla rete Fast Ethernet


(100Base-T), dove possono essere collegati al massimo 3 segmenti separati da
2 hub. Il segmento centrale è un collegamento di uplink lungo 5 metri, usato
per connettere i 2 hub.

15
1.7 Topologie Ethernet
Il collegamento fisico tra i nodi di una rete Ethernet può essere a bus o a
stella, a seconda della versione.

La topologia di cui sto parlando è la topologia fisica, che non va confusa con la
topologia elettrica della rete, che in entrambi i casi rimane a bus. Questo
significa che in qualsiasi rete Ethernet, il segnale tocca i nodi passando per un
solo percorso, indipendentemente da come essi sono collocati. Un esempio
famoso di rete con disposizione non a bus è Token Ring, che ha una topologia
elettrica ad anello. Le reti 10Base-2 e 10Base-5 hanno una topologia fisica a
bus, quindi il cavo si snoda da un computer all'altro "toccando" ogni computer,
senza creare anelli o derivazioni secondarie.

Topologia a bus (10Base-5, 10Base-2)

Le reti come la 10Base-T e la 100Base-TX, continuano ad avere una topologia


elettrica a bus, ma la topologia fisica diventa a stella. Questo significa che tutte
le macchine si collegano ad un punto, l'hub (in inglese concentratore) che,
oltre a riunire a se tutte le connessioni, ha anche le funzioni di ripetitore.

Topologia a stella (10Base-T, 100Base-TX)

16
1.8 Come i dati viaggiano sulla rete

Un messaggio, quando viaggia sul cavo, non è altro che una lunga sequenza di
bit, che possono essere 0 o 1. Esso raggiunge tutti i nodi collegati alla rete,
indipendentemente da dove sia fisicamente posizionato il destinatario.

I valori binari 0 e 1 sono rappresentati tramite la codifica Manchester. Essa


presuppone che venga generata un onda quadra con frequenza di 20Mhz, la
portante. Questa oscilla tra due valori di tensione predefiniti, uno positivo e
l'altro negativo. Nel momento in cui l'onda cambia di segno è presente un 1
(da - a +) o uno 0 (da + a -).

La codifica Manchester

In qualsiasi rete Ethernet, tutti i computer collegati rimangono sempre in


ascolto. Quando qualcuno manda un messaggio in rete, tutti gli altri computer,
o meglio, tutte le schede di rete, iniziano ad analizzare il messaggio in transito.

La prima cosa che effettua una scheda di rete, è la lettura dell'indirizzo di


destinazione, solitamente posizionato in posizione strategica in testa al
messaggio. Solo se questo coincide con il proprio, il messaggio viene accettato
e letto, altrimenti verrà scartato. Esistono anche alcuni messaggi, detti di tipo
broadcast, che vengono accettati da tutte le schede di rete in ascolto.

1.9 CSMA / CD
Il metodo per disciplinare l'accesso alla rete è il CSMA/CD, Carrier Sense
Multiple Access/Collision Detection, accesso multiplo con rilevamento della
17
portante/rilevamento di collisione. Ogni scheda di rete segue questa tecnica
quando deve spedire un messaggio.

Come è ragionevole pensare, la prima cosa da fare quando si vuole


trasmettere, è verificare che la rete non sia già stata occupata da
qualcun'altro, ossia non deve essere rilevata l'onda portante di cui abbiamo
parlato prima.

Se nessun altro sta trasmettendo, si è liberi di iniziare la trasmissione.


Controllare che nessuno stia trasmettendo, non assicura purtroppo che solo un
computer alla volta inizi a trasmettere. Non è infatti infrequente che due o più
computer, trovando la rete libera, inizino a trasmettere contemporaneamente.
Inoltre bisogna considerare che i dati non raggiungono ogni estremità della
rete in tempo nullo, ma viaggiano sul cavo con una certa velocità di
propagazione. Basta quindi che due computer, fisicamente distanti qualche
centinaio di metri, inizino a trasmettere in due istanti sufficientemente vicini
perchè si ricrei la medesima situazione. In questi casi si ha una collisione.

Questo evento non è così catastrofico come si potrebbe pensare. La scheda di


rete, infatti, anche quando è in trasmissione, rimane costantemente in ascolto.
Quando avviene una collisione, le onde generate si sommano, il risultato è che
le oscillazioni dell'onda risultante variano tra intervalli di tensioni maggiori di
quelli predefiniti. In questa situazione le schede coinvolte rilevano l' "onda
anomala" e terminano di trasmettere, non subito, ma solo quando hanno
inviato almeno 64 byte, in modo tale da permettere che anche tutte le altre
schede di rete rilevino la collisione. Terminata la trasmissione, viene impostato
un timer a durata casuale nella scheda di rete, allo scadere del quale si ritenta
la comunicazione.

1.10 Le trame Ethernet


Quando vogliamo inviare dati attraverso una rete Ethernet, c'è bisogno prima
di tutto di una particolare struttura logica atta a contenerli. Questa struttura è
fondamentale perchè permette che i dati arrivino al computer giusto e, per
quanto è possibile, senza contenere errori o alterazioni.

Questa struttura è il pacchetto Ethernet, spesso chiamato frame, oppure


trama. Conterrà incapsulati i dati originali e, intorno ad essi, tutte quelle
informazioni utili a soddisfare i requisiti di cui abbiamo appena parlato. Se
qualcosa nella trasmissione va storto, il computer ricevente scarta il
messaggio, ma voi non potete saperlo. In genere sono le applicazioni di alto
livello che controllano il buon esito di un operazione. Esistono quattro tipi di
trame. Le vedremo in ordine cronologico. Il primo modello di trama è stato

18
definito nei primi anni 80 dallo standard Ethernet II, prima delle specifiche
dell'IEEE 802.3. Ha una struttura molto semplice ed è stata adottata dall'IETF
(Internet Engineering Task Force) come trama ufficiale, in virtù di alcune
informazioni utili al traffico Internet. Contiene i seguenti campi

Preambolo; 7 byte contenenti una sequenza di 101010... , serve per


sincronizzare tutte le stazioni in ascolto, con il segnale generato dalla scheda di
rete.

SFD, Start Frame Delimiter; un byte contenente la sequenza 10101011. Con


gli 101010 si accoda al preambolo, con l' 11 finale avverte che stanno per
arrivare i dati veri e propri.

Indirizzo di Destinazione ; 48 bit (6 byte), contiene l'indirizzo fisico del nodo


destinatario.

Indirizzo di Provenienza; 48 bit (6 byte), contiene l'indirizzo fisico del nodo


sorgente. Questi ultimi due campi di 48 bit contengono indirizzi di schede
Ethernet.

Tipo; 2 byte, contiene un valore che indica in quale ambiente è stato generato
il pacchetto. Questo campo, in ambito Internet, si rivela particolarmente utile
per riconoscere immediatamente alcuni messaggi di servizio.

Dati; da 46 a 1500 byte. Sono i dati veri e propri. Se sono più lunghi di 1500
byte, si costruiranno altri pacchetti da 1500 byte, finchè non viene spedito
tutto.

FCS, Frame Check Sequence; contiene il risultato del calcolo CRC sul campo
dati. Serve al destinatario, per controllare se i dati hanno subito qualche
alterazione.

La trama Ethernet II supporta TCP/IP ed IPX/SPX (NetWare).

La seconda trama creata dopo Ethernet II, è Ethernet 802.3 "raw" (grezza). Si
tratta di una trama proprietaria, creata anch'essa prima che l'IEEE emanasse la
vera 802.3. E' usata dalle stazioni Novell Netware 3.x, e supporta solo
IPX/SPX. I campi sono molto simili, cambia solo il campo "tipo", che resta
lungo 2 byte, ma ora viene usato per contenere la lunghezza della trama.

Alla fine degli anni 80, l'IEEE completò la trama Ethernet 802.3 "standard" o
anche 802.2. Si differenzia dalla 802.3 raw di Novell per l'aggiunta di 3 campi

19
da 1 byte, sottratti al campo dati (che diventa lungo al massimo 1497 byte). I
tre campi sono

DSAP, Destination Service Access Point; indica a quale processo di alto livello
bisogna consegnare la trama.

SSAP, Source Service Access Point; indica il processo software di provenienza.

Controllo; indica il tipo di trama, secondo uno standard definito dall' IEEE.

La 802.2 è la trama ufficiale di Netware 4.x, è in grado di gestire qualunque


protocollo.

Una quarta ultima variante, prodotta anche questa dall'IEEE, è la SNAP. E'
simile alla 802.2, ma vengono aggiunti due nuovi campi, sottraendo altri 5
byte al campo dati (che si riduce ad un massimo di 1492 byte). Il primo campo
è di 3 byte e contiene un codice identificativo del fornitore, negli altri 2 byte
ritroviamo lo stesso campo Tipo usato nella Ethernet II.

2 Token Ring
La rete token ring nasce dall’ IBM come alternativa alla rete Ethernet di cui
abbiamo parlato in precedenza. Ha notevole interesse in particolare negli
ambienti bancari, finanziari ecc… . A differenza delle topologie Ethernet qui si
parla di una topologia ad anello.Essenzialmente una topologia ad anello e' una
topologia a bus dove le due estremità sono connesse a formare un anello. Un
anello è dunque una struttura unidirezionale rinchiusa su se stessa in cui le
informazioni si propagano in una sola direzione. L’informazione, organizzata in
pacchetti ognuno dei quali contiene l’indirizzo di destinazione, gira all’interno di
questo anello fino a raggiungere il nodo destinatario.

La topologia ad anello può essere usata con la cablatura in twisted pair, in cavo
coassiale o in fibra ottica. Il protocollo più importante attualmente utilizzato su
reti locali con topologia ad anello è il protocollo Token Ring ( IEEE 802.5 ).

Così come Ethernet, anche il protocollo Token Ring fornisce servizi per i primi
due livelli dell’OSI (descritti successivamente), il livello Fisico e il livello
Collegamento Dati. I protocolli per i livelli 1 e 2 dell’ OSI si distinguono in
funzione del mezzo trasmissivo usato e del modo in cui il segnale e` applicato
al mezzo. Nelle reti con topologia ad anello sono necessarie alcune regole per
arbitrare gli accessi simultanei all’anello. Nelle reti Token Ring il metodo

20
d’accesso al mezzo si basa sul passaggio di un token. Un token è un pacchetto
speciale che circola sull’anello quando questo è libero. Quando una stazione
vuole trasmettere un pacchetto deve aspettare il token e rimuoverlo dall’anello
prima di trasmettere il proprio pacchetto. Quest’ultimo viaggerà in una sola
direzione lungo l’anello, passando da una stazione alla successiva.

Come nel caso di reti Ethernet, il pacchetto è di solito indirizzato ad una


singola stazione, e quando passerà da quella stazione il pacchetto verrà
copiato. Il pacchetto continuerà a viaggiare lungo l’anello finchè non ritornerà
alla stazione mittente, che provvederà a rimuoverlo dalla rete e ad inviare il
token alla stazione successiva che si trova sull’anello.

Poiché esiste un unico token ad un dato istante una sola stazione può
trasmettere, in questo modo si previene il verificarsi di collisioni.

Le reti Token Ring possono operare a velocità di trasferimento dei dati di 4


Mbps o di 16 Mbps.

3 Cenni sul wireless 802.11


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.

21
IEEE 802.11 , tecnologia per le wireless Lan , con un'unica interfaccia a livello
di Data Link e due possibili implementazioni a livello Psysical Layer (infrarosso,
non applicato, trasmissione Dfir), e a onde radio con tecnologia FHSS e DSSS.
Tale standard si articola in 802.11a operante a 5,8 Ghz e 40 Ghz e 802.11b
operante a 2,4 Ghz e 11 Mbps, high rate.Il protocollo IEEE 802.11b consente di
scegliere automaticamente sia la banda di trasmissione meno occupata, sia
l'access point ( AP ) in funzione della potenza del segnale e del traffico di rete,
permette inoltre di variare la velocità di trasmissione dati ( bit rate ) per
adattarsi al canale.

HomeRF , standard per la trasmissione dati in radio frequenza di dispositivi


domestici, con una frequenza di 2,4 Ghz e un bit rate pari a 1,6 Mbps, utilizza
il protocollo Swap .La sua evoluzione 2.0 consentirà un bit rate fino a 10 Mbps
e la trasmissione dati/voce con un range di 50 metri, in modalità peer-to-peer
o access point.

Bluetooth , tecnologia di interconnessione wireless low-power (mWatt), in


grado di far "comunicare" dispositivi elettronici come i telefoni, stereo,
notebook,computer, pda fino ad un massimo di 16 dispositivi, attraverso onde
radio a basso raggio emesse da alcuni trasmettitori presenti all'interno di
questi dispositivi. Il tutto senza bisogno di alcun cavo di collegamento, ma
semplicemente utilizzando le onde radio con frequenza di 2,45Ghz - 2,56 Ghz (
banda ISM). può supportare fino a 7canali dati (asincrono con data rate di
57,6Kbps in upstream e 721Kbps in downstream) e 3 canali voce (sincroni con
data rate di 64 kbps).La velocità massima di trasferimento dati, nel suo
complesso, è pari a 1Mbps fullduplex con una copertura dai 10 ai 100 metri.

HyperLan2 , Standard per comunicazione wireless, Wlan che utilizza una


frequenza di 5 Ghz con bit rate sino a 54 Mbps, consente un range fino a 100
metri,per applicazioni multimediali di tipo home.

Fixed Wireless, soluzione tecnologica via radio che fornisce servizi di base
voce/dati con copertura ad ampio raggio fino a 25 Km,la trasmissione utilizza
una frequenza bassa compresa da 400 Khz a 2Mhz con un bit rate max di 128
Kbps

Wipll Wireless Ip local loop,tecnologica via radio che fornisce servizi di base
voce/dati con copertura ad ampio raggio, utilizza una frequenza da 2Ghz a
5Ghz con un bit rate di 4 Mbps

22
4. APPARATI DI CONNESSIONE

4 La scheda di rete (Nic)


La Nic (Network interface card) è la scheda di rete che viene montata a bordo
dell'elaboratore (pc o server) per permetterne il collegamento, attraverso
apposito cavo, con i restanti elaboratori e/o apparati della rete locale.
Dal punto di vista puramente estetico la Nic è simile alle altre schede che
possiamo trovare all'interno di un personal computer (scheda video, scheda
audio, modem interno ecc.).
Essa va inserita p.c. con precauzione, dotandosi di appositi guanti e,
soprattutto, assicurandosi che il cavo di alimentazione del p.c. sia staccato
dalla presa elettrica.
Il settaggio richiede, quasi sempre, l'acquisizione di uno o più driver del
costruttore che ne permettono la configurazione nel sistema operativo
adottato.

La scheda di rete e' dotata di un microprocessore, uno zoccolo per la Eprom


(che ci permette di usare la scheda di rete per l'avvio, il boot da remoto). Al
lato, nella lamina metallica, troviamo il connettore per il cavo utilizzato per la
nostra tipologia di rete ( Rj-45 - figura 1 o Bnc ed Rj -45 (chiamato jack) in
combinata - figura 2) . Alcune distribuzioni Hardware integrano la scheda di
rete direttamente sulla scheda madre del p.c.. In questi caso i chip, e i circuiti
della Nic, sono identificabili esclusivamente dalle indicazioni del costruttore e
dalle connessioni ai connettori esterni sulla scheda madre che saranno
sicuramente del tipo Rj-45.

Una Nic comunica con la rete attraverso una connessione seriale, mentre
comunica con il computer attraverso una connessione parallela. Ogni scheda
necessita di un indirizzo IRQ e di un indirizzo di Input/Output. Per i sistemi
basati su Dos o Windows 95 è necessario, inoltre, riservare un indirizzo di
memoria alto (fra i 640 kilobytes e 1 Megabyte) per permetterne il
funzionamento. Un IRQ (Interrupt request line) è un segnale che avverte la
CPU quando avviene un evento che abbisogna del suo supporto. L' IRQ viene
spedito alla CPU attraverso un canale hardware (una rete interna al p.c.).
L'indirizzo di I/O è la locazione della memoria sulla quale vengono inviati o
spediti i dati che entrano ed escono da un computer attraverso le periferiche
esterne e/o ausiliarie.

La scelta della schede di rete deve prendere in esame tre elementi


fondamentali:

23
Tipo di rete: Ethernet, TokenRing, FDDI ecc.
Tipo di media: Cavo Tp, coassiale, fibra ottica ecc.
Tipo di slot (bus di sistema) del p.c.: Isa, Pci ecc.

4.1 HUB

Nella costruzione delle reti a stella, o a stella estesa ( extended star topology),
ogni personal computer deve essere collegato con un cavo ad un concentratore
"centrale" detto HUB. Quando, per malfunzionamenti di vario tipo, viene meno
la connessione fra un computer e l'hub, non viene compromessa la struttura
generale della rete. Si tratta dunque di un tipo di collegamento assai pratico
ed affidabile.

La parola hub in inglese significa "perno" o "fulcro", meglio definirlo come


"centro". E' un’apparecchiatura che si e' diffusa nel mondo delle reti locali nella
seconda meta' degli anni Ottanta e che consente di realizzare un sistema di
cablaggio a stella, dove tutte le connessioni provenienti dalle workstation di un
certo gruppo di lavoro, confluiscono verso un centro di connessione che può
essere attivo o passivo, ma il cui scopo fondamentale rimane quello di creare
una connessione elettrica tra tutte le macchine che vi sono collegate ed
eventualmente altri hub.
In pratica tutti gli utenti collegati all'hub (o ad una serie di hub connessi in
cascata) si trovano sullo stesso segmento di rete e condividono la stessa
larghezza di banda. Possiamo dire che si trovano tutti connessi alla stessa
velocità.
Questà modalità di lavoro introduce degli effetti negativi da non sottovalutare:
ogni volta che un PC comunica, l'Hub "satura" la rete. La relativa semplicità di
questo componente lo rende abbastanza economico e quindi ancora molto
usato. Esistono in commercio sia versioni da 10 Mbit/s che da 10/100 Mbit/s e
con diverse porte: da un minimo di 4 fino ad arrivare a 16, 24 o anche più. E'
ovvio che più aumentano il numero delle porte e più si degradano le
prestazioni perchè la "banda" deve essere ripartita. Quindi con un hub a 8
porte - 100 Mbit/s avremo una banda disponibile per ogni Pc di 100/8cioè circa
12 Mbit/s per porta. In una rete Ethernet è possibile aggregare in cascata non
più di 4 Hub.
La tipica funzione dell'hub trova collocazione nelle reti cosidette "shared" dove
le risorse sono equamente condivise. In effetti quando una workstation invia
dei pacchetti, questi non vengono indirizzati in modo "intelligente", ma

24
vengono diffusi attraverso tutte le porte dell'hub ai vari elaboratori connessi
che, decideranno se accettarli oppure no confrontando il proprio MAC Address
con quello contenuto nei pacchetti inviati.

L’hub viene usato solitamente con doppino (schermato e non), mentre vanno
scomparendo gli hub per topologie a stella basate su cavo coassiale. Trova
impiego nelle reti Ethernet e nelle reti Token Ring dove prende più
propriamente il nome di MAU (Multistation Access Unit). Il vantaggio
dell’impiego di un hub e di un cablaggio a stella è che si possono aggiungere e
togliere workstation in qualsiasi momento senza interrompere la continuita' di
collegamento delle altre e che eventuali stazioni con schede d’interfaccia
guaste possono essere isolate automaticamente senza compromettere la
connessione di tutte le altre.

4.2 SWITCH
Questi apparati stanno rapidamente sostituendo i comuni hub nelle reti
aziendali. Diversamente degli hub (apparati di Livello 1) che hanno il solo
compito di rigenerare il segnale sulle porte a disposizione, gli switch (apparati
di livello 2) si occupano di gestire la banda prendendo delle decisioni basate sul
MAC.In pratica, uno switch (detto anche multi-port bridge) crea dei percorsi
commutati collegando fisicamente un interfaccia ad un altra rendendo così
disponibile tutta la larghezza di banda.

Diversamente dall'hub, lo switch instrada i dati sull'interfaccia (porta dello


switch) alla quale è connesso l'host. In pratica lo switch separa/isola i segmenti
della rete, stabilendo una connessione temporanea tra la sorgente e il punto di
destinazione, chiudendola al termine del collegamento.

Lo switch è un tipico apparato di Livello 2 (Data Link) anche se l'ovoluzione


degli stessi (con capacità di instradamento anche a livello IP) lo sta portando
verso gestioni di instradamento e load balancing.

La denominazione layer 2 o layer 3, deriva direttamente dalla struttura


Iso/Osi. Il livello (layer) 2 è caratteristico degli switch più tradizionali, i quali si
basano sul MAC address. Con questa tecnologia le comunicazioni sono di tipo 1
a 1, tutte le altre porte dello switch non sono interessate. Gli switch di livello 3
operano sul protocollo e sono, quindi, in grado di determinare i percorsi di
instradamento utilizzando le informazioni fornite dai protocolli ( es. IPX, IP,
AppleTalk).

25
La scelta della tecnologia switch è fondamentale per tutte le applicazioni che
creano molto traffico e per tutte le reti con un alto numero di utenti. Nell'ottica
di rete sul modello Intranet, con ampio utilizzo di contenuti multimediali, non si
può più prescindere da una soluzione switched. L’hub è, oramai, un apparato
che non soddisfa più le continue esigenze di alte performance e può trovare
applicazione solo in piccoli uffici dove pochi client condividono un server per le
stampe e/o semplici applicazioni transazionali.

Lo switch rappresenta quindi lo strumento principale per l'implementazione e la


ottimizzazione di un qualsiasi ambiente di rete locale. Laddove esiste un
numero di nodi molto elevato lo switch assolve pienamente al suo compito
principale che è quello di distribuire "banda" in modo dedicato. Il proliferare
degli accessi Internet, per esempio, spinge all’utilizzo di soluzioni switching in
grado di ottimizzare la disponibilità di banda passante sul lato geografico
evitando, per quanto possibile, l’interferenza con applicazioni, servizi e
periferiche locali. D’altra parte, l’aumento dei server all’interno di una qualsiasi
organizzazione rende l’utilizzo degli switch l’unico strumento veramente valido
per garantire prestazioni e affidabilità. In quest’ottica, la disponibilità di
funzionalità specifiche di CoS/QoS offre la possibilità di costruire una gerarchia
di servizi che abilita la convergenza di applicazioni diverse su un’unica
infrastruttura.

Gli switch oggi apportano un aiuto decisivo, superando i limiti della


trasmissione "anarchica" di Ethernet e la rigidità del Token Ring. Oltre alla
segmentazione fisica del traffico, gli switch consentono il tracciamento di reti
virtuali per facilitare lo scorrimento del flusso dei dati. Gli switch di Livello 2,
dimensionati per gestire un numero ristretto di reti virtuali, con un numero
modesto di stazioni di lavoro, si rivelano non adatti alle topologie
multiprotocollo distribuite su più piani e che generano un forte traffico tra
gruppi di lavoro. I costruttori hanno permesso allora ai propri switch di gestire
le reti virtuali al Livello 3 del modello Osi. Questo posizionamento consente a
questi ultimi di assimilare un gruppo di lavoro virtuale a una sottorete Ip, Ipx o
AppleTalk e di organizzare la comunicazione tra queste entità protocollari.
Tuttavia, la semplice funzione di trasmissione dei pacchetti offerta da questi
primi switch di Livello 3 non dispensa dalla mediazione di un router. L'ultima
generazione di switch offre un palliativo a tale carenza, attivando una funzione
di routing integrale, ovvero la trasmissione dei pacchetti e la definizione dei
percorsi. E, bene o male, i router tradizionali iniziano a posizionarsi
esternamente alla dorsale, per lasciare agli switch-router il compito di gestire i
pacchetti e di organizzare le comunicazioni all'interno della rete locali.

26
5. SUITE TCP/IP

Il Transmission Control Protocol/Internet Protocol è costituito da un insieme di


protocolli che lavorano insieme.
TCP/IP, all’inizio chiamato NCP (Network Control Protocol) nasce nel 1969 ad
opera dell’Advanced Research Projects Agency del Dipartimento della Difesa
degli Stati Uniti, come protocollo sperimentale per viaggiare su reti a
commutazione di pacchetto.
I progettisti della suite di protocolli TCP/IP scelsero un modello più semplice
con meno livelli rispetto al modello OSI , il modello DARPA, per aumentare le
prestazioni e la semplicità d’implementazione.
Il TCP/IP non è uno standard proprietario ed è il protocollo di comunicazione
accettato su tutta Internet.
Gli standard del TCP/IP sono disponibili pubblicamente in una serie di
documenti chiamati RFC (Request For Comments) mantenute dalla Internet
Activities Board (IAB).
Chiunque può proporre una modifica allo standard inviando un documento
come RFC. Questo documento viene valutato da una task force tecnica e
pubblicato.
Ad ogni RFC pubblicata è assegnato un numero progressivo.

5.1 Caratteristiche del TCP/IP

q Una tecnologia che consente di connettere reti con tecnologie differenti


(Apple con Microsoft o con Unix e tipologie di reti differenti Token ring e
Ethernet)

q Un metodo semplice di avere accesso ad Internet

q Un robusta e scalabile piattaforma di lavoro client/server.

27
5.2 I Protocolli di comunicazione

Il bisogno di creare una struttura solida ed affidabile per la comunicazione ha


portato alla creazione di regole da seguire per poter comunicare nel miglior
modo possibile. Un protocollo infatti, è sostanzialmente una regola, o un
insieme di regole, atte a permettere la comunicazione in un ambiente di rete.
La differenza che va sottolineata è questa : un modello è una struttura ideale,
mentre un protocollo potrebbe essere considerato l’ applicazione pratica di un
modello di riferimento.

5.3 Connectionless e Connection-Oriented

Prima di esaminare la struttura di un protocollo e la sua utilità è necessario


aprire una parentesi sui due servizi fondamentali che possiamo trovare in un
ambiente di rete : il servizio ConnectionLess ( senza una connessione ) ed il
servizio Connection-Oriented ( Con connessione ).
Che cosa vuol dire un servizio senza connessione ?
Prendiamo ad esempio un terminale A ed un terminale B, i quali vogliono
scambiarsi dei dati. In un sistema senza connessione i terminali si mandano
reciprocamente i pacchetti senza avere un riscontro sul risultato dell’ invio e
della ricezione, non c’è quindi un controllo sulla comunicazione. I dati
ovviamente viaggiano più velocemente ma la comunicazione non è affidabile.
In un sistema orientato alla connessione invece, i due terminali gestiranno la
comunicazione con una sincronizzazione ( chiamata handshake : stretta di
mano ), ricevendo un pacchetto di ritorno ogni volta che vi è stata una
comunicazione. In pratica la comunicazione sarà gestita e controllata
attraverso anche metodi di gestione del flusso e controllo della congestione.

La procedura di invio dei dati fra due computer si divide in vari task.
Ogni task viene svolto dal computer con una serie ben precisa di procedure: i
protocolli.

q Riconoscimento dei dati


q Suddivisione dei dati in blocchi più gestibili
q Aggiunta di informazioni ad ogni blocco per determinare la posizione dei
dati
q Identificare il destinatario dei dati
q Aggiunta di informazioni di sincronizzazione e controllo degli errori
q Immissione dei dati sulla rete ed invio a destinazione

28
5.4 Modello OSI e TCP a confronto

5.5 Strato Applicazione

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

29
newsgroup;
HTTP (HyperText Transfer Protocol): alla base del Word Wide Web.
In questo strato le applicazioni e alcuni servizi ottengono l’accesso alla rete.
In questo livello due API (Application Programming Interface) distinte
forniscono accesso ai protocolli di trasporto TCP/IP:
- Windows Sockets
- NetBios

Nota: si utilizza un API per fornire un’interfaccia comune che i programmatori


possono usare nella scrittura di applicazioni.

Windows Sockets
È un API di rete pensata per facilitare la comunicazione fra applicazioni e stack
di protocollo TCP/IP.
Si basa sulle API Sockets create per il sistema operativo BSD Unix.
Pensata per fornire un terreno comune alle applicazioni e ai protocolli relativi
alla parte più alta del modello di riferimento TCP/IP.

NetBios
La maggiorparte dei servizi e delle applicazioni che girano sotto Windows *
usano l’interfaccia NetBios per le comunicazioni tra processi per permettere
l’uso di nomi NetBios.
I nomi NetBios vengono risolti o mediante interrogazioni broadcast sulla rete
locale o attraverso un server Wins.
Con * Windows 2000 l’uso di NetBios diventa facoltativo. Il DNS ora svolge
anche risoluzione di nomi host interni alla rete.

5.6 Strato di Trasporto

Lo strato di trasporto ha la responsabilità di stabilire e mantenere le


comunicazioni tra due host.
I suoi compiti principali sono fornire notifica di ricezione, controllare il flusso,
ordinare in sequenza e ritrasmettere i pacchetti.
A seconda del tipo di servizio richiesto dall’applicazione, si possono usare TCP
(Transmission Control Protocol) o UDP (User Datagram Protocol).

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

UDP (User Datagram Protocol): è un protocollo non orientato alla connessione


e, quindi, non affidabile. I pacchetti possono arrivare in ordine diverso o,
addirittura, non arrivare affatto.

5.7 L’ header TCP

Un pacchetto TCP è detto segmento.


Essenzialmente i compiti di TCP sono:

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


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

Tale pacchetto ha un sua struttura ben definita con un header ( intestazione ),


al cui interno troviamo dei campi distinti :

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

31
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 know 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 /ecc/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

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

Data; il campo dati.

5.8 Strato Internet

Ha la responsabilità dell’instradamento dei dati all’interno di una rete e fra reti


diverse.
I router o instradatori funzionano a questo strato del modello e sono usati per
inviare i pacchetti da una rete all’altra o da un segmento di rete all’altro.
Lo strato Internet è il livello che tiene insieme l'intera architettura. Il suo ruolo
è consentire ad un elaboratore (host) di instradare i 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.

33
Il protocollo che “governa” questo livello è chiamato Internet Protocol (IP). Le
sue funzioni principali sono l'instradamento (routing) e il controllo della
congestione.

IP (Internet Protocol)

IP usa un processo denominato “ANDing” (prodotto logico) per determinare se


un indirizzo IP è locale o remoto.

IP è un protocollo un pò particolare: non garantisce che i suoi pacchetti, detti


datagrammi IP, arrivino a destinazione, che siano privi di errori, o che essi
arrivino nell'ordine corretto. Questo lavoro viene lasciato ai protocolli superiori
come TCP. Per questo motivo IP è un protocollo senza connessione. L'header di
IP si aggiunge a sua volta all'header di TCP visto in precedenza.

Indirizzamento IP

Un indirizzo IP, 32 bit, viene indicato come 4 numeri decimali, ognuno esprime
8 bit (8bit x 4n=32bit), es. 192.168.150.10. Essendo solo 8 i bit per ogni
numero, i valori andranno da 0 a 255.

Un indirizzo IP a 32 bit può essere visto come una coppia di due numeri: il
numero di rete e il numero di host o nodo. Il numero di bit usato per il numero
di rete dipende dalla classe di indirizzo. Esistono cinque classi di indirizzi IP:
Classe A: 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 16777213 host ciascuno.
Classe B: inizia con due bit a 10 (primo ottetto da 128 a 191 in decimale), 14
bit per la rete , 16 per l'host. 16382 reti, di 65534 host ciascuno.
Classe C: inizia con tre bit a 110 (primo ottetto da 192 a 223 in decimale), 21
bit per la rete , 8 per l'host. 2097150 reti, di 254 host ciascuno.
Classe D: inizia con quattro bit a 1110 (primo ottetto da 224 a 239 in
decimale), riservato per il multicasting
Classe E: inizia con quattro bit a 1111 (primo ottetto da 240 a 254 in
decimale), riservato per usi futuri

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

34
host è fatto solo da '0', l'indirizzo esprime l'indirizzo di rete. Qua ndo è fatto di
soli '1', indica un broadcast a tutti i nodi della rete.

Dato che la suddivisione per classi è piuttosto grezza, è stato creato il concetto
di subnet, o sottorete, che permette di sottrarre qualche bit del numero
dell'host in favore di una maggiore flessibilità di configurazione (ad esempio
per separare il traffico in rete tramite un router), invisibile fuori dalla rete. In
questo modo l'indirizzo è composto da: un numero di rete, un numero di
subnet, un numero di host.

Se facciamo un AND bit a bit tra un indirizzo IP e una subnet mask quello che
otteniamo è il numero di rete comprensivo del numero di subnet. I valori di
default per le prime tre classi sono:
Classe A: 255.0.0.0, pari a 11111111.00000000.00000000.00000000
Classe B: 255.255.0.0, pari a 11111111.11111111.00000000.00000000
Classe C: 255.255.255.0, pari a 11111111.11111111.11111111.00000000

Usando queste maschere standard con un indirizzo IP, riotteniamo


semplicemente il numero di rete. Se però volessimo fare tre sottoreti, dato un
numero di rete di Classe C, possiamo "rubare" tre bit al quarto ottetto (l'inizio
del numero di host), bastano 3 bit perchè con 111 abbiamo il numero 7(>5).
Quando facciamo questo otteniamo una Subnet mask di
11111111.11111111.11111111.11100000 (255.255.255.224)

Se la rete è 193.1.1.0, gli host delle varie sottoreti avranno indirizzi che
iniziano per:
11000001.00000001.00000001.00000001.00000000 (193.1.1.0) 1° subnet
11000001.00000001.00000001.00000001.00100000 (193.1.1.32) 2° subnet
11000001.00000001.00000001.00000001.01000000 (193.1.1.64) 3° subnet
11000001.00000001.00000001.00000001.01100000 (193.1.1.96) 4° subnet
11000001.00000001.00000001.00000001.10000000 (193.1.1.128) 5° subnet
11000001.00000001.00000001.00000001.10100000 (193.1.1.160) 6° subnet
11000001.00000001.00000001.00000001.11000000 (193.1.1.192) 7° subnet
11000001.00000001.00000001.00000001.11100000 (193.1.1.224) 8° subnet

In realtà le subnet 1=000 e 8=111 è meglio non usarle perchè i numeri fatti di
soli 0 o soli 1 hanno le funzioni particolari di cui parlavamo prima.

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

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

ARP (Address Resolution Protocol)

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.
ARP è utilizzato per risolvere indirizzi IP in indirizzi hardware.
Non fornisce la trasmissione affidabile di dati.

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

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

ICMP (Internet Control Message Protocol)

ICMP è utilizzato da IP e da altri protocolli di livello superiore per inviare e


ricevere rapporti di stato sulle informazioni in trasmissione.
Una delle principali caratteristiche di ICMP è “Echo-request / Echo-Reply”, il
quale è un componente che testa se un pacchetto può raggiungere la
destinazione in base al “PING”.

Questo protocollo è abbastanza particolare perchè si trova sullo stesso layer di


IP (diversamente da TCP e UDP), ma usa comunque IP per spedire i suoi dati.
ICMP non aggiunge garanzie a IP, quindi è possibile che i datagrammi ICMP
non arrivino a destinazione o che arrivino corrotti (esattamente come per IP).

Il compito di ICMP è quello di inviare messaggi di servizio e messaggi di errore.

Un datagramma ICMP è composto dai campi: type (8 bit), che indica il tipo di
messaggio, code (8 bit), un codice di errore che dipende dal tipo di messaggio,
checksum (16 bit) per sapere se ci sono errori nel datagramma, data
(variabile), che contiene informazioni sul messaggio e di solito include parte
del datagramma IP che ha generato l'errore.

I principali codici sono:

37
0 - Echo Reply: in risposta all'ICMP n.8

3 - Destination Unreachable: viene generato da un router intermedio quando


questo non è in grado di trovare il computer desiderato, oppure viene generato
dal computer destinatario se si richiede un servizio (protocollo o porta) che non
è attivo.

4 - Source quench: nelle congestioni, viene generato da un router intermedio


quando questo ha esaurito lo spazio dove accodare i messaggi in arrivo,
oppure viene generato dal computer destinatario se i datagrammi stanno
arrivando troppo velocemente.

5 - Redirect: se viene generato da un router intermedio conterrà un indirizzo IP


relativo ad un router che andrebbe contattato al posto di questo.

8 - Echo: usato per controllare se un computer è attivo. E' il messaggio che


genera il comando ping.

9 - Router Advertisement: Con questo messaggio ICMP, i router


periodicamente segnalano la loro presenza sulle reti a cui sono collegati.

10 - Router solicitation: Usato per forzare i router in ascolto ad identificarsi per


non dover attendere i Router Advertisement periodici.

11 - Time exceeded: viene generato da un router intermedio quando il campo


Time To Live del datagramma è zero. Se generato dal computer destinatario
indica che è scaduto il timer che controlla il riassemblamento di un
datagramma, il datagramma sarà scartato.

12 - Parameter problem: indica che è stato incontrato un problema durante


l'analisi dei paramentri dell'header IP.

13 - Time Stamp request: usato per misurare le prestazioni e per il debugging


ma mai per sincronizzare orologi. Il mittente salva in un campo dell'ICMP n.13
il suo time stamp. Il ricevente prepara un ICMP 14 settando altri due campi: il
time stamp di ricezione e di trasmissione.

14 - Time Stamp reply: in risposta all'ICMP n.13

17 - Address mask request: Una richiesta broadcast che serve per scoprire la
maschera subnet usata dalle macchine in rete. Usato nelle richieste Reverse-
ARP, un particolare tipo di ARP usato dalle macchine che non possiedono dischi
e non possono memorizzare i dati della rete tra uno spegnimento e la

38
riaccensione. Tutti i riceventi del broadcast ICMP 17 rispondono preparando un
ICMP 18 con i dati della sottorete.

18 - Address mask reply: in risposta all'ICMP n.17

IGMP (Internet Group Management Protocol)

• Protocollo Internet per la gestione dei gruppi. Un gruppo è un insieme di


indirizzi IP (di classe D) a cui è necessario inviare gli stessi dati
contemporaneamente. Un esempio tipico sono le videoconferenze:
gli host in collegamento devono ricevere contemporaneamente le
immagini e le voci.
• Le informazioni sui gruppi sono conservate dai router delle reti locali, i
quali provvedono poi a distribuire i pacchetti nel modo corretto.

IGMP è la sigla di Internet Group Management Protocol: protocollo Internet per


la gestione dei gruppi. Un gruppo è un insieme di indirizzi Ip (di classe D) a cui
è necessario inviare gli stessi dati contemporaneamente. Un esempio tipico
sono le videoconferenze: gli host in collegamento devono ricevere
contemporaneamente le immagini e le voci.

Le informazioni sui gruppi sono conservate dai router delle reti locali, i quali
provvedono poi a distribuire i pacchetti nel modo corretto.

IGMP viene usato per iscriversi a questi gruppi oppure per uscirne.

5.9 Strato NETWORK ACCESS

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

39
6. Le Utility TCP/IP

I sistemi operativi della famiglia Microsoft (Windows NT-2000) forniscono un


ampio range di utility per gestire, configurare e risolvere problematiche in
ambiente TCP/IP rispetto alle precedenti versioni.

In ordine sono descritte dettagliatamente le seguenti utilità:

6.1 Ping
Verifica le connessioni con uno o più computer remoti. Questo comando è
disponibile solo se è stato installato il protocollo TCP/IP.

ping [-t] [-a] [-n conteggio] [-l lunghezza] [-f] [-i durata] [-v tiposervizio] [-r
conteggio] [-s conteggio] [[-j elencocomputer] | [-k elencocomputer]] [-w
timeout] elencodestinazioni

Parametri

-t Effettua il ping sul computer specificato fino a quando non viene interrotto.

In pratica: utile per sapere se un computer riavviato da remoto è nuovamente


in rete. Utile per testare la connettività in rete continuamente.

-a Risolve gli indirizzi in nomi di computer. (Utilizza il NetBios o il DNS. Il


NetBios deve essere abilitato su entrambi gli host nel caso in cui non si
disponga di un server WINS).

In pratica: utile per la risoluzione di nomi computer.

-n numero Invia il numero di pacchetti ECHO specificati dal parametro


conteggio. Il valore predefinito è 4:

In pratica:

-l lunghezza

Invia i pacchetti ECHO contenenti la quantità di dati specificata dal parametro


lunghezza. L'impostazione predefinita è 32 byte, la quantità massima è
65.527.

40
-f

Invia un flag di Non frammentazione nel pacchetto. Il pacchetto non verrà


frammentato dai gateway lungo la route. (da vedere)

-i durata

Imposta il valore del campo di TTL nell’intestazione IP. Valori accettabili 1 –


255

Es: se tra due host ci sono due router è necessario impostare il valore durata
>2 altrimenti non si ottiene riposta. Default TTL 128.

-v tiposervizio

Imposta il campo Tipo di servizio sui valori specificati da questo parametro. (da
vedere)

-r conteggio

Registra la route del pacchetto in uscita e del pacchetto di ritorno nel campo
Registra route. Tramite questo parametro è possibile specificare da un minimo
di 1 a un massimo di 9 computer.

-s conteggio

Indica l'orario per il conteggio degli hop specificati da questo parametro.

-j elencocomputer

Inoltra i pacchetti attraverso i computer specificati da questo parametro. È


possibile separare i computer consecutivi utilizzando gateway intermedi (route
di origine libera). Il numero massimo consentito da IP è 9.

-k elencocomputer

Inoltra i pacchetti attraverso i computer specificati in questo parametro. Non è


possibile separare i computer consecutivi mediante gateway intermedi (route
di origine vincolata). Il numero massimo consentito da IP è 9.

-w timeout

Specifica un intervallo di timeout in millisecondi.

41
Il comando ping agisce nel modo seguente:

• Verifica le connessioni ad uno o più computer inviando al computer di


destinazione pacchetti di ECHO ICMP e ricevendo pacchetti di ECHO in
risposta.
• Attende fino a un secondo dopo l'invio di ciascun pacchetto.
• Stampa il numero di pacchetti trasmessi e ricevuti.
• Ogni pacchetto ricevuto viene convalidato verificandolo con il messaggio
trasmesso. In base all'impostazione predefinita, vengono trasmessi
quattro pacchetti ECHO contenenti 32 byte di dati, composti da una
sequenza periodica di caratteri alfabetici maiuscoli.

L'utilità ping può inoltre essere utilizzata per controllare il nome e l'indirizzo IP
del computer. Se viene verificato l'indirizzo IP, ma non il nome del computer,
potrebbe essersi verificato un problema di risoluzione del nome. In questo
caso, assicurarsi che il nome richiesto sia presente nel file Hosts locale o nel
database DNS.

6.2 Pathping
È uno strumento di rilevamento route che combina le caratteristiche del
comando ping e del comando tracert con informazioni aggiuntive che nessuno
di essi fornisce. Il comando pathping invia pacchetti a ciascun router verso la
destinazione finale in un certo periodo di tempo, calcolando successivamente i
risultati in base ai pacchetti restituiti da ciascun hop. Poiché il comando
pathping mostra il grado di perdita del pacchetto relativo a un dato router o un
dato collegamento, è possibile determinare quali router o collegamenti
potrebbero causare problemi di rete.

pathping [-n] [-h max_hop] [-g elenco-host] [-p periodo] [-q num_query [-w
timeout] [-T] [-R] nome_destinazione

Parametri

-n

Non vengono risolti gli indirizzi in nomi host.

-h max_hop

42
Specifica il numero massimo di hop da cercare verso la destinazione.
L'impostazione predefinita è 30 hop.

-g elenco-host

Consente la separazione dei computer consecutivi con gateway intermedi


(route di origine libera) in elenco-host.

-p periodo

Specifica il numero di millisecondi di attesa tra ping consecutivi. L'impostazione


predefinita è 250 millisecondi (1/4 di secondo).

-q num_query

Specifica il numero di query a ciascun computer lungo la route. L'impostazione


predefinita è 100.

-wtimeout

Specifica il numero di millisecondi di attesa per ciascuna risposta.


L'impostazione predefinita è 3000 millisecondi (3 secondi).

-T

Aggiunge un tag con priorità layer-2 (ad esempio 802.1p) ai pacchetti ping
inviati a ogni periferica di rete lungo la route. Ciò consente di identificare le
periferiche di rete non configurate con priorità layer-2. Questo parametro deve
essere digitato in maiuscolo.

-R

Controlla se ogni periferica di rete lungo la route supporta il protocollo RSVP


(Resource Reservation Setup Protocol) che consente al computer host di
riservare una certa quantità di larghezza di banda per un flusso di dati. Questo
parametro deve essere digitato in maiuscolo.

nome_destinazione

Specifica l'endpoint di destinazione identificato dall'indirizzo IP o dal nome


dell'host.

43
6.3 ARP
Visualizza e modi fica le tabelle di conversione degli indirizzi fisici IP in indirizzi
Ethernet o Token Ring utilizzate dal protocollo ARP (Address Resolution
Protocol, Protocollo di risoluzione dell'indirizzo). Questo comando è disponibile
solo se è stato installato il protocollo TCP/IP.

arp -a [inet_addr] [-N [if_addr]]

arp -d inet_addr [if_addr]

arp -s inet_addr ether_addr [if_addr]

Parametri

-a

Visualizza le voci ARP correnti rilevandole dai dati del protocollo TCP/IP.
Specificando il parametro inet_addr, per il computer indicato verranno
visualizzati solo gli indirizzi IP e fisici.

-g

Analogo al parametro -a.

inet_addr

Specifica un indirizzo IP in notazione decimale puntata.

-N

Visua lizza le voci ARP per l'interfaccia di rete specificata dal parametro if_addr.

if_addr

Specifica, se presente, l'indirizzo IP dell'interfaccia di cui è necessario


modificare la tabella di conversione degli indirizzi. In caso contrario verrà
utilizzata la prima interfaccia adatta allo scopo.

-d

Elimina la voce specificata dal parametro inet_addr.

44
-s

Aggiunge una voce nella cache ARP per associare l'indirizzo IP specificato dal
parametro inet_addr all'indirizzo fisico specificato dal parametro ether_addr.
L'indirizzo fisico è costituito da 6 byte esadecimali separati da trattini.
L'indirizzo IP è rappresentato in notazione decimale puntata. La voce è
permanente, pertanto verrà rimossa automaticamente dalla cache allo scadere
del timeout.

ether_addr

Specifica un indirizzo fisico.

6.4 Route
Consente la gestione delle tabelle di routing della rete. Questo comando è
disponibile solo se è stato installato il protocollo TCP/IP.

route [-f] [-p] [comando [destinazione] [mask subnetmask] [gateway] [metric


costo]]

Parametri

-f

Cancella tutte le voci relative ai gateway dalle tabelle di routing. Se questo


parametro viene utilizzato insieme a un comando, le voci delle tabelle verranno
eliminate prima dell'esecuzione del comando.

-p

Se utilizzato con il comando add, rende una route permanente anche nel caso
di riavvii del sistema. In base all'impostazione predefinita, le route non
vengono invece mantenute quando si riavvia il sistema. Se utilizzato con il
comando print, visualizza l'elenco delle route permanenti registrate. Viene
ignorato se utilizzato insieme a tutti gli altri comandi che modificano le route
permanenti specificate.

comando

Specifica uno dei seguenti comandi.

45
Comando Operazione
print Stampa una route
Add Aggiunge una route
delete Elimina una route
change Modifica una route esistente

destinazione

Specifica il computer a cui inviare il comando specificato da comando.

mask subnetmask

Specifica un valore per la subnet mask da associare alla voce di route. Se non
è specificata, verrà utilizzato il valore 255.255.255.255.

gateway

Specifica un gateway.

Tutti i nomi simbolici utilizzati per la variabile destinazione o gateway sono


riportati nel file di database denominato Networks e nel database dei nomi di
computer denominato Hosts. Se il comando è print o delete, potranno essere
utilizzati i caratteri jolly per la destinazione e per il gateway oppure sarà
possibile omettere il parametro relativo al gateway.

metric costo

Assegna un costo complessivo, compreso tra 1 e 9999, da utilizzare per


calcolare le route più veloci, più affidabili e/o meno costose.

6.5 Tracert
Questa utilità diagnostica determina la route percorsa verso una destinazione
inviando alla destinazione stessa pacchetti ECHO Internet Control Message
Protocol (ICMP) con valori Time-To-Live (TTL) variabili. È necessario che ogni
router lungo il percorso diminuisca il valore di TTL di ciascun pacchetto di
almeno una unità prima di inoltrarlo. In questo modo il valore di TTL fornirà
effettivamente il conteggio degli hop. Quando il valore di un pacchetto
raggiunge lo zero, il router invierà un messaggio ICMP di tempo scaduto al
sistema di origine. Tracert determina la route inviando il primo pacchetto ECHO

46
contrassegnato da un valore TTL pari a 1, incrementato di 1 a ogni
trasmissione successiva, finché la destinazione risponde o viene raggiunto il
TTL massimo. La route è determinata dall'esame dei messaggi ICMP di tempo
scaduto restituiti all'origine dai router intermedi. Alcuni router si limitano
tuttavia a scartare i pacchetti con i valori TTL massimi raggiunti e non vengono
rilevati dal comando tracert.

tracert [-d] [-h hopmax] [-j elencocomputer] [-w timeout] nomedestin

Parametri

-d

Specifica di non risolvere gli indirizzi in nomi di computer.

-h hopmax

Specifica il numero massimo di hop da cercare per raggiungere la destinazione.

-j elencocomputer

Specifica la route di origine libera per il parametro elencocomputer.

-w timeout

Attende il numero di millesecondi specificato dal parametro timeout per


ciascuna risposta.

nomedestin

Nome del computer di destinazione.

6.6 Nslookup
Questo strumento diagnostico visualizza le informazioni provenienti dai server
dei nomi DNS (Domain Name System). Prima di utilizzarlo, assicurarsi di
conoscere il funzionamento del DNS. Nslookup è disponibile solo se è stato
installato il protocollo TCP/IP.

47
Modalità

Nslookup può essere eseguito in due modalità: interattiva e non interattiva.

Se si sta cercando solo un singolo dato, è consigliabile utilizzare la modalità


non interattiva. Per il primo argomento digitare il nome o l'indirizzo IP del
computer di cui si desidera effettuare la ricerca. Per il secondo argomento
digitare il nome o l'indirizzo IP di un server dei nomi DNS. Se il secondo
argomento viene omesso, verrà utilizzato il nome del server DNS predefinito.

Utilizzare la modalità interattiva se si desidera cercare più dati. Per il primo


argomento digitare un trattino (-) e per il secondo digitare il nome o l'indirizzo
IP di un server DNS. In alternativa, omettendo i due argomenti verrà utilizzato
il server predefinito dei nomi DNS.

nslookup [-opzione ...] [computerdatrovare | - [server]]

Parametri

-opzione ...

Specifica uno o più comandi nslookup come opzione della riga di comando. Per
l'elenco dei comandi, vedere Sottocomandi nslookup. Ciascuna opzione
consiste in un trattino (-) seguito immediatamente dal nome del comando e in
alcuni casi da un segno di uguale (=) e da un valore. Per modificare ad
esempio il tipo di richiesta predefinito in informazioni host (computer) e
impostare su 10 secondi il timeout iniziale, è necessario digitare:

nslookup -querytype=hinfo -timeout=10

La lunghezza della riga di comando non deve superare i 256 caratteri.

computerdatrovare

Per cercare le informazioni relative al computerdatrovare, utilizzare il server


corrente predefinito o server, se specificato. Se il computerdatrovare è un
indirizzo IP e la richiesta è di tipo A o PTR, verrà visualizzato il nome del
computer. Se il computerdatrovare è un nome e non ha un punto finale, al
nome del computer verrà aggiunto quello del dominio DNS predefinito. Tale
comportamento dipende dalle opzioni del sottocomando set: domains, srchlist,
defname e search.

Per cercare un computer che non appartiene al dominio DNS corrente,


aggiungere un punto al nome.
48
Se invece del computerdatrovare si digita un trattino (-), il prompt dei comandi
passa alla modalità interattiva di nslookup.

server

Specifica l'utilizzo del server indicato come server dei nomi DNS. Se server
viene omesso, verrà utilizzato il server dei nomi DNS predefinito.

6.7 Netstat
Visualizza le statistiche del protocollo e le correnti connessioni della rete
TCP/IP. Questo comando è disponibile solo se è stato installato il protocollo
TCP/IP.

netstat [-a] [-e] [-n] [-s] [-p protocollo] [-r] [intervallo]

Parametri

-a

Visualizza tutte le connessioni e le porte di ascolto. Le connessioni del server


non sono in genere visualizzate.

-e

Visualizza le statistiche Ethernet. Questa opzione può essere utilizzata insieme


all'opzione -s.

-n

Visualizza in forma numerica indirizzi e numeri di porta, invece di effettuare


ricerche per nomi.

-s

Visualizza le statistiche ordinate per protocollo. In base all'impostazione


predefinita, le statistiche vengono ordinate per TCP, UDP, ICMP e IP.
Utilizzando l'opzione -p è possibile specificare un sottoinsieme dei protocolli
predefiniti.

-p protocollo

49
Mostra le connessioni effettuate tramite il protocollo specificato dal parametro
protocollo. Il valore di protocollo può essere tcp o udp. Se viene utilizzato con
l'opzione -s per visualizzare le statistiche ordinate per protocollo, protocollo
potrà corrispondere a tcp, udp, icmp o ip.

-r

Visualizza il contenuto della tabella di routing.

intervallo

Visualizza nuovamente le statistiche selezionate, interrompendosi tra una


visualizzazione e l'altra per un numero di secondi pari al valore di intervallo.
Per arrestare il ripetersi della visualizzazione, premere CTRL+B. Se il
parametro viene omesso, le informazioni relative alla configurazione corrente
verranno stampate una sola volta.

6.8 Nbtstat
Questo comando diagnostico visualizza le statistiche sul protocollo e le
connessioni TCP/IP correnti che utilizzano NBT (NetBIOS su TCP/IP). Questo
comando è disponibile solo se è stato installato il protocollo TCP/IP.

nbtstat [-a nomeremoto] [-A indi rizzo_IP] [-c] [-n] [-R] [-r] [-S] [-s]
[intervallo]

Parametri

-a nomeremoto

Visualizza la tabella dei nomi del computer remoto utilizzando il nome del
computer.

-A indirizzo_IP

Visualizza la tabella dei nomi del computer remoto utilizzando l'indirizzo IP del
computer.

-c

50
Elenca il contenuto della cache dei nomi NetBIOS visualizzando l'indirizzo IP di
ciascun nome.

-n

Visualizza l'elenco dei nomi locali NetBIOS. La voce Registrato indica che il
nome è stato registrato tramite broadcast (Bnode) o WINS (altri tipi di nodo).

-R

Ricarica il file Lmhosts dopo aver eliminato tutti i nomi contenuti nella cache
dei nomi NetBIOS.

-r

Elenca le statistiche per la risoluzione dei nomi di rete di Windows. Su un


computer che esegue Windows 2000 configurato per l'utilizzo di WINS questa
opzione restituisce il numero dei nomi risolti e registrati tramite broadcast o
WINS.

-S

Visualizza entrambe le sessioni client e server, elencando i computer remoti


solo in base all'indirizzo IP.

-s

Visualizza entrambe le sessioni client e server. Effettua un tentativo di


conversione dell'indirizzo IP del computer remoto in un nome utilizzando il file
Hosts.

intervallo

Visualizza nuovamente le statistiche selezionate, interrompendosi tra una


visualizzazione e l'altra per un numero di secondi pari a quanto specificato in
intervallo. Premere CTRL+C per arrestare la visualizzazione continua delle
statistiche. Se questo parametro viene omesso, il comando nbstat stamperà le
informazioni relative alla configurazione corrente una sola volta.

6.9 Ipconfig
Questo comando diagnostico visualizza tutti i valori correnti di configurazione
della rete TCP/IP. Tale comando viene utilizzato soprattutto su sistemi che

51
eseguono il servizio DHCP e consente di determinare quali valori del TCP/IP
sono stati configurati da DHCP.

ipconfig [/all | /renew [scheda] | /release [scheda]]

Parametri

all

Consente una visualizzazione completa. Se questa opzione non viene


specificata, ipconfig visualizzerà solo l'indirizzo IP, la subnet mask e i valori del
gateway predefinito relativi a ciascuna scheda di rete.

/renew [scheda]

Rinnova i parametri di configurazione del DHCP. Tale opzione è disponibile solo


su sistemi che eseguono il servizio client DHCP. Per specificare il nome di una
scheda, digitare il nome che viene visualizzato quando si utilizza il comando
ipconfig senza l'aggiunta di parametri.

/release [scheda]

Rilascia la configurazione DHCP corrente. Questa opzione disattiva il protocollo


TCP/IP nel sistema locale ed è disponibile solo su client DHCP. Per specificare il
nome di una scheda, digitare il nome che viene visualizzato quando si utilizza il
comando ipconfig senza l'aggiunta di parametri.

Se non viene specificato alcun parametro, l'utilità ipconfig presenterà tutti i


valori di configurazione del TCP/IP, inclusi l'indirizzo IP e la subnet mask.
Questa utilità risulta particolarmente utile su sistemi che eseguono il DHCP e
consente di determinare i valori configurati da tale servizio.

Ipconfig – displays the current TCP/IP configuration of the local machine.

/release – releases a DHCP-obtained IP address

/renew – obtains a new DHCP IP address

/all – displays all TCP/IP configuration information

/flushdns – purges the local DNS resolver cache

52
/regsiterdns – refreshes DHCP leases and re-registers with DNS.

/displaydns – shows the contents of the DNS resolver cache.

6.10 Hostname
Stampa il nome del computer corrente (host). Questo comando è disponibile
solo se è stato installato il protocollo TCP/IP.

hostname

6.11 Lpq
Questa utilità diagnostica viene utilizzata per ottenere lo stato di una coda di
stampa su un computer che esegue il server LPD.

lpq -SServer -PStampante [-l]

Parametri

-SServer

Specifica il nome del computer al quale è collegata la stampante.

-PStampante

Specifica il nome della stampante relativa alla coda di stampa desiderata.

-l

6.12 Lpr
Questa utilità di connessione viene utilizzata per stampare un file su un
computer che esegue il server LPD.

lpr -SServer -PStampante [-CClasse] [-JNomeprocesso] [-O opzione] nomefile

Parametri

53
-SServer

Specifica il nome o l'indirizzo IP del computer al quale è collegata la


stampante.

-PStampante

Specifica il nome della stampante relativa alla coda di stampa desiderata.

-CClasse

Specifica il contenuto della pagina di intestazione relativa alla classe.

-JNomeprocesso

Specifica il nome del processo.

-O opzione

Indica il tipo di file. L'impostazione predefinita prevede un file di testo.


Utilizzare -Ol ('L' minuscola) per un file binario, ad esempio PostScript.

nomefile

Indica il nome del file che si desidera stampare.

6.13 Ftp
Trasferisce file da e verso un computer che esegue un servizio server FTP (File
Transfer Protocol, Protocollo di trasferimento file), denominato a volte daemon.
Ftp può essere utilizzato in modo interattivo. Per una descrizione dei
sottocomandi ftp disponibili scegliere Comandi ftp dall'elenco degli Argomenti
correlati. Questo comando è disponibile solo se è stato installato il protocollo
TCP/IP. Ftp è un servizio che, una volta avviato, crea un sottoambiente nel
quale è possibile utilizzare i comandi ftp e dal quale è possibile tornare al
prompt dei comandi digitando il sottocomando quit. L'esecuzione del
sottoambiente ftp è indicata dal prompt dei comandi di ftp.

ftp [-v] [-n] [-i] [-d] [-g] [-s:nomefile] [-a] [-w:dimensionefinestra]


[computer]

54
Parametri

-v

Elimina la visualizzazione delle risposte del server remoto.

-n

Elimina la procedura di accesso automatico al momento della connessione


iniziale.

-i

Disattiva le richieste di conferma interattive durante il trasferimento di più file.

-d

Attiva il debug, visualizzando tutti i comandi ftp passati fra client e server.

-g

Disattiva la globalizzazione dei nomi di file che consente l'utilizzo di caratteri


jolly (* e ?) nei nomi dei file locali e nei nomi di percorso. Vedere il comando
glob nella Guida comandi.

-s:nomefile

Specifica un file di testo contenente dei comandi ftp che verranno eseguiti
automaticamente dopo l'avvio di ftp. In questo parametro non è consentito
l'utilizzo di spazi. Utilizzare questa opzione al posto del carattere di
reindirizzamento (>).

-a

Utilizza qualsiasi interfaccia locale quando si effettua il binding delle


connessioni dati.

-w:dimensionefinestra

Ignora la dimensione di 4096 del buffer di trasferimento predefinito.

computer

55
Specifica il nome del computer o l'indirizzo IP (Internet Protocol, Protocollo
Internet) del computer remoto a cui connettersi. Se specificato, questo il
parametro deve essere l'ultimo della riga.

6.14 Rcp
Copia file tra un computer che esegue Windows 2000 e un sistema che utilizza
rshd, remote shell daemon. Il comando rcp è comando di connettività che può
essere utilizzato anche per altri tipi di trasferimento per la copia di file tra
computer che utilizzano rshd, eseguendo il comando da un computer su cui è
installato Windows 2000. Il daemon rshd è disponibile sui computer UNIX, ma
non in Windows 2000. Per questo motivo dai computer che eseguono
Windows 2000 è possibile utilizzare solo la funzione di sistema da cui viene
impartito il comando. Il computer remoto deve anch'esso disporre dell'utilità
rcp eseguendo rshd.

rcp [-a | -b] [-h] [-r] origine1 origine2 ... origineN destinazione

Parametri

-a

Specifica il trasferimento in modalità ASCII. Questa modalità converte i


caratteri di ritorno a capo/avanzamento riga in ritorni a capo sui file in uscita e
i caratteri di avanzamento riga in caratteri di ritorno a capo/avanzamento riga
per i file in ingresso. Questa è la modalità di trasferimento predefinita.

-b

Specifica la modalità di trasferimento di immagini binarie. Non viene effettuata


alcuna conversione dei caratteri di ritorno a capo/avanzamento riga.

-h

Trasferisce i file di origine contrassegnati dall'attributo di file nascosto sul


computer che esegue Windows 2000. Se questa opzione viene omessa,
l'indicazione di un file nascosto sulla riga di comando di rcp non avrà alcun
effetto, in quanto il file non viene riconosciuto.

-r

56
Copia il contenuto di tutte le sottodirectory in modo ricorsivo, dall'origine alla
destinazione. È necessario che il parametro origine e il parametro destinazione
siano entrambi costituiti da directory. L'uso di questo parametro viene
accettato anche se non si specifica una directory come origine, tuttavia in
questo caso la ricorsione non sarà effettuata.

origine e destinazione

Questi parametri devono essere specificati nella forma


[computer[.utente]:]nomefile. Se la parte [computer[.utente]:] viene omessa,
il computer verrà identificato come computer locale. Se si omette la parte
[.utente], verrà utilizzato il nome dell'utente attualmente connesso. Se si
utilizza un nome di computer completo, contenente punti di separazione (.),
sarà necessario includere [.utente]. In caso contrario, la parte finale del nome
computer sarà interpretata come nome utente. Se si specificano più file di
origine, è necessario che il parametro destinazione sia costituito da una
directory.

Se al nome del file non si antepone una barra (/) per i sistemi che eseguono
UNIX o una barra rovesciata (\) per i sistemi che eseguono Windows 2000,
sarà considerato relativo alla directory di lavoro corrente. In Windows 2000,
sarà la directory da cui viene eseguito il comando. Sul sistema remoto sarà la
directory di accesso dell'utente remoto. La directory corrente è rappresentata
da un punto (.). Per utilizzare i caratteri jolly sul computer remoto, inserire nei
percorsi remoti i caratteri escape \ , ", oppure '.

6.15 Rexec
Consente l'esecuzione di comandi su computer remoti che eseguono il servizio
REXEC. Il comando rexec autentica il nome utente sul computer remoto prima
di eseguire il comando specificato ed è disponibile solo se è stato installato il
protocollo TCP/IP.

rexec computer [-l nomeutente] [-n] comando

Parametri

computer

Specifica il computer remoto su cui viene eseguito il comando specificato da


comando.

57
-l nomeutente

Specifica il nome utente sul computer remoto.

-n

Reindirizza l'input del comando rexec su NULL.

comando

Specifica il comando da eseguire.

6.16 Rsh
Consente l'esecuzione di comandi su computer remoti che eseguono il servizio
RSH. Questo comando è disponibile solo se è stato installato il protocollo
TCP/IP.

rsh computer [-l nomeutente] [-n] comando

Parametri

computer

Specifica il computer remoto su cui viene eseguito il comando specificato da


comando.

-l nomeutente

Specifica il nome utente da utilizzare sul computer remoto. Se questo


parametro viene omesso, verrà utilizzato il nome dell'utente che connesso.

-n

Reindirizza l'input di rsh su NULL.

comando

Specifica il comando da eseguire.

58
6.17 Telnet
Telnet offre il supporto per l'utilizzo del protocollo per l'accesso remoto Telnet,
che può essere utilizzato per connettersi a un computer remoto, a una
periferica di rete o a una rete TCP/IP privata.

Note

Per aprire Telnet, fare clic sul pulsante Start, scegliere Esegui, quindi digitare
telnet. È anche possibile digitare telnet al prompt dei comandi.

Con Telnet è possibile effettuare una connessione remota.

Per utilizzare Telnet è necessario che il protocollo TCP/IP sia installato e


configurato sul computer in uso e che sia stato specificato un account utente
sull'host remoto.

6.18 Tftp
Consente di trasferire file da e verso un computer remoto che esegue il servizio
TFTP. Questo comando è disponibile solo se è stato installato il protocollo
TCP/IP.

tftp [-i] computer [get | put] origine [destinazione]

Parametri

-i

Specifica la modalità di trasferimento di immagini binarie, denominata anche


ottetto. In modalità immagini binarie il file viene trasferito byte per byte.
Utilizzare questa modalità per il trasferimento dei file binari.

Se si omette -i, il file verrà trasferito in modalità ASCII, che corrisponde alla
modalità di trasferimento predefinita. Questa modalità converte i caratteri EOL
in ritorno a capo per UNIX e in ritorno a capo/avanzamento riga per i personal
computer. Si consiglia di utilizzare questa modalità per il trasferimento dei file
di testo. Se il trasferimento del file ha esito positivo, verrà visualizzata la
velocità di trasferimento dei dati.

computer

59
Specifica il computer locale o remoto.

put

Trasferisce la destinazione del file presente nel computer locale all'origine del
file nel computer remoto.

get

Trasferisce la destinazione del file presente nel computer remoto all'origine del
file nel computer locale.

Specificare put se si sta trasferendo il file filedue presente nel computer locale
al file fileuno nel computer remoto. Specificare get se si sta trasferendo il file
filedue presente nel computer remoto al file fileuno nel computer remoto.

Dal momento che il protocollo tftp non supporta l'autenticazione dell'utente, è


necessario che l'utente abbia effettuato l'accesso e che i file possano essere
scritti nel computer remoto.

origine

Specifica il file da trasferire. Se il file locale viene specificato come -, il file


remoto verrà stampato su stdout se è stato utilizzato il comando get oppure
letto da stdin se è stato specificato il comando put.

destinazione

Specifica la posizione in cui il file verrà trasferito. Se si omette destinazione, il


nome sarà considerato uguale a quello di origine.

7. LAN SWITCHING
Tutti gli apparati di rete, quali bridges, switch, router e router possono creare
piccoli domini di collisione, mentre solo i router e le VLAN creano piccoli domini
di broadcast. Il processo di creare piccole collisioni e domini di broadcast si
riferisce alla segmentazione. Una rete può essere divisa in piccole unità,
chiamati segmenti. Ogni segmento utilizza il metodo di accesso CSMA/CD per
mantenere il traffico tra utenti sul segmento. Lo scopo di segmentare una Lan
è quello di isolare il traffico tra segmenti e realizzare maggiore larghezza di
banda per utenza creando piccoli domini di collisione. In una Lan Ethernet
segmentata i dati che passano tra i segmenti di rete vengono trasmessi sulla
backbone della rete utilizzando bridge, router o switch.

60
7.1 Segmentare la LAN con i Bridges

I Bridges sono dispositivi che lavorano al livello 2 del modello OSI e instradano
i frame di dati in base all'indirizzo MAC.

I bridge dividono la rete i due domini di collisione,ovvero operano una


segmentazione della rete.
Quando più stazioni risiedono su uno stesso mezzo trasmissivo usano il
CSMA/CD per poter trasmettere sul media e trasmettono solo quando il canale
risulta libero. Se due stazioni trasmettono simultaneamente si verifica una
collisione. Due stazioni si dicono appartenenti allo stesso dominio di collisione
se trasmettendo simultaneamente creano una collisione.
Il bridge segmenta la rete separandola in due segmenti, con due domini di
collisione distinti e allo stesso tempo ne garantisce la comunicazione. Quando
da un segmento di rete viene trasmesso un frame, tutto le stazioni sul
segmento lo riceveno,bridge compreso, il quale ne legge il campo Destination
address. Il bridge dispone di una tabella comprensiva di tutte gli indirizzi MAC
disposti su segmenti a lui collegati, verifica su quale segmento si trova la
stazione con MAC Address corrispondente al destinatario e opera una decisione
di instradamento. Se il destinatario risiede sullo stesso segmento della stazione
mittente allora non inoltre il frame, in quanto Ethernet trasmette in broadcast
e quindi il frame è già stato ricevuto da tutte le stazioni risiedenti sullo stesso
segmento. Se invece risiede sull’altro segmento inoltra il frame.

Un bridge è considerato un dispositivo "Store and Forward" per il fatto che


esamina il campo indirizzo di destinazione e calcola il CRC nel campo "Controllo
sequenza frame", prima di instradare il frame a tutte le porte. Se la porta di
destinazione è occupata il bridge può temporaneamente immagazzinare il
frame fino a che la porta diventi disponibile. Il tempo di elaborazione di questi
task può rallentare le trasmissioni di rete causando un incremento del ritardo.

61
7.2 Segmentare la LAN con i Routers

I router connettono differenti reti; l’inserimento dei router in una Lan permette
di segmentare la rete. Mentre questo è uno dei benefici dei router, il principale
scopo rimane la selezione del miglior percorso e dello switching dei pacchetti.

I Routers sono dispositivi molto più avanzati rispetto ai Bridge. Un Bridge è


passivo sulla rete e opera al livello data-link. Un Router opera al livello di rete
e basa tutte le sue decisioni sull'instradamento tra segmenti sull'indirizzo di
protocollo a livello di rete.

I Router creano il più alto livello di segmentazione instradando i dati all'hub, al


quale sono connesse le workstations. Un Router realizza le decisioni di
instradamento per segmentare esaminando l'indirizzo di destinazione sul
pacchetto dati e cercando nella sua tabella di routing.

Un Router deve esaminare un pacchetto per determinare il miglior percorso per


l'instradamento.

Le caratteristiche principali della segmentazione di reti con il router sono:

• più gestibile, molto funzionale, percorso multipli


• piccoli domini di collisione
• opera al livello 3

7.3 Segmentare la LAN con i Switch

Gli switch possono essere spiegati come dei bridge multiporta, in cui ogni porta
opera come fosse un bridge unico. Lo switch segmenta la rete con una tecnica
detta microsegmentazione in quanto ogni porta rappresenta un dominio di
collisione unico. Lo switch opera a livello dei frame e per effettuare decisioni di
forwarding si basa sull’indirizzo MAC address, proprio come un bridge. La
differenza sostanziale tra bridge e switch è che il bridge dispone di due porte
cui collegare i due segmenti, mentre uno switch è un bridge che dispone di n
porte. Lo switch inoltre permette di utilizzare la piena larghezza di banda su
ogni porta: ogni porta dello switch disporrà di tutta la larghezza di banda
supportata, indipendentemente dal numero di porte. Ad esempio 10 pc con

62
scheda di rete a 10Mbps collegati a uno switch tutte con porte da 10Mbps
usufruiranno tutti di 10Mbps ciascuno e on 10Mbps/10pc come nel caso di
Etherner shared.
Questo perché lo swich microsegmenta la rete e crea dei circuiti virtuali tra
mittente e destinatario assegnando ad ogni circuito la piena banda disponibile.
Ad esempio se su uno switch ci sono 4 pc che devono comunicare a coppie, si
creeranno due circuiti virtuali da 10Mbps ciascuno, restando nell’esempio di
avere tutti apparati da 10Mbps.

7.4 Benefici del LAN Switching


I switch hanno molti benefici. Un Lan Switch permette a molti utenti di
comunicare in parallelo attraverso l’uso di circuiti virtuali e segmenti di rete
dedicati in un ambiente libero da collisioni. Ciò massimizza la larghezza di
banda disponibile sul “media” condiviso.

Attraverso il Lan switching si hanno i seguenti vantaggi:

• numero di collisioni ridotte


• comunicazioni multiple e simultanee
• collegamenti ad alta velocità
• migliore tempo di risposta della rete
• migliore produttività dell’utente

7.5 VANTAGGI della Segmentazione tramite BRIDGES

Il BRIDGE sono dispositivi che operano al Livello 2 dello stack ISO/OSI, e


permettono la connessione di due segmenti di rete, e la gestione del traffico.
Il bridge, riceve i pacchetti dalla rete ad esso connessa, li immagazzina e li
ritrasmette verso l’altro segmento di rete collegato ad esso.

I vantaggi dell’utilizzo del BRIDGE sono:


- Possibilità di estendere un segmento di una Rete Local ad un’altra rete, o ad
un segmento di essa;
- possibilità di gestire il traffico, mediante la restrizione della trasmissione dei
pacchetti, verso un determinato ramo di rete;
- Un bridge ha la capacità di apprendere quale MAC ADDRESS relativo ad una
determinata workstation, si trova su un dato segmento di rete, e di
conseguenza può gestire l’instradamento o il blocco di pacchetti ad esso
diretti, o da esso generati, basandosi su una propria lista dinamica contenuta
nella RAM del dispositivo.

63
I bridge attualmente, vengono soppiantati tecnologicamente dall’utilizzo di
Switch e Router, che ne inglobano le funzionalità, migliorate negli anni. Lo
SWITCH può essere considerato una evoluzione del BRIDGE, con numerose
“Features” in più.

7.6 Vantaggi della Segmentazione tramite SWITCH

Gli SWITCH sono dispositivi che operano al Livello 2 (In origine) dello stack
ISO/OSI, come i BRIDGES, infatti vengono chiamati anche “Bridge Multi
porta”.
Il Compito dello Switch è :

CONCENTRARE LA CONNETTIVITA’, E CONTEMPORANEAMENTE


RENDERE LA TRASMISSIONE DEI PACCHETTI PIU’ EFFICIENTE

L’utilizzo dello SWITCH permette la segmentazione di un dominio di collisione


in due o più domini più piccoli, a vantaggio della gestione dell’accesso hai
media presenti nella rete, riducendo o eliminando gli accessi contesi.
Migliorando la gestione della BANDA, e riducendo la possibilità di colli di
bottiglia nelle maglie della rete.
L’evoluzione tecnologica ha portato allo sviluppo di SWITCH con capacità di
Routing avanzato, molto vicini alla logica funzionale del ROUTER.

Gli switch di rete di ultima generazione, permettono implementano la


possibilità di gestione di reti in tecnologia VLAN (Virtual Local Area Network).
La tecnologia VLAN permette alla rete connessa allo switch di essere divisa in
più domini di Broadcast, o sotto reti. La tecnologia di switch layer 3 permette
dunque di effettuare il routing delle sotto reti VLAN con velocità decisamente
maggiore, rispetto ad una rete tradizionale.

64
7.7 Tecnologia “FAST ETHERNET”

Di seguito riportiamo i vantaggi della tecnologia fast ethernet 100


BaseT:

• Prestazioni più alte di 100 Mbps


• Possibilità di utilizzo dei stessi cavi di rete e della stessa infrastruttura
esistente
• Possibilità di migrazione da sistema 10 Mbps a 100 Mbps
• La Tecnologia Fast Ethernet è basata sulla già collaudata tecnologia
CSMA/CD

7.8 “Switching Mode”

Per inoltrare un frame attraverso uno switch esistono 2 diversi tipi di


switching:

Store and Forward. L’intero frame è ricevuto prima dell’inizio dell’inoltro di


tutti i pacchetti, quindi l’indirizzo di destinazione e/o sorgente sono letti e
filtrati prima. La latenza avviene mentre il frame inizia ad essere ricevuto ed
essa è maggiore con un frame grande perché l’intero frame impiega piu’ tempo
per essere letto.Il controllo dell’errore è elevato perché lo switch ha
disposizione molto tempo per effettuate il check mentre attende la ricezione
del frame.
Cut-through. Lo switch legge l’indirizzo di destinazione prima di ricevere il
frame. Il frame viene inoltrato prima che sia stato ricevuto completamente. In
questo modo diminuisce la latenza di trasmissione e si ottiene allo stesso
tempo un controllo dell’errore meno accurato. Esistono 2 metodi di cut -through
switching:

Fast-forward switching. Offre un basso livello di latenza poiché i pacchetti


vengono immediatamente inoltrati a destinazione, quindi alcuni pacchetti
potrebbero giungere all’indirizzo di destinazione con alcuni errori.
Quando si presenta un caso simile il dispositivi di destinazione scarta i
pacchetti con l’errore.
Si può usare l’opzione fragment-free per ridurre il numero dei pacchetti
con errore inviati. Nel modo fast-forward la latenza è misurata dal primo
bit ricevuto al primo bit trasmesso, o primo in ingresso, primo in uscita
(FIFO).

65
Fragment Free switching. Questo modo filtra i frammenti di collisione
che sono quelli che contengono la maggior parte dei pacchetti con errori,
prima di inoltrarli. In una rete che funziona correttamente i frammenti di
collisione devono essere piu’ piccoli di 64 Kb, anche se pacchetti di
dimensioni superiori sono nella maggior parte dei casi ricevuti senz a
errori. Il fragment free switching attende, prima di inoltrarli, che i
pacchetti ricevuti non siano stati identificati come frammenti di collisione.
Anche per questo modo la latenza è misurata come FIFO.

La latenza dei modi di switching dipende da come lo switch inoltra i


frame. Il modo piu’ veloce è anche quello con la latenza minore. Per
effettuare un inoltro veloce lo switch impiega meno tempo per il controllo
degli errori, per questo motivo si può incorrere in un elevato numero di
ritrasmissioni.

7.9 SPANNING-TREE

La funzione piu’ importante del protocollo Spanning-Tree è la possibilità di


duplicazione dei percorsi switched/bridged senza avere effetti di latenza nella
rete. I bridge e i switch inoltrano un frame unicast basandosi sull’indirizzo MAC
di destinazione nel frame. Se il MAC di destinazione è sconosciuto , l’appartato
invia il frame a tutte le porte cercando di raggiungere la destinazione. Questo
avviene per tutti i frame broadcast.

L’algoritmo spanning-Tree è implementato tramite un protocollo Spanning-


Tree. Quando si crea una rete fault-tolerant, un percorso loop-free deve
esistere tra tutti i nodi Ethernet della rete per calcolare questo percorso loop-
free viene usato l’algoritmo Spanning-Tree. I frame Spanning-Tree, chiamati
BPDUs (bridge protocol data units) sono inviati e ricevuti da tutti gli switch
nella rete ad intervalli regolari e sono usati per determinare la topologia
Spanning-Tree.

Uno switch usa il protocollo Spanning-Tree su tutte le VLAN basate su Ethernet


e Fast Ethernet.
Il protocollo Spanning-Tree determina ed interrompe i loop mettendo alcune
connessioni in standby le quali sono poste in uno stato di “active connection
failure”. Un’istanza separata del protocollo gira in ogni VLAN configurata,
assicurandosi che le topologie etherner siano conformi agli standard su tutta la
rete.

66
Gli stati del protocollo Spanning-Tree sono i seguenti:

• Blocking-No frames forwarded, BPDUs rilevato


• Listening-No frames forwarded, ascoltare per frames
• Learning-No frames forwarded, indirizzi acquisiti
• Forwarding-Frames forwarded, indirizzi acquisiti
• Disabled-No frames forwarded, BPDUs non rilevato

7.10 Virtual LAN

Una VLAN può essere definita come un dominio broadcast. Gli apparati
appartenenti alla stessa VLAN, a prescindere dalla topologia della rete fisica
che li connette e dalla loro localizzazione formano un unico dominio broadcast.
Utilizzando una VLAN è possibile ottenere un utilizzo ottimale della banda
disponibile: una rete può essere logicamente suddivisa in domini distinti di
modo che i pacchetti broadcast siano inoltrati solo ai membri della VLAN di cui
l’apparato fa parte. Con l’introduzione delle VLAN in apparati di livello 2
(Swicth)si ha il vantaggio di un aumento della sicurezza nella rete: il traffico
tra domini diversi (VLAN diverse) deve attraversare ed interpellare un apparato
di livello 3 (Router). In questo modo si ha la possibilità di implementare
politiche di sicurezza per mezzo di meccanismi di “filtraggio” dei pacchetti sul
router che mette in comunicazione le VLAN.

TIPI DI VLAN

La VLAN può essere implementata in 3 modi:

port-centric VLAN. Tutti i nodi connessi per porte nella stessa VLAN sono
assegnati allo stesso VLAN ID. Questa implementazione rende piu’ semplice
l’amministrazione e aumenta l’efficienza della rete perché:

- Gli utenti sono assegnati per porta


- Facilità di amministrazione della VLAN
- Aumenta il livelli di sicurezza tra le VLAN.
- I pacchetti non transitano in altri domini.

67
static VLAN. Sono porte assegnate su uno switch che possono essere
staticamente assegnate per una VLAN e mantengono la loro configurazione
finchè non vengono modificate.

dynamic VLAN. Sono porte su uno switch che possono automaticamente


determinare la VLAN a cui appartengono. Le funzioni di questa Vlan sono
basate sull’indirizzo MAC, indirizzamento logico o tipo di protocollo. Quando
una macchina viene connessa ad una porta non assegnata dello switch,
l’apparato appropriato controlla il MAC address nel database della VLAN e
dinamicamente configura la porta con le impostazioni della VLAN
corrispondente.

7.11 MAC ( MEDIA ACCESS CONTROL )


Creato per l’accesso concorrente al media di collegamento, attraverso l’utilizzo
di un identificatore unico di rete, chiamato anche indiricco fisico, detto MAC
address. Tale identificativo è un indirizzo fisico in quanto identifica in modo
“fisico” un host, a differenza dell’indirizzo IP logico che puo’ identificare un
aggregato di host connessi

L’indirizzo MAC, o indirizzo fisico, è un identificatore che viene stampato nella


ROM delle schede di rete. Questo indirizzo permette l’unicità assoluta di una
scheda piuttosto che di un’altra. Il formato di un indirizzo MAC è in
esadecimale. Il sistema esadecimale, a differenza del binario o del decimale,
ha 16 numeri : 0-1-2-3-4-5-6-7-8-9-A(10)-B(11)-C(12)-D(13)-E(14)-F(15).
Ritornando all’ indirizzo MAC è doveroso fare una considerazione su come
viene interpretato tale indirizzo. Infatti esso è composto da 48 bit, parte dei
quali appartengono alla società di produzione della scheda di rete, mentre la
seconda parte è variabile.

I primi 24 bit (OUI) appartengono alla società di fabbricazione della scheda di


rete, mentre i restanti 24 bit sono riferiti alla scheda vera e propria in modo
arbitrale. Un indirizzo MAC assumerà quindi questo aspetto : 00-50-8B-9A-C6-
F5, oppure, in un altro formato meno utilizzato, potrà comparire nel modo
seguente : 0050.8B9A.C6F5.

Mac e Scheda di rete

Una rete Ethernet 802.3 è una rete che funziona in modalità broadcast : tutti
gli host ricevono ed esaminano i frames indipendentemente se sono o no i
destinatari . A questo punto il frame ha nel campo destination l’indirizzo MAC
dell’host di destinazione. Gli host della rete quindi non dovranno fare altro che
68
confrontare il proprio indirizzo MAC con quello all’ interno del frame ed agire di
conseguenza. Se l’indirizzo corrisponde il frame viene elaborato e tenuto, al
contrario in frame viene eliminato.

Se da un lato l’indirizzo MAC risolve non pochi problemi legati all’


individuazione sulla rete dei vari host, dall’altro pecca sotto l’aspetto della non
gerarchizzazione degli indirizzi. L’indirizzamento MAC è infatti considerato un
indirizzamento “flat”, dove i problemi potrebbero aumentare con l’aumentare
del numero degli host di una rete.

8. ROUTING: CONCETTI GENERALI

Il Routing permette di instradare le informazioni in una rete


Per capire bene il concetto di routing, prendiamo in esame la funzionalità di un
router.

La funzione principale del router, quella per cui un dispositivo di questo tipo è
stato ideato, è quella del routing, operazione con la quale il router prende i
pacchetti in arrivo su di una interfaccia, li esamina, decide dove vanno inoltrati
e li inoltra verso la interfaccia di destinazione che li trasmette.

In realtà questa operazione comprende due processi che possono essere


effettuati o meno dal router per ogni pacchetto:

• Routing: nel processo di routing vero e proprio, il router esamina il


pacchetto e, tramite una ricerca nella sua tabella di routing, decide su
quale interfaccia va inoltrato.
• Switching: il processo di switching è più semplice; il pacchetto viene
inoltrato dall’interfaccia sorgente verso l’interfaccia di destinazione e
trasmesso verso il prossimo next-hop utilizzando tecniche per velocizzare
il processo decisionale.

Il processo di routing identifica la destinazione del traffico anche in base alle


condizioni attuali della rete, inoltrando poi i pacchetti verso una o più
interfacce, basandosi anche sulla velocità dei collegamenti, la distanza dalla
destinazione e il tipo di protocollo che viene routato. Il processo di routing vero
e proprio è più intensivo per il processore del router rispetto al processo di
switching perchè la fase decisionale è quella più complessa da effettuare ed è
influenzata appunto da numerosi parametri.

69
Per questo motivo si cerca di effettuare l’operazione di ricerca (lookup) nella
routing table il meno possibile e di conseguenza è stata ideata una tecnica per
evitare di effettuare il lookup per ogni pacchetto che transita attraverso il
router. Il primo pacchetto che viene routato verso una certa destinazione
richiede che il router effetti una ricerca (lookup) nella tabella di routing
(routing table) alla ricerca del next-hop (ovvero del prossimo router a cui
inoltrare il pacchetto) e di conseguenza dell’interfaccia su cui inviare il
pacchetto stesso. I pacchetti successivi, invece, diretti verso la stessa
destinazione, vengono inoltrati tramite il processo di switching.

Tramite il processo di switching il router identifica il prossimo hop verso


l’indirizzo di destinazione. Questo processo è molto più performante del
processo di routing perchè muove direttamente i pacchetti dal buffer
del’interfaccia di input verso il buffer dell’interfaccia di output (o delle
interfacce di output) ottimizzando al massimo il processo di identificazione
dell’interfaccia di destinazione e non costringe il router a effettuare un nuovo
lookup nella routing table.

8.1 Routing in Microsoft

Il servizio Routing e Accesso remoto di Microsoft Windows 2000 Server offre:

- Servizi di routing multiprotocollo LAN-to-LAN, LAN-to-WAN, rete privata


virtuale (VPN, Virtual Private Network) e conversione indirizzi di rete (NAT,
Network Address Translation).

- Servizi di accesso remoto VPN e di connessione remota.

Il principale vantaggio del servizio di Routing è l'integrazione con il sistema


operativo di Windows 2000 Server che fornisce numerose caratteristiche a
basso costo e opera con un'ampia varietà di piattaforme hardware. In una rete
di medie dimensioni e per chi vuole implementare una soluzione meno costosa
rispetto agli apparati dedicati (router hardware), questa potrebbe essere la
soluzione ideale.

70
Il router Windows 2000 include le seguenti caratteristiche:

· Routing unicast multiprotocollo per IP (Internet Protocol), IPX (Internetwork


Packet Exchange) e AppleTalk.

· Protocolli di routing IP unicast standard: OSPF (Open Shortest Path First) e


RIP (Routing Information Protocol) versioni 1 e 2.

· Servizi e protocolli di routing IPX standard: RIP (Routing Information


Protocol) per IPX e SAP (Service Advertising Protocol) per IPX.

· Servizi multicast IP in modalità router IGMP (Internet Group Management


Protocol) e in modalità proxy IGMP per abilitare l'inoltro di traffico IP multicast.

· Servizi di conversione indirizzi di rete IP (NAT) per semplificare le reti private


e la connessione di reti SOHO (small office or home office) a Internet.

· Filtraggio di pacchetti IP e IPX per la protezione e le prestazioni.

· Routing con connessione a richiesta su collegamenti WAN di accesso remoto.

· VPN (Virtual private network) supporta il protocollo PPTP (Point -to-Point


Tunneling Protocol) e il protocollo L2TP (Layer Two Tunneling Protocol) su
IPSec (Internet Protocol security).

· Supporto standard per agente di inoltro DHCP (Dynamic Host Configuration


Protocol) per IP.

· Supporto standard per annunci router mediante l'utilizzo della scoperta router
ICMP (Internet Control Message Protocol).

· Supporto tunneling mediante l'utilizzo di tunnel IP-in-IP.

· Un'interfaccia GUI (Graphical User Interface) per la configurazione e il


monitoraggio remoti.

· Un'interfaccia della riga di comando per l'esecuzione di script e per


l'automazione della configurazione e del monitoraggio remoto.

· Supporto per le capacità di risparmio energia di Windows 2000.

· Capacità di gestione del protocollo SNMP (Simple Network Management


Protocol) con il supporto MIB (management information bases).

71
· Supporto esteso per i supporti inclusi Ethernet, Token Ring, FDDI (Fiber
Distributed Data Interface), ATM (asynchronous transfer mode), ISDN
(Integrated Services Digital Network), T-Carrier, Frame Relay, xDSL, modem di
connessione, X.25 e modem analogici.

· Le interfacce API per i protocolli di routing, l'amministrazione e l'interfaccia


utente per abilitare lo sviluppo sulla piattaforma del router Windows 2000.

8.2 Il protocollo RIP (Routing Information Protocol)

Il protocollo IGP (Interior Gateway Protocol) maggiormente utilizzato oggi su


Internet e' senza dubbio il protocollo RIP.

RIP e' l'acronimo di Routing Information Protocol ed e' un protocollo


relativamente semplice appartenente alla famiglia di protocolli di tipo "distance
vector".

E' il protocollo di routing IP più vecchio ancora in uso : la versione IP esiste in


due versioni, la seconda versione aggiunge nuove funzionalità a questo
protocollo. RIPv1 è di tipo classfull mentre RIPv2 è classless. L' algoritmo
distance vector è stato sviluppato da Bellman, Ford e Fulkerson nel lontano
1969 : poi è stato integrato dalla Xerox Network System nei suoi protocolli
come XNS RIP. Tale protocollo è stato precursore di comuni protocolli di
routing come Novell IPX RIP, AppleTalk Routing Table Maintenance Protocol
(RTMP) e naturalmente IP RIP. Nella versione 4.2 del Berkley UNIX rilasciata
nel 1982 il RIP è implementato come un processo demone chiamato routed :
ancora molte versioni di UNIX implementano il RIP.

8.3 Il Protocollo OSPF (Open Shortest Path First)


OSPF e' l'acronimo di Open Shortest Path First; questo protocollo di routing si
basa sulla tecnologia Link State, a differenza di RIP che e' invece basato
sull'algoritmo distance vector ed il suo progetto ha seguito la teoria di questa
tecnologia: esistono infatti un database distribuito, una procedura di flooding,
una definizione di adjacency e records speciali per routes esterne.

72
OSPF utilizza il concetto di gerarchia, per cui permette di gestire reti di
dimensioni notevoli. Un AS viene suddiviso in aree, le quali contengono un
gruppo di reti contigue. Questo garantisce un basso utilizzo di CPU e memoria.

OSPF e' un protocollo sviluppato dalla IETF, e' utilizzato su Internet ed e' il
protocollo raccomandato dalla IAB in sostituzione di RIP.

OSPF e' stato progettato per :

• Separare hosts e routers


• Utilizzo su reti broadcast, quali Ethernet, Token Ring o FDDI
• Utilizzo su reti non broadcast, quali X.25 o ATM
• Suddividere grandi reti in aree

8.4 IGRP (Interior Gateway Routing Protocol)


Il protocollo IGRP e' un protocollo di routing sviluppato dalla CISCO nella metà
degli anni 80. Anche questo protocollo, cosi' come il protocollo RIP, si basa
sull'algoritmo distance vector; tuttavia vi sono alcuni aspetti che lo rendono,
rispetto al RIP, piu' efficiente.

In particolare, tali aspetti possono essere identificati in:

• Metriche piu' sofisticate


• Supporto del multipath routing
• Migliore stabilita'

Inoltre, rispetto a RIP, IGRP utilizza una frequenza di update delle route
inferiore (90 s).

Il protocollo IGRP permette il routing all’interno dell’Autonomous System (l’AS


è identificato da un intero su 16 bit) e non è standard Internet.

8.5 EIGRP (la versione "Enhanced " di IGRP)


Agli inizi degli anni ‘90, e' stata sviluppata la versione "Enhanced " (EIGRP).

Il protocollo EIGRP (Enhanced IGRP) e' stato sviluppato da CISCO a partire


dalla release software 9.21 sulle basi del protocollo IGRP, rispetto al quale
sono stati introdotti i seguenti miglioramenti:

73
• Convergenza più rapida
• Maschere a lunghezza variabile
• Minore traffico di routing
• Trasferimento di dati affidabile (Reliable Transfer Protocol)
• Supporto multiprotocollo
• Loop Free (ma si possono verificare dei Black Hole)

EIGRP non prevede updates periodici; in effetti ogni router mantiene una copia
delle routing table di tutti i router adiacenti ed i messaggi di scambio delle
route devono quindi essere di tipo affidabile.

In caso di cambio di una route si attiva il "Diffusing Update ALgorithm" (DUAL).


Questo algoritmo e' basato sull’idea che non si può creare un loop, scegliendo
un percorso migliore per giungere a destinazione, mentre è vero il contrario.

8.6 BGP (Border Gateway Protocol)


BGP (Border Gateway Protocol) e' un protocollo di routing tra domini,
correntemente utilizzato sul backbone di Internet ed e' in pratica il successore
del protocollo EGP (Exterior Gateway Protocol).

In effetti questo protocollo viene usato soprattutto su Internet dove diversi


(autonomous system) AS sono collegati a questa grande rete attraverso
strutture chiamate Internet Service Provider (ISP).

Il protocollo BGP costruisce un grafo di autonomous system basato sulle


informazioni che si scambiano i router : questo grafo viene chiamato anche
albero in cui ciascun AS viene identificato con un numero univoco. La
connessione tra due AS si chiama percorso e una collezione di percorsi forma a
sua volta un percorso che viene utilizzato per raggiungere la destinazione

BGP e' definito nelle RFC 1105, 1163 e 1267 ed è ormai giunto alla versione
BGP-4, con estensioni che ne permettono di trasportare più protocolli.

74
9. Reti locali e geografiche
Una rete è un insieme di host ed apparecchiature connesse attraverso un
media di collegamento. Attraverso la struttura, la dimensione e i tipi di
supporti utilizzati è possibile stabilire se un rete è locale oppure di tipo
geografico.

9.1 LAN (Local Area Network)


Una rete locale ( LAN : local Area Network ), è una rete di piccole dimensioni
( min. una stanza max un edificio ). Le caratteristiche che contraddistinguono
una rete locale sono: supporti usati (coassiale, doppino telefonico o sistemi
wireless), velocità elevate e tassi di errore minimi data la semplicità della rete
stessa.

Ethernet ( IEEE 802.3) e Token Ring ( IEEE 802.5) sono due tipi di reti locali
molto diffuse, anche se la token ring è in via di estinzione.

9.1.1 Ethernet
Ethernet è il tipo rete locale più diffuso nel mondo. Fin dalle sue origini,
definite nel documento IEEE 802.3, rappresenta un sistema di comunicazione i
cui punti chiave sono i costi contenuti e la semplicità d'installazione e gestione.

L'accesso alla rete è disciplinato in modo non deterministico dal sistema


CSMA/CD, che permette ad un computer di usare la rete solo se nessun altro la
stava già usando. L'estensione che Ethernet può coprire varia da circa 200m a
2,5Km a seconda delle varie versioni, con velocità di 10Mbit/s, 100Mbit/s fino a
1000Mbit/s di Gigabit Ethernet. Possiede una struttura elettrica a bus: il
segnale raggiunge tutti gli altri nodi seguendo un solo percorso. La struttura
fisica invece può essere a bus o a stella, in cui i nodi si collegano ad un punto
centrale.

Il progetto Ethernet nacque nei primi anni 70 presso il Palo Alto Research
Center (PARC) di Xerox. Successivamente è stato riveduto e aggiornato da tre
società congiunte, Digital, Intel e Xerox (DIX), prima nel 1980, con il rilascio
della prima versione di Ethernet, poi nel 1982 con l'uscita delle specifiche di
Ethernet 2. Nel 1983 si è avuta la prima definizione ufficiale di Ethernet ad
opera dell'IEEE, nel documento 802.3, contenente le specifiche fisiche ed

75
elettriche. Negli anni seguenti le specifiche sono state via via aggiornate,
includendo il supporto per il cavo coassiale grosso e sottile, per il doppino UTP
e per le fibre, con velocità sempre crescenti. E' comunque bene tenere
presente che in condizioni normali, con numerosi nodi collegati, la velocità
effettiva di trasmissione si aggira intorno al 40, 50% del valore dichiarato.

Le varie versioni di Ethernet possiedono nomi come 10Base-2, 10Base-5,


10Base-T... Questo nome contiene informazioni riguardanti le caratteristiche
salienti del tipo di rete. Il primo numero indica la velocità in Mbit/s. La parola
Base sta per baseband. In una rete baseband il segnale viene trasmesso
attraverso un'onda portante a 20Mhz, secondo la codifica Manchester. L'ultimo
numero indica la distanza massima che può coprire un singolo segmento. Se
invece di un numero è presente una lettera, questa indica il mezzo
trasmissivo: T sta per Twisted pair, il doppino ritorto, F sta per Fiber, la fibra
ottica.

9.1.2 Token Ring


Token ring venne sviluppata da IBM negli anni 70 e le sue specifiche vennero
utilizzate dalla IEEE per sviluppare la specifica 802.5, la quale mantiene la
piena compatibilità e supporto con la tecnologia IBM.

Specifiche del frame Token Ring

Il frame Token ring è formato da 3bytes di dati suddividi in 3 campi:

Access control byte Contiene il campo Priorità e prenotazione più un bit di


token e di monitor, i quali rispettivamente distinguono un token da un frame di
dati o comando e determinano se un frame circola costantemente nell’anello. Il
segnale di End delimeter segnala la fine del frame.

Data/commands frame Frame che contengono o dati per i protocolli ai layer


superiori o comandi. I frame con i comandi contengono solo informazioni e non
dati per i livelli superiori. Un frame control byte specifica se il frame contiene
dati o comandi e la tipologia di quest’ultimi.

address fields I due campi address specificano la destinazione e la sorgente


del frame, entrambi da 6 bytes.

Data field Contiene i bytes dei dati da inviare e tale campo è di lunghezza
variabile, dipendendo dalla durata per cui un host può tenere il token e inviare
dati.

76
FCS Frame check sequence, un codice di CRC che viene utilizzato dal
destinatario del frame per verificarne l’esatezza e la congruenza.

End delimeter Campo che delimita la fine del frame

Accesso al mezzo con Token ring Toekn ring è una rete ad accesso
deterministico. Ciò significa che al contrario di Ethernet le stazioni non stann
oin ascolto sul mezzo fisico e trasmettono quando il canale è libero, bensì
trasmettono solo quando posseggono il token. Il token circola nell’anello di rete
passando di host in host. L’host che lo possiede ha la facoltà di trasmettere. Se
non ha nulla da inviare passa il token alla stazione successiva mentre se deve
trasmettere modifica il token alterandolo e facendolo diventare uno start -of-
frame. La stazione poi attacca i dati da spedire creando un frame token ring
come descritto precedentemente. Durante la trasmissione non ci sono token in
rete e le altre stazioni possono solo ricevere.

9.2 WAN (Wide Area Network)

Una rete geografica ( WAN : Wide Area Network ) è invece una rete molto
complessa, che puo’ coprire l’ intero globo terrestre. Le sue caratteristiche
sono l’ utilizzo di supporti avanzati ( rame, fibra ottica, satellite ), particolari
metodi per la trasmissione dei dati ( multiplexing ), tassi di errore più elevati
data l’ area di copertura maggiore.

Con il concetto di rete geografica si entra nel mondo dell'internetworking,


ovvero la connessione fra di loro di diverse Lan e lo scambio di pacchetti
attraverso bridge e e router.

Le principali carateristiche di una Wan ( wide area network) si possono


riassumere nei fattori principali che la distinguono da un Lan:

§ Utilizzo dei servizi di trasporto delegati a provider telefonici;


§ Utilizzo di connessioni seriali;
§ Utilizzo di apparati specifici per le aree geografiche come: router, switch,
modem, communication servers.

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

§ International Telecommunication Union-Telecommunication


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

A livello fisico vengono prese in esame le intefacce DTE (data terminal


equipment) e DCE (data circuit-terminating 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 rigurda la funzionalità di timing che è
demandata al DSU.

A livello fisico gli standard di riferimento sono:

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

A livello Data-Link i protocolli più usati sono:

• High-Level Data Link Control (HDLC) standard dello IEEE. Non è


compatibile con tutti gli apparati di rete. Molti produttori implementano
versioni proprietarie di questo protocollo. HDLC supporta la
configurazione point -to-point e quella multipoint.
• Frame Relay. Questo protocollo utilizza i vantaggi dell'alta qualità
digitale. Utilizza una trama (frame) semplificata senza meccanismo di
correzzione. Questa caratteristica gli 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 with frame relay.

79
9.2.1 TECNOLOGIE WAN DI LIVELLO 1 - Tabella
comparativa
TECNOLOGIA Massima larghezza di banda Caratteristiche
POTS
Plain Old Telephone Service 4 Khz Lo standard per l'affidabilità
ISDN
Integrated Services Digital
Network 128 Kbps Dati e voce sulla stessa tecnologia
Vecchia tecnologia ma molto
X.25
affidabile
Frame Relay fino a 44,736 Mbps L'evoluzione di ISDN
ATM
Asynchronous Transfer Mode 622 Mbps Performance ad alto costo
SMDS
Switched Multimegabit Data
Service 44,736 Mbps Variante metropolitana di ATM
T1, T3 da 1,54 a 44,736 Mbps Tecnologia fra le più in uso
Nuova tecnologia per piccole
DSL
384 Kbps aziende
SONET 9.992 Mbps Il backbone di Internet
MODEM 56 Kbps Bassa velocità su linee telefoniche
WIRELESS DI TERRA 11 Mbps Microonde a terra
WIRELESS SATELLITARE 2 Mbps Il wireless per utenti mobili

Circuit-Switched Services

• POTS (Plain Old Telephone Service). Questa tecnologia non riguarda i


computers 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 twisted-pair.

• 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 utiliizza come media fisico il cavo in
rame di tipo twisted-pair.

Packet-Switched Services

• X.25 è una vecchia tecnologia ancora molto usata che permette un


controllo di errore molto raffinato. Purtroppo la larghezza di banda è

80
limitata. Anche la tecnologia X.25 utiliizza come media fisico il cavo in
rame di tipo twisted-pair.

• Frame Relay è la versione packet-switched di ISDN ed è diventata una


delle tecnologie più diffuse. E' più efficente di X.25 e, pur erogando gli
stessi servizi, può ussufruire di una larghezza di banda massima di
44.736 Mbps. Utilizza il media di rame a due fili intrecciati e la fibra
ottica.

Cell - Switched Services

• 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. Dato il costo relativamente alto
noon è molto diffusa. Utilizza il media di rame a due fili intrecciati e la
fibra ottica.

Dedicated Switched Services

• 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" per partizionare e
assegnare temporaneamente segmenti logici di rete su WAN. La tabella
della larghezza di banda è la seeguente:

• T1 -- 1.544 Mbps
• T3 -- 44.736 Mbps
81
• E1 -- 2.048 Mbps
• E3 -- 34.368 Mbps
• e altre.....

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

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

• HDSL -- high-bit-rate DSL


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

• SONET (Synchronous Optical Network) -- E' una tecnologia ad alta


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

9.2.2 ALTRI SERVIZI WAN

• I Modem analogici possono essere usati sulle linee telefoniche


convenzionali anche se le velocità sono molto contenute. La velocità

82
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 cade 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 coassiaale televisivo..
• Wireless - Non richiede nessun cavo poichè utilizza onde
elettromagnetiche. Fra i vari tipi di tecnologie wireless per Wan vanno
citate:

• Terrestri - Con le microonde raggiungono 11 Mbps ad un costo non


molto alto. Abbisognano del campo visivo diretto fra i due estremi, senza
interruzioni intermedie

• Satellitari - Utilizzate per utenti mobili (PDA e cellulari) ad un costo


ancora troppo alto per raggiungere grandi platee di utilizzatori.

NOS ( Network Operating System )


In passato, per permettere ad un sistema operativo di comunicare collegato in
rete, occorreva aggiungere delle funzionalità software. Possiamo pensare a Lan
Manager della Microsoft che era un supplemento per computer MS-DOS,
Windows 3.x, OS/2 e Unix per consentire le comunicazioni in rete. Con la
nascita di Windows NT nasce il vero NOS.

Le attività di un NOS sono ampie, numerose e complesse e quindi richiedono


parecchia potenza di elaborazione. Per ottenere maggiori prestazioni i NOS si
servono di un processo chiamato "multitasking", che consente ad un sistema
operativo di avviare numerosi processi controllando più attività
contemporaneamente.

Esistono due tipi di multitasking:

• Preemptive (a sospensione)

Il sistema operativo controlla quali processi possono accedere alla CPU e per
quanto tempo.

• Cooperativo

83
Il sistema operativo non può fermare un processo; una volta che un processo
ottiene il controllo della CPU, lo tiene fino a quando è completo. Durante
questo tempo, a nessun altro processo è consentito l’accesso alla CPU.

Un NOS ad alte prestazioni si serve del multitasking a sospensione.

10 Presentazione del Sistema Operativo Microsoft


Windows 2000
Microsoft Windows 2000 è il nuovo sistema operativo, lanciato sul mercato a
livello mondiale il 17 Febbraio 2000. Negli intenti di Microsoft, desidera imporsi
sia in ambito aziendale, sia in quello consumer, divenendo la naturale
continuazione di Microsoft Windows 9x.
Va sottolineato tuttavia che Microsoft Windows 2000 deriva in gran parte dalla
tecnologia NT ereditandone da un lato tutti i pregi in termini di stabilità e
sicurezza, dall'altro introducendo requisiti hardware più consistenti.
Windows 2000 unisce i vantaggi di NT alla semplicità d'uso di Windows 98
risultando, nell'interfaccia, molto simile ai sistemi Windows 9x.
L'interfaccia utente di Microsoft Windows 2000 è paragonabile a quella di
Windows 98 con Internet Explorer 5 e a Windows NT4 con il Service Pack 4.
Ulteriori miglioramenti sono comunque stati apportati in modo da rendere il
sistema immediatamente utilizzabile anche dai meno esperti.

Microsoft Windows 2000 basa tutte le sue nuove caratteristiche su Active


Directory, una sorta di database omnicompresivo in grado di fornire dettagliate
informazioni su ogni computer di rete, sulle risorse, sugli utenti, sui programmi
installati, sui dati inseriti da parte degli amministratori etc.

Microsoft Windows 2000 include il DFS (Distributed File System), disponibile


anche in NT4 sotto forma di add-on, che permette di riunire, in modo del tutto
trasparente, unità multiple collocate su computer diversi sotto forma di
un'unica unità logica.

84
10.1 Active Directory – Il potenziale di Microsoft
Windows 2000

Il servizio di directory presente in Windows 2000 Server prende il nome di


Active Directory. Il nuovo database distribuito archivia le informazioni relative
alle risorse di rete, compresi tutti i servizi che rendono disponibili le
informazioni. Le risorse archiviate nella directory (dati, stampanti, gruppi,
computer, criteri di protezione) prendono il nome di "oggetto". Le
caratteristiche degli oggetti nella directory sono gli "attributi" dell'oggetto. Gli
oggetti possono essere organizzati in "classi" (computer, gruppi, OU). Alcuni
sono chiamati "contenitori" come le OU (Organization Unit) poichè contengono
ulteriori informazioni relative ad utenti, gruppi, computer etc.

L’installazione di Active Directory è possibile solo per i sistemi Windows 2000


Server, Advanced Server e Data Center Server. Prima di installare Active
Directory è necessario che la partizione sia formattata con il file system NTFS e
che il protocollo TCP/IP sia configurato correttamente. Fondamentale la
configurazione del servizio DNS, per sfruttare al massimo l'integrazione con
Active Directory.

10.1.1 Alcune delle principali caratteristiche di Active


Directory

Amministrazione semplificata: utilizzando la console MMC gli oggetti della rete


vengono gestiti in modo semplice e dettagliato.

Scalabilità: il servizio di directory (SAM) di Windows NT supporta un massimo


di 40,000 oggetti. Active Directory supporta milioni di oggetti.

Supporto standard aperto: integrazione con DNS, LDAP, Kerberos 5, LDIF,


SNTP, HTTP, ADSI (Active Directory Services Interface)

85
10.1.2 Struttura di Active Directory
I componenti principali nella struttura di Active Directory sono quattro:

1. Struttura

2. Insieme di Strutture

3. Unità Organizzativa (OU, Organizational Unit)

4. Sito

Struttura Logica di Active Directory

In Active Directory le risorse vengono organizzate in una struttura logica, in


modo da consentire di individuare una risorsa in base al nome.

Struttura "Tree"

Una struttura è un raggruppamento o una disposizione gerarchica di uno o più


domini Windows 2000. Essa viene creata aggiungendo uno o più domini "child"
ad un dominio "parent".

Figura 1.1 Struttura (Tree)

In questo esempio NetworkingItalia.com è il dominio parent e


it.NetworkingItalia.com e uk.NetworkingItalia.com sono i relativi domini child.
Il dominio child di it.NetworkingItalia.com è sls.it.NetworkingItalia.com.

86
Insieme di Strutture "Forest"

E’ l’insieme di domini Microsoft Windows 2000 connessi attraverso un “Trust


Transitivo Bidirezionale” che condividono uno Schema comune, la
Configurazione e un Catalogo globale. E’ necessario che i domini formino uno
Spazio dei nomi continuo gerarchico. “Tree e Forest” condividono lo stesso
schema, catalogo globale e una Trust Relationships a 2 vie transitiva.

Figura 1.2 Insieme di Strutture (Forest)

Convenzioni di Denominazione

Il nome che identifica univocamente un oggetto e la relativa locazione in una


struttura è il DN (distinguished name). Un tipico nome distinto può essere:
CN=Claudio,CN=Users,DC=NetworkingItalia,DC=It. Questo identifica l'oggetto
utente Claudio nel dominio Networkingitalia.it. Il DN deve essere univoco nella
directory.

Attributi del DN

DC - Nome del componente di dominio

OU - Nome dell'unità organizzativa

CN - nome comune

Il nome distinto relativo RDN (relative distinguished name) è la parte del nome
che corrisponde all'attributo dell'oggetto. Ad esempio se vi sono due Gigi Cogo
nella stessa OU (organizational unit), avranno due RDN differenti, come
CN=cogo e CN=cogo1,in modo che i DN siano diversi. L'RDN deve essere
univoco in una OU.

L'identificatore univoco globale GUID (globally unique identifier) è un numero a


128 bit univoco e viene assegnato ad ogni oggetto al momento della creazione.

87
I GUID non vengono mai modificati anche se l'oggetto viene spostato o
rinominato. Sono molto utili nel caso si voglia recuperare un oggetto
indipendentemente dal DN. Un GUID è univoco in tutti i domini, a differenza
del SID di Windows NT che era univoco solo all'interno del dominio. Quindi con
il GUID è possibile spostare gli oggetti da un dominio a un altro mantendendo
un ID univoco.

Il nome principale utente UPN (user principal name) è composto da un nome


account utente e da un nome di dominio che identifica il dominio in cui è
collocato l'account utente. Il formato è: Claudio@networkingitalia.it (come per
un indirizzo email)

Schema

Lo schema di Active Directory rappresenta il vero e proprio elenco dove


vengono definiti i tipi di oggetti e di informazioni. Lo schema non può essere
eliminato, ma solo disattivato e inoltre viene replicato automaticamente. E'
possibile estenderlo nel caso si vogliano inserire nuove informazioni ma è
necessario che l'operazione venga effettuata da sviluppatori e amministratori
esperti.

Catalogo Globale (GC)

E' l'archivio centrale di informazioni relative agli oggetti della struttura o


dell'insieme di strutture.Di default viene creato automaticamente sul controller
di dominio iniziale nell'insieme di strutture, noto come Server di Catalogo
Globale. Il GC archivia una replica "completa" di tutti gli attributi degli oggetti
nella directory per il relativo dominio host e una replica "parziale" per tutti gli
attributi degli oggetti contenuti nella directory di ciascun dominio dell'insieme
delle strutture. Inoltre memorizza tutti i membri dei gruppi universali e
consente ai client di visualizzare oggetti al di fuori del proprio dominio.

Occorre disporre di almeno un catalogo globale in ogni sito.

OU (Organizational Unit)

Oggetto contenitore di Active Directory utilizzato all’interno di domini. Le OU


sono contenitori logici in cui è possibile collocare utenti, gruppi, ed altre OU.
Sono in grado di contenere solo oggetti del relativo dominio.

Facilitano la Gestione e l’Amministrazione degli Oggetti nell’AD. Inoltre alle OU


è possibile assegnare un criterio di gruppo (GPO).

88
Struttura Fisica di Active Directory

I componenti fisici di Active Directory sono siti e controller di dominio.

Definizione di Sito

Raggruppamento di una o più sottoreti connesse da un collegamento ad alta


velocità (almeno 512 Kbps) e da una larghezza di banda di 128 Kbps.

Definizione di Domain Controller (DC)

E' un computer Windows 2000 Server che archivia una replica della directory di
dominio.

Active Directory utilizza la replica Multimaster, in cui non è presente alcun


controller di dominio. Tutti i controller all'interno di un dominio sono "peer" e
ciascuno contiene una copia del database di directory.

Collegamenti di sito (Site Links)

Per fare in modo che due siti possano replicarsi fra loro, è necessario stabilire
tra di essi un collegamento. Dalla console MMC

"Siti e Servizi" è possibile creare il collegamento di sito. Un oggetto sito con il


nome di Default-First-Site-Name è creato sul primo domain controller installato
in un sito. Questo oggetto può essere rinominato. La creazione aggiuntiva di
"site links" genera una maggiore efficienza di replicazione tra siti , in modo che
avvenga nel minor tempo possibile.Inoltre potrebbe essere necessario
configurare un parametro definito"costo".Il costo è un valore arbitrario che
viene impostato dall'amministratore per fornire la velocità e affidabilità della
connessione fisica tra siti.Quando il valore del costo sul collegamento è basso,
la priorità è incrementata. I collegamenti di sito hanno un intervallo di
replicazione e di schedulazione indipendente dal costo. Il valore di default di un
costo site-links è 100.

89
Figura 1.3 Configurazione del primo sito creato di default

Un esempio in cui può essere necessaria la configurazione del costo

Un amministratore di rete lavora per una rete basata su Windows 2000 Active
Directory. La sua rete aziendale è formata da due siti: New York e Seattle.
Entrambi i siti sono connessi da linee ad alta velocità T1. L'amministratore
configura la replicazione Active Directory dei siti creando due site-links, uno
per la linea T1 ed uno per la connessione di accesso remoto. Se
l'amministratore desidera che per replicare i dati, Active Directory scelga
sempre per primo il collegamento di sito T1 , e che la connessione di accesso
remoto venga scelta sono nel caso in cui la linea T1 non sia disponibile, allora
dovrà configurare un costo basso per la linea T1 ed un costo alto per la
connessione di rete tramite accesso remoto.

10.1.3 Gestione dei Domini e Trust Relationships in Windows


2000
Esistono due modalità di dominio: modalità mista e modalità originale.
90
Modalità Mista (Mixed Mode)

- Windows 2000 Server coesiste con installazioni Windows NT Server


E’ quella di Default al momento del Setup

Modalità Originale (Native Mode)

- Tutti i Domain Controller del Dominio sono stati aggiornati a Windows 2000
L’amministratore deve aver Abilitato questa modalità in Active Directory

La figura seguente mostra il messaggio che viene visualizzato una volta che
tutti i Domain Controller sono stati aggiornati a Windows 2000.

Figura 1.4 Modalità Originale

Trust RelationShips

Quando bisogna progettare ed implementare reti di domini multipli Windows


2000, è molto importante saper gestire le trust relationships. Windows 2000
fornisce supporto per trust transitive e non transitive.

Trust transitivo implicito bidirezionale

Le trust che vengono stabilite tra i domini Windows 2000 sono basate sul
protocollo Kerberos V5 e vengono denominate Two-way and Transitive. Esse
vengono automaticamente create tra domini adiacenti, quando un dominio
viene creato in una Struttura di dominio.

Trust non transitivo esplicito monodirezionale

- Caso in cui il dominio comprende sistemi operativi Windows 2000 e Windows


NT

- Un dominio Windows 2000 in una foresta e un dominio Windows 2000 in


un'altra foresta

91
- Un dominio Windows 2000 e un dominio MIT Kerberos V5

Il concetto di Trust è approfondito nell'articolo "La gestione dei domini" in area


Windows NT.

10.1.4 Il Database di Active Directory


Il file NTDS.dit e l'utility NTDSUTIL.exe

Il file NTDS.dit rappresenta il database Active Directory. La dimensione di


questo file cresce notelvomente ogni volta che si effettuano modifiche sul
database AD. L'utility NTDSUTIL.exe (AD Diagnostic Tool) viene utilizzata per
riordinare la dimensione del DB attraverso la deframmentazione. Per far ciò
bisogna fare in modo che il Domain Controller sia off-line e questo è possibile
riavviando il Server e premendo il tasto F8. Dopo aver selezionato la voce
"Directory Services Restore Mode" è possibile procedere con il defrag.

Il database del servizio di directory è installato di default nel percorso


%systemroot%.dit.

Le console (MMC) in Active Directory

1. La console Domini e Trust gestisce le relazioni trust tra domini.


2. La console Siti e Servizi crea siti per gestire la replica di informazioni
Active Directory.
3. La console Utenti e Computer di Active Directory gestisce gli utenti, i
computer, i gruppi di protezione e serve per impostare le autorizzazioni
standard per gli oggetti e i relativi attributi.

10.1.5 Group Policy Object (GPO)


I GPO rappresentano un potente strumento di controllo degli ambienti desktop.
Con System Policies di Windows NT 4.0, i criteri e i profili erano limitati al
blocco di parti del desktop a livello di dominio. Con GPO e Active Directory i
criteri di gruppo possono essere applicati a siti, domini e OU.

La gestione delle GPO è affidata al Group Policy Editor (GPE), uno snap-in di
MMC che consente di aggiungere, modificare ed eliminare le componenti del
GPO <![endif]>

Le GPO permettono anche di distribuire il software agli utenti, con la possibilità


di scegliere se "assegnare" le applicazioni o "pubblicarle".

92
Assegnazione delle applicazioni

Quando si assegna un applicazione a un utente, quest'ultima viene annunciata


all'utente al successivo accesso a una workstation. Tale applicazione viene
installata nel momento in cui l'utente la attiva nel computer per la prima volta,
selezionandola dal menu Start. Un applicazione assegnata al computer non
viene annunciata. Il software viene installato automaticamente.

Pubblicazione delle applicazioni

La pubblicazione delle applicazioni non viene annunciata. Esse vengono


installate attraverso Add/Remove Programs del pannello di controllo. Le
applicazioni possono essere solamente pubblicate agli utenti, non ai
computers.

10.1.7 Gruppi in Windows 2000


I gruppi definiscono insiemi di oggetti utente e oggetti gruppo all'interno della
foresta. Segue una descrizione delle varie tipologie di gruppi presenti in
Windows 2000.

Gruppo locale di dominio

Questa tipologia di gruppo può contenere account utenti, gruppi globali e


gruppi universali di qualsiasi dominio della struttura o dell'insieme delle
strutture (forest), o altri gruppi locali di dominio dello stesso dominio. E'
possibile assegnare diritti e autorizzazioni solo al dominio che contiene gruppi.
I membri di questo gruppo non possono aggiungere altri gruppi locali in altri
domini.

Gruppo Globale

Questa tipologia di gruppo può contenere account utenti e gruppi globali solo
del proprio dominio. I gruppi globali possono essere utilizzati in ogni dominio
dell'insieme delle strutture ed è possibile assegnare autorizzazioni per le
risorse situate in ogni dominio della "foresta".

Gruppi di Distribuzione

93
In Windows NT non è possibile configurare un gruppo di distribuzione per la
posta elettronica. Con Windows 2000 è possibile configurare un gruppo di
protezione come gruppo di distribuzione posta elettronica. In "Native Mode" un
gruppo di distribuzione può essere convertito in un gruppo di protezione. Lo
stesso vale per la conversione da Gruppo Globale a Gruppo Universale. In
"Mixed Mode" ciò non è possibile.

Gruppi di Protezione

Utilizzati per assegnare autorizzazioni di accesso alle risorse.

Gruppi Universali

Disponibili solamente in modalità di dominio originale. Il gruppo universale può


contenere account utenti, gruppi globali ed universali da ogni dominio nella
struttura o nell'insieme delle strutture. I gruppi universali risultano nel catalogo
globale ed è necessario che contengano principalmente gruppi globali.

I membri dei gruppi universali vengono validati al logon dai Server di Catalogo
Globale.

10.1.8 Autorizzazioni per gli oggetti in Active Directory


Le autorizzazioni Active Directory forniscono la protezione per le risorse
consentendo di controllare chi può accedere ai singoli oggetti o agli attributi
degli oggetti nonchè il tipo di accesso consentito. E' possibile utilizzare le
autorizzazioni per assegnare i privilegi amministrativi a un utente o gruppo
specifico per una OU, un singolo oggetto, una gerarchia di OU.

Autorizzazioni standard per l’oggetto

Read - visualizza gli oggetti e relativi attributi, il proprietario dell’oggetto e le


autorizzazioni Active Directory

Write - modifica gli attributi dell’oggetto

Crea tutti gli oggetti figli - aggiunge qualsiasi tipo di oggetto child a una OU

Elimina tutti gli oggetti figli - rimuove qualsiasi oggetto child a una OU

Full Control - controllo completo

Autorizzazioni speciali per l’oggetto

94
Le autorizzazioni speciali consentono un livello di controllo maggiore per
l'assegnazione dell'accesso agli oggetti. Ad esempio, l'autorizzazione di
scrittura è composta dalle autorizzazioni speciali Scrivi tutte le proprietà, Auto
aggiunta/rimozione membro e Lettura.

Dal pulsante “Advanced” delle autorizzazioni standard è possibile assegnare


autorizzazioni speciali.

11. Linux – Panoramica sul sistema operativo


Linux, tecnicamente parlando è un kernel, il nucleo essenziale di un sistema
operativo che si occupa della gestione dell'hardware e della rete e che
essenzialmente permette a tutti gli altri programmi di girare. Comunque,
quando si parla di LINUX, intendiamo un sistema operativo completo con tutte
le applicazioni che ci girano sopra, alternativo a Microsoft Windows o Apple
MacOS.

Ne esistono diverse distribuzioni: Slackware, Caldera, Debian, RedHat, SuSe,


Mandrake Corel Linux e altre minori.

11.1 Linux si adatta a diversi ambienti


Linux può rimpiazzare Windows su un PC o windows NT su un server. Nel
mondo ci sono milioni di utenti di Linux che lo usano nei più disparati ambienti.
Esso viene utilizzato come sistema operativo sui server principali da molti siti
web e ISP. E' usato come workstation per il design da molti grafici. Viene
utilizzato come principale piattaforma di sviluppo per molti programmatori C e
Java nel mondo.

Linux è stato originariamente scritto per architetture INTEL 386, ma


attualmente gira su di una vasta gamma di hardware basata sulla famiglia
INTEL, su Alpha, SPARC, Macintosh, Amiga e processori PowerPC. Linux, pur
non essendo stato sviluppato all'interno del progetto GNU, viene distribuito in
accordo alla GNU GPL.

95
11.2 Compatibilità di Linux
Linux è stato reso compatibile a livello di codice sorgente con i più noti
standard nati intorno a Unix come l'IEEE POSIX, System V e BSD. Per questo
motivo su Linux girano quasi tutte le applicazioni che girano su Unix: è
sufficiente una ricompilazione. Web server come Apache (che è leader di
mercato), potenti mail server come Sendmail e server database (commerciali)
come Oracle, Informix, (open source) come MySQL e Postgres girano
splendidamente sotto il sistema operativo FREE per eccellenza.

Linux utilizza un proprio file system per la memorizzazione dei file, chiamato
ext2fs, ma ne supporta una gamma enorme. Con esso si possono quindi
utilizzare anche dischi e dischetti MS-DOS e CD-ROM standard ISO 9660.
Attraverso programmi come Samba si può rimpiazzare completamente NT
come file server.
Attraverso l'uso di tecnologie per il clustering, Linux può essere sfruttato per
maneggiare le pesanti richieste per il supercomputing generate da molte
applicazioni scientifiche/ingegneristiche e da ambienti con elevati requisiti di
affidabilità.

11.3 Linux è un sistema operativo moderno


“MULTIUTENTE”
Linux gira su architetture a 32-bit e a 64 bit, utilizza il preemptive
multitasking, memoria protetta, ed è multiutente. Il che significa che più
utenti possono lavorare sul medesimo computer, che ciascuno di essi può
eseguire contemporaneamente più programmi e che ciascun programma può
eseguire contemporaneamente più funzioni.
Quando ci sono molti processi attivi, il sistema può eseguire un programma
leggendo dal disco solo un segmento per volta (quello necessario
all'esecuzione) allo scopo di ottimizzare la memoria.
Inoltre se uno stesso programma viene eseguito più volte
contemporaneamente, per esempio da due utenti diversi, la parte di esso non
soggetta a modifiche viene condivisa da tutte le istanze.

96
11.4 Linux possiede un ricco supporto per il
“NETWORKING”
Linux nasce per la connettività, per le reti, per internet: è il campo dove
eccelle, dove risulta realmente impareggiabile come stabilità e prestazioni.
Linux implementa integralmente i protocolli TCP/IP (Transmission Control
Protocol / Internet Protocol), SLIP (Serial Line Internet Protocol) e PPP (Point
to Point Protocol) per la connessione via modem e PLIP (Parallel Line Internet
Protocol). Vengono supportati tutti i servizi di base come TELNET, FTP (File
Transfer Protocol), NFS (Network File System) e SMTP (Simple Mail Transfer
Protocol).

11.5 Linux è gratuito


Linux è completamente gratuito. Normalmente tutte le sue distribuzioni
rilasciano una versione scaricabile anche da internet: sono distribuzioni che
non contengono programmi protetti da copyright. Se si trova una distribuzione
in vendita nei negozi, è perchè nella confezione sono compresi altri servizi,
come il CD di programmi aggiuntivi, manuali cartacei, supporto telefonico...

11.6 Come nasce Linux

Linux nasce con una spiccata vocazione alla connettività, alle reti, ad internet:
è il campo dove eccelle, dove risulta realmente impareggiabile come stabilità e
prestazioni.
E, dai servers,sta passando all'attacco dei client, dei sistemi desktop, dei
computer che si utilizzano giornalmente per scrivere, stampare e giocare.

Tra gli obiettivi prioritari dello sviluppo di Linux, oggi si parla di supporto delle
nuove schede audio, delle schede video accelerate, degli scanner, delle
stampanti...
Non tutto l'hardware disponibile è utilizzabile, ma sono stati fatti passi da
gigante.
Ci vorrà ancora del tempo prima di veder Linux sui nostri Pc al posto di

97
Microsoft. Il motivo principale è che l'utente ha "fretta" e vuole tutto a portata
di "click".
L'utente ha bisogno di:

• Editor di Testi (compatibili con Microsoft Word);


• Fogli di calcolo (compatibili con Microsoft Excel);
• Software per navigare in Internet;
• DRIVER per scanner, stampanti, schede audio, Modem, stampanti e tutte
le altre periferiche che possono essere "utili" all'utente;
• GIOCHI.

Ma il "pinguino" Linux offre:

• Pacchetti Office come "StarOffice" e "Applix";


• Moltissimi software per Internet.

Purtroppo Linux ha una "punto debole": i DRIVER.


Il problema non è del Sistema Operativo Linux, ma il fatto è che attualmente
non ancora tutte le società costruttrici di hardware pensano a Linux, oltre che a
Windows e Macintosh. A causa dei pochi driver a disposizione, installare una
stampante potrebbe divenire un problema perdi-tempo, per poi scoprire che
non c'è nulla da fare perchè ... "MANCA IL DRIVER".
Mentre con Windows il tutto si esegue con una serie di "click" in circa 10
minuti.

L'altro "problemino" sono i GIOCHI. Questo è un settore che interessa


moltissimi utenti utilizzatori di PC. Purtroppo sono poche le società che stanno
facendo il "porting" dei loro prodotti sul Sistema Operativo Linux.

12. SERVIZI DI RETE applicati in Microsoft Windows


2000

12.1 Introduzione al DNS – Domain Name System


Il sistema DNS è un database distribuito a struttura gerarchica di
corrispondenze fra nomi host e indirizzi IP. Il DNS nasce per permettere la

98
risoluzione dei nomi di dominio (es. www.networkingitalia.it) in indirizzi IP,
cosa che prima accadeva configurando manualmente il file host. Lo spazio dei
nomi di dominio (Domain Name Space) rappresenta la struttura e i dati che
creano il DNS distribuito usato su Int ernet.

Il sistema DNS di Microsoft si basa sull’implementazione BIND (Berkeley


Internet Name Domain) nata con Unix BSD 4.3 all’Università della California, a
Berkeley. Non è classificata come una Request for Comments e la versione
8.2.2 di Bind è pienamente compatibile con il DNS Active Directory di win
2000.

12.2 Le caratteristiche del DNS di Windows 2000


Integrazione con il servizio Active Directory

Un'altra importante funzionalità del server DNS di Windows 2000 è la


possibilità di integrare le zone DNS in Active Directory per migliorare la fault
tolerance e la protezione. Ogni zona integrata in Active Directory viene
replicata automaticamente in tutti i domain controller all'interno del dominio
Active Directory.

12.3 Come avviene il processo di risoluzione dei


nomi.
Quando un client richiede la risoluzione di un nome NetBios (in questo caso
inteso come nome computer) in indirizzo IP nella sua rete locale, le fasi che
avvengono sono le seguenti: (elencate in ordine, si passa alla successiva nel
caso non venga risolta)

• il client controlla il suo file hosts locale, se la richiesta non è risolta


• il client passa la richiesta ad un server dei nomi il quale controlla la sua
cache DNS
• il server controlla il suo database
• il client controlla la sua cache NetBios
• il client passa la sua richiesta ad un altro server Wins
• il client fa un broadcast della sua richiesta
• il cliente controlla il suo file lmhost

Quando un client richiede la risoluzione di un nome FQDN


(www.networkingitalia.it) in indirizzo IP, le fasi che avvengono sono le
seguenti: (elencate in ordine, si passa alla successiva nel caso non venga
risolta)

99
• il client controlla il suo file hosts locale, se la richiesta non è risolta
• il client passa la richiesta ad un server dei nomi il quale controlla la sua
cache DNS
• il server controlla il suo database
• il server DNS passa la sua richiesta ad un Root Name Server
• il root Name Server passa la sua richiesta al Server dei nomi di dominio
di primo livello
• la richiesta risolta dal server dei nomi viene passata all’host

Come si puo` notare il DNS integra anche tipo di funzioni WINS, cioe` la
risoluzioni dei nomi NETBIOS. Infatti in una rete con tutti client windows 2000
si abbandona il WINS per usare soltanto il DNS. Nel caso che la rete di cui
parlimo sia di tipo misto abbiamo l’esigenza di usare il WINS (reti con PC non
soltanto windows 2000, ma win98 NT e precedenti).

12.4 Tipi di query


Esitono tre tipi di potenziali query che il client può inoltrare verso il server DNS
e sono tre:

Richiesta Ricorsiva (recursive query)


Quando un client (resolver) elabora una richiesta ricorsiva, il server DNS è
obbligato a fornire una risposta di esito negativo o positivo

Richiesta Iterativa (iterative query)


Il server DNS deve contattare altri server DNS necessari per risolvere la
richiesta. Se riceve una risposta positiva da altri server DNS, a sua volta invia
una risposta al client.

Reverse lookup (richiesta inversa)


In questo tipo di richiesta il client già conosce l’indirizzo IP ma vuole trovare il
corrispondente nome host. I record PTR forniscono la risposta alla richiesta dei
client. L’indirizzo 203.102.101.100 e subnet mask 255.255.255.0 corrisponde
nella sua forma inversa in: 101.102.203.in-addr.arpa.

12.5 Le zone del DNS


La struttura del DNS puo` essere composta da un singolo Dominio oppure da
un Dominio con dei sottodomini. All’interno di questa struttura la parte
fondamentale per l’organizzazione del DNS è la zona.

Le zone sono dei sotto domini all’interno del database DNS, amministrate come
entita` separate per alleggerire il carico del DNS Server; proprio per questo il

100
database DNS può essere partizionato. Una zona quindi può essere definita
come una raccolta logica di nomi host (chiamati a volte “friendly names”)
all’interno del DNS.

Il server dei nomi che amministra una zona deve essere “autorizzato” per la
zona che gli è stata assegnata; esso viene chiamato anche root name server e
funziona da “Start of Authority” per quella zona.

12.6 Ruoli di un server dei nomi


Un Server dei nomi può assumere quattro ruoli:

Server di nomi primario


Ha la responsabilità di una "zona", cioè di una parte della gerarchia dello
spazio dei nomi di dominio. Le informazioni sono conservate in un file di zona.
Tale file contiente record di corrispondenza fra IP e nome di Host.

Server di nomi secondario


Conserva una copia delle informazioni di zona che riceve dal server primario o
da un altro server secondario. In questo modo il server secondario fornisce
ridondanza.

Server di nomi master


E' un server dei nomi che fornisce un elenco di zona a un server di nomi
secondari. Il processo di copia di un elenco di zona si definisce "trasferimento
di zona".

Server di nomi di sola cache


- I server di sola cache velocizzano la risoluzione dei nomi in risposta ai client
immagazzinando richieste recenti dei client DNS.
- Indirizzano il Server dei nomi ai server radice dell’InterNic, usati per la
risoluzione dei nomi
velocizzano la risoluzione dei nomi in risposta ai client immagazzinando
richieste recenti dei client DNS;
- non mantengono una copia di una zona perciò non autorizzano la zona e non
possono rispondere direttamente alle richieste che non siano memorizzate
nella loro cache;
- Il beneficio di questi server è che non hanno un sovraccarico associato ai
trasferimenti di zona, perciò e una buona soluzione scegliere un server di sola
cache per un ufficio remoto connesso da un collegamento Wan lento alla sede
centrale.
- deve essere un Server con un abbondante quantità di Ram , poiché vi
saranno memorizzate tutte le informazioni volatili (cache)

101
- per vedere quale server è di sola cache utilizzare il comando: ipconfig
/displaydns
- per svuotare la cache utilizzare il comando: ipconfig /flushdns

12.7 Configurare le zone


Il root name server di un dominio è il server dei nomi che funziona come
“Origine di Autorità” per quella zona. L’unità fondamentale dell’organizzazione
per il DNS è la zona. Un database DNS può essere partizionato in più zone.
Una zona è una raccolta logica di nomi host (chiamati a volte “friendly names”)
all’interno del DNS. Il server dei nomi che amministra una zona è “autorizzato”
per la zona.

Esistono tre principali immagazzinamenti di zona:

Primario Standard:l’informazione della zona è memorizzata su un server che è


autorizzato per la zona e mantiene una copia scrivibile del testo del database
di zona. Può esserci solamente un solo Server primario per zona.

Standard Secondary: l’informazione di zona è memorizzata su un server che


ottiene la sua informazione di zona dal primary master o un altro secondary e
contiene una copia di sola lettura del database. Questi server sono
normalmente usati come backup del server primario e aiutano con load
balancing. Ci può essere più di un server “secondary” per zona.

Active Directory-Integrated: l’informazione di zona è immagazzinata in Active


Directory, perciò non può essere letta con un editor di testo. I trasferimenti di
zona sono più sicuri e i dati della zona sono cifrati durante il trasferimento;
“Only Secure Updates" ed e` usato solo per zone integrate in Active Directory.

102
Figura 1.1 Creazione di una zona dalla console MMC

Le opzioni presenti dopo aver fatto click con il pulsante destro del mouse sul
server DNS. Sono riportate di segiuto in ordine con una breve descrizione.

• Configure the Server, cioè descrivere tutti i parametri affinchè il server


DNS svolga il suo lavoro;
• New Zone, creare una nuova zona all’interno del dominio;
• Set Aging/Scavenging for all zones…Utilizzare questa opzione per
rimuovere tutti i record di risorsa obsoleti;
• Scavenge stale resource records Utilizzare questa opzione per pulire (to
scavenge) tutti i record di risorsa obsoleti;
• Update Server Data Files, aggiornamento dei file del database del Server
DNS;
• Clear cache, pulizia della memoria cache.

Dopo aver affettuato i cambiamenti al file di zona, il server DNS non


provvederà autamaticamente a notificarli verso il secondario, all’interno del
Notify list. Per avviare questo aggiornamento selezionare dal menù update
“Update Server Data Files”. Se ci si trova sul server secondario, si può iniziare
un trasferimento di zona attravesro la console del DNS, selezionando Transfer
from master (trasferisci da master).

Notifica del DNS


Notify List viene creato e gestito per permettere al server primario di
comunicare ai server secondari gli eventuali cambiamenti all’interno di una
zona, tenendoli sempre aggiornati. Per creare e gestire il notify list si usa la
console DNS.

103
Delega di una zona

I nomi all’interno di una zona possono essere delegati ad altre zone. La delega
è un processo di assegnazione di responsabilità per un’area di uno spazio dei
nomi DNS a un’entità a parte che può essere un organizzazione, un reparto o
un gruppo di lavoro diverso all’interno di un’azienda. Tale delega viene
rappresentata dal record NS che specifica la zona delegata e il nome DNS del
server considerato autorevole per questa zona.

Il comando per verificare la delega di una zona è:

nslookup -querytype=ns
inoltre restituisce il nome computer se come parametro gli viene dato l’indirizo
IP, e l’indirizzo IP se viene dato come parametro il nome host.

12.8 Altre funzionalità del DNS


DNS Round-Robin

Il metodo che consente al DNS di distribuire il carico delle richieste dei client
verso i server della rete, risolvendo i nomi in indirizzi alternativi, queso metodo
viene chiamato Round Robin. E’ un cosiddetto metodo di load-balancing
(bilanciamento del carico di lavoro).

Dynamic DNS (DDNS)

DDNS è l’unione tra DNS e DHCP, è supportato da win2000 come scritto nella
RFC 2136. Ogni qualvolta un client interagisce con il DHCP (rilascio IP,
rinnovo…) il nome completo di dominio dei client viene registrato nel DNS
attraverso il server DHCP. Questa registrazione può essere fatta manualmente
usando i paramentri del REGISTERDNS con l’ utility IPCONFIG.EXE

L’aggiornamento dei record di risorsa viene fatto solo se vengono soddisfatti


dei prerequisiti per eseguire l’operazione. In parole povere perché il server
DNS abbia sempre aggioranti i propri record di risorsa deve lavorare
direttamente con il server DHCP, ovvero il server DHCP deve mettere sempre
al corrente il server DNS del rilascio, rinnovo ecc. dell’indirizzo IP dei client.
Questo procedimento viene attuato solo nel caso in cui vi sia un server DHCP
sulla rete.

Quando un server DNS non riesce a risolvere una richiesta, provvede ad


inoltrare la richiesta al server autoritario della zona.

104
Replica del database DNS (AXFR – IXFR)

Esistono due tipi di replica del file di zona. Il primo è il trasferimento di zone
intere (AXFR), in cui viene replicato l’intero file di zona. Il secondo è il
trasferimento di zone incrementali (IXFR – nasce con Windows 2000), in cui
vengono replicati soltanto i record modificati della zona. I Server BIND 4.9.3
DNS e il DNS di Windows NT 4.0 supportano soltanto il trasferimento di zone
intere (AXFR). Windows 2000 ovviamente supporta tutti e 2 i tipi di
trasferimento di zona.

12.9 Testare il servizio DNS Server con le utility


Utility DNS

Il comando Ping –a indirizzo IP, permette la risoluzione dell’indirizzo in nome


HOST.

NSLookup come già detto in precedenza richiede zone di ricerca inversa,


ovvero restituisce il nome computer se come parametro di ricerca gli viene
dato l’indirizo IP, e l’indirizzo IP se viene dato come parametro il nome host.

IPCONFIG.EXE /registerdns, questo comando ci permette avere informazioni


sull’indirizzo IP della macchina, la subnet musk, il gateway, nonché il suffisso
DNS.

12.10 Record di Risorsa DNS


Un database DNS è costituito da Record di Risorsa (RR). I record di risorsa
sono voci inserite nel file database di zona; ogni record indica un particolare
tipo di risorsa all’interno del database. Esistono vari tipi di record di risorsa di
seguito sono riportati quelli più import anti con una breve descrizione.

• A (Address/Host) Record di risorsa utilizzato per mappare un nome DNS


in indirizzo IP.
• CNAME (Canonical Name) record di risorsa che rappresenta un alias per
un nome già specificato come altra risorsa all’interno della zona.
• MX (Mail Exchanger) permette di rilevare i server e-mail di un particolare
dominio e individua l’ordine da utilizzare per ciscun host di posta.
• NS (Name Server) specifica un server che è autorizzato per una certa
zona. Inoltre è indispensabile per la delega di una zona.
• PTR (Pointer) record di risorsa usati per le richieste inverse
• RT (Route Through) record di risorsa usati per ritrovare gli indirizzi di
server DNS utili

105
• SOA (Start of Authority)
Il primo record di un file di zona è il record SOA. Questi identifica un
Server DNS Primario per la zona come migliore origine di informazioni,
per i dati all’interno della zona ed informazioni sull’itervallo dei server
secondary da aggiornare. Refresh Interval – Il tempo, in misurato in
secondi, che un server DNS secondario aspetta prima di di richiedere al
primario della zona il tentativo di rinnovare i file. Quando l’intervallo di
refresh scade, il server DNS secondario richiede la copia corrente del
record SOA relativo alla zona sorgente, come risposta alla sua richiesta.
Il server DNS secondario confronta il numero seriale del record sorgente
con quello del suo record SOA locale. Se sono differenti, il server
secondario richiede un trasferimento di zona dal server DNS primario.

12.11 Durata (TTL) per i record di risorse


Un resolver inserisce nella cache le informazioni ricevute durante la risoluzione
delle query. I dati nella cache possono quindi essere utilizzati per rispondere a
successive query che richiedono le stesse informazioni. I dati nella cache,
presentano tuttavia una durata limitata specificata nel parametro Durata (TTL)
restituito con i dati. Il TTL impedisce che le informazioni vengano conservate
oltre la scadenza dal server DNS.

12.12 Monitorare il servizio DNS


In Microsoft Windows 2000 server i messaggi di evento relativi al servizio DNS
sono divisi dagli altri messaggi generati da altre applicazioni. Infatti è possibile
consultare il registro degli eventi nel quale c’è la parte dedicata al servizio
server DNS, all’interno del quale ci sono gli eventi di base, come ad esempio
l’avvio e lo stop del servizio stesso. Lo stesso visualizzatore degli eventi può
essere usato per monitorare gli eventi DNS dei client, i quali vengono scritti nel
registro eventi di sistema. Dalla console MMC del DNS è possibile impostare dei
controlli personalizzati, tipo il “test now” per verificare la risposta di query di
ricerca diretta e inversa. Il file all’interno del quale si hanno gli esiti dei test è il
file DNS.log Il percorso predefinito è: systemroot/system32/DNS.

106
13. DHCP IN MICROSOFT WINDOWS 2000
Rappresentato da un servizio e un protocollo che funzionano congiuntamente,
il DHCP (Dynamic Host Configuration Protocol – protocollo dinamico di
configurazione degli host) è stato progettato per centralizzare e gestire
l’allocazione delle informazioni riguardanti la configurazione del TCP/IP
assegnando automaticamente indirizzi IP agli elaboratori configurati per usare
tale servizio.

Progettato come estensione del protocollo BOOTP (Bootstrap Protocol –


permette alle workstation senza disco di recuperare un indirizzo IP da un
server di rete) DHCP è basato sugli standard aperti pubblicati da IETF (Internet
Engineering Task Force), che pubblica anche gli standard TCP/IP.

13.1 Funzionamento del DHCP


Un computer che utilizza l’indirizzamento dinamico viene chiamato client
DHCP. Differentemente il server su cui è in esecuzione il servizio DHCP non
deve essere un client DHCP e deve essere configurato manualmente con
indirizzi IP, subnet mask e altri parametri di configurazione TCP/IP statici.

Ogni volta che un client DHCP viene avviato, esso richiede l’indirizzo al server
DHCP, includendo l’indirizzo IP, la Subnet mask e valori opzionali;

i valori opzionali possono includere un indirizzo del gateway di default, DNS e


WINS. La richiesta fatta dal client viene inoltrata all'indirizzo broadcast, poiché
l'indirizzo IP del server è sconosciuto. La richiesta avrà quindi come mittente
0.0.0.0 (poiché l'IP non è stato ancora configurato) e 255.255.255.255 come
destinazione; la richiesta (DHCPDISCOVER) contiene inoltre l'indirizzo MAC
della scheda di rete e il nome del computer, questo per consentire
l’identificazione univoca da parte del server.

Quando un server DHCP riceve una richiesta di indirizzo, esso fà riferimento ad


un pool di indirizzi, definiti nella sua base dati, ed offre al client DHCP il primo
disponibile. Se il client accetta l’offerta, i parametri di configurazione vengono
memorizzati all’interno del DB del server DHCP e sono così, per un periodo idi
tempo, assegnati al client. Se all’interno del pool degli indirizzi DHCP non c’è
un IP disponibile, il client non potrà inizializzare il TCP/IP.

107
I client Windows 2000, qualora DHCP non fosse disponibile, hanno la possibilità
di configurare il proprio indirizzo IP e la Subnet mask attraverso il servizio
Automatic Private IP Addressing (APIPA).

Il servizio DHCP client procede con i seguenti passi per disporre la


configurazione di rete necessaria:

- tenta di localizzare un server DHCP per ottenere un indirizzo IP.

Nel momento in cui il server DHCP non risponde o non può essere raggiunto, il
DHCP client seleziona un indirizzo e la Subnet da un pool con Classe di tipo B
169.254.0.0. , Subnet 255.255.0.0.

- il client DHCP, a questo punto, effettua dei controlli sulla rete in modo da non
creare conflitti durante l’indirizzamento degli altri Client. Nel caso in cui ci sia
un conflitto, il client riproverà l’auto-configurazione per altri dieci indirizzi.

- una volta che il client DHCP trova l’indirizzo IP, configura la sua interfaccia di
rete (subnet mask). Il client inoltre continua a verificare ogni 5 minuti se
all’interno della rete ci sia un server DHCP disponibile. Se, durante la ricerca,
il client trova un server DHCP disponibile, a questo punto userà l’indirizzo
offerto dallo stesso.

13.2 Il rinnovo dell’indirizzo IP


La richiesta di rinnovo dell'indirizzo IP viene effettuato in tre tentativi, al
termine dei quali l'IP precedentemente assegnato viene rilasciato e il client
tenta di ottenere nuovamente un IP inviando un messaggio di broadcast di
richiesta.

Primo tentativo

Il client DHCP tenta il rinnovo del valore lease dell'IP (durata “dell’affitto”
dell’indirizzo) quando questo valore si dimezza; quindi viene inviato un
messaggio di richiesta (DHCPREQUEST) al server. Se il server è disponibile al
rinnovo, inoltra un messaggio di conferma verso il client al quale comunicherà i

108
nuovi parametri di configurazione. Se il client non riceve nessuna risposta,
continua ad usare il suo indirizzo per il tempo rimasto.

Secondo tentativo

Se il primo tentativo fallisce, il client tenta di rinnovare la richiesta dopo un


riavvio, fatto subito dopo il 50% del valore di Lease. Se il tentativo fallisce, il
client continua ad utilizzare il suo indirizzo per il tempo rimanente, come in
precedenza.

Terzo tentativo

Il client tenta di rinnovare l'indirizzo IP al termine dell' 87% circa del tempo
restante, contattando qualsiasi DHCP server disponibile.

13.3 La scadenza dell'indirizzo IP


Una volta scaduto l'IP, il client rilascia l'indirizzo ed esegue nuovamente una
richiesta in broadcast, per un nuovo lease di un indirizzo IP; fino a quando la
configurazione non sarà completata nuovamente non sarà possibile utilizzare
l'interfaccia di rete della macchina in questione.

13.4 Le comunicazioni client / server – Utilizzo dei


messaggi DHCP
1. DHCPDISCOVER

utilizzato dai client per richiedere i parametri di configurazione da un


server DHCP

2. DHCPOFFER

utilizzato dai server per offrire indirizzi IP ai client che li richiedono

3. DHCPREQUEST

utilizzato dai client per accettare o rinnovare l’assegnazione di un


indirizzo IP

4. DHCPACK

utilizzato dai server per riconoscere l’accettazione da parte di un client di


un indirizzo IP offerto
109
5. DHCPNACK

utilizzato dai server per rifiutare l’accettazione da parte di un client un


indirizzo IP offerto

6. DHCPDECLINE

utilizzato dai client per terminare il lease di un indirizzo IP

7. DHCPINFORM

utilizzato dai client per richiedere i parametri di configurazione TCP/IP da


un server

13.5 Opzioni del comando “IPCONFIG” utili per il


DHCP
• ALL rapporto dettagliato di tutte le interfacce
• RELEASE (scheda) rilascia l’indirizzo IP
• RENEW (scheda) rinnova l’indirizzo IP

• SHOWCLASSID(scheda) ID di classe DHCP consentiti per la


scheda

• SETCLASSID(scheda)( ID classe) ID di classe DHCP consentiti per la


scheda

13.6 Installare e configurare un DHCP server


Per comunicare con i client DHCP si deve avviare il servizio DHCP server. Una
volta installato, bisogna configurare le seguenti opzioni:

- Autorizzare il DHCP server

- Configurare uno scope (attenzione nella versione italiana è chiamato ambito)


o un pool di indirizzi IP validi prima che il server DHCP possa affittare indirizzi
IP ai client DHCP.

- Configurare lo scope globale e le opzioni dello scope del client, per tutti i
client DHCP particolari.

110
- Il server DHCP deve essere configurato con indirizzo IP statico ed a sua volta
non può essere un client DHCP

13.7 Autorizzare un server DHCP


Un server DHCP non autorizzato può rilasciare indirizzi IP incorretti ai client
oppure non riconoscere i client DHCP. I client che ottengono un lease di
configurazione da un server non autorizzato possono fallire la localizzazione del
controller di dominio, impedendo ai client di effettuare un logon sulla rete.
Perché il processo di autorizzazione funzioni correttamente, è necessario che il
primo server DHCP introdotto sulla rete partecipi nel servizio di Active
Directory. Il server deve essere installato come controller di dominio o deve
essere un server membro. Il processo di autorizzazione del server DHCP in
Active Directory dipende dal ruolo del server sulla rete.

I passi per autorizzare un server DHCP sono:

1. fare il logon sulla rete con un account che appartiene al gruppo Enterprise o
al gruppo degli amministratori poichè hanno diritti di “Full Control” sull’oggetto
contenitore “Net Services”, memorizzato nell’ Enterprise Root di Active
Directory.

2. installare ovviamente il servizio DHCP se non è presente

3. Selezionare start, programmi, strumenti amministrativi, quindi scegliere


DHCP.

4. All’interno del menu azione, scegliere: gestire server autorizzati.

4. Selezionare autorizzare.

5. Quando il sistema è pronto digitare il nome o indirizzo IP del server DHCP


che deve essere autorizzato e scegliere OK.

13.8 Lo scope DHCP


Uno scope è un insieme di indirizzi IP validi, disponibile per il lease di indirizzi
nei confronti dei client DHCP. Un server DHCP fa riferimento allo scope per
poter affittare un indirizzo IP al client DHCP. Quindi, per poter lavorare, il
server DHCP deve avere a disposizione uno scope definito. Gli Indirizzi IP
statici devono essere esclusi dallo scope, in modo da non poter essere utilizzati
dal servizio DHCP. Per centralizzare l’amministrazione e per assegnare indirizzi
IP, specificare una subnet, la quale indicherà a quale sottorete si stà facendo

111
riferimento. Quando si creano scope multipli su un server DHCP, assegnare ad
una subnet specifica un singolo scope. Considerando che i server DHCP non
svolgono confronti tra le informazioni dello scope, ci si deve assicurare che
gli indirizzi IP di un singolo scope non esistano in altri scope, impedendo il
doppio indirizzamento IP.

Creare un nuovo scope

1. Selezionare su start. programmi, strumenti di amministrazione quindi


scegliere DHCP.

2. Selezionare il server applicabile DHCP.

3. Sul menu dell’azione, scegliere nuovo ambito.

4. Segui le istruzioni nel nuovo Wizard dello scope

Dopo aver creato un nuovo scope (ricordiamo viene anche chiamato ambito),
è necessario attivare lo scope per l’uso o per l’assegnazione delle opzioni dello
stesso.

Di seguito la creazione guidata di un ambito. Ogni schermata commenta i passi


da seguire.

Operazioni dopo creazione scope

Oltre agli indirizzi IP e alle subnet mask, è possibile configurare altre opzioni
DHCP da fornire ai computer client con i parametri di configurazione TCP/IP.

- Impostazione intervalli di esclusione : esclude alcuni indirizzi IP dall’ambito


DHCP

- Creazione di prenotazioni (Reservation): assegna indirizzi IP permanenti , per


esempio Web Server

- Regolazione durata del lease : imposta la durata del lease dell’indirizzo

- Configurazione classi ambito tra cui:

- Router (numero opzione 003)

- Server DNS (numero opzione 006)

112
- Nome dominio (numero opzione 015)

- Server Wins/Nbns (numero opzione 044)

- Tipo nodo Wins/Nbt 046 :1 =B 2=P 4=M 8=I-1

- ID ambito netbios (numero opzione 047): netbios su TCP/IP comunica solo


altro host netbios utilizzando lo stesso ID ambito

13.9 Configurare DHCP per integrazione DNS


I server DHCP e DNS dinamici possono interagire per aggiornare il mapping
degli indirizzi IP - nome macchina. Il DHCP può registrarsi con DNS e
aggiornare i record di risorsa dei puntatori (PTR) (ricerca inversa) e indirizzo
(A, ricerca diretta) utilizzando, per i client DHCP, il protocollo di aggiornamento
dinamico. Il codice opzione 81 può attivare la restituzione del FQDN (nome di
dominio completamente qualificato) di un client al server DHCP. Per i sistemi
operativi precedenti a windows 2000 il DHCP funziona da Proxy per la
registrazione DNS.

Aggiornamenti dinamici per client DNS che non supportano que lli standard

Questa opzione si attiva per i client precedenti a Windows 2000

I. Clic su start. programmi, strumenti amministrativi, quindi clic DNS.

2. Selezionare la zona applicabile.

3. Nel menu azioni scegliere proprietà.

4. Nelle proprietà della scheda DNS selezionare abilita aggiornamenti per client
DNS che non

supportano aggiornamento dinamico.

5. Seleziona solo aggiornamenti protetti se il tuo tipo di zona è integrato in


Active Directory

13.10 DHCP Relay Agent


Un DHCP Relay Agent (agente di inoltro) e’ un programma che ricolloca
messaggi DHCP/BOOTP fra client e server su diverse reti (subnet). Quindi la
necessità di installare ed eseguire questo servizio deriva dal tipo di struttura

113
della rete. Qualora si abbiano più sottoreti o più reti collocate in settori
geograficamente distanti, si presenterà la necessità di installare DHCP Relay
Agent.

Per ogni segmento della rete geografica che contiene clients DHCP, ciascun
server DHCP necessita l’esecuzione del DHCP Relay Agent).

Aggiungere DHCP Relay Agent

1 .Clic su start. programmi, strumenti di amministrazione, instradando e


accesso remoto.

2 Clic sul nome del server\IP routing\General.

3. Clic destro su generale, quindi su nuovo protocollo di instradamento.

4. Nella finestra di dialogo del protocollo di instradamento clic su DHCP Relay


Agent. Infine su OK.

Risoluzione dei problemi dei client DHCP

La maggior parte dei problemi riferiti al DHCP iniziano con un fallimento della
configurazione IP su un client. Se non si conosce la causa controllare il registro
degli eventi di sistema ed i log della revisione del server DHCP. Questi log
contengono la sorgente del fallimento o chiusura del servizio. Usare il comando
IPCONFIG per avere informazioni sui parametri TCP/IP configurati sugli
elaboratori locali o remoti della rete.

- Invalida configurazione dell’indirizzo IP

Possibile fallimento dell’hardware di rete o il server DHCP non e’ disponibile.


Verificare quindi se il client in questione ha un valido e funzionante
collegamento della rete, cioè cavo e scheda di rete funzionanti.

- Problemi dell’ auto-configurazione sulla rete.

Usa il comando PING per verificare la corretta connessione alla rete.


Manualmente rinnovare l’affitto dell’IP del client. Se l’hardware del client
sembra funzionare correttamente ma la rete non è disponibile, eseguire il
comando PING indirizzato al server DHCP da un altra postazione sulla
medesima rete. Rilasciare o rinnovare il lease.

- Sbagliare i dettagli della configurazione

114
Il server DHCP non e’ configurato per distribuire opzioni oppure il client non
supporta le opzioni distribuite dal server. Verificare che le opzioni più
comunemente usate e supportate siano state configurate presso il server, lo
scope e il client. e che il livello di classe dell’assegnazione per le opzioni di
configurazione di rete sia corretto. Controllare i settaggi delle opzioni DHCP,
cioè assicurarsi che il server DHCP non abbia impostato opzioni errate del
router DHCP (codice dell’ opzione 3).

- L’indirizzo IP del server DHCP era cambiato.

Assicurati che l’indirizzo IP del server DHCP faccia parte del pool di indirizzi di
rete che stà fornendo tramite lo scope definito.

- Client DHCP incapaci di ricevere un indirizzo dal server

Un server DHCP può fornire indirizzi IP ai client su subnet remote multiple solo
se il router che li separa può agire come DHCP Relay Agent. Configurare un
BOOT/DHCP Relay Agent sulla subnet del client. DHCP Relay Agent può essere
localizzato sul router stesso o su un client Windows 2000 Server eseguendo il
componente DHCP relay agent.

- Server DHCP multipli esistono sulla medesima LAN

Non configurare Server DHCP multipli sulla medesima LAN con scope (ambiti)
sovrapposti. Il servizio DHCP, quando è avviato sotto Small Business Server,
automaticamente si ferma quando scopre un altro server DHCP sulla LAN.

115
14. WINS – La risoluzione dei nomi NetBios
A partire da LAN Manager, Microsoft ha creato una risoluzione di nome su
NetBIOS. Nelle reti NetBIOS i computer diffondono il proprio nome NetBIOS
unico e locale sulla rete - un approccio completamente differente rispetto alla
natura prettamente orientata alla connessione del TCP/IP. In piccoli ambienti
dove sono presenti dei bridge, le prestazioni del NetBIOS risultano eccellenti in
termini di throughput della rete (sebbene con un elevato utilizzo dell’ampiezza
di banda disponibile).

A ogni modo, via via che le reti sono diventate più grandi e il TCP/IP è risultato
sempre più adottato in reti di grandi dimensioni, segmentate e provviste di
router, si è resa necessaria l’adozione di NetBIOS. Poiché questo è un
protocollo basato su broadcast non può passare attraverso router. Per questo
motivo Microsoft a introdotto il file LMHOSTS, l’equivalente NetBIOS di un file
HOSTS locale per il TCP/IP.

Il file LMHOSTS mappa i nomi NetBIOS in indirizzi IP in modo che i client


possano condividere file e stampanti in una rete connessa attraverso dei
router. Comunque, allo stesso modo del file HOSTS, la gestione locale di ogni
workstation diventava così un incubo, se non addirittura impossibile. Infatti,
sebbene LMHOSTS supportasse riferimenti per file centralizzati, non era in ogni
modo sufficiente a rendere più facile la vita degli amministratori di rete.

Il passo in avanti è stato invece fatto con Windows NT 3.5 e l’introduzione di


WINS. Questo infatti fornisce due importanti funzioni. Esegue una risoluzione
dinamica dei nomi NetBIOS rispetto agli indirizzi TCP/IP, e riduce i broadcast
della risoluzione di nome impostando i computer per il tipo H-node, il che
permette ai computer stessi di far riferimento direttamente al server WINS per
la ricerca del nome. Se WINS non è disponibile o il nome non si trova nel
database, WINS ricorre a un broadcast. A tutti gli effetti WINS e DNS
raggiungono comunque lo stesso scopo.

Nonostante tutto molti amministratori, credono ancora che solo le grosse reti
TCP/IP necessitino di WINS. Se la vostra organizzazione gestisce numerosi
piccoli ambienti con un supporto amministrativo e tecnico minimo, l’utilizzo di
WINS ha un senso (anche solo da un punto di vista amministrativo l’utilizzo di
WINS ha un senso).

Quando si organizzano reti NT in luoghi piccoli o in luoghi con un supporto on-


site minimo, può essere opportuno considerare l’utilizzo di WINS sui domain
controller presenti. Queste macchine possono essere utilizzate anche per altri
servizi oltre a quello di file server dedicati.

116
Comunque, ambienti che utilizzano un singolo server per la gestione del
dominio e la condivisione di file e stampe hanno ovviamente bisogno di WINS
sul file server principale. In queste condizioni, WINS non aggiungerà molto
carico lavorativo Poiché vengono utilizzate poche stazioni di lavoro e le
modifiche agli indirizzi IP, nonché i cambiamenti dei nomi, sono verosimilmente
pochi.

Per identificare la migliore distribuzione WINS sui server, bisogna anche


decidere l’importanza della risoluzione di nome di WINS. Se il server WINS
primario si guasta oppure diventa indisponibile la comunicazione sulla rete
TCP/IP può divenire difficoltosa. Anche una macchina che sfoglia le risorse
della rete trova problemi se non è presente un server WINS in una rete
segmentata dove è presente solo TCP/IP. Sarebbe possibile eventualmente
impostare i file LMHOSTS di ogni stazione di lavoro in modo da aggirare il
problema del server WINS disattivato, ma questa eventualità riporta la
problematica alla necessità di poter disporre di un certo supporto on-site.

Per questo motivo è una buona precauzione configurare WINS su almeno due
server per ogni ambiente. Di seguito viene spiegato in che modo designare un
server come server WINS primario.

In WINS Manager, fare clic sul menu Server e quindi su Replication Partners.
Nella finestra Replication Partners, come mostrato nella figura 1, digitare il
nome della macchina e l’indirizzo IP del server WINS secondario o di backup.
Questa configurazione aggiunge il server di backup come partner di replica e
permette a entrambi i server WINS di aggiornare i propri database WINS.

In ambienti con numerosi piccoli uffici connessi da lenti collegamenti


geografici, mettere un server WINS in ogni località minimizza il traffico di
risoluzione di nome attraverso la rete geografica. Ma come l’ambiente cresce e
il traffico WINS aumenta, diventa indispensabile monitorare le richieste di
risoluzione di nome attraverso la rete e pianificare il consolidamento di server
WINS nei vari ambienti in modo da garantire un incremento nelle prestazioni
dei servizi di risoluzione di nome.

Concretamente, gestire WINS in ambienti estesi implica i seguenti tre passaggi


principali.

1. Determinare il numero effettivo di server necessari. Utilizzare più di due


WINS server per ogni 100 o 200 nodi probabilmente porta a un sovraccarico
del sistema. Questo è particolarmente vero quando tutte le workstation si
connettono a una singola LAN. È indispensabile tenere a mente che numerosi
fattori influenzano la capacità di un singolo server WINS. Comunque, se questi

117
contatori indicano un’attività bassa, se non nulla, è opportuno considerare la
possibilità di eliminare, o almeno spostare, questi server WINS poco utilizzati.

2. Determinare la collocazione geografica dei server. Avere più server WINS in


un singolo segmento non determina un considerevole incremento delle
capacità di risoluzione dei nomi. WINS invece eccelle nella sua abilità di
distribuire meglio le richieste attraverso segmenti connessi da router,
specialmente su reti geografiche. Per minimizzare la dipendenza da lenti
collegamenti geografici per il traffico della risoluzione di nome, può essere utile
collocare il server WINS in un punto geograficamente strategico. Per esempio,
in una rete a più livelli i server potrebbero trovarsi in un segmento connesso
attraverso un router per il Nordest. Collocare i server WINS nei segmenti
Nordest migliora la risoluzione di nome e riduce la necessità di definire server
WINS, per la risoluzione di nome, per altre regioni. Inoltre, per aumentare le
prestazioni, può essere vantaggioso mettere i server WINS in segmenti ad
elevato traffico di broadcast. Questa strategia facilita la risoluzione di nome in
quella regione senza che il traffico WINS debba per forza attraversare un
numero eccessivo di segmenti di rete.

3. Controllo degli intervalli di replica. Tre comandi gestiscono il traffico di


replica WINS: Update Count, Replication Interval e Start Time. Con Update
Count si determina il numero di record aggiornati riscontrabili in un database
WINS prima che il server WINS notifichi ai suoi partner che deve essere
effettuato un aggiornamento nei database replica. A seconda del numero di
cambiamenti dei nomi nell’ambiente, l’incremento del parametro Update
Control porta a una riduzione del numero delle notifiche di replica inviate dal
server (a ogni modo, possono presentarsi fallimenti della risoluzione di nome
perché i cambiamenti di nome WINS impiegano diverso tempo a raggiungere i
server WINS partner).

In ambienti estesi, gli amministratori spesso configurano i server WINS in una


gerarchia a più livelli. Può rendersi necessario configurare i Replication
Intervals in modo che i cambiamenti si diffondano ai partner server WINS in
maniera appropriata. In altre parole, bisogna assicurarsi che WINS replichi i
record aggiornati dal server A al server B e quindi dal server B al server C,
ecc..

I proxy agent di WINS possono essere utili anche in organizzazioni di grandi


dimensioni dove numerosi client Microsoft lavorano con TCP/IP ma non hanno
accesso ad un server WINS. Questi agent utilizzano broadcast piuttosto che
richieste di risoluzione dirette a un server WINS. Utilizzare un proxy agent
nelle subnet può aiutare a ridurre la necessità di coinvolgere ulteriori server
WINS.

118
Le mappature statiche sono un altro metodo per migliorare la risoluzione di
nome in ambienti misti. Queste mappature sono costituite da voci permanenti
per macchine specifiche nel database di WINS. Questa soluzione coinvolge host
non-Microsoft nel database WINS, migliorando così le performance della
risoluzione di nome.

Di seguito viene illustrato come aggiungere una mappatura statica: in WINS


Manager, selezionare il menu Mapping e quindi fare clic su Mappings. Quando
viene visualizzato il menu Static Mapping, come mostrato nella figura 3,
digitare il nome e l’indirizzo IP del server in considerazione.

Le mappature statiche sono anche di aiuto in ambienti piccoli e misti; bisogna


comunque ricordarsi di documentare la propria configurazione di rete. Questa
documentazione può tornare utile in caso si debbano effettuare cambiamenti
degli indirizzi IP.

Gli ambienti sicuri

In organizzazioni che richiedono elevati livelli di sicurezza su diverse rete locali,


gli amministratori potrebbero non voler configurare i client per l’accesso a
WINS. Quando sussiste la necessità di isolare le stazioni di lavoro, come per
esempio nelle aule, ci si potrebbe trovare nella situazione di dover impedire
agli utenti l’accesso a risorse della rete centrale. Allo stesso tempo invece le
macchine degli istruttori potrebbero necessitare di un libero accesso a tutta la
rete. In questa situazione, non definire i server WINS nei client dell’aula
garantisce la protezione delle risorse.

Bisogna assicurarsi che non sia stata selezionata l’opzione di attivazione del
DNS per la risoluzione di nome del NetBIOS. Questa opzione infatti permette ai
client NetBIOS di risolvere host definiti nel server DNS e viene specificata nelle
opzioni di configurazione della rete del client. L’istruttore invece può
configurare un file LMHOSTS con i nomi dei server richiesti per la risoluzione
NetBIOS.

Bisogna comunque ricordare che rinunciare a WINS rende solo più difficile
l’accesso a risorse NT per operazioni che riguardano i file e la stampa. Si
renderà infatti ancora necessario monitorare l’accesso attraverso servizi
TCP/IP, quali FTP e HTTP. Utenti tecnicamente aggiornati possono utilizzare il
comando NET SEND specificando l’indirizzo IP della risorsa a cui eventualmente
connettersi semplicemente da un prompt di comando NT.

119
15. Il protocollo SNMP
Il modello di gestione della rete SNMP è costituito da:

- una stazione di controllo


- nodi gestiti singolarmente tramite agenti SNMP
- il protocollo di gestione SNMP

La rete può essere costituita da più stazioni di gestione (Manager), da una


collezione di agenti e dagli oggetti di rete.

Manager
E' un'applicazione che controlla la gestione della rete attraverso le operazioni di
monitoraggio e controllo degli agenti.

Agent
Risiede su ogni host con il compito di eseguire le operazioni che il manager gli
ha richiesto.

Object
Qualunque elemento di rete che può essere gestito come ad esempio un
computer (Unix/NT) o un dispositivo di rete (router, switch).

MIB (Management Information Base)


Un database contenente informazioni sugli oggetti gestibili da un dispositivo

Un manager e un agent possono coesistere sulla stessa macchina e


comunicano tra loro tramite l'SNMP. In fase di configurazione dell'agent e del
manager devono essere definite le "community name" e gli indirizzi IP verso i
quali inviare domande e risposte.

Infatti la richiesta di informazioni da parte di un manager verso un agent, è


accompagnata da un "community name" ed ha una funzione di tipo password.
Deve essere ricevuta correttamente perchè un agent possa inviare le
informazioni consultate dal MIB.

Molti software di gestione tra cui HP OpenView utilizzano il protocollo SNMP per
monitorare gli apparati di rete e i sistemi operativi.

120
16. Riconoscimento del traffico non autorizzato:
strumenti IDS
Se qualcuno tenta di entrare nella nostra rete quali contromisure possiamo
adottare ?

Questa è la classica domanda che ci si pone quando si tenta di creare un


sistema sicuro.

La risposta è semplice, esistono dei software che fanno al caso nostro e


attraverso un numero di segnali riescono ad individuare un’intrusione nella
rete. Tali programmi comprendono fondamentalmente le seguenti funzioni:

- bloccaggio dell’intrusione o attacco

- lancio di un avviso all’amministratore di sistema

- logging ( scrittura di un file di log )

Un sistema può adottare una sola delle seguenti soluzioni oppure può
utilizzarle tutte, chiaramente la scelta è legata al livello di sicurezza che si è
scelto di implementare. Mentre la prima e la seconda situazione sono
abbastanza chiare, la terza presenta un aspetto un pò particolare. Ad una
prima analisi la funzione di logging potrebbe risultare poco efficace, in realtà è
un mezzo di studio e ispezione fondamentale.

Poniamo l’ipotesi che un utente esperto riesca a superare le barriere di


sicurezza standard attraverso l’aggiramento del sistema di bloccaggio ed
effettui operazioni sulle nostre risorse; il sistema di logging provvederà a
registrare su file tutti i movimenti e le operazioni effettuate dall’intruso.

Infatti se l’intruso fosse in possesso di un utenza amministrativa valida, l’IDS


attivo non riscontrerebbe anomalie e non farebbe partire nessun sistema di
bloccaggio; al contrario l’IDS passivo ,così chiamato perché traccia in silenzio,
si occuperebbe di notificare i cambiamenti che tale utente potrebbe aver
apportato.

Come funziona un IDS?

Principalmente un ids funziona attraverso l’ispezione. Per ispezione si intende


l’analisi delle attività di un host o di una rete e la successiva applicazione di
regole programmate anticipatamente. E’ ovvio che la definizione di regole è
data da un attento studio di quello che si vuole proteggere e di quello che è

121
necessario fare al presentarsi di una determinata situazione. Le cosiddette “
policies “ sono sostanzialmente questo, cioè un insieme di regole atte al
perfetto funzionamento di un sistema di sicurezza complesso. All’interno di
un’ipotetica policy troveremmo sicuramente quelli che sono sostanzialmente gli
indicatori da monitorare. Alcuni tra i più importanti :

- attività del file system tra cui creazione, modifica, cancellazione di files ;

- uso di risorse quali hard disk, memoria RAM e periferiche ;

- traffico di rete, scansioni effettuate, logon falliti ;

I rilevatori controllando varie combinazioni di tali segnali creano


successivamente registrazioni di queste in files di log, in gerco chiamato “
traccia di verifica “. Sarà successivamente l’amministratore di sistema a dover
interpretare i messaggi contenuti nel file. Da qui quindi è ovvio il fatto che i
sistemi IDS correnti si basano sull’allarme agli amministratori in presenza di
determinate situazioni, cosa che però rende l’amministratore stesso una parte
attiva del sistema di sicurezza globale port scanning, syn flooding, etc.

Il Port scanning è una tecnica che viene utilizzata per determinare quale porta
di comunicazione del sistema obbiettivo è configurata per essere in ``ascolto''
verso le connessioni provenienti dall'esterno.
Gli attaccanti sono molto interessati alla determinazione delle porte ``aperte''
in quanto rappresentano un possibile canale di comunicazione che può essere
eventualmente sfruttato. Avere uno schema delle porte di comunicazione
permette di scambiare più facilmente informazioni con il sistema; così è
vantaggioso per tutti desiderare di poter esplorare l'ambiente di rete del
sistema e trarne informazioni significative, soprattutto per i cracker.
L'idea su cui di basa il ``port scanning'' consiste nel fatto che è estremamente
conveniente per il cracker riuscire a sondare quante più porte di comunicazione
è possibile e stabilire quali di esse sono disponibili alla comunicazione in modo
da utilizzare quelle che maggiormente si adeguano ai propri bisogni. Lo
``scanning'' di queste macchine viene fatto con tecniche che mandano un gran
numero di pacchetti di vari protocolli in modo da dedurre quali servizi sono in
ascolto verso l'esterno dalla risposta che questi danno ai pacchetti inviati.
Ci sono diverse tecniche. Ne vengono presentate alcune:

• TCP connect() scanning


• TCP SYN scanning
• TCP FIN scanning
• TCP revers ident scanning
• FTP bounce attack
• UDP ICMP port unreachable scanning

122
• UDP recvfrom() e write() scanning

Vulnerabilità dei protocolli TCP/IP

Alcune vulnerabilità nei sistemi di computer possono essere create da errori


nella progettazione e nella implementazione dei protocolli di comunicazione di
rete di basso livello. Queste vulnerabilità possono permettere diverse tipologie
di attacco che possiamo così classificare:

Attacchi passivi

Attacco denominato sniffing (o snooping): consiste nello spiare il traffico altrui


che attraversa un elemento della rete.

Attacchi attivi

Attacchi al routing - viene cambiato in modo illecito il corretto indirizzamento


di una porzione del traffico di rete.

Attacchi di tipo spoofing: l'hacker dialoga con un server spacciandosi per un


client autorizzato. Si hanno diverse tecniche tra le quali address
masquerading1[1], attacco a 3-way handshake, alterazione o sostituzione di
messaggi , hijacking 1[2].

Denial of service - negazione di un servizio (in questo caso di comunicazione)


offerto: un esempio è l'attacco TCP SYN flood.

Questa parte 1[3] esamina alcune vulnerabilità riscontrate nei protocolli di


livello III e IV, per le quali esiste una buona documentazione pubblica
sufficiente a specificare le signatures di probabili attacchi che sfruttano dette
vulnerabilità.

Per ognuna viene data una presentazione della vulnerabilità e quindi di un


attacco che potrebbe sfruttarla. Quindi, assumendo l'ottica di un responsabile
della sicurezza che debba monitorare la propria rete, diamo una signature o
traccia che ci permetta di individuare l'attacco e i dati di audit necessari allo

123
scopo.
Per molte delle sezioni sottostanti viene anche inserito un link alla parte
relativa al progetto D-Nids (Network Intrusion Detection System) proposto
nella seconda parte di questo lavoro: viene presentato uno script di monitoring
che rileva la signature proposta per l'attacco.

ARP cache poisoning

Indica una vulnerabilità nel protocollo di risoluzione degli indirizzi (ARP).


Permette ad una macchina su una rete locale di fingersi un'altra (sulla stessa
LAN) ad occhi dei sistemi connessi. Inquinando ("poisoning") la ARP cache
della macchina vittima, un intruso potrebbe sfruttare delle "trust relationships"
(come quelle che vengono indicate nel file /etc/hosts.equiv in UNIX) e
guadagnare un accesso non consentito su altri sistemi sulla rete. Oppure si
potrebbe impedire ad alcune macchine di utilizzare dei servizi di rete (attacco
DoS).
La debolezza del protocollo ARP, non è nelle implementazioni, ma è nelle
specifiche1[4]: è importante notare che il protocollo ARP è un protocollo senza
memoria (stateless). Ogni risposta a pacchetti ARP request che sia ben
costruita, alla ricezione viene processata e l'informazione in esso contenuta
considerata valida, anche se l'host non ha mai trasmesso la ARP request
corrispondente. Questa è la vulnerabilità principale, e permette a chiunque sia
in grado di generare ARP replies valide di corrompere la mappa degli indirizzi
MAC (ARP cache) di macchine obiettivo.

Supponiamo la seguente situazione:

A è la macchina dell'attaccante, che vuole guadagnare un accesso su V (la


vittima). V offre una trust relationship a T (T compare nel file /etc/hosts.equiv

124
di V). Quindi A vuole fingersi T agli occhi di V (attacco spoofing). Ciò che A
compie sono i seguenti passi:

L'intruso disabilita ARP sul proprio sistema. I messaggi arp dovranno essere
comandati manualmente dall'utente.

Spedisce un messaggio ARP reply con indirizzo sorgente composto da IP


10.0.0.2 (di T) e HW AA:AA (il proprio: di A) e indirizzo destinazione IP
10.0.0.4 e HW DD:DD. V adesso modificherà la propria entry nella cache,
associando a T l'indirizzo fisico AA:AA.

Finchè la ARP cache entry sarà valida questo funzionerà. A potrà ripetere
l'operazione precedente ad intervalli regolari mantenendo il vantaggio
acquisito.

Potrebbe accadere che periodicamente T spedisca delle ARP request a V, per


controllare la validità delle proprie ARP cache entries. Questo rovinerebbe i
piani di A. Per prevenire questo A può spedire dei messaggi a T (con indirizzo
sorgente di V) per "tranquillizzarlo" sulla presenza di V.

Un attacco di questo tipo è attuabile solo su reti locali, dal momento che
pacchetti ARP non oltrepassano il router. È possibile comunque che questo sia
il secondo passo in un attacco articolato, che ha visto precedentemente
l'intruso guadagnare un accesso sull'host A dall'esterno. Perdipiù se le
macchine sono interconnesse in un sistema più evoluto della semplice rete
Ethernet planare su 10base2 (con l'uso di switches, smart hubs) questi attacco
diventa più visibile e a volte impossibile.

Inoltre un attacco di questo tipo necessita un accesso con mansioni da


amministratore da parte dell'intruso. Anche se difficile, a volte questo è
possibile. Per incuria dell'amministratore possono essere lasciate macchine
sprovviste di password d'accesso, oppure possono essere macchine gestite da
sistemi operativi Win'95 o MacOS, che effettivamente concedono privilegi da
amministratore di sistema a chiunque, oppure l'utenza di root può essere stata
effettivamente compromessa.

Signatures:

Generale: Esiste una ARP reply con indirizzo srcIP Aip e indirizzo srcHW Ahw tale
che Aip non è il corretto indirizzo per lo host Ahw .

All'istante T1, una ARP reply è registrata in un file di log con indirizzo srcIP Aip
e indirizzo srcHW Ahw. All'istante T2 (T2 > T1) una ARP reply viene registrata

125
con indirizzo srcIP Aip e indirizzo srcHW Bhw, tale che Bhw <> Ahw 1NB: Questo
fatto non è necessariamente sintomatico di un attacco: se un indirizzo di una
macchina cambia legittimamente questa signature può generare un false-
positive.

All'istante T un host riceve una ARP reply da un host comunicando srcIP Aip e
srcHW Bhw non avendo generato una ARP request per l'indirizzo Aip. Ciò
prevede che ogni host nello stato del sistema registri in un file di log le
richieste effettuate da cancellare all'arrivo della risposta oppure dopo un
determinato timeout.

Dati di Audit : Pacchetto ARP reply: srcIP address, srcHW address


D-Nids: Script in M language proposto che rileva l'attacco arp cache poisoning.

IP source routing

Se è disponibile, è il più semplice meccanismo per portare un attacco di tipo


spoofing. Assumiamo che l'host vittima V sia un server e abbia un host client
fidato T sulla sua rete locale.
È possibile che l'host V usi lo stesso percorso specificato in una richiesta di
connessione TCP con protocollo IP source routing per spedire indietro le
risposte. Questo meccanismo può essere adottato se venisse utilizzato un altro
percorso (quello dettato dalle tabelle di routing) piuttosto che il path
particolare specificato dal sorgente, le risposte potrebbero non arrivare.
L'attaccante potrebbe allora richiedere una connessione a V ponendo come
indirizzo sorgente quello dell'host fidato T, ed utilizzando il servizio source
routing. A questo punto l'attaccante può usufruire dei servizi che V fornisce
normalmente a T.

Signatures

Nel pacchetto IP il campo options prevede source routing abilitato: il codice


contenuto nell'ottetto option-type :

option-type = 131 - LSRR (loose source and record route).

option-type = 137 - SSRR (strict source and record route)

option-type = 7 (record route)

126
La differenza tra i due metodi: in LSRR un router intermedio nel percorso
indicato può instradare il pacchetto verso il router successivo previsto come
preferisce, ed utilizzando routers e numero di hop che preferisce. In SSRR un
router intermedio è obbligato ad inviare il pacchetto direttamente al successivo
router indicato in route data.

L'indirizzo sorgente è "noto" ma il routing specifica di inviare il traffico di


risposta al router per essere instradato all'esterno.

Nel caso che la destinazione sia un router nella nostra rete: verificare se si
tratta di un hop intermedio nel percorso per raggiungere un successivo host
oppure no (ossia è la destinazione finale del pacchetto):

Il valore del campo options-pointer è minore del valore del campo options-
length.

Dati di Audit: Datagramma IP riassemblato e valido. Campi option-type,


length, pointer e route data. In quest'ultimo viene conservato l'indirizzo IP di
ogni router attraversato dal pacchetto.
D-Nids: Script in M language proposto che rileva l'attività IP source routing.

IP Fragmentation

Esiste una vulnerabilità nella specifica del processo di riassemblaggio dei


pacchetti nel livello IP. Questa vulnerabilità permette ad un intruso di evitare le
politiche di protezione di un packet filtering firewall inviando dei frammenti IP
parzialmente sovrapposti. Il livello III si occupa dell'instradamento dei
pacchetti. Se il pacchetto (datagram) è troppo grande per il mezzo trasmissivo
sul quale deve essere trasportato, esso si occupa della frammentazione. Il
riassemblaggio viene compiuto in base ad informazioni presenti negli headers
dei pacchetti IP:

Campo identification – intero che identifica il datagramma. Se arrivano due


pacchetti con lo stesso valore in questo campo vengono riassemblati in un
unico datagram.

Flag MF (more fragments) – questo flag è posto ad uno se il frammento non è


l'ultimo del datagramma.

Campo length – indica la lunghezza del pacchetto compreso l'header.

127
Campo fragment offset – questo campo determina dove devono essere
posizionati i dati del frammento all'interno del datagram. Indica il punto di
inizio del frammento in relazione al punto di inizio del datagram. (Specificato in
multipli di 8 bytes)

L'algoritmo di riassemblaggio viene specificato nello RFC 791. Esso propone


che se due frammenti hanno valori dei campi offset e length tali che i loro dati
si sovrappongano, la regione del primo "sovrapposta" venga sovrascritta con i
dati del secondo pacchetto (il frammento con offset più elevato). Lo RFC 791
non richiede che le implementazioni trattino in questo modo l'eventualità, ma
lo permette.

Se i frammenti successivi possono sovrascrivere i precedenti frammenti, può


accadere che gli headers di protocolli di più alto livello vengano modificati.
Supponiamo che un IP datagram che contiene un pacchetto TCP, venga
frammentato facendo in modo che i frammenti IP si sovrappongano sul TCP
header. Se il secondo frammento è costruito facendo in modo che l'area dati
corrispondente al TCP header sia differente da quella del primo frammento,
allora quelle implementazioni IP che seguono l'algoritmo di riassemblaggio
proposto dallo RFC 791 possono in teoria riassemblare un datagram che
rappresenta una TCP connection request anche se il frammento originale (il
primo) non indicava una richiesta connessione.
Supponiamo un sistema Unix che sia connesso alla rete tramite un packet
filtering firewall. Il firewall è configurato per rifiutare tutte le richieste di
connessione provenienti dall'esterno (Internet), ma il traffico verso l'esterno
non è filtrato. Dal momento che i frammenti di un datagram possono arrivare
in qualsiasi ordine, un intruso può inviare prima il secondo frammento di un
TCP SYN packet. Il primo frammento può essere costruito facendo in modo che
il flag SYN non sia settato. L'intruso può costruire i due frammenti
parzialmente sovrapposti, facendo in modo che al riassemblaggio nel giusto
ordine il datagram rappresenti un TCP SYN packet valido che a questo punto
ha bypassato il firewall.
Il problema potrebbe essere risolto istruendo il firewall a scartare i pacchetti
che si sovrappongono su dati importanti come il TCP header.

Signatures:

Analisi della lista ordinata dei frammenti che assemblati compongono un unico
datagram IP: due frammenti consecutivi si sovrappongono, e la parte
sovrapposta differisce tra i due frammenti.

Dati di Audit: Pacchetti IP (frammenti) validi (chksum corretto) esaminati


prima del riassemblaggio.

128
D-Nids: Script in M language proposto che rileva l'attacco IP fragmentation.

Teardrop

Teardrop è il nome dato ad una vulnerabilità dell'algoritmo di riassemblaggio


dei frammenti in un unico datagram in Linux. Questa vulnerabilità permette ad
un attaccante remoto di mandare in crash un sistema linux semplicemente
spedendo due frammenti IP costruiti ad arte. Questi pacchetti devono essere
creati in modo che, una volta riassemblati, l'area dati di uno debba cadere
dentro l'area dati dell'altro. In sostanza devono essere verificate le seguenti:

f1.ident = f2.ident (f1 e f2 frammenti di uno stesso datagram)

f1.offset < f2.offset

f2.offset + f2.length < f1.offset + f1.length

Queste condizioni in pratica specificano che un intero pacchetto deve cadere


nell'altro. Teardrop è una vulnerabilità che deriva da un errore nel codice
dell'implementazione del modulo IP in Linux: la funzione ip_glue() contenuta in
ip_fragment.c ha le seguenti variabili :

offset – indica la posizione all'interno del buffer dove il nuovo frammento verrà
copiato.

end – contiene la posizione del byte dove terminerà il frammento all'interno del
buffer.

Quando un frammento si sovrappone ad un altro, la variabile offset viene


modificata, in modo tale che il secondo frammento inizia ad essere copiato solo
dopo la fine del primo. Ma la variabile end non viene modificata in caso di
overlap. Quando un fragment cade completamente all'interno di un altro, il
valore end – offset diventa negativo. La differenza viene convertita dal kernel
in un unsigned int (ne scaturisce un numero molto grande) e passata alla
funzione memcpy(). Questa funzione prova a copiare un numero molto grande
di bytes nel buffer del kernel, generando un overflow ed un conseguente crash
del sistema.

Signatures:

129
Analisi della lista ordinata dei frammenti che assemblati compongono un unico
datagram IP. La lista viene indicata con F. i frammenti di F hanno stessi campi
protocol, identification, source address, destination address. Esistono fi , fi+1
tali che :

fi.ident = fi+1.ident , fi.srcIP = fi+1.srcIP , ecc.

fi.offset < fi+1.offset

fi.offset + fi.length > fi+1.offset + fi+1.length

Dati di Audit: Pacchetti IP (frammenti) validi (chksum corretto). Necessarie le


informazioni contenute negli headers: srcIP, dstIP, identification, protocol,
offset, length, MF (more fragments) bit.

D-Nids: Script in M language proposto che rileva l'attacco Teardrop.

Fragment overrun (ping of death)

Fragment overrun è una vulnerabilità nel sistema di riassemblaggio del


protocollo IP di molti sistemi operativi. Quando viene sfruttata per un attacco,
causa il crash del sistema oppure un reboot. L'attacco è quindi di tipo Denial of
Service. Un attacco di tipo fragment overrun spedisce un flusso di pacchetti,
frammenti di un IP datagram, costruiti ad arte: questi pacchetti, una volta
riassemblati, daranno un datagram più grande dei 65545 bytes permessi come
lunghezza massima.

A volte il riassemblaggio di un pacchetto troppo grande causa problemi di


overflow con il conseguente crash del sistema che l'ha ricevuto. Questa
vulnerabilità è usata nel cosiddetto attacco Ping of death, che sfrutta la
possibilità data da alcune implementazioni del comando ping di generare
pacchetti ICMP echo request di lunghezza maggiore della IP MTU . Questo
pacchetto ICMP viene frammentato in diversi pacchetto IP, che verranno riuniti
alla ricezione. Lo stesso tipo di attacco può essere portato non solo con
pacchetti di tipo ICMP, come nel caso del ping, ma anche con pacchetti UDP o
TCP.

Signatures:

Analisi della lista ordinata dei frammenti che assemblati compongono un unico
datagram IP. Per ogni pacchetto IP frammento di un datagram che viene

130
ricevuto da un generico host, calcolare: offset*8 + total_length –
header_length > 65535

Se vale questa condizione abbiamo individuato un attacco di tipo fragment


overrun. Notare che per fare questo è sufficiente analizzare il singolo fragment.
Non è necessario aver ricevuto tutti i fragment che compongono il datagram.
Questo deve essere fatto prima che l'host vittima proceda al riassemblaggio.
Dati di Audit: Pacchetti IP (frammenti) validi (chksum corretto). Necessarie le
informazioni contenute negli headers: offset, total_length, hlen (header
length), bit MF (more fragments).

D-Nids: Script in M language proposto che rileva l'attacco fragment overrun.

ICMP broadcast (Smurf)

Questo è una vulnerabilità del protocollo ICMP (Internet Control Message


Protocol) che permette ad un attaccante di consumare una part e eccessiva
della banda a disposizione di un host vittima. L'attacco, popolarmente noto
come Smurf, utilizza altre macchine oltre quella dell'attaccante, per mandare
moltissimi pacchetti ICMP echo reply, esaurendo così la banda dell'host vittima,
inibendolo dall'accettare ulteriori connessioni.

Un messaggio ICMP echo request viene utilizzato per sapere se un dato


indirizzo IP è attivo e raggiungibile in rete. Il protocollo ICMP prevede che la
macchina che riceve tale richiesta risponda con un messaggio ICMP echo reply.
I messaggi ICMP viaggiano a bordo di pacchetti IP, ma ICMP non costituisce un
protocollo di più alto livello rispetto ad IP. L'attacco sfrutta la possibilità di
mandare pacchetti broadcast. L'attaccante A costruisce uno o più pacchetti IP
(supponiamo p) con messaggi ICMP echo request a bordo in questo modo:
l'indirizzo sorgente è dell' host vittima T, mentre l'indirizzo destinazione è il
broadcast su una rete N dalla quale T può ricevere pacchetti ICMP. A questo
punto tutti gli host della rete N (supponiamo n) riceveranno una richiesta e
genereranno una risposta ICMP echo reply verso T. Quindi T riceverà ben n*p
pacchetti quasi contemporaneamente.
Questo è solo un modo di generare un attacco di tipo flood. In realtà la
vulnerabilità di questo attacco non è nei protocolli utilizzati, ma nella struttura
stessa delle reti, le quali prevedono il massimo sforzo per la consegna dei
pacchetti, ma non prevedono nessun metodo per garantire la disponibilità di un
livello minimo di risorse di rete.

131
Signatures:

Viene ricevuto un pacchetto ICMP echo reply ma non è stata effettuata


nessuna ICMP echo request in un intervallo di tempo scelto.

Le seguenti signature sono più robuste:

Il numero dei pacchetti ICMP echo reply accettati e non sollecitati durante un
intervallo di tempo scelto è maggiore di un numero_soglia.

Il numero dei bytes derivanti da pacchetti ICMP echo reply non sollecitati
durante un intervallo di tempo scelto è maggiore di numero_soglia2.

Un problema: messaggi ICMP echo possono essere di lunghezza variabile.


Pacchetti molto grandi sono frammentati e potrebbero aumentare lo spreco di
banda, anche se il numero di pacchetti ricevuti è sotto la soglia scelta. Per
questo motivo questa signature è più robusta. Prende in considerazione il
traffico in termini di bytes e non in numero di pacchetti ricevuti.

Possiamo adesso dare una signature per individuare se un host viene utilizzato
come ponte per un attacco di tipo ICMP broadcast.

Viene ricevuto un pacchetto ICMP echo request valido con indirizzo


destinazione un IP broadcast, del tipo: dstIP = x.y.z.255

132
Dati di Audit: Pacchetti ICMP echo reply (o ICMP echo request) validi. Notare
che le signatures necessitano solo di sapere che un pacchetto di questo tipo è
ricevuto, non l'informazione che esso porta.

Nel caso della terza signature si ha bisogno della lunghezza del pacchetto.
Tenere nota di pacchetti ICMP echo request spediti in modo da poter
distinguere i pacchetti reply sollecitati da quelli non sollecitati.
D-Nids: Script in M language proposto che rileva l'attacco ICMP broadcast.
D-Nids: Script in M language proposto che rileva il caso in cui il nostro host sia
ponte per una attacco verso altri (quarta signature).

ICMP redirect

Il messaggio ICMP routing redirect viene utilizzato dai routers per avvisare
gli host dell'esistenza instradamenti migliori. Quando un host riceve un
pacchetto di routing redirect tratta l'informazione in esso contenuta in modo
simile a quella specificata da un comando di route add ed associa quindi un
router diverso da quello di default a quella destinazione. Il loro utilizzo può
essere sfruttato da malintenzionati per sovvertire alcuni instradamenti a
proprio vantaggio. Messaggi routing redirect possono avere una applicabilità
ristretta. Sono utilizzati nelle comunicazioni tra un router attaccato ad una rete
e gli host della rete stessa: un router non può spedire ICMP routing redirect ad
hosts di una rete remota, ne ad altri routers. Ma ciò è ancora sufficiente per
congegnare un attacco.

Supponiamo che un intruso sia riuscito a guadagnare un accesso su un


router secondario (R2) di una rete remota, dove risieda l'host vittima V 11[5].
Assumiamo che egli voglia stabilire un falso percorso verso un host fidato T
attraverso il router secondario compromesso R2. Potrebbe:

spedire una richiesta di connessione TCP all' host vittima V ponendo come IP
source address l'indirizzo di T. L'host V risponderà affermativamente attraverso
il router R1 (primario);

spedire un falso ICMP routing redirect con indirizzo sorgente R1, suggerendo
all'host V di preferire il nuovo router R2 (router compromesso) per spedire
pacchetti a T.

spedire il traffico verso T alla reale postazione dell'intruso via R2.

133
Se il pacchetto ICMP routing redirect apparirà valido, e i cambiamenti nel
routing verranno registrati sulle tabelle di routing anziché in una cache
temporanea, l'intruso avrà avuto successo. È questo un altro esempio di
attacco di tipo spoofing.

Signatures:

Segnalazione di attività sospetta già alla sola presenza di un messaggio ICMP


redirect. Questo è senz'altro ragionevole se la nostra LAN, come la maggior
parte, possiede un solo router di collegamento con l'esterno.

Segnalazione di attacco se il redirect indica un host che NON è un router.

Segnalazione di attacco se il redirect indica un router lecito ma che non serve il


link dell'host che ha ricevuto il messaggio.

Dati di Audit: Pacchetto ICMP routing redirect valido.

D-Nids: Script in M language proposto che rileva l'attacco ICMP redirect.

SYN flood

Questa è una vulnerabilità presente in molte implementazioni del protocollo


TCP. Sfruttando il procedimento di instaurazione della connessione (il
cosiddetto sistema 3-way handshake) un attaccante può causare una
negazione di servizio (attacco DoS), inibendo quel sistema dall'accettare altre
connessioni dall'esterno.

Il sistema adottato è quello di inviare continue richieste di connessione


(pacchetti TCP SYN). Ognuna di queste richieste causa una allocazione di
memoria da parte del destinatario finchè la connessione non sarà conclusa
positivamente (ACK ricevuto) o negativamente (RST ricevuto oppure timeout).
Ogni sistema può gestire un numero massimo finito di connessioni cosiddette
half-open. Inviando molte richieste rapidamente si possono esaurire le risorse
dedicate a connessioni half-open da parte dell'host destinatario, il quale non
accetterà ulteriori richieste di connessione dall'esterno. Le connessioni infatti
verranno concluse solo per timeout in quanto :

Evidentemente, l'attaccante non le chiude (non spedisce un ACK).

134
L'attaccante inoltre inserisce un indirizzo sorgente fittizio o ignoto al
destinatario. La vittima quindi spedisce il pacchetto SYN/ACK ad una macchina
irraggiungibile, quindi non riceverà mai un RST.

Signatures:

Mantenere una lista i pacchetti TCP SYN/ACK inviati da un host protetto e


quindi in attesa di un pacchetto ACK. Cancellare dalla lista ogni pacchetto che
riceve ACK o RST o timeout. Analizzare le richieste pendenti: vi sono più
richieste pendenti provenienti dalla stessa macchina? Se sì allora questo
potrebbe essere un possibile attacco

Il numero di pacchetti TCP SYN/ACK > numero_soglia.


Questa signature non è molto appropriata perché duplica parte degli sforzi fatti
dal modulo TCP nel tenere traccia delle connessioni half-open.

Il numero delle connessioni nello stato SYN_RECVD > numero_soglia.


In questo caso è previsto che la implementazione del modulo TCP venga
modificata in modo da analizzare gli stati per rilevare un possibile attacco SYN
flood.

135
Dati di Audit: Pacchetti IP [TCP SYN/ACK] validi. Considerare la dstPort per
analizzare su quali porte l'attacco viene sferrato. Può capitare che l'attaccante
utilizzi pacchetti con diversi indirizzi sorgente e diverse porte di destinazione
per sviare l'attacco.
Oppure : informazioni prese dal modulo nello stack TCP/IP che gestisce le
transizioni di stato relative ad una connessione. Registrare le transizioni

Listen -> syn_recvd

syn_recvd -> Listen

syn_recvd -> ESTABLISHED

D-Nids: Script in M language proposto che rileva l'attacco SYN flood.

Land/Latierra

Anche Land è una vulnerabilità nel protocollo TCP sfruttata per effettuare
attacchi di tipo denial of service. Ne soffrono sistemi Unix e non-Unix. Le
possibili conseguenze ad un attacco che sfrutta questa vulnerabilità sono due:
mancata risposta a richieste di connessione, oppure significativi rallentamenti
del sistema colpito. Anche in questo caso la vulnerabilità è nel 3-way
handshake. L'attacco consiste nell spedire richieste di connessione verso un
computer obiettivo T (target) formate in maniera speciale: I pacchetti TCP SYN
inviati hanno entrambi i campi source e destination address con l'indirizzo IP
dell'host target T. Inoltre le source e destination port contengono entrambe
una porta sulla quale T è in ascolto. In pratica il pacchetto sembra essere una
richiesta di connessione da T su T sulla stessa porta TCP. Le specifiche poste in
RCF 793 consentono due scenari possibili.
Se viene ricevuto un pacchetto (ACK in questo caso) inaccettabile mentre si
è nello stato SYN_RECVD, rispondere con un pacchetto ACK che specifichi
anche il sequence number atteso (il pacchetto ricevuto viene scartato ). In
questo modo il sistema entra in un loop infinito, poiché quando riceverà l'ACK,
esso genererà un nuovo ACK in risposta con lo stesso contenuto.
Se la connessione in uno stato non sincronizzato (LISTEN, SYN_SENT,
SYN_RECVD) e l'ACK riconosce un pacchetto non ancora inviato, allora inviare
un RST (reset). Nel caso venga implementata questa seconda specifica
presente nel RFC 793, non esiste vulnerabilità a Land, dal momento che viene
spedito un RST in risposta al primo ACK in arrivo non valido (presente nel
pacchetto SYN/ACK).

136
La situazione è riassunta nelle seguenti figure:

Signatures:

Analisi degli IP datagram riassemblati con a bordo pacchetti TCP SYN


. Vengono osservati i pacchetti riassemblati perché dei frammenti con
overlapping potrebbero cambiare il valore del TCP SYN bit come
precedentemente visto. Un analisi sui frammenti potrebbe essere aggirata con
questo sistema. Nel datagram IP:

campo protocol = TCP

Il pacchetto TCP contenuto è valido (controllare chksum )


137
TCP SYN bit set (è un pacchetto TCP SYN)

srcIP = dstIP

srcPort = dstPort

Dati di Audit: ogni datagramma di tipo IP[TCP SYN] valido. Sono


necessari: srcIP, dstIP, TCP flags (SYN bit in particolare), srcPort, dstPort

D-Nids: Script in M language proposto che rileva l'attacco Land.

TCP sequence number prediction 1[6]

Questa vulnerabilità permette ad un attaccante di instaurare una


connessione TCP con un host vittima fingendosi un host fidato. Questo
permette di poter effettuare un blind attack (dal momento che il traffico di
risposta alle sollecitazioni dell'intruso viene diretto all'host fidato). Anche se
l'attaccante non vede le risposte dell'host vittima e quindi le sue possibilità
sono piuttosto limitate, è possibile comunque da parte dell'attaccante impartire
comandi a proprio vantaggio da far eseguire.

Per comprendere l'attacco dobbiamo ricordare la modalità di 3-way


handshake, a sinistra in figura.

138
La vulnerabilità risiede nel fatto che l' initial sequence number scelto dalla
vittima (y in figura) viene incrementato di una quantità costante ogni secondo,
e per metà ogni volta che viene stabilita una connessione1[7]. Un potenziale
attaccante potrebbe generare, se consentito, una connessione lecita con B,
tramite la quale osservare l'initial sequence number. Dopodiché prevedere con
una discreta probabilità il successivo, da sfruttare nell'attacco (a destra in
figura). Poiché il falso sorgente riceve un messaggio SYN/ACK senza che abbia
generato il SYN, invia un RST che provoca l'abort della connessione. Per
evitare questo, l'attaccante può preventivamente inibire le comunicazioni con
l'esterno dell'host fidato con un attacco di tipo DoS, per esempio un SYN flood.
Un attacco riuscito e successivamente documentato di questo tipo è
accaduto ai danni di Tsutomu Shimomura 1[8] il 25 dicembre 1994, e da allora
noto anche come attacco Christmas day. L'attacco ha visto le seguenti fasi:

Una prima fase di probing utilizzando finger, rpcinfo e showmount che hanno
evidenziato una relazione di trust1[9] reciproca tra un X terminal host e un
local server nella rete.

Un attacco DoS al server: circa 30 pacchetti SYN con un indirizzo IP sorgente


non utilizzato che hanno causato il riempimento della coda di attesa del server.

Quindi è stato utilizzato un host alla Loyola University di Chicago per lanciare
30 richieste di connessione verso l'X terminal; tramite le risposte SYN/ACK
ricevute l'hacker è riuscito a determinare l'incremento utilizzato dal modulo
TCP per l'ISN.

L'hacker ha quindi lanciato una richiesta rshell con indirizzo sorgente del server
alla porta del demone in ascolto per rshell sull'X terminal.

L' X terminal ha inviato la risposta al server, ma questo aveva la coda intasata


e non ha potuto rispondere prontamente. L'ACK è invece arrivato dall'hacker, il
quale ha quindi stabilito la connessione, fingendosi il server legittimo (attacco
di tipo spoofing).

A questo punto l'hacker, mascherato da root, ha inviato il comando "echo + +


>> /.rhosts", estendendo la relazione di trust ad ogni utente root con accesso
su quel sistema.

139
L'hacker ha quindi chiuso la connessione con un FIN e rispondendo con un ACK
al successivo pacchetto FIN del X terminal (che non ha mai ricevuto). Ha poi
inviato 30 RESET al vero server per liberare la sua coda. A questo punto il vero
server ha inviato un RESET all' X terminal, ma era ormai troppo tardi.

RIP (routing information protocol)

Il RIP è utilizzato per propagare informazioni di routing alle reti locali.


L'unico sistema di autenticazione1[10] definito per proteggere pacchetti di
aggiornamento delle tabelle di routing in RIP versione 2 era spedire password
in chiaro, quindi un sistema di controllo piuttosto debole. A volte può capitare
che informazioni di routing ricevuta dai routers non vengano controllate.
Questo potrebbe permettere ad un intruso (A) di inviare informazione corrotta
ad un host vittima (B), e a tutti i routers lungo il percorso, spacciandosi per un
altro host (T). In questo modo tutti i servizi di B che utilizzano un principio di
autenticazione basato sull'indirizzo IP, verrebbero sfruttati dall'intruso A.
Inoltre supponiamo che A riesca ad inserirsi nel percorso tra l'host B e gli altri
routers. Tutto il traffico diretto a B passerà per A, il quale potrà ispezionarlo a
piacimento e poi instradarlo al legittimo proprietario. Similmente il traffico in
uscita da B potrà essere sniffato, cosicché sarebbe possibile rubare passwords
e altre informazioni riservate.

Uso di strumenti per la rilevazione del traffico di rete

Uno sniffer e' un qualsiasi strumento, sia esso un software o un apparato


hardware, che raccoglie le informazioni che viaggiano lungo una rete
(network). Questa rete puo' utilizzare un protocollo di comunicazione
qualunque: Ethernet, TCP/IP (Internet si basa principalmente su questo
protocollo), IPX o altri.

Generalmente si utilizzano software sniffer e il termine in questione si riferisce


a: 'The Sniffer Network Analyzer', il nome del primo programma di questo tipo,
sviluppato dalla Network Associates, Inc. e protetto da trademark. Tuttavia la
parola 'sniffer' e' ora di uso comune come 'PC' o 'kleenex' e con essa ci

140
riferiamo a tutti i programmi che implementano quelle stesse funzioni.
Si possono dividere i vari tipi di sniffer in due grandi branche: i prodotti
commerciali che sono rivolti agli amministratori di rete e alla manutenzione
interna delle reti stesse e i prodotti sviluppati nell'underground informatico,
spesso dotati di un'incredibile varieta' di funzioni ulteriori rispetto ai 'tool'
commerciali;
entrambi possono essere utilizzati come mezzo per accedere ad una rete.
Se vogliamo fare una distinzione che non si basi solo sul prezzo del prodotto o
sulla sua provenienza, possiamo considerare i software precedenti come un
tutt'uno e rapportarli ad applicativi come gli 'analizzatori di rete' (network
analyzer) che danno la possibilita' di fare qualche operazione in piu' rispetto al
semplice ascolto e archiviazione dei dati di passaggio su una rete, come
compilare statistiche sul traffico e sulla composizione dei pacchetti.

Le funzioni tipiche degli sniffer non differiscono di molto e possono essere


riassunte sinteticamente in:

* conversione e filtraggio dei dati e dei pacchetti in una forma leggibile


dall'utente
* analisi dei difetti di rete, ad es. perche' il computer 'a' non riesce a dialogare
con 'b'
* analisi di qualita' e portata della rete (performance analisys), ad es.per
scoprire 'colli di bottiglia' lungo la rete
* setacciamento automatizzato di password e nomi di utenti (in chiaro o, piu'
spesso cifrati) per successiva analisi
* creazione di 'log', lunghi elenchi che contengono la traccia, in questo caso,
del traffico sulla rete
* scoperta di intrusioni in rete attraverso l'analisi dei log del traffico

Pensate ad una rete come ad un paesaggio dinamico, ad esempio un fiume: in


esso i pacchetti scorrono liberamente lungo il percorso che offre minor
resistenza. Uno sniffer e' l'entita' che immerge le mani nel fiume e filtra i
pacchetti tra le sue dita (facendone una copia senza alterare i pacchetti).

Traffico ostile o non autorizzato:

Avrete sicuramente sentito parlare dei sabotaggi recentemente effettuati


contro alcuni dei principali siti Internet.

Numerosi BIG della Rete sono stati messi in ginocchio da quello che sembra
essere stato il più massiccio attacco mai lanciato contro importanti portali e siti

141
web.
Yahoo! è stato il primo a subirli, avendo riportato un blackout di tre ore
domenica 6 febbraio.
Buy.Com non era raggiungibile la mattina di lunedì 7, CNN ed eBay non lo
erano nel pomeriggio, mentre Amazon e Zdnet sono rimasti isolati parecchie
ore la notte di lunedì.

Articoli tecnici hanno spiegato il fenomeno come un Distributed Denial of


Services attack (DDoS): un genere di attacco nel quale i cosiddetti pi rati
(crackers) attivano un numero elevatissimo di false richieste da più macchine
allo stesso server consumando le risorse di sistema e di rete del fornitore del
servizio. In questo modo il provider *affoga* letteralmente sotto le richieste e
non è più in grado di erogare i propri servizi, risultando quindi irraggiungibile.
Alcuni dei network provider coinvolti hanno dichiarato di essere stato sommersi
da oltre 1 Gb al secondo di traffico.
Anche se questo genere di attacco non è affatto nuovo sulla Rete, non ne
erano mai stati rilevati su così vasta scala e su così tanti obiettivi importanti
quasi in contemporanea.
Gli antenati degli attuali attacchi si manifestavano andando ad esaurire risorse
hardware della vittima, quali lo spazio su disco, la memoria e la CPU: ciò era
ottenibile spedendo pochi pacchetti malformati che mandavano in crash il
sistema remoto. Il più noto tra le utility di questo genere è stato nuke e il più
popolare WinNuke, che mandava in crash il famoso OS della casa di Redmond
(WinNuke è ancora in grado di mandare in crash molte macchine desktop
Win95 e server NT se non hanno applicato le opportune patch, N.d.R.).
Il primo (e il più abusato) prodotto di DoS che ha acquisito notorietà è stato lo
smurf attack che tutt'oggi è in grado di paralizzare reti con tecnologie non
aggiornate (generalmente piccole/medie aziende e ISP locali).
In seguito è venuto The LowDown, conosciuto anche come Network Saturation
Attack o Bandwidth Consumption Attack: un nuovo attacco DoS in grado di
inondare un network di un numero impressionante di pacchetti. I router e
server che subiscono l'attacco, nel tentativo di gestire correttamente il traffico
compiono un eccessivo lavoro che li mette in crisi. Ovviamente l'eccesso di
traffico ostile rende impossibile anche il traffico lecito (posta, web, ecc.)
bloccando quindi in pochi minuti intere reti.
La generazione successiva (l'attuale) è appunto quella dei Distributed Denial of
Service (DDoS) attack. Spingendo all'eccesso l'idea del network saturation
attack, il DDoS ripete lo stesso approccio utilizzando però diversi punti
d'ingresso contemporanei: in questo modo un cracker è in grado di mettere in
ginocchio sistemi più grandi che sarebbero indifferenti ad un singolo flood. Per
effettuare questo genere di operazione si deve poter installare un proprio
agente sui sistemi da cui si vuole scatenare l'attacco stesso.

142
È quindi una tecnica che viene preparata per tempo, attrezzandosi con un pool
di macchine compromesse da poter scagliare contro il sistema vittima.

In realtà questi attacchi sono resi possibili dall'attuale implementazione del


protocollo TCP/IP. Per una scelta di realizzazione, infatti, non è stata posta
particolare sicurezza sull'identificazione del mittente di ogni pacchetto e se
questo da una parte consente garanzie di anonimato, dall'altro può essere
sfruttato con apposite tecniche per far credere che il pacchetto provenga da
sistemi differenti da quello effettivo. Queste limitazioni saranno in parte
superate dalla prossima adozione di IPv6.
Ad oggi non esiste una soluzione unica al problema ma esistono molti modi per
tutelarsi; nei paragrafi che seguono ne presentiamo alcuni.

Network Incoming Filtering


Tutti gli ISP dovrebbero implementare dei filtri in ingresso sui propri router e
firewall in modo da bloccare i pacchetti che contengano informazioni alterate
sulla loro provenienza (in gergo SPOOFED).
Anche se questo accorgimento non impedisce il verificarsi di un attacco,
consente di ricostruire la provenienza dei pacchetti in maniera più semplice e
veloce.
Per maggiori informazioni sui filtri in ingresso: RFC 2267 su
http://info.internet.isi.edu/innotes/rfc/files/rfc2267.txt

Limit Network Traffic


La maggior parte dei router consente oggi di limitare la quantità di banda
usata da un particolare servizio.
Questa capacità è spesso definita come traffic shaping o Quality of Service
(QoS) ed è implementabile anche utilizzando una piccola macchina Linux come
gateway.
La Cisco chiama questa capacità Committed Access Rate (CAR).
Sfruttando questa caratteristica, per esempio, è possibile configurare i propri
sistemi in modo da fornire più banda ai servizi web a discapito di altri servizi
(per esempio ftp).
Com'è facilmente intuibile, questa capacità può essere usata anche in maniera
reattiva per fermare un DDoS.
Per esempio se l'attacco usa pacchetti ICMP o pacchetti TCP SYN è possibile
configurare i sistemi in modo da limitare la banda utilizzabile da questi
pacchetti.
Per maggiori informazioni:

http://www.cisco.com/warp/public/707/newsflash.html

143
http://www.cisco.com/univercd/cc/td/doc/product/software/ios120/12cgcr/qos
_c/qcpart4/qcpolts.htm

Intrusion Detection Systems e Host Auditing Tools


È possibile utilizzare un Intrusion Detection System o un tool di auditing per
identificare malintenzionati mentre cercano di comunicare con i loro sistemi
slave, master o agent. Ciò consente di sapere se alcune macchine all'interno
della propria rete sono utilizzate per lanciare un genere di attacco conosciuto
ma non sempre sono in grado di identificare nuove varianti o prodotti nuovi.
La maggior parte delle soluzioni commerciali sono ormai in grado di
riconoscere Trinoo, TNF o Stacheldraht.
L'FBI fornisce gratuitamente un prodotto chiamato "find_ddos" che cerca
all'interno del filesystem prodotti di DDoS quali Trinoo, TNF, TNF2K e
Stacheldraht
Il prodotto è disponibile solo in formato binario sia per Solaris (Sparc e Intel)
che per Linux (Intel):

http://www.fbi.gov/nipc/trinoo.htm

(non dimentichiamo che l'assenza di sorgenti rende l'applicativo non


controllabile e quindi, potenzialmente, potrebbe contenere delle backdoors,
N.d.R.)

Network Auditing Tools


Sono numerosi i programmi che consentono l'analisi di una intera rete
aziendale per verificare la presenza di agenti per DDoS.
Dave Dittrich, Marcus Ranum e altri esperti hanno sviluppato un prodotto di cui
rilasciano anche i sorgenti denominato dds:

http://staff.washington.edu/dittrich/misc/ddos_scan.tar

con il quale è possibile identificare Trinoo, TFN e Stacheldraht.

144