Sei sulla pagina 1di 157

R ETI P ER L A T RASMISSIONE D ATI

In questa nota sono riportate le prime informazioni, necessarie per comprendere la struttura,
il funzionamento e i protocolli di base di una rete per la trasmissione dati.

Ettore Colombo
Giugno 2013
Giugno 2013

Contenuti
1) Elementi di Base .................................................................................................................................... 6
LA RETE ....................................................................................................................................................................6
Definizione ...........................................................................................................................................................6
Le fondamenta dell'architettura di rete ..............................................................................................................6
Le domande a cui rispondere...............................................................................................................................6
Gli Hub .................................................................................................................................................................7
Gli Switch .............................................................................................................................................................7
Le LAN Wireless ...................................................................................................................................................7
Scegliere una Tecnologia .....................................................................................................................................7
Half e Full Duplex .................................................................................................................................................8
Gigabit Ethernet ..................................................................................................................................................8
Dagli Hub agli Switch ...........................................................................................................................................8
Tipologie di rete ......................................................................................................................................................9
Tipologia a stella .................................................................................................................................................9
Tipologia ad anello ..............................................................................................................................................9
Tipologia a bus ....................................................................................................................................................9
Classificazione delle reti per dimensione ..............................................................................................................10
Modalità di trasmissione dati ................................................................................................................................11
Simplex: .............................................................................................................................................................11
Half-duplex: .......................................................................................................................................................11
Full-duplex: ........................................................................................................................................................12
I pacchetti ..........................................................................................................................................................12
I livelli .................................................................................................................................................................12
I protocolli di comunicazione ................................................................................................................................13
Principali protocolli: ...........................................................................................................................................13
Il modello OSI (OSI Reference Model) ...................................................................................................................14
Livello 7 Applicazione (Network Processes to Application) .............................................................................15
Livello 6 Presentazione (Data Representation)..................................................................................................15
Livello 5 Sessione (Interhost Communication) ...................................................................................................15
Livello 4 Trasporto (End-to-end connections) ....................................................................................................15
Livello 3 Network (Address and best path) ........................................................................................................15
Livello 2 Data Link (Access to media).................................................................................................................15
Livello 1 Fisico (Bnariy transmission) .................................................................................................................15
I vantaggi del modello ISO/OSI ..............................................................................................................................16
Peer To Peer ..........................................................................................................................................................16
L'incapsulamento ..................................................................................................................................................17
L'incapsulamento passo dopo passo: ................................................................................................................17
Generazione del dato: (livelli 7, 6 e 5) ...............................................................................................................17
Incapsulamento: (livello 4) ................................................................................................................................17
Aggiunta dell'intestazione - "header": (livello3) ................................................................................................17
Aggiunta dell'indirizzo locale di rete nel frame-header: (livello2) .....................................................................17
Conversione binaria: (livello 1) ..........................................................................................................................17
Concetti per il Livello 1 OSI - Media, Connessioni e Collisioni ...............................................................................18
Introduzione ......................................................................................................................................................18
Ethernet – Standard 10 BaseT ...........................................................................................................................18
Tipi di cavo .........................................................................................................................................................18
Concetti sul Livello 2 OSI (Data-link)......................................................................................................................22
L’indirizzo MAC e la numerazione Esadecimale ( HEX ) .....................................................................................23
Protocolli di livello 3 della pila ISO/OSI – Routing .................................................................................................25
Ci sono due livelli di indirizzamento a livello di internetworking: ......................................................................25
Il modello TCP - (Internet Suite) ............................................................................................................................27
Relazione fra i livelli OSI e quelli TCP/IP:............................................................................................................27
Livello Application..............................................................................................................................................27
Livello Transport ................................................................................................................................................28

Page 1 of 157
Giugno 2013

Livello Internet ...................................................................................................................................................28


Network Interface..............................................................................................................................................28
Collocazione dei principali protocolli sui livelli della suite TCP/IP:.....................................................................28
Reti Geografiche – WAN ........................................................................................................................................29
Tecnologie WAN ................................................................................................................................................30
Circuit-switched Services - Servizi a commutazione di circuito ..........................................................................30
Packet-Switched Services - Servizi a commutazione di pacchetto .....................................................................31
Cell-Switched Services - Servizi a commutazione di cella ..................................................................................31
Dedicated Digital Services - Servizi digitali dedicati ..........................................................................................31
Altri servizi WAN ................................................................................................................................................32
2) Secondo Livello ................................................................................................................................... 33
Introduzione ..........................................................................................................................................................33
I vantaggi del modello Osi .................................................................................................................................34
Come viene implementato il Modello Osi ..........................................................................................................34
Il modello TCP - (Internet Suite) ............................................................................................................................34
Relazione fra i livelli OSI e quelli TCP/IP:............................................................................................................34
Livello Application..............................................................................................................................................35
Livello Transport ................................................................................................................................................35
Livello Internet ...................................................................................................................................................36
Network Interface..............................................................................................................................................36
Collocazione dei principali protocolli sui livelli della suite TCP/IP:.....................................................................36
I protocolli di comunicazione ................................................................................................................................36
Principali protocolli: ...........................................................................................................................................36
Peer To Peer.......................................................................................................................................................36
I pacchetti ..........................................................................................................................................................37
L'incapsulamento...............................................................................................................................................37
L'incapsulamento passo dopo passo: ................................................................................................................38
Esempio d’incapsulamento................................................................................................................................39
Data Link Layer ......................................................................................................................................................39
LLC - Logical Link Control ...................................................................................................................................40
MAC - Media Access Control .............................................................................................................................40
Le VLAN - Introduzione - Filosofia di base .............................................................................................................40
Cosa sono le VLAN? ...........................................................................................................................................40
Cos’è il CSMA/CD ? ............................................................................................................................................40
Perché usare le VLAN? .......................................................................................................................................44
Come lavora la VLAN .........................................................................................................................................44
Tipi di VLAN .......................................................................................................................................................45
Tipi di connessioni..............................................................................................................................................48
In pratica ci sono due tecniche per implementare delle VLAN’s ........................................................................49
Confronto fra Tagging e Trunking .....................................................................................................................52
Protocolli di livello 3 della pila ISO/OSI – Routing .................................................................................................54
Ci sono due livelli di indirizzamento a livello di internetworking: ......................................................................54
Un tutorial completo sui sistemi di indirizzamento IP .......................................................................................55
Struttura indirizzo IP ..........................................................................................................................................56
Classi di indirizzi IP .............................................................................................................................................56
Indirizzi IP privati ...............................................................................................................................................58
Indirizzi IP pubblici .............................................................................................................................................59
Netmasking .......................................................................................................................................................59
Come ragiona il computer all'invio di un pacchetto sulla rete. .........................................................................59
Ma perché bisogna fare questa scelta? .............................................................................................................60
La netmask risolve il problema di cosa è locale e cosa è remoto. .....................................................................60
Un po' di matematica binaria. ...........................................................................................................................61
Calcoliamo la netmask. .....................................................................................................................................63
Netmask notevoli...............................................................................................................................................65
Subnetting .........................................................................................................................................................66
Subnetting sui confini non-byte .........................................................................................................................67
L’assegnazione dell’indirizzo IP .............................................................................................................................68

Page 2 of 157
Giugno 2013

Indirizzamento statico .......................................................................................................................................69


Indirizzameneto dinamico .................................................................................................................................69
Reverse Address Resolution Protocol (RARP).....................................................................................................69
BOOTstrap Protocol (BOOTP) ............................................................................................................................69
Dynamic Host Configuration Protocol (DHCP) ...................................................................................................70
Vantaggi del protocollo DHCP ...........................................................................................................................70
3) Switching ............................................................................................................................................ 71
Gli apparati di Livello 2 ..........................................................................................................................................71
Informazioni generali ............................................................................................................................................71
Funzionamento degli Apparati di Livello 2 ........................................................................................................71
Switching Mode .................................................................................................................................................75
Spanning-Tree (STP) ..........................................................................................................................................76
Processo di Forwarding .....................................................................................................................................76
Processo di Learning ..........................................................................................................................................77
Dettagli per lo Spanning Tree ............................................................................................................................79
Dettaglio funzionamento Spanning-Tree Protocol o STP ..................................................................................81
Situazione Iniziale ..............................................................................................................................................83
Situazione dopo intervento dello STP ................................................................................................................84
Rapid Spanning Tree Protocol (RSTP) ................................................................................................................85
Spanning Tree con VLAN ...................................................................................................................................90
802.1s Multiple Spanning Tree Protocol (MSTP) ...............................................................................................90
4) Routing ............................................................................................................................................... 93
Informazioni generali ............................................................................................................................................93
Routing ..............................................................................................................................................................93
Router ................................................................................................................................................................94
Funzionamento degli Apparati di Livello 3 ........................................................................................................94
Il processo di routing .........................................................................................................................................97
Sorgente e destinazione su due reti diverse ......................................................................................................98
Routing statico ................................................................................................................................................100
Routing dinamico ............................................................................................................................................101
Suddivisione in aree .........................................................................................................................................101
Interior gateway protocols (IGPs) e Exterior gateway protocols (EGPs) .........................................................103
Distance vector routing protocols ...................................................................................................................104
Routing loops ...................................................................................................................................................107
Hold downs ......................................................................................................................................................109
Triggered updates ...........................................................................................................................................109
Routing Protocol di tipo Distant Vector ..............................................................................................................110
Protocollo RIP ..................................................................................................................................................110
Protocollo IGRP ................................................................................................................................................111
Routing Protocol di tipo Link State ..................................................................................................................113
Protocollo OSPF ...............................................................................................................................................115
Protocollo EIGRP ..............................................................................................................................................116
Router ..................................................................................................................................................................117
Caratteristiche .................................................................................................................................................117
Funzionamento ................................................................................................................................................117
5) Firewall ............................................................................................................................................. 119
Che cos’è un firewall e come funziona ................................................................................................................119
La base di funzionamento di un Firewall .............................................................................................................122
Network Address Translation ..........................................................................................................................122
Indirizzi IP interni ed esterni ............................................................................................................................122
Indirizzi IP per uso privato ...............................................................................................................................122
Tipi di traduzioni NAT ......................................................................................................................................123
Traduzione statica ...........................................................................................................................................123
Traduzione dinamica .......................................................................................................................................123
I componenti del NAT ......................................................................................................................................123
Terminologia usata..........................................................................................................................................123
Inside Local IP address .....................................................................................................................................123

Page 3 of 157
Giugno 2013

Inside Global IP address ...................................................................................................................................123


Outside global IP address ................................................................................................................................123
Simple translation............................................................................................................................................123
Extended translation ......................................................................................................................................123
Quando si deve utilizzare il NAT? ....................................................................................................................124
Il NAT risolve i problemi di indirizzamento ......................................................................................................124
Esempi di utilizzo del NAT ................................................................................................................................124
Vantaggi del NAT.............................................................................................................................................124
Svantaggi del NAT ...........................................................................................................................................124
Le operazioni del NAT ......................................................................................................................................125
1. Tradurre gli indirizzi interni locali ................................................................................................................125
2. “L’Overloading” degli indirizzi interni globali ..............................................................................................125
Come sono tradotti gli indirizzi interni locali e viceversa.................................................................................125
Estensioni al NAT .................................................................................................................................................127
Cosa è il sovraccarico (Overloading)degli indirizzi Globali del NAT? ...............................................................129
6) VPN ovvero Reti Private Virtuali ........................................................................................................ 133
La comunicazione aziendale ................................................................................................................................133
Topologia delle reti Private..............................................................................................................................133
Definizione di Perimetro di Sicurezza...............................................................................................................134
Primo principio della difesa .............................................................................................................................135
Limiti delle reti Private .....................................................................................................................................135
La ricerca di un nuovo tipo di rete Privata .......................................................................................................136
Internet ............................................................................................................................................................136
La soluzione .....................................................................................................................................................136
Definizione di VPN ...........................................................................................................................................136
Vantaggi delle VPN contro le tradizionali linee Private ...................................................................................136
I benefici di implementare una VPN ................................................................................................................136
Principalmente le VPN svolgono tre funzioni critiche per la sicurezza delle informazioni e cioè.....................137
Secondariamente le VPN : ...............................................................................................................................137
Parti di una VPN ..............................................................................................................................................138
VPN come somma di due processi ...................................................................................................................138
Il Tunneling ......................................................................................................................................................138
La Cifratura ......................................................................................................................................................139
Tipologie di VPN ..............................................................................................................................................139
Scenari di uso delle VPN ..................................................................................................................................139
VPN TIPOLOGIE ................................................................................................................................................141
Due Tipi di VPN ................................................................................................................................................141
La VPN Remote acces, .....................................................................................................................................141
Le VPN site-to-site sono di due tipi principali: .................................................................................................141
Panoramica di tecnologie per realizzare VPN..................................................................................................142
Descrizione dei Protocolli di Sicurezza sulla pila OSI e TCP/IP .........................................................................143
VPN Application Layer .....................................................................................................................................143
VPN Transport Layer ........................................................................................................................................144
VPN Data Link Layer ........................................................................................................................................145
VPN Network Layer..........................................................................................................................................146
Descrizione dei Protocolli di Tunneling ............................................................................................................146
Quando usare GRE e L2TP ...............................................................................................................................147
Quando usare IPsec .........................................................................................................................................148
Identificare i termini delle VPN e di IPsec ........................................................................................................149
VPN ovvero Reti Private Virtuali: Tecnologia IPsec v3 .....................................................................................151
Tipi di cifratura ................................................................................................................................................152
La cifratura Simmetrica ...................................................................................................................................152
Le caratteristiche di un algoritmo crittografico ...............................................................................................152
Tipi di cifratura simmetrica .............................................................................................................................152
La cifratura Stream ..........................................................................................................................................152
La cifratura a blocchi .......................................................................................................................................152
Crittografia a rete di Feistel .............................................................................................................................153

Page 4 of 157
Giugno 2013

Il DES ................................................................................................................................................................153
3DES.................................................................................................................................................................153
AES ...................................................................................................................................................................154
CAMELLIA ........................................................................................................................................................154
La cifratura Asimmetrica .................................................................................................................................154

Page 5 of 157
Giugno 2013

1) ELEMENTI DI BASE
LA RETE
Definizione
Il termine rete è soggetto a molte definizioni, spesso anche contrastanti.
Di fatto siamo abituati ad intendere una rete come sistema di collegamento tra due o più calcolatori.
Partendo da questo semplice concetto dobbiamo subito chiarire lo scopo di una rete che, sostanzialmente, è
quello di permettere la condivisione di risorse e la cooperazione fra diverse entità, attraverso i servizi offerti dalla
rete stessa.
Elementi essenziali, e minimali, di una rete sono:
 almeno due calcolatori
 un interfaccia di rete per ogni calcolatore (NIC)
 un media di collegamento (mezzo di collegamento)
 il software operativo di rete
Associando a questi elementi minimali altri dispositivi HW e Sw, i clienti della rete possono condividere archivi,
unità periferiche e altri molteplici servizi.
Le reti possono avere dimensioni differenti ed è possibile ospitarle in sedi singole, in edifici attigui fra loro
(campus) oppure dislocarle in ambito globale (dal singolo quartiere a tutto il pianeta).
In una rete, di solito, si trovano uno o più calcolatori con potenza maggiore. La presenza di uno o più di questi
calcolatori determina la distinzione fra i sistemi "centralizzati" e quelli "distribuiti".

Sistema centralizzato: laddove la potenza di calcolo e di elaborazione è garantita da un unico elaboratore.


Sistema distribuito: laddove la potenza di calcolo viene distribuita fra più elaboratori in rete fra loro.

Nei sistemi centralizzati tutti i calcolatori (terminali) sono direttamente connessi al calcolatore centrale.
I dati debbono assolutamente passare attraverso il calcolatore centrale per essere smistati fra i vari terminali.
Nei sistemi distribuiti i vari elaboratori possono dialogare fra di loro senza nessun intermediario.
La distribuzione della potenza di calcolo si spalma fra diverse unità più o meno potenti. In senso metaforico e
molto lato, è' come se tante CPU si dividessero fra di loro il carico di una unica CPU.
Al giorno d'oggi la potenza di calcolo di un sistema distribuito è di gran lunga maggiore di quella di un sistema
centralizzato.
Fra le diverse tecnologie di rete le più diffuse, attualmente, sono Ethernet e Fast Ethernet.
Le tecnologie Ethernet e Fast Ethernet sono abbastanza simili e la differenza maggiore è rappresentata dalla
velocità con cui trasferiscono le informazioni.
Ethernet funziona a 10 Megabit per secondo (Mbps) e Fast Ethernet a 100 Megabit per secondo.

Le fondamenta dell'architettura di rete


Quando si crea una rete, ci sono tre alternative tra cui scegliere: hub, switch e lan wireless. È necessario
conoscere alcuni elementi di base relativi alle reti prima di poter trovare delle risposte e prendere delle decisioni.
E' meglio usare cavi Category 3 o 5, fibra multimode o single-mode, Ethernet, Fast Ethernet, hub, switch, hub in
fibra ottica, Gigabit Ethernet, ATM (Asynchronous Transfer Mode), VoIP (Voice over IP), oppure LAN wireless?
Attualmente, sono proprio queste le domande a cui è necessario fornire una risposta prima di implementare una
rete all'interno della propria azienda.
Questa parte illustra le varie possibilità di connessioni e pratiche architetturali.
Infatti, è necessario conoscere alcuni elementi di base delle reti prima di poter trovare delle risposte e prendere
delle decisioni.

Le domande a cui rispondere


Nella scelta della tecnologia più adatta alla propria azienda, è opportuno prendere in considerazione e trovare le
risposte alle seguenti domande.
 Quanto a lungo si rimarrà nello stesso edificio?
 Quanti utenti si prevede di avere in rete?
 Gli utenti avranno bisogno di spostare spesso i computer nell'ambito dello spazio di lavoro?
 Gli utenti dovranno mettere in rete applicazioni particolarmente affamate di larghezza di banda,
sono previste applicazioni multimediali?

Page 6 of 157
Giugno 2013

 Qual è la velocità della connessione aziendale a Internet?

Gli Hub
Gli hub sono dei dispositivi di connessione che garantiscono a due computer di poter comunicare e "vedersi"
reciprocamente in una tipologia di rete. Queste operazioni vengono compiute usando una metodologia a
medium condiviso: una sorta di conferenza telefonica dove tutti i partecipanti possono ascoltare gli altri sulla
linea. Dal punto di vista della sicurezza, qualsiasi computer host sull'hub può vedere i dati che appartengono a un
altro host sul medesimo hub. Se la sicurezza tra i singoli host sulla rete costituisce una preoccupazione primaria,
si dovrebbe prendere in considerazione fin da subito questo problema. Il tipo più piccolo di hub supporta da due
a otto connessioni, mentre quello più grande, che spesso è configurabile a stack, offre centinaia di porte, ognuna
delle quali può gestire un singolo computer che trasferisce i dati a 10 Mbps. Attenzione però! L'intero hub può
trasmettere i dati alla velocità massima di 10 Mbps in aggregato; in conseguenza, se due computer stanno
cercando di trasferire 10 Mbps ciascuno, non sarà possibile ottenere questa velocità.

Gli Switch
Gli switch permettono di segmentare il traffico. Ciò significa che il Computer A non può accedere ai dati che
vengono trasferiti tra il Computer B e il Computer C. La cosa equivale a una normale chiamata telefonica: il
mittente e il destinatario della chiamata sono gli unici partecipanti. Questa soluzione è quindi più sicura rispetto
all'uso di un hub. Gli switch di fascia bassa offrono 24 porte, mentre i sistemi di fascia alta sono dotati di centinaia
di porte. Ciascuna porta può gestire un singolo computer su una connessione da 10 o 100 Mbps.

Le LAN Wireless
Rispetto a switch e hub, le LAN wireless costituiscono un elemento relativamente nuovo. Invece di collegare i
computer con cavi fisici, le LAN wireless usano antenne per trasmettere i dati attraverso un insieme specifico di
frequenze radio. Mentre i computer si possono spostare, il ricevitore e le antenne per la LAN devono spesso
essere stazionarie e si devono trovare entro una certa distanza dai computer. Il fatto di non usare cavi e di essere
liberi di spostarsi ha molte implicazioni. Dal momento che non ci sono cavi che collegano ciascun ufficio, non
occorre creare un impianto di cablaggio e la scalabilità risulta molto più economica. Durante gli spostamenti, ci
sono meno dispositivi da acquistare e da mantenere.

Scegliere una Tecnologia


Ovviamente, ciascuna tecnologia ha un proprio costo associato. Fortunatamente, tutte le tecnologie stanno
diventando sempre più economiche con l'andare del tempo. La connettività di rete si sta trasformando in un
bene di massa per tutte le aziende; i produttori di dispositivi di rete la forniscono in molti casi senza ulteriori
aumenti di prezzo.
Una parte dell'equazione dei costi è costituita dall'infrastruttura fisica indispensabile per usare una qualsiasi di
queste tecnologie; si ricordi che in due soluzioni su tre bisogna creare una struttura di cavi nel quadro
dell'implementazione.
Il cablaggio di un ufficio con una ventina di postazioni può costare più di una decina di milioni. Uno degli aspetti
che è opportuno prendere in considerazione è costituito dal tipo di cablaggio che viene già utilizzato dall'azienda.
Il sistema "Category" è uno standard per il tipo di cavi di rame che vengono utilizzati. In generale, il numero di
Category indica quanto strettamente il cavo è intrecciato e quindi anche la velocità dei dati che può trasportare.
Il Category 3 è lo standard di cablaggio minimo indispensabile per ottenere connessioni da 10 Mbps.
I cavi Category 5 possono raggiungere velocità di 100 Mbps; prima di dedicarsi al ri-cablaggio dell'ufficio, è
tuttavia opportuno tenere presente che i cavi Category 5 possono costare il doppio di quelli Category 3.
Quando arriva il momento di decidere tra switch, hub e reti wireless, la soluzione più economica consiste in un
hub. Quest'ultimo è caratterizzato da un modesto ingombro fisico e dalla presenza sul mercato di molti
importanti produttori quali 3Com, Cabletron e Lucent. Gli hub tuttavia possono causare una degradazione delle
prestazioni di rete e problemi di sicurezza. Con il crescere dell'utilizzo, a causa del maggior numero di host oppure
di programmi "a utilizzo elevato" come i visualizzatori multimediali, le prestazioni possono diminuire in modo
notevole. Per esempio, un file da 10 Mbyte trasferito da una porta hub a 10 Mbps verso un'altra porta hub da 10
Mbps verrà in media trasferito alla velocità di circa 1 Mbps (portando a ottenere un tempo totale di
trasferimento di 10 secondi). Se si desidera avere una rete più veloce, la scelta migliore potrebbe essere quella di
usare switch in grado di gestire dei trasferimenti a 100 Mbps. Su uno switch full-duplex da 100 Mbps, lo stesso
file da 10 Mbyte citato nell'esempio dell'hub potrebbe essere trasferito a più di 10 Mbps; il trasferimento del file
richiederebbe quindi meno di un secondo. Si tratta di un sostanziale incremento delle prestazioni, anche per un

Page 7 of 157
Giugno 2013

file relativamente piccolo. Si immagini come in questa situazione verrebbe trasferito più velocemente un filmato
da 1 Gbyte, oppure un pacchetto software da 400 Mbyte.
Gli switch sono inoltre scalabili, dal momento che possono avere molte porte e permettono di inserire con facilità
nuovo hardware nello stack.
Se si decide di fare completamente a meno di una struttura di cavi, è possibile utilizzare i dispositivi wireless. In
questo caso non è richiesta alcuna struttura di cavi ed è consentito il computing mobile in tutto l'ufficio.
Naturalmente, questo schema risulta incredibilmente utile negli uffici che non hanno o non possono avere una
struttura di cavi.

Half e Full Duplex


Una volta scelta la tecnologia di rete, la fase successiva nell'implementazione della rete aziendale consiste nel
decidere (ovviamente, nel caso in cui si abbia una soluzione in grado di funzionare a diverse velocità) a quale
velocità le rete dovrà operare. Creare fin dall'inizio di un sistema in grado di gestire trasferimenti a 100 Mbps è
una cosa utile per la pianificazione a lungo termine; se invece si prevede di implementare immediatamente il
sistema, sarà necessario acquistare e installare delle interfacce di rete compatibili con questa velocità.
Le impostazioni duplex sulla rete sono un'altra questione da prendere considerazione. Il duplex indica se i dati
che vengono trasmessi e ricevuti sono inviati attraverso gli stessi cavi oppure no. Analogamente a una strada
senso unico, lo schema half-duplex permette ai dati di fluire soltanto in una direzione. Se arriva del traffico nella
direzione opposta, ci sarà una collisione. Il full-duplex è invece come una strada a due sensi, con una doppia linea
bianca centrale. Il traffico scorre in entrambe le direzioni e non attraversa le corsie, portando ad avere un
numero minore di collisioni. In termini di cavi, lo schema half-duplex invia tutto il traffico lungo una coppia di
cavi. Entrambi questi cavi vengono usati per trasmettere o ricevere. Quando un pacchetto di dati da un host
viene inviato su un cavo che contiene già un pacchetto in arrivo, si verifica una collisione ed entrambi i pacchetti
vengono scartati. I nuovi pacchetti vengono inviati secondo intervalli ritardati a caso (con ritardi di microsecondi),
in modo da minimizzare la probabilità che avvenga nuovamente una collisione.
Le trasmissioni full-duplex mettono i dati su ciascun lato di coppie di cavi separate. Questo schema richiede che
entrambe le estremità siano in grado di gestire la trasmissione full-duplex e il fatto di avere due coppie (quattro
cavi) tra queste estremità. Lo schema full-duplex aumenta la possibilità che le velocità della linea (10 Mbps o 100
Mbps) si avvicini al massimo teorico.

Gigabit Ethernet
Esiste un'opzione che consente di superare la barriera dei 100 Mbps: lo schema Gigabit Ethernet. Se gli switch
sono connessi da cavi Category 5 e da interfacce di rete multiple, si può ottenere una velocità a livello di Gbps. Gli
switch e le interfacce di rete devono in questo caso essere compatibili con la tecnologia Gigabit Ethernet. L'idea è
quella di usare tutte le porte di scheda Ethernet a quattro porte e aggregare simultaneamente il traffico su di
esse; in questo modo, un computer può teoricamente trasferire i dati con una velocità prossima a 1 Gbps.

Dagli Hub agli Switch


Gli hub di rete possono essere collegati soltanto a cascata due a due: se si dispone di un hub a 24 porte, si può
collegare un altro hub a una di queste porte. Ciò porta il totale complessivo a 576 porte. Non è possibile
aggiungere un ulteriore insieme di hub in modo da aumentare ancora di più il numero di porte, dal momento che
il signaling fisico della rete non lo consente. In questo caso, la conseguenza è che gli hub hanno una inerente
limitazione nella capacità di crescita. Ciò ne limita sostanzialmente la scalabilità.
Gli switch di rete, d'altra parte, possono essere concentrati. Inserendo nell'ambiente degli switch ad alta densità
e interconnessioni in fibra ottica, il numero di switch fisici che si vedono reciprocamente è limitato soltanto dalla
quantità di fibra ottica disponibile. In breve, gli switch hanno un'elevata densità di porte (più porte per slot e per
dimensioni di altezza) e possono essere collegati attraverso un anello in fibra ottica, che garantisce la possibilità
di connettere reciprocamente centinaia di switch.
In una fase di transizione, è ragionevole prendere in considerazione una configurazione mista con switch e hub.
Per implementare questa configurazione ed essere ancora "legali" dal punto di vista delle limitazioni di signaling
inerenti agli switch di rete (come specificato dalla IEEE), è necessario inserire uno switch multiporta (24 porte, 48
porte, o altro) e collegare a catena gli hub da quest'ultimo. Ciò garantisce la sicurezza di ogni hub, dal momento
che tutto il traffico ad esso diretto passerà attraverso una porta sicura sullo switch. La segmentazione aiuta
inoltre a ridurre le contese e la congestione della rete.
Quello della congestione è uno dei fattori che più comunemente contribuiscono al raggiungimento di scarse
prestazioni.
I sistemi operativi NT e Unix sono in grado di sondare la congestione della rete vista da ciascun host. Se il livello di

Page 8 of 157
Giugno 2013

collisioni risulta maggiore del cinque per cento dei pacchetti totali in transito nell'interfaccia di quella macchina,
esistono dei problemi di congestione.

Tipologie di rete
Esistono due tipi di tipologie: La tipologia fisica e la tipologia logica:
Fondamentalmente le principali tipologie fisiche sono tre:
 stella
 anello
 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

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.

Tipologia ad anello

Una rete ad anello connette tutti i nodi in sequenza fra di loro in modo da formare un anello. In questo modo la
comunicazione avviene in un unico senso e ogni nodo ritrasmette al nodo successivo i dati che non sono destinati
a se stesso.

Tipologia a bus

Page 9 of 157
Giugno 2013

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)


 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
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). Questo protocollo ha la caratteristica implicita di permettere ad un solo dispositivo di
comunicare in un dato momento.
Nelle reti token-passing viene distribuito, sul canale trasmissivo, un "gettone" che può essere catturato per
trasmettere dati. Se un host non ha nessun dato da trasmettere passa il gettone (token) all'host successivo. In
questo modo si determina una sequenza.

Classificazione delle reti per dimensione


Tabella esemplificativa che permette di comprendere facilmente la tipologia di rete in rapporto alla sua
estensione
Distanza Ambito Tipo di rete

10 m. Ufficio Rete locale (LAN)


100 m. Edificio Rete locale (LAN)
1 km. Campus Rete locale (LAN)
Rete metropolitana
10 km. Città
(MAN)
100 km. Regione Rete geografica (WAN)
1000 km. Nazione Rete geografica (WAN)
10.000 km. Pianeta Internet

Page 10 of 157
Giugno 2013

Modalità di trasmissione dati


Sulle linee di trasmissione i dati possono viaggiare in diverse modalità.
Ognuna di queste ha vantaggi e svantaggi impliciti. Si tratta di organizzare la trasmissione sul canale:

In modalità seriale, ogni bit che costituisce il dato viene invitato sullo stesso cavo cavo e in modalità sequenziale,
uno alla volta come indicato in figura

In modalità parallela, i bit che costituiscono il dato vengono inviati in contemporanea su cavi differenti. Se
inviamo 8 bit contemporaneamente, avremo bisogno di 8 cavi come in figura:

In entrambe le modalità, la velocità si misura in BAUD, (numero di bit per secondo). A prima vista la modalità
parallela sembra più veloce ma, vi sono errori e correzioni da effettuare che fanno propendere per la modalità
seriale.
I dispositivi delegati alla trasmissione (trasmettitore e ricevitore) potranno adottare diverse tipologie di
trasmissione che saranno scelte in base al tipo linea di trasmissione che li collega.

La linea di trasmissione può essere:


Simplex:
Su un canale simplex i dati viaggiano sempre in un unica direzione.
Un analogia potrebbe essere fatta con la radio o la tv.
Le due unità collegate sul canale dati (trasmettitore e ricevitore) necessitano di una definizione a
priori: Trasmettitore o ricevitore.

Half-duplex:
Un canale Half-duplex può ricevere e trasmettere ma non contemporameamente.
La stessa linea già vista nel simplex, diventa bidirezionale. Qui i dati viaggiano in entrambi i sensi ma, durante la
trasmissione, solo uno dei due sensi è abilitato alternativamente.

Page 11 of 157
Giugno 2013

Per analogia si potrebbe pensare alla trasmissione dei CB (citizien band) dove su un canale si può parlare solo
alternativamente.
Il segnale tipico è "passo" che trasferisce la priorità all'altro capo del canale. Il ricevente diventa trasmittente e il
trasmittente, a sua volta, cambia lo stato in ricevente.
Il passaggio di stato prende il nome di "commutazione di direzione".

Full-duplex:
Sul canale passano contemporaneamente dati nelle due direzioni.
Analogia vuole che oggi molti servizi (telefonici, dati ecc.) permettano questa implementazione (tv interattiva,
adsl, multiconferenza telefonica ecc.).

I pacchetti
I dati viaggiano nella rete sotto forma di pacchetti (data packet).
Il termine pacchetto rappresenta una specie di confezionamento (o meglio di "imbustamento") delle informazioni
attraverso cui si definisce il mittente, il destinatario, i dati trasmessi e tutta una serie di informazioni di
controllo.....
Più precisamente un pacchetto è composto da una serie di bit che formano un blocco di dati.
Questo blocco di datti è diviso in diversi sotto blocchi che rappresentano un'intestazione, informazioni di
controllo, mittente, destinatario, dati di controllo degli errori nonché il messaggio stesso (la parte relativa alle
informazioni vere e proprie).
Poiché sono unità di dati di rete simili tra loro, i termini pacchetto e frame sono di fatto sinonimi.
Il confezionamento, il tipo e la dimensione dei pacchetti dipendono dal tipo di rete utilizzata e dai protocolli che
regolano la trasmissione.
I dati (gruppi di bit che compongono il pacchetto) sono un materiale duttile che può essere suddiviso e aggregato
in vari modi. Ciò significa che, durante il loro tragitto, i dati possono essere scomposti e ricomposti più volte e in
modi differenti. Per esempio, per attraversare un particolare segmento di rete, potrebbe essere necessario
suddividere dei pacchetti troppo grandi in pacchetti più piccoli, oppure potrebbe essere utile il contrario.
In particolare, si parla di incapsulamento quando i pacchetti vengono inseriti all'interno di altri pacchetti.

I livelli
Nel progettare una rete è necessario seguire lo schema per livelli.
Ogni livello è costruito sopra il precedente e comunica solamente con il livello corrispondente (Layer n on one
computer communicates with Layer n on another computer).
Essendoci diversi tipi di rete ci sono anche molto differenze nei livelli che le costituiscono.
Essi possono differire, in reti diverse, sia per numero, ma soprattutto per definizione o contenuto.
Anche le funzioni che i livelli esplicano sono spesso molto differenti, per cui bisogna stare molto attenti nel fare
riferimenti numerici in reti di tipo diverso.
Il principio fondamentale (che vale per tutti i tipi di rete) è che ogni livello può offrire i servizi solo ai livelli più alti,
ignorando i dettagli sul come tali servizi siano implementati.

Page 12 of 157
Giugno 2013

Per esempio, il livello 5 di un elaboratore conversa con il livello 5 di un altro elaboratore. Le regole e le
convenzioni che governano questa conversazione sono generalmente indicate col termine di "protocollo di livello
5". E così per tutti gli altri livelli.
I processi che effettuano tale conversazione si definiscono "peer entitiy" ovvero "entità di pari livello". Il dialogo
fra due entità di pari livello (es. livello 4) si realizza attraverso i servizi offerti dal livello 3 ovvero (4-1).

Uno dei vantaggi palesi della divisione in livelli è quello di scomporre il problema della trasmissione fra
computers in problemi più piccoli e più facilmente gestibili.

ELABORATORE A ELABORATORE B
LIVELLO 5 <- PROTOCOLLO DI LIVELLO 5 -> LIVELLO 5
LIVELLO 4 <- PROTOCOLLO DI LIVELLO 4 -> LIVELLO 4
LIVELLO 3 <- PROTOCOLLO DI LIVELLO 3 -> LIVELLO 3
LIVELLO 2 <- PROTOCOLLO DI LIVELLO 2 -> LIVELLO 2
LIVELLO 1 <- PROTOCOLLO DI LIVELLO 1 -> LIVELLO 1

MEZZO FISICO

I protocolli di comunicazione
I pacchetti vengono trasmessi e ricevuti in base a delle regole. Possiamo ben dire che un "protocollo di
comunicazione" è un insieme di regole definite e accettate da tutti ("set of rules")
Le regole si applicano già, nella vita normale, a tutti i livelli di comunicazione. Basti pensare ad una semplice
telefonata fra due interlocutori:
In base alle regole di comunicazione telefonica, ogni telefonata inizia con un segnale di attenzione/disponibilità
come "pronto" o "hello" (in un altra lingua) e finisce con un altro saluto.
Durante la comunicazione telefonica, inoltre, mentre un interlocutore parla l'altro rimane in ascolto.
Un altro esempio può essere rappresentato dalle modalità e dalle regole di guida degli autoveicoli.
Anche in questo caso il tutto avviene per mezzo di "regole" riconosciute da tutti.
Se gli automobilisti non le rispettassero (non usando le frecce, inserendosi contromano nei sensi unici, passando
col rosso ecc) sarebbe il caos.
I protocolli di comunicazione riferiti ai dati usano le stesse regole:
Si annunciano, mentre un elaboratore trasmette gli altri restano in attesa e a fine trasmissione mandano dei
segnali per avvertire che il contatto è terminato.
Trattandosi di protocolli di comunicazione che devono soddisfare molte reti e molti elaboratori, necessitano di
regole complesse ma efficienti.
Tornando all'analogia con la vita quotidiana, si potrebbero paragonare alle regole che stabiliscono la
comunicazione in un assemblea, in un dibattito politico o in una classe scolastica.

Principali protocolli:
INSTRADABILI (ROUTABLE) - TCP/IP, IPX/SPX, OSI, AppleTalk, DECnet, XNS.

NON INSTRADABILI (NON-ROUTABLE) - NetBEUI, DLC, LAT.

 NetBEUI - Protocollo Microsoft disegnato per piccole LAN; non è instradabile. Non è compatibile
con le reti UNIX.
 IPX/SPX - Protocollo per reti Novell: è instradabile. In NT è conosciuto anche come NWLink.
 TCP/IP - Il protocollo di Internet ; è routabile. Usato nelle reti UNIXs.
 DECnet - Definisce le comuncazioni sulle MAN FDDI; è instradabile.
 Appletalk - Protocollo disegnato per le piccole reti Apple; è instradabile.
 DLC - Usato per il collegamento a Mainframe IBM e stampanti di rete HP. Non è instradabile.

Page 13 of 157
Giugno 2013

Il modello OSI (OSI Reference Model)


Gestire le comunicazioni in rete è un problema complesso. Le differenze di hardware e software hanno creato, in
passato, incompatibilità fra i sistemi e quindi difficoltà di interazione fra i servizi.
Nei primi anni '80 la rapida evoluzione delle reti cominciò a creare grossi problemi alla interconnessione fra le
stesse tanto da costringere le grandi multinazionali dell'IT ad abbandonare i sistemi proprietari e muovere verso
un sistema di integrazione basato su uno standard.

Il modello di riferimento OSI (Open System Interconnection), diventato parte degli standard ISO (International
Organization for Standardization) nel 1984, divide la gestione della rete in livelli (layers). Questo modello non
definisce uno standard tecnologico ma, un modello di riferimento comune per le tecnologie e i servizi che
gestiscono le reti. Esso assicura compatibilità e interoperabilità anche fra diversi tipi di tecnologie.
Lo studio dell'Iso prese in esame gli aspetti comuni fra le varie tecnologie (SNA, DECNET, TCP/IP ecc) e cercò di
addivenire ad una serie di regole, basate su livelli, che aiutassero i costruttori ad implementare protocolli aperti.
Per capire il concetto di strutturazione per livelli è necessario comprendere come il flusso dei dati viene gestito e
regolato fra gli stessi.
Un buon esempio potrebbe essere quello relativo al sistema postale. Ogni passaggio di consegna di una lettera
avviene per livello di competenza e per regole di smistamento. La lettera viene imbucata in una cassetta postale e
poi prelevata e portata al centro di smistamento. Nel centro di smistamento viene interpretato l'indirizzo e la
lettera viene veicolata verso un altro centro vicino alla destinazione finale dove seguirà il percorso analogo (ma a
ritroso) fino ad arrivare nelle mani del postino per essere recapitata.

I livelli del modello OSI/ISO sono sette.


La storia racconta che la scelta di 7 livelli è dovuta ad una aderenza sostanziale e a una compatibilità inevitabile
con il modello di comunicazione più in voga nel 1984. IBM ovviamente.
Se consideriamo i livelli nel modo indicato dalla tabella seguente, il primo livello è quello più basso ed è a
contatto con il mezzo fisico (media), mentre l'ultimo è quello più alto ed è direttamente a contatto con le
applicazioni:

Page 14 of 157
Giugno 2013

Livello 7 Applicazione (Network Processes to Application)


Il livello 7 è quello che si interfaccia direttamente con i programmi applicativi (Application Program Interface). I
campi applicativi più conosciuti sono, per esempio, la posta elettronica (software per la gestione della Email), il
trasferimento dei flussi (software per ftp o http), le connessioni remote (software di accesso remoto), emulazioni
di terminali ecc. E' il livello più a contatto con l'utente e non serve nessun livello superiore.

Livello 6 Presentazione (Data Representation)


Il livello 6 serve per la trasformazione/conversione del formato dei dati (ad es. cifratura e decifratura). Molto
spesso i sistemi che si interfacciano alla rete adottano codifiche diverse (es. ASCII o EBCDIC). In pratica il livello 6
assicura la "leggibilità e l'interpretazione" del dato da parte del sistema ricevente.

Livello 5 Sessione (Interhost Communication)


Si preoccupa di controllare il dialogo (sincronizzazione/mantenimento della comunicazione) fra due programmi
applicativi. Questo livello si occupa quindi della qualità della cosidetta "conversazione".

Livello 4 Trasporto (End-to-end connections)


E' il livello a cui è delegata la funzione di invio e ricezione dei dati. Si occupa di fornire un trasferimento dati
affidabile correggendo gli errori. Divide i messaggi i in pacchetti, ne controlla e preserva l'ordine con cui devono
essere spediti, controlla la presenza di errori. E' il primo layer che lavora indipendentemente dalla topologia della
rete in cui si trova, per questo viene chiamato end-to-end. Questo livello non si occupa quindi della qualità del
servizio e della sua affidabilità. In particolari servizi di comunicazione è questo il livello che stabilisce, mantiene e
poi chiude i cosideti "circuiti virtuali".

Livello 3 Network (Address and best path)


Questo livello si occupa della gestione relativa all'instradamento dei pacchetti, controlla l'indirizzo di provenienza
e di destinazione e gestisce le tabelle di instradamento (come le tabelle di routing) necessarie per far giungere a
destinazione i pacchetti. E' questo il livello che sceglie gli instradamenti alternativi, sia in caso di guasti o di
mutate condizioni di traffico, che in base alla scelta del minor costo. Si può affermare che lavora in modo astratto
rispetto al tipo fisico di comunicazione.

Livello 2 Data Link (Access to media)


Gestisce i pacchetti (frame), spezzoni di messaggio di lunghezza fissa. Si occupa di tutti i meccanismi di
individuazione e correzione degli errori avvenuti nel livello 1. A questo livello avviene l'indirizzamento fisico
basato sull'indirizzo fisico degli host (MAC).

Livello 1 Fisico (Bnariy transmission)


Si occupa della trasmissione dei dati sul mezzo fisico (media). Qui viene, di fatto, specificata la rappresentazione
elettrica degli 0 ed 1 binari in modo tale che il sistema ricevente possa leggere correttamente il flusso di bit in
arrivo. Tutti gli standard di voltaggio, distanze massime, connettori fisici ecc. sono qui attribuiti.
Tabella riassuntiva:

7 Application SMB, NCP e FTP


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

Page 15 of 157
Giugno 2013

I vantaggi del modello ISO/OSI

1. Riduce la complessità
Scompone le complesse problematiche del networking in parti più piccole (livelli)

2. Standardizza le interfacce
Standardizzando i componenti, permette a tutti i vendor di partecipare al mercato

3. Facilita l' ingenierizzazione dei componenti


Permette ai costruttori di hw e di sw di creare prodotti "compatibili".

4. Assicura l'interoperabilità
Permette la gestione di servizi indipendentemente dal tipo di piattaforma hw e sw

5. Accellera l'evoluzione
Permette l'implementazione dei singoli livelli indipendentemente dagli altri. Ciò facilita sviluppo ed
evoluzione.

6. Semplifica l'apprendimento e l'insegnamento


Divide la complessità delle comunicazioni in rete in tante piccole parti. Ognuna delle quali è facile da
apprendere e da insegnare.

Peer To Peer
Affinchè i pacchetti possano viaggiare dall'host sorgente a quello di destinazione, ogni livello "sorgente" del
modello OSI deve comunicare con il pari livello di "destinazione".
Questa modalità viene chiamata Peer-to-Peer Communication.
Durante questo processo ogni livello scambia delle informazioni, chiamate protocol data units (PDUs) con il suo
pari livello.
In ogni livello di comunicazione il sorgente e la destinazione si scambiano le PDU.

SORGENTE DESTINAZIONE
APPLICATION <- DATI -> APPLICATION
PRESENTATION <- DATI -> PRESENTATION
SESSION <- DATI -> SESSION
TRANSPORT <- SEGMENTI -> TRANSPORT
NETWORK <- PACCHETTI -> NETWORK
DATA LINK <- TRAME -> DATA LINK
PHYSICAL <- BIT -> PHYSICAL

Il livello di trasporto si occupa di segmenti; i segmenti vengono incapsulati in pacchetti; i pacchetti sono
frammentati e incapsulati in trame; le trame si trasformano in flussi di bit.

Page 16 of 157
Giugno 2013

L'ottimizzazione di questo processo avviene attraverso l'incapsulamento: il livello sottostante usa


l'incapsulamento per inserire la PDU del livello superiore nel suo campo dati, dove poi verranno inserite ulteriori
informazioni (header, trailers) per ottimizzarne le funzioni.

L'incapsulamento
Per trasferire delle informazioni attraverso un canale comunicativo è necessario procedere al cosidetto
incapsulamento dei dati (encapsulation).
L'incapsulamento è quell'operazione che arrichisce i dati di ulteriori informazioni (ad esempio quelle relative al al
protocollo) ogni volta che scendono di livello verso il media fisico.
In pratica, nel loro cammino verso il basso (dal livello 7 fino al livello 1) i dati vengono "rivestiti" di ulteriori
informazioni come ad esempio i vari header (intestazioni) ogni volta che attraversano i livelli 4, 3 e 2 della pila
OSI.

L'incapsulamento passo dopo passo:


LIVELLO 7 Dati
LIVELLO 6 Dati
LIVELLO 5 Dati
LIVELLO 4 Segmenti (DATA-DATA-DATA)
LIVELLO 3 Pacchetti (intestazione logica + Data)
LIVELLO 2 Frame (intestazione + indirizzo locale + Data + indirizzo locale)
LIVELLO 1 100100101011010

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


Una qualsiasi generazione di informazioni (ed esempio un utente che genera una Email in formato alfanumerico).

Incapsulamento: (livello 4)
I dati da trasferire sono spezzettati in segmenti, e spediti al destinatario, numerandoli sequenzialmente. Il
destinatario, alla ricezione dei segmenti, invia un segnale di avvenuta trasmissione. Nel caso di fallimento della
ricezione di un segmento, il destinatario può richiederne la ritrasmissione. In questo modo sussiste il controllo
degli errori nel trasporto dei dati.

Aggiunta dell'intestazione - "header": (livello3)


Il dato viene inserito in un pacchetto (o datagramma) munito di intestazione che contiene gli indirizzi logici ( a
seconda del protocollo di comunicazione scelto) del mittente e del destinatario.
E' questa l'operazione che permette agli apparati di rete di smistare i pacchetti e scegliere i percorsi.

Aggiunta dell'indirizzo locale di rete nel frame-header: (livello2)


Ogni apparato di rete inserisce i pacchetti in una frame. La frame viene spedita alle device connesse direttamente
sulla stessa rete che ne aggiungono il proprio indirizzo di rete fisico. In questo caso le informazioni ulteriori
riguardano la tecnologia trasmissiva scelta (es. Ethernet o Tokeng Ring).

Conversione binaria: (livello 1)


La frame viene convertita in una struttura a bit "0/1" per permetterne la trasmissione sul media (tipicamente un
cavo).
L'operazione di incapsulamento può essere paragonata a quella che avviene nelle comuni operazioni che
accompagnano le funzioni proprie dei sistemi postali convenzionali.
In questi sistemi vengono esaminate, a vari livelli, le informazioni relative agli indirizzi presenti nelle buste e nei
pacchi.
Ad esempio l'ufficio postale esaminerà solo il CAP, mentre il postino analizzerà la Via e il portiere del condominio
il nome del condomino.
I livelli, infatti, si astraggono dalle altre informazioni e prendono in esame solo le informazioni offerte dai pari
entità. PDU del pari livello.

Page 17 of 157
Giugno 2013

Concetti per il Livello 1 OSI - Media, Connessioni e Collisioni


Introduzione
Una rete deve essere costruita su solide fondamenta. Nel modello di riferimento OSI le fondamenta sono
rappresentate dal livello 1 (fisico). Il livello fisico è il livello che definisce l’elettricità, la meccanica, le procedure e
le funzioni specifiche per attivare, mantenere e disattivare il collegamento fisico tra sistemi. I "networking media"
sono utilizzati al livello fisico e includono doppini telefonici (twisted-pair) schermati (shielded), cavi coassiali, e
fibra ottica.

Ethernet – Standard 10 BaseT


Nel 1990 il comitato IEEE pubblicò la specifica 802.3 per l’esecuzione di Ethernet su un cablaggio a doppini
intrecciati. Il risultato, 10BaseT (10 Mbps a banda base su un cavo a doppini intrecciati) è una rete Ethernet che
tipicamente utilizza cavi a doppini intrecciati non schermati (UTP) per il collegamento dei computer. Di solito, lo
standard 10BaseT impiega i cavi UTP , tuttavia è possibile utilizzare i cavi a doppini intrecciati schermati (STP)
senza modificare in alcun modo i parametri dello standard. La lunghezza massima di un segmento 10BaseT è 100
metri. Per estendere tale lunghezza è possibile ricorrere ai ripetitori.

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

Principali caratteristiche

Cavo da 150 Ohm


Velocità - 16 Mbps / 155 Mbps
Lunghezza massima del cavo senza ripetitore - 100 metri (feet 382)
Vantaggi – abbastanza resistente alle interferenze
Svantaggi – più costoso e difficile da installare rispetto ad UTP

Cavo STP

ScTP (Screened Twisted-Pair cable) o FTP (Foil Twisted-Pair)


Un nuovo incrocio di UTP con il tradizionale STP è conosciuto come ScTP conosciuto anche come FTP. Sctp è
essenzialmente un UTP avvolto in una lamina metallica schermata o "screen". Di solito è un cavo da 100 o 120

Page 18 of 157
Giugno 2013

Ohm. I materiali metallici schermati in STP e ScTP hanno bisogno di essere messi a terra entrambi.Se
impropriamente collegati a massa, essi diventano suscettibili ai principali problemi di rumore.
UTP (Unshielded twisted-pair cable)
UTP (doppino telefonico non schermato) consiste in due coppie isolate di fili di rame ritorte l’una sull’altra e
avvolti in una guaina di plastica.
Il cavo UTP viene classificato in diverse categorie.
CAT 1 supporta solamente le comunicazioni vocali (cavo telefonico tradizionale)
CAT 2 supporta velocità di trasferimento fino a 4 Mbps
CAT 3 supporta velocità di trasferimento fino a 10 Mbps
CAT 4 supporta velocità di trasferimento fino a 16 Mbps
CAT 5 supporta velocità di trasferimento fino a 100 Mbps

I doppini telefonici non schermati presentano innumerevoli vantaggi. Sono facili da installare e costano poco
rispetto a tutti gli altri “media”. Lo svantaggio è che i doppini sono sensibili al rumore elettrico e alle interferenze.

Cavo UTP

Principali Caratteristiche
Velocità – 10/100 Mbps
Lunghezza massima del cavo senza ripetitore - 100 metri (feet 382)
Vantaggi – installazione facile, costo ridotto
Svantaggi – poco resistente alle interferenze
Cavo Coassiale
Il cavo coassiale consiste in un filo centrale conduttore di rame, che è più grosso dei fili del doppino telefonico
consentendo velocità di trasmissione dati maggiore su distanze più lunghe. Il conduttore centrale è ricoperto da
uno strato di materiale plastico isolante sotto forma di schiuma che a sua volta è circondato da un foglio di
alluminio. Il conduttore non serve a trasferire dati ma fornisce una messa a terra elettrica isolando il conduttore
centrale dalle interferenze. Il cavo coassiale può trasmettere dati a 10 Mbps, per distanze massime che vanno da
185 a 500 metri. I due principali tipi di cavi coassiali utilizzati nelle reti locali sono il Thin Ethernet e il Thick
Ethernet.

Struttura di un cavo coassiale


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

Page 19 of 157
Giugno 2013

Il terminatore, o tappo, è un connettore che va inserito rispettivamente ai due lati estremi della rete. Questo
infatti ha il compito di assorbire un segnale sul cavo in modo da non creare collisioni e quindi errori nella
trasmissione.
Principali caratteristiche
Velocità - 10 Mbps
Lunghezza massima del cavo tra i ripetitori - 185 metri
Vantaggi - economico
Svantaggi - difficoltà nelle operazioni di messa a terra del cavo
Cavo Thicknet (10Base5)
Più spesso e costoso rispetto al Thinnet. Si serve di transceiver esterni AUI connessi a ciascuna NIC per mezzo di
un “vampire tap” che fora la guaina del cavo per accedere al filo.
Principali caratteristiche
Velocità - 10 Mbps
Distanza per segmento di cavo - 500m
Vantaggi - trasmissione su distanze maggiori, resistenza alle interferenze
Svantaggi - rigido quindi difficile da installare, costoso
Oltre alla dimensione e alla lunghezza supportata esiste un’ altra differenza sostanziale tra il cavo Thin ed il cavo
Thick. Il cavo Thicknet infatti utilizza dei transceiver ( a tutti gli effetti l’ elemento che effettua la trasmissione e la
ricezione dei dati ) esterni AUI connessi alla rete attraverso un vampire tap (rubinetto) che fora la guaina del cavo
per accedere al filo di rame. Lo stesso transceiver è poi connesso con un cavo DB-15 ( 15 pin ) alla scheda di rete.
Essendo il più costoso dei due ed avendo maggiore supporto in lunghezza, il cavo thicknet è spesso utilizzato in
dorsali di collegamento di reti thinnet. Una dorsale è un collegamento ad alta velocità che ha il compito di
interconnettere più reti tra loro.

“Transceiver per cavo ThickNet con Vampire Tap collegato al conduttore interno”

Page 20 of 157
Giugno 2013

Tabella Riassuntiva
Lunghezza N° max. di
Lunghezza N° max. di N° max. di Tipo di cavo
Versione Velocità max. max. di un nodi su un
totale ripetitori segmenti utilizzato
segmento segmento
5, di cui 2 non Coassiale
10Base-5 10Mbps 500m. 100 2500m. 4
popolati grosso
5, di cui 2 non Coassiale
10Base-2 10Mbps 200m. 30 1000m. 4
popolati sottile
100m.UTP 5, di cui 2 non Doppino
10Base-T 10Mbps 2 500m. 4
500m.STP popolati UTP/STP
3, di cui 1 per Doppino UTP
100Base-T 100Mbps 100m. 2 205 2
l'uplink (cat.5)

Fibra Ottica (FDDI – Fiber Distributed Data Interface)


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

Principali caratteristiche
Velocità - 100 Mbps / 2 Gbps
Distanza supportata per invio dati affidabili – 2 Km senza ripetitore
Vantaggi - trasmissione su distanze maggiori, immune alle interferenze e intercettazioni
Svantaggi – rigido quindi difficile da installare, il tipo di supporto più costoso
Comunicazione Wireless
Wireless si riferisce a una tipologia di comunicazione, ad un monitoraggio e a un insieme di sistemi di controllo in
cui i segnali viaggiano nello spazio e non su fili o cavi di trasmissione. In un sistema wireless la trasmissione
avviene principalmente via radiofrequenza (RF) o via infrarosso (IR).La Tecnologia Wireless consente in un ufficio,
in una casa di far dialogare tra loro tutti i dispositivi elettronici presenti. Lo scambio di informazione fra gli
strumenti avviene attraverso onde radio, eliminando qualsiasi tipo di connessione fisica tra dispositivi. Per fare
ciò ciascun dispositivo deve possedere all'interno un chip, integrato, in grado di trasmettere e ricevere
informazioni nell'etere.
Gli standard per le tecnologie Wireless più utilizzati sono :

 DECT (Digital Enhanced Cordless Telecommunications).standard digitale criptato per telefonini


cordless con possibilità di 120 canali su 12 frequenze, evoluzione del cordless analogico,
implementa l'interfaccia Gap (Generic Access Profile) ed utilizza la modulazione GMSK, bit rate max
348 Kbps.

 IrDA (Infrared Device Application) tecnologia di interconnessione dati tramite infrarossi


bidirezionale point-to-point tra dispositivi posizionati in visibilità reciproca LoS, line of sight, con
range ridotto a 1 - 2 metri e bit rate di 4 Mbps.

Page 21 of 157
Giugno 2013

Concetti sul Livello 2 OSI (Data-link)


Il livello 2 del modello OSI ( datalink ) è stato creato per sopperire alla scarsa intelligenza del livello 1 (fisico),
capace solamente di inviare e ricevere stringhe ben definite di bit. Per questo motivo il livello 2 crea un ponte di
comunicazione tra il livello fisico ed i livelli superiori, adottanto strumenti come l’ LLC ( logical link control ),
necessario per
 la comunicazione con i livelli superiori
 il framing, utile per l’organizzazione dei dati in contenitori detti “frames”
 l’ utilizzo di un identificatore di rete unico ( MAC address )
 l’ adozione di un sistema di accesso al supporto regolato: il Media Access Control

L’ IEEE ( Institute of Electronic and Electrical Engineers ), l’ ente che si occupa degli standars di rete, ed in
particolare del livello 1 e della parte dell’accesso al supporto del livello 2, ha creato una suddivisione in due parti
del livello 2 OSI:

 LLC ( logical link control ) : sottolivello del livello 2 che comunica con il livello superiore del
modello OSI ( livello 3 Network )
 MAC ( Media Access Control ) : che si occupa dell’ accesso al media

Tali sottolivelli sono molto importanti e nascono dopo la standardizzazione del modello OSI.
Le reti avevano già una loro fisionomia ma potevano presentarsi dei problemi nell’ intercomunicazione tra livelli
fisico-data-link e superiori.
L’ IEEE, grazie alla suddivisione in due sottolivelli del data-link, ha sopperito a questa grave mancanza di cui
soffriva lo standard OSI.
Non bisogna pero’ confondere l’ IEEE con l’OSI:
l’ IEEE è un’ente preposta alla supervisione e all’ufficializzazione di standards di rete, mentre l’ OSI è un
modello architetturale ben affermato e definito. Vediamo più da vicino i due sottolivelli:

 LLC ( LOGICAL LINK CONTROL ) : Creato per garantire la funzionalità del livello 2 indipendentemente
dalle tecnologie usate l’LLC, offre un servizio di comunicazione con il livello 3 ( network ), il quale passa al
livello 2 il pacchetto IP, che a sua volta viene riformattato dal livello due con informazioni di controllo
per il corretto instradamento dello stesso pacchetto sulla rete : DSAP ( Destination Service Access Point )
e SSAP ( Source Service Access Point ). Supporta sia comunicazioni orientate che comunicazioni non
orientate alla connessione ( connection-oriented, connectionless )
 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

Page 22 of 157
Giugno 2013

L’indirizzo MAC e la numerazione Esadecimale ( HEX )


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.
La foto chiarisce meglio il concetto:

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.
Come funziona il sistema esadecimale ?
Bisogna, sostanzialmente, ragionare in base 16 e non più in base 10 come il sistema decimale.

Nel sistema decimale, che è un sistema posizionale, il numero 20330 corrisponde a:

10^4*2 + 10^3*0 + 10^2 *3 + 10^1 *3 + 10^0 *0.

Nel sistema esadecimale invece il numero decimale 20330 corrisponderà invece al numero esadecimale:

4F6A : (4 x 16 )+ (F[15] x 16 )+ (6 x 16 )+ (A[10] x 16 ) = 20330 (decimale).


3 2 1 0

Come effettuare la conversione :


Abbiamo il numero esadecimale 24032, e vogliamo trasformarlo in esadecimale.
Non dobbiamo fare altro che dividere il numero X 16, e così i successivi risultati.
Quello che a noi interesserà sarà il resto delle operazioni.
Spieghiamo l’ esempio:

24032/16 = 1502, con resto 0

Page 23 of 157
Giugno 2013

1502/16 = 93, con resto 14 o E

93/16 = 5, con resto 13 o D

5/16 = 0, con resto 5

Il corrispondente numero esadecimale del numero 24032 sarà : 5DE0.

Se ora vogliamo convertire il numero 5DE0 in formato decimale, non dobbiamo fare altro che sfruttare la
proprietà posizionale del sistema e quindi moltiplicare il tutto per le potenze di 16:

(5*16^3) + (D*16^2) + (E*16^1) + (0*16^0) = 24032


Come viene utilizzato l’indirizzo MAC dalle schede 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 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.
Importanza del frame e sua struttura
Il frame è un’unità che organizza in modo appropriato una grande sequenza di bit ( informazioni ) .
Tale organizzazione è importantissima quando si parla di intercomunicazione. Infatti per ottenere una maggiore
affidabilità nella trasmissione dei dati e per cercare di ridurre al minimo la possibilità di errori, viene usato il
sistema di framing che funge, a tutti gli effetti, da involucro che protegge e riserva i dati durante la trasmissione.
Come è fatto un frame?

Un frame ha diversi campi ( 6 ) ognuno dei quali ha una funzione distinta. Esaminiamoli uno per uno:

 Start frame field: Tale campo indica la presenza di un frame all’interno del media di collegamento
 Address Field: E’ il campo che contiene gli indirizzi fisici (MAC) di origine e di destinazione cui il frame
appartiene
 Type/Lenght Field: Il campo Length contiene l’esatta dimensione del frame. In alcuni casi tale campo
contiene anche il tipo di protocollo di Livello 3 dell’host di origine
 Data Field: Il campo data, come dal nome, contiene le informazioni che vogliamo spedire all’ host di
destinazione
 FCS Field: Il campo FCS contiene dei valori calcolati dalla sorgente e ricalcolati successivamente dalla
destinazione, per ovviare a problemi di trasmissione. Per il calcolo del Frame Sequence Number (FCS), si
possono utilizzare diversi metodi quali il CRC (cyclic redundancy check) che è un calcolo polinomiale sul
campo data , il bit di parità che aggiunge un bit di valore “1” alla fine e l’internet checksum
 Stop Frame field: Delimita la fine di un frame
MAC ( Media Access Control )
Insieme con l’LLC, il MAC crea il cosiddetto sottolivello del livello 2 . E’ l’insieme dei protocolli che determinano
l’accesso sul media di collegamento. I tipi di accesso sono 2:

 Deterministico: c’è un ordine ben preciso per trasmettere ( token-ring )


 Non deterministico: ognuno puo’ trasmettere quando vuole. ( Ethernet )

Page 24 of 157
Giugno 2013

Potremmo paragonare, per facilitare la comprensione, il livello MAC ad un vigile che controlla il traffico e che
“decide” chi deve passare per primo e chi per secondo.
L’esempio lampante di un accesso deterministico è la rete Token Ring dove l’accesso di ogni host alla rete è
controllato attraverso il possesso del gettone ( 3 bytes ), il quale permette l’inizio della trasmissione. ( talking
your turn ).
Terminato il possesso del gettone da parte di un host, è possible per un’altra postazione acquistarne il possesso e
quindi trasmettere i dati.

Quando parliamo invece di un accesso non deterministico, possiamo introdurre il concetto di CSMA/CD. Il Carrier
Sense-Multiple Access – Collision Detection è un sistema che, in un certo modo, tutela e controlla l’accesso non
deterministico ad una rete. E’ di esempio la rete Ethernet. Se due host vogliono trasmettere in modo
contemporaneo possono farlo perché non regolati dal passaggio di un token. In questo modo pero’ si incorrerà in
una collisione, che obbligherà i due host a ritrasmettere i dati in momenti non contemporanei ma diversi tra loro.
Il CSMA/CD,caratterizzante di una rete Ethernet, fa in modo che un host ascolti sul media se ci sono altre
trasmissioni, da l’accesso quindi al media e, nel peggiore dei casi, gestisce le collisioni.

Protocolli di livello 3 della pila ISO/OSI – Routing


Il router è il tipico apparato di internetworking che assolve allo smistamento dei pacchetti di dati fra reti diverse.
Il router opera a livello 3 della pila OSI e ha la capacità di prendere le decisioni intelligenti per quanto riguarda il
percorso migliore per la distribuzione dei dati sulla rete.

Ci sono due livelli di indirizzamento a livello di internetworking:


a) Indirizzamento fisico (basato sul Mac address) di livello 2
b) Indirizzamento logico (basato sul protocollo di trasmissione) di livello 3

Il router è l'apparato fondamentale per l'indirizzamento di tipo logico. Il router è in grado di prendere decisioni
intelligenti sul percorso migliore a cui affidare la distribuzione dei pacchetti di dati.

Page 25 of 157
Giugno 2013

I routers usano il protocollo IP (con gli indirizzi logici) in alternativa agli indirizzi MAC tipici del livello Data Link.
Poiché gli indirizzi IP sono gestiti a livello software, essi si riferiscono alla rete su cui un dispositivo è situato. Ecco
perchè si dice che l'indirizzamento IP è un indirizzamente di rete.
La differenza sostanziale sta comunque nel fatto che l'indirizzo fisico (Mac) viene attribuito dal costruttore e
inserito all'interno della scheda di rete, mentre l'indirizzzo logico (IP) viene attribuito dall'amministratore di rete e
può essere cambiato a seconda delle esigenze.
Laddove switch e bridge vengono utilizzati per collegare i segmenti d'una rete LAN (fisicamente connessi). I
routers sono utilizzati per collegare fra di loro le reti che sono fisicamente separate, nonchè per accedere alla
rete mondiale Internet.
I router, quindi, connettono due o più reti fisicamente separate. La separazione è comunque basata su indirizzi di
rete che devono ASSOLUTAMENTE essere diversi e univoci. Questo processo avviene attraverso l'assegnazione
dell'ID di rete (all'interno del numero di IP) che viene assegnato a tutti gli apparati connessi alla rete.
L’approfondimento sulla numerazione IP verrà vista in seguito.

Per spiegare meglio il concetto diamo alla rete l'indirizzo A e agli host l'indirizzo di rete (A) più l'indirizzo dell'host
(1, 2, 3, 4 ecc....)

Ecco un tipico esempio di indirizzo logico:

Host Host Host Host


A2 A3 A4 A5

Rete A

Il router che gestirà questa rete dovrà avere un interfaccia sulla rete A con numerazione corrispondente. Per
esempio A1.
Analogamente, due reti fisicamente separate trovano la possibilità di interconnettersi attraverso un router se
rispettano i presupposti di cui sopra. In questo caso due indirizzi di rete diversi, indirizzi host diversi e le due
interfacce del router direttamente collegate alle due reti e configurate con indirizzo logico corrispondente alla
rete servita.
Host Host Host Host Host Host Host Host
A2 A3 A4 A5 B2 B3 B4 B5

Rete A Rete B

Assumiamo una situazione di questo tipo:

Vogliamo trasmettere dati dalla rete A alla rete B; Il router è connesso alle reti A, B, C, e D. Quando i dati (frames
di livello 2), provenienti dalla rete A, raggiungono il router, lo stesso effettua le seguenti azioni:

Page 26 of 157
Giugno 2013

 Scarta l'header del data link presente nella frame. (L'header del data link contiene il MAC address
dell'host sorgente e quello dell'host di destinazione). In questo modo siamo in grado di assumere che le
informazioni relative agli indirizzi fisici di livello 2 non interessano ai router. Essi operano solo a livello 3 e
quindi a livello di indirizzo logico di rete.
 Esamina l'indirizzo di rete per determinare la rete di destinazione.
 Esamina la tabella di routing per determinare quale delle sue interfacce (A,B,C e D) deve utilizzare per
smistare i dati e raggiungere la rete di destinazione.
 Incapsula i dati in una frame di livello 2 e li spedisce i verso l'interfaccia di uscita.

Il concetto di interfaccia riferito al router può essere espresso anche come "porta".
Ovviamente ogni interfaccia del router deve avere un numero di Ip (o comunque un indirizzo logico) univoco.
Ma e poi mai due interfaccie possono avere lo stesso numero di IP.

Il modello TCP - (Internet Suite)


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

Relazione fra i livelli OSI e quelli TCP/IP:


OSI TCP/IP
APPLICATION

PRESENTATION <-
APPLICATION
SESSION
TRANSPORT <- TRANSPORT
NETWORK <- INTERNET
DATA LINK
<- NETWORK INTERFACE
PHYSICAL

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

 ricerca di una affidabilità estrema


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

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

 packet-switched;
 livello connectionless di internetwork.

Livello Application
Nella suite TCP/IP non sono previsti i livelli session e presentation (non furono ritenuti necessari; l'esperienza col
modello OSI ha mostrato che questa visione è condivisibile).

Page 27 of 157
Giugno 2013

Sopra il livello transport c'è direttamente il livello application, che contiene tutti i protocolli di alto livello che
vengono usati dalle applicazioni reali. I progettisti hanno creato un livello che soddisfa le problematiche di
presentazione, codifica e controllo della comunicazione.
I protocolli introdotti per primi (ed attualmente fortemente in uso) sono:

 Telnet: terminale virtuale;


 FTP (File Transfer Protocol): trasferimento di archivi;
 SMTP (Simple Mail Transfer Protocol) e POP (Post Office Protocol): posta elettronica.
Successivamente se ne aggiunsero altri, fra cui:

 DNS (Domain Name Service): mappatura fra nomi di host e indirizzi IP numerici;
 NNTP (Network News Transfer Protocol): trasferimento di articoli per i newsgroup;
 HTTP (HyperText Transfer Protocol): alla base del Word Wide Web.

Livello Transport
E' stato progettato per consentire la conversazione delle peer entity sugli host sorgente e destinazione (end-to-
end). E' il livello che si occupa della qualità del servizio, dell'affidabilità, del controllo di flusso e della correzione
degli errori.
Sono definiti due protocolli in questo livello:

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

Livello Internet
E' il livello che tiene insieme l'intera architettura. Il suo ruolo è consentire ad un elaboratore (host) di iniettare
pacchetti in una qualsiasi rete e fare il possibile per farli viaggiare, indipendentemente gli uni dagli altri e magari
per strade diverse, fino alla destinazione, che può essere situata anche in un'altra rete. Dunque è connection less.
E' un servizio best-effort datagram. Il protocollo che si occupa di questa incombenza è l' IP (Internet Protocol). Le
funzioni principali sono l'instradamento (routing) e il controllo della congestione.

Network Interface
Nelle specifiche del modello TCP/IP non esiste una considerazione del livello fisico in quanto lo stesso si appoggia
direttamente a quello dei dispositivi disponibili per le varie piattaforme HW e, comunque, conformi agli standard
IEEE 802. Tutto ciò che si assume è la capacità dell'host di inviare pacchetti IP sulla rete, difatti questo livello
viene anche denominato "host-to-network layer".

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

APPLICATION -> TELNET, FTP, SMTP, HTTP, NNTP, RLOGIN, DNS, TFTP
TRANSPORT -> TCP, UDP
INTERNET -> IP, ICMP, ARP, RARP
NETWORK INTERFACE -> LAN, WAN, MAN

Page 28 of 157
Giugno 2013

Reti Geografiche – WAN


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

 Utilizzo dei servizi di trasporto su vaste aree geografiche delegati a provider telefonici;
 Utilizzo di connessioni seriali, full o part time;
 Utilizzo di apparati specifici per le aree geografiche come: router, switch, modem, communication
servers.
Per quanto riguarda le specifiche, le raccomandazioni e gli standard che, sia a livello fisico che a livello data-link,
intervengono nel dettare regole e armonizzare lo scambio di dati fra le varie tecnologie adottate, vanno citati:
 International Telecommunication Union-Telecommunication Standardization Sector (ITU-T), formerly
the Consultative Committee for International Telegraph and Telephone (CCITT)
 International Organization for Standardization (ISO)
 Internet Engineering Task Force (IETF)
 Electronic Industries Association (EIA)
Esistono diversi standard WAN, ognuno con proprie caratteristiche tecniche e particolare diffusione nel mercato
IT. Abbiamo in precedenza detto che le WAN operano su due differenti livelli: fisico e data-link. Quello che è
importante sapere, prima di affrontare le varie tecnologie, è che mentre al livello fisico si stabiliscono i parametri
elettronici e meccanici per lo scambio dati, al livello data-link si stabiliscono le modalità di trasmissione dei frame
attraverso il singolo canale comunicativo.

Più in particolare:
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 riguarda la funzionalità di timing che è demandata al DSU.

A livello fisico gli standard di riferimento sono:

 EIA/TIA-232
 EIA/TIA-449
 V.24

Page 29 of 157
Giugno 2013

 V.35
 X.21
 G.703
 EIA-530

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

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

Tecnologie WAN
Le tecnologie WAN sottoelencate godono di una ulteriore suddivisione in base al modo in cui avviene la
trasmissione dei dati sul media di collegamento. Esaminiamo le categorie.

Tabella comparativa

TECNOLOGIA Massima larghezza di banda Caratteristiche


POTS Sistema telefonico odierno. Lo standard per
Plain Old Telephone Service 4 Khz Analogico l'affidabilità
ISDN
Integrated Services Digital Network 128 Kbps Dati e voce sulla stessa tecnologia
X.25 Vecchia tecnologia ma molto affidabile
A commutazione di pacchetto. L'evoluzione
Frame Relay fino a 44,736 Mbps
di ISDN
ATM
Asynchronous Transfer Mode 622 Mbps Performance ad alto costo
SMDS
Switched Multimegabit Data Service da 1,54 a 44,736 Mbps Variante metropolitana di ATM
T1, T3 da 1,54 a 44,736 Mbps Tecnologia fra le più in uso
xDSL
Digital Subscriber Line 384 Kbps Nuova tecnologia su linee telefoniche
Tecnologia ormai affermata su linea
Dial-up Modem
56 kbps telefonica
SONET 9.992 Mbps Il backbone di Internet. Su fibra ottica
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 - Servizi a commutazione di circuito

Page 30 of 157
Giugno 2013

 POTS (Plain Old Telephone Service). Questa tecnologia comunemente usata per la trasmissione della
voce, non riguarda i computer ma le sue caratteristiche sono rilevanti per lo sviluppo delle infrastrutture
di rete. Essendo un modello estremamente affidabile e facile da usare nelle reti Wan è utile studiarlo e
conoscerlo. Il media fisico utilizzato da questa tecnologia è di tipo 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 utilizza come media fisico il
cavo in rame di tipo twisted-pair.

Packet-Switched Services - Servizi a commutazione di pacchetto


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

 Frame Relay è la versione packet-switched di ISDN ed è diventata una delle tecnologie più diffuse. E' più
efficente di X.25 e, pur erogando gli stessi servizi, può usufruire di una larghezza di banda massima di
44.736 Mbps. Utilizza il media di rame twisted pair e la fibra ottica.

Cell-Switched Services - Servizi a commutazione di cella


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

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

Dedicated Digital Services - Servizi digitali dedicati


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

o T1 -- 1.544 Mbps
o T3 -- 44.736 Mbps
o E1 -- 2.048 Mbps
o E3 -- 34.368 Mbps

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

 xDSL (Digital Subscriber Line) è una nuova tecnologia WAN sviluppata per uso casalingo e per piccoli
uffici. La caratteristica principale sta nella disponibilità di larghezza di banda che diminuisce con la
crescita della distanza dal punto di attacco del provider. La velocità maggiore (51,84 Mbps) è
virtualmente possibile a ridosso del sito tecnico del provider. Questa tecnologia sta rapidamente
prendendo piede e i prezzi di erogazione si stanno abassando notevolmente. Le varianti di questa
tecnologia sono:
o HDSL -- high-bit-rate DSL
o SDSL -- single-line DSL
o ADSL -- asymmetric DSL
o VDSL -- very-high-bit-rate DSL
o 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

Page 31 of 157
Giugno 2013

variano dai 51,84 Mbps fino a 9.952 Mbps (OC-192); Può raggiungere queste straordinarie velocità
grazie all'uso del WDM (wavelength division multiplexing) dove i fasci laser vengono sintonizzati su
diversi colori (wavelengths) per poter inoltrare enormi quantità di dati. Questa tecnologia è molto usata
nei backbone di Internet ed il suo costo è molto elevato.

Altri servizi WAN


 I Modem analogici possono essere usati sulle linee telefoniche convenzionali anche se le velocità sono
molto contenute. La velocità massima si attesta sui 56 kbps. Hanno il vantaggio di costare molto poco e
la loro destinazione è quella domestica.
 I Cable modem sono molto usati nei paesi dove la TV via cavo è molto sviluppata (90% delle case
americane). La velocità massima arriva a 10 Mbps ma decrementa quando molti utenti condividono il
media. Il loro costo non è alto e usano il cavo coassiale televisivo.
 Wireless - Non richiede nessun cavo poichè utilizza onde elettromagnetiche. Fra i vari tipi di tecnologie
wireless per Wan vanno citate:
b)
o 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
o Satellitari - Utilizzate per utenti mobili (PDA e cellulari) ad un costo ancora troppo alto per
raggiungere grandi platee di utilizzatori.

Page 32 of 157
Giugno 2013

2) SECONDO LIVELLO
Introduzione
Osi (Open Systems Interconnection, connessione di sistemi aperti) è stato studiato da Iso (International Standards
Organization) come standard da adottare per rendere possibile la comunicazione di rete tra sistemi operativi
differenti. Quando Osi fu terminato però, erano già in commercio alcuni Tcp/Ip diversi, per cui Osi non fu mai
adottato seriamente se non per motivi di studio. Tuttavia non è necessario che i vari Tcp/Ip siano identici per
poter comunicare tra loro, l'importante è che seguano a grandi linee il modello Osi: cosa che fanno, infatti.
Il modello Osi si compone di sette livelli, che vanno immaginati in colonna. Sotto la colonna c'è una serie di cavi
che fanno funzionare la rete, sopra c'è un uomo che sta chattando. L'essere umano vede solo i messaggi delle
altre persone (per sua fortuna) e non si rende conto dei singoli flussi di energia elettrica che si attivano e si
disattivano a gran velocità all'interno dei cavi di rete. Ora, tra l'uomo e gli incomprensibili intrecci di cavi si
collocano i sette strati intermedi del modello Osi: il primo è quello più vicino alla rete, infatti si occupa proprio di
gestire i flussi di dati; il settimo è quello più alto, vicino all'uomo, infatti fa funzionare Netscape Navigator, Opera
e il programma di posta elettronica. All'interno di questi sette livelli si trovano i singoli protocolli e le Api che
formano l'insieme del Tcp/Ip. Vediamoli un po' più nel dettaglio, cominciando dal settimo...
APPLICATION Il livello Applicazione contiene Api (interfacce di programmazione) che forniscono ai programmi
(browsers, Icq...) accesso in lettura e in scrittura ai dati di cui hanno bisogno per funzionare
correttamente, dati che vengono processati nei livelli più bassi.

PRESENTATION Perché i nostri programmi possano comprendere i dati che arrivano dalla rete e perché l'host remoto
possa capire i dati che arrivano dai nostri programmi, occorre che essi vengano "tradotti" nel formato
adatto. Il livello Presentazione si occupa di questo: presenta i dati in una maniera comprensibile al
livello Applicazione quando li riceve dalla rete e li traduce in formati standard comprensibili anche
all'host di destinazione quando deve inviarli. Prima dell'invio avviene una negoziazione tra gli strati
Presentazione dei due computer, duranti il quale si decide in quale formato i pacchetti devono essere
convertiti.

SESSION Il livello Sessione si occupa di aprire, mantenere aperta e infine richiudere una connessione per l'invio
di determinati dati. Questo serve per preparare un host a ricevere le informazioni e controllare che
arrivino correttamente a destinazione; tale livello Osi può anche essere "saltato" da certi protocolli
detti "senza connessione" (connectionless), ma questo non significa che tali operazioni non vengano
eseguite, significa solo che dovranno essere eseguite dai singoli programmi che li utilizzano (come le
utility di risoluzione di nomi NetBios), perché il protocollo non li svolge automaticamente.
I dati provenienti dai livelli più alti vengono sincronizzati e riuniti in una o più connessioni dello stato
Trasporto. Sessione comprende anche una funzione per ristabilire il collegamento nel caso che cada,
senza dover ricominciare tutto daccapo: si chiama risincronizzazione.

TRANSPORT Finchè non si studieranno nel dettaglio i protocolli un'implementazione di Tcp/Ip, questo livello
apparirà del tutto simile a quello subito inferiore, Rete, e a quello superiore, Sessione. In realtà ci
sono delle differenze. Trasporto si occupa di instaurare una connessione con un host remoto,
indicando anche che il tipo di scambio di dati desiderato e ottimizzando il collegamento. Prima di
passare i dati al livello inferiore li suddivide in pacchetti più piccoli.

NETWORK Il livello Rete provvede a instradare correttamente i pacchetti di dati scegliendo il percorso più breve
attraverso i vari router e gateway.

DATA LINK Il livello Collegamento Dati era troppo ampio, e presto i progettisti si decisero a suddividerlo in due
sottolivelli: Logical Link Control (controllo del collegamento logico) suddivide i pacchetti di dati in
byte o in gruppi di bit, poi Media Access Control (controllo di accesso ai dispositivi) li invia
all'interfaccia di rete corretta, facendo in modo di non farli collidere con altri flussi di bit che stanno
attraversando i cavi in quel momento.

PHYSICAL LEVEL Il Livello Fisico è composto da una serie di drivers e da alcuni standard prettamente hardware, fisici
appunto. Questi standard sono stati decisi in parte dal Ccitt e in parte da Iso, comprendono le
caratteristiche elettriche e le tensioni utilizzate, la modulazione dei segnali, il tipo di porte fisiche e il
collegamento dei vari apparecchi (schede di rete, modem) a tali porte.

Ognuno di questi livelli riceve i dati dall'alto durante l'invio delle informazioni.

Page 33 of 157
Giugno 2013

Applicazione per esempio li riceve dai programmi che si trovano al di sopra del modello Osi. Li esamina e
aggiunge una intestazione che viene utilizzata per comunicare al livello applicazione che si trova all'altro capo del
filo, le informazioni di cui necessita. Non modifica in alcun modo le informazioni che devono essere inviate, si
limita ad aggiungere una piccola intestazione che contiene tutte le informazioni necessarie e che verrà utilizzata
solo ed esclusivamente dal livello Applicazione che si trova sull'altro host. Poi passa le informazioni verso il basso.
Presentazione le riceve e fa la stessa cosa: aggiunge una piccola intestazione e passa il tutto verso il basso.
E così via, fino ad arrivare allo strato fisico, il quale non aggiunge nessuna intestazione ma invia tutto allo strato
fisico dell'altro host.
Questi riceve il messaggio e lo passa in alto.
Collegamento Dati riceve il pacchetto, esamina l'intestazione che è stata inserita dal suo corrispondere dall'altra
parte della rete, la interpreta, cancella l'intestazione e passa il tutto verso l'altro. E così via.

I vantaggi del modello Osi


Il modello Osi, come si diceva, è uno standard, perciò per un produttore ignorarlo del tutto significherebbe non
poter più produrre sistemi operativi in grado di comunicare con sistemi diversi (al giorno d'oggi è impensabile).
Comunque è un buon modello, ha il grande vantaggio di essere suddiviso in livelli.
Ogni strato, dal punto di vista della programmazione, può essere visto come un modulo, ossia una sezione di
programma a sè stante che comunica con altre sezioni di programma a sè stanti.
Quindi, se per ipotesi vogliamo riscrivere daccapo uno di questi moduli, possiamo lasciare intatti tutti gli altri,
abbiamo la garanzia che continueranno a funzionare correttamente.
Il modello Osi inoltre è facilmente espandibile.

Come viene implementato il Modello Osi


Abbiamo già detto che le varie implementazioni di Tcp/Ip dei vari produttori (Microsoft, Apple...) seguono a
grandi linee il modello Osi.
Ora possiamo approfondire un po': tutte le implementazioni presenti sul mercato svolgono le stesse funzioni dei
sette livelli Osi.
Non nello stesso modo, certo: ma questo non ha alcuna importanza, essendo Osi diviso in moduli.
Ogni modulo svolge delle funzioni: se le funzioni svolte dalle implementazioni sono le stesse svolte dai sette
moduli Osi, allora è pienamente compatibile.
Non importa poi che i moduli coincidano: ad esempio, Microsoft adotta un modello a quattro strati.
Il quarto strato svolge le stesse funzioni degli ultimi tre strati di Osi ed il primo strato Microsoft svolge le funzioni
dei primi due livelli Osi.
Ma anche così il Tcp/Ip di Microsoft è pienamente compatibile, perché svolge le stesse identiche funzioni, per
quanto il procedimento possa essere differente.
La modularità del modello permette a chi si occupa di un determinato livello di ignorare completamente il
funzionamento di tutti gli altri strati.
Il che vale per i singoli programmatori, ma anche per i produttori: a chi fabbrica schede di rete non interessa
conoscere i protocolli che formano lo strato rete, possono essere certi che le schede funzioneranno
indipendentemente da ciò.

Il modello TCP - (Internet Suite)


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

Relazione fra i livelli OSI e quelli TCP/IP:

Page 34 of 157
Giugno 2013

OSI TCP/IP

APPLICATION

PRESENTATION <- APPLICATION

SESSION

TRANSPORT <- TRANSPORT

NETWORK <- INTERNET

DATA LINK
<- NETWORK INTERFACE
PHYSICAL

I principali requisiti che il progetto stabilì, fin dall'inizio, si possono riassumere in:
 ricerca di una affidabilità estrema
 ottima tolleranza ai guasti
 possibilità di interconnessione di più reti fra loro diverse

questi requisiti portarono alla definizione di una architettura di rete basata su:
 packet-switched;
 livello connectionless di internetwork.

Livello Application
Nella suite TCP/IP non sono previsti i livelli session e presentation (non furono ritenuti necessari; l'esperienza col
modello OSI ha mostrato che questa visione è condivisibile).
Sopra il livello transport c'è direttamente il livello application, che contiene tutti i protocolli di alto livello che
vengono usati dalle applicazioni reali. I progettisti hanno creato un livello che soddisfa le problematiche di
presentazione, codifica e controllo della comunicazione.
I protocolli introdotti per primi (ed attualmente fortemente in uso) sono:
 Telnet: terminale virtuale
 FTP (File Transfer Protocol): trasferimento di archivi
 SMTP (Simple Mail Transfer Protocol) e POP (Post Office Protocol): posta elettronica.

Successivamente se ne aggiunsero altri, fra cui:


 DNS (Domain Name Service): mappatura fra nomi di host e indirizzi IP numerici;
 NNTP (Network News Transfer Protocol): trasferimento di articoli per i newsgroup;
 HTTP (HyperText Transfer Protocol): alla base del Word Wide Web.

Livello Transport
E' stato progettato per consentire la conversazione delle peer entity sugli host sorgente e destinazione (end-to-
end). E' il livello che si occupa della qualità del servizio, dell'affidabilità, del controllo di flusso e della correzione
degli errori.

Sono definiti due protocolli in questo livello:


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

 UDP (User Datagram Protocol): è un protocollo non orientato alla connessione e, quindi, non affidabile.
I pacchetti possono arrivare in ordine diverso o, addirittura, non arrivare affatto.

Page 35 of 157
Giugno 2013

Livello Internet
E' il livello che tiene insieme l'intera architettura.
Il suo ruolo è consentire ad un elaboratore (host) di iniettare pacchetti in una qualsiasi rete e fare il possibile per
farli viaggiare, indipendentemente gli uni dagli altri e magari per strade diverse, fino alla destinazione, che può
essere situata anche in un'altra rete.
Dunque è connection less. E' un servizio best-effort datagram.
Il protocollo che si occupa di questa incombenza è l' IP (Internet Protocol).
Le funzioni principali sono l'instradamento (routing) e il controllo della congestione.

Network Interface
Nelle specifiche del modello TCP/IP non esiste una considerazione del livello fisico in quanto lo stesso si appoggia
direttamente a quello dei dispositivi disponibili per le varie piattaforme HW e, comunque, conformi agli standard
IEEE 802.
Tutto ciò che si assume è la capacità dell'host di inviare pacchetti IP sulla rete, difatti questo livello viene anche
denominato "host-to-network layer".

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


APPLICATION -> TELNET, FTP, SMTP, HTTP, NNTP, RLOGIN, DNS, TFTP

TRANSPORT -> TCP, UDP

INTERNET -> IP, ICMP, ARP, RARP

NETWORK INTERFACE -> LAN, WAN, MAN

I protocolli di comunicazione
I pacchetti vengono trasmessi e ricevuti in base a delle regole. Possiamo ben dire che un "protocollo di
comunicazione" è un insieme di regole definite e accettate da tutti ("set of rules")
Le regole si applicano già, nella vita normale, a tutti i livelli di comunicazione. Basti pensare ad una semplice
telefonata fra due interlocutori: In base alle regole di comunicazione telefonica ogni telefonata inizia con un
segnale di attenzione/disponibilità come "pronto" o "hello" (in un altra lingua) e finisce con un altro saluto.
Durante la comunicazione telefonica, inoltre, mentre un interlocutore parla l'altro rimane in ascolto. Un altro
esempio può essere rappresentato dalle modalità e dalle regole di guida degli autoveicoli. Anche in questo caso il
tutto avviene per mezzo di "regole" riconosciute da tutti. Se gli automobilisti non le rispettassero (non usando le
frecce, inserendosi contromano nei sensi unici, passando col rosso ecc) sarebbe il caos. I protocolli di
comunicazione riferiti ai dati usano le stesse regole: Si annunciano, mentre un elaboratore trasmette gli altri
restano in attesa e a fine trasmissione mandano dei segnali per avvertire che il contatto è terminato. Trattandosi
di protocolli di comunicazione che devono soddisfare molte reti e molti elaboratori, necessitano di regole
complesse ma efficienti. Tornando all'analogia con la vita quotidiana, si potrebbero paragonare alle regole che
stabiliscono la comunicazione in un assemblea, in un dibattito politico o in una classe scolastica.

Principali protocolli:
INSTRADABILI (ROUTABLE) - TCP/IP, IPX/SPX, OSI, AppleTalk, DECnet, XNS.

NON INSTRADABILI (NON-ROUTABLE) - NetBEUI, DLC, LAT.

 NetBEUI - Protocollo Microsoft disegnato per piccole LAN; non è instradabile. Non è compatibile con le
reti UNIX.
 IPX/SPX - Protocollo per reti Novell: è instradabile. In NT è conosciuto anche come NWLink.
 TCP/IP - Il protocollo di Internet ; è routabile. Usato nelle reti UNIXs.
 DECnet - Definisce le comunicazioni sulle MAN FDDI; è instradabile.
 Appletalk - Protocollo disegnato per le piccole reti Apple; è instradabile.
 DLC - Usato per il collegamento a Mainframe IBM e stampanti di rete HP. Non è instradabile.

Peer To Peer

Page 36 of 157
Giugno 2013

Affinchè i pacchetti possano viaggiare dall'host sorgente a quello di destinazione, ogni livello "sorgente" del
modello OSI deve comunicare con il pari livello di "destinazione".
Questa modalità viene chiamata Peer-to-Peer Communication.
Durante questo processo ogni livello scambia delle informazioni, chiamate protocol data units (PDUs) con il suo
pari livello.
In ogni livello di comunicazione il sorgente e la destinazione si scambiano le PDU.

SORGENTE DESTINAZIONE
APPLICATION <- DATI -> APPLICATION
PRESENTATION <- DATI -> PRESENTATION
SESSION <- DATI -> SESSION
TRANSPORT <- SEGMENTI -> TRANSPORT
NETWORK <- PACCHETTI -> NETWORK
DATA LINK <- TRAME -> DATA LINK
PHYSICAL <- BIT -> PHYSICAL

Il livello di trasporto si occupa di segmenti; i segmenti vengono incapsulati in pacchetti; i pacchetti sono
frammentati e incapsulati in trame; le trame si trasformano in flussi di bit.
L'ottimizzazione di questo processo avviene attraverso l'incapsulamento: il livello sottostante usa
l'incapsulamento per inserire la PDU del livello superiore nel suo campo dati, dove poi verranno inserite ulteriori
informazioni (header, trailers) per ottimizzarne le funzioni.

I pacchetti
I dati viaggiano nella rete sotto forma di pacchetti (data packet).
Il termine pacchetto rappresenta una specie di confezionamento (o meglio di "imbustamento") delle informazioni
attraverso cui si definisce il mittente, il destinatario, i dati trasmessi e tutta una serie di informazioni di
controllo.....
Più precisamente un pacchetto è composto da una serie di bit che formano un blocco di dati.
Questo blocco di datti è diviso in diversi sotto blocchi che rappresentano un'intestazione, informazioni di
controllo, mittente, destinatario, dati di controllo degli errori nonché il messaggio stesso (la parte relativa alle
informazioni vere e proprie).
Poiché sono unità di dati di rete simili tra loro, i termini pacchetto e frame sono di fatto sinonimi.
Il confezionamento, il tipo e la dimensione dei pacchetti dipendono dal tipo di rete utilizzata e dai protocolli che
regolano la trasmissione.
I dati (gruppi di bit che compongono il pacchetto) sono un materiale duttile che può essere suddiviso e aggregato
in vari modi.
Ciò significa che, durante il loro tragitto, i dati possono essere scomposti e ricomposti più volte e in modi
differenti.
Per esempio, per attraversare un particolare segmento di rete, potrebbe essere necessario suddividere dei
pacchetti troppo grandi in pacchetti più piccoli, oppure potrebbe essere utile il contrario.
In particolare, si parla di incapsulamento quando i pacchetti vengono inseriti all'interno di altri pacchetti.

L'incapsulamento
Per trasferire delle informazioni attraverso un canale comunicativo è necessario procedere al cosi detto
incapsulamento dei dati (encapsulation).
L'incapsulamento è quell'operazione che arricchisce i dati di ulteriori informazioni (ad esempio quelle relative al
protocollo) ogni volta che scendono di livello verso il media fisico.
In pratica, nel loro cammino verso il basso (dal livello 7 fino al livello 1) i dati vengono "rivestiti" di ulteriori
informazioni come ad esempio i vari header (intestazioni) ogni volta che attraversano i livelli 4, 3 e 2 della pila
OSI.

Page 37 of 157
Giugno 2013

L'incapsulamento passo dopo passo:


LIVELLO 7 Dati
LIVELLO 6 Dati
LIVELLO 5 Dati
LIVELLO 4 Segmenti (DATA-DATA-DATA)
LIVELLO 3 Pacchetti (intestazione logica + Data)
LIVELLO 2 Frame (intestazione + indirizzo locale + Data + indirizzo locale)
LIVELLO 1 100100101011010

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


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

Page 38 of 157
Giugno 2013

Esempio d’incapsulamento

Application DATI

Presentation DATI

Session DATI

Transport Header DATI

Network Header DATI

Data-Link Header DATI

Fisico DATI CRC

L'operazione di incapsulamento può essere paragonata a quella che avviene nelle comuni operazioni che
accompagnano le funzioni proprie dei sistemi postali convenzionali.
In questi sistemi vengono esaminate, a vari livelli, le informazioni relative agli indirizzi presenti nelle buste e nei
pacchi.
Ad esempio l'ufficio postale esaminerà solo il CAP, mentre il postino analizzerà la Via e il portiere del condominio
il nome del condomino.
I livelli, infatti, si astraggono dalle altre informazioni e prendono in esame solo le informazioni offerte dai pari
entità. PDU del pari livello.

Data Link Layer


Il compito del livello 2 della pila OSI è quello di trasmettere al media (mezzo fisico) i dati strutturati per poter
identificare il destinatario.
Possiamo dire che l'indirizzamento avviene quindi già a livello due (indirizzamento fisico) in modo indipendente
dal protocollo di comunicazione.
Il livello Data Link si occupa anche della gestione degli errori a livello fisico e della topologia logica di rete
adottata.
La differenza fra l'indirizzamento fisico (layer 2) e l'indirizzamento logico (layer 3) sta nell'utilizzo del tipo di
indirizzo.
Il livello 2, infatti, utilizza l'indirizzo MAC (media access control) che è del tutto indipendente dal protocollo di
comunicazione adottato a livello 3.
L'Iistituto di ingegneria elettrica ed elettronica (IEEE) ha definito degli standard di rete per il livello 2:

 IEEE 802.3 - Ethernet


 IEEE 802.5 - Token Ring

Page 39 of 157
Giugno 2013

Il livello 2 OSI viene diviso in due sottolivelli dalla definizione dello IEEE:

L3 Livello network
Sottolivello LLC
(comunica con il livello network)
L2 Data Link
Sottolivello MAC
(comunica con il media)
L1 Livello fisico

Questi due sottolivelli rendono possibile e compatibile la comunicazione fra tecnologie e computer diversi fra
loro.
E' utile sottolineare che gli standard IEEE sono stati definiti dopo la convenzione OSI per cui la divisione del livello
2, che a prima vista sembra cozzare con la filosofia Iso/Osi, è un implementazione necessaria a far comunicare
due tecnologie (o più) fra di loro. Ad esempio Token Ring ed Ethernet.
LLC e MAC sono quindi due sottolivelli che svolgono un importantissima funzione nello strato di Data Link e
dispongono così di PDU autonome per dialogare Peer to Peer con le entità di pari livello.
Dispongono infatti di un proprio processo di incapsulamento.
LLC diventa allora una parte indipendente del Data Link che si astrae dalle tecnologie usate.

LLC - Logical Link Control


Il sottolivello LLC è definito nella specifica IEEE 802.2 e supporta sia i servizi connectionless che quelli connection-
oriented.
Esso definisce una serie di campi nella trama di Data Link che permettono ai protocolli di livello superiore di
condividere lo stesso link fisico.
LLC aggiunge ulteriori controlli ai dati ricevuti nel pacchetto IP dal livello 3. Questi ultimi riguardano informazioni
sull'indirizzamento 802.2 e in particolare: il Destination Service Access Point (DSAP) e il Source Service Access
Point (SSAP).
Questo re-impacchettamento del pacchetto IP verrà consegnato al livello MAC che lo tratterà, a sua volta, per
renderlo disponibile alle varie tecnologie che lo trasporteranno (Ethernet, Token Ring, o FDDI).

MAC - Media Access Control


Il sottolivello MAC si occupa dell'accesso concorrente al media e della scelta delle priorità di accesso al mezzo
fisico.
Tale attività può essere svolta solo in presenza di una conoscenza degli host fisicamente attaccati al media fisico.
La conoscenza avviene attraverso un identificativo/indirizzo fisico chiamato appunto MAC address.
Sia nel caso del "Token passing" (metodo di accesso ordinato sul possesso della priorità) che del
"contention" (metodi di accesso in competizione) è il sottolivello Mac che si occupa dell'accesso al mezzo fisico.

Le VLAN - Introduzione - Filosofia di base


Una LAN (local area network) è definita come una rete di computer localizzata nella stessa area, come ad
esempio nello stesso piano, edificio o complesso di edifici.

Cosa sono le VLAN?


In una rete tradizionale Ethernet, le workstations sono connesse le une con le altre attraverso un hub.
Questi apparati hanno il fondamentale compito di inviare i dati provenienti e diretti verso gli host connessi in
broadcast, ovvero a tutti gli host che sono sullo stesso segmento di rete secondo il metodo CSMA/CD (Carrier
Sense Multiple Access with Collision Detection).

Cos’è il CSMA/CD ?
Si tratta di un metodo di trasmissione secondo il quale una stazione sulla rete rimane in ascolto e quando “sente”
che nessun host è in fase di trasmissione, inizia l’invio sulla rete dei dati, rimanendo al contempo in ascolto. Se
contemporaneamente un’ altra stazione sulla rete trasmette, si ha una cosiddetta collisione dei segnali, causando
l’invio di un segnale “JAM”, che obbliga gli host ad attendere un tempo casuale ( dato da un algoritmo di backoff
), prima della ritrasmissione. Due stazioni si dicono appartenenti allo stesso dominio di collisione se,
trasmettendo simultaneamente dati sulla rete a cui appartengono, creano una collisione. In pratica, in questa
rete “tradizionale”, verranno inviati i dati a tutte le stazioni che creano così un unico dominio di broadcast, cioè

Page 40 of 157
Giugno 2013

il dominio dove tutti gli host ricevono lo stesso frame. In reti di grandi dimensioni ciò può determinare un
conseguente aumento delle collisioni, scarsa sicurezza, lentezza dei collegamenti.

Una VLAN, invece, è, pure avendo una unica infrastruttura fisica, un raggruppamento logico di apparati e di host,
o, per meglio dire, più sottoreti logiche separate che vengono raggruppate in base alle funzioni, dipartimenti o
applicazioni, senza tenere conto della loro localizzazione fisica.
Questo viene permesso mediante l’uso degli switch, apparati che adottano degli algoritmi di routing dei
pacchetti.
In altre parole, gli switch creano dei domini di collisione separati con la tecnica detta della microsegmentazione :
ovvero, ogni porta dello Switch crea un unico dominio di collisione tra il trasmittente e il ricevente, senza dividere
i domini di broadcast.
Da notare che le VLAN non sono state ancora standardizzate in una RFC : è possibile però, con l’uso di software
proprietario, implementare le VLAN in architetture complesse.
La costruzione di una VLAN passa attraverso l’assegnazione delle porte dello SWITCH.
Nell’esempio seguente le porte 1,2,3, di uno switch fanno parte della VLAN 1, le porte 5, 6, 7 appartengono
alla VLAN 2 e le porte 4, 8, 9, 10 appartengono alla VLAN 3.
In questo modo, si hanno tre domini di broadcast differenti, ovvero in questo caso gli host e/o gli apparati che si
trovano in differenti VLAN non possono inviare direttamente pacchetti di dati tra di loro poichè si trovano su
domini di broadcast differenti.

Page 41 of 157
Giugno 2013

Quindi possiamo definire una VLAN come un unico dominio di broadcast insieme agli host appartenenti alla
stessa, a prescindere dalla loro localizzazione o dalla topologia della rete fisica che le connette.

Page 42 of 157
Giugno 2013

Quindi una VLAN permette di segmentare logicamente una LAN in differenti domini di broadcast, questi ultimi
separati all’interno di un unico dominio di collisione.
Una trasmissione in broadcast si ha quando dei dati vengono inviati simultaneamente a tutti gli host dello stesso
segmento di rete.
Nella figura 1 è rappresentato un unico dominio di collisione per piano.
Mentre nella figura 3, abbiamo un dominio di collisione meno esteso perché gli Switch segmentano detti domini :
infatti il pacchetto viaggia esclusivamente all’interno di un dominio di broadcast logico tra il trasmittente e il
ricevente.
La topologia logica della VLAN libera dai limiti della topologia fisica creando, così, un dominio di
broadcast logico, cioè non legato strettamente alla topologia fisica e ai suoi limiti.

Page 43 of 157
Giugno 2013

Questo confina il traffico di broadcast all’interno della singola VLAN e quindi non vengono inviati pacchetti di dati
a chi non ne fa parte.

Perché usare le VLAN?


1) migliora le prestazioni
Aumenta (cioè da un unico dominio ne ricava diversi) i domini di collisione e riduce il volume del traffico.
Infatti, in questo modo, i pacchetti spediti vengono inviati solo a quei gruppi di host che devono riceverli.
E’ quindi possibile ottenere un miglior utilizzo della banda disponibile: una rete può essere logicamente suddivisa
in domini distinti, cosicché i pacchetti di broadcast da una stazione siano inoltrati solo ai membri della VLAN a cui
la stazione stessa appartiene, con un risparmio notevole di banda.
2) forma gruppi di lavoro virtuali
Nelle aziende è necessario creare dei gruppi di lavoro per brevi periodi di tempo formati da personale che lavora
in reparti differenti e che, per questi brevi periodi, hanno bisogno di scambiarsi una notevole mole di dati. In più,
è possibile che siano dislocati in piani diversi di uno stesso edificio o che debbano usare uno stesso tipo di
applicativo o software o, ancora, che debbano condividere delle risorse. Con le VLAN si creano delle sottoaree
logiche in cui è possibile inserire gli host di particolari gruppi di lavoro.
3) semplifica l’amministrazione della rete
Una buona percentuale dei costi di gestione di una rete sono rappresentati da aggiunte, spostamenti e cambi di
host nella rete. Lo spostamento eccessivo di un host in una lan, porterebbe a continue riconfigurazioni e
parametrizzazione. Con le VLAN, invece, la gestione della rete è molto più facile e non necessita di
riconfigurazioni, con conseguente minore spesa di gestione.
4) riduce i costi
le VLAN sono usate per creare domini di broadcast che eliminano la necessità di acquistare dei costosi router.
5) aumenta la sicurezza
Periodicamente dati sensibili sono inviati sulla rete in broadcast (cioè tutto a tutti) . I dati in broadcast, dati quindi
senza un ricevente definito, costituiscono materia informativa per intrusi o malintenzionati. Per ovviare al
problema, la creazione di VLAN può ridurre l’accesso ad un estraneo. In questo modo, si mantengono
completamente separate le reti con l’impiego delle VLAN, questo senza realizzare delle reti fisiche separate. Il
traffico tra distinti domini (VLAN Diverse) deve forzatamente attraversare e interpellare un apparato di livello 3
(router).
Quindi, il router che ha il compito di fare colloquiare tra loro le VLAN, ha la possibilità di implementare politiche
di sicurezza (firewalling) per mezzo di meccanismi di gestione e filtraggio dei pacchetti (ACL). Inoltre le VLAN
rendono difficile l’uso degli Sniffer di rete.

Come lavora la VLAN


Quando un host invia un pacchetto di dati in una VLAN, il primo switch che incontra il frame “tagga” (ovvero
etichetta) lo stesso frame con un flag indicante la VLAN di provenienza. Questo viene chiamato explicit tagging
: il pacchetto così etichettato viaggia attraverso la rete giungendo allo switch di destinazione, il quale legge il
frame e toglie il tag (l’etichetta) dal pacchetto e lo inoltra al destinatario ultimo della VLAN. E’ altrimenti possibile
identificare a quale VLAN il pacchetto ricevuto appartiene con il metodo dell’implicit tagging, cioè della
etichettatura implicita. Nel tagging implicito il pacchetto non è taggato ,cioè non viene aggiunto nessun tag al
frame, ma lo switch determina la VLAN da dove il pacchetto proviene basandosi su altre informazioni tipo la
porta da dove il pacchetto è arrivato, dalla sorgente o dal destinatario del campo MAC (media access control),
dalla sorgente dell’indirizzo di rete, o da altri campi o da combinazioni di campi. Le VLAN sono classificate in
base al metodo usato per instradare i pacchetti di dati “frames”.
Per essere in grado di fare il tagging (etichettatura) dei frame usando uno dei metodi di cui sopra, il bridge
potrebbe usare uno dei metodi di aggiornamento di database contenete un mappatura tra VLAN e qualunque
campo è usato per taggare (etichettare). Per esempio , se il tagging è per porte, il database potrebbe indicare
quale porta sta sotto una VLAN. Questo database è chiamato “filtering database” . Un bridge ha la funzionalità di
memorizzare questo database e, oltretutto, di assicurarsi che gli altri bridge sulla rete siano aggiornati nello
stesso modo. Il bridge determina dove il dato è andato basandosi sulle normali operazioni di rete. Una volta che
il bridge determina dove il dato è andato, ha la necessità di conoscere se l’ identificatore della VLAN potrebbe
aggiungere dei dati e inviarlo.
Se il pacchetto è diretto verso un apparato che ha conoscenza della VLAN (cioè VLAN-aware), ovvero dispositivi
che prevedono il supporto di VLAN, il bridge invia il dato con l’identificatore di VLAN. Se il pacchetto è diretto

Page 44 of 157
Giugno 2013

verso un apparato che non ha conoscenza della VLAN (cioè VLAN-unaware), ovvero dispositivi che non
prevedono il supporto di VLAN, il bridge invia il dato senza l’identificatore di VLAN.

Tipi di VLAN
Le VLAN possono essere classificate in:
STATICHE
Una volta che la VLAN è configurata rimane tale ovvero, l’appartenenza di un host alla VLAN è determinata dal
collegamento fisico alla porta dello switch da parte dell’ host come nella immagine seguente:

VLAN per porta ID (port-based)


Una VLAN port-based è basata su un dominio di broadcast che limita i messaggi di broadcast alle porte della
VLAN nella quale il broadcast è stato originato.
Le porte non assegnate a tale VLAN non ricevono messaggi di broadcast ovvero, nessuno riceve frames se non
appartiene a quella specifica VLAN.
Solo una VLAN per porta viene supportata.
Questo tipo di VLAN è sicura, facile da configurare e facile da controllare ma richiede di essere riconfigurata ad
ogni modifica da un amministratore di rete.
DINAMICHE
Le compagnie si riorganizzano in continuazione. In media tra il 20 e il 40 % della forza lavoro si muove fisicamente
ogni anno all’interno dell’azienda.
Questi movimenti, aggiunte e cambiamenti alla rete possono avvenire senza modificare la configurazione della
stessa e quindi, senza modificare la configurazione della VLAN.

Page 45 of 157
Giugno 2013

Nell’esempio riportato sotto, vediamo che nella prima fase (Figura 5) due host si trovano ( nell’immagine a
sinistra ) nella VLAN 3 e 4 dello Switch 2 al secondo piano.
Nella seconda fase (Figura 6) vediamo che gli stessi host sono stati spostati ( nella immagine a destra ) al terzo
piano, sempre nelle VLAN 3 e 4 ovvero, hanno cambiato piano.
Questo spostamento non ha richiesto modifiche alla configurazione poiché sono rimasti sempre nella propria
VLAN.

Page 46 of 157
Giugno 2013

VLAN per indirizzo MAC


La stazione viene associata ad una specifica VLAN per mezzo del proprio indirizzo MAC. Se una stazione viene
spostata, lo switch rileva il cambiamento e, automaticamente, modifica l’associazione indirizzo MAC-numero di
porta alla giusta VLAN.
Una stazione può appartenere a più VLAN. Consente l’utilizzo di hub tra gli switch e le stazioni.

MAC Address VLAN


0A-1B-2C-3D-4E-5A 1 Server WEB
0A-1A-2A-3D-4E-5B 2 Host
0A-1B-4C-3D-4E-7A 2 Host
0A-1B-2C-3D-4E-5C 3 Server WEB

VLAN per protocollo (protocol-based)


Una VLAN basata su protocollo è un settaggio particolare che determina le porte a cui inviare i dati, tramite
l’analisi del pacchetto (es. ip o ipx ,DECnet,AppleTalk, NetBIOS, ecc.).
Vengono, quindi, inoltrati i messaggi di broadcast alle porte della VLAN basata sul medesimo protocollo nella
quale il broadcast è stato originato.

Page 47 of 157
Giugno 2013

Le porte esterne a tale VLAN non ricevono il messaggio di broadcast. La stessa porta può appartenere a diverse
VLAN, sia basate su porta che su protocollo.
Gli switch di livello 3/4 , per semplificare l’amministrazione delle VLAN e per consentire ad apparati di costruttori
differenti di cooperare, supportano il protocollo standard 802.1Q.

Protocol VLAN
IP 1
IPX 2

VLAN per indirizzo ip di sottorete( IP Subnet-based)


L’appartenenza ad una determinata VLAN dipende, per il mittente, dall’indirizzo multicast di destinazione del
pacchetto, per il destinatario dalle porte fisiche, indirizzi MAC o sottoreti IP

IP Subnet VLAN
23.24.2. 1
29.21.35. 2
192.168.48. 2
192.168.20 1

VLAN per applicativo (application-based) high level


È possibile definire VLAN basate sulle applicazioni o servizio o su ogni combinazione di questi. Per esempio FTP
(file transfer protocol), sono eseguiti su una VLAN mentre una applicazione telnet solo su un'altra VLAN.

Tipi di connessioni
Gli apparati su una VLAN possono essere connessi in tre modi basati su degli apparati che devono essere VLAN-
aware o VLAN-unaware.
1 ) Trunk Link
Tutte le apparecchiature connesse a un trunk-link, incluse workstation, devono essere VLAN-aware. Tutti i frames
su un Trunk link devono avere uno speciale header. Questo speciale frames è chiamato Tagged frames.
2 ) Access Link
Un access link connette un dispositivo VLAN-unaware verso una porta VLAN-aware bridge. Tutti i frames su una
access links devono essere implicitamente taggati (cioè non taggati). L’apparato VLAN-unaware deve essere un
segmento di LAN con una workstation VLAN-unaware o può essere un segmento di LAN contenete
apparecchiature VLAN-unaware.
3 ) Hybrid Link
Questo è una combinazione dei due precedenti links. Si tratta di un link dove, apparecchiature entrambi VLAN-
aware e WLAN-unaware, sono collegate. Un link ibrido può avere entrambi tagged e untagged frames, ma tutti i
frames per una specifica VLAN devono essere taggati o non taggati.
Gli switch sono i componenti principali per le comunicazioni nelle VLAN.
Ogni switch ha l’intelligenza per poter prendere delle decisioni di instradamento basate su una metrica di VLAN
definita dall’amministratore di rete.
Lo switch può comunicare anche queste informazioni agli altri switch e router all'interno della rete.

Page 48 of 157
Giugno 2013

In pratica ci sono due tecniche per implementare delle VLAN’s


Gli approcci più comuni per raggruppare logicamente utenti in VLANs distinte processando i frame sono:

frame filtering e frame tagging

Entrambe queste tecniche guardano al frame quando o è ricevuto o spedito dallo switch.
Frame filtering:
Questa tecnica venne utilizzata nei primi tempi di implementazione delle VLAN.
Ogni switch doveva sviluppare una tabella di filtraggio (filtering database), la quale è usata per
determinare dove il frame deve essere spedito cioè, le informazioni di appartenenza ad una VLAN sono
immagazzinati in un filtering database, che gli switch dovevano scambiarsi tra di loro. I parametri di filtro
venivano aggiunti, modificati e cancellati dall’amministratore (static entries) e le (dynamic entries) informazioni
dinamiche che sono state apprese autonomamente dallo switch, parametri questi che possono agire sia
sull’indirizzo fisico del frame sia sul contenuto dello stesso.
Questa tecnica offre un livello alto di controllo amministrativo in quanto, si possono esaminare molti attributi di
ogni frame. In pratica con il frame filtering, lo switch si comporta esattamente come un Router creando e
gestendo delle tabelle di switching, le quali a loro volta, vengono scambiate tra gli Switch. Lo switch compara
i tag (le etichette) dei frame, li filtra con le tabelle di entrata e prende le decisioni di instradamento basandosi
sulle entrate. Questo modello di tagging (etichettatura) ha lo svantaggio di rallentare la trasmissione dei

Page 49 of 157
Giugno 2013

pacchetti dato che richiede molto lavoro alla CPU. Ogni frame, infatti, doveva essere comparato ad una filtering
database richiedendo quindi un elevato numero di risorse : si dimostrò, per questo, poco scalabile ed è per
questo che la IEEE preferì e raccomandò come metodo per realizzare VLAN il Frame Tagging.

Frame Tagging (etichettatura del frame)


Quando i frames sono spediti attraverso la rete, questi necessitano di qualcuno che gli indichi a quale VLAN
appartengono, così che il bridge possa instradare i frames solo sulle porte che appartengono a quella
determinata VLAN.
Questo avviene aggiungendo un identificatore unico al frame (tag header ). L'amministratore di rete assegna un
identificativo di VLAN ad ogni VLAN nella configurazione dello switch. Questo identificatore viene posto
nell’header di ogni frame ed è inviato attraverso la dorsale della rete (cablaggio verticale). L’identificatore viene
esaminato dallo switch, prima di ogni ritrasmissione verso qualunque apparato di secondo o terzo livello, (
switches o Routers ) e viene rimosso prima che il frame sia ritrasmesso al destinatario finale. Questo processo
richiede poco lavoro alla CPU.
Questa tecnica fu scelta dall' Istituto di Ingegneri Elettrici ed Elettronici (IEEE) a causa della sua scalabilità e,
nonostante ancora non sia stata standardizzato ufficialmente in una R.F.C. come sistema per implementare VLAN,

Page 50 of 157
Giugno 2013

l’istituto raccomanda la tecnica del Frame Tagging (etichettatura del frame) come la tecnica per implementare le
VLAN con le specifiche definite nel documento dell’IEEE 802.1q.

Un cavo Ethernet standard (backbone cable) viene usato per fare passare traffico di più VLANs. Per poter inviare
traffico sul collegamento di VLAN, lo Switch o il Router, deve essere capace di supportare il trunking cioè, devono
essere VLAN-aware. Nella Figura in alto sono raffigurati due Switch che hanno un collegamento sulla porta di
Trunk.
Terminologia di VLAN:
Trunk - un solo collegamento fisico che trasporta differente traffico di VLAN cioè di più VLAN.
Tagging – E’ una etichetta che identifica a quale VLAN appartiene un frame mentre è trasportato attraverso un
Trunk link.
Diversi Protocolli di Trunking includono:
 IEEE 802.1q
 ISL (Inter-Switch Link) - Cisco proprietary
 802.10 - FDDI
 ATM LANE

Page 51 of 157
Giugno 2013

Confronto fra Tagging e Trunking


Frame Tagging e Trunking spesso vengono confusi quando si descrive una VLANs.
Un tag è una etichetta che è aggiunta e che incapsula una header di data link, processo che avviene al livello due
della pila OSI (Data Link) e che identifica l'appartenenza del Frame ad una specifica VLAN.
Il termine trunking, invece, viene usato per descrivere un solo collegamento che porta traffico multiplexato.
Multiplexing è un termine che descrive l’invio di traffico di molte fonti differenti su una sola linea fisica ovvero, su
uno stesso trunk viaggiano pacchetti appartenenti a differenti VLAN.
Tagging
Uno Switch Cisco Catalyst supporta due tipi di Tagging sulle interfacce Ethernet:

 IEEE 802.1Q
 Cisco proprietary Inter-Switch Link (ISL)

Questi due standard definiscono le informazioni portate nel Frame Tag, includendo informazioni di identificatore
di VLAN.
L’ ISL è un protocollo proprietario Cisco usato per Fast Ethernet e Gigabit Ethernet. IEEE 802.1Q può essere usato
ad ogni livello due della pila OSI incluso Fast Ethernet , Gigabit Ethernet, Token Ring, e FDDI.
Trunking
Il Trunking permette di inviare il traffico di diverse VLANs su un solo collegamento fisico.
Senza una linea di Trunk, dei collegamenti separati sarebbero richiesti per ogni VLAN.
Molti Switch avranno almeno uno o due porte che sono anche per il Trunking.
In questo caso, la porta può inviare/ricevere traffico per diverse VLANs.
Il Trunking si usa dove c'è un bisogno di inviare traffico per VLANs multiple connettendo due Switch, o uno Switch
ed un Router.
Nella figura, si può notare, che ci sono due collegamenti di trunking per una rete composta da due VLAN
192.168.1, 192.168.2.

Page 52 of 157
Giugno 2013

 Tra Switch 1 (il Porta A) e Switch 2 (il Porta A)


 Tra Switch 2 (il Porta B) ed Router (Ethernet 0)

Il Router usa subinterfaces per permettere il trunking nel Router.


Ogni VLAN è legata alla propria interfaccia di sottorete logica.
Ogni subinterface ha il suo proprio indirizzo IP che è il modo in cui il Router può indirizzare dati tra le VLANs.

Page 53 of 157
Giugno 2013

Protocolli di livello 3 della pila ISO/OSI – Routing


Il router è il tipico apparato di internetworking che assolve allo smistamento dei pacchetti di dati fra reti diverse.
Il router opera a livello 3 della pila OSI e ha la capacità di prendere le decisioni intelligenti per quanto riguarda il
percorso migliore per la distribuzione dei dati sulla rete.

Ci sono due livelli di indirizzamento a livello di internetworking:


 Indirizzamento fisico (basato sul Mac address) di livello 2
 Indirizzamento logico (basato sul protocollo di trasmissione) di livello 3

Il router è l'apparato fondamentale per l'indirizzamento di tipo logico. Il router è in grado di prendere decisioni
intelligenti sul percorso migliore a cui affidare la distribuzione dei pacchetti di dati.

I routers usano il protocollo IP (con gli indirizzi logici) in alternativa agli indirizzi MAC tipici del livello Data Link.
Poiché gli indirizzi IP sono gestiti a livello software, essi si riferiscono alla rete su cui un dispositivo è situato. Ecco
perché si dice che l'indirizzamento IP è un indirizzamente di rete.
La differenza sostanziale sta comunque nel fatto che l'indirizzo fisico (Mac) viene attribuito dal costruttore e
inserito all'interno della scheda di rete, mentre l'indirizzzo logico (IP) viene attribuito dall'amministratore di rete e
può essere cambiato a seconda delle esigenze.
Laddove switch e bridge vengono utilizzati per collegare i segmenti d'una rete LAN (fisicamente connessi). I
routers sono utilizzati per collegare fra di loro le reti che sono fisicamente separate, nonchè per accedere alla
rete mondiale Internet.
I router, quindi, connettono due o più reti fisicamente separate. La separazione è comunque basata su indirizzi di
rete che devono ASSOLUTAMENTE essere diversi e univoci. Questo processo avviene attraverso l'assegnazione
dell'ID di rete (all'interno del numero di IP) che viene assegnato a tutti gli apparati connessi alla rete
Un approfondimento sulla numerazione IP sarà visto in seguito
Per spiegare meglio il concetto diamo alla rete l'indirizzo A e agli host l'indirizzo di rete (A) più l'indirizzo dell'host
(1, 2, 3, 4 ecc....)

Ecco un tipico esempio di indirizzo logico:

Host Host Host Host


A2 A3 A4 A5

Rete A

Il router che gestirà questa rete dovrà avere un interfaccia sulla rete A con numerazione corrispondente.
Per esempio A1.
Analogamente, due reti fisicamente separate trovano la possibilità di interconnettersi attraverso un router se
rispettano i presupposti di cui sopra.

Page 54 of 157
Giugno 2013

In questo caso due indirizzi di rete diversi, indirizzi host diversi e le due interfaccie del router direttamente
collegate alle due reti e configurate con indirizzo logico corrispondente alla rete servita.

Host Host Host Host Host Host Host Host


A2 A3 A4 A5 B2 B3 B4 B5

Rete A Rete B

Assumiamo una situazione di questo tipo:

Vogliamo trasmettere dati dalla rete A alla rete B;


Il router è connesso alle reti A, B, C, e D.
Quando i dati (frames di livello 2), provenienti dalla rete A, raggiungono il router, lo stesso effettua le seguenti
azioni:

 Scarta l'header del data link presente nella frame. (L'header del data link contiene il MAC addresses
dell'host sorgente e quello dell'host di destinnazione). In questo modo siamo in grado di assumere che
le informazioni relative agli indirizzi fisici di livello 2 non interessano ai router. Essi operano solo a livello
3 e quindi a livello di indirizzo logico di rete.
 Esamina l'indirizzo di rete per determinare la rete di destinazione.
 Esamina la tabella di routing per determinare quale delle sue interfaccie (A,B,C e D) deve utilizzare per
smistare i dati e raggiungere la rete di destinazione.
 Incapsula i dati in una frame di livello 2 e li spedisce i verso l'interfaccia di uscita.

Il concetto di interfaccia riferito al router può essere espresso anche come "porta".
Ovviamente ogni interfaccia del router deve avere un numero di Ip (o comunque un indirizzo logico) univoco. Ma
e poi mai due interfaccie possono avere lo stesso numero di IP.

Un tutorial completo sui sistemi di indirizzamento IP


Per poter comunicare fra loro due computer in rete devono potersi in qualche modo riconoscere.
L'analogia più immediata è quella con il telefono; per poter telefonare occorre avere un numero e conoscere il
numero di chi si vuole chiamare.
Uno dei concetti base del TCP/IP è appunto di indirizzo IP: questo è l'equivalente del numero di telefono, solo che
invece che di un numero decimale composto di un numero variabile di cifre è un numero binario (quindi espresso
con soli 0 e 1) ed ha una dimensione fissa (di quattro byte).
Di solito, visto che scrivere i numeri in formato binario è poco comprensibile, si è soliti esprimere il numero IP
usando una apposita notazione che viene “chiamata dotted decimal”, usando i normali numeri decimali; un
esempio potrebbe essere qualcosa del tipo di 192.168.111.11.
È attraverso questo numero il vostro computer viene identificato univocamente su Internet.
Come per il telefono di casa ogni computer connesso ad Internet viene sempre considerato come facente parte di
una rete; la cosa è vera anche per le reti private non connesse direttamente ad Internet (come quelle che
collegano i computer di un ufficio), per proseguire nell'analogia si pensi alle linee telefoniche interne di una ditta,
usate per parlare dalla portineria agli uffici.
Dato che Internet, come dice il nome, è un insieme di reti, anche devono venire identificati, questo è fatto
attraverso altrettanti indirizzi IP, che corrispondono alla parte comune di tutti gli indirizzi delle macchine sulla
stessa rete.
Per proseguire nell'analogia con il telefono si può pensare all'indirizzo di rete come al prefisso che serve per
parlare con un altra città o un'altro stato, e che è lo stesso per tutti i telefoni di quell'area.
La differenza con i prefissi è che un indirizzo di rete IP, quando lo si scrive, deve essere completato da tanti zeri
quanti sono necessari a raggiungere la dimensione di 32 bit degli indirizzi normali; per riprendere il precedente
esempio di numero IP, un possibile indirizzo di rete ad esso relativo potrebbe essere 192.168.111.0.
Questo meccanismo significa in realtà che ogni indirizzo su Internet, pur essendo espresso sempre come un
singolo numero, nei fatti è composto da due parti, l'indirizzo di rete, che prende la parte superiore dell'indirizzo e
identifica la particolare sezione di internet su cui detto computer si trova e l'indirizzo della macchina finale (il

Page 55 of 157
Giugno 2013

cosiddetto host), che prende la parte inferiore del numero e che identifica, all'interno della rete, il vostro
computer.
La situazione dunque è ancora analoga a quella di un numero di telefono che è diviso in prefisso e numero locale.
La notazione degli indirizzi IP però è diversa da quella dei numeri telefonici e, dato che si ha a che fare con
indirizzi binari a dimensione fissa, non esiste l'equivalente della / per dividere il prefisso dal resto del numero;
pertanto non è automatico sapere come effettuare questa divisione.
Per questo motivo quando si configura una macchina ad ogni indirizzo IP si associa sempre anche quella che viene
chiamata una “netmask”: una maschera che permette di separare la parte di rete da quella di host.
Questa viene espressa con la solita notazione dotted decimal, mettendo un 1 ad ogni bit dell'indirizzo
corrispondente alla rete e uno zero a quello corrispondente all'host: nel caso dell'indirizzo in esempio si avrebbe
allora 255.255.255.0.
L'assegnazione degli indirizzi IP è gestita a livello internazionale dalla IANA, che ha delegato la gestione di parte
delle assegnazioni ad altre organizzazioni regionali (come INTERNIC, RIPE NCC e APNIC).
Per venire incontro alle diverse esigenze gli indirizzi di rete sono stati originariamente organizzati in classi, per
consentire dispiegamenti di reti di dimensioni diverse.

Struttura indirizzo IP

Esempio

Ognuno dei 4 bytes, viene interpretato come un numero decimale senza segno

Ogni valore varia da 0 a 255 (massimo numero rappresentabile con 8 bits)

Classi di indirizzi IP
Le classi di indirizzi IP sono un modo per caratterizzare lo spazio di indirizzamento IPv4.
Il Classfull addressing (indirizzamento basato sulla classe) prevedeva che dai primi bit di un indirizzo si potesse
determinare la maschera di rete.
Questa scelta, con il crescere dell'utenza di internet, si è rivelata troppo rigida, ed è stata abbandonata a favore
dell'indirizzamento senza classe o Classless Inter-Domain Routing (CIDR).

Page 56 of 157
Giugno 2013

Gli indirizzi IP all'origine erano stati suddivisi in classi


Classe A

 Numero di reti = 27 - 2
(0.0.0.0 riservato, 127.xxx.xxx.xxx indirizzi di loopback) = indirizzo che individua il computer
locale su cui è in esecuzione l’applicazione a cui corrisponde il nome localhost)

 Numero di hosts = 2 24 – 2
(circa 16 milioni di hosts, configurazioni di tutti 0 e tutti 1 sono riservate, tutti 1 = broadcast
sulla rete)

 Indirizzi utilizzabili:
da 1.xxx.xxx.xxx a 126.xxx.xxx.xxx
Classe B

 Numero di reti = 214 - 2


(Circa 16.000)

 Numero di hosts = 2 16 – 2
(circa 65.000 hosts per rete)

 Indirizzi utilizzabili:
da 120.0.xxx.xxx a 191.255.xxx.xxx

Classe C

 Numero di reti = 221 - 2


(Circa 16.000)

 Numero di hosts = 2 8 – 2
(245 hosts per rete)

 Indirizzi utilizzabili:
da 192.0.0.xxx a 233.255.255.xxx

Page 57 of 157
Giugno 2013

Altre Classi

 classe D:
o riservata agli indirizzi multicast: [224-239].x.x.x. Questi indirizzi cominciano con la
sequenza 1110. Non hanno maschera di rete, essendo tutti e 32 i bit dell'indirizzo utilizzati per
indicare un gruppo, non un singolo host.

 classe E:
o riservata per usi futuri: [240-255].x.x.x. Questi indirizzi cominciano con la sequenza 11110 e
non è definita una maschera di rete.

Esempio:

nella classe B gli indirizzi vanno da 10000000 a 10111111 che in decimale corrispondono da 128 a 191.

Secondo le classi è possibile gestire un numero limitato di reti e un numero limitato di host in base al seguente
schema:

Classe Leading bits Totale Numero di Reti Numero Max di Indirizzi Host

Classe A 0 128 16.777.214

Classe B 10 16.384 65.534

Classe C 110 2.097.152 254

Es. numero reti e host in classe B:

rete: 2 = 16.384
14

hosts: 2 = 65.536 - (rete, broadcast) = 65.534


16

Per il calcolo della rete si eleva a 14 in quanto in classe b abbiamo i primi due ottetti che si riferiscono alla rete,
quindi 16 bit, ma considerando che i primi 2 bit sono fissi diventa 14.

La crescita di Internet ha reso questo sistema ridottissimo rispetto alle esigenze per cui si è introdotto la tecnica
del mascheramento.

Indirizzi IP privati
Con indirizzi IP privati si intendono alcune classi di indirizzi IPv4, definite nella RFC 1918, riservate alle reti
locali non connesse ad internet allo scopo di ridurre le richieste di indirizzi pubblici.
Chiunque può utilizzare questi indirizzi per la propria rete locale, perché i pacchetti relativi a tali reti non vengono
instradati dai router internet, e quindi essi non entreranno in conflitto con analoghi indirizzi posti su altre reti
locali.
Nel caso occorra connettere ad Internet una rete locale che utilizza queste classi di indirizzi, si deve ricorrere
al network address translation.

Le classi in questione sono:

Page 58 of 157
Giugno 2013

indirizzo blocco CIDR più Numero di indirizzi


indirizzo finale Classe
iniziale grande disponibili
10.0.0.0 10.255.255.255 singola classe A 10.0.0.0/8 16.777.216

172.16.0.0 172.31.255.255 16 classi B contigue 172.16.0.0/12 1.048.576

192.168.0.0 192.168.255.255 256 classi C contigue 192.168.0.0/16 65.536

Indirizzi IP pubblici
In informatica, un indirizzo IP pubblico è un indirizzo IP nello spazio di indirizzamento della rete internet, che è
allocato univocamente e potenzialmente accessibile da qualsiasi altro indirizzo IP pubblico.
La distinzione tra indirizzi IP pubblici e privati sono un concetto legato a IPv4, in quanto IPv6 non prevede un
concetto di indirizzo IP privato analogo.
Gli indirizzi IP pubblici sono rilasciati e regolamentati dall'ICANN tramite una serie di organizzazioni delegate.
Tuttavia è da tener presente che a livello mondiale e nazionale i primi provider di connessione Internet si sono
accaparrati un numero sproporzionato di indirizzi IP. I provider che si sono affacciati dopo sul mercato hanno
ovviato a questo stato di cose considerando i propri utenti di una medesima città come una rete privata che
accede ad Internet mediante un singolo IP pubblico. Questo comporta alcune difficoltà nell'utilizzo di servizi su
Internet che presuppongono che ad un IP corrisponda un singola connessione (per esempio IRC e peer-to-peer).
L'aggettivo pubblico può essere fuorviante, perché non è affatto detto che si possa sempre accedere al sistema a
cui è assegnato un tale indirizzo: anche se effettivamente l'indirizzo è assegnato, potrebbe ad esempio esserci
un firewall che impedisce la connessione diretta.
Gli indirizzi IP pubblici sono teoricamente intorno ai 4 miliardi: ma la modalità della loro allocazione e le necessità
pratiche dovute all'instradamento dei dati stanno rapidamente terminando la loro disponibilità, e sono una delle
ragioni per lo sviluppo e uso di IPv6, dove il concetto di "indirizzo pubblico" perderà di significato pratico.
Per ragioni di scalabilità della tabella di routing globale di internet, gli indirizzi IP pubblici vengono assegnati a
grandi blocchi ai provider, i quali poi provvedono ad assegnare sottoblocchi o anche singoli indirizzi ai propri
clienti.

Netmasking
Affinché tutto questo funzioni senza ambiguità è necessario che l'assegnazione degli indirizzi pubblici di Internet
sia univoca e non sia quindi possibile darsi arbitrariamente un indirizzo IP
Infatti, come nella vita reale, anche in quella virtuale non possiamo inventarci un indirizzo ma esso ci viene
assegnato.

Maschera di configurazione TCP/IP su windows

Una volta in possesso dell'indirizzo IP da assegnare al nostro calcolatore possiamo aprire la schermata relativa
alla configurazione della rete.
Ma qualunque sia il nostro sistema operativo ci troveremo sempre di fronte ad almeno tre parametri:
il già citato indirizzo IP, la netmask e il gateway di default e finché la configurazione di questi parametri non è
corretta e coerente non saremo in gradi di accedere alle risorse di rete.
Ma se nella vita reale, l'indirizzo postale basta per poter spedire e ricevere una lettera, perché su Internet
l'indirizzo IP non è sufficiente?

Come ragiona il computer all'invio di un pacchetto sulla rete.


Per capire perché il solo indirizzo IP non sia una informazione sufficiente per poter interagire con gli altri
calcolatori della rete dobbiamo seguire il processo logico che porta alla creazione di un pacchetto.

Page 59 of 157
Giugno 2013

Consideriamo quindi che il nostro computer S (sorgente) con indirizzo IP, per esempio, 195.32.69.2 debba inviare
una informazione a un computer D (destinatario) che per ora identifichiamo con un indirizzo IP generico
AAA.BBB.CCC.DDD.
Come detto, l'informazione diventa quindi il "payload" di un pacchetto TCP/IP e viene quindi inserito in una
particolare busta TCP/IP.
Sulla busta viene messo l'indirizzo del mittente, 195.32.69.2 e quello del destinatario.
Immaginiamo, a questo punto, il calcolatore con la busta in mano che si reca nella cassetta postale più vicina.
Ciò che vedremmo, a questo punto, e che esso si trova a dover fare una scelta.
Nel caso reale la cassetta ha due fessure, una per la posta destinata alla propria città e l'altra per tutte le altre
destinazioni.
La stessa cosa accade nella rete.
Il computer deve decidere se la lettera è destinata ad un calcolatore della propria rete locale o se il destinatario è
"più lontano".
Inoltre, mentre nel caso reale si può anche commettere un errore e sperare che la lettera venga ugualmente
recapitata, nel caso informatico la scelta deve essere esatta.

Ma perché bisogna fare questa scelta?


Perché il pacchetto va trattato in modo differente a seconda della diversa destinazione.
Infatti se il pacchetto è destinato alla rete locale esso può essere già buttato cosi com'è sulla rete in quanto il
computer D, ivi in ascolto, vedrà il pacchetto a lui destinato in transito e lo recupererà.
Nel caso in cui il destinatario è remoto, il pacchetto non può essere buttato cosi com'è sulla rete in quanto D non
è in ascolto su di essa.
Il pacchetto, in quest'ultimo caso, va modificato per essere dato in pasto ad un particolare calcolatore della rete
locale, il gateway di default.
Ed ecco quindi che fa la sua comparsa il secondo parametro fondamentale della configurazione della rete.
Il gateway identifica l'accesso al mondo esterno ed è il a sapere come raggiungere il resto di Internet ed è dunque
a esso che dobbiamo inviare il pacchetto affinché venga correttamente inoltrato a D.
Allora senza una corretta configurazione del gateway di default potremmo magari raggiungere correttamente i
nostri calcolatori locali ma il resto del mondo ci sarebbe interdetto.
Una volta chiarito quindi il perché della necessità della scelta, bisogna chiarire il come.
Come fa il nostro PC a capire se il destinatario è locale o è remoto?
Nel mondo reale il processo deduttivo sarebbe semplice:

S abita nella città X. D abita nella città X?

Se la risposta a questa domanda è positiva allora la lettera va inviata nella fessura per la stessa città altrimenti va
imbucata nell'altra.

Nel caso virtuale la domanda è simile:

S si trova nella rete X. D si trova nella rete X?

Il risultato positivo o negativo di questa domanda decide il modo con cui il pacchetto va inviato, se ad un
computer locale o al gateway di default.

La netmask risolve il problema di cosa è locale e cosa è remoto.


La domanda a cui dobbiamo quindi saper rispondere contiene però ancora una incognita.
S ha indirizzo IP 195.32.69.2 ma cosa si intende per rete X?
Per calcolare la rete X non basta la conoscenza del solo indirizzo IP.
Anche se i più scaltri potrebbero rispondere che la rete a cui l'indirizzo IP 195.32.69.2 appartiene è la rete
195.32.69.0 e questa risposta è spesso quella giusta, nel mondo dei calcolatori non basta azzeccarci spesso,
bisogna azzeccarci sempre.
Avrete sicuramente capito che per ricavare l'indirizzo di rete a cui un indirizzo IP appartiene c'è bisogno di
conoscere la netmask.
La netmask, identificando la rete a cui un indirizzo IP appartiene, identifica cosa è locale e cosa è remoto.
Inoltre l'identificazione di cosa è locale da anche una visualizzazione di qual'è l'intervallo di indirizzi IP locali e
quindi di quanto è o può essere grande la nostra rete nel senso del numero di calcolatori che essa può contenere.

Page 60 of 157
Giugno 2013

Un po' di matematica binaria.


Ora non dobbiamo spaventarci ma per capire in che modo dalla conoscenza dell'indirizzo IP e della netmask
derivi l'indirizzo della rete dobbiamo addentrarci un po' in un mondo formato da zeri e uno, il mondo della
matematica binaria.
Iniziamo a conoscere questo mondo facendo la conoscenza con i due attori principali, Mr. UNO e Mr. ZERO.
Grazie a questi due simboli è possibile definire qualsiasi numero e quello che ci apprestiamo a fare ora è di
vedere come questa cosa, a prima vista cosi strana, possa funzionare.
Nel sistema di numerazione che noi tutti conosciamo entrano in gioco dieci simboli con cui scriviamo tutti i
numeri.
Questi dieci simboli sono:

0 1 2 3 4 5 6 7 8 9

che combinati insieme con una logica detta posizionale ci permettono di scrivere un qualsiasi numero. Per cosa
sta l'aggettivo "posizionale"? Cerchiamo di capirlo con un esempio. Quando vogliamo scrivere l'anno di nascita
del sottoscritto mettiamo uno di fianco all'altro i seguenti simboli
1 9 6 9
La nostra percezione di questa sequenza di cifre è una percezione posizionale nel senso che questo modo di
scrivere da un peso differente alle singole cifre coinvolte cosi che il numero 9 in seconda posizione da sinistra non
ha lo stesso valore dell'altro 9.
Ogni posizione a sinistra di un altra "pesa" dieci volte di più di quella a destra e quindi presi i numeri sopra da
destra si avrà che quel numero indica nove volte uno più sei volte dieci più nove volte cento più una volta mille. E'
questo e solo questo che indichiamo quando scriviamo "1969".

Posizione 3 2 1 0

Fattore moltipl. 10 10 10 10 in potenze


3 2 1 0

Fattore moltipl. 1000 100 10 1 in valore

Cifre 1 9 6 9

Dieci simboli, incremento posizionale di potenze di dieci, tutto questo ripetersi del valore dieci da il nome al
nostro sistema numerico chiamato "decimale".
Usualmente si dice che il fatto di avere un sistema decimale deriva dal fatto che abbiamo dieci dita e quindi
l'utilizzo di dieci simboli è solo una convenzione ed è in realtà possibile utilizzare un numero arbitrario di simboli
per scrivere i numeri. In realtà, il cosi detto sistema binario formato appunto dai soli simboli

0 1

ricopre un'importanza fondamentale nel mondo dei calcolatori in quanto il calcolatore, lavorando con correnti o
campi magnetici è solo in grado di rilevare la presenza o l'assenza di uno di questi campi in un elemento di
memoria e la rilevazione o meno di tali campi viene associata alla lettura nella cella di memoria di un uno o di
uno zero.
Ma visto che il nostro cervello è assuefatto al sistema decimale, vediamo innanzitutto come si costruisce una
corrispondenza tra i primi numeri del sistema decimale e di quello binario.
Lo zero e l'uno sono ovviamente uguali in tutte e due i sistemi.
Con il due abbiamo il primo intoppo. Mentre nel sistema decimale esiste un simbolo unico che identifica
univocamente tale valore, nel sistema binario abbiamo già esaurito tutti i numeri esprimibili con una sola cifra e
quindi dobbiamo passare a due cifre.
Come nel caso decimale in cui dopo il nove viene il dieci, anche nel caso binario, dopo l'1, si passa a dover usare
due cifre e quindi il corrispettivo binario del due decimale e' il 10. Il tre decimale sarà l'11 binario e con il quattro

Page 61 of 157
Giugno 2013

abbiamo finito anche tutti i modi di esprimere in binario un numero con due cifre e quindi passiamo a tre e
dunque il quattro decimale e' il 100 binario.
Riassumendo e estendendo queste associazioni, indicando con il pedice il tipo di numerazione relativa, si avrà che

010 => 02, 110 => 12,


210 => 102, 310 => 112,
410 => 1002, 510 => 1012, 610 => 1102, 710 => 1112,
810 => 10002, 910 => 10012, 1010 => 10102, 1110 => 10112,
1210 => 11002, 1310 => 11012, 1410 => 11102, 1510 => 11112,

Ovviamente anche il sistema binario è posizionale e, come nella numerazione decimale una posizione a sinistra è
dieci volte maggiore di quella a destra, analogamente nel sistema binario, una posizione a sinistra è due volte
maggiore di quella a destra per cui, per esempio, 1001112 significa, partendo da destra, una volta uno più una
volta due più una volta quattro più una volta trentadue e quindi 3910.

Posizione 5 4 3 2 1 0
Fattore
25 24 23 22 21 20 in potenze
moltiplicazione.
Fattore
32 16 8 4 2 1 in valore
moltiplicazione
Cifre 1 0 0 1 1 1
Bene, ora che conosciamo il punto di vista del calcolatore riguardo ai numeri, siamo in grado di guardare
l'indirizzo IP da un nuovo punto di vista mettendoci nei panni di un computer.
Quando noi esseri umani diciamo che un calcolatore ha l'indirizzo 195.32.69.2 quello che il computer vede sono
quattro sequenze di otto simboli binari separati da un punto. Ogni simbolo binario 0,1 viene chiamato in gergo
"bit" e otto bit vanno a formare un nuovo elemento chiamato "byte". Quindi l'indirizzo IP può essere visto come
una sequenza di 4 byte o, il che è la stessa cosa, di 32 bit.
Perché abbiamo detto che ogni elemento della sequenza è formato proprio da 8 bit? Perché abbiamo già detto
che i numeri separati dal punto possono andare da 0 a 255 e 255 in binario è

2 2 2 2 2 2 2 2
7 6 5 4 3 2 1 0

128 64 32 16 8 4 2 1

1 1 1 1 1 1 1 1

Che questo è proprio il valore che rappresenta 255 in binario lo si vede senza dover sommare tutti i termini sopra
con un semplice trucchetto.
Preso il numero

2 2 2 2 2 2 2 2 2
8 7 6 5 4 3 2 1 0

256 128 64 32 16 8 4 2 1

1 0 0 0 0 0 0 0 0

che è il successivo del numero sopra si ha che questo è 2 = 256 in decimale e quindi il numero sopra è 2 -1 ossia
8 8

proprio 255.
A questo punto, per puro diletto mostriamo il nostro indirizzo IP usato nell'esempio dal punto di vista del sistema
binario

11000011 ▪ 00100000 ▪ 01000101 ▪ 0 0000010

Page 62 of 157
Giugno 2013

195 32 69 2

Già che ci siamo, scriviamo anche la netmask 255.255.255.0 in formato binario. Questa è molto semplice visto
che abbiamo appena visto qual'è la rappresentazione binaria del numero 255 per cui

11111111 11111111 11111111 0 0000000


▪ ▪ ▪
255 255 255 0

Ma perché ci siamo infilati in tutte queste sfilze di uno e zeri chilometriche? Perché grazie a queste siamo ora in
grado di introdurre l'operatore che ci permetterà di calcolare la rete conoscendo l'indirizzo IP e la netmask.
Facciamo quindi la conoscenza con l'operatore "AND". Cosa possiamo dire di questo operatore?
Beh, innanzitutto che esso è un operatore binario ossia è una operazione matematica che va applicata a numeri
binari e che esegue una qualche trasformazione sulle cifre binarie del numero trasformandole in qualcos'altro.
Il tipo di trasformazione viene definita a parole in questo modo: l'AND tra due cifre binarie da come risultato 1 se
e solo se tutte e due le cifre sono 1 altrimenti il risultato è 0.
Visto che le possibili combinazioni di due cifre binarie sono solo quattro è possibile scrivere il funzionamento
dell'operatore AND elencando tutti i possibili casi e quindi scrivendo che:
0 AND 0 = 0
0 AND 1 = 0
1 AND 0 = 0
1 AND 1 = 1

Un modo equivalente per esprimere il funzionamento dell'operatore AND è dire che applicandolo a un qualsiasi
cifra binario e allo 0 da come risultato 0 mentre applicandolo con il numero 1 da la stessa cifra binaria.

Calcoliamo la netmask.
Bene, ora abbiamo tutti gli strumenti per definire e calcolare la rete a cui appartiene un dato indirizzo IP. La rete
di un indirizzo IP è il risultato dell'operatore AND applicato all'indirizzo stesso e alla sua netmask quindi, nel caso
specifico, esprimendo per brevità, per ora i due elementi ancora in notazione binaria sarà il risultato
dell'operazione

rete X = 195.32.69.2 AND 255.255.255.0

Si vede subito che, in questo caso, il calcolo è molto semplice. Iniziamo infatti ad applicare l'operatore AND sul
primo byte dell'indirizzo IP e della netmask per ottenere il primo byte dell'indirizzo di rete

19510 AND 25510= 110000112 AND 111111112

Ma, per quanto detto sopra, l'operatore AND tra un qualsiasi numero binario e 1 è il numero binario stesso e
quindi

19510 AND 25510= 110000112 AND 111111112= 110000112 = 19510

e si vede quindi subito che il risultato dell'AND sui primi tre byte dell'indirizzo IP sono gli stessi 3 byte iniziali.
Andando a calcolare il quarto byte della rete il cui valore è il risultato dell'operazione

210 AND 010= 000000102 AND 000000002

che, per quanto detto prima ossia che l'operazione di AND tra un qualsiasi numero e zero da sempre zero ci porta
a concludere che

210 AND 010= 000000102 AND 000000002= 000000002= 010

Page 63 of 157
Giugno 2013

Quindi siamo giunti al risultato definitivo.


La rete a cui appartiene l'indirizzo IP 195.32.69.2 con netmask 255.255.255.0 è la rete 195.32.69.0.
Quali sono quindi gli indirizzi IP locali al nostro computer S? Per come abbiamo fatto i conti sopra si vede subito
che sono tutti gli indirizzi della forma 195.32.69.x in quanto, per ogni x il suo AND con zero sarà sempre zero e
quindi la rete sarà sempre quella sopra e quindi la stessa di S.
Allora siamo ora in grado di decidere se il nostro pacchetto tra S e D va inoltrato tramite il gateway di default o è
per un IP locale. Se AAA.BBB.CCC.DDD è della forma 195.32.69.x allora la busta è destinata ad un computer da
ricercare direttamente sulla rete locale, altrimenti va inviato al gateway di default per l'instradamento su
Internet.
A questo punto qualcuno potrebbe pensare che il calcolo dell'indirizzo di rete sia banalmente fatto ponendo a
zero l'ultimo byte dell'indirizzo IP. Ma questo non è vero e lo è solo e soltanto se la netmask è quella finora usata
ad esempio.
Vediamo di chiarire questo con un ulteriore esempio. Prendiamo una comunicazione che coinvolge due
calcolatori con indirizzo 195.32.68.2 e 195.32.69.2. Questi appartengono o no alla stessa rete? Pensateci bene un
attimo prima di rispondere....
La risposta è che....dipende. Dipende dalla netmask assegnata. Se la netmask è quella considerata finora allora
avrete azzeccato la risposta che, per quanto detto sopra, è ovviamente negativa. Ma vi faccio vedere che spesso
conviene fare i conti almeno finché non si è presa un po' di dimestichezza e di manualità con gli IP e le netmask.
Consideriamo i due IP sopra ma consideriamo altresì che sia stata loro assegnata un'altra netmask,
255.255.254.0, e calcoliamo di nuovo la rete a cui i due IP appartengono.
Per il primo indirizzo si ha che

195.32.68.2 AND 255.255.254.0 = 195.32.xxx.0

in quanto, non essendoci mai capitato il calcolo 68 AND 254 non sappiamo a priori quanto faccia. Eseguendo si ha
che

6810 = 010001002 , 25410 = 111111102 e quindi

0 1 0 0 0 1 0 0 AND

11111110 =

01000100

e dunque il risultato è di nuovo 6810 e dunque la rete a cui appartiene l'indirizzo 195.32.68.2 con netmask
255.255.254.0 sembra verificare ancora la regola empirica vista sopra ossia da come risultato la rete 195.32.68.0.
Vediamo ora la rete dell'altro indirizzo. Di nuovo, l'unico calcolo che non abbiamo mai eseguito e' 69 AND
254 ed essendo

6910 = 010001012 si ha che

0 1 0 0 0 1 0 1 AND

11111110 =

01000100

ed ecco la sorpresa 6910 AND 25410 = 6810!!!

Per cui entrambi gli indirizzi IP appartengono alla stessa rete 195.32.68.0 e quindi sono indirizzi che appartengono
a due calcolatori della stessa rete locale.
Quindi, se la netmask è 255.255.255.0 allora 195.32.68.2 e 195.32.69.2 appartengono a due reti differenti e i
calcolatori si manderanno i pacchetti tramite i loro rispettivi gateway ma se la netmask è 255.255.254.0 allora il

Page 64 of 157
Giugno 2013

calcolatore manderà la busta direttamente sulla rete locale aspettandosi che l'altro sia direttamente connesso ad
essa.
In definitiva possiamo dunque affermare che la netmask è un elemento discriminante per decidere cosa è locale
e cosa è remoto e la domanda a quale rete appartiene un indirizzo IP è mal posta se non si specifica anche la
netmask ad esso assegnata.

Netmask notevoli.
Elenchiamo ora alcuni casi notevoli.

La netmask 255.255.255.0 detta classe C, quella vista sopra, che ha indirizzi disponibili per 2 -2 calcolatori
8

(sottraggo due perché uno è l'indirizzo di rete inusabile e l'altro è un altro indirizzo particolare che tutte le reti
debbono avere chiamato indirizzo di broadcast) ossia 254 indirizzi usabili per assegnare ai calcolatori della rete

La netmask 255.255.255.192 che divide una classe C in quattro sottoreti di 2 -2 =62 calcolatori
6

La netmask 255.255.255.128 che divide una rete di 256 indirizzi in due sottoreti di 2 -2 =126 calcolatori
7

La netmask 255.255.255.252 è la più piccola rete usabile con 2 -2 = 2 indirizzi disponibili, usata spesso nelle
2

punto-punto dove un indirizzo è l'IP di un lato della connessione e l'altro è l'indirizzo dell'altro punto (il terzo è
l'indirizzo di rete e il quarto è il sopra citato indirizzo di broadcast)

Esempio di collegamento punto-punto tra due router


in cui si usa la netmask 255.255.255.252

La netmask 255.255.255.254 è inusabile in quanto anche qui non c'è un IP disponibile 2 -2 = 0.


1

La netmask 255.255.255.255 rappresenta il singolo host in quanto, essendo tutti i bit a 1 da come risultato il solo
IP stesso. Relativamente al discorso IP disponibili questo è un caso degenere con cui non si identifica una rete ma
l'indirizzo del computer stesso.
La netmask 255.255.0.0 detta classe B che ha indirizzi locali disponibili per 2 -2 calcolatori formata quindi da 256
16

classi C.
La netmask 255.0.0.0 detta anche classe A ha indirizzi locali disponibili per 2 -2 calcolatori formata da 256 classi
24

B.
La netmask 0.0.0.0 che è un altro caso "degenere" in quanto essa rappresenta l'intero spazio degli indirizzi IP. In
moltissimi casi in cui infatti è necessario intendere la frase "qualsiasi indirizzo" si usa infatti la notazione
0.0.0.0/0.0.0.0.
Più in generale la netmask si scrive iniziando a mettere simboli "0" partendo da destra e mettendone tanti quanti
ne servono a formare lo spazio di indirizzi IP che si intende utilizzare nella rete locale.
Quindi la netmask non può assumere tutte le forme possibili utilizzando quattro sequenze di numeri da zero a
255 ma solo le seguenti forme

255.255.255.255
255.255.255.252
255.255.255.248
255.255.255.240
255.255.255.224
255.255.255.192

Page 65 of 157
Giugno 2013

255.255.255.128
255.255.255.0
255.255.252.0
255.255.248.0
255.255.240.0
255.255.224.0
255.255.192.0
255.255.128.0
255.255.0.0
255.252.0.0
255.248.0.0
255.240.0.0
255.224.0.0
255.192.0.0
255.128.0.0
255.0.0.0

Le netmask di default per le varie classi sono elencate nella tabella seguente, con alcuni indirizzi IP host
esemplificativi.
Per dire le cose semplicemente, un host è una qualsiasi macchina caratterizzata da un indirizzo IP, compresi
server, workstation, router, ecc.

Significato Indirizzo Esempio Indirizzo IP Indirizzo IP della


Classe Netmask
IP per un host per host rete

A 255.0.0.0 N.H.H.H 10.0.1.44 10.0.0.0

B 255.255.0.0 N.N.H.H 172.16.3.21 172.16.0.0

C 255.255.255.0 N.N.N.H 201.150.189.31 201.250.189.0

Che cosa significa allora e che cosa dobbiamo farci?


Esaminiamo la tabella superiore.
Se prendiamo l'indirizzo esemplificativo classe A, 10.0.1.44 e facciamo l'AND con la sua netmask di default, si
ottiene 10.0.0.0.
Che cosa è 10.0.0.0?
È l'indirizzo di rete come riportato nell'ultima colonna.
Si noti che il primo byte fornisce l'indirizzo di rete quando si fa l'AND di una rete classe A con la sua netmask di
default, mentre i primi due byte forniscono l'indirizzo di rete quando si fa l'AND di un indirizzo IP classe B con la
netmask di default della classe B.
Di conseguenza, si può affermare che il primo byte dell'indirizzo IP classe A fornisce l'indirizzo di rete e i tre byte
rimanenti forniscono gli indirizzi host; in altre parole, un indirizzo classe A ha la forma N.H.H.H - dove N sta per
Network e H sta per Host.
Analogamente, i primi due byte di un indirizzo IP classe B sono pertinenti alla rete, mentre gli ultimi due byte
sono pertinenti all'indirizzo host, in altre parole N.N.H.H.
Infine, i primi tre byte di un indirizzo IP di classe C sono pertinenti alla rete, mentre l'ultimo byte è pertinente
all'host, in altre parole N.N.N.H.

Subnetting
Esaminiamo ora questo concetto con un indirizzo IP classe B, come 142.168.25.100.
Dalla tabella superiore, sappiamo che la netmask di default per la rete di classe B è 255.255.0.0.
Di conseguenza, facendo l'AND della maschera di default con l'indirizzo IP si ottiene l'indirizzo della rete su cui si
trova quel particolare host, per esempio 142.168.0.0.
Un host con indirizzo IP di 142.168.25.100 si trova quindi su una rete con indirizzo IP di 142.168.0.0, se si usa la
netmask di default della classe B.

Page 66 of 157
Giugno 2013

Se si ha a disposizione una completa serie di indirizzi di classe B con l'indirizzo di rete 142.168.0.0, che cosa si può
fare con questi indirizzi?
Si ricordi che le reti di classe B hanno la forma N.N.H.H, in altre parole gli ultimi due byte possono essere usati per
assegnare gli indirizzi IP agli host.
Ciò porta ad ottenere una rete con “65.536 -2” indirizzi per gli host.
Il -2 deriva dal fatto che 142.168.0.0 è l'indirizzo della rete e quindi non può essere assegnato ad un host; l'ultimo
indirizzo sulla rete, 142.168.255.255, invece si usa per i broadcast, e quindi nemmeno questo può essere
assegnato ad un host.
Questa sarebbe una rete molto estesa (65.534 indirizzi per gli host), di gran lunga troppo grande per risultare
pratica.
Un approccio molto semplice consiste nel "prendere a prestito" il valore di un byte di indirizzi per gli host e
assegnarli quali indirizzi di rete.
Ciò porterebbe a 256 reti con 254 host per ciascuna.
Anche in questo caso si tratta di reti molto grandi.
Questo processo di prendere a prestito gli indirizzi per gli host e usarli per le reti è chiamato subnetting.
Quest'operazione è compiuta usando una SNM (Sub NetMask).
In questo caso, si userebbe la sub-netmask 255.255.255.0, che è la netmask di default per la classe C.
Di conseguenza abbiamo preso una rete di classe B e l'abbiamo trasformata in 254 reti di classe C.
Se si fa l'AND tra 142.168.25.100 e 255.255.255.0, si ottiene l'indirizzo di rete 142.168.25.0 con il primo indirizzo
host disponibile di 142.168.25.1 e l'ultimo di 142.168.25.254, dal momento che 142.168.25.255 è riservato per i
broadcast.
Un altro modo per compiere quest'operazione consiste nel cominciare con l'indirizzo di rete (142.168.25.0 in
questo caso), trasformare in 1 tutti i bit per gli host e ottenere l'indirizzo di broadcast.
Qui, l'ultimo byte si usa per gli indirizzi degli host; trasformare in 1 questi ultimi porta quindi ad ottenere
142.168.25.255.
Questo tipo di broadcast è chiamato "directed broadcast" allo scopo di indicare che salta i router, mentre un
broadcast locale (che non salta i router) ha la forma di 255.255.255.255 indipendentemente dalla classe di rete
coinvolta.
Se a questo punto non avete ancora perso i sensi, vi potreste chiedere se è possibile compiere il subnetting
soltanto sui confini dei byte, oppure se si può compiere anche su una rete di classe C.
Le risposte sono rispettivamente "no" e "sì"; in altre parole, si può lavorare nel mezzo di un byte.

Subnetting sui confini non-byte


Formuliamo l'ipotesi di avere a disposizione una completa serie di indirizzi di classe C, per esempio con
210.168.94.0 quale indirizzo di rete.
Si ha la possibilità di assegnare gli indirizzi agli host (l'ultimo byte) a proprio piacimento.
Se si usa la netmask di default classe C 255.255.255.0, si possono assegnare su una singola rete gli indirizzi per
gli host compresi tra 210.168.94.1 e 210.168.94.254.
Anche se ciò risulta ovviamente fattibile, è opportuno suddividere questo valore in varie reti, magari con 25 host
ciascuna.
Facciamo qualche calcolo.
Se usiamo quattro bit per gli host, saranno sufficienti? 2 -2 = 14 (2 =16)-(2) = 14: non sono sufficienti.
3 3

Ricordiamoci che gli indirizzi vanno da 0 a 15 e di conseguenza sono sedici (16).


Usiamo quindi cinque bit per gli host: 2 -2 = 30 può funzionare.
4

In ogni caso, abbiamo che degli 8 bit nell'ultimo byte, riservati inizialmente per gli host, ne prendiamo a prestito
tre bit per le sub network. Questo lascia a disposizione i 5 bit richiesti per gli host.
Ottimo, ma quante subnet abbiamo?
Esattamente si riesce ad avere 8 subnet ( 2 )
3

Abbiamo quindi otto subnetwork con 30 indirizzi per gli host ciascuna.

Page 67 of 157
Giugno 2013

L’assegnazione dell’indirizzo IP
Quando dobbiamo scegliere il metodo di assegnazione dei numeri di Ip sugli host di una rete, possiamo optare
per due metodologie:

Page 68 of 157
Giugno 2013

 indirizzamento statico
 indirizzamento dinamico

Resta inteso, comunque, che entrambe le metodologie non ammettono duplicazione di indirizzi IP sulla stessa
rete.

Indirizzamento statico
La scelta dell'indirizzamento statico presuppone che venga svolto un lavoro "manuale" di configurazione di ogni
host e/o apparato della rete.
L'indirizzo IP deve essere configurato, con il software messo a disposizione dal S.O. e, in caso di cambiamento,
l'operazione deve essere ripetuta.
Questo metodo presuppone una catalogazione molto meticolosa. Se il lavoro non viene pianificato bene, si corre
il rischio di assegnare indirizzi duplicati.
E' pur vero che i sistemi operativi come Windows 9x e Windows NT/2000, in fase di inizializzazione dello stack
Tcp/Ip, spediscono una richiesta ARP per testare l'esistenza di eventuali indirizzi IP duplicati e, nell'eventualità
che essi incontrino un IP duplicato, sospendono l' inizializzazione dello stack Tcp/Ip.
Ciò non significa che l'opera di catalogazione degli IP (in formato cartaceo o digitale) non sia una buona
precauzione anche laddove, con sistemi misti, non esistano features del tipo di quelle offerte da Windows 9x o
Windows Nt/2000.

Indirizzameneto dinamico
I sono diversi metodi che possono essere scelti per assegnare dinamicamente gli indirizzi IP:

Reverse Address Resolution Protocol (RARP)


Reverse address resolution protocol (RARP) lega gli indirizzi MAC agli indirizzi IP.
Questo legame permette a diversi apparati di rete di incapsulare i dati prima di spedirli alla rete di destinazione.
Un apparato quindi potrebbe conoscere il proprio indirizzo fisico (Mac) ma non queello logico (Ip).
Per garantire l'indirizzamento logico di queste device è necessario che nella rete esista un Rarp Server che possa
soddisfare le loro richieste.
Un sistema senza disco fisso locale non ha modo di registrare in modo permanente il proprio indirizzo di internet
attraverso un reboot di sistema.
All'atto del boot la stazione ottiene il proprio indirizzo fisico Ethernet dall'hardware e poi emette una richiesta
RARP alla rete richiedendo il proprio indirizzo internet.
Un'altra stazione della rete, designata come server RARP, rispone con un messaggio di responso.
Quando un host vuole spedire dei dati ad un altro host è sicuramente in grado di conoscere il proprio indirizzo
fisico (MAC) ma non è in grado di reperire il proprio indirizzo IP nella sua tabella ARP.
L'obiettivo finale è che l'host di destinazione entri in possesso dei dati, li elabori ai livelli più alti della pila OSI, e
possa rispondere all'host che li ha originati. Per fare ciò il sorgente deve includere nel pacchetto sia l'indirizzo
Mac che quello IP.
Ecco allora che l'host sorgente inizia una procedura chiamata "RARP request" per scoprire il proprio indirizzo IP.
L'operazione di "RARP request" consiste nella spedizione di un pacchetto sulla rete che possa essere visto da
tutte le device. Questo pacchetto userà un indirizzo IP di tipo broadcast (11111111).
RARP usa lo stesso formato di pacchetto di ARP. Ma nella "RARP request", il MAC header, l' IP header, e l'
"operation code" sono differenti da quelli della "ARP request". Il formato del pacchetto RARP containe gli spazi
utili per gli indirizzi MAC del sorgente e del destinatario. Il campo relativo all'indirizzo IP è vuoto. Il broadcast
deve raggiungere tutte le device sulla rete perciò dovrà settare l'IP di destinazione con tutti i bit a 1 (11111111).
Le workstation su cui gira RARP hanno un codice nella ROM che impone loro di avviare un processo RARP
process, e individuare un RARP server.

BOOTstrap Protocol (BOOTP)


In fase di avvio, una device usa il protocollo BOOTstrap (BOOTP) per ottenere un indirizzo IP. BOOTP utilizza il
protocollo UDP per trasportare i messaggi; il messaggio UDP viene incapsulato in una datagramma IP.
La Richiesta BOOTP e' trasmessa all'indirizzo di broadcast locale 255.255.255.255, con indirizzo mittente settato a
0.0.0.0 poiche' il client spesso non conosce il proprio indirizzo. Il BOOTP server riceve il broadcast e ne spedisce
uno a sua volta. Il client riceve un datagramma e controlla l'indirizzo MAC.

Page 69 of 157
Giugno 2013

Se trova il suo stesso MAC nel campo di destinazione allora prende l'IP contenuto nel datagramma.
Analogamente a RARP, BOOTP opera in un ambiente client-server, e richiede un semplice scambio di pacchetto.
Diversamente da RARP, che spedisce indietro un indirizzo IP composto da 4 otteti, il datagramma BOOTP
restituisce anche informazioni ulteriori (l'indirizzo IP, l'indirrizzo del router (default gateway), l'indirizzo del
server, le Opzioni Venditore che possono contenere informazioni aggiuntive specifiche dell'implementazione).
BOOTP non è stato disegnato per fornire un indirizzamento dinamico degli IP, perché gli stessi vengono creati in
un file di configurazione che specifica i parametri per ogni device.

Dynamic Host Configuration Protocol (DHCP)


Dynamic host configuration protocol (DHCP) è di fatto il successore di BOOTP.
Diversamente da BOOTP, DHCP permette agli host della rete di ricevere un numero di IP molto velocemente e in
modo dinamico. L'unica operazione da eseguire a livello di server DHCP è quella di definire un range di IP da
distribuire a richiesta.
Quando gli host si attestano alla rete (avviano l'inizializzazione dello stack Tcp/Ip) essi contattano il server DHCP
più vicino e ne richiedono un indirizzo.
Il DHCP server sceglie un indirizzo e lo riserva all'host per il tempo definito (variabile) dall'amministratore di rete.
E' indubbiamente il protocollo più comodo e, in un solo messaggio, riesce a configurare perfettamente un
computer sulla rete.
I server DHCP più avanzati distribuiscono ulteriori informazioni all'host come la subnetmask, il default gateway
(router) il Wins e/o il Dns server ecc.

Vantaggi del protocollo DHCP


Non solo il protocollo DHCP è in grado di configurare automaticamente i client per il protocollo TCP/IP, ma è
anche utile quando il sistema è già impostato per l'utilizzo di indirizzo IP statici.
Prima di affrontare questo argomento, tuttavia, è opportuno sottolineare che, indipendentemente dal fatto che
si utilizzi o meno il protocollo DHCP, alcuni indirizzi IP devono sempre rimanere statici. Ad esempio, è necessario
utilizzare un indirizzo IP statico per i computer che eseguono i protocolli DHCP, WINS e DNS. Ed è consigliabile,
inoltre, utilizzare un indirizzo IP statico per il controller di dominio primario.
Fatte salve queste eccezioni, tuttavia, per tutti gli altri computer si dovrebbero utilizzare indirizzi IP dinamici. Il
vantaggio degli indirizzi IP dinamici consiste nel fatto che consentono di evitare molti dei problemi più comuni. Ad
esempio, se gli indirizzi IP vengono configurati manualmente, è necessario tenere traccia degli indirizzi assegnati
e degli indirizzi non assegnati, nonché degli eventuali utenti a cui sono stati assegnati. Se per errore si assegna lo
stesso indirizzo a due persone o se un utente manomette il proprio indirizzo, possono verificarsi problemi di rete
di difficile risoluzione.
Inoltre, in numerose organizzazioni e ambienti di lavoro è prassi comune spostare continuamente i computer da
un punto all'altro dell'edificio o addirittura da un edificio all'altro. In tali situazioni, quando si utilizzano indirizzi IP
statici, si è costretti a cambiare l'indirizzo IP all'interno della nuova sottorete ogni volta che si sposta un PC. Se
invece si utilizza il protocollo DHCP, il computer contatterà automaticamente un server DHCP e riceverà un
indirizzo IP adatto per la nuova sottorete.
Infine, il protocollo DHCP è utile in situazioni in cui cominciano a scarseggiare gli indirizzi IP. Con gli indirizzi IP
assegnati staticamente è necessario dotare ogni computer di un indirizzo IP univoco. I computer, accesi o spenti
che siano, conservano questi indirizzi.
Tuttavia, le probabilità che non tutti i computer vengano utilizzati contemporaneamente sono elevate. In casi
come questi, il protocollo DHCP è in grado di assegnare indirizzi IP in base alle diverse esigenze. Ciò significa che
non occorre più accertarsi che gli indirizzi IP a disposizione per ogni PC siano in numero sufficiente. Basta infatti
disporre di un numero di indirizzi IP adeguato per i PC accesi in un determinato momento.

Page 70 of 157
Giugno 2013

3) Switching
Gli apparati di Livello 2
Informazioni generali
Schede di rete:
Una scheda di rete svolge compiti importanti quali,

 Logical link control, comunica con i layer superiori


 Nome, fornisce un MAC univoco per la comunicazione tra host
 Framing, segmenta i pacchetti in frame e ricostruisce i pacchetti da frame
 MAC, permette l’accesso al mezzo fisico di connessione
 Signaling, codifica i dati in strema di bit corrispondenti ad un segnale su un determinato mezzo
HUB
La tipica funzione dell'hub trova collocazione nelle cosi dette reti "shared" dove le risorse sono equamente
condivise. In effetti quando una workstation invia dei pacchetti, questi non vengono indirizzati in modo
"intelligente", ma 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.
Non operano nessuna segmentazione della rete, pertanto tutte le stazioni di lavoro ad essi collegate, ricadono
sotto un unico dominio di collisione.
Bridge
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 metodo 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 ricevono, bridge compreso, il quale ne legge il campo
“Destination address”.
Il bridge, disponendo di una tabella nella quale sono inseriti gli indirizzi MAC delle stazioni di lavoro disposte 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.
Switch
Gli switch possono essere identificati come dei bridge multi porta, in cui ogni porta opera come fosse un bridge
unico. Lo switch segmenta la rete con una tecnica detta “micro segmentazione” 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, allo stesso mode del 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, disponibile su ogni porta, indipendentemente
dal numero di porte dello switch stesso.
Ad esempio 10 pc con scheda di rete a 10Mbps collegati a uno switch tutte con porte da 10Mbps usufruiranno
tutti di 10Mbps ciascuno.
Questo perché lo switch micro segmenta 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.

Funzionamento degli Apparati di Livello 2


HUB
Ogni personal computer, all’interno della rete, deve essere collegato con un cavo ad un concentratore "centrale"
detto HUB.

Page 71 of 157
Giugno 2013

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.
L’Hub può essere utilizzato nella costruzione di reti:
a BUS:

a Stella

La parola hub in inglese significa "perno" o "fulcro", traducendolo in informatichese possiamo meglio definirlo
come "centro".
E' un’apparecchiatura che si e' diffusa nel mondo delle reti locali nella seconda metà 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 tra tutte.
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.

Page 72 of 157
Giugno 2013

L’hub viene usato solitamente per connessioni fatte con doppino (schermato e non), mentre sono praticamente
scomparsi 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 continuità di collegamento delle stazioni di lavoro ad esso attestate ed
eventuali stazioni di lavoro con schede d’interfaccia guaste possono essere isolate automaticamente senza
compromettere la connessione di tutte le altre.
Funzionamento:
Gli Hub, e i repeater, sono fondamentalmente la stessa cosa.
Entrambi sono apparati che lavorano a livello 1 del Modello OSI.
Diversamente dagli switch e dai router, gli hub non leggono la trama (frame) ma si assicurano che essa venga
inoltrata sulle porte collegate.
Va ricordato che i repeater hanno una porta di entrata e una di uscita mentre gli hub sono multiporta.
Tutti gli elaboratori (nodi) che condividono una rete Ethernet usano il metodo di accesso CSMA/CD.
Si dice, infatti, che stanno tutti sullo stesso dominio di collisione.
Detto questo possiamo affermare che tutti i nodi connessi ad un hub sono parte dello stesso dominio di
collisione.
In un dominio di collisione, infatti, quando avviene una collisione, tutti i nodi nell'area del dominio (domain/area)
avvertiranno la collisione e quindi, reagiranno di conseguenza.
Per connettersi ad un hub, i nodi di una rete usano il cavo UTP (Unshielded Twisted Pair).
Ad ogni porta dell'hub può corrispondere un solo nodo.
La modalità di lavoro degli hub è molto semplice e trasparente.
Quando un nodo connesso ad una delle sue porte trasmette dei dati, questi vengono replicati e spediti su tutte le
altre porte.
Solo il destinatario dei dati "processerà" la trama ethernet mentre tutti gli altri nodi rifiuteranno la trama e non la
inoltreranno sul proprio elaboratore.
L'operazione di rifiuto e di accettazione della trama viene portata a termine dalla scheda di rete (NIC) che,
leggendo il “Destination MAC address “ contenuto nell'header della trama ethernet stessa, verrà portato a
confrontato con il proprio MAC address.
Solo in caso di uguale MAC address la trama verrà processata.
Tutti gli hub hanno una porta speciale che funziona come "uplink" port.
La porta uplink permette di connettere l'hub ad altri hub, aumentando le porte disponibili sulla LAN.
Questo soluzione, a basso costo, permette di estendere le reti di pochi computers e, da un certo punto di vista
funziona abbastanza bene.
Purtroppo, non appena la rete si appesantisce con nuovi nodi, anche il traffico inutile (tutte le trame non
processate) diventa un problema e impatta in modo negativo sulle performance della stessa.
Switch
Questi apparati hanno rapidamente sostituito gli 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'evoluzione 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 relativa al Modello Iso/Osi.
Il livello (layer) 2 è caratteristico degli switch più tradizionali, i quali basano l’instradamento dei frame sul MAC
address destinatario.
Con questa tecnologia le comunicazioni sono di tipo 1 a 1, tutte le altre porte dello switch non sono interessate.

Page 73 of 157
Giugno 2013

Gli switch di livello 3 operano sul protocollo e sono, quindi, in grado di determinare i percorsi di instradamento
utilizzando le informazioni fornite dai protocolli ( es. IPX, IP, AppleTalk).
La scelta della tecnologia switch è fondamentale per tutte le applicazioni che creano molto traffico e per tutte le
reti con un alto numero di utenti.
Nell'ottica di rete sul modello Intranet, con ampio utilizzo di contenuti multimediali, non si può più prescindere
da una soluzione switched. 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.

Page 74 of 157
Giugno 2013

E, bene o male, i router tradizionali iniziano a posizionarsi esternamente alla dorsale, per lasciare agli switch-
router il compito di gestire i pacchetti e di organizzare le comunicazioni all'interno della rete locale.

Switching Mode
Il ritardo (latenza) con cui il pacchetto attraversa lo switch dipende dalla scelta della modalità di switching.
Le modalità di switching sono:
Store-and-Forward:
In questa modalità il Frame viene ricevuto e memorizzato completamente prima di analizzare il Destination
MAC Address e agire di conseguenza. In questa modalità è possibile applicare al frame tutte le informazioni
necessarie alla sua gestione (vedi VLAN). Questa tecnica di switching aumenta la latenza in proporzione alla
dimensione del frame.
Cut-through:
In questa modalità, detta anche FastForwording, lo switch non aspetta che il Frame sia ricevuto e
memorizzato completamente ma lo analizza mano a mano che viene ricevuto e una volta individuato,
nell’header, il Destination MAC Address lo invia direttamente al destinatario. In questa modalità non è
possibile applicare al frame tutte le informazioni necessarie alla sua gestione (vedi VLAN). Questa tecnica di
switching mantiene costante la latenza indipendentemente dalla dimensione del frame.
FragmentFree:
Questa è una modifica del “Cut-through”. Lo switch aspetta di ricevere almeno 64 byte prima di iniziare l’invio
del frame. Questo serviva ad eliminare le eventuali collisioni. Anche questa tecnica di switching mantiene
costante la latenza indipendentemente dalla dimensione del frame.

7 bytes 1 byte 6 bytes 6 bytes 2 bytes Max. 1500 bytes 4 bytes

Preambolo SFD Dest. MAC Source MAC Length Dati FCS

FastForwarding FragmentFree Store-and-


Nessun controllo Controllo delle Forwarding
degli errori collisioni Controllo
completo

Page 75 of 157
Giugno 2013

Spanning-Tree (STP)
Prima di iniziare a parlare più in dettaglio del funzionamento dello Spanning Tree Protocol occorre conoscere il
meccanismo, presente negli switch, per l’inoltro dei frame e per la costruzione della tabella dei Mac-Address.

Processo di Forwarding

Start Ricezione Frame


sulla porta X

NO SI
Scarta Frame Frame senza
Errori

FINE
SI
NO
Porta X in
Forwarding?

SI Indirizzo NO
Destinatario
presente
nella tabella

SI
Il Inoltra Frame su tutte le
Scarta Frame
destinatario porte eccetto la porta X
è sulla LAN di “Flooding”

NO

Inoltra il Frame sulla porta appropriata

Page 76 of 157
Giugno 2013

Processo di Learning

SI NO
Indirizzo Sorgente del
Frame contenuto nella
Tabella MAC ?

Aggiungi l’indirizzo MAC nella tabella


MAC, associa la porta di ricezione
SI La porta di ricezione NO azzera l’ageing-time
è la stessa contenuta
nella Tabella MAC ?

Aggiorna la porta di ricezione


associata al MAC Address e azzera
l’ageing-time

Azzera l’ageing-time

FINE

Come visto sopra, il processo di Forwarding è il primo che viene attivato alla ricezione di un Frame.
Questo permette allo switch di agire immediatamente per quanto riguarda l’invio del nuovo Frame verso il
destinatario limitando il tempo di latenza della trasmissione.
Di seguito viene attivato il processo di Learning che permette allo switch di controllare ed eventualmente
aggiornare la propria tabella MAC.
Di seguito è riportata la sequenza completa basata su un esempio di rete.

Page 77 of 157
Giugno 2013

Inoltro di un Frame a un destinatario “sconosciuto” e popolazione della tabella MAC

Stazione 1 Stazione 2
08-00-01-02-03-04 08-00-01-02-05-06

Port MAC Address Ageing Time


LAN A
1 08-00-01-02-03-04 0

Stazione 6
08-00-01-02-c5-c6
1
3
B
LAN C
2 Flooding

LAN B

Stazione 3 Stazione 4
08-00-01-02-B3-B4 08-00-01-02-B5-B6

Inoltro di un Frame a un destinatario “conosciuto” e popolazione della tabella MAC


Stazione 1 Stazione 2
08-00-01-02-03-04 08-00-01-02-05-06

Port MAC Address Ageing Time


LAN A
1 08-00-01-02-03-04 5
2 08-00-01-02-B3-B4 0
Inoltro selettivo
sulla porta 1
Stazione 6
1 08-00-01-02-c5-c6

B
3 LAN C

LAN B

Stazione 3 Stazione 4
08-00-01-02-B3-B4 08-00-01-02-B5-B6

Page 78 of 157
Giugno 2013

Limitazione del Traffico

Stazione 1 Stazione 2
08-00-01-02-03-04 08-00-01-02-05-06

Port MAC Address Ageing Time


LAN A
1 08-00-01-02-03-04 12
2 08-00-01-02-B3-B4 13
Frame Scartato 1 08-00-01-02-05-06 0
Stazione 6
1 08-00-01-02-c5-c6

B
3 LAN C
2

LAN B

Stazione 3 Stazione 4
08-00-01-02-B3-B4 08-00-01-02-B5-B6

Problema con percorsi chiusi (loops)

4
4 2 3
SW-1
1 4
3
4 1 2 1
4
1
1 1
1 2 2 LAN3
SW-2
1
LAN1 3
1 2 4
1
1 1 1 2 3
2 3 4
3 4 SW-3
1
2 2 2
4 2
1 1 1
LAN2 1 1 1

Per visualizzare la presentazione in Power Point selezionare il disegno con tasto destro e quindi selezionare
“Oggetto collegato Presentazione” e quindi “Collegamento Mostra”.

Dettagli per lo Spanning Tree


Lo spanning tree è un algoritmo necessario per realizzare reti complesse con percorsi ridondanti utilizzando
tecnologie di Livello 2 del modello OSI (Data-Link) come IEEE 802.2 o IEEE 802.11. Lo spanning tree viene eseguito
dagli switch e dai bridge, e mantiene inattivi alcune interfacce in modo da garantire che la rete rimanga connessa

Page 79 of 157
Giugno 2013

ma priva di cicli. Una LAN complessa può essere costituita da diversi segmenti di rete, connessi tra loro tramite
dei bridge o switch, con il vincolo che la topologia di una LAN non contenga cicli (maglie o loop), ovvero che tra
ogni coppia di stazioni di lavoro esista un solo percorso. Se così non fosse, alcuni pacchetti verrebbero replicati
all'infinito sulla rete, con risultati disastrosi. Lo switch, infatti, conosce gli indirizzi MAC degli host connessi su ogni
segmento, ma se riceve un pacchetto con destinazione sconosciuta, o un pacchetto broadcast, lo invia su tutti
segmenti. Se esiste un loop nella rete, il pacchetto raggiungerà nuovamente il segmento da cui è partito, venendo
nuovamente replicato. Questo porterebbe alla proliferazione di infinite copie dello stesso pacchetto sulla rete, e
quindi alla saturazione della rete stessa. Una rete complessa priva di percorsi ridondanti è però estremamente
fragile, perché il guasto di un solo switch o collegamento la partiziona in due reti che non comunicano tra di loro.
In una rete locale complessa, è necessario che ci siano dei collegamenti ridondanti, ma che alcuni di questi siano
mantenuti "fuori servizio" fino a quando non si rendono necessari per sopperire a guasti di altri collegamenti o
bridge. L'algoritmo di spanning tree è un algoritmo distribuito, che opera su tutti gli switch, facendo in modo che
in ogni istante la rete sia connessa ma priva di loop, ovvero che il grafo dei collegamenti disponibili sia "coperto"
da un albero. Ciò si ottiene mediante la creazione di una gerarchia di switch. Uno switch viene individuato
come radice dell'albero coprente ("root bridge"), e una parte dei collegamenti tra switch disponibili viene messa
in standby, portando in stato "BLOCKING" alcune delle porte degli switch stessi. Nel caso in cui un nodo diventi
irraggiungibile, oppure cambi il costo di connessione, lo switch cercherà di arrivare al nodo attivando i percorsi
alternativi che sono in stand-by, ripristinando in questo modo la connettività completa della rete (se possibile).
Nella “teoria dei grafi”, questo problema è noto come “Albero spanning”. Questo processo avviene
periodicamente per cui, se si scollega uno switch o si interrompe un collegamento, si ricostruisce lo spanning tree
e la rete continua a funzionare. L'algoritmo tende automaticamente a mantenere in funzione i collegamenti di
capacità superiore, ma talvolta la scelta di collegamenti da mantenere attivi è inadeguata alle caratteristiche della
rete o del traffico che la attraversa. Configurando opportuni parametri sugli switch, è possibile influenzare sia la
scelta del “root bridge” che la scelta dei collegamenti da mantenere in servizio. Tale algoritmo è stato inventato
da Radia Perlman e standardizzato in IEEE 802.1D.

L'algoritmo di Spanning Tree permette di estendere reti locali mantenendo un buon grado di ridondanza, ma
presenta alcuni limiti:

Page 80 of 157
Giugno 2013

 I tempi di convergenza, ovvero il tempo necessario al protocollo per reagire al guasto di un elemento
della rete o al suo ripristino, tendono a crescere con il numero di switch coinvolti nel processo.
 Il protocollo di spanning tree genera a sua volta traffico sulla rete, che può contribuire alla sua
saturazione.
 La capacità dei collegamenti lasciati in stand-by non può essere sfruttata (ovvero questi collegamenti
sono usati come riserva fredda).
Per ovviare ai sopracitati limiti, sono stati sviluppate estensioni al protocollo di Spanning Tree originario. In
particolare:
 Multiple Spanning Tree
 Rapid Spanning Tree: provvede a ripristinare la topologia di rete nel minor tempo possibile (nell'ordine
di qualche secondo).

Alcuni produttori di apparati di networking hanno sviluppato sistemi alternativi e proprietari per superare i limiti
imposti da spanning-tree nell'ethernet e raggiungere le caratteristiche di SDHin particolar modo per quanto
riguarda classica configurazione ad anello. In questo ambito sono da citare :

 Hiper-Ring di Hirshmann
 EAPS di Extreme Network
 Resilient Packet Ring di Nortel Networks

Per le reti di tipo Token ring ed FDDI esiste un algoritmo specifico, alternativo a spanning tree, definito source
routing.
Quando la rete cresce al punto di rendere eccessivamente problematici questi fattori, è spesso necessario
segmentarla con l'aiuto di uno o più router, anche se questo comporta tipicamente la modifica degli indirizzi IP
utilizzati dagli host sulla rete (ri numerazione).

Dettaglio funzionamento Spanning-Tree Protocol o STP


Come visto in precedenza, lo STP è stato definito da IEEE 820.1d e server per trasformare una rete magliata (con
loops) in una rete ad albero (senza percorsi chiusi).
Prima di iniziare a gestire i Frame, provenienti dalle stazioni di lavoro, tutta la rete (switch) devono definire
l’albero o spanning tree.
Questa definizione avviene in tre fasi:

 Elezione del Root Bridge


o Radice dell’albero (spanning tree) che si vuole costruire

 Selezione della root port


o Una delle porte del bridge o switch viene usata per raggiungere il Root Bridge

 Selezione delle designated port


o Una delle porte connesse alla LAN è usata per ricevere e inoltrare i pacchetti.

Per definire questa struttura gli switch, partecipanti allo spanning tree, si scambiano una serie di frame specifici,
denominati BPDU, che hanno la seguente struttura:

Destination Source MAC length DSAP SSAP Control BPDU


MAC

Multicast SingleCast Configurazione BPDU oppure Notifica


0180c2- Indirizzo YX 042H 042H XID cambio topologia FCS
000000 MAC switch
Bridge Identifier
 Ogni switch ha un indirizzo MAC per singola Interfaccia:
o Ad ogni switch è associata una priorità: Brigde Priority che può essere definita tramite
 Configurazione
 Valore di default per garantire un primo funzionamento “plug&play”
 Viene eletto come “root bridge” quello che ha un “Bridge Identifier” minore

Page 81 of 157
Giugno 2013

o La Bridge Priority minore determina il Root Bridge


o In caso di parità viene eletto il bridge con indirizzo minore.

Bridge Identifier o Root Identifier

Bridge Priority Bridge MAC Address


(default 32768)

Elezione del Root Bridge


 Inizialmente ogni bridge assume di essere “root bridge”
o Inserisce il proprio bridge identifier nel campo root identifier
o Genera Configuration BPDU con periodo hello time
 Default: 2 secondi
 Ogni bridge confronta il proprio “bridge identifier” con il campo “root identifer” delle Configuration
BPDU ricevute
o Se è minore, continua a generare Configuration BPDU
 Il campo root identifier contiene il proprio bridge identifier
o Altrimenti, inoltra le Configuration BPDU (flooding) ricevute
 Il campo root identifier contiene il bridge identifier del candidato a divenire root bridge
 Alla fine solo il root bridge origina Configuration BPDU
Selezione della root port
 Porta sul cammino di costo minimo verso il root bridge
o Riceve Configuration BPDU generate dal root bridge
o Inoltra trame verso il root bridge
 Ad ogni porta è associato un costo
 Le Configuration BPDU contengono il costo del cammino attraversato
o Campo root path cost
o Il costo associato alla porta di ricezione viene sommato al campo root path cost da ogni
bridge attraversato
 Viene scelta root port quella che riceve Configuration BPDU con priorità maggiore
 Solo le Configuration BPDU ricevute dalla root port sono inoltrate
Priorità delle Configuration BPDU
Una Configuration BPDU ha priorità maggiore di un’altra se soddisfa, nell’ordine, una delle seguenti condizioni:
 Il valore del campo “root path cost” è minore
o Aggiornato sommando il costo (path cost) associato alla porta di ricezione il valore nella
Configuration BPDU ricevuta
 Il valore del campo “bridge identifier” è minore
 Il valore del campo “port identifier” è minore
 Il parametro “port identifier” associato alla porta di ricezione è minore

Page 82 of 157
Giugno 2013

Port Priority (default 128)

Numero di Ports

Port Identifier

Selezione delle designated port


Verso una LAN, sulla quale è collegata più di una porta non “root” vengono inoltrate più copie di Configuration
BPDU
 Hanno fatto percorsi diversi dal “root bridge” alla LAN
 Un bridge collegato alla LAN tramite porta non root riceve Configuration BPDU inoltrate da altri bridge
 La porta è scelta come designated se le Configuration BPDU inoltrate hanno priorità più elevata di quelle
ricevute
o Ogni altra porta è portata in stato blocking
o Solo la designated port inoltra le BPDU sulla LAN

Situazione Iniziale
Bp=32768
08002b-aa5030

SW-1
2 1

LAN1

LAN3
2
Bp=32768
08012b-aa4020

SW-3

1
2
Bp=32768
08012b-aa05bc

SW-3

1
LAN2

Page 83 of 157
Giugno 2013

Situazione dopo intervento dello STP

Bp=32768 Root Bridge


Designated Port 08002b-aa5030
Designated Port
SW-1
Costo 0 2 1 Costo 0
3
Designated Port
Costo 0

LAN1

LAN3
Root Port
Bp=32768
2 08012b-aa4020

SW-3 Root Port

1 Costo 10 Route Path Cost 0


2
Bp=32768
08014b-aa05bc
Route Path Cost 10
SW-3
Costo 10 1
Route Path Cost 10
LAN2

Stato delle Porte


 Listening
o Riceve trame
o Non inoltra trame
o Non aggiorna forwarding data base
o Elabora BPDU ricevute
o Ritrasmette BPDU
 Forwarding
o Riceve trame
o Inoltra trame
o Aggiorna forwarding data base
o Elabora BPDU ricevute
o Ritrasmette BPDU
 Learning
o Riceve trame
o Non inoltra trame
o Aggiorna forwarding data base
o Elabora BPDU ricevute
o Ritrasmette BPDU
 Blocking
o Riceve trame
o Non inoltra trame
o Non aggiorna forwarding data base
o Elabora BPDU ricevute
o Non ritrasmette BPDU
Parametri di configurazione
 I bridge sono plug&play
o Sono in grado di funzionare con i valori di default

Page 84 of 157
Giugno 2013

 Bridge priority
o Range: 0 - 61440
o Default/raccomandato: 32768
o Incremento consigliato (IEEE 802.1t): 4096
 Port priority
o Range: 0 - 240
o Default/raccomandato: 128
o Incremento consigliato (IEEE 802.1t): 16
 Path cost
o Range: 0 - 65535
o Raccomandato (IEEE 802.1D): 1000/(velocità in Mb/s)
Path Cost Raccomandato
Intervallo Valori Intervallo Valori
Velocità porta Valore Raccomandato
Raccomandati Accettabili
4 Mbps 250 100-1000 1-65535
10Mbps 100 50-600 1-65535
16Mbps 62 40-400 1-65535
100Mbps 19 10-60 1-65535
1Gbps 4 3-10 1-65535
10Gbps 2 1-5 1-65535
Timer
 Hello time
o Periodicità per la generazione di Configuration BPDU
o Range: 1 - 10 secondi - Raccomandato: 2 secondi
 Forward delay timer
o Ritardo in alcuni cambiamenti di stato delle porte
o Tempo di rimozione veloce di entry del filtering database
o Range: 4 - 30 secondi - Raccomandato: 15 secondi
 Max age
o Intervallo tra la ricezione di una Configuration BPDU e “sblocco” di una porta
o Range: 6 - 40 secondi - Raccomandato: 20 secondi
Rilevamento di un cambiamento topologico
 Rilevamento di un malfunzionamento di livello fisico
o Fallimento del Link Integrity Test
 Mancata ricezione periodica di Configuration BPDU
o Una porta in stato di blocking inizializza un timer al valore del parametro max age
o Se il timer scade, la porta passa in stato listening
 Il collegamento dal root bridge alla LAN ha problemi
o Allo scadere del forward delay passa in stato learning
o Allo scadere del forward delay passa in stato forwarding
 Transizioni ritardate per evitare oscillazioni

Recupero del guasto richiede circa 50 secondi

Rapid Spanning Tree Protocol (RSTP)


 Spanning tree con convergenza veloce
 Standard IEEE 802.1w approvato a fine anno 2001
 Interoperabile con lo spanning tree IEEE 802.1D
o Senza convergenza veloce
 Soluzione di livello 2 ideale per reti mission critical

Page 85 of 157
Giugno 2013

 Opera solamente in presenza di link punto-punto


o Collegamenti diretti (no hub)
 Sostituisce soluzioni proprietarie per resiliency con convergenza veloce adottate da alcuni costruttori
Migliorie rispetto allo STP

Migliorie adottate per il rapido ripristino dei servizi

Ripristino della connettività fisica

Rilevamento Propagazione Transizione


veloce dei guasti dei guasti per stabilire la rapida delle porte allo
sui collegamenti nuova topologia e le regole stato di Forwarding
delle porte

Rilevamento Rilevamento
Rilevamento Rilevamento Rilevamento Rilevamento
basato sul basato sul
basato sul basato sul basato sul basato sul livello fisico protocollo
livello fisico protocollo livello fisico protocollo

Ripristino del Filtering Data Base

Modifica delle Modifica delle Entry


Entry Unicast Multicast

Rimuove le Entry Comunica le modifiche e Modifica le entry Comunica i Prepara i percorsi


relative ai rimuove le entry localmente in modo nuovi requisiti alternativi prima
cambiamenti locali appropriate rapido del guasto

Page 86 of 157
Giugno 2013

Regole delle porte


 Alternate
o offre un percorso alternativo in direzione del Root Bridge
o porta alternativa alla Root Port da utilizzare in caso di guasto
 Backup
o entra in funzione a seguito del guasto della Designated port
o presente solo se due o più porte dello stesso bridge connettono una LAN
 Root
 Designated
 Disabled
Alternate port e Backup port
 IEEE 802.1w non prevede lo stato di Blocking
 Le porte connesse a percorsi alternativi verso la radice vengono selezionate come Alternate
 Più porte dello stesso bridge collegate alla stessa LAN:
o una Designated
o le altre Backup
 connessione punto-punto tra due porte di un bridge
 due o più porte di un bridge collegate ad un repeater
 Le due porte sono collegate alla stessa LAN
Principi di funzionamento
 L’albero viene creato come nello STP tradizionale
o Elezione del root bridge
o Definizione della root port
o Definizione delle designated port
 Le porte rimanenti (né root né designated)
o Alternate se collegate ad una porta di un altro bridge
o Backup se collegate ad una porta dello stesso bridge

Page 87 of 157
Giugno 2013

Situazione Iniziale

1 A 1
111 2 2 222
4 3 B 3 4

E D
C F

5 6 5 6

4 333 1 1 444 4
3 J K
2 2 3

G H I L M N

1 2 1 2 1 2 1 2
555 666 777 888
4 3 4 3 4 3 4 3

Situazione dopo intervento dello RSTP

1 A 1
Root 111 222
111,0 2 2 111,10
4 3 B 3 4

E D
C F

5 6 5 6
333 444
4 111,10 1 1
111,10
4
3 J K
2 2 3

G H I L M N

1 2 1 2 1 2 1 2
555 666 777 888
111,20 111,20 111,20 111,20
4 3 4 3 4 3 4 3

Page 88 of 157
Giugno 2013

Stato delle Porte

Designated Forwarding
1 A 1
Root 111 222
111,0 2 2 111,10
B Root Forwarding
4 3 3 4

E D Alternate
C F

5 6 5 6
333 444
4 111,10 1 1
111,10
4
3 J K
2 2 3

G H I L M N

1 2 1 2 1 2 1 2
555 666 777 888
111,20 111,20 111,20 111,20
4 3 4 3 4 3 4 3

Path Cost Raccomandato da IEEE 802.1w


Intervallo Valori
Velocità porta Valore Raccomandato Intervallo Valori Raccomandati
Accettabili
<=100Kpbs 200.000.000 20.000.000 - 200.000.000 1 - 200.000.000
1Mbps 20.000.000 2.000.000 – 200.000.000 1 - 200.000.000
10Mbps 2.000.000 200.000 – 20.000.000 1 - 200.000.000
100Mbps 200.000 20.000 – 2.000.000 1 - 200.000.000
1Gbps 20.000 2.000 – 200.000 1 - 200.000.000
10Gbps 2.000 200 – 20.000 1 - 200.000.000
100Gbps 200 20 – 2.000 1 - 200.000.000
1Tbps 20 2 – 200 1 - 200.000.000
10Tbps 2 1 -20 1 - 200.000.000
RSTP e compatibilità con STP
 I bridge RSTP possono essere configurati ad operare in modalità STP
o Fondamentale in presenza di ripetitore tra due bridge
o Funzionamento in modalità RSTP potrebbe portare a instabilità e loop temporanei
 I bridge RSTP (IEEE 802.1w) operano automaticamente in modalità STP (IEEE 802.1D) in presenza di 1 o
più bridge operanti in modo STP
o Cambiamento di modalità alla ricezione di BPDU con valore 0 nel campo protocol version
identifier
o L’operatività contemporanea in modalità STP e RSTP può portare a instabilità nella definizione
dello spanning tree
 Possibile duplicazione di pacchetti

Page 89 of 157
Giugno 2013

 Possibile recapito di pacchetti fuori sequenza


Rapidità di convergenza di RSTP
 Un percorso alternativo potrebbe essere attivato in 10 - 20 ms
 La rapidità di convergenza dipende da:
o Capacità di rilevare un guasto in modo affidabile
o Capacità di rilevare un guasto in tempi brevi
 Criteri di livello fisico
 A questo fine concorrono i sistemi di trasmissione utilizzati
o Elevata stabilità dovuta alla componentistica elettronica molto affidabile
o Guasti intermittenti creerebbero problemi di stabilità
 Transceiver con funzionalità di rilevamento guasto locale e remoto su collegamenti punto-punto

Spanning Tree con VLAN


RSTP and STP Operation con VLAN 802.1Q
Come raccomandato nello standard IEEE 802.1Q, relativo alle VLAN, quando viene configurato lo STP 802.1D o lo
RSTP 802.1w all’interno di uno switch, una singola istanza si STP o RSTP viene abilitata su tutte le porte dello
switch stesso incluse quelle che risulterebbero separate dalle VLAN.
Questo vuole dire che, se sono presenti collegamenti fisici e ridondanti e separati tra le VLAN, l’istanza di
Spanning Tree bloccherà uno o più di questi link rendendo impraticabile il percorso tra le VLAN.
Nel caso in cui sia necessario avere collegamenti sempre attivi tra tutte le VLAN configurate occorre configurare
tra i due switch un percorso comune, normalmente definito TRUNK.
L'esempio seguente mostra come sia possibile usare un TRUNK con VLAN 802.1Q (tagged) in modo da avere
sempre i percorsi attivi tra le due o più VLAN.

STP o RSTP abilitato con 2 link STP o RSTP abilitato con 2 link
separati (no-trunk) in trunk

1 1
VLAN VLAN VLAN VLAN
rossa blu rossa blu

Trunk per VLAN


rossa e blu

X
Link in Trunk

Trunk per VLAN


rossa e blu
VLAN VLAN VLAN VLAN
rossa blu rossa blu
2
2
I due nodi possono comunicare
Nodo 1 non può comunicare grazie a 802.1Q
con il nodo 2

802.1s Multiple Spanning Tree Protocol (MSTP)


Come si è visto in precedenza, i protocolli STP “802.1D” o lo RSTP “802.1w”, si preoccupano di creare una
topologia fisica di rete, senza percorsi duplicati, indipendentemente dalla presenza o meno di VLAN. Questo
perché in uno switch è possibile implementare una sola istanza di STP o RSTP.

Page 90 of 157
Giugno 2013

Attualmente, la presenza di VLAN diventa sempre maggiore all’interno di una rete e di conseguenza si rende
necessario implementare un protocollo che permetta la configurazione di più istanze di Spanning Tree, questo
protocollo è lo IEEE 802.1s o Multiple Spanning Tree Protocol (MSTP).
Caratteristiche Generali
 Soluzione flessibile per creare reti con più istanze di spanning tree alle quali possono essere associate una o
più VLAN
 Adotta, come base, lo IEEE 802.1w o RSTP
 Permette di creare reti con diversi switch in cascata
 Permette l’associazione o la mappatura di VLAN sull’istanza desiderata

Architettura
Lo IEEE 802.1s prevede la suddivisione della rete in zone o aree denominate “Region”.

Region 4 Region 2

Region 3

Region 1

Region 5

Le “Region” possono essere:

 SST (Single Spanning Tree Region) in cui sono presenti switch che non adottano lo standard IEEE 802.1s e
di conseguenza non ammettono l’impiego di spanning tree multipli
o SST può impiegare STP o RSTP
o Ne è presente una sola all’interno della rete
 MST (Multiple Spanning Tree Region) in cui sono presenti switch che sono conformi allo standard IEEE
802.1s dove è previsto l’impiego si istanze multiple di spannig tree

MST (Multiple Spanning Tree Region)


 Le caratteristiche della MST Region sono:
o Adotta lo RSTP e utilizza i BPDU di tipo MSTI (Multiple Spanning Tree Instance)
o Può gestire fino a un massimo di 64 istanze per singola Region (si evita un’eccessiva ridondanza
di BPDU MSTI)
o La singola istanza di spannig tree viene identificata con il parametro MSTID che può assumere
valori compresi tra 1 e 4094

Page 91 of 157
Giugno 2013

o All’interno di una Region, per ogni istanza di spannig tree viene eletto un MSTI Regional Root
Bridge
 In una rete ci possono essere più MST Region
 In ogni MST Region ci sono:
o Una istanza comune di Spanning Tree CSTI con un CSTI Regional Root Bridge
o Una o più istanze multiple di Spannig Tree MSTI con uno o più MSTI Regional Root Bridge

Le informazioni riguardanti l’istanza di spanning tree comune e quelle relative alle diverse istanza multiple MSTI
sono memorizzate in una tabella denominata MST Configuration Table Entry

Più in dettaglio possiamo dire che una rete può essere suddivisa in:

Common and Internal Spanning Tree (CIST)


La CIST identifica la regione all’interno della rete e amministra il CIST Root Bridge per la rete, il Root Bridge per
ogni Regione e il Root Bridge per ogni istanza di Spanning Tree per ogni Regione.
Common Spanning Tree (CST)
LA CST amministra la connettività tra le Regioni MST, STP e RSTP
MST Region
Una regione MST comprende le VLAN configurate sugli switch fisicamente connessi. Tutti gli switch all’interno di
una Regione devono essere configurati con le stesse VLAN e le stesse istanze di MST (MSTIs).
Internal Spannig Tree
La IST amministra la topologia all’interno di una Regione MST. Quando uno switch viene configurato per operare
in MSTP, lo switch stesso automaticamente include tutte le VLAN staticamente configurate in una singola istanza
di Spanning Tree. Ogni singola VLAN che successivamente viene creata all’interno dello switch viene
automaticamente inserita in questa IST. Per creare percorsi separati tra Regioni occorre raggruppare le VLAN in
diverse istanze di Spannig Tree o MSTI.

Page 92 of 157
Giugno 2013

Multiple Spanning Tree Instance


Una rete di tipo MST comprende più istanze separate di Spanning Tree. Ogni istanza definisce una singola
topologia per un set esclusivo di VLAN.
Esempio di MSTP
Nella figura seguente possiamo vedere che, nella Regione”X”, sono presenti tre switch denominati “Switch1”,
“Switch2” e “Switch3”.
In tutti gli switch sono configurate le VLAN 1,2,4,5,7 e 9.
In particolare
 le VLAN 1 e 2 appartengono all’istanza IST
 le VLAN 4 e 5 appartengono all’istanza MSTI “A”
 le VLAN 7 e 9 appartengono all’istanza MSTI “B”

L’implementazione dello MSTP fa in modo che:


 il percorso tra lo Switch 1 e lo Switch 2 sia bloccato per l’istanza MSTI “B” mentre è libero per le istanze
IST e MSTI “A”
 il percorso tra lo Switch 1 e lo Switch 3 sia bloccato per l’istanza MSTI “A” mentre è libero per le istanze
IST e MSTI “B”
 il percorso tra lo Switch 2 e lo Switch 3 sia bloccato per l’istanza IST mentre è libero per le istanze MSTI
“A” e MSTI “B”

4) Routing
Informazioni generali
Occorre, per prima cosa, distinguere tra due concetti fondamentali:
 Routing inteso come funzione
 Router inteso come apparato hardware

Routing

Page 93 of 157
Giugno 2013

La funzione di “Routing” è implementata nel livello 3 del Modello di Riferimento OSI “Network” e nel
corrispondente livello 3 della pila TCP/IP ”Internet”.
Questa funzione ha il compito di stabilire i percorsi per il trasferimento dei dati attraverso la rete, ha la
responsabilità del controllo della sequenza dei pacchetti, evitare la congestione della rete e di gestire gli errori.
Tutto questo è svolto dai Protocolli di Routing che garantiscono la corretta ricezione dei pacchetti e si dividono in:

 Routing Statico
 Routing Dinamico

Router
Questa definizione viene applicata all’apparato Hardware che contiene e gestisce la funzione di Routing.
La caratteristica fondamentale dei router è che la funzione di instradamento è basata sugli indirizzi di livello 3
(rete) del modello OSI (corrispondente al livello IP dello stack TCP/IP), a differenza dello switch che instrada sulla
base degli indirizzi di livello 2 (collegamento) "MAC".
Gli elementi della tabella di instradamento (o Routing Table) non sono quindi singoli
calcolatori ma intere reti, ovvero sottoinsiemi anche molto ampi dello spazio di
indirizzamento.
Questo è fondamentale per la scalabilità delle reti, in quanto permette di gestire reti
anche molto grandi facendo crescere le tabelle di instradamento in modo meno che
lineare rispetto al numero di host.
In generale i router necessitano di essere configurati, e non sono quindi
dispositivi plug and play.
Per garantire la massima affidabilità e lo sfruttamento ottimale dei collegamenti in
caso di reti complesse costituite da molte sottoreti diverse e variamente interconnesse, i router possono
costruire le loro tabelle di instradamento in modo dinamico, scambiandosi periodicamente informazioni su come
raggiungere le varie reti che collegano l'un l'altro.
Per fare questo sono stati messi a punto dei protocolli di routing appositi, come OSPF, RIP e BGP, attraverso i
quali i router si scambiano informazioni sulle reti raggiungibili.
Un router può interconnettere reti di livello 2 eterogenee, come ad esempio una LAN ethernet con un
collegamento geografico in tecnologia Frame Relay o ATM.
Inoltre, rispetto ad un bridge, un router blocca le tempeste broadcast.
Molti router destinati al mercato domestico incorporano la funzionalità
di access point per reti wireless Wi-Fi.
Alcuni router possiedono anche un firewall incorporato, poiché il punto di
ingresso/uscita di una rete verso l'esterno è ovviamente il luogo migliore dove
effettuare controlli sui pacchetti in transito.
I router possono essere normali computer che fanno girare un software
apposito (gateway), o - sempre più spesso - apparati specializzati, dedicati a
questo solo scopo.
I router di fascia più alta sono basati su architetture hardware specializzate per
ottenere prestazioni wire-speed, letteralmente alla velocità della linea.
Un router wire speed può inoltrare pacchetti alla massima velocità delle linee cui è collegato.
I Router di fascia media ed alta hanno normalmente una costruzione modulare, che permette di aggiungere
interfacce verso reti di tipo diverso secondo la necessità.

Funzionamento degli Apparati di Livello 3


Vediamo il funzionamento di un router legandolo all’architettura TCP/IP.
Ipotizziamo di avere una rete come mostrato nella figura seguente.

Page 94 of 157
Giugno 2013

Di seguito è riportata la correlazione tra i livelli del Modello di Riferimento OSI e l’architettura TCP/IP.

OSI TCP/IP

APPLICATION

PRESENTATION <- APPLICATION

SESSION

TRANSPORT <- TRANSPORT

NETWORK <- INTERNET

DATA LINK
<- NETWORK INTERFACE
PHYSICAL

Ricordiamo che i livelli 1 e 2 del Modello OSI sono racchiusi, come due sottolivelli, in un solo livello
dell’architettura TCP/IP denominato Network Interface.

Logical Link Frame-Relay


HDLC
Control
NETWORK INTERFACE
Ethernet Reti Geografiche (WAN)

Page 95 of 157
Giugno 2013

Vediamo ora come si inserisce l’architettura TCP/IP nella rete riportata in precedenza.

Avendo chiaro il funzionamento degli apparati di livello 2 (Switch) possiamo vedere ora come lavorano, in
dettaglio, i Router.
Ipotizziamo una rete costituita da tre router (R1, R2 e R3), ciascun router ha una interfaccia Ethernet (e0) e due
interfacce Seriali (s0 e s1).

 L’indirizzo della rete locale accessibile tramite il router R1 è 10.


 L’indirizzo della rete locale accessibile tramite il router R2 è 20.
 L’indirizzo della rete locale accessibile tramite il router R3 è 30.

 Il router R1 collega, tramite l’interfaccia s1 il router R2 e tramite l’interfaccia s2 il router R3.


 Il router R2 collega, tramite l’interfaccia s2 il router R1 e tramite l’interfaccia s1 il router R3.
 Il router R3 collega, tramite l’interfaccia s1 il router R2 e tramite l’interfaccia s2 il router R1.

Page 96 of 157
Giugno 2013

Da quanto riportato risulta chiaro che il corretto funzionamento dei router è legato alla precisa definizione delle
informazioni presenti nelle tabelle di routing.

Il processo di routing
Il Routing, come detto in precedenza, è una funzione del livello network (livello di rete) del modello OSI.
Tale funzione viene svolta da un dispositivo chiamato Router, il quale per poter instradare il traffico, deve
conoscere le seguenti informazioni:
 Indirizzo di destinazione
 I router ad esso adiacenti, da cui ricavare informazioni per accedere alle reti remote
 Possibili percorsi verso tutte le reti remote
 Il percorso migliore per ciascuna rete remota
 Il modo di mantenere e di verificare le informazioni necessarie per il Routing.

Risulta quindi di notevole importanza che il router, nella propria memoria RAM, costruisca una tabella (Routing
Table) che gli permetta di memorizzare quelle informazioni indispensabili per individuare il percorso ottimale
verso le reti remote da raggiungere.

Page 97 of 157
Giugno 2013

La Routing Table è contiene la lista di tutte le reti che il router può raggiungere con le informazioni sulle modalità
di instradamento.
I suoi campi principali sono:

 Network Address: contenente l'indirizzo IP di ciascuna rete raggiungibile.


 Next Hop (salto successivo): rappresentato dal router successivo per giungere verso la rete di
destinazione.
 Interface: interfaccia a cui deve essere inoltrato il pacchetto per raggiungere il next hop.

A seconda del modo in cui tali informazioni vengono in essa raccolte si parla di:

 Routing Statico
 Routing Dinamico

Come descritto, la funzione del router diventa importante nel caso in cui si abbia necessità di collegare host
appartenenti a reti diverse, prima di parlare più nel dettaglio le tipologie di routing richiamiamo alcuni concetti.

Sorgente e destinazione su due reti diverse


Qui di seguito viene descritto cosa accade ad un datagram che deve essere spedito da un host ad un altro host
posto su una rete diversa.

 L'Host A controlla l'indirizzo IP di destinazione e rileva che esso non appartiene alla propria rete LAN
Locale, indirizza quindi il pacchetto ad un Gateway di default (che generalmente è un router, o un altro
dispositivo, al quale vengono spediti i pacchetti destinati verso host non appartenenti allo stesso
segmento di rete e di cui non si conoscono i percorsi per raggiungere le destinazioni desiderate), il cui
indirizzo IP è preconfigurato in ciascun host. Il computer, nella propria ARP-CACHE (memoria cache in cui
vengono conservati i MAC address), verifica di conseguenza la presenza dell'indirizzo fisico del suddetto
gateway. Nell'eventualità che ne venga rilevata l'assenza, l'host invia una richiesta di ARP per la
risoluzione dell'indirizzo.
 A questo punto l'host indirizza il datagram con IP address della destinazione finale e l'indirizzo fisico
(MAC address) del gateway di default (Router A).
 Il Router A riceve il pacchetto, controlla l'IP di destinazione e rileva che il datagram è diretto verso un
segmento esterno alla propria LAN. Inoltre analizzando la propria Routing Table, individua la entry (riga)
corrispondente come mostrato in nella parte in arancione della figura seguente.

Page 98 of 157
Giugno 2013

 Il Router estrae, dal Datagram ricevuto, il MAC address e riassembla il datagram con l'indirizzo fisico
corrispondente al Router del salto successivo (Router B).

 Il pacchetto giunge così al router che è direttamente connesso al segmento di destinazione: lo router
stesso controlla l'indirizzo IP e rileva che il datagram appartiene alla rete cui esso è connesso. Il Router
mediante la lettura della ARP-CACHE o mediante l'invio di una richiesta di ARP, ottiene il MAC address di
destinazione.

Page 99 of 157
Giugno 2013

 Al termine pertanto delle operazioni prima descritte, il pacchetto risulta indirizzato con l'indirizzo IP e
l'indirizzo fisico dell'host di destinazione.

E' importante notare che sia IP address di destinazione che quello di sorgente rimangono invariati per l'intero
processo mentre la parte MAC varia. Inoltre qualsiasi Router intermedio lungo il percorso, esamina solo la parte
network dell'indirizzo, non la parte host; infatti nelle routing table vi è traccia solo delle network remote.

Routing statico
Nel routing statico la tabella di routing (entry) viene configurate manualmente dall'amministratore.
Questo procedimento ha il vantaggio di non richiedere che i router si scambino informazioni per aggiornare i vari
percorsi o eventualmente di individuarne di nuovi, limitando così l'uso di banda. Inoltre essendo i percorsi già
determinati una volta configurata la tabella, non è richiesto altro sforzo da parte del router stesso per calcolare i
percorsi ottimali.
Da un punto di vista di sicurezza abbiamo un altro beneficio, poiché c'è solo un punto di ingresso e di uscita per
raggiungere la rete, dando la possibilità di isolare eventuali intrusioni.
Vediamo meglio in dettaglio.

Page 100 of 157


Giugno 2013

Cosa accade quando si verifica un guasto nella connessione fra Router R3 e Router R4 della figura sopra,
nell'ipotesi che la LAN 3 sia raggiungibile, al momento solo attraverso R4?

Nel momento in cui il R2 riceve un pacchetto destinato alla rete 193.45.31.0, controlla nella sua Routing table se
esiste una entry per tale rete, e avendo trovato la corrispondenza inoltra il pacchetto verso il R4.
Tuttavia essendo proprio il R4 irraggiungibile, il pacchetto viene perso. Per risolvere tale problema occorre
reimpostare manualmente la nuova rotta, in modo che sulla Routing table del R2 vi sia un percorso alternativo
attivo per raggiungere la rete 193.45.31.0.; nell'esempio in figura questo percorso è rappresentato da R3.
Tale soluzione ha l'inconveniente di richiedere sempre la riconfigurazione da parte dell'amministratore tutte le
volte che si devono modificare le entry sia in seguito a guasti, sia per inserire nuove rotte; inoltre tale metodo
comincia a divenire abbastanza oneroso quando l'internetwork contiene parecchi percorsi.
Per questi motivi il routing statico viene usato quando il numero dei segmenti di LAN non è elevato.

Riassumendo:

Vantaggi: Ridotto consumo di banda e maggiore sicurezza.


Svantaggi: Configurazione manuale delle tabelle di routing.

Come alternativa a tale processo di routing, fortunatamente vi è la possibilità di aggiungere automaticamente le


entry nelle tabelle: si parla in questo caso di Routing Dinamico.

Routing dinamico
Questo tipo di Routing permette ai vari router di scambiarsi le informazioni necessarie a determinare i possibili
percorsi per raggiungere destinazioni remote, mediante dei protocolli chiamati appunto Routing Protocol, che
usano appropriati algoritmi di routing.
Il vantaggio di tale metodo è che richiede un minor controllo da parte dell'amministratore, mentre di contro
richiede un maggior uso di banda rispetto al routing statico; questo perché, oltre al traffico relativo ai pacchetti,
c'è un traffico relativo allo scambio delle informazioni indispensabili ai routing protocol.
Inoltre un altro notevole beneficio è dato dalla capacità di adattarsi automaticamente ai cambiamenti della
topologia di rete, se si verifica un guasto lungo una connessione oppure ne viene attivata una nuova, gli
aggiornamenti dei vari percorsi vengono automaticamente propagati a tutti i Router.
Riassumendo, lo scopo di un protocollo di routing, è quello di mantenere dinamicamente le routing table.
Per fare ciò, i router devono quindi condividere le informazioni sui percorsi ( routes) che ciascuno conosce.
Questo scambio di dati è compiuto mediante pacchetti speciali chiamati routing updates. Questi ultimi variano
da protocollo a protocollo, come vedremo nel seguito.
Prima di entrare nel dettaglio vediamo quali sono gli scopi che un Routing Protocol si deve prefiggere:

Ottimità. Un protocollo di routing deve essere in grado di fornire il percorso migliore o più veloce lungo la rete.
Vengono quindi individuati percorsi alternativi, ciascuno con una velocità o livello di traffico diverso. Ad esempio,
un protocollo userà la banda e il conteggio dei salti (hop count), mentre un altro darà un peso maggiore alla
banda.

 Flessibilità. Ovvero la capacità di adattarsi ai cambiamenti della topologia di rete.

 Convergenza Veloce. Tutti i cambiamenti all'interno dell'internetwork si devono propagare verso tutti i
router nel minor tempo possibile.

 Robustezza. Un protocollo robusto deve essere in grado di funzionare anche nel caso di configurazioni
non corrette e guasti di componenti.

 Semplicità. Un protocollo deve essere semplice e efficiente.

Suddivisione in aree
Per realizzare una rete dobbiamo considerare la necessità di poter unire più LAN o segmenti insieme, ciascuno
dei quali è stato creato e gestito in modo indipendente rispetto agli altri.

Page 101 of 157


Giugno 2013

Questo ha portato alla suddivisione in aree diverse: ciascuna zona che appartiene allo stesso dominio
amministrativo prende il nome di Autonomous System (AS).

Volendo fare una considerazione di carattere diverso, possiamo mettere in risalto che all'aumentare del numero
dei Router, c'è di conseguenza l'incremento delle informazioni necessarie per gestire i protocolli di routing, che
vanno dal calcolo computazionale per calcolare i percorsi migliori, alla gestione delle tabelle di routing.
Quindi la scelta di poter suddividere l'insieme delle reti in AS, ha permesso di migliorare la situazione sotto il
punto di vista del processo di routing, infatti tutti i router che appartengono al medesimo AS condividono lo
stesso protocollo di routing; ad esempio un algoritmo Distance vector o Link state.
L'algoritmo di instradamento che opera all'interno di un AS, è definito protocollo di instradamento del sistema
intra-autonomo.
Si rende a questo punto importante collegare i vari autonomous system fra loro mediante l'uso di router in grado
di instradare pacchetti fra aree diverse.
In sintesi possiamo suddividere i router nelle 3 seguenti categorie:
Interior Router: responsabili della trasmissione informazioni all'interno di un AS, per cui non hanno una diretta
connessione con una qualsiasi rete esterna.

Border Router (Router di confine): realizza la connessione fra AS diversi. Può essere considerato quindi come il
punto di ingresso e di uscita verso altri AS.

Page 102 of 157


Giugno 2013

Exterior Router (Router esterno): appartengono a questa classe tutti i router che sono esterni rispetto al punto
di vista di un certo AS.

Interior gateway protocols (IGPs) e Exterior gateway protocols (EGPs)


Dopo aver esposto questa terminologia, relativa alla separazione delle aree, vediamo quali sono le informazioni
necessarie che devono essere immagazzinate nelle routing table, e i relativi protocolli di routing alla luce della
classificazione del router appena fatta.
Possiamo considerare due tipi distinti di processi di routing:

 Routing all'interno di un autonomous system (Intradomain routing)


 Routing fra autonomous system (Interdomain routing)

Page 103 of 157


Giugno 2013

Nel caso di Intradomain routing, i router interni devono conoscere solo i segmenti di rete appartenenti allo
stesso AS, non è quindi necessario che mantengano informazioni su reti esterne; essi si limitano a mandare ai
router di confine quei pacchetti destinati fuori.
Questa organizzazione ha dei notevoli vantaggi, poiché riduce notevolmente le dimensioni delle routing table in
quanto le network esterne non sono presenti direttamente in tale tabella se non attraverso il border router, il
quale penserà come raggiungere le destinazioni richieste. Inoltre un altro beneficio riguarda appunto il router
stesso, che dovrà sostenere un carico di lavoro inferiore, rendendo la rete più efficiente.
Nel caso di Interdomain routing, il border router dovrà necessariamente tenete traccia sia delle reti interne che
appartengono al proprio AS, sia degli altri border ruoter.
In aggiunta sono anche responsabili della" traduzione dei protocolli " nel caso in cui i vari AS usino protocolli
di routing diversi.
A causa delle diverse responsabilità che competono sia all'Intradomain routing, sia all'Interdomain routing,
possiamo classificare i protocolli di routing in:

Interior Gateway Protocol (IGP) usato per intradomain routing.


All'interno di questa categoria esiste un ulteriore suddivisione:

 Distance Vector : RIP , IGRP


 Link state : OSPF
 Hybrid : EIGRP

Exterior Gateway Protocol (EGP) usato per interdomain routing.


All'interno di questa categoria esiste un ulteriore suddivisione:

 BGP (Border Gateway Protocol)


 EGP (Exterior Gateway Protocol)

Come accennato in precedenza due tipi di algoritmi che vengono usati in IGP sono:

 Distance vector
 Link state

Ciascuno di essi utilizza un proprio metodo per calcolare le routes, e presenta delle problematiche diverse per
quello che concerne i cambiamenti della topologia della rete.

Distance vector routing protocols


Questo tipo di protocollo si basa sul fatto che ciascun router tiene traccia della distanza e della direzione (vector)
di tutte le possibili destinazioni nell'ambito dell'internetwork.
Soffermiamoci ora ad analizzare, rimanendo sempre nell'ambito di un protocollo distance vector, in quale
maniera possono essere calcolate le distanze presenti nelle tabelle di routing, ed attribuiamo al risultato di tale
calcolo, il nome di metrica.
Quest'ultima può essere valutata considerando una singola caratteristica del percorso o più caratteristiche
combinate insieme che sono:
Ritardo. Si riferisce al tempo che viene impiegato affinché un pacchetto sia inviato lungo una connessione.
Questo parametro può dipendere, sia dalla velocità trasmissiva del mezzo fisico utilizzato, sia dalla congestione
presente sul collegamento.
Banda. Maggiore è la banda assegnata ad un certo collegamento, minore sarà il valore attribuito alla distanza.
Hop Count. Questa variabile considera il numero di router (salti) che un pacchetto deve effettuare per arrivare
alla destinazione desiderata.
Carico. Si riferisce all'utilizzo delle risorse hardware di una rete, infatti se un router non è in grado di processare
in maniera corretta le informazioni a causa di sue limitate capacità di calcolo, verrà scelta una rotta alternativa.
Per comprendere come ciò si realizzi, procediamo per passi. In prima istanza, il router stesso, rileverà quali sono
le reti ad esso direttamente connesse, assegnandovi una distanza di zero nella propria routing table.
Successivamente passerà la sua tabella ai router vicini, cioè quelli ad esso connessi in maniera diretta in modo da
potersi scambiare le informazioni alle relative distanze.

Page 104 of 157


Giugno 2013

Consideriamo una rete generica come quella in figura:

Facciamo l'assunzione di considerare in questo esempio una metrica di tipo hop count e che tutti i router
vengano inizializzati allo stesso istante. In un primo momento ciascun router costruirà una routing table
contenente solo la rete locale di appartenenza, ovvero:

ROUTER A
HOP
NETWORK NEXT HOP
COUNT
200.100.8.0 0
200.100.6.0 0
200.100.1.0 0
Va osservato che, essendo le reti elencate in tabella direttamente connesse al Router A, l'hop count assegnato
sarà zero e il campo next hop vuoto, ad indicare che non sono necessari passaggi intermedi attraverso altri router
per raggiungerle.

ROUTER B Router C
HOP
NETWORK NEXT HOP
COUNT HOP
NETWORK NEXT HOP
200.100.1.0 0 COUNT
200.100.9.0 0 200.100.2.0 0
200.100.4.0 0 200.100.7.0 0
200.100.2.0 0 200.100.3.0 0
200.100.10.0 0
ROUTER D
Router E
NETWORK NEXT HOP HOP COUNT
NETWORK NEXT HOP HOP COUNT
200.100.4.0 0
200.100.11.0 0
200.100.7.0 0
200.100.6.0 0
200.100.5.0 0
200.100.5.0 0
200.100.30.0 0

Page 105 of 157


Giugno 2013

Ciascuna tabella verrà poi replicata a tutti i router adiacenti.


Prendendo in esame il ROUTER B, dopo aver ricevuto l'update da ROUTER A, aggiornerà la propria tabella
aggiungendovi due reti per il momento sconosciute come di seguito.

ROUTER B
NETWORK NEXT HOP HOP COUNT
200.100.1.0 0
200.100.9.0 0
200.100.4.0 0
200.100.2.0 0
200.100.6.0 Router A 1
200.100.8.0 Router A 1

Quindi per raggiungere la rete 200.100.8.0, i pacchetti dovranno essere inoltrati attraverso il ROUTER A e la
distanza ad essa associata è appunto 1, poiché c'è un solo router nel cammino che porta verso la destinazione.
Nello stesso momento anche il ROUTER D avrà ricevuto il messaggio da ROUTER A, per cui dopo l'update la
tabella sarà la seguente.

ROUTER D
NETWORK NEXT HOP HOP COUNT
200.100.11.0 0
200.100.6.0 0
200.100.5.0 0
200.100.3.0 0
200.100.1.0 Router A 1
200.100.8.0 Router A 1

Le informazioni mandate da ROUTER D saranno ricevute anche da ROUTER A, ROUTER E e ROUTER C, mentre
quelle da ROUTER B saranno ricevute da ROUTER A, ROUTER E e ROUTER C.
Facciamo l'ipotesi che i messaggi inviati da ROUTER B, siano ricevuti per primi, per cui il ROUTER A:

ROUTER A
NETWORK NEXT HOP HOP COUNT
200.100.8.0 0
200.100.6.0 0
200.100.1.0 0
200.100.11.0 Router D 1
200.100.5.0 Router D 1
200.100.4.0 Router B 1
200.100.2.0 Router B 1
200.100.3.0 Router D 1
200.100.9.0 Router B 1

In questa tabella in corrispondenza della network 200.100.8.0 abbiamo un hop count di 0, in quanto viene
preferito il percorso che ha un numero di salti minore, infatti dalla routing table, ricevuta dal Router D e con

Page 106 of 157


Giugno 2013

associato una metrica di 1, è stata opportunamente scartata. In maniera del tutto analoga, ROUTER C riceverà il
messaggio da ROUTER B:

ROUTER C
NETWORK NEXT HOP HOP COUNT
200.100.2.0 0
200.100.7.0 0
200.100.3.0 0
200.100.10.0 0
200.100.8.0 Router B 2
200.100.1.0 Router B 1
200.100.9.0 Router B 1
200.100.4.0 Router B 1
200.100.2.0 Router B 1

Questo procedimento, come precedentemente accennato, viene iterato fra tutti i Router adiacenti ad intervalli di
60 secondi. Da ciò consegue che tale protocollo non permette di avere una conoscenza della rete nella sua
globalità, ma soltanto dei salti successivi (next hop) che permetteranno di inoltrare i pacchetti verso la
destinazione finale.
Questa caratteristica lo contraddistingue da altri protocolli di tipo link state, i quali riescono a costruirsi delle
tabelle che tengono conto della topologia dell'intera rete.
Senza procedere oltre, con tutte le routing table relative agli altri Router, possiamo riassumere dicendo che in
ciascun aggiornamento vengono aggiunte le reti che non sono ancora presenti in tabella incrementando di 1
l'hop count, se invece risultano già presenti, vengono scelte quelle con valore di metrica minore.
I protocolli appartenenti a questa classe sono : RIP/RIP-V2 e IGRP.

Routing loops
Come accennato precedentemente, uno degli scopi del protocollo di routing è la convergenza, cioè tutte le volte
che si verificano dei cambiamenti nella topologia di rete, passerà un certo intervallo di tempo, prima che tutti i
router si aggiornino sui nuovi percorsi in maniera corretta.
Quello che si desidera è che tale convergenza sia la più rapida possibile.
Proprio perché non sempre ciò è possibile, si possono verificare una serie di problemi: uno di questi è il routing
loop, ossia quando un pacchetto rimane vincolato a muoversi fra 2 o più router senza trovare una via d'uscita.

Ammettiamo che la connessione fra Router C e Router D non sia più attiva, questo fa in modo che il Router C,
nella propria routing table, elimini questo percorso. Al successivo update, il Router C invia la sua tabella a Router
B, il quale rimuove la entry corrispondente alla RETE1. Il Router B però, osservando che Router A ha un percorso
verso la RETE1 (appreso da updates precedenti) con una Metrica di 2, modifica la route verso la RETE1 passando
attraverso il Router A ed incrementando la metrica a 3. A questo punto, Router A pensa che la RETE1 sia
raggiungibile attraverso Router B, il quale in maniera analoga pensa lo stesso del Router A. Come risultato i
pacchetti non raggiungeranno mai la destinazione, ma continueranno a rimbalzare fra nodo A e nodo B.

Page 107 of 157


Giugno 2013

 Una possibile soluzione è rappresentata dallo stabilire un numero massimo di Hop count (salti) che il
pacchetto può fare. Infatti tutte le volte che un pacchetto passa attraverso un router, viene
incrementato di 1 l'hop count e se siamo in presenza di un loop, questo numero si incrementerà sempre
più tendendo all'infinito. Fissare quindi a priori un soglia massima per l'hop count, significa che superato
tale valore il pacchetto verrà scartato. Tuttavia con questa soluzione non si riesce ad evitare del tutto il
problema del loop, poiché pacchetti rimangono nel loop fino a quando non vengono scartati. Come
conseguenza , si verifica uno spreco inutile di banda e di risorse.
 Un altra soluzione che cerca di limitare i loops prende il nome di algoritmo di Split Horizon, mediante il
quale un router che riceve certe informazioni pertinenti una certa destinazione da un router adiacente,
non può rispedire indietro altre informazioni sulla medesima destinazione.

Nell'esempio il Router A riceve delle informazioni dal Router B sul fatto che la Rete 1 non è più attiva, per cui il
Router A non può rimandare indietro al Router B un update che contiene informazioni su come arrivare alla Rete
1, ma si limiterà al più ad inviargli notifiche sulle altre routes apprese da altri router.

 Poison Reverse può essere interpretato come uno split horizon leggermente modificato, infatti talvolta è
chiamato split horizon con updates poison reverse. Con questa tecnica, invece di non spedire
informazioni su certe routes a chi li ha inviati, le invia ugualmente ma gli attribuisce una metrica infinita,
per cui la destinazione viene considerata come irraggiungibile. Il metodo di split horizon sia con poison
reverse che senza, elimina i loops solo fra router adiacenti. Vediamo un esempio in cui il fenomeno del
routing loop si verifica anche se viene utilizzato lo split horizon.

Page 108 of 157


Giugno 2013

In condizioni di corretto funzionamento i Router A, B e C hanno una rotta per la rete 1 attraverso router A.
Vediamo cosa accade se la Rete 1 diviene down (inattiva).
Supponiamo che il Router C sia il primo a ricevere l'update contenente informazioni sulla Rete 1 diventata down,
per cui rimuove dalla propria routing table la entry corrispondente. Tuttavia, nel caso in cui router B non ha
ancora ricevuto l'updates dal Router A, può inviare una notifica (Update) a Router C che la Rete 1 è raggiungibile
con una metrica di 1.
Di conseguenza Router C riaggiorna la entry relativa a Rete 1 raggiungibile attraverso Router B con una metrica di
2.
Router A può infine accettare un updates verso la route Rete 1 da Router C poiché ha ricevuto tale percorso da
Router B.
Supponendo che il collegamento fra Router A e Router B sia molto lento e che gli updates avvengano prima che
Router A possa comunicare a Router B che la Rete1 è down, anche in questo caso si è verificato un loop fra i tre
Router.
Per risolvere tale problema occorre utilizzare altri metodi diversi da quelli visti fino ad ora.
Si parla di Hold downs e Triggered updates.

Hold downs

Questa tecnica permette, tutte le volte che una route viene rimossa dalla routing table, di non accettare
alcun update sulla route stessa, se non prima che sia trascorso un certo periodo di tempo. Tale intervallo sarà
quello necessario affinché tutta la rete sia aggiornata del link down.
Nell'esempio precedente, quando Router A invia un update che la Rete 1 è down, dovrà trascorrere un intervallo
di tempo prima che Router C possa ricevere un update da Router B riguardante la Rete 1.

Triggered updates
Metodo che permette di rendere più veloce la convergenza.
Normalmente i protocolli di tipo Distance vector inviano gli updates ad intervalli regolari di tempo. La tecnica
Triggered updates permette di inviare tali messaggi nel momento in cui si verificano dei cambiamenti nella
topologia della rete, piuttosto che aspettare prefissati istanti di tempo.

Page 109 of 157


Giugno 2013

Routing Protocol di tipo Distant Vector


Protocollo RIP
Caratteristiche
Il protocollo RIP (Routing Information Protocol) è stato uno dei primi protocolli di instradamento operante
all'interno di un Autonomous system, fu inoltre introdotto nell'università di Berkeley insieme allo stack TCP/IP nel
1982. Successivamente è stata introdotta dall'Internet Engineering Task Force (IETF) la seconda versione RIP 2, la
quale presenta la possibilità di trasportare un numero maggiore di informazioni, senza rendere obsoleta la
versione precedente.
RIP è un protocollo appartenente alla classe IGPs, in particolare è di tipo distance vector. Sebbene sia abbastanza
diffuso in Internet, il suo utilizzo viene limitato a piccole internetworks.

Funzionamento
Il tipo di metrica usata è l'Hop count e gli Updates, che contengono l'intera copia delle routing table, vengono
scambiati ad intervalli regolari (ogni 30 secondi) e quando si verificano dei cambiamenti nella topologia.
Tutte le volte che un router riceve un update che contiene entry modificate, deve aggiornare la propria routing
table incrementando di 1 l'Hop count e indicare come next hop l'indirizzo IP del router da cui ha ricevuto il
messaggio.
La tabella di routing indicherà, per ciascuna entry della tabella, solo il percorso migliore per raggiungere la
destinazione desiderata.
Una volta che è stato aggiornata la routing table, il router trasmetterà immediatamente un update per informare
gli altri router adiacenti dei cambiamenti.
In questo particolare caso, gli updates vengono inviati senza attendere i 30 secondi di default.
Ciascun router, in una rete nella quale opera questo protocollo, viene considerato come 1 hop. Se un router
apprende un percorso verso una certa destinazione che richiede il passaggio di altri tre router, scriverà nella
propria routing table in corrispondenza della suddetta destinazione, un Hop count = 3.
Soluzioni al problema del routing loops
Per quanto riguarda la risoluzione del problema del routing loops, il RIP lo realizza con la tecnica di usare un hop
count massimo pari a 15; ciò significa che un pacchetto, non potrà passare attraverso un numero di router
maggiore di 15 per arrivare a destinazione, in quanto verrà scartato dal sedicesimo.
In conseguenza a questo, il RIP non può venire impiegato in un contesto in cui esistano segmenti separati da più
di 15 router, infatti proprio per questo motivo il RIP rimarrà limitato in ambito di LAN non troppo grandi.
Ulteriori tecniche che il RIP usa sono:

Contenuto delle routing table

Page 110 of 157


Giugno 2013

Vediamo adesso quali sono le informazioni contenute nelle routing table.

L'indirizzo IP di destinazione è forse il campo più importante contenuto nella routing table.
Infatti quando un router riceve un pacchetto dati attraverso la sua porta di IN, controlla nella propria tabella di
routing se esiste una entry per tale destinazione, ed in caso affermativo inoltra il flusso dati nella corrispondente
porta di OUT.
Il campo “next hop” contiene l'indirizzo del router successivo che permette il raggiungimento della rete di
destinazione.
Per quanto riguarda il “Timer”, il RIP deve scandire temporalmente ogni quanto inviare gli updates ad i router
vicini, inoltre considererà irraggiungibile un router vicino se da questo non riceve notizie almeno una volta ogni
180 secondi.
Una caratteristica da non trascurare è che il Protocollo RIP 1 non invia le subnet mask ma solo gli indirizzi IP, di
conseguenza possono verificarsi degli errori in quanto non vengono riconosciute eventuali sottoreti.
Questo problema viene risolto nella versione RIP 2, infatti in questa versione è presente nel pacchetto un campo
chiamato “subnet mask” che contiene appunto la subnet mask corrispondente alla entry considerata.
In aggiunta questa versione fornisce un semplice meccanismo di autenticazione per rendere più sicuri gli updates
delle routing table.
Un ulteriore differenza fra RIP 1 e RIP 2 riguarda i messaggi di updates; nel primo caso essendo tali messaggi di
tipo broadcast si può verificare un sovraccarico nella rete e un tempo di convergenza lento, mentre per quanto
riguarda il secondo i messaggi vengono inviati in multicast, interessando così solo certi router, alleggerendo così il
numero di informazioni da trasmettere.

Protocollo IGRP
Caratteristiche
Il protocollo IGRP (Interior Gateway Routing Protocol) è proprietario Cisco ed è stato sviluppato nel 1980,
appartiene alla classe IGPs ed è di tipo distance vector.
E' molto simile al protocollo RIP, tuttavia cerca di migliorare le limitazioni di quest'ultimo.
Le sue caratteristiche più importanti sono:

 Il protocollo IGRP ha una scalabilità maggiore del RIP in quanto permette di estendere il numero
massimo per l'Hop count da 15 a 255.

Page 111 of 157


Giugno 2013

 Per quanto riguarda la metrica IGRP essa è di tipo complesso in quando può essere composta da più
fattori, vedremo meglio in seguito.
 Un ulteriore vantaggio è la capacità di memorizzare nella routing table percorsi multipli (fino ad un
massimo di quattro) per una certa destinazione. Questo permette di realizzare una distribuzione del
traffico in modo da alleggerire il carico del flusso dei pacchetti.

A questo punto viene spontaneo chiedersi per quale motivo il RIP continui ad essere utilizzato, nonostante IGRP
mostri un numero maggiore di vantaggi.
Il nocciolo della questione risiede nel fatto che IGRP è proprietario Cisco, per cui solo i Router Cisco possono
supportare tale protocollo, mentre RIP è un Open Standard (standard pubblico).
Metriche

Banda
Valori possibili si trovano in un range compreso fra 1200 bps e 10Gbps; è un valore che viene imposto nella fase
di configurazione e non necessariamente corrisponde con la banda disponibile della connessione.
Tuttavia se non è stato esplicitamente definito un valore, verrà attribuito di default il valore di circa 1,5Mbps.
Carico
Questa variabile è strettamente correlata alla banda utilizzata su una particolare linea di connessione e al carico
di traffico sulla stessa.

Affidabilità
Misura il tasso di errore che si verifica quando vengono trasmessi pacchetti lungo un certa linea, in altre parole è
il rapporto fra i pacchetti che sono arrivati correttamente a destinazione su quelli che sono giunti con errori.
Il range di valori possibili varia da 1 a 255.

Ritardo
E' il tempo necessario (misurato in microsecondi) che i dati impiegano ad attraversare una linea di connessione
della rete.
IGRP calcola automaticamente quale è il valore di questo parametro a seconda dell'interfaccia a cui la linea di
trasmissione è connessa.
Se le variabili sopra descritte non sono impostate, IGRP associa a ciascuna di esse il loro valore di default.
Anche questo protocollo utilizzando l'hop count nelle proprie tabelle di routing, riesce a prevenire il fenomeno
del routing loops ed utilizzando più Timers (temporizzazioni), riesce a gestire le proprie tabelle.
Timers

Page 112 of 157


Giugno 2013

Updates funzionano allo stesso modo del RIP, cioè trascorso un certo tempo, ogni router invierà la propria
routing table ai propri vicini, con la differenza che il tempo fra un update e l'altro è di 90 secondi.
Route invalid è il tempo che un router deve aspettare prima di dichiarare invalido un percorso notificato come
tale, da un updates ricevuto. Generalmente questo tempo è di 270 secondi.
Hold down è quel tempo che deve trascorrere prima che un updates, riguardante una routes appena rimossa
dalla routing table, possa essere accettato nuovamente.

Routing Protocol di tipo Link State


Caratteristiche
I protocolli link state hanno un approccio diverso rispetto ai distance vector per raccogliere le informazioni
necessarie ad effettuare il routing e per calcolare le routes da aggiungere nelle routing table. Una caratteristica
importante di questi protocolli è quella di mantenere una visione completa della topologia di rete, cioè ciascun
router è a conoscenza dell'esistenza di qualsiasi altro router della rete e di come sono connessi fra loro, si
costruisce infatti una mappa della rete.
Il protocollo link state mantiene un database complesso per immagazzinare le informazioni sulla topologia, le
quali vengono usate per calcolare i percorsi verso le possibili destinazioni.
Funzionamento

Vediamo in dettaglio il processo attraverso il quale opera questo protocollo.

 Nella fase di startup (inizializzazione), il router rileva i segmenti che sono ad essi connessi direttamente
 Ciascun router invia delle informazioni (LSAs) per far conoscere agli altri router quali sono le proprie
connessioni.

Page 113 of 157


Giugno 2013

 Questi LSA vengono scambiati fra tutti i router dell'internetwork.


 Ciascun router elabora l'LSA proveniente dagli altri e si costruisce un database.

A questo punto, conosciute le informazioni su tutti i link e segmenti dell'internetwork, il router è in grado di
analizzare tutti i possibili percorsi e di scegliere quelli ottimali, da inserire poi nelle routing table.
Per effettuare ciò ciascun router utilizza un algoritmo del tipo “SPF” (shortest path first); viene scelto cioè il
percorso più breve fra tutti i possibili per una determinata destinazione.
Tale algoritmo è conosciuto anche come algoritmo di “Dijkstra”.
Questo permette a ciascun router di individuare le routes mediante la creazione di una struttura ad albero
rappresentante la rete ed avente come radice il router stesso.

Soluzione al problema della convergenza


Vediamo come viene affrontato in questo caso il problema della convergenza.
Nel momento in cui si verificano dei cambiamenti nella topologia, dovuti ad esempio a collegamenti non più attivi
(down), i router o il router che registra questi cambiamenti invia un LSA a tutti gli altri router dell'internetwork
che possono essere raggiunti, mettendoli a conoscenza della nuova situazione.
Quando questi updates vengono ricevuti dagli altri router, questi devono aggiornare i loro database, applicare
nuovamente l'algoritmo SPF ed infine individuare le rotte più brevi per poi eventualmente modificare le routing
table.
Una eventuale opzione che tale protocollo fornisce è la possibilità di designare un router per tenere traccia dei
mutamenti della topologia, il quale avrà la premura di informare quei router che sono coinvolti in tali
cambiamenti.
Punti critici
Facendo un confronto fra un protocollo link state e un distance vector possiamo mettere in risalto che il primo
risulta essere più complesso e sofisticato e generalmente è quello che si addice meglio nell'ambito di reti
complesse.
I punti critici da considerare quando si utilizza un protocollo link state sono: l'uso efficiente di banda, memoria e
capacità di elaborazione.

Page 114 of 157


Giugno 2013

Banda
Nella fase iniziale in cui ciascun router invia i messaggi LSA, contenenti informazioni sulle proprie connessioni
(una di queste è il costo, o metrica, assegnata), può verificarsi un aumento eccessivo del traffico riducendo la
banda disponibile per la trasmissione dei dati veri e propri fra end system.
Dopo questa prima fase, il protocollo link state occupa meno banda del rispettivo distance vector, in quanto gli
updates sono meno frequenti.
Memoria
Il protocollo link state riesce ad avere una visione completa della topologia della rete grazie al procedimento
esaminato in precedenza.
Tutte le informazioni che sono necessarie al raggiungimento di tale scopo devono essere memorizzate nella
memoria del router, il quale deve avere una RAM abbastanza grande altrimenti si possono verificare problemi.
Capacità di calcolo
Nella fase di costruzione del database e nel calcolo delle possibili routes, il router impiega tutte le sue capacità di
calcolo riservando meno risorse per il suo compito in condizioni normali, cioè quello di instradatore.

Confronto fra link state e distance vector


Link state Distance vector
Ottiene il percorso migliore incrementando
Calcola il percorso più breve verso le altre rotte
il valore della metrica che ottiene dai router
costruendosi una struttura ad albero
vicini
Ottiene una visione completa della topologia di Ha una visione della topologia di rete dalle
rete informazioni dei router vicini
Gli Updates si verificano in corrispondenza dei Gli updates sono frequenti e ad intervalli
cambiamenti di topologia e la convergenza è regolari di tempo e la convergenza è più
veloce lenta
Invia routing table ai router vicini Invia messaggi LSA agli altri router

Un protocollo abbastanza noto di tipo link state e divenuto uno standard nel 1990, è chiamato OSPF (Open
Shortest Path First).
Questo protocollo appartiene alla classe IGP e pertanto opera internamente a ciascun Autonomous System (AS).

Protocollo OSPF
Caratteristiche
Questo protocollo di tipo Link state appartiene alla classe IGP e pertanto opera internamente a ciascun
Autonomous System (AS).
Inoltre essendo Internet costituita da molti AS, talvolta abbastanza grandi e non facilmente gestibili, OSPF offre la
possibilità di suddividere gli AS in Aree numerate, ciascuna delle quali è formata da una o più reti. Ciò comporta
che la topologia ed i dettagli interni ad una certa area, non siano visibili all'esterno di essa.

Page 115 of 157


Giugno 2013

Cerchiamo di capire la figura sopra.


Ciascun AS ha un area backbone (spina dorsale) chiamata Area 0, la quale ha lo scopo di far comunicare le diverse
aree appartenenti al medesimo AS. All'interno di ogni area, ciascun router mantiene lo stesso database realizzato
mediante lo scambio di messaggi LSA e calcola il cammino minimo da sé,verso ogni altro router appartenete alla
medesima area, incluso il router che è connesso alla backbone.
Possiamo suddividere i percorsi in tre tipologie:
 Intra-area : in questo caso il router sorgente conosce il percorso minimo verso il router di destinazione,
grazie al database che si è costruito.
 Inter-Area : il percorso totale può essere suddiviso in tre stadi, il primo verte alla ricerca di
una route dalla sorgente verso la backbone, il secondo dalla backbone verso l'area di destinazione, e il
terzo verso il router di destinazione all'interno dell'area precedentemente individuata.
 Inter-Autonomous system : in questo caso saranno designati dei router di confine Border router, i quali
permettono di realizzare connessioni fra AS diversi, usando un protocollo di tipo EGPs.

Detto questo, OSPF scambia i messaggi LSA con tutti quei router che appartengono al medesimo AS, ed essendo
di tipo link state, utilizza l'algoritmo SPF per calcolare il percorso più breve verso ciascuna route.

Protocollo EIGRP
Caratteristiche
EIGRP (Enhanced Interior Gateway Protocol), è stato introdotto da Cisco nel 1990. Come suggerisce il nome
stesso è il successore di IGRP, infatti è stato creato per migliorarne l'efficienza e per la necessità di operare su
internetwork più vaste.
E' compatibile con IGRP e può interoperare con esso, in quanto entrambi sono in grado di interpretare le routes
dell'altro.

Page 116 of 157


Giugno 2013

EIGRP è considerato un protocollo ibrido, poiché combina caratteristiche dei protocolli link state e distance
vector, in particolare fra le sue capacità si evidenziano:

A differenza del RIP e IGRP, il protocollo EIGRP


 non effettua updates periodici, ma invia le routing table solo quando vi sono dei cambiamenti,
 costruisce una tabella dei vicini (neighbor table) dove in ciascuna entry memorizza l'indirizzo e
l'interfaccia de router adiacenti.
 costruisce una tabella della topologia (topology table) contenente tutte le destinazioni ottenute grazie
alle informazioni fornite dai router adiacenti. Ciascuna entry include l'indirizzo di destinazione e la lista
dei router adiacenti che hanno inviato tali informazioni.
 trasmette non tutta la tabella ma solamente quelle entry necessarie.
 gli updates non vengono trasmessi a tutti i router dell'intera internetwork, ma solo a quelli interessati.
 nella routing table sono contenute informazioni sulla subnet mask
 supporta più protocolli routed (ovverosia quelli che si preoccupano di muovere i pacchetti fra end
system nell'internetwork)che si trovano in corrispondenza del livello network della pila ISO/OSI, ad
esempio EIGRP può inviare informazioni riguardanti TCP/IP, AppleTalk, Novel NetWare

Tutto questo ha come conseguenza una convergenza più veloce ed un'occupazione minore di banda.

Router
Caratteristiche
Il Router è un dispositivo che si colloca al livello tre (network) della pila ISO/OSI e può essere considerato sotto
certi aspetti simile ad un personal computer. Una sua architettura generica può essere così schematizzata:
 Porte di Ingresso / Uscita (interfacce: 10 BaseT, seriale, AUI, ecc..)
 Blocco che opera la commutazione: permette di collegare le porte di ingresso al router, con quelle di
uscita
 Processore di instradamento: esegue il protocollo di routing, mantiene le tabelle di routing
 Memoria : (ROM, RAM, Flash, NVRAM)
 Sistema Operativo necessario per gestire il sistema
A differenza di un PC non ha la tastiera, il mouse e il monitor, viene quindi configurato attraverso un terminale,
mentre in maniera analoga al pc, un router viene inizializzato caricando il suo sistema operativo in memoria RAM
e leggendo poi i file di configurazione.

Funzionamento
Le sue funzioni principali sono:
 Selezione del percorso: il router deve contenere certe informazioni nelle proprie tabelle di routing per
poter instradare i pacchetti verso le destinazioni desiderate.
 Funzione di switching: consiste nel trasferire i dati provenienti da un interfaccia di ingresso verso
l'appropriata interfaccia di uscita.

Page 117 of 157


Giugno 2013

Page 118 of 157


Giugno 2013

5) FIREWALL
Che cos’è un firewall e come funziona
I firewall sono dispositivi software od hardware posti a protezione dei punti di interconnessione, eventualmente
esistenti, tra una rete privata interna (ad es. una Intranet) ed una rete pubblica esterna (ad. es. Internet) oppure
tra due reti differenti.
Usando una metafora è come se questi dispositivi rappresentassero i punti di una dogana: la loro funzione
principale è quella di agire come dei filtri controllando tutto il traffico di rete che proviene dall’esterno, nonché
quello che viene generato dall’interno, e permettendo soltanto quel traffico che risulta effettivamente
autorizzato.
Prima di addentrarci nel discorso è opportuno fare una breve premessa per ricordare i principi di funzionamento
sui quali si basa il TCP/IP (Transport Control Protocol/Internet Protocol) poiché questa diffusissima suite di
protocolli garantisce ormai la stragrande maggioranza dei servizi all’interno sia delle reti private che di quelle
pubbliche.
In un network basato sul TCP/IP ciascun sistema è identificato in modo univoco da un indirizzo IP, costituito da
quattro ottetti del tipo aaa.bbb.ccc.ddd, e comunica con altri sistemi scambiando messaggi sotto forma di
pacchetti, detti anche datagrammi, tramite un determinato protocollo.
In sostanza ogni forma di comunicazione tra i sistemi di un network di questo tipo presuppone l’esistenza di due
punti distinti ciascuno dei quali è rappresentato da un coppia univoca di elementi costituiti oltre che da un
indirizzo IP anche da una porta di comunicazione: l’indirizzo IP, analogamente ad un numero di telefono,
garantisce la possibilità di instaurare una comunicazione con un determinato sistema mentre la porta non è altro
che un numero che serve a differenziare il servizio di rete, cioè l’applicazione usata per la comunicazione stessa
(ad es. il servizio http ha tipicamente un numero di porta uguale ad 80, quello ftp la 21, ecc…).
Il meccanismo che sta alla base dell’intero scambio informativo è quello che permette l’instaurazione di una
connessione ed è chiamato three-way handshake termine che, tradotto letteralmente, significa “stretta di mano
a tre vie”: senza di esso nessun successivo flusso comunicativo potrebbe esistere tra due sistemi differenti.
Volendo ricorrere ad una metafora possiamo dire che la logica sulla quale si fonda questo meccanismo è molto
simile a quella delle raccomandate con ricevuta di ritorno (Figura seguente):
 il client che intende connettersi ad un server invia a quest’ultimo un messaggio di sincronizzazione
attivo ed uno di conferma non attivo;
 sull’altro capo della connessione il server risponde con un messaggio di conferma attivo ed uno di
sincronizzazione attivo;
 infine il client risponde con un messaggio di conferma attivo ed uno di sincronizzazione non attivo;
Terminata l’ultima fase la connessione può dirsi instaurata mentre nel caso in cui il messaggio di conferma non
arriva entro un tempo stabilito si procede alla ritrasmissione.

Per poter agire come un filtro il firewall ha la necessità di analizzare tutti i pacchetti che lo attraversano in modo
da prendere una decisione conforme ad un set di regole definito dall’utente.

Page 119 of 157


Giugno 2013

In linea generale queste regole sono specificate in modo da comportare l’accettazione od il blocco dei pacchetti
in transito sulla base di quelli che sono i loro elementi distintivi, vale a dire indirizzo IP e porta della sorgente
nonché indirizzo IP e porta della destinazione.
Tuttavia dal punto di vista del funzionamento interno i firewall possono essere ulteriormente distinti in due
gruppi separati:
 firewall a filtraggio di pacchetti;
 firewall a livello di circuito (proxy);
I primi sono i più comuni ed anche i meno costosi: essi esaminano le informazioni contenute nella intestazione
del pacchetto relativa al protocollo IP e le confrontano con il loro set di regole interno permettendone o
bloccandone il transito.
Il vantaggio di questi dispositivi, oltre al costo contenuto, è rappresentato dalla velocità mentre per converso i
punti deboli sono costituiti da una certa sensibilità verso determinati tipi di attacco come quelli basati sull’IP
spoofing.
Inoltre un altra vulnerabilità è data dal fatto che in questo caso sussiste una connessione diretta tra sorgente e
destinazione per cui, una volta che il firewall lascia transitare il pacchetto, esso non garantisce più alcuna
ulteriore difesa contro ogni successivo attacco portato in essere.
Al contrario i firewall a livello di circuito, molto più costosi, forniscono un livello di protezione più elevato poiché
esaminano non soltanto l’intestazione ma anche il contenuto dei pacchetti in transito.
Questo meccanismo di funzionamento viene anche detto “stateful packet inspection” proprio perché l’esame del
contenuto del datagramma è diretto a verificare lo stato della comunicazione in corso e, quindi, ad assicurare che
il sistema di destinazione abbia effettivamente richiesto la comunicazione stessa.
In questo modo c’è la garanzia che tutte le comunicazioni si svolgano soltanto con indirizzi sorgente
effettivamente conosciuti per effetto di precedenti interazioni.
Quando un PC accede ad Internet esso diventa, a tutti gli effetti e per tutta la durata del collegamento, un nodo
della rete.
Il sistema connesso, come del resto qualsiasi altro nodo, può esporre dei servizi di rete cioè delle applicazioni che
hanno delle funzionalità specifiche e che rimangono in ascolto su una porta determinata (ad es. un server ftp o
telnet od anche il classico servizio di condivisione dei file e delle stampanti di Windows).
In alcuni casi può capitare che questi servizi nascondano al loro interno delle vulnerabilità o, comunque, rendano
manifesti dei difetti di configurazione tali da poter essere sfruttati per guadagnare l’accesso non autorizzato ad
un sistema.
In genere prima di tentare una qualsiasi forma di intrusione un aggressore fa uso di un software specifico per
effettuare la scansione del target alla ricerca di eventuali porte in ascolto.
Una volta individuate queste porte è molto facile risalire al tipo di applicazione in esecuzione e, da qui, al genere
di problemi di sicurezza che affliggono l’applicazione stessa e, di conseguenza, diventa possibile sfruttare un
exploit (una tecnica di attacco particolare che si basa sulla presenza di vulnerabilità note) in modo da ottenere
l’accesso al sistema.
Naturalmente, nella realtà dei fatti, quasi mai le cose sono così semplici ma l’esempio è diretto a sottolineare un
dato di fatto di fondamentale importanza: l’uso di un firewall, in combinazione con altri strumenti, può
effettivamente garantire un livello di protezione discreto non soltanto contro i tentativi di sfruttare vulnerabilità
più o meno note di un servizio ma anche e soprattutto contro l’attività di scansione delle porte che normalmente
costituisce sempre il preludio di un attacco.
I firewall, come già accennato, non sono dispositivi “autonomi” nel senso che devono essere istruiti nel prendere
decisioni in merito alla ammissibilità del traffico in transito attraverso delle regole ben precise definite
dall’utente.
La predisposizione di questo set di regole può richiedere una fase di studio ed implementazione più o meno
lunga e laboriosa a seconda di quali siano effettivamente le esigenze di difesa che si pongono nel caso specifico
ma, in ogni caso, il fulcro dell’intero funzionamento di questi dispositivi sta proprio nella loro corretta
configurazione.
Essere in possesso del prodotto software più evoluto sul mercato non è di alcuna utilità se lo stesso prodotto non
può essere utilizzato nella pienezza delle sue funzionalità proprio a causa di una cattiva configurazione.
In questi casi anzi è molto meglio rinunciare all’utilizzo di un firewall perché lo stesso può ingenerare un falso
senso di sicurezza in chi lo utilizza.
I firewall che non hanno natura di dispositivi hardware sono delle vere e proprie applicazioni ed, in quanto tali,
possono essere affetti da imperfezioni così come qualsiasi altro prodotto di questo genere.

Page 120 of 157


Giugno 2013

L’unica differenza con le applicazioni tradizionali è che in questi casi il firewall rappresenta l’ultimo baluardo di
difesa per cui se un aggressore riesce a superare questa barriera sfruttando una vulnerabilità specifica del
prodotto egli può avere pieno accesso al sistema protetto e compiere di conseguenza ogni tipo di attività.
Per evitare che ciò accada è assolutamente necessario applicare sempre tutte le patch rilasciate dal produttore
del software, anche quelle che non sono dirette a risolvere uno specifico problema di sicurezza, dal momento che
questa abitudine è in grado di migliorare non soltanto la longevità del prodotto ma anche la sua resistenza
intrinseca a forme di attacco più o meno note.
Un altra tipologia di prodotti è quella dei firewall a livello di applicazione: si tratta di dispositivi che “vedono” il
traffico passante non come una sequenza di pacchetti ma come un flusso di dati e verificano la legittimità delle
connessioni permettendo soltanto il tipo di traffico che risponde a delle funzionalità specifiche (ad es. l’accesso
alla rete Internet oppure lo scambio dei messaggi di posta elettronica).
In linea generale questa classe di prodotti è spesso rappresentata da sistemi con servizi di proxy che funzionano
agendo da tramite tra un client ed un qualsiasi server esterno.
In pratica il client invia la sua richiesta di connessione ad una rete esterna al server proxy il quale, dopo aver
verificato l’ammissibilità del traffico in base alle regole definite, la inoltra al sistema di destinazione.
Una volta ricevuta la risposta da parte del target essa viene reinoltrata al client che di conseguenza è sempre
nascosto e non instaura mai una connessione diretta con il sistema esterno.
I vantaggi derivanti da questo differente meccanismo di funzionamento sono principalmente costituiti da un
migliore controllo sui protocolli applicativi (vedi http, ftp, smtp, ecc..) dal momento che il software, se
opportunamente configurato, è in grado anche di riconoscere la presenza di vulnerabilità specifiche ed evitare di
conseguenza lo sfruttamento di exploit noti da parte di un aggressore.
Altri benefici sono inoltre costituiti dalla minore suscettibilità agli attacchi basati sulle tecniche di occultamento
dei dati all’interno del traffico legittimo (cd. tunneling), dalla possibilità di produrre log dettagliati ed, in alcuni
casi, dalla capacità di interfacciamento con altri sistemi (ad esempio gli IDS o sistemi di scoperta delle intrusioni)
con un conseguente miglioramento dei livelli di sicurezza complessivi.
Purtroppo invece, a causa della differente filosofia di progetto che sta alla base di questi prodotti, il rovescio
della medaglia consiste nella introduzione di una inevitabile lentezza nello smistamento del traffico di rete il che,
peraltro, rende questi dispositivi anche più esposti ad una certa tipologia di attacchi (vedi D.o.S o Denial of
Service).

Page 121 of 157


Giugno 2013

La base di funzionamento di un Firewall


Network Address Translation
Il NAT, definito dalla RFC 1631, è il processo che cambia un indirizzo IP con un altro indirizzo IP nell’header del
pacchetto IP. In pratica, il NAT è usato per permettere a degli host che hanno un indirizzo IP privato di accedere a
una rete con diverso indirizzamento, spessissimo usato per accedere a reti con indirizzamento pubblico come
internet.
Un elaboratore abilitato a NATtare, ovvero a tradurre un indirizzo con un altro, può essere un computer Unix o
un router che opera al confine di un dominio STUB (una internetwork che ha un solo collegamento verso il
mondo esterno). Quando un host nel dominio STUB vuole colloquiare con un host che si trova fuori da questo
dominio, spedisce un pacchetto di dati con l’indirizzo IP di origine (Source Address) all'elaboratore abilitato a
NATtare. Questo elaboratore NAT, ricevuto il pacchetto, lo processa ispezionando l’header IP e, se l’indirizzo IP
sorgente corrisponde ad un indirizzo IP della sua NAT Table, sostituisce l’indirizzo IP sorgente (Inside Local IP
Address) con un altro indirizzo IP globalmente unico (Inside Global IP Address). Questo nuovo indirizzo è l’ IP con
il quale l’host viene mappato all’esterno. Tipicamente su internet, ma non solo.

In origine il NAT é nato per affrontare il problema dell’esaurimento degli indirizzi IP della rete pubblica,
massimizzando quindi l'uso degli indirizzi IP pubblici assegnati. La traduzione di un indirizzo IP, è una soluzione
che permette di utilizzare lo stesso indirizzo IP per l’accesso ad Internet di piú sottoreti interne all’organizzazione,
riducendo di conseguenza la necessitá di utilizzare degli indirizzi IP registrati. In sintesi il NAT compie la
traduzione degli Indirizzi IP Locali interni in Indirizzi IP Globali esterni e viceversa.

Indirizzi IP interni ed esterni


L’IETF ha definito, all’interno dello spazio di indirizzamento IP, alcuni range di indirizzi che sono riservati all’uso
privato, da utilizzare cioè solamente in ambito privato (RFC 1918). Gli indirizzi privati sono indirizzi che non sono
instradabili sulla rete pubblica ovvero, se un router pubblico riceve un pacchetto destinato ad un indirizzo IP
privato, il pacchetto viene scartato.

Indirizzi IP per uso privato


(Classe A) da 10.0.0.0 a 10.255.255.255

Page 122 of 157


Giugno 2013

(Classe B) da 172.16.0.0 a 172.31.255.255


(Classe C) da 192.168.0.0 a 192.168.255.255

Inoltre la rete 127.0.0.0 (di classe A) è normalmente usata dai sistemi operativi Unix come rete di “loopback”, per
esempio il comando << ping 127.0.0.1 >> effettua un test sul funzionamento della rete ( e dei dispositivi di rete
locali all’host come la NIC card) senza utilizzare realmente la rete.

Tipi di traduzioni NAT


La traduzione effettuata utilizzando il NAT può essere di due tipi: statica o dinamica.

Traduzione statica
La Traduzione Statica avviene quando il gestore della rete configura manualmente sulla macchina abilitata ad
effettuare il NAT gli indirizzi in una tabella di NAT (NAT Table). Uno specifico indirizzo interno viene mappato uno
specifico indirizzo esterno e viceversa in modalitá uno-a-uno. Gli indirizzi interni ed esterni sono configurati
staticamente uno per uno.

Traduzione dinamica
La Traduzione Dinamica prevede che i router di confine NAT siano configurati con un elenco di indirizzi interni che
devono essere tradotti, e con un elenco di indirizzi pubblici detto “pool” che può essere utilizzato per assegnare
gli indirizzi esterni. Ci possono essere piú pool di indirizzi esterni. Quando un host interno accede alla rete
pubblica, viene allocato per la traduzione del suo indirizzo privato uno degli indirizzi del pool. Questi indirizzi poi
vengono disallocati (diciamo rilasciati) con un meccanismo di timeout. In questo modo piú host interni possono
condividere un singolo indirizzo IP esterno in momenti diversi. Questa procedura permette di sfruttare al
massimo lo spazio di indirizzamento pubblico.

I componenti del NAT


Il NAT viene effettuato dal router di confine (attenzione che il confine è un termine usato per la segmentazione
“border”. Spesso si segmentano reti locali in diverse dmz o altri meccanismi e quindi il nat serve a far colloquiare
host diversi ma appartenenti a una stessa struttura amministrativa come la LAN) . A questo router si assegna un
indirizzo IP Globale pubblico sulla interfaccia verso la rete esterna, e un indirizzo IP privato sulla interfaccia verso
la rete interna.
La funzionalità di NAT era disponibile inizialmente solo utilizzando dei firewall. Dalla versione di Cisco IOS 11.2 in
poi questa funzionalitá è disponibile su tutti i router Cisco dotati di IOS di tipo IP-Plus. Dalla versione IOS 12.0 in
poi questa funzionalitá è disponibile nella versione base IP-Only di tutti i modelli di router.

Terminologia usata
Vediamo nel seguito la terminologia utilizzata nell’ambito del NAT:
Inside Local IP address – Si tratta degli indirizzi assegnati agli host della rete interna privata (STUB
network). Questi indirizzi sono di norma inseriti in una parte della tabella NAT e precisamente nella parte
riguardante la rete privata interna. Questi indirizzi sono unici all’interno della rete interna.
Inside Global IP address – Si tratta di un indirizzo IP che rappresenta in un certo momento uno o piú
indirizzi locali interni sulla rete pubblica. Questi indirizzi fanno parte della tabella NAT del router e piú
precisamente della colonna corrispondente agli indirizzi IP pubblici. Si tratta di un indirizzo pubblico assegnato da
uno spazio di indirizzi globalmente unico dal provider di servizi Internet (ISP).
Outside global IP address – Si tratta di un indirizzo IP che è stato assegnato ad un host sulla rete
Internet. É un indirizzo pubblico instradabile su Internet.
Simple translation – Traduzione semplice di un indirizzo IP verso un altro indirizzo IP (uno-a-uno).
Extended translation – Traduzione di tipo esteso. Ad una coppia composta da un indirizzo IP (inside
local) e da un numero di porta viene associato un altro indirizzo IP (inside global) e un altro numero di porta.
Questa modalitá serve come vedremo nel seguito ad effettuare il cosiddetto “overload”.

Page 123 of 157


Giugno 2013

Quando si deve utilizzare il NAT?


Si utilizza il NAT se:
 Si ha la necessità di connettersi ad Internet ed i propri host non hanno indirizzi IP globalmente unici
(pubblici).
 Si cambia il proprio ISP con uno nuovo che costringe a rinumerare di nuovo la propria rete.
 Bisogna fondere due intranet che hanno gli stessi indirizzi IP.
 Si vuole nascondere all’esterno la numerazione interna della rete.

Il NAT risolve i problemi di indirizzamento


La tecnologia NAT permette ad una internetwork privata che usa indirizzi IP privati a connettersi ad una rete
pubblica come Internet. Un router NAT è posizionato sul confine tra un dominio STUB (rete interna) ed una rete
pubblica (rete esterna), e traduce gli indirizzi locali interni in indirizzi IP globalmente unici prima di spedire
pacchetti alla rete esterna.
Il NAT approfitta del fatto che relativamente pochi host, in un dominio STUB, comunicano fuori del dominio in un
determinato periodo di tempo. Perciò, solamente un sottoinsieme degli indirizzi IP in un dominio STUB deve
essere tradotto in un indirizzo IP globalmente unico per comunicare con l’esterno in un dato momento.

Esempi di utilizzo del NAT


Il NAT puó essere impiegato anche quando due società che hanno identici schemi di indirizzamento interno si
fondono, oppure quando una società cambia il suo Internet Service Provider (ISP) ma non vuole cambiare il suo
schema di indirizzamento interno.

Vantaggi del NAT


Prima di implementare il NAT, bisogna valutare le seguenti considerazioni.
I vantaggi del NAT sono:
 Il NAT permette di sfruttare in modo piú efficiente gli indirizzi pubblici assegnati e permette di
assegnare agli indirizzi della intranet degli indirizzi privati.
 Il NAT aumenta la flessibilità del collegamento verso la rete pubblica Internet. Si possono definire
piú pool di indirizzi ufficiali come riserva, e si possono implementare politiche di bilanciamento del
carico per assicurare collegamenti alla rete pubblica affidabili. La progettazione della rete è
semplificata e anche i progettisti di rete hanno più flessibilità quando creano un piano di
indirizzamento, dato che possono allocare gli indirizzi dai range privati che praticamente non
hanno limite.
 La deprivatizzazione di una rete richiede una rinumerazione della rete esistente. I costi di questa
operazione possono essere associati al numero di host che richiedono la conversione al nuovo
schema di indirizzamento. Il NAT permette allo schema esistente di rimanere, implementando i
nuovi schemi di indirizzamento assegnati al di fuori della rete privata.

Svantaggi del NAT


Seguono i tipici svantaggi del NAT:
 Il NAT aumenta la latenza. La commutazione dei pacchetti è piú lenta utilizzando il meccanismo del
NAT, questo a causa dell’operazione di traduzione che viene effettuata su ogni pacchetto. L’aspetto
performance va considerato in quanto l’operazione di NAT viene di solito effettuata in modalitá
process switching, quindi è il processore del router che si occupa di effettuare la traduzione
pacchetto per pacchetto.
 Uno svantaggio significativo quando si implementa il NAT è la perdita della possibilitá di tracciare il
percorso del pacchetto IP end-to-end. Diviene molto più arduo tracciare il percorso dei pacchetti di
dati che subiscono modifiche all’header IP. In ogni caso, questo scenario aumenta la sicurezza dei
collegamenti perché i pirati informatici che vogliono determinare la sorgente di un pacchetto
troveranno difficile, se non impossibile tracciare ed ottenere l’indirizzo sorgente o l’indirizzo di
destinazione.
 Il NAT impedisce ad alcune applicazioni di funzionare correttamente, perché maschera end-to-end
gli indirizzi IP. In particolare le applicazioni che utilizzano un indirizzo IP invece di un nome di
dominio non potranno funzionare correttamente dato che gli indirizzi sono modificati dalla
procedura di NAT. A volte questo problema può essere evitato implementando un NAT di tipo
statico, ma non sempre.

Page 124 of 157


Giugno 2013

 Il NAT basato unicamente sull’indirizzo IP non permette a differenti host privati di connettersi
contemporaneamente allo stesso host pubblico e viceversa.

Le operazioni del NAT


1. Tradurre gli indirizzi interni locali
2. Effettuare un “overloading” degli indirizzi interni globali

1. Tradurre gli indirizzi interni locali


Stabilire una associazione fra indirizzi interni locali e indirizzi interni globali.

2. “L’Overloading” degli indirizzi interni globali


Si possono risparmiare gli indirizzi di un pool di indirizzi globali, effettuando una associazione non a livello di
indirizzo IP ma a livello di accoppiata indirizzo IP/porta. Quando differenti indirizzi interni locali sono associati allo
stesso indirizzo interno globale, si utilizzano i numeri di porta (TCP o UDP), per distinguere tra loro i pacchetti
associati alle diverse conversazioni e di conseguenza ai diversi host locali.

Come sono tradotti gli indirizzi interni locali e viceversa


Questa sezione illustra il funzionamento del NAT.
Nei seguenti passi viene mostrato il funzionamento del meccanismo della traduzione NAT semplice quando viene
usata per tradurre indirizzi interni verso destinazioni esterne alla vostra rete e viceversa.

Step 1: L’host A interno con IP 10.1.1.2 apre un collegamento verso l’host B esterno con IP 199.100.0.1.

Step 2: Viene inviato il primo pacchetto IP dall’host A 10.1.1.2, il router NAT di confine ricevuto il pacchetto IP lo
fa salire spacchettizzandolo lungo la pila OSI fino al livello tre, a questo punto il router legge l’indirizzo IP di
origine Source IP Address, questo impone al router di controllare la sua NAT table. Se viene trovata una
traduzione, cioè una corrispondenza tra ilSource IP Address (l’indirizzo IP Privato interno) ed un indirizzo IP nel
campo “Inside Local IP Address” della tabella di NAT si procede alla traduzione ovvero nel pacchetto IP viene
sostituito l’indirizzo IP nel campo Source IP Address con l’Inside Global IP Address corrispondente. A questo
punto viene ricalcolato l’header checksum e il pacchetto è poi fatto avanzare lungo la pila OSI verso il basso ed
inviato al buffer della porta di uscita del router, per essere poi spedito sulla rete pubblica verso la sua
destinazione con il suo nuovo Source IP Address.

Page 125 of 157


Giugno 2013

Se non viene trovata nessuna traduzione staticamente assegnata, il router, che non può inviare all’esterno un
pacchetto IP con un indirizzo IP privato, “pesca” nel “pool di indirizzi pubblici” e assegna tra quelli disponibili nel
pool un nuovo indirizzoSource IP Address pubblico locale. Questo indirizzo viene usato per modificare il
campo Source IP Address in uscita, viene quindi ricalcolato l’header checksum. A questo punto il pacchetto viene
inviato verso il buffer di uscita verso la destinazione con il suo nuovo Source IP Address pubblico.

Step 3: Il router NAT di confine sostituito l’indirizzo IP privato 10.1.1.2 locale con l’indirizzo IP Globale pubblico
locale 198.168.2.2 manda avanti il pacchetto verso l’host B.

Step 4: L’host B riceve il pacchetto e risponde all’host A con un pacchetto IP che ha nel campo Destination
IP Address l’indirizzo IP Globale interno 198.168.2.2, che è l’indirizzo pubblico assegnato dal router NAT.

Step 5: Quando il router di confine riceve il pacchetto con l’indirizzo Destination IP Address Globale interno, il
router, lo fa salire spacchettizzandolo lungo la pila OSI fino al livello tre, a questo punto il router legge l’indirizzo
IP, compie un lookup nella NAT table trovando una corrispondenza con un indirizzo IP Privato locale interno.

Page 126 of 157


Giugno 2013

Step 6: Il router effettua il NAT sostituendo nel pacchetto IP l’indirizzo IP nel campo Destination IP Address, viene
ricalcolato l’header checksum e fatto avanzare lungo la pila OSI verso il basso ed inviato al buffer della porta di
uscita del router e poi spedito sulla rete privata verso la sua destinazione, l’host A con il suo nuovo Destination
IP Address.

Questo è l’esempio della procedura standard che viene compiuta dalla traduzione NAT statica o NAT dinamica.

Il router NAT mantiene al suo interno una tabella di record con la corrispondenza tra l’indirizzo IP privato
sorgente della comunicazione e l’indirizzo IP pubblico di destinazione della comunicazione, questi record vengono
creati in modo dinamico ogni volta che un pacchetto verso una data destinazione attraversa il NAT. I record
vengono poi cancellati tramite un meccanismo di timeout.

Estensioni al NAT
Per superare il problema delle connessioni molti-a- uno del NAT sono stati introdotte due soluzioni

1. multi-address NAT
2. Port-mapped NAT (NAPT)

1. Nel multi-address NAT, al router NAT o meglio, alla porta pubblica del router NAT vengono assegnati più
indirizzi pubblici in maniera tale che il router possa distinguere le singole sessioni di trasmissione
identificate dall’indirizzo IP Pubblico con cui viene tradotto l’IP privato dal meccanismo di NAT. Il router
per distinguere i pacchetti IP destinati agli host privati interessati dalla comunicazione utilizzerà
l’indirizzo IP, nelle immagini ecco due host interessati a comunicare con un host esterno, il router NAT
traduce i due indirizzi interni con due differenti indirizzi IP globali .

Page 127 of 157


Giugno 2013

In questo modo utilizzando nel lookup i vari indirizzi IP interni globali, il router riuscirà a distinguere i destinatari
dei pacchetti IP.

Page 128 of 157


Giugno 2013

Ma questa soluzione ha anch’essa dei limiti. Il principale è che bisogna avere a disposizione più indirizzi IP
pubblici. Inoltre quando si raggiunge il limite degli indirizzi IP pubblici disponibili nel pool non è piú possibile
comunicare, nell’ambito di più sessioni, con lo stesso host finche non si libera un indirizzo.

2. Questi limiti vengono superati con il Port-mapped NAT (NAPT) che è una soluzione che usa una NAT
Table estesa cioè, viene sovraccaricata la NAT Table facendo comportare il router come un gateway di
livello 4 ovvero, nella NAT Table oltre a registrare gli indirizzi IP vengono registrati anche i protocolli
utilizzati (TCP/UDP) nella comunicazione e le relative porte.

Cosa è il sovraccarico (Overloading)degli indirizzi Globali del NAT?


Il Port Address Translation ovvero, il sovraccarico che il NAT effettua quando ha a disposizione un singolo
indirizzo IP Globale, permette di mappare simultaneamente più indirizzi IP privati locali. Nel seguente esempio,
viene usata una NAT Table estesa. Nella tabella, la combinazione di un indirizzo IP e della porta (TCP/UDP) fa di
ogni indirizzo IP Globale un indirizzo unico. Questo permette di avere molti host dietro ad un singolo indirizzo IP
Globale. Basta infatti un solo indirizzo IP Globale e tutti gli indirizzi interni verranno mappati su quello
discriminando le sessioni utilizzando l’accoppiata IP - porta. Dall’esterno appare solo un indirizzo con un elevato
numero di connessioni aperte, ciascuna con una sua porta. Ovvero i vari IP privati escono con lo stesso IP Globale
pubblico ma da una porta diversa. L'uso delle porte per realizzare un indirizzo unico si chiama Port Address
Translation (PAT), una variante del NAT.

Page 129 of 157


Giugno 2013

Step 1: L’host A con IP 10.1.1.2 apre un collegamento verso l’host B.

Step 2: Viene spedito il primo pacchetto dall’host A 10.1.1.2, il router NAT di confine, ricevuto il pacchetto IP, lo
fa salire spacchettizzandolo lungo la pila OSI fino al livello tre, a questo punto il router legge l’indirizzo IP di
origine Source IP Address, questo impone al router di controllare la sua NAT table.
Se è abilitato il sovraccarico della NAT Table, ed un'altra traduzione è attiva cioè, esiste già una altra sessione di
comunicazione (sessione 1°) che utilizza lo stesso indirizzo IP Globale 198.168.2.2 , il router riutilizzerá lo stesso
indirizzo IP Globale 198.168.2.2 ma di questa nuova traduzione (sessione 2°) memorizzerá abbastanza
informazioni per poterla distinguere dall’altra traduzione attiva (sessione 1°).

Queste informazioni però non potrà ricavarle dal terzo livello della pila OSI dovrà fare avanzare il pacchetto lungo
la pila fino al quarto livello OSI. Il router a questo livello leggerà anche il segmento TCP o UDP leggendo e

Page 130 of 157


Giugno 2013

modificando i campi SourcePort per i pacchetti in uscita e Destination Port per quelli in entrata e ricalcolando il
campo checksum. A questo punto il pacchetto così modificato viene fatto avanzare lungo la pila OSI verso il basso
ed inviato al buffer della porta di uscita del router per essere spedito sulla rete pubblica verso la sua destinazione
con il suo nuovo Source IP Address e la sua nuovaSource Port e il checksum ricalcolato. Questo tipo di entry nella
NAT Table è stata chiamata entry estesa. Cioè, viene usata una NAT Table estesa in cui, oltre agli indirizzi IP
vengono memorizzati anche i numeri di porta e il tipo di protocollo usato.

Step 3: Il router, sostituito l’indirizzo IP locale 10.1.1.2:1758 con un indirizzo IP Globale 198.168.2.2:1723, tenuto
conto del numero di porta, fa avanzare il pacchetto verso il suo destinatario 199.100.0.1:23.

Step 4: L’host B esterno ricevuto il pacchetto, risponde al nodo che usa l'indirizzo IP Globale interno
192.168.2.2:1723.

Page 131 of 157


Giugno 2013

Step 5: Il router NAT riceve il pacchetto IP, lo fa salire spacchettizzandolo lungo la pila OSI fino al livello tre, a
questo punto il router legge l’indirizzo IP Destination IP Address 192.168.2.2:1723, questo impone al router di
controllare la sua NATtable.
La NAT Table, per questo indirizzo è sovraccaricata e per poter identificare il destinatario del pacchetto è
obbligato a fare avanzare il pacchetto lungo la pila fino al quarto livello OSI. Il Router a questo livello leggerà il
segmento TCP o UDP leggendo e modificando i campi Destination Port e Destination IP Address per i pacchetti in
entrata e ricalcolando il campo checksum. A questo punto il pacchetto così modificato viene fatto avanzare
lungo la pila OSI verso il basso ed inviato al buffer della porta di uscita del router per essere spedito sulla rete
privata verso la sua destinazione con il suo nuovo Destination IPAddress 10.1.1.2 e la sua nuova Destination Port
1758 e il checksum ricalcolato .

Step 6: L’host A 10.1.1.2 riceve il pacchetto sulla porta 1758 e continua la conversazione. Per ogni pacchetto, il
router compie tutto il percorso dallo Step 2 allo Step 5.

Page 132 of 157


Giugno 2013

6) VPN OVVERO RETI PRIVATE VIRTUALI


La comunicazione aziendale
La comunicazione aziendale rappresenta un vantaggio competitivo per ogni azienda. Con delle
comunicazioni Sicure, Affidabili e Riservate è infatti possibile ridurre i costi, e migliorare l’efficienza dei
processi produttivi.
In passato i collegamenti tra sedi remote di una stessa società, e quindi tra reti LAN remote, avvenivano in
maniera Sicura, Affidabile e Riservata solo se era presente una linea di comunicazioni fisica dedicata.

In pratica tra la rete LAN della sede centrale e la rete LAN della sede remota veniva stesa una linea di
collegamento fisica “point-to-point”. Ovvero veniva realizzato un collegamento WAN tra due sedi di tipo circuit
permanent. Un circuito che è una connessione fisica permanente “garantita sicura” tra due endpoint. Un
collegamento questo che aveva le caratteristiche di Sicurezza, Affidabilità e Riservatezza era cioè, un
collegamento a prova di intercettazione. Quando le sedi da mettere in comunicazione erano molte, significava
realizzare una completa rete WAN sicura, per collegare tutte le LAN remote, e dato che stendere e mantenere
una rete WAN per trasmissioni dati riservata, risultava, e risulta ancora, estremamente costoso, le società
tipicamente, noleggiavano dalle TelCo nazionali (che funzionavano come carrier) delle linee particolari (di tipo
circuit permanent o circuit swiching) che venivano chiamate affittate, dedicate o Private.

Topologia delle reti Private


Questo tipo di rete Privata presenta una topologia di rete “fisica” chiusa, completamente separata dall’esterno,
privata ed esclusiva. E’ infatti possibile comunicare “solo” tra i suoi membri (nodi, apparati e host all’interno della
topologia fisica) e non è liberamente accessibile a chi non è autorizzato (nessun altro può utilizzare questi
circuiti). Come analogia per questa topologia si può indicare la rete ferroviaria che è differente, chiusa e separata
dalla normale rete stradale pubblica.
Realizzando in proprio o affittando dalle TelCo queste linee, gli utenti, hanno la ragionevole certezza che le loro
comunicazioni sono sicure e affidabili. Queste linee private offrono essenzialmente tre vantaggi:
1. una separazione del traffico ovvero, un isolamento da sorgenti esterne in quanto i collegamenti, gli
accessi devono essere esplicitamente configurati in maniera “fisica” e quindi con una perimetrazione
certa della rete e degli accessi.
2. una separazione dello spazio di indirizzamento che è essenzialmente privato.

Page 133 of 157


Giugno 2013

3. una separazione del routing.


In questo modo si ottiene la ragionevole certezza che i dati trasmessi su queste linee rispettino i tre principi
funzionali di: Riservatezza,Integrità e Autenticazione. Tutto ciò determina sicurezza nelle transazioni. Infatti i dati
non possano essere letti da estranei e/o venire alterati. Inoltre, con l’autenticazione si determina la certezza
dell’identità fra gli interlocutori: l’utente all’altro capo è, effettivamente, chi dice di essere.
La rete Privata classica quindi, implementa la sicurezza dei dati al livello uno e due dello stack della pila OSI.
Questo tipo di protezione, garantisce la sicurezza ai dati trasmessi, in funzione del tipo di media (tecnologia di
trasmissione) usato, per specifici collegamenti sicuri. In pratica, con tecnologie WAN come il Frame Relay o ATM
vengono messe in collegamento differenti LAN sicure con i rispettivi perimetri di sicurezza.

Lo scopo fondamentale di una rete Privata è quello di congiungere due reti sicure, due perimetri di sicurezza
attraverso un collegamento sicuro. Quando più LAN vengono messe in comunicazione attraverso una rete
Privata, un collegamento sicuro, esse diventano, di fatto, un unica rete privata, all’interno di un unico perimetro
di sicurezza.

Ogni rete per poter operare libera da pericoli esterni, ha bisogno di attivare un perimetro di sicurezza che spesso
coincide con l’estensione della singola LAN.

Definizione di Perimetro di Sicurezza


Il perimetro di sicurezza di una rete si può definire come quell’area circoscritta che raccoglie al suo interno le
entità, i dati, le risorse che è necessario proteggere dai pericoli esterni. Questo perimetro consente ai computer
al suo interno di operare, condividere le risorse e scambiarsi i dati senza temere pericoli esterni. In genere, i
computer all’interno di un perimetro di sicurezza appartengono ad una unica entità che definisce ed applica una
politica di sicurezza adeguata. Le parti del sistema addette alla sua protezione, si trovano all’interno di questo
perimetro. Gli accessi, le identità, le connessioni sono rigorosamente monitorate e controllate.

Page 134 of 157


Giugno 2013

Possiamo affermare che tutto quello che si trova all’interno di questo perimetro è “Sicuro” (per definizione i
pericoli sono sempre esterni al perimetro). Anche il singolo PC di casa o il notebook ha il suo perimetro di
sicurezza che coincide con se stesso poiché, al suo interno vi sono dati e risorse che sono per noi importanti e che
necessitano di protezione.

La sicurezza di una rete Privata classica viene in pratica data dal suo “isolamento fisico” rispetto al resto del
mondo. La rete privata è una rete fisicamente separata dall’esterno. Addirittura, è possibile che su questa rete
privata possano essere utilizzate regole e protocolli completamente diversi da quelli delle normali reti
standardizzate. Ad esempio sulla rete ferroviaria si tiene la sinistra mentre sulla rete stradale pubblica è
obbligatorio tenere la destra.

Primo principio della difesa


Questo tipo di rete impiega il primo principio della difesa il quale recita che “la miglior difesa è la distanza”.
Distanza da un potenziale aggressore.
Proteggere una rete fatta in questa maniera (statica e senza collegamenti con l’esterno) è relativamente
semplice.

Limiti delle reti Private


Di contro, la soluzione delle reti private classiche presenta diversi difetti :
 lo scarso utilizzo dei collegamenti in orari e periodi di non lavoro.
 gli elevati costi di realizzazione, manutenzione e gestione che spesso costringono le società ad
affidare in outsourcing questa rete.
 la ricerca, la verifica e il controllo continuo e costante della sicurezza dei singoli collegamenti con
rilevatori di interferenze ed altro (la sicurezza non è mai data una volta per sempre).
 la difficile scalabilità di una rete privata, che per poter funzionare in maniera efficace nelle imprese
odierne, ha bisogno di poter connettere una varietà di utenti business-to-business. Questi utenti
non si trovano solo tra sedi fisse, ma anche tra la sede ed un utente mobile (Road warrior), tra la
sede e i suoi clienti, tra la sede e i suoi telelavoratori, tra utenti mobili; con un perimetro di
sicurezza che si espande e si contrae dinamicamente secondo le esigenze del momento.
 La non disponibilità delle immense risorse e dati liberamente disponibili in Internet.

ATTENZIONE: Attualmente, esistono delle tecnologie di intercettazione sia su cavi in rame che su fibra
estremamente sofisticate, che permettono di estrarre dati senza generare alcuna interferenza rilevabile. Queste
tecnologie, anche se, non sono alla portata di tutti, rendono le reti private tradizionali con trasmissione dei dati
in chiaro, estremamente carenti dal punto di vista della sicurezza.

Page 135 of 157


Giugno 2013

Comunque, il più grave difetto di una linea privata rispetto ai vantaggi che offre è che ha alti costi. Costi che non
tutti si possono permettere, e comunque ancora, tutti vogliono avere a costi più bassi, la stessa connettività
sicura ed affidabile tra sedi distanti di una linea privata. E magari anche qualche vantaggio in più.

La ricerca di un nuovo tipo di rete Privata


Per ovviare ai problemi della rete privata classica si è cercato il modo di realizzare un tipo di rete che fosse il più
diffusa possibile fino al livello più capillare, che fosse adattabile, che fosse economica e che permettesse l’accesso
indipendentemente dall’ubicazione, in modo da fornire gli stessi servizi di sicurezza richiesti ad una rete Privata.

Internet
La rete attualmente più diffusa, pervasiva, adattabile ed economica esistente al mondo è Internet. Ovvero, la rete
che utilizza la suite di protocolli TCP/IP. Quando questo tipo di rete fu progettata non fu concepita per essere una
rete sicura. Internet è una rete Pubblicaperché chiunque può accedervi. Chiunque abbia i mezzi e le conoscenze
adatte può intercettare e leggere i dati che vi vengono trasmessi sopra. Inoltre, questo tipo di rete (Internet)
distrugge alla base il 1° principio della sicurezza perché con essa ogni potenziale attaccante è praticamente
“Adiacente”. Questo rende la difesa di una rete informatica un concetto fortemente squilibrato, “Asimmetrico”
dove l’utente collegato in rete si trova nella condizione di essere “solo contro tutti”; dove tutti possono
potenzialmente mettere in essere un attacco. Per trasmettere in sicurezza i dati non sembrerebbe essere questa
il tipo di rete più adatta. Invece, proprio questo tipo di rete insicura può essere utilizzata per la trasmissione dei
dati in tutta sicurezza.

La soluzione
La soluzione, è quella di rendere sicura ed affidabile la trasmissione dei dati su una rete insicura, realizzando delle
VPN (Virtual Private Network) cioè, delle Reti che sono Private in maniera Virtuale. Il termine “Virtuale” indica
che, si sfrutta una infrastruttura di rete insicura come Internet per realizzare dei collegamenti fra gli utenti, che
con degli accorgimenti particolari vengono resi, Privati, Sicuri e soprattutto “logicamente separati" dal resto di
Internet come se si trattasse di una linea riservata. Questo a costi notevolmente più bassi di una linea affittata. E
con il vantaggio di poter realizzare una rete “Privata” non solo tra sedi fisse.

Definizione di VPN
Una VPN è un servizio di comunicazione “logico” sicuro e affidabile fra due o più apparecchiature realizzata sopra
una infrastruttura di rete pubblica potenzialmente non sicura come Internet.
Per rafforzare la privacy, le VPN impiegano protocolli di tunneling e una cifratura avanzata per offrire una
barriera protettiva attorno ai dati originali prima che vengano spediti sopra un'infrastruttura potenzialmente
pericolosa.

Vantaggi delle VPN contro le tradizionali linee Private


Le tradizionali reti di linee private hanno degli alti Costi sia di gestione che di affitto. Hanno inoltre, una
scarsa Flessibilità, infatti, non possono essere modificate e riparate senza richiedere una revisione della rete. Se
le aziende crescono, si espandono le loro reti non hannoScalabilità, e la loro gestione può essere fatta solo a
livello WAN e quindi spesso in genere, solo dal provider che sovente gestisce in outsourcing la rete ed è l’unico a
conoscere e a potere gestire la Topologia Complessa che questa rete richiede.

I benefici di implementare una VPN

Page 136 of 157


Giugno 2013

Principalmente le VPN svolgono tre funzioni critiche per la sicurezza delle informazioni e cioè :
 Confidentiality (encryption) of information – La riservatezza delle informazioni mediante
cifratura - Il mittente può cifrare i pacchetti dei dati prima di trasmetterli attraverso la rete. Così
facendo, nessuno può accedere alla comunicazione senza autorizzazione. E se vengono intercettate,
le comunicazioni non possono essere lette e comprese.
 Data integrity – L'integrità dei dati - Il ricevente può verificare con dei meccanismi di hashing (di
firma elettronica dei dati) che i dati sono stati trasmessi attraverso Internet senza essere stati
alterati.
 Origin authentication – L'autenticazione della origine - Il ricevente può autenticare la sorgente del
pacchetto, garantendo e certificando dopo la verifica la sorgente delle informazioni. Questo
permette un accesso remoto sicuro. L’autenticazione può essere ulteriormente distinta in:
· Device authentication
· User authentication

Secondariamente le VPN :
 Riducono i costi - le VPN riducono in maniera profonda i costi di mantenimento di una rete sicura
perché usano Internet come infrastruttura di collegamento site-to-site di accesso remoto. Dato la
crescente diffusione dell’accesso ad Internet a banda larga, ad alta velocità e a costi ragionevoli.
Questo garantisce basse spese di installazione, basse spese di gestione e un veloce ROI (ritorno
degli investimenti).
 Migliorano le comunicazioni – con le VPN, gli utenti remoti (sedi distaccate, road warriors,
telelavoratori, clienti, fornitori e partner negli affari) si possono connettere in sicurezza da
qualunque posto e in ogni tempo 24 ore su 24 alle risorse della rete sicura o tra di loro.
 Sono Flessibili e Scalabili – le VPN hanno una flessibilità e una capacità di scalare che le linee
affittate non hanno. L’implementazione di una VPN semplifica e centralizza l’amministrazione delle
reti. Una infrastruttura di VPN può adattarsi con facilità alle necessità di cambiamento delle reti.
 Sono Sicure ed Affidabili – la sicurezza è un concetto intrinseco in una VPN, poiché le VPN
utilizzano protocolli di tunneling e una cifratura avanzata. L’affidabilità viene data dal numero
ridotto di punti di entrata, in pratica, ha un punto di entrata ed un punto di uscita ovvero, hanno
una topologia a tunnel, punto-a-punto e quindi estremamente semplice.
 Sono Indipendenti dagli standard tecnologici – dei primi due livelli dalla pila OSI. Questo
garantisce che una rete non sia vulnerabile alle caratteristiche di debolezza (insicurezza) dei primi
due livelli.
Comunque, è importante che la tecnologia che si usa per realizzare una VPN sia ben implementata e sia parte di
una infrastruttura di sicurezza competente. Che abbia una “politica di sicurezza” adeguata. La sicurezza di una
rete può essere compromessa se, durante la implementazione si lasciano delle falle nel perimetro di sicurezza
che possono essere sfruttate e possono permettere un libero accesso ai dati e alle risorse interne da parte di un
attaccante.
In altre parole la VPN ben implementata garantisce la sicurezza dei dati dall’interfaccia d’entrata fino
all’interfaccia di uscita. Quello che c’è prima e dopo la VPN sono un’altra faccenda.

Page 137 of 157


Giugno 2013

Parti di una VPN


Una Virtual Private Network è formata essenzialmente da due parti che si combinano tra loro: la Privacy che è
data essenzialmente dallaCriptazione dei dati, e la Rete Virtuale che è data dall’uso di protocolli multipli
di Tunneling vedi figura sotto.

Una rete Virtuale viene costruita attraverso l’uso di protocolli multipli di tunnel su un collegamento IP standard
cioè, viene utilizzato un protocollo che crea un tunnel tra la sorgente e la destinazione dei dati.
Una rete Privata è una rete che assicura Riservatezza, Integrità e Autenticazione (Confidentiality, Integrity and
Authentication) ai dati trasmessi.

VPN come somma di due processi


Quindi la VPN è la somma di due processi il processo di tunneling e il processo di cifratura dei dati.

Il Tunneling
La VPN usa il concetto di Tunneling per creare una rete privata attraverso Internet. Concettualmente, è come se
un tunnel sicuro venisse costruito tra due apparecchiature finali abilitate a realizzare VPN end-to-end.
I dati possono essere spediti dall’origine verso la fine del tunnel, avendo la certezza che arriveranno alla fine del
tunnel.
Tecnicamente, però non esiste nessun tunnel ed il processo non assomiglia ad un tunnel, ma il
termine "Tunneling" è la descrizione del risultato finale della trasmissione dei dati.
Dati che sono capaci di passare attraverso un ambiente non-sicuro senza doversi preoccupare di chi possa
intercettare, dirottare, o manipolare i dati.
Il Tunneling quindi è un processo “logico” di collegamento punto-a-punto attraverso una rete IP connectionless
(senza connessioni).
I due punti finali del tunnel, le due interfacce, anche se sono distanti e collegati da molti nodi, diventano per un
processo logico adiacenti.
Il Tunneling compie un incapsulamento di multiprotocollo dei dati.
Questo termine significa che i pacchetti di dati, anche se sono di protocolli differenti ad esempio: DECnet,
Appletalk, IP privato (non instradabile), IP globale unico, IPX, NetBeui una volta giunti davanti l’entrata del tunnel
(interfaccia d’entrata del tunnel), dal protocollo di tunneling (GRE, L2TP, IPsec) vengono imbustati nuovamente
all'interno di un secondo pacchetto IP e vengono spediti sulla rete con un nuovo header IP e così trasportati verso
la fine del tunnel (interfaccia d’uscita del tunnel).
Una volta giunti alla fine del tunnel vengono spogliati dell’imbustamento supplementare aggiunto dal protocollo
di tunnel e instradato verso la sua destinazione.
Essenzialmente, il tunneling è un processo che incapsula il pacchetto di dati all’interno di un altro pacchetto che
viene spedito sulla rete.
Ovvero, i dati vengono imbustati due volte per far si che essi siano trasmessi solamente ai destinatari finali
autorizzati.

Page 138 of 157


Giugno 2013

La Cifratura
La Cifratura assicura che i messaggi non possano essere letti da nessuno oltre il destinatario intenzionale. La
riservatezza delle informazioni viene garantita da una cifratura robusta. La Cifratura trasforma quindi le
informazioni in chiaro (cleartext) mediante uno scrambling digitale in un ciphertext che è incomprensibile nella
sua forma codificata per chi non è autorizzato. La funzione di decifratura ripristina di nuovo il ciphertext in
informazioni comprensibili per il destinatario (cleartext).

Una rete privata virtuale in sintesi, viene realizzata sfruttando le capacità che hanno alcuni protocolli di fare
“tunneling” cioè, la capacità di incapsulare i pacchetti di differenti protocolli (multipli) all’interno di un pacchetto
IP e di trasmetterlo su un collegamento IP standard. Alcuni di questi protocolli sono il GRE (Generic Routing
Encapsulation), L2TP (Layer 2 Tunneling Protocol) e IPsec (IP security). Il terzo protocollo, IPsec (IP security) è
attualmente la tecnologia più sicura per realizzare VPN. E realizza sia il tunneling che la cifratura.

Tipologie di VPN
Scenari di uso delle VPN
La crescita dell’economia, legata alle tecnologie informatiche, supportate da reti sicure, ha definito in forma
nuova il modo di lavorare e di concepire lo spazio. Questo è dovuto alla straordinaria potenza rivoluzionaria di
sovvertire lo spazio che ha Internet. Mentre in precedenza, le funzioni e le mansioni lavorative venivano definite
dal luogo fisico in cui ci si trovava, adesso, nella economia inter-connessa o meglio, nella cyber-economia che
rende gli antipodi geografici adiacenti, i concetti spaziali prendono un nuovo significato anzi, prescinde dai luoghi
fisici, e il personale viene definito da come compie le sue funzioni di lavoro.

Page 139 of 157


Giugno 2013

Gli sviluppi della cyber-economia oltre ad aumentare la produttività e la redditività ha creato anche nuove
richieste alle reti. In particolare, mentre in passato venivano realizzate delle reti sicure che, si focalizzavano nel
connettere luoghi fissi come gli uffici principali, con gli uffici di ramo, e gli uffici regionali. Adesso questo non è più
un tipo di connettività sufficiente per l’economia di molte imprese, e comunque per le imprese del futuro.
Le imprese adesso, hanno bisogno di un nuovo tipo di connettività che continui a preservare il perimetro di
sicurezza ma, che consenta di effettuare collegamenti business-to-business in un tipo di rete che abbia le
caratteristiche di scalabilità e mobilità e che sia possibile aggiungerla ai collegamenti di rete tradizionali.
Le VPN offrono il servizio di collegare in sicurezza diversi utenti remoti cioè, utenti che si trovano al di fuori del
classico perimetro di sicurezza aziendale, e che hanno essi stessi un proprio perimetro di sicurezza, come i
telelavoratori, i lavoratori mobili (Road warrior), i clienti, i partner d’affari che necessitano di accedere alle risorse
interne della rete sicura o tra di loro. Questo, crea un nuovo tipo di rete virtualmente privata, che permette di
collegare i vari perimetri di sicurezza per mezzo di una infrastruttura di rete insicura (Internet) senza timore che
le comunicazioni possano essere intercettate.

Per questo tipo di accesso, si possono utilizzare come infrastruttura portante, dei flessibili ed economici
collegamenti dial-up, per mezzo del più vicino Internet Service Provider. I collegamenti agli ISP forniscono la
connettività ad Internet, che è la struttura sottostante alle VPN. Il classico perimetro di sicurezza delle reti pur
mantenendo il proprio livello di sicurezza, diviene elastico e flessibile, estendendosi e contraendosi in base alle
esigenze, inglobando secondo le necessità al suo interno, le entità che hanno diritto ad accedervi. È sufficiente
che si sia collegati ad Internet, da qualunque luogo gli utenti si trovino, per avere un collegamento sicuro come
quello di una rete privata classica, anche se virtuale, tra due perimetri sicurezza.

Page 140 of 157


Giugno 2013

Per ottenere questo risultato, i vari utenti remoti debbono essere abilitati a realizzare delle VPN. Infatti, le Virtual
Private Network possono essere messe su (settate) in poco tempo e impiegate ovunque vi siano apparecchiature
abilitate a realizzarle come: computers con installato un software client VPN, routers abilitati a fare delle VPN,
firewalls VPN, o concentratori VPN dedicati.

VPN TIPOLOGIE
Le reti VPN possono essere descritte in base all’utilizzo e in base alle tipologie.
Per l’utilizzo, con differenti tipi di apparecchiature di rete è possibile creare differenti modelli di VPN:
 Da security gateway a security gateway. Questo connette due reti stabilendo una connessione
VPN tra due security gateway. Questa VPN protegge le comunicazioni solamente tra i due security
gateway.
 Da un host verso un security gateway. Questo connette host su varie reti esterne con host che si
trovano all’interno del perimetro di sicurezza aziendale, realizzando delle VPN individuali
attraverso il security gateway. Questa VPN protegge la connessione tra l’host e il security gateway.
 Da host a host. Questo permette di connettere singoli host attraverso una connessione VPN
software.

Due Tipi di VPN


Le VPN possono essere di due tipi principali: VPN remote access, VPN site-to-site:

La VPN Remote acces,


chiamata anche Virtual Private Dial-up Network (VPDN), è un collegamento da utente-a-LAN e viene usato da
società che permettono il collegamento alla intranet o alla extranet degli uffici principali a impiegati,
telelavoratori, agli utenti mobili e a piccoli uffici remoti a connettersi da varie ubicazioni remote in maniera sicura
attraverso una infrastruttura pubblica e possono essere di due tipi:
 Client-Initiated –Gli utenti Remoti usano Clients (cioè un software ) per stabilire un tunnel sicuro
attraverso una rete di ISP(Internet Service Provider) condivisa con la rete dell'impresa.
 Network Access Server-initiated –Gli utenti remoti si collegano in dial-up verso un ISP. Il NAS
(Network Access Server)stabilisce un tunnel sicuro verso la rete privata dell’impresa che è in
grado di sostenere sessioni multiple verso utenti remoti.
Un esempio di una VPN Remote access può essere una grande ditta con centinaia di persone nel campo vendite.
La VPN Remote accesspermette agli utenti mobili e ai telelavoratori che in questo modo possono connettersi alla
intranet o extranet, collegamenti sicuri e cifrati tra la rete privata di una società e gli utenti remoti attraverso un
Internet Service Provider in maniera sicura.
Una VPN Remote access è una estensione delle reti dial-up. L’Accesso a distanza VPN non è altro che un tunnel
che ha ai suoi termini delle apparecchiature abilitate a fare delle VPN.

Le VPN site-to-site sono di due tipi principali:


 Una Intranet VPN site-to-site è una infrastruttura che fornisce un collegamento agli uffici remoti
(fisicamente separati) con la rete della sede centrale utilizzando una connessione dedicata VPN su
una infrastruttura pubblica condivisa. Le VPN intranet sono diverse dalle VPN extranet, perché
consentono l’accesso agli impiegati dell’azienda (in sedi fisse distanti) alle risorse interne della

Page 141 of 157


Giugno 2013

rete. Questa è una rete molto diffusa perché più flessibile e meno costosa di una connessione
tradizionale da ufficio remoto, come possono essere le reti a pacchetto switchate come il Frame
Relay e ATM, e i collegamenti di linee affittate.
 Una Extranet VPN site-to-site è una infrastruttura che fornisce un collegamento ai clienti esterni,
fornitori, partner di affari o ad altre reti verso la rete della sede centrale su una infrastruttura
pubblica condivisa come Internet utilizzando i tunnel VPN. Le VPN extranet sono diverse dalle VPN
intranet, perché consentono l’accesso a delle risorse interne della rete agli utenti che si trovano al di
fuori dell’azienda. Quindi nella extranet le risorse messe a disposizione degli utenti esterni sono
limitate. Questo permette di condividere delle risorse interne con l’esterno. Nel consentire l’accesso
alla rete interna da parte degli utenti della extranet i diritti di accesso devono essere ben definiti
nella politica di sicurezza.
Le VPN site-to-site possono essere usate per connettere in sicurezza sedi aziendali fisse distanti. In passato,
venivano usate per connettere questi luoghi delle linee affittate in genere con tecnologia Frame Relay o ATM,
sostituite attualmente con i molto più economici collegamenti VPN end-to-end che viaggiano su Internet.

Panoramica di tecnologie per realizzare VPN


Per poter realizzare la sicurezza delle trasmissioni mediante una VPN esistono, diversi protocolli appositamente
progettati per permettere una trasmissione sicura a vari livelli nella rete. In sostanza è possibile realizzare una
VPN praticamente su ogni livello della pila OSI. La scelta di utilizzare un protocollo piuttosto che un altro dipende
dai requisiti di sicurezza delle applicazioni e dalle necessità di sicurezza dell'utente, il quale deve decidere a che
livello della pila, deve essere implementata la sicurezza nelle trasmissioni offerta da una VPN. In alcuni casi
questi protocolli possono fornire una soluzione più adeguata alle esigenze dell’utente rispetto all’utilizzo di una
VPN IPsec.
In ogni caso questi protocolli, ognuno con la propria tecnologia di sicurezza, utilizzano tutti dei meccanismi di
tunneling e cifratura che incapsulano il pacchetto di dati creandogli attorno una protezione durante la
trasmissione e lo de-incapsulano in ricezione.
Questi protocolli di sicurezza, indipendentemente dal livello nella pila OSI o TCP/IP in cui vengono implementati,
devono garantire i seguenti servizi base:
 Gestione delle chiavi (che include la creazione, la negoziazione delle chiavi e il deposito delle
chiavi).
 La Riservatezza (Confidentiality) con la cifratura.
 Il non ripudio.
 Integrità/Autenticazione.
 Autorizzazione.
In base al livello (nella pila OSI o TCP/IP ) dove la sicurezza viene implementata, è possibile offrire alcuni o tutti i
servizi precedentemente descritti. In alcuni casi, ha senso offrire alcuni di questi servizi/capacità ad un livello
della pila e altri servizi/capacità ad un livello differente. Servizi, funzionalità che devono necessariamente essere
implementate in alcuni livelli e non in altri, proprio per poter garantire la sicurezza e per la correzione degli errori.
Questo produce velocità di trasmissione e carichi di lavoro differenti alla CPU. La sicurezza implementata su un
livello piuttosto che su un altro sono una scelta da parte dell’amministratore.
Comunque, più si sale di livello e più aumenta la quantità di intelligenza e il carico di lavoro che gravano sulla CPU
che ogni livello deve avere per la correzione degli errori e come garanzia dei meccanismi di sicurezza.
Le pile a livelli OSI e TCP/IP sono usate per descrivere le modalità di trasferimento dei dati. Mentre la pila OSI è
composta di 7 livelli, la pila TCP/IP è composta di quatto livelli. Ogni livello nella pila ha funzioni e capacità ben
definite. L'architettura a livelli ha molti vantaggi. Oltre a semplificare la progettazione del protocollo, semplifica
anche il suo uso. La progettazione viene semplificata dal fatto che ogni livello interagisce solamente con il livello
immediatamente sopra e sotto di esso. Una volta che il livello fornisce un servizio e le sue interfacce vengono
identificate, ogni livello può essere progettato indipendentemente dagli altri.
Quando un utente vuole trasferire dati attraverso le reti, i dati passato dal livello più alto attraverso i livelli
intermedi al livello più basso, con ogni livello che aggiunge informazioni supplementari.
Ad ogni livello, le unità logiche trasmesse tra livelli sono composte di un header e un payload. Il payload consiste
dalle informazioni passate verso il basso dal livello superiore, mentre l’header contiene informazioni specifiche
del livello che le trasferisce. Al livello applicazione, il payload sono i dati dell’applicazione.
Il livello più basso invia i dati accumulati attraverso la rete fisica; al ricevente i dati vengono passati in su
attraverso i vari livelli verso l’applicativo di destinazione. Essenzialmente, in trasmissione i dati prodotti da un
livello sono incapsulati in un più grande contenitore (imbustamento o incapsulamento) e inviati al livello

Page 142 of 157


Giugno 2013

sottostante. In ricezione i dati vengono deincapsulati e inviati al livello superiore. I sette livelli OSI e i quattro
livelli del TCP/IP, dal più alto al più basso, sono mostrati nella figura sotto.

I controlli di sicurezza esistono per le comunicazioni di rete ad ogni livello dei modelli OSI o TCP/IP. Come prima
spiegato, i dati in trasmissione sono passati dal livello più alto al livello più basso, con ogni livello che aggiunge
ulteriori informazioni. A causa di questo, un controllo di sicurezza ad un livello più alto non può offrire una piena
protezione per i livelli più bassi, perché i livelli più bassi compiono funzioni delle quali i livelli più alti non sono
consapevoli.

Descrizione dei Protocolli di Sicurezza sulla pila OSI e TCP/IP


VPN Application Layer
Il livello Application fornisce i servizi per una applicazione come Domain Name System (DNS), HyperText Transfer
Protocol (HTTP), e Simple Mail Transfer Protocol (SMTP) per inviare e ricevere dati sulla rete. La sicurezza del
livello Application deve essere implementata sugli host finali. La sicurezza disposta al livello Application ha i
seguenti vantaggi:
 Consente un facile accesso nel contesto dell’utente con le chiavi private come sue credenziali.
 Consente un accesso completo ai dati che l'utente vuole proteggere (encryption/decryption).
Questo semplifica il compito di offrire servizi come il non ripudio, l’integrità e l’autenticazione.
 Consente di aggiornare una applicazione di sicurezza senza dover dipendere dal sistema operativo
per offrire questo servizio di sicurezza. Normalmente, queste applicazioni non hanno il controllo su
quello che è implementato nel sistema operativo sopra cui sono installati.
 Consente al livello applicazione che è in grado di comprendere i dati di offrire una sicurezza
adeguata.
La cosa più importante riguardo la sicurezza del livello applicativo è che devono essere progettati dei controlli
appositi che gestiscano tutta una serie di sistemi di sicurezza per ciascuna applicazione. La progettazione di un
protocollo di crittografia a livello applicativo a prova di vulnerabilità è sempre qualcosa di molto difficile. Ogni
applicazione deve definire propri meccanismi di sicurezza.
Questo perché ogni applicazione ha specifiche necessità di servizio e non può dipendere dai livelli più bassi per
offrire i necessari controlli e servizi di sicurezza. Un esempio di ciò è il servizio di non-repudiation (Non ripudio). È
difficile per i livelli bassi offrire dei servizi di non-repudiation, proprio perché questo tipo di servizio richiede
l’accesso ai dati che notoriamente si trovano a livelli superiori. I livelli bassi non hanno accesso ai dati.
Esempi di tali applicativi sono PGP, GNUPG (GPG), SSH (Secure Shell) v.1 e v.2, OpenSSH, e S/MIME.
 PGP (Pretty Good Privacy) e la sua versione open source GPG sono dei famosissimi protocolli progettati
in origine da Phil Zimmermann che utilizzano meccanismi di firma a chiave pubblica. In combinazione
con client E-mail offrono servizi di sicurezza per cifrare, decifrare, firmare, non-ripudio, compressione,
conversione in ASCII (base 64), segmentazione e autenticazione per il corpo dei messaggi di posta
elettronica ma non per la sua intestazione.
 SSH (Secure Shell) e' un protocollo per eseguire comandi remoti, login remoti, FTP, compressione e
trasferimento di traffico di tipo TCP/IP e X Window in modo crittografato e autenticato attraverso una
rete insicura. In pratica crea un tunnel di rete crittografato tra due host garantendo l’identità delle due
parti. Del protocollo SSH ne esistono attualmente tre versioni le prime due distinte e incompatibili SSH1,
SSH2 e dal primo settembre 2005 si è aggiunto OpenSSH che le supporta entrambe migliorando il

Page 143 of 157


Giugno 2013

protocollo e offrendo in più tutta una serie di tunneling sicuri con un assortimento di metodi di
autenticazione.
 S/MIME (Secure/Multipurpose Internet Mail Extensions) è un protocollo standardizzato da IETF prima
nella RFC 1521 per i messaggi MIME (Mechanisms for Specifying and Describing the Format of Internet
Message Bodies) che specifica come devono essere trasferiti i dati multimediali e gli allegati e-mail, poi
con l’aggiunta di cifratura e firma elettronica (SECURE) per migliorare la sicurezza per applicazioni VPN
generate dai componenti di un sistema di comunicazione.

Comunque, la sicurezza realizzata a livello Application è di ogni specifica applicazione che deve essere ben
progettata e correttamente implementata. I metodi di protezione, i controlli di sicurezza richiedono di essere
implementati in ogni nuova applicazione. I controlli a livello Application possono proteggere i dati di livello
applicativo ma, non possono proteggere le informazioni di livello più basso.

VPN Transport Layer


Questo livello fornisce servizi di collegamento connection-oriented o connectionless per trasportare servizi di
livello applicativo tra reti. Il livello trasporto può opzionalmente assicurare l'affidabilità delle comunicazioni. I
protocolli TCP (Transmission Control Protocol) e UDP (User Datagram Protocol) sono usati comunemente come
protocolli di livello trasporto. La sicurezza che proviene dal livello trasporto ha un vantaggio sulla sicurezza
implementata sul livello Application, essendo questa su un livello più basso non si affida ai miglioramenti di
ciascun applicativo. Le applicazioni esistenti ottengono i servizi di sicurezza dal livello trasporto.
Nel fornire servizi di sicurezza specifici ad un utente, si suppone che un solo utente stia usando il sistema. Come
con la sicurezza a livello application, la sicurezza a livello trasporto può essere implementata solamente su un
sistema finale.
L’uso più comune per i protocolli di livello trasporto è di rendere sicuro il traffico http nei moderni siti di e-
commerce. Il protocollo TLS (Transport Layer Security) standard IETF RFC 2246 offre Riservatezza, Integrità e
Autenticazione (Confidentiality, Integrity and Authentication) ad applicazioni basate sul TCP. Richiede
l’implementazione di un server verso un client. È supportato da tutti i maggiori Web Browsers. TLS derivato
direttamente dal protocollo SSLv3 sfrutta dei meccanismi application-to-application.
L'uso di TLS richiede che ciascun singolo applicativo debba supportare TLS; diversamente dai controlli di livello
applicativo che tipicamente comportano una implementazione estesa della sicurezza negli applicativi, i controlli a
livello trasporto come TLS sono molto meno intrusivi perché proteggono semplicemente le comunicazioni di rete
a livello trasporto e non hanno bisogno di capire le funzioni o le caratteristiche dell’applicativo di livello
superiore.

Page 144 of 157


Giugno 2013

Attualmente molte applicazioni supportano i protocolli SSL e TLS per realizzare la sicurezza delle trasmissioni
(VPN). Soluzioni di VPN queste che stanno avendo molto successo e diffusione in Internet. Le differenze tra questi
due protocolli sono dovute soprattutto agli algoritmi crittografici utilizzati. Un limite di questi protocolli è la
incapacità di proteggere comunicazioni differenti da quelle basate sul TCP, perché presume che il protocollo di
livello rete stia assicurando l'affidabilità del trasporto (connection-oriented) con ritrasmissione del pacchetto in
caso di perdita o ritardo.

VPN Data Link Layer


Questo livello è responsabile per la trasmissione dei pacchetti sui media fisici. La trasmissione è tra due
apparecchiature che sono connesse fisicamente. Esempi di protocolli di livello data link sono Ethernet, Token
Ring, Frame Relay e ATM.
Controlli di sicurezza su questo livello sono applicati a tutte le comunicazioni su uno specifico collegamento
fisico. Poiché il livello Data link è sotto il livello rete, controlli di sicurezza a questo livello possono proteggere dati
e informazioni di livello IP.
La sicurezza a questo livello veniva effettuata realizzando delle reti private. Questa protezione di livello due ha
offerto una protezione indipendente dal protocollo usato su specifici collegamenti non sicuri. Questo significa che
protegge il traffico anche di protocolli diverso dall’IP. Ma per garantire una maggiore riservatezza veniva
applicata una protezione crittografica ai due terminali del collegamento. In pratica su un collegamento tra due
host tutto il traffico ha bisogno di essere cifrato per il timore che venga intercettato. In questo caso è possibile
usare delle apparecchiature hardware per la cifratura. Soluzione questa molto usata in ambiente militare.

Il vantaggio di questa soluzione è la velocità. Gli svantaggi tuttavia sono che questa soluzione non è scalabile, e
lavora bene solamente su collegamenti dedicati, è costosa da schierare su grande scala perché bisogna
proteggere separatamente ogni singolo collegamento. Inoltre le due entità coinvolte nella comunicazione devono
essere connesse fisicamente. Può lasciare spazio ad attacchi man-in-the-middle su stazioni intermedie o routers,
ed è di solito una soluzione proprietaria.

Page 145 of 157


Giugno 2013

Questo tipo di protezione è utile ad esempio nelle macchine bancomat (ATM) dove tutte le macchine sono
connesse attraverso collegamenti dedicati verso un ufficio centrale. Se i bancomat fossero connessi ad una rete
IP invece dei più costosi collegamenti dedicati sicuri, la sicurezza a livello di collegamento dati non basterebbe, e
si dovrebbe trasportare la sicurezza ad un livello superiore per offrire dei servizi di sicurezza affidabili

VPN Network Layer


Questo livello è responsabile per l’indirizzamento dei pacchetti attraverso le reti. L’indirizzamento è il processo
che determina il percorso che un pacchetto deve fare per giungere a destinazione. Per indirizzare il pacchetto il
livello rete ha bisogno di identificare inequivocabilmente ogni destinazione. Il livello rete quindi definisce un
meccanismo di indirizzamento. Il protocollo IP (Internet Protocol) è il protocollo fondamentale di questo livello.
La sicurezza implementata sopra il livello tre, il livello IP appunto ha molti vantaggi. Primo vantaggio,
l’ammontare del sovraccarico per la CPU nella negoziazione delle chiavi decresce notevolmente rispetto allo
stesso lavoro fatto ai livelli superiori.
La sicurezza implementata a questo livello non richiede modifiche a nessun applicativo. Infatti i livelli superiori
Trasporto ed Application non devono effettuare scambi con i livelli inferiori. E questo riduce la possibilità che
possano esserci errori, vulnerabilità. I livelli superiori sfruttano l'infrastruttura di scambio delle chiavi già fornita
dal livello rete. Questo riduce l'esplosione della implementazione di meccanismi di sicurezza al livello più alto.
Minore è il numero dei meccanismi usati per garantire la sicurezza maggiore è l’affidabilità. Una sola protezione
garantisce sicurezza a tutti gli applicativi.
Se la sicurezza è implementata ai livelli più alti, ogni applicativo deve progettare il proprio meccanismo di
sicurezza. La probabilità di commettere un errore nella progettazione/programmazione dell’applicativo che possa
aprire una falla nella sicurezza è molto più alto in questo modo.
Implementando su questo livello specifico la sicurezza delle trasmissioni, i suoi meccanismi di sicurezza e
controllo sono completamente trasparenti perché proteggono automaticamente questo livello e tutti i livelli
superiori senza interferire con questi. Il grado di protezione dipende solo dal metodo crittografico utilizzato. In
pratica la protezione sul livello rete offre un tipo di protezione di tipo generale molto flessibile, che protegge tutti
i tipi di traffico che passano su questo livello. Questa protezione è indipendente verso il basso dal tipo di media
utilizzato, ed è indipendente verso l’alto dalla applicazione utilizzata. Questo significa che è trasparente nei
confronti dei livelli superiori. Ovvero i livelli superiori non si accorgono di essere protetti.

Un altro vantaggio di implementare la sicurezza a livello rete è che le informazioni di questo livello (ad esempio,
gli indirizzi IP) sono aggiunti in questo livello, e i meccanismi di sicurezza possono proteggere sia i dati all'interno
dei pacchetti (payload) che e le informazioni di IP (header).
Un limite di implementare la sicurezza al livello rete è la difficoltà che ha questo livello nell'occuparsi di problemi
che riguardano i livelli superiori come la non-repudiation dei dati. Questo viene gestito meglio nei livelli più alti
che sono dotati di maggiore intelligenza.
IPsec (IP Security), offre la sicurezza al livello rete. IPsec è attualmente l'unico protocollo che può assicurare tutti i
tipi di traffico Internet.

Descrizione dei Protocolli di Tunneling


Diverse tecnologie di livello rete sono disponibili per abilitare dei protocolli di tunneling attraverso le reti per
creare una VPN.

Page 146 of 157


Giugno 2013

Ci sono tre principali protocolli di tunnel:


 L2TP (Layer 2 Tunneling Protocol).
 GRE (Cisco Generic Routing Encapsulation).
 IPsec (IP Security) tunnel mode.

Il Protocollo Layer 2 Tunneling Protocol (L2TP)


Prima dello standard L2TP (agosto 1999) RFC 2661, Cisco ha utilizzato il protocollo Layer 2 Forwarding (L2F) come
suo protocollo di tunneling proprietario. All’epoca anche Microsoft aveva un suo protocollo di tunneling
proprietario il Point-to-Point Tunneling Protocol (PPTP). Questi due protocolli erano molto simili,
successivamente le due società Cisco e Microsoft si sono accordate per fondere i due protocolli in un unico
protocollo. Creando così il protocollo Layer 2 Tunneling Protocol (L2TP).
Il protocollo L2TP è compatibile all’indietro con il protocollo L2F. Mentre il protocollo L2F non è direttamente
compatibile con L2TP. Attualmente Microsoft che ha supportato il protocollo PPTP nelle sue più prime versioni di
Windows utilizza PPTP/L2TP in Windows NT/2000/XP.
Il protocollo L2TP attualmente è uno standard IETF risultato dalla fusione dei due protocolli proprietari Cisco (L2F)
e Microsoft (PPTP) ed è una soluzione di tunneling di livello 2. L2TP combina le migliori caratteristiche del
protocollo Cisco Layer Two Forwarding (L2F) e del protocollo Microsoft Point-to-Point Tunneling Protocol (PPTP),
abilitando così i lavoratori mobili a connettersi alla loro intranet o extranet dovunque e ogni volta che lo
richiedono.
L2TP è un modo standard di costruire un Accesso VPN che simula reti private che usano un infrastruttura di rete
condivisa come Internet. Questo Accesso VPN offre un accesso remoto per gli utenti mobili, telecommuters, e i
piccoli uffici attraverso dial-up, ISDN, xDSL, e cavo.
L2TP è usato per creare un tunnelling indipendente dal tipo di media utilizzato, multiprotocol Virtual Private Dial
Network (VPDN). L2TP permette agli utenti di invocare politiche di sicurezza societarie attraverso ogni
collegamento VPN o VPDN come una estensione delle loro reti interne.
I Benefici di utilizzare il protocollo L2TP includono l'autenticazione per l’utente, l'allocazione dinamica di un
indirizzo da un pool di indirizzi o usando un server DHCP, più RADIUS e il supporto di AAA.
Il protocollo L2TP viene utilizzato al meglio nelle VPN remote-access che richiedono un supporto multiprotocollo.
Un limite di L2TP è che è un protocollo di solo tunneling e non offre cifratura, quindi, il traffico, se intercettato
può essere liberamente esaminato con un analizzatore di protocollo. L2TP non supporta l’integrità del pacchetto.
Il protocollo Cisco Generic Routing Encapsulation (GRE)
Il protocollo GRE è una tecnologia di tunneling sviluppato originariamente da Cisco che agisce a livello 3 della pila
OSI che esiste da anni e che è stato standardizzato nelle RFC 1701, RFC 1702 e RFC 2784. Cisco ha supportato
questa tecnologia di tunneling fin dall’IOS Cisco versione 9.21. Questo multiprotocollo trasporta protocolli IP
incapsulati, CLNP, ed ogni altro pacchetto di protocollo nei tunnel IP.
Con il tunneling GRE, un router Cisco in ogni sede incapsula pacchetti di specifici protocolli in un header IP,
creando un collegamento virtuale punto-a-punto verso i routers Cisco e ad ogni termine di una cloud IP, da dove
lo header IP viene rimosso.
Connettendo differenti reti che funzionano con differenti protocolli (multiprotocollo) su un ambiente di dorsale a
protocollo singolo, il tunneling IP permette l’espansione della rete attraverso un ambiente di dorsale a protocollo
singolo. Il tunneling GRE permette a protocolli desktop di approfittare delle migliorate capacità di selezione del
percorso di instradamento IP. Il protocollo GRE viene utilizzato al meglio nelle VPN site-to-site che richiedono un
supporto multiprotocollo.
Il GRE è un protocollo di solo tunneling e non offre una cifratura al payload e quindi, il traffico, se intercettato
può essere liberamente esaminato con un analizzatore di protocollo. Il GRE non supporta l’integrità del
pacchetto.

Quando usare GRE e L2TP


In sostanza i due protocolli GRE e L2TP vengono usati quando è necessario fare il tunneling a pacchetti differenti
dal tipo IP unicast. Per protocolli multipli o tunneling multicast di IP.
Per il traffico di rete che usa il networking Microsoft, il protocollo L2TP può essere la scelta migliore. A causa del
suo PPP (Point-to-Point Protocol), L2TP può andare bene anche per una VPN ad accesso remoto che richiede un
supporto multiprotocollo.
Il protocollo GRE è la scelta migliore per realizzare una VPN end-to-end che richiede il supporto di protocolli
multipli. Il GRE è usato tipicamente per realizzare tunnel di pacchetti multicast come i protocolli di routing. Il
protocollo GRE incapsula ogni traffico, tra la sorgente e la destinazione.
I protocolli di tunneling L2TP e GRE non supportano la cifratura dei dati o l'integrità del pacchetto dei dati.

Page 147 of 157


Giugno 2013

In questi casi, il pacchetto tunnelizzato con questi protocolli (GRE, L2TP) non fornisce vera riservatezza ai dati, in
quanto privi di protezione crittografica ma, per ottenere la cifratura e l’integrità del pacchetto è possibile
trasportare i pacchetti cifrati da un altro protocollo, IPsec appunto. IPsec viene usato in combinazione con questi
due protocolli di tunneling per cifrare i dati prima che vengano immessi nel tunnel e decifrati alla sua uscita.
Avremo quindi dei tunnel L2TP/IPsec o GRE/IPsec.
Il protocollo IP security (IPsec)
IPsec è un protocollo o meglio un framework (una struttura) di protocolli ideato e progettato dall’IETF durante lo
sviluppo dello standard IPv6 ed in seguito inserito nell’IPv4. Attualmente IPsec è lo Standard IETF per la cifratura
e il tunneling di livello 3. L'architettura di IPsec viene descritta nella attuale terza versione delle RFC riguardanti
IPsec la RFC 4301. IPsec ed è attualmente la scelta migliore per realizzare delle VPN sicure. IPsec non è un singolo
protocollo ma è una struttura/framework di standard aperti che offrono i servizi di Riservatezza, Integrità,
Autenticazione dei dati tra sender e receiver (pari partecipanti). In base alle necessità del traffico che deve
essere trasmesso su una rete bisogna selezionare i migliori protocolli per realizzare una VPN.
IPsec offre questi servizi di sicurezza usando il protocollo Internet Key Exchange (IKE) per gestire la negoziazione
di protocolli ed algoritmi basata su una politica di sicurezza locale per generare la cifratura e l'autenticazione
adatta ad essere usata da IPsec.
Il diagramma di flusso seguente mostra un processo per selezionare un protocollo di tunnelling adatto a
realizzare una VPN in base al tipo di traffico di dati.

Quando usare IPsec


Il protocollo IPsec è attualmente una delle scelte principali per realizzare una VPN. Un limite di IPsec è che
supporta solamente del traffico unicast di IP cioè, del traffico verso un indirizzo di rete unico che rappresenta una
unica destinazione di un unico indirizzo IP ovvero, del traffico da uno-a-uno. Questo è differente da un indirizzo IP
multicast che è un indirizzo di rete unico che rappresenta un gruppo di destinazioni cioè, differenti host ovvero,
del traffico da uno-a-molti. Il traffico multicast viene riferito come il traffico di un pacchetto trasmesso da un
indirizzo IP che rappresenta un solo host verso un indirizzo IP che rappresenta più host che sono specificamente
interessati a ricevere copie di quel pacchetto. Il pacchetto viene letto da tutto il gruppo di dispositivi che
appartiene a quel gruppo multicast.
Il multicasting viene usato molto spesso per flussi audio e video. Per il mittente ci sono due vantaggi ad usare il
multicast. Il primo è che il mittente ha bisogno di creare e spedire un solo pacchetto per tutto il gruppo, invece di
creare e spedire un pacchetto diverso per ciascun ricevente. Secondo, il multicasting riduce l’uso della banda.
IPsec non offre attualmente protezione per il traffico multicast, perché IPsec è stato progettato specificamente
per proteggere le comunicazioni tra due specifici punti ai termini di un tunnel IPsec end-to-end. Inoltre, le
trasmissioni multicast sollevano parecchi problemi relativi alla sicurezza e alla scalabilità. Sulla sicurezza: di una
stessa chiave segreta condivisa da molti utenti; sugli aggiornamenti e distribuzione dei segreti condivisi; sulle

Page 148 of 157


Giugno 2013

autenticazioni degli utenti; sulle diagnosi dei problemi. Quesiti questi, che possono annullare la protezione al
traffico fornita da IPsec.
Al momento i ricercatori della IETF con il Multicast Security Working Group (MSEC) e della IRTF con il Group
Security Research (GSEC) stanno studiando soluzioni fattibili per poter estendere IPsec così da poter supportare il
traffico multicast, almeno per piccoli gruppi senza dover perdere i suoi metodi di autenticazione.

Identificare i termini delle VPN e di IPsec


I termini seguenti e le loro definizioni identificano i componenti chiave e gli elementi impiegati comunemente
nelle VPN IPsec:
 Tunnel – Il tunnel è un collegamento virtuale da punto-a-punto usato in una rete per trasportare
traffico da un protocollo incapsulato dentro un altro protocollo. Per esempio, cyphertext trasportati
in un pacchetto IP.
 Encryption/Decryption – La Cifratura è il processo che trasforma le informazioni contenute in un
testo in chiaro, mediante uno scrambling digitale in una forma non comprensibile
chiamata cyphertext così che non sarà leggibile o usabile da utenti non autorizzati.
La Decifratura trasforma di nuovo il cyphertext in chiaro, in modo da renderlo accessibile per
essere letto o usato dagli utenti autorizzati.
 Cryptosystem – È un sistema per portare a termine l'encryption/decryption, l'autenticazione
dell’utente, l’hashing, e i processi di scambio delle chiavi. Un cryptosystem può usare uno o più
metodi differenti, dipendendo questo sia dalla politica di sicurezza che deve essere implementata
sia dalle situazioni in cui può trovarsi il traffico dell’utente.
 Hashing –È una tecnologia di sicurezza che garantisce l’integrità dei dati che utilizza una formula,
un algoritmo, una funzione matematica per convertire un imput di lunghezza variabile e una chiave
segreta condivisa in una sola sequenza di cifre di lunghezza fissa. Il message/key e l’hash viaggiano
nella rete da sorgente a destinazione. Alla destinazione l’hash viene ricalcolato e viene usato per
verificare che il messaggio e la chiave non siano state modificate mentre viaggiava sulla rete.
 Authentication –L'autenticazione è il processo di verifica di identità di un utente o un di processo
che tenta di accedere a un sistema di computer o ad un collegamento di rete. L'autenticazione
assicura che l'individuo o il processo è chi dice di essere. L'autenticazione non conferisce diritti di
accesso associati.
 Authorization –L’Autorizzazione è il processo di dare ad individui autenticati o a processi di
accedere a sistemi di computer o risorse di collegamento di rete.
 Accounting – Funzione che permette di tracciare il consumo delle risorse da parte degli utenti e
dei processi, permettendo di attribuire la responsabilità degli eventi agli individui e ai processi che
li hanno causati.
 Key management –La gestione della chiave - Una chiave è una informazione, di solito una sequenza
casuale o una apparentemente casuale sequenza di cifre binarie, usate inizialmente per
settare/mettere su e periodicamente cambiare le operazioni compiute in un cryptosystem. La
gestione della chiave è la supervisione e il controllo del processo da dove le chiavi sono generate,
immagazzinate, protette, trasferite, caricate, usate, e distrutte.
 Key Strength - Una misura della difficoltà di decifrare un Ciphertext quando l’algoritmo di Cifratura
è conosciuto e solo la chiave è sconosciuta. La forza di una chiave è usualmente in funzione della
lunghezza della chiave. Più è lunga più è forte.
 Random Number Generator (RNG) – È un particolare algoritmo che genera dei numeri casuali.
 PseudoRandom Number Generator (PRNG) – È un particolare algoritmo che genera dei numeri
Pseudo-casuali.
 Cryptographically Secure PseudoRandom Number Generator (CSPRNG) – È un generatore di
numeri pseudo-casuali crittograficamente sicuro. Questo generatore è un particolare
algoritmo, fondamentale nel campo della crittografia, per poter generare dei valori che
siano veramente casuali cioè, che abbia un range di imprevedibilità molto ampio all’interno di un
sistema informatico che per definizione è prettamente deterministico e prevedibile. Di CSPRNG ve
ne sono di diversi tipi tra i più famosi citiamo Fortuna, metodo monte carlo, blum blum shub,
mersenne twister.
 Hardware Random Number Generator (HPRNG)– Un generatore hardware di numeri pseudo-
casuali è un apparato che genera numeri pseudo-casuali da un processo fisico. Tali dispositivi
basano il loro output su fenomeni tipicamente microscopici come il rumore dovuto all’agitazione
termica o da altri fenomeni quantistici. I processi che generano questi numeri sono completamente
impredicibili.

Page 149 of 157


Giugno 2013

 Certificate of Authority (CA) service –Una Certificate Autority è una parte terza agli utenti che
offre un servizio che serve a creare e garantire “fiducia” fra le entità di rete o gli utenti creando ed
assegnando certificati digitali, come certificati a chiave pubblica, per scopi di cifratura. Una CA
attesta, garantisce sulla autenticità dei dati del certificato. La CA a richiesta può creare le chiavi di
cifratura per gli utenti.
 Analisi del Traffico – L'analisi del flusso di traffico di una rete o di un collegamento viene fatta allo
scopo di ricavare informazioni che possono essere utili per un attaccante. Esempi di informazioni
che sono ricavabili da un monitoraggio su una rete sono la frequenza di trasmissione, le identità dei
pari comunicanti, la grandezza dei pacchetti e l’identificazione del flusso.

I termini seguenti definiscono protocolli chiave e gli elementi che compongono IPsec:

 Authentication Header (AH) –È un protocollo di sicurezza che offre l’autenticazione dei dati,
l'integrità dei dati, e opzionalmente un servizio anti-ripetizione. AH viene inserito all’interno dei
dati per essere protetto.
 ncapsulating Security Payload. (ESP) – È un protocollo di sicurezza che fornisce i servizi
di riservatezza dei dati, integrità dei dati, l'autenticazione dell’origine dei dati, offre anche
opzionalmente il servizio anti-ripetizione. ESP viene incapsulato nei dati per essere protetto.
 Internet Key Exchange (IKE) –È un protocollo ibrido che implementa parte dei protocolli Oakley
(Oakley key exchange) e la suite di protocolli Skeme (Skeme key exchange) nella struttura di
ISAKMP (Internet Security Association Key Management Protocol). L’Oakley e SKEME ognuno dei
quali definisce un metodo per stabilire uno scambio di chiave autenticato. Questo include la
costruzione del payload, i payload delle informazioni trasportate, l'ordine nel quale sono trattate le
chiavi e come le chiavi sono usate.
 Internet Security Association and Key Management Protocol (ISAKMP) –. È una struttura di
protocollo per la negoziazione dei parametri di sicurezza che definisce il formato del payload, le
meccaniche di implementare un protocollo di scambio di chiave, il tipo di crittografia, e la
negoziazione di una SA (Security Association).
 Diffie-Hellman Group – È un valore che specifica il tipo di generatore di cifratura (modulus per
[MODP] e curva ellittica per [EC2N]) e la lunghezza della chiave da essere usata per generare un
segreto condiviso. Attualmente sono definiti 10 gruppi. La RFC 2409 definisce i gruppi da 1 a 4.
La RFC 3526, definisce il gruppo 5 e i gruppi da 14 a 18.
 Security Association (SA) –È un insieme di parametri che viene usato per mettere su una
connessione logica di tipo simplex (uni-direzionale) per proteggere le informazioni. Tutto il traffico
dei dati che viene fatto passare attraverso una SA tra due pari che si accordano per condividere le
stesse politiche di sicurezza e le chiavi per proteggere le loro comunicazioni.
 Security Association Database (SADB) – è un database dove vengono raccolte tutte le Security
Association attive.
 Security Policy (SP) – È un elenco di politiche di sicurezza che devono essere applicate.
 Security Policy Database (SPDB) – è un database dove vengono raccolte tutte le Security Policy
attive.
 Peer Authorization Database (PADB) – è un database che fornisce i collegamenti tra il database
SPDB e un protocollo di gestione delle Security Association come IKE.
 Authentication, Authorization, Accounting (AAA) – I servizi di sicurezza di rete che offrono la
struttura primaria che realizzano le tre funzioni di Autenticazione (authentication), il controllo
degli accessi (authorization) e l’(accounting) è settato su routers o su server di
accesso. L'espressione "protocollo AAA" non si riferisce ad un particolare protocollo ma a una
famiglia di protocolli che offrono, anche in modi diversi, i servizi citati. I servizi offerti da AAA sono
specificati nelle RFC 2903, 2904, 2905, 2906, 3539. Le due maggiori alternative per l’AAA sono
TACACS+ e Radius.
 Terminal Access Controller Access Control System Plus (TACACS+) – Una applicazione
di sicurezza che offre la conferma centralizzata agli utenti che tentano di guadagnare l’accesso ad
un router o al server di accesso alla rete. TACACS+ è un protocollo che fornisce il controllo di
accesso per routers, NAS (network access servers) e altre apparecchiature di rete attraverso un
server centralizzato. TACACS+ fornisce dei servizi separati di Authentication, Authorization e
Accounting. TACACS+ è un protocollo proprietario CISCO.
 Remote Authentication Dial-In User Service (RADIUS) – Un sistema client/server distribuito che
garantisce le reti contro gli accessi non autorizzati. RADIUS è un protocollo che viene usato da

Page 150 of 157


Giugno 2013

applicazioni per ottenere l’autenticazione e l’accesso a reti sia in da locale che da roaming. Viene
specificato nelle RFC 2865, 2866.
 Nonces – Un nonce è l’acronimo di “number used once” cioè, un numero usato una sola volta. Un
nonce è di solito un valore casuale o pseudo-casuale che viene usato come imput in molti tipi di
calcoli crittografici, incluso il supporto per l'integrità della negoziazione. Per esempio, host A invia
un nonce all’host B. l’host B compie i calcoli e invia i risultati all’host A; l’host A poi usa l’originale
valore nonce per con-validare il risultato dell’host B. Nonces sono valori che vengono anche usati
per garantire dagli attacchi di ripetizione e assicura che ogni scambio di pacchetti sia nuovo,
piuttosto che una ripetizione di uno scambio di pacchetto precedente e/o artefatto. Un nonce è un
valore che viene usato negli algoritmi a crittografia simmetrica in modalità CBC, modalità questa
che richiede appunto un valore casuale per sincronizzare i vari blocchi di cifratura chiamato IV
(Initial Value). Un nonce crittograficamente sicuro viene generato da un CSPRNG o da un generatore
Hardware sicuro di numeri pseudo-casuali.
 IP Payload Compression Protocol (IPComp) – il protocollo IPComp (RFC 3173) compie una
compressione del pacchetto senza perdite per il payload.

VPN ovvero Reti Private Virtuali: Tecnologia IPsec v3


Il Cryptosystem (cioè l’implementazione hardware e software della crittografia) in IPsec
Un sistema crittografico (Cryptosystem) è un insieme di differenti metodi per portare a termine l'autenticazione
dell’utente e/o dell’apparecchiatura, la cifratura, la decifratura, l’integrità del messaggio con l’hashing, e i
processi di scambio delle chiavi. In un cryptosystem la combinazione, la sinergia di tutti questi differenti metodi
realizza un insieme sistematico e coerente che garantisce la sicurezza alle trasmissioni. L’utilizzo di un metodo
piuttosto che un altro dipende dalle circostanze in cui si può trovare il traffico dell’utente.

Il sistema crittografico può essere descritto in base:


alla gestione dello scambio delle chiavi
 con operazioni manuali
 con lo scambio delle chiavi segrete metodo Diffie-Hellmann
 con lo scambio di chiavi pubbliche tramite una Certificate Authority
tipi di cifratura
 simmetrica : a chiave segreta DES, 3DES, AES, CAMELLIA.
 asimmetrica: a chiave pubblica : RSA
autenticazione
 con MAC e poi con HMAC
 con la firma digitale
firme HASH per garantire l’integrità dei dati
 SHA
 MD5
 AES-XCBC

Page 151 of 157


Giugno 2013

Tipi di cifratura
La cifratura dei dati è una operazione two-way. Cioè, i dati in chiaro possono essere trasformati mediante uno
scrambling digitale in un testo cifrato. Questa operazione di scrambling digitale può essere invertita restituendo il
testo in chiaro originale. Il processo di cifratura/decifratura si avvale durante la sua elaborazione di alcune
particolari stringhe di dati chiamate chiavi che vengono combinate con i dati durante un procedimento
chiamato algoritmo di cifratura. Le chiavi sono delle stringhe di numeri binari che rispettano alcuni principi
matematici molto rigidi. Queste chiavi regolano il processo di funzionamento dell’algoritmo di cifratura. In base
al tipo di chiave utilizzata la cifratura viene distinta in :
 Cifratura Simmetrica
 Cifratura Asimmetrica

La cifratura Simmetrica
La figura sotto è una rappresentazione del funzionamento della cifratura simmetrica che è anche nota come
cifratura a chiave segreta. In questo tipo di cifratura i due utenti origine e destinazione sono entrambi in possesso
della stessa chiave di cifratura che serve sia a cifrare che a decifrare. La cifratura simmetrica si usa per grandi
volumi di dati. Durante la fase di scambio dei dati, le chiavi possono cambiare molte volte.
La cifratura simmetrica è estesamente usata in informatica poiché ha un relativamente basso carico di lavoro
sulla CPU.

Le caratteristiche di un algoritmo crittografico


La più importante caratteristica di un algoritmo cryptographic è la sua robustezza agli attacchi. La sicurezza di un
cryptosystem, o il grado di difficoltà per un attaccante di determinare i contenuti del ciphertext, è funzione di
alcune variabili. Tra le variabili da prendere in considerazione oltre la robustezza degli algoritmi, cioè, dei
procedimenti a cui vengono sottoposti i testi da cifrare/decifrare. Procedimenti questi (algoritmi) che non è
necessario siano segreti. Certamente è fondamentale la segretezza della chiave usata per cifrare/decifrare
(principio di kerckhoffs pubblicato nella Cryptographie Militaire 1883 “La sicurezza di un crittosistema non deve
dipendere dal tener celato il crittoalgoritmo. La sicurezza dipenderà solo dal tener celata la chiave. ”). Di solito
la lunghezza della chiave di cifratura è una garanzia di sicurezza e di robustezza agli attacchi. Maggiore è la sua
lunghezza maggiore è la sicurezza.
Gli algoritmi di crittografia moderni sono costruiti in maniera tale che sia quasi impossibile determinare il testo in
chiaro senza avere questa chiave. In ogni cryptosystem, vengono prese molte precauzioni per proteggere la
segretezza della chiave di cifratura.
La robustezza, “infrangibilità” di un algoritmo di crittografia viene dimostrata matematicamente in base al tipo di
attacco più efficiente per quell’algoritmo. Questo tipo di attacco deve dimostrare che sia impraticabile cioè, che
con le tecnologie computazionali attuali e con quelle ragionevolmente prevedibili per i prossimi anni riuscire ad
ottenere come risultato la “rottura” dell’algoritmo.

Tipi di cifratura simmetrica


La cifratura simmetrica si può dividere in base alla modalità in cui vengono cifrati i dati in: cifratura Stream e
cifratura a Blocchi

La cifratura Stream
Quando bisogna cifrare uno Stream di dati, avviene che all’algoritmo di cifratura arriva un flusso di dati, uno
stream di dati appunto. L’algoritmo di cifratura stream una volta inizializzato con una chiave, genera
dinamicamente per ogni bit del flusso entrante da cifrare, la chiave di cifratura, che viene chiamata “key-stream”.
A questo punto i bit del flusso verranno cifrati un bit alla volta. Questo tipo di crittografia si offre per la cifratura
di grandi quantità di dati.

La cifratura a blocchi
Quando bisogna cifrare dei dati questi, vengono divisi in piccoli blocchi di lunghezza definita. Su questi blocchi
vengono effettuate una serie di operazioni crittografiche chiamate “round” con l’ausilio di blocchi di chiavi
crittografiche. In genere, la lunghezza dei blocchi di chiavi hanno la stessa lunghezza dei blocchi di dati ma,
possono essere più lunghe.
La cifratura a blocchi può essere eseguita in cinque modalità:
ECB (Electronic Code Book) – In questa modalità ogni blocco è cifrato in modo indipendente dagli altri blocchi.

Page 152 of 157


Giugno 2013

CBC (Cipher Block Chaining) – In questa modalità ogni blocco viene sincronizzato dall’algoritmo di cifratura con il
blocco precedente, il primo blocco ha un IV (Initial Value) noto come (self-synchronizing) valore questo che viene
ottenuto da un particolare generatore di numeri casuali crittograficamente sicuro il CSPRNG (Cryptographically
Secure Pseudo-Random Number Generator). Non è necessario che gli IV (Initial Value) siano segreti, ma devono
essere impredicibili.
CFB (Cipher FeedBack) – In questa modalità viene generato in interazione con un IV (Initial Value) un blocco
keystream che viene utilizzato per trattare in XOR (OR esclusivo) il blocco di dati in chiaro per realizzare il
Ciphertext.
OFB (Output FeedBack) – In questa modalità che ha delle similarità con il Cipher FeedBack e permette la cifratura
di blocchi di grandezza differenti, con la differenza che l’output della funzione di blocco di cifratura è il FeedBack
(invece del ciphertext). La cifratura viene realizzata trattando in XOR (OR esclusivo) ogni blocco di plaintext per
realizzare il Ciphertext. Per questa modalità viene generato un vettore di inizializzazione IV (Initial Value).
CTR (Counter) – In questa modalità la Cifratura dei blocchi viene implementata attraverso un set di imput di
blocchi, chiamati contatori. Questi contatori producono una sequenza di blocchi che sono un OR esclusivo con il
plaintext da cui si ricava il ciphertext, questa operazione è invertibile. La sequenza di contatori devono avere la
proprietà che ogni blocco nella sequenza sia diverso da ogni altro blocco. Se vi sono più messaggi cifrati dalla
stessa chiave, i contatori devono essere differenti.

In IPsec gli algoritmi di crittografia simmetrica utilizzati vengono eseguiti in modalità CBC.

Crittografia a rete di Feistel


In crittografia, una struttura a rete di Feistel è un tipo di cifratura a blocchi con una particolare struttura
sviluppata dal crittologo dell’IBM Horst Feistel, da cui ha preso il nome. La struttura a rete di Feistel ha il
vantaggio che la cifratura e la decifratura diventano delle operazioni molto simili, richiedendo per l’inversione del
funzionamento solamente un'inversione del gestore della chiave. È quindi possibile realizzare dei circuiti che sia
in cifratura che in decifratura sono spesso gli stessi.
Un grande numero di algoritmi di crittografia a blocchi usano la struttura a rete di Feistel inclusi il DES, 3DES, AES,
e Camellia. Tutti questi sono algoritmi di crittografia simmetrica utilizzati in IPsec in modalità CBC.

Il DES
Il DES (Digital Encryption Standard) è uno degli standard di cifratura simmetrici tra i più estesamente usati,
almeno fino a qualche anno fa. Il DES traduce un testo chiaro in un testo cifrato usando un algoritmo di cifratura.
L'algoritmo di decifratura sulla fine remota ripristina il testo in chiaro da un ciphertext. Le Chiavi abilitano la
cifratura e la decifratura.
Il DES opera su blocchi di dati da 64-bit. L'algoritmo usa una serie di passi per trasformare degli blocchi di imput
da 64-bit in blocchi di output da 64-bit. Nella sua forma standard, l'algoritmo usa chiavi da 64-bit dai quali sono
scelte casualmente 56-bit. Il rimanenti 8-bit sono bit di parità, uno per ciascun blocco di 7-bit dei 56-bit scelti
casualmente. Siccome vengono usati in una chiave DES 56-bit, per trovare con un metodo a forza bruta ovvero,
con un metodo che prova tutte le chiavi possibili una a una, fino a trovare la chiave giusta occorrerebbero 2 alla
56 tentativi per trovare la chiave segreta di cifratura. Il numero esatto di tentativi è 2 alla 55. Ovvero il DES
darebbe luogo ad uno spazio delle chiavi di settantadue milioni di miliardi di combinazioni
(72.057.594.037.927.936). Il DES fino al 1998 era lo schema di cifratura simmetrico più estesamente usato. In
seguito ad una sfida scientifica internazionale indetta dalla RSA l’algoritmo DES venne craccato dalla EFF
(Electronic Frontier Foundation) che finanziò, coordinò e costruì una macchina apposita il DES Cracker, finalizzato
a decriptare a forza bruta il DES. Attualmente il DES non viene più utilizzato.

3DES
Ritenendo la lunghezza delle chiavi del DES troppo corta e quindi considerandolo insicuro sono stati progettati
diversi altri algoritmi tra cui il 3DES. Il 3DES (Triple DES) è un algoritmo che preserva l'investimento esistente in
software fatto per implementare il DES ma rende più difficile gli attacchi a brute-force. Questo algoritmo
sviluppato a partire dal DES con struttura a rete di Feistel è molto più robusto del suo predecessore e raddoppia
effettivamente la sua robustezza.
Il 3DES prende un blocco di dati da 64-bit dai quali sono scelti casualmente 56-bit. Il rimanenti 8-bits sono bit di
parità, uno per ciascun blocco di 7-bit dei 56-bit scelti casualmente e compie su questi blocchi di dati per tre volte
di seguito l’operazione di cifratura con due o tre chiavi differenti a 56 bit, operazione questa chiamata “tecnica
EDE (Encryption Decryption Encryption)” (nel caso di due chiavi differenti la prima e l’ultima operazione
utilizzeranno la stessa chiave. Nel caso si usino tre chiavi differenti ogni operazione sul blocco userà una chiave

Page 153 of 157


Giugno 2013

differente) che rende effettivamente la chiave di cifratura di 168 bit e aumentando enormemente lo spazio di
combinazioni delle chiavi.
Siccome vengono usati in una chiave 3DES 168-bit, per trovare con un metodo a forza bruta la giusta chiave
ovvero, con un metodo che prova tutte le chiavi possibili una a una, fino a trovare la chiave giusta occorrerebbero
2 alla 168 tentativi per trovare la chiave segreta di cifratura. Ovvero il 3DES darebbe luogo ad uno spazio delle
chiavi di 370 trilioni di trilioni di trilioni di trilioni di combinazioni.
Il vantaggio di usare il 3DES è che utilizza lo stesso standard del DES. Un limite nell’usare il 3DES è il tempo di
lavorazione supplementare richiesto rispetto al DES richiede infatti il triplo del tempo sia per la cifratura che per
la decifratura.

AES
L’AES (Advanced Encryption Standard) è un algoritmo di cifratura con struttura a rete di Feistel divenuto standard
nel 2001, conosciuto anche come algoritmo Rijndael (acronimo ottenuto dal nome dei due autori Vincent Rijmen
e Joan Daemen). È un algoritmo pubblico progettato per sostituire il DES e il 3DES. L’AES è il risultato di una gara
internazionale intentata dal NIST (National Institute of Standard and Technology).
Le caratteristiche tecniche di questo algoritmo di cifratura simmetrica sono di prendere blocchi di dati da 128 bit
e di avere chiavi di grandezza variabile tra 128, 192, e 256 bit. I requisiti di utilizzo della memoria sono molto
bassi. Ed ha una grande efficienza computazionale su moti tipi di calcolatori. Il gruppo di sviluppo di IPsec dell’
IETF ha adottato l’AES (Advanced Encryption Standard) come algoritmo di cifratura predefinito per IPsec
sostituendolo ai DES e 3DES.

CAMELLIA
Camellia è un algoritmo di Cifratura simmetrica con struttura a rete di Feistel. Camellia è un algoritmo di
Cifratura simmetrica che è stato sviluppato nel 2000 in collaborazione fra le giapponesi NTT (Nippon Telegraph
and Telephone Corporation) e Mitsubishi Electric Corporation. È un algoritmo che è stato progettato per resistere
ad ogni attacco criptoanalitico noto. Camellia è un algoritmo implementabile sia in software che in hardware,
offrendo lo stesso livello di sicurezza e di velocità di cifratura paragonabili all’AES.
Le caratteristiche tecniche di Camellia sono di prendere blocchi di dati da 128-bit ed avere chiavi di grandezza
variabile tra 128, 192, e 256 bit. La grandezza predefinita delle chiavi è 128 bit. L’algoritmo Camellia liberamente
disponibile è stato standardizzato dall’IETF con laRFC 3657 ed è stato implementato in IPsec RFC 4312.
Gli algoritmi DES, 3DES, AES e CAMELLIA, sono di pubblico dominio e liberamente disponibili.

La cifratura Asimmetrica
Nel 1976 Whitfield Diffie e Martin Hellman due ricercatori crittologi americani pubblicarono un fondamentale
studio teorico dal titolo “New Directions in Cryptography”. In questo studio veniva illustrato la fattibilità di un
nuovo metodo di cifratura “la cifratura asimmetrica” conosciuta anche come la “cifratura a chiave pubblica”. Con

Page 154 of 157


Giugno 2013

questo tipo di cifratura è stato risolto il problema della gestione delle chiavi che non occorre più trasmettere al
destinatario del messaggio per la decodifica, con il pericolo che possano essere intercettate durante lo scambio.
La realizzazione della cifratura asimmetrica si basa sul concetto fondamentale in cui sono richiesti due differenti
ma, strettamente connessi, valori di chiave. Questi valori sono chiamati chiave pubblica e chiave privata. In cui le
chiavi private sono tenute segrete mentre le chiavi pubbliche vengono diffuse pubblicamente. Questo perché il
modo particolare in cui vengono costruite le chiavi permettono di cifrare un messaggio con la chiave pubblica e di
decifrarlo “solamente” con la corrispondente chiave privata.

Ad esempio, se due utenti Alice e Bob vogliono comunicare usando la cifratura a chiave pubblica, hanno
entrambi bisogno di una coppia di chiavi pubbliche e di chiavi private. Alice deve creare la sua coppia di chiavi
pubblica/privata, e Bob deve creare la sua coppia di chiavi pubblica/privata. Quando devono comunicare l’un
l’altro in sicurezza, Alice e Bob usano chiavi diverse per cifrare e decifrare i dati. Ovvero Alice cifra un messaggio
diretto a Bob con la chiave pubblica di Bob e questo può essere decodificato “solo” dalla corrispondente chiave
privata di Bob che è unica ed strettamente associata a quella pubblica. Bob in risposta ad Alice cifrerà il
messaggio con la chiave pubblica di Alice che solo Alice potrà decifrare con la sua chiave privata.

I meccanismi usati per generare queste coppie di chiavi pubblico/private sono complessi. Loro risultano dalla
generazione di due numeri casuali, due numeri primi molto grandi dell’ordine di 200, 300 cifre circa almeno. Uno
dei due numeri casuali diviene la chiave pubblica e l'altro diviene la chiave privata. Generare questi numeri è un
processo molto pesante per il microprocessore. I numeri, così come il loro prodotto, devono aderire ad un severo
criterio matematico per preservare l'unicità di ogni coppia di chiavi pubblica/privata. Criterio che hanno alcune
funzioni matematiche definite “funzioni a trabocchetto”. Queste funzioni agiscono in modo tale che ad esempio

Page 155 of 157


Giugno 2013

sia facile calcolare il prodotto di due numeri primi ma, sia estremamente difficile, “impossibile” calcolare i suoi
fattori primi. Gli Algoritmi di cifratura a chiave pubblica sono usati raramente per garantire la riservatezza dei dati
a causa del sovraccarico di lavoro che richiedono alla CPU rispetto alla cifratura simmetrica. Gli Algoritmi di
cifratura a chiave pubblica sono usati tipicamente invece, nelle applicazioni di autenticazione che comportano
l’uso di firme digitali e nella gestione delle chiavi.
Alcuni dei più comuni algoritmi a chiave pubblica sono l’algoritmo RSA (dalle iniziali degli autori Ron Rivest, Adi
Shamir, e Leonard Adleman), l'algoritmo El’Gamal, l’algoritmo DSA (Digital Segnature Algorithm), e l’algoritmo
ECDSA (Elliptic Curve DSA).

Page 156 of 157

Potrebbero piacerti anche