Sei sulla pagina 1di 147

Sistemi - Classe Quinta robertomana.

it
RETI

RETI
Rev. Digitale 1.0 del 01/09/2016

Introduzione ………………………………………………..………... 3
Cenni sulla trasmissione del segnale Digitale …………..………………… 3
Classificazione delle reti ……..………………………….…………………. 4
Topologie di Rete ………………………………………..…………………. 6
Metodi di accesso al mezzo trasmissivo ……….………..………………… 8
Metodi di Commutazione …………………………………….……………. 9
Protocolli e Standard …………………………………………..…………... 10

Il Modello ISO OSI …………………………………………..…………... 11


Il Modello TCP / IP …………………………………………..…………... 14

Livello 1 Fisico …….………………….…………….………………... 16


Mezzi Trasmissivi e Connettori ………….……………………………… 16
Codifiche di Linea ………………………………………………………… 21
IEEE 802 Project ………………………………………………………… 22
Standard Ethernet 802.3 …………………………………………………… 23
Dispositivi di Rete di Livello 1 : Repeater e Hub ………………………... 26

Livello 2 Data Link …….…………..……………….………………... 28


Scheda di Rete …………………………………………………………….. 28
CSMA / CD ……………………………………………………………….. 29
Il sottolivello MAC ………………………………….………………..……. 30
Il sottolivello LLC ………………………………………………………….. 31
Dispositivi di Rete di Livello 2 : Bridge e Switch ………………………... 32
Standard WiFi 802.11 ……………………………………………………... 36

Livello 3 Rete …….………...……..……………….………………... 39


Indirizzamento IP ………………..……………………………………….. 39
Il protocollo ARP ………………………………….…….…………..……. 42
Subnet Mask ……………………………………………………………….. 43
Reti geografiche : Default Gateway …………..………..………………….. 47
Il Router ………………………………………………………………...… 49
Progettazione di Reti …………………………………………..………….. 51
Tabelle di Routing …….…………………….…………………………….. 52
Comandi Base TCP / IP in ambiente Windows ……………………………. 55
VLSM …………………………………………..……………………….….. 57
Esercizi …………………………………………..…………………….….. 58
Protocollo IP ………………………………………………….…………… 62
Protocollo ICMP ……………………………………………….…………… 64
Protocolli di Routing Dinamico …………………………………………… 66
Aggregazioni ……………………………..………..………….…………… 69

pag 1
Sistemi - Classe Quinta robertomana.it
RETI

Livello 4 Trasporto …….….……..….…..…………..……………... 70


Introduzione al concetto di porta ……..………………………………….. 70
Il protocollo UDP ………………………………….…….…………..……. 72
Socket …….….…………..…………..…………..………………………... 73
Il protocollo TCP ………………………………….…….…………..……. 74
Tecniche di segmentazione di uno stream ………….…….…………..……. 75
Apertura e Chiusura di una connessione TCP ….….…….…………..……. 76
Algoritmi di controllo del flusso dati ………..…………………………….. 78
Algoritmi di controllo della congestione ………………………………….. 80
Firewall ……..………………………………..…………………………….. 82
NAT …………………….……………………..……………….…………… 83
Il livello Sessione ……..…………………..…..…………………………….. 85

Livello 7 Application ….……….………..…………..……………... 86


DHCP (rarp, bootp, apipa) ……………………………..………………….. 86
DNS ……..……………………………………………..………………….. 90
NetBIOS NetBEUI, SMB ……………………………..………………….. 94
Protocollo HTTP ………………………………………..………………….. 97
Proxy Server ……………………………..……………..………………….. 102
Servizio Windows ICS ……………………..…………..………………….. 104
Protocolli FTP e TFTP ..………………………………..………………….. 105
Protocolli TelNet e SSH………………….……………..………………….. 107
Protocolli di Posta Elettronica ……..………..…………..………………….. 108
Web Mail ……..………..………………………………..………………….. 113

Livello 6 Crittografia …….…….………..…………..……………... 114


Algoritmi a chiave simmetrica, asimmetrica e hash ……………………….. 114
SSL e Certificati Digitali ………………………………..………………….. 117
Crittografia nella Posta Elettronica ……….……………………….……….. 119
Network Security …….……..…..…………..………….…..……………... 120
Virus e Antivirus ……..………………………………..………………….. 120
Esposizione su Internet di una rete locale ………..………………………… 121
DMZ ………………………………………………………………………... 123
ACL ..…..………………………………………………………….……….. 126

Il livello Data Link nelle reti Geografiche ……..………..…………... 129


PSTN ……..…………….…………………..…………………….……….. 129
Cenni sullo standard X 25 ……..…………..……………………………….. 130
ISDN ……..……..……….…………………..…………………………….. 130
CDN ……..…………….…………………..……………………………….. 131
Frame Relay ……..………………….………..…………………………….. 132
ATM ……..………………….………………..…………………………….. 134
ADSL ……..…………….………………..…..…………………………….. 136
Modem e Router ADSL …………………………...………….…………….. 137
Il protocollo PPP ………………………………...………….………..…….. 139
Reti VPN …….…….………………..…………………..………………….. 144

pag 2
Sistemi - Classe Quinta robertomana.it
RETI

Introduzione
Dalla macchina stand-alone alla rete. Definizione di LAN da parte di IEEE:
Sistema di Comunicazioni Dati che consente ad un certo numero di dispositivi indipendenti di comunicare
direttamente l'uno con l'altro entro un'area geografica di dimensioni moderate (centinaia di metri ma
anche qualche Km) lungo un canale fisico di comunicazione a velocità moderate (Mbps obsoleto)

Cenni sulla trasmissione del segnale Digitale

I segnali analogici variano con continuità nel tempo (Mondo Fisico)


I segnali digitali possono assumere soltanto alcuni valori. Se questi valori sono solo 2 si parla di segnale digitale
binario (Telematica)

Disturbi
I disturbi possono modificare il valore di un segnale. Il segnale digitale è molto più robusto ai disturbi rispetto a
quello analogico. Può però succedere che un disturbo intenso ed impulsivo porti a modificare lo stato di un bit.

Tempo di propagazione e Attenuazione


I segnali sono onde elettromagnetiche che si propagano alla velocità della luce. Per elevata che sia questa velocità
non è infinita. Per cui ogni segnale per percorrere un certo tratto di cavo impiega un certo tempo > 0.
Inoltre, man mano che percorre il cavo, il segnale subisce inevitabilmente una attenuazione più o meno consistente in
funzione delle caratteristiche del cavo stesso (il coassiale attenua meno del doppino).

Velocità di Trasmissione: Criterio di Nyquist


Ogni mezzo trasmissivo si comporta come un filtro Passa Basso, che taglia le componenti più alte di un segnale.
Maggiore è la velocità di trasmissione di un segnale, maggiore risulta la frequenza dell'onda quadra corrispondente
(f0 = v/2), e dunque maggiore risulta lo spettro del segnale. Affinché la trasmissione sia possibile è necessario che la
larghezza dello spettro del segnale non superi la larghezza di banda del mezzo trasmissivo. Il Criterio di
Nyquist formalizza questo ragionamento: dato un mezzo trasmissivo di banda B, la massima frequenza raggiungibile
è f0 < B. Passando dalla frequenza alla velocità di trasmissione, si ottiene che la massima velocità di trasmissione è:
v [Bit/sec] < 2B
Dunque su un cavo con Banda 10 Mhz la massima velocità teorica consentita è 20 Mbps.
Nota In realtà la formula precedente è riferita non al bit rate ma al boud-rate ( numero di forme d’onda al secondo).
La formula completa per calcolare il massimo bit rate su un canale è v < 2B log2 K, dove K rappresenta il numero
di livelli utilizzati. Si può notare che aumentando il numero dei livelli (cioè K) si può aumentare il bit rate finchè si
vuole. Fino a dove ? La Formula di Shannon esprime il limite fisico del bit rate pari a B log2 (1+S/N), dove S/N è il
rapporto segnale rumore espresso in scala lineare : S/N = 10 ^ (db/10). Es S/N = 30 db = 1000 C = B * log2 (1000)

Trasmissione in Banda Base e Modulazione


Si parla di trasmissione in Banda Base (talvolta detta anche Modulazione in Banda Base) quando si ha
completamente a disposizione l'intero cavo di trasmissione, sul quale “viaggia” un solo segnale alla volta.
Non sempre questo è possibile. La tecnica che consente di trasmettere più segnali sullo stesso mezzo trasmissivo è la
modulazione (detta anche modulazione in banda traslata). Esistono tantissimi tipi di modulazione. Esempi :
FM utilizzata nelle trasmissioni radiofoniche
FDM utilizzata per trasmettere più segnali telefonici su uno stesso cavo
TDM utilizzata per trasmettere contemporaneamente più segnali digitali in un sistema ISDN

pag 3
Sistemi - Classe Quinta robertomana.it
RETI

Classificazioni delle Reti


Le reti vengono divise a seconda della loro estensione geografica in:

LAN: Local Area Network Max 1 km


MAN: Metropolitan Area Network Max 20 km (anche 50)
WAN: Wide Area Network Oltre 20 km

LAN
Local Area Network. Si estendono normalmente su un singolo edificio o su più edifici vicini, e comunque
normalmente all‟interno di ambienti controllati, per cui presentano di norma:
 Elevata velocità di trasmissione
 Elevata affidabilità (Bassa percentuale di errori )

Inoltre:
 Utilizzano sempre una connessione multipunto, dove ogni host può comunicare con tutti gli altri.
 Il canale di comunicazione è unico e condiviso fra tutti gli host (bassi costi)
Consentono di condividere risorse e funzionalità, come ad esempio l'accesso condiviso a Internet

MAN
Metropolitan Area Network. Collegano tra loro un insieme di reti locali all‟interno di un‟area metropolitana.
Solitamente collegano tra loro sezioni differenti di:
 Pubbliche amministrazioni,
 Università,
 Reti civiche,
 Agenzie di servizi.

Sono caratterizzate da:


 Alte velocità di trasmissione
 Costi elevati

Una rete MAN consente agli utenti dislocati in punti geografici diversi di utilizzare le risorse condividendole come se
facessero tutti parte della stessa rete locale. Fino a qualche anno fa erano basate essenzialmente sulla tecnologia
delle reti geografiche, utilizzate su scala urbana (linee in genere affittate da Telecom). Tecnologie più recenti le
hanno rese più simili alle LAN che alle WAN. Ovviamente le MAN hanno una complessità maggiore rispetto alle
LAN; per l‟impiego di linee telefoniche ad alta velocità o di hardware specializzato, e quindi un maggior costo.
Il costo elevato, abbinato alla diffusione capillare di Internet, ha reso le MAN alquanto obsolete.

WAN
Le WAN (Wide Area Network) sono costituite nella maggior parte dalla combinazione di una serie di reti locali
dislocate su aree geografiche molto ampie ed opportunamente connesse in modo da poter comunicare tra loro.
Sono nate per collegare tra loro vari centri di ricerca dislocati a grandi distanze. Sono caratterizzate da:
 Utilizzo, come mezzo di comunicazione, di linee telefoniche affittate.
 Basse Velocità di trasmissione
.

pag 4
Sistemi - Classe Quinta robertomana.it
RETI

Reti paritetiche

In una rete peer to peer o p2p (letteralmente “pari- pari”, cioè tutti con gli stessi diritti) non vengono utilizzati server
dedicati, ma ciascuna macchina funge contemporaneamente sia da client che da server. Questo tipo di rete si
adatta bene a piccole organizzazioni in cui non vi sono particolari problemi di sicurezza, ed in cui generalmente non è
possibile accedere dall‟esterno. In questi casi spesso ogni utente è anche amministratore del proprio computer.
Ogni utente determina quali dati presenti sul proprio computer possono essere visibili dagli altri computer. Allo
stesso modo ciascun utente può rendere condivisibili stampanti, schede fax o altri dispositivi collegati al proprio
computer. Ogni PC vede e può utilizzare le risorse condivise di tutti gli altri PC.

Le reti peer to peer sono utilizzate fino ad un massimo di 10 PC ed hanno dei limiti soprattutto dal punto di vista
delle protezioni. Non esiste cioè un controllo centralizzato delle protezioni. Inoltre si può accedere alle risorse di un
PC soltanto se questo è acceso.

Le funzionalità di rete peer to peer sono generalmente incorporate nei Sistemi Operativi usuali (da Windows 95 in
avanti). Per dichiarare una risorsa condivisa in rete è sufficiente selezionarla sul gestore risorse, fare click col
pulsante destro del mouse e, sul menù che compare, scegliere “Condivisione”. Compare la seguente finestra

Il nome di condivisione ("Documenti") è il


nome con cui gli altri utenti vedranno la
cartella. Può essere uguale oppure diverso
rispetto al nome vero e proprio della cartella.
La cartella può essere protetta da una
password che dovrà essere utilizzata da
chiunque voglia accedere a quella cartella da
un altro PC.

Reti basate su server

Nelle reti basate su server, almeno una macchina, sempre accesa, è dedicata alla funzione di server. La macchina
server ha lo scopo di mettere a disposizione degli altri host un insieme di servizi, fra cui, ad esempio:

 Servizio di file e di stampa, dedicati a fornire un‟area sicura per il deposito dei propri dati; forniscono
inoltre l‟accesso ad una stampante gestendone la coda di stampa
 Servizio di registrazione e autenticazione degli utenti (PDC Primary Domain Controller)
 Servizi dedicati alla Gestione della sicurezza, come ad esempio i firewall ed i server proxy
 Componente server di Applicazioni client-server, come ad esempio i server http, i server di posta ed i server
di database.

Reti Miste

Talvolta le reti possono anche essere realizzate in una configurazione mista con un server centrale e più host ciascuno
con una propria cartella di condivisione, in modo che ognuno, oltre ai dati del server, possa accedere anche ad
eventuali dati o risorse degli altri host.

pag 5
Sistemi - Classe Quinta robertomana.it
RETI

Topologie di Rete e Metodi di accesso al mezzo


Il termine “topologia” indica il modo secondo cui i vari host sono collegati all'interno della rete.
In genere gli host non sono tutti direttamente connessi l'uno all'altro (“topologia a maglia”), ma utilizzano
normalmente dei mezzi trasmissivi condivisi e dei nodi di connessione (hub) che creano collegamenti logici
eliminando la necessità di connessioni fisiche dirette.

Le topologie di rete più comunemente utilizzate, in ordine cronologico di nascita, sono:


 topologia a bus
 topologia ad anello
 topologia a stella
 topologia a stella estesa

Topologia a bus
La rete a bus è il metodo più semplice ed economico per permettere la connessione tra più computer.
Consiste in un singolo cavo (detto dorsale) al quale sono connessi tutti gli host della rete. I connettori utilizzati per il
collegamento degli host al cavo sono scatole di derivazione oppure semplici connettori BNC a forma di T.
Arrivati a fine bus, i dati verrebbero riflessi indietro (attenuati) rimbalzando da un capo all'altro del cavo. Per evitare
queste riflessioni ad ogni estremità del cavo viene applicato un componente detto terminatore (volgarmente tappo).

E‟ anche possibile unire più tronconi di cavo mediante un dispositivo chiamato Repeter che potenzia il segnale
prima di ritrasmetterlo sulla rete.

Caratteristiche:
 Un solo host alla volta può inviare dati sulla rete.
 Se più host trasmettono contemporaneamente avviene una collisione.
 I dati trasmessi da un host arrivano sempre a tutti gli host presenti sulla rete (che in base all‟indirizzo di
destinazione del messaggio, lo possono leggere oppure scartare).

Metodi di Accesso al mezzo trasmissivo

Il fatto che tutti gli host utilizzino un unico mezzo trasmissivo condiviso comporta inevitabilmente il problema di
come gestire le collisioni, cioè sostanzialmente come gestire gli accessi al mezzo condiviso e gli eventuali conflitti..
A tal fine sono stati sviluppati nel corso degli anni diversi algoritmi che possono essere suddivisi in due gruppi:
 Deterministici, gestiscono a priori i turni di accesso al mezzo, mediante l‟utilizzo di un apposito TOKEN
(gettone, testimone), in modo tale da evitare a priori qualunque rischio di collisione (parla solo chi ha il
token)
 Non deterministici: non gestiscono alcuna priorità, consentendo in pratica l'accesso contemporaneo a
chiunque, gestendo soltanto a posteriori la competizione. In caso di collisione tutti gli host vengono interrotti
ed il messaggio ritrasmesso.

pag 6
Sistemi - Classe Quinta robertomana.it
RETI

Algoritmi Non Deterministici: CSMA/CD (Carrier Sense Multiple Access / Collision Detection)
Nel 1979 la Xerox presenta una rete locale strutturata a bus denominata Ethernet basata su un algoritmo non
deterministico di accesso al mezzo trasmissivo, algoritmo denominato CSMA/CD.
Il nome Ethernet deriva da una precedente rete denominata ALOHA, in progetto all'Università delle Haway, per
mettere in comunicazione due Computer attraverso l'etere e basata su un algoritmo simile a CSMA/CD.

L‟algoritmo CSMA/CD fa sì che ogni host, prima di trasmettere, ascolti lo stato del canale (CARRIER SENSE) per
vedere se è libero. Appena sente il canale libero inizia immediatamente la trasmissione, anche a rischio di collisioni
(MULTIPLE ACCESS). Eventuali collisioni sono gestite solo a posteriori con la ritrasmissione del messaggio. La
rete Ethernet, nonostante le controversie iniziali, segna la storia delle LAN e la fortuna di Xerox, trasformandosi
presto (1980) in uno standard internazionale (IEEE 802.3) frutto della collaborazione fra Xerox Digital e Intel (DIX)
Caratteristiche:
 Estrema semplicità e funzionalità
 Tempi di attesa non definiti, ma dipendenti sia dal numero di host presenti (maggiore è il numero di
computer connessi alla rete, più aumenta il rischio di collisioni, rallentando le prestazioni), sia soprattutto dal
livello di carico della rete (quantità di messaggi da trasmettere)
La contestazione principale mossa alle prime reti Ethernet è che non gestisce uno schema ben definito di
priorità degli accessi al mezzo di trasmissione, per cui potrebbe capitare che un host particolarmente
sfortunato, in una certa circostanza, abbia un tempo di attesa molto lungo prima di poter trasmettere i propri
dati.

Algoritmi Deterministici: Token Passing


In contrapposizione al CSMA/CD di Ethernet, è possibile realizzare una rete strutturata sempre a bus, denominata
Token Bus, (standard IEEE 802.4), che utilizza come algoritmo di accesso al mezzo trasmissivo un algoritmo
deterministico denominato Token Passing
Un token definisce i turni di trasmissione. Solo chi possiede il token può trasmettere. Il token viene continuamente
trasferimento da un computer al successivo (secondo una delle due direzioni), finché non si raggiunge un host che ha
qualcosa da trasmettere. L‟host che ha qualcosa da trasmettere attende l'arrivo del token libero, imposta il bit di stato
del token a OCCUPATO, aggiunge i dati da trasmettere, l'indirizzo del destinatario e quello del mittente, e reimmette
il token nella rete. Il token viene passato a tutti gli host successivi fino al raggiungimento del destinatario che leggerà
il messaggio firmando il token. Quando il token ritorna al computer trasmittente, questo vede che il messaggio è
arrivato a buon fine per cui libera il token passandolo all'host successivo che potrà eventualmente prenderne
possesso. Arrivato all‟ultiimo host della rete, il TOKEN viene rassegnato al primo host
Caratteristiche:
 Gestione del token decisamente più complessa.
 Tempo massimo di attesa ben definito (in funzione soltanto del numero di host)

Topologia ad anello [Evoluzione del Token Bus]

Nella topologia ad anello gli host sono collegati secondo un anello circolare. Nelle reti ad anello non esiste un bus
condiviso, ma ogni coppia di host è collegata mediante un cavo dedicato, ed ogni scheda di rete gestisce la
comunicazione con le due schede vicine.
Una rete di questo tipo si presta benissimo ad utilizzare l‟algoritmo deterministico del Token Passing.

La più conosciuta di queste reti è la rete Token Ring proposta da IBM (Standard IEEE 802.5), e inizialmente
principale antagonista di Ethernet. Il segnale inviato da una stazione passa attraverso tutti i vari host che fungono da
ripetitori ritrasmettendo il segnale potenziato al computer successivo, fino all‟eventuale percorrimento dell‟intero
anello.

pag 7
Sistemi - Classe Quinta robertomana.it
RETI

La topologia ad anello consente prestazioni molto regolari anche nel caso di un elevato numero di utenti, permettendo
una maggiore velocità di trasferimento dati rispetto alle reti a Bus, sia Ethernet che Token Bus. Ad esempio una
versione standard iniziale di Token Ring utilizzava una velocità di trasferimento pari a 16 Mbps contro i 10 dello
standard Ethernet a Bus coassiale.
Per contro però le reti ad anello presentano una gestione molto complessa:
 Ogni volta che occorre aggiungere o togliere un host occorre modificare anche gli host adiacenti.
 Un host non funzionante può provocare la caduta di tutta la rete (nelle versioni più evolute un host non
funzionante viene automaticamente escluso dall'anello, consentendo alla rete di continuare a funzionare).

Reti a Doppio anello


Le reti a doppio anello sono simili a quelle ad anello, avendo la sostanziale differenza di utilizzare due anelli anziché
uno, un anello primario ed un anello secondario. Nelle normali condizioni i dati fluiscono solo sull‟anello primario,
utilizzando il secondario solo in caso di guasto su un nodo del primario. Ogni host è generalmente connesso ad
entrambi gli anelli, per poter commutare dal primario al secondario in caso di guasto. La più nota fra le reti di questo
tipo è la FDDI – Fiber Distributed Data Interface basata su fibra ottica.

Topologia a stella [Evoluzione delle Reti Ethernet a Bus]

Da un punto di vista logico la topologia a stella è simile alla topologia a bus, ma invece di utilizzare in bus, viene
utilizzato un concentratore centrale detto HUB (termine inglese che significa PUNTO CENTRALE da un punto di
vista geografico) al quale vengono collegati tutti i vari host. L‟hub duplica i messaggi a tutti i computer ad esso
collegati. In sostanza è come se l‟intero bus venisse compresso in un unico punto.
Come mezzo trasmissivo per collegare gli host all‟hub si utilizza in genere un cavo detto UTP che è una evoluzione
del doppino telefonico, molto più flessibile del coassiale, dal costo inferiore, ma anche con una banda passante
mediamente inferiore rispetto al coassiale. Rispetto ad una rete a bus:
1) + Sono più facili da progettare, realizzare e mantenere
2) + La connessione / disconnessione di un computer non comporta alcun impatto sulla rete, mentre nelle reti a bus il
malfunzionamento di una scheda potrebbe compromettere l‟intero bus, esattamente come per le reti ad anello-
3) - Poiché tutti i messaggi passano attraverso l‟hub in caso di malfunzionamento l‟intera rete va fuori uso
4) - Richiede una maggiore quantità di cavi, più il costo aggiuntivo dei dispositivi intermedi (hub), costi comunque
compensato dalla più facile installazione e dal costo più economico del cablaggio UTP rispetto al coassiale.

Topologia a stella estesa (o rete mista, meshed)

Estensione della topologia precedente. Tutti gli host sono connessi ad un nodo centrale (centro stella), con i nodi
centrali a loro volta collegati tra loro per formare diversi livelli.
Queste reti, che rappresentano la topologia delle reti Ethernet attuali, conservano la stessa identica metodologia di
accesso al mezzo (CSMA/CD). Dal momento che nelle reti attuali il bus non esiste più, ad oggi si indica come rete
Ethernet una qualunque rete che utilizza il protocollo CSMA / CD per accedere al mezzo trasmissivo,
indipendentemente sia dal mezzo trasmissivo utilizzato, sia dalla topologia della rete. Si dice che le reti Ethernet
attuali presentano una:

 topologia fisica a stella estesa, con tutti gli host collegati ad un punto centrale (hub o switch).
 topologia logica a bus (ed anche elettrica) in cui ogni messaggio raggiunge via hardware tutti i nodi (altro
elemento invariante nella natura di Ethernet)

L‟utilizzo degli switch al posto degli hub consente infine una segmentazione della rete, con notevole riduzione delle
collisioni (segmentazione dei domini di collisione) e conseguente miglioramento delle prestazioni.

pag 8
Sistemi - Classe Quinta robertomana.it
RETI

Modalità di Commutazione
Simplex -> Monodirezionale. Uno trasmette e l‟altro riceve (trasmissioni tv, radio)
Half Duplex -> Bidirezionale. Entrambi possono trasmettere, ma non contemporaneamente (tipico delle reti)
Full Duplex -> Bidirezionale. Entrambi possono trasmettere contemporaneamente (telefono)
Nelle vecchie reti a bus la comunicazione fra due end point può solo essere Half Duplex, in quanto il Full Duplex
creerebbe collisione. Le reti UTP con canali Tx e Rx separati sono intrinsecamente Full Duplex. Tutte le schede di
rete sono Full Duplex. L‟hub non è in grado di gestire il full duplex, lo switch si, grazie alla microsegmentazione

Metodi di Commutazione
Commutazione di circuito
La commutazione di circuito stabilisce una connessione fisica dedicata tra due nodi mediante appositi commutatori
di linea. L'uso della connessione è esclusivo e continuo per l'intera durata della comunicazione. Al termine la
connessione viene eliminata ed il canale risulta disponibile per altre trasmissioni. Esempio tipico la rete telefonica
PSTN = Public Switched Telephone Network, dove Switched Network indica Rete commutata, intendendo
implicitamente la commutazione di circuito che ai tempi era l'unica utilizzata. Sicurezza ma costi elevati. Tre fasi:
Apertura della connessione (es chiamata telefonica)
Scambio delle informazioni (es conversazione)
Chiusura della connessione (es riaggancio della cornetta telefonica)

Commutazione di pacchetto (Packet Switching)


La commutazione di pacchetto è un sevizio connectionless modellato secondo il sistema postale: ogni lettera ha
appiccicato in testa l‟indirizzo del destinatario e viaggia indipendentemente dalle altre; arriva quando arriva e può
anche essere che non arrivi mai. Inoltre lettere con lo stesso mittente e lo stesso destinatario possono prendere strade
diverse ed arrivare in ordine diverso da quello di partenza.
Per la trasmissione dati, dove non è così importante la sequenza di arrivo dei dati (che possono tranquillamente essere
riassemblati dal ricevitore) si è visto che, anziché stabilire una connessione fisica permanente fra i due terminali, è
molto più conveniente suddividere l'insieme dai dati da trasmettere in piccoli pacchetti che, uuna volt immessi nel
canale, viaggiano separatamente fino al raggiungimento della destinazione, dove vengono riassemblati e riordinati.
Le reti a pacchetto sono basate su nodi intermedi (router) devono attuare delle strategie di instradamento dei dati.
Caratteristiche:
 Massimo sfruttamento della capacità del canale. Poiché ogni pacchetto porta con sé la sua identificazione,
una rete può trasportare contemporaneamente pacchetti provenienti da host differenti, ma soprattutto la linea è
impegnata soltanto in presenza di pacchetti, mentre nella comunicazione telefonica la linea rimane impegnata
anche quando entrambi i terminali sono silenziosi.
 Indipendenza della tariffa dalla distanza. In una rete a commutazione di pacchetto, la banda viene occupata
solo nel momento in cui si inviano / ricevono dati, per cui la tariffa viene calcolata sulla base dei kilobyte
ricetrasmessi (oppure a forfait sulla base del tempo di connessione) ma è indipendente dalla distanza dei server

La trasmissione a commutazione di pacchetto può essere di due tipi:


Datagram Vera commutazione di pacchetto in cui ogni pacchetto può prendere strade differenti. I nodi intermedi
della rete non effettuano controlli sul flusso dei pacchetti e possono cambiare dinamicamente i percorsi di inoltro.
Il destinatario potrebbe ricevere pacchetti fuori sequenza, pacchetti duplicati, pacchetti mancanti. Es X25, dorsali
Internet. Anche VoIP è un servizio di tipo Datagram in cui sul ricevitore c‟è un protocollo che riordina i pacchetti.
Virtual Circuit in cui, per ogni sessione di lavoro, si stabilisce un circuito virtuale tra trasmettitore e ricevitore e tutti
i pacchetti relativi alla stessa sessione seguono il medesimo percorso, deciso in corrispondenza dell‟avvio della
sessione e che, comunque, non è mai esclusivo: se non trasmetto non occupo banda. Es ATM e Frame Relay.

pag 9
Sistemi - Classe Quinta robertomana.it
RETI

Protocolli e Standard
Un protocollo è un insieme di regole che definiscono la comunicazione fra dispositivi collegati ad una rete.
Queste regole riguardano:
 formazione e codifica dei messaggi
 rilevazione e correzione degli errori
 instradamento dei messaggi attraverso la rete

Standard e Enti di standardizzazione


 Un‟architettura proprietaria è basata su scelte indipendenti ed arbitrarie del costruttore ed è in genere
incompatibile con architetture diverse. E‟ una architettura per la quale il costruttore non rende pubbliche le
specifiche per cui nessun altro potrà produrre apparati compatibili. Es IPX/SPX, Appletalk, Decnet
 Una architettura standard de facto è una architettura proprietaria ma basata su specifiche di pubblico dominio,
per cui costruttori diversi possono proporre la propria implementazione. E‟ il caso del primo PC IBM 8086 ed
è il caso di TCP/IP
 Una architettura standard de iure (di diritto), è una architettura basate su specifiche emesse da enti
internazionali che si occupano di standardizzazione, all‟interno dei quali partecipano aziende, enti governativi,
università, centri di ricerca. Lo standard de iure garantisce sistemi aperti e di pubblico dominio. Ogni
costruttore può proporre dispositivi differenti costruiti in osservanza dello standard. Es IEEE 802
ISO International Organization for Standardization. Nasce nel 1947 a Londra. Organizzazione a partecipazione
volontaria presiede alla regolamentazione degli standard internazionali riguardanti molteplici settori.
Nel 1984 l'ISO propose OSI, un modello di riferimento a 7 livelli per sistemi di rete diversi.
ANSI American National Standards Institution rappresentante USA all'interno dell'ISO
IEEE Institute of Electrical and Electronics Engineers. Organismo americano che definisce le specifiche dei vari
protocolli di comunicazione e di rete.
ITU-T International Telecommunications Union, Standardization Sector. È il settore per le Telecomunicazioni
dell'ITU che si occupa di standard e raccomandazioni tecniche per le comunicazio dati e telefoniche (vecchio
CCITT)
IANA Internet Assigned Number Authority gestisce le enumerazioni Internet (indirizzi IP pubblici, n porte standard).
IETF Internet Engineering Task Force Si occupa degli aspetti di ingegnerizzazione a breve termine della rete Internet
IRTF Internet Research Task Force Si occupa degli aspetti di ricerca a lungo termine in merito alla rete Internet
IAF Internet Architecture Board comitato che prende le decisioni finali su nuovi standard proposti IETF o IRTF

Il modello ISO OSI


Nel 1984 l'ISO standardizzò un modello di riferimento (OSI = Open System Interconnection) che aiutasse i
costruttori a produrre sistemi in grado di comunicare con altri sistemi conformi al modello.
Poiché la comunicazione fra 2 dispositivi coinvolge molteplici problematiche differenti (dalla presentazione dei dati
all‟utente fino alla trasmissione dei bit sul cavo), il modello ISO OSI definisce delle linee guida alla scrittura dei
protocolli di rete. In particolare stabilisce che le varie problematiche della comunicazione devono essere suddivise
per livelli, dalla gestione fisica del mezzo trasmissivo (livello più basso), fino ai protocolli di interfaccia con l‟utente
(livello più alto). Il modello ISO OSI non definisce però le caratteristiche tecniche dei livelli,
ma definisce delle linee guida sui vari di cui deve occuparsi ciascun livello.

pag 10
Sistemi - Classe Quinta robertomana.it
RETI

In questo modo il modello lascia i costruttori liberi di progettare e realizzare i loro sistemi come meglio credono,
fornendo al contempo uno standard per la loro interconnessione

I 7 livelli sono:
Applicazione Software
Presentazione
Sessione
Transport Comunicazione
Network - Rete
Data Link - Connessione
Physical
Lo scopo di ciascun livello è quello di fornire servizi al livello superiore, nascondendo i dettagli sul come tali
servizi saranno implementati, secondo una logica simile a quello della programmazione strutturata, in cui non tutto il
codice è scritto all‟interno del main ma è strutturato all‟interno di più procedure annidate una dentro l‟altra.
Ogni livello aggiunge “valore” ai servizi sottostanti.

Struttura di un pacchetto dati


Il pacchetto di dati da trasmettere viene generato dall‟applicazione utente e “passato” ai protocolli di livello più alto, i
quali provvedono a “passarlo” ai livelli inferiori fino al raggiungimento del mezzo fisico. Il pacchetto dati da
trasmettere è indicato con il temine payload o SDU (Service Data Unit). Ogni protocollo aggiunge in testa ai dati
ricevuti una sua intestazione (header) detta PCI (Protocol Control Information) che contiene delle informazioni di
servizio sui dati da trasmettere (lunghezza del segmento, indirizzo del destinatario, etc.). In coda ai dati può essere
aggiunta una coda (trailer o tail) contenente tipicamente dei bit di controllo dell‟errore.
Il pacchetto completo (header + payload + tail) viene indicato con la sigla PDU Packet Data Unit.
Ogni protocollo definisce il formato dell‟intestazione del PDU, definendo formato e significato dei vari campi.
Il PDU generato da un livello diventa payload del livello successivo, e così via al mezzo fisico. Il PDU finale
ricevuto dal livello 1 avrà il seguente formato:

int 2 int 3 int 4 int 5 int 6 int 7 DATI

Il livello 1 non aggiunge ulteriori intestazioni ma si limita ad immettere il PDU completo sul mezzo trasmissivo.

Da un punto di vista fisico i dati vengono fatti scendere dai livelli superiori ai livelli inferiori fino al raggiungimento
del livello fisico che è quello esegue la trasmissione vera e propria. Ogni livello incapsula i dati ricevuti all‟interno
delle proprie intestazioni e “passa” il tutto il livello inferiore. In ricezione i dati verranno ricevuti dal livello 1, che li
passerà i dati al livello 2, il quale leggerà le proprie intestazioni e passerà il payload al livello superiore fino al
raggiungimento del livello 7. Fisicamente ogni livello comunica soltanto con i livelli inferiore e superiore

Da un punto di vista logico ogni livello porta vanti una conversazione con il pari livello sull‟altro host. Ad esempio
il livello 4 del trasmettitore comunica solo con il livello 4 del ricevitore (nel senso che legge ed interpreta le
intestazioni di livello 4). Ad ogni livello di fatto non interessa nulla che cosa c'è sotto e come fanno i dati ad arrivare
al pari livello del ricevitore. Le regole e le convenzioni che governano la conversazione fra pari livello sono indicate
come protocollo di livello n.

Servizio = insieme di operazioni primitive che un livello offre al livello superiore


Protocollo = insieme di regole che governano il formato delle informazioni scambiate fra entità di pari livello
L'insieme dei protocolli di diverso livello che regolano una comunicazione è detto stack dei protocolli.

pag 11
Sistemi - Classe Quinta robertomana.it
RETI

Livello 7 : Applicazione
Il Livello Applicazione è il più vicino all'utente. E‟ di solito conglobato all‟interno di una applicazione di rete, ma
non è l‟applicazione utente, semmai è il livello più basso dell‟applicazione utente.
Fornisce all‟applicazione utente gli strumenti per accedere ai servizi di rete. Esempi di protocolli di livello 7:
HTTP, SMTP, DNS, DHCP, FTP, SMB, POP3 tutti basati su semplici messaggi testuali codificati in ASCII a 7 bit

Livello 6 Presentazione
Il livello 6 si occupa di
 Uniformare il formato di rappresentazione dei dati. Garantisce cioè che l'informazione sia leggibile anche
da sistemi differenti. Se necessario provvede a convertire i dati in formato standard che normalmente è il
codice Ascii a 7 bit. Esempio1 se un applicativo Window deve comunicare con un maiframe IBM, il livello
6 del mainframe dovrà eseguire una traduzione EBCDIC – ASCII e viceversa. Esempio2 un computer che
deve comunicare con un PLC Siemens deve eseguire una trasformazione da Little Endian (per primo il byte
meno significativo, usato da tutti i PC ) a Big Endian (utilizzata nei mainframe e in alcuni PLC).
Alcuni formati utilizzati per la rappresentazione dei dati sono:
ASCII. L’American Standard Code for Information Interchange set di caratteri codificati ad 8 bit
EBCDIC. Extended Binary Coded Decimal Interchange Code Metodo usato dall’IBM su MainFrame e Mini
XDR eXtended Data Representation usata da applicazioni come NFS e NIS per fornire un formato universale
per la trasmissione di testi tra computer che usano rappresentazioni diverse (es. ASCII e EBCDIC).
 Eseguire Crittografia e Compressione dei dati (SICUREZZA). Crittografare un segnale significa
applicare un algoritmo noto soltanto a chi trasmette e a chi riceve in modo che applicando una apposita
chiave posso criptare / decriptare la trasmissione. Ad esempio, sostituendo ogni lettera con la successiva
(codifica di Cesare), ciao viene scritto come dlbp.
Protocolli di livello 6: SSL (Secure Socket Layer)

pag 12
Sistemi - Classe Quinta robertomana.it
RETI

Livello 5 Sessione
Gli obiettivi del Livello 5 sono i seguenti :
 Gestire Sessioni di comunicazione multiple per uno stesso applicativo, definendo regole e tempistiche di
accesso al canale TCP. Ad esempio, nel caso di più finestre del browser contemporaneamente aperte,
ciascuna finestra rappresenta una sessione di lavoro (a cui saranno associate le variabili session).
 Creare dei punti di sincronizzazione su una Connessione End To End creata dal livello 4. Se per caso la
connessione si interrompe, il livello Session riporterà al livello sottostante una nuova richiesta non dell'intero
blocco, ma a partire soltanto dall'ultimo punto di sincronizzazione.
Protocolli di livello 5:
 NetBIOS. Protocollo per lo scambio di informazioni all‟interno di una rete locale:
Nasce al Liv4 ma poi diventa di Liv 5
 RTP (Real Time Protocol) utilizzato da VoIP per riordinare i pacchetti voce (over UDP)
 Protocollo di Login iniziale di un client ad un server
 X-Window. Permette a terminali intelligenti di comunicare con computer UNIX come se fossero
direttamente attaccati. RPC Remote Procedure Call. Consente ad un host client di costruire una richiesta che
verrà poi eseguita su un host server al livello di sicurezza del client.

Livello 4 Trasporto
Tre sono gli scopi del livello Trasporto:
1) Gestione della Connessione Stabilire, mantenere e chiudere una Connessione End-To-End tra due End System,
cioè tra il Clinet ed Server. E' l'ultimo livello che ha visibilità completa dell'intero blocco dati e di entrambi gli End
System. I livelli inferiori si limiteranno a trasferire sulla rete pacchetti privi di un significato logico.
2) Segmentazione dei dati. Al fine di evitare la monopolizzazione del canale da parte di un singolo host, a livello 4 i
dati (es file di grandi dimensioni) vengono suddivisi in Segmenti di dimensione fissa (poco meno di 1500 bytes nel
caso di reti Ethernet). Se i segmenti creati dal livello 4 sono troppo grandi rispetto alle possibilità del Layer
sottostante, si costringeranno i livelli inferiori ad ulteriori frammentazioni con inutile perdita di tempo. Se sono
troppo piccoli si cade in una segmentazione eccessiva, con notevole overhead (header duplicati).
I segmenti creati dal livello 4 vengono poi passati a livello 3 dove, incapsulati all'interno di un‟ulteriore header e tail,
prendono il nome di pacchetti. Il destinatario, alla ricezione di ogni segmento, può inviare / non inviare un segnale di
avvenuta ricezione (ackowledgment). In caso di errore, può chiedere la ritrasmissione dell‟intero segmento.
3) Garantire il Trasporto Affidabile dei vari segmenti tra i due End System. Un servizio affidabile (reliable) è un
servizio che non perde dati ed assicura che tutti i dati verranno consegnati al destinatario in ordine e senza errori.
Ciò richiede l‟utilizzo di appositi algoritmi di controllo del flusso e che il ricevitore invii ackwledgment (conferma)
per ogni pacchetto ricevuto. Si introduce però un overhead che a volte può diventare troppo oneroso. Se si sta
trasferendo un file o un messaggio di posta, occorrono garanzie. Ma in altri casi l‟affidabilità potrebbe anche non
interessare. Nel caso di uno stream video controllare significa perdere tempo. Nel tempo in cui si controlla un byte,
molti altri bytes verrebbero persi. Filmato a scatti perché si perde tempo a controllare. Velocità vs Affidabilità.

Livello 3 Rete

Il livello 3 incapsula i segmenti ricevuti dal livello 4 con i propri header e tail, e li trasforma in Pacchetti.
Scopo del livello 3 è quello di gestire l'instradamento dei Pacchetti attraverso una rete (locale o geografica).
L‟instradamento dei pacchetti viene eseguito mediante appositi dispositivi di rete di livello 3 che sono i router.
Caratteristiche tipiche dei protocolli di livello 3 sono:
Connectionless:Senza connessione, cioè non viene stabilito un percorso fisso fra sorgente e destinatario ma ogni
pacchetto viaggia in modo indipendente dagli altri
Best Effort Il protocollo fa il “massimo sforzo” per garantire la consegna ma non fa controlli e quindi non da garanzie

pag 13
Sistemi - Classe Quinta robertomana.it
RETI

Famiglie di protocolli di livello 4 / 3


TCP/IP Famiglia di protocolli utilizzati nella rete Internet e divenuti lo standard de facto in tutte le reti di computer.
Hanno di fatto sostituito tutte le altre famiglie di protocolli. Altre Famiglie di protocolli di livello 3/4 sono (erano) :
IPX/SPX di Novell primo vero standard di comunicazione molto utilizzato negli anni 80
NetBEUI/NetBIOS Protocolli Microsoft utilizzati in msDOS e nelle prime versioni di Windows
Appletalk utilizzato nelle reti Macintosh, DECNET utilizzata nelle reti Digital

Livello 2 Data Link (collegamento dati)


Il livello 2 riceve i pacchetti dal livello 3 e, incapsulandoli con header e tail, li trasforma in Frames. (Trame).
Il livello 2 si occupa di :
 Trasmissione affidabile dei singoli frames su singole tratte (LLC) Lo scopo è quello di far apparire il
mezzo trasmissivo, ai livelli superiori, come una linea di trasmissione esente da errori. In questo il livello 2 è
simile al livello 4 che è responsabile della trasmissione affidabile dell'intero blocco dati sull‟intera tratta. Il
livello 2 aggiunge in genere in coda al frame dei byte CRC di controllo dell‟errore in modo che il destinatario
possa verificare la correttezza dei dati, evitando di inoltrare pacchetti con CRC errato. Gestire la trasmissione
su singola tratta significa anche adattare la trasmissione fra dispositivi con velocità differenti. E‟ inutile
trasmettere velocemente se il destinatario è più lento. Due schede una 10 Mbps e l‟altra 100 Mbps possono
comunicare tra loro, ma occorre un dispositivo intermedio di liv 2 che esegua una bufferizzazione.
 Gestire le strategie di accesso al mezzo trasmissivo (MAC) implementando algoritmi deterministici quale
Token Passing o non deterministici quale CSMA/CD). Il livello 2 è l‟ultimo livello che si occupa del
significato logico dei bit. Il livello fisico si occupa soltanto di trasmettere i bit sul canale. In ricezione la
scheda di rete (livello 2) riceve i bit dal livello fisico e li raggruppa in byte ricostruendo l‟intero frame.

Livello 1 Fisico
Il livello fisico
 definisce le caratteristiche meccaniche, elettriche, funzionali di tutti i dispositivi coinvolti nel trasporto
dei dati (materiali, connettori, diametro dei cavi, impedenze, livelli di tensione, velocità, etc)
 gestisce la trasmissione fisica dei singoli bit sul mezzo trasmissivo, cioè si occupa di come rappresentare i
dati sul mezzo trasmissivo e come trasmetterli, definendo livelli di tensione adeguati al mezzo. In altre parole
trasforma gli ZERI e UNO logici provenienti dai livelli superiori in segnali elettrici adatti al mezzo.
Più lunga è la tratta di trasmissione, più elevate devono essere le tensioni in gioco.
Per ogni tratta di trasmissione (link) occorre una apposita scheda di rete.

Troubleshooting di Rete
Per ricercare / risolvere problemi di rete, si parte di solito dal basso, cioè dal livello 1, verificando cavi e connettori, e
passando soltanto in seguito a verificare protocolli e dispositivi di livello 2 e poi di livello 3 , 4, etc.

Il modello TCP IP
A differenza del modello ISO OSI, modello teorico proposto fin dagli albori come linea guida per lo sviluppo di
protocolli di rete (Standard de iure), il modello TCP/IP nasce sulla base dei due protocolli fondamentali della rete
Internet, cioè TCP e IP. Il modello TCP/IP è dunque uno standard de facto creato a posteriori. Nelle implementazioni
pratiche ha di fatto soppiantato il modello ISO OSI che rimane comunque un ottimo riferimento teorico.
Breve Storia I protocolli TCP e IP nascono negli USA negli anni 70, negli anni cioè della guerra fredda, nell'ambito
della ricerca militare di una nuova rete non decifrabile, detta ARPANET, genitrice di Internet. Il modello TCP IP è
talvolta indicato anche come modello DOD ARPA dal nome degli enti americani (DOD = Department of Defens e
ARPA = Advanced Research Projects Agency) che ne curarono lo sviluppo e ne pubblicano le RFC.
Le specifiche dei protocolli TCP IP sono espresse mediante RFC (Request for Comment) pubblicate dalla IAF.

pag 14
Sistemi - Classe Quinta robertomana.it
RETI

Struttura del modello TCP IP


E‟ articolato in quattro soli livelli, in cui il livello IP (livello 3 ISO OSI) ed il livello TCP (livello 4 ISO OSI)
costituiscono i due livelli centrali, cioè il cuore del modello. Per questi due livelli sono definite in dettaglio tutte le
caratteristiche tecniche di tutti i protocolli che ne fanno parte (detti nel loro insieme Protocolli Internet).
Tutto il resto è considerato contorno :
 I protocolli di livello superiore (5 6 7) sono condensati in un unico livello Application per il quale non si
forniscono specifiche (possono essere protocolli di trasferimento file, pagine web, messaggi di posta etc).
 I protocolli di livello inferiore (1 2) sono condensati in un unico livello detto Network Interfce, sempre privo
di specifiche (che può essere Ethernet, Token Ring, wireless, doppino, coassiale, fibra ottica, , etc),

Application
Trasporto
Rete
Network Interface

internet = sinonimo di internetwork, interconnessioni di più reti generiche


Internet = internetwork pubblica mondiale basata su TCP/IP
Intranet = rete locale (LAN) che utilizza le stesse tecnologie di Internet (cioè basata su TCP/IP)

Protocolli della famiglia TCP/IP

Livello Rete
IPv4 (Internet Protocol Version 4) - RFC 719
Detto comunemente protocollo IP, nato nel 1981 rappresenta la base su cui è costruita Internet. Usa indirizzi a 32 bit
(4 bytes) in notazione puntata e contiene tutte le informazioni di instradamento dei pacchetti sulla rete. Ogni host
internet deve disporre di un indirizzo IP univoco. Max 4 mld di combinazioni (meno di 1 per ogni persona della terra)

IPv6
Progettato nato già a metà degli anni 90 per sostituire IPv4, col quale però non è compatibile.
Ad oggi IPv6 è una rete Internet a se stante ancora sperimentale (a cui anche il Vallauri è collegato).
Utilizza indirizzi a 16 bytes (128 bit) visti come 8 campi da due byte ciascuno.
Gli indirizzi IPv6 sono scritti come 8 gruppi di quattro cifre esadecimali ciascuno, separate dai due punti:
37F5 : 4268 : 74A8 : 75A2 : A150 : 7BFC : A5F8 : 00B3
Un indirizzo IPv4 può essere scritto in formato in IPv6 nel modo seguente:
00 : 00 : 00 : 00 : 0X : 0Y : 0Z : 0K

ICMP (Internet Control Message Protocol) Protocollo di Diagnostica cooperante con IP.
Fa parte di ICMP il comando PING, che verifica la raggiungibilità di una certo host.
ARP (Address Resolution Protocol ) Protocollo cooperante con IP. Risolve gli indirizzi IP nel MAC corrispondente

Livello Trasporto
TCP (Transmission Control Protocol) RFC 739
Ha come obiettivo la massima affidabilità di trasmissione. Per ogni pacchetto verifica se è effettivamente arrivato, se
non ci sono degli errori ed in caso contrario provvede alla ritrasmissione. Tutti i pacchetti vengono numerati così che,
anche se arrivano a destinazione in ordine diverso o non arrivano, l'host remoto è sempre in grado di riordinare i dati.
UDP (User Datagram Protocol) RFC 768
Protocollo molto veloce ma poco affidabile. Non c'è garanzia che i pacchetti raggiungano la loro destinazione, non
vengano duplicati o abbiano un ordine di arrivo differente. Datagram è sinonimo di pacchetto.

pag 15
Sistemi - Classe Quinta robertomana.it
RETI

LIVELLO 1 : Mezzi Trasmissivi e Connettori


Il cavo coassiale

E‟ costituito da un conduttore interno in genere pieno, da uno strato di materiale isolante, da una calza metallica di
schermatura collegata a massa in grado di proteggere i dati trasmessi da disturbi esterni ed anche dalla diafonia, cioè
il disturbo causato dall‟interferenza tra cavi adiacenti. Tutto il cavo è poi rivestito da una guaina isolante esterna
realizzata in gomma teflon o plastica. Il connettore è tipicamente di tipo BNC (British Naval Connector).

I cavi coassiali sono disponibili in moltissime tipologie. Il catalogo Belden, uno dei principali produttori mondiali di
cavi, presenta ad esempio oltre 200 tipologie di cavo coassiale in cui variano essenzialmente i diametri, la tipologia
del conduttore interno (pieno o a fili intrecciati), il materiale isolante ed il rivestimento. Caratteristiche principali:

 Elevata Immunità ai disturbi


 Elevata Velocità (Banda passante di 100 MHz)
 Rigido e di difficile manutenzione (soprattutto l'intestazione col BNC)

Il cavo UTP
Le prime reti LAN erano tutte basate su cavo coassiale, ma la difficoltà di cablare una rete coassiale rispetto al
comodissimo cablaggio a stella dei cavi telefoni, portò presto all'idea di sviluppare reti a stella con un cablaggio
simile a quello telefonico, basate su doppino telefonico, cioè essenzialmente una coppia di fili di rame isolati fra loro

Le caratteristiche elettriche del normale doppino telefonico erano però (e sono tutt‟ora) decisamente inferiori rispetto
a quelle del coassiale in termini di:
 Maggiore sensibilità ai disturbi (non è schermato)
 Banda passante inferiore (velocità inferiore)
 Maggiore attenuazione

Per contro il doppino, rispetto al coassiale, presenta i seguenti vantaggi :


 Flessibile e di facile manutenzione (compresa l'intestazione RJ11)
 Costo inferiore
Nota: La maggiore attenuazione del doppino è dovuta in gran parte al cosiddetto “effetto pelle”, per i quale le
cariche elettriche trasportate hanno la tendenza a distribuirsi prevalentemente lungo la superficie del cavo,
provocando fenomeni di attenuazione del segnale più accentuati. Nel coassiale la conformazione del cavo consente
invece una distribuzione uniforme delle cariche sull'intera sezione.

pag 16
Sistemi - Classe Quinta robertomana.it
RETI

Il primo passo per passare dal coassiale al doppino è stato quello di cercare di migliorare le tecnologie di costruzione
del doppino in modo da ottenere una banda passante più ampia. Agendo sulla qualità del rame, diametro dei conduttori
e soprattutto sul numero di intrecci per metro (minore sensibilità ai disturbi) venne realizzato un doppino intrecciato
denominato UTP UNSHIELDED TWISTED PAIR di costo inferiore al coassiale ma con prestazioni vicine a quelle
del coassiale Venne anche ideato un nuovo connettore RJ45 molto simile al tipico connettore telefonico RJ11, ma con
8 pin invece di 4.
Nota: Gli intrecci del cavo UTP favoriscono una migliore distribuzione delle cariche sul conduttore e quindi sia una
attenuazione inferiore sia una riduzione dell‟effetto dei disturbi sul segnale dati (EMI ElecroMagnetic Interference),
non solo per i disturbi provenienti dall‟esterno ma anche per quelli provenienti dai doppini adiacenti (diafonia)
Essendo facile da installare e costo ridotto, si è cercato nel corso degli anni di migliorarne ulteriormente le
caratteristiche fino ad arrivare a prestazioni sovrapponibili a quelle dei migliori coassiali. Negli anni 90 il cavo UTP
ha in pratica sostituito il coassiale come mezzo trasmissivo delle reti LAN ed è tutt'ora il cavo più utilizzato.

Attualmente sono disponibili diverse categorie di cavi UTP costituite comunque sempre da quattro coppie di doppini
intrecciati (di cui nelle LAN se ne usano generalmente soltanto 2 coppie, una per la trasmissione ed una per la
ricezione). Quello che varia tra le diverse categorie è essenzialmente il numero di intrecci per metro di cavo;
aumentando il numero degli intrecci si riescono a realizzare velocità di trasmissione sempre più elevate.
La massima distanza raggiungibile dipende dalla velocità utilizzata.

Le categorie dei cavi UTP, definite nello standard americano TIA/EIA 568/A, relativo ai cablaggi di edifici
commerciali di tipo Office Oriented, sono le seguenti:

Categoria Banda Pass Applicazioni


tel Semplice Doppino a 2 coppie di fili solo per uso telefonico e non adatto per la trasmissione dati.
2 1 MHz 4 Mbps 4 coppie di doppini
3 16 MHz MAX 10 Mbps - 4 coppie ciascuna con circa 10 intrecci/metro (da 3 a 4 intrecci per piede)
4 20 MHz 16 Mbps 4 coppie di doppini
5 100 MHz MAX 100 Mbps - 4 coppie ciascuna avente da 3 a 4 intrecci per pollice
5e 250 MHz MAX 250Mbps per canale -> Totale 1 Gbps - ulteriore miglioramento tecnologico
6 2.5 GHz MAX 10Gbps complessivi - Utilizza un elemento separatore fra ogni coppia di cavi
7 2.5 GHz MAX 10Gbps complessivi - Cavo STP con schermo sia sulle singole coppie sia sul cavo. Costoso

pag 17
Sistemi - Classe Quinta robertomana.it
RETI

Il cavo STP [cat 7]


Più tardi sono comparsi anche doppini schermati indicati con la sigla STP SHIELDED TWISTED PAIR (coppia
intrecciata schermata), che risultano evidentemente meno sensibili ai disturbi rispetto agli UTP. Per ogni categoria
UTP corrisponde una analoga categoria STP. Utilizzato in ambienti industriali con interferenze elettriche.
Esistono diverse tipologie di cavi STP a seconda del livello di schermatura implementato. La schermatura può essere
applicata singolarmente ad ogni coppia di fili, oppure in forma unica che avvolge tutte 8 le coppie. Le due schermature
possono essere applicate una o l'altra separatamente oppure essere entrambe presenti contemporaneamente.

Shield = Scudo

Il connettore RJ45
I cavi UTP sono terminati su ogni lato con un connettore maschio (plug) detto RJ45 (Registered Jack o Regular
Jack). Sulla NIC e sull'apparato di rete (o presa a muro) dovrà essere montato un connettore RJ 45 femmina.
Gli otto fili sono organizzati a coppie di cui soltanto le coppie Verde e Arancione sono normalmente utilizzate.
PAIR1 BLU
PAIR2 ARANCIONE (Rx)
PAIR3 VERDE (Tx)
PAIR4 MARRONE

La posizione dei cavi all'interno del plug è mostrata in figura, in cui si sta guardando frontalmente il connettore dal
lato opposto rispetto alla linguetta di fermo, e con il cavo discendente verso il basso.
Sono possibili due configurazioni, che scambiano tra loro la coppia Verde con quella Arancione.
Arancione
Verde Verde

Verde
Arancione

pag 18
Sistemi - Classe Quinta robertomana.it
RETI

Cavo Crociato
Pin# Pair# Function Wire Color
1 3 Transmit+ White/Green
2 6 Transmit- Green
3 1 Receive+ White/Orange
4 4 Not used Blue
5 5 Not used White/Blue
6 2 Receive- Orange
7 7 Not used White/Brown
8 8 Not used Brown

I connettori RJ 45 esistono anche in versione schermata per cavi STP.


In tal caso l'apparato di rete deve collegare lo schermo del cavo a massa..
I cavi possono essere:
Diritti (Straight Through) Normale collegamento pin to pin. Le due terminazioni sono identiche. Su entrambi i
connettori visti frontalmente si vede la stessa sequenza colori. Normalmente utilizzato per collegare tra loro
dispositivi differenti (PC e apparato di comunicazione come hub, switch,)
Crociati (Crossed o Crossover) Collegamento diretto fra dispositivi attivi, cioè entrambi dotati di scheda di rete
(tipicamente PC PC, ma anche PC-Router, Router-Router). La coppia Tx è scambiata con la coppia Rx, mentre le
altre due coppie (Blu e Grigi) rimangono invariate (in pratica su un lato si avrà la connessione T568A, sull'altro la
connessione T568B). Questi cavi sono anche utilizzati per connessioni hub hub o switch switch
Console (RollOver) Serve per collegare la porta seriale di un PC di programmazione (dotata di convertitore DB9
RS232 / RJ 45) con la porta console dei router (normalmente anch'essa RJ45). Nel cavo Console gli otto fili sono
esattamente speculari (Guardando i due plug frontalmente si vedono gli otto colori perfettamente invertiti).

Il sistema di intestazione dei cavi è molto semplice: si spelano i fili per una lunghezza di 1,5 cm, quindi si inseriscono
i fili all'interno del plug ed il plug all'interno di una apposita pinza. Si preme con forza fino a sentire un lieve scatto

La fibra ottica
Trasmette Luce anziché segnali elettrici, dunque:
 Velocità molto maggiori rispetto a qualunque cavo in rame
 Assolutamente insensibile al problema dell'interferenza elettrica
 Costi ancora superiori rispetto alle tecniche precedenti sia per quanto concerne la fibra ottica in sé (circa
8 € / m) sia soprattutto per i dispositivi opto elettronici di adattamento.

pag 19
Sistemi - Classe Quinta robertomana.it
RETI

Una fibra ottica consiste di un cilindro di vetro estremamente sottile detto nucleo ricoperto da uno strato concentrico
sempre di vetro ma con un indice di rifrazione minore, in modo che la luce si propaghi per riflessione all'interno del
nucleo. Le fibre ottiche in materiale plastico sono più flessibili e più facili da maneggiare rispetto a quelle in vetro, le
quli però presentano caratteristiche di trasmissione migliori.

Le fibre ottiche possono essere multimodali oppure monomodali .


Nelle multimodali la luce è generata da un semplice LED che emette più raggi luminosi ciascuno dei quali
trasporta contemporaneamente una sua informazione. In questo modo possono però presentare rischio di ambiguità
in fase di riconoscimento del segnale, dunque maggiore probabilità di errore.
Nelle monomodali una luce monocromatica è generata da un led laser molto più costoso ma anche molto più intenso
del precedente, così da consentire velocità maggiori, minore dispersione e distanze molto più elevate (oltre i 3 km).
I connettori sono denominati ST e sono simili alle prese jack delle antenne

Wireless

Le LAN di tipo wireless o WLAN (Wireless Local Area Network) usano, per far comunicare i dispositivi tra loro,
segnali radio ad alta frequenza o raggi di luce infrarossa, anziché utilizzare i tradizionali cavi per i collegamenti. Ogni
computer, ovviamente, deve avere un dispositivo che permette di spedire e ricevere i dati. Le reti wireless sono molto
utili negli edifici dove può essere difficoltoso effettuare il cablaggio o crearlo in brevissimo tempo. Caratteristiche:
 Non hanno cablaggio
 Elevata sensibilità ai disturbi
 Onde Radio non proprio salutari (frequenze superiori a 1.8 GHz del GSM)
Le wireless LAN utilizzano un sistema a microcelle, simile al sistema cellulare telefonico. Ogni microcella ha
dimensione limitata e un preciso raggio d'azione, ed è controllata da un Access Point (AP), la cui funzione principale
è quella di coordinare le comunicazioni tra le varie stazioni wireless. Gli AP, a loro volta, sono collegati ad una
dorsale (backbone), di solito un segmento della LAN aziendale. A livello fisico si opera su una banda di frequenza
che va da 2,4 GHz a 2.483 GHz, utilizzando modalità di trasmissione basate sulla tecnologia Spread Spectrum (a
banda larga). A livello di configurazione una WLAN offre tutti i vantaggi di una LAN tradizionale, senza i limiti
tecnologici di una rete wired. Un Access Point wireless costa ormai soli 15 €.
Un modem router ADSL con Access Point costa 50 €.

pag 20
Sistemi - Classe Quinta robertomana.it
RETI

Codifiche di Linea
I segnali digitali utilizzati da un computer sono normalmente segnali TTL 0 – 5 Volt di tipo NRZ, (Not Retutn Zero),
cioè senza ritorno a zero, il cui un eventuale bit di valore uno rimane a 1 per l'intero tempo di bit. Questa codifica
purtroppo non è molto adatta per pilotare in Banda Base (senza modulazione) un qualunque mezzo trasmissivo.
I problemi di base sono due:
1) L'inevitabile presenza di una componente continua legata al valor medio del segnale. La componente continua
viene spesso bloccata da molti dispositivi di rete come condensatori o trasformatori.
2) Estrema difficoltà da parte del ricevitore a mantenere il sincronismo sul clock, soprattutto in presenza di lunghe
sequenze di zeri o lunghe sequenze di uno, col forte rischio di perdere qualche bit.
Questi motivi hanno portato ad utilizzare, nelle trasmissioni in banda base, delle codifiche diverse rispetto alla NRZ,
cioè le cosiddette codifiche di linea o codifiche RZ che sono codifiche in cui:
 la componente continua è nulla, grazie all‟utilizzo di valori di tensione bipolai (es +5 V e -5V).
 il valore del bit ritorna a zero a metà del tempo di bit rimanendo a zero in tutta la seconda metà

Codifica Manchester E‟ una particolare codifica RZ in cui:


 I valori d tensione utilizzati sono bipolari: +0,85V per l'uno logico, -0,85V per lo zero logico.
 E‟ una codifica auto sincronizzante che rappresenta tutti i bit con delle transizioni a centro bit. Gli zeri sono
rappresentati mediante transizioni verso il basso, mentre gli uno mediante transizioni verso l'alto.
In questo modo in ricezione un dispositivo detto DPLL (PLL digitale) riesce ad estrarre il clock dal segnale e a
sincronizzarsi su di esso consentendo una puntuale decodifica dei dati. In questo modo si ottiene anche una
maggiore immunità ai disturbi,in quanto l‟informazione non è più associata all‟ampiezza del segnale.
NOTA: La presenza delle transizioni richiede però una banda doppia rispetto a quella minima di Nyquist

1 0 0 0 1 1 0

NRZ

RZ tradizionale

1 0 0 0 1 1 0
Manchester

AMI

Codifica AMI /HDB3


La codifica AMI (Alternative Mark Inversion), abbastanza diversa rispetto al segnale RZ generico, codifica lo 0
logico con 0 Volt costanti, mentre codifica alternativamente gli 1 logici con un segnale una volta positivo ed una
volta negativo, sempre però soltanto per metà del tempo di bit. HDB3 rappresenta un miglioramento di AMI mirato
ad eliminare le lunghe sequenze di zeri che creano ovvi problemi di sincronismo. In caso di tre zeri consecutivi,
HDB3 codifica il terzo zero come l'ultimo 1. In caso di zeri multipli si avranno due zeri codificati con 0V, poi uno
zero codificato come l'ultimo 1, poi altri due zeri a 0V e quindi un altro zero codificato come l'ultimo 1. Il prossimo
uno sarà identificato da una inversione di segnale. Utilizzata nelle reti ISDN basate su PCM.

pag 21
Sistemi - Classe Quinta robertomana.it
RETI

IEEE 802 Project


Il progetto IEEE 802 definisce le caratteristiche di livello 1 e 2 per tutte le possibili topologie di reti locali
(Ethernet, Token Bus e Token Ring) facendo in modo che tutte presentino la stessa interfaccia verso il livello 3,
cioè tutte comunichino con il livello 3 sempre allo stesso modo.
Progetto emesso da IEEE nel 1985 e poi adottati anche dall'ISO con la sigla ISO 8802.

Le varie sezioni del progetto IEEE 802


Fin da subito IEEE si rese conto che sarebbe stato impossibile sviluppare un unico standard che potesse documentare
tutti i tipi di LAN. Il progetto è allora stato suddiviso in diversi capitoli, ognuno riferito ad un tipo differente di rete,
identificata in base a TOPOLOGIA DI RETE e PROTOCOLLO DI ACCESSO AL MEZZO
802.1 Architettura generale del progetto
802.2 Sottolivello comune LLC
802.3 Ethernet : Accesso non deterministico su topologia a bus
802.4 Token Bus Accesso deterministico su topologia a bus
802.5 Token Ring Accesso deterministico su topologia ad anello
802.11 WiFi
ISO 9314 FDDI (Fiber Distributed Data Interface) Token Ring a doppio anello

Lo scopo di questa suddivisione è stato, fin da subito, quello di garantire una compatibilità verso l‟alto, cioè fare in
modo che le varie topologie di rete, seppur completamente diverse tra loro, presentassero tutte la stessa interfaccia
verso il livello 3. Ciascuna delle sezioni precedenti è poi a sua volta suddivisa in una lunga serie di revisioni
successive riferite sempre allo stesso tipo di rete, , ma con mezzi trasmissivi diversi e velocità via via crescenti..

La stessa interfaccia LLC


La caratteristica vincente del progetto 802 è la suddivisione del livello Data Link in due sottolivelli
LLC Logical Link Control a livello superiore (standard 802.2 comune alle varie reti) che si occupa di gestire
l‟interfacciamento verso i livelli superiori (livello 3)
MAC Medium Access Control a livello inferiore. (diverso per ciascuna topologia) che si occupa di controllare
l'accesso al mezzo trasmissivo e ovviamente dipende dalla topologia di rete
Il sottolivello LLC è sempre lo stesso identico per tutte lo topologie di rete.
Nei 3 standard differisce soltanto il sottolivello MAC che, nei tre casi, avrà:
 Uno specifico protocollo operativo
 Uno specifico algoritmo di accesso al mezzo (CSMA/CD nel primo caso e Token Passing negli altri due casi)
 Una specifica intestazione
Questo doppio livello consente di rendere i livelli superiori (qualunque essi siano) indipendenti dalla rete fisica
sottostante (qualunque essa sia: Ethernet, Token Bus, Token Ring, FDDI).
Il router, dotato di apposite schede di rete relative a ciascuna topologia, è il dispositivo di livello 3 che consente di
interconnettere LAN differenti, sia come topologia di rete, sia come tecniche di accesso al mezzo.

HDLC: (High-level Data Link Control)


E’ il progenitore di tutti i protocolli di livello 2, utilizzato tipicamente nelle comunicazioni punto punto (trasmissioni
seriali o verso modem). A differenza di LLC, HDLC non contiene al suo interno informazioni relative al protocollo
di livello 3 a cui consegnare i dati. Un altro protocollo di livello 2 derivato da HDLC è il protocollo PPP utilizzato
come protocollo punto punto nelle reti geografiche. PPP, come LLC, trasporta al suo interno l’informazione relativa
al protocollo di livello 3 a cui consegnare i dati. SDL è a sua volta il genitore di HDLC.
pag 22
Sistemi - Classe Quinta robertomana.it
RETI

Evoluzione delle Reti Ethernet - Standard 802.3

Sono stati negli emessi diverse versioni successive dello standard 802.3, che mantengono sempre inalterate le
specifiche di livello 2 (intestazioni MAC e protocollo CSMA / CD), ma utilizzano supporti fisici diversi e anche
topologie di rete diverse. I vari standard sono stati denominati rispettivamente:
Ethernet
10Base5 802.3 10 Mbps su cavo coassiale thicknet (spesso) per una lunghezza max di 500 metri
10Base2 802.3.A 10 Mbps su cavo coassiale thinnet (sottile) per una lunghezza max di 200 metri
10BaseT 802.3.I 10 Mbps su cavo UTP cat 3 per una lunghezza max di 100 metri - 1990
10BaseF 802.3.J 10 Mbps su fibra ottica multimodale con segmento max di 500 metri
Fast Ethernet
100BaseTX 100 Mbps su cavo UTP cat 5 - max 100 metri Fast Ethernet 1995
100BaseT4 100 Mbps su cavo UTP cat 3 utilizzando tutte 4 le coppie di fili
100BaseFX 100 Mbps su fibra ottica multimodale con segmento max di 500 metri
GigaBit Ethernet
1000BaseSX 1 Gbps su fibra ottica multimodale max 500 m 1998
1000BaseLX 1 Gbps su fibra ottica monomodale max 2 Km
1000BaseCX 1 Gbps cavo STP 150 Ohm max 25 metri
1000BaseT 1 Gbps su cavo UTP di categoria 5e o 6 utilizzando le 4 coppie

 Il Primo Numero (10) indica la velocità massima di trasmissioni (in Mbps),


 la parola Base indica che la trasmissione avviene con modulazione in banda base, cioè senza portante analogica
 la Sigla Finale indica sostanzialmente il mezzo trasmissivo (T = Twisted = doppino intrecciato di categoria 3,
TX doppino di categoria superiore, SX doppino schermato, FX Fibra Ottica). Al variare del mezzo di
trasmissione cambia anche il tipo di connettore utilizzato Sui dispositivi di rete ( es hub) viene sempre indicata
la sigla dei mezzi trasmissivi supportati (ad esempio 10/100/1000 Base TX significa che le porte sono UTP ).

Standard 10Base5 (IEEE 802.3)

Prima rete Ethernet 10 Mbps strutturata a bus con cavo thicknet, cioè un cavo coassiale “spesso”
avente uno spessore complessivo di circa 1/2 di pollice (12,70 mm) e impedenza 50 ohm, indicato con la sigla
RG213. Questo cavo veniva utilizzato in uno spezzone unico di lunghezza max 500 metri terminato su entrambi i
lati con una resistenza da 50 Ohm in modo da evitare che il segnale subisse riflessioni. Il cavo thicknet è
estremamente rigido ed ingombrante presentava comunque una notevole schermatura ai disturbi che lo rendevano
particolarmente idoneo anche a cablaggi in ambito industriale. Per contro, essendo rigido, risultava difficilmente
sagomabile.
Il collegamento di un nodo alla dorsale principale non viene eseguito in maniera diretta (come per il thinnet), ma
mediante una cassetta di derivazione detta transceiver che funge da trasmettitore / ricevitore. Da questa cassetta viene
derivato un “drop cable” tramite un connettore detto “vampire tap” per la sua capacità di penetrare lo strato isolante
del cavo thicknet e collegarsi direttamente al cavo interno. Il drop cable, di lunghezza massima 50 metri, viene poi
collegato alla schede di rete mediante un connettore denominato DB-15 che assomiglia vagamente al connettore della
porta parallela. La scheda di rete implementava fin da subito i protocolli di livello 2 MAC e LLC.
Il massimo numero di transceiver collegabili sulla dorsale principale è 100 (ben al di sotto del limite di 1024 imposto
dal CSMA / CD), posti ad una distanza minima di 2,5 metri uno dall'altro, in modo da non alterare l'impedenza del
cavo. Due dorsali, di lunghezza max 500 metri ciascuna, possono essere collegate insieme tramite apposito ripetitore.
Una rete può contenere al max 5 spezzoni di cavo e 4 repeater.

pag 23
Sistemi - Classe Quinta robertomana.it
RETI

Standard 10Base2 (IEEE 802.3 A)

Utilizza come mezzo trasmissivo il cosiddetto cavo thinnet che è un cavo coassiale “sottile”
denominato RG58 con uno spessore complessivo di circa 1/4 di pollice (6,35 mm), dunque molto più flessibile del
precedente e di più facile installazione. Velocità sempre 10 Mbps lunghezza della dorsale max 200 metri. La
tipologia della rete è sempre a bus ma a differenza del caso precedente non si ha un unico tratto di coassiale ma la
rete è costituita dalla concatenazione di più spezzoni successivi. Il punto di giunzione tra due spezzoni coincide con il
punto in cui la scheda di rete di un computer viene connessa al bus mediante un connettore BNC (British Naval
Connector) fatto a T che consente appunto il proseguimento della rete su uno spezzone successivo. Esistono anche
connettori cilindrici che consentono di collegare direttamente tra loro due connettori BNC senza alcuna derivazione.
Non è più necessaria alcuna scatola di derivazione, ma le funzioni di transceiver sono integrate direttamente
all'interno della scheda di rete dei vari nodi. Alle estremità del bus devono sempre essere presenti le due impedenze
di terminazione di 50 ohm ciascuna (realizzate in questo caso mediante particolari connettori BNC).
Il cablaggio di una rete thinnet è dunque estremamente più semplice ed economico rispetto al precedente. Una
sottorete thinnet può facilmente essere integrata ad una dorsale thicknet mediante cavi terminati su un lato mediante
connettore BNC e sull‟altro lato mediante connettore della serie N compatibile con la scatola di derivazione thicknet.
Il numero max di nodi è di 30 per ogni segmento, intervallati da una distanza minima di 0,5 metri. La rete può essere
ulteriormente allungata mediante appositi ripetitori. Come nel caso precedente, una rete può contenere al max 5
spezzoni di cavo e dunque 4 repeater.
L‟inconveniente maggiore del cablaggio su coassiale thinnet è quello di una certa vulnerabilità unita alla difficoltà di
localizzazione di un guasto, che molto spesso non è immediata. Un cattivo contatto in prossimità dei connettori,
dovuto ad es ad uno strappo provocato involontariamente oppure ad un connettore BNC non intestato correttamente
poteva portare a malfunzionamenti intermittenti difficili da localizzare ma in grado di bloccare l'intero sistema.

Standard 10BaseT (IEEE 802.3 I)


Nel 1990 il comitato IEEE ha standardizzato la versione Ethernet a doppini intrecciati di tipo UTP di categoria 3.
Degli otto fili contenuti nel cavo UTP, una coppia viene utilizzata come TX, una coppia viene utilizzata come RX
mentre le altre due coppie sono inutilizzate (il telefono utilizzava soltanto 2 dei quattro cavi disponibili).
La velocità è sempre di 10 Mbps su una distanza massima di 100 metri. Tale distanza può essere aumentata fino a
500 metri semplicemente sostituendo il cavo UTP con un cavo schermato STP.
La topologia logica e funzionale della rete 10BaseT è sempre a bus ma questa volta la realizzazione fisica è a stella
con un dispositivo centrale detto hub, che inoltra il segnale ricevuto su tutte le porte di uscita.
Mentre le versioni precedenti a Bus, utilizzando una unica coppia di conduttori, sono intrinsecamente Half Duplex,
le reti 10BaseT utilizzano 2 coppie di conduttori (cavo UTP a quattro fili, 2 per Tx e 2 per Rx), per cui sono
intrinsecamente Full Duplex. Il problema è che, nel momento in cui 2 PC sono collegati ad un hub, il Full Duplex
non è più possibile perché crea collisione.

Standard 10BaseF (IEEE 802.3 J)


Questo standard utilizza fibre ottiche multimodali con connettori ST simili alle prese jack delle antenne.
Il limite max di 500 metri è dettato principalmente dal rispetto del Round Trip Time
La fibra ottica offre maggiori velocità, assenza di rumore elettrico e isolamento galvanico (eliminando ground loop).
Per contro è costosa, delicata da installare e soprattutto da intestare. Ancora poco usata per il cablaggio orizzontale
(da nodo a stazione), invece più utilizzata per cablaggi dorsali (Backbone) fra ripetitori, dove si possono raggiungere
anche i 5 km.

pag 24
Sistemi - Classe Quinta robertomana.it
RETI

Ethernet BroadBand (Banda Larga)


Esiste anche una particolare versione di Ethernet detta BroadBand (Banda Larga) che consente la trasmissione
simultanea da parte di più host. I vari host usano canali separati ottenuti mediante modulazione, come avviene ad
esempio nella televisione via cavo. Ogni scheda di rete, dal costo piuttosto elevato, deve montare speciali modem ad
alta frequenza per consentire la trasmissione modulata sul cavo (e relativa ricezione). Utilizzzo universitario.

Fast Ethernet (IEEE 802.3 u) 1995


100Base Tx
Questo standard mantiene pressoché inalterate tutte le caratteristiche dello standard 10BaseT, limitandosi ad
utilizzare un mezzo trasmissivo di categoria 5 anziché 3 ed utilizzando ovviamente dispositivi in grado di supportare
la maggiore velocità. Gli Hub Fast Ethernet possono essere di classe 1 (più lenti) oppure di classe 2 (più veloci).
Lo standard prevede che ogni segmento di rete non contempli più di un hub di classe1 oppure non più di due hub di
classe 2. Sul numero di Fast Ethernet Switch non ci sono imposizioni, fatta salva la solita clausola che ogni
segmento non deve contare complessivamente più di quattro dispositivi di rete.
100BaseFX praticamente identico allo standard 10BaseF (con la stessa identica tipologia di fibra ottica) ma con
velocità 10 volte maggiore
100BaseT4 che utilizza un cavo UTP cat 3 utilizzando però tutte e 4 le coppie dei fili, dove le due linee aggiuntive
vengono entrambe sfruttate in trasmissione, che dunque avviene parallelamente su 3 cavi complessivi, che
trasmettono ciascuna a 33 Mbit/sec. Si utilizza una modulazione detta PAM-3 che raggruppa i bit a gruppi di tre e
poi li trasmette parallelamente. In questo modo, visto che chi trasmette si impossessa di tre cavi, rimane possibile
soltanto la trasmissione Half Duplex.

Gigabit Ethernet (IEEE 802.3 z) 1998


Prevede 4 standard,
1000BaseSX su fibra ottica multimodale
1000BaseLX uno su fibra ottica monomodale
1000BaseCX su un cavo STP di categoria superiore ed impedenza 150 ohm.
1000BaseT ( standard IEEE 802.3 ab) su cavo UTP cat 5e o 6. In realtà sarebbe una 1000BaseTX4 (cavo UTP di
categoria superiore con trasmissione su 4 coppie). Chi trasmette si impossessa di tutti e 4 i canali (8FILI).
Ogni canale trasmette a 125 MBoud/sec con 2 bit per ogni forma d‟onda, per cui in pratica ogni canale trasmette a
250Mbit/sec. La modulazione utilizzata è detta PAM-5. Ovviamente, a differenza degli standard 10BaseT e
100BaseT è possibile soltanto l‟Half Duplex.
Poiché chi trasmette usa 4 coppie, cade il concetto di linea Tx e linea Rx. In ogni caso, per compatibilità con gli
standard precedenti (una scheda 1000 Mbit/sec deve poter funzionare anche a 100 e/o a 10 Mbit/sec), il segnale
trasmesso sul canale 2 viene ricevuto dall‟altro host sul canale 3 e viceversa.

10 Gigabit Ethernet (IEEE 802.3 an) 2006


10GBaseT ( standard IEEE 802.3 an) su cavo UTP cat 6. La modalità di trasmissione è simile alla 1000BaseT, ma
ogni canale trasmette ora a 2.5 Gbit / sec. 1000 volte più veloce rispetto ai primi standard.

Limiti massimi di tutte le reti Ethernet BaseT


 Il massimo numero di terminali collegabili è fissato dal limite di 1024 nodi imposto dal CSMA / CD
 Iil percorso fra due qualsiasi host può attraversare al massimo 5 segmenti di cavo e 4 Dispositivi di rete
(hub o switch).
 Ogni collegamento fra host e dispositivo non può superare i 100 metri.

pag 25
Sistemi - Classe Quinta robertomana.it
RETI

Dispositivi di Rete di livello 1


Repeater
Dispositivo utilizzato nelle prime reti Ethernet basate su cavo coassiale per connettere tra loro due segmenti e
rigenerare il segnale da un segmento all'altro, senza eseguire nessuna analisi sui bit.
Il Repeater è normalmente alimentato a 24 V dc, mediante apposito alimentatore 220 V

Hub
Hub (concentratore) in inglese rappresenta il centro da un punto di vista geografico e fisico; il fulcro di un oggetto.
 Scopo dell‟hub è quello di consentire un cablaggio FISCO a stella su una rete con STRUTTURA LGICA
a bus. In pratica l‟hub funge da BUS concentrando su di esso tutte le funzionalità del bus fisico.
 Da un punto di vista OPERATIVO, l‟hub è semplicemente un repeater multiporta che non analizza il
significato dei bit che lo attraversano, ma semplicemente li ritrasmette rigenerandoli e duplicandoli su
tutte le altre porte, esclusa quella da cui proviene il segnale stesso.
La duplicazione avviene in maniera CROSSED (incrociata) nel senso che il segnale inviato sulla linea Tx di un canale
viene riportato sulla linea Rx degli altri. Il collegamento PC - Hub deve essere eseguito mediante un cavo dritto

Qui sopra: Simbolo del Repeater

A sinistra: Rete a Stella Basata su Hub


[Cisco Systems]

Caratteristiche comuni di Repeater e Hub


 Presentano un comportamento trasparente rispetto alla rete, cioè è come se non ci fossero
(come se al loro posto ci fossero soltanto dei contatti elettrici).
 I segmenti Ethernet interconnessi mediante repeater o hub costituiscono un unico dominio di collisione, nel
senso che il segnale inviato da un qualunque host raggiunge tutti gli altri host, per cui tutti gli host collegati
mediante repeater / hub possono entrare in collisione tra loro.
 I segmenti Ethernet interconnessi mediante repeater o hub devono operare tutti alla stessa velocità (non
viene eseguita bufferizzazione)
 Sia Repeater che Hub effettuano il cosiddetto ReTiming, cioè decodificano i bit secondo il metodo
Manchester e quindi li ricodificano prima di ritrasmetterli. Entrambi rigenerano l’intero segnale compreso il
preambolo che viene ricostruito di pari lunghezza.
 I segmenti Ethernet interconnessi mediante repeater o hub possono eventualmente anche essere appoggiati
su mezzi trasmissivi differenti (Ethernet 10Base2 e Ethernet 10BaseT).

pag 26
Sistemi - Classe Quinta robertomana.it
RETI

Hub attivi / passivi / intelligenti.

Gli hub PASSIVI non sono alimentati e si limitano a rimandare il segnale senza rigenerarlo. Ormai in disuso.
Tipicamente un hub è di tipo ATTIVO, alimentato 24 Vdc, in modo tale da poter rigenerare il segnale prima di
inviarlo sulle porte di uscita.
I cosiddetti hub INTELLIGENTI (smart hub) invece, oltre a rigenerare il segnale, includono anche un
microprocessore che consente di realizzare funzionalità di diagnostica. Essi monitorizzano le collisioni su ogni
segmento connesso e se queste superano una certa soglia provvedono a disabilitare la porta (funzione di
partitioning). Inoltre se vedono una collisione su un segmento di cavo, la rilevano inviando una sequenza di Jam su
tutte le porte di output connesse.
Hub Attive e Intelligenti consentono in genere un controllo centralizzato del traffico sulla rete, mediante appositi led
luminosi che permettono di diagnosticare se ogni singolo ramo della rete è funzionante.

Nota: La porta di UpLink


L'ultima porta di un hub è in genere contrassegnata da un pulsante di Uplink / Normal. Questa porta cioè può
essere utilizzata come Normal (pulsante rilasciato) per una normale connessione con un PC, oppure come UpLink
(pulsante premuto) per la connessione dell'hub con un altro hub. Impostando la porta come UpLink, il segnale di
uscita dalla porta non viene invertito, e dunque può essere riportato su una qualunque porta del secondo hub
mediante il solito cavo PIN to PIN. Attenzione che però uno solo dei due hub deve avere la porta impostata come
UpLink, mentre sull'altro hub la porta deve essere impostata come Normal.
Due hub possono dunque essere collegati tra loro utilizzando:
 una porta Normal ed una porta UpLink ed un cavo dritto PIN to PIN
 due porte dello stesso tipo, entrambe Normal (o entrambe UpLink) ed un cavo CROSSED
Gli hub più recenti non hanno più la porta di uplink, ma sono sensibili al segnale nel senso che, se si accorgono che
il cavo non è incrociato, provvedono loro automaticamente a invertire il cablaggio della porta.

Nota: Caratteristiche di un hub della famiglia OfficeConnect di 3Com (Smart Hub)


Sono piccoli hub standard dotati tipicamente di 8 porte 100BaseTX. Caratteristiche:

 Dual Speed Hub, in cui tutte le porte sono in grado di operare indifferentemente a 10 Mbps / 100 Mbps e di
adattarsi automaticamente in base ai segnali d'ingresso.
 Tutte le porte sono Half Duplex
 I led di stato relativi alle porte scollegate (o collegate a dispositivi spenti) sono spenti. I led di stato relativi
alle porte collegate sono accesi di colore giallo (10 Mbps) o verde (100 Mbps).
Il led lampeggiante segnala il partizionamento della porta, cioè la sua disabilitazione a seguito
probabilmente ad un network loop.
 Il Collision Led (giallo) lampeggia ogni volta che l'hub intercetta una collisione.
 I Network Utilization Leds indicano la percentuale di utilizzo della rete (da un 1% ad un 80 %)
 Il led di Alert (arancione) si accende per un breve periodo in corrispondenza dell'accensione, dopo di che
dovrebbe essere normalmente spenta. La sua accensione indica la presenza di problemi (tipicamente un
sovrautilizzo della rete oltre l'80% oppure semplicemente il partizionamento (disabilitazione) di una porta in
seguito ad un loop di rete (in tal caso il led di stato della porta dovrà essere lampeggiante)

pag 27
Sistemi - Classe Quinta robertomana.it
RETI

Livello 2 : Network Interface Card


Scheda di rete montata a bordo del PC che gestisce fisicamente l'immissione dei dati sul mezzo trasmissivo. Insieme
alla scheda è sempre abbinato un driver che consente la configurazione della scheda nel sistema operativo adottato.

La scheda di rete copre sia il livello 1 che il livello 2 della pila ISO OSI. Quando un dispositivo / componente di rete
copre più livelli, viene automaticamente classificato al livello più alto fra quelli ricoperti. La scheda di rete:
Viene però classificata al livello 2 del modello ISO OSI in quanto:
 E‟ depositaria dell'indirizzo MAC
 Esegue l'algoritmo CSMA / CD di accesso al mezzo fisico
 Esegue il protocollo MAC creando il frame da trasmettere sul mezzo
 Esegue il protocollo LLC di interfacciamento con il livello 3.
La NIC è normalmente dotata di un microprocessore di controllo, una Eprom (che tra le altre cose consente il boot
da remoto) e un connettore RJ45. Essa comunica con il PC mediante una connessione parallela sul bus, mentre
comunica con la rete attraverso una comunicazione seriale Half Duplex, con segnali codificati in Manchester.
Ogni scheda necessita di un numero di IRQ e di un indirizzo di IO a cui rispondere, cioè locazione di memoria sulla
quale vengono letti / inviati i dati che entrano ed escono dal PC attraverso la scheda stessa.

Nell'acquisto di una scheda di rete occorre considerare alcuni elementi quali ad esempio:
 Tipo di Rete : Esistono schede Ethernet, Token Ring, FDDI
 Tipo di mezzo trasmissivo: Cavo coassiale, UTP, Fibra Ottica, Wireless
 Tipo di slot del PC , cioè se il sistema utilizza bus interno ISA, PCI o PCI Express

Struttura dell'indirizzo MAC


Ogni scheda di rete nel mondo è caratterizzata da un indirizzo MAC (Media Access Control) univoco, assegnato dal
costruttore sulla base di precise specifiche ed in nessun modo modificabile.
L'indirizzo MAC è costituito da 6 byte normalmente espressi in formato esadecimali (6 coppie di cifre esadecimal)
Esempio: 00 C0 9F 54 86 CC. Questi 48 bit consentono 2^48 = 280.000 miliardi di combinazioni possibili. I 24 bit
più significativi indicano il codice del costruttore della scheda (OUI = Organizationally Unique Identifier).
Più codici possono riferirsi allo stesso costruttore. I 24 bit inferiori indicano il numero di serie della scheda.
Ad esempio 08 00 20 xx xx xx indica una scheda Sun Microsystem mentre 00 00 0C xx xx xx una scheda CISCO.
Nota L’indirizzo MAC, pur essendo univoco ha un significato logico diverso dal classico Numero di Telefono della
telefonia. Infatti il MAC è un numero assoluto associato alla macchina. Spostando la macchina rimane sempre lo
stesso. Viceversa il Numero di Telefono dipende dalla località. Cambiando località viene assegnato un nuovo
numero di telefono.

Quando alla scheda di rete arriva un frame, la scheda va a leggere l‟indirizzo MAC di destinazione del frame. Se
l‟indirizzo MAC di destinazione del frame coincide con il suo indirizzo MAC, allora la scheda provvede a leggere
l‟intero frame bufferizzandolo nella propria cache e poi generando un interrupt alla CPU per avvisare il livello 3
sull‟arrivo del frame. In caso contrario il frame non viene letto.

Note:
 Dalla finestra “Connessione alla rete locale LAN” è possibile con un tasto destro sulla scheda di rete
abilitare / disabilitare la scheda stessa. Status mostra gli indirizzi IP con cui la scheda è entrata in
comunicazione.
 Anche le stampanti dispongono oggi di una propria scheda di rete (stampante connesse direttamente alla rete
invece che al server). In tal caso anche la stampante dovrà avere un suo indirizzo IP.
 Col nome PCMCIA si intende una speciale scheda di rete inizialmente utilizzata nei notebook per contenere lo
spazio. Oggi anche i notebook montano normali schede di rete.
pag 28
Sistemi - Classe Quinta robertomana.it
RETI

CSMA / CD
Compito primo della scheda di rete è quello di occuparsi della trasmissione dei frame sul mezzo trasmissivo.
La rete Ethernet utilizza come algoritmo di trasmissione il noto algoritmo CSMA / CD Carrier Sense Multiple
Access / Collision Detection strutturato nel modo seguente:
 Quando un host ha dei dati da trasmettere, ascolta se il canale è libero (CARRIER SENSE). Se è libero,
inizia immediatamente la trasmissione, altrimenti rimane in ascolto attendendo che il canale si liberi.
 Appena sente il canale libero immediatamente inizia la trasmissione. Può però accadere che un altro host,
vedendo anch‟esso il canale libero, inizi contemporaneamente a trasmettere (MULTIPLE ACCESS).
 Per un certo tempo di latenza 2T, ovvero 2 volte il tempo di propagazione del segnale sull'intera lunghezza
del bus, l'host rimane in ascolto del canale per individuare eventuali collisioni. (COLLISION
DETECTION gestione delle collisioni). 2T è detto anche Contention Time o Round Trip Time e rappresenta
il tempo che un trasmettitore deve attendere per essere sicuro di aver acquisito il pieno controllo del canale. Il
caso peggiore si verifica infatti quando i due PC sono agli estremi opposti della linea ed il secondo PC inizia
a trasmettere un istante prima che gli giunga il segnale proveniente dal primo PC. Facendo in modo che il
primo PC attenda per un tempo pari almeno a 2T, si ha la certezza che la collisione verrà rilevata.
Questo tempo di latenza dipende dalla lunghezza del canale e dai parametri del mezzo trasmissivo. Ad
esempio nel caso di cavo coassiale lungo 500 metri in cui si utilizza una portante a 200 Mhz, si ha un
tempo di latenza pari a 2 x 500 / 200 106 = 5 usec. Modulando il segnale a 10 Mbit / sec, nel tempo
di 5 usec si trasmetteranno 50 bit. Il valore normalmente utilizzato è 512 bit, a cui corrisponde il tipico
tempo di latenza delle reti Ethernet 10BaseT pari a 51,2 usec.
 Se al termine del tempo di latenza l'host non ha rilevato nessuna collisione, allora significa che si è
impossessato del canale, quindi cessa di ascoltare il bus e completa la trasmissione di tutti i dati.
 Se invece durante il tempo di latenza l'host sente sul canale qualcosa di diverso da ciò che sta trasmettendo
(con valutazioni di tipo energetico sulla corrente di linea), significa che si è verificata una collisione e dunque
interrompe immediatamente l‟invio dei propri dati, trasmettendo una breve sequenza di jamming (dove
jamming significa ingorgo) per segnalare la collisione a tutti gli host della rete (lunga inizialmente 32 bit e
poi portata a 48 bit nello standard IEEE 802.3)
 Terminata la sequenza di jamming, l'host attende un tempo casuale dopo di che ripete da capo tutto il
processo rimettendosi in ascolto del bus. Il tempo casuale di attesa viene generato mediante un algoritmo
detto backoff binario esponenziale dove il termine backoff rappresenta appunto il tempo di attesa prima della
ritrasmissione, mentre binario esponenziale significa che il range di generazione del tempo casuale di attesa
cresce dopo ogni tentativo. In questo modo, in caso di collisione la stazione provvede rapidamente a tentare
una ritrasmissione, mentre in caso di collisioni ripetute l'intervallo di attesa continuerà ad espandersi.
 Dopo ogni attesa viene incrementato un contatore dei tentativi. Dopo 16 tentativi falliti, il protocollo rinuncia
e segnala il problema ai livelli superiori.

 Un possibile miglioramento consiste nel CSMA / CD non persistente in cui ogni host, se trova il canale
occupato, non continua a monitorarlo per trasmettere immediatamente quando si libera, ma aspetta un tempo
casuale. Infatti è presumibile che altri nodi si trovino nelle stesse condizioni e, non appena il canale risulta
libero, inizino tutti a trasmettere contemporaneamente. La versione non persistente minimizza le collisioni
ma aumenta il tempo di accesso.
 Un'altra variante simile consiste nel cosiddetto CSMA / CA (Collision Avoidance, prevenzione della
collisione in contrapposizione all‟algoritmo base che invece gestisce le collisioni a posteriori) in cui la
stazione che vuole trasmettere rimane in ascolto del canale occupato, ma quando questo ritorna libero, prima
di iniziare la trasmissione, aspetta un breve tempo casuale verificando che nel frattempo nessuna altra
stazione abbia iniziato la trasmissione.
 Il termine Inter Packet Gap (9.6 msec nella rete 10BaseT) indica il tempo di attesa tra la trasmissione di un
pacchetto ed il successivo. In questo modo chi trasmette concede anche agli altri la possibilità di utilizzare il
canale evitando il monopolio del canale e consentendo così anche al ricevitore di elaborare i dati ricevuti.

pag 29
Sistemi - Classe Quinta robertomana.it
RETI

Il protocollo CSMA / CD, inizialmente criticato perché non gestisce una priorità degli accessi, presenta però tempi di
accesso al canale il più rapidi possibile, ed è stato uno dei motivi principali del successo di Ethernet, insieme a:
 economicità dei dispositivi
 facilità di installazione.
L‟esperienza ha poi dimostrato che le collisioni non sono così frequenti, almeno per un numero limitato di nodi.
E' statisticamente verificato che in una rete carico medio, il 50 % dei pacchetti trova inizialmente il canale occupato,
attende che si liberi, e quindi viene trasmesso con successo. Il 3 % dei pacchetti ha una unica collisione iniziale,
dopo di che viene trasmesso con successo, mentre un solo pacchetto su 10000 richiede due tentativi di trasmissione.

Dominio di Collisione
Porzione di rete in cui tutti i nodi possono sperimentare la reciproca collisione, cioè insieme degli host in grado
di “sentire” una collisione (che viene propagata dall‟hub ma non dallo switch).
Un‟altra definizione talvolta utilizzata è la seguente:: Insieme degli host che ricevono in modo DIRETTO (cioè
solo per propagazione fisica) un messaggio unicast.

Il protocollo MAC : struttura del frame


La scheda di rete, ricevuto un pacchetto da trasmettere dal livello superiore, provvede a costruire il frame da
trasmettere ed eseguire il protocollo MAC (Medium Access Control), avvolgendo i dati con una intestazione ed
una coda, e quindi provvede ad immetterli in rete mediante il protocollo CSMA/CD.
L‟intestazione MAC aggiunta dal protocollo MAC è strutturata nel modo seguente:
Preambolo [8 bytes]
E' una sequenza di 62 bit alternati 1 e 0 seguiti da una coppia finale 11 detta SFD (Start of Frame Delimiter).
Il preambolo serve per la sincronizzazione del ricevitore (cioè per dare tempo al PLL di agganciarsi al segnale
ricevuto). In corrispondenza dell'SFD il ricevitore inizia ad assemblare e memorizzare i bit ricevuti.
Indirizzo MAC del Destinatario [6 bytes]
Non è detto che l'host trasmittente conosca a priori l'indirizzo MAC del destinatario, In questo caso come indirizzo
MAC del destinatario viene impostato un indirizzo prestabilito costituito da tutti 1 detto indirizzo di broadcast,
intendendo come destinatari validi TUTTI gli host della rete locale.
Espresso in esadecimale questo indirizzo di broadcast diventa FF FF FF FF FF FF
Indirizzo MAC del Sorgente [6 bytes]
Indirizzo MAC dell'host che sta trasmettendo
Lunghezza del payload [2 bytes]
Indica le dimensioni in bytes del campo dati (payload), da un minimo di 46 bytes ad un max di 1500 bytes .
 46 bytes rappresenta le dimensioni del frame minimo corrispondente ad un ACK TCP :
2 byte ACK TCP + 20 byte intestaz TCP + 20 byte intestaz IP + 4 byte intestaz LLC = 46 bytes
 1500 bytes è mirato a non monopolizzare il canale per troppo tempo.
Sommando ai 46 bytes i 18 bytes dell'intestazione MAC (escluso il preambolo), si arriva ad un frame di 64 bytes.

PAYLOAD
FCS “Frame Check Sequence” [4 bytes]
4 bytes di controllo dell‟errore basati su tecnica CRC (Cyclic Redundancy Code), che consentono al ricevitore di
rilevare eventuali errori causati da disturbi elettrici. Prima di trasmettere i dati, il sorgente divide matematicamente
(con divisione eseguita via software oppure via hardware mediante porte XOR e Shift Register) la sequenza binaria
da trasmettere per un ben preciso polinomio generatore a 32 bit. Il resto di questa divisione sarà un numero ancora a
32 bit che viene accodato al PDU. Il ricevitore esegue la stessa divisione per lo stesso polinomio generatore.
Se il resto coincide con il CRC accodato al msg => Trasmissione OK, altrimenti significa che c'è stato un errore.
Il protocollo MAC si limita a scartare i frame con CRC errato, senza eseguire altre procedure (Best Effort).
pag 30
Sistemi - Classe Quinta robertomana.it
RETI

Nota Utilizzando CRC, la probabilità che si verifichi un errore non rilevato in ricezione (errore che dovrebbe
aggiungere / sottrarre un multiplo esatto del polinomio generatore) è molto bassa. I polinomi generatori sono
calcolati ad hoc per ridurre al minimo questo rischio. Può invece accadere che si verifichi un errore sul 4 byte di
CRC. In questo caso viene scartato (cioè non consegnato ai livelli superiori) un frame valido. I livelli superiori, allo
scadere di un certo timeout verificheranno la mancanza del pacchetto e ne chiederanno la ritrasmissione.

Il sottolivello LLC

Il protocollo LLC (Standard IEEE 802.2)

Il livello 2, una volta ricevuti i dati, deve decidere a quale protocollo di livello superiore consegnarli. Anziché far
eseguire questa operazione al protocollo MAC, si è preferito suddividere il livello 2 di Ethernet in due sottolivelli
Il protocollo LLC Logical Link Control a livello superiore (derivato da HDLC)
Il protocollo MAC Medium Access Control a livello inferiore
mantenendo cioè gli algoritmi di comunicazione con il livello 3 separati rispetto a quelli più strettamente dipendenti
dalla trasmissione fisica vera e propria (indirizzi MAC, strategia di accesso al mezzo, etc.).

In pratica i dati provenienti dal livello 3 vengono prima intercettati dal protocollo LLC che aggiunge le
proprie intestazioni costruendo un primo PDU che verrà quindi “passato” al sottostante livello MAC che a sua
volta aggiungerà, all'esterno, le proprie intestazioni, ed infine verrà “passato” a CSMA/CD per la trasmissione
Attenzione che non è solo questione di aggiungere una piccola intestazione al frame. LLC in base
all‟informazione sul protocollo di livello 3 da contattare, provvede ad eseguire tutti gli algoritmi necessari a
gestire questo interfacciamento.

Intestazione LLC Tre campi da un byte ciascuno

SSAP (Source Service Access Point) codice del protocollo di livello 3 da cui i dati provengono
DSAP (Destination Service Access Point) codice del protocollo di livello 3 a cui i dati sono destinati
DSAP e SSAP normalmente sono uguali, ma possono anche essere diversi.
All'interno dei campi DSAP e SSAP due bit sono usati a scopi speciali (Individual / Group e Unversal / Non
Universal), per cui rimangono disponibili soltanto 6 bit per un max di 64 protocolli standard, riconosciuti da ISO
Control E' identico all'omonimo campo di HDLC e può assumere tre formati relativi a tre tipi diversi di LLC PDU:
Classe 1 = Unacknowledged Connectionless Service (default), cioè senza ACK (Best Effort)
Classe 2 = Acknowledged Connection Oriented Service (con ACK)
Classe 3 = Semireliable Service cioè Connectionless con ACK
Il campo Control in pratica permette ad LLC di funzionare sia come protocollo non connesso, sia come
protocollo connesso. Nei casi 2 e 3 il campo Control è grande 2 bytes. Ethernet utilizza il tipo 1 in cui:
 La sorgente invia direttamente i dati al destinatario senza stabilire a priori nessuna forma di connessione
 Il destinatario non invia nessun tipo di acknowledge
 Se il messaggio arriva corrotto viene scartato e non viene fatto nessun tentativo di Error Recovery

Nota: Siccome si è voluto dare ad LLC la possibilità di supportare anche protocolli proprietari non riconosciuti
dall'ISO, è stato aggiunto un campo SNAP (Sub Network Access Protocol) secondo il quale, se i due campi DSAP e
SSAP hanno entrambi il valore 0xAA, allora vengono aggiunti davanti al campo Control altri 5 + 5 bytes di cui i
primi 3 identificano l'organizzazione che ha proposto il protocollo, gli ultimi 2 identificano il protocollo all'interno
dell'organizzazione. Questa seconda soluzione contempla anche i 64 protocolli fondamentali del caso precedente. In
realtà LLC è quasi sempre utilizzato in questa seconda versione, dove come codici di protocollo si continuano ad
utilizzare i vecchi codici a 2 bytes proposti da Xerox prima della standardizzazione IEEE 802.2.
Esempi: 0800 = Ipv4 0806 = ARP 880B = PPP 86DD = IPv6
pag 31
Sistemi - Classe Quinta robertomana.it
RETI

Dispositivi di Rete di livello 2

Bridge
Dispositivo intelligente nel senso che non si limita a inoltrare i frames su tutte le porte, ma li fa risalire fino al livello
2, provvedendo ad “aprirli” e a leggere le relative intestazioni MAC (MAC source e MAC dest).
Il Bridge è dotato di un microprocessore interno e di una memoria RAM in cui provvede a bufferizzare tutti i frames
in transito, frames che vengono poi analizzati e, sulla base dell'indirizzo MAC del destinatario, vengono inoltrati
soltanto sul segmento su cui si trova il destinatario, realizzando di fatto una segmentazione della rete locale.

Fig 1

Il Bridge dispone di un numero limitato di porte (due o quattro) su ciascuna delle quali si collega normalmente un
hub che funge da concentratore per quel segmento di rete.

Fig 2

Gli host di un Segmento possono comunicare tra loro mentre, in parallelo, gli host di un altro segmento possono
anch‟essi comunicare fra loro.

Switch (commutatore)
Lo Switch è un Bridge multiporta che però esegue le commutazioni direttamente via hardware per cui può
operare a velocità decisamente maggiori e di conseguenza può gestire un numero molto più elevato di porte,
che possono essere anche 32 o 64 o anche 128

Principio di Funzionamento dello switch (e del bridge)


I funzionamenti di switch e bridge sono basati sull‟utilizzo di una tabella interna, detta CAM TABLE (Content
Address Memory), costruita dinamicamente durante il funzionamento, e costituita da 2 colonne in cui :
per ogni host della rete, vengono memorizzati il suo indirizzo MAC e la porta fisica relativa al segmento a cui
quell‟host appartiene.
Indirizzo MAC Porta fisica
04 55 F9 A2 66 C3 port #2
00 3A FF 70 34 4B port #2

pag 32
Sistemi - Classe Quinta robertomana.it
RETI

La CAM Table viene costruita dinamicamente sulla base degli indirizzi MAC Sorgente. Per ogni frame in
transito, il Bridge analizza il MAC Source e, se questo non è ancora contenuto all‟interno della CAM Table,
provvede ad aggiungere un nuovo record relativo a quell‟indirizzo MAC con a fianco la relativa porta di provenienza.
(fase di learning).
Prima ancora del MAC Source, il Bridge provvede ad analizzare l'indirizzo MAC del destinatario.
Possono verificarsi tre casi:
a) se l'indirizzo di destinazione è presente nella CAM Table di un segmento diverso da quello di provenienza, il
frame viene inoltrato sul segmento corrisponde. (fase di forwarding)
b) se l'indirizzo di destinazione è presente nella CAM Table del segmento di provenienza del frame,
semplicemente il frame viene scartato (significa che il destinatario si trova sullo stesso segmento del sorgente e
dunque nel frattempo sarà già stato raggiunto dal frame).
c) se l'indirizzo non è presente nella CAM Table (perchè l'host non esiste o non ha mai trasmesso, oppure perché
il Bridge è stato appena riavviato), oppure se si tratta di un indirizzo di broadcast, allora il Bridge inoltra il
frame su tutte le porte su cui c‟è qualcosa elettricamente collegato, con eccezione della porta su cui è stato
ricevuto il frame (fase di flooding, cioè allagamento). Notare che se il MAC DEST non è presente nella CAM
Table, il frame viene inviato a tutti (broadcast) ma l‟indirizzo MAC DEST continua rimanere un indirizzo
unicast.
Dopo un certo timeout di inattività, un nodo viene automaticamente rimosso dalle CAM Table (fase di aging).

La Segmentazione dei domini di collisione


Switch e Bridge operano una segmentazione dei domini di collisione, nel senso che suddividono la rete in più
segmenti indipendenti che possono operare parallelamente. Due host di un certo segmento possono comunicare
tra loro mentre altri host di altri segmenti possono parallelamente comunicare fra loro. Cioè, con riferimento
alla Fig 2 della pagina precedente, mentre un hot del segmento 1 sta comunicando con un host del segmento 2,
parallelamente un host del segmento3 può comunicare con un host del segmento 4. Inoltre se su un segmento si
verifica una collisione, gli altri segmenti possono continuare ad operare normalmente.
Nel caso dello switch si parla in genere di microsegmentazione in quanto il concetto di segmentazione si applica in
pratica ad ogni singola porta dello switch, che rappresenta un dominio di collisione a se stante.
Cioè un host A può comunicare con un host B mentre, in contemporanea, un host C può comunicare con un
host D. In pratica è come se fosse un Hub in cui in ogni porta è incorporato un micro bridge di filtro.

A B C D

Fig 3

Le reti segmentate mediante uno switch si indicano in gergo come reti “switchate”.

Metodi di switch
Gli Switch possono operare in due diverse modalità :
 Cut-through (supportato solo dagli Switch e non dai Bridge). Lo Switch provvede ad inoltrare il frame prima
ancora che sia stato completamente ricevuto, subito dopo aver letto il MAC DEST e senza eseguire alcuna
bufferizzazione. Tempo di latenza molto breve ma può essere applicato solo se Tx e Rx operano alla stessa veloc
 Store and Forward (modalità Bridge-Like). Lo Switch salva l'intero frame in un buffer fino al ricevimento del
CRC che viene ricalcolato in modo da scartare eventuali frame non validi.
pag 33
Sistemi - Classe Quinta robertomana.it
RETI

Confronto fra le due tecniche precedenti


 Lo Store and Forward è più lento ma è più efficace in quanto consente la comunicazione fra dispositivi che
operano a velocità differenti (10 Mbps o 100 Mbps). Ad esempio si può inserire un server che opera a 100
Mbps che deve servire molti host che operano a 10 Mbps. I frames richiesti al server vengono scaricati
rapidamente e bufferizzati nello Switch, che provvede poi a inviarli lentamente al Client. Idem per le richieste
provenienti dal Client, che verranno bufferizzate lentamente dallo Switch e poi inviate rapidamente al Server
 Al termine della bufferizzazione lo switch può eseguire anche il controllo CRC (con ulteriori rallentamenti)
scartando i frames non validi,
Gli Switch attuali utilizzano principalmente lo Store And Forward. Nuove Tecnologie sempre più veloci
consentono allo switch di processare il frame in tempi sempre più rapidi con ritardi minimo rispetto al Cut Through.
Esistono anche switch che sono in grado di modificare automaticamente la loro modalità di switch sulla base delle
condizioni di rete. Questi switch utilizzano in prima battuta il cut through facendo però un check al volo sul CRC.
In corrispondenza di ogni errore incrementano un contatore passando alla modalità Store And Forward nel caso di
superamento di una certa soglia. Se gli errori ritornano al di sotto della soglia ripassa automaticamente al cut through

Configurazione di uno switch


Hub, Bridge e Switch sono normalmente dispositivi autoconfiguranti (che non richiedono particolari configurazioni
iniziali) e dunque non dispongono di indirizzo MAC né di indirizzo IP.
Alcuni Switch di fascia più alta supportano invece nuove funzionalità come VLAN (Virtual LAN) e Spanning Tree
Protocol che devono in qualche modo configurate dall‟utilizzatore. Questi switch sono programmabili, cioè sono
dotati di indirizzo MAC (che risponde in realtà indifferentemente su tutte le porte), di indirizzo IP e di un apposito
programma interno di configurazione (agente di gestione).
La comunicazione con il software di gestione può avvenire in due modi :
 out-of-band, cioè mediante una apposita porta console (Seriale su RJ45) a cui si può accedere tramite un
terminale che consenta l‟invio di comandi TTY (es Hyper Terminal) oppure
 in-band via HTTP (o via Telnet) cioè con accesso attraverso la rete Ethernet, su una qualsiasi porta fisica
dello switch. In questo caso lo switch è dotato di indirizzi MAC e IP (configurabile via software in base alla
rete di appartenenza dello switch). Tutti i frames aventi come MAC DEST quello dello switch saranno inoltrati
sulla apposita porta “virtuale” dello switch (accessibile attraverso qualsiasi porta fisica)
Le operazioni che di solito si possono fare sono:
 Impostazione e Modifica dei parametri di configurazione relativamente ad esempio a Spanning Tree e VLAN
 Interrogazione dello stato delle porte (se c'è un nodo collegato e a quale velocità)
 Statistiche di traffico e di errori per ciascuna porta (nodi a maggior utilizzo e collegamenti mal funzionanti).
 Interrogazione delle tabelle di instradamento (CAM Table)
 Modifica dello stato di una porta (esclusione di un nodo mal funzionate o che si desidera escludere)
 Creazione manuale di entry persistenti, che non vengono rimossi anche in caso di inattività del nodo

Cenni su Hyper Terminal


Hyper Terminal è una utility presente in Windows (a partire da Windows 98) che consente di inviare comandi
testuali ad un generico dispositivo remoto secondo lo standard VT100 Terminal Emulation.
Hyper Terminal è disponibile nella cartella Windows Accessori / Comunicazioni / Hyper Terminal
Hyper Terminal può operare anche in dial up tramite modem remoto

Protocollo Spanning Tree


In una LAN basata su hub e switch è essenziale che esista sempre solo un unico percorso tra ogni coppia di nodi
terminali (host). In caso contrario l'intera rete potrebbe entrare in loop con i msg di broadcast continuamente
rimbalzati da una parte all‟altra della rete (broadcast storm tempesta di broadcast). Non solo i msg di broadcast, ma
anche i msg unicast possono entrare in loop nel momento in cui gli switch non conoscano la posizione esatta del
destinatario. Si consideri ad esempio la seguente figura :

pag 34
Sistemi - Classe Quinta robertomana.it
RETI

A S1

S2
S3
B
Supponendo che A debba trasmettere un pacchetto a B e che gli switch intermedi non conoscano la posizione di B,
il messaggio viene inviato da A ad S1 che lo inoltra a S2 e S3 i quali si scambiano il messaggio e poi, entrambi,
provvedono di nuovo a inoltrarlo verso S1.
In questo modo il messaggio cicla all‟infinito all‟interno dell‟anello e B riceverebbe infinite volte lo stesso
messaggio. Questa situazione non si verificherebbe se S2 avesse già B mappato all'interno della propria CAM
Table, ma in ogni caso B riceverebbe due volte il messaggio.
Per ovviare a questi problemi occorre assolutamente evitare che esistano percorsi alternativi fra i nodi. Questo però
non sempre è possibile e nelle reti più complesse il secondo percorso potrebbe crearsi anche incidentalmente.
Inoltre, talvolta, il percorso alternativo viene costruito di proposito in modo da garantire la massima sicurezza di
connessione. Quando si rompe uno switch subentra l'altro.
La vera soluzione a questo problema è l‟implementazione da parte degli switch di un algoritmo Spanning Tree.
(realizzato per la prima volta da Digital Equipment). Si definisce Spanning Tree (albero ricoprente) un albero in
grado di ricoprire tutti i nodi di un grafo. Nel caso in cui i link del grafo abbiano ciascuno un loro peso, si definisce
Minimum Spanning Tree quello che minimizza il peso complessivo dei link utilizzati per ricoprire il grafo.
Nella teoria dei grafi esistono diversi algoritmi per il calcolo del Minimum Spanning Tree, fra cui uno dei più noti è
l‟Algoritmo di Prim che consente di calcolare il Minimum Spanning Tree di un grafo a partire da un nodo generico.
Lo Spanning Tree Protocol (STP livello 2 ISO OSI) è stato standardizzato da IEEE (802.1d) ed è oggi utilizzato da
tutti gli switch di fascia più alta in grado di realizzare le disabilitazione automatica di eventuali percorsi multipli.
Funzionamento: Su ogni switch della rete occorre 1) abilitare il protocollo Spanning Tree 2) assegnare un valore di
Bridge Priority 3) Assegnare un peso ad ogni porta, tanto minore quanto più si reputa importante (e veloce) quel
collegamento. All‟accensione ogni switch assume se stesso come master e inizia ad inviare in rete dei frames detti
BPDU (Bridge PDU) contenenti il proprio valore di Bridge Priority. Lo switch con Bridge Priority inferiore
(generalmente lo switch root dell‟intera rete) diventa il vero Root Bridge (master) della rete e gli altri cessano di
inviare le BPDU. Il master continua perennemente ad inviare le BPDU ogni 2 sec. Ogni switch non master blocca
tutte le trunking port in uscita (quelle collegate ad altri switch) e, a intervalli casuali, prova a riabilitare quella a costo
minore da cui ritrasmette le BPDU. Prima di ritrasmettere la BPDU, aggiunge al campo “Root Path Cost” il costo
della porta da cui ritrasmette. Se lo switch riceve le BPDU su più di una porta significa che esiste un loop per cui
provvede automaticamente a bloccare la porta con costo superiore (l‟ultima attivata). Una volta a regime (forwarding
state), nel caso in cui le BPDU non dovessero più arrivare significa che si è interrotto un collegamento per cui tutti
gli switch passano in un blocked state bloccando in uscita tutte le trunked port e ripetendo l‟algoritmo dall‟inizio.

VLAN (Virtual LAN di livello 2)


Per VLAN si intende il partizionamento di una rete fisica in più reti virtuali differenti (cioè in più domini di
broadcast differenti). Le varie porte di uno switch VLAN possono essere assegnate a VLAN differenti. Gli host
collegati ad una porta appartenente ad una certa VLAN potranno comunicare soltanto con gli host appartenenti alla
stessa VLAN. In pratica uno switch VLAN è esattamente l‟equivalente di più switch fisicamente separati (uno
per ogni „REAL LAN’). In ogni VLAN possono essere raggruppati più PC indipendentemente dalla loro posizione
fisica all'interno della rete. Le diverse VLAN possono comunicare tra loro solo attraverso un router. Il supporto
VLAN ha un certo costo, sostenibile negli anni passati prima che il costo degli switch scendesse ai livelli attuali.

Switch Transazionali Esistono anche switch di fascia più alta in grado di interconnettere anche segmenti di reti di
topologia differente (Ethernet, Token Ring, FDDI), funzione tipicamente svolta dai router.
Stackability Molti Switch sono stackable, nel senso che, oltre ai normali collegamenti di uplink, mediante un
apposito cavo possono essere collegati insieme come se fossero un unico switch.

pag 35
Sistemi - Classe Quinta robertomana.it
RETI

Standard WiFi 802.11


Le reti Ethernet WiFi (Wireless Fidelity) utilizzano l‟etere come mezzo trasmissivo, risparmiando i costi di cablaggio
ma con maggiore sensibilità ai disturbi e rischi legati ad eventuali effetti nocivi. Si tratta infatti di microonde con
frequenza di 2.4 GHz, (con λ = 12,5 cm), simili a quelle dei cellulari e dei forni a microonde. Per rendere i segnali
WiFi non troppo invasivi, è stata loro assegnata una potenza massima estremamente ridotta (20 dbm).

Standard Anno V max


802.11 1990 2 Mbit/sec
802.11 b 1999 11 Mbit/sec
802.11 g 2003 54 Mbit/sec
802.11 n 2007 300 Mbit/sec con antenne multiple (typ 3) (540)

Reti peer to peer (AD HOC)


Quando un host WiFi, tramite la propria antenna, invia un messaggio in rete, questo arriva ovviamente a tutti gli host
della rete. Dal momento che contiene sia l‟indirizzo MAC del Sorgente sia l‟indirizzo MAC del Destinatario, il msg
potrebbe essere intercettato soltanto dal reale destinatario esattamente come nelle reti Ethernet cablate. Si realizza in
questo modo una rete wireless detta peer to peer in cui tutti gli host interni ad un diametro di 100 m sono in visibilità
tra loro e possono comunicare direttamente. Uno degli host potrebbe disporre di un collegamento con la rete cablata e
fungere da router verso la rete cablata. C‟è però un notevole problema:
Rilevare le collisioni via etere è praticamente impossibile. Infatti, quando l‟antenna è in trasmissione, l‟ampiezza
del segnale in corso di trasmissione è tale da mascherare ogni altro segnale ricevuto, impedendo di fatto il
rilevamento della collisione. Per cui un host, avviata la fase di Carrier Sense, sentendo il canale libero , può in
qualunque momento iniziare una trasmissione (Multiple Access), senza avere però la possibilità di eseguire la fase di
Collision Detection. Se un altro host inizia a trasmettere nello stesso istante, nessuno dei due saprà mai se la sua
trasmissione è andata a buon fine. Dunque in una rete wireless occorre necessariamente un approccio diverso, con
necessità di un arbitro che regoli le comunicazioni fra gli host. Questo dispositivo è l‟Access Point.
Tutte le attuali schede di rete WiFi sono configurate per un accesso centralizzato ad un Access Point. Volendo
forzatamente realizzare una rete wireless peer to peer senza l‟utilizzo di un AP, occorre, mediante appositi software,
riconfigurare le scheda di rete in modo che bypassi la presenza dell‟AP e realizzi tutte le funzionalità di un AP.

Accesso Point
L‟Access Point svolge principalmente due funzioni:
1) funge da bridge tra rete wireless e rete cablate
2) funge da Centralizzatore e ARBITRO delle comunicazioni wireless.
cioè, tutte le comunicazioni, anche quelle tra nodi vicini, passano sempre attraverso l‟AP
Inoltre, poiché tutte le comunicazioni passano sempre attraverso l‟AP, esso rappresenta il punto ideale per eseguir un
controllo degli accessi alla rete, accettando soltanto richieste provenienti da client autorizzati.

Caratteristiche Tecniche di un AP (costo 30 €)


L‟AP presenta normalmente una o più porte di connessione alla rete cablata più un‟antenna che realizza una porta
virtuale wireless alla quale saranno collegati tutti gli host wireless. Dunque l‟AP può essere visto come uno switch
(liv 2) con una porta aggiuntiva di tipo wireless (l‟antenna). Come un normale switch gestisce una CAM Table
all‟interno della quale, relativamente al canale wireless (antenna), sono memorizzati gli indirizzi MAC di tutti gli
host wireless. Per quanto riguarda gli host wireless, è come se fossero collegati direttamente alla rete cablata.
L‟AP è dotato di solito anche di un indirizzo IP (con relativo MAC) associabili a qualsiasi porta in modo da
consentirne la programmazione del dispositivo via rete (di solito http).
Area di copertura di un AP è detta CELLA di copertura o BSS (Basic Service Set). La cella di copertura di un AP è
costituita da un cerchi di raggio pari a circa 100 m (91 – 152 m i indoor, cioè in presenza di muri).

pag 36
Sistemi - Classe Quinta robertomana.it
RETI

Identificativo di rete SSID (Service Set Identifier). Ogni rete WiFi è caratterizzata da un nome di rete detto SSID di
lungh max pari a 32 chr (impostato col nome del costruttore). E‟ il nome con cui i client “vedranno” la rete wireless.
Quando un client WiFi intende connettersi ad una WLAN, avvia una fase di ascolto (scanning) per vedere se esiste
un AP a cui associarsi. In tal caso, se il SSID è trasmesso in broadcast e non sono richieste autenticazioni, l‟host
può connettersi automaticamente. Se il SSID non è trasmesso in broadcast, la scheda WiFi può connettersi all‟AP
solo se conosce il SSID. Se è richiesta una autenticazione deve conoscere anche la password di autenticazione.
Potenza : 20 dbm (100 mW). Infatti dbm = 10 log10 (P / 1mW)
Canali Lo spettro WiFi è compreso nel range 2,4 – 2,488 GHz con 13 canali da 22 MHz parzialmente sovrapposti.
Lo scopo dei canali è quello di consentire la presenza contemporanea su una stessa area di più AP appartenenti a reti
differenti (SSID differenti) o alla stessa rete (stesso SSID). AP limitrofi devono preferibilmente utilizzare canali
differenti in modo che un client intermedio possa ricevere distintamente due o più segnali differenti. L‟impostazione
del canale può essere effettuata manualmente o automaticamente dall‟AP che si posiziona sul primo canale libero (il
default è il 6). Può però capitare che il secondo AP non sentendo il segnale dell‟altro scelga lo stesso canale.
Roaming Un AP può gestire al limite 30 client per cella. In caso di più client occorrono più AP tutti con lo stesso
SSID e collegati tra loro attraverso la normale rete cablata. Al fine di consentire lo spostamento fra una cella e
l‟altra senza perdita di segnale, le celle di copertura degli AP devono presentare una area comune di intersezione, in
modo da garantire una copertura uniforme. Questo consente al client di connettersi al secondo AP prima di essersi
disconnesso dal primo (mantenendo sempre il proprio indirizzo IP). Tecnica simile al roaming dei cellulari. Un nodo
intermedio che “sente” due AP appartenenti alla stessa rete, in ogni momento è registrato sotto un unico AP (quello
con campo maggiore). Può invece gestire connessioni parallele con più AP appartenenti a reti differenti.

ISR
Quando lo scopo di un Access Point è soltanto quello di condividere l‟accesso ad Internet, si utilizza il cosiddetto
router integrato nei servizi (ISR) cioè un vero e proprio router che contiene al suo interno anche 1) un modem di
accesso alla rete WAN, 2) un hub/switch a 4 porte, 3) un AP tale da consentire anche l‟accesso via wireless.
Di solito fornisce inoltre anche servizi Firewall, NAT e DHCP per l‟assegnazione dinamica degli indirizzi IP,
Con il termine Hotspot si intende invece un ISR pubblico (presente in aeroporti, stazioni, grandi hotel, etc. ).

Bridge ACESS POINT


Il Bridge Access Point serve per collegare due LAN distinte (ad es due uffici di una azienda separati da una strada
pubblica). I Bridge AP sono dotati di antenne direttive in grado cioè di trasmettere in modo direzionale, con
possibilità di raggiungere distanza molto più elevate rispetto alle normali antenne omni direttive del normale AP.
Un Bridged Access Point comunica solo con un altro AP. Se uno si mette col PC in mezzo alla strada non comunica.

Protocolli
Il problema di base, come detto in precedenza, è l‟impossibilità di rilevare collisioni attraverso l‟etere.
Rispetto al Data Link di Ethernet via cavo cambiano tutti e 3 i protocolli (CSMA/CA, MAC 4, LLC ACK Send And Wait)

Accesso al mezzo: il protocollo CSMA/CA


WiFi utilizza come protocollo di accesso al mezzo CSMA/CA che cerca di prevenire le collisioni. Un nodo che
vuole trasmettere ascolta se il canale è libero. Se è libero inizia a trasmettere. Altrimenti aspetta che si liberi e quindi
attiva un timer casuale. Se al termine del Contention Timer il canale è ancora libero, allora inizia a trasmettere,
altrimenti ripete il processo dall‟inizio. Il rischio di collisioni viene ridotto, ma non completamente rimosso.

Il livello MAC
L‟intestazione MAC di un frame WiFi (802.11) è notevolmente diversa dall‟intestazione MAC utilizzata nelle reti
Ethernet cablate (802.3). Contiene ad esempio il SSID della rete a cui il frame fa riferimento e ben 4 indirizzi MAC
(host sorgente, host destinazione, source wireless station, dest wireless station). Nel caso di invio dati dall‟host
all‟AP, il source wireless station è l‟host stesso, mentre il dest wireless station è l‟AP. Il doppio campo torna
comunque utile nel caso delle reti wireless - bridged, in cui l‟AP si collega via in wireless ad altri AP. L‟ AP
provvede automaticamente a convertire le intestazioni MAC dal formato 802.11 al formato 802.3 e viceversa..

pag 37
Sistemi - Classe Quinta robertomana.it
RETI

Il livello LLC: Ackowledgment e MAC Retransmission


Poiché CSMA/ non elimina del tutto il rischio di collisioni, e soprattutto per consentire la presenza contemporanea di
più AP su uno stesso canale, il substrato LLC di una rete WiFi implementa un meccanismo di ackwledgement dei
frames trasmessi, con ritrasmissione dei frames entrati in collisione. L‟algoritmo utilizzato è una variante
dell‟algoritmo send and wait che, per ogni pacchetto inviato, attende un segnale di ACK. Il trasmettitore avvia il
prossimo CSMA/CA contention soltanto dopo il ricevimento dell‟ACK (o in corrispondenza di un timeout).
Quando un host intende trasmettere, invia all‟AP un segnale RTS (Request To Send), mediante il quale richiede
all‟AP il permesso ad impossessarsi del canale, indicando anche l‟indirizzo MAC dell‟host con cui intende
comunicare e le dimensioni del pacchetto da trasmettere. L‟AP, se libero, invia in broadcast la richiesta a tutta la rete.
L‟host destinatario risponde all‟AP con un segnale CTS (Clear To Send) che l‟AP provvede a rinviare in broadcast a
tutti gli host della cella. CTS contiene l‟indicazione dell‟host che ha richiesto l‟utilizzo del canale e le dimensioni del
pacchetto. In questo modo tutti gli host della cella sanno che il canale è occupato e rimangono silenti per il tempo
richiesto. In alcune versioni quando TX ha finito la trasmissione, invia un ACK all‟AP che lo invia in broadcast in
modo tutti sappiano che il canale è ritornato libero e possano riattivare una nuova contesa CSMA/CA

Vantaggi nell‟utilizzo dei messaggi RTS/CTS


1) La ragione principale dell‟utilizzo dei messaggi RTS/CTS è il cosiddetto “problema del nodo nascosto”.
Si immagini un nodo B che si trova in un‟area intermedia coperta da due AP che operano sullo stesso canale. Se il
nodo A richiede a AP1 il permesso di trasmettere a B e contemporaneamente C richiede a AP2 il permesso di
trasmettere ad un qualunque nodo di AP2, quando A inizia a trasmettere a B il segnale ricevuto da B andrebbe in
collisione con quello trasmesso da C. Grazie invece al meccanismo precedente di RTS/CTS, quando B riceve il
segnale RTS da A invia il proprio CTS a entrambi gli AP che lo inoltrano in broadcast a tutti. In questo modo a C
non sarà consentito iniziare una nuova comunicazione con AP2 (concetto di virtual carrier sense).
Se però i canali fossero separati le due comunicazioni
A B C potrebbero avvenire contemporaneamente, dunque le
prestazioni complessive sarebbero migliori.

2) In caso di collisione sul segnale RTS (e conseguente assenza di ricezione di CTS), entrambi i contendenti
riproveranno l‟accesso secondo le regole di CSMA/CA, ed il tempo perso riguarda soltanto l‟invio di un segnale
RTS invece che l‟invio di un intero frame.

Autenticazione e Crittografia
I dati trasmessi via etere raggiungono qualsiasi client wireless che si trovi nella cella gestita dal trasmettitore.
Per evitare che persone non autorizzate possano collegarsi alla rete WiFi, o semplicemente intercettarne il traffico,
sono stati previsti meccanismi di autenticazione degli accessi e di cifratura delle trasmissioni.
Autenticazione tramite indirizzi MAC.
L‟autenticazione dei nodi può essere gestita impostando sull‟AP un elenco di indirizzi MAC abilitati in modo che
soltanto i computer aventi quegli indirizzi MAC possano avere accesso alla rete.
Autenticazione tramite Parola Chiave e Crittografia
 WEP (Wired Equivalent Privacy) Algoritmo basato su una chiave simmetrica a 64 bit (ma esistono anche
versioni più avanzate a 128 e 256 bit) che deve essere impostata staticamente sia sui client che sull‟AP. Può esegue
sia autenticazione che crittografia sempre con la stessa chiave. Per quanto concerne l‟autenticazione WEP prevede
che l‟AP, in corrispondenza di una richiesta di connessione, invii al client una stringa testuale di challange. Il client
dovrà cifrarla con chiave WEP e restituirla all‟AP. Se l‟autenticazione fallisce il client non avrà accesso alla rete. Per
quanto riguarda la cifratura, se si delega l‟autenticazione agli indirizzi MAC, è possibile configurare WEP in modo
che l‟AP trasmetta la chiave WEP ai client collegati senza doverla configurare su tutti i client. Ormai superato da :
 WPA PSK (WiFi Protected Access – Pre Shared Keys) Utilizza una chiave simmetrica di autenticazione
(configurata sull‟AP e sui client) costituita da un stringa compresa fra 8 e 63 chr. Per la crittografia dei dati usa un
algoritmo TKIP più avanzato rispetto a WEP con chiave a 256 bit, generata dinamicamente in corrispondenza di
ogni connessione sia sull‟AP che sul client sulla base della chiave PSK (pre master). Esiste già una nuova versione
WPA2-PSK basata non su TKIP ma su AES. EAP è invece un protocollo di autenticazione basato su server Radius.

pag 38
Sistemi - Classe Quinta robertomana.it
RETI

Livello 3

Il livello Rete è il responsabile dell‟instradamento dei singoli pacchetti attraverso una qualsiasi rete
(LAN; MAN o WAN), da un generico sorgente A ad un generico destinatario B.

Gerarchia degli indirizzi IP


L‟indirizzo MAC è un indirizzo flat, cioè fisicamente legato alla macchina e indipendente dalla posizione geografica
della macchina stessa. Per individuare un host all‟interno di una rete di grandi dimensioni, serve un indirizzo logico
di livello più alto che non sia legato alla macchina, ma che sia configurabile in funzione della posizione geografica
della macchina. Occorre passare da un indirizzo fisico flat come il MAC ad un indirizzo logico gerarchico che, in
base al valore, legato alla posizione effettiva della macchina.
Oltre all‟indirizzo MAC, indirizzo fisico impresso nella scheda di rete, agli host di una rete viene assegnato un
secondo indirizzo, l‟indirizzo IP, assegnato via software in funzione della posizione geografica dell‟host.
L‟indirizzo MAC potrebbe essere paragonato a Nome e Cognome di una persona (o al codice fiscale, univoco ed
invariante nel tempo) mentre l‟indirizzo IP potrebbe essere paragonato alla sua residenza che può cambiare nel tempo

Indirizzo MAC Fisico Liv 2 Flat (piatto, indipendente dalla posizione)


Indirizzo IP Logico Liv 3 Gerarchico
Se vado in America avrò sempre il mio MAC, ma mi verrà assegnato un nuovo IP “americano”. I primi numeri di un
indirizzo IP identificano il continente, poi la nazione, la provincia, etc, un po come i CAP postali o i numeri telefonici

Il problema che nasce è come associare i due indirizzi. La trasmissione a livello 1 e 2 è interamente incentrata sugli
indirizzi MAC e gli indirizzi IP non si sa neppure che esistono.
Al fine di risolvere questo abbinamento, è stato sviluppato un apposito protocollo di livello 3, detto ARP che,
all‟interno di una rete locale, provvede a convertire un indirizzo IP noto nel corrispondente indirizzo MAC.

pag 39
Sistemi - Classe Quinta robertomana.it
RETI

Struttura di un indirizzo IP
Un IP Address v4 è un numero 32 bit / 4 Bytes espresso in formato decimale con notazione puntata.
Ogni byte può contenere un numero compreso tra 0 e 255. 4 miliardi di combinazioni.
x.y.z.w
10.14.137.220 indirizzo IP valido
10.256.13.34 indirizzo IP non valido

L'indirizzo IP di ogni macchina deve essere univoco all‟interno della rete in cui la macchina si trova.

Gli indirizzi IP possono essere:


STATICI Assegnati direttamente sulla machina e valido fino a che non viene modificato
DINAMICI Assegnati di volta in volta da un apposito server di assegnazione degli indirizzi e valido fino allo
spegnimento della macchina
PUBBLICI Visibile da tutti, UNICO a livello mondiale, assegnato da Authority mondiale
IANA (Internet Assigned Numbers Autority)
PRIVATI UNICO internamente ad una singola rete, assegnato dal gestore della rete

Un Server pubblico avrà un indirizzo pubblico e statico (ovviamente sempre uguale a se stesso)
Un PC che si collega ad Internet avrà un indirizzo pubblico e dinamico, che viene riassegnato ogni volta

Gli indirizzo IP possono essere suddivisi in 5 classi, ognuna strutturata in 2 livelli di gerarchia:
A) R H H H 28 -2 reti con 224 -2 host ciascuna
B) R R H H 216 -2 reti con 216 -2 host ciascuna
C) R R R H 224 -2 reti con 28 -2 host ciascuna
D) Riservata per le trasmissioni multicast
E) Riservati a scopi di ricerca e per eventuali applicazioni future
Al Vallauri sarebbe impossibile fare una rete di classe C perchè ci sono più di 255 host.
Nelle reti pubbliche non c'è molto da scegliere visto che l'indirizzo è assegnato dall'Authority.

All'interno di ogni “gruppo rete” e all'interno di ogni “gruppo host”, la prima e l'ultima combinazione non
possono essere utilizzate, cioè non sono accettate reti o host costituiti da tutti zero o da tutti uno.

Indirizzi di classe A
Caratteristica degli indirizzi di classe A è che il byte più alto è compreso tra 1 e 126 (Primo Byte = “0 x x x x x x x”).
La classe A consente di indirizzare 254 reti (126 effettive) con 16 milioni di host ciascuna.
Un indirizzo di classe A può essere scritto nella forma X.0.0.1, dove la X iniziale sta ad indicare che il primo numero
è assegnato, mentre gli altri tre numeri sono a disposizione per la configurazione degli host.

Indirizzi di classe B
Caratteristica degli indirizzi di classe B è che il byte più alto è compreso tra 128 e 191
Primo Byte = “1 0 x x x x x x”. Al secondo numero può essere assegnato un qualsiasi valore.
La classe B consente di indirizzare 65000 reti con 65000 host ciascuna.
Un indirizzo di classe B può essere scritto nella forma X.Y.0.1

Indirizzi di classe C
Caratteristica degli indirizzi di classe C è che il il byte più alto è compreso tra 192 e 223
Primo Byte = “1 1 0 x x x x x”. Agli altri due numeri può essere assegnato un qualsiasi valore.
La classe C consente di indirizzare 16 milioni di reti con 254 host ciascuna.
Un indirizzo di classe C può essere scritto nella forma X.Y.Z.1

pag 40
Sistemi - Classe Quinta robertomana.it
RETI

Indirizzi di classe D
Classe riservata per le trasmissioni multicast, cioè l'invio di messaggi ad un gruppo di destinatari, i quali a loro volta
già hanno un loro indirizzo IP. Una trasmissione multicast è una trasmissione da uno a molti, contrapposta alla
unicast (trasmissione uno uno) e alla broadcast (da uno a tutti). Il multicast è utilizzato da alcune applicazioni ad
esempio per scoprire quali sono i server presenti sulla rete.
Il byte più alto è compreso tra 224 e 239. Primo Byte = “1 1 1 0 x x x x”. Gli indirizzi di classe D non possono
essere assegnati ai singoli host. Indica gruppi di computer appartenenti ad una stessa subnet.
La classe E è riservata per usi futuri e/o sperimentali. Il primo numero è compreso tra 240 e 255. “1 1 1 1 x x x x”

Indirizzi speciali

a) Quando i bit di host sono tutti zero, l'indirizzo viene utilizzato per identificare l'intera rete.
10.0.0.0 indica la rete di classe A con indirizzo 10
172.16.0.0 indica la rete di classe B con indirizzo 172.16
192.168.50.0 indica la rete di classe C con indirizzo 192.168.50
b) Quando i bit di host sono tutti uno, l'indirizzo viene detto indirizzo di broadcast e serve ad identificare tutti gli
host appartenenti alla rete. Inviare un pacchetto all'indirizzo 128 . 4 . 255 . 255 significa inviare il pacchetto a tutti
gli host delle rete di classe B identificata dall‟indirizzo 128.4.0.0
c) L'indirizzo 0.0.0.0 è un indirizzo speciale detto default network utilizzato sia in fase di bootstrap della macchina
sia in particolari casi di routing. Quando si avvia una macchina, se è impostata l'opzione di richiesta di IP
dinamico ad un DHCP Server, questa invia una richiesta al server identificandosi come 0.0.0.0.
d) Non sono ammessi indirizzi che iniziano per 127. L'indirizzo 127.0.0.1 è detto indirizzo di loopback, nel senso
che i dati non vengono immessi in rete ma vengono rimandati indietro al PC stesso. Utile per eseguire funzioni di
test su protocolli di livello più alto. Quando un qualunque host accede a se stesso mediante l'indirizzo di loopback,
vede se stesso col nome di localhost, nome che può essere utilizzato da IE per accedere tramite protocollo HTTP
ad un sito web pubblicato sul PC locale. Es http://localhost/miaCartella/index.html

Indirizzi privati RFC 1918


Per ogni tipo di classe è stata previsto un insieme di indirizzi che non possono essere utilizzati pubblicamente su
Internet, ma che sono stati riservati per l'utilizzo nelle reti private interne, le cosiddette Intranet (reti locali basate su
tecnologia Internet, come ad esempio quella del Vallauri). Gli indirizzi privati sono relativamente pochi.
Tutte le reti locali utilizzeranno gli stessi indirizzi IP privati. Questi indirizzi sono così classificati:
10.x.x.x - 10.x.x.x rete unica con 16 milioni di host
172.16.x.x - 172.31.x.x possibilità di indirizzare 16 reti contigue con 65000 host ciascuna
192.168.0.x - 192.168.255.x possibilità di indirizzare 254 reti contigue con 254 host ciascuna
Tutti i dispositivi di instradamento su Internet (router) sono programmati in modo da scartare eventuali pacchetti con
indirizzi IP privati. La rete del Vallauri è una rete privata di classe A con indirizzo = 10.0.0.0 (unico possibile).
Anche RUPAR è rete privata in classe 10 subnettata su tutto il Piemonte (Enti Pubblici: Ospedali, Comuni, Scuole).
Volendo su una rete locale è tecnicamente possibile anche utilizzare indirizzi IP pubblici, ma con il rischio che questi
entrino in conflitto con gli indirizzi pubblici nel momento in cui si intende accedere ad Internet.
Tutti gli utenti collegati da casa ad un certo ISP avranno assegnato un IP dinamico pubblico, assegnato dal server
dell‟ISP al momento dell'accesso. Gli IP assegnati dinamicamente da un Provider avranno tutti lo stesso valore sulla
parte RETE. Alcuni Provider con tecnologie più recenti (FastWeb) assegnano agli host indirizzi IP privati
provvedendo poi a convertire (mediante le NAT) più indirizzi privati in un unico indirizzo IP pubblico di uscita su
Internet. In ogni caso, in corrispondenza della prossima richiesta di accesso, all‟utente verrà assegnato un IP
dinamico differente, ma sempre relativo alla stessa LAN.

pag 41
Sistemi - Classe Quinta robertomana.it
RETI

Instradamento di un messaggio su una Rete Locale

Il Protocollo ARP (Address Resolution Protocol)

Scopo del protocollo ARP è quello di individuare l‟indirizzo MAC corrispondente ad un indirizzo IP noto,
nell‟ambito di una stessa rete locale.

Consideriamo due host appartenenti ad una stessa rete locale ed aventi i seguenti indirizzi:
Primo Host: IP Address = IP1 MAC Address = MAC1
Secondo Host: IP Address = IP2 MAC Address = MAC2
Host1 ha un messaggio da trasmettere a Host2 di cui conosce l‟indirizzo IP ma non il MAC. Il livello IP aggiunge al
pacchetto la propria intestazione comprensiva di indirizzo IP del sorgente e indirizzo IP del destinatario, quindi
“passa” il pacchetto ad un protocollo intermedio, detto ARP (Addrress Resolution Protocol) che è un componente
integrante del protocollo IP (dunque considerato di livello 3, ma che in realtà nel modello dei protocolli sta sotto
rispetto al protocollo IP, cioè a cavallo tra i livelli 2 e 3).
Il protocollo ARP gestisce una tabella dinamica detta ARP TABLE che contiene gli abbinamenti tra gli indirizzi IP
conosciuti (cioè gli host con cui la macchina è già entrata in contatto) ed i corrispondenti indirizzi MAC.
IP1 MAC1
IP2 MAC2
IP3 MAC3

Ricevuto l‟indirizzo IP, ARP va a cercare nella ARP Table per vedere se esiste già il corrispondente indirizzo MAC.
Se questa è la prima volta dopo l'accensione che host1 vuole comunicare con host2, allora il record IP / MAC non
sarà presente nella ARP Table.
Allora il protocollo ARP provvede a costruire un messaggio detto ARP REQUEST privo dei dati ed avente come
payload soltanto l‟intestazione IP ricevuta dal protocollo IP. A questo payload ARP provvede ad aggiungere
l‟intestazione MAC. Come MAC sorgente inserisce il proprio (MAC1), mentre come MAC di destinazione inserisce
un indirizzo di MAC Broadcast costituito da tutti 1:
FF - FF - FF - FF - FF - FF

che significa che il messaggio dovrà essere inviato a tutti gli host della rete. In pratica HOST1 sta richiedendo a tutti
gli host della rete se fra loro c'è qualcuno che ha un IP Address di valore pari a IP2.

Host1 invia quindi la ARP Request. Tutte le schede di rete ricevono il messaggio e, vedendo come indirizzo MAC un
Broadcast, provvedono a leggerlo e a passarlo al protocollo ARP di livello 3. Il protocollo ARP provvede ad
analizzare l‟indirizzo IP del destinatario. Se questo IP non è il suo, allora il pacchetto viene scartato. L'host
interessato riconosce invece l'ARP Request come richiesta del proprio indirizzo MAC e :
 Aggiorna la propria ARP Table inserendo gli indirizzi IP e MAC del mittente (se il mittente sta chiedendo il
mio MAC è presumibile che in seguito vorrà comunicare con me)
 Invia una ARP Response o ARP Reply a HOST1, contenente MAC source e MAC dest sntrambi corretti.

ARP Response, non essendo un messaggio di broadcast, viene intercettato soltanto da HOST1 che va a leggere
l'atteso MAC2, aggiorna la propria ARP Table ed invia quindi il pacchetto dati vero e proprio a HOST2.

Ogni host aggiorna quindi dinamicamente la propria ARP Table, che in ogni istante conterrà l'elenco degli host con
cui la macchina è entrata in comunicazione fino a qual momento. Spegnendo la macchina la ARP Table ovviamente
va persa, mentre alla riaccensione verrà man mano ricostruita. Questa cache consente chiaramente di ridurre il
traffico in rete, evitando di inviare continuamente delle ARP Request sempre verso le stesse macchine.

pag 42
Sistemi - Classe Quinta robertomana.it
RETI

Rete Fisica e Rete Logica a livello IP

Si consideri l‟esempio in figura in cui alcuni host sono tutti collegati ad una certo Hub e dunque rappresentano una
unica Rete Fisica, ma ad alcuni host vengono assegnati degli indirizzi di una certa rete di classe A, mentre ad altri
host vengono assegnati degli indirizzi appartenenti ad una rete diversa (che supponiamo di classe B ma che potrebbe
anch‟essa essere di classe A).
HUB

A1 A2 B1 A3 B2
I due gruppi rappresentano due Reti Logiche differenti, anche se fisicamente interconnesse fra loro.
Si consideri ora un host del primo gruppo ed un host del secondo gruppo. Fisicamente questi due host potrebbero
comunicare tra loro, visto che di fatto appartengono alla stessa rete fisica, ma la comunicazione non è possibile
perchè le due macchine appartengono a reti IP (logiche) differenti.

Quando un host deve spedire un messaggio ad un altro host destinatario, prima di spedirlo provvede a
verificare se l'indirizzo IP del destinatario è un indirizzo appartenente alla sua stessa rete. In caso affermativo
provvede alla trasmissione, altrimenti non trasmette il pacchetto al destinatario, ma provvede a trasmetterlo
ad un particolare indirizzo detto Default Gateway. Viceversa il destinatario non esegue a livello IP nessun
controllo sui pacchetti in ingresso, accettandoli tutti indipendentemente dalla loro provenienza.
In una situazione come quella indicata in figura A1, A2, A3 possono comunicare tra loro; anche B1 e B2 possono
comunicare fra loro, ma non con gli altri tre.
Per poter stabilire una comunicazione tra due reti logiche differenti, occorre necessariamente interporre un
dispositivo intermedio di livello 3 detto ROUTER.

NOTE
 Nella realtà, Rete Logica e Rete Fisica sono sempre coincidenti.
 Per identificare gli host all'interno di una rete talvolta si utilizza la notazione decimale RETE:HOST (es
10:189 host 189 della rete 10). Un'altra possibile notazione è quella di anteporre solo il nome della classe
specificando poi il numero assoluto dell'host. Es A.428 che indica l'host 428 di una certa rete di classe A.
 Nel caso di più reti logiche IP connesse su una unica rete fisica, gli host appartenente alle varie sottoreti
non possono comunicare a livello unicast, ma possono comunque comunicare a livello di broadcast.
Non c’è dunque separazione netta (sicurezza) fra le 2 reti, come invece avviene nel caso delle VLAN.

Subnet Mask
Ben presto gli Enti di standardizzazione si resero conto che tre sole classi di reti erano insufficienti per coprire tutte
le situazioni e che lo spazio degli indirizzi IP si sarebbe presto esaurito senza essere stato sfruttato appieno (cioè con
molti indirizzi inutilizzati). Nel 1985 venne introdotto il concetto di Subnet Mask (RFC 950) il cui scopo principale
è quello di poter suddividere una rete di grandi dimensioni in più sottoreti di dimensioni più piccole.
Pur utilizzando la stessa notazione degli indirizzi IP (4 numeri decimali in notazione puntata), la Subnet Mask non è
un indirizzo IP, ma è una Maschera di Sottorete che consente di distinguere, all'interno di un certo indirizzo IP
associato, la parte di RETE dalla parte di HOST in modo indipendente rispetto alla classe dell‟indirizzo.
La Subnet Mask (o Netmask) introduce un ulteriore livello di gerarchia all'interno dell'indirizzo IP,
all'interno del quale si possono ora distinguere 3 gruppi :
RETE SOTTORETE HOST

Le varie sottoreti create mediante Subnet Mask personalizzate, diventano di fatto reti completamente
indipendenti che possono comunicare fra loro soltanto mediante un Router.

pag 43
Sistemi - Classe Quinta robertomana.it
RETI

Una Subnet Mask è suddivisa in due parti, una prima costituita da tutti 1 che indica i bit del corrispondente
indirizzo IP riferiti alla rete, seguita da una seconda parte costituita da tutti 0 che indica i bit riferiti all'host.
La subnet mask da sola non ha però alcun significato. Deve sempre essere abbinata ad un indirizzo di rete.
La Subnet Mask di default per tutte le reti di classe A è 255.0.0.0
La Subnet Mask di default per tutte le reti di classe B è 255.255.0.0
La Subnet Mask di default per tutte le reti di classe C è 255.255.255.0

Subnet Mask personalizzate


Personalizzare una Subnet Mask significa aumentare il numero di uno rispetto alla Subnet Mask standard.
Il numero di 1 eccedenti rispetto alla Netmask standard rappresentano la sottorete. Ad es, data la rete di classe
C, 192.168.22.0 supponiamo di personalizzare la sua netmask aggiungendo due UNI. Essa diventa pertanto:
in binario: 11111111 . 11111111 . 11111111 . 11000000
in decimale: 255 . 255 . 255. . 192
Questo significa che i primi due bit dell‟ultimo byte delle rete 192.168.22.0 non sono più dedicati alla
rappresentazione degli host, ma sono dedicati alla rappresentazione della sottorete. In sostanza la rete 192.168.22.0
(in grado di indirizzare 256 host teorici) viene suddivisa in 4 sottoreti da 64 host ciascuna.

Possibili valori della Subnet Mask


Poiché la Netmask deve necessariamente contenere una sequenza ininterrotta di 1, per ogni singolo byte i valori
validi sono sempre soltanto i seguenti:
10000000 128 128
11000000 192 128 + 64
11100000 224 128 + 64 + 32
11110000 240 128 + 64 + 32 + 16
11111000 248
11111100 252
11111110 254
11111111 255
Esercizio: Spiegare perché 255.192.255.0 non è un valore valido di Netmask.

Dimensione della Subnet Mask


Come dimensione della Subnet Mask si intende il numero di bit consecutivi uguali a uno, indipendentemente dalla
classe in uso. La notazione 10.0.0.0/16 indica che alla rete 10.0.0.0 viene applicata una Netmask profonda 16 (pari
a 255.255.0.0). Cioè la rete 10 da 16 milioni di host viene suddivisa in 256 sottoreti da 65.000 host ciascuna.

Esempio
Si consideri la solita rete di classe 192.168.22.0 (in grado di indirizzare 256 host teorici) e si supponga di volerla
dividere in 16 sottoreti da 16 host ciascuna, sottoreti vendibili a 16 clienti differenti.
A tal fine occorre assegnare a questa rete una subnet mask con l‟ultimo byte costituito da 4 UNI e 4 ZERi:
in binario: 11111111 . 11111111 . 11111111 . 11000000
in decimale: 255 . 255 . 255. . 240
Ogni rete in realtà è in grado di indirizzare soltanto 14 host in quanto non sono ammessi gli host costituiti da tutti 0
(indirizzo della sottorete) e da tutti 1 (indirizzo di broadcast all‟interno della sottorete).
Le 16 sottoreti realizzabili avranno pertanto i seguenti indirizzi:

pag 44
Sistemi - Classe Quinta robertomana.it
RETI

Rete. Quarto Byte dell indirizzo IndirizzoIP Indirizzi IP utilizzabili per gli host
IP della rete della rete
DA A
Subnet #0 0000 xxxx 192.168.22.0 / 28 192.168.22.1 192.168.22.14
Subnet #1 0001 xxxx 192.168.22.16/ 28 192.168.22.17 192.168.22.30
Subnet #2 0010 xxxx 192.168.22.32 / 28 192.168.22.33 192.168.22.46
Subnet #3 0011 xxxx 192.168.22.48 / 28 192.168.22.49 192.168.22.62
Subnet #4 0100 xxxx 192.168.22.64 / 28 192.168.22.65 192.168.22.78
Subnet #5 0101 xxxx 192.168.22.80 / 28 192.168.22.81 192.168.22.94
Subnet #6 0110 xxxx 192.168.22.96 / 28 192.168.22.97 192.168.22.110
Subnet #7 0111 xxxx 192.168.22.112 / 28 192.168.22.113 192.168.22.126
Subnet #8 1000 xxxx 192.168.22.128 / 28 192.168.22.129 192.168.22.142
Subnet #9 1001 xxxx 192.168.22.144 / 28 192.168.22.145 192.168.22.158
Subnet #10 1010 xxxx 192.168.22.160 / 28 192.168.22.161 192.168.22.174
Subnet #11 1011 xxxx 192.168.22.176 / 28 192.168.22.177 192.168.22.190
Subnet #12 1100 xxxx 192.168.22.192 / 28 192.168.22.193 192.168.22.206
Subnet #13 1101 xxxx 192.168.22.208 / 28 192.168.22.209 192.168.22.222
Subnet #14 1110 xxxx 192.168.22.224 / 28 192.168.22.225 192.168.22.238
Subnet #15 1111 xxxx 192.168.22.240 / 28 192.168.22.241 192.168.22.254

NOTA: Indirizzamento CLASSFULL


Pur con l'introduzione della subnet mask, per anni i router hanno continuato a trattare le reti come classfull, nel senso
che i router non trasmettevano la subnet mask, per cui ogni router associava ad ogni sottorete IP la stessa subnet
utilizzata per indirizzare il proprio link e, in assenza di subnet, la default subnet relativa alla classe. Di conseguenza:
 Una vola stabilita la netmask associata ad una certa rete primaria di classe A B o C, una qualsiasi sottorete non
può essere ulteriormente partizionata mediante l‟applicazione di una subnet a profondità variabile.
Ad esempio, data la precedente rete di classe C 192.168.22.0 partizionata in 16 sottoreti da 16 host ciascuna,
non è possibile partizionare ulteriormente una delle 16 sottoreti in 2 sotto-sotto reti da 8 host ciascuna.
 dato un indirizzo di una certa classe la netmask applicata non può essere meno profonda della netmask di default
 Così come non sono accettate reti con tutti zeri o tutti uno, allo stesso modo, almeno nei primi router, non erano
ammesse sottoreti composte da tutti zero o da tutti uno. La prima e l’ultima sottorete non erano utilizzabili.

Indirizzamento CDR [CLASSLESS]


Pur con l'introduzione della subnet mask, il vecchio indirizzamento Classfull continuava a provocare un notevole
spreco di indirizzi, specialmente sulla base della crescita ormai esponenziale di Internet. Nel 1993 venne emessa la
specifica RFC1517 (con successive 1518 1519 1520) che definisce una nuova forma di indirizzamento detta CDR
(CiDiEr = Classless Domain Routing) secondo cui gli algoritmi di routing devono trasmettere ai router vicini anche
le varie Subnet Mask, per cui cade definitivamente il concetto di classe, e cadono anche i 2 limiti dell‟indirizzamento
classfull descritti nella NOTA precedente:
 Ogni sottorete può essere ulteriormente partizionata mediante l‟utilizzo di subnet a profondità variabile
(VLSM Variable Lenght Sub Mask),
 La Subnet Mask può contenere anche un numero di cifre inferiore rispetto alla Subnet Mask di default della
classe corrispondente. Ad esempio una Subnet Mask di classe C potrebbe essere 255.225.240.0. In questo caso
si parla di Supernetting invece che di Subnetting, in quanto più indirizzi appartenenti a reti differenti di classe
C vengono a far parte di una unico rete logica più vasta. I concetti precedenti rimangono però gli stessi.

pag 45
Sistemi - Classe Quinta robertomana.it
RETI

Instradamento di un messaggio attraverso una Rete Geografica


Definizione di rete geografica
Una Rete Geografica è semplicemente l‟unione di più Reti Locali in lontananza geografica tra loro, collegate tra
loro mediante dispositivi di livello 3 detti router (instradatori). Le reti collegato possono essere poche e
relativamente vicine o tantissime e lontane fino ad un‟estensione mondiale come Internet. Internet (con la I
maiuscola) è l‟abbreviazione Inter-Network, che significa interconnessione di reti in lontananza geografica fra
loro, tutte basate sul protocollo TCP / IP (livelli 3 e 4 del modello ISO OSI), senza nessuna specifica relativamente
ai livelli ISO OSI inferiori e superiori.
All‟interno di una rete geografica
 ogni host deve avere un indirizzo IP univoco e pubblico
 I server devono avere un indirizzo statico (in modo da essere accessibili sempre allo stesso indirizzo)
 Gli host possono avere indirizzi dinamici.

AND-ing Process

Si consideri un host 10.1.x.x. che deve spedire un messaggio ad un host 10.2.x.x. Si supponga che entrambi gli host
abbiano una Subnet Mask pari a 255.255.0.0. Il protocollo IP, nel momento in cui si trova a dover spedire un certo
messaggio ad un certo indirizzo IP di destinazione, provvede per prima cosa a verificare se l'indirizzo IP del
destinatario appartiene alla sua stessa sottorete oppure no. A tal fine esegue il cosiddetto AND-ing Process che
consiste in due operazioni di AND bit a bit tra:
1) IP Sorgente e Subnet Musk. In tal modo ottiene l'indirizzo della sottorete sorgente 10.1.0.0.
2) IP Destinatario e Subnet Musk. In tal modo ottiene l'indirizzo della sottorete dest 10.2.0.0.
 Se i due risultati coincidono, significa che Sorgente e Destinazione appartengono alla stessa sottorete, dunque
il messaggio viene inviato all'indirizzo IP del destinatario.
 Se invece i due risultati non coincidono, significa che i due host non appartengono alla stessa rete, per cui il
messaggio non viene inviato all'indirizzo IP del destinatario, ma viene inviato ad un Router di instradamento
Se invece i due host avessero una Subnet Mask pari a 255.0.0.0, il processo di anding porterebbero allo stesso
risultato, in quanto i due host appartengono alla stesse sottorete e dunque possono comunicare tra loro in modo diretto
senza dover passare attraverso il router.
L'AND-ing process non viene eseguito dal destinatario che accetta i pacchetti IP indipendentemente dalla provenienza

Configurazione del protocollo IP su un host


Quando su un certo host si configura il protocollo IP, occorre impostare le seguenti informazioni:
 Indirizzo IP
 Subnet Mask
 Default Gateway indirizzo del Router di instradamento
 DNS Server primario indirizzo del server preposto alla risoluzione dei DNS Names
Se viene selezionata l'opzione di “Richiesta di IP dinamico mediante DHCP”, all'accensione il PC proverà a
contattare un server DHCP che, se esistente, gli invia un pacchetto DHCP contenente tutte le informazioni
precedenti, più altre eventuali informazioni richieste dal Client.

Trasmissione all‟interno di una rete geografica


Ritorniamo al caso di un host A1 che deve comunicare con l‟host B1 appartenente ad una rete differente. Prima della
trasmissione, mediante il processo di AND-ing, il protocollo IP si accorge che il dest appartiene ad una rete diversa
rispetto al sorgente, per cui non invia la ARP REQUEST a B1, ma segue uno schema di indirizzamento diverso.
pag 46
Sistemi - Classe Quinta robertomana.it
RETI

Invece di spedire il messaggio direttamente verso IP Dest, provvede a spedirlo verso l'indirizzo IP di Default
Gateway impostato sulla macchina, che rappresenta l‟indirizzo del router che collega la rete attuale alle altre reti.
Gateway significa “Porta di uscita” (della rete locale verso l‟esterno). Default Gateway rappresenta la porta di
uscita di default, da utilizzare per far uscire tutti i pacchetti destinati a reti differenti. Se il Default Gateway della
macchina non è stato impostato, il pacchetto non viene inviato e la comunicazione con B1 risulta impossibile.
L‟indirizzo IP di Default Gateway deve ovviamente appartenere alla stessa rete a cui appartiene l‟host A1.
Secondo le convenzioni CISCO si assegna al router di Default Gateway il primo indirizzo disponibile.
Impostando come Default Gateway un indirizzo esterno alla rete dell‟host la trasmissione non potrebbe mai avvenire.
E‟ compito dell'amministratore di rete a garantire un corretto indirizzamento. Operando invece con IP dinamici
generati tramite DHCP, insieme all'IP Address anche Subnet Mask e Default Gateway vengono assegnati
automaticamente tramite DHCP, che dovrà essere configurato dall'amministratore di rete soltanto sul server centrale.

Un router dispone normalmente di più porte di ingresso che operano da Default Gateway verso LAN differenti

Instradamento del messaggio


Ritornando al problema iniziale di A1 che deve trasmette un messaggio a B1, il primo passo di A1 sarà quello di
inviare una ARP Request al Default Gateway per richiedere il suo MAC Address (anche i router devono disporre di
un MAC Address, anzi uno per ogni porta).
IP SOURCE A.1
IP DEST Default Gataway
MAC SOURCE MAC A1
MAC DEST FF FF FF FF FF FF
Ricevuta la ARP Response dal Router, l'host A.1 aggiorna la propria ARP Table e quindi provvede ad inviare al
Default Gateway il seguente messaggio completo contenente i dati veri e propri:
IP SOURCE A.1
IP DEST B.1
MAC SOURCE MAC A1
MAC DEST MAC DefaultGateway

Il router, ricevuto il messaggio, apre il pacchetto fino al livello 3, cioè legge ed elimina le intestazioni MAC di liv 2,
legge a livello 3 IP DEST e, sulla base delle proprie tabelle di routing, provvede ad instradare opportunamente il
messaggio creando una nuova intestazione di livello 2. Se anche la rete su cui spedire è una rete Ethernet, verrà creata
un nuova intestazione MAC indicando come MAC DEST quello del prossimo router. Se invece la rete su cui spedire
non è una rete Ethernet verrà creata una intestazione diversa relativa al protocollo in uso.
 Se la porta di uscita è una porta Token Ring verrà utilizzato il protocollo Token Passing con relativa intestazione
 Se la porta di uscita è un collegamento seriale, verrà utilizzato il protocollo HDLC con relativa intestazione
 Se la porta di uscita è un collegamento ADSL verrà utilizzato il protocollo di liv 2 PPP con relativa intestazione

Nel corso dell'intera comunicazione gli indirizzi IP rimangono sempre gli stessi cioè A.1 e B.1.
Quelli che cambiano da un router all'altro sono sempre solo gli indirizzi di livello 2.

I vari router intermedi, sulla base delle loro tabelle di routing, decideranno dove instradare il pacchetto, fino al
raggiungimento di un router finale a cui è fisicamente collegata la rete di destinazione.
Quando il messaggio arriva al router finale al quale è collegato l'host destinatario, provvederà ad inviare una ARP
Request sulla rete LAN locale in modo da richiedere il MAC dell'host destinatario (ammesso che non già sia presente
nella sua ARP Table), ed infine provvederà ad inoltrare il messaggio alla destinazione.

pag 47
Sistemi - Classe Quinta robertomana.it
RETI

Il messaggio inviato dall'ultimo router all'host finale sarà il seguente:


IP SOURCE A.1
IP DEST B.1
MAC SOURCE MAC Ultimo Router
MAC DEST MAC HOST Finale

Conclusioni:
Direct Delivery : Quando sorgente e destinatario si trovano su una stessa rete, la consegna viene effettuata in modo
diretto sulla base dell'indirizzo MAC del destinatario (protocollo ARP, utilizzato soltanto in reti locali).
Undirect Delivery : Quando invece sorgente e destinatario appartengono a reti diverse, allora il messaggio viene
prima inviato ad un nodo intermedio (Default Gateway) che, mediante una serie di consegne successive, provvederà a
inoltrare il messaggio fino al raggiungimento di un nodo finale che a sua volta eseguirà la consegna diretta dei dati al
destinatario. Si parla in questo caso di consegna indiretta.

Dominio di Broadcast
Si definisce Dominio di Broadcast l‟insieme degli host raggiungibili da un messaggio di broadcast. I messaggi di
broadcast vengono tagliati dai router, per cui un dominio di broadcast è sostanzialmente rappresentato da una
sottorete IP delimitata da un router. Se i router non tagliassero i messaggi di broadcast questi, una volta entrati in
Internet, verrebbero propagati a tutti i PC del mondo con conseguente saturazione di tutta la rete.
Se all'interno di una sottorete (dominio di broadcast) ci sono degli switch, il dominio di broadcast della sottorete
viene ulteriormente suddiviso in più Domini di Collisione. Se la rete utilizza solo switch e non hub, ogni singolo host
rappresenta un singolo dominio di collisione.

Gerarchia degli indirizzi IP : “Aggregazione” delle Reti Vicine


La rete Internet è costituita da un elevatissimo numeri di sottoreti IP. A livello IP la rete Internet è segmentata in
moltissimi “domain routing” sempre più piccoli secondo un concetto simile a quello dei CAP postali. Le prime cifre
di un indirizzo IP individuano i Domain Routing relativi ad un‟area geografica di ampie dimensioni (es. rete
123.0.0.0/8) verso la quale verranno convogliati tutti i pacchetti recanti 123 come prima cifra. Una volta raggiunta la
rete 123, le cifre successive indicano i vari sottodomini fino al raggiungimento della sottorete finali.
In tal modo i centri di instradamento non entrano nel dettaglio finale dell'indirizzo completo, ma si occupano
soltanto del loro livello di dettaglio (tutti gli indirizzi che iniziano per 123 li mandi su un certo canale, e così via).

pag 48
Sistemi - Classe Quinta robertomana.it
RETI

Il Router
Il router è un dispositivo di livello 3 utilizzato per interconnettere reti differenti
Rappresenta il più importante dispositivo per la regolazione del traffico dell'intera rete Internet
Dispone normalmente di un processore e di una RAM per la bufferizzazione dei pacchetti.

Scopo principale del router :


 Interconnettere reti differenti, sia a livello logico (sottoreti IP differenti) sia a livello fisico (reti fisiche
differenti sia di tipo LAN come Ethernet, Token Ring, FDDI, sia di tipo WAN come PSTN, ISDN, ADSL,
ATM o Frame Relay).
 Consentire l'instradamento dei pacchetti fra le reti (dal verbo inglese “to route” = instradare), scegliendo
ogni volta il percorso migliore per il raggiungimento del destinatario. I percorsi di instradamento sono decisi
sulla base dell'indirizzo IP del destinatario e di una apposita tabella di Routing programmata
dall'amministratore (o gestita dinamicamente). Il router memorizza momentaneamente ogni pacchetto IP in
transito, avvolgendolo poi all'interno di un apposito frame header (intestazione) relativo al tipo di rete su
cui instraderà messaggio. Cioè se il pacchetto verrà instradato su un link Frame Relay, il router provvederà
ad avvolgerlo all‟interno di una intestazione Frame Relay.
 Interrompere i domini di broadcast, Ogni rete locale rappresenta di fatto un dominio di broadcast.
Il router blocca tutti i messaggi di broadcast, sia MAC che IP segmentando la rete in più domini di broadcast

Inoltre:
 I router possono essere normali computer con più schede di rete che eseguono un software apposito (es
iptables) oppure apparati hardware dedicati a questo solo scopo (che costano molto meno di un PC).
 Il router, nel caso di piccole reti locali, svolge principalmente la funzione di Gateway (“Portone di ingresso /
uscita”) verso il mondo esterno (Internet).
 Per quanto concerne le interfacce Ethernet, i router gestiscono una ARP Table dinamica contenente
l'associazione IP / MAC relativa a tutti gli host direttamente collegati al Router su un‟interfaccia Ethernet.
 Alcuni router forniscono dei servizi aggiuntivi quali ad esempio il servizio DHCP in grado di assegnare
dinamicamente gli indirizzi IP a tutte le macchine della LAN e il servizio NAT che, in corrispondenza di una
richiesta da parte di un host della LAN, provvederà a sostituire l'IP privato del client richiedente con l'IP
pubblico ottenuto dinamicamente dall'ISP al momento della connessione. Nel contempo tiene traccia della
richiesta in modo da poter poi reindirizzare la risposta proveniente dal server
 Spesso svolgono anche il ruolo di firewall. Il punto di ingresso / uscita di una rete rappresenta infatti il luogo
migliore dove effettuare controlli sui pacchetti in transito.
 Il costo, superiore rispetto a quello dello switch, varia moltissimo a seconda dei dispositivi. Si parte da 200 €
(o anche meno per switch router non programmabili) per arrivare oltre i 50.000 €.
Rispetto allo switch ovviamente presenta tempi di risposta maggiori.
 La segmentazione di una rete locale in più sottoreti IP differenti interconnesse mediante un router nasce
spesso da una precisa strategia di progettazione mirata sia ad aumentare la sicurezza (il router può eseguire
un controllo centralizzato di tutti i pacchetti scambiati fra le due reti, decidendo quali far passare e quali no),
sia a ridurre il traffico di rete migliorando le prestazioni (i broadcast saranno limitati a ciascuna sottorete).

In corrispondenza del router i pacchetti 'risalgono' fino al livello 3. Sulla base dell‟indirizzo IP di destinazione del
pacchetto, il router decide dove instradare il pacchetto sulla rete , consentendo ad ogni host di comunicare con
qualsiasi altro host ovunque nel mondo. A livello di pacchetto IP, il router non registra le informazioni relative al
pacchetto in transito mi si limita a decrementare un campo TTL(decrementato da ogni router per evitare loop infiniti)
ed eventualmente a frammentare il pacchetto in caso di pacchetti troppo grandi rispetto all'MTU del link successivo.

pag 49
Sistemi - Classe Quinta robertomana.it
RETI

Le porte fisiche di un router

Il router normalmente non ha molte porte. Questo perchè lo scopo del router non è quello di collegare fra loro più
host, ma è quello di collegare fra loro reti differenti. Dopo di che se la rete ha moltissimi host, per il router non ha
nessuna importanza. Le porte normalmente presenti sono:
 Due / Quattro porte LAN anche di tipo differente (es. Token Ring) ma tipicamente di tipo Ethernet con
connettore di tipo RJ45. Ogni LAN INTERFACE avrà un suo indirizzo IP appartenente alla sottorete a cui la
LAN INTERFACE stessa risulta collegata.
 Una o più porte WAN per il collegamento verso reti geografiche anche di tipo differente, come ad esempio
PSTN; ISDN; ADSL; Frame Relay
 Una / Due porte Seriali che servono per realizzare collegamenti punto punto con altri router
 Una porta Console per la programmazione del router, con connettore tipicamente RJ45
Ogni porta del router presenta un suo indirizzo IP (ad eccezione della porta Console)
Più in generale, un router può montare più Moduli (detti NPM Network Processor Module) di interfaccia verso le più
disparate tecnologie di data Link, LAN o WAN (Ethernet, ma anche HDLC, Frame Relay, ATM fino alla classiche
PSTN, ISDN; ADSL).

Esempio : il Router CISCO 4000


Il router CISCO 4000 può montare fino ad un max di tre moduli di rete a scelta fra:
LAN Ethernet con connettore RJ45 10/100BaseT
LAN Token Ring
LAN FDDI sia monomodale che multimodale
ISDN
ATM
Presenta inoltre
una Porta Console per la per la programmazione (Porta seriale EIA232 con connettore RS232 o spesso RJ45)
due Porte di Interfaccia Seriale per la comunicazione con altri router. In questo caso uno dei due router (quello
che gestirà il clock rate) deve essere configurato come DCE, mentre l'altro deve essere configurato come DTE.
CISCO consiglia di assegnare l'indirizzo IP inferiore al router DCE

Configurazione di un router
A differenza dello switch, che deve soltanto essere installato e poi apprende tutte le informazioni automaticamente, il
router non è un dispositivo Plug And Play per cui, almeno la prima volta, deve necessariamente essere programmato.
Programmare staticamente un router significa essenzialmente indicare l'indirizzo IP di tutte le reti collegate.
La configurazione può essere eseguita :
 Mediante una connessione punto – punto (detta out of band) tra la seriale di un PC e la porta console del Router.
Per la comunicazione si possono utilizzare appositi programmi a riga di comando quale Hyper Terminal di
Windows.
 Mediante una connessione Ethernet (detta in band). In questo caso il router deve disporre di un server Telnet
oppure di un server HTTP integrati. Alla prima porta LAN è assegnato un indirizzo di default assegnato dal
costruttore in modo che l'utente possa accedere fin da subito al router senza necessità di un collegamento seriale
(e poi eventualmente modificare l'indirizzo di questa porta).
 Nel caso di HTTP il client può connettersi al router tramite un normale web browser in cui dovrà inserire
semplicemente l'indirizzo IP del router
 Nel caso di Telnet (prompt dos / Telnet) si possono inviare comandi testuali direttamente via Ethernet.
Telnet è l‟equivalente di Hyper Terminal ma, anziché un collegamento punto – punto su porta Console, è
appoggiato su TCP/IP e dunque utilizzabile attraverso la rete.

pag 50
Sistemi - Classe Quinta robertomana.it
RETI

Progettazione di Reti

Esempio 1
Connessione di due sottoreti locali e configurazione dei router
B
A

Y
X
X Y

Rete B 10.0.3.0/24
Rete A 10.0.1.0/24 Anche questa è una
rete: 10.0.2.0/24

Lo /24 indica il numero di uni consecutivi presenti all‟interno della Subnet Mask (notazione CiDR).
La porta X del primo router avrà ad esempio un IP Address = 10.0.1.1
La porta Y del primo router avrà ad esempio un IP Address = 10.0.2.1
La porta X del secondo router avrà ad esempio un IP Address = 10.0.2.2
La porta Y del secondo router avrà ad esempio un IP Address = 10.0.3.1
All'interno di ciascuna delle due reti A e B si possono lasciare alcuni indirizzi liberi in modo da poterli utilizzare per
eventuali ulteriori router. Ad esempio al primo host della rete A si può assegnare la configurazione IP: 10.0.1.11.

Esempio 2
La rete del Vallauri
Rete Amministrativa e Rete Didattica devono essere separate per legge.

CSI Torino

Subnet Mask 255.255.0.0


In realtà la rete didattica è realizzata
Rete Didattica: 10.0.0.0 / 16 mediante un switch principale sotto il
Gateway Rete Didattica 10.0.5.10 quale sono collegati uno switch per
Server PDC Vallauri2000 10.0.5.1 ogni laboratorio.

Rete Amministrativa 10.1.0.0 / 16


Gateway Rete Amministrat 10.1.5.10

pag 51
Sistemi - Classe Quinta robertomana.it
RETI

Esempio 3 ISR (Integrated Services Router)


Router di Gateway verso Internet

Le impostazioni essenziali da eseguire sono:


LATO RETE GEOGRAFICA:
- Numero di telefono dell'ISP da chiamare
(8, 35 Entry Point ad ATM)
- UserName e Password registrati presso l'ISP
- Eventuale abilitazione della disconnessione
automatica per timeout di inutilizzo
Stabilito il collegamento il router riceve via
DHCP un indirizzo IP pubblico con relativa
subnet, default gateway e indirizzo DNS

LATO RETE LOCALE:


-Attivazione del servizio DHCP verso gli
host della rete locale, con impostazione del
range di indirizzi IP da assegnare
- Attivazione del servizio NAT in uscita per
consentire la navigazione
-Attivazione del servizio NAT in ingresso per
esporre eventuali servizi su Internet.

Tabelle di Routing
Il Routing è il meccanismo che consente di instradare i pacchetti attraverso una rete. Scopo primario della tabella di
routing è definire l‟interfaccia da cui spedire un pacchetto destinato ad una certa rete. Il router, per ogni
pacchetto in ingresso, analizza l‟indirizzo IP di destinazione e, sulla base della tabella di Routing, individua il
canale migliore su cui instradare il pacchetto, indipendentemente dal canale di ingresso. Ogni record della tabella di
routing (entry) è normalmente costituita dai seguenti cinque campi:
Network Address = Indirizzo IP della rete di destinazione (Rete)
Subnet Mask = Subnet Mask della rete di destinazione. Da utilizzare per verificare la corrispondenza tra il
Destination IP ed il Network Address riferito alla entry corrente. In caso di corrispondenza significa che il pacchetto
è destinato alla rete corrente e deve essere instradato sulla base della entry corrente.
Interface = Indica l'indirizzo IP della porta del router da utilizzare per instradare il pacchetto. Il pacchetto verrà
instradato su questa porta, alla quale possono però essere collegati più router differenti con indirizzi IP differenti.
Next Hop (Gateway) = indirizzo IP del prossimo router a cui inoltrare il pacchetto instradato sull‟interface corrente
Metric = Numero che indica il costo della Route in modo che, in caso di percorsi alternativi, si possa scegliere il Best
Route. Il modo più semplice di gestire questo campo è impostarlo al numero dei router da attraversare per
raggiungere la destinazione. I valori utilizzati sono dunque soltanto relativi.
Per ogni pacchetto in arrivo, il Router esegue una AND bit a bit tra l‟indirizzo IP di destinazione e la Subnet Mask
contenuta in ciascuna entry della Routing Table. Se il risultato coincide col Network Address di quella entry significa
che quella è l‟interfaccia da cui spedire il pacchetto. Se le corrispondenze sono più di una, viene scelta quella con
metrica inferiore oppure la prima incontrata all‟interno della tabella. Talvolta nella tabella di routing „effetttiva‟, per
ogni destinazione viene riportata soltanto la entry con metrica inferiore.

pag 52
Sistemi - Classe Quinta robertomana.it
RETI

 Individuata l‟interfaccia da cui spedire, il router ricostruisce il frame di livello 2 relativo al Data Link in
uso sull‟interfaccia scelta e inoltra il pacchetto.
 Se l‟interfaccia da cui spedire il pacchetto coincide con l‟interfaccia di provenienza del pacchetto stesso, allora
il pacchetto non viene inoltrato.

Entry Particolari:
1) Directly Attached Network Reti direttamente collegate al router corrente.
In questi casi si imposta lo stesso valore nei campi Gateway e Interface.
Network Address = Indirizzo della sottorete in questione
Subnet Mask = maschera relativa alla sottorete in questione
Interface = indirizzo IP della porta di uscita verso la sottorete in questione
Gateway = stesso valore di Interface

2) Deafult Route Una entry della tabella (con metrica superiore a tutte le altre, in quanto da essere utilizzata come
ultima scelta), indica il Default Route, cioè il route da usare se non viene individuata nessuna altra corrispondenza
all‟interno della tabella di Routing. Questa entry ha la seguente impostazione:
Network Address = 0.0.0.0
Subnet mask = 0.0.0.0
Interface = indirizzo IP della porta di uscita da utilizzare per il collegamento di default
Gateway = indirizzo IP del prossimo router.
La Subnet Mask 0.0.0.0 fa in modo che, qualunque sia IP DEST, il processo di AND-ing tra IP Dest e Subnet Mask
vada sempre a buon fine trovando sempre corrispondenza con la rete 0.0.0.0.
Durante l'intero processo di Routing, il campo IP_DEST contenuto nell'intestazione IP non viene mai modificato
ed è utilizzato da tutti i router per instradare il pacchetto. Nel momento in cui il protocollo IP incontra su un
certo Router il campo Gateway uguale al campo Interface, significa che la rete destinataria è direttamente collegata al
router corrente, per cui il pacchetto verrà finalmente inoltrato al Destinatario con una Direct Delivery.

Esercizio
Dato il seguente schema di rete, scrivere le tabelle di routing per ciascuno dei quattro router.

192.168.0.0/24
192.168.0.2

192.168.1.1

192.168.1.0/24
192.168.0.1

192.168.1.3
10.0.0.1
192.168.1.2
192.168.2.1
1.2.3.4

10.0.0.0/16

192.168.2.0/24
pag 53
Sistemi - Classe Quinta robertomana.it
RETI

Router R1

LAN ADDRESS SUBNET INTERFACE GATEWAY METRIC


LAN1 10.0.0.0 255.255.0.0 10.0.0.1 * (10.0.0.1) 0
LAN2 192.168.0.0 255.255.255.0 192.168.0.1 * (192.168.0.1) 0
LAN3 192.168.1.0 255.255.255.0 192.168.0.1 192.168.0.2 1
LAN4 192.168.2.0 255.255.255.0 192.168.0.1 192.168.0.2 2
0.0.0.0. 0.0.0.0. 192.168.0.1 192.168.0.2 3 (max)

Le due entry relative a LAN3 e LAN4 sono assolutamente inutili, in quanto sono sostanzialmente già comprese
all‟interno della default route finale.

All‟interno di una tabella di routing occorre necessariamente inserire solo :


 Directly attached networks
 Default Route
Per ogni router occorre poi valutare la raggiungibilità delle cosiddette Stub Networks, cioè le reti terminali collegate
ad un solo router. Se queste NON sono raggiungibili attraverso la Default Route, occorre aggiungerle esplicitamente
all‟interno della tabella di routing. Nell‟esempio la LAN4 è una stub network, ma è raggiungibile da R1 attraverso la
propria default route, per cui la presenza di LAN4 all‟interno della tabella di routing diventa inutile.

Router R2

LAN ADDRESS SUBNET INTERFACE GATEWAY METRIC


LAN1 10.0.0.0 255.255.0.0 192.168.0.2 192.168.0.1 1
LAN2 192.168.0.0 255.255.255.0 192.168.0.2 * 0
LAN3 192.168.1.0 255.255.255.0 192.168.1.1 * 0
LAN4 192.168.2.0 255.255.255.0 192.168.1.1 192.168.1.3 1
0.0.0.0. 0.0.0.0. 192.168.1.1 192.168.1.2 2 (max)

Rispetto ad R2, LAN2 e LAN3 sono directly attached, LAN1 e LAN4 sono stub networks

Router R3

LAN ADDRESS SUBNET INTERFACE GATEWAY METRIC


LAN1 10.0.0.0 255.255.0.0 192.168.1.2 192.168.1.1 2
LAN2 192.168.0.0 255.255.255.0 192.168.1.2 192.168.1.1 1
LAN3 192.168.1.0 255.255.255.0 192.168.1.2 * 0
LAN4 192.168.2.0 255.255.255.0 192.168.1.2 192.168.1.3 1
0.0.0.0. 0.0.0.0. 1.2.3.4 Default gateway provider 3 (max)

Rispetto ad R3, LAN1 e LAN2 sono, nel loro insieme, stub networks.

Se queste reti avessero indirizzi contigui, potrebbero essere aggregate in una unica entry.

pag 54
Sistemi - Classe Quinta robertomana.it
RETI

Cioè se ad esempio gli indirizzi di LAN1 e LAN2 fossero :


LAN1 172.16.0.0/24
LAN2 172.16.1.0/24
Le due reti potrebbero essere aggregate in una unica entry relativa a 172.16.0.0 / 23 così strutturata:

172.16.0.0 255.255.254.0 192.168.1.2 192.168.1.1 1

Router R4

LAN ADDRESS SUBNET INTERFACE GATEWAY METRIC


LAN1 10.0.0.0 255.255.0.0 192.168.1.3 192.168.1.1 2
LAN2 192.168.0.0 255.255.255.0 192.168.1.3 192.168.1.1 1
LAN3 192.168.1.0 255.255.255.0 192.168.1.3 * 0
LAN4 192.168.2.0 255.255.255.0 192.168.2.1 * 0
0.0.0.0. 0.0.0.0. 192.168.1.3 192.168.1.2 3 (max)

Comandi Base di TCP/IP in ambiente Windows

hostname
E‟ in realtà un comando NETBIOS. Mostra il nome del computer
(nome impostatabile in PANNELLO DI CONTRLLO / SISTEMA / NOME COMPUTER).

GetMac
Utilizzato senza parametri mostra gli indirizzi MAC delle schede Ethernet presenti, es LAN 10/100 e Wireless
getmac /? mostra tutte le possibili opzioni di GETMAC

IpConfig (in Linux /sbin/ifconfig)


Corrisponde al vecchio WINIPCFG di Windows 95 / 98. Scopo principale di questo comando è la comunicazione
asincrona con il server DHCP. Lanciato senza parametri fornisce soltanto alcune informazioni base sulla
configurazione del protocollo IP (fra cui l' IP Address ma non il MAC Address)
IPCONFIG /ALL mostra invece gli indirizzi MAC di tutte le schede contenute nella macchina
IPCONFIG /? mostra tutte le possibili opzioni di IPCONFIG
/release Rilascia l'indirizzo IP per la scheda eventualmente specificata (default tutte)
/renew Rinnova l'indirizzo IP per la scheda eventualmente specificata (default tutte)
netsh interface ip show interface
in ambiente windows mostra un semplice elenco delle interface presenti sulla macchina

ARP (in Linux /usr/sbin/arp)


Rappresenta una interfaccia utente al protocollo ARP così come il comando ipconfig rappresenta una interfaccia
utente ai protocolli IP e DHCP. Consente cioè di leggere / modificare il contenuto della ARP Table del PC.
ARP -a mostra le ARP table della macchina corrente
Lanciato senza parametri fornisce il seguente help contenente l'insieme delle possibili funzionalità:

pag 55
Sistemi - Classe Quinta robertomana.it
RETI

Tabelle di Routing di un PC : Il comando route


Anche i PC possono gestire internamente delle Tabelle di Routing. Il comando route print consente di visualizzare
la tabella di routing del PC. Supponendo ad esempio che il PC abbia indirizzo IP 10.0.0.244 e Default Gateway
10.0.0.1, facendo route print si può vedere una tabella di routing così strutturata;
Rete Mask Interface Gateway Metric
1) 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
2) 10.0.0.244 255.255.255.255 127.0.0.1 127.0.0.1 1
3) 10.0.0.0 255.255.0.0 10.0.0.244 10.0.0.244 1
4) 0.0.0.0 0.0.0.0 10.0.0.244 10.0.5.10 30
1) Loop Back Tutti i pacchetti destinati alla rete 127.0.0.0 li rimandi indietro sulla macchina stessa.
2) Indirizzo medesimo Tutti pacchetti aventi come destinazione l‟indirizzo IP della macchina stessa li rimandi
indietro all‟indirizzo 127.0.0.1, cioè sulla macchina stessa, esattamente come nel caso precedente. Notare la
subnet costituita da tutti 1 che consente di selezionare il solo IP relativo alla macchina corrente.
3) Directly attached Network Come per i router si avrà Gateway = Interface = IP della porta di uscita
4) Default Route. In tutti gli altri casi spedisci all‟indirizzo di Default Gateway. Questa ultima riga deriva dalla
configurazione del Default Gateway all‟interno della finestra delle proprietà del TCP/IP.

Opzioni del comandi route in ambiente Windows


Riprendiamo in considerazione la situazione del PC precedente con indirizzo IP 10.0.0.244, Default Gateway
10.0.5.10, e tabella di routing mostrata dall‟opzione route print precedente.
L‟opzione add consente di aggiungere nuove entry nella tabella di routing del PC, consentendo di inoltrare a
gateway differenti pacchetti destinati a reti differenti. Molto comodo se nella rete locale sono presenti più router di
uscita e si desidera spedire i pacchetti all‟uno o all‟altro router a seconda della rete di destinazione finale.
NB inviare pacchetti a router differenti non significa trasformare il PC in un router. Il PC provvede a spedire su
canali differenti i diversi pacchetti interni, ma non provvede ad inoltrare i pacchetti che gli arrivano dall’esterno.
Sintassi: route add #net_ip mask #net_mask #gateway_ip if #interface metric #metric
Esempi:
route -p add 172.16.0.0 mask 255.255.255.0 10.0.0.2 if 0x10001
route -p add 192.168.0.0 mask 255.255.255.0 10.0.0.3 if 0x10001
consentono di aggiungere due nuove entry alla tabella di routing del PC, facendo in modo che i pacchetti destinati
alla rete 172.16.0.0 vengono inoltrati al router 10.0.0.2 mentre i pacchetti destinati alla rete 192.168.0.0 vengano
inoltrati al router 10.0.0.3. Tutti gli altri pacchetti verranno inoltrati al Default Gateway 10.0.0.1
Nota: Se il parametro if viene omesso, l'interfaccia viene determinata automaticamente in base all'indirizzo di gateway.
Anche se l’interfaccia possiede più indirizzi IP, l’indirizzo mittente viene determinato sempre in base all'indirizzo di gateway.

L‟opzione –p consente di creare routes permanenti, archiviate nel Registro di Sistema alla posizione
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\PersistentRoutes.
La tabella di routing, tralasciando le entry di loopback, assumerà ora il seguente aspetto.
Indirizzo Rete Mask Gateway Interface Metric
10.0.0.0 255.0.0.0 10.0.0.244 10.0.0.244 1
172.16.0.0 255.255.0.0 10.0.0.2 10.0.0.244 2
192.168.0.0 255.255.255.0 10.0.0.3 10.0.0.244 2
0.0.0.0 0.0.0.0 10.0.0.1 10.0.0.244 30

L'opzione route change #net_ip mask #net_mask if #interface gateway #gateway_ip metric #metric
consente di modificare una entry esistente relativa ad una certa sub_net specificata dal primo parametro.
L'opzione route delete #net_ip consente di eliminare una entry relativa alla sub_net specificata nel parametro.

pag 56
Sistemi - Classe Quinta robertomana.it
RETI

Host con più indirizzi IP


Se un host dispone di due schede di rete oppure semplicemente si impostano sulla stessa scheda di rete due indirizzi
IP differenti appartenenti a LAN differenti, l‟host entra a far parte di entrambe le LAN e, mediante, il comando
route, si può fare in modo che il PC comunichi direttamente con entrambe le LAN.

Trasformazione di un PC in un router : iptables


Installando su un qualunque PC un apposito software, quale ad esempio iptables, viene attivato sul PC il cosiddetto
IP FORWARDING che consente al PC di emulare il comportamento di un router, consentendogli di inoltrare da una
interfaccia all‟altra i messaggi ricevuti, sulla base della tabella di route del PC. Questo indipendentemente dal fatto
che l‟host possieda due schede di rete differenti o una sola scheda di rete depositaria di due indirizzi IP..
In Windows è possibile abilitare l‟IP forwarding eseguendo le seguenti configurazioni:
 aprire il Registro di configurazione (Start >> Esegui >> Regedit )
 seguire il percorso KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
 Modificare il valore di IPEnableRouter a "1" e Riavviare
Il comando ipconfig / all mostrerà ora ”Routing IP abilitato SI” (abilitato di default).

NOTA : Configurazione DHCP ricevuta da un Provider


Quando il PC (o il router) riceve un IP pubblico dal provider, solitamente riceve come netmask 255.255.255.255 che
significa che il PC non entra a far parte di una rete e dunque non può mai eseguire una Direct Delivery a nessuno,
ma i pacchetti destinati ad un qualunque IP diverso da quello ricevuto dovranno essere instradati verso l’indirizzo di
Default Gateway ricevuto dal Provider. Essendo il collegamento PC-Provider un collegamento punto punto e non un
collegamento Ethernet, non viene avviato il protocollo ARP che, per come è strutturato, necessita assolutamente che il
Default Gateway appartenga alla stessa rete IP del mittente. Dunque il pacchetto arriva al router il quale utilizzando
ad es una subnet 255.255.0.0 in grado di pilotare 65.000 host, dal suo punto di vista vede tutti questi host come una
sola rete locale /16. L’indirizzo inviato come def gateway a tutti i client sarà sicuramente appartenente a questa rete.

VLSM Variable Length Subnet Masks


Subnet Mask a profondità variabile. Strumento per partizionare ulteriormente una sottorete(subnetting a subnet) in
più sottoreti. Esempio: data la rete di classe C 207.21.24.0 / 27 cioè con i primi 3 bit utilizzati come come bit di rete,
si ottengono le 8 sottoreti indicate nella prima tabella. Data la subnet #6 con indirizzo 207.21.24.192 / 27 e 32 host
possibili, applicando una ulteriore partizione è possibile suddividerla in ulteriori 8 sottoreti da 4 host ciascuna.

A livello di routing
dinamico, VLSM è
Le sottoreti precedenti
supportata da
possono essere utilizzate per
RIP v2, OSPF, EIGRP
indirizzare il link tra 2 router.

Subnet Mask costitita da 3 bit


La sottorete 6 ha una subnet mask di 6 bit

pag 57
Sistemi - Classe Quinta robertomana.it
RETI

Esercizio 2
Una certa azienda intende realizzare una infrastruttura di rete comprendente circa 200 host, che devono essere
suddivisi in tre LAN (LAN1 = 28 host, LAN2 = 110 host, LAN3 = 60 host) come indicato nello schema seguente

Gli indirizzi utilizzabili sono indirizzi privati di classe C 192.168.20.0 ed eventuali indirizzi successivi .21, .22 etc.
Si suppone che all‟interfacc Internet di R4 sia assegnato l‟indirizzo 1.2.3.4 appartenente alla rete di un provider
Si richiede di
1) eseguire una pianificazione ottimale di tipo CLASSLESS degli indirizzi IP a disposizione, riportando per ogni
rete: indirizzo di rete, subnet mask, default gateway, indirizzo di broadcast
2) pianificare le tabelle di routing dei 4 Router impostando tutte le possibili entry

Soluzione:
Dato un indirizzo di classe C, agendo sulla subnet mask si potrebbero realizzare:
 1 unica rete con 254 host (subnet mask standard /24)
 2 sottoreti da 126 host caduna (subnet mask /25)
 4 sottoreti da 62 host caduna (subnet mask /26)
 8 sottoreti da 30 host ciascuna, (subnet mask /27)
 16 sottoreti da 14 host ciascuna, (subnet mask /28)
 32 sottoreti da 6 host ciascuna, (subnet mask /29) e così via

La rete più grande ha 110 host. Si inizia quindi nel suddividere la rete 192.168.20.0 in due sottoreti da 128 host:
192.168.20.0 xxxxxxx / 25 LAN 2 -> 192.168.20.0 / 25
192.168.20.1 xxxxxxx / 25 libera -> 192.168.20.128 / 25

La sottorete libera (192.168.20.1 xxxxxxx / 25) viene ora ulteriormente suddivisa in due sottoreti da 64 host:
192.168.20.10 xxxxxx / 26 LAN3 -> 192.168.20.128 / 26
192.168.20.11 xxxxxx / 26 libera -> 192.168.20.192 / 26

La sottorete libera (192.168.20.11 xxxxxxxx / 26) viene ora ulteriormente suddivisa in due sottoreti da 32 host:
192.168.20.110 xxxxx / 27 LAN1 -> 192.168.20.192 / 27
192.168.20.111 xxxxx / 27 libera -> 192.168.20.224 / 27

pag 58
Sistemi - Classe Quinta robertomana.it
RETI

Poiché restano da indirizzare 4 piccole sottoreti da 2 host ciascuna (i 4 collegamenti punto punto fra i router), la rete
libera (192.168.20.111 xxxxx / 27) in grado di indirizzare 32 host viene suddivisa in 8 sottoreti da 4 indirizzi
ciascuna, le prime 4 utilizzate per indirizzare i 4 collegamenti punto punto e le rimanenti quattro libere.
192.168.20.111 000 xx / 30 LAN R1 – R4 -> 192.168.20.224 / 30
192.168.20.111 001 xx / 30 LAN R1 – R2 -> 192.168.20.228 / 30
192.168.20.111 010 xx / 30 LAN R2 – R3 -> 192.168.20.232 / 30
192.168.20.111 011 xx / 30 LAN R3 – R4 -> 192.168.20.236 / 30
192.168.20.111 100 xx / 30 libera -> 192.168.20.240 / 30
192.168.20.111 101 xx / 30 libera -> 192.168.20.244 / 30
192.168.20.111 110 xx / 30 libera -> 192.168.20.248 / 30
192.168.20.111 111 xx / 30 libera -> 192.168.20.252 / 30
Le 4 reti libere possono essere riaggregte in una unica rete 192.168.20.240 / 28

Tabelle di Routing

LAN ADDRESS SUBNET INTERFACE GATEWAY METRIC


ROUT1 LAN 1 255.255.255.224 R1 - eth0 R1 - eth0 0
LAN 2 255.255.255.128 R1 - ppp0 R2 - ppp0 1
LAN 2 255.255.255.128 R1 - ppp1 R4 - ppp1 3
LAN 3 255.255.255.128 R1 - ppp1 R4 - ppp1 2
LAN 3 255.255.255.128 R1 - ppp0 R2 - ppp0 2
0.0.0.0. 0.0.0.0. R1 - ppp1 R4 - ppp1 4 (max)
0.0.0.0 0.0.0.0. R1 - ppp0 R2 - ppp0 4+2=6
ROUT2 LAN 1 255.255.255.224 R2 - ppp0 R1 - ppp0 1
LAN 1 255.255.255.224 R2 - ppp1 R3 - ppp1 3
LAN 2 255.255.255.128 R2 - eth0 R2 - eth0 0
LAN 3 255.255.255.128 R2 - ppp1 R3 - ppp1 1
LAN 3 255.255.255.128 R2 - ppp0 R1 - ppp0 3
0.0.0.0. 0.0.0.0. R2 - ppp0 R1 - ppp0 4
0.0.0.0 0.0.0.0. R2 - ppp1 R3 - ppp1 4
ROUT3 LAN 1 255.255.255.224 R3 - ppp0 R4 - ppp0 2
LAN 1 255.255.255.224 R3 - ppp1 R2 - ppp1 2
LAN 2 255.255.255.128 R3 - ppp1 R2 - ppp1 1
LAN 2 255.255.255.128 R3 - ppp0 R4 - ppp0 3
LAN 3 255.255.255.128 R3 - eth0 R3 - eth0 0
0.0.0.0. 0.0.0.0. R3 - ppp0 R4 - ppp0 4
0.0.0.0 0.0.0.0. R3 - ppp1 R2 - ppp1 6
ROUT4 LAN 1 255.255.255.224 R4 - ppp1 R1 - ppp1 1
LAN 1 255.255.255.224 R4 - ppp0 R3 - ppp0 3
LAN 2 255.255.255.128 R4 - ppp1 R1 - ppp1 2
LAN 2 255.255.255.128 R4 - ppp0 R3 - ppp0 2
LAN 3 255.255.255.128 R4 - ppp0 R3 - ppp0 1
LAN 3 255.255.255.128 R4 - ppp1 R1 - ppp1 3
0.0.0.0 0.0.0.0. R4 ppp2 - 1.2.3.4 Gateway Provider 4

pag 59
Sistemi - Classe Quinta robertomana.it
RETI

Esercizio 3

Una certa azienda intende realizzare una infrastruttura di rete comprendente tre LAN con circa 50 host caduna, come
indicato nello schema seguente

ppp0
eth0
eth1 eth1 eth0

eth0

Per l‟indirizzamento, l‟azienda richiede l‟assegnazione di alcune reti IP di classe C, che devono essere comprese tra
192.168.208.0 e 192.168.213.0. Si suppone che all‟interfaccia del router R2 verso Internet sia stato assegnato
l‟indirizzo 69.12.154.7 appartenente alla rete di un provider. Si richiede di

1) Eseguire una pianificazione classlesss degli indirizzi IP da assegnare a host e router della retel
2) Pianificare le tabelle di routing dei 3 Router
3) Programmare gli host di LAN2 in modo che possano comunicare con LAN1 e LAN3 senza passare attraverso R2

Soluzione
Non essendoci collegamenti seriali Router – Router ma solo collegamenti Ethernet che non costituiscono rete di
indirizzamento, si utilizza una unica rete di classe C 192.168.208.0 suddividendola tramite una subnet /26 in quattro
sottoreti da 62 ciascuna. La quarta di queste sottoreti rimane libera.
LAN1
Network 192.168.208.0 / 26 // 00xxxxxx
Subnet Mask 255.255.255.192
Default Gateway 192.168.208.1
Broadcast 192.168.208.63
Host da 192.168.208.2 a 192.168.208.62
LAN2
Network 192.168.208.64 / 26 // 01xxxxxx
Subnet Mask 255.255.255.192
Default Gateway (R2) 192.168.208.65
Broadcast 192.168.208.127
R1 eth1 = 192.168.208.66, R3 eth1 = 192.168.208.67
LAN3
Network 192.168.208.128 / 26 // 10xxxxxx
Subnet Mask 255.255.255.192
Default Gateway 192.168.208.129
Broadcast 192.168.208.191

pag 60
Sistemi - Classe Quinta robertomana.it
RETI

2) Tabella di Routing di R2

LAN ADDRESS SUBNET INTERFACE GATEWAY METRIC


LAN 1 255.255.255.192 R2 - eth0 R1 – eth1 1
LAN 2 255.255.255.192 R2 - eth0 R2 - eth0 0
LAN 3 255.255.255.192 R2 - eth0 R3 – eth1 1
0.0.0.0. 0.0.0.0. 69.12.154.7 Gateway Provider 2 (max)

3) Per fare in modo che gli host di LAN2 possano comunicare con LAN1 e LAN3 senza passare attraverso R2,
è possibile impostare manualmente, mediante il comando route, una route table su tutti gli host di LAN2, facendo in
modo che spediscano a gateway differenti (ma appartenenti alla stessa LAN) pacchetti destinati a LAN differenti. La
Route Table è prioritaria rispetto al Default Gateway.. Per ogni host di LAN2 si può impostare la seguente route table

LAN ADDRESS SUBNET INTERFACE GATEWAY METRIC


LAN 1 255.255.255.192 HOST IP R1 – eth1 1
LAN 3 255.255.255.192 HOST IP R3 – eth1 1
0.0.0.0. 0.0.0.0. HOST IP R2 – eth0 2

Queste route table costituiscono una aggiunta e non consentono di eliminare alcuna entry nella Routing Table di R2,
che deve essere mantenuta per consentire agli host di LAN1 e LAN3 di comunicare con Internet e ricevere le risposte

Esercizio 4
Una certa rete di classe B con indirizzo base 172.16.0.0 viene .suddivisa in 4 sottoreti rispettivamente da 600 host,
600 host, 100 host, 100 host, più 4 collegamenti punto punto da 2 host. Eseguire un indirizzamento classless.
Dalla rete 172.16.0.0 vengono inizialmente estratte 64 sottoreti da 1024 host:
172.16.000000 xx / 22 LAN 1 -> 172.16.0.0 / 22
172.16.000001 xx / 22 LAN 2 -> 172.16.4.0 / 22
172.16.000010 xx / 22 libera -> 172.16.8.0 / 22

La prima sottorete libera (172.16.8.0 / 22) viene suddivisa in otto sottoreti da 128 host ciascuna
172.16.000010 00 . 0 xxxxxxx / 25 LAN 3 -> 172.16.8.0 / 25
172.16.000010 00 . 1 xxxxxxx / 25 LAN 4 -> 172.16.8.128 / 25
172.16.000010 01 . 0 xxxxxxx / 25 lbera -> 172.16.9.0 / 25
172.16.000010 01 . 1 xxxxxxx / 25 lbera -> 172.16.9.128 / 25
172.16.000010 10 . 0 xxxxxxx / 25 lbera -> 172.16.10.0 / 25
172.16.000010 10 . 1 xxxxxxx / 25 lbera -> 172.16.10.128 / 25
172.16.000010 11 . 0 xxxxxxx / 25 lbera -> 172.16.11.0 / 25
172.16.000010 11 . 1 xxxxxxx / 25 lbera -> 172.16.11.128 / 25

La prima sottorete libera (172.16.000010 01 . 0 xxxxxxx / 25), in grado di indirizzare fino a 128 host, viene
suddivisa in tantissime (32) sottoreti da 4 host :
172.16.9 . 000000 xx / 30 PPP 1 -> 172.16.9.0 / 30
172.16.9 . 000001 xx / 30 PPP 2 -> 172.16.9.4 / 30
172.16.9 . 000010 xx / 30 PPP 3 -> 172.16.9.8 / 30
172.16.9 . 000011 xx / 30 PPP 4 -> 172.16.9.12 / 30
Le quattro sottoreti successive possono essere riaggregate in un unica sottorete da 16 host, le 8 successive in una
sottorete da 32 host e le ultime 16 in una sottore te da 64

pag 61
Sistemi - Classe Quinta robertomana.it
RETI

Protocollo IP
Internet Protocol, standardizzato nel 1981 ed utilizzato come standard all'interno di Internet,, nasce per disaccoppiare
le applicazioni software che devono comunicare tra loro (es browser e web server) dalla struttura hardware delle reti
di trasmissione, creando di fatto una interfaccia di trasmissione del tutto indipendente dal sottostante substrato di rete,
che può essere realizzato con le tecnologie più disparate (Ethernet, FDDI, Frame Relay, ISDN).

Scopo primo del protocollo IP è quello di instradare i pacchetti attraverso una rete geografica (a commutazione
di pacchetto).

Caratteristiche fondamentali:
 Universal Addressing : ogni host della rete è identificato univocamente da un indirizzo IP.
 Best Effort : La comunicazione è di tipo connectionless. Viene assicurato il massimo impegno nella
trasmissione, ma non c'è garanzia né sul successo della trasmissione, né sul tempo di consegna.
 Routed Protocol cioè in grado di gestire l'instradamento fra reti diverse mediante l‟utilizzo di indirizzi
gerarchici (protocollo instradabile). I dispositivi intermedi che consentono l'instradamento dei pacchetti sono i
Router. L‟instradamento è gestito in modo decentrato (non centralizzato), facilitando così l'interconnessione fra
reti diverse.. Altri Routed Protocol abbastanza conosciuti sono IPX/SPX utilizzato dalle reti Novell e Apple
Talk utilizzato nelle reti proprietarie Apple. NetBEUI è invece un piccolo protocollo presente nelle versioni più
datate di Windows che copre i livelli 3 e 4 ISO OSI ma che non gestisce l‟instradamento in quanto utilizza
indirizzi non gerarchici e dunque invia sempre a tutti. L‟instradamento è legato alla gerarchia degli indirizzi.
 I pacchetti di livello 3 (PDU completo) sono di solito indicati come datagrams. IP aggiunge ad ogni pacchetto
la propria intestazione senza occuparsi dei dati contenuti all'interno del pacchetto

Intestazione di un pacchetto IP
IP Datagram è il nome di una PDU IP completa, costituita da: Intestazione + Pacchetto Dati
La dimensione massima complessiva consentita all'IP Datagram è di 65.535 bytes.
L'Header ha una dimensione variabile con un minimo di 20 bytes [5 Double Words] e presenta i seguenti campi :

Version [4 bit] Numero di versione del protocollo IP, cioè 4 oppure 6


HLEN [4 bit] Lunghezza dell'header espressa in Double Word, cioè in multipli di 4 bytes,
dunque con una lunghezza massima di 15 Double Word, pari a 60 bytes
Service Type [8 bit] Importance Level (Velocità / Affidabilità) assegnato dai livelli superiori ed utilizzato da QoS
Ad ogni bit corrisponde un differente Importace Level:
D bit -> Ritardo Minimo, cioè Velocità Massima
R bit -> Massima Affidabilità
T bit -> Throughput massimo. Throughput = efficienza di rete = numero di
pacchetti validi nell'unità di tempo. Via di mezzo fra le due precedenti
M bit -> Costo minimo, cioè percorso più breve
Total Length [16 bit] Lunghezza totale del datagram (PDU completo, payload + intestazione)

Identification [16 bit] Codice di identificazione del pacchetto corrente. Se il pacchetto viene suddiviso in
frammenti, ogni frammento presenta lo stesso valore di Identification
Fragment Flags [3 bit] 1° bit unused. Il bit 2 è invece utilizzato nel processo di MTU Discovery.
2° bit DF (Don't Fragment) Il pacchetto non può essere frammentato dai router
3° bit MF (More Fragments) Non si tratta dell'ultimo frammento.
Fragment Offset [13 bit] Spiazzamento del frammento all'interno del datagram originale.
Settato dai Router che eseguono la frammentazione.

pag 62
Sistemi - Classe Quinta robertomana.it
RETI

Time To Live [8 bit] TTL Contatore decrementato ogni volta che il Datagram attraversa un Router
Quando arriva a zero il Datagram viene scartato per evitare che continui a vagare per
la rete senza fine. Utilizzato da esempio dall‟utility traceroute.
Ogni pacchetto non può attraversare più di 255 Router (Windows usa un default di 64)
Protocol [8 bit] Protocollo di livello superiore che ha richiesto la trasmissione
1=ICMP, 2=IGMP (gestione del multicast), 6=TCP, 17=UDP
Detto anche SAP Service Access Point
Header Checksum [16 bit] Check Sum per l'integrità della sola Header (non dei dati, controllati da TCP).

IP Source Address [32 bit] Indirizzo IP dell'host che spedisce il Datagram


IP Dest Address [32 bit] Indirizzo IP dell'host destinatario del Datagram

IP Options
Oltre a queste 5 Double Words obbligatorie, può esserci un ulteriore parametro, detto IP Options, di dimensioni
variabili, riservato per eventuali altri parametri opzionali, come ad esempio informazioni relative alla sicurezza.
Un ultimo campo PADDING contiene bit inutilizzati in modo da allineare le IP-Options a multipli di Double Word.
Nota: A meno di indicazioni diverse da parte dei livelli superiori, Il campo TTL (Time To Live) viene impostato ad
un valore di default (128) dal protocollo IP. Ogni volta che un router decrementa il valore di TTL, questo implica il
ricalcolo del checksum da inserire all'interno dell'header IP.

Frammentazione
Con la sigla MTU (Maximum Transmission Unit), si indica la dimensione massima del payload (campo dati) che un
link di livello 2 è in grado di trasmettere, corrispondente quindi alla dimensione massima dei PDU IP
Ad esempio nelle reti Ethernet, indipendentemente da topologia e mezzo trasmissivo in uso, il protocollo MAC
definisce una MTU di 1500 Bytes. Quindi gli Switch Ethernet sono progettati per bufferizzare al max 1500 Bytes.
Altri protocolli di livello Data Link possono definire MTU diverse, da un min di 128 Bytes ad un max di 10 kB
La segmentazione dei dati viene eseguita dal livello 4 che però, non ha visibilità di tutti i link da attraversare per il
raggiungimento della destinazione finale. Se genera segmenti troppo piccoli, aggiungendo le intestazioni IP e MAC,
si ottiene una elevata inefficienza di trasmissione (vengono trasmesse solo intestazioni). Se invece genera pacchetti
troppo grandi, il pacchetto IP potrebbe superare su qualche link il relativo MTU e non essere trasmesso oltre.
Sulla base di queste considerazioni, nell‟intestazione IP sono stati aggiunti alcuni campi (tutta la 2° double word)
relativi ad una eventuale frammentazione del pacchetto, in modo da consentire ai router di poter frammentare
eventuali pacchetti troppo grandi rispetto al link successivo. In ogni caso migliore è la segmentazione eseguita dal
livello 4, e minore sarà l'appesantimento dei router con conseguente maggiore velocità di trasmissione.
A tal fine IP assegna ad ogni pacchetto un codice identificativo a 16 bit, che potrebbe essere semplicemente il
numero di segmento assegnato dal livello 4, oppure un codice diverso gestito completamente dal livello 3. Scopo di
questo codice identificativo è quello di consentire al destinatario di rimettere insieme i frammenti eventualmente
creati dai router (su tutti i frammenti viene duplicato lo stesso codice identificativo). In caso di frammentazione il
router provvederà a copiare su tutti i frammenti l'intestazione originale IP, settando su ogni frammento il Fragment
Offset, cioè spiazzamento del frammento rispetto al pacchetto originale. Sul primo frammento questo campo
assume il valore zero. Per ogni frammento vengono quindi settati i relativi Fragment Flags.
La frammentazione viene eseguita sempre a multipli di 8 bytes, e con il flag More Fragments sempre settato a 1.
Soltanto l'ultimo frammento avrà More Fragments = 0. Il livello IP di destinazione riassembla in un apposito buffer
tutti i frammenti con lo stesso Identification Number, per poi passare il pacchetto completo al livello 4. La lunghezza
dell'ultimo frammento sarà calcolata automaticamente sulla base della lunghezza dell'intero pacchetto.

pag 63
Sistemi - Classe Quinta robertomana.it
RETI

Protocollo ICMP
Internet Control Message Protocol
Protocollo per la diagnostica di rete. Il protocollo ICMP è parte integrante del protocollo IP e viene pertanto
automaticamente installato insieme al protocollo IP in tutti i Sistemi Operativi. Disponibili anche sui dispositivi di
rete di livello 3 che utilizzano IP (ad esempio i router). Pur essendo sempre di livello 3, si colloca però al di sopra di
IP rispetto al quale rappresenta una Entry Point, al pari di TCP e UDP. I pacchetti ICMP vengono normalmente
incapsulati all'interno del datagram IP allo stesso modo dei segmenti di livello 4.
I messaggi ICMP sono costituiti da :
 un codice a 8 bit di identificazione del messaggio
 un codice a 8 bit di dettaglio del messaggio
 un CheckSum a 16 bit
per un totale di 32 bit, più eventuali dati aggiuntivi interni al payload.

I principali codici di identificazione di un messaggio ICMP sono i seguenti:

E
E

E
E

L‟utility PING - Packet INternet Groper


Il comando ping rappresenta una semplice interfaccia utente a ICMP, mirato a verificare la raggiungibilità, a
livello IP, di una certa destinazione. (“pinging the destination”, spesso tradotto come “pingare” la destinazione).

Sintassi:
ping destinazione dove destinazione può essere una URL oppure un indirizzo IP. Es:
ping mmserver
ping 10.0.0.182
ping www.virgilio.it

pag 64
Sistemi - Classe Quinta robertomana.it
RETI

In corrispondenza del comando ping,


In ambiente Windows l'host sorgente provvede ad inviare all'host destinatario quattro pacchetti ICMP di tipo Echo
Request (contenenti in pratica la sola intestazione ICMP), per ognuno dei quali si aspetta di ricevere un
corrispondente messaggio ICMP di tipo Echo Reply, In ambiente Linux/Unix il sorgente continua ad inviare
pacchetti Echo Request fino a che non viene interrotto manualmente.
In corrispondenza di ogni Echo Reply il sorgente visualizzerà una riga di testo contenente:il numero di sequenza
dell'Echo Reply ed il tempo di Round Trip (in ms) intercorso tra l'invio dell'Echo Rquest ed il ricevimento dell'Echo
Reply). Ovviamente in corrispondenza del ricevimento della echo reply verrà aggiornata la ARP Table.

Messaaggi di Errore
Alcuni messaggi ICMP (quelli indicati in figura con la lettera E) sono messaggi di errore che un router può
utilizzare per avvisare il mittente riguardo ad un eventuale errore verificatosi durante l‟instradamento di un pacchetto
IP. Questi messaggi contengono, oltre al codice dell‟errore, anche le generalità (intestazione IP) del router su cui
l‟errore si è verificato più eventuali informazioni aggiuntive. Il significato di questi messaggi è il seguente :

3 = Destination unreachable (destinazione irraggiungibili) ad esempio perché il destinatario è spento oppure a


causa dell'impossibilità di trasmettere il pacchetto su un Link di dimensioni inferiori rispetto alle dimensioni del
pacchetto ed in presenza del bit di Don't Fragment
11 = Time Exceeded (Richiesta scaduta) Il destinatario è stato individuato ma non ha risposto probabilmente perché
è disabilitato a rispondere ai messaggi ICMP. Per evitare sovraccarichi, è infatti possibile disabilitare un host (o
un router) a rispondere ai messaggi ICMP. Un attacco a Yahoo era stato quello di inviare continuamente ping al
server che passava così il tempo a rispondere ai ping a scapito delle altre funzionalità
4 = Source Quence (Nodo sovraccarico)
12 = Paramater Problem on a Datagram, cioè Intestazione IP corrotta.

Note:
 Lanciato senza parametri il comando ping fornisce l'insieme di tutte le possibili funzionalità
 Il comando PING è il modo più veloce per verificare il funzionamento della scheda di rete. Se il comando
PING 127.0.0.1 non fornisce risposta significa che la scheda non funziona.
 Ovviamente il PING, essendo un comando di livello 3, rispetta tutte le regole dell‟indirizzamento IP.
Ad es il PING verso una macchina collegata allo stesso hub ma su una rete logica differente ma non va a buon
fine.
 In Windows XP per
disabilitare una macchina
a rispondere ai ping
occorre aprire Pannello
di Controllo / Windows
Firewall e selezionare la
sottofinestra Avanzate /
Impostazioni ICMP.
 In Windows 7 sempre da
Windows Firewall
selezionare Impostazioni
Avanzate / Regole di
Connessione in Entrata.
Anche antivirus / firewall
consentono di disabilitare i
ping

pag 65
Sistemi - Classe Quinta robertomana.it
RETI

L‟utility TRACERT Traceroute

Anch'esso rappresenta una interfaccia utente a ICMP. Suo scopo è sempre quello di verificare il collegamento fra due
nodi, fornendo informazioni su ogni macchina intermedia (router) attraversata lungo il percorso.
Il comando TRACERT inizia inviando un messaggio Echo Request all'IP Destinazione impostando TTL = 1.
Il primo router che riceve il pacchetto decrementa TTL e scarta il pacchetto inviando al sorgente un messaggio di tipo
Time Exceeded, contenente nell'intestazione IP le generalità del router stesso che viene pertanto identificato
Se il sistema che ha risposto non è il destinatario, il sorgente invia un nuovo messaggio Echo Request ma con TTL
incrementato di uno rispetto al passo precedente, in modo da individuare il dispositivo successivo lungo il percorso.
Il processo si ripete fino al raggiungimento del destinatario (o fino al superamento del TTL massimo).
Se sul percorso si incontra un router disabilitato a rispondere alle richieste ICMP, tale router verrà identificato con
un * senza però interrompere il processo. Se però il router blocca i messaggi ICMP senza inoltrarli, allora il
processo viene naturalmente interrotto

Sintassi : E' la stessa di PING, cioè TRACERT destinazione


Facendo TRACERT verso una macchina vicina connessa mediante hub / switch, si vedrà come risultato una unica
riga, in quanto si arriva subito alla macchina destinazione senza attraversare nessun router.
Inviando un comando del tipo tracert www.yahoo.it si vedrà:
10.0.5.10 Proxy del Vallauri
10.191.1.1 Server del CSI
158.102.234.129 Server pubblico del CSI
dopo di che si viene bloccati dal firewall del CSI che non inoltra i messaggi ICMP

Protocolli di Routing Dinamico (LIV 7)


Nel caso del routing statico, l'amministratore deve aggiornare manualmente la tabella di routing in corrispondenza di
ogni modifica sulla topologia di rete. In una rete di grandi dimensioni questo mantenimento è molto oneroso.
Scopo del routing dinamico è quello di costruire e mantenere in modo completamente automatico le tabelle di
routing. Per ogni router occorre impostare soltanto le reti direttamente collegate, dopo di che il router si
costruisce dinamicamente le entry mancante “imparandole” dai router vicini mediante un scambio di messaggi
continuo e regolare (ad esempio ogni 30 secondi nel caso di RIP).

Vantaggi del routing dinamico


 Comodità di programmazione
 Permette al router di adattarsi automaticamente alle variazioni della rete, garantendo una certa robustezza
globale della rete. Ad esempio, quando un link diventa indisponibile, consente di passare automaticamente ad
un link alternativi. Meccanismo detto di fault tolerant: se un router si guasta, quelli vicini lo vengono a
sapere perchè non risponde più ai messaggi e lo segnalano anche agli altri.
Limiti
 Appesantisce notevolmente il traffico di rete con un continuo scambio di messaggi (overhead).
 Se si conosce bene la rete, il routing statico consente di ottimizzare e minimizzare le tabelle di routing
 Il Routing Dinamico riduce l'affidabilità di trasmissione dei singoli pacchetti, a causa di possibili
duplicazioni (dovute ai loop), perdite o fuori sequenza.
Nel caso in cui si utilizzino protocolli di routing dinamico, è comunque possibile inserire manualmente (per
sicurezza) le principali entry di routing statico, facendo coesistere Routes statiche con Routes Dinamiche. In questo
caso si consiglia di assegnare alle entry statiche un elevato valore di metrica in modo che queste entry vengano
utilizzate soltanto in caso in cui le entry dinamiche non abbiano dato nessun risultato. Le entry statiche sono
preferibili nel caso di stub network, cioè quelle sottoreti con un unico punto di collegamento al resto della rete.
Molti router supportano più protocolli di routing dinamico contemporanei, con tabelle separate per ogni protocollo
pag 66
Sistemi - Classe Quinta robertomana.it
RETI

Stati di un router abilitato al Routing Dinamico


Stabile nel momento in cui dispone di tabelle di routing correttamente compilate.
Transitorio nel momento in cui sta eseguendo i protocolli di routing per l'aggiornamento delle tabelle
Instabile Un guasto di un link o di un router può determinare uno stato di instabilità in cui qualche entry delle tabelle
di routing può essere non valida. Il tempo necessario per ritornare alla stabilità è detto tempo di convergenza.

RIP Routing Information Protocol Porta 520 UDP [RFC 1058]


Rappresenta il più semplice e il più comune fra i protocolli di routing .Protocollo, di tipo Distance Vector (Distanza
– Direzione, nel senso che non conosce dettagli sulle reti remote, ma conosce solo la direzione su cui spedire il
pacchetto e la distanza della rete destinataria). Le reti direttamente connesse al router devono essere configurate
manualmente ed hanno metrica zero. Dopo di che ogni router ogni 30 secondi invia senza richiesta di risposta
la sua intera Routing Table a tutti i Router vicini. Questi aggiungono le entry ricevute alla loro Route Table,
incrementando ogni volta di 1 il valore della metrica. Il corrispondenza del prossimo transitorio (cioè dopo 30 sec)
il router invierà la propria Route Table a tutti i router vicini e così via. Una entry con metrica 4 significa che prevede
l'attraversamento di 4 router prima del raggiungimento della destinazione. In caso di entry multiple sulla stessa
destinazione, verrà considerata la entry con metrica inferiore.
Vantaggi: semplicità della configurazione (semplice attivazione) e delle informazioni scambiante.
Svantaggi:
 Le tabelle di routing assumono notevoli dimensioni con molte righe multiple.
 per ogni Rete Di Destinazione vengono memorizzate al max sei routes . Nel momento in cui il router
individua un percorso a metrica inferiore, elimina il percorso a metrica massima limitando a 6 il n di routes
memorizzate. Nei router CISCO questa soglia può essere impostata manualmente nel range 1 – 6 (default 4).
 Per non appesantire troppo le tabelle di routing, le entry non vengono inviate oltre il valore 15 di metrica,
per cui il destinatario viene considerato irraggiungibile se situato oltre 15 router. Il valore di metrica 16
indica rete irraggiungibile e viene utilizzato anche per indicare una rete momentaneamente scollegata..
 Per evitare che 2 router si scambino le stesse routes, RIP implementa il cosiddetto meccanismo di Split
Horizon secondo cui un router non rimanda indietro sulla stessa interfaccia le entry ricevute su
quell‟interfaccia
 Tempi di convergenza molto lenti (tipicamente 180 sec, tempo medio per l‟attraversamento di 7 router).
 Nel momento in cui un router si accorge di una variazione di rete (es la rete connessa ad una certa porta viene
staccata), provvede a contrassegnare quella rete come irraggiungibile (metrica 16) e a trasmettere
immediatamente l'informazione ai router vicini, senza attendere lo scadere dei 30 sec, provvedendo all'invio
di un messaggio detto triggered update (che però sul router successivo non è più triggerato e aspetta 30 sec).
 Non necessariamente individua il percorso di connessione più rapido. Il fatto di attraversare il minor numero
di router non necessariamente significa aver individuato il percorso più veloce.
 E‟ di tipo ClassFull, cioè insieme all‟indirizzo di rete non invia la Subnet Mask per cui il router destinatario
assocerà all‟indirizzi di rete ricevuto la subnet mask di default della classe di appartenenza dell‟indirizzo stesso

RIP v2 (1998)
I due principali miglioramenti introdotti sono:
 Indirizzamento classless, nel senso che con le entry di routing dinamico viene inviata anche l'informazione
relativa alla subnet mask. In questo modo le diverse sottoreti di una stessa rete possono utilizzare subnet
mask diverse (VLSM) e possono essere fisicamente dislocate in modo non contiguo
 I messaggi vengono gestiti mediante un meccanismo di autenticazione in cui ogni router, mediante una
password, “firma” i pacchetti con le proprie generalità (in chiaro o in modo criptato md5).

pag 67
Sistemi - Classe Quinta robertomana.it
RETI

I principali limiti sono sostanzialmente gli stessi tre di RIP v1, cioè:
 Notevole overhead. I continui messaggi di update (ogni 30 sec) consumano banda anche con rete stabile.
 Tempi di convergenza molto lenti (stimato intorno ai 180 sec, tempo degli Holddown Timer)
 Metrica poco accurata, Non raggiunge reti posizionate oltre i 15 router

IGRP Interior Gateway Routing Protocol


Protocollo sempre di tipo Distance Vector proprietario CISCO mirato a superare i principali limiti intrinseci di RIP :
 Per confermare la propria attività, ogni router invia ogni 5 sec (per collegamenti più veloci di T1, altrimenti ogni
60 sec) un HELLO message ai router vicini. Gli HELLO messages non vengono propagati.In assenza di
messaggi, dopo un tempo pari a 3 volte l‟HELLO Interval, il router vicino viene considerato disattivo.
- Max numero di hop attraversabili: 224
 I messaggi di update sono inviati solo in caso di variazioni sulle reti direttamente collegati ed ogni router
provvede al loro inoltro istantaneo, per cui si hanno tempi di convergenza estremamente rapidi
 Metrica molto più accurata, basata su ben 4 fattori indicati di seguito.
 BANDWIDTH larghezza di banda [bit/sec] del link. Da configurare manualmente.
 DELAY tempo di accesso al mezzo trasmissivo (dipende dal tipo di link).
 RELIABILITY error rate (tasso di errore) sul collegamento [gestito dinamicamente dal router]
 LOAD attuale carico della linea indicante il n° bytes spediti nell‟unità di tempo. [gestito dinamicamente]
La metrica risultante viene calcolata sulla base della seguente formula:
Metric = [K1 * Bandwidth + (K2 * Bandwidth)/(256-load) + K3*Delay] * [K5/(reliability + K4)]
in cui l'amministratore può assegnare un peso diverso a ciascuna delle costanti che presentano i seguenti
default: K1 = K3 = 1 and K2 = K4 = K5 = 0. Se K5 = 0 l‟ultima parentesi quadra non viene considerata.
Sulla base delle entry acquisite un apposito algoritmo detto DUEL calcola il costo di tutte le entry relative a ciascuna
destinazione, individuando, per ogni possibile destinazione, una Best Route che viene caricata nella routing table,

EIGRP = Enhanced IGRP è una versione avanzata di IGRP, di tipo ClassLess. Utilizza un apposito protocollo di
livello 4 (proprietario) detto RTP Reliable Transport Protocol in grado di operare su qualsiasi protocollo di livello 3.
RTP può essere utilizzato sia in modalità Reliable (affidabile, TCP-like) sia in modalità Best-Effort (UDP-Like).

OSPF Open Shortest Path First (Ricerca del Best Path) RFC 2328
Protocollo di tipo Link State (cioè che memorizza lo stato di tutti i link). Usa una metodologia abbastanza diversa
rispetto ai Distance Vector. Ogni router mantiene un complesso database relativo all'intera topologia di rete e, sulla
base di questo database, crea un albero con se stesso come radice mentre le varie reti destinatarie rappresentano le
foglie dell'albero. Il costo di un link tiene conto unicamente del Bandwidh (velocità del link) e viene calcolato come
valore intero 108/Bandwidh. I link con velocità > 108 hanno tutti lo stesso costo. Un apposito algoritmo (SPF
shortest path first o algoritmo di Dijkstra), per ogni possibile destinazione, valuta la Shortest Path all'interno
dell'albero e la copia all‟interno della Routing Table. Ogni router, tramite un HELLO Protocol, scambia
continuamente messaggi con i router direttamente connessi, stabilendo con loro una tabella di ADIACENZE.
Svantaggi: Richiede una procedura di configurazione più complessa ed un pesante scambio di informazioni iniziali.
Vantaggi Routing Table minima ed ottimizzata, Tempi di convergenza estremamente rapidi; Inoltre consente di
suddividere la rete in AREE indipendenti (gerarchiche) con i messaggi di update inviati soltanto all‟interno dell‟area
interessata. Dunque si presta particolarmente bene per reti di grandi dimensioni strutturate in modo gerarchico.

Exterior Gateway Protocol


Internet è costituita da un insieme di reti gestite da enti differenti ed intercomunicanti tra loro. Ognuna di queste reti
viene denominata SISTEMA AUTONOMO e può utilizzare un proprio Interior Gateway Protocol (come RIP,
IGRP, OSPF) differente dagli altri. Nel momento in cui due Sistemi Autonomi vengono collegati insieme occorre
utilizzare un Exterior Gateway Protocol mirato a trasferire le informazioni di routing da un Sistema Autonomo
all‟altro.Un esempio di Exterior Gateway Protocol è il protocollo BGP (Border Gateway Protocol Porta 179 UDP)
con le versioni v3 ClassFull, v4 ClassLess utilizzato in tutte le dorsali Internet..

pag 68
Sistemi - Classe Quinta robertomana.it
RETI

Aggregazioni nel routing classless


Si consideri la situazione indicata in figura:

R1 R2

Le quattro reti di classe B 170.16.X.0 indicate in figura possono essere viste come appartenenti ad un gruppo di 8 reti
di classe B aventi i seguenti indirizzi:
170.16.00000 000.0 /24 libera
170.16.00000 001.0 /24 LAN 1 170.16.1.0 /24
170.16.00000 010.0 /24 LAN 2 170.16.2.0 /24
170.16.00000 011.0 /24 LAN 3 170.16.3.0 /24
170.16.00000 100.0 /24 LAN 4 170.16.4.0 /24
170.16.00000 101.0 /24 libera
170.16.00000 110.0 /24 libera
170.16.00000 111.0 /24 libera
I protocolli di routing di tipo classless, prima di inviare la loro tabella di routing ai router vicini, eseguono
automaticamente una aggregazione delle entry simili, raggruppando le varie sottoreti simili in una unica sottorete più
grande in grado di comprenderle tutte.
Nel caso in figura il router R2 potrebbe inviare ai successivi router di destra la seguente entry riassuntiva:
170.16.00000 000.0 /21
In cui le 8 reti precedenti sono state aggregate in una unica con subnet meno profonda (supernetting).

Questa aggregazione limita però il riutilizzo delle 4 sottoreti libere che potranno essere utilizzate soltanto a valle del
router R2 perché altrimenti, in caso di pacchetti sul router R2 destinati ad una di queste sottoreti, andrebbero a buon
fine sia la entry relativa al percorso aggregato di sinistra, sia la entry specifica relativa alla reale sottorete di dstra.

 In alcuni router classless, in caso di successo di più entry, il primo parametro di discriminazione è la
profondità della subnet: viene scelta per prima la entry con subnet più profonda.
 In alcuni router (es tutti i router CISCO) l‟aggregazione automatica può essere disabilitata

Aggregazioni nel routing classfull


Nel routing classfull la netmask non viene trasmessa, per cui non ha senso parlare di aggregazioni. Se il router che
riceve le tabelle di routing conosce la subnet di una certa entry (perché una delle sottoreti è direttamente collegata al
router stesso), allora automaticamente associa quella subnet alla entry, altrimenti gli associa la subnet di default della
classe di appartenenza.
Affinché questo meccanismo funzioni è assolutamente indispensabile che TUTTE le sottoreti di una stessa rete siano
dislocate in modo contiguo.

pag 69
Sistemi - Classe Quinta robertomana.it
RETI

LIVELLO 4 : Trasporto
Mentre il Livello 3 è responsabile del trasferimento dei pacchetti mediante un servizio Best Effort,
il Livello 4 si pone tre obiettivi principali:
 Stabilire e mantenere una Connessione fra i due End Point
 Eseguire la Segmentazione dei dati nel numero di segmenti necessari, in modo da non monopolizzare il
canale di trasmissione e ritrasmettere soltanto i segmenti eventualmente corrotti.
 Garantire una Trasmissione Affidabile fra due End Point verificando che ogni segmento sia effettivamente
arrivato a destinazione senza errori
Lo stack di protocolli TCTP/IP prevede a livello 4 due soli protocolli:
TCP = Transport Control Protocol => Affidabilità
UDP = User Datagram Protocol => Semplicità e Velocità

Introduzione al concetto di porta


Siccome i protocolli di livello 5 – 6 – 7 sono tanti e tutti, per trasmettere dati, devono appoggiarsi sul canale TCP/IP
(unico, che funge da imbuto), è stato introdotto il concetto di porta che è un numero intero su 2 byte che identifica
univocamente una istanza di una Applicazione di Rete in esecuzione su un certo host. Ogni applicazione di rete
in esecuzione su un certo host ha associato un numero identificativo di porta. Essendo disponibili 65000 numeri di
porta, ogni host può avere fino a 65000 applicazioni di rete in esecuzione (65000 canali di comunicazione).
Ogni applicazione può avere più istanze in esecuzione parallela, dette “Sessioni”. Ad esempio ogni finestra di un
browser rappresenta una Sessione. Ad ogni sessione è associato un numero di porta differente.
La seguente tabella mostra una situazione in cui, su un certo host, si hanno tre sessioni aperte del protocollo HTTP
(ognuna con un suo numero di porta), una sessione FTP, una sessione SMTP ed una sessione Telnet tutte appoggiate
sul protocollo TCP. Sono inoltre presenti una sessione TFTP, una sessione DNS ed una sessione RPC (ciascuna col
proprio numero di porta) appoggiate su UDP

HTTP1 HTTP2 HTTP3 FTP SMTP Telnet TFTP DNS RPC


Port 34567 Port 43569 Port 10445 Port 23998 Port 10340 Port 10754 Port 44877 Port 29044 Port 20333
TCP UDP
IP
Network Interface

Introduzione alla comunicazione Client - Server


Una comunicazione fra due host terminali (end system) è sempre di tipo Client – Server, dove come Server si
intende una applicazione caratterizzata da un ciclo infinito di ascolto, cioè perennemente in esecuzione in attesa
di richieste di connessione da parte di un client (TCP), oppure in attesa di ricevere dati da parte di un client (UDP).

Porte di ascolto utilizzate dai Server


Un Server deve sempre essere identificato da una ben precisa porta di ascolto. Quando un client contatta un server
ad un certo indirizzo IP, deve specificare la porta di ascolto del servizio a cui intende collegarsi. Dunque affinché i
client possano contattare i Server, le porte di ascolto dei server devono essere conosciute dai client.
IANA (Internet Assigned Number Authority) ha definito una serie di porte standard, dalla porta 1 alla 1023, dette
well-known port (o porte statiche) utilizzate dai principali servizi comuni (es 80 per HTTP). In questo modo quando
un client invia una richiesta ad un server standard (ad esempio una richiesta HTTP verso un web server), se il server è
in ascolto sulla porta standard, l‟utente client può evitare di indicare ogni volta esplicitamente il numero di porta, che
viene impostato automaticamente sulla base del nome del protocollo richiesto.
pag 70
Sistemi - Classe Quinta robertomana.it
RETI

E‟ riportato di seguito un elenco delle Principali Well Known Port (RFC 1700)
0 Reserved
20 FTP (Trasferimento Dati)
21 FTP (Controllo)
22 SSH (Secure Shell = Versione cifrata di Telnet)
23 Telnet
25 SMTP
53 DNS (Domain Name Server)
67 BOOTP_S (Server) e DHCP_S
68 BOOTP_C (Client) e DHCP_C
69 TFTP (Trivial File Transfer su UDP)
70 Gopher (vecchia versione di WWW)
80 HTTP
110 POP3 (versione 3) 109 POP2 (versione 2)
Non tutte le well known port sono assegnate, ma anche quelle libere non devono essere utilizzate all‟interno di
applicazioni utente in quanto probabilmente verranno assegnate in futuro a seguito di una procedura formale.
Nonostante le porte TCP e UDP siano indipendenti fra loro, si è scelto di non avere Well Known Port sovrapposte, in
modo da semplificare la gestione di servizi che possono essere chiamati sia via UDP sia via TCP.
In pratica il numero di porta è assoluto, cioè indipendente da TCP o UDP.

Porte effimere
Viceversa quando un client si connette ad un server, deve sì conoscere la porta di ascolto del server, ma non è affatto
necessario che il server (né nessun altro) conosca la porta utilizzata dal client. Il client, in corrispondenza della
richiesta di connessione, richiede la prima porta libera al Sistema Operativo e, insieme alla richiesta, invia al server il
proprio numero di porta in modo che il server possa rispondergli.
Le porte dalla 1024 in avanti sono dette porte effimere (ephemeral ports dette anche porte dinamiche in
contrapposizione alle porte statiche precedenti), cioè porte che vengono assegnate automaticamente dal Sistema
Operativo al momento della creazione della connessione e che valgono soltanto per la durata della connessione
(da cui il nome di porte effimere). L'unico requisito che deve essere soddisfatto è che l‟assegnazione sia univoca.

Note sulle well known port


 Sia in Windows che in Unix i processi che utilizzano le well known port possono essere avviati soltanto con i
privilegi di amministratore, in modo che soltanto l'amministratore possa assegnare queste porte.
 Nel momento in cui si sviluppa un server, (indipendentemente dal fatto che utilizzi o meno le well known
port), occorre specificare il numero di porta da assegnare al servizio, numero da “passare” al socket nel
momento in cui si attiva il server in ascolto.

Note sulle porte effimere


 Le porte effimere sono ancora suddivise dalla IANA in due gruppi:
1024 – 49151 Registered Port Porte non controllate dalla IANA, che però registra ed elenca chi le usa come
servizio agli utenti.
49152 – 65535 Dynamic / Private Port La IANA non dice nulla riguardo a queste porte che pertanto sono i
candidati naturali ad essere usate dall'utente per i propri Personal Server ed anche ad essere utilizzate come
porte effimere per i client, come espressamente indicato nell'RFC 1700.
 In realtà i vari sistemi hanno fatto scelte diverse per le porte effimere. Sia Windows che Linux utilizzano per la
generazione delle porte effimere gli indirizzi da 1024 a 5000: In Linux è previsto un secondo range per le porte
effimere ( indirizzi maggiori di 32768). La scelta fra i due intervalli viene fatta dinamicamente a seconda della
memoria a disposizione del kernel per gestire le relative tabelle.

pag 71
Sistemi - Classe Quinta robertomana.it
RETI

Server Iterativi e Server Concorrenti

Server UDP
UDP è un protocollo di tipo Connection Less, cioè senza connessione, in cui qualunque client, in ogni momento, può
richiedere dati al server (secondo un formato stabilito dai protocolli di liv superiore), indicando indirizzo IP e porta di
ascolto del server a cui intende collegarsi, e anche le proprie coordinate in modo che il server possa poi rispondere. Il
server risponde inviando i dati richiesti e ritornando in una stato di attesa di nuove richieste dati. I Server di questo
tipo si dicono Server Iterativi, in cui esiste un unico Thread di ascolto che gestisce una singola richiesta alla volta.

Server TCP
TCP è invece un protocollo Connection Oriented, cioè in cui client e server, prima di iniziare la comunicazione vera
e propria, devono stabilire una connessione fra loro. Dunque un server TCP non si trova in attesa di richieste dati, ma
esiste un cosiddetto main thread perennemente in attesa di richieste di connessione. In corrispondenza di una
richiesta di connessione da parte di un client, il main Thread Server si clona, in modo che il clone possa asservire alla
richiesta di connessione, mentre il main thread rimane in ascolto per eventuali ulteriori richieste di connessione.
I Server di questo tipo si dicono Server Concorrenti, in cui i vari thread clonati possono servire più connessioni
contemporaneamente. Una volta stabilita la connessione, client e server possono scambiarsi le informazioni senza
dover ogni volta specificare le proprie coordinate e quelle del destinatario.

Il protocollo UDP
UDP è sostanzialmente una semplice interfaccia applicativa al protocollo IP, rispetto al quale, mediante una piccola
intestazione, aggiunge l‟informazione relativa alle porte di comunicazione, cioè la porta utilizzata dal protocollo
di livello 7 del sorgente e la porta utilizzata dal protocollo di livello 7 del destinatario. Caratteristiche:
 Protocollo molto semplice e veloce, con limitato overhead.
 Protocollo Connectionless: non stabilisce nessuna connessione tra origine e destinazione.
 Fornisce un servizio Best Effort, cioè non garantisce la consegna / non duplicazione dei pacchetti. In pratica
UDP non mantiene lo stato (nessuna notifica di ricevimento, timeout, ritrasmissioni, etc). Tutti i controlli
dovranno eventualmente essere eseguiti dai livelli superiori.
 Non esegue segmentazione. I datagram vengono passati ad IP esattamente come sono. Se sono troppo grandi
sarà IP a provvedere alla loro frammentazione, oppure dovranno essere i livelli superiori ad occuparsene.
 E‟ di tipo byte oriented Trasmette cioè vettori di bytes, detti stream, (esattamente come TCP)

Velocità e semplicità di UDP vengono sfruttate in tutti i casi in cui la velocità è più importante dell'affidabilità,
vale a dire in tutte le trasmissioni Real Time come stream audio / video.

Intestazione UDP
L'header UDP consiste di 4 campi di 2 bytes ciascuno:
UDP Source Port
UDP Destination Port
UDP Length = Dimensione complessiva del Datagram UDP (header + payload).
UDP CheckSum = Somma in complemento a 1di tutte le word relative all'intero segmento UDP (Header + Payload).
Somma in complemento a 1 significa che l'intera somma viene completamente invertita. In questo modo, quando
il ricevitore eseguirà lo stesso checksum sui dati ricevuti, facendo la somma del suo checksum col cheksum
complementare ricevuto, otterrà come risultato, in assenza di errori, tutti uno.
UDP Source Port può essere zero. Indica una comunicazione monodirezionale.
UDP CheckSum può essere zero. Significa che il controllo errori è disattivato.
Nota: Ci si potrebbe chiedere perché di nuovo un campo checksum, già presente nelle intestazioni di livello 2. Questo nuovo
checksum rappresenta una ulteriore garanzia sulla trasmissione nel caso in cui il pacchetto si trovi ad attraversare un link di
livello 2 che non esegua il checksum. La destinazione UDP consulta il checksum e, a seconda delle implementazioni, scarta le
PDU non valide o le passa al livello superiore con un warning.

pag 72
Sistemi - Classe Quinta robertomana.it
RETI

SOCKET
Da un punto di vista della gerarchia ISO OSI, i socket rappresentano un insieme di primitive che i SO mettono a
disposizione del programmatore per poter accedere ai protocolli di rete di livello 4 gestiti dal SO stesso. I socket
consentono al programmatore di “passare” dei messaggi di rete al SO che provvederà ad immetterli sul canale fisico.
Da un punto di vista logico un SOCKET rappresenta un canale di comunicazione che consente ad un End Point
di livello 4 di comunicare con un altro End Point remoto sempre di livello 4.
Un End Point è rappresentato da una applicazione di rete (o istanza di applicazione) in esecuzione su un certo
host. Un End Point è caratterizzata da :
 Un Indirizzo IP
 Un Numero di Porta espressi mediante la caratteristica notazione: IndirizzoIP : PortNumber
 L'origine dei socket risale al 1983, introdotti insieme al primo standard TCP BSD 4.2. La flessibilità e la
genericità dei socket consentono di utilizzarli non solo con il protocollo TCP/IP (con cui sono nati), ma con le
più disparate famiglie di protocolli di livello 3 / 4, come ad es IPX/SPX e/o Appletalk.
Un socket rappresenta pertanto un Entry Point Standard a qualsiasi protocollo di Livello 4

CONNESSIONE (Socket Pair)


Si definisce Connessione (o socket pair) una coppia di socket connessi tra loro. Una Connessione identifica
univocamente un canale di Comunicazione tra due End Point. Una stessa applicazione (client o server) può avere
più connessioni contemporaneamente aperte verso End Point differenti.
Una connessione è identificata dall‟insieme di quattro parametri:
 IPsource : PORTsource
 IPdest : PORTdest
Per ogni richiesta di connessione, un server TCP deve memorizzarsi l‟intera socket pair, compresa la porta effimera
utilizzata dall‟host remoto in modo da poter rispondere correttamente. Il concetto di connessione, inteso come socket
pair, viene di solito esteso anche a UDP, benché in questo caso sia abbastanza improprio parlare di connessione.

Sintassi per la Creazione e Utilizzo di un Socket (rif .NET)


a) Istanza di un nuovo Socket
Dim mySock As New Socket ( AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp )
b) Istanza di un nuovo EndPoint (locale nel caso del server, remoto a cui connettersi nel caso del client)
Dim myEndPoint As New IPEndPoint (IP As IPAddress, .Porta As Integer)
c) Link del socket all‟End Point di ascolto (solo nel caso del Server)
mySock.Bind (myEndPoint)
Comunicazione UDP
Il client può inviare un messaggio al server mediante il metodo sendTo . L‟ultimo parametro indica le coordinate
del server destinatario del messaggio. Il server potrà leggere il messaggio mediante il metodo receiveFrom:
clientSock.SendTo(buffer, length, flags, remoteEndPoint)
serverSock.ReceiveFrom(buffer, MAX_BUFFER_LENGHT, flags, byRef remoteEndPoint)

Comunicazione TCP
Questa volta il client, prima di inziare ad inviare i dati, deve connettersi al server u mediante il metodo Connect.
Il server, in attesa di richieste di connessione, accetta le richieste di connessione mediate il metodo Accept:
clientSock.Connect(remoteEndPoint)
Dim conn As Socket = serverSock.Accept()
clientSock.Send(buffer, length, flags,)
conn.Receive(buffer, MAX_BUFFER_LENGHT, flags)
pag 73
Sistemi - Classe Quinta robertomana.it
RETI

Protocollo TCP
1. Segmentazione dei dati Segmenta i messaggi provenienti dal livello Applicativo in segmenti di dimensioni
opportune, aggiungendo ad ognuno l'intestazione TCP contenente il numero di sequenza di ciascun
segmento. In questo modo il destinatario potrà riordinare i dati e scartare i duplicati.
2. Gestione della Connessione TCP prima di iniziare la comunicazione stabilisce una connessione End To End
con l‟host remoto e i segmenti vengono poi spediti sulla connessione. Si parla di circuito virtuale tra i due EP
3. Trasmissione affidabile. TCP controlla la corretta ricezione dei dati senza perdite o duplicazioni e provvede
al riordinamento. Algoritmi di controllo molto pesanti.
 Byte Oriented: Gestisce il flusso come sequenza continua di byte, e non come sequenza di pacchetti.
 Gestisce una comunicazione full duplex fra due End System. Non riguarda i router che operano a livello IP.

Come viene garantita l‟affidabilità della trasmissione


 Per ogni segmento trasmesso viene sempre richiesto un ackowledgment (ricevuta di ritorno), normalmente
trasmesso insieme alla risposta stessa (meccanismo del Piggybacking ). Se il server non è sufficientemente
veloce a costruire la risposta; viene prima trasmesso l‟ACK e soltanto in seguito viene inviata la risposta.
 Appositi algoritmi di Controllo del Flusso, sulla base degli ackowledgment ricevuti, consentono di
ritrasmettere eventuali pacchetti andati persi, cioè quei pacchetti per i quali non si è ricevuto un
ackowledgment entro un certo timeout, timeout che dipende anche dalle condizioni della rete. Un segmento
perso viene ritrasmesso per un determinato numero di tentativi, intervallati da un periodo di tempo crescente.
 TCP monitorizza continuamente lo stato del canale (calcolando per ogni segmento il Round Trip Time RTT
che intercorre tra la trasmissione del segmento ed il ricevimento dell'ACK), eseguendo un Controllo della
Congestione. Più aumenta RTT (rete sovraccarica), più TCP diminuisce le dimensioni della finestra di
trasmissione (numero di pacchetti da trasmettere consecutivamente), rallentando la trasmissione. In questo
modo TCP esegua un adattamento alle condizioni della rete, evitando di sovraccaricare Router già intasati
con ulteriori quantità di dati che potrebbero portare al collasso del sistema.

Intestazione di un segmento TCP


Come l'intestazione IP, è costituita da un minimo di 5 Double Word e presenta i seguenti campi:
Destination Port [2 Bytes] Numero di porta utilizzato dall'applicazione in esecuzione sul nodo destinatario
Source Port [2 Bytes] Numero di porta utilizzato dall'applicazione in esecuzione sul nodo sorgente

SYN Sequence Number [4 Bytes] Posizione (in bytes) del segmento all'interno del flusso. TCP è orientato al Byte,
per cui i segmenti non sono numerati sequenzialmente, ma, nell'intestazione di ogni segmento si riporta l‟offset del
primo byte del segmento. In corrispondenza della connessione viene generato dal trasmettitore un Sequence Number
iniziale casuale (in modo da garantire la migliore sincronizzazione fra Tx e Rx) inviato con il flag SYN settato a uno.
ACK Ackowledgment Number [4 Bytes] Questo campo viene impostato dal Rx quando risponde al msg ricevuto da
Tx. Indica lo spiazzamento (in bytes) del prossimo segmento che Rx si aspetta di ricevere (che in pratica diventerà il
Sequence Number del prossimo segmento). Rx utilizza questo campo come risposta ai segmenti ricevuti da TX,
mentre Tx lo utilizza come risposta ai segmenti ricevuti da Rx.
HLEN [4 bit] Lunghezza espressa in double word (32 bit) dell'intestazione TCP. Questo campo viene talvolta
indicato come Data Offset, in quanto indica anche il punto di inizio del payload all'interno del pacchetto.
Control [6 bit] Sono sei bit di controllo che possono avere i valori TRUE / FALSE
SYN Synchronize Sequence Number. Utilizzato in fase di creazione della connessione.
FIN Ultimo segmento. Utilizzato in fase di chiusura della connessione
ACK Se TRUE indica la validità dell' Ackowledgment Number. Utilizzato in fase di scambio dati
RST Se TRUE indica una richiesta di reset della connessione
URG Se TRUE indica che nel segmento ci sono uno o più bytes urgenti (Urgent Mode) (CTRL C)
Il campo Urgent Pointer diventa significativo
PSH Se TRUE indica che il segmento attuale necessita di una azione di push (???)
Reserved [6 bit] Riservato per usi futuri. Attualmente bit tutti a zero.

pag 74
Sistemi - Classe Quinta robertomana.it
RETI

Window Size [2 Bytes] Legato al meccanismo delle Sliding Windows. Rx utilizza questo campo per avvisare Tx su
quanti bytes è in grado di accettare consecutivamente all‟interno del proprio buffer di ricezione. Tx, spediti
questi bytes, si fermerà in attesa di un ack. Questo valore cambia dinamicamente diminuendo con la ricezione
dei dati ed aumentando con la lettura dei dati da parte dell'applicazione. Se diventa 0 significa che il buffer di
Rx è pieno e non verranno accettati altri dati. Tx utilizza questo campo per indicare a Rx quanti dati spedirà
ancora prima di fermarsi in attesa di un ACK.
Urgent Pointer [2 Bytes] Punta al primo Byte del payload che segue i bytes della sezione Urgent (che dunque sarà
posizionata il testa al payload). I bytes Urgent, generati ad esempio in corrispondenza del CTRL+C, vengono
consegnati ad Rx anche se questo ha il buffer di ricezione già pieno, scavalcando in pratica gli altri dati.
CheckSum [2 Bytes] Somma in complemento a 1di tutte le word relative all'intero segmento TCP
(Header + Payload) esattamente come per UDP.

TCP Options
Oltre a queste 5 Double Words obbligatorie, l‟intestazione TCP può anche contenere le cosiddette TCP Options, di
dimensioni variabili, ed utilizzate soltanto in fase di connessione. Un ultimo campo PADDING contiene bit
inutilizzati in modo da allineare le IP-Options a multipli di Double Word.
Le TCP Options sono espresse come stringa di lunghezza variabile, nel formato:
Codice Opzione [1 Byte]
Lunghezza della stringa [1 Byte]
Dati relativi all'opzione (di lunghezza pari a quella dichiarata nel campo precedente).
Normalmente vengono utilizzate le seguenti opzioni:
MSS Maximum Segment Size Con questa opzione, in fase di connessione, ciascun host annuncia all'altro le
dimensioni massime del segmento (TCP payload) che vorrebbe accettare in ricezione. Il default utilizzato da
Windows è 1024 Bytes. Il default utilizzato da Linux è definito in una costante facilmente modificabile con
default pari a 512 Bytes. Il valore massimo possibile (spesso impostato in Linux) è 1460 Bytes.
Windows Scale = Espansione del Window Size. Alcuni tipi di connessione, come quelle ad alta velocità (sopra i 45
Mbit / sec) e quelle che hanno tempi di trasporto piuttosto lunghi (come i satelliti), richiedono una finestra più
grande per poter ottimizzare la trasmissione. L'opzione imposta un fattore di scala da applicare al Window Size
espresso come numeri di bit secondo cui spostare a sinistra il valore della Window Size attaule. Un valore 3
significa moltiplicare per 23 = 8 il valore del max Window Size (65000 x 8).
Timestamp = Opzione necessaria per le connessioni ad alta velocità per evitare possibili corruzioni dei dati dovute a
pacchetti perduti che poi riappaiono. Insieme alla precedente rappresenta le cosiddette “Long Fast Pipe Options”.
SACK = Selective Ackowledgment, utilizzato nelle versioni più recenti di TCP per il controllo della congestione.

1. Tecniche di Segmentazione di uno stream

 Il protocollo IP a livello 3 è in grado di gestire pacchetti grandi fino a 65535 bytes (16 bit). Idem per IPv6
 Il limite fisico sulla dimensione dei “pacchetti” è normalmente stabilito dal livello 2. Ad esempio nel caso di
Ethernet il payload di livello 2 deve avere una dimensione massima pari a 1500 bytes. Questa dimensione
massima è detta MTU (Maximum Transfer Unit) e dipende esclusivamente dal livello 2.
 Il livello 4 dunque dovrà eseguire una segmentazione di dimensioni adeguate. Nel caso di Ethernet i segmenti
TCP hanno una dimensione massima pari a 1460 bytes, (+ 20 bytes TCP header + 20 bytes IP header = 1500)
 Il livello 4 però, nel momento in cui deve iniziare la trasmissione di uno stream, non ha la visibilità di tutti i
link da attraversare e, in tal senso, può assumere due diverse strategie:
1) MTU del Link direttamente collegato. I segmenti vengono creati di dimensione pari a quella dell'MTU del Link
direttamente collegato (di solito Ethernet), lasciando ai router il compito di eventuali frammentazioni dei pacchetti nel caso in
cui risulti necessario l‟attraversamento di link con valori inferiori di MTU. L'MTU più critica fra due host è detta PATH
MTU o MSS Maximum Segment Size ed quella che determina l‟effettiva dimensione massima del segmento
In realtà Windows uitilizza una dimensione di segmento fissa pari a 1024 bytes

pag 75
Sistemi - Classe Quinta robertomana.it
RETI

2) MTU Discovery Le specifiche di TCP prevedono anche un meccanismo di determinazione automatica della
massima dimensione del segmento trasmissibile su una certa tratta. Il sorgente crea inizialmente un segmento di
dimensione pari alla dimensione dell‟MTU del proprio link (esattamente come nel caso precedente), impostando
però il bit Don't Fragment al valore 1, in modo da inibire una eventuale frammentazione da parte dei router.
Se un router intermedio ad un certo punto deve inoltrare il datagram su un link con MTU inferiore, non potendo
procedere alla frammentazione a causa del flag DF, scarterà il pacchetto ritornando al sorgente un messaggio
ICMP con il seguente codice :
“destination unreachable, fragmentation needed but DF bit set”
dichiarando però l'MTU del link critico. A questo punto l‟end point sorgente, ricevuto il messaggio ICMP con il
valore di MTU, registra in una tabella interna l'MTU critico relativo a quella destinazione e prova a rimandare un
nuovo messaggio di dimensioni adatte al nuovo MTU. Ovviamente il processo potrebbe ripetersi più volte, fino
all'identificazione dell'MTU critico (o MSS) per un certo destinatario. In tal modo ogni end system si mantiene
dinamicamente una tabella con le associazioni
Destinazione IP / MTU Critico
sulla base della quale potrà, per destinazioni note, eseguire da subito una corretta segmentazione. Il limite di
questo approccio sta nel fatto che talvolta i router o firewall non gestiscono o bloccano i messaggi ICMP.

2. Apertura e Chiusura di una Connessione TCP

Apertura della Connessione


L‟apertura di una connessione TCP è realizzata mediante un Handshake a tre vie strutturato nel modo seguente
(con il flag SYN è sempre settato a 1) :
1) Colui che richiede la connessione (il Client) invia al Server una SYN Request contenente alcune informazioni
sulla propria configurazione. In particolare la SYN Request contiene le seguenti informazioni principali:
- il flag SYN = 1 (indica che si tratta di un pacchetto relativo all‟Handshake di apertura)
- numero di porta ed indirizzo IP del Client
- Sequence Number iniziale casuale del Client (ad esempio pari ad un valore x )
- Window Size del Client. Dimensione della finestra di Ricezione espresse in bytes che il Client utilizzerà per
memorizzare i segmenti ricevuti dal Server. Il Server utilizzerà questa informazione per dimensionare la
propria Sliding Window di trasmissione.
- Valore di MSS (Maximum Segment Size) del Client, che inciderà sulla dimensione dei pacchetti spediti
- la presenza nel campo dati di un singolo byte iniziale detto SYN Byte

Host A Host B
LISTEN
SYN1
SIN_SENT
ACK1 + SIN2
SIN_RECEIVED
ACK2
ESTABLISHED
ESTABLISHED

2) Il Server ricevuto il segmento SYN risponde con un segmento SYN ACK contenente sia la conferma (ACK) alla
richiesta del Client, sia (meccanismo del piggybacking) i dati relativi alla propria configurazione, cioè:

pag 76
Sistemi - Classe Quinta robertomana.it
RETI

- flag SYN = 1 (indica che si tratta di un pacchetto relativo all‟Handshake di apertura)


- numero di porta ed indirizzo IP del Server (che però il Client deve necessariamente conoscere a priori)
- Sequence Number iniziale casuale del Server (ad esempio pari ad un valore y )
- un ackowledgment del Sequence Number del Client, cioè un Ackowledgment Number = x +1 che indica
l‟offset del prossimo byte che il server si aspetta di ricevere.
- Windows Size del Server indicante le dimensioni del buffer che il Server utilizzerà per memorizzare i dati
ricevuti dal Client. Il Client utilizzerà questa informazione per dimensionare la Sliding Window di trasmission
- Valore di MSS del Server
- la presenza nel campo dati di un singolo byte iniziale detto SYN Byte
3) Il Client risponde con un ulteriore segmento SYN ACK (sempre con il flag SYN = 1) contenente un
ackowledgment del Sequence Number del Server, cioè un Ackowledgment Number = y +1
Una volta instaurata la connessione, la comunicazione fra Tx e Rx può procedere in modalità full duplex.
Se invece si cerca di stabilire una connessione su una porta dove non c‟è nessun server in ascolto, TCP lato Rx
risponde attivando il bit di RESET della comunicazione all‟interno dell‟intestazione TCP.

Chiusura della Connessione


La connessione viene chiusa con un processo di handshake a 4 fasi. Ciascun host quando ha terminato i dati da
trasmettere informa il partner il quale risponde con un ACK. Le quattro fasi sono :
1) Uno dei due host (normalmente il Client, ma talvolta il Server), terminata la trasmissione dei propri dati, richiede
la chiusura della connessione (metodo Close) inviando un segmento FIN con Sequence Number pari alla
lunghezza dei dati trasmessi, espresso come spiazzamento rispetto al Sequence Number iniziale.
2) Host B risponde con un ACK sempre con il flag FIN settato a 1 ed impostando Ackowledgment Number = x +1
(come per il SYN anche FIN occupa un byte nel numero di sequenza). Inoltre segnala ai suoi livelli superiori un
end-of-file sulla lettura. Il fatto che Host A abbia finito la propria trasmissione, non esclude che Host B possa avere
ancora dei dati da trasmettere. Per cui Host B termina la spedizione dei propri dati ed al termine chiamerà
anch‟esso il metodo Close per chiudere la propria connessione.
3) Host B invia un segmento FIN con Sequence Number pari alla lunghezza dei dati inviati al client, espresso come
spiazzamento rispetto al Sequence Number iniziale.
4) Host A risponde con un ACK sempre con il flag FIN settato a 1 ed impostando Ackowledgment Number = y +1.
A questo punto la connessione è definitivamente chiusa.
Host A Host B

FIN1
ACK1

FIN_WAIT
CLOSE_WAIT

TIME_WAIT FIN2

ACK2
CLOSED CLOSED

pag 77
Sistemi - Classe Quinta robertomana.it
RETI

Esempio completo di una sessione TCP


Il client, per poter inviare una richiesta al server, deve prima inviare una richiesta di connessione costituita da 3 msg
complessivi. Quindi invia la richiesta vera e propria (ad esempio una richiesta HTTP per il download di una pagina
web). Il server, ricevuta la richiesta, restituisce un segmento contenente i dati richiesti (che si suppone stiano in un
singolo segmento). Se il server è sufficientemente veloce a costruire la risposta, l'acknowledge della richiesta è
mandato insieme alla risposta stessa (piggybacking ). Al ricevimento di questo segmento, il client dovrà rispondere a
sua volta con un ACK di “Segmento dati ricevuto correttamente”. Complessivamente 3 messaggi di scambio dati.
Aggiungendo i 4 messaggi relativi alla chiusura della connessione, si conclude che, per effettuare una richiesta e
ricevere la relativa risposta sono necessari dieci segmenti complessivi che potrebbero essere addirittura 11 senza il
piggybacking sui dati. In UDP sarebbero stati sufficienti due soli segmenti. Questo è il costo che occorre pagare per
avere l'affidabilità garantita da TCP. E‟ bene dunque sempre tenere presente quali sono le esigenze che si hanno in
una applicazione di rete, perché non è detto che TCP sia sempre la scelta migliore.

Note sugli stati del protocollo TCP


 In assenza di connessione lo stato del TCP è CLOSED. Quando un Client intende aprire una connessionel TCP
emette un segmento SYN e lo stato diventa SYN_SENT. Quando riceve la risposta del SYN+ACK emette un
ACK e passa allo stato ESTABLISHED in cui può avvenire il trasferimento dei dati. Il Server invece, una volta
avviato, passa dallo stato CLOSED allo stato LISTEN. In corrispondenza della richiesta del client passa nello
stato di SYN_RECEIVED e infine nello stato ESTABLISHED.
Dallo stato ESTABLISHED si può uscire con una chiusura attiva (richiesta di chiusura) oppure con una
chiusura passiva (richiesta di chiusura ricevuta del terminale remoto). Nel primo caso se l‟applicazione chiama
la funzione close prima di aver ricevuto un end-of-file dei dati, la transizione è verso lo stato FIN_WAIT.
Quando arriva il FIN ACK da parte dell'host remoto, l'applicazione passa in uno stato di TIME_WAIT, che
diventerà CLOSED nel momento in cui anche l'host remoto annuncerà la propria chiusura. Se invece
l'applicazione riceve un FIN nello stato ESTABLISHED (chiusura passiva) si passa nello stato CLOSE_WAIT.
 Gli eventuali dati finali che Host B continua ad inviare dopo che Host A ha ormai chiuso la propria connessione,
potrebbero andar persi, a meno che l'host A, invece di chiudere totalmente la connessione, esegua una chiamata
detta half-close chiudendo solo la trasmissione e mantenendo aperta la ricezione.
 In realtà, per avere una corretta terminazione, TCP rimane nello stato di TIME WAIT per un certo tempo successivo
all'invio dell'ultimo ACK dati. Ad esempio quando si usa un browser è molto frequente vedere con NETSTAT diverse
connessioni in stato di TIME WAIT relativamente ai server appena contattati. Questo perché i web server, dopo aver
inviato la pagina richiesta, tengono la connessione aperta per un certo timeout per consentire al client di richiedere
altri contenuti della pagina e/o altre pagine. Questo evita al server, entro il timeout, di dover creare ogni volta nuovi
processi verso lo stesso client.
 Se un processo termina senza aver chiuso le proprie connessioni, in fase di normale chiusura del processo viene
automaticamente avviato l'handshake di chiusura di tutte le connessioni aperte.

3. Algoritmi di Controllo del Flusso dei Dati


Spesso indicati come protocolli ARQ (Automatic Repeat reQuest).
Talvolta indicati con la sigla E2E FC (End To End Flow Control).
I protocolli di controllo del flusso possono essere applicati sia a livello 2 (Data Link) sia a livello 4 (Rete). Lo standard
Ethernet a livello 2 prevede però soltanto un servizio Best Effort, per cui i protocolli di controllo del flusso sono
interamente demandati al livello 4 dove diventano parte integrante di TCP. Il livello 2 esegue solo un controllo CRC
sul frame ricevuto, limitandosi a scartare i frames non corretti e demandando a livelo 4 le richieste di ritrasmissione.
I protocolli ARQ devono:
 Controllare che i segmenti siano arrivati correttamente e, in caso di errori, procedere alla loro
ritrasmissione (notare che la ritrasmissione non è l'unica tecnica possibile di Error Recovery. Esistono altre
tecniche, come ad esempio i codici di Hamming utilizzati nelle workstation che consentono in ricezione una
correzione automatica dell'errore, codici comunque sofisticati e non utilizzati da TCP).

pag 78
Sistemi - Classe Quinta robertomana.it
RETI

 Cercare di velocizzare al massimo la trasmissione, sincronizzando trasmettitore e ricevitore. Ciò significa


trasmettere al massimo della velocità senza tempi morti tra un segmento e l‟altro, ma al contempo evitare, se
il ricevitore è più lento del trasmettitore, che il Tx trasmetta troppi dati saturando Rx.

Protocolli IDLE RQ : Send And Wait


Il più semplice protocollo ARQ è il protocollo Send And Wait, detto anche Stop And Wait, secondo il quale Tx
trasmette un segmento e poi rimane IDLE (fermo) in attesa dell' ackowledgment (ACK) di Rx. Se entro un certo
timeout non riceve risposta o riceve un ackowledgment negativo (NACK), allora ritrasmette.
Vantaggi: : Molto semplice da implementare
Svantaggi : Poco efficiente perché ad ogni pacchetto si ferma in attesa di ackowledgment.

Protocolli CONTINUOUS RQ: Sliding Window


Protocolli a finestra scorrevole, di cui esistono diverse varianti. I protocolli a finestra scorrevole permettono la
trasmissione consecutiva di N pacchetti prima di arrestarsi in attesa di un ACK. N rappresenta la dimensione della
finestra, dimensione che può essere espressa in N° di segmenti oppure (secondo TCP) in bytes.
Vantaggi: Questo meccanismo aumenta l'efficienza del sistema (Throughput ) limitando i tempi di attesa.
Svantaggi :E‟ più complesso da implementare
Il precedente protocollo Send And Wait può essere visto come un caso particolare di Sliding Window con N = 1.

Principio delle Sliding Window


Si consideri una finestra di dimensione N = 10.
 Inizialmente TX può trasmettere consecutivamente tutti i segmenti interni alla window, numerati ad esempio
da 1 a 10, senza fermarsi ad aspettare un ACK. In corrispondenza dell'invio di ciascun segmento attiva un
timer per il conteggio del timeout entro cui si prevede di ricevere il corrispondente ACK.

 Il ricevitore invia un ACK per ogni segmento ricevuto, indicando ogni volta il numero di sequenza
dell'ultimo segmento ricevuto correttamente.
 In corrispondenza di ogni ACK ricevuto, il trasmettitore fa scorrere la finestra di una posizione in avanti,
ovvero considera trasmissibile il segmento successivo. Ad es, con riferimento alla figura, in cui sono già
arrivati gli ACK 1 – 4, in corrispondenza dell'ACK 5 diventerà trasmissibile il segmento 15.

Protocollo Selective Repeat


Il modello Selective Repeat, utilizzato da TCP, è strutturato nel modo seguente:
 Per ogni segmento ricevuto correttamente, Rx invia a Tx un ACK contenente il numero dell‟ultimo segmento
ricevuto correttamente (ackowledge cumulativo).
 Il ricevitore gestisce una Finestra di ricezione in cui provvede a bufferizzare eventuali segmenti giunti fuori
sequenza, cioè prima di un segmento eventualmente andato perso o scartato perché contenente errori.
Le dimensioni di questa finestra devono essere >= rispetto alla Finestra di trasmissione utilizzata da Tx. Anzi
Tx dovrà utilizzare un finestra di trasmissione di dimensioni non maggiori rispetto alla finestra di ricezione di Rx.
 Non appena il segmento perso o errato arriva nuovamente (senza errori), viene sistemato nel buffer di ricezione
in posizione opportuna e quindi consegnato ai livelli superiori insieme agli altri segmenti
 In caso di mancato ACK relativo ad un certo segmento, Tx in corrispondenza dello scadere del timeout,
ritrasmette selettivamente il singolo segmento andato perso e quindi si ferma in attesa dell‟ACK

pag 79
Sistemi - Classe Quinta robertomana.it
RETI

Con riferimento alla figura precedente si supponga che il segmento 5 non sia arrivato ad Rx (o sia arrivato corrotto).
Tx non riceverà mai ACK5, ma nel frattempo avrà già inviato tutti i segmenti successivi fino a SEG14.
Rx, in corrispondenza della ricezione dei vari segmenti successivi a SEG5, provvederà a memorizzarli all'interno del
proprio buffer di ricezione ed ogni volta risponderà con ACK4 (l'ultimo segmento ricevuto correttamente).
Allo scadere del timeout di SEG5, Tx provvederà a ritrasmettere SEG5, fermandosi in attesa di ACK5.
Ricevuto SEG5, Rx restituisce direttamente ACK14 (numero dell'ultimo segmento ricevuto correttamente ed in
sequenza), in corrispondenza del quale Tx avanza la Sliding Window e ricomincia a trasmettere da SEG15.
Supponendo invece che il segmento 5 sia arrivato correttamente, ma che sia invece andato perso ACK5, questa
situazione non crea nessun problema in quanto Rx invierà successivamente ACK6, ACK7, etc in corrispondenza dei
quali Tx capisce che anche SEG5 è stato ricevuto correttamente e fa scorrere opportunamente le finestre.

Protocollo Go Back N
Questa implementazione prevede che il Ricevitore non gestisca una Finestra di ricezione, ma scarti ogni segmento
ricevuto fuori sequenza o errato. Con riferimento al caso precedente, se SEG5 va perso, Rx scarterà pure i segmenti
successivi. Allo scadere del timeout di SEG5, Tx provvede a ritrasmettere l'intera finestra a partire dal limite inferiore
della finestra stessa (in pratica Va Indietro di N). Rispetto al precedente algoritmo di Selective Repeat, il Go Back N:
 E‟ più semplice da implementare
 E‟ meno efficiente.

Utilizzo delle Sliding Window da parte di TCP


TCP utilizza l'algoritmo di Selective Repeat con l'unica differenza che i numeri di sequenza non sono enumerativi dei
segmenti, ma sono espressi come piazzamento (in Bytes) rispetto al primo byte del segmento, che a sua volta è
rappresentato da un numero casuale identificativo di ogni singola sessione.
Le dimensioni delle window di trasmissione e ricezione sono concordate in fase di apertura della connessione, ma
possono variare durante la sessione. Infatti ogni messaggio ACK include la dimensione della window che il ricevitore
può tollerare in quel momento
Ovviamente maggiore è la window, migliori risultano le prestazioni (Throughput), anche nel caso di lunghe distanze
tra Tx e Rx. Esiste una dimensione ottimale che porta alla completa occupazione del canale, cioè tale per cui
appena terminata la trasmissione dell'ultimo segmento della finestra arriva l'ACK del primo che fa avanzare la
finestra. Un ulteriore aumento della finestra non comporterebbe nessun vantaggio con un inutile spreco di memoria.

Gestione del Retransmission Timer (timeout)


Per quanto concerne la valutazione dei tempi di timeout da utilizzare per l‟invio di ogni singolo segmento, TCP
utilizza una strategia che monitorizza continuamente il Round Trip Time (RTT) di rete, cioè l'intervallo di tempo
che intercorre tra la trasmissione di un segmento e la ricezione del suo ACK. Sulla base di queste valutazioni TCP
esegue una somma pesata degli ultimi Round Trip Time per adattare dinamicamente il timeout dei segmenti
successivi. (I ritardi in una rete IP sono infatti variabili in base al carico e all'eventuale congestione della linea).

Evoluzioni del protocollo TCP: Algoritmi di controllo della congestione

Nelle prime versioni TCP adottava come algoritmo di controllo del flusso GoBackN, cioè nel momento in cui un
Retransmission Timer andava in Timeout, anziché ritrasmettere il solo segmento e poi rimanere in attesa dell‟ACK,
veniva ritrasmessa l'intera finestra corrente (standard 4.2 BSD).
La motivazione che stava dietro a questa scelta era che, se un segmento era andato perso, era abbastanza probabile
che anche qualcuno dei segmenti successivi poteva essere andato perso, per cui la ritrasmissione di tutti i segmenti in
un tempo morto, avrebbe evitato ulteriori eventuali arresti successivi. Se invece tutti i segmenti successivi erano già
stati ricevuti correttamente, la loro ritrasmissione non creava comunque problemi in quanto venivano semplicemente
scartati da Rx che li riconosceva come duplicati.

pag 80
Sistemi - Classe Quinta robertomana.it
RETI

In realtà però, se la perdita di un segmento è dovuta alla presenza di un router intermedio poco prestante che
non riesce a sostenere il carico e sta iniziando a scartare pacchetti, se l'host continua a ritrasmettere tutti i
pacchetti, le prestazioni crollano e si ha in pratica una congestione dell'intera rete (Congestion Collapse).

Nelle versioni successive (standard 4.3 BSD) TCP non solo ha abbandonato GoBackN a favore di Selective Repeat,
ma sono stati introdotti 3 algoritmi di controllo della congestione che operano congiuntamente, mirati ad evitare
la congestione dei router e quindi della rete. La tabella riporta le varie evoluzioni del protocollo TCP :

Anno Sigla Descrizione


1983 4.2 BSD Prima release ampiamente utilizzata di TCP/IP
1986 4.3 BSD Seconda release molto simile alla precedente con piccoli miglioramenti di prestazioni
1988 4.3 BSD Tahoe Introduzione degli algoritmi Fast Retransmit, Slow Start, Congestion Avoidance,
1990 4.3 BSD Reno 3 algoritmi precedenti + Fast Recovery
1990 4.3 BSD Sack 3 algoritmi precedenti + Selective Ackowledge
1993 4.4 BSD Nuove funzionalità come ad esempio il multicasting

Sintesi sul funzionamento dei 3 algoritmi di Controllo della Congestione


In presenza di un pacchetto perso non è possibile sapere se è stato scartato da un router in congestione oppure se è
stato scartato dal livello 2 perchè arrivato corrotto. Gli algoritmi di controllo della congestione, in estrema sintesi,
operano nel modo seguente:
 Se ritornano indietro 3 ACK consecutivi uguali, significa che un singolo pacchetto è andato perso o è arrivato
corrotto, ma i pacchetti successivi sono arrivati a destinazione causando l‟invio degli ACK. Dunque in questo
caso TCP ritrasmette il pacchetto perso con un leggero rallentamento della trasmissione.
 Se invece non arrivano più ACK, significa che c‟è stata una congestione sui router intermedi, per cui TCP
provvede a ritrasmettere ma rallentando notevolmente i tempi, fino eventualmente a fermarsi.

QoS
TCP e UDP convivono male su uno stesso canale, in quanto TCP adatta il suo rate trasmissivo in base allo stato della
linea, mentre UDP tende ad utilizzare tutta la banda disponibile, per cui può portare alla congestione di TCP. Questo
è però indispensabile per la natura stessa di UDP che deve garantire ritardi minimi. Ad esempio nel caso dei pacchetti
IP Phone per garantire una buona qualità è richiesto da specifica un ritardo massimo complessivo pari a 150 msec.
Potrebbe però capitare che uno streaming UDP (costituito in genere da pacchetti di piccole dimensioni) entri in
competizione con un file transfer di grandi dimensioni, con i pacchetti UDP costretti a pesanti attese sui router
intermedi. Per evitare queste situazioni spesso i router utilizzano una utility denominata QoS (Qualità of Service) che
tende a favorire l‟instradamento dei pacchetti UDP rispetto ai pacchetti TCP, accodandoli su code differenti a
maggiore priorità. QoS opera normalmente sulla base dei QoS bit dell‟intestazione IP (i primi 3 bit del campo ToS
Type os Service). Per avere garanzie ancora maggiori, talvolta Dati e Streaming vengono trasmessi su reti separate.

pag 81
Sistemi - Classe Quinta robertomana.it
RETI

FIREWALL
Muro tagliafuoco come le porte tagliafuoco che negli edifici isolano le aree dalla propagazione degli incendi.
Dispositivo di rete (hardware o software) di liv 4 mirato a isolare una rete dall'altra. Due scopi principali:
 Proteggere una rete da accessi indesiderati e da eventuali attacchi
 Smistare il traffico tramite l‟applicazione del protocollo NAT
Nella maggior parte dei casi il firewall rappresenta una barriera bidirezionale tra LAN e INTERNET, ma può
anche fare da barriera tra sottoreti differenti di una stessa LAN Es rete didattica e amministrativa di una scuola
condividono l‟accesso ad Internet ma sono separate mediante un firewall. Una non può accedere ai dati dell‟altra.

Un firewall può essere costituito da:


 un router con installato un apposito software firewall (normalmente iptables con interfaccia grafica)
 un computer con 2 schede di rete ed un software firewall (es iptables) o meglio ancora un “Sistema
Operativo Firewall” come ad esempio Open BSD (che funge in pratica anche da Router e Proxy)
 un dispositivo dedicato assimilabile ad un router.
Nel caso di un PC, il Firewall è normalmente una macchina dedicata a fungere da Firewall, cioè priva di qualunque
altro servizio. Un “Sistema Operativo Firewall” come ad esempio Open BSD, è un SO mirato alla non attaccabilità
dall‟esterno, con interfaccia grafica scarna ed essenziale. A differenza dei normali SO mirati alla gestione delle
applicazioni e caratterizzati dal rilascio continuo di nuove versioni più prestanti ma che possono anche contenere
buchi sfruttabili dagli hacker, i SO Firewall sono estremamente robusti, snelli, e molto ben collaudati.
Al limite sulla macchina firewall si possono installare software Proxy e/o URL filtering, che consentono filtraggi
specifici su ciò che arriva da Internet. Grazie alla sua posizione perimetrale strategica, il firewall risulta infatti il posto
migliore dove imporre qualunque restrizione di traffico (quali utenti possono accedere a che cosa

Stateless Packet Filtering (Liv 4 senza controllo dello stato)


Si tratta dei primi e più semplici firewall che spacchettavano indistintamente tutti i pacchetti in transito leggendo
indirizzo IP e porta e decidendo quali far passare e quali no. Ormai in disuso. Consente di abilitare / disabilitare
- indirizzi IP mittente o destinatario, porta mittente o destinatario
- tutti i pacchetti TCP / UDP in base alla porta. Cioè consente di far passare solo i pacchetti TCP o solo UDP
- i comandi ICMP Cioè consente di disabilitare il router a rispondere ai comandi ICMP
Es: E‟ possibile disabilitare come IP DEST l‟indirizzo IP di un sito indesiderato. Volendo invece proteggere una
macchina interna dagli accessi esterni è possibile disabilitare come IP DEST l‟indirizzo IP di quella macchina.
In questo modo però, nel momento in cui la macchina richiede una pagina web, la risposta verrà tagliata.

Statefull Packet Inspection (Liv 4 con controllo dello stato)


E‟ il tipo di firewall più frequente. Il Filtro NON viene eseguito sui singoli pacchetti ma sulle richieste di
connessione. Cioè analizza tutte le richieste di connessione accettando SOLO quelle consentite dalle ACL.
Le connessioni accettate vengono memorizzare come entry temporanee all‟interno della ACL, in modo che tutti i
pacchetti dati relativi e quella connessione (sia richieste dati che risposte) verranno lasciati passare come validi.
Nella Entry Temporanea verranno memorizzati tutti 4 i parametri relativi alla connessione:
IPSOUERCE PORTSOURCE IPDEST PORTDEST
L‟analisi dei pacchetti da parte del Firewall Statefull Packet Inspection è in genere estesa anche ai pacchetti UDP,
benché questi non facciano riferimento ad una connessione esistente. Nel caso di UDP il Firewall filtra le richieste
del client e accetta soltanto stream UDP in entrata relativi a richieste memorizzate.
Analizzando le richieste di connessione, lo Statefull Packet Inspection firewall:
 riconosce i pacchetti malevoli (che non fanno parte di alcuna connessione) e li abbatte.
 individua e blocca le richieste di connessioni multiple da parte di uno stesso sorgente (attacchi DoS =Denial
of Service, Negazione del Servizio), che consistono tipicamente nell‟inviare richieste di connessione (SYN) con
pag 82
Sistemi - Classe Quinta robertomana.it
RETI

IP fasullo. Il server risponde con ACK all‟indirizzo ricevuto e rimane pendente Il firewall STATEFULL “conta”
il numero di chiamate nell‟unità di tempo e se queste superano una certa soglia le taglia (DoS Prevetion).

Application Layer Firewall :(Liv 7)


Rispetto ai precedenti forniscono maggiori funzionalità a scapito di una minore velocità.
Sono apparati che intercettano i pacchetti fino al livello 7, cioè analizzano le intestazioni fino a livello 7 interpretando
i comandi specifici dei protocolli di livello 7, ma limitatamente ai protocolli di livello 7 supportati. Ad esempio:
 Firwall DNS consente di abilitare / disabilitare direttamente i DNS Name mittente o destinatario.
 Firewall FTP utilizzato a protezione dei server FTP per consentire l‟apertura temporanea della porte dati.
 Proxy Firewall fungono sia da proxy che da firewall, consentendo soltanto connessioni selettive verso Internet

Personal Firewall
Il "Personal Firewall" è presente in tutti i SO. Il suo scopo è di proteggere la macchina su cui è installato.
filtrando tutti i pacchetti che entrano ed escono dalla macchina. Cioè proteggere il perimetro della macchina.
Non sostituisce l’antivirus che controlla a basso livello gli interrupt che servono a caricare ed eseguire i programmi,
sorvegliando poi per intero la loro esecuzione (anche a s scapito di un possibile rallentamento) Poiché le operazioni
che il firewall deve compiere sono sempre le stesse, il suo aggiornamento non è così vitale come per l’ antivirus.
Richieste Esterne di connessione al PC Quando qualcuno tenta di connettersi al computer, la richiesta viene
intercettata dal firewall che la vede come una "richiesta indesiderata" e chiede all‟utente se desidera consentire la
connessione, nel qual caso crea una eccezione per quella applicazione, temporanea o permanente.
Richieste Interne di accesso alla rete Il Personal Firewall consente di configurare un elenco di programmi presenti
sul computer che possono accedere alle reti a cui il PC è collegato (es Desktop Remoto, Client di Reti), concedendo o
negando ai programmi stessi l'accesso alla rete (servizio non presente nel Firewall di Windows XP).
Nota: Le distribuzioni Linux utilizzano un firewall integrato molto potente, denominato iptables.
Windows Vista utilizza un nuovo firewall che, rispetto ad XP, consente di controllare anche il traffico verso l'esterno

Il protocollo NAT
Il NAT (Network Address Translation) è un protocollo di livello 3, eseguito normalmente su un Router o Firewall,
avente come scopo la traslazione di indirizzi IP tra una rete pubblica (Internet) ed una rete privata.
Diversamente i PC con indirizzo privato NON potrebbero accedere ad Internet. Due Obiettivi:
 consentire agli utenti della LAN (aventi indirizzo IP privato) di accedere ai servizi della rete Internet
 esporre su Internet eventuali server presenti nella rete privata (web server, mail server, ftp server, etc)
A differenza del normale routing che instrada i pacchetti senza modificare il contenuto delle intestazioni IP, il
protocollo NAT “apre” l‟intestazione IP dei pacchetti in transito, sostituendo gli indirizzi mittente o destinatario.

Gli abbinamenti tra indirizzi pubblici e privati sono memorizzati all‟interno di una tabella detta ATT (Address
Translation Table) che può essere impostata staticamente dall‟amministratore o gestita dinamicamente dal router.

Per poter attivare il NAT occorre definire come NAT OUTSIDE la porta fisica del router interfacciata alla rete
pubblica, mente le porte fisiche interfacciate alle reti private sono dette NAT INSIDE

Il NAT una volta attivato provvede a traslare gli indirizzi IP di tutti i pacchetti in transito sulla porta NAT OUTSIDE:
 Per tutti i pacchetti uscenti dalla porta NAT Outiside (cioè provenienti dalla Rete Interna e diretti verso la Rete
Esterna), NAT provvede a sostituire l‟indirizzo IP privato del mittente con il corrispondente indirizzo
pubblico contenuto nella ATT
 Per tutti i pacchetti entranti nella porta NAT Outiside (cioè provenienti dalla Rete Esterna e diretti verso la
Rete Interna), NAT provvede a sostituire l‟indirizzo IP pubblico di destinazione con il corrispondente
indirizzo privato contenuto nella ATT, reindirizzando quindi il pacchetto verso il corrispondente host interno.

pag 83
Sistemi - Classe Quinta robertomana.it
RETI

Per definire una porta come NAT OUTSIDE o INSIDE (ed attivare di conseguenza il servizio NAT fra quelle porte)
si possono utilizzare i seguenti comandi (CISCO Systems):
Gateway(config)# interface fastethernet 0/0
Gateway(config-if)# ip address 172.16.0.1 255.255.255.0
Gateway(config-if)# ip nat inside
Gateway(config-if)# interface serial 0/0/0
Gateway(config-if)# ip address 1.2.3.4 255.255.255.224
Gateway(config-if)# ip nat outside

NAT e FIREWALL
Il servizio NAT di per sé è un protocollo di livello 3, per cui non distingue tra richieste di connessione e scambio di
dati. Di solito però NAT è utilizzato su un firewall che, analizzando le intestazioni di livello 4, riesce a riconoscere le
richieste di connessione per cui consente di abilitare separatamente il servizio NAT soltanto in uscita (richieste di
connessione verso la rete esterna e relative risposte) oppure soltanto in ingresso (richieste di connessione verso la
rete intera e relative risposte). NAT di per sé lascerebbe passare tutto sia le richieste di connessione che i dati.
 Abilitare soltanto il servizio NAT in uscita significa ridirigere soltanto le richieste di connessione
provenienti dalla rete interna e dirette verso la rete esterna (internet)
 Abilitare soltanto il servizio NAT in ingresso significa ridirigere soltanto le richieste di connessione
provenienti dalla rete esterna (internet) e dirette verso la rete locale interna

STATIC NAT
Lo STATIC NAT è il caso più semplice e consiste in una mappatura statica univoca tra indirizzi privati e pubblici.

Static NAT in uscita


Attivare lo STATIC NAT in uscita significa acquistare un certo numero di indirizzi pubblici pari al numero di utenti
della rete e mapparli tutti sulla porta fisica NAT OUTSIDE di uscita verso Internet.
All‟interno della ATT verranno impostati tutti i vari abbinamenti tra indirizzi privati e indirizzi pubblici:
IP Privato (rete INSIDE) IP Pubblico (rete OUTSIDE)
10.0.0.1 1.1.1.1
10.0.0.2 1.1.1.2
10.0.0.3 1.1.1.3
L‟abilitazione dello STATIC NAT in uscita non ha molto senso in quanto comporta l‟acquisto di un numero
esagerato di indirizzi pubblici e tanto varrebbe assegnare un indirizzamento pubblico per tutta la rete interna.
Static NAT in ingresso
Attivare lo STATIC NAT in ingresso significa acquistare un certo numero di indirizzi IP, uno per ogni server che si
intende esporre su Internet, assegnare tutti questi indirizzi sulla porta fisica NAT OUTSIDE del router, (sulla quale
porta dunque saranno concentrati tutti gli indirizzi pubblici) e compilare una ATT statica che associa a ciascuno di
questi indirizzi l‟indirizzo privato del corrispondente server interno. Il router provvederà così, tramite NAT, a traslare
le richieste verso i relativi server interni. La ATT può essere la stessa di prima, ma questa volta “letta” al contrario.

DYNAMIC NAT
Il Dynamic NAT può essere utilizzato in uscita per condividere l‟accesso ad Internet. Consiste nell‟acquistare un certo
numero di indirizzi pubblici che saranno assegnati dinamicamente ai vari host. In corrispondenza di una richiesta di
uscita proveniente da un host interno, Dynamic NAT provvede ad eseguire le seguenti operazioni:
- assegna al pacchetto il primo indirizzo IP pubblico disponibile
- memorizza nella ATT l‟abbinamento tra indirizzo pubblico assegnato e indirizzo privato originario
- La entry rimane valida all‟interno della ATT per una singola sessione TCP, al termine della quale viene rimossa.
Tramite ACL è possibile definire delle liste di indirizzi interni abilitati al NAT. Gli altri non potranno uscire.
Il Dynamic NAT non può essere applicato in ingresso.

pag 84
Sistemi - Classe Quinta robertomana.it
RETI

PAT (Port Address Translation) o NAT di Livello 4 o Overloading NAT


Il PAT è una evoluzione del NAT che consente di mappare un insieme di indirizzi privati su un unico indirizzo
pubblico associando ad ogni connessione una PORTA differente univoca. Vediamo come viene applicato.

PAT dinamico in uscita


In corrispondenza di ogni richiesta di uscita da parte di un host interno, PAT provvede a sostituire :
- l‟indirizzo IP Privato del mittente con il proprio indirizzo IP pubblico
- il numero di Porta del mittente (effimera, generata dal browser) con una nuova porta effimera generata
dinamicamente da PAT in modo da garantire di assegnare ad ogni richiesta un numero di porta univoco.
- Inoltre aggiunge automaticamente all‟interno della ATT una entry a 4 colonne contenente l‟IP privato del
richiedente, il numero di porta effimera del richiedente, il nuovo IP pubblico (cioè il suo) ed il nuovo n di porta
Local Source IP Local Source Port Public IP Public Port
10.0.0.2 5110 1.1.1.7 1025
10.0.0.3 13662 1.1.1.7 1026
In corrispondenza della risposta, PAT provvede a sostituire indirizzo IP e Porta del destinatario coi valori locali.

PAT statico in ingresso


Le richieste provenienti da Internet dovranno essere tutte indirizzate verso l‟unico indirizzo pubblico assegnato alla
porta WAN del router. PAT provvederà poi a traslare le richieste verso i server interni attraverso il numero di porta.
Cioè le richieste sulla porta 80 verranno inoltrate al web server, quelle sulla porta 25 al mail server, etc.
Nota: Il servizio PAT è abbastanza simile ad un proxy HTTP con i seguenti vantaggi:
a) il proxy è tipicamente di livello 7 (contro il livello 4 di PAT), dunque molto più lento.
b) Nel caso del PAT il Client non deve eseguire nessuna configurazione sulla propria macchina (trasparente), mentre nel
caso del proxy occorre configurare il browser in modo che ridiriga le richieste verso il proxy.
c) Per contro il Proxy è sicuramente più facile e veloce da installare e configurare a livello di Server
Per vedere l’indirizzo IP pubblico ricevuto da un Provider si può andare sul sito “MIO IP”

Livello 5 : SESSION
Secondo le indicazioni del modello ISO OSI lo scopo del Livello 5 è quello di :
gestire una Sessione di Comunicazione tra due End System, organizzandone il dialogo,
dall‟apertura della connessione fino alla sua chiusura (cioè per l‟intera sessione)
Il livello 5 non ha una interazione diretta con programmi applicativi, e si occupa principalmente di due aspetti:
 Dialog Control cioè chi può parlare in ogni momento (full duplex, half dupelx, simplex), senza entrare nel
significato dei dati (demandato al livello 7). In quest‟ambito il livello 5 è responsabile della gestione della
mutua esclusione nell'utilizzo di risorse condivise (come può essere il canale di comunicazione). (TCP)
 Gestione dei punti di sincronizzazione della comunicazione, nel senso che entrambi gli host hanno la facoltà di
sincronizzare la comunicazione, salvando i propri dati su un file e ad inviando un Comando di Sincronizzazione
all'altro host, il quale provvederà pure lui a salvare i propri dati su un file, secondo un meccanismo simile
all'Autosave tipico dei Word Processor. In qualunque momento la comunicazione potrà riprendere esattamente
dal punto di sincronizzazione impostato. L'apertura e la chiusura della connessione possono essere visti come
primo ed ultimo punto di sincronizzazione della comunicazione. (spesso demandato al livello 7)
Sono protocolli di livello 5 :
 NetBios utilizzato in ambiente Windows per risolvere i nomi degli host di una LAN in indirizzi IP.
 RTP (Real Time Protocol) utilizzato da VOIP per l‟ordinamento dei pacchetti voce.
 X-Window server grafico Unix che sta alla base di tutte le interfacce grafiche e anche per collegare terminali
grafici all'elaboratore centrale ed eseguire i programmi remoti come se fossero presenti sulla macchina locale
Simile a NetMeeting che però interagisce con uno specifico applicativo, mentre x-Window è una utility del SO
X-Windows è poco più di un socket con l‟aggiunta di alcune funzionalità di sincronismo col server remoto.

pag 85
Sistemi - Classe Quinta robertomana.it
RETI

LIVELLO 7 - DHCP
Dynamic Host Configuration Protocol
Protocollo utilizzabile dagli host in fase di avvio per richiedere un indirizzo IP dinamico ad un DHCP Server
 Il DHCP Server utilizza in ascolto la porta 67 UDP (stessa di Bootp di cui DHCP ne è l‟evoluzione).
 Molteplici DHCP Server possono essere contemporaneamente presenti sulla stessa rete (tutti con lo stesso
range di indirizzi IP o, indifferentemente, su range differenti).
 Il protocollo DHCP opera On Demand ed è estremamente flessibile. Oltre all‟indirizzo IP, è stata definita
una lunghissima lista di parametri numerati (definiti nella RFC 2132) che un DHCP Server può restituire al
Client richiedente. On Demand, significa che deve essere il client a indicare quali parametri desidera, ed il
server restituisce soltanto i parametri richiesti. Tipicamente: indirizzo IP, Subnet Mask, Default Gateway,
Tempo di Lease e DNS Primario. Ma può inviare anche l‟indirizzo di un Time Server, la propria ora (Time
Offset), l‟indirizzo di un SMTP Server, l‟indirizzo di un POP Server, etc.
Su un client Linux la configurazione DHCP (cioè la lista dei parametri da richiedere al server) è memorizata
all‟interno del file testuale /etc/dhcp3/dhclient.conf facilmente editabile e modificabile. Per modificare la
configurazione DHCP di un client Windows occorre invece agire a livello di Registro di Sistema.
 IP Statici In fase di configurazione del server DHCP, oltre al range di indirizzi, è possibile impostare anche
abbinamenti univoci MAC – IP, spesso utilizzato per le stampanti di rete. Cioè in corrispondenza del MAC
di una certa stampante, il DHCP Server invierà sempre lo stesso indirizzo IP.
 Porta 68 A differenza del vecchio RARP che operava a livello 3, DHCP opera a livello 7. Questo comporta
un problema. All‟accensione, quando si appresta a chiedere un indirizzo IP al DHCP server, la macchina non
ha ancora un indirizzo IP, per cui TCP non è in grado di stabilire una connessione con il DHCP server
assegnando al client una porta effimera. Per questo motivo il client DHCP usa una porta fissa (68 UDP)
 Ogni rete IP deve avere un suo DHCP Server, che non può assegnare indirizzi a reti diverse rispetto alla sua.

Fasi del protocollo DHCP: Il Lease Process


DHCP utilizza un processo detto Lease Process (Lease = affitto) secondo cui un client richiede un indirizzo IP in
affitto per un certo tempo. Se allo scadere del tempo di Lease il client non ha rinnovato la richiesta, significa che il
client è stato spento e dunque il DHCP Server può rilasciare l‟indirizzo IP. Viceversa se il client rimane accesso, di
tanto in tanto deve richiedere il rinnovo del tempo di lease.
 Il tempo di lease è normalmente espresso in ore – minuti - sec. Tipicamente nelle LAN 24/48 ore.
Gli ISP assegnano invece indirizzi IP con tempi di lease molto bassi (typ 15 minuti), tempo per il quale
l‟indirizzo rimane comunque bloccato e riservato per quel client.
 Per quanto concerne invece il range di indirizzi IP, occorre utilizzare un range tale da consentire almeno il
funzionamento contemporaneo di tutti gli host presenti in rete.

Il Lease Process è articolato in 4 fasi:


1) dhcpDiscover [Richiesta d‟Offerta] Al momento dell'avvio l'unico indirizzo che il client conosce è il proprio
MAC. Dunque all‟accensione invia un messaggio di broadcast detto dhcpDiscover avente il seguente formato:
Header:
MAC Source = client MAC // ogni client conosce il proprio MAC
MAC Dest = FF FF FF FF FF FF // Broadcast Mac
IP Source = 0.0.0.0 // 0.0.0.0 ha il significato di “Indirizzo indefinito”
IP Dest = 255.255.255.255 // Broadcast IP
Payload:
Ultimo IP ricevuto. (La prima volta in assoluto sarà 0.0.0.0.)
Il messaggio viene intercettato, sia livello MAC che a livello IP, da tutti gli host della rete e passato al server in
ascolto sulla porta 67. Se sulla macchina non è attivo un servizio DHCP, il messaggio viene semplicemente
ignorato. Se invece sulla macchina è attivo il servizio DHCP, questi attiverà la fase 2 di dhcpOffer
pag 86
Sistemi - Classe Quinta robertomana.it
RETI

2) dhcpOffer [Offerta] Tutti i DHCP Server che ricevono il messaggio di richiesta (e che non hanno esaurito gli
indirizzi IP) inviano una risposta UNICAST a livello MAC detta dhcpOffer contenente le seguenti informazioni:
Header:
MAC Source = server MAC
MAC Dest = client MAC UNICAST
IP Source = server IP
IP Dest = 255.255.255.255 broadcast IP in quanto il client non ha ancora un indirizzo IP unicast
Payload:
- Indirizzo IP Offerto (che coincide col vecchio indirizzo IP se il suo tempo di lease non è ancora scaduto).
- Tutte le informazioni aggiuntive richieste dal client: Subnet Mask, Default Gateway, DNS, Tempo di Lease
Il server DHCP blocca quindi la configurazione offerta per evitare che nel frattempo venga offerta ad altri client.
Il pacchetto viene intercettato a livello MAC soltanto dal client interessato.

3) dhcpRequest [Ordine] Il Client accetta la prima offerta che riceve. In tal caso invia un messaggio MAC
broadcast detto dhcpRequest in cui segnala di aver accettato una dhcpOffer da un certo DHCP Server e richiede
ufficialmente l‟indirizzo IP che gli è stato offerto.
Questo messaggio deve essere MAC Broadcast in quanto deve essere intercettato da tutti i server DHCP
presenti in rete. I DHCP Server la cui offerta non è stata accettata, possono così ritirare l'offerta liberando la
configurazione IP offerta e contrassegnando l'indirizzo IP come non più disponibile.
Il messaggio dhcpRequest presenta il seguente formato:
Header:
MAC Source = client MAC // ogni client conosce il proprio MAC
MAC Dest = FF FF FF FF FF FF // Broadcast Mac
IP Source = 0.0.0.0 // ufficialmente il client non dispone ancora dell‟indirizzo IP proposto
IP Dest = 255.255.255.255 // Broadcast IP
Payload:
Indirizzo IP del Server DHCP di cui è stata accettata l'offerta
Indirizzo IP in corso di accettazione
Al ricevimento della Request il server provvede anche a salvare il name del pc all'interno del DNS File

4) dhcpAcknowledge Conferma d‟Ordine Il DHCP Server la cui offerta è stata accettata invia un ultimo
messaggio UNICAST a livello MAC e broadcast a livello IP (perchè il Client non ha ancora un vero indirizzo IP)
che funge da ACK per il Client. Questo messaggio contiene tutte le informazioni IP relative al Lease assegnato:
Header:
MAC Source = server MAC
MAC Dest = client MAC UNICAST
IP Source = server IP
IP Dest = 255.255.255.255 broadcast IP in quanto il client continua a non avere un indirizzo IP unicast
Payload:
- Indirizzo IP in affitto
- Tutte le informazioni aggiuntive richieste dal client: Subnet Mask, Default Gateway, DNS, Tempo di Lease

Renewal : Rinnovo del lease


Trascorso il 50 % del tempo di lease, il client, se acceso, invia un messaggio dhcpRequest al Server DHCP gestore
del lease, messaggio inteso come richiesta di rinnovo del Lease (Renewal). Il Server risponde con un messaggio
dhcpAck, contenente la nuove durata del tempo di lease (che in pratica riparte dall'inizio), ed eventuali
aggiornamenti della configurazione IP. In pratica se il PC è sempre accesso il suo IP non cambia mai.
Nota: Talvolta però in un collegamento FLAT ADSL sempre attivo può succedere che il server DHCP provveda a
cambiare gli IP ai client, non si sa bene per quale motivo.
pag 87
Sistemi - Classe Quinta robertomana.it
RETI

Se invece il client viene spento, ad ogni riaccensione richiede in lease l'indirizzo IP precedente.
 Se il tempo di lease non è scaduto, il Server provvede sicuramente a riassegnare al client lo stesso indirizzo IP.
 Se invece il tempo di lease è scaduto, il DHCP Server riassegna comunque sempre lo stesso indirizzo, a meno
che nel frattempo non siano finiti gli indirizzi IP e quell'indirizzo sia già stato assegnato ad un altro client.
 Se il client nel DHCP Discovery non invia il proprio IP (ma 0.0.0.0.) ogni volta verrà assegnato un nuovo IP

Il comando ipconfig
Il comando ipconfig è in realtà un comando di comunicazione con il DHCP Server.
ipconfig /release segnala al DHCP Server di rilasciare l‟indirizzo IP avuto in Lease (perché ad esempio si vuole
impostare un IP statico). In Windows XP sembra che questo comando venga lanciato automaticamente nel momento
in cui si modifica l'opzione di IP Dinamico -> Statico nella finestra di configurazione del protocollo TCP/IP.
ipconfig /renew richiede il rinnovo del lease.
Nota: Se il client ha più di una interfaccia di rete, il processo DHCP avviene separatamente per ogni interfaccia,
dunque occorre prevedere per tutti questi client la possibilità di utilizzare due indirizzi IP

Protocollo RARP (Reverse ARP)


Primo protocollo utilizzato per l‟assegnazione degli indirizzi IP agli host di una rete. A differenza di DHCP è un
protocollo di livello 3 basato su LLC. RARP esegue una assegnazione statica degli indirizzi IP sulla base degli
indirizzi MAC dei client. Ogni terminale doveva avere memorizzato il MAC Address del RARP Server.
All'accensione ogni terminale invia una RARP Request indirizzata al RARP Server indicando all'interno della stessa il
proprio MAC Address ed il MAC Address del RARP Server.
In corrispondenza della RARP Request, il Server va a leggere su un apposito file di configurazione l'indirizzo IP da
assegnare a quel MAC, e risponde con una RARP Reply contenente l'IP Address da assegnare all'host.

Protocollo BootP (Bootstrap Protcol)


Il primo successore di RARP è stato BootP, protocollo di livello 7 (porta 67 UDP) che può essere visto come una via
di mezzo tra RARP e DHCP. Esegue una assegnazione statica come RARP ma opera OnDemand come DHCP
 A differenza di RARP che inviava soltanto l‟indirizzo IP, BootP è in grado in inviare al client molte
informazioni come ad esempio Subnet Mask, Default Gateway e DNS Server Address.
 Come RARP, utilizza un file di configurazione contenente gli abbinamenti MAC -> IP. Per ogni indirizzo MAC
sono però riportati tutti i vari parametri IP (IP, netmask, gateway) da assegnare alla macchina avente quel MAC

Protocollo APIPA (Automatic Private IP Addressing)


Windows dalla versione 2000 in avanti, implementa un nuovo protocollo detto APIPA capace di assegnare
dinamicamente all‟host un indirizzo IP univoco anche in assenza di un Server DHCP. A tal fine Microsoft ha
acquistato un certo numero di indirizzi IP da destinare a tale scopo. Rete di classe B 169.254.0.0 / 16 destinata
all‟autoassegnazione.
Impostando sulla macchina l'opzione “Ottieni Automaticamente un indirizzo IP”, in fase di avvio il Client cercherà di
contattare un DHCP Server, ma se entro un certo Timeout si accorgerà che non esistono DHCP Server in rete, allora
interviene APIPA che provvede a generare automaticamente un indirizzo IP appartenente alla rete indicata.
Dopo aver generato l'indirizzo, APIPA invia in rete una ARP Request a questo indirizzo. Se nessuno risponde
significa che l'indirizzo è libero e se lo assegna direttamente, altrimenti provvede a generare un nuovo indirizzo.
Attenzione che APIPA assegna soltanto l'indirizzo IP e non l‟indirizzo di Default Gateway, per cui gli host
possono comunicare soltanto all'interno della rete locale.

pag 88
Sistemi - Classe Quinta robertomana.it
RETI

DNS
L‟identificazione di tutte le risorse di rete mediante il solo indirizzo IP sarebbe ovviamente scomoda da utilizzare.
Il protocollo DNS (Domain Namespace System) è un protocollo di Naming introdotto nel 1988 che consente di
identificare ciascuna risorsa di rete mediante un nome logico (DNS Name) e di associare ad ogni DNS Name il
corrispondente IP Address (processo di mapping). Il protocollo DNS utilizza come trasporto UDP porta 53.
Il mapping DNS – IP è gestito mediante una gerarchia di DNS Server nella forma di un database distribuito.
Un client, quando deve contattare un generico sito www.sito.edu, prima invia una richiesta ad un DNS Server
richiedendo l‟indirizzo IP del sito, il quale DNS Server restituisce l'indirizzo IP richiesto. Il client quindi utilizza
l‟indirizzo IP per l‟effettiva connessione al sito. Protocollo utilizzato da quasi tutti i protocolli di livello 7.

Struttura dei DNS Name


Gli indirizzi IP hanno una struttura gerarchica di tipo geografico che fornisce precise informazioni sulla loro
dislocazione sul territorio (esattamente come per i numeri di telefono leggendo l‟indirizzo da sinistra verso destra si
ottengono informazioni sempre più dettagliate circa la rete finale di appartenenza dell‟host). Ad esempio gli indirizzi
IP pubblici “italiani” iniziano quasi sempre con uno dei numeri: 151 - 193 - 194 - 195 - 212 - 213 - 217

I DNS Name invece hanno una struttura gerarchica ma non geografica, costituita da una sequenza di nomi
separati da un puntino, dove la parte più importante è la prima partendo da destra, detta dominio di 1° livello.
 Dal DNS Name non è possibile risalire con certezza alla dislocazione territoriale dell‟host
 Ad esempio in www.vallauri.edu edu rappresenta il dominio di primo livello, vallauri il dominio di secondo
livello, mentre il primo nome di sinistra (www) rappresenta sempre il nome dell‟host finale.

I nomi DNS hanno una struttura ad albero dove:


 Alla radice è assegnata una etichetta vuota indicata come root.
 Alla root sono collegati più Domini di Primo Livello (TLD Top level domain ) definiti da una authority
internazionale, con lunghezza compresa tra 2 e 4 caratteri. Ad esempio:
com organizzazione commerciale
edu istituzione educativa
gov organizzazione governativa
net centro di supporto alle reti
org organizzazione diversa dalle precedenti
coutry code identifica una nazione (es .it)

 Ad ogni Dominio di primo livello sono collegati più Domini di secondo Livello. Ogni organizzazione può
acquistare dall‟authority un Dominio di secondo livello (es vallauri), indicando a quale Dominio di Primo
Livello intende collegarsi.
 Acquistato un Dominio di Secondo Livello, l‟Ente acquirente ha Piena Autorità di creare nuovi sottodomini
senza dover più contattare nessuna authority. In pratica la gestione interna ad un Dominio di Secondo Livello
è completamente demandata all‟Ente acquirente, che può creare al suo interno ulteriori Domini di Terzo
livello, Quarto Livello, etc. (es www.tg1.rai.it)
 A ciascun dominio / sottodominio finale apparterranno degli host (Foglie dell‟albero) il cui nome andrà a
costituire la prima stringa di sinistra del DNS Name, solitamente www.
 L‟insieme puntato dei domini, senza il nome dell‟host finale, è detto genericamente Dominio. (vallari.edu).
 Ogni Dominio di 2° Livello deve necessariamente esporre un DNS Server pubblico autorevole per quel
dominio, che risolva i nomi di tutti gli host pubblici appartenenti al dominio, oltre ai nomi di eventuali
sottodomini di terzo livello, in modo che dall‟esterno (rete Internet) sia possibile risolvere i nomi locali
relativi al dominio. Spesso la gestione del dominio (operazione piuttosto complessa), pur mantenendo il sito
in loco, viene demandata ad un ente esterno detto Maintainer del Dominio.

pag 89
Sistemi - Classe Quinta robertomana.it
RETI

Note:
 I nodi dipendenti da uno stesso genitore (fratelli) devono avere una etichetta differente
 Ogni nodo è identificato da una etichetta che può avere al massimo 63 caratteri
 Il nome completo ottenuto concatenando tutte le etichette non deve eccedere i 255 chr (compresi i puntini)
 Il massimo di livelli utilizzabili arriva fino a 127 (127 lettere e 127 puntini)

Albero dei DNS Server AUTOREVOLI


Un DNS Server Autorevole mantiene un database di associazioni dominio / indirizzo IP per tutti i domini su cui è
Autorevole. I DNS Server Autorevoli sono organizzati mediante una struttura ad albero articolata in 3 livelli :
1) Root Server – Cioè radice dell‟albero dei DNS. Contengono l‟elenco degli indirizzi IP relativamente ai DNS
Server Autorevoli di Primo Livello, cioè responsabili per i vari domini di primo livello.
Il 1 febbraio 1999 i Root Server erano in tutto 13 dislocati 10 in Nord America, 1 alle isole Haway e 2 in Europa
(rispettivamente a Stoccolma e Londra). Esempio di database di un Root Server
edu 14.145.87.186 // europa
edu 34.30.231.98 // nord america
com 125.65.139.213 // europa
com 97.67.157.71 // sud est asiatico
Quando si richiede l‟indirizzo IP di un certo host appartenente al dominio .edu, la richiesta viene girata al root
server più vicino il quale restituisce l‟indirizzo dei TLD Server che gestiscono il dominio .edu.
2) Server Autorevoli di 1° livello (TLD = Top Level Domain) Questi Server gestiscono ognuno un singolo
Dominio di Primo Livello, e contengono l‟elenco dei DNS Server Autorevoli di Secondo Livello registrati sotto
quel dominio. Ad esempio un DNS Server di Primo Livello relativo al dominio edu contiene gli indirizzi IP di
tutti i DNS Server Autorevoli per i domini di secondo livello registrati come .edu.
Ovviamente esistono più TLD Server con le stesse informazioni.
3) Server Autorevoli di 2° Livello (Server di Zona) esposti da tutti i Domini di Secondo Livello.
Contengono gli indirizzi di tutte le macchine pubbliche appartenenti al dominio in questione e gli indirizzi
di eventuali sottodomini di 3° livello e/o successivi.

Quando si registra un nuovo dominio, occorre anche richiedere all‟Ente preposto l‟aggiornamento dei TLD
Server, specificando l‟indirizzo IP del DNS Server autorevole per il nuovo dominio..

DNS CACHING
Per ridurre il numero di richieste DNS ed il continuo passaggio attraverso i root server, rischiando di saturarli, è stato
introdotto il cosiddetto caching DNS, cioè:
 Quando un DNS server apprende una traduzione, la memorizza localmente in una cache
 Ogni server DNS può fornire l‟indirizzo IP desiderato anche se non è competente per tale indirizzo
Tutti i Server DNS (ad eccezione dei Root e dei TLD) svolgono funzioni di cache mantenendo in cache tutte le
associazioni già risolte. Esistono anche DNS Servers Caching Only (ad es i DNS Server gestiti dagli ISP), privi di
database proprio e che si limitano a mantenere in cache le associazioni già risolte, evitando il continuo passaggio ai
Root o TLD server, interpellati soltanto per i DNS name non disponibili. Intermediari tra le richieste dei client ed i
server Autorevoli. Le traduzioni memorizzate nella cache scadono dopo un certo timeout (24 ore / 48 ore).
Ogni ISP dispone di almeno 2 server di questo tipo, detti Server DNS Primario che è un server in cui creazione,
gestione ed aggiornamento dei nomi sono di competenza del server stesso, e Server DNS Secondario che riceve le
informazioni da un altro server primario o secondario. I due server hanno comunque la stessa competenza ed autorità

Server locali
Sono Autorevoli soltanto per la rete locale dove si trovano, , mentre per gli indirizzi esterni contattato direttamente i
root server oppure svolgere funzione di forwarding verso il server cache di un ISP in modo da sfruttare la sua cache
e velocizzare la ricerca dell‟indirizzo.

pag 90
Sistemi - Classe Quinta robertomana.it
RETI

DNS forwarding
Un qualunque DNS Server, se non è in grado di risolvere il nome richiesto, a seconda delle proprie impostazioni, può
 Contattare il proprio DNS Server Primario, mediante il cosiddetto DNS forwarding
 Contattare un Root Server, i cui indirizzi sono preimpostati all‟interno di un qualsiasi pacchetto DNS Server
I piccoli router domestici (ISR) svolgono anche la funzione di DNS Server sulla porta 53 eseguendo il forwarding
verso l‟indirizzo di DNS Primario ricevuto dal Provider. L‟indirizzo di DNS Server primario ricevuto dai client è
infatti coincidente con l‟indirizzo del router stesso.

Esempio : Accesso di un Browser ad un sito web


Per accedere ad un web server Internet occorre scrivere sulla barra di navigazione del browser la URL completa del
server, URL costituita dal nome del server (www) seguito dal nome del dominio di appartenenza. Ad es una
macchina appartenente al dominio Vallauri.edu richiede www.Virgilio.it. La richiesta si articola nelle seguenti fasi:
1) l‟host appartenente a Vallauri.edu contatta il DNS server Primario ricevuto dal protocollo DHCP in fase di avvio
della macchina, inviando una DNS Request relativa alla URL www.Virgilio.it.
2) Il DNS Server Primario 1) consulta la propria cache e, se l‟indirizzo non è disponibile, 2) invia una DNS Request
al proprio DNS Primario (DNS Forwarding) o 3) ad un Root Server. In caso di Forwarding, il Server contattato può
avere in cache il nome richiesto, oppure eseguire un ulteriore DNS Forwarding, o rivolgersi ad un Root Server
- Il Root Server contattato restituisce un elenco di TLD server in grado di risolvere il dominio .it.
- Il DNS Server Primario invia allora una DNS Request al primo (eventualmente al secondo, poi al terzo, etc.)
dei TLD Server ricevuti richiedendo l‟indirizzo del DNS Server Autorevole per il dominio Virgilio.it.
- Il TLD Server risponde inviando l‟indirizzo IP del server Autorevole per il dominio Virgilio.it
- Il DNS Server Primario invia infine una DNS Request al Server di Zona autorevole per il dominio Virgilio.it
richiedendo l‟indirizzo della macchina www. Il DNS Server interpellato restituisce l‟indirizzo richiesto.
Se il server di zona autorevole per il dominio di secondo livello non riesce a risolvere il nome richiesto,
restituisce un messaggio di errore, senza rimandare la richiesta a nessun altro ed evitando rischi di loop.
3) Ad ogni passaggio il Server Locale aggiorna la propria cache, in modo da non dover ripetere i passi precedenti in
caso di successive richieste dello stesso indirizzo o di indirizzi simili.
4) Il Server Primario invia all‟host di Vallauri.edu un DNS Reply contenente l‟indirizzo richiesto
5) Al ricevimento dell‟indirizzo richiesto, il browser visualizza il tipico messaggio “Sito web rilevato”

Procedura di Acquisto Registrazione e Mantenimento di un dominio


1) Acquisto di un nuovo dominio presso www.nic.it/domini, Ente Italiano preposto a rilasciare i domini, con
Dichiarazione di Responsabilità a carico del richiedente. Il servizio WHOIS consente di verificare se il
dominio richiesto è libero. Oltre al prezzo di acquisto c‟è anche una tassa annuale di mantenimento.
2) Registrazione del Dominio, cioè registrare all‟interno dei TLD Server l‟indirizzo IP del DNS Server
Autorevole per quel dominio (sempre tramite NIC).
3) Apertura di un nuovo file all‟interno del DNS Server Autorevole (che può essere contemporaneamente
Autorevole per più Domini) contenente i record relativi agli indirizzi delle macchine appartenenti al dominio.
I Maintainer di dominio (es Aruba) offrono di solito servizio di Acquisto Registrazione e Mantenimento del
dominio, eventualmente con l‟apertura, nel loro DNS Server, di un nuovo record relativo al nostro web server.
Costo complessivo circa 30 € l‟anno. Bisogna però fare molta attenzione a che cosa comprende o non comprende il
mantenimento: 1) tassa sul dominio, 2) registrazione 3) mantenimento del DNS Server Autorevole del dominio

Hosting e Housing
Il servizio di Hosting fornito da tutti gli ISP consiste nell‟ospitare una applicazione web su un web server dell‟ISP
(gratuitamente se il sito non richiede motori particolari). In assenza di dominio l‟Hosting può essere eseguito su un
qualunque ISP. In caso di acquisto del dominio l‟Hosting viene di solito eseguito dal gestore del dominio

pag 91
Sistemi - Classe Quinta robertomana.it
RETI

Nel caso di Housing, invece, il cliente fornisce una macchina o la acquista dal provider, e questa viene ospitata dal
provider che fornisce collegamento a internet e gestione. L‟ente ha un controllo completo tramite SSH.
Il servizio di Smart Hosting (o virtual hosting) consiste nell‟esporre più domini (su una stessa macchina) tutti con
lo stesso indirizzo IP. Il sito specifico viene identificato mediante la trasmissione del DNS Name all‟interno
dell‟intestazione HTTP 1.1.
E‟ possibile delegare la Gestione del Dominio (in termini di DNS) ad un Maintainer differente rispetto all‟ hosting
Provider su cui si pubblica il sito. A tal fine occorre semplicemente indicare al Maintainer dove è posizionato il sito.

Dynamic DNS
Dynamic DNS è un sistema per permettere ad un dominio Internet di essere associato ad un indirizzo IP
dinamico. Questo consente di stabilire connessioni a macchine con IP dinamico che, in genere, risulta diverso ad
ogni nuova connessione e può comunque essere cambiato dall‟ISP senza preavviso.
Il meccanismo si basa su un terzo sito, detto Redirect che (di solito gratuitamente) provvede a mantenere un database
che associa i vari DNS Name (tipo www.casa.org) con i reali indirizzi IP validi in quel momento. In realtà
all‟interno del DNS Server Autorevole gestito dal Maintainer viene impostato l‟indirizzo IP del sito di
Redirect. Quando un utente cerca di contattare il sito www.casa.org, la richiesta arriva al sito Redirect che,
consultando il proprio database, esegue un Redirect all'indirizzo IP corretto.
Per mantenere aggiornato il database di Redirect ci sono 3 possibilità:
 Nei sistemi più vecchi il proprietario del sito doveva collegarsi dopo ogni accensione del proprio PC al sito
Redirect per aggiornare l‟IP pubblico ricevuto dall‟ISP.
 Se a gestire il sito di Redirect è l‟ISP stesso, si può fare in modo che, in fase di connessione o di modifica
dell‟indirizzo IP, l‟aggiornamento del database di Redirect avvenga automaticamente.
 I router più recenti possono eseguire automaticamente, in corrispondenza del ricevimento di un IP dinamico,
l‟aggiornamento del sito di Redirect, (il cui indirizzo deve essere preimpostato nel router stesso)
In tutti i casi il tempo di DNS caching del dominio deve essere impostato pari ad un periodo molto breve
(tipicamente pochi minuti), per evitare che i DNS Server mantengano nella loro cache il vecchio indirizzo,
imponendo di fatto la ricerca dell'indirizzo IP corretto in corrispondenza di ogni nuova connessione.

Risoluzione dei Nomi Locali : DNS Server Locali


Da un punto di vista di rete locale, si definisce Dominio un insieme di macchine connesse in una rete e collegate
ad un sistema di autenticazione centrale detto PDC Primary Domain Controller, controllore primario del
dominio. Ogni host rappresenta una foglia del dominio. Un esempio di PDC è ActiveDirectory di Windows che
gestisce un database di oggetti di rete: Utenti, Gruppi, Servizi, Computer, Stampanti.
Il Dominio Locale può avere lo stesso nome del Dominio Pubblico o nome diverso (es Vallauri.edu pubblico e
Vallauri.net privato). La scelta è soggettiva. Un DNS server locale è delegato a risolvere i nomi locali. Quando un
host vuole accedere ad un server locale (es http://mmserver), il browser capisce che si tratta di un host appartenente
alla rete locale, ricostruisce la URL completa (mmserver.vallauri.net) e richiede l‟IP al proprio DNS Server Locale.
Un DNS Server interno ad una LAN può allo stesso tempo sia risolvere sia i nomi locali sia fungere da DNS
Server autorevole verso l‟esterno. Supponendo di avere all‟interno della rete un web server con indirizzo IP locale
ma visibile anche all‟esterno mediante un sevizio NAT, il DNS Server può contenere al suo interno sia la risoluzione
con l‟indirizzo privato sia la risoluzione con l‟indirizzo pubblico.
In corrispondenza di una richiesta dell‟indirizzo IP del web server, il DNS Server
 Solitamente risponde con una lista di tutti gli indirizzi IP che fanno match con la URL ricevuta (quindi sia
l‟indirizzo pubblico sia quello privato). Il richiedente esterno automaticamente sceglierà l‟indirizzo pubblico
mentre il richiedente interno automaticamente sceglierà l‟indirizzo privato.
 Può anche essere in grado di restituire automaticamente il solo indirizzo giusto sulla base dell‟interfaccia su
cui arriva la richiesta, oppure sulla base dell‟indirizzo IP mittente: se il mittente è privato restituisce
l‟indirizzo privato, mentre se il mittente è pubblico restituisce l‟indirizzo pubblico

pag 92
Sistemi - Classe Quinta robertomana.it
RETI

Il file hosts
Il file hosts è il file utilizzato dai DNS Server per memorizzare le informazioni di zona (insieme dei Domini su cui il
DNS Server è autorevole). Si tratta di un semplice file testuale senza estensione che contiene le associazioni statiche
tra DNS Name / indirizzo IP di tutti i DNS Name per i quali il DNS Server è responsabile.
Il file hosts è anche presente su tutti i normali hosts (in Windows XP c:\windows\system32\driver\etc\hosts) dove
contiene sempre almeno il nome localhost, che rappresenta il DNS Name corrispondente all‟indirizzo IP 127.0.0.1
# Questo è un esempio di file HOSTS usato da Microsoft TCP/IP per Windows.
127.0.0.1 localhost
Il file hosts rappresenta il primo tentativo di risoluzione dei DNS Names eseguito dai Browser e può essere
utilizzato per risolvere rapidamente ed in modo statico i DNS Names dei web server più utilizzati.

I principali tipi di record di un database DNS


I database DNS sono normalmente strutturati in file testuali, uno per ogni Dominio Autorevole rappresentato, che
contengono diverse tipologia di record a seconda del servizio a cui si riferiscono. I principali tipi di record sono :
 Il record "A" (Address) è il più comune. Associa il DNS Name di un web server ad un indirizzo IPv4
 I record "NS" (Name Server) memorizzano l‟indirizzo IP del DNS server Autorevole di un certo Dominio.
 I record "MX" (Mail eXchange) identificano i server di Posta all‟interno di un certo Dominio
 I record "AAAA" gestiscono gli indirizzi IPv6 ( quattro volte più lunghi rispetto agli indirizzi IPv4).
 Il DNS viene utilizzato anche per realizzare la risoluzione inversa, ovvero per far corrispondere ad un
indirizzo IP il corrispondente nome a dominio. Per questo si usano i record "PTR" utilizzati in
troubleshooting, come ad esempio nslookup, per restituire l‟host name corrispondente ad un indirizzo IP.

NetBIOS e SMB
NetBIOS significa "Network Basic Input Output System", ossia BIOS di rete.
SMB significa "Server Message Block Protocol", blocco messaggio server

NetBIOS e SMB nascono in IBM nel 1982 nell‟ambito dello sviluppo di una rete locale denominata PC-Network.
L‟intento di NetBIOS era quello di fornire un supporto alla condivisione di files su piccole LAN quali PC-
Network. Più che un protocollo NetBIOS è un insieme di API, cioè un'interfaccia di programmazione (simile alle
API di comunicazione con la porta seriale o con la porta parallela) che consentono a SMB di immettere dati / leggere
dati da una scheda di rete. Le funzioni base di NetBIOS erano accessibili attraverso l'interrupt 5Ch. Nonostante
nessuna pubblicazione ufficiale, NetBIOS, in virtù del grandissimo numero di applicazioni, divenne di fatto uno
standard.

NetBIOS copre tutti i livelli OSI 2-5 appoggiandosi direttamente sullo strato MAC di una rete locale.
Caratteristiche esseniali:
 Identifica le risorse della rete mediante “nomi descrittivi" detti nomi NetBIOS aventi lunghezza max di
15 caratteri e tutt‟ora utilizzati per identificare una risorsa all‟interno di una rete locale.(Sono i nomi mostrati
nella finestra Risorse di Rete come identificativi delle risorse). Il 16° byte indica il tipo di risorsa:
Es. 00 - Normale workstation 03 - Servizio di messaggistica (WinPopup) 20 – File Server
 Non prevede l‟utilizzo di un'entità centralizzata. Un computer che all'accensione voglia registrarsi sulla
rete con il proprio nome NetBIOS deve inviare appositi messaggi broadcast a tutti gli altri. Se il nome è già
in uso, il possessore invia un messaggio di risposta per respingere la scelta.

pag 93
Sistemi - Classe Quinta robertomana.it
RETI

SMB
E‟ un protocollo Client Server di livello 7 sviluppato da IBM parallelamente a NetBIOS ed appoggiato su di esso,
avente come scopo la condivisione di files, cartelle e stampanti fra i computer di una rete locale, incluse le
operazioni di apertura, creazione, cancellazione file. Utilizzato in Dos e in tutti i sistemi Windows fino a quelli attuali
Dalla sua introduzione originaria nel 1982 ad oggi il protocollo SMB, pur con varie modifiche e aggiunte, è rimasto
simile negli anni ed è tutt’ora utilizzato in tutti i sistemi Windows per l’accesso alle Risorse Condivise all’interno di
una rete locale. Ad ogni operazione su un file di rete (apertura, chiusura, lettura, scrittura) corrisponde un preciso
comando SMB (open, close, read, write ). Fa parte di SMB anche il cosiddetto "redirector" che permette di disporre
delle risorse remote come se fossero locali (ad es vedere un disco di un altro computer come se fosse un disco locale)

Il Server SMB può essere un qualunque host che condivide le proprie risorse.
I client SMB possono eseguire un "browsing" degli SMB server presenti in rete e accedere alle loro risorse condivise
Dato il suo vasto utilizzo, è nata anche una implementazione free detta SAMBA che è una riscrittura del protocollo
proprietario SMB, creata per consentire a Client SMB l‟accesso ad un file server Linux.

Servizi Windows attuali che utilizzano SMB


In Windows Client e Server SMB sono attivabili nella finestra Connessioni di Rete / Proprietà
Condivisione di File e Stampanti è un Server SMB. Se abilitato su un host, consente agli altri computer della rete
di accedere alle sue risorse condivise. In pratica avvia un demone in ascolto su una certa porta (445 nel caso di SMB
Direct Hosting oppure 137 / 139 nel caso di NetBIOS over TCP). Anche se la porta 445 è sicuramente più “sicura”
rispetto alle altre due, la sicurezza massima è ottenuta disabilitando questo servizio.
Client per reti Microsoft è un Client SMB. Se abilitato consente al computer locale di accedere agli SMB Server
presenti sulla rete. Se il computer locale non ha risorse da condividere, è sufficiente abilitare questo servizio senza
abilitare quello precedente. I client possono infatti non condividere dati ma accedere comunque al file system
condiviso di altre macchine e alle stampanti collegate in rete. I comandi al Client SMB possono essere passati :
 in modo grafico attraverso Gestione Risorse
 in modo testuale attraverso il prompt facendo uso dei comandi net

Evoluzioni di NetBIOS

NetBIOS NetBIOS SMB Direct


NetBIOS
Livello ISO OSI over over Hosting
originale
NetBEUI TCP/IP (port 445)

applicazione
SMB SMB SMB
presentazione SMB
sessione NetBIOS NetBIOS
trasporto
NetBIOS NetBEUI TCP / IP TCP / IP
network
data link
IEEE 802
fisico

DOS WIN 3.11 WiN 95 - 98 WIN XP


1987 - 1994 1995-2000 2001->

pag 94
Sistemi - Classe Quinta robertomana.it
RETI

NetBEUI (NetBios Extended User Interface interfaccia utente estesa di NetBIOS)


Con la standardizzazione dei protocolli di livello 2 (IEEE 802.2), nel 1986 IBM riscrive il codice di NetBIOS,
lasciando immutata l‟interfaccia verso l‟alto e definendo un protocollo intermedio (NetBEUI) che, coprendo i livelli
3 e 4 del modello ISO OSI, facesse da intermediario tra l‟interfaccia NetBIOS e lo standard IEEE 802.2.
I protocolli TCP/IP già esistevano, ma erano usati solo sulle WAN e non si pensava ancora ad un loro utilizzo nelle
LAN. NetBIOS si trasforma in una Entry Point a NetBEUI, continuando a fornire la stessa interfaccia operativa verso
l‟alto e la compatibilità con SMB. Con la diffusione di protocolli routed come IPX/SPX e TCP/IP, NetBEUI ha
iniziato a perdere di significato fino ad essere completamente sostituto da TCP/IP.

NetBIOS over TCP/IP (NBT o NetBT)

A differenza di NetBEUI, l‟interfaccia NetBIOS è stata mantenuta in vita fino ad oggi grazie a due caratteristiche
fondamentali:
 il notevole numero di applicazioni esistenti
 il fatto di offrire un interessante servizio di Naming in grado di risolvere i nomi delle macchine locali
tramite broadcast, quindi anche in assenza di un DNS server centralizzato
Verso la fine degli anni 90 Microsoft decise di abbinare l'interfaccia NetBIOS a protocolli più flessibili come
TCP/IP. NetBIOS diventa così un protocollo di livello 5 indicato come NetBios over TCP/IP, che utilizza le porte
TCP/UDP per comunicare con il livello 4 mentre verso l‟alto (cioè verso SMB o verso applicazioni utente
specifiche) si presenta con la vecchia interfaccia procedurale originaria del NetBIOS, continuando a garantire il
funzionamento di tutte le vecchie applicazioni interfacciate a NetBIOS.

Funzionamento di NetBIOS over TCP


 All‟accensione ogni host NetBIOS invia un messaggio di broadcast con il proprio nome per “Registrarsi”
sulla rete. Se esiste già un host con quel nome, questo risponde con un messaggio di errore..
Ogni Server NetBIOS “apre” tre porte di ascolto:
 La porta UDP 137 (servizio detto NetBIOS Name Service) è la porta di ascolto dei comandi NetBIOS.
Quando un client da “Gestione Risorse” tenta di “Aprire” una risorsa sul Server (ad esempio mmserver),
invia una richiesta NetBIOS di broadcast contenente il nome NetBIOS della macchina a cui intende accedere
(mmserver), chiedendone l‟indirizzo IP e la verifica dei permessi di accesso.
 La porta UDP/138 (servizio NetBIOS Datagram Service) viene invocata per popolare la lista delle macchine
visualizzate tramite “Sfoglia la rete”. La macchina su cui l‟utente esegue il comando “Sfoglia la rete” invia
un messaggio di broadcast sulla porta 138 per individuare tutte le risorse condivise sulla rete.
 La porta TCP/139 (servizio NetBIOS Session Service) è la porta di trasferimento dati ed è anche la porta
più conosciuta. E‟ la prima porta che deve essere chiusa per mettere in sicurezza un sistema Windows.

WINS - Windows Internet Naming Service


E‟ un servizio Microsoft avente lo scopo di gestire una registrazione centralizzata dei nomi NetBIOS e la loro
risoluzione nei corrispondenti indirizzi IP in modo più semplice rispetto a DNS, cioè senza utilizzare il concetto di
dominio.
Incluso da Windows 2000 Server in avanti, masempre poco utilizzato, opera come server dei nomi NetBIOS consentendo di
registrare e risolvere i nomi dei client NetBIOS. Il servizio WINS è integrabile con il servizio DHCP nel senso che il database
WINS viene aggiornato automaticamente mediante DHCP all’accensione di ogni macchina. Quando si apportano modifiche alla
configurazione dinamica degli indirizzi (ad esempio quando un nuovo Client si collega alla rete oppure quando gli viene
assegnato un nuovo indirizzo DHCP), il server DHCP provvede ad inviare automaticamente le informazioni anche al Server
WINS (che le memorizzerà nel proprio database) e ad inviare all’host l’indirizzo del WINS Server.. Tutto ciò avviene senza alcun
intervento manuale da parte degli utenti o dell'amministratore di rete. Si tratta in sostanza di una versione locale di Internet,
dove il DNS diventa WINS, e HOSTS diventa LMHOSTS. (LMHOSTS è un file di testo contenente coppie di nomi NetBIOS -
indirizzi_IP). In caso di assenza di un server WINS il client, detto h-node, cioè nodo idrido in grado di tentare più soluzioni,
“passa” automaticamente ad utilizzare il vecchio meccanismo dei messaggi di broadcast sulle porte 137 138 139.

pag 95
Sistemi - Classe Quinta robertomana.it
RETI

Nota: A differenza di DHCP che non viene avvisato quando un client si sconnette dalla rete (e mantiene il suo lease fino alla
scadenza del timeout), un client WINS, così come si registra all’accensione, chiede il rilascio del suo nome nel momento in cui
si scollega dalla rete. Questo fa sì che le risorse di rete siano visualizzate sempre in modo perfettamente aggiornato. Inoltre, per
ogni client, WINS gestisce un Renewal Interval (aggiornato dal client a metà del tempo, come x DHCP) in modo da poter
eseguire un rilascio implicito della risorsa nel caso in cui venga a mancare il messaggio di disconnessione ( es x power fail)

SMB Direct Hosting : [CIFS]


Fino a Windows 98 il protocollo SMB poteva essere interfacciato solamente a NetBIOS (nella versione NetBIOS
over TCP). Da windows 2000 in avanti ad SMB è stata aggiunta la possibilità di interfacciare SMB direttamente su
TCP (porta 445), eliminando di fatto la dipendenza da NetBIOS che può essere completamente disabilitato.
A questo nuovo protocollo, indicato spesso come SMB direct hosting, Microsoft ha assegnato un nuovo nome CIFS
(Common Internet File System), riservando il nome FILE per il componente di file sharing. Nonostante le
specifiche aperte, rilasciate con lo scopo di farlo diventare il nuovo standard per l‟accesso alle Risorse Condivise di
una rete locale, CIFS non è mai decollato come si sarebbe voluto ed è utilizzato soltanto in sistemi Windows.
Principali vantaggi:
 Interfacciamento diretto su TCP, senza dover passare attraverso NetBIOS
 Possibilità di utilizzare direttamente un server DNS per la risoluzione dei nomi, dunque con la possibilità
di risolvere anche nomi composti da più di 15 caratteri e/o che contengono dei puntini.
 Maggiore sicurezza della porta 445 rispetto alle porte 137 138 139 utilizzate da NetBIOS, protocollo più
vecchio e dunque con minor controllo sulle porte, perciò più facilmente vulnerabile.

Risoluzione dei nomi in un client Windows


I Client Windows implementano, nell‟ordine, le seguenti metodologie per la risoluzione dei nomi.
1) una cache interna
2) WINS se il protocollo DHCP, in fase di avvio, ha inviato l’indirizzo IP di un server WINS, la richiesta di
risoluzione dei nomi viene inviata al server WINS.
3) DNS In caso di assenza del server WINS, se il DHCP ha inviato l‟indirizzo di un DNS Server abilitato alla
risoluzione dei nomi NetBIOS, la richiesta di risoluzione viene inviata al DNS server
4) NetBIOS broadcast. Se il DNS server non è stato configurato oppure se non è in grado di risolver il nome
ricevuto, allora la richiesta di risoluzione dei nomi NetBIOS viene inviata mediante un messaggio NetBIOS di
broadcast, secondo le vecchie “usanze” di NetBIOS. Attenzione però che i nomi composti da più di 15
caratteri e/o che contengono punti (".") possono essere risolti soltanto tramite DNS
Nota sulla configurazione
La seguente finestra, visualizzabile da
“connessione di rete LAN, protocollo TCP/IP,
Avanzate”, consente di abilitare / disabilitare
manualmente l‟utilizzo di NetBIOS over TCP.
L‟impostazione “Predefinite” esegue quanto
descritto sopra, cioè abilita NetBIOS over TCP solo
se DHCP non ha fornito l‟indirizzo né di un server
WINS né di un Server DNS.
L‟ultima voce “Disabilita NetBIOS su TCP”
disabilita NetBIOSover TCP (maggiore sicurezza)
ma impedisce la risoluzione dei nomi in caso di
assenza di un server WINS / DNS.
La voce “Abilita NetBIOS su TCP” esegue solo e
subito la risoluzione tramite NetBios

pag 96
Sistemi - Classe Quinta robertomana.it
RETI

HTTP

Il World Wide WEB (Ragnatela ad estensione mondiale) è il più noto fra i servizi Internet.
HTTP è il protocollo che consente di accedere alle pagine WEB e scambiare dati attraverso il web stesso.

Evoluzione dei Browser


1993 Mosaic, il primo browser (dal verbo inglese to browse = curiosare) in grado di visualizzare documenti HTML,
immagini incluse. Scritto in linguaggio C e basato sul protocollo gopher (protocollo per la ricerca di documenti in
rete poi sostituito da http), Mosaic contiene già tutte le principali caratteristiche dei browser attuali: tasti Back e
Forward che consentono di scorrere le pagine visitate, una menuBar, una barra degli indirizzi, una ViewArea
nella parte centrale in cui vengono visualizzati i documenti ed una statusBar inferiore.
1994 compare il primo browser commerciale Netscape Navigator.
1995 Microsoft produce la prima versione di Internet Explorer (IE 1.0 luglio 95) come package separato rispetto a
Windows 95, quando però Netscape ha già una diffusione piuttosto consistente.
1996 Netscape esce nella versione 2.0 introducendo la programmazione lato client mediante Java Script (subito
diventato standard ECMA), frames e PlugIn.
1997 Microsoft distribuisce IE 3.0, in grado di visualizzare direttamente file GIF e JPG (senza passare attraverso file
HTML), streaming Audio, proponendo anche un proprio linguaggio di script lato client vbScript, mai decollato.
1998 esce IE 4.0 basato sullo standard CSS e completamente integrato nel Sistema Operativo Windows 98 e che per
la prima volta supera Netscape come diffusione. Insieme a IE 4.0 viene distribuito Outlook Express come client di
posta che in pratica sostituisce Eudora Light di Nestape. Iniziano per Microsoft le azioni legali antitrust.
2002, con windows XP, esce IE 6.0 contenente moltissime funzionalità aggiuntive relative soprattutto a sicurezza e
privacy (crittografia 128 bit, filtro per i cookies) e pieno supporto a XML. Nasce il concetto di applicazioni web.
Altri browser più recenti sono Opera, FireFox (derivato dal progetto Mozilla openSource) e Google Chrome.

HTTP Hyper Text Transfer Protocol


Nasce al CERN di Ginevra nel 1991 (considerata data di nascita di Internet) per il trasferimento di file HTML su una
rete TCP/IP
 HTTP regola la comunicazione tra un server HTTP, fornitore di documenti HTML, ed un browser Client HTTP
in grado di interpretare le informazioni ricevute dal server. La porta di ascolto del server è la porta 80.

 HTTP è un protocollo “leggero”, nel senso che il client si connette al server solo per il tempo strettamente
necessario per trasmettere la richiesta e ricevere la risorsa richiesta e quindi chiude la connessione, a differenza
ad esempio di FTP, in cui la connessione rimane sempre aperta anche se non c’è nulla da trasferire

 HTTP è un protocollo “senza stato” (stateless), cioè che non "conserva memoria" delle connessioni.
Tutte le connessioni sono trattate come se si trattasse ogni volta di un nuovo client. In questo modo il navigatore
può spostarsi velocemente da un server ad un altro attraverso i "links" ipertestuali.

Versioni del protocollo HTTP

versione 1.0
crea una connessione per ogni scambio di messaggi (ad esempio nel caso di una pagina html contenente più immagini
occorre una connessione per scaricare la pagina, e poi una connessione per richiedere ogni singola immagine
contenuta nel documento). Le prime pagine web erano soprattutto testuali e sembrava essere più oneroso mantenere
la connessione aperta che non aprirla / chiuderla tutte le volte.

pag 97
Sistemi - Classe Quinta robertomana.it
RETI

versione 1.1
(HTTP persistente default da IE 7 in avanti). Due innovazioni principali:
 Non abbatte la connessione ma utilizza la stessa connessione per inviare tutti gli oggetti multimediali
contenuti nella pagina. Il client, ricevuta la pagina principale, richiede tutti gli elementi multimediali presenti
sulla pagina utilizzando sempre la stessa connessione. Il server, dopo aver inviato la pagina al client,
mantiene la connessione aperta per un certo timeout in modo da poter processare ulteriori richieste
successive. Il client, ricevuti tutti gli elementi della pagina, chiude la connessione entrando in uno stato di
Time Wait in attesa della chiusura definitiva da parte del server, che chiude allo scadere del timeout.
 Consente lo smart hosting, cioè l‟abbinamento di più domini di secondo livello ad un medesimo indirizzo
IP (la URL richiesta viene trasportata all‟interno dell‟intestazione HTTP e letta dal server).

HTTPs è la versione sicura (crittografata) di HTTP, basata sul protocollo di livello 6 SSL.

MHT Da IE 7 in avanti, oltre alla solita modalità denominata HTML di salvare una pagina web come file HTML
con i vari oggetti multimediali salvati a parte all’interno di una apposita cartella aggiuntiva è possibile salvare
l‟intera pagina HTML in un unico file .mht (MIME HYPER TEXT) denominato Archivio Web. Nelle pagine mht
tutti gli oggetti multimediali vengono integrati in un unico file testuale in formato MIME (nato per la posta
elettronica).

Struttura dei messaggi HTTP

 Il client HTTP (browser) apre una CONNESSIONE TCP con il server HTTP remoto
 Il client invia un messaggio REQUEST che comprende diverse informazioni relative al client come il tipo di
dati che può trattare ed il linguaggio naturale impostato sulla macchina.
 Il server processa la risposta, che nella maggior parte dei casi il processo consiste nel localizzare il file html
e restituirlo al client, e invia la RESPONSE al client (la pagina richiesta oppure un messaggio di errore).
Se la pagina richiesta contiene codice lato server, questo viene eseguito dal server che alla fine restituisce
comunque sempre una pagina HTML.
 In HTTP 1.0 il server chiude la CONNESSIONE, mentre in 1.1 a chiudere la connessione per primo è il
client. I primi protocolli TCP/IP, come telnet, ftp e gopher, erano stati progettati con l‟idea che l‟utente
rimanesse collegato per un periodo di tempo esteso, trasmettendo più comandi con connessione sempre
aperta. Nel caso del web invece è probabile che la prossima richiesta sia diretta ad un altro server e che la
prossima connessione avvenga in un tempo molto successivo alla precedente. In tal caso è inutile tenere
aperta la connessione, per cui HTTP la chiude non appena ha finito di processare la richiesta.

I messaggi REQUEST e RESPONSE presentano entrambi il seguente formato:

Start Line Tipo di Comando / Risposta

Header Elenco di headers testuali, uno per ogni riga.

CRLF riga vuota

Body Corpo del messaggio (nel caso delle Response la pagina HTML)

Ogni messaggio può contenere un numero arbitrario di headers, ed il loro ordine è irrilevante.
Una riga vuota separa l‟header dall‟eventuale corpo del messaggio.
Il body, o corpo del messaggio, contiene i dati veri e propri oggetto dello scambio (intera pagina HTML)

pag 98
Sistemi - Classe Quinta robertomana.it
RETI

Composizione di una URL


Tutti i protocolli Internet identificano le risorse di rete mediante una stringa detta URL avente lo scopo di
identificare la posizione di una risorsa e la modalità (protocollo) di accesso. Una URL è costituito da diversi
componenti:
NomeProtocollo://hostName.domainName:portNumber/path/filename#ancora?parametersList
Esempio: http://www.vallauri.edu:80/progetti/index.aspx#capitolo3?id=29&nome=pippo
 Nome del protocollo da utilizzare per accedere alla risorsa
 hostName.domainName Nome della macchina e Dominio del server da contattare
 Port Number di ascolto del server. Se omessa si intende la porta standard del protocollo (80 per HTTP)
 Risorsa Richiesta (con eventuale posizione all‟interno del server). Se il nome della Risorsa è omesso,
il server restituisce un file di default, in genere index.html (o default.html). # Eventuale àncora.
 Parametri posizionati dopo il ?, scritti nel formato nome=valore, separati da &

Messaggio REQUEST

La Request Start Line ha il seguente formato:


MetodoDiRichiesta RisorsaRichiesta VersioneHTTP CRLF
GET / POST /progetti/index.html HTTP/1.0

Alla Request Line fanno seguito un certo numero di righe relative alle
intestazioni terminate con una riga vuota.

Il metodo di richiesta può essere:


 GET (default)
 POST
 HEAD

Il metodo GET è il metodo di default che tutti i browser utilizzano per richiedere ad un web server la risorsa
indicata dall‟utente all‟interno della URL. Nel caso delle richieste GET eventuali parametri vengono
concatenando alla URL, introdotti mediante un punto interrogativo ? e suddivisi tramite & Possibilità di
passaggio diretto-
http://www.vallauri.edu/index.php?id=29&nome=pippo

Il metodo POST è un altro metodo di richiesta di una risorsa. Nel caso del POST eventuali parametri vengono
spediti all‟interno del body della HTTP REQUEST (che normalmente è vuoto), dunque in modo non visibile
Il metodo POST, in una tradizionale applicazione web form, può essere utilizzato soltanto all’interno di un pulsante
di submit. In corrispondenza del click il browser provvede a richiedere una nuova pagina al server (quella indicata
all’interno dell’attributo ACTION del tag FORM), trasmettendo automaticamente come parametri il contenuto di
tutti i controlli presenti all’interno della web form in cui si trova il pulsante,
La modalità con cui vengono accodati i parametri dipende dal contenuto dell’attributo Method del tag Form.
In caso di Method = Get parte una richiesta GET ed i parametri vengono accodati alla URL.
In caso di Method = POST parte una richiesta POST ed i parametri

Il metodo HEAD è simile al GET e serve per richiedere al server soltanto l‟intestazione della risposta, e non il body.
L‟intestazione ricevuta è identica a quella che si avrebbe col GET. Si possono quindi avere informazioni sul file
specificato (tipo di file, lunghezza, ultima modifica ecc). E‟ utilizzato da alcuni software per controllare la validità
degli hyperlink contenuti nei documenti HTML. I browser in genere non utilizzano il metodo HEAD.

pag 99
Sistemi - Classe Quinta robertomana.it
RETI

Altri Comandi di HTTP 1.1


HTTP 1.1 prevede altri quattro possibili comandi : OPTIONS, PUT, DELETE, TRACE.
Interessante soprattutto PUT che consente l‟upload di un file al server.

Messaggio RESPONSE
La Response Start Line (detta anche Status Line) indica lo stato della risposta ed ha il seguente formato :
VersioneHTTP StatusCode StatusMessage CRLF
HTTP/1.1 200 OK
Alla Status Line fanno seguito eventuali intestazioni terminate con una riga
vuota a cui fa seguito il Body contenente le informazioni richieste
(tipicamente una pagina html).

Elenco dei principali Headers

Gli headers sono suddivisi in quattro tipologie:


General Applicabili a tutti i messaggi sia REQUEST che RESPONSE. Contengono informazioni generali che
non dipendono né dal client, né dal server, né dai dati trasferiti.
Request Headers utilizzabili solo nelle REQUEST e contenenti informazioni relative al client
Response Headers utilizzabili solo nelle RESPONSE e contenenti informazioni relative al server
Entity Headers REQUEST e RESPONSE contenenti informazioni relative all‟entità, cioè ai dati del body.

a) Request Headers: Informazioni inserite dal richiedente


Ad es User Agent (nome e versione del browser richiedente; utile per il riconoscimento automatico del client come
nel caso del down level support di ASP NET), Accept-Language (linguaggio naturale impostato sulla macchina
client, utile nel caso in cui il documento sia disponibile in più lingue), Accept-Charset (set di caratteri linguistici che
il client è in grado di accettare. Il formato occidentale è charset=iso-8859-1), Accept (il formato MIME con cui il
client intende richiedere la risorsa. E‟ possibile indicare, in ordine di preferenza, più formati MIME, al limite tutti
quelli che il client è in grado di riconoscere. Se la richiesta è priva di questo campo significa che il client accetta
almeno i tipi MIME base, cioè text/plain e text/html). Host ( nome del Dominio a cui è indirizzata la richiesta,
seguito eventualmente dal numero di porta. Utile ad esempio nel caso dello Smart Hosting. Es Host :
www.vallauri.edu).

b) Response Headers: Informazioni inserite dal server


Ad es Server (nome e versione del software utilizzato dal server), Age (utilizzato in scrittura dai proxy, è un intero
indicante il tempo in sec trascorso da quando il proxy ha ricevuto l‟ultimo aggiornamento della pagina dal server)
Location (Indica al browser di ridirezionare la richiesta ad una URL diversa da quella specificata nella Request-URL.
Spesso usata per reindirizzare il client verso una nuova locazione non ancora conosciuta).

c) General Headers: Informazioni Generali


Ad es Date (data in cui il messaggio è stato originato), Pragma = “no-cache” Nelle Request, indica che il browser
non vuole una pagina di cache ma vuole assolutamente avere la pagina originale (es dopo il pulsante Aggiorna).
Nelle Response invece avvisa tutti i dispositivi (proxy e browser) che la pagina non deve essere messa in cache (ad es
nel caso di una pagina dinamica). Upgrade Il client usa questo campo per indicare se supporta o meno HTTP 1.1.
Il server lo utilizza per indicare quale protocollo ha scelto.

d) Entity Headers Informazioni riferite al Body del messaggio


Ad es Last-Modified (data dell‟ultima modifica apportate all‟entità richiesta (pagina HTML)), Content-Length
(Dimensione in bytes del body), Content-Type (tipo MIME dei dati inseriti nel body), Content-Laguage (lingua in
cui è scritta l‟entità trasferita. Permette all‟utente di identificare l‟entità in accordo con il proprio linguaggio.
Expires (Data oltre la quale la risposta è considerata obsoleta, in modo che eventuali cache possano restituire una
stessa risposta per richieste multiple successive senza ricontattare il server).
pag 100
Sistemi - Classe Quinta robertomana.it
RETI

Esempio di Request Message :


GET /progetti/index.html HTTP/1.0
Host: www.vallauri.edu
From: 176.12.145.178
User-Agent: Netscape 1.1N PPC
Accept: text/html, image/jpeg, image/png, text/*, image/*
Accept-Charset: iso-8859-1, utf-8
Accept-Language: en
Accept-Encoding: x-gzip, x-deflate, gzip, deflate, identità
[linea vuota]
eventuale Body

Esempio di Response Message :


HTTP/1.1 200 OK
Date: Wed, 23 Oct 2002 08:18:47 GMT
Content-Type: text/html
Pragma: no-cache
Server: Apache/1.3.26 (Unix) PHP/4.2.3
X-Powered-By: PHP/4.2.3
Age: 7673
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Connection: Keep-Alive
Keep-Alive: timeout=25, max=85
Set-Cookie: PHPSESSID=8fd7c6a69c84da8276187e18a3067b85; path=/
[linea vuota]
Body

Cookies
HTTP, essendo stateless, non mantiene una connessione stabile durante la transazione. Se facendo acquisti su un sito
di E-commerce la linea cade, l'ordine va perso. Né HTTP né TCP risolvono il problema.
A tale scopo sono stati introdotti i cosiddetti cookies. Un cookie è una specie di variabile con un nome ed un valore
che viene inviata dal server al client, memorizzata sul disco da parte del client, e richiesta dal server al client quando
necessario. In questo modo il server riesce in ogni caso a riconoscere il client e a leggere eventuali informazioni di
stato, anche nel caso in cui l‟utente si colleghi da reti totalmente diverse ma sempre con lo stesso portatile.
Set-Cookie : viene utilizzato dal server nelle Response per chiedere al browser di memorizzare un nuovo cookie
Cookie : viene utilizzato dal browser nelle Request per segnalare un cookie al Server.
ES: Set-Cookie : "Nome=ValoreMD5; expires=Friday, 31-Dec-99 23:59:59 GMT; path=/"

Protocolli supportati da un browser


Una URL contiene non solo le coordinate della risorsa da ricercare nella rete, ma anche il metodo (protocollo) con
cui si intende accedere alla risorsa. Un browser, oltre a HTTP , supporta diversi altri protocolli Internet di accesso a
risorse differenti, come i file di un file system, news, etc. I protocolli supportati da un browser sono in genere:
HTTP Accesso ad un Web server HTML
FILE Accesso ad un SMB Server (normalmente attraverso una rete locale).
FTP Accesso ad un FTP Server (normalmente attraverso una rete geografica).
TELNET Apre una sessione interattiva all‟interno di una finestra di prompt
NEWS Accesso ad un newsgroup (gruppi di discussione) attraverso il protocollo NNTP
GOPHER Obsoleto. Protocollo di accesso a documenti html con connessione sempre aperta
Nota: La notazione utilizzata dal protocollo FILE per accedere ad un server SMB (di cui si conosce il nome
NetBIOS), è la sintassi UNC (Universal Naming Convenction), simile alla URL ma con il backslash \ al posto dello
slash /.
pag 101
Sistemi - Classe Quinta robertomana.it
RETI

Proxy Server
Si indica come PROXY (Proximity = Macchina di Prossimità. Termine inglese che letteralmente significa
procuratore) un generico dispositivo che ha come scopo quello di mostrare “come se fosse locale” un qualcosa che
in realtà si trova da qualche altra parte sulla rete.

I protocolli Proxy operano a livello 7 e dunque dipendono dal protocollo. Esistono cioè diversi tipi di Proxy Server
(HTTP, FTP, SMTP, POP3), in genere conglobati all‟interno di un medesimo pacchetto.
Interponendo un proxy tra un client ed un server remoto, il client invia le richieste al proxy invece che al server
remoto. Il proxy legge (ed eventualmente modifica) la richiesta e crea una nuova richiesta da indirizzare al server
remoto in cui imposta se stesso come richiedente. Il Proxy Server tiene traccia delle richieste in modo da poter poi
inoltrare correttamente al client le pagine html ricevute come risposta dai server remoti.

Router: instrada i pacchetti senza modificare gli indirizzi IP. Va bene per host con indirizzo pubblico.
NAT: modifica gli indirizzi IP a livello 3 senza “entrare” nel dettaglio dei protocolli di livello superiore. L‟azione del
NAT è completamente trasparente sia al client che al server ed è completamente indipendente dal protocollo in uso.
Proxy analizza il messaggio fino a livello 7, dunque è strettamente legato al protocollo in uso, del quale deve
conoscere perfettamente la struttura (intestazioni) e spesso ne modifica alcuni parametri. Inoltre il proxy non è
trasparente, nel senso che un client deve essere configurato in modo opportuno affinché invii le richieste al proxy.

Proxy HTTP
Un tipico esempio di proxy è il Proxy Server HTTP integrato nel CD di Windows XP Server che consente l‟accesso
centralizzato ad Internet da parte di tutti gli host di una LAN. Un altro Proxy Server HTTP molto diffuso è Squid,
(porta standard 3128) nato in ambiente Linux ma disponibile anche per Windows. Il fatto di “uscire” attraverso un
Proxy Server invece che attraverso un semplice Router di Gateway presenta sostanzialmente 3 vantaggi:
 caching: Il Proxy Server può memorizzare le pagine web per tutti gli host della rete, minimizzando il traffico
verso l'esterno. Può cioè immagazzinare per un certo tempo le pagine richieste da un utente e se un altro
effettua le stesse richieste, entro un certo timeout, può rispondere senza dover consultare il server originale. Il
pulsante “Aggiorna” del browser va comunque ad impostare un apposito parametro dell‟intestazione HTTP
in modo da forzare il Proxy ad eseguire una richiesta verso l‟esterno senza utilizzare la cache.
 Controllo centralizzato: su un proxy server si possono applicare filtri abbastanza approfonditi per
determinare sia in uscita verso Internet sia sulla pagine ricevute in ingresso come risposta. Ad esempio
in USCITA si possono bloccare tutte le richieste verso uno specifico indirizzo
in INGRESSO si possono bloccare tutte le pagine che contengono ad esempio più di 10 volte certe parole.
Ci sono oggi anche dei filtri basati sui colori. Se la pagina contiene oltre il 70% di colore rosa la blocco.
Anche IE ha dei filtri di protezione, che però non sono molto efficienti.
 Monitoraggio interno: un proxy può tenere traccia di tutte le operazioni effettuate (es, tutte le pagine web
visitate), consentendo statistiche sull'utilizzo della rete che però possono anche violare la privacy degli utenti

Per contro un proxy :


 E‟ più lento:rispetto alle NAT (lentezza comunque compensata dal caching)
 Richiede una configurazione sul client

Inoltre
 Nel caso di un reindirizzamento verso un Proxy HTTP, il browser invia al proxy anche le DNS Request e il
Proxy provvederà lui a risolvere i DNS Name, fornendo anche un servizio di Cache DNS.
Per i nomi non contenuti nella cache il Proxy provvederà a contattare il proprio DNS Primario.
 Un proxy (come del resto anche il NAT) può garantire un maggiore livello di privacy verso
l‟esterno, mascherando il vero indirizzo IP del client che ha effettuato la richiesta. Il Proxy Server infatti
presenta all‟esterno il proprio IP, e non quelli interni alla rete locale, che risulta così maggiormente protetta.

pag 102
Sistemi - Classe Quinta robertomana.it
RETI

Configurazione di un browser per l‟accesso ad un Proxy Server HTTP


Su tutti gli host della rete occorre impostare manualmente l‟indirizzo della macchina che funge da Proxy Server (con
relativo numero di porta). Questa impostazione è prioritaria rispetto all‟indirizzo di Default Gateway, nel senso
che, anche se esiste un Router di Default Gateway, un browser configurato come Proxy Client invia le richieste al
Proxy Server anziché al Default Gateway.
Dal menu Strumenti di IE selezionare Opzioni Internet e selezionare la scheda Connessioni

Nella prima finestra che compare occorre selezionare una delle seguenti voci:
 “Non utilizzare mai connessioni remote” oppure
 “Usa connessione remota se non è disponibile una connessione di rete

Clickare quindi sul pulsante “Impostazioni LAN” ed eseguire le impostazioni riportate nelle figure sottostanti :
 Deselezionare la casella denominata Rileva automaticamente impostazioni (che serve per ICS)
 Selezionare la casella denominata Utilizza un server proxy server per le connessioni LAN
 Selezionare la casella denominata Ignora server proxy per indirizzi locali (*)

Proxy.vallauri.net 3128
8080

(*) Sono considerati indirizzi locali


 gli indirizzi IP appartenenti alla stessa rete IP cui appartiene l‟host
 i DSN Name appartenenti allo stesso dominio a cui appartiene l‟host (xxx.vallauri.net) e di conseguenza
anche i nomi privi di dominio (es mmserver) a cui viene automaticamente concatenato il nome del dominio a
cui la macchina appartiene (vallauri.net).
Pertanto il Nome www.vallauri.edu non è considerata locale e la DNS Request verrà inviata al Proxy.

Trasparenza rispetto i cookies


Il proxy è del tutto trasparente rispetto ai cookies che consentono pertanto ai server web di riconoscere il client
nonostante l‟intromissione del proxy che inoltra i cookies senza modificarli.

Altri servizi forniti da un Proxy Server HTTP


 Attivazione e disattivazione automatica del collegamento telefonico a seguito di un certo timeout di inutilizzo
 Verifica dello stato della connessione da un qualsiasi PC con relativa possibilità di attivazione manuale

pag 103
Sistemi - Classe Quinta robertomana.it
RETI

Nota: Transparent Proxy e Non-Transparent Proxy


Un Proxy HTTP può modificare l’intestazione HTTP delle richieste che invia. In base a ciò i Proxy possono essere:
 Altamente Anonimi: non trasmettono nessuna informazione aggiuntiva.
 Anonimi: non trasmettono l'IP del richiedente ma modificano comunque alcune intestazioni.
 Non anonimi: aggiungono alcuni header alla richiesta trasmessa dal browser segnalando la presenza del
proxy e l'indirizzo IP del richiedente.
 Distorcenti: trasmettono un IP casuale, diverso da quello del richiedente e modificano o aggiungono alcuni
header. Offrono una notevole protezione in quanto il server web vede le richieste di uno stesso utente come
provenienti da indirizzi IP diversi.

Servizio Windows ICS Internet Connaction Sharing

In ambiente Windows, per facilitare l‟accesso a Internet in piccole reti locali private, è disponibile il servizio ICS che
può essere attivato sul computer che ha la connessione a Internet (che deve rimanere sempre acceso), consentendo
agli altri client della rete di collegarsi ad Internet attraverso questo servizio.

Configurazione di un server ICS sul computer gateway (cioè quello che dispone della connessione Internet) :
 aprire Pannello di Controllo / Connessioni di Rete
 Selezionare la connessione WAN da condividere e fare tasto destro / Proprietà
 Sulla scheda Avanzate selezionare la “Condivisione Connessione Internet”

In pratica viene attivo sul PC un servizio di IP forwarding, trasformando il PC in un router d uscita verso Internet

Configurazione dei Client,


Dal menu Strumenti di IE selezionare Opzioni Internet e quindi la scheda Connessioni e Selezionare la voce:
 “Non utilizzare mai connessioni remote”
Clickare sul pulsante “Impostazioni LAN” ed eseguire le seguenti impostazioni :
 Selezionare la casella denominata Rileva automaticamente impostazioni
 Deselezionare la casella denominata Utilizza un server proxy server per le connessioni LAN
 Selezionare la casella denominata Ignora server proxy per indirizzi locali
In questo modo gli host della rete riconoscono automaticamente il Server ICS mediante dei broadcast.
In alternativa è possibile impostare l‟indirizzo IP del server ICS come Default Gateway di tutte le macchine.

pag 104
Sistemi - Classe Quinta robertomana.it
RETI

Il protocollo FTP
Protocollo client-server per lo scambio di file attraverso una rete TCP/IP.
Consente di eseguire download, upload, semplice spostamento di files da una cartella all‟altra del server.
A differenza di HTTP, che è senza stato (cioè stabilisce ogni volta nuove connessioni), quando un client FTP
stabilisce una connessione con un server FTP, la connessione rimane aperta e attiva anche in assenza di comandi, fino
ad un esplicito comando di chiusura. In realtà i Server FTP abbattono la connessione dopo un timeout di inattività
per cui il client, se vuole mantenere la connessione attiva, ogni n minuti deve inviare un messaggio al server.
In tal modo il server FTP può gestire informazioni di stato relative ad ogni client connesso. In particolare
l‟informaz di stato più importante gestita da FTP è la Working Directory (cartella corrente) che, all‟apertura della
connessione, corrisponde alla root directory della cartella a cui il client ha fatto accesso, e poi, finché la connessione
rimane aperta, consente al client di spostarsi da una cartella all‟altra, cioè di navigare le cartelle del server.
Il comando CWD (Change Working Directory) consente al Client di modificare la cartella di lavoro sul server.

Download di un file da un sito web via HTTP


Anche HTTP consente download e upload di files da un server, però HTTP, essendo senza stato, non consente la
navigazione del File System remoto, costringendo l‟utente a inserire ogni volta il percorso del file da scaricare,
percorso che normalmente è contenuto all‟interno di un collegamento ipertestuale (attributo HREF del tag <a>).
Il protocollo HTTP, nel proprio body, può trasportare qualsiasi tipo di file, compresi gli eseguibili. Prima di iniziare
il download, il browser richiede all‟utente se eseguire l‟applicazione o se salvarla su disco. In tal caso chiede anche
dove salvare il file. In entrambi i casi il file <a href=”…”> viene trasportato sulla macchina client, dopo di che :
 Su l‟utente aveva scelto salva il browser provvede semplicemente a salvare il file sul percorso indicato.
 Su l‟utente aveva scelto esegui il browser provvede a “passare” il file al SO che lo manda in esecuzione.

Funzionamento di FTP Utilizza due canali separati :


 un canale di controllo sulla porta 21 (protocollo PI = Protocol Interpreter) per la gestione della connessione
e l‟invio dei comandi. Questa connessione, una volta stabilita, rimane aperta fino al comando di chiusura.
I comandi che il client può inviare sulla connessione di controllo sono comandi testuali in formato Ascii a 7
bit seguiti da eventuali parametri e chiusi con un \n, eventualmente inviabili anche tramite Telnet. Il server
risponde ai comandi del client con codici di stato seguiti da una descrizione (esattamente come HTTP)
 un canale per la trasmissione dei dati sulla porta 20 (protocollo DTP = Data Transfer Protocol).
Ogni volta che si rende necessario un trasferimento di dati (download o upload), viene aperta una nuova
connessione dati che rimane aperta soltanto per il tempo necessario al trasferimento (come HTTP)

Client FTP : FileZilla


Il client FTP può essere costituito da una semplice interfaccia a riga di comando (Windows ne contiene uno
eseguibile semplicemente digitando FTP in una finestra di prompt), oppure può essere costituito da una interfaccia
GUI (interfaccia grafica a finestre) come ad esempio CuteFTP, SmartFTP o FileZilla (figura) di estrazione Linux.
Per accedere ad un FTP Server occorre innanzitutto disporre di Username e Password (che nel caso degli spazi web
forniti dagli ISP normalmente coincidono con username e password di posta elettronica). Il pulsante di destra
“Connessione Veloce” consente di stabilire la connessione con il Server. Dopo di che:
 La finestra di sinistra rappresenta la cartella locale mentre la cartella di destra rappresenta la cartella remota.
 I file possono essere trascinati da una parte all‟altra come avviene normalmente in Gestione Risorse.
 Il client può inserire, modificare e cancellare file della cartella remota come se fosse una cartella locale

pag 105
Sistemi - Classe Quinta robertomana.it
RETI

Modalità Passiva e Modalità Attiva


Per quanto riguarda il trasferimento dati, il server TCP in attesa di connessioni può indifferentemente essere creato
sia sul Server FTP (modalità passiva) sia sul Client FTP (modalità attiva).
Modalità Passiva : (con riferimento alla figura precedente)
Nella modalità passiva, nel momento in cui il Client intende inviare al server una richiesta di download / upload di un
file, invia al server sul canale 21 un comando PASV (PASSIVE) in corrispondenza del quale
il Server crea un nuovo demone dati in ascolto su una porta effimera generata casualmente. Dopo di che:
 Il server risponde al comando PASV con un msg “227 Entering Passive Mode (213,205,40,153,158,155)”
contenente indirizzo IP e porta effimera di ascolto del demone dati appena creato. Il numero di porta è espressa
dagli ultimi 2 numeri dopo l‟indirizzo IP (In figura 158.155 che significa 158 * 256 + 155 = 40.603).
 Il Client, ricevuta la risposta del server, istanzia un nuovo socket dati (newSock) che si va a connettere al
Demone Dati del Server sulla porta 40.603.
 Il Client Invia sulla porta 21 del Server un comando RETR nomeFile chiedendo al Server di spedire sul canale
dati una copia del file indicato.
 Il Client esegue la lettura dei dati mediante il solito metodo newSock.Receive
La connessione DATI verrà chiusa al temine della trasmissione del file.
In corrispondenza di una nuova richiesta il server aprirà un nuovo demone dati su una nuova porta effimera.

Il fatto di non usare una porta di ascolto fissa (es la porta 20) ma generare ogni volta porte effimere differenti,
consente al client di creare più connessioni di download (o upload) parallele. Ad esempio il client può richiedere una
prima connessione per il download di un certo numero di files, poi una seconda connessione parallela (su una
seconda porta effimera) per il download di un secondo gruppo di files e così via. Il server, per ogni client, tiene un
elenco di abbinamenti fra porte effimera ed elenco di files richiesti su quella porta effimera.
In realtà il problema potrebbe essere risolto anche utilizzando una unica porta (con dei cloni del server stesso), però
diventerebbe tutto più complicato perché, dopo aver aperto una connessione, il client dovrebbe inviare al server un
identificativo (definito dal server) relativo ai dati da scaricare.
Il grande problema della modalità passiva, indicata talvolta come “incubo dei sistemisti”, è che se a monte del server
è presente un firewall di protezione, questo non può assolutamente sapere su quale porta verrà aperto il demone dati,
per cui occorre necessariamente conoscere quali sono le porte effimere utilizzate dal SO ed aprire sul firewall
l‟intero range di porte effimere utilizzabili dal server. Negli ultimi anni sono invece nati i firewall di livello 7 che,
analizzando le intestazioni di livello 7, sono in grado di monitorare le connessioni FTP e, in corrispondenza di una
richiesta PASV, sono in grado di intercettare la risposta del server ed aprire automaticamente la porta dati scelta,
accettando soltanto connessioni dall‟indirizzo IP del client che ha inviato il comando PASV.

pag 106
Sistemi - Classe Quinta robertomana.it
RETI

Modalità Attiva : Spostamento del problema sul client


Questa modalità, dal punto di vista del server, è più semplice della precedente. Il Client, nel momento in cui vuole
eseguire il download / upload di un file, prima di inviare al server sul canale 21 il comando vero e proprio, deve:
 creare un demone dati TCP in ascolto su una porta effimera generata casualmente (normalmente la porta
successiva “n+1” rispetto alla porta effimera utilizzata per la connessione al canale di controllo.
 inviare sulla porta 21 del Server un comando PORT 80.125.78.213.158.156 che serve per comunicare al
server Indirizzo IP e Porta del demone appena istanziato. Come nel caso precedente i primi 4 numeri
rappresentano l‟indirizzo IP mentre gli ultimi 2 numeri rappresentano la porta.
Ad esempio i numeri 158.156 rappresentano la porta 158 * 256 + 156 = 40.604
 Il server istanzia un socket dati “client” che, tramite la porta 20, esegue una richiesta di connessione al
demone – dati istanziato sul client
 In corrispondenza della richiesta di connessione del server, il Client esegue un Accept ( ) sul canale dati
A questo punto il client può inviare sulla porta 21 del Server un comando RETR nomeFile chiedendo al Server di
spedire sul canale dati il file indicato. In corrispondenza del RETR il server spedisce il file sul canale dati.
Il vantaggio della modalità attiva è che sul Firewall lato server è sufficiente aprire la porta 21 in ingresso e la porta 20
come porta mittente di uscita, demandando al client il compito di aprire un demone dati. Molti FTP Server, negli anni
passati, prima dell‟avvento dei firewall di livello 7, gestivano solo la modalità attiva.

Il Browser come Client FTP


I browser possono essere anche essere
utilizzati come client FTP. E‟ sufficiente
indicare il protocollo FTP nella URL e
farlo seguire dall‟indirizzo di un FTP
Server che accetti un login anonimo
oppure specificando username e pwd
in chiaro ! con la seguente sintassi :
ftp://nomeUtente:Password
@NomeFTPServer.Dominio
In pratica il browser invia sulla porta 21
del server un comando LIST richiedendo
i file della cartella ROOT di quell‟utente.
Clickando su una cartella si può vedere il
contenuto. Con tasto destro si può fare il
download di un file. (“Salva con nome”).
Non è consentito l‟upload.

TFTP e SFTP
Trivial FTP si basa sul protocollo UDP, utilizza la porta predefinita 69 ed utilizza datagram di lunghezza fissa pari a
512 bytes. Rispetto ad UDP, TFTP segmenta i dati ed applica un protocollo di tipo STOP and WAIT, cioè il
server, dopo ogni pacchetto corretto, risponde con un ACK. In assenza di ACK un apposito timer forza il rinvio del
pacchetto. TFTP è spesso utilizzato per salvare su un PC remoto la configurazione dei router.
I limiti principali rispetto ad FTP sono:
 Non gestisce l‟autenticazione
 Non consente di scorrere l‟albero delle directory.
I seguenti comandi, digitabili direttamente dal prompt dei comandi sia in ambiente Windows sia in ambiente Linux,
oppure mediante una sessione TELNET, consentono download e upload di un certo fileName su un TFTP Server:
tftp serverName get filename.txt c:\miaCartella\mioFile.txt
tftp serverName put filename.txt c:\miaCartella\mioFile.txt
SFTP è una versione sicura di FTP appoggiata su SSL [Porta 22]

pag 107
Sistemi - Classe Quinta robertomana.it
RETI

Il protocollo TELNET
TELETYPE NETWORK Protocollo “storico” di Internet disponibile in tutte le implementazioni TCP/IP. Definisce
un network virtual terminal (NVT terminale virtuale di rete) cioè una interfaccia testuale di comunicazione con un
server remoto. L‟utente, attraverso una interfaccia a linea di comando, può inviare comandi ad un server remoto
come se li digitasse direttamente sul server. Dal verbo "to telnet" che significa “stabilire una connessione di rete.
In pratica Telnet permette ad client di stabilire una connessione TCP con un server remoto in ascolto di default sulla
porta 23. Stabilita la connessione, Telnet rilancia al server remoto i caratteri digitati sulla tastiera dell'utente come se
essi fossero stati digitati sul server. Infine il server rimanda l'output indietro al client. Il servizio è definito trasparente
perché dà l'impresssione che la tastiera e lo schermo dell'utente siano attaccati direttamente alla macchina remota.

In ambiente Windows è disponibile un semplice Client Telnet (“telnet.exe" nella cartella "windows”).
Per lanciare il client TELNET occorre scrivere :
 "telnet" nella finestra del prompt dei comandi
 Pulsante START, esegui "telnet".

E‟ anche possibile specificare un numero di porta diversa dalla porta standard del servizio telnet, in modo da
connettersi a servizi differenti quali ad esempio un Mail Server o un Web Server e “dialogare" con essi utilizzando
l'opportuno protocollo. Anzi, dal momento che i Server Telnet sono ormai praticamente in disuso, l‟unico utilizzo
ancora esistente del protocollo Telnet è quello di amministrazione di server remoti attraverso una rete, nel qual caso il
client telnet si limita a stabilire la connessione con il server. L‟utente dovrà poi inserire i comandi testuali da inviare
al server ed il client telnet provvederà ad inviare i comandi al server esattamente come farebbero un browser oppure
un client di posta. Un utilizzo classico di telnet è il collegamento ad un server di posta per eseguirne il debug. Es:
telnet mail.valluri.edu 25
telnet www.google.it 80
L‟ultima riga rappresenta un modo estremamente rapido per vedere se un host è in grado di uscire verso internet.
Se non si generano errori, significa che l‟uscita è ok ed il server HTTP è in attesa di comandi.

Comandi Base di Telnet


Il protocollo Telnet utilizza una interfaccia a riga di comando costituita da diversi comandi testuali. Essendo i server
telnet ormai in disuso anche questi comandi hanno perso di significato. Digitando comunque ? all‟interno di unl
client Telnet viene mostrato l‟elenco completo dei comandi base Telnet. Tra i comandi Telnet ricordiamo:
open hostname/indirizzoIp [porta] Stabilisce una connessione con il server indicato, che può essere espresso
mediante un indirizzo IP o mediante un DNS name. Il numero di porta è facoltativo, se omesso si intende
la porta di default di telnet, cioè 23. Questi parametri possono anche specificati sulla linea di comando.
close chiude la connessione corrente.

Una volta stabilita la connessione, l‟utente può digitare gli specifici comandi testuali da inviare al server.
In corrispondenza di ogni invio il client Telnet provvede ad inviare la richiesta al server
L’utilizzo del protocollo Telnet attraverso Internet è sconsigliato per ragioni di sicurezza. I daemon telnet, scritti agli
inizi degli anni 80, sono abbastanza leggeri e quindi facilmente vulnerabili. Inoltre Telnet non esegue crittografia.

Il protocollo SSH (Secure SHell)


Il problema della sicurezza ha fatto sì che l'uso di telnet sia rapidamente decaduto a favore del suo successore SSH
(Secure SHell cioè Shell Sicura) rilasciato nel 1998. Il client SSH ha una interfaccia a linea di comando simile a
quella di telnet, ma l'intera comunicazione (ovvero sia l'autenticazione sia la sessione di lavoro) avviene in maniera
cifrata tramite crittografia asimmetrica. A tal fine il Client deve generare una coppia di chiavi a 128 bit (ssh –keygen
–t rsa). Le chiavi vengono salvate in una sottocartella .ssh all‟interno del profilo utente (la chiave privata in un file
id_rsa, quella pubblica nel file id_rsa.pub). La chiave pubblica viene inviata al server in corrispondenza della prima
connessione; la chiave privata viene conservata dall'utente. La porta di ascolto del server SSH è la porta 22

pag 108
Sistemi - Classe Quinta robertomana.it
RETI

Posta Elettronica
Servizio client – server leggermente diverso rispetto al solito modello di un client che si connette al server per
ricevere delle informazioni. E‟ costituito dai seguenti componenti fondamentali
 un Mail Server (es Microsoft Exchange Server) che gestisce un insieme di Mail Box (Caselle di Posta)
 un protocollo SMTP che inoltra le mail ai Mail Server e le accoda nelle Mail Box
 un Client di Posta (detto User Agent, ad es Outlook Express e Eudora Light ora sostituito da Netscape
Messenger) che opera off-line e si connettono al Mail Server solo per inviare nuovi messaggi (mediante il
protocollo SMTP) o per scaricare i messaggi ricevuti (mediante i protocolli POP3 o IMAP).

Struttura delle Mail Box


Il formato degli indirizzi di posta è il tipico formato NomeUtente@NomeDominio che indica che l‟utente in
questione dispone di una Mail Box presso (at) il Server di Posta del dominio indicato.
Per ogni utente registrato il Mail Server gestisce una Mail Box costituita da una o più cartelle in cui vengono
accodati, un file per ogni messaggio, tutti vari i messaggi destinati alla Mail Box.
Il Client di Posta deve essere configurato con le informazioni del Mail Server relativo alla Mail Box dell‟utente, in
modo che l‟utente possa collegarsi al proprio Mail Server sia per spedire nuove mail sia per leggere le mail ricevute

Il protocollo SMTP (Simple Mail Transfer Protocol) TCP porta 25


 Quando un utente invia un messaggio di posta tramite un Client di Posta (o una Applicazione Web oppure
Telnet), il messaggio viene inviato via SMTP al proprio Mail Server il quale poi lo invia al destinatario. Lo
scopo di inviare il messaggio al proprio Mail Server è quello di poter validare i dati del mittente.
 Ogni Mail Server svolge la doppia funzione sia di Server (in attesa di ricevere messaggi da un Client di Posta
oppure da un altro server) sia di Client (nel momento in cui spedisce un messaggio ad un altro Server).
La componente Client di un SMTP Server è detta Delivery Agent. Essa:
- sul Server Mittente, si occupa di spedire il messaggio al Mail Server di destinazione
- sul Server Destinatario provvede ad accodare fisicamente il messaggio nella mailbox del destinatario.
 Il Mail Server opera in ascolto continuo sulla porta 25. Tutti i messaggi ricevuti sulla porta 25 (sia quelli
ricevuti dai Client di Posta che intendono spedire un messaggio, sia quelli ricevuti da altri server di posta
esterni) vengono inseriti all‟interno di una apposita coda temporanea gestita secondo le tipiche modalità del
Produttore Consumatore. Mentre la componente server aggiunge messaggi in coda, la componente client
(il Delivery Agent) scandisce questa coda estraendo uno alla volta i messaggi presenti.
- Se il messaggio è destinato ad un Mail Server diverso rispetto al server corrente, allora Delivery Agent
tenta di spedire il messaggio al Mail Server di destinazione. In caso di errore (per server insesistente oppure
per errore TCP oppure in seguito ad una risposta del tipo” utente inesistente” o “casella piena”) Delivery
Agenti invia un messaggio di errore al mittente. Se il mittente non riceve messaggiodi ritorno significa
che la mail è stata correttamente inoltrata al destinatario.
- Se invece il messaggio è destinato ad un utente appartenente al Mail Server medesimo, Delivery Agent non
rispedisce il messaggio ma si limita ad accodarlo nella Mail Box del destinatario.

Il controllo del Relay


In genere un Mail Sever invia all‟esterno soltanto le Mail che hanno come sorgente un utente valido, cioè
registrato all‟interno del Server stesso (controllo del Relay). Eventuali Server di Posta che non eseguono questo
controllo e trasmettono il messaggio qualunque sia l‟impostazione del mittente sono detti Open Relay e sono
utilizzati per inviare spam. I Server Open Replay sono però ormai abbastanza rapidamente intercettati in Internet ed
automaticamente inseriti all‟interno di apposite Black List. Molti Mail Server consultano frequentemente le Black
List più autorevoli e segnano come span qualunque mail proveniente dagli indirizzi contenuti nelle Black List.
Ad esempio il Mail Server del Vallauri non esegue controlli sulla posta locale (è possibile utilizzare come mittente un
nominativo inventato), ma spedisce verso l’esterno soltanto mail con mittente valido.

pag 109
Sistemi - Classe Quinta robertomana.it
RETI

Sintassi dei comandi SMTP


I comandi SMTP sono al solito comandi testuali (espressi nel formato Ascii a 7 bit con ottavo bit a zero) seguiti da
eventuali parametri e chiusi con un \n. Il server risponde ad ogni comando con codici di stato seguiti da una
descrizione, esattamente come HTTP e FTP.
La connessione SMTP è di tipo persistente. L‟intera mail (compresi tutti gli allegati) viene spedita tramite una stessa
connessione esattamente come HTTP 1.1. Non solo ma nel caso in cui il Client di posta debba inviare più messaggi al
Server (tutti quelli preparati off line sul Client di Posta), anche questi vengono spediti tramite una unica connessione.
Esempio di invio di messaggio testuale da alice@tiscali.it a bob@vallauri.edu
C: HELO
S: 250 Hello
C: MAIL FROM: <alice@tiscali.it>
S: 250 alice@tiscali.it ... Sender ok
C: RCPT TO: <bob@vallauri.edu> //Recipient suddivisi da virgola o punto virgola
S: 250 bob@vallauri.edu ... Recipient ok
C: DATA // il campo data è costituito da headers rigaVuota body
S: 354 Enter mail. End data with <CR><LF>.<CR><LF>
C: Subject: mySubject //seguono altri eventuali header (CC, BCC, Reply To, Received)
C: // una riga vuota segna la fine degli headers e inizio body
C: ciao Bob! // corpo del messaggio con \n interni
C: . // La sequenza <CR><LF>.<CR><LF> indica la fine del messaggio
S: 250 Message queued for delivery
C: QUIT
S: 221 closing connection. Good bye

Il messaggio viene salvato mediante una struttura simile a quello delle pagine html, (con una head ed un body
contenente il messaggio vero e proprio). La sequenza testuale <CR><LF>.<CR><LF> indica la fine del messaggio.
Se si desidera scrivere realmente un singolo puntino su una riga vuota occorre scrivere .. (esattamente come l‟apice
in VB). Quando si scrive un messaggio tramite un client di posta, il raddoppio del puntino viene eseguito
automaticamente dal Client stesso.

La head complessiva sarà composta dai seguenti campi. espressi nel formato nome : valore
From : mittente
To : Destinatari/o principale. Le voci possono essere suddivise indifferentemente da virgola o punto e virgola
Cc : (Carbon Copy) Per conoscenza
Bcc : (Blind Carbon Copy) Per conoscenza nascosta (CCn in italiano)
Subject : Oggetto della mail
Reply-to : indirizzo al quale inviare la risposta (se il ricevente selezionerà RISPONDI). Per default uguale al mittente
Raramente i client di posta ne consentono la modifica
Received : server attraversato lungo il percorso. Possono esserci più righe di questo tipo, una per ogni Server attravers
Nota: Il comando Help:
C: HELP
S: Visualizza l’elenco dei comandi disponibili sul Server
C: HELP NOOP // Help del comando NOOP

Il Formato MIME - Multipurpose Internet Mail Extensions -


Il formato MIME, letteralmente Estensioni multifunzione alla posta di Internet, è uno standard che nasce
nell‟ambito della posta elettronica per identificare le componenti non-ASCII di un messaggio di posta elettronica
(tipicamente gli allegati). I formati MIME sono oggi indicati come Internet Media Type e sono utilizzati in
moltissimi protocolli (HTTP in primis) per indicare il formato dei vari componenti. Ad esempio in HTTP il MIME
type indica il formato di ciascun componente non testuali che concorrono a formare la pagina HTML. Si tratta di uno
standard espandibile. IANA gestisce un registro ufficiale di tutti i Media Types registrati (ormai diverse centinaia).
I MIME Type o Media Type sono costituiti da due parole chiave separate da uno slash ( tipo e sottotipo del
MIME). Alcuni formati MIME sono riportati di seguito :
pag 110
Sistemi - Classe Quinta robertomana.it
RETI

Tipo MIME Estensioni Descrizione


text/plain txt Testo puro.
text/html html htm Testo in formato HTML.
image/gif - jpeg - tiff gif jpg tif Immagine GIF - JPEG - TIFF
audio/basic - x-wav au wav File mu-law di Unix - wave

La codifica base64
Inizialmente gli allegati non testuali non venivano trasmessi in forma binaria, ma venivano trasformati in file testuali
mediante la codifica base64. Questo perché alcuni fra i primi 32 caratteri della tabella ASCII erano utilizzati come
caratteri di controllo dei modem, per cui la loro trasmissione poteva provocare comportamenti indesiderati da parte
del modem (es End Of Trasmission). Per cui tutti gli allegati venivano trasformati in testo ed accodati alla mail in
modo da creare un unico file testuale detto multipart, contenente cioè una sezione principale per il testo ed un
sezione per ogni allegato. Oggi che i modem servono soltanto a stabilire la connessione e modulare il segnale, è
possibile inviare sia mail testuali multipart, sia allegati in formato binario (dipende dall‟impostazione del Client).

Messaggio Multipart suddiviso in sezioni


Ogni sezione ha una propria intestazione in cui viene indicato il Mime Type della Sezione stessa.
Lo User Agent provvede a generare casualmente una sequenza speciale detta boundary per identificare
univocamente l‟inizio / fine di ogni sezione. Questa sequenza speciale viene inserita all‟interno della prima sezione
in modo che il ricevente possa riconoscere il carattere separatore e riconoscere correttamene le varie sezioni del
messaggio. Dopo ogni boundary inizia una nuova sezione con le proprie intestazioni. Esempio di mail multipart :
DATA
Subject: Fotografia del mio compleanno.
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=98766789
// una riga vuota segna l’inizio della 1° sezione (fittizia)
--98766789 // fine 1° sezione. Indica che la mail è in realtà multipart
Content-Type: text/plain // seconda sezione
Content-Transfer-Encoding: quoted-printable
// una riga vuota segna l’inizio della 2° sezione
Dear Bob, ecco la foto del mio compleanno
--98766789 // fine 2° sezione
Content-Type: image/jpeg // terza sezione
Content-Transfer-Encoding: base64
// una riga vuota segna l’inizio della 3° sezione
base64 encoded data ..... // inizio
........... data .........
base64 encoded data // fine
--98766789-- // fine 3° ed ultima sezione

Content-Type : Segna l‟inizio di ciascuna sezione, indicando tipo e sottotipo MIME.


Content-Transfer-Encoding indica per ciascuna sezione la codifica utilizzata per convertire l‟oggetto in testo.
La codifica Quoted-printable viene applicata ai messaggi testuali convertendoli in ASCII a 7 bit, dove ogni chr con
codice ASCII>127 viene codificato con = seguito dal codice del carattere rappresentato mediante due cifre
esadecimali (es =FF per il chr 255). In questo modo per gli ASCII > 127 si usano 3 bytes anziché uno.
La codifica base64 (detta anche uEncode dal progr Unix Encode) viene applicata agli allegati non testuali per
codificare in testuale un qualsiasi file binario. Il file viene suddiviso in gruppi da 6 bit (64 combinazioni) dove ogni
unità viene poi codificata come carattere ASCII su 8 bit. I valori Ascii utilizzati per la codifica sono 26 Maiuscole +
26 minuscole + 10 numeri più i caratteri „+‟ = 62 e „/‟ = 63. Servono 4 bytes (24 bit) ogni 3 bytes originali.

pag 111
Sistemi - Classe Quinta robertomana.it
RETI

Documento HTML con immagini inline in formato base64


<img src = ”data:image/png;base64, xxxxxxxxxxxxxxxxxxxx” />
All‟interno dell‟attributo src occorre utilizzare il cosiddetto DATA URI SCHEME che opera nel modo
seguente: data:[<MIME-type>][;charset=”<encoding>”][;base64],<data>

Il protocollo POP3 Post Office Protocol v3 (Protocollo dell‟Ufficio Postale)

Protocollo sempre di tipo Client – Server, con porta 110, basato su messaggi testuali gestibili anche tramite Telnet.
Consente, attraverso uno User Agent, di scaricare i messaggi dal Mail Server allo User Agent.. Caratteristiche :
1. POP3 non gestisce attributi di stato, tutto quello che “trova” sulla Mail Box lo scarica sul client e poi lo
cancella
2. Una interessante opzione (presente sullo User Agent) consente di “Conservare una copia dei messaggi sul
server”, in modo che possano essere scaricati su più Client in momenti differenti (in pratica si richiede a POP3
di evitare il DEL finale). In questo modo però ogni utente scarica sempre tutte le mail presenti sul server e
assenti sul client. Se scarica una mail e poi la cancella, la volta dopo la mail viene di nuovo scaricata.
3. Non prevede comandi per la gestione delle cartelle, cioè non è possibile creare nuove cartelle sul Server e
spostare messaggi da una cartella all‟altra. Per ogni utente utilizza soltanto la cartella “Posta in Arrivo”

Il protocollo POP3 va bene quando un unico utente accede alla mailbox da una unica postazione.
Spesso i provider di Web Mail gratuite impediscono l‟accesso alla posta elettronica via POP3 in quanto molti
aspetti pubblicitari andrebbero persi, ma si cerca di costringere l‟utente a consultare la posta via web, o acquistare un
account a pagamento. Al contempo sono sorti diversi programmi per aggirare l‟ostacolo (es FreePops).
SPOP3 (Secure POP) utilizza una connessione sicura tramite SSL, con porta di ascolto 995.

Il protocollo IMAP
Proposto nel 1986 rappresenta una alternativa più moderna a POP3 e rappresenta la base delle Web Mail.
Interactive Mail Access Protocol fino alla versione 3 (porta 220)
Internet Message Access Protocol dalla versione 4 in avanti (attualmente 4.1) (porta 143)
Mentre POP3 si basa sul presupposto che un solo client acceda alla mailbox tramite client di posta,
IMAP parte dal presupposto che l‟utente possa collegarsi al Server di Posta da più postazioni differenti.

La differenza principale tra POP3 e IMAP è che IMAP lascia le mail sul server mentre POP3 le scarica sul
client. IMAP richiede quindi un server estremamente capiente. Le web mail sono tutte IMAP e di solito assegnano
uno spazio disco abbastanza ridotto (max 1 GB) che per un‟azienda è troppo poco.
Nel caso degli account a pagamento con spazio disco maggiore, spesso e volentieri i provider non concedono
l‟accesso IMAP al Server (se non a prezzi ancora più elevati), proprio per invogliare gli utenti a scaricare la posta sui
client e non saturare troppo i server Oltretutto spesso le aziendepreferiscono usare i client di posta che presentano
molte più funzionalità e che, tramite POP3, possono scaricare le email dal server senza più alcun limite di capienza.

pag 112
Sistemi - Classe Quinta robertomana.it
RETI

Caratteristiche di IMAP:
1) Mentre POP3 scarica sempre l‟intera e-mail, con IMAP4 per default i messaggi rimangono residenti sul server
e, in corrispondenza del download, viene scaricata soltanto l‟intestazione del messaggio senza il body e senza
gli allegati. Permette di scaricare in un secondo momento singole parti MIME o addirittura sezioni di parti MIME.
Il corpo del messaggio viene scaricato soltanto nel momento in cui l‟utente, sul client di posta, seleziona il
messaggio per il download. Ogni volta viene creata una nuova connessione TCP. Idem per gli allegati. In questo
modo l‟utente può scegliere quali messaggi leggere e quali cancellare senza nemmeno scaricarne il contenuto.
2) IMAP gestisce per ogni messaggio particolari attributi di stato mediante i quali il client può tenere traccia dello
stato di ogni messaggio, (es msg già scaricato o già letto). Se lo stesso utente si collega al server da postazioni
diverse, una mail letta da una postazione verrà contrassegnata come “LETTA”, e risulterà “LETTA = True” anche
quando l‟utente si collega da altre postazioni. Per quanto riguarda il download sui client di pota, ogni client può
sincronizzare la propria vista con quella del server.
3) IMAP prevede una serie di comandi per la creazione di nuove cartelle all‟interno della medesima Mail Box, con
la possibilità di spostare messaggi da una cartella all‟altra (Mail Box utente articolata su due livelli).
IMAP può anche utilizzare una connessione sicura tramite SSL, con porta di ascolto 993.

Web Mail
Una Web Mail è un'interfaccia web che un Mail Server mette a disposizione dell‟utente per accedere alla
propria casella di posta via HTTP, cioè senza dover utilizzare User Agent locali. Sul Server di Posta, oltre al Mail
Server, viene in pratica attivata anche una applicazione web in ascolto sulla porta 80
Il visitatore, attraverso HTTP, scrive all‟interno di una pagina dinamica ASP il contenuto del messaggio da spedire.
In corrispondenza di un apposito Submit, l‟applicazione Web, come un normale Client di Posta, invia una richiesta
SMTP sulla porta 25 del Mail Server, “chiedendogli” di spedire il messaggio. Copia del messaggio viene
memorizzato dal Mail Server nella Casella di “Posta Inviata”.
In ricezione il web server, sempre come un normale Client di Posta, accede lui alla Mail Box mediante IMAP,
richiedendo la lista delle intestazioni di tutti i messaggi presenti, che verranno poi mostrati all‟interno di una griglia.
In sostanza il visitatore utilizza sempre comandi HTTP che il web server provvede a “tradurre” in comandi IMAP.

L‟accesso alla pagina di Web Mail, come per tutte le pagine web, può essere in chiaro oppure cifrato mediante
HTTPs. (tiscali presenta un check di attivazione selezionabile al momento del login). Velocità contro sicurezza.

Anche altri servizi come IM e VoIP sono oggi principalmente utilizzati con interfaccia web con funzionamento
simile alla posta. Idem per Drop Box riguardo a FTP.

pag 113
Sistemi - Classe Quinta robertomana.it
RETI

NETWORK SECURITY : Livello 6 Crittografia


Per crittografia si intende l‟applicazione di una codifica all‟informazione in modo da renderla leggibile soltanto al
destinatario della stessa. Problema sentito fin dall‟antichità. E‟ famosa la codifica di Cesare utilizzata da Giulio
Cesare per trasmettere ordini ai propri generali che consisteva nel riscriveva gli ordini spostando ogni lettera di un
valore costante noto. Ad esempio, utilizzando una chiave 2, si può applicare la seguente crittografia:
Passare il Rubicone diventa Rcuuctg mn Tzdmeqpg

1) Algoritmi a chiave simmetrica


 Utilizzano la stessa chiave sia per codificare che per decodificare il messaggio e sono i più diffusi.
 Caratteristiche: velocità di codifica e decodifica ed elevata sicurezza
 Problema principale : la trasmissione della chiave. Se la chiave viene intercettata, la codifica diventa inutile.
 Il più conosciuto di questi algoritmi era DES (Data Encyption Standard) proposto da IBM nel 1977 con
chiave a 40 o 56 bit. Nel 1998 la Electronic Frontier Foundation presenta un algoritmo (detto DES Cracker)
in grado di aprire, in tempi ragionevolmente brevi, un qualunque documento codificato DES.
 I principali algoritmi attuali sono IDEA (International Data Encyption Algorithm nato nel 1991 in una
Università Svizzera), 3DES, AES, CAST, RC4. Profondità tipica della chiave : 128 bit
Brute Force Dato un messaggio cifrato, con il termine Brute Force si intende il tentativo di decifrare il messaggio
generando tutte le possibili chiavi e analizzando il messaggio ottenuto mediante apposito algoritmo per vedere se ha
un senso (ad es nella lingua italiana l‟ultima lettera è quasi sempre una vocale). Nella codifica di Cesare, con 21
lettere sarebbero sufficienti 21 tentativi per decifrare il messaggio tramite un approccio Brute Force. Più è profonda
la chiave più diventano lunghi i tempi. Se i tempi sono lunghi, anche ammesso che l‟attacco vada a buon fine,
l‟individuazione della chiave e la lettura del messaggio sono ormai inutili. Considerando una chiave a 128 bit che
consente 2128 possibili combinazioni, cioè 1038, per individuare la chiave tramite Brute Force occorrono 1038
tentativi. Ipotizzando un tentativo ogni nsec (freq 1 GHz) occorrono 1029 secondi, cioè 1024 giorni cioè 1021 anni.

2) Protocollo Diffie-Hellman La base della crittografia asimmetrica


Il protocollo Diffie-Hellman consente a due entità di generare separatamente una chiave simmetrica comune
utilizzando un canale di comunicazione insicuro (pubblico) a partire da un valore di pre-master condiviso.
Il problema in apparenza viene soltanto spostato alla trasmissione del preMaster. In realtà c‟è invece una bella
differenza. Una volta condiviso il premaster, ad ogni sessione viene generata separatamente una chiave simmetrica
differente senza che nulla venga trasmesso. Questa tecnica è utilizzata ad esempio nel WiFi dal protocollo WPA-
PSK, dove la Pre Shared Key viene utilizzata sia per l‟autenticazione sia come pre Master per generare la chiave di
sessione.
Il problema è quello dei logaritmi discreti: dati due numeri di A e B di grandi dimensioni, risalire in tempi sensati ai
numeri a e b tali per cui Ab = Ba è al momento impossibile. (in modo più semplice si pensi al prodotto di due numeri
primi : è molto difficile, a partire da un certo numero, determinare quali sono i numeri primi che lo hanno generato).
Siano Alice e Bob i due interlocutori, entrambi a conoscenza di una pre-shared key che consiste in due numeri ;
 una Base g (gruppo generatore)
 un Numero Primo p utilizzato per il calcolo dei moduli.
Alice genera un numero casuale a ed esegue il calcolo A = g a mod p inviando in chiaro il valore di A a Bob
Bob genera un numero casuale b ed esegue il calcolo B = g b mod p inviando in chiaro il valore di B a Alice
Alice utilizza il numero ricevuto B per calcolare K = Ba mod p
Bob utilizza il numero ricevuto A per calcolare K = Ab mod p
I due risultati coincidono e rappresentano la chiave simmetrica che Alice e Bob utilizzeranno per comunicare.
Nota: La Pre Shared Key potrebbe anche essere resa pubblica, senza creare problemi alla crittografia. A questo punto
però l‟algoritmo diventa anonimo (non autenticato). Se uno si mette in mezzo (men in the middle) e mi fa credere di
essere il reale destinatario, io posso comunicare con lui credendo che sia il reale destinatario. Nel caso invece di una
Pre Shared Key riservata e nota a priori, solo chi conosce la preshared key può attivare una sessione protetta.
pag 114
Sistemi - Classe Quinta robertomana.it
RETI

3) Algoritmi di Hash
 Gli algoritmi di hash (detti anche one way hash in quanto unidirezionali), consentono di trasformare una
qualunque sequenza binaria (in genere testo) di lunghezza arbitraria in una stringa di lunghezza fissa
relativamente limitata (128 bit oppure 256 bit).
 Questa stringa rappresenta una sintesi del messaggio (message digest), cioè una vera e propria impronta
digitale univoca e irreversibile (si pensi di nuovo alla formula irreversibile di Diffie Helmann)
 La principali caratteristiche delle funzioni di hash sono le seguenti.
1) dato un messaggio si può facilmente calcolare il suo valore di hash
2) dato il valore di hash è impossibile risalire al messaggio (per questo one way hash)
3) E‟ altamente improbabile generare due messaggi con lo stesso digest (probabilità tendente a zero).
 I più conosciuti algoritmi di Hash sono MD5 (Message Digest v5) e SHA
Gli algoritmi di hash sono spesso utilizzati :
 Per l‟autenticazione (es protocollo CHAP utilizzato da PPP per l‟autenticazione presso un ISP. Il server invia
al client una stringa casuale che il client concatena con la propria password e crea un digest MD5 da inviare
al server che genera lo stesso digest e lo confronta). In questo modo il digest cambia ogni volta.
Un‟altra tecnica può essere quella di memorizzare nel database direttamente il digest della password.
 Nello scambio di informazioni fra dispositivi di rete. Ogni dispositivo deve conoscere una password
condivisa. Chi trasmette aggiunge in coda una impronta relativa a “messaggio da trasmettere + chiave”.
Chi riceve per verificare l‟integrità del pacchetto ricalcola il digest confrontandolo con quello ricevuto.

Algoritmi a chiave asimmetrica


 La crittografia a chiave asimmetrica consiste nella generazione di due chiavi correlate, dette chiave
pubblica e chiave privata tali per cui i messaggi codificati con una possono solo essere decodificati con
l‟altra e viceversa.
 Anche gli algoritmi a chiave asimmetrica sono basati su funzioni matematiche impossibili da invertire.
Conoscendo la chiave pubblica è impossibile risalire alla chiave privata e viceversa.
 Questo meccanismo elimina di fatto il problema della distribuzione delle chiavi. Ciascuno rende disponibile
la sua chiave pubblica, conservando la chiave privata.
 Il più conosciuto degli algoritmi a chiave asimmetrica è RSA (1978 - Rivest Shamir Adleman) considerato
praticamente inattaccabile
 Perché allora non si usa sempre RSA ? Perché, per come è strutturato, la chiave deve avere una dimensione
superiore rispetto al messaggio da cifrare (oppure si può spezzare il messaggio). Questo comporta dei tempi
di cifratura / decifratura inaccettabili quando si vuole trasferire una grande quantità di dati.
 Le chiavi RSA utilizzate nei certificati digitali hanno una dimensione fissa pari a 256 bytes
Supponendo che Alice e Bob conoscano ognuno la chiave pubblica dell‟altro, RSA può essere applicato in TRE
modi:
Caso 1 : Segretezza del messaggio. A codifica il messaggio utilizzando la chiave pubblica di B.
Nessuno al di fuori di B può decodificare il messaggio, in quanto B è il solo depositario della chiave privata.
In questo modo è garantita la segretezza del messaggio, però non è garantita l‟attendibilità di A.
Chiunque a conoscenza della chiave pubblica di B potrebbe aver inviato lui il messaggio (esattamente come
per la Pre Shared Key di Diffie Hellmann)
Caso 2 : Garanzia sulll‟identità del mittente. A codifica il messaggio utilizzando la propria chiave privata
A crea una Firma Digitale del messaggio. B potrà utilizzare la chiave pubblica di A per decodificarlo.
Rimane garantita l‟identità di A (unico depositario della chiave privata), ma chiunque, conoscendo la chiave
pubblica di A, può intercettare e decifrare il messaggio.
Caso 3 : Doppia Cifratura RSA. A può dapprima codifica il messaggio utilizzando la propria chiave privata, e
quindi applica al risultato una seconda cifratura utilizzando la chiave pubblica di B. Soltanto B, mediante la
sua chiave privata potrà “aprire” il messaggio. Un volta aperto il messaggio, potrà decodificarlo utilizzando
la chiave pubblica di A ed avere la garanzia che il messaggio provenga veramente da A.

SSL : Utilizzo di chiavi miste SSL utilizza le due chiavi RSA soltanto per comunicare una chiave simmetrica
segreta (chiave di sessione) che poi verrà usata dai due end point per la comunicazione cifrata dei dati.
pag 115
Sistemi - Classe Quinta robertomana.it
RETI

SSL Secure Socket Layer


Protocollo di crittografia di livello 6, estremamente contenuto ed affidabile, avente 3 obiettivi::
 cifratura (nessuno oltre il legittimo destinatario può conoscerne il contenuto),
 integrità (non è possibile alterarne il contenuto ponendosi nel mezzo dei due end-point della comunicazione)
 autenticazione del mittente tramite firma digitale
 Il protocollo SSL è basato sull‟utilizzo di Certificati Digitali creati in base allo standard X.509 (che ne
definisce i vari campi) e convalidati di una CA che mette “il bollino di garanzia” sui certificati stessi.
Il sistema SSL + Certificati Digitali è spesso indicato come PKI Public Key Infrastructure
 SSL venne ideato da Netscape nel 1996.
Dalla versione 3.1 è stato standardizzato dalla IETF con il nome di TLS 1.0 (Transport Layer Security)
L‟ultima release è di Agosto 2008 in cui è stato aggiunto AES come protocollo a chiave simmetrica.
 In IE all‟interno della finestra AVANZATE è possibile scegliere la versione di SSL da utilizzare.
 SSL provvede a criptare l‟intero messaggio ricevuto dal liv 7 (intestazioni comprese) e poi lo passa a TCP
 SSL è totalmente indipendente dal protocollo di livello 7 che lo utilizza. Cioè i vari protocolli di livello 7
possono interfacciarsi a SSL in modo assolutamente trasparente. Esempi di protocolli di sessione incapsulati
in tunnel SSL sono: HTTPs (secure http), IMAPs (secure IMAP), TELNETs (secure telnet), SMTPs
(secure SMTP), LDAPs (secure LDAP), POP3s (secure pop3)
Il server HTTPS utilizza per default la porta 443. Poiché HTTP e HTTPS utilizzano porte differenti, lo stesso
sistema server può far girare contemporaneamente sia il server http sia il server https. Ciò significa che un server
può offrire alcune informazioni a tutti gli utenti senza sicurezza, ed altre solo in modo sicuro:

Certificati Digitali
Un certificato digitale è un certificato di identità elettronico, cioè un documento elettronico che associa
l'identità di una persona ad una chiave pubblica.
Il Certificato Digitale viene emesso da una autorità di certificazione riconosciuta detta CA Certification Authority
(es Thawte-VeriSign) dopo una accurata analisi del soggetto richiedente e viene firmato con la chiave privata
dell'autorità stessa che appone al certificato la propria firma digitale (CERTIFICATE SIGNATURE)
Il Certificato Digitale è regolato da un preciso standard internazionale X.509, basato sull‟algoritmo RSA a 2048 bit
(cioè 256 bytes standard attuale X.509 v3, mentre lo standard precedente v2 prevedeva 1024 bit cioè 128 bytes)..
La procedura di creazione di un Certificato Digitale è la seguente:
1. Il soggetto interessato genera la propria coppia di chiavi RSA (pubblica e privata) oppure chiede all’Ente
Certificatore di genere per lui una coppia di chiavi
2. Il soggetto si identifica presso uno sportello del CA e fornisce le proprie generalità ed, eventualmente, la sua
chiave pubblica da inserire nel Certificato Digitale
3. Dopo una serie di procedure, il CA approva la richiesta di certificazione e genera il Certificato Digitale
4. l'utente riceve il Certificato Digitale firmato dalla Certification Authority mediante apposita chiave privata.
Ogni CA deve obbligatoriamente mantenere una Lista pubblica dei Certificati emessi e dei Certificati Revocati
(Certification Revocation List). Nei Certificati è contenuto anche un link a queste informazioni.
Il Certificato Digitale viene tipicamente distribuito mediante file .DER e contiene le seguenti informazioni:
 nome del proprietario a cui è stato rilasciato il Certificato
 il nome del dominio associato al Certificato
 chiave pubblica a 2048 del certificato (visualizzabile in forma esadecimale)
 nome della CA che ha firmato il Certificato Digitale
 numero di serie del Certificato
 validità del Certificato (data di inizio e data di scadenza)
 La firma digitale del CA (CERTIFICATE SIGNATURE) e l’algoritmo utilizzato per la firma (MD5 o SHA)
La distribuzione di Certificato Digitale + Chiave Privata avviene mediante files di tipo pkcs (con estensione pfx, spc
o p7b) che, in fase di installazione provvederanno a scindere la chiave privata dal Certificato Pubblico.
pag 116
Sistemi - Classe Quinta robertomana.it
RETI

Esempio di Certificato Digitale (file ca.der visualizzabile con un semplice doppio click)

CA Attendibili e Firma dei Certificati Digitali


La firma del Certificato Digitale da parte del CA, consiste nella realizzazione di una impronta del Certificato
stesso (MD5 o SHA) crittografata mediante la chiave privata del CA ed allegata al Certificato. Chi scarica e vuole
utilizzare il Certificato Digitale, disponendo della Chiave Pubblica del CA, provvede ad “aprire” la firma digitale,
leggendo il digest contenuto. Provvede poi a ricalcolare il digest. Se il digest ricalcolato coincide con quello estratto
dalla firma digitale, allora significa che il Certificato è stato crittografato con la chiave privata del CA e attendibile.
Tutti i browser incorporano al loro interno un insieme di Certificati Digitali relativi ai principali Enti di
Certificazione ritenuti affidabili (es. Thawte-VeriSign) (in realtà i criteri di selezione sono puramente commerciali).
Nel caso di IE la lista completa dei Certificati incorporati è visibile nella finestra Opzioni / Contenuto / Certificati.
In pratica quando un client riceve il Certificato Digitale di un certo server provvede a verificare la Firma Digitale
del Certificato utilizzando il Certificato Digitale del CA. Allo stesso modo quando il Client riceverà dei pacchetti dati
„firmati’ con la chiave private del server (firma digitale), utilizzerà il Certificato Digitale del Server per verificare
l‟autenticità della firma digitale dei pacchetti dati. In quest‟ottica il Certificato Digitale può essere visto come un
sistema per verificare la correttezza di una firma digitale.

Catena di Certificazione
Un ente certificato da un CA può utilizzare il proprio Certificato Digitale per creare nuovi Certificati Digitali a
catena in cui il Certificato Digitale dell‟ente viene passato come parametro al programma di creazione del nuovo
certificato. Ad es VeriSign vende un Certificato Digitale ad un Ente intermedio (es Energit), il quale lo usa per creare
Certificati Digitali propri da vendere a sua volta sul mercato ad esempio a Vallauri.
Al momento della creazione del Certificato Digitale di Vallauri, Energit usa la propria chiave privata per firmare
il Certificato di Vallauri. All‟interno del “Percorso di Certificazione” del Certificato così creato verranno indicati
prima Energit e quindi VeriSign. Con un doppio click sul Certificato Digitale di Vallauri, all‟interno dell‟ultima
finestra “Percorso di Certificazione”, è possibile verificare l‟intera catena di Certificazione del Certificato
Nel momento in cui un utente tenta di utilizzare il Certificato di Vallauri, il browser provvede automaticamente a
scaricare il Certificato dell‟Ente firmatario (Energit) che verrà installato nella apposita sotto cartella delle Autorità
Intermedie. Aprendo le firme digitali a catena, il browser arriva così a stabilire l‟attendibilità del Certificato.

pag 117
Sistemi - Classe Quinta robertomana.it
RETI

Certificati non Attendibili


E‟ anche possibile, ad es tramite IIS (Selezionare il sito da proteggere, tasto destro / Proprietà, finestra Protezione
Directory pulsante Certification Service. CA = Ente stesso) creare ex novo una coppia di chiavi RSA con relativo
Certificato Digitale della chiave pubblica. La firma del Certificato sarà realizzata con la chiave privata dell‟Ente
stesso (che effettua una specie di Autocertificazione). In questo caso il browser, al momento dell‟utilizzo del
Certificato, visualizzerà un messaggio del tipo “Certificato non attendibile” chiedendo se utilizzarlo ugualmente o
meno. In caso di risposta affermativa :
 il Certificato viene registrato come valido
 il firmatario ultimo viene riconosciuto come CA valido ed aggiunto alla lista dei CA attendibili.

Installazione ed Utilizzo del Certificato


Negli anni passati il Certificato Digitale doveva essere scaricato in modo manuale dal sito di riferimento e quindi
installato sulla macchina (comando “Installa Certificato”, che lo installa in un apposito Repository gestito dal SO).
Oggi il Certificato Digitale viene quasi sempre scaricato “al volo” in corrispondenza della prima richiesta HTTPs.
In caso di Certificato NON attendibile viene visualizzato il solito messaggio “Certificato non attendibile”.

Autenticazione Bilaterale
Il protocollo TLS permette anche un'autenticazione bilaterale (detta Mutual authentication), utilizzata in applicazioni
aziendali e nella posta, in cui entrambe le parti devono disporre di un Certificato Digitale (improbabile in un normale
scenario web) ed entrambi si autenticano in modo sicuro scambiandosi i relativi certificati.

Struttura del protocollo SSL


Le sessioni SSL sono costituite da due parti: Handshake di connessione e sessione applicativa. Durante
l‟handshake di connessione client e server si scambiano le credenziali e negoziano una chiave simmetrica che poi
utilizzeranno nella sessione applicativa. Si considera di seguito un handshake di connessione unilaterale (protocollo
TLS-PSK pre shared key) utilizzato ad esempio in HTTPs.

Sessione di Connessione (Handshake)


 Il Client invia al server HTTPs un ClientHello message contenente la versione di SSL impostata sul client più
la cosiddetta cipher suite, (insieme di codici), cioè un elenco dei protocolli di Autenticazione (typ RSA),
Crittografia (typ Idea e AES) con relativa profondità di chiave e Firma Digitale (typ MD5 e SHA) supportati
dal browser utilizzato per la richiesta
 Il Server risponde inviando in chiaro una lista di Protocolli Scelti (fra quelli supportati dal browser) e il proprio
Certificato Digitale. Questa opzione può essere disabilitata obbligando il Client ad un download manuale.
Nel caso di autenticazione bilaterale il server richiede il Certificato Digitale al Client.
 Il Client, verifica l‟autenticità del Certificato ricevuto dal Server valutando
 L‟autenticità della firma digitale (aperta con la chiave pubblica del CA)
 La corrispondenza tra il Domain Name contenuto nel Certificato ed il domain name a cui è collegato
 Una eventuale revoca del Certificato (mediante un collegamento al sito del CA)
 Il Client provvede a trasmettere al server, crittografandola tramite chiave pubblica del Server, una cosiddetta
chiave pre – master – key che i due End Point utilizzeranno per generare in modo indipendente la vera e
propria chiave di sessione
Soltanto il Server destinatario potrà provvedere all‟apertura del pacchetto mediante la propria chiave privata.
Viceversa la provenienza della richiesta non è importante; in quanto chiunque può richiedere una connessione
protetta ad un server HTTPS.
 client e server provvedono a generare separatamente la chiave di sessione sulla base del pre-master-secret
 L‟handshake di connessione è concluso e può avere inizio la sessione di scambio dati. Per prima cosa il Client
provvederà alla propria validazione mediante UserName e Password, inviate però già in modalità protetta.
 In caso di autenticazione bilaterale il client invia al server il proprio certificato e codifica con la sua chiave
private alcuni dati generati casualmente che provvede ad inviare al server per dimostrare la propria identità

pag 118
Sistemi - Classe Quinta robertomana.it
RETI

Sessione Applicativa
Client e Server trasmettono i dati codificandoli con la chiave simmetrica concordata. In coda ad ogni messaggio l‟EP
autenticato ( il server, oppure entrambi in caso di autenticazione bilaterale), aggiunge la propria Firma Digitale che
consiste in una impronta MD5 univoca cifrata con la chiave privata. Il ricevente, utilizzando il Certificato Digitale
del mittente, verifica la firma digitale che garantisce sia l‟integrità del messaggio sia l‟autenticità del mittente.

Crittografia nella Posta Elettronica


SMTP, POP3 e IMAP possono tutti e 3 avvalersi dell‟utilizzo di SSL per inviare / scaricare posta tra un client di
posta ed un mail server. Il funzionamento è esattamente quello visto nel caso di HTTP.
La mail viene crittografata al momento dell‟invio e decifrata dal ricevente prima di archiviarla.

Mail certificate e cifrate


A differenza di http, nella posta è sorta fin da subito l‟esigenza di inviare mail che, al di là della trasmissione,
venissero memorizzate in forma cifrata sul server e potessero essere lette solo dal legittimo possessore della chiave.

PGP
In quest‟ottica è nato il protocollo PGP (PRETTY GOOD PRI VACY) proposto nel 1991 da Zimmermann e
distribuito gratuitamente nella sua versione base sul sito PGP (a pagamento per le versioni complete). PGP nasce
nell‟ambito della posta ma può essere utilizzato, ad esempio, anche per memorizzare un file su un FTP server.
PGP si basa infatti sullo stesso meccanismo a chiave pubblica/privata di SSL, ma non prevede il concetto di CA.
Chiunque può emettere una coppia di chiavi pubblica / privata distribuendo la propria chiave pubblica.
Nel caso della Posta, PGP utilizza un sistema di crittografia misto: il sistema a chiavi pubbliche RSA, quello a chiave
simmetrica IDEA (con chiave a 128 bit generata casualmente ad ogni connessione) più l‟algoritmo di hashing MD5.
La chiave simmetrica anziché essere concordata durante l„handshake viene generata da chi spedisce il messaggio e
conglobata nel messaggio stesso nel modo seguente:

Messaggio Chiave simmetrica IDEA Digest


cifrato mediante IDEA cifrata con chiave pubblica del destinatario cifrato con chiave privata del mittente

Solo il destinatario, con la propria chiave Privata, può recuperare la chiave simmetrica IDEA utilizzata per la cifratura
decodificarlo, ricalcolare il Digest e confrontarlo con quello ricevuto in modo da avere garanzia del mittente.

Mail con Firma Digitale e Crittografiaa


L‟attuale meccanismo di Mail Certificate opera esattamente sulla base di PGP con l‟unica differenza che le chiavi
devono essere riconosciute da un CA. Una volta acquistato un Certificato Digitale, l‟utente può applicare la propria
Firma Digitale a tutti i messaggi di posta da inviare (in Outlook penultimo pulsante della toolbar con coccarda rossa).
Un messaggio con Firma Digitale viene trasmesso nel modo seguente:
Messaggio in Chiaro Certificato Digitale in Chiaro Digest cifrato con chiave privata del mittente
In questo modo al messaggio non viene applicata nessuna crittografia, ma è garantita l‟identità del mittente. Ogni
volta che l‟utente applica la propria Firma Digitale ad una mail, viene automaticamente allegato alla Mail anche il
proprio Certificato Digitale contenente la chiave pubblica. Il destinatario ricalcala il digest e riapre il digest cifrato
utilizzando la chiave pubblica appena ricevuta. Se i due digest coincidono significa che il sorgente è attendibile e
quindi provvede a memorizzare il Certificato Digitale nella propria Rubrica delle mail-Address.
 In Outlook tutti i messaggi inviati con Firma Digitale vengono identificati da una coccarda rossa.
 Nella Rubrica dei Contatti, gli indirizzi per i quali si dispone del Certificato Digitale vengono visualizzati con una
coccarda rossa. L’ultima sottofinestra “ID Digitali” consente di vedere le proprietà del Certificato.

Quando ciascun corrispondente dispone della chiave pubblica dell‟altro, entrambi possono iniziare ad inviare email
cifrate (in outlook ultimo pulsante della toolbar, quello con il lucchetto blu) allegando la chiave simmetrica di
cifratura secondo il meccanismo di PGP.

pag 119
Sistemi - Classe Quinta robertomana.it
RETI

Virus e Antivirus

I virus sono piccoli segmenti di codice che di solito vengono accodati ad un normale file, documento o eseguibile.
Quando l‟eseguibile viene lanciato o il documento caricato in memoria, il virus entra in azione, duplicandosi su altri
file ed eseguendo azioni più o meno dannose. Tra i virus più frequenti:
E-mail virus vengono accodati ad un allegato di posta elettronica. Nel momento in cui l‟allegato viene aperto, il
virus provvede automaticamente a rispedire il messaggio a tutti gli indirizzi presenti in rubrica e ad attaccare la
macchina. Famoso virus di questo tipo “I Love You” del marzo 2000 che utilizzava una macro inserita in un
documento word ed avviata all‟apertura del documento che andava a cancellare tutti i file di sistema della macchina.
Questo è il motivo per cui ora le impostazioni Office Microsoft per default disabilitano le macro.
HTML virus simili ai precedenti sono memorizzati all‟interno di appositi script delle pagine html. Vengono attivati
in corrispondenza dell‟onLoad della pagina o sul click di un certo pulsante “Click qui per vincere 500 $”. Per
questo i browser per default hanno disabilitato l‟esecuzione degli script. Con il fatto che i messaggi di posta
elettronica possono essere scritti anche in formato HTML, questi virus possono essere inseriti anche direttamente nel
messaggio di posta ed eseguiti non appena il messaggio viene aperto.
Trojan Horses Programmi da installare che dichiarano di fare una cosa (es un gioco) e poi in realtà vanno a fare
danni o peggio ancora operano in background aprendo delle porte di comunicazione verso l‟esterno che consente ad
eventuali hacker sia di leggere le informazioni memorizzate sia di utilizzare la macchina per attacchi ad altre
macchine della rete.
Worm Letteralmente verme. Piccoli segmenti di codice che eseguono uno scan della rete per replicarsi su tutte le
macchine possibili, sfruttando eventuali porte aperte o bug di rete. Per un certo numero di giorni si replicano, dopo di
che entrano in azione. Famoso virus di questo tipo Code Red che nel 2001, sfruttando un bag di IIS e partendo da un
sito infetto, eseguì una scansione di Internet alla ricerca di altri server IIS su cui per duplicarsi. Dopo 20 giorni di
repliche, alle 00:00 GMT del 20 luglio 2001 lanciò un attacco ai web server della Casa Bianca saturandoli di richieste
web (lanciate contemporaneamente, grazie alle repliche, da tantissime postazioni differenti). La Casa Bianca fu
costretta a cambiare indirizzo IP. Microsoft eliminò l‟installazione di IIS dal default di Windows XP.

Antivirus
Gli antivirus sono programmi mirati ad individuare file infetti e ripulirli. Contengono al loro interno un database di
“stringhe virali” identificative di tutti i virus conosciuti. Essi operano secondo due modalità:
1) Possibilità di eseguire una scansione dell‟intero disco (o di singole porzioni) analizzando tutti file presenti e
ricercando al loro interno l‟eventuale presenza di una stringa “virale” che viene in tal caso rimossa. Questo approccio
diventa sempre più difficoltoso in quanto i virus sono spesso “criptati” in modo che uno scanner non riesca più ad
individuare stringhe univoche.
2) Analisi on-the-fly, cioè controllo in tempo reale dell‟esecuzione di un programma. Vengono controllate tutte le
chiamate alle API Windows o alle interrupt DOS, analizzando i comportamenti sospetti ed eventualmente
segnalandoli all‟utente. Appesantisce però notevolmente l‟esecuzione.
McAfee
Norton
Symantec

Antivirus centralizzati
Attualmente gli antivirus sono installati direttamente sui Server di Rete (antivirus - enterprise), su cui viene
installata la parte Server dell‟antivirus che provvede poi alla distribuzione automatica degli Agent Client su tutti nodi
di rete. Eseguita la distribuzione, il server provvederà anche al push automatico e costante degli aggiornamenti .
L‟antivirus centralizzato si occupa della scansione del traffico internet (sia pagine html sia e-mail con i rispettivi
allegati), ma anche della scansione del traffico interno, con particolare attenzione al file system del server (vengo
scansionati tutti i files inviati server per evitare pericolose epidemie).

pag 120
Sistemi - Classe Quinta robertomana.it
RETI

Esposizione su Internet dei Servizi di una Rete Locale

Esporre su Internet una porzione di rete locale significa avere un Server Web o un Server di Posta in Azienda e, al
contempo, accessibili da Internet. Il fatto di avere i dati “fisicamente” posizionati all‟interno della propria rete, ne
semplifica notevolmente gestione e manutenzione. Per contro si può delegare ad un Maintainer esterno la gestione
del servizio DNS che è l‟operazione più complessa (nonostante i pochi aggiornamenti necessari).
I passi da seguire per esporre su Internet una porzione di rete locale sono i seguenti:

1) Acquistare un indirizzo IP pubblico. Si può acquistare :


 Un singolo indirizzo IP da un ISP, nel qual caso si continua ad utilizzare un collegamento Punto Punto verso
un Server PPP dell‟ISP
 Una intera rete di indirizzi IP più o meno grande a seconda delle esigenze.

2) Acquistare e Registrare un dominio presso www.nic.it/domini. Es vallari.edu

 L‟acquisto di indirizzi IP può essere effettuato soltanto a potenze di due a partire a 4, cioè 4, 8, 16, etc.
Nel caso di acquisto di una intera rete di indirizzi IP l‟indirizzo “esterno” del router di uscita verso internet
sarà comunque deciso dall‟ISP, che dovrà anche provvedere a programmare la tabella di routing del router
stesso. Gli indirizzi acquistati potranno essere utilizzati a valle del router per l‟indirizzamento della “parte
pubblica” della rete interna.
 In caso di acquisto di soli 4 indirizzi IP,
 un indirizzo dovrà essere utilizzato come indirizzo di rete,
 un indirizzo dovrà essere utilizzato come broadcast,
 un indirizzo dovrà essere utilizzato per la porta interna del router
 un solo indirizzo potrà essere utilizzato per il reale indirizzamento.

In questo caso l‟unico indirizzo disponibile potrà essere utilizzato per indirizzare un singolo PC oppure per
indirizzare un secondo router a valle del router dell‟ISP (esattamente come se si disponesse di un unico
indirizzo IP). Peraltro la necessità di utilizzare un secondo router a valle del router dell‟ISP spesso deriva dal
fatto di non poter pienamente configurare a proprio piacimento il router dell‟ISP, per cui si collega in
modalità punto punto un secondo router in grado di risolvere tutte le specifiche esigenze. Per il collegamento
punto punto fra i due router si possono però tranquillamente utilizzare indirizzi priati.

Per cui, per quanto concerne gli indirizzi pubblici,


 o si acquista un unico indirizzo IP pubblico
 o si acquistano direttamene otto / sedici indirizzi.

1° Soluzione : Rete Interna Unica


Una prima semplice soluzione potrebbe essere quella di acquistare un unico indirizzo IP da assegnare alla porta
pubblica del router ed esporre su Internet alcuni server della rete locale. Ad esempio:

Web Server 10.0.0.11


In ascolto sulla porta 80. Esempio IIS, Apache, Tomcat.

Mail Server 10.0.0.12


In ascolto sulla porta 25 (messaggi in arrivo), 110 e 143 (download tramite Client di Posta), 80 web Mail.
Esempio Microsoft Exchange Sever, Squirrell Mail, SME Server.

pag 121
Sistemi - Classe Quinta robertomana.it
RETI

DNS Server 10.0.0.13


Il DNS Server Autorevole per il dominio deve contenere un file che associ ciascuna URL pubblica (es.
www.vallauri.edu) con il corrispondente indirizzo IP pubblico. Poiché si dispone di un unico indirizzo pubblico
1.2.3.4, tutte le varie URL dovranno far riferimento a quest‟unico indirizzo che in realtà è l‟indirizzo del firewall.
Il DNS Server dovrà contenere almeno i seguenti record:
record A www.vallauri.edu 1.2.3.4
record A posta.vallauri.edu 1.2.3.4
record MX Mail Server 1.2.3.4
di solito non servono record NS

PROXY Server 10.0.0.14


Per la gestione del traffico in uscita (navigazione Internet), è possibile utilizzare un Proxy Server (es SQUID), che
consente di installare vari filtri di protezione della navigazione. Il proxy tiene traccia sull‟identità del richiedente e,
in corrispondenza della risposta, provvede a convogliarla correttamente verso il client richiedente..
 I vari browser della LAN devono essere configurati per inviare le richieste al Proxy, il quale, se i criteri
di filtro sono soddisfatti, provvederà a girare la richiesta al Router impostando se stesso come richiedente.
 Il Firewall del router dovrà accettare come richieste HTTP soltanto quelle provenienti dal Proxy.
Doppio passaggio ma maggior controllo sulla navigazione.

Configurazione del servizio NAT sul Router


 Occorre definire sul router di uscita la porta WAN come porta NAT OUTSIDE.
 Attivare un servizio NAT in uscita, tale da consentire l‟uscita verso Internet degli utenti interni,
 Attivare un servizio NAT in ingresso, tale da consentire l‟accesso da Internet verso i server interni

NAT Dinamico in uscita


Per le richieste provenienti dall‟interno verso l‟esterno, il Dynamic PAT sostituisce
 l‟indirizzo privato del mittente con l‟ indirizzo pubblico della porta NAT OUTSIDE
 la porta del mittente con una porta effimera generata dinamicamente.
NAT Statico in ingresso
Per le richieste provenienti dall‟esterno verso l‟interno, il servizio NAT provvede a sostituire l‟indirizzo pubblico di
destinazione (e relativa porta ) con gli indirizzi privati impostati staticamente all‟interno delle ATT.

Apertura delle porte in uscita


Si possono chiudere tutte le porte, aprendo in uscita soltanto le seguenti:
Porta 80 per consentire agli utenti interni di accedere ai web server esterni.
Porta 443 (HTTPs) per consentire agli utenti interni di accedere alle pagine protette
Porta 25 per consentire agli utenti interni di inviare posta elettronica all‟esterno.
Porta 53 per consentire al DNS interno di risolvere gli Internet DNS Name tramite l‟accesso ad altri DNS esterni.
Porte 110 143 per consentire agli utenti interni di scaricare posta dai Mail Server esterni mediante Client di Posta.

Apertura delle porte in Ingresso


Porta 80 per consentire agli utenti esterni l‟accesso al web server locale
Porta 443 (HTTPs) se il sito gestisce dati sensibili accessibili soltanto attraverso HTTPs.
In tal caso occorre installare sul web server un certificato digitale ufficiale (150 €) o generato localmente.
Porta 25 per consentire agli utenti esterni di inviare posta elettronica al mail server locale.
Porta 53 per consentire ai DNS Server esterni di inviare richieste al DNS Server interno
Porte 110 e 143 per consentire agli utenti interni di scaricare la posta dall‟esterno mediante Client di Posta.

pag 122
Sistemi - Classe Quinta robertomana.it
RETI

Graficamente l‟apertura delle porte in ingresso può essere rappresentata nel seguente modo:

Public IP DEST Public Port Private IP Private Port


WEB 1.2.3.4 80 10.0.0.11 80
MAIL 1.2.3.4 25 10.0.0.12 25
MAIL 1.2.3.4 110, 143 10.0.0.12 110, 143
DNS 1.2.3.4 53 10.0.0.14 53

La colonna “Public IP DEST” normalmente è sottintesa, riferendosi ovviamente alla porta WAN del router.
Avendo a disposizione un unico indirizzo pubblico, ogni “Servizio” accettato in ingresso deve essere riferito ad
una porta differente. Sulla base della porta e della ATT, il Firewall deciderà su quale server instradare i messaggi.

Gestione del servizio web mail


Rimane il problema di come consentire l‟accesso web mail al Server di Posta. Se gli utenti devono consultare le
proprie mail da casa via web, devono potersi connettere al server di posta locale sulla porta 80.
Poiché tutte le richieste arrivano al Firewall, e la porta 80 del Firewall è già utilizzata per reindirizzare le richieste
verso il web server, non può essere utilizzata anche per reindirizzare le richieste relative al mail server. Tre soluzioni:
 Acquistare più indirizzi IP pubblici (eventualmente tutti concentrati sul Firewall), assegnando indirizzi IP
differenti al Web Server (www.vallauri.edu) rispetto al Mail Server (Posta.Vallauri.Edu). Soluzione “pulita”
ma più onerosa (utilizzata dal Vallauri che dispone di 8 indirizzi IP pubblici con rete 88.34.213.176)
 Una soluzione più semplice consiste nell‟ “aprire” un‟altra porta sul Firewall (ad esempio 8080 o 2525) e
costringere gli utenti della web mail ad utilizzare tale porta non standard da scrivere ogni volta sulla barra di
navigazione: http://posta.vallauri.edu:8080
 Una terza e più brillante soluzione, supponendo di disporre di un Firewall HTTP di livello 7, è quella
individuare il servizio richiesto non soltanto sulla base della porta di richiesta, ma sulla base del DNS Name
richiesto e contenuto all‟interno dell‟intestazione HTTP (in pratica lo stesso principio dello smart hosting).
In questo modo, a parità di indirizzo IP, se la richiesta riguarda www.vallauri.edu :80 viene inoltrata su una
certa macchina, mentre se riguarda posta.vallauri.edu : 80 viene inoltrata su una macchina differente.
Funzionalità disponibile soltanto con HTTP 1.1

2° Soluzione : DMZ (Demilitarized Zone)


Aprire una o più porte di una LAN ad Internet, dal punto di vista della sicurezza, è estremamente pericoloso.
 Il Firewall perimetrale esegue sì dei controlli sui pacchetti, ma non garantisce da virus e intrusioni.
 Inoltre sulle porte aperte deve necessariamente consentire l‟accesso a chiunque ne faccia richiesta.
Se qualcuno riesce a prendere possesso di un PC della rete locale, questi avrà libero accesso all‟intera rete.
Il passo successivo per avere maggiore protezione, è quello di inserire una doppia barriera tra Rete Esterna e Rete
Locale, separando fisicamente i Server Pubblici dalla Rete Locale con un secondo Firewall a protezione della rete
locale più “fine” del primo. Le due porzioni di in cui viene suddivisa la rete locale sono dette rispettivamente
 MZ (Militarized Zone) cioè la rete Locale vera e propria, protetta dal 2° firewall con regole molto stringenti
riguardo agli accessi (in pratica “blindata” rispetto ad Internet”), avente ad es l‟indirizzo privato di classe A
10.0.0.0.
 DMZ (Demilitarized Zone) contenente tutti i server visibili su Internet (ad es Mail Server, Web Server, DNS
Server). Anche l‟indirizzo della DMZ è un indirizzo privato, ad esempio 192.168.0.0
I server esposti su Internet rimangono così separati dalla LAN interna mediante un secondo Firewall
Le macchine inserite nel DMZ vengono solitamente indicate come Server di Front End, frontalmente esposti ad
Internet, che non contengono dati, ma che fanno soltanto da ponte tra Internet e la rete interna.
Per contrapposizione i server interni alla rete locale, contenenti i dati, sono denominati Server di Back End.

pag 123
Sistemi - Classe Quinta robertomana.it
RETI

Sul secondo firewall sono impostate delle regole molto stringenti che consistono nel bloccare tutte le richieste di
accesso, tranne singole e specifiche eccezioni. In genere sono ammessi soltanto comunicazioni specifiche tra un
server di front-end con il suo rispettivo server di back-end, e solo sulla singola porta necessaria. Ad esempio il web
server del DMZ, (con indirizzo 192.168.0.3), può inviare richieste soltanto verso la macchina della LAN contenente
il Database Server (es SQL Server in ascolto sulla porta 1433 o 1521 nel caso di sql net).

In questo modo, anche supponendo che un hacker possa riuscire ad attaccare un server pubblico, da esso
non riuscira' a fare partire un ulteriore attacco verso le macchine locali prima che i sistemi antiintrusione
(funzione IDS degli antivirus) lo abbiano identificato ed abbiano intrapreso le adeguate contromisure
difensive.

Schema Logico
Da un punto di vista logico, la situazione precedente può essere illustrata nel modo seguente:

1.2.3.4 10.0.0.1
192.168.0.0

Le richieste che arrivano da Internet vengono filtrate dal primo Firewall che le “gira” al DMZ senza possibilità di
accesso alla rete interna. Le richieste provenienti dalla LAN arrivano al Proxy Server della LAN che sostituisce
l‟indirizzo IP del richiedente con il proprio indirizzo IP (10.0.0.2) ed invia la richiesta al proprio Default Gateway (1°
Firewall 10.0.0.1). Il Firewall la gira al secondo Firewall che, tramite NAT, sostituisce ancora una volta l‟indirizzo
del mittente (10.0.0.2) con il proprio indirizzo pubblico (1.2.3.4) e la invia all‟esterno.

Schema Fisico
In genere, anziché utilizzare due macchine Firewall indipendenti, si utilizza una un unico Router dotato di una
interfaccia WAN (collegata al Router Pubblico) e due interfacce LAN collegate rispettivamente a LAN e DMZ.

192.168.0.1 10.0.0.1

1.2.3.4

pag 124
Sistemi - Classe Quinta robertomana.it
RETI

Macchine da posizionare nel DMZ


Allo switch del DMZ vengono collocate tutte le macchine che devono essere accessibili dall‟esterno; di solito :
1) DNS Server(ad esempio BIND) porta 53
2) Web Server porta 80
3) Mail Server porta 25 + porta 80 per le web mail
4) Eventuali Access Point Hot Spot in modo da consentire la libera navigazione ad utenti temporanei, senza
consentire loro l‟accesso alla rete locale

Macchine posizionate all‟interno del MZ


Primary Domain Controller (PDC), ad esempio ADS, DHCP, Database server, Proxy Server

Programmazione del Firewall


Occorrerà programmare separatamente
 l‟interfaccia WAN del Firewall, con attivazione del servizio NAT in ingresso (verso il DMZ) ed
eventualmente in uscita (che potrebbe anche essere del tipo “CONSENTI TUTTO”
 l‟interfaccia LAN con possibilità agli utenti locali di uscire verso l‟esterno
ma con regole molto stringenti per quanto riguarda le richieste verso l‟interno .
In genere non vengono impostate regole sull‟interfaccia relativa al DMZ.

3° Soluzione : Utilizzo di un Reverse Proxy

Per quanto riguarda il DNS Server, impostati e salvati i file di configurazione, ripristinare il Server è una operazione
abbastanza veloce. Inoltre se il DNS server rimane giù per qualche ora non è un problema gravissimo, in quanto gli
altri DNS Server hanno l‟indirizzo in cache e riescono comunque a raggiungere il sito web locale.
Viceversa, esporre direttamente su Internet un Mail Server(che contiene tutte le caselle di posta con i rispettivi dati),
è abbastanza pericoloso in quanto anche il solo backup periodico delle caselle di posta è operazione estremamente
onerosa. Un‟ulteriore accorgimento per la sicurezza è quella di spostare Mail Server e Web Server nella MZ
(facendoli diventare Server di Back End) ed esporre nel DMZ dei semplici Server Reverse Proxy,
Il Reverse Proxy è un server proxy gestito al contrario, che ridirige cioè le richieste provenienti da Internet verso i
server locali e le reindirizza verso un preciso indirizzo locale. I Server Proxy come SQUID, oltre che come Proxy,
possono in genere operare anche come Reverse Proxy.
Trattandosi di un protocollo di livello 7 provvede ad “aprire” i pacchetti fino alle intestazioni più interne (livello 7)
ricostruendo poi l‟intero stack di intestazioni facilitando ulteriori verifiche sull‟affidabilità dei pacchetti.
Il Reverse Proxy memorizza le richieste all‟interno di una apposita cache (informazioni relative al socket richiedente)
e poi ricostruisce la richiesta inviandola al server locale corrispondente. Anche se un Reverse Proxy è in grado di
gestire più porte contemporaneamente, si preferisce di solito utilizzare più macchine differenti una per ogni servizio.
In questo modo se una macchina si ferma, l‟altro servizio rimane attivo e viceversa.
In questo modo:
 Tutti i messaggi di posta sono “protetti” sul server locale.
 Il Server di Posta, essendo locale alla LAN, può fungere anche da MAIL Server interno per la posta locale.
 Se per qualche motivo il Server principale di Posta viene arrestato, il Proxy esterno può continuare a
ricevere messaggi ed eseguire cache dei messaggi ricevuti. (evitando il cosiddetto single point of failure)
 Il web server, posizionato all‟interno della LAN, può accedere in sicurezza ai Server di database
appartenenti alla stessa rete locale ed aggiornati sempre per via locale.
Sul Reverse Proxy relativo alla posta occorre aprire anche la porta 80 con ridirezione delle richieste verso il Mail
Server interno.

pag 125
Sistemi - Classe Quinta robertomana.it
RETI

ACL
Le Access Control List, sono Liste di REGOLE mirate a controllare il traffico in transito su un router statefull
inspection. Ogni entry dell‟Access Control List abilita o nega il passaggio dei pacchetti. Le ACL semplici (oggi
poco significative) tengono conto soltanto dell‟indirizzo IP Source, mentre le ACL Extended sono costituite dalle
seguenti 4 colonne :
Porta Destinazione Indirizzo Destinazione Indirizzo Sorgente Azione

 La porta del Sorgente, trattandosi di una porta effimera, non ha importanza.


 Azione può essere NEGA (Deny) oppure CONSENTI (Allow).
Sulla base delle informazioni contenute nella ACL, il Firewall decide se Consentire la Richiesta, oppure Bloccare la
Richiesta. Le regole devono essere scritte in sequenza dalle più specifiche (in testa) alle più generali (al fondo).
In corrispondenza di ogni pacchetto, tutte le regole vengono scandite dalla cima al fondo dell‟elenco.
Nel momento in cui una regola risulta soddisfatta, questa viene eseguita e la scansione interrotta

Sono possibili due tipi di Access List, a seconda di come viene impostato l‟ultimo record in fondo alla lista :
 Nega tutto tranne i pacchetti che trovano corrispondenza nelle entry precedenti (entry di consenso)
 Lascia passare tutto tranne i pacchetti che trovano corrispondenza nelle entry precedenti (entry di negazione
Naturalmente la prima soluzione fornisce maggiore sicurezza e dunque risulta preferibile.

Le Access Control List possono essere definite su ogni singola interfaccia del router e, su ogni interfaccia, possono
essere definite come
 INBOUND (cioè riferite al traffico entrante nel router)
 OUTBOUND (cioè riferite al traffico uscente dal router).
Quando un pacchetto si presenta all‟interfaccia del router (indipendentemente che provenga dall‟esterno o dal router),
il router verifica (1) se su quella interfaccia è stata definita una ACL (2) se la ACL è definita nella stessa direzione
del pacchetto (cioè se la ACL è INBOUND ed il pacchetto è entrante nel router oppure se la ACL è OUTBOUND ed
il pacchetto è uscente dal router) (3) In caso affermativo verifica se il pacchetto soddisfa ai requisiti dell‟ACL. Una
ACL OUTBOUND non ha influenza sul traffico INBOUND e viceversa.

E‟ buona norma impostare le ACL Extended sull‟interfaccia del router più vicina alla sorgente,
tenendo in conto tutte le possibili sorgenti. Cioè in pratica, quando le sorgenti da filtrare sono multiple, la ACL va
inserita sulla porta comune più vicina rispetto a tutte le varie sorgenti. In questo modo si evita di inviare in rete
pacchetti che verranno poi tagliati da ACL successive.

Sequenza delle operazioni eseguite da un router


Dato un certo pacchetto in ingresso su una qualsiasi porta del router, il router esegue sempre la seguente sequenza:
PRE ROUTING
1) verifica della INBOUND ACL relativa alla porta di ingesso del pacchetto
2) Applicazione dell‟eventuali traslazioni NAT in ingresso (solo nel caso della porta WAN, con sostituzione
dell‟indirizzo pubblico di destinazione con quello privato effettivo)
3) Consultazione tabella di routing e scelta della porta di uscita
POST ROUTING
4) Applicazione dell‟eventuali traslazioni NAT in uscita (solo nel caso della porta WAN, con sostituzione
dell‟indirizzo privato del sorgente con quello del router)
5) verifica della OUTBOUND ACL relativa alla porta di uscita del pacchetto

Esempio
Si consideri la 2° soluzione precedente con un router a 3 porte collegate rispettivamente a :
Rete Interna 10.0.0.0 DMZ 192.168.0.0 (.2 DNS server, .3 Web server, 4 Mail Server) WAN 1.2.3.4
pag 126
Sistemi - Classe Quinta robertomana.it
RETI

Dopo aver impostato sul Router una apposita tabella di routing, si possono impostare:
 una ACL INBOUND sulla porta WAN,
 una ACL OUTBOUND molto selettiva sull‟interfaccia LAN relativa alla rete interna.
Sull‟interfaccia DMZ in genere non si impostano ACL Sull‟interfaccia WAN occorre abilitare il servizio NAT sia in
uscita per consentire l‟accesso ad Internet sia in ingresso in modo da consentire l‟accesso ai server del DMZ.

ACL interfaccia WAN INBOUND


L‟utente esterno per qualunque servizio farà riferimento all‟unico indirizzo pubblico assegnato al router di ingresso
sul quale il servizio NAT, sulla base del numero di porta, ridirigerà la richiesta verso il corrispondente server del
DMZ, sostituendo IP DEST pubblico con l‟IP PRIVATO del server. Si tratta di decidere quali servizi abilitare. La
tabella seguente mostra l‟abilitazione dei principali servizi Internet. Con un firewall di liv 7 in grado di distinguere le
richieste sulla base del DNS Name si può aprire la porta 80 in ingresso sia verso il web server sia verso il mail server

Porta destinazione Indirizzo Mittente Indirizzo Destinazione Azione


ACL porta WAN in INGRESSO
80 (HTTP) Qualsiasi 1.2.3.4 NAT 192.168.0.3 Consenti
80 web mail Qualsiasi 1.2.3.4 NAT 192.168.0.4 Consenti
443 (HTTPs) Qualsiasi 1.2.3.4 NAT 192.168.0.3 Consenti
443 web mail Qualsiasi 1.2.3.4 NAT 192.168.0.4 Consenti
53 (DNS) Qualsiasi 1.2.3.4 NAT 192.168.0.2 Consenti
25 (SMTP) Qualsiasi 1.2.3.4 NAT 192.168.0.4 Consenti
110 (POP3) - 143 (IMAP) Qualsiasi 1.2.3.4 NAT 192.168.0.4 Consenti
Qualsiasi Qualsiasi Qualsiasi Blocca

In uscita verso la WAN non vengono impostate ACL OUTBOUND, lasciando tutte le porte aperte ed inserendo
eventuali filtri di navigazione come ACL INBOUND sulla interfaccia relativa alla LAN.

ACL interfaccia LAN OUTBOUND


Come protezione della LAN, si può impostare sulla porta LAN una ACL OUTBOUND molto selettiva che chiude
tutte le porte con una unica eccezione che consente al web server del DMZ di indirizzare delle richieste verso il
Server di database interno (ad esempio host 10.0.0.99 porta 1433 nel caso di SQL Server))

ACL porta LAN in USCITA (in uscita dal router)


1433 (SQL Server) 192.168.0.3 (web server) 10.0.0.99 (SQL Server) Consenti
Qualsiasi Qualsiasi Qualsiasi Blocca
ADS porta 398; MySQL porta 3306 SQLServer porta 1433

ACL interfaccia LAN INBOUND


Per quanto riguarda le richieste provenienti dalla LAN (dirette verso il DMZ oppure verso la porta WAN) si può
impostare la ACL indicata dalla tabella, in cui si aprono le principali porte sia verso il DMZ sia verso l‟esterno.
 POP3 e IMAP sono aperte soltanto verso il DMZ per cui non è possibile scaricare posta da server esterni.
 Gli utenti 10.0.0.41 – 10.0.0.80 non hanno accesso alla navigazione HTTP.
 (*) Se nella LAN fosse presente un Server Proxy, soltanto lui sarebbe abilitato a far uscire le richieste HTTP.

ACL porta LAN in INGRESSO (verso il router)


80 (HTTP) 10.0.0.41 – 10.0.0.80 Qualsiasi Blocca
80 (HTTP) Qualsiasi (*) Qualsiasi Consenti
443 (HTTPs) Qualsiasi Qualsiasi Consenti
53 (DNS) e 25 (SMTP) Qualsiasi Qualsiasi Consenti
110 (POP3) Qualsiasi 192.168.0.4 Consenti
143 (IMAP) Qualsiasi 192.168.0.4 Consenti
Qualsiasi Qualsiasi Qualsiasi Blocca

pag 127
Sistemi - Classe Quinta robertomana.it
RETI

Esercizio
Data la rete in figura definire e posizionare correttamente una o più ACL in modo tale che:
A. dalla rete Internet sia possibile solo accedere al Web server
B. agli host della rete 192.168.1.0 sia consentito accedere agli host della rete 192.168.2.0 ma non viceversa
C. agli host delle due reti 192 non sia possibile accedere al Web server
D. solo agli host della rete 192.168.2.0 sia consentito navigare in Internet

Web server
90.90.90.90

R1
3 R2
4 2 1
2
1
Rete 192.168.1.0/24 Rete 192.168.2.0/24

Internet

R1 - porta 1 INBOUND (Quesito A)


Port Source Destination Action
80 Any 90.90.90.90 Allow
Any Any Any Deny

R1 - porta 2 INBOUND (Quesiti B, C, D)


Port Source Destination Action
B1 Any 192.168.1.0 192.168.2.0 Allow
C1 e D1 Any Any Any Deny

R2 - porta 1 INBOUND (Quesiti B, C, D)


Port Source Destination Action
B1 Any (80) 192.168.2.0 192.168.1.0 Deny
C1 80 192.168.2.0 90.90.90.90 Deny
D1 80 192.168.2.0 Any Allow
Any Any Any Deny

pag 128
Sistemi - Classe Quinta robertomana.it
RETI

Il livello Data Link nelle reti Geografiche


Un collegamento geografico è un collegamento fra PC o reti remote basato su una certa infrastruttura di rete
.Inizialmente i collegamenti geografici era basati esclusivamente sull‟infrastruttura della rete telefonica pubblica.
La rete telefonica è però una linea analogica, nel senso che i dispositivi intermedi erano, almeno all‟inizio, tutti
dispositivi analogici. Poiché invece i PC sono dispositivi digitali, per poter trasmettere un segnale digitale su una
linea “analogica” occorreva un dispositivo in grado di convertire il segnale da digitale ad analogico e viceversa, cioè
eseguire una MODULAZIONE (e demodulazione) attraverso il cosiddetto modem fonico o modem tradizionale.
Nel caso invece di linee digitale, il modem vero e proprio non ha più senso di esistere. In ogni caso, anche se la linea
è completamente digitale, per poter trasmettere il segnale occorre comunque eseguire un “adattamento” del segnale
alla linea. Ecco allora che interviene il cosiddetto CSU/DSU (channel service unit / data service unit) o in gergo
modem digitale, che trasforma il frame nel formato richiesto dalla connessione WAN in uso.
Spesso il CSU/DSU è integrato in una scheda del router che pertanto diventa un modem router. In questo caso il
CSU/DSU rappresenta il DCE di trasmissione mentre il router rappresenta il DTE cioè colui che prepara i dati.
La sigla POP (Point Of Presence) rappresenta il punto di demarcazione delle responsabilità fra ISP e Utente, in
genere la presa finale presso la residenza dell‟utente, ma potrebbe essere anche una CSU / DSU affittato dal Provider
(CPE = customer premises equipment).
Il first mile rappresenta il tratto di linea che collega l‟utente alla Centrale Urbana e, in Italia, è tutt‟ora di proprietà di
Telecom. Il CSU/DSU in sostanza controlla la trasmissione sul first mile.

Reti Commutate e Reti Dedicate


Rete Commutata (o Rete Broadcast) - Rete a Larga Scala in cui ogni terminale può stabilire a richiesta una
connessione con ogni altro terminale. Le reti commutate necessitano di “commutazione” che può essere:
- Commutazione di Circuito quando, attraverso una serie di commutatori si viene a creare un collegamento diretto
e temporaneo fra i due End System, consentendo l‟uso esclusivo del canale.
- Commutazione di Pacchetto : l‟informazione viene segmentata in pacchetti ognuno dei quali può seguire un suo
percorso. Ottimo per la trasmissione dati (occupa meno banda) ma inadatto per il segnale vocale.
Rete Dedicata Rete Commutata con connessione permanente tra due o più terminali (punto-punto o multipunto)
(a commutazione di circuito fisico o, nelle reti a commutazione di pacchetto, di tipo virtual circuit).

Nota su Commutazione di Circuito e Virtual Circuit


 Commutazione di circuito significa impegnare il circuito fisico per tutto il tempo del collegamento, anche se i
due interlocutori rimangono entrambi silenti. Ad es FDM tradizionale (analogico) e TDM di ISDN (digitale)
 Virtual Circuit significa che i dati, già suddivisi in pacchetti, seguono tutti lo stesso percorso ma in modo non
esclusivo. Se uno non trasmette gli altri possono andare più veloci. Ad es STDM di Frame Ralay e ATM

Struttura della rete PSTN (Public Switched Telephone Network)


Rete Telefonica Pubblica. Nasce in Italia nel 1850 come rete telegrafica introducendo il servizio telefonico agli
inizi del 1900. Utilizza il doppino telefonico in rame (UTP categoria 1) su cui viaggiano segnali analogici con banda
limitata a 4 kHz, nel senso che su tutti i punti di accesso alla linea è inserito un filtro passa basso a 4 kHz, ( banda
lorda del canale telefonico). In realtà il segnale telefonico viene tagliato tra 300 e 3400 Hz.
I nodi finali della rete PSTN sono costituiti dalle Centrale Urbane che in Italia sono circa 10.000. Nel fossanese,
sotto l‟unico prefisso 0172, sono presenti 6 Centrali Urbane principali (Savigliano, Fossano, Bra, Racconigi, Moretta
e SommarivaBosco). All'interno della Rete Urbana la comunicazione avviene sempre in banda base passando per
gli armadi di linea posizionati lungo le strade (tranne rari casi di multiplexaggio del doppino in località rurali o poco
popolate). La coppia di cavi, dall‟armadio di distribuzione fino alla Centrale Urbana, viene inserita fisicamente
all'interno di fasci di cavi con potenzialità variabili tra 2400 e 10.000 coppie.
Allo state attuale le Centrali Urbane sono collegate fra loro tramite una tecnologia digitale denominata TDM.

pag 129
Sistemi - Classe Quinta robertomana.it
RETI

Cenni sul modem fonico


Livello 1 ISO OSI. Così come la scheda di rete provvede a modulare il segnale digitale in codice Manchester per
adattarlo alle esigenze della LAN, il modem fonico provvede a modulare il segnale digitale (proveniente dalla porta
RS232 o USB di un PC) su una portante sinusoidale adattandolo alla larghezza del canale fonico [300 – 3400 Hz].
L‟ultimo standard è il V90 a 56 kbit/sec teorici, basato su una modulazione 64 QAM con un bit di ridondanza per
l‟error check (calcolato sulla base della codifica Trellis). Il segnale modulato, con banda 300 – 3400 Hz, viene poi
immesso sulla rete PSTN come un normale segnale vocale.

Cenni sulle reti X 25


Prima rete a commutazione di pacchetto. E‟ una vera e propria struttura di comunicazione che copre i livelli 1 – 4
del modello ISO OSI (anche se il livello 4 è in pratica inesistente), basata per la prima volta su un protocollo a
commutazione di pacchetto di livello 3 detto PLP (approvato come standard dal CCITT nel 1976).
Con X.25 nasce il concetto di PSN (Packet Switched Network). La commutazione di pacchetto supera i limiti delle
linee PSTN dedicate, molto costose e spesso sottoutilizzate. La connessione tra gli End Point è soltanto virtuale ed i
dati provenienti da clienti differenti possono transitare sulle stesse linee, condividendo parti di tragitto, per cui il
costo non dipende più dalla distanza tra gli utenti, ma soltanto dalla durata del collegamento alla linea.

Cenni sulla rete ITAPAC


In Italia la prima rete PSN pubblica che implementa X.25 è stata la rete ITAPAC (ITA = Italia, PAC = Pacchetto), che offre
anche diversi servizi aggiuntivi, come es lo scambio di posta elettronica. Il nodo principale di Roma funge da gateway verso
altre dorsali Europee e sono anche disponibili collegamenti ITALCABLE con paesi extra europei.
Le reti X.25 hanno di fatto costituto la prima vera ragnatela mondiale di comunicazioni presente in più di 100 nazioni, dapprima
attraverso le reti delle singole compagnie telefoniche (es. ITAPAC) a cui si sono poi aggiunte, con la liberalizzazione delle
telecomunicazioni, molte reti private (tipicamente bancarie) operanti allo stesso modo.
Da un punto di vista strutturale, una rete X.25 può dunque essere assimilata ad una rete Internet, più lenta, basata su
tecnologie e protocolli differenti, priva del servizio WEB, e con estensione ridotta. Visti i notevoli costi di investimento,
numerose reti X.25 sono ancora oggi attive. Uno degli utilizzi ancora estremamente diffuso è la comunicazione tra gli sportelli
bancomat remoti di una banca ed i server centrali. Essendo molto meno conosciuto rispetto a TCP/IP, i protocolli X.25 sono
oggi ritenuti addirittura più sicuri rispetto a TCP/IP.

Cenni sulle reti ISDN


Lo sviluppo parallelo della Rete Telefonica da una parte e delle sempre più frequenti Reti Dati dall‟altra, ha creato i
presupposti per una nuova rete digitale in grado di integrare servizi telefonici e servizi telematici. Nasce così la rete
ISDN Integreted Service Digital Network, prima vera Rete Digitale a larga scala integrata nei Servizi.
Si tratta sostanzialmente di una rete a Commutazione di Circuito ma interamente basata su dispositivi digitali.
La multiplazione dei canali non avviene più nel dominio delle frequenze, ma nel dominio del tempo, mediante una
tecnica sincrona denominata TDM (Time Division Multiplex) . Ogni trasmettitore ha a disposizione un timeslot di
125 usec per la trasmissione di un Byte (1/125 10-6 = 8 kBytes al sec). Per quanto concerne invece la digitalizzare del
segnale telefonico, questo viene campionato a 8 Khz (125 usec) su 8 bit. Poiché fra un campione e l'altro devono
essere trasmessi tutti gli 8 bit, ne consegue una frequenza di trasmissione base fissa pari a 64 kbit/s
ISDN, oltre che nei servizi, è una rete ibrida integrata anche nelle tecniche, in quanto è in grado di implementare
anche collegamenti a commutazione di pacchetto. Utilizza come supporto di collegamento alla Centrale Urbana il
normale doppino telefonico, e l‟allacciamento alla rete avviene mediante una speciale borchia detta borchia ISDN
L‟ Accesso Base alla rete ISDN è realizzato tramite la borchia NT1 (Network Terminator tipo 1) ed è indicato con la
sigla 2B + D. Contiene 2 canali dati (canali di tipo B cioè Bearer), ciascuno con una velocità di 64 kbit/s, più un
canale di servizio di tipo D a 16 kbit/s. Ai due canali dati possono essere collegati due Terminal Equipment differenti
(TE1 e TE2), che possono operare contemporaneamente e che l'utente può sfruttare come meglio crede (2 telefoni, 1
telefono e 1 canale Internet, 2 canali Internet, un singolo canale Internet a 128 kbit/sec). Ciascun canale dati utilizza
un connettore RJ45 femmina. La multiplazione TDM fra i tre canali è integrata all‟interno della borchia ISDN.

pag 130
Sistemi - Classe Quinta robertomana.it
RETI

Accesso Primario E‟ possibile richiedere al gestore l‟utilizzo di una configurazione 5B+D (cioè 6 canali
complessivi, indicati come canale H), oppure l‟utilizzo di un intero gruppo primario costituito da 30 canali dati a 64
kbps ciascuno, più un canale di servizio (CH16) ed uno di sincronismo (CH0) sempre a 64 kbps. Questo accesso
(detto Accesso Primario) utilizza un intero Multiplo Primario PCM con velocità complessiva di 64 kbps x 32 canali
= 2,048 Mbps ed è distribuito mediante borchia NT. E‟ possibile richiedere al gestore anche un n di canali inferiore a
30 (es 10 o 15). In questi casi per ogni terminale possono essere riservati numeri telefonici separati ma contigui.
Stato Attuale: La rete ISDN non ha avuto grande fortuna, perché ha avuto tempi di sviluppo e realizzazione tecnica
troppo lunghi e, nel momento in cui è stata disponibile, è stata presto superata dalla comparsa delle linee ATM ADSL

Cenni sulle reti Frame Relay


Frame Relay (che significa Rete a Commutazione di Frame) è una evoluzione di X.25 ed è stato il primo vero
tentativo di creare una rete integrata (voce e dati) a larga scala. che ha poi notevolmente contribuito allo sviluppo di
ISDN. Caratteristiche principali della rete Frame Relay, rispetto a X.25, sono le seguenti:
 Utilizza una Commutazione di Pacchetto a Circuito Virtuale, in cui tutti i pacchetti relativi ad una stessa
connessione seguono lo stesso percorso fisico.
 A differenza di X.25 che copre i livelli 1 2 3 4 del modello ISO OSI, Frame Relay definisce solo i livelli 1 e
2, svincolando la rete dai livelli superiori e rendendo possibile l‟interfacciamento con TCP / IP
 X.25 esegue, sia a livello 2 sia a livello 3, funzioni molto pesanti di controllo errori e controllo flusso,
eseguiti su tutti i nodi intermedi (si parla di controllo dei dati su singola tratta), controlli introdotti già al
livello 2 per sopperire alla scarsa qualità dei vecchi mezzi trasmessivi disponibili ai tempi di X.25. Frame
Relay invece esegue i controlli del flusso soltanto sui nodi finali (controllo dei dati sulla tratta completa).
 L‟eliminazione di tutti i controlli intermedi comporta un minor numero di operazioni da compiere nello
smistamento dei pacchetti, con aumento della velocità pari a un ordine di grandezza rispetto a X.25
Velocità tipica di Frame Relay è 2 Mbps (circa 20 volte superiore rispetto alle velocità di X.25).
 Non dovendo eseguire controlli d‟errore, i pacchetti Frame Relay possono avere dimensione maggiore
rispetto a X.25 (lunghezza massima di un frame fissata a 1600 bytes)
 In X.25 la multiplazione dei circuiti virtuali ha luogo a livello 3 (come nel caso di IP), per cui i dispositivi
intermedi devono far risalire il pacchetto fino al livello 3. Frame Realy esegue invece una multiplazione dei
circuiti virtuali direttamente a livello 2, svincolando così completamente il protocollo dal liv 3
 X.25 usa una segnalazione in-banda per lo scambio dei pacchetti di controllo della chiamata. In Frame
Relay i segnali di controllo della chiamata usano una connessione logica separata da quella di scambio dati
Frame Relay utilizza una trasmissione asincrona di tipo STDM (Statistical TDM) in cui, a differenza di TDM
tradizionale di ISDN, se un canale non ha nulla da trasmettere, non vengono sprecati time slice.

Intestazione del protocollo Frame Relay


A differenza di ISDN, essendo Fram Relay (come ATM) un protocollo a commutazione di pacchetto, necessita di un
identificativo di livello 2 per l‟instradamento dei pacchetti. Il protocollo di Liv 2 utilizzato per la gestione del Data
Link è LAPF (Link Access Procedure to Frame), che è costituito dalla seguente intestazione:
Flag 1 byte Inizio Frame 01111110 (simile al preambolo del protocollo MAC)
DLCI 10 bit Data Link Connection Identifier (0-1023). [Switch a 1024 porte]
Identifica la connessione virtuale (PVC) tra i due end system.
Control 6 bit Servono per la sincronizzazione e un semplice controllo della congestione.
PAYLOAD
FCS 2 bytes Frame Check Sequence. Un CRC a 16 bit
Flag 1 byte Fine Frame (identico a quello di inizio frame)
Si tratta di una rete di livello 2 abbastanza simile al livello MAC di Ethernet, sempre di tipo best effort, cioè senza
garanzie sulla consegna dei frames, con velocità più basse ma in grado di raggiungere distanze molto più elevate.
 I pacchetti hanno lunghezza variabile e non sono previsti messaggi di broadcast
 Velocità tipica 2 Mbps, con CIR (committed information rate larghezza di banda garantita) da concordare.

pag 131
Sistemi - Classe Quinta robertomana.it
RETI

Struttura di Frame Relay


Internamente la rete Frame Relay è costituita da un insieme di Frame Realy Switch FRS interconnessi fra loro che
sono un po‟ l‟analogo dei vecchi commutatori elettromeccanici. Il collegamento dell‟utente alla rete Frame Relay
avviene tramite un apposito CSU/DSU tipicamente di proprietà del gestore. Il CSU/DSU funge da gestore della
comunicazione (DCE) fornendo al router (DTE) il clock di rete. Il fatto che DLCI possa indirizzare al max 1024
connessioni non significa che una centrale FR possa gestire solo 1024 comunicazioni, ma che ogni switch può gestire
fino a 1024 comunicazioni. All‟interno della centrale possono coesistere più switch interconnessi fra loro. Uno
switch ad es può ricevere 1022 comunicazioni e inoltrarne 511 su un canale e 511 su un altro canale a un altro FRS.

Gestione dell‟instradamento
Al fine di poter avere una maggiore flessibilità ed un miglior utilizzo degli indirizzi DLCI, i DLCI hanno soltanto
validità locale, nel senso che sono univoci per un‟utenza ma solo localmente fino al prossimo Frame Relay Switch, e
non sull‟intera rete. Ogni FRS gestisce delle tabelle di stato in cui ogni entry contiene il DLCI di un circuito virtuale
attivo su quel nodo ed il corrispondente DLCI di uscita. Sulla base di queste tabelle, in corrispondenza di ogni frame
in transito, l‟FRS provvede a leggerne il DLCI del frame e a sostituirlo con il DLCI corrispondente contenuto
all‟interno della tabella di stato. Programmando opportunamente tutti i vari FRS risulta abbastanza facile “stabilire”
un Permanent Virtual Circuit tra i due end point.

Stato attuale
Nato come protocollo di base per rete commutata a larga scala, pur avendo in parte fallito l‟obiettivo iniziale visto
che le attuali reti a larga scala sono oggi ATM, Frame Relay è stato leggermente modificato con l‟introduzione del
Global Addressing per essere utilizzato come tecnologia punto punto di l‟interconnessione fra LAN remote.
Allo stato attuale si può definire Frame Relay come una rete multipoint di tipo Permanent Virtual Circuit, in cui
ogni connessione utilizza sempre lo stesso percorso sul quale transitano tutti i frames relativi a quella connessione.
Frame Relay è utilizzato anche all‟interno della rete GSM per le comunicazioni tra il BSS e la rete telefonica fissa

Collegamenti dedicati
Perché reti dedicate? Spesso a livello aziendale nasce l‟esigenza di consentire l‟accesso ad una rete locale anche a
filiali o enti esterni. Non è nemmeno pensabile di esporre su Internet un database server o un SMB server in
quanto, seppur protetti da una password, risulterebbero facilmente attaccabili da chiunque. Di qui nasce l‟esigenza di
un collegamento dedicato e quindi protetto fra la sede centrale di un‟azienda e le sue filiali.
Una linea dedicata è un canale di comunicazione affittato in modo permanente da un gestore di telecomunicazioni.
E‟ possibile affittare tre differenti tipi di linee dedicate:
 Linee CDA (Collegamento Diretto Analogico) cioè l‟affitto di un canale fonico analogico con banda lorda di
4 KHz. Tecnica ormai assolutamente in disuso.
 Affitto di una linea CDN (canale digitale ISDN a commutazione di circuito)
 Affitto di una linea Frame Relay (a commutazione di pacchetto)
 Recentemente si sono diffuse le reti VPN molto più economiche, ma meno affidabili per continuità di servizio

CDN Collegamento Diretto Numerico


Fa parte del servizio universale di Telecom ed è disponibili su tutto il territorio nazionale. Si tratta di linee ISDN
dedicate. Per il collegamento ad una linea CDN occorre un CSU/DSU fornito dal gestore che, tramite apposita
borchia, esce comunque sempre sulla normale linea telefonica. Viene sfruttato il collegamento utente – centrale in
Banda Base, dopo di che dalla centrale vengono sfruttate le dorsali digitali TDM nate per le linee ISDN.
In Europa sono stati definiti gli standard E1 costituito da 32 canali ISDN (Accesso ISDN primario), con velocità
complessiva di 2 mbps e lo standard E3 costituito da 16 canali E1 con velocità complessiva di 32 mbps.
Standard successivi arrivano fino a 2 Gbit/s. Appositi rigeneratori consentono la trasmissione su lunghe distanze.
Lo standard americano T1 è invece costituito da 24 canali ISDN più un canale di controllo a 8 kbps, dunque con una
velocità complessiva di 1544 kbps. Lo standard T3 consiste di 28 canali T1 con velocità complessiva di 44 mbps.

pag 132
Sistemi - Classe Quinta robertomana.it
RETI

Nel caso di collegamenti punto – punto CDN opera con due router (con modulo CDN) serialmente interconnessi tra
loro. Nel caso di connessioni multipunto CDN, trattandosi di un collegamento a commutazione di circuito, ogni
connessione è vista come una rete punto-punto a sé stante, per cui risulta il seguente schema di rete :

Frame Relay
L‟affitto di linee virtuali punto – punto di tipo Frame Relay fu proposto per la prima volta negli USA nel 1993 da
AT&T sulla base delle seguenti considerazioni:
 All‟interno di una linea punto-punto ogni Virtual Circuit è identificato univocamente da un preciso valore
iniziale di DLCI assegnato dal Provider e che deve essere configurato all‟interno del Frame Relay Swtich di
collegamento alla rete. Il FRS provvede ad inserire questo DLCI nell‟intestazione di ogni frame.
 In caso di collegamento multi-punto, ogni terminazione remota viene identificata dal gestore mediante un
differente numero di DLCI Se ad esempio il nostro router frame relay deve poter comunicare con tre reti
remote differenti, il gestore ci assegnerà 3 valori differenti di DLCI uno per ogni terminazione remota.
 In questo modo, a differenza di CDN, tramite il valore di DLCI, i Frame Relay Switch riescono a gestire a liv 2
sia l‟instradamento dei frames attraverso la rete, sia la multiplazione di connessioni differenti che si
intersecano su nodi comuni per cui, a livello IP, un modem Frame Relay può immettere sullo stesso canale più
frames aventi DLCI differenti e dunque indirizzati a terminazioni differenti (*).
Il risultato di tutto ciò è che tutti i router terminali Frame Realy potranno avere un indirizzo IP appartenente
ad una stessa rete IP. Questo meccanismo è detto Global Addressing e l‟abbinamento tra IP remoto e DLCI può
essere : () impostato staticamente dal Gestore della rete Frame Replay nel momento in cui esegue la configurazione
del CSU/DSU, () ricavato dinamicamente dal CSU/DSU stesso tramite un processo denominato Inverse ARP, nel
senso che, per ogni DLCI impostato, entrambi i router terminali possono inviare in rete un pacchetto in cui
richiedono all‟host remoto di restituire il proprio indirizzo IP. Lo schema di rete risultante è il seguente :

Confronto CDN - Frame Relay


Essendo CDN una rete a commutazione di circuito, i costi dipendono dalla lunghezza della tratta da collegare, mentre
nel caso di Frame Relay, a commutazione di pacchetto, sono indipendenti dalla distanza, per cui per brevi distanze
(inferiori ai 50 km) conviene CDN, mentre per distanza maggiori conviene Frame Relay.
RUPAR
Un es di rete dedicata Frame Relay è la RUPAR (Rete Unificata Pubblica Amministrazione Regionale) che collega tramite
Frame Relay a 2 Mbit/sec tutti gli enti pubblici del Piemonte ad una sede centrale posizionata presso il CSI di Torino.
Server e Proxy del CSI consentono un accesso a Internet centralizzato, sicuro (protetto da filtri) e finanziato dalla regione.

pag 133
Sistemi - Classe Quinta robertomana.it
RETI

Reti ATM
ATM, Asynchronous Transfer Mode (Trasferimento Asincrono di Dati Digitali) è una tecnologia di livello 2 proposta
da CCITT nel 1991. Nata inizialmente per la trasmissione tra centrali telefoniche ISDN è stata in seguito estesa
all‟intera rete telefonica commutata come tecnologia di collegamento fra le varie Centrali Urbane.
 A livello di Centrale Urbana un apposito multiplexer detto DSLAM consente di convogliare i segnali ADSL,
provenienti dai vari utenti, all‟interno di una linea ATM.
 Protocollo a commutazione di cella che è una variazione alla commutazione di pacchetto secondo cui i
pacchetti provenienti dal livello 3 vengono incapsulati in celle di lunghezza fissa pari a 48 byte + 5 bytes di
intestazione. I 48 bytes di payload rappresentano esattamente la dimensione dei pacchetti di controllo TCP privi
di opzioni (es i messaggi ACK) che pertanto vengono perfettamente incapsulati in una singola cella ATM.
Il formato fisso delle celle consente di implementare le tecniche di commutazione e di manipolazione
direttamente via hardware, con un incremento di prestazioni senza precedenti. Tutti i protocolli precedenti
utilizzavano invece frames di dimensione variabile (con una dimensione max tipica di 1500 bytes, ma con molti
frames di dimensione inferiore). In ATM tutte le celle sono grandi 53 bytes; anche l‟ultima cella viene riempita
con dei filler in modo da raggiungere i 53 byte
 Protocollo con trasmissione asincrona di tipo STDM (Statistical TDM) in cui, a differenza di TDM
tradizionale, se un canale non ha nulla da trasmettere, non vengono sprecati time – slot (esattamente come
Frame Relay). Riesce così ad adattarsi facilmente a velocità estremamente differenti.
 La velocità tipica di ATM è di 155 Mbps ma arriva fino fino 622 Mbps o addirittura 4 Gbps.
ATM utilizza una tecnica di commutazione a circuito virtuale in cui i vecchi commutatori telefonici sono sostituiti
con degli switch elettronici in modo abbastanza simile a Frame Relay . Prima di iniziare la comunicazione vocale,
viene stabilita una connessione virtuale tra i due end point, in modo che tutti i pacchetti della connessione seguano
poi lo stesso percorso, in modo da garantire la consegna ordinata dei pacchetti.
Riassumendo si può dire che le reti ATM sono:
 Virtual Circuit (Connesso) : è garantito che i dati trasmessi arrivino in ordine
 Best Effort (Non Affidabile) La consegna non è garantita ed il controllo è demandato ai livelli superiori.
 Non supportano un modo nativo per gestire i messaggi di broadcast. E‟ invece abbastanza agevole realizzare
trasmissione multicast, in cui gli swtich possono duplicare la cella su più porte di uscita.

Intestazione di una cella ATM


Ogni cella ATM, all‟interno dell‟intestazione, è caratterizzata da due numeri identificativi, detti rispettivamente
VPI (Virtual Path Identifier, a 5 bit) e VCI (Virtual Channel Identifier a 16 bit) che servono a identificare il percorso
che deve seguire la cella non per arrivare alla destinazione finale, ma per raggiungere il successivo nodo ATM. Qui
verranno modificati sulla base della tabella di switch per indicare il percorso verso il nodo successivo.

 GFC - Generic Flow Control: campo necessario per il controllo della congestione.
 VPI/VCI - Virtual Path Identifier/Virtual Channel Identifier: sono i campi che servono per l'instradamento
 PT - Payload Type: Identifica se la cella ATM trasporta dati, streaming real time o management
 CLP - Cell Loss Priority: se vale 1 la cella può essere scartata in caso di congestione dello switch
 HEC - Header Error Control: e il risultato di un codice ciclico applicato solo sull'header della cella.

pag 134
Sistemi - Classe Quinta robertomana.it
RETI

VPI e VCI : instradamento di un pacchetto


Come per il DLCI di Frame Relay, VPI e VCI vengono modificati in corrispondenza di ogni switch e sono gli
elementi base per l‟instradamento dei pacchetti. La connessione inizia con una segnalazione su un apposito canale
dedicato alla segnalazione tra l‟host e lo Switch a cui esso é collegato; tipicamente sul VPI=8, VCI=35.
In pratica l‟host chiede al suo switch un “canale” libero di comunicazione. Lo switch, consultando una tabella interna
indicizzata dalla porta di ingresso della cella (linea fisica del richiedente, ad esempio linea #1) ed intestazione
della stessa (es VPI/VCI = 29), ricava la porta di uscita (linea #2) e la nuova etichetta da assegnare alla cella (es.
VPI/VCI = 45 in cui VCI è il primo libero). Man mano che il pacchetto di configurazione della connessione
attraversa i vari switch, questi calcolano l'instradamento, attribuiscono un identificatore al pacchetto, e riservano
risorse per la connessione (definiscono cioè appositi record per il successivo instradamento dei pacchetti dati).
Al contempo viene creato un nuovo record per “fissare” il percorso di ritorno : se arriverà una cella dalla porta #2 con
VPI/VCI = 45 lo inoltri sulla porta #1 e gli assegni VPI/VCI = 29. Lo switch quindi, a sua volta, richiede allo switch
successivo un canale libero e così via.

Ogni percorso VPI dispone di 65536 possibili canali VCI. Una cella proveniente da VPI 1 può proseguire su VPI3
oppure su VPI2

Varianti del protocollo ATM


ATM prevede 2 diverse Modalità di Incapsulamento del payload da trasportare:
 VC-MUX (Virtual Circuit Multiplexing) utilizza l‟intestazione base grande 5 bytes
 LLC (Logical Link Control), aggiunge 4 byte di intestazione (dunque 9 complessivi) che consentono la
multiplazione di più protocolli (di livello 3 o 2 ½ come PPP) sulla stessa connessione virtuale ATM. In
sostanza LLC aggiunge delle informazioni relative al protocollo di livello superiore a cui i dati sono destinati.
VC-MUX rispetto a LLC riduce l‟overhead di frammentazione dei pacchetti, ma ogni connessione virtuale ATM
può trasportare PDU appartenenti ad un unico protocollo superiore. Per poter trasportare protocolli diversi occorre
istanziare una connessione virtuale specifica per ciascuno. I sistemi attuali in genere possono eseguire entrambe le
modalità. Oggi si preferisce utilizzare LLC che è più completo.

pag 135
Sistemi - Classe Quinta robertomana.it
RETI

ADSL
ADSL (Asymmetrical Digital Subscriber Line) “Digitalizazione Asimmetrica della Subcriber Line” è una
tecnologia che consente una trasmissione digitale ad alta velocità sulle linee PSTN, nella tratta (detta Subscriber
Line o First Mile) tra Postazione Utente e Centrale Urbana, dove il segnale viene convogliato su linee ATM.
 Peculiarità della tecnologia ADSL è il riutilizzo dei cavi telefonici esistenti che collegano l‟utente alla Centrale
Urbana. ADSL prevede però, a livello di Centrale Urbana, la rimozione dei filtri vocali [300 – 3400 Hz] presenti
sulle linee PSTN, in modo da poter utilizzare l‟intera banda del doppino sul tratto utente – Centrale Urbana,
da cui i vari nomi di banda larga o broadband o fullband.
 In centrale urbana un convogliatore DSLAM (Digital Subscriber Line Access Multiplexer) separa il canale
vocale dai canali dati riaggregando il segnale digitale che viene convogliato su una linea ATM.
 Per la trasmissione dati ADSL sfrutta le frequenze sopra i 4 KHz, per cui, sul cavo telefonico, il classico
segnale telefonico (banda 300 - 3400 Hz) può essere trasmesso contemporaneamente ai dati. Negli anni 70 lo
stesso principio era stato utilizzato per la filodiffusione, il cui segnale viene inviato a frequenze fino a 15 KHz.
Il doppino in rame che collega l‟utente alla Centrale Urbana consente frequenze fino ad alcuni MHz
(nominalmente 1.10 MHz). Il modem ADSL codifica il segnale digitale proveniente dal PC tramite una
codifica DMT (Discrete MultiTone Modulation) che utilizza la tecnica FDM per suddividere lo spettro di
frequenza del doppino telefonico in 255 sottobande di 4 KHz ciascuna strutturate come in figura: Il segnale
digitale viene compresso e frazionato in più frequenze portanti e sottoportanti modulate con tecnica QAM.
 ADSL prevede, a valle della presa telefonica, l‟utilizzo di un filtro ADSL (detto splitter), che presenta due
uscite, separate, una tagliata a 4 KHz per il segnale telefonico da inviare al telefono, l‟altra inviata
integralmente al modem ADSL che di suo “non considera” le frequenze inferiori ai 28 KHz.
In questo modo telefono e modem possono operare parallelamente senza interferire a vicenda.
Spettro ADSL

TELEFONO UPSTREAM DOWNSTREAM

sottobanda 1 sottobande 8 - 31 sottobande 32 - 255


4 KHz 28 KHz 128 KHz 1,104 MHz

 Il termine Asymmetrical indica che ADSL utilizza velocità differenti in download (molto più elevate) rispetto
all‟upload, in quanto il flusso di dati in download è statisticamente molto superiore a quello in upload.
 In realtà il segnale ADSL ha un decadimento abbastanza rapido, e non può essere portato oltre i 5 km di cavo
dalla Centrali Urbane. Per cui i piccoli paesi posizionati oltre i 4 - 5 km dalla Centrale Urbana (es. Cervere
rispetto alla Centrale Urbana di Bra) non possono disporre di servizio ADSL fino a quando non viene costruita
una “sottoCentrale Urbana” dotata di DSLAM proprio e collegata alla Centrale madre tramite linea ATM.
Questo intervento comporta chiaramente la necessità di „riconvogliare‟ i fasci di cavi provenienti dagli armadi di
linea ubicati nelle strade non più verso la Centrale Urbana ma verso la sottoCentrale.
Tutte le varie sottoCentrali fanno parte della medesima Rete Urbana rispetto alla Centrale Urbana principale.

Velocità di download delle tecnologie ADSL (PCR Peak Cell Rate)


ADSL1 9 Mbit/s a 300 metri dalla centrale
ADSL2 12 Mbit/s a 2,5 km dalla centrale
ADSL2+ 25 Mbit/s a 1,5 km dalla centrale
La velocità di upload può variare tra 0,64 Mbps e 1,54 Mbps. Le precedenti velocità massime sono comunque
difficilmente raggiungibili per diverse ragioni:

pag 136
Sistemi - Classe Quinta robertomana.it
RETI

 Condizioni degradate delle linee telefoniche in rame (corrosioni, giunzioni di bassa qualità) e della scarsa qualità
delle prese telefoniche, che provocano una elevata attenuazione delle frequenze più elevate.
 Il rapporto segnale / rumore del segnale modulato ADSL decade rapidamente lungo la percorrenza, per cui la
velocità max dipende dalla distanza dalla centrale urbana. Ad esempio una ADSL a 4 megabit è reale soltanto in
vicinanza della centrale, mentre a 5 km la velocità max risulta pari a 640 kbit/sec.
 La banda ATM viene frazionata fra gli utenti, per cui i gestori in genere non garantiscono un valore di banda
minima (CIR o MCR = Minimum Cell Rate ). Si parla di Centrale Satura quando il flusso di download supera
una certa soglia.

Tecnologie xDSL
 ADSL è una delle possibili tecnologie DSL particolarmente adatta ad un collegamento Internet downstream.
 HDSL (High bit-rate DSL) è una tecnologia simmetrica sempre per il collegamento Utente – Centrale Urbana (e
non ad es Utente – Utente). Stessa velocità in upload e download su doppino a 4 fili (tirato appositamente dalla
centrale), con relativo DCE installato dal fornitore di servizi. Presenta un MCR garantito pari tipicamente ad ¼
della velocità di picco (PCR) e canone mensile legato alla velocità di picco richiesta (1 Mbit/s 300 €). Utilizzata
per il collegamento all‟ISP soprattutto nel caso in cui si intenda esporre servizi verso Internet.
 SDSL (Symmetric DSL) è una versione ridotta di HDSL su un solo doppino con velocità di 768 kbit/s.
 Le tecnologie xDSL non possono essere utilizzate su linee ISDN perché ci sarebbe conflitto su frequenze comuni

LIV 1 : Cenni sul funzionamento di un modem ADSL

Modem ADSL (con connessione USB)


Da un punto di vista logico il Modem ADSL è molto simile ai vecchi modem analogici, cioè collega un singolo PC
alla linea telefonica stabilendo una connessione fisica con il destinatario e codificando opportunamente i dati.
 Tutti i parametri di comunicazione (n di cella ATM, username e password, indirizzo IP) sono gestiti dal PC.
 Il collegamento tra modem e PC viene realizzato tramite cavo USB.
 L‟impiego dell‟interfaccia USB presenta una limitazione dovuta ad una velocità sul bus non interamente
disponibile per il traffico ADSL quando sul bus sono impiegati altri dispositivi. Un‟altra limitazione riguarda
la portata: essa infatti consente di coprire con velocità di 12 Mbit/s distanze non superiori a 5 m.
 Se il PC è a sua volta collegato ad una rete locale, gli altri host della LAN potranno condividere l‟accesso ad
Internet attraverso il PC attivando sul PC il protocollo Windows ICS,
Il modem ADSL tradizionale è oggi quasi scomparso. I modem USB oggi in vendita sono comuqnue costituiti
dai cosiddetti Router BRIDGED cioè realizzati con la tecnologia dei router ma che operano come un Bridge

Esempio di Connessione punto punto fra Client e ISP


Si consideri la situazione indicata in figura riferita alla vecchia rete PSTN analogica in cui alcuni client si connettono
ad un ISP tramite il vecchio modem fonico. L‟ISP deve essere dotato di un modem analogico in grado di rispondere
alle chiamate. Nel momento in cui un client richiede la connessione al proprio modem, il modem esegue la chiamata
fisica al numero di telefono del modem destinatario che, se libero, risponde stabilendo la connessione fisica.

PC MODEM
PC MODEM ISP
PC MODEM PSTN MODEM
PC o
PC MODEM
ROUTER
PC MODEM

pag 137
Sistemi - Classe Quinta robertomana.it
RETI

Nel caso in cui il modem server sia occupato a rispondere alla chiamata di un altro client, il chiamante “sente”
l‟occupato e, a seconda di come è stato configurato, tenterà di ricollegarsi dopo un certo timeout.
Ovviamente nel caso dell‟ISP più client devono potersi contemporaneamente al server, per cui occorre dotare la
stazione Server di più linee telefoniche (tipica centralina telefonica), che lo rendono in grado di servire più
connessioni contemporaneamente. Ma se tutte le linee risultano occupate il chiamante rimarrà in attesa.
Nel caso dell‟ADSL la situazione è molto simile. I Modem saranno costituiti da Modem ADSL, mentre la rete
attraverso cui viene stabilito il collegamento sarà la rete ATM. I Modem ADSL non devono chiamare un numero di
telefono, ma devono disporre di un valore identificativo di VPI VCI (8, 35) ed occorre che, a livello di Centrale
Urbana, il DSLAM sia configurato in modo da convogliare il segnale dell‟utente verso il gestore scelto.
Si tratta sostanzialmente di un collegamento punto punto, per cui l‟utente non può più cambiare gestore
semplicemente cambiando il numero di telefono, ma occorre riconfigurare il DSLAM.

Router ADSL (integrato nei servizi)


Il Router ADSL è un vero e proprio router, il cui scopo è quello di collegare ad Internet una intera LAN.
Il Router ADSL è dotato di modem ADSL interno che gestisce l‟interfacciamento fisico verso la WAN.
Tutti i parametri di comunicazione (n di cella ATM, username e password, indirizzo IP.) sono memorizzati
direttamente sul router che fornisce inoltre:
 un servizio DHCP per assegnare indirizzi IP privati ai PC della LAN
 un servizio NAT per consentire la navigazione e anche l‟esposizione web di eventuali server interni .
 un servizio firewall in grado di aprire / chiudere le varie porte di comunicazione.
 un eventuale Access Point WiFi integrato

Gestione della Connessione Fisica di un modem USB alla rete


 Modem Analogici: In corrispondenza di un apposito comando dell‟utente (tipica finestra “Connetti” aperta
automaticamente in corrispondenza dell‟apertura del browser oppure mediante il pulsante START / CONNETTI)
il modem provvedeva a chiamare il numero impostato e stabilire la connessione fisica.
All’interno di una Applicazione Personale si possono invece utilizzare i seguenti comandi :
In ambiente Windows per attivare / disattivare una connessione si può utilizzare il seguente comando :
Shell( "rasdial " & nomeConnessione & “ “ & nomeUtente & “ “ & {password|*} )
Se come password si utilizza un asterisco, verrà richiesta l'immissione di una password da parte dell'utente,
senza comunque visualizzare i caratteri digitati. Per abbattere la connessione si utilizza:
Shell( "rasdial /d") oppure Shell( "rasdial /disconnect")
In ambiente Linux, per attivare / disattivare una connessione si possono utilizzare i comandi:
execve(“ifup PPP0”) che significa interface PPP0 UP.
execve(“ifdown PPP0”) che significa interface PPP0 DOWN.
 Modem ADSL Normalmente eseguono la chiamata in automatico al momento dell‟accensione e, nel caso in
cui la chiamata non vada a buon fine, ritentano continuamente a intervalli regolari di tempo
In entrambi i casi al termine della connessione fisica il modem accende un LED di ON.

Gestione della Connessione Logica


Una volta stabilita la connessione fisica con il Provider occorre un protocollo che provveda ad autenticare il
chiamante, assegnarli un indirizzo IP, e monitorare continuamente la bontà della linea (errori di trasmissione).
ATM è in grado di instradare i frames sul collegamento fra Centrale Urbana dell‟Utente e Centrale Urbana
del Provider, ma non è in grado di gestire ne‟ l‟autenticazione né gli indirizzi IP per cui viene interposto il
protocollo PPP nella cosiddetta versione PPPoA. IP comunica con PPP che aggiunge la propria intestazione ed il
frame così ottenuto verrà poi suddiviso in celle ATM con l‟aggiunta di una ulteriore intestazione.
NOTA: Nelle connessioni Frame Relay, di tipo dedicato permanente, gli indirizzi IP ai terminali sono impostati
staticamente per cui PPP non sarebbe necessario, se non per eseguire eventualmente una autenticazione.

pag 138
Sistemi - Classe Quinta robertomana.it
RETI

LIV 2 : PPP (Point to Point Protocol)

Il protocollo PPP è un protocollo di Livello 2 molto utilizzato per la gestione di collegamenti Punto Punto
temporanei all‟interno di una rete commutata.
Si tratta di un protocollo Client – Server evoluzione del protocollo SLIP Serial Line Internet Protocol e, a differenza
di SLIP, strutturato mediante una architettura a livelli (tipo MAC e LLC di ethernet) in modo da poter trasportare
pacchetti di livello 3 differenti (TCP/IP, IPX/SPX, AppleTalk) su qualsiasi connessione fisica di tipo punto punto

I tre principali protocolli che costituiscono PPP sono :


LCP (Link Control Protocol) si occupa di stabilire, mantenere e terminare la connessione punto - punto
CHAP (Challange Handshake Autentication Protocol) si occupa di gestire l‟autenticazione del client sul server
NCP (Network Control Protocol) si occupa di gestire l‟interfacciamento con i diversi protocolli di liv 3

A differenza però delle LAN dove i substrati LLC e MAC erano di tipo gerarchico, ciascuno con una propria
intestazione, in questo caso LCP e NCP sono protocolli cooperanti che aggiungono al frame una unica intestazione
comune. NCP è richiamato da LCP e si occupa di gestire l‟interfacciamento verso il livello 3.

Intestazione PPP
L‟intestazione PPP contiene sia elementi tipici del substrato MAC (sequenza di inizio frame, checksum finale), sia
elementi tipici del substrato LLC (Protocollo di livello 3 a cui consegnare il payload).

Nome Bytes Descrizione


Flag 1 Campo fisso che indica l'inizio del frame (7E)
Address 1 Campo fisso (FF)
Control 1 byte di controllo
Protocol 2 indica il protocollo del campo data (0x0021 nel caso del protocollo IP)
Data variabile (0 - MTU) campo dati. Il valore di default di MTU è 1500 bytes.
FCS 2 (o 4) Controllo di Ridondanza ciclica (CRC) per la detenzione degli errori
Flag 1 Campo fisso che indica la fine del frame (7E)

Le tre Fasi di Connessione


Una volta stabilita dal modem la Connessione Fisica, PPP avvia la Connessione Logica articolata in tre fasi:
FASE 1: Handshake di connessione (Link Establishment Phase)
FASE 2: Autenticazione (Authentication Phase)
FASE 3: Configurazione del Protocollo di livello 3 (NCP Phase)

Fase 1 - Handshake di Connessione (Link Establishment Phase) gestita tramite LCP


La prima fase di connessione consiste nella negoziazione di alcune opzioni di controllo del collegamento quali:
 Autententicazione: cioè se e come eseguire l‟autenticazione; due sono i protocolli utilizzati: PAP e CHAP
 Compressione cioè se e come eseguire la compressione di tutti i successivi frames di dati. PPP può comprimere
i dati da trasmettere in modo da aumentare il throughput. Il ricevente dovrà decomprimere i dati ricevuti.
La compressione riduce il traffico di rete ma appesantisce i router che devono ogni volta comprimere /
decomprimere. La compressione, se abilitata, è eseguita tramite algoritmo di Van Jacobson simile a CSLIP.
 Crittografia cioè se e come eseguire una crittografia su tutti i successivi frames di dati.
 Multilink cioè se e come abilitare il Multilink. Il Multilink può essere utilizzato quando si hanno collegamenti
multipli paralleli e consiste nell‟aggregare insieme questi collegamenti in unico canale logico, consentendo a
PPP di eseguire un Load-balancing fra i vari link garantendo così una certa ridondanza sul collegamento.
 MTU (Maximum Transmission Unit): Definisce la dimensione massima dei pacchetti trasmissibili.

pag 139
Sistemi - Classe Quinta robertomana.it
RETI

 Quality of Link Protocol: Determina se abilitare o no le funzioni di Error Detection che provocano un
abbattimento della linea in caso di decadimento della qualità (contatore degli errori oltre una certa soglia).
A connessione avvenuta PPP può continuare a monitorare gli errori di trasmissione mediante un campo FCS
Frame Check Sequence di controllo dell‟errore. Eventuali errori incrementano un contatore in modo da far
cadere la connessione nel caso il cui il numero di errori superi una certa soglia.
 Callback cioè possibilità di essere richiamati in caso di caduta della linea, utile soprattutto nelle connessioni
Dial Up
Al termine ciascuno dei due host invia all‟altro un frame conclusivo di ACK

Fase 2 - Autenticazione (Authentication Phase) gestita tramite PAP / CHAP


Per default l'autenticazione non è obbligatoria ma deve essere concordata nella fase precedente. PPP supporta una
autenticazione reciproca che però di solito è abilitata solo su una delle due macchine (server). La macchina su cui è
abilitata l‟autenticazione (server) richiede all‟altra username e pwd. I protocolli utilizzati per l'autenticazione sono
PAP Password Authentication Protocol con il client che invia username e password in chiaro e CHAP Challange
Handshake Autentication Protocol in cui:
a) il server invia al client un challange message (stringa casuale)
b) il client concatena il challange message con la propria password creando un digest MD5 che invia al
server insieme al proprio username.
c) il server, in base allo username, rigenera il digest e lo confronta con quello ricevuto.
In questo modo si evitano attacchi di tipo REPLY, in quanto il challange viene ogni volta modificato.

Fase 3 - Configurazione del Protocollo di rete (NCP Phase) gestita tramite NCPs
I protocolli NCPs sono protocolli che gestiscono l‟interfacciamento con il livello 3. Sono stati definiti più protocolli
NCP differenti, uno per ogni famiglia di protocolli di livello 3 e 4 a cui PPP ha la possibilità di interfacciarsi.
Ad esempio IPCP è il protocollo di interfacciamento verso TCP/IP, mentre IPXCP è il protocollo di
interfacciamento verso SPX/IPX. A seconda del protocollo di livello 3 a cui si riferiscono, i protocolli NCPs
eseguono operazioni differenti provvedendo anche, nei vari casi, ad eseguire inizializzazioni differenti.
In caso di autenticazione riuscita vengono avviati i protocolli NCPs per configurare uno o più protocolli di livello 3,
per i quali verrà avviato il relativo protocollo. Se il client PPP è stato configurato per ricevere un indirizzo IP
dinamico, il protocollo IPCP per prima cosa provvede a richiedere al server PPP un indirizzo IP con relativa Subnet
Mask, Default Gateway e DNS primario e secondario (generati dal server via DHCP). L‟indirizzo IP ricevuto è
normalmente un indirizzo pubblico univoco, ma che potrebbe anche essere non univoco nel caso in cui il gestore
esca tramite una NAT.
A questo punto il client PPP è come se disponesse di una nuova scheda di rete virtuale, con un suo indirizzo IP
ricevuto via DHCP dal PPP Server (appartenente quindi alla „rete‟ PPP). Al PPP Server infatti saranno collegati molti
altri client PPP ciascuno dei quali però potrà comunicare solo con il PPP Server e non con gli altri client.
A questa nuova “scheda di rete virtuale” viene normalmente assegnato il nome PPP0.

Terminata la connessione logica


il router ADSL accende un secondo LED di Connessione Logica ON. Per ragioni di privacy (tracciabilità di
navigazione dei siti visitati), anche in caso di collegamenti flat, l‟IP statico assegnato al Client viene di tanto in tanto
modificato dal Provider.

Link Termination Phase


La connessione PPP, una volta instaurata, può terminare in qualsiasi momento per caduta della portante, decadimento
della qualità della linea, scadenza di un timeout di inattività, richiesta di chiusura da parte di uno dei due end point.

pag 140
Sistemi - Classe Quinta robertomana.it
RETI

Il Default Route di un PC collegato ad una LAN con uscita su Internet e dotato di modem ADSL
Si consideri un PC contemporaneamente collegato a :
- una rete locale tramite una porta ETH0, con parametri IP ricevuti all‟accensione da un DHCP Server locale
(ad esempio IP = 10.0.0.23, Subnet = 255.255.255.0, Default Gateway = 10.0.0.1)
- ad un modem (tradizionale o ADSL) che, tramite PPP remoto, sulla porta PPP0 abbia ricevuto una seconda
configurazione IP (ad esempio IP = 1.2.3.4, Subnet = 255.255.255.255, Default Gateway = x.x.x.x che
rappresenta l‟indirizzo del PPP Server Remoto),
Supponendo che la rete locale disponga anche lei di una uscita verso internet, in corrispondenza della richiesta di una
pagina web, quale Default Gateway viene utilizzato ? Quello della LAN oppure quello del provider ?

Nella finestra Opzioni Internet / Connessioni è possibile effettuare una delle seguenti scelte :

Cioè usa sempre ETH0

Cioè usa sempre PPP0

Se invece si sta realizzando una applicazione personale, occorre necessariamente agire sulla tabella di routing del
PC creando apposite Entry di Instradamento. Nell‟esempio si imposta come Default Gateway il modem :
ROUTE ADD 10.0.0.0 MASK 255.255.255.0 IF ETH0
ROUTE ADD 0.0.0.0 MASK 0.0.0.0 IF PPP0

Varianti del protocollo PPP

PPP di per sé nasce come protocollo utilizzabile su connessioni fisiche punto punto (ad esempio sulla connessione
seriale che collega due router). Per poter utilizzare PPP su reti differenti non di tipo punto punto (ad esempio Ethernet
oppure ATM), allora occorre utilizzare al di sotto di PPP il protocollo di Data Link utilizzato da quella rete cioè,
usando una terminologia più elegante, incapsulare i frame PPP all‟interno di frame ATM o Ethernet.
 I protocolli PPPoA (PPP over ATM) e PPPoEoA consentono connessioni punto punto attraverso una rete ATM.
PPPoA (PPP over ATM) è utilizzato di solito dai modem ADSL. I frames PPP, dovendo passare per una rete ATM,
vengono ulteriormente incapsulati nelle celle ATM,
PPPoEoA (PPP over Ethernet over ATM talvolta indicato solo come PPPoE). Il frame PPP viene prima incapsulato in un
frame Ethernet e poi in un frame ATM, generando il frame PPPoEoA, con maggiore overhead rispetto al precedete.
 Il protocollo PPPoEoE (PPP over Ethernet talvolta indicato solo come PPPoE) consente connessioni punto punto
fra due host di una rete Ethernet. E‟ un sistema di tunneling che permette connessioni punto punto criptate
(VPN) all‟interno di una rete Ethernet. Nell‟intestazione PPP spariscono i campi come di preambolo. LLC al suo
interno recherà come codice del protocollo destinatario il codice di PPP.

Prendendo in considerazione anche le 2 diverse Modalità di Incapsulamento utilizzate da ATM (LLC e VC-MUX),
si ottengono quattro possibili combinazioni di utilizzo del protocollo PPP su reti ATM :
connessione incapsulamento
PPPoA - VC-MUX
PPPoA - LLC
PPPoEoA - VC-MUX
PPPoEoA - LLC
I valori da impostare in fase di configurazione del router / modem ADSL devono essere indicati dall‟ISP fornitore
del servizio. Diversi ISP supportano più combinazioni lasciando libertà di scelta all‟utente. Potendo scegliere la
modalità più veloce è sicuramente la prima in quanto riduce l‟overhead di PPP e allo stesso tempo, grazie a VC-
MUX, ottimizza l‟occupazione delle celle ATM.

pag 141
Sistemi - Classe Quinta robertomana.it
RETI

Creazione e Configurazione di connessioni PPP in ambiente Windows

Da Pannello di Controllo selezionare Connessione di Rete / menù File / Nuova Connessione. Si apre un menù in cui:
 La prima voce consente di creare un client PPP di collegamento ad un ISP tramite modem collegato al PC
 La seconda voce consente di consente di creare un client VPN.
 La quarta voce consente di creare un PPP Server

1) Client PPP di connessione a Internet (tramite modem tradizionale o ADSL)


Occorre:
 Impostare il nome da assegnare alla connessione (PPP0)
 Selezionare il tipo di Modem da utilizzare (tradizionale, ISDN o ADSL)
 Selezionare il modem dalla lista dei modem installati (del tipo scelto al punto precedente)
 Impostare il numero di telefono da chiamare (o l‟identificatore 8,35 della cella ATM di ingresso)
 Impostare NomeUtente e Password di autenticazione presso il Provider

Quando il modem eseguirà la chiamata all‟ISP, stabilita la connessione fisica, verrà attivato il protocollo PPPoA che
provvederà ad assegnare all‟interfaccia PPP0 l‟indirizzo IP pubblico ricevuto dall‟ISP.

2) Client VPN di connessione ad un VPN Server


Un client PPP, invece di “appoggiarsi” ad un dispositivo fisico come nel caso precedente, può “appoggiarsi” ad una
connessione fisica esistente, diventando di fatto un client VPN. I passi da eseguire sono i seguenti :
 Impostare il nome da assegnare alla connessione (VPN0)
 Impostare la connessione esistente (LAN o WAN) che dovrà essere utilizzata dal Client per inoltrare i pacchetti
destinati alla VPN. Tutti i pacchetti inoltrati verso la porta VPN0 verranno inoltrati verso la corrispondente porta
fisica.
 Impostare l‟indirizzo IP del VPN Server da contattare
 Una volta creata la connessione, dalla finestra delle Proprietà è possibile scegliere un eventuale algoritmo di
cifratura da utilizzare tra il default PPTP (Point to Point Tunneling Protocol) e L2TP (Layer Two Tunneling
Protocol)

pag 142
Sistemi - Classe Quinta robertomana.it
RETI

4) Creazione di un Server PPP


a) Presenza di un dispositivo di Riposta a chiamata
Nel caso in cui il PC sia connesso ad un modem in grado di rispondere alle chiamate, allora può fungere
direttamente da PPP Server verso gli utenti remoti. I passi da eseguire sono i seguenti:
 Impostare il nome da assegnare alla connessione (PPP0)
 Selezionare la periferica (modem) da utilizzare per accettare chiamate in ingresso
 Specificare i nomi degli utenti che potranno connettersi al PPP server
 Impostare l‟indirizzo IP da assegnare staticamente alla connessione
 Attivare un eventuale servizio DHCP che fornisca gli indirizzi IP ai client che richiederanno l‟accesso. (Il
primo di essi potrebbe automaticamente essere assegnato alla connessione corrente).

b) Selezione di una connessione fisica esistente


Esattamente come nel caso (2), invece di “appoggiarsi” ad una periferica che riceve le chiamate, il PPP Server
può appoggiarsi ad una connessione esistente e accettare “richieste speciali” su quella connessione, creando di
fatto un Server VPN.
I passi da seguire sono gli stessi visti nel caso del dispositivo fisico, cioè:
 Assegnare un nome alla connessione (VPN0)
 Selezionare la connessione esistente (LAN o WAN) che dovrà essere utilizzata per accettare le richieste
VPN
 Impostare l‟indirizzo IP da assegnare staticamente alla connessione (indirizzo che potrebbe essere assegnato
automaticamente come il primo degli indirizzi DHCP da assegnare ai client).

La Creazione guidata precedente non sembra però consentire di scegliere come sorgente una connessione esistente,
impedendo di fatto di realizzare un server VPN.

Il protocollo PPP come base del Tunneling e del VPN


Al momento dell‟avvio del servizio il Server PPP crea per sé una nuova scheda di rete virtuale mappata sulla
porta indicata in fase di configurazione, che può essere :
 la porta USB su cui è collegato il modem che ricevere le chiamate (esempio PPP Server degli ISP)
 una porta WAN o ETH già avente un proprio indirizzo IP.
In entrambi i casi alla nuova connessione occorre assegnare un indirizzo IP (statico oppure in modo dinamico
scegliendo automaticamente il primo fra gli indirizzi appartenenti al range DHCP da assegnare ai client).

Nel secondo caso questo indirizzo va ad aggiungersi all‟indirizzo effettivamente già presente sulla porta, per cui è
come se sulla porta fossero presenti due diverse connessioni, una reale e l‟altra virtuale creata al di sopra di
quella reale.
In corrispondenza della chiamata di un client, il Server gli assegna dinamicamente :
- il primo indirizzo IP libero all‟interno del range DHCP (es 10.0.0.2)
- la Subnet Mask ed il proprio indirizzo IP come Default Gateway (es 10.0.0.1)
In tal modo il Client acquisisce una scheda di rete virtuale (con indirizzo 10.0.0.2, Subnet Mask e Default
Gateway) che, come per il server, viene mappata su una porta fisica esistente e già dotata di un proprio indirizzo IP.
In pratica è come se il PPP Server si trasformasse in uno switch al quale sono direttamente collegati il PPP
Server stesso (10.0.0.1) e tutti i PPP client in quel momento connessi. Se un client invia un pacchetto sulla porta
PPP indirizzato a 10.0.01 (PPP Server) questo viene fatto uscire dalla corrispondente fisica (con IP Source relativo
alla porta fisica) e inoltrato alla porta fisica del PPP Server tramite PPPoE (reti Ethernet) oppure PPPoA (reti ATM).
Sul PPP Server il pacchetto risalirà la pila ISO OSI (FISICO, MAC, LLC, PPP, IP fino all‟applicazione destinataria.
In pratica i due host possono comunicare “privatamente” attraverso un “tunnel” scavato all‟interno della rete locale o
geografica che sia.

pag 143
Sistemi - Classe Quinta robertomana.it
RETI

VPN
Virtual Private Network o VLAN di Livello3 (o superiori)
 Lo scopo è quello di creare reti private (tunnel) attraverso una rete pubblica condivisa (Internet).
Interessante alternativa alle linee dedicate ad un costo decisamente inferiore..
 Quando una organizzazione possiede più sedi distaccate, la VPN consente di connettere fra loro le LAN delle
varie sedi, come se fossero direttamente connesse tramite una linea dedicata (Extranet).
 Fare una VPN significa eseguire una trasmissione cifrata attraverso la rete pubblica, creando di fatto un
"tunnel" virtuale fra le due reti remote, utilizzando Internet come mezzo di collegamento. I dati vengono
cifrati all'entrata dei "tunnel" (marshalling) e decifrati all'uscita (unmarshalling), in modo da garantire la
sicurezza della trasmissione. Si ritiene che una VPN correttamente progettata abbia un grado di sicurezza
quasi comparabile con quello di una rete dedicata.
Esistono tantissime soluzioni proprietarie ma anche libere di VPN che si differenziano principalmente per l‟algoritmo
di cifratura utilizzato. Ogni protocollo VPN ha una sua cifratura e di solito anche una compressione dati, in modo da
consentire un avvicinamento della velocità su linea WAN (molto più lenta) rispetto alla velocità della LAN interna.
Cifratura e compressione VPN possono essere eseguite :
 da un router VPN cioè in grado di effettuare la cifratura VPN (attenzione all‟algoritmo appropriato)
 direttamente da un PC su cui è installato un apposito software. Questo software VPN (presente in Windows
a partire da XP) opera indipendentemente dall‟uscita fisica del PC (modem fonico o scheda LAN)

Le caratteristiche delle reti VPN possono essere sfruttate in due modi differenti:
1) Consentire l'accesso alla rete aziendale da parte di un utente remoto. In questo modo ovunque ci si trovi,
attraverso il portatile ed una semplice connessione Internet, è possibile effettuare una connessione protetta al
proprio ufficio ed utilizzare la rete come se si fosse in azienda. In questi casi si installa il software VPN
direttamente sul Notebook in modo che l‟utente possa poi collegarsi attraverso normali connessioni Internet.
2) Fare in modo che due o più reti possano comunicare tra loro in modo protetto come se facessero parte della stessa
LAN (concetto di Extranet : ogni host vede la propria LAN come Intranet e le LAN esterne come Extranet).
Queste soluzioni prevedono di solito l‟utilizzo di router appositi del tutto trasparenti al client. Inoltre è
indispensabile che il server VPN disponga di un IP pubblico statico. I client devono invece disporre di un
indirizzo IP pubblico statico o dinamico a seconda che debbano anche essere visibili o no.

Nell‟esempio ogni sede è


collegata ad Internet
tramite un router ADSL.
Tra quest'ultimo e la rete
aziendale è presente un
altro router che si occupa
di gestire le VPN e
garantire la sicurezza delle
reti interne.
Le funzioni dei due router
(ADSL e VPN) possono
essere svolte anche da
un'unica apparecchiatura.
Le due sedi periferiche
sono viste come
EXTRANET della LAN
centrale.

pag 144
Sistemi - Classe Quinta robertomana.it
RETI

Il protocollo Microsoft PPTP (Point to Point Tunneling Protocol)


L‟approccio Microsoft è quello di realizzare le VPN come una semplice estensione del protocollo PPP che di per sé è
un protocollo modulare contenente diversi altri protocolli (es LCP di autenticazione e controllo del link, NCP di
configurazione dei protocolli trasportati). Aggiungendo semplicemente a PPP un sottoprotocollo per la cifratura e
compressione dei dati, si passa da PPP a PPTP.

Configurazione di un VPN Client stand alone (cioè col software VPN installato sul PC)
La configurazione di client VPN consiste essenzialmente nel :
 Creare una nuova connessione di rete identificata da un certo nome (es VPN0), connessione a cui viene fin
da subito associata una scheda di rete virtuale avente il nome indicato (VPN0)
 Indicare la porta fisica di uscita su cui dovrà essere mappata la precedente scheda VPN (cioè il Modem
Fonico interno oppure la scheda di rete ETH0 in caso di uscita attraverso un router. Questa connessione fisica
verrà utilizzata dal Client per collegarsi al VPN Server.
 Specificare l‟indirizzo IP pubblico del VPN Server a cui collegarsi (ad esempio 1.2.3.4)
Supponendo che il PC sià già connesso ad Internet tramite ETH0, con indirizzo IP ad esempio 192.168.0.2,
nel momento in cui l‟utente attiva la connessione VPN0 (VPN0 up), automaticamente il Software VPN Client
contatta il VPN Server all‟indirizzo 1.2.3.4 il quale assegnerà alla connessione VPN0 un indirizzo IP dinamico
appartenente alla rete VPN gestita via DHCP dal VPN Server, ad esempio rete 172.16.0.0 / 24 con 172.16.0.1
utilizzato dal VPN Server ed i successivi assegnati dinamicamente via DHCP. Si suppone di ricevere l‟indirizzo
172.16.0.2 / 24.
Prima della connessione alla VPN il Client vede la sola scheda di rete fisica (ETH0) avente indirizzo IP ricevuto
dal router di uscita.
Dopo la connessione al VPN Server il Client vede una seconda scheda di rete virtuale denominata VPN0 avente
indirizzo IP privato (172.16.0.2 / 24), Subnet e Default Gateway (172.16.0.1) ricevuti dal VPN Server. Il gateway
rappresenta l‟indirizzo della scheda di rete virtuale WAN del VPN Server, m.
In pratica è come se il client avesse ora due schede di rete, una fisica collegata al router di uscita (192.168.0.2) e
l’altra virtuale (172.16.0.2) collegata direttamente con il router del VPN Server. In realtà ETH0 e VPN0 escono
sullo stesso cavo fisico che va al provider, però rappresentano due connessioni logiche differenti.

Rete 10.0.0.0/24

La tabella di Routing del Router Client


In caso di attivazione di una VPN Windows provvede per default ad instradare tutto il traffico verso il canale VPN,
dando per scontato che la LAN VPN disponga a sua volta di una uscita verso internet
Per continuare invece ad instradare sulla connessione fisica ETH0 le richieste indirizzate verso indirizzi pubblici,
inviando sul canale VPN0 soltanto i pacchetti effettivamente destinati alla LAN aziendale (es LAN 10.0.0.0/24),
occorre definire sul PC le seguenti entry di instradamento :
ROUTE ADD 10.0.0.0 MASK 255.255.255.0 IF VPN0 nHop 172.16.0.1
ROUTE ADD 0.0.0.0 MASK 0.0.0.0 IF ETH0 nHop Provider Gateway

Pertanto, a livello IP, i pacchetti destinati alla rete 10.0.0.0 / 24 vengono inviati alla porta IP VPN0 che esegue una
prima traslazione NAT ed imposta il proprio IP come mittente ed il reale indirizzo di destinazione come IP Dest.
IP SOURCE 172.16.0.2
PORT SOURCE effimera
IP DEST 10.0.0.33
PORT DEST 1433 (SQL Server)

pag 145
Sistemi - Classe Quinta robertomana.it
RETI

Dopo di che la porta IP VPN0, invece di inoltrare il pacchetto alla scheda di rete (che in realtà non esiste) provvede a
crittografare i dati e ad “avvolgerli” con una nuova intestazione contenente come mittente l‟indirizzo della
porta fisica di uscita (192.168.0.2) su cui è mappata la porta VPN, e come destinatario l‟indirizzo pubblico del
VPN Server (es 1.2.3.4), con la sua porta di ascolto 1723 .
IP SOURCE 192.168.0.2
PORT SOURCE effimera2
IP DEST 1.2.3.4
PORT DEST 1723 (VPN Server)

Questo pacchetto passerà ancora attraverso il router di uscita dove, tramite NAT, IP Source e Porta Source verranno
ancora modificati e sostituiti dall‟indirizzo pubblico del router e da una nuova porta effimera.
NOTA l‟indirizzo della rete 192.168.1.0 non arriva al VPN Server per cui, in questo caso, è irrilevante al funzionam

Configurazione del VPN Server


Si ipotizzi il collegamento di più PC stand alone ad un VPN Server posizionato su un router di accesso ad una LAN:
1.2.3.4

Lo schema di rete è equivalente a quello delle linee dedicate di tipo Frame Relay. Il Router VPN dispone di una
scheda con indirizzo pubblico 1.2.3.4 e di una scheda virtuale VPN0 con indirizzo 172.16.0.0.1.
Su questo canale il server fornirà ai client remoti un servizio DHCP 172.16.0.2 – 254. .

Tabella di Routing del Router VPN Server


Rete Subnet Interface Gateway Metric
10.0.0.0 255.255.255.0 10.0.0.1 10.0.0.1 0
172.16.0.0 255.255.255.0 172.16.0.1 172.16.0.1 0
0.0.0.0 0.0.0.0 1.2.3.4 Provider Gateway 1
 Le richieste provenienti dai client vengono impacchettate nell‟intestazione pubblica ed inviate al VPN Server.
 Il server VPN spacchetta il contenitore esterno e legge gli IP SOURCE e IP DEST interni. IP SOURCE sarà un
indirizzo della rete 172.16.0.x mentre IP DEST sarà un indirizzo della rete 10.0.0.0.
 I client VPN dovranno conoscere l‟indirizzo IP dei vari server della rete 10 oppure utilizzare come DNS primario
il DNS Server della rete 10 che risolve i Nomi di tutte le macchine della LAN.
L‟indirizzo di questo DNS Server sarà inviato dal VPN Server tramite DHCP ai client, che lo utilizzeranno per
richiedere la risoluzione dei DNS Name tutte le volte che si troveranno a spedire pacchetti sul canale VPN0.
 Il VPN server gestisce una tabella di corrispondenze fra IP pubblico dell‟host remoto richiedente (es 9.9.9.9)
e l‟indirizzo privato VPN corrispondente (es 172.16.0.2) in modo da poter poi reinstradare le risposte.
 Le richieste vengono infine inviate sul canale ETH0 relativo alla rete 10.0.0.0, lasciando immutato l‟indirizzo
sorgente. Il destinatario riceve la richiesta, elabora la risposta e, vedendo che il richiedente appartiene ad una rete
diversa dalla sua (cioè appartiene alla rete 172.16.0.0), invia la risposta al suo Default Gateway (router VPN) che,
letto IP DEST a172.16.0.x lo inoltra sul canale VPN0 il quale crea il pacchetto con IP pubblico e lo spedisce
all‟host remoto. In alternativa si potrebbe attivare sul VPN Server un servizio PAT che imposti il VPN Server
(10.0.0.1) come mittente verso la rete 10.0.0.0

pag 146
Sistemi - Classe Quinta robertomana.it
RETI

ACL sulla porta WAN INBOUND :Oltre alle porte del DMZ si apre anche la porta 1723
Porta IP Source IP Dest Azione
Porte DMZ Any 1.2.3.4 NAT ……. Consenti
1723 (VPN server) Any 1.2.3.4 Consenti
Any Any Any Blocca

ACL sull‟interfaccia LAN OUTBOUND (su cui normalmente tutte le porte sono chiuse salvo rare eccezioni).
Volendo consentire ai VPN Client pieno accesso all‟intera rete locale, occorrerà aggiungere la seguente entry :
Porta IP Source IP Dest Azione
Any 172.16.0.0/24 Any Consenti

Collegamento tramite VPN di una intera rete remota (con il VPN Client installato sul router )
La situazione è simile a quella precedente, con una rete locale 10.0.0.0, indirizzo pubblico statico 1.2.3.4, indirizzo di
VPN 172.16.0.1. Lo schema di rete è lo stesso di prima, ed anche il funzionamento è analogo.
1.2.3.4

Il PC della prima rete che deve inviare un pacchetto destinato a 10.0.0.33:1433 lo invia al proprio router con IP
SOURCE = 192.168.0.x e IP DEST 10.0.0.33. Il pacchetto arriva l router che lo immette sulla porta VPN0 la quale:
 Effettua una prima traslazione NAT sostituendo IP Mittente e Porta Mittente con il proprio indirizzo VPN
(172.16.0.2) ed una nuova porta effimera
 Provvede a crittografare i dati e ad “avvolgerli” in una nuova intestazione contenente come mittente
l‟indirizzo della porta fisica di uscita (x.y.z.k) su cui è mappata la porta VPN, e come destinatario
l‟indirizzo pubblico del VPN Server (1.2.3.4), con la sua porta di ascolto 1723 .
Tabella di Routing del Router VPN Client
Rete Subnet Interface Next Hop Metric
172.16.0.0 255.255.255.0 172.16.0.x 172.16.0.x 0
10.0.0.0 255.255.255.0 172.16.0.x 172.16.0.1 1
0.0.0.0 0.0.0.0 1.2.3.4 Gateway provider 1

Nel caso in cui le reti remote debbano contenere anch‟esse dei server accessibili dalla rete principale, allora dovranno
avere indirizzi di rete diversi sia rispetto alla LAN principale sia rispetto alla rete VPN.
Tabella di Routing del Router VPN Server
Rete Subnet Interface Gateway Metric
10.0.0.0 255.255.255.0 10.0.0.1 10.0.0.1 0
172.16.0.0 255.255.255.0 172.16.0.1 172.16.0.1 0
192.168.2.0 255.255.255.0 172.16.0.1 172.16.0.2 1
192.168.3.0 255.255.255.0 172.16.0.1 172.16.0.3 1
0.0.0.0 0.0.0.0 1.2.3.4 Gateway provider 2

pag 147

Potrebbero piacerti anche