Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
49
Instradamento (routing)
Un altro compito del livello di rete è l’instradamento. Il compito del livello
di rete è quello di instradare il pacchetto dalla sua sorgente alla destinazione.
Normalmente c’è più di un percorso che va dalla sorgente alla destinazione. Il
livello di rete deve trovare il migliore tra tali possibili percorsi per mezzo di
opportune strategie conosciute come protocolli di routing (o di instradamento).
Il risultato è la creazione di tabelle di instradamento che verranno utilizzare per
decidere come instradare i pacchetti al momento del loro arrivo nei router.
Inoltro (forwarding)
Se routing significa applicare strategie di instradamento, l’inoltro si può definire
come l’azione eseguita dai router quando un pacchetto arriva ad una delle sue
interfacce. Per completare tale azione vengono utilizzate apposite tabelle di
inoltro. Infatti, quando un router riceve un pacchetto da una delle reti cui
è collegato direttamente, deve inoltrare il pacchetto ad un’altra delle reti a
cui è collegato. Per prendere questa decisione il router utilizza l’indirizzo di
destinazione, che si trova nell’intestazione del pacchetto, per trovare la giusta
interfaccia di output all’interno della tabella di inoltro.
Controllo di flusso
Il controllo di flusso regola la quantità di dati che una sorgente può inviare
senza sommergere il ricevente. In Internet, il livello di rete non fornisce alcun
controllo di flusso. I pacchetti vengono inviati dal mittente quando sono pronti,
senza porre attenzione al fatto che il ricevente possa essere pronto o meno.
Il controllo di flusso quando necessario, viene fornito dai protocolli di livello
superiore.
50
Controllo della congestione
La congestione nel livello di rete avviene quando troppi pacchetti sono presenti
in una certa area della rete. In tale situazione alcuni router potrebbero scartare
alcuni pacchetti. Tale aspetto non è attualmente implementato in Internet.
Sicurezza
Un’altra questione relativa alla comunicazione a livello di rete è la sicurezza.
Questa non era un problema quando Internet è stata progettata originariamente,
gli utenti erano solamente pochi universitari che usavano la rete per scopi di
ricerca. Oggi la sicurezza è fonte di un enorme preoccupazione. Per fornire
sicurezza ad un livello di rete privo di connessione, una possibilità è quella
di aggiungere un altro livello virtuale in grado di trasformare il servizio senza
connessione in un servizio orientato alla connessione (IPSec).
51
gio possano essere inviati, è necessario impostare una connessione virtuale per
definire il percorso degli stessi. Dopo aver impostato la connessione, i data-
grammi seguono tutto lo stesso percorso. In questo tipo di servizio, non solo
il datagramma deve contenere gli indirizzi di sorgente e destinazione, ma de-
ve anche contenere un’etichetta di flusso che identifichi il circuito virtuale che
definisce il percorso virtuale che il datagramma deve seguire.
52
Controllo della congestione a ciclo chiuso
I meccanismi di controllo della congestione a ciclo chiuso cercano di alleviare la
congestione una volta che è avvenuta.
53
Figura 2.1: Formato di un datagramma IPv4
54
Lunghezza dell’intestazione Il campo lunghezza intestazione (HLEN), for-
mato da 4 bit, definisce la lunghezza totale dell’intestazione del datagramma.
Dal momento che un datagramma IPv4 ha intestazione di lunghezza variabi-
le, un dispositivo che riceve un datagramma ha bisogno di sapere dove finisce
l’intestazione e dove iniziano i dati incapsulati nel datagramma.
2.1.6 Frammentazione
Per giungere alla destinazione, un datagramma IP può dover viaggiare attraverso
varie reti, ognuna con caratteristiche diverse. Una delle caratteristiche che può
variare è la dimensione del payload che può essere incapsulato nel frame, detto
55
Maximum Transfer Unit (MTU). Pertanto, un datagramma frammentato può
essere frammentato ulteriormente se incontra una rete con una MTU ancora più
piccola.
56
Gli indirizzi IPv4 sono gerarchici, divisi in due parti. La prima parte dell’in-
dirizzo, chiamata prefisso, identifica la rete, mentre la seconda parte dell’indiriz-
zo, chiama suffisso, identifica il nodo della rete. Un prefisso può avere lunghezza
fissa o variabile. Il sistema di identificazione delle reti in IPv4 è stato inizial-
mente progettato come prefisso a lunghezza fissa. Questo schema, che ormai è
obsoleto, viene indicato come indirizzamento con classi (classfull addressing). Il
nuovo schema, chiamato indirizzamento senza classi (classless addressing) usa
un prefisso di rete di lunghezza variabile.
57
Notiamo che: il numero degli indirizzi deve essere potenza di 2, la dimensione
della rete è inversamente proporzionale alla lunghezza del prefisso. Un prefisso
piccolo implica una rete più grande (con molti nodi), mentre un prefisso grande
implica una rete più piccola (con pochi nodi).
58
Subnetting per indirizzamento senza classi Più livelli di gerarchia pos-
sono essere creati utilizzando il subnetting. Un’organizzazione a cui viene as-
segnato un blocco di indirizzi può dividerlo in vari sottoblocchi ed assegnare
ognuno di questi ad una sottorete (subnet).
Esempio
Ad un’organizzazione viene assegnato il seguente blocco di indirizzi
185.195.192.0/18. L’organizzazione ha bisogno di creare le seguenti 3 sottoreti:
• Sottorete1 con 400 indirizzi IP
59
Esempio
Si supponga di aver bisogno di 1000 indirizzi IP non avendo però a
disposizione una rete abbastanza grande. Si potrebbe, allora, acquistare
quattro network address:
5.5.0.0/24,
5.5.1.0/24,
5.5.2.0/24,
5.5.3.0/24
i cui rispettivi indirizzi binari sarebbero:
5.5.00000000.00000000,
5.5.00000001.00000000,
5.5.00000010.00000000,
5.5.00000011.00000000
ed unificarli utilizzando una maschera di rete che rappresenti la porzione di
indirizzo invariata per tutti gli indirizzi. In questo caso i bit invariati in tutti e
quattro gli indirizzi acquistati sono 22, pertanto si avrebbe il blocco di
indirizzi 5.5.0.0/22
Indirizzi speciali Esistono indirizzi speciali che vengono usati per scopi par-
ticolari. Tra questi vi sono:
• Indirizzo this host, è l’unico indirizzo del blocco 0.0.0.0/32 e viene usato
ogni volta che un host ha la necessità di inviare un datagramma IP.
• Indirizzo limited-broadcast, è l’unico indirizzo nel blocco 255.255.255.255/32
e viene usato ogni volta che un router o un host devono inviare un data-
gramma a tutti i dispositivi che si trovano all’interno della rete.
60
Figura 2.2: Scambio di messaggi Client-Server.
61
mantenere la sua offerta, il server invia un messaggio di tipo DHCPNACK
e il client deve ripetere il procedimento.
NAT
Il Network Address Translation (NAT) è una tecnologia che consente di usare
una serie di indirizzi privati per la comunicazione interna e una serie di indirizzi
Internet globali (almeno uno) per la comunicazione con il resto del mondo.
In questo modo, la rete interna necessita di un solo collegamento all’Internet
globale, per mezzo di un router in grado di effettuare operazioni di NAT.
La rete privata utilizza solamente indirizzi IP privati, il router che collega la
rete interna ad internet utilizza due indirizzi IP, uno privato ed uno pubblico,
pertanto la rete privata risulta invisibile al resto di Internet.
Tutti i pacchetti in uscita dalla rete privata passano tramite il router NAT,
che sostituisce l’indirizzo IP sorgente presente nel datagramma con l’indirizzo
NAT pubblico del router. Anche tutti i pacchetti in entrata passano tramite il
router NAT, che in questo caso sostituisce l’indirizzo destinazione con l’indirizzo
privato appropriato. Per svolgere questa funzione il router NAT viene dotato
di una tabella di traduzione composta da due colonne: l’indirizzo privato e
l’indirizzo esterno. Quando il router traduce l’indirizzo sorgente del datagramma
in uscita prende anche nota dell’indirizzo destinazione. Quando torna la risposta
dalla destinazione, il router usa l’indirizzo sorgente del datagramma per trovare
l’indirizzo privato del datagramma.
62
Routing gerarchico Per risolvere il problema delle tabelle d’inoltro di di-
mensione eccessiva è possibile implementare una sorta di gerarchia nelle tabelle
d’inoltro. Oggi Internet ha una struttura in qualche modo gerarchica, essendo
divisa in dorsali e ISP nazionali. Gli ISP nazionali sono suddivisi in ISP regiona-
li, che a loro volta sono partizionati in ISP locali. Se la tabella d’inoltro ha una
qualche forma di gerarchia, analoga all’architettura di Internet, può diminuire
di dimensione.
2.1.9 ICMPv4
L’IPv4 non implementa alcun meccanismo per segnalare gli errori o correggerli.
Cosa accede se qualcosa va storto? L’Internet Control Message Protocol versione
4 (ICMPv4) è stato creato per porre rimedio a queste carenze. I messaggi
ICMP vengono incapsulati all’interno di datagrammi IP prima di essere passati
al livello inferiore. Quando un datagramma IP incapsula un messaggio ICMP,
il valore del campo protocollo nel datagramma IP è impostato a 1, per indicare
che nel payload del datagramma è presente un messaggio ICMP.
I messaggi ICMPv4 sono suddivisi in due grandi categorie: messaggi di se-
gnalazione errori e messaggi di richiesta. I primi riportano i problemi che router
o host possono incontrare quando elaborano un datagramma IP, i secondi per-
metto ad un host o ad un amministratore di rete di chiedere informazioni ad un
router o ad un altro host.
È importante sottolineare che ICMP non corregge gli errori, si limita a se-
gnalarli. La correzione è delegata ai protocolli di livello più alto. ICMP utilizza
l’indirizzo IP della sorgente per inviare un messaggio di errore all’host mittente.
ICMP segue alcune semplici regole:
1. Nessun messaggio di errore sarà generato da un datagramma che ha come
destinazione un indirizzo multicast o un indirizzo speciale
2. Nessun messaggio di errore ICMP sarà generato in risposta a un data-
gramma che contiene un messaggio di errore ICMP.
3. Nessun messaggio di errore ICMP sarà generato per un datagramma fram-
mentato che non sia il primo frammento di una serie, i frammenti successivi
al primo non generano errori ICMP.
Il messaggio di errore più ampiamente usato è quello di destinazione non rag-
giungibile. Un altro messaggio comune è di tempo scaduto che viene inviato alla
sorgente in seguito allo scarto di un datagramma con TTL sceso a 0.
63
Tipici messaggi di richiesta sono la coppia di messaggi richiesta eco e ri-
sposta eco, utilizzata da un host o da un router per verificare il funzionamento
di un altro host o router. La coppia di messaggi richiesta timestamp e rispo-
sta timestamp è utilizzata per verificare se gli orologi nei due dispositivi sono
sincronizzati.
64
Figura 2.4: Alberi a costo minimo per i nodi nella rete della Figura 2.3.
65
Figura 2.5: Rappresentazione grafica dell’equazione di Bellman-Ford.
questo punto scambiati tra nodi vicini per rendere l’albero sempre più completo e
rappresentare così l’intera rete. Questa comunicazione tra nodi vicini è continua.
Prima di vedere come funziona il completamento degli alberi incompleti,
discutiamo dell’equazione di Bellman-Ford e del concetto di vettore distanza.
• la destinazione
66
Figura 2.6: Vettore distanza di un albero.
67
stanza verso X e quando A invia la sua tabella a B, anche il nodo B corregge
la sua tabella. Il problema di questo metodo sta nel fatto che il protocollo che
implementa l’algoritmo di routing utilizza un timer: se per un certo periodo non
ci sono novità circa un percorso, elimina il percorso verso X dai suoi annunci
ad A, il nodo A non può sapere se ciò è dovuto alla strategia spit-horizon o
se dipende dal fatto che B recentemente non ha ricevuto alcuna notizia di X.
Nella strategia dell’inversione avvelenata, o poisoned reverse, B può condividere
il valore per X, ma se la sorgente delle informazioni è A, allora sostituisce la
distanza con valore infinito. In questo caso l’infinito viene usato come avverti-
mento: “Non usare questo valore, quello che so circa questo percorso viene da
te”.
68
Figura 2.8: Albero a costo minimo.
Path-vector routing
Sia il routing a stato del collegamento che a vettore distanza si basano sul costo
minimo. Tuttavia, ci sono dei casi in cui il costro non è l’obiettivo prioritario.
Ad esempio, supponiamo che nella rete ci siano dei router tramite i quali un
mittente non vuole che passino i suoi pacchetti. Per soddisfare queste richieste
è stato ideato un terzo algoritmo di routing, chiamato path-vector (PV) routing
in cui il percorso migliore viene determinato dalla sorgente utilizzando la politica
che essa stessa decide di imporre al percorso.
Routing Gerarchico
Implementare un ruoting gerarchico significa considerare ogni ISP come un siste-
ma autonomo (AS). Ogni AS può eseguire un protocollo di routing che soddisfa
69
le sue esigenze. A livello di Internet globale, questo non è possibile, è necessario
un protocollo di routing globale in grado di unire assieme tutti gli AS. Il pro-
tocollo di routing usato all’interno degli AS viene definito protocollo di routing
intra-AS, mentre il protocollo di routing globale viene definito protocollo di rou-
ting inter-AS. Ogni AS è libero di scegliere un qualsiasi protocollo intra-AS, ma
ci deve essere un solo protocollo inter-AS a livello globale. Attualmente i due
protocolli di routing intra-AS più comuni sono RIP e OSPF; l’unico protocollo
di routing inter-AS è il BGP.
I sistemi autonomi vengono classificati a seconda del modo in cui sono
connessi agli altri AS.
• AS stub: ha un solo collegamento verso un altro AS. Il traffico dati può
essere generato da o destinato ad un AS stub ma non può accadere che i
dati transitino attraverso l’AS.
• AS multihomed: ha più di una connessione con altri AS ma non consente
al traffico dei dati di passare attraverso di esso.
• AS di transito: è collegato a vari AS e consente anche il transito del traffico
dati.
70
Timer in RIP Per il suo funzionamento, RIP utilizza tre timer. Il timer
periodico controlla l’invio dei messaggi di aggiornamento. Quando arriva a zero
viene inviato un messaggio d’aggiornamento. Il timer di scadenza regola la
validità dei percorsi. Se non viene ricevuto alcun aggiornamento nell’arco dei
180 secondi assegnati, il percorso viene considerato come scaduto e il suo conto
dei salti viene impostato a 16. Il timer per la garbage collection viene usato per
eliminare i percorsi dalla tabella d’inoltro. Quando il contatore raggiunge lo 0,
il percorso viene definitivamente eliminato dalla tabella. Questo timer consente
ai vicini di venire a conoscenza di un percorso che non è più valido, prima che
sia eliminato.
71
Ogni router all’interno degli AS sa come raggiungere tutte le reti che si
trovano nel suo AS, ma non sa come raggiungere una rete che si trova in un
altro AS. Per permettere ad ogni router di instradare correttamente i pacchetti,
qualsiasi sia la destinazione, è necessario installare su tutti i router di confine
dell’AS una variante del BGP chiamata BGP esterno (eBGP). Tutti i router
(non solo quelli di confine) dovranno invece usare la seconda variante del BGP,
chiamata BGP interno (iBGP). Questo significa che i router di confine devono
eseguire ben tre protocolli d’instradamento (intra-AS, eBGP, iBGP) e che tutti
gli altri router ne eseguono due (intra-AS e iBGP).
La variante eBGP del BGP permette a due router di confine che si trovano
in due diversi AS di formare coppie di speaker eBGP e di scambiarsi messaggi.
La connessione tra queste coppie viene stabilita attraverso connessione logica
TCP. Ogni connessione logica viene definita sessione.
Il protocollo BGP usa quattro tipi di messaggi per la comunicazione tra
speaker, sia attraverso gli AS che all’interno di un AS: open, per collegarsi ai
router vicini, update per l’aggiornamento dei percorsi, keepalive, per mantenere
aperta la connessione, notification, per notificare una condizione di errore e
chiudere la sessione.
2.1.13 IP versione 6
L’Internet Protocol versione 6 (IPv6) è nata con lo scopo di aumentare lo spazio
degli indirizzi rispetto a IPv4. Infatti un indirizzo IPv6 è lungo 128 bit, contro
i 32 bit della versione 4.
Ciascun datagramma è composto da un’intestazione di base seguita dai dati
(payload). L’intestazione di base occupa 40 byte, mentre il payload può arrivare
fino a 65.535 byte.
L’intestazione è divisa in campi, tra i quali vi sono:
• Versione: definisce il numero di versione del protocollo IP, per IPv6 è il
6.
• Etichetta di flusso: permette la gestione dei dati sotto forma di flusso
di datagrammi, rispetto ai singoli datagrammi indipendenti come accade
con IPv4. Serve per stabilire che i vari datagrammi seguano uno stesso
percorso.
• Lunghezza del payload : definisce la lunghezza del datagramma IP esclu-
dendo l’intestazione. Al contrario del IPv4 l’intestazione è fissa, quindi
non occorre un campo che ne indichi la lunghezza.
• Hop limit: ha la stessa funzione del TTL in IPv4
• Indirizzo sorgente e indirizzo destinazione: indicano appunto l’indirizzo
di sorgente e destinazione del datagramma
• Payload : dati che si vogliono trasmettere.
Notiamo l’assenza del campo di checksum, in quanto nella versione 6 il
controllo degli errori è delegato ai protocolli di livello superiore.
72
2.1.14 Frammentazione e riassemblaggio
In IPv6 la frammentazione e il riassemblaggio esistono ancora ma rispetto ad
IPv4 c’è una differenza fondamentale. I datagrammi IPv6 possono essere fram-
mentati solo dalla sorgente e non dai router lungo il percorso. Il riassemblaggio
avviene solo alla destinazione. In IPv6 l’host sorgente può verificare la dimensio-
ne del datagramma e verificare se fammentarlo o meno. Quando un router riceve
un datagramma, controlla la sua dimensione e lo scarta nel caso sia maggiore
rispetto a quanto consentito dalla MTU della rete in cui deve inoltrarlo.
Un computer memorizza un indirizzo IPv6 in binario ma si utilizza una rap-
presentazione in esadecimale per una maggiore leggibilità da parte di un umano.
Inoltre, un indirizzo che prevede molti zero può essere abbreviato sostituendo
tali zero con il simbolo ‘::’.
Framing
Il livello di collegamento svolge la funzione di raggruppare i bit all’interno di
frame, questo per fare in modo che sia possibile stabilire un ordine tra i bit e
distinguerli gli uni dagli altri.
73
Il framing a livello di collegamento, ha il compito di separare i vari mes-
saggi durante la trasmissione da una sorgente a una destinazione. Opera ag-
giungendo a singoli frame sia l’indirizzo del mittente che quello destinazione.
L’indirizzo di destinazione indica dove deve andare il pacchetto, quello del mit-
tente serve invece al ricevente per generare un riscontro dell’avvenuta ricezione
(acknowledgment).
Accesso casuale
Nell’accesso casuale nessuna stazione è superiore alle altre e nessuna ha il
controllo sulle altre, essere competono una con l’altra per accedere al mezzo
trasmissivo.
I metodi ad accesso casuale si sono evoluti a partire da un protocollo noto
come ALOHA. Questo protocollo usava una procedura molto semplice chiamata
accesso multiplo (MA). Il metodo iniziale è poi stato migliorato con l’aggiunta
di una procedura che forza la stazione a rilevare lo stato del mezzo trasmissi-
vo prima di iniziare a trasmettere. Questo metodo è chiamato Carrier Sense
Multiple Access (CSMA). Successivamente l’evoluzione ha portato a due metodi
paralleli: il Carrier Multiple Access with Collision Detection (CSMA/CD) e il
Carrier Multiple Access with Collision Avoidance (CSMA/CA). La versione CD
è absata sul rilevamento delle collisioni, il CA cerca di evitarle.
74
Figura 2.9: tempo di vulnerabilità nel protocollo ALOHA puro.
ALOHA puro Il protocollo ALOHA puro prevede che ogni stazione può in-
viare un frame ogni volta che ha qualcosa da inviare. Se nel canale condiviso si
verifica una collisione e le stazioni reinviassero il frame subito dopo il time-out la
collisione si verificherebbe nuovamente, pertanto il protocollo prevede che ogni
stazione attende un ulteriore periodo di tempo casuale dopo il time-out. Questo
lasso di tempo viene chiamato back-off time. Inoltre superato un certo numero
massimo di tentativi, la stazione deve riprovare in un secondo momento.
Per tempo di vulnerabilità, nei protocolli di accesso, si intende la lunghezza
dell’intervallo durante il quale c’è la possibilità che avvengano collisioni. Sup-
poniamo che le stazioni inviino dei frame di lunghezza fissa con ogni frame che
impiega Tf secondi per essere inviato. La stazione B inizia ad inviare un frame
al tempo t. Ora immaginiamo che la stazione A abbia iniziato ad inviare il suo
frame dopo t − Tf . Ciò comporta una collisione tra i frame della stazione B e
quelli della stazione A. Inoltre, supponiamo che la stazione C inizi ad inviare un
frame prima del tempo t + Tf . Anche in questo caso ci sarà una collisione tra
i frame della stazione B e quelli della stazione C. Per questo motivo l’ALOHA
puro presenta un tempo di vulnerabilità pari a due volte il tempo di trasmissione
del frame:
Tempo di vulnerabilità ALOHA puro = 2 × Tf
Slotted ALOHA Lo Slotted ALOHA è stato inventato per rendere più effi-
ciente la sua versione di origine (ALOHA puro).
Nello Slotted ALOHA il tempo viene diviso in slot, ovvero intervalli di tempo
di dimensione fissa, di Tf secondi e le stazioni vengono forzate a trasmettere
solo all’inizio degli slot. Se una stazione non riesce a trasmette all’inizio di uno
slot, deve attendere l’inizio dello slot successivo. Naturalmente c’è ancora la
possibilità che avvengano le collisioni quando due stazioni cercano di trasmettere
all’inizio dello stesso slot. Tuttavia il tempo di vulnerabilità ora è ridotto a metà
ed equivalente a Tf .
Tempo di vulnerabilità dello Slotted ALOHA = Tf
75
CSMA. La probabilità di collisione di può ridurre se una stazione verifica prima
lo stato del mezzo trasmissivo prima di cercare di utilizzarlo. Il CSMA richiede
che ogni stazione ascolti il mezzo trasmissivo prima di trasmettere. Questo non
elimina del tutto la probabilità che una collisione avvenga. Infatti, quando una
stazione invia un frame, serve ancora del tempo affinché il primo bit del frame
raggiunga ogni stazione ed essa lo rilevi. In altre parole, una stazione può ascol-
tare il mezzo trasmissivo e trovarlo inattivo, ma questo solo perché il primo bit
inviato da un’altra stazione non è ancora stato ricevuto.
Il tempo di vulnerabilità per il CSMA è pari al tempo di propagazione Tp .
È il tempo necessario affinché un segnale si propaghi da un’estremità all’altra
del mezzo.
Per stabilire il comportamento di una stazione in seguito ad una collisione
sono stati ideati tre metodi: 1-persistente, non persistente, p-persistente.
• Secondo il metodo 1-persistente, se una stazione trova il canale attivo
continua a controllarlo fino a quando non diviene inattivo. Quando il
canale diviene inattivo, la stazione invia immediatamente il suo frame.
Questo metodo ha la più alta probabilità di generare collisioni in quanto
due o più stazioni possono trovare il mezzo trasmissivo inattivo ed inviare
immediatamente i loro frame.
• Secondo il metodo non persistente, se una stazione rileva che il mezzo è
inattivo, trasmette. Se è attivo, attende un lasso di tempo casuale e poi
effettua nuovamente la rilevazione. Tale metodo presenta una inefficienza
intrinseca in quanto potrebbe accadere che il mezzo che il mezzo resti
inattivo mentre ci sono stazioni in attesa di inviare.
• Secondo il metodo p-persistente, dopo che la stazione ha trovato il mezzo
trasmissivo inattivo, segue i seguenti passi:
76
Accesso controllato
Nell’accesso controllato, le stazioni prima di trasmettere si accordano per deter-
minare quale di essere ne ha il diritto. Usualmente vengono utilizzati tre metodi
distinti per implementare i meccanismi ad accesso controllato: la prenotazione,
il polling e il passaggio del token, quest’ultimo utilizzato nelle reti con topologia
ad anello.
77
2.2.4 LAN cablate: protocollo Ethernet
Le LAN sono reti progettate per funzionare in aree geografiche di dimensione
limitata come un edificio o un piccolo gruppo di edifici. La maggior parte delle
LAN oggi non sono reti isolare bensì sono collegate a WAN oppure direttamente
a Internet. Negli anni ottanta e novanta si utilizzavano diverse tecnologie per la
costruzione delle LAN, ad oggi sono tutte scomparse ad eccezione di Ethernet,
tale tecnologia è riuscita a mantenere il passo con i tempo fornendo velocità di
navigazione sempre maggiori.
Ethernet Standard
Il frame Ethernet contiene sette campi:
• Preambolo: questo campo è composto da bit con valori 0 e 1 alternati.
Il suo compito è quello di allertare il sistema ricevente circa l’arrivo del
frame e permettere di sincronizzare il suo orologio con la trasmissione, nel
caso non lo sia già. Il preambolo viene aggiunto a livello fisico e quindi
non è propriamente parte del frame.
• Start Frame Delimier (SFD): segnala l’inizio del frame con due bit a 1
consecutivi.
• Destination Address (DA): indirizzo di collegamento della stazione di de-
stinazione.
• Source Address (SA): indirizzo di collegamento del mittente.
• Type: definisce il tipo di protocollo del livello superiore.
• Data and Padding: questo campo trasporta i dati incapsulati. Ha un
minimo di 46 byte e se i dati sono meno di 46 byte si aggiungono tanti 0
quanti sono necessari ad arrivarci.
• CRC : contiene informazioni per il rilevamento degli errori.
Ethernet fornisce un servizio senza connessione, ogni frame è inviato indi-
pendentemente dal precedente e dal successivo. In Ethernet non c’è alcuna
fase di apertura o chiusura della connessione. È dovere dei protocolli di livello
superiore riscontrare la perdita dei dati e porvi rimedio.
78
Quando gli indirizzi Ethernet vengono trasmessi, la loro codifica è diversa
rispetto a come vengono rappresentati quando vengono scritti. Infatti gli indi-
rizzi vengono trasmessi da sinistra verso destra, byte per byte, ma per ciascun
byte il bit meno significativo vine inviato per primo e quello più significativo
per ultimo. In questo modo il ricevente è in grado di capire già dal primo bit se
il frame che sta ricevendo è unicast o multicast.
Unicast, multicast e broadcast sono trattati diversamente dai riceventi:
• in una trasmissione unicast, tutte le stazioni ricevono il frame, il destina-
tario designato lo memorizza e lo gestisce, tutte le altre lo scartano
• in una trasmissione multicast, tutte le stazioni ricevono il frame. Quelle
che appartengono al gruppo multicast lo memorizzano e gestiscono, le altre
lo scartano
• in una trasmissione broadcast, tutte le stazioni ricevono il frame, lo me-
morizzano e lo gestiscono.
Repeater o hub
Un repeater è un dispositivo che opera soltanto a livello fisico. I segnali che
trasportano informazioni all’interno di una rete possono viaggiare per una di-
stanza ben definita prima che l’attenuazione del segnale metta a repentaglio
l’integrità dei dati. Un repeater riceve un segnale e, prima che esso diventi trop-
po debole o danneggiato, rigenera la sequenza di bit originale. Successivamente
il repeater invia il segnale rigenerato. Un ripetitore non ha alcuna capacità di
filtraggio, cioè non è abbastanza intelligente da capire attraverso quale porta il
frame debba essere inviato e non effettuano alcuna verifica sugli indirizzi.
Oggi le LAN Ethernet usano la topologia a stella, e in questo caso il repeater
è un dispositivo multi-porta (spesso chiamato hub) che può essere utilizzato per
l’interconnessione delle varie stazioni collegate e allo stesso tempo fungere da
ripetitore.
79
Switch di livello collegamento
Uno switch di livello collegamento opera sia a livello fisico che di collegamento.
Come dispositivo di livello fisico rigenera il segnale che riceve, come disposi-
tivo di collegamento è in grado di verificare gli indirizzi MAC contenuti nel
frame. Uno switch ha dunque una capacità di filtraggio, cioè verifica l’indirizzo
di destinazione del frame e decide da quale porta in uscita deve essere inviato.
Per offrire questo servizio, uno switch utilizza una tabella di inoltro che associa
gli indirizzi MAC alle interfacce, costruita dinamicamente analizzando i frame
che vengono spediti nella rete1 . Analizzare i frame significa osservare indirizzi
di sorgente e destinazione. I primi servono per aggiungere nuove righe nella
tabella, i secondi per decidere su quale interfaccia inoltrare il frame.
IEEE 802.11
Lo standard IEEE 802.11 definisce due tipi di architetture: il basic service set
(BSS) e l’extended service set (ESS). L’architettura BSS è costituita da una o
più stazioni wireless e da un access point facoltativo. Se l’access point è presente
allora si parla di BSS con infrastruttura, dove l’infrastruttura è costituita dal-
l’AP e dal cavo Ethernet che collega l’AP con il router. Se l’AP non è presente,
si parla di BSS ad hoc (ad esempio il Bluetooth), che non può inviare dati ad
1 Inizialmente gli switch operavano usando delle tabelle di commutazione. Questo significa
che l’amministratore di rete era costretto ad inserire manualmente ciascuna voce della tabella
durante la configurazione dello switch.
80
altri BSS. L’ESS è costituito da due o piu BSS con infrastruttura, i BSS sono
collegati tramite un sistema di distribuzione, che è una rete cablata o wireless.
L’architettura IEEE 802.11 prevede che una stazione wireless si associ a un
AP per accedere a Internet. Lo standard 802.11 prevede che un AP invii dei
segnali periodici detti beacon, che includono il suo MAC address. La stazione
wireless sceglie l’AP da cui ha ricevuto il beacon con il segnale più potente e gli
invia una frame con la richiesta di associazione.
81
mettano a rischio la riservatezza delle proprie informazioni, riservatezza
relativa sia all’archiviazione che alla trasmissione.
• Garantire l’integrità, ovvero assicurare che le modifiche possano essere
apportate esclusivamente dalle entità autorizzate e solo rispettando le
procedure previste.
82
un lucchetto: se questo viene chiuso con la chiave pubblica, potrà essere aperto
solo con quella privata corrispondente. Il destinatario di deve creare due chiavi:
una privata e una pubblica da distribuire alla comunità. ciascun membro della
comunità deve creare la propria coppia di chiavi pubblica e privata. La critto-
grafia asimmetrica comporta che il destinatario abbia bisogno di una sola chiave
privata per poter ricevere comunicazioni da qualsiasi membro della comunità,
mentre il mittente deve utilizzare n chiavi pubbliche per poter comunicare con
n membri della comunità, una per ciascuno di essi.
83
Da notare che nei sistemi crittografici per garantire la sicurezza vengono
utilizzare le chiavi pubbliche e private del destinatario, mentre nel caso della
firma digitale vengono invece implementate le chiavi del mittente.
2. L’utente A invia R1 a B.
3. L’utente B invia R2 ad A.
84
4. L’utente A calcola K = (R2 )x mod p, B calcola K = (R1 )y mod p
K è la chiave simmetrica cercata.
2.3.9 I firewall
La prima misura di sicurezza adottata per proteggere una rete LAN è costituita
dal firewall. Un firewall è un dispositivo (router o computer) installato fra la
rete interna di un’organizzazione e Internet. È progettato per inoltrare alcuni
pacchetti e filtrarne (scartare) altri. I firewall sono solitamente classificati in
firewall a filtraggio di pacchetti o proxy. La prima categoria funziona filtrando
i pacchetti IP in base alle informazioni contenute nelle intestazioni dei livelli di
rete e trasporto, utilizzando una tabella che permette di decidere quali pacchetti
inoltrare e quali eliminare.
I firewall proxy filtrano i pacchetti a livello di applicazione. Quando il pro-
cesso client dell’utente richiede una pagina web, il proxy apre il pacchetto a
livello applicazione per determinare la legittimità della richiesta. In caso positi-
vo il server agisce da processo client e invia il messaggio al vero server all’interno
dell’azienda. In caso contrario ignora la richiesta e invia un messaggio di errore
all’utente esterno.
85