Sei sulla pagina 1di 260

1

Aldo Roveri

RETEMATICA
Parte prima

Versione preliminare
ottobre 2000

2
I.

QUADRO DI RIFERIMENTO...........................................................................................................................................4
I.1. LA STRUTTURA DI UNA RETE ..............................................................................................................................................5
I.1.1. Reti logica e fisica ....................................................................................................................................................5
I.1.2. Sezioni della rete logica ...........................................................................................................................................6
I.2. LE SORGENTI DI INFORMAZIONE .........................................................................................................................................6
I.2.1. I segnali emessi.........................................................................................................................................................7
I.2.2. Caratteristiche di emissione ....................................................................................................................................8
I.3. SERVIZI E INFRASTRUTTURE ...............................................................................................................................................9
I.3.1. Le informazioni scambiate .....................................................................................................................................10
I.3.2. Tipi di infrastrutture...............................................................................................................................................11
I.3.3. Caratterizzazione dei servizi..................................................................................................................................11
I.3.4. Cooperazione tra le parti.......................................................................................................................................13
I.4. LE ESIGENZE DI COMUNICAZIONE .....................................................................................................................................14
I.4.1. La multimedialit....................................................................................................................................................15
I.4.2. Lubiquit e la personalizzazione dei servizi........................................................................................................15
I.4.3. La sicurezza e la protezione delle informazioni ...................................................................................................16
I.4.4. La gestione della rete e dei servizi ........................................................................................................................16
I.5. EVOLUZIONE DELLE INFRASTRUTTURE ............................................................................................................................16
I.5.1. Internet ....................................................................................................................................................................17
I.5.2. Le reti intelligenti ...................................................................................................................................................19
I.5.3. Le reti mobili...........................................................................................................................................................19
I.6. LA NORMATIVA NELLE TELECOMUNICAZIONI ..................................................................................................................20

II.

ARCHITETTURE DI COMUNICAZIONE...................................................................................................................22
II.1.
ARCHITETTURA A STRATI.............................................................................................................................................23
II.2.
ELEMENTI ARCHITETTURALI ........................................................................................................................................24
II.2.1. Gli strati architetturali ...........................................................................................................................................24
II.2.2. Servizio di strato.....................................................................................................................................................26
II.2.3. Primitive di servizio e protocolli di strato ............................................................................................................26
II.2.4. Funzione di indirizzamento....................................................................................................................................29
II.2.5. Sistemi terminali e intermedi .................................................................................................................................30
II.3.
TRATTAMENTI DELLINFORMAZIONE ..........................................................................................................................30
II.3.1. Ordine logico di trattamento .................................................................................................................................31
II.3.2. Comunicazioni di strato .........................................................................................................................................32
II.3.3. Flussi informativi....................................................................................................................................................34
II.3.4. Gestione dei protocolli ...........................................................................................................................................36
II.3.5. Modi di servizio ......................................................................................................................................................38
II.4.
U NIT INFORMATIVE....................................................................................................................................................39
II.5.
IL SERVIZIO CON CONNESSIONE ...................................................................................................................................43
II.5.1. Le connessioni di strato..........................................................................................................................................44
II.5.2. Gestione delle connessioni.....................................................................................................................................45
II.5.3. Trasferimento delle informazioni ..........................................................................................................................47
II.5.4. Controllo di errore .................................................................................................................................................47
II.6.
MODELLI FUNZIONALI ..................................................................................................................................................48
II.6.1. Il modello OSI.........................................................................................................................................................49
II.6.2. Il modello Internet ..................................................................................................................................................51
II.7.
I MODELLI A TRE PIANI .................................................................................................................................................51

III. LE RISORSE DI RETE......................................................................................................................................................55


III.1.
LA CONDIVISIONE DELLE RISORSE ...............................................................................................................................55
III.1.1. Domande e risposte ................................................................................................................................................55
III.1.2. Le attivit di gestione .............................................................................................................................................58
III.1.3. Condizioni di contesa .............................................................................................................................................58
III.1.4. Stati di stallo ...........................................................................................................................................................60
III.1.5. Campi di impiego delle risorse..............................................................................................................................61
III.2.
TRAFFICO E PRESTAZIONI .............................................................................................................................................61

3
III.2.1. Risorse virtuali........................................................................................................................................................62
III.2.2. Strategie di assegnazione di risorse condivise .....................................................................................................62
III.2.3. Controllo dei sovraccarichi ...................................................................................................................................64
IV.

I SERVIZI DI RETE...........................................................................................................................................................65

IV.1.
CARATTERISTICHE DI SERVIZIO ...................................................................................................................................65
IV.1.1. Prestazioni ..............................................................................................................................................................66
IV.1.2. Relazioni tra le parti in comunicazione ................................................................................................................68
IV.1.3. Componenti di un modo di trasferimento..............................................................................................................70
IV.2.
LA MULTIPLAZIONE ......................................................................................................................................................71
IV.2.1. Gestione dei tempi ..................................................................................................................................................73
IV.2.2. Gestione della capacit multiplata........................................................................................................................76
IV.2.3. Multiplazione statica ..............................................................................................................................................80
IV.2.4. Multiplazione dinamica..........................................................................................................................................80
IV.2.5. Multiplazione ibrida ...............................................................................................................................................82
IV.3.
LA COMMUTAZIONE .....................................................................................................................................................82
IV.3.1. Tecnica a circuito ...................................................................................................................................................85
IV.3.2. Tecnica a pacchetto................................................................................................................................................86
IV.3.3. Ritardi nella tecnica a pacchetto...........................................................................................................................87
IV.4.
ARCHITETTURE PROTOCOLLARI ..................................................................................................................................91
IV.4.1. Modelli di riferimento ............................................................................................................................................91
IV.4.2. Alternative architetturali........................................................................................................................................93
IV.5.
ALCUNI MODI DI TRASFERIMENTO ...............................................................................................................................96
IV.5.1. Trasferimento a circuito.........................................................................................................................................96
IV.5.2. Trasferimento a pacchetto .....................................................................................................................................97
IV.5.3. Modo di Trasferimento Asincrono.........................................................................................................................97
IV.5.4. Modo di trasferimento FR......................................................................................................................................98
IV.5.5. Trasferimento a pacchetto e trasparenza temporale............................................................................................98
IV.6.
N ODI A CIRCUITO ........................................................................................................................................................100
IV.6.1. Divisione di spazio................................................................................................................................................102
IV.6.2. Divisione di tempo................................................................................................................................................102
IV.6.3. Divisione di frequenza..........................................................................................................................................105
IV.6.4. Gestione dei sincrosegnali ...................................................................................................................................105
IV.6.5. Interfacce...............................................................................................................................................................106
IV.6.6. Sincronizzazione di rete .......................................................................................................................................112
IV.6.7. Caratteristiche generali di una rete a circuito ...................................................................................................112
IV.6.8. Trattamento di chiamata ......................................................................................................................................114
IV.7.
N ODI A PACCHETTO ....................................................................................................................................................115
IV.7.1. Processore di nodo ...............................................................................................................................................116
IV.7.2. Instaurazione di un circuito virtuale ...................................................................................................................117
IV.7.3. Accettazione di chiamata .....................................................................................................................................118
IV.7.4. Orologi di nodo.....................................................................................................................................................119
IV.8.
ARCHITETTURE DI INTERCONNESSIONE.....................................................................................................................119
IV.8.1. La funzione di interconnessione ..........................................................................................................................120
IV.8.2. Interconnessione in una inter-rete.......................................................................................................................121
IV.8.3. Adozione di uno strato aggiuntivo.......................................................................................................................123
IV.8.4. Modo di servizio nello strato aggiuntivo ............................................................................................................125
IV.8.5. Instradamento in una inter-rete...........................................................................................................................125
IV.9.
IL TRATTAMENTO DELLA SEGNALAZIONE .................................................................................................................126
IV.9.1. Classificazione dei modi di segnalazione ...........................................................................................................126
IV.9.2. La segnalazione a canale comune.......................................................................................................................128

I.

QUADRO DI RIFERIMENTO

Una comunicazione a distanza avviene solitamente sulla base di un rapporto di domanda e di


offerta. Oggetto del rapporto un servizio di telecomunicazione. Soggetti del rapporto sono il cliente
(service customer), il fornitore (service provider) e il gestore di rete (network operator).
Il cliente del servizio ha lesigenza di comunicare a distanza con altri clienti, secondo modalit
operative e prestazioni di qualit definiti allinterno di un opportuno quadro contrattuale. Per fruire di
un servizio deve interagire con il fornitore. Delega alla fruizione uno o pi utenti (operatori umani o
macchine di elaborazione). Gli utenti agiscono come sorgenti e/o collettori di informazione.
La fruizione di un servizio comporta il richiamo e lesecuzione, in un ordine prestabilito, di
componenti funzionali, che qualificano il servizio nei suoi vari aspetti e che debbono svolgersi
rispettando opportune regole. Queste costituiscono la logica del servizio. Tra le componenti funzionali
sempre incluso un trasferimento e pu esservi una utilizzazione dellinformazione. Il trasferimento
deve avvenire da una sorgente ad almeno un collettore tra loro a distanza, ma senza interazione diretta tra queste
parti. Lutilizzazione deve:

rispondere alle esigenze applicative degli utenti posti in comunicazione;


includere anche quanto necessario per completare loperazione di trasferimento, e cio una
interazione diretta tra lorigine e la destinazione della comunicazione per rendere possibile
una fruizione dellinformazione scambiata.
Il fornitore del servizio ha il compito di confezionare la logica del servizio e di rendere questa
attivabile secondo forme e modalit (ivi compresi gli aspetti di qualit e di costo) definite nei suoi
impegni contrattuali con il cliente. Per rendere possibile il trasferimento dellinformazione tra lorigine
e la destinazione della comunicazione, deve poter utilizzare le risorse infrastrutturali rese disponibili
dal gestore di rete.
Una rete di telecomunicazione la piattaforma su cui possibile eseguire il programma
contenente la logica di ogni servizio supportato. Consente quindi di:
trasferire linformazione a distanza secondo quanto richiesto nellespletamento di ogni
servizio;
controllare e gestire le sue parti componenti, in modo che il trasferimento avvenga entro
prefissati obiettivi di qualit e di costo;
assicurare al cliente/utente e al fornitore il controllo e la gestione dei servizi supportati.
Il gestore di rete ha il compito di attivare e mantenere operativi i mezzi tecnici e organizzativi che
sono atti ad assicurare il supporto infrastrutturale di servizi di telecomunicazione per una popolazione
di utenti. I vincoli da rispettare sono il conseguimento di una accettabile qualit per ognuno dei servizi
supportati e di un costo di fornitura commisurato al beneficio ottenibile.
In base alle potenzialit dellambiente di comunicazione che sono coinvolte nella loro fornitura, i
servizi di telecomunicazione si distinguono in servizi di rete e in servizi applicativi. Le potenzialit che
consentono di comunicare sono a loro volta localizzabili in una rete come piattaforma di fornitura e in
apparecchi terminali (TE- Terminal Equipment), questi ultimi costituenti il mezzo attraverso cui un
utente usufruisce di uno o pi servizi di telecomunicazione.
Ciascuna potenzialit definita come un insieme di funzioni che possono essere suddivise in due
livelli per sottolineare la dipendenza gerarchica di un livello dallaltro: cio le funzioni di basso livello
costituiscono la base per lesecuzione delle funzioni di alto livello e queste ultime presuppongono lo
svolgimento preventivo delle prime.
Le funzionalit di basso livello sono preposte al trasferimento dellinformazione attraverso la rete.
Le funzionalit di alto livello riguardano invece gli aspetti connessi allutilizzazione dellinformazione
e possono anche includere funzionalit di controllo e di gestione.

5
Con queste precisazioni si pu affermare che:
- i servizi di rete forniscono, fondamentalmente, la possibilit di trasferire informazioni tra
due punti di accesso alla rete; coinvolgono quindi solo potenzialit di rete e cio insiemi
funzionali di basso livello;
- i servizi applicativi, cos denominati in quanto rispondenti alle esigenze applicative degli
utenti, forniscono una possibilit di comunicare in senso lato, e cio comprendente oltre agli
aspetti di puro trasferimento dellinformazione, anche quelli legati alla relativa
utilizzazione; sono allora coinvolte, in aggiunta a potenzialit di rete, anche potenzialit di
apparecchio terminale che sono caratterizzate da insiemi di funzioni di livello sia basso che
alto.
I.1.

La struttura di una rete

La trattazione di questo paragrafo dedicata Alla struttura della piattaforma su cui si appoggia la
fornitura dei servizi di rete e applicativi. Sono considerate:
la distinzione tra funzioni aventi nature fisica e logica ( I.1.1);
le due sezioni della rete logica preposte allaccesso e al trasporto dellinformazione (
I.1.2).
I.1.1.

Reti logica e fisica

Il modello pi semplice e intuitivo di una rete di telecomunicazione descrive la relativa


configurazione geometrica (topologia). Elementi componenti di questa sono i rami e i nodi. Un ramo,
rappresentato graficamente da un segmento di retta o di curva, costituisce elemento di connessione di
due nodi. Un nodo lestremit comune di due o pi rami convergenti nello stesso punto. Il significato
di queste entit geometriche diverso a seconda del tipo di operativit che si considera.
Nelloperativit di una rete di telecomunicazione occorre infatti distinguere le funzioni di natura logica
da quelle di natura fisica. Entrambe concorrono al trasferimento dellinformazione tra sorgente e
collettore, ma con finalit ben distinte.
Nel caso delle funzioni di natura logica, lattenzione rivolta allinformazione come insieme di
stati logici aventi significativit in un processo di comunicazione e quindi come bene immateriale per il
quale richiesto il trasferimento da una o pi sorgenti a uno o pi collettori tutti dislocati in posizioni
tra loro remote.
Il trasferimento dellinformazione a distanza (o anche solo la sua memorizzazione in sede locale)
richiede anche lo svolgimento di funzioni di natura fisica. Queste consentono di utilizzare i mezzi
elettromagnetici disponibili (a propagazione libera o guidata) provvedendo al trasferimento dei segnali
che supportano linformazione. Si tratta quindi delle funzioni di tipo trasmissivo.
Il sottoinsieme di risorse funzionali (tra quelle presenti nella rete) che svolgono compiti di natura
logica chiamato rete logica; il sottoinsieme preposto a compiti di natura fisica chiamato rete fisica.
La rete logica quindi uninfrastruttura che consente il trasferimento di informazione da una o pi
sorgenti a uno o pi collettori, tutti dislocati in posizioni tra loro remote. la sede di funzioni di natura
logica, aventi come fine comune la fornitura di servizi di rete.
Le due reti fisica e logica sono in stretta relazione gerarchica, dato che le funzioni di natura logica
debbono utilizzare quelle di natura fisica e queste ultime sono al servizio delle prime. Entrambe le
funzioni sono preposte al trasferimento e quindi al servizio di quelle di utilizzazione. Il rapporto tra rete
fisica e rete logica segue il modello di interazione client-server, in cui la rete logica agisce come
client e quella fisica come server.

6
Circa la topologia della rete logica, un ramo rappresenta il percorso diretto che linformazione
segue per essere trasferita da unestremit allaltra. Un nodo descrive il mezzo di scambio tra due o pi
rami che ad esso fanno capo. Rami e nodi sono coinvolti nella formazione di percorsi di rete. Un ramo
in corrispondenza con gli apparati di rete che svolgono la funzione di multiplazione (cfr. par. IV.2 ).
Un nodo in corrispondenza con gli apparati di rete (commutatori) che svolgono la funzione di
commutazione (cfr. par. IV.3).
La rete fisica linfrastruttura preposta al trasferimento dei segnali che supportano linformazione.
la sede di funzioni di natura fisica, quali sono quelle di tipo trasmissivo. linfrastruttura di base su
cui si definisce la rete logica.
Circa la topologia della rete fisica, i rami rappresentano le vie per il trasferimento dei segnali e
sono in corrispondenza modellistica con i sistemi trasmissivi di linea. I nodi rappresentano i punti di
trasmissione e/o ricezione dei segnali e sono in corrispondenza modellistica con gli apparati terminali
di rice-trasmissione.
Le topologie della rete logica e della rete fisica in generale non coincidono.
I.1.2.

Sezioni della rete logica

In una rete logica si distinguono una sezione dorsale o interna, chiamata rete di trasporto, e una
sezione di ingresso/uscita, denominata rete di accesso.
A

A
T
T
A

A : Nodi di accesso, T : Nodi di transito

Figura I.1.1 Topologia della rete di trasporto con i relativi nodi


Tra i nodi della rete di trasporto si distinguono nodi di accesso e nodi di transito (Fig. I.1.1). La
rete di trasporto ha il ruolo di trasferire linformazione tra nodi di accesso, utilizzando, se necessario,
anche nodi di transito. la sede di risorse condivise (di trasferimento e di elaborazione). supportata
da una rete fisica oggi orientata ad un uso, sempre pi esteso, delle fibre ottiche.
La rete di accesso ha il ruolo di consentire laccesso alla rete da parte dei suoi utenti. Il suo
supporto fisico (mezzo trasmissivo) pu essere a filo (wired) in rame/fibra o senza filo (wireless) su
portante radio. la sede di risorse che in alcuni casi sono indivise e che in altri casi sono condivise.
Comprende linterfaccia utente-rete, e cio il punto di accesso alla rete (Fig. I.1.2).
I.2.

Le sorgenti di informazione

Le sorgenti emettono informazione con il supporto di entit fisiche che sono correntemente
denominate segnali. La caratterizzazione delle sorgenti effettuabile con riferimento ai segnali emessi
( I.2.1) e alle relative modalit di emissione ( I.2.2).

7
Nodo
di accesso
Commutatore
Locale
Postazione dutente
dutente

TE

NT

Allacciamento
dutente

ET

SW

Linea dutente
dutente
Interfaccia
utente-rete
TE : apparecchio terminale
terminale
NT : terminazione
terminazione di rete
rete

ET
ET :: terminazione
terminazione di commutatore
SW : struttura di commutazione

Figura I.1.1 Elemento di rete di accesso con linea di utente individuale


I.2.1.

I segnali emessi

I segnali che supportano linformazione in applicazioni telematiche sono normalmente in forma


numerica in quanto cos vengono emessi dalle loro sorgenti o cos vengono ott enuti a seguito di
una conversione analogico-numerica. Si distinguono segnali numerici isocroni e anisocroni.
Un segnale numerico costituito da una successione di segnali elementari (elementi di segnale),
che si susseguono nel tempo e a ciascuno dei quali associata una porzione dell'informazione emessa
dalla sorgente (ad esempio, una cifra binaria). Questa associazione attuata facendo assumere a una
grandezza caratteristica di ogni elemento di segnale (ad esempio, alla sua ampiezza, durata, ecc.)
valori discreti che sono in corrispondenza con l'informazione da rappresentare e che sono individuati
sull'asse dei tempi da un istante significativo.
In un segnale numerico isocrono gli intervalli di tempo tra istanti significativi consecutivi hanno,
almeno in media, le stesse durate ovvero durate che sono multipli interi della durata pi breve; gli
scostamenti dalla media debbono essere di valore massimo contenuto entro limiti specificati. In un
segnale numerico anisocrono non sono verificate queste condizioni.
Al fine di rappresentare fisicamente la successione degli istanti significativi di un segnale
numerico isocrono, a questo deve essere associato, in emissione e in ricezione, un crono-segnale, e cio
un segnale periodico, in cui gli istanti significativi sono individuati da particolari valori dell'ascissa
temporale. Ad esempio, se il crono-segnale sinusoidale, gli istanti significativi sono rappresentati
dagli attraversamenti dello zero con pendenza positiva (o negativa), mentre, se il crono-segnale ad
onda quadra periodica, gli istanti significativi sono individuati dalla posizione temporale del fronte di
salita (o di discesa).
Una sorgente numerica (ovvero il suo equivalente a valle di una conversione analogico-numerica)
ha un comportamento che descrivibile mediante l'andamento nel tempo del ritmo binario (bit rate) di
emissione, e cio del numero di cifre binarie che sono emesse nell'unit di tempo durante intervalli in
cui questo numero rimanga invariato.
Quando l'emissione sostenuta da un segnale numerico isocrono (Fig. I.2.1), in cui ogni elemento
di segnale portatore di una singola cifra binaria e il cronosegnale associato ha periodo Ts , il ritmo
binario di emissione costante e uguale a 1/Ts .
Se invece l'emissione con segnale numerico anisocrono, in cui ogni elemento di segnale sia
ancora portatore di una singola cifra binaria (Fig. I.2.2), si possono normalmente individuare tratti di
segnale in cui l'intervallo tra due istanti significativi successivi costante e che si susseguono con altri
tratti in cui detto intervallo assume un valore diverso. Si pu allora definire un ritmo binario di
emissione che varia da tratto a tratto e, tra i valori assunti da questi ritmi, si pu individuare un valore

Stati
significativi

massimo, che chiamato ritmo binario di picco. Questo quindi il numero massimo di cifre binarie
che la sorgente emette nell'unit di tempo.

TS

1
1

0
t

Tensioni

+ V

- V

Istanti significativi

Figura I.2.1 - Esempio di segnale numerico isocrono (b) con linformazione da rappresentare (a) e
con lassociato crono-segnale (c).

Start

Parola di codice

Parit

Stop

Stati
significativi

Istanti significativi

Figura I.2.2 - Esempio di segnale numerico anisocrono


I.2.2.

Caratteristiche di emissione

Dal punto di vista delle loro caratteristiche di emissione, le sorgenti di informazione possono
essere a ritmo binario costante (CBR - Constant Bit Rate) o a ritmo binario variabile (VBR - Variable
Bit Rate). In questo secondo caso, il ritmo binario emesso varia nel tempo tra un valore massimo (il
ritmo binario di picco) e un valore minimo, che pu essere anche nullo. Tale variabilit legata a:
- la possibile variazione nel tempo del contenuto informativo all'ingresso del codificatore;
- la convenienza di realizzare una codifica, che tenga conto di questa variazione con
l'obiettivo di utilizzare in modo pi efficiente la capacit di canale richiesta per trasferire a
distanza l'informazione emessa.
Il caso delle sorgenti CBR pu invece essere caratterizzato dal solo ritmo binario di picco.
In base al loro ritmo binario di picco R (Tab. I.2.1) si distinguono sorgenti a bassa velocit (R
100 kbit/s); a media velocit (100 kbit/s < R 10 Mbit/s) e ad alta velocit (R > 10 Mbit/s).

CLASSE

Bassa
Bassa
velocit
velocit

Media
velocit
velocit
Alta
Alta
velocit
velocit

SERVIZI
Telemetria
Telemetria
Dati, Testi
Voce, Dati
Immagini fisse
Videotelefono
Videotelefono
Videoconferenza
Musica ad alta fedelt
TV
TV convenzionale
convenzionale
Dati,
Dati, Immagini
Immagini fisse
fisse
TV
TV ad
ad alta
alta definizione
definizione
Dati, Immagini fisse

RITMO
RITMO BINARIO
BINARIO
DI PICCO (Mbit/s)
0,0001
0,0001
0,01
0,01
0,1
0,1
0,1
0,1
0,1
0,1
0,1
0,1
11
da
da 11 aa 10
10
da
da 11 aa 10
10
da
da 10
10 aa 100
100
da
da 10
10 aa 1000
1000

Tabella I.2.1 - Classi di velocit


Un esempio di ritmo binario variabile fornito da una sorgente tutto o niente (on-off), nella
quale la sequenza dei dati emessi strutturabile in intervalli di attivit e di silenzio. Gli intervalli di
attivit sono chiamati tratti informativi, mentre quelli di silenzio sono detti pause (Fig. I.2.3). Nelle
sorgenti "tutto o niente" le durate dei tratti informativi e delle pause sono, in generale, quantit variabili
in modo aleatorio e quindi descrivibili solo in modo probabilistico. Le distribuzioni di queste quantit
sono strettamente legate al tipo di sorgente considerata e quindi al servizio nell'ambito del quale la
sorgente opera.

Tempo
Tratti
Tratti informativi
informativi

Pause

Figura I.2.3 - Emissione di una sorgente VBR tutto o niente


Nel caso di sorgenti VBR pi generali di quelle "tutto o niente", l'emissione si presenta come una
successione di tratti informativi in ognuno dei quali il ritmo binario emesso costante e si modifica di
valore passando da un tratto ad un altro. Circa le durate di questi tratti con i relativi ritmi binari emessi,
valgono considerazioni analoghe a quelle fatte con riferimento alle sorgenti "tutto o niente": si in
presenza cio di quantit variabili in modo aleatorio.
Conseguentemente, una descrizione completa di una sorgente VBR richiederebbe modelli
probabilistici che possono essere di identificazione e di utilizzazione anche molto complesse. Se pero'
la descrizione pu essere ristretta al solo comportamento in media, si pu fare riferimento a un ritmo
binario medio, ottenuto come media dei valori dei ritmi binari che la sorgente emette nel tempo. Inoltre
per ogni sorgente la variabilit del ritmo binario pu essere sommariamente descritta dal grado di
intermittenza (burstiness), e cio dal rapporto tra il ritmo binario di picco e quello medio.
I.3.

Servizi e infrastrutture
Per fornire un idea pi precisa delle svariate possibilit di attuazione di una comunicazione,
sono definiti i tipi di flussi di informazione che sono scambiati a sostegno dellerogazione di
un servizio ( I.3.1);

10
considerata la variet di infrastrutture che hanno trovato attuazione per soddisfare
specifiche esigenze operative o per assecondare le opportunit offerte da evoluzioni
tecnologiche ( I.3.2);
fornita una caratterizzazione dei servizi di rete e applicativi ( I.3.3);
presentata una classificazione dei servizi basata sul grado di cooperazione che si stabilisce
tra le parti in comunicazione ( I.3.4).
I.3.1.

Le informazioni scambiate

Nellerogazione di un servizio vengono in generale trasferiti tre tipi di informazione: quelle di


utente, di controllo e di gestione.
L'informazione di utente include quanto viene emesso da una sorgente ed destinato a uno o pi
collettori di informazione per le finalit di una particolare applicazione, ma comprende anche lextrainformazione (overhead) che viene in generale aggiunta al flusso informativo di sorgente per scopi di
procedura o di protezione. Lo scambio dell'informazione di utente quindi l'obiettivo primario di un
servizio di telecomunicazione.
Costituiscono l'informazione di utente, in alternativa o in unione parziale o totale, le forme
codificate di voce, di suoni musicali, di dati, di testi, di immagini fisse o in movimento. A parit di
natura dell'informazione scambiata, la sua forma codificata che pone requisiti al relativo trattamento
infrastrutturale. Al riguardo oggi d'uso parlare di mezzo di rappresentazione con riferimento a uno
specifico tipo di informazione, come descritto dalla sua forma a valle di un operazione di codifica con o
senza riduzione di ridondanza. In relazione poi alla capacita' di gestire un solo mezzo di
rappresentazione o una pluralit di questi, una comunicazione si dice monomediale nel primo caso o
multimediale nel secondo; gli stessi attributi sono utilizzati con riferimento a un servizio o a una
applicazione.
L'informazione di utente pu essere scambiata tra due o pi utenti o tra utenti e centri di servizio e,
nello scambio, pu essere trattata dall'infrastruttura in modo trasparente oppure pu essere elaborata,
come accade nei casi di una archiviazione, di una conversione di mezzo di rappresentazione (ad
esempio, da testo a voce sintetizzata), di una codifica crittografica svolta all'interno della rete.
L'informazione di controllo (o di segnalazione) di supporto affinch possa avvenire lo scambio
dell'informazione di utente. Essa ha lo scopo di consentire le interazioni tra cliente/utente e fornitore di
servizi nell'ambito di quanto previsto: (i) per inizializzare la comunicazione, per negoziarne le
caratteristiche qualitative e quantitative iniziali e per modificare tali caratteristiche nel corso della
comunicazione; (ii) per ottenere un arricchimento dei servizi di base con il coinvolgimento di risorse di
elaborazione accessibili nell'ambiente di comunicazione.
L'informazione di gestione ha lo scopo di consentire il complesso di operazioni necessarie per
gestire la fornitura dei servizi e i mezzi necessari allo scopo; in questi ultimi sono ovviamente incluse
le risorse preposte al trasferimento delle informazioni di utente e di controllo. Tra le operazioni sopra
citate vanno menzionate quelle connesse all'erogazione del servizio (operazioni di esercizio), al suo
mantenimento (operazioni di manutenzione) e al suo addebito (operazioni di amministrazione). Per lo
svolgimento di tali operazioni deve essere previsto uno scambio di informazioni tra le apparecchiature
di rete e quelle terminali. Oggetto dello scambio l'informazione di gestione, che quindi anch'essa di
supporto al trattamento infrastrutturale dell'informazione di utente.
Il trasferimento delle informazioni di utente, di controllo e di gestione pu essere attuato
nell'ambito di un'unica infrastruttura. Questa la soluzione adottata in passato per le reti dedicate a un
servizio. Gli attuali orientamenti sono a favore dell'impiego di infrastrutture separate. Per
l'informazione di utente si attua allora una infrastruttura, separata da quella di segnalazione (rete di
segnalazione a canale comune) e da quella di gestione (rete di gestione delle telecomunicazioni).

11
I.3.2.

Tipi di infrastrutture

Esistono varie modalit per classificare i numerosi tipi di infrastrutture a supporto della fornitura
di servizi. In base al tipo di utenza si distinguono: reti pubbliche e reti private. Una rete pubblica se
l'accesso consentito a chiunque provveda a stabilire un accordo contrattuale con il fornitore di servizi.
invece privata quando gli utenti abilitati all'accesso costituiscono un insieme chiuso con specifiche
esigenze di comunicazione, che richiedono accordi tra cliente e fornitore non assimilabili a quelli in
ambito pubblico.
In base alla mobilit del terminale, si distinguono reti fisse e mobili. Una rete fissa se i servizi
supportati dalla rete sono accessibili solo da parte di utenti che, ogniqualvolta desiderino comunicare,
siano in posizione statica o che, pur in movimento, rimangano in un intorno relativamente ristretto di
un sito di riferimento (abitazione, ambiente di lavoro, ecc.). invece mobile se l'accesso consentito
ad utenti che sono in movimento senza limitazioni alle loro possibilit di deambulazione (a piedi o su
veicoli).
In base alla loro estensione si distinguono reti in area geografica e in area locale. Una rete si dice
in area geografica (Wide Area Network, WAN) quando gli utenti sono distribuiti su un'area molto
estesa (una nazione, un continente, l'intero globo terrestre). detta invece in area locale (Local Area
Network, LAN) quando larea interessata ristretta ad un singolo edificio o a un complesso di
insediamenti entro il raggio di qualche chilometro.
Infine, in base alla gamma dei servizi supportati, si distinguono reti dedicate e reti integrate. Le
reti dedicate a un servizio sono state concepite e realizzate in passato per la fornitura di un singolo
servizio e possono oggi essere utilizzate anche per un insieme ristretto di altri servizi, seppure con
limitazioni severe per ci che concerne la qualit conseguibile; esempi significativi di reti di questo
tipo sono la rete telefonica e le reti per dati. Le reti integrate nei servizi sono invece la realt attuale; il
loro obiettivo rendere possibile la fornitura di una vasta gamma di servizi con prestazioni di qualit e
di costo decisamente migliori rispetto a quelle ottenibili con le reti dedicate.
I.3.3.

Caratterizzazione dei servizi

I servizi applicativi e di rete sono di base o supplementari. I servizi di base possono essere
singolarmente offerti in modo autonomo da altri servizi dello stesso tipo. I servizi supplementari
modificano o complementano uno o pi servizi di base; ne segue che un servizio supplementare non
offribile in modo autonomo da uno di base.
La caratterizzazione dei servizi di base fondata su un elenco di attributi, che riguardano il
trasferimento dell'informazione di utente, le modalit di accesso e altre propriet generali. Tra i sette
attributi relativi al trasferimento dell'informazione, se ne distinguono quattro, che sono detti dominanti
e che sono utilizzati per identificare una particolare categoria di servizi. I rimanenti tre sono gli
attributi secondari e sono impiegati per identificare un particolare servizio entro una categoria. Infine,
per caratterizzare le modalit di accesso e altre propriet generali, sono utilizzati gli attributi
qualificanti, che meglio specificano un singolo servizio.
Ognuno degli attributi pu assumere un valore scelto in una gamma di alternative possibili. A
questo riguardo conviene premettere alcune definizioni riguardanti l'informazione d'utente, che viene
scambiata durante la fruizione di un servizio, e la sua relazione con il punto di accesso alla rete (cfr.
I.1.2).
Nell'ambito di una comunicazione, la rete che ne consente lo svolgimento attraversata in primo
luogo da flussi informativi di utente, che interessano almeno due punti di accesso: l'uno adiacente alla
sorgente e l'altro prossimo al collettore. Per ognuno di questi flussi, l'interessamento di un punto di
accesso sommariamente caratterizzabile con:

12
-

il verso di scorrimento, che quello dell'informazione trasportata dal flusso: tale verso pu
essere uscente o entrante a seconda che il trasferimento sia dall'apparecchio terminale al
punto di accesso o viceversa;
- il ritmo di flusso, che ha significativit quando il flusso composto da cifre binarie con
cadenza regolare e che misurato dal numero di cifre binarie componenti il flusso che
attraversano il punto di accesso nell'unita' di tempo;
- la portata media di flusso, che un parametro significativo ogniqualvolta il flusso
considerato composto da cifre binarie che non hanno cadenza regolare e che, in queste
condizioni, misura (ad esempio in bit/s) la quantit di informazione che viene mediamente
trasportata dal flusso nell'unita' di tempo attraverso il punto di accesso; come evidente
ritmo e portata media di flusso coincidono quando il flusso composto da cifre binarie con
cadenza regolare.
Tra gli attributi dominanti significativo citare il modo di trasferimento: questo descrive le
modalit operative che sono seguite nella fornitura di un servizio per trasferire l'informazione d'utente
da un punto di accesso ad un altro; se ne parler in dettaglio nel Cap. IV. Un altro attributo dominante
il ritmo di trasferimento; questo riguarda il flusso informativo che il servizio attiva attraverso il punto
di accesso con verso uscente e caratterizzabile con un parametro dipendente dal tipo di modo di
trasferimento utilizzato.
Gli attribuiti secondari sono la simmetria, la configurazione e linizializzazione.
La simmetria di una comunicazione riguarda la relazione tra verso di scorrimento e portata media
del relativo flusso attivati dal servizio tra due o pi punti di accesso. In particolare, la comunicazione :
unidirezionale, quando si ha scorrimento solo in un verso;
bidirezionale simmetrica, quando sono attivati entrambi i versi di scorrimento e le portate
medie dei relativi flussi hanno valori paragonabili;
bidirezionale asimmetrica, quando, pur in presenza di entrambi i versi di scorrimento, la
portata media di un flusso di valore decisamente prevalente rispetto a quello della portata
media dell'altro flusso.
La configurazione di una comunicazione fa riferimento alla dislocazione spaziale e al numero dei
punti di accesso che sono coinvolti nella fornitura di un servizio. Si parla allora di comunicazione:
punto-punto, quando vengono interessati solo due punti di accesso;
multipunto, quando i punti di accesso coinvolti sono in numero maggiore di due;
diffusiva, quando, come nel caso precedente, i punti di accesso sono in numero maggiore di
due, ma con la differenza che, in questo caso, l'informazione fluisce da un unico punto verso
gli altri in modo unidirezionale.
E da aggiungere che il caso multipunto include le configurazioni punto-multipunto ( una singola
origine con una molteplicit di destinazioni), multipunto-punto (pi origini con una singola
destinazione) e multipunto-multipunto (pi origini e pi destinazioni).
Le modalit da seguire per dare inizio e conclusione a un trasferimento di informazione
nell'ambito dell'utilizzazione di un particolare servizio di telecomunicazione (inizializzazione di una
comunicazione) possono essere su basi chiamata, prenotazione e permanente.
In una comunicazione su base chiamata (nel seguito denominata, per brevit, chiamata) si
distinguono tre fasi: una fase iniziale di richiesta del servizio, una fase intermedia di utilizzazione e una
fase finale di chiusura. In una chiamata sempre possibile individuare, come attori, almeno due utenti:
da un lato l'utente chiamante, che presenta la richiesta di fornitura di un servizio e, dall'altro, l'utente
chiamato, con cui il primo desidera stabilire uno scambio di informazione. Il termine "chiamata" viene
normalmente utilizzato con riferimento a una interazione utente-rete in cui la rete risponde alla richiesta
dell'utente non appena possibile, e cio con un ritardo contenuto entro quanto consentito dalla

13
tecnologia realizzativa e dalle condizioni di carico della rete. In queste condizioni la comunicazione
pu essere iniziata, non appena possibile, dopo la presentazione della richiesta da parte dell'utente e
termina, non appena possibile, su richiesta di una delle parti in comunicazione.
Esiste per un'altra possibilit, che, seppure su una diversa scala temporale, ha una organizzazione
in fasi del tipo di quella ora definita. questo il caso di una comunicazione su base prenotazione, in cui
la comunicazione pu iniziare a un istante che stato definito in precedenza al momento di una
prenotazione dell'utente e termina dopo un tempo che stato prefissato al momento della prenotazione
ovvero richiesto durante la svolgimento della comunicazione.
Nei due casi di comunicazioni su basi chiamata e prenotazione, anche necessario uno scambio di
informazione di segnalazione tra le apparecchiature coinvolte nell'espletamento del servizio
(apparecchi terminali, terminazioni di rete, apparati della rete di trasporto). In particolare, nel caso di
comunicazioni su base chiamata, l'informazione di segnalazione elemento essenziale per svolgere la
funzione di trattamento di chiamata. Questa ha lo scopo di mettere a disposizione degli utenti, quando
ne fanno richiesta all'inizio della chiamata, quanto loro occorre per comunicare con altri utenti;
supervisionare lo svolgimento della comunicazione e prendere atto della conclusione della chiamata.
In una comunicazione su base permanente non esiste una organizzazione in fasi. Esiste invece un
contratto tra cliente e fornitore per la erogazione di un servizio senza vincoli sulla sua durata di
fruizione. Nell'ambito di tale rapporto la comunicazione pu iniziare a un istante qualunque successivo
alla stipula del contratto e pu continuare, a discrezione dell'utente, fino al termine stabilito
contrattualmente.
I.3.4.

Cooperazione tra le parti

Dal punto di vista del grado di cooperazione che si stabilisce tra le parti in comunicazione, si
distinguono servizi interattivi e servizi distributivi. I servizi interattivi a loro volta possono essere: di
conversazione, di messaggistica e di consultazione. Tra i servizi distributivi si distinguono quelli con
controllo di presentazione e senza controllo di presentazione.
Nei servizi interattivi la comunicazione coinvolge due o pi utenti (operatori umani, macchine di
elaborazione, banche di informazione), che interagiscono tra loro per il conseguimento di uno scopo
definito, quale un dialogo in tempo reale, un trasferimento di messaggi in tempo differito o una
consultazione di informazione archiviata in appositi centri di servizio. Nei servizi distributivi esiste una
sorgente centralizzata che distribuisce linformazione a un gran numero di utenti senza richieste
individuali.
I servizi di conversazione sono di tipo interattivo e forniscono il mezzo per un dialogo a distanza
tra due o pi utenti; richiedono, tra queste parti, un trasferimento di informazione in tempo reale, e cio
con un ritardo di transito che non pregiudichi la possibilit e lefficacia del dialogo.
Anche i servizi di messaggistica sono di tipo interattivo e offrono una comunicazione da utente a
utente per mezzo di uno scambio, in tempo differito, di messaggi aventi come contenuto, in alternativa
o in unione, testi, voce o immagini. La comunicazione avviene per il tramite di dispositivi di
memorizzazione, che possono svolgere funzioni di immagazzinamento e rilancio, di casella postale e di
trattamento di messaggio.
Nei servizi di consultazione, sempre di tipo interattivo lutente ha la possibilit di reperire
linformazione memorizzata in appositi centri di servizio; linformazione inviata allutente solo a sua
domanda e pu essere consultata su base individuale; listante in cui la sequenza delle informazioni
richieste deve iniziare sotto controllo dellutente.
I servizi con controllo di presentazione sono servizi distributivi, in cui linformazione, diffusa
circolarmente, strutturata in una sequenza di unit con ripetizione ciclica; lutente ha la possibilit di

14
accedere individualmente a tale informazione e pu controllarne sia linizio che lordine di
presentazione.
Infine i servizi senza controllo di presentazione sono servizi distributivi, in cui la sorgente
centralizzata emette, senza soluzione di continuit, un flusso informativo che lutente riceve senza per
avere la possibilit di controllarlo; lutente non pu determinare linizio e lordine di presentazione
dellinformazione diffusa.
I.4.

Le esigenze di comunicazione

Da circa un quarto di secolo lutenza dei servizi di telecomunicazione, con riferimento specifico a
quella degli ambienti di lavoro (utenza-affari) e seppure in modo graduale, sta manifestando il bisogno
di allargare le proprie possibilit di scambi informativi. Si cos passati da un quadro di esigenze che
potevano essere soddisfatte dalla disponibilit di servizi singoli nellambito di comunicazioni
monomediali su infrastrutture fisse ad un altro in cui la richiesta sta riguardando unampia gamma di
comunicazioni multimediali, sotto forma di una pluralit di servizi da fruire in modo integrato e con
possibilit di accesso fisso o mobile a seconda delle esigenze del momento.
In una prima fase lesigenza di multimedialit ha riguardato servizi che, orientativamente,
appartenevano alle classi a bassa e a media velocit, cio con esigenze di ritmo binario di trasferimento
non superiori a 2 Mbit/s. E questo un ambiente di comunicazione a banda stretta.
In una fase successiva, si sono manifestati ulteriori esigenze di multimedialit, che comprendono:
- comunicazioni su base chiamata con possibilita' di trasferire anche informazioni di dati e di
immagine con movimento completo, nell'ambito di servizi ad alta velocita';
- comunicazioni senza connessione per trasferire dati tra reti in area locale e stazioni di lavoro
ad alta velocit elaborativa;
- comunicazioni multimediali con trasferimento, in forma correlata, di flussi informativi
composti di voce, di dati e di immagini fisse o in movimento;
- comunicazioni con configurazione multipunto per servizi sia interattivi che distributivi.
Lambiente di comunicazione in cui possono essere soddisfatte queste modalit di scambio informativo
a banda larga.
Al bisogno di multimedialit a banda stretta o larga, negli ultimi 10 anni si aggiunta lulteriore
esigenza della ubiquit e della personalizzazione della comunicazione. Agli utenti deve cio essere
consentito di comunicare
in qualunque luogo di ambienti pubblici o privati e di unarea locale o geografica;
in qualunque momento delle loro attivit lavorative e/o ricreative e con le stesse
caratteristiche di reperibilit e di sicurezza a loro offerte nei loro ambienti domestico o
lavorativo;
con potenzialit di banda tali, almeno in prospettiva, da non creare limitazione alla forma di
comunicazione;
secondo modalit che sono ritagliate sulle loro esigenze specifiche e che possono essere
direttamente sotto il loro controllo.
Per completare il quadro delle attuali esigenze di comunicazione, occorre considerare anche gli
obiettivi in relazione:
alla sicurezza nello scambio e nella manipolazione dellinformazione;
a una migliore qualit dei servizi e a un contenimento dei costi di fornitura, come possibile
conseguire con attivit di gestione della rete e dei servizi.
Alla multimedialit ( I.4.1), alla ubiquit e alla personalizzazione dei servizi ( I.4.2), alla
sicurezza/protezione delle informazioni ( I.4.3) e alla gestione della rete e dei servizi ( I.4.4) sono
dedicati i contenuti del presente paragrafo.

15
I.4.1.

La multimedialit

Lo sviluppo delle telecomunicazioni stato caratterizzato per oltre mezzo secolo dalla richiesta e
dall'offerta di servizi monomediali. Ognuno di questi consente il trattamento di un singolo mezzo di
rappresentazione, che lo caratterizza rispetto a altri servizi e che ovviamente diversificabile passando
da un servizio all'altro.
Oggi, in aggiunta a servizi monomediali, si manifesta l'esigenza di nuove forme di comunicazione,
in cui siano trattati due o pi mezzi di rappresentazione e in cui questi ultimi conservino,
nell'operazione di trasporto, le caratteristiche di concatenazione fisica e logica presentate all'origine. Si
parla di servizi multimediali.
I.4.2.

Lubiquit e la personalizzazione dei servizi

Lubiquit dei servizi la possibilit per l'utente di essere chiamante o chiamato in qualsiasi
momento della giornata o in qualsiasi posto si trovi nell'ambito dei suoi spostamenti a piedi o su mezzi
di trasporto e di fruire di prestazioni di qualit di servizio indipendenti da queste diverse condizioni di
comunicazione. Lubiquit del servizio comporta il soddisfacimento del requisito di mobilit, nel quale
possono distinguersi due aspetti principali, connessi alla persona che comunica e all'apparecchio
terminale che viene utilizzato.
La mobilita' della persona consente a un utente di usufruire di tutti i servizi che sono di suo
interesse, indipendentemente dalla terminazione di rete a cui fisicamente connesso. La mobilita' del
terminale consente all'utente di comunicare in condizioni di effettivo movimento in un'area geografica
che dovrebbe essere il pi possibile vasta e, in particolare, in un'area pi o meno estesa nell'intorno di
singole terminazioni di rete.
La personalizzazione dei servizi la possibilit per l'utente di poter comunicare secondo modalit
che sono ritagliate sulle sue esigenze specifiche e che possono essere direttamente sotto il suo
controllo. A tale scopo necessario soddisfare la larga variet di interessi di ogni persona, che da un
lato manifesta necessita' di razionalizzare le sue funzioni di lavoro e che dall'altro cerca di coltivare i
suoi interessi culturali e ricreativi. Per attuare la personalizzazione di una comunicazione i tre attori
principali che intervengono nel conseguimento di questo obiettivo, e cio il cliente, il gestore di rete e
il fornitore dei servizi, assumono ruoli specifici.
In particolare, al cliente deve essere assicurata una maggiore quota di controllo sulle modalit di
creazione e di gestione dei servizi. Esempi al riguardo, e in ordine di crescente complessit di controllo,
possono essere la possibilit per l'utente di:
modificare i parametri che descrivono il suo profilo entro i limiti stabiliti dal contratto con il
fornitore dei servizi;
variare, in funzione delle sue esigenze di qualit di servizio nella fruizione di informazioni
audio-visive, i parametri degli algoritmi di codifica;
costruire uno specifico servizio mediante la composizione dinamica di "elementi" di
servizio, assemblati anche in tempo reale durante la svolgimento di una comunicazione.
Circa poi il punto di vista del gestore di rete, un primo obiettivo da raggiungere poter
manipolare, in modo flessibile e sotto il suo controllo, le componenti funzionali presenti
nell'infrastruttura di rete. Inoltre un altro obiettivo oggi giudicato di particolare interesse riuscire a
integrare i servizi all'utenza con le applicazioni gestionali.
Riguardo infine al fornitore di servizi, da sottolineare la sua convenienza a operare in un contesto
di modularit e di inter-operabilit degli elementi di servizio atti a comporre servizi personalizzati. Le
applicazioni di interesse per l'utenza, anche in una prospettiva a lungo termine, potranno diventare

16
entit da comporre e da integrare tra loro per dare origine ad altri servizi pi complessi, a loro volta
ulteriormente componibili e integrabili con altri.
I.4.3.

La sicurezza e la protezione delle informazioni

Le informazioni scambiate o manipolate in una comunicazione debbono essere adeguatamente


protette in modo da conseguire sicurezza relativamente alla autenticazione, alla integrit, alla
confidenzialita' e alla imputabilit.
L'autenticazione dei dati o della loro origine necessaria per garantire che le parti impegnate in
una comunicazione siano effettivamente quelle che dichiarano di essere.
L'integrit dei dati rappresenta, invece, la garanzia contro accidentali o indebite modifiche del
flusso informativo di utente durante il suo trasferimento.
La confidenzialit poi la garanzia che il contenuto informativo di una comunicazione o la
conoscenza delle parti in questa coinvolte non siano divulgate a terze parti, se non debitamente
autorizzate. Questa garanzia rappresenta quindi il fine tradizionale delle tecniche di cifratura
dell'informazione quali sono trattate dalla crittografia.
La imputabilit rappresenta infine la garanzia, per l'utente, di vedersi attribuito un addebito
effettivamente commisurato ai servizi fruiti e, per il fornitore, di poter effettuare una tariffazione che
sia incontestabile.
I.4.4.

La gestione della rete e dei servizi

La gestione di un ambiente di comunicazione comprende l'insieme delle attivit volte al


perseguimento della migliore qualit dei servizi offerti e al contenimento dei costi di fornitura. Questo
secondo obiettivo pu essere conseguito con una pi efficiente utilizzazione delle risorse impiantistiche
e operative. Le principali funzioni di gestione riguardano:
l'esercizio e la manutenzione degli elementi di rete;
la gestione dei servizi, compreso il controllo, ove richiesto, da parte dell'utente; questi agir
sui parametri di gestione dei servizi a lui forniti;
la supervisione, la misura e la gestione del traffico di telecomunicazione;
la gestione della tassazione, e cio degli addebiti al cliente per i servizi forniti;
la pianificazione e la progettazione di reti e di servizi.
Per lo svolgimento di queste funzioni, la tendenza ormai consolidata quella di sovrapporre alla
infrastruttura gestita una rete di gestione (TMN-Telecommunication Management Network). Questa
comprende entit funzionali situate negli elementi di rete e sistemi di mediazione, che cooperano
mediante l'impiego di appropriate funzioni di trasporto dell'informazione di gestione. A questa rete
sovrapposta si agganciano i sistemi di gestione (OS-Operation System), che hanno quindi tutte le
informazioni provenienti dalla infrastruttura gestita o contenute nella rete di gestione: possono pertanto
inviare opportuni comandi a tutti gli apparati che sono sotto le loro cure gestionali.
I.5.

Evoluzione delle infrastrutture

La risposta al mutato quadro di esigenze connesse alla transizione dalla monomedialit alla
multimedialit dei servizi si manifestata in vari passi. In primo luogo si attuata una integrazione
delle tecniche di rete: cio da mezzi di comunicazione realizzati con tecnologia completamente
analogica si passati, seppure gradualmente, ad un impiego generalizzato di tecnologie numeriche,
basate su componentistica di tipo elettronico e, ormai, anche di tipo ottico. La convenienza di questa

17
trasformazione di natura tecnica risiedeva (e risiede tuttora) in una migliore qualit dei servizi offerti e
in ridotti costi di fornitura.
Parallelamente iniziata una integrazione dei servizi, e cio una ulteriore trasformazione
finalizzata a rendere fruibile un accesso comune in forma numerica per tutti i servizi di base relativi
allo scambio di voce, di dati e di immagini fisse o in movimento: lobiettivo era lo svolgimento di
comunicazioni multimediali.
La realizzazione di ambienti di comunicazione multimediale a banda stretta iniziata
assumendo come punto di partenza la rete telefonica integrata nelle tecniche e ha condotto alla
cosiddetta N-ISDN (Narrowband Integrated Services Digital Network). I risultati oggi sono nelle
possibilit di scelta delle utenze domestica e affari.
La ulteriore evoluzione verso il soddisfacimento di esigenze di comunicazione a banda larga
richiede interventi su entrambe le sezioni di rete ed tuttora in atto. Le linee-guida dello sviluppo
hanno ipotizzato in una prima fase (prima met degli anni 90) la realizzazione di una B-ISDN
(Broadband Integrated Services Digital Network) in qualche modo legata allo sviluppo del paradigma
telefonico. Solo successivamente (seconda met degli anni 90) dette linee-guida si sono decisamente
orientate sullo sviluppo del paradigma Internet.
Infatti attualmente viene riconosciuto in modo unanime il ruolo centrale di Internet nellattuale e
futuro sviluppo delle infrastrutture per telecomunicazioni: avvenuta cio, da parte di Internet, la
sostituzione dei tradizionali paradigmi (in primo luogo di quello telefonico), che hanno finora guidato
levoluzione delle comunicazioni.
Sulla base di queste premesse e di quanto detto nel precedente par. I.4, sembrato naturale
focalizzare la trattazione che segue su tre tipi di infrastrutture:
in primo luogo ( I.5.1) su Internet per le ragioni sopra chiarite;
successivamente ( I.5.2) sulle reti intelligenti, come risposta alle esigenze di
personalizzazione e di mobilit della persona;
infine ( I.5.3) sulle reti mobili, come supporto allerogazione di servizi personalizzati con
mobilit del terminale.
I.5.1.

Internet

Internet nata come infrastruttura per comunicazioni di dati (rete di calcolatori). Attualmente sta
conoscendo un successo a livello mondiale che non ha precedenti per la sua estensione geografica, per
la numerosit dei suoi utenti e per la vastit di interessi coinvolti. Al momento (a cavallo tra vecchio e
nuovo secolo), se ne iniziata una utilizzazione anche per comunicazioni multimediali a banda stretta o
larga.
Il modello architetturale di Internet sar discusso nel seguito. Qui importante sottolineare che
Internet non una nuova rete, progettata e costruita ex novo o necessariamente alternativa ad altre
soluzioni di reti per dati, ma lunione di diverse reti, spesso pre-esistenti ed eterogenee tra loro. Le reti
componenti Internet sono per omogenee al loro interno e possono operare in accordo ad uno qualsiasi
dei paradigmi realizzati per comunicazioni di dati; la loro interconnessione attuata da dispositivi che
pongono in comunicazione calcolatori connessi a reti diverse.
Internet oggi una infrastruttura di comunicazione le cui risorse sono dislocate spazialmente in
tutto il mondo, ma che sono viste dal singolo utente in modo trasparente, senza cio che sia necessario
sapere dove sono fisicamente, ed a cui agevole accedere con strumenti progettati e realizzati per i suoi
utenti.
Elemento caratterizzante di Internet il modo in cui questa rete nata e si sviluppata. I primi
studi sulla interconnessione di calcolatori furono effettuati alla fine degli anni sessanta. Si voleva allora
sperimentare una tecnica che permettesse la condivisione di linee di comunicazione da parte di utenti

18
attestati su sistemi diversi, sfruttando la tecnica della commutazione di pacchetto. In quegli anni il
Ministero della Difesa degli Stati Uniti (Department of Defense, DoD) incaric l'organizzazione ARPA
(Advanced Research Project Agency) di sviluppare e sperimentare una rete di calcolatori.
Dovendo avere applicazioni militari, uno dei requisiti fondamentali che tale rete doveva soddisfare
era la resistenza ad attacchi che ne modificassero la configurazione (ad. es. per interruzione di linee di
giunzione o di centri di commutazione). Sue caratteristiche dovevano quindi essere una struttura
reticolare, magliata, non gerarchica e con unelevata capacit di interconnessione e di interlavoro fra
una grande variet di nodi di rete. Per lo stesso motivo si scelse di adottare una modalit di
trasferimento senza connessione e senza garanzie di qualit del servizio, rimandando queste ultime ai
livelli superiori dellarchitettura protocollare. La rete nata da questo progetto, e denominata
ARPANET, stata il primo esempio di rete geografica a commutazione di pacchetto. Nel 1983 tale rete
fu separata in due parti: una civile (ARPANET) ed una militare (MILNET). Nel 1985, sempre negli
Stati Uniti, la National Science Foundation finanzi lo sviluppo di una rete a lunga distanza (NSFnet) e
di reti regionali, che consentirono di interconnettere LAN di diverse universit e di enti di ricerca alla
rete ARPANET.
Internet si sviluppata a partire da questo nucleo iniziale fino ad estendersi in tutto il mondo e
comprendendo non pi solo organizzazioni pubbliche o di ricerca e al servizio della comunit
scientifica, ma anche organizzazioni commerciali ed utenti privati.
Le entit di calcolo allinterno di questa struttura sono chiamati host. Questi possono essere
super-computer paralleli, mini-computer, workstation, semplici personal computer o calcolatori
portatili. I ritmi binari di trasferimento delle informazioni possono essere molto variabili, sia nel tempo
che in funzione delle coppie origine-destinazione considerate (da pochi bit/s fino a centinaia di Mbit/s).
A causa delle particolari esigenze sopra menzionate, e poste dall'organizzazione ARPA, si
determin una divergenza tecnica iniziale tra le scelte effettuate per ARPANET e quelle adottate dagli
organismi di standardizzazione ISO e ITU-T (cfr. par. I.6). La divergenza iniziale sulle scelte tecniche
perdurata nel tempo attraversando gli anni settanta ed ottanta, durante i quali ARPANET cresceva
notevolmente negli Stati Uniti, espandendosi dall'ambito iniziale della difesa a quello dell'istruzione e
della ricerca e conquistando sul campo un numero di utenti sempre maggiore. Nel frattempo ISO e
ITU-T lavoravano alla definizione di un modello teorico di interconnessione tra sistemi aperti (l'Open
Systems Interconnection, OSI) ed alla specifica di una serie di protocolli di comunicazione conformi a
tale modello.
Fino alla fine degli anni ottanta era opinione diffusa che OSI ed i suoi protocolli sarebbero stati
universalmente adottati. Tale previsione si per dimostrata non corretta: la realt Internet si infatti
talmente diffusa, sia negli Stati Uniti che nel resto del mondo, che ha di fatto impedito ad OSI di
svilupparsi significativamente. La rete Internet ha raggiunto gli obiettivi che OSI si prefiggeva,
costituendo una base di interconnessione aperta ed indipendente dai costruttori.
Internet e i relativi mezzi di accesso cooperano, gi attualmente e con prospettive di rapida
crescita, per consentire unampia gamma di applicazioni che ne qualificano il carattere multi-valente,
da infrastruttura per sostenere comunicazioni multimediali a deposito di informazioni a livello
planetario, da piattaforma per lo sviluppo della new economy a mezzo per lautomazione di tutte le
attivit umane (gestione del lavoro, della casa, dellintrattenimento, degli spostamenti, ecc.). La
pervasivit di tali valenze descritta da vari indicatori. Ci si limita qui a presentarne alcuni. Ad
esempio, in ambito mondiale il numero di clienti di Internet dovrebbe essere di circa 300 milioni entro
la fine dellanno 2000 e sestuplicarsi entro la fine del 2005; alla fine del 2004 poi previsto il
superamento di questo numero nei confronti di quello riguardante gli utenti telefonici senza filo.
Inoltre, dal punto di vista delle applicazioni, sono menzionabili altri dati significativi:

19

a met 2000 il fenomeno Web descritto da oltre 1,3 miliardi di pagine; gi in queste
condizioni il relativo volume di informazione supera la possibilit di un essere umano a
visitarne lo 0,1% nellarco della sua vita;
il commercio elettronico caratterizzato gi attualmente da vendite per oltre 350 miliardi di
US$; se ne dovrebbe per avere una quintuplicazione entro il 2003.
Altro fenomeno destinato a incidere profondamente sulla organizzazione della nostra vita
domestica e lavorativa rappresentato dalla diffusione di utensili informatici in aggiunta agli ormai
tradizionali PC. Si prevede una esigenza di elaborazione ovunque (ricreativi, elettrodomestici,
autoveicoli, controllori di traffico, ecc.) realizzata con processori orientati agli oggetti e con associati
mezzi di comunicazione via Internet. La prospettiva trasformare prodotti in servizi, consentendo
una larga variet di applicazioni personalizzate. Si parla di un numero di utensili informatici che nel
2010 potrebbe raggiungere la quota di un miliardo.
Con questultima prospettiva gli accessi ad Internet sono destinati ad assumere una configurazione
unificata per qualunque tipo di applicazione o di servizio (voce, dati, immagini, ecc.).
I.5.2.

Le reti intelligenti

Alcuni servizi (come ad esempio quello supplementare di numerazione abbreviata) sono forniti
impegnando le risorse del solo nodo che di accesso per l'utente richiedente. Altri servizi (pi evoluti
dei precedenti e esemplificativi tramite il servizio supplementare di identificazione della linea
chiamante/chiamata ovvero quello di gruppo chiuso di utenti) coinvolgono invece due o pi nodi, ma
sempre senza distinzione tra la logica del servizio e le modalit di fornitura.
Per lo sviluppo di servizi supplementari ancora pi evoluti (come ad esempio quelli rispondenti
alle esigenze di personalizzazione e di mobilita' della persona) si riconosciuta l'importanza di
separare la logica del servizio dalle modalit di fornitura.
Su questo principio basata una infrastruttura, chiamata rete intelligente (IN-Intelligent Network),
che costituisce la piena valorizzazione delle funzionalit di controllo. I servizi supplementari fornibili
tramite una IN offrono quanto assicurato dalle funzionalit di controllo con il coinvolgimento di
risorse di elaborazione condivise; sono chiamati servizi di rete intelligente.
La IN comprende due tipi di nodi e alcuni sistemi periferici specializzati. I nodi sono quelli
"intelligenti" e quelli di accesso. Mentre i primi sono apparecchiature centralizzate e in poche unita'
nell'ambito di una IN, i secondi sono disseminati nella rete in relazione alla consistenza numerica
dell'utenza. I nodi "intelligenti" o SCP (Service Control Point) costituiscono la parte controllante della
IN e, come tali:
- contengono la logica dei servizi offerti sotto forma di appositi programmi (SLP-Service
Logic Program) e i dati relativi al profilo degli utenti che possono accedere alla IN;
- eseguono l'SLP rispondendo a una richiesta esplicita da parte dei nodi di accesso;
- istruiscono questi ultimi circa il trattamento di chiamata.
I nodi di accesso o SSP (Service Switching Point) sono invece la parte controllata della IN e
costituiscono il tramite con gli utenti per la fornitura dei servizi; quindi:
riconoscono la richiesta di un servizio di rete intelligente;
interrogano conseguentemente i nodi "intelligenti";
svolgono il trattamento di chiamata sulla base delle istruzioni ricevute da questi ultimi.
I.5.3.

Le reti mobili

Una rete mobile, qualunque sia la sua tecnica realizzativa, comprende sempre una rete di accesso
in cui i legamenti di utente utilizzano il mezzo radio come supporto trasmissivo e in cui una opportuna

20
funzione di accesso rende disponibile un canale radio all'utente in movimento quando questi ne ha
necessita' per chiamare o per essere chiamato.
Oltre alla funzione di accesso, una rete mobile deve essere in grado di svolgere altre tre funzioni
fondamentali, e cio:
l'identificazione dell'utente, ossia la possibilit di individuare univocamente l'apparecchio
terminale a cui fa capo l'utente mobile, quando questi richiede un accesso;
l'aggiornamento della posizione dell'utente, ossia la possibilit di avere l'aggiornamento
continuo ed automatico, in unappropriata banca di dati, della posizione dell'apparecchio
terminale a cui fa capo l'utente mobile: ci nonostante gli spostamenti di quest'ultimo
(roaming) in unarea anche molto estesa, purch nei limiti della regione di copertura della
rete mobile;
lhandover (passa-mano) dei canali radio, ossia la possibilit per l'utente mobile di
mantenere il legamento con la rete mobile pur nella necessit di cambiare il canale radio che
lo connette alla rete; questa necessit pu manifestarsi nel passaggio da un'area ad un'altra
adiacente che caratterizzata da una differente copertura radio ovvero nella degradazione
della qualit del canale radio che stato precedentemente assegnato.
Circa il legame tra reti mobili e reti fisse, finora queste due reti si sono sviluppate come strutture
separate tra le quali sussistono solo i rapporti di inter-lavoro necessari per consentire le comunicazioni
tra due utenti facenti capo alle due reti. In prospettiva pero' prevedibile unintegrazione tra rete fissa
(rete telefonica o ISDN) e rete mobile. Requisito di tale integrazione il reciproco beneficio in termini
di efficienza e di flessibilit nella fornitura di nuovi servizi con elevate prestazioni.
I.6.

La normativa nelle telecomunicazioni

La normativa nelle telecomunicazioni curata da organismi internazionali in ambito mondiale ed


europeo. Tra gli organismi mondiali si citano:
ITU (International Telecommunication Union);
ISO (International Organization for Standardization);
IEC (International Electrotechnical Commission).
LITU unagenzia specializzata delle Nazioni Unite, con sede in Ginevra e con il compito di
armonizzare tutte le iniziative mondiali e regionali nel settore delle Telecomunicazioni. Tiene tre tipi di
conferenze amministrative tra cui si menziona WARC (World Administrative Radio Conference);
questa considera e approva tutti i cambiamenti alle regolamentazioni sulle radio comunicazioni con
particolare riferimento alluso dello spettro delle frequenze radio. Dagli inizi degli anni 90 lITU
organizzato in tre settori: sviluppo, standardizzazione, radiocomunicazioni.
L ITU-TS il settore dellITU preposto ad attivit di standardizzazione. Include le precedenti
attivit svolte dal CCITT e parte dellattivit di normativa precedentemente svolta dal CCIR. LITU-TS
il principale organismo internazionale per la produzione di standard tecnici nel campo delle
Telecomunicazioni. La sua attivit organizzata in Gruppi di Studio (Study Group-SG), che sono
costituiti per trattare le cosiddette Questioni. Produce Raccomandazioni: queste hanno carattere
volontario, ma costituiscono di fatto un linea-guida fondamentale per le attivit dei diversi attori nel
mondo delle Telecomunicazioni.
L ITU-RS il settore preposto ad attivit sulle Radiocomunicazioni. Include il resto delle
precedenti attivit del CCIR e quella del IFBR (International Frequency Registration Board).
LISO un Ente delle Nazioni Unite, creato con lobiettivo di promuovere lo sviluppo della
normativa internazionale per facilitare il commercio di beni e servizi nel mondo. Relativamente alle
Telecomunicazioni e alle aree collegate, opera tramite un comitato tecnico congiunto con lIEC: Joint

21
Technical Committee on Information Technology (JTC1). LISO-IEC JTC1 organizzato in Comitati
Tecnici (TC) e in Sotto-comitati (SC).
Si fa anche riferimento allo sviluppo di Internet. Questo sotto il controllo di quattro gruppi:
ISOC (Internet Society) una societ professionale per facilitare, supportare e promuovere
levoluzione e la crescita di Internet;
IAB (Internet Architecture Board) lorganismo di supervisione e di coordinamento tecnico;
composto di una quindicina di volontari internazionali e opera nellambito di ISOC;
IETF (Internet Engineering Task Force) il gruppo preposto alla definizione degli standard
nel mondo Internet con obiettivi di breve termine; opera nellambito dellIAB;
IRTF (Internet Research Task Force) sviluppa progetti di ricerca di lungo termine; opera
nellambito dellIAB.
Tra gli organismi europei si citano:
ETSI (European Telecommunication Standards Institute);
CEN (European Committee for Standardization);
CENELEC (European Committe for Electrotechnical Standardization).
In ETSI la preparazione degli standard effettuata da Comitati Tecnici (TC), che trattano
argomenti specifici e che riferiscono allAssemblea Tecnica (TA). CEN lequivalente dellISO in
ambito europeo. Infine CENELEC prepara standard elettrotecnici di interesse europeo.
In ambito mondiale esistono anche gruppi di interesse, tra i quali si menzionano: lATM Forum, il
Frame Relay Forum e lNM (Network Management) Forum. Si cita anche lECMA e cio
lassociazione tra enti industriali che sviluppano, producono e commercializzano componenti H&S e
servizi nel campo IT&C.

22

II.

ARCHITETTURE DI COMUNICAZIONE

La comunicazione tra due o pi parti richiede cooperazione, e cio collaborazione per il


conseguimento di uno scopo comune. In particolare:
occorre assicurare il rispetto di opportune regole procedurali nel trasferimento
dellinformazione e negli adempimenti richiesti per lutilizzazione di questa;
mettere in atto, quando necessario, provvedimenti protettivi per fronteggiare eventi di
natura aleatoria (ad es. disturbi trasmissivi, errori procedurali, guasti di apparecchiatura,
etc.) che potrebbero compromettere lo scambio di informazione.
Occorre in definitiva consentire levoluzione di un processo di comunicazione. Questo consiste
nello svolgere, in forma collaborativa tra le parti coinvolte, una sequenza di funzioni che rendano
possibile a una parte, non solo di essere fisicamente connessa con unaltra parte, ma anche di
comunicare con questultima nonostante impedimenti di natura varia, quali errori di origine fisica o
logica, diversit di linguaggi, etc.
Per realizzare e per gestire processi di comunicazione si dimostrata indispensabile la
disponibilit di una descrizione astratta delle modalit di comunicazione tra due o pi parti in posizioni
tra loro remote e attraverso una infrastruttura di rete. Questa descrizione un modello funzionale che
di riferimento per una rappresentazione dellambiente di comunicazione. Lidentificazione del modello
si svolge in vari passi logici.
Il primo passo, che corrisponde al pi elevato livello di astrazione, riguarda la definizione degli
oggetti che sono utilizzati per descrivere il processo di comunicazione sotto esame, delle relazioni
generali tra questi oggetti e dei vincoli generali tra questi tipi di oggetti e di relazioni. Come
conclusione del primo passo debbono essere definite le funzioni da svolgere e le relative modalit
organizzative per permetterne uno svolgimento coordinato. Il risultato larchitettura della
comunicazione. Elemento distintivo di questa la presenza costante di interazioni tra due o pi parti.
Lultimo passo, che corrisponde al pi basso livello di astrazione, riguarda la descrizione
dettagliata delle modalit di esecuzione delle funzioni identificate nel primo passo e consente di
specificare le procedure operative che debbono essere seguite per ognuna delle interazioni tra le parti
in gioco nella architettura di comunicazione. Tali procedure sono i protocolli di comunicazione;
elementi costituenti sono:
la semantica, e cio linsieme dei comandi, delle azioni conseguenti e delle risposte
attribuibili alle parti;
la sintassi, ossia la struttura dei comandi e delle risposte;
la temporizzazione, ovvero le sequenze temporali di emissione dei comandi e delle risposte.
Per levoluzione di un processo di comunicazione in un ambiente prevalentemente rivolto ad
applicazioni telematiche (ma non in modo esclusivo) devono essere svolte svariate funzioni, che
possono essere suddivise in due insiemi, le funzioni orientate al trasferimento e quelle orientate
allutilizzazione, in cui i termini trasferimento e utilizzazione hanno come oggetto comune
linformazione da scambiare nel corso del processo. Tra le funzioni orientate al trasferimento si citano,
a titolo di esempio, la connessione fisica, la trasmissione, il controllo di errore, la multiplazione, la
commutazione, il controllo di flusso e il controllo della qualit di servizio. Alle funzioni orientate
allutilizzazione, sempre a titolo di esempio, appartengono la gestione del dialogo, ladattamento
sintattico e gli adempimenti semantici.

23
II.1.

Architettura a strati

Servizio
da

BaC

Servizio
da

AaB

C
B
A

Sottoinsiemi funzionali

Le architetture di comunicazione attualmente utilizzate per descrivere un qualunque ambiente di


comunicazione sono del tipo a strati (layered architecture). Ci corrisponde a una specifica modalit
nellorganizzare le funzioni svolte per levoluzione dei corrispondenti processi di comunicazione. Per
chiarire questa modalit conviene fare riferimento ai criteri del raggruppamento e della
gerarchizzazione di insiemi funzionali.
Sia linsieme delle funzioni da svolgere per consentire levoluzione di un processo di
comunicazione. Il punto-chiave consiste nel definire criteri per partizionare in sottoinsiemi
funzionali e per organizzare le modalit di interazione tra questi sottoinsiemi.
Il criterio del raggruppamento consiste nel
- considerare appartenenti allo stesso sottoinsieme funzioni simili per logica e per tecnologia
realizzativa;
- identificare i sottoinsiemi in modo da minimizzare la complessit e la numerosit delle
interazioni tra funzioni appartenenti a sottoinsiemi diversi.
Circa il criterio della gerarchizzazione, tre sottoinsiemi A, B e C appartenenti a si dicono in
ordine gerarchico crescente se:
lo svolgimento di B presuppone la preventiva esecuzione di A;
lunione di A e di B costituisce il presupposto per lesecuzione di C.
Se i sottoinsiemi A, B e C sono in ordine gerarchico crescente, il sottoinsieme B offre un servizio
a C e, per questo scopo, opera in modo da aggiungere valore al servizio che gli offerto da A ( Fig.
II.1.1.). Il risultato che il servizio offerto a C si presenta con caratteristiche arricchite rispetto a
quello offerto a B (principio del valore aggiunto).

Figura II.1.1 - Il principio del valore aggiunto


Supponiamo allora che linsieme
sia partizionato in sottoinsiemi funzionali, identificati applicando il criterio del
raggruppamento;
sia organizzato in modo che questi sottoinsiemi operino in un ordine gerarchico.
Coerentemente con queste ipotesi ogni sottoinsieme viene identificato da un numero crescente al
crescere del livello gerarchico. Supponiamo ulteriormente che la partizione e lorganizzazione di
siano effettuate in modo che ciascun sottoinsieme funzionale:
interagisca solo con i sottoinsiemi che gli sono gerarchicamente adiacenti;
si comporti nei confronti di questi secondo il principio del valore aggiunto;
svolga le sue funzioni con modalit indipendenti dagli analoghi svolgimenti negli altri
sottoinsiemi.

24
Il soddisfacimento di queste ipotesi significa applicare il principio della stratificazione ad un
ambiente di comunicazione. Secondo questo principio ogni sottoinsieme funzionale:
riceve servizio dal sottoinsieme che gli immediatamente inferiore nellordine
gerarchico;
arricchisce questo servizio con il valore derivante dallo svolgimento delle proprie
funzioni;
offre il nuovo servizio a valore aggiunto al sottoinsieme che gli immediatamente
superiore nellordine gerarchico.
Lapplicazione di questo principio nella definizione di unarchitettura di comunicazione consente di
sezionare il complesso problema della organizzazione funzionale di un processo di comunicazione in
un insieme di problemi pi semplici, ognuno dei quali si riferisce ad un particolare sottoinsieme.
II.2.

Elementi architetturali
Elementi fondamentali di unarchitettura di comunicazione (Fig. II.2.1) sono
i sistemi, capaci di effettuare trattamento e/o trasferimento di informazione in vista di
specifiche applicazioni;
i processi applicativi, limitatamente a quegli aspetti che sono coinvolti da esigenze di
interazione con altri processi;
i mezzi trasmissivi, rappresentanti la struttura fisica di interconnessione tra i sistemi.
Processi applicativi

Sistema
A

Sistema
B

Sistema
C

Mezzi trasmissivi

Figura II.2.1 - Elementi architetturali


Per ognuno dei sistemi interconnessi, larchitettura considera solo gli aspetti che riguardano il
comportamento verso lesterno e cio quelli volti alla cooperazione con altri sistemi.
La trattazione che segue comprende le definizioni di altri elementi architetturali, e precisamente:
degli strati architetturali ( II.2.1);
del servizio di strato ( II.2.2);
delle primitive di servizio e dei protocolli di strato ( II.2.3);
della funzione di indirizzamento ( II.2.4);
dei sistemi terminali e intermedi ( II.2.5).
II.2.1.

Gli strati architetturali

Si faccia ora riferimento ad un ambiente di comunicazione, al cui insieme di funzioni si applica


il principio della stratificazione; i sistemi interconnessi che compongono lambiente vengano posti in
corrispondenza con i sottoinsiemi funzionali in cui viene partizionato e organizzato linsieme . Ogni
sistema allora visto come logicamente composto da una successione ordinata di sottosistemi, ad
ognuno dei quali associato un sottoinsieme funzionale. Lordine definisce il rango di ogni
sottosistema; il rango di un sottosistema il numero dellassociato sottoinsieme funzionale

25
nellorganizzazione gerarchica dellinsieme . Un sottosistema quindi quella parte dellintero sistema
che preposta a svolgere un associato sottoinsieme funzionale tra quelli identificati applicando il
principio della stratificazione e che interagisce solo con i sottosistemi di rango immediatamente
superiore e immediatamente inferiore.
Tutti i sottosistemi che appartengono a qualunque sistema tra quelli interconnessi e che sono
caratterizzati da uguale rango (sottosistemi omologhi) formano uno strato. Uno strato quindi lunione
di tutti i sottosistemi omologhi appartenenti a sistemi interconnessi (Fig. II.2.2.). Il rango di uno strato
quello dei sottosistemi componenti. Uno strato, nel suo ruolo di sede ove si svolgono funzioni
identificate applicando allinsieme il principio della stratificazione, presenta unoperativit che
indipendente da quella degli altri strati dellarchitettura.

Strato
pi elevato

Sistema
B

Sistema
A

Sottosistemi omologhi

Strato di rango N

Strato
pi basso
Mezzi trasmissivi

Figura II.2.2 - Definizione di strato architetturale


All'interno di un sottosistema possono identificarsi una o pi entit che rappresentano gli elementi
attivi di ogni singolo strato. Unentit corrisponde a quella parte di un sottosistema che provvede
all'esecuzione di una o pi tra le funzioni dello strato. Nello svolgimento del processo di
comunicazione, entit appartenenti allo stesso strato e residenti nei sistemi interconnessi (entit alla
pari) interagiscono tra loro per il corretto espletamento delle funzioni a cui sono preposte.
Nel seguito, per indicare qualsiasi elemento della architettura, sar usata una particolare notazione
in cui il nome dell'elemento preceduto dal numero di rango dello strato a cui si riferisce. Ad esempio,
il termine (N)-entit identificher una entit appartenente allo strato di rango N. In Fig. II.2.3 sono
forniti esempi di questa notazione architetturale.
Sistema
B

Sistema
A

(N+1) - Strato
(N) - Strato
(N-1) - Strato

(N)-entit alla pari

Mezzi di trasmissione

Figura II.2.3 Esempi di notazioni architetturali

26
In taluni casi necessario estendere la stratificazione anche all'interno di un singolo strato. In tal
modo si possono identificare sottostrati, corrispondenti a particolari raggruppamenti di funzioni che
possono eventualmente non essere eseguite nello svolgimento del processo di comunicazione.
II.2.2.

Servizio di strato

Ogni (N)-strato fornisce un (N)-servizio all(N+1)-strato. Per questo scopo utilizza l(N-1)-servizio
e lo arricchisce con lo svolgimento di un particolare sottoinsieme delle (N)-funzioni.
Una (N)-funzione parte delle attivit di una (N)-entit ed svolta sempre mediante la
cooperazione di due o pi (N)-entit alla pari. Esistono due tipi di (N)-funzioni:
- quelle rientranti tra le funzionalit che caratterizzano l(N)-servizio e che quindi sono
visibili all(N)-interfaccia tra l(N+1)-strato e l(N)-strato; la visibilit si manifesta con una
esplicita notifica dellesecuzione di queste funzioni;
- quelle finalizzate a conseguire gli obiettivi dell(N)-strato al di fuori della fornitura dell(N)servizio e svolte allinterno dell(N)-strato senza richieste specifiche da parte dell(N+1)strato.
Riguardo alla definizione di (N)-servizio, va sottolineato che:
lo strato funzionale con rango pi elevato non offre servizio ad alcuno strato (dato che ad
esso non corrisponde uno strato superiore), ma al contempo riceve la somma dei servizi di
tutti gli altri strati;
lo strato funzionale di rango pi basso non riceve servizio da alcuno strato (dato che esso si
interfaccia direttamente con i mezzi trasmissivi).
Gli utenti di un (N)-servizio, e cio gli (N)-utenti, sono le (N+1)-entit che ne usufruiscono per i
loro scopi di cooperazione. Fornitore di un (N)-servizio, e cio l(N)-fornitore, invece costituito
dallinsieme delle (N)-entit che sono in corrispondenza con le (N+1)-entit agenti come utenti e che
cooperano tra loro per svolgere le funzioni caratterizzanti l(N)-servizio. da sottolineare come i
termini utente e fornitore hanno qui un significato che limitato al rapporto fra due strati adiacenti
e che ben si differenzia da quello introdotto nel precedente capitolo.
Si osserva poi che i ruoli di utente e di fornitore nei confronti di un servizio di strato possono
invertirsi quando si passa da uno strato a quello immediatamente inferiore ovvero a quello
immediatamente superiore. Infatti le (N)-entit che cooperano nella fornitura dell(N)-servizio possono
diventare utenti dell(N-1)-servizio, mentre le (N+1)-entit che agiscono come utenti dell(N)-servizio
possono cooperare nella fornitura dell(N+1)-servizio.
La corrispondenza tra gli (N)-utenti e le (N)-entit che costituiscono l(N)-fornitore (Fig. II.2.4)
di natura logica ed attuata attraverso specifici punti dell(N)-interfaccia, chiamati (N)-punti d'accesso
al servizio [(N)-SAP, Service Access Point]. Un (N)-SAP quindi il varco attraverso cui avviene la
comunicazione tra una (N+1)-entit nel suo ruolo di utente di un (N)-servizio e una (N)-entit che
risiede nello stesso sistema e che coopera per la fornitura di quel servizio.
Per ragioni legate alla univocit dellindirizzamento (cfr. II.2.4), un (N)-SAP pu essere servito
da una sola (N)-entit e essere utilizzato da una sola (N+1)-entit. Tuttavia una (N)-entit pu servire
vari (N)-SAP e una (N+1)-entit pu utilizzare vari (N)-SAP (Fig. II.2.5).
II.2.3.

Primitive di servizio e protocolli di strato

Un (N)-servizio in generale logicamente composto da un insieme di elementi di servizio, ognuno


dei quali corrisponde ad un particolare sottoinsieme delle (N)-funzioni. Le interazioni elementari tra
utente e fornitore del servizio attraverso un (N)-SAP, necessarie per attuare un elemento di servizio,
sono comunemente chiamate primitive di servizio. Queste possono essere di quattro tipi:

27

, che emessa da un (N)particolare elemento di servizio;


primitiva di indicazione,
-fornitore per indicare che l'(N) utente remoto
ha presentato una ric
primitiva pu essere utilizzata dall'(N)-utente l'attivazione di
d'errore);
che emessa dall'(N)un elemento di servizio precedentemente attivato da una primitiva di indicazione;
primitiva di conferma,
-fornitore per completare la proc
ad un elemento di servizio precedentemente attivato da una primitiva di richiesta.
(N)-utente

(N)-utente

(N+1)-entit

(N+1)-entit

(N)-SAP

(N)-interfaccia

(N)-SAP

(N+1)-Strato
(N)-Strato

(N)-Entit

(N)-Entit
(N)-Fornitore

Figura II.2.4 - Definizione di servizio di strato

(N+1) - entit

(N) - interfaccia

(N) - SAP

(N+1) - strato
(N) - strato

(N) - entit

(N) - entit

Figura II.2.5 - Definizione di punto di accesso al servizio


necessario osservare che la definizione delle primitive di servizio non si riferisce
necessariamente ad un tipo particolare di realizzazione, ma rappresenta esclusivamente un modello
astratto secondo il quale l'utente e il fornitore del servizio interagiscono tra loro.
Un elemento di servizio, in relazione alle primitive necessarie alla sua attuazione, pu essere
classificato nel modo seguente:
servizio confermato, se richiesto dall(N)-utente e se necessita di un esplicita conferma da
parte dell'(N)-fornitore; la sua attuazione pu richiedere sia l'impiego di tutti i tipi di
primitive, sia essere limitata all'impiego delle primitive di richiesta e di conferma;
servizio non-confermato, se richiesto dall'(N)-utente, ma non necessita di conferma da
parte dell'(N)-fornitore; richiede l'utilizzazione delle sole primitive di richiesta e di
indicazione;

28

(N+1)-entit

(N+1)-entit

(N)-SAP

(N)-protocollo
(N)-entit

(N)-SAP

Risposta

(N)-utente

Indicazione

(N)-utente

Conferma

Richiesta

servizio iniziato dal fornitore, se attivato autonomamente dall'(N)-fornitore; richiede


l'utilizzazione delle sole primitive di indicazione.

(N+1)-strato
(N)-strato

(N)-entit
(N)-fornitore

Figura II.2.6 - Modello e primitive dell(N)-servizio


La Fig. II.2.6 illustra il modello astratto delle interazioni tra utente e fornitore di un generico (N)servizio, mentre la Fig. II.2.7 illustra gli esempi di servizio confermato, non confermato e iniziato dal
fornitore.
Utente
Fornitore
Utente
del servizio del servizio del servizio

Primitiva
di indicazione

Primitiva
di richiesta

Utente
Fornitore
Utente
del servizio del servizio del servizio

Primitiva
di indicazione

Primitiva
di richiesta

Utente
Fornitore
Utente
del servizio del servizio del servizio
Primitiva
di indicazione

Primitiva
di indicazione

Primitiva
di risposta

Primitiva di
conferma

Figura II.2.7 - Classificazione dei servizi di strato:(A) servizio confermato; (B) servizio non
confermato; (C) servizio iniziato dal fornitore
La cooperazione tra (N)-entit residenti in sistemi diversi (Fig. II.2.8) governata da un insieme di
regole che prende il nome di (N)-protocollo. Questo un insieme di regole necessarie perch l(N)servizio sia realizzato. Le regole definiscono in particolare i meccanismi che consentono di trasferire
linformazione nellambito dell(N)-strato operante come fornitore del(N)-servizio.
Conseguentemente una architettura di comunicazione caratterizzata da uno o pi protocolli per
ognuno degli strati che compongono larchitettura. Vale la pena aggiungere che:
ogni protocollo di strato, come insieme di comandi e di risposte che sono scambiate tra le
parti interagenti, include una semantica, una sintassi e una temporizzazione: il significato di
questi termini stato chiarito allinizio di questo capitolo;
la comunicazione diretta tra (N)-entit residenti nello stesso sistema non visibile
all'esterno di questo e non quindi oggetto di interesse nella definizione dell'architettura;
pu non esistere una corrispondenza tra primitive di servizio e procedure dei protocolli di
strato.

29
In Fig. II.2.9 sono rappresentati gli elementi architetturali che sono stati definiti in questa sezione e
in quella precedente.
(N)-Servizio

(N)-Protocollo
(N)-Entit

(N)-Entit

(N-1)-Servizio

Figura II.2.8 - Interazioni tra entit alla pari


Sistema A

Sistema B

(N+1)-Servizio

(N+1)-Servizio

(N+1)-SAP

(N+1)-SAP
(N+1)-Protocollo

(N+1)-Entit

(N+1)-Entit

(N)-Servizio

(N+1)-Strato

(N)-Servizio

(N)-SAP

(N)-SAP
(N)-Protocollo

(N)-Entit

(N)-Entit

(N)-Strato

(N-1)-SAP

(N-1)-SAP

(N-1)-Strato

Figura II.2.9 - Elementi di strato


II.2.4.

Funzione di indirizzamento

Gli oggetti entro uno strato o alla frontiera tra due strati adiacenti debbono essere identificati in
modo univoco. A tale scopo vengono definiti identificatori per le entit e per i SAP.
Una (N)-entit identificata con una denominazione globale, che la individua in modo univoco in
tutto l'insieme dei sistemi interconnessi. Entro un dominio pi limitato, una (N)-entit pu essere
identificata con una denominazione locale, che la individua in modo univoco entro quel dominio. Per
esempio, entro il dominio corrispondente all'(N)-strato, le (N)-entit sono identificate con (N)denominazioni locali, che sono univoche entro quello strato.
Ogni (N)-SAP identificato da un (N)-indirizzo, che localizza in modo univoco l'(N)-SAP a cui
allacciata una specifica (N+1)-entit. Data la corrispondenza uno ad uno tra un (N)-SAP e una (N+1)entit, l'uso dellindirizzo di questo (N)-SAP per identificare questa (N+1)-entit il meccanismo di
indirizzamento pi efficiente, se pu essere assicurato un allacciamento permanente tra questa (N+1)entit e questo (N)-SAP.
Gli allacciamenti tra (N)-entit e gli (N-1)-SAP che esse utilizzano per comunicare tra loro sono
definiti in una particolare (N)-funzione, detta di (N)-repertorio (directory). Questa traduce le
denominazioni globali delle (N)-entit negli (N-1)-indirizzi, attraverso i quali dette entit possono
essere raggiunte e quindi cooperare tra loro.

30
Infine l'interpretazione della corrispondenza tra gli (N)-indirizzi serviti da una (N)-entit e gli (N1)-indirizzi utilizzati per accedere agli (N-1)-servizi che l'(N)-entit utilizza (e quindi per identificare
quest'ultima) effettuata da un'altra particolare (N)-funzione, che detta di corrispondenza di indirizzo
(address mapping).
II.2.5.

Sistemi terminali e intermedi

Un sistema impegnato in un processo di comunicazione (Fig. II.2.10) pu essere terminale o


intermedio (o di rilegamento). Un sistema terminale (End System) origine o destinazione finale delle
informazioni. Un sistema intermedio (Relay System) provvede ad assicurare il rilegamento fisico o
logico tra due o pi sistemi terminali.
Ogni sistema terminale o intermedio comprende una successione ordinata di sottosistemi, con
rango che va dal valore pi basso della gerarchia ad un valore massimo, che non necessariamente
quello pi elevato dellarchitettura. Un sistema terminale comprende di norma tutti i ranghi
dellarchitettura; un sistema intermedio ne comprende di norma solo un sottoinsieme.
Sistema
terminale

Sistema
terminale
7
6
5
4
3
2
1
Sistema
intermedio

Figura II.2.10 - Sistemi interconnessi


Il numero di sottosistemi in un sistema intermedio quindi solitamente inferiore a quello di un
sistema terminale. Partendo dal sottosistema di rango pi basso e procedendo verso sottosistemi di
rango via via crescente, si perviene al sottosistema che in grado di svolgere una funzione di
rilegamento. Questa, se svolta nell(N)-strato, consente ad una (N)-entit di porre in corrispondenza
una (N)-entit a monte con una (N)-entit a valle. Il numero di sottosistemi inclusi in un sistema
intermedio dipende quindi dalla scelta architetturale di quale sia lo strato in cui svolgere la funzione di
rilegamento.
II.3.

Trattamenti dellinformazione

Si analizzano i trattamenti dellinformazione in una architettura di comunicazione relativa un


insieme di sistemi interconnessi.
Ogni sistema terminale svolge il ruolo di emittente quando origine di informazioni e di ricevente
quando ne destinazione. Un sistema intermedio svolge, sempre e contemporaneamente, i ruoli di
emittente e di ricevente in relazione al verso del flusso informativo che lo interessa: quando il verso del
flusso entrante nel sistema, questo svolge il ruolo di ricevente; quando il verso invece uscente, il
ruolo svolto di emittente.

31
Indipendentemente dal loro ruolo, i sistemi (terminali o intermedi) hanno il compito di trattare
linformazione loro consegnata; il trattamento nei sistemi terminali ha in generale lo scopo di trasferire
e utilizzare linformazione, mentre quello nei sistemi intermedi pu limitarsi a soli aspetti di
trasferimento. Il trattamento in un sistema consiste nello svolgimento delle funzioni attribuite ai
sottosistemi componenti.
Nel seguito del paragrafo vengono utilizzati i concetti architetturali messi a fuoco in precedenza
per chiarire:
quale sia lordine logico di svolgimento delle funzioni che concorrono allevoluzione di un
processo di comunicazione ( II.3.1);
come questa evoluzione possa essere analizzata facendo riferimento ad un insieme di
comunicazioni di strato aventi natura virtuale (comunicazioni intra-strato) ( II.3.2);
come nelloperativit del modello siano identificabili due tipi di flussi informativi, che sono
il veicolo di supporto delle informazioni di utenza e di coordinamento ( II.3.3);
quale sia levoluzione dei protocolli di strato in relazione a differenti strategie di gestione (
II.3.4);
quali modi alternativi di servizio di strato siano offerti per la realizzazione di una
comunicazione intra-strato( II.3.5).
II.3.1.

Ordine logico di trattamento

Lo svolgimento di una (N)-funzione (in quanto sempre risultato della cooperazione di due o pi
parti) richiede la compartecipazione di due o pi (N)-sottosistemi omologhi. La compartecipazione si
manifesta in
uno svolgimento in apertura, quando lentit di un sottosistema prende liniziativa e attiva la
funzione che le pertinente;
uno svolgimento in chiusura, quando viene completata lattivazione della funzione da parte
della (o delle) entit alla pari che (o sono) in corrispondenza con lentit iniziatrice.
Uno svolgimento in apertura viene effettuato da un sottosistema appartenente ad un sistema con il
ruolo di emittente; uno svolgimento in chiusura viene invece effettuato da un sottosistema appartenente
ad un sistema con il ruolo di ricevente.
Quando un sistema (terminale o intermedio) ricopre il ruolo di emittente, il suo trattamento
dellinformazione (consistente nello svolgere in apertura le funzioni attribuite ai suoi sottosistemi
componenti) segue uno specifico ordine logico, che quello dei ranghi decrescenti. Lordine di
trattamento quindi il seguente (Fig. II.3.1):
si inizia dal sottosistema di rango pi elevato che presente nel sistema;
si scende via via attraverso i sottosistemi di rango intermedio fino al sottosistema di rango
pi basso nellarchitettura;
si chiude consegnando linformazione al mezzo trasmissivo.
Quando un sistema (terminale o di rilegamento) svolge invece il ruolo di ricevente, il suo
trattamento dellinformazione (consistente nello svolgere in chiusura le funzioni attribuite ai suoi
sottosistemi componenti) segue uno specifico ordine logico che quello dei ranghi crescenti. Lordine
di trattamento quindi il seguente (Fig. II.3.2):
si parte estraendo linformazione dal mezzo trasmissivo;
si inizia il trattamento dal sottosistema di rango pi basso nellarchitettura;
si sale via via attraverso i sottosistemi di rango intermedio fino al sottosistema di rango pi
elevato che presente nel sistema.

32

Ranghi crescenti

Ordine di trattamento
dellinformazione.

Figura II.3.1 - Sistema emittente

Ranghi crescenti

Ordine di trattamento
dellinformazione.

Figura II.3.2 - Sistema ricevente


Con queste premesse, definiamo lordine logico di trattamento in due o pi sistemi interconnessi.
A questo scopo individuiamo per ogni coppia di sistemi (tra quelli interconnessi)
qual lemettitore e quale il ricevitore;
quali sono i sottosistemi omologhi in essi inclusi che interagiscono direttamente nello
svolgimento delle funzioni loro pertinenti.
Allora, detto A un sistema terminale emittente e B quello terminale ricevente, ad uno svolgimento
in apertura da parte di un sottosistema incluso in A corrisponde uno svolgimento in chiusura nel
sottosistema omologo al precedente e incluso in B (Fig. II.3.3). La stessa conclusione si applica nel
caso di sistemi intermedi, ove si hanno sempre interfacce con ruolo ricevente e altre con ruolo
emittente (Fig. II.3.4).
II.3.2.

Comunicazioni di strato

Nel trattamento dellinformazione che si svolge nei sistemi interconnessi (terminali o intermedi),
due o pi (N+1)-entit alla pari, se coinvolte nello svolgimento cooperativo di una (N+1)-funzione,
hanno necessit di comunicare tra loro per il conseguimento delle loro finalit (comunicazione intrastrato). Linformazione scambiata in questa comunicazione quella necessaria a consentire
cooperazione nello svolgimento della (N+1)-funzione. La comunicazione avviene tra le (N+1)-entit
per il tramite dell(N)-strato e rientra tra le opportunit offerte dall(N)-servizio. In questa loro

33
comunicazione le (N+1)-entit svolgono il ruolo di (N)-utenti, mentre l(N)-fornitore rappresentato
dalle (N)-entit che sono in corrispondenza con le (N+1)-entit comunicanti tramite i pertinenti (N)SAP.
Sistema B
ricevente
Svolgimento in chiusura

Svolgimento in apertura

Sistema A
emittente

(N) - strato

Figura II.3.3 - Ordine di trattamento in sistemi emittenti e riceventi


Processo
di origine

Sistema terminale
emittente

Processo
di destinazione

Sistema
intermedio

Sistema terminale
ricevente

Figura II.3.4 - Ordine di trattamento in sistemi terminali e intermedi


La (N+1)-entit emittente consegna linformazione all(N)-fornitore attraverso il proprio (N)-SAP;
linformazione perviene cos all (N)-entit di origine che in corrispondenza con la (N+1)-entit
emittente attraverso l(N)-SAP in comune. L(N)-fornitore consegna detta informazione all(N+1)entit ricevente attraverso il suo (N)-SAP; linformazione viene consegnata per il tramite della (N)entit di destinazione che in corrispondenza con la (N+1)-entit ricevente attraverso l(N)-SAP in
comune (Fig. II.3.5).
Per effetto dell(N)-servizio i due (N)-utenti, che percepiscono solo la presenza dei loro (N)-SAP,
vedono unimmagine della comunicazione intra-strato che li pone in corrispondenza diretta nellambito
dell(N+1)-strato; questa corrispondenza per solo virtuale, dato che la comunicazione intra-strato
avviene in modo indiretto per lopera intermediaria dell(N)-fornitore. L (N)-servizio consente quindi
di stabilire tra gli (N)-utenti una comunicazione virtuale che immagine (per questi utenti) della
comunicazione effettiva assicurata dall(N)-fornitore.

34
(N)-utente

(N)-utente

(N+1)-entit

(N+1)-entit

(N)-SAP

(N)-SAP

(N+1)-strato
(N)-strato

(N)-entit

(N)-entit
(N)-fornitore

Figura II.3.5 - Svolgimento della comunicazione


L(N)-fornitore in grado di svolgere questo compito in quanto si avvale dell(N-1)-servizio; pi
in particolare le (N)-entit, che partecipano alla comunicazione effettiva, sono poste in comunicazione
virtuale del tutto analoga a quella riguardante le (N+1)-entit; questa mappatura
da comunicazione effettiva tra entit alla pari basata sulle funzionalit degli strati inferiori
a comunicazione virtuale che si svolge direttamente nellambito dello strato a cui
appartengono le entit comunicanti,
di natura iterativa, interessando via via gli strati di rango decrescente fino a raggiungere lo strato pi
basso dellarchitettura. Le entit dello strato pi basso, essendo direttamente a contatto con i mezzi
trasmissivi, sono le uniche dellarchitettura che possono svolgere effettivamente una comunicazione
diretta.
Ricaviamo ora la relazione tra la comunicazione intra-strato e quella pi generale tra processi
applicativi residenti in sistemi diversi. Questultima per facilit di riferimento, verr indicata come
comunicazione tra processi.
Sulla base delle considerazioni precedenti, la comunicazione intra-strato costituisce al tempo
stesso
il rapporto che si stabilisce in ogni coppia di strati contigui tra utenti del servizio di strato e
il relativo fornitore;
la riproduzione in piccolo della comunicazione tra processi.
La comunicazione tra processi pu allora essere vista come partizionata in un insieme di
comunicazioni intra-strato in corrispondenza con gli strati dell architettura dal rango pi elevato a
quello pi basso. Le componenti di questo insieme hanno le seguenti propriet:
si presentano con caratteristiche generali omogenee, pur con diversit che non ne
compromettono linter-lavoro;
cooperano secondo i meccanismi dei servizi di strato, per conseguire lobiettivo della
comunicazione tra processi;
evolvono in modo indipendente luna dallaltra, come assicurato dalla propriet di
indipendenza degli strati architetturali.
II.3.3.

Flussi informativi

Una comunicazione tra processi coinvolge le potenzialit di trattamento dellinformazione che


sono rese disponibili dai sistemi interconnessi (terminali o intermedi). In questo coinvolgimento si
dicono adiacenti i sistemi che interagiscono direttamente nello svolgimento delle funzioni loro
pertinenti.
Per ogni insieme di sistemi adiacenti, il coinvolgimento si manifesta

35

in termini virtuali, tramite tanti scambi informativi intra-strato quanti sono gli strati comuni
presenti in detti sistemi e con trasferimento tra sottosistemi omologhi;
in termini effettivi, tramite scambi informativi inter-strato con attraversamento, allinterno
di ogni sistema, degli strati comuni con gli altri sistemi adiacenti.
Tali scambi informativi determinano due tipi di flussi (Fig. II.3.4):
uno tra entit alla pari (residenti quindi in sistemi diversi); il flusso intra-strato;
laltro tra entit appartenenti a strati contigui nellambito dello stesso sistema; il flusso
inter-strato.
Il flusso intra-strato viene trasferito in modo indiretto usando il servizio offerto dallo strato
inferiore; ha il verso che va dal sistema con il ruolo di emittente a quello con il ruolo di ricevente. Il
flusso inter-strato viene trasferito in modo diretto; ha il verso dellordine logico di trattamento
dellinformazione nellambito del sistema considerato.

Flussi inter-strato
Trasferimento diretto

(N+1) - entit

(N+1) - entit
(N+1) - strato

(N)-SAP

Flussi intra-strato
(N) - entit

Trasferimento indiretto

(N) - entit

(N)-strato

(N-1)-SAP
(N-1)-strato
(N-1) - entit

(N-1) - entit

Figura II.3.4 - Trasferimenti di flusso


Dato che ad ogni sistema con il ruolo di emittente si accompagna almeno un sistema adiacente con
il ruolo di ricevente, lo scambio informativo tra questi due sistemi comporta, congiuntamente, due tipi
di flusso inter-strato (Fig. II.3.5): uno, riguardante il sistema emittente, discende i ranghi degli strati
dellarchitettura; laltro, riguardante il sistema ricevente, risale invece questi ranghi.
Circa la natura di questi flussi in relazione allevoluzione di un processo di comunicazione,
conviene ancora una volta fare riferimento alla relazione (N)-utente/(N)-fornitore nellambito dello
svolgimento di una comunicazione intra-strato tra (N)-utenti. Si distinguono allora due tipi di
informazione:
quella di utenza, che loggetto dello scambio in quella comunicazione intra-strato e che
quindi nellinteresse degli utenti dell(N)-servizio nel loro ruolo di compartecipazione alla
comunicazione tra processi;
quella di coordinamento, che ha lo scopo di gestire le azioni da svolgere in modo
cooperativo nell(N)-strato secondo gli obiettivi e le esigenze prestazionali di quel processo
di comunicazione.
Le informazioni di utenza si distinguono in:
- dati intra-strato, che sono trasferiti nellambito di un flusso intra-strato;
- dati inter-strato, che sono trasferiti nellambito di un flusso inter-strato.
Le informazioni di coordinamento si distinguono in:

36

informazioni di protocollo (PCI, Protocol Control Information) che sono scambiate tra
entit alla pari e corrispondono alle regole di interazione previste nel pertinente protocollo
di strato; compongono anchesse i flussi intra-strato;
le informazioni di interfaccia (ICI, Interface Control Information), che sono scambiate tra
entit residenti nello stesso sistema e appartenenti a strati contigui; fanno parte dei flussi
inter-strato.
E da sottolineare che le ICI sono scambiate per coordinare lo svolgimento di funzioni del servizio
di strato; un ruolo di questo tipo ricoperto dalla primitive di servizio.
sorgente

collettore

Flusso inter-strato

Flusso inter-strato

Flussi intra-strato

Sistema
terminale

Sistema
intermedio

Sistema
terminale

entit di strato

Figura II.3.5 - Flussi informativi inter-strato e intra-strato


II.3.4.

Gestione dei protocolli

Linterazione tra due o pi entit alla pari (effettuata per coordinare la loro azione nello
svolgimento delle funzioni loro pertinenti) deve rispettare le regole procedurali che sono definite in un
protocollo di strato; in particolare, se si fa riferimento alla interazione tra due (N)-entit, deve
verificarsi tra queste lo scambio della pertinente informazione di un (N)-protocollo o, pi in breve, di
(N)-PCI. Nel caso in cui le due entit siano incluse in sistemi adiacenti A e B (Fig. II.3.6), linterazione
si manifesta con una apertura di istanza e con una corrispondente chiusura:
- lapertura di istanza effettuata dallentit iniziatrice e consiste nellemissione di un
comando rivolto allaltra entit, che per comodit indichiamo come remota;
- la chiusura di istanza effettuata dallentit remota che, ricevuto il comando, provvede ad
attuare quanto ivi richiesto e, eventualmente, ad inviare una risposta allentit iniziatrice.
Levoluzione di un (N)-protocollo avviene allora attraverso aperture e successive chiusure di
istanza; tali aperture e chiusure, rispettando la sintassi e la temporizzazione del protocollo, si
ripresentano nel tempo fino al conseguimento dello scopo desiderato. Lattuazione di questa evoluzione
verr qui chiamata gestione del protocollo.
Un protocollo di strato pu essere gestito in vari modi in relazione alla collocazione reciproca
delle entit interagenti nellambito dei sistemi interconnessi. Si possono avere una gestione da estremo
a estremo ovvero una gestione di sezione.
Si ha una gestione da estremo a estremo quando le regole protocollari riguardano linterazione
diretta tra entit alla pari residenti in sistemi terminali che sono origine e destinazione

37
dellinformazione, e cio quando si prescinde dalla presenza di eventuali sistemi intermedi. Una
gestione siffatta riguarda solitamente protocolli di strato alto nellarchitettura (Fig. II.3.7).
Si ha invece una gestione di sezione quando, essendo presenti uno o pi sistemi intermedi sul
percorso dallorigine alla destinazione dellinformazione, le regole protocollari riguardano linterazione
diretta tra entit alla pari residenti in sistemi (terminali e/o intermedi) che sono adiacenti su detto
percorso. Una gestione siffatta riguarda solitamente protocolli di strato basso nellarchitettura. (Fig.
II.3.7).
Sistema A

Sistema B
Interfaccia A

(N)-entit
iniziatrice

Interfaccia B

(N)-protocollo

(N)-entit
remota

(N)-strato
Aperture
di istanza

Chiusure
di istanza

Figura II.3.6 Interazione protocollare tra entit alla pari


Pila protocollare gestita
da estremo a estremo

Sistema
terminale

Sistema
intermedio

Sistema
terminale

Pile protocollari gestite


sezione per sezione

Figura II.3.7 Pile protocollari gestite da estremo a estremo e sezione per sezione
Si ha poi una gestione sezione per sezione nel caso di una sequenza di gestioni protocollari di
sezione, lungo il percorso dallorigine alla destinazione. In questo caso, si consideri il passaggio da una
sezione ad unaltra. Occorre allora trattare le due sezioni in modo separato, facendo riferimento alle
due interfacce coinvolte, quella a monte e quella a valle, e ai due corrispondenti protocolli, che
chiamiamo e . Ad una apertura/chiusura di istanza per il protocollo relativo allinterfaccia a
monte deve corrispondere una apertura/chiusura di istanza per quello relativo allinterfaccia a valle.
Se i protocolli e sono omogenei, il passaggio da una sezione allaltra avviene per semplice
riproposizione dello stesso protocollo (rigenerazione). Se invece i protocolli e sono diversi, il
passaggio in questione richiede una conversione tra il protocollo e quello .
Compito di un sistema intermedio (Fig.II.3.8) che interconnette ambienti di comunicazione
caratterizzati da pile protocollari tra loro omogenee quindi la rigenerazione dei protocolli. Occorre

38
invece una conversione dei protocolli quando il passaggio tra ambienti di comunicazione tra loro
diversi.
P 3-1
P 2-1
P 1-1

3-1

3-1

2-1

2-1

1-1

1-1

P 3-1
P 2-1
P 1-1

Rigenerazione

Sistema intermedio

P 3-1
P 2-1
P 1-1

3-1

3-2

2-1

2-2

1-1

1-2

P 3-2
P 2-2
P 1-2

Conversione

Sistema intermedio

Figura II.3.8 Interconnessione con rigenerazione o con conversione:


[Pi-j: protocollo di strato i appartenente alla pila j]
II.3.5.

Modi di servizio

Un servizio di strato pu essere fruito dalle parti interessate con o senza una loro intesa
preliminare. Nel caso in cui l'intesa sussista si parla di servizio con connessione (connection oriented),
facendo riferimento con questo termine a un legame, almeno logico e in alcuni casi anche fisico, che
viene stabilito tra le parti in comunicazione. Nel caso contrario si tratta di un servizio senza
connessione (connection less). La scelta di una di queste possibilit nel caso di uno specifico strato non
condiziona in alcun modo la scelta relativa agli strati contigui.
Un servizio di strato con connessione ha alcune caratteristiche distintive:
una strutturazione in tre fasi temporali;
un accordo tra tre parti;
una negoziazione dei parametri di trasferimento;
un uso di indirizzamento con identificatori di connessione;
un legame logico tra i segmenti informativi scambiati.
Circa lorganizzazione temporale del servizio, questo si espleta attraverso tre distinte fasi in
sequenza: l'instaurazione della connessione, il trasferimento dell'informazione e l'abbattimento della
connessione. La vita di una connessione pu essere di lunga durata e manifestarsi in molti scambi
separati tra le parti connesse; ovvero pu essere compressa in una interazione di durata molto breve, in
cui l'informazione necessaria per instaurare la connessione, quella da trasferire e quella necessaria per
abbattere la connessione sono trasportate in un piccolo numero di scambi.
L'instaurazione di una (N)-connessione richiede il preventivo accordo tra almeno tre parti: i due o
pi (N)-utenti che desiderano comunicare e l(N)-fornitore che mette a disposizione i mezzi per
soddisfare questa esigenza. Queste parti debbono preliminarmente manifestare la loro volont di
partecipare alla comunicazione. Percio', per tutta la durata della connessione, tali parti sono vincolate
all'accordo iniziale.
Nell'ambito di questo accordo, debbono essere negoziati i parametri e le opzioni che governeranno
il trasferimento di informazione. Perci una richiesta di instaurazione pu essere rifiutata da una parte
se i parametri e le opzioni scelti dalla controparte sono per lei inaccettabili. La negoziazione pu
consentire alle parti di scegliere specifiche procedure, quali quelle riguardanti la qualit del servizio

39
(QoS, Quality of Service), la sicurezza e la protezione dell'informazione. Inoltre l'accordo che risulta
dalla negoziazione pu, in alcuni casi, essere modificato (e cio rinegoziato) dopo che la connessione
sia stata instaurata e sia iniziata la fase di trasferimento dell'informazione.
Una volta che una connessione sia stata instaurata, essa pu essere utilizzata per trasferire
segmenti di una sequenza informativa fintantoch la connessione non venga rilasciata da una delle parti
in comunicazione. Questi segmenti sono mutuamente legati in virt del fatto che sono trasferiti su una
particolare connessione. Pi specificamente, per effetto del trasferimento ordinato sulla stessa
connessione
possono essere facilmente rivelate e recuperate condizioni di fuori-sequenza, di perdita e di
duplicazione riguardanti differenti segmenti della sequenza informativa;
possono essere impiegate tecniche di controllo di flusso per assicurare che il ritmo di
trasferimento tra le parti in comunicazione non superi quello che queste parti sono in grado di
trattare.
Passando ora ai servizi di strato senza connessione e alle loro caratteristiche distintive, queste
sono:
- una sola fase temporale;
- un accordo tra solo due parti;
- unassenza di negoziazione;
- un uso di indirizzi per lorigine e la destinazione;
- una indipendenza e autoconsistenza dei segmenti informativi scambiati.
In questo caso esiste infatti la sola fase di trasferimento dellinformazione e deve sussistere tra gli
utenti del servizio solo una conoscenza mutua a priori. Esistono invece accordi individuali tra ogni
utente e il fornitore del servizio, che deve essere sempre disponibile al trasferimento richiesto salvo
esplicito avviso contrario. Tra le parti non viene scambiata, preliminarmente, alcuna informazione che
riguardi la loro volont di impegnarsi in una comunicazione. Inoltre tali parti possono non essere
contemporaneamente attive. sufficiente infatti che lutente di origine sia attivo solo per il tempo
necessario all'emissione delle informazioni, mentre lutente di destinazione lo deve essere solo al
momento della ricezione. Non c quindi possibilit di negoziare opzioni o prestazioni desiderate dagli
utenti ivi compresi gli aspetti di QoS.
Gli indirizzi devono identificare in modo completo lorigine e la destinazione dellinformazione,
con conseguente esigenza di un maggior volume di extra-informazione rispetto a quella utile. Infine in
un servizio senza connessione debbono essere sottolineate la indipendenza e lautoconsistenza dei
segmenti informativi trasferiti. Circa l'indipendenza, questa implica che una sequenza di segmenti
informativi pu essere recapitata a destinazione in un ordine diverso da quello di consegna all'origine.
Per ci che riguarda poi l'autoconsistenza, ogni segmento informativo deve contenere tutta
l'informazione necessaria per essere consegnata a destinazione. Questa caratteristica, se da un lato
migliora la robustezza del servizio, dall'altro comporta una minore efficienza ( a causa del maggior
peso della extra-informazione) e una ridotta possibilit di controllo della QoS.
II.4.

Unit informative

Indipendentemente dalla loro natura, le informazioni scambiate nell'ambito di una architettura di


comunicazione sono strutturate in unit informative, e cio in segmenti di informazione per i quali
vengono precisati il formato e la finalit.
Occorre distinguere tra le informazioni (di utenza e/o di coordinamento) che compongono il flusso
intra-strato e quello inter-strato (cfr. II.3.3). Con riferimento allora all(N)-protocollo e all(N)interfaccia come in tabella II.4.1, si possono avere

40

lunit di dati dell'(N)-protocollo [(N)-PDU, Protocol Data Unit], che elemento


componente del flusso intra-strato nellambito dell(N)-strato;
lunit di dati dell'(N)-interfaccia [(N)-IDU, Interface Data Unit], che elemento
componente del flusso inter-strato fra l(N)-strato e l(N+1)-strato.
Entrando in maggiori dettagli, una (N)-PDU una unit informativa che specificata in un (N)protocollo. Essa contiene in generale informazioni di coordinamento e dati di utenza; le prime sono a
loro volta strutturate in (N)-PCI.
INFORMAZIONI DI
COORDINAMENTO

(N)-(N)
Entita' alla pari
(N+1)-(N)
Entita' di strati
adiacenti

INFORMAZIONI
DI UTENZA

Informazione di
protocollo
(N)-PCI

Dati
intra-strato

Informazione di
interfaccia
(N)-ICI

Dati
inter-strato

UNITA
INFORMATIVE

Unita' di dati
dell'(N)-protocollo
(N)-PDU
Unita' di dati
dell'(N)-interfaccia
(N)-IDU

Tabella II.4.1 - Relazioni tra tipi di informazione e unit informative


Una (N)-IDU un unit informativa che scambiata attraverso un (N)-SAP in una singola
interazione tra una (N+1)-entit e una (N)-entit. E costituita in generale dalla combinazione di
informazioni di coordinamento e di dati di utenza; le prime sono a loro volta strutturate in (N)-ICI.
In entrambe le (N)-PDU e le (N)-IDU, i dati di utenza sono strutturati in unita' di dati dell'(N)servizio [(N)-SDU, Service Data Unit]. Queste includono combinazioni di dati di utenza e di
informazioni di coordinamento, che hanno origine nell(N+1)-strato e sono trattate come dati di utenza
dalle entit di questo. Un (N+1)-utente consegna queste unit all(N)-fornitore perch siano trasferite
all(N+1)-utente remoto nellambito di quanto consentito dall(N)-servizio.
Per chiarire il ruolo delle unit informative precedentemente definite analizziamo la composizione
e il trattamento dei flussi inter-strato e intra-strato. Facciamo riferimento ad un insieme di sistemi
interconnessi e indichiamo con A e B due sistemi adiacenti. Con riguardo ad esempio, al sistema A
consideriamo dapprima un flusso inter-strato con verso discendente (cfr. Fig. II.3.5) e fissiamo
lattenzione sullattraversamento dell(N)-strato (Fig. II.4.1).
(N+1)-PDU

(N)-ICI

(N)-interfaccia
(N)-IDU
(N)-ICI

(N)-PCI

(N)-SDU

(N)-strato

(N)-PDU
(N-1)-ICI

(N-1)-interfaccia
(N-1)-IDU

Figura II.4.1 Unit informative nellattraversamento discendente dell(N)-strato


Quando una (N)-IDU viene consegnata all(N)-strato si effettuano su di essa due operazioni:

41
viene separata la (N)-ICI;
viene enucleata la (N)-SDU.
La (N)-ICI svolge il suo ruolo di coordinamento dell(N)-interfaccia e viene poi scartata. Alla (N)SDU, nellipotesi che sia in corrispondenza uno a uno con una (N)-PDU, viene aggiunta una (N)-PCI,
con la conseguente apertura di una istanza protocollare. Il risultato dellaggiunta, che costituisce un
incapsulamento, una (N)-PDU. Questultima, combinata con una (N-1)-ICI, d luogo ad una (N-1)IDU. A questo punto si entra nel dominio dell(N-1)-strato e si pu ripetere quanto gi detto per l(N)strato.
Se ora si considera, nel sistema B, un flusso inter-strato con verso ascendente e si ripete lesame
dellattraversamento dell(N)-strato, il punto di partenza del trattamento rappresentato dalla consegna
di una (N-1)-IDU all(N)-strato (Fig. II.4.2). Su questa unit informativa si effettuano due operazioni:
- viene separata la (N-1)-ICI;
- viene enucleata la (N)-PDU.
La (N-1)-ICI coordina le azioni dell(N-1)-interfaccia e viene poi scartata. Dalla (N)-PDU viene quindi
separata la (N)-PCI. Il risultato della separazione, che costituisce un decapsulamento, una (N)-SDU.
(N+1)-PDU

(N)-ICI

(N)-interfaccia
(N)-IDU

(N)-ICI

(N)-PCI

(N)-SDU

(N)-strato

(N)-PDU
(N-1)-ICI
(N-1)-interfaccia
(N-1)-IDU

Figura II.4.2 Unit informative nellattraversamento ascendente dell(N)-strato


La (N)-PCI chiude listanza protocollare che stata aperta con la sua aggiunta nel sistema A. La
(N)-SDU viene infine combinata con una (N)-ICI per dare luogo ad una (N)-IDU. Si perviene cos
all(N)-interfaccia e quindi all(N+1)-strato Per il trattamento in questo vale quanto gi detto per l(N)strato.
Consideriamo ora il flusso intra-strato. Questo costituito da una molteplicit di (N)-PDU,
ognuna delle quali ottenuta nel sistema emittente tramite aggiunta di una (N)-PCI ad una (N)-SDU e
da ognuna delle quali nel sistema ricevente estratta una (N)-SDU tramite sottrazione di una (N)-PCI.
L(N)-servizio trasferisce quindi le (N)-SDU come dati dell(N)-utente nelle (N)-PDU. La lunghezza
delle (N)-SDU non per vincolata da quella delle (N)-PDU. A questo riguardo si distinguono tre casi:
le (N)-SDU sono in corrispondenza uno a uno con le (N)-PDU, come si supposto nelle
Figg. II.4.1 e II.4.2;
una singola (N)-SDU pu essere suddivisa in segmenti pi corti e trasferita in una
molteplicit di (N)-PDU;
pi (N)-SDU possono essere raggruppate in segmenti pi lunghi che sono trasferiti in una
singola (N)-PDU.
Il caso di corrispondenza uno a uno considerato in Fig. II.4.3, ove viene mostrata laggiunta di
una (N)-PCI ad una (N)-SDU per formare, tramite incapsulamento, una (N)-PDU. Questa operazione
ulteriormente oggetto della Fig. II.4.4, ove si mostra lincapsulamento in un sistema emittente e il

42
decapsulamento in quello ricevente: per chiarezza grafica sono state omesse le unit informative di
interfaccia.
(N+1)-PDU

(N+1)-Strato

(N)-SAP

(N)-Strato
(N)-PCI

(N)-SDU

(N)-PDU

Figura II.4.3 Loperazione di incapsulamento

SDU

Incapsulamento

P1

P1

P2

P1

P2 P1

P4

SDU

P3 P2 P1

P1

P2

SDU

(N-1)-strato

SDU

P2 P1

P3 P2 P1

SDU

SDU

P3 P2 P1

P4

SDU

SDU
P2 P1

P3

SDU

P1

(N)-strato

SDU

P3 P2 P1

SDU

P1

(N+1)-strato

SDU
P2 P1

P3

Sistema ricevente

Decapsulamento

Sistema emittente

SDU

SDU

(N-2)-strato
P4 P3 P2 P1

SDU

P4 P3 P2 P1

SDU

Figura II.4.4 Incapsulamento in un sistema emittente e decapsulamento in un sistema ricevente


Gli altri due casi, che corrispondono a situazioni di incompatibilit tra la lunghezza delle (N)-SDU
e quella delle (N)-PDU, sono trattati dallo strato pertinente con lesecuzione di due funzioni.
la segmentazione, se, in emissione, un'unica (N)-SDU deve essere suddivisa in diverse (N)PDU; in ricezione, deve allora essere eseguita la funzione complementare, e cio
lassemblaggio (Fig. II.4.5);
la aggregazione, se il formato delle (N)-PDU e' maggiore di quello delle (N)-SDU; in questo
caso e' necessario riunire varie (N)-SDU in un'unica (N)-PDU; la funzione complementare,
svolta allestremit ricevente e' quella di disaggregazione (Fig. II.4.6).
Nel caso di segmentazione, ogni (N)-PDU, in cui e' suddivisa una (N)-SDU, contiene la stessa
(N)-PCI, mentre, nel caso di aggregazione, ogni (N)-PDU e' formata da due o pi (N)-SDU, ognuna
delle quali mantiene la propria (N)-PCI. Questi accorgimenti assicurano il mantenimento dellidentit
di ogni (N)-SDU segmentata o aggregata.
Un'ulteriore funzione, detta di concatenazione, permette di unire in un'unica (N-1)-SDU due o pi
(N)-PDU; in questo caso la funzione complementare da svolgere in ricezione quella di separazione
(Fig. II.4.7). La funzione di concatenazione simile a quella di aggregazione, con la differenza che,
nella concatenazione, PDU pi corte sono collocate in una SDU pi lunga, mentre nellaggregazione

43
SDU pi corte sono raggruppate in PDU pi lunghe. In altre parole la concatenazione avviene tra due
strati, mentre laggregazione operazione svolta allinterno di uno strato.
(N)-PCI

(N)-SDU

(N)-PDU

(N)-PDU

(N)-PCI

(N)-SDU

(N)-PDU

Segmentazione

(N)-PDU

Assemblaggio

Figura II.4.5 - Segmentazione e assemblaggio


(N)-PCI

(N)-PCI

(N)-PCI
(N)-SDU

(N)-SDU

(N)-PCI
(N)-SDU

(N)-SDU

(N)-PDU

(N)-PDU

Aggregazione

Disaggregazione

Figura II.4.6 Aggregazione e disaggregazione


(N)-PDU

(N)-PDU

(N-1)-SDU

Concatenazione

(N)-PDU

(N)-PDU

(N-1)-SDU

Separazione

Figura II.4.7 Concatenazione e separazione


II.5.

Il servizio con connessione


Su un servizio nel modo con connessione si possono fornire alcuni ulteriori dettagli, riguardanti:
- la definizione e la identificazione delle connessioni di strato ( II.5.1);
- le modalit di gestione delle connessioni, con riferimento alle funzioni di
instaurazione/abbattimento e a quelle di multiplazione o di suddivisione ( II.5.2);
- le funzioni di trasferimento delle informazioni, con riguardo ai dati normali o veloci e con
ulteriore riferimento al controllo di flusso e alla sequenzializzazione ( II.5.3);
- le modalit per fronteggiare condizioni di errore, che possono manifestarsi nel trasferimento
delle informazioni su una connessione di strato ( II.5.4).

44
II.5.1.

Le connessioni di strato

Nel caso di (N)-servizio con connessione, tra le (N+1)-entit interessate a comunicare viene
preventivamente stabilita una associazione logica. Questa realizzata per mezzo dei servizi offerti
dall'(N)-strato ed detta (N)-connessione. Una (N)-connessione quindi l'associazione dinamica
stabilita tra due o pi (N+1)-entit per controllare il trasferimento dell'informazione tra queste. Pi in
particolare, una (N)-connessione congiunge i due o pi (N)-SAP a cui sono allacciate le (N+1)-entit.
La Fig. II.5.1 mette in evidenza le relazioni tra entit e relative connessioni.
Sistema B

Sistema A
(N+1)-Servizio

(N+1)-Servizio

(N+1)-SAP

(N+1)-SAP
(N+1)-Entit

(N+1)-Entit

(N)-Servizio

(N+1)-Strato

(N)-Servizio

(N)-SAP

(N)-SAP
(N)-Strato

(N)-Connessione

(N-1)-Strato

Figura II.5.1 - Connessioni di strato


In un servizio con connessione, durante la fase di instaurazione, ogni parte memorizza
informazioni riguardanti le altri parti, come ad esempio gli indirizzi e le caratteristiche di QoS. Per
effetto di questa memorizzazione e una volta che sia iniziata la fase di trasferimento, le informazioni di
utenza possono essere accompagnate da informazioni di protocollo in misura pi contenuta rispetto a
quanto richiederebbe un indirizzamento completo delle parti.
Al riguardo occorre tenere conto che, all'atto in cui una (N)-connessione deve essere instaurata,
ogni (N+1)-entit identificata, per ci che riguarda l'(N)-servizio, dall'indirizzo dell'(N)-SAP
attraverso il quale l'(N+1)-entit interagisce con l'(N)-servizio. Quest'ultimo utilizza quindi gli (N)indirizzi per instaurare la connessione richiesta. Invece, nella fase di trasferimento dell'informazione e
in quella di abbattimento della connessione, non vengono utilizzati gli indirizzi degli (N)-SAP
connessi. Si impiega, in loro luogo, un identificatore di connessione, che individua in modo univoco
una connessione durante tutta la sua durata. Ci consente di ridurre la quota di extra-informazione che
sarebbe necessaria per trasferire la totalit degli (N)-indirizzi.
Sulla modalit per identificare una connessione si aggiunge che:
- una (N)-connessione pu essere instaurata tra due o pi (N)-SAP; se sono interessati solo
due (N)-SAP, la connessione detta punto-punto; nel caso di un maggior numero di (N)SAP interessati, detta punto-multipunto;
- una (N+1)-entit pu gestire simultaneamente una molteplicit di connessioni con altre
(N+1)-entit.
In generale quindi su uno stesso (N)-SAP si attestano pi (N)-connessioni. Lattestazione per
ciascuna di queste detta punto terminale di una (N)-connessione [(N)-CEP, Connection End Point].
All'interno di uno stesso (N)-SAP i punti terminali delle (N)-connessioni sono individuati dai cosiddetti
identificatori degli (N)-CEP. Questi ultimi sono quindi distintivi per le singole connessioni che si
attestano ad uno specifico (N)-SAP. Nella Fig. II.5.2 sono illustrate le definizioni ora fornite.

45

(N+1)-Strato

(N+1)-Entit

(N+1)-Entit

(N+1)-Entit

(N)-SAP

(N)-Strato
(N)-connessione
punto-multipunto

(N)-connessioni
punto-punto

(N)-CEP

Figura II.5.2 - Connessioni di strato punto-punto e punto-multipunto


II.5.2.

Gestione delle connessioni

Ci riferiamo dapprima alle funzioni di instaurazione e di abbattimento di una (N)-connessione


nellipotesi che tutti gli strati dellarchitettura operino nel modo con connessione.
Affinche' due (N+1)-entita' possano comunicare, una di esse deve richiedere all'(N)-strato
l'instaurazione di una connessione attraverso gli (N)-SAP che le identificano. Le (N)-entita' raggiunte
attraverso questi (N)-SAP provvedono a instaurare la connessione richiesta attraverso lo scambio
(controllato da un opportuno protocollo) di (N)-PDU su una (N-1)-connessione che, a loro volta,
richiedono all'(N-1)-strato. Conseguentemente la richiesta di connessione da parte delle (N+1)-entita'
da' luogo verso il basso alla formazione di N connessioni attraverso la gerarchia degli strati fino a
raggiungere quello di rango pi basso, in cui le entit possono comunicare direttamente attraverso il
mezzo trasmissivo.
Una (N)-connessione e' instaurata precisando, esplicitamente o implicitamente, un (N)-indirizzo
per la (N+1)-entita' che ne fa richiesta e un (N)-indirizzo per ognuna delle (N+1)-entit che ne sono la
destinazione. Una volta instaurata, una (N)-connessione ha due o pi (N)-CEP. Ognuno di questi e'
indiviso per ogni (N+1)-entita' e per ogni (N)-connessione. A esso viene quindi attribuito, come gia'
detto, un identificatore di riferimento [identificatore di (N)-CEP] a uso esclusivo dell'(N+1)-entita' e
dell'(N)-servizio.
L'instaurazione di una (N)-connessione presuppone che sia disponibile una (N-1)-connessione tra
le (N)-entita' che agiscono di supporto e che queste ultime siano in uno stato nel quale possono
svolgere lo scambio informativo protocollare per l'instaurazione della connessione. Se la prima
condizione non e' verificata, deve essere preventivamente instaurata una (N-2)-connessione tra le entita'
alla pari dell'(N-1)-strato. Cio' richiede, per l'(N-1)-strato, il soddisfacimento delle stesse condizioni
richieste per l'(N)-strato. Analoghe considerazioni si applicano per gli strati dell'architettura verso il
basso fintantoche' si trova una connessione gia' disponibile ovvero il mezzo trasmissivo.
L'abbattimento di una (N)-connessione e' normalmente richiesto al termine dello scambio
informativo da una delle (N+1)-entita' che l'hanno utilizzata. In presenza di condizioni anomale di
funzionamento dell'(N)-strato (ad es. a causa di guasti o di errori procedurali), l'abbattimento di una
(N)-connessione puo' essere iniziato anche da parte di una (N)-entita'. In questo caso saranno
comunicati, alle (N+1)-entita' impegnate nella comunicazione, l'avvenuto abbattimento della (N)connessione e i motivi che hanno portato a tale provvedimento. Alle (N+1)-entita' spetta allora il
compito di attivare le procedure necessarie per l'eventuale proseguimento della comunicazione.
Per quanto riguarda la corrispondenza tra connessioni appartenenti a strati adiacenti, possono
essere individuati tre tipi di relazioni:
una singola (N)-connessione corrisponde ad una singola (N-1)-connessione;
una molteplicit di (N)-connessioni corrisponde ad una sola (N-1)-connessione (Fig. II.5.3);

46

una singola (N)-connessione corrisponde ad una molteplicita' di (N-1)-connessioni


(Fig.II.5.4).
La corrispondenza descritta nel secondo caso e' detta funzione di multiplazione, mentre nel terzo
caso si parla di funzione di suddivisione; nella corrispondeza ipotizzata, ambedue queste funzioni sono
svolte nell'(N)-strato.

emettitore

Multiplazione
nell(N)-strato

ricevitore

Demultiplazione
nell(N)-strato

Figura II.5.3 Multiplazione e demultiplazione


emettitore

ricevitore

Suddivisione
nell(N)-strato

Riunificazione
nell(N)-strato

Figura II.5.4 Suddivisione e riunificazione


L'esecuzione della funzione di multiplazione e' necessaria per rendere pi economica ed efficiente
l'utilizzazione di un (N-1)-servizio. La funzione di suddivisione e' invece impiegata per aumentare
l'affidabilita' e le prestazioni di una (N)-connessione.
Le funzioni di multiplazione e di suddivisione comportano, all'interno dello strato in cui sono
svolte, l'esecuzione di altre funzioni, che possono non essere necessarie per una corrispondenza uno ad
uno tra le connessioni di strato. In particolare, per quanto riguarda la multiplazione svolta nell'(N)strato, occorre:
identificare l'(N)-connessione per ogni (N)-PDU che viene trasferita sulla (N-1)connessione; cio' al fine di assicurare che le informazioni di utenza, supportate da (N)connessioni tra loro multiplate, non perdano la loro identita' e non possano quindi essere
consegnate a una destinazione errata; l'identificazione della connessione e' effettuata
mediante l'identificatore di (N)-CEP;
controllare il flusso su ogni (N)-connessione (cfr. II.5.3); ci allo scopo di non
compromettere le prestazioni della (N-1)-connessione con l'invio di unita' informative con
ritmo superiore alla sua capacita' di trasferimento;

47
scadenzare la prossima (N)-connessione da servire sulla (N-1)-connessione, quando piu' di
una (N)-connessione e' pronta a inviare dati.
Nel caso invece della funzione di suddivisione, occorre provvedere a:
- scadenzare l'ordine di utilizzazione delle (N-1)-connessioni multiple, che sono utilizzate
nella suddivisione di una singola (N)-connessione;
- effettuare, in ricezione, una eventuale risequenziamento delle (N)-PDU associate a una
stessa (N)-connessione, dato che queste sono trasferite su (N-1)-connessioni diverse e
quindi possono arrivare alla (N)-entita' di destinazione in una sequenza diversa da quella di
emissione, anche se ogni (N-1)-connessione garantisce la sequenzialita' di consegna.
II.5.3.

Trasferimento delle informazioni

Si distinguono trasferimenti di dati normali e di dati veloci. Nel caso di dati normali, si e' gi visto
che le informazioni di coordinamento e di utenza sono scambiate tra (N)-entita' sotto forma di (N)PDU. Una (N)-SDU e' trasferita tra una (N+1)-entita' e una (N)-entita', attraverso un (N)-SAP, nella
forma di una o pi (N)-IDU; il suo trasferimento tra (N+1)-entita' alla pari avviene invece sotto forma
di dati di utenza in una o pi (N)-PDU. La (N)-SDU, in questo contesto, la porzione dei dati interstrato relativi all(N)-interfaccia la cui identit preservata da un estremo allaltro di una (N)connessione. L(N)-servizio garantisce cio lintegrit di ogni (N)-SDU trasferita, nel senso che ne
assicura la delimitazione e garantisce lordine dei dati al suo interno.
Una unita' di dati veloce (Expedited Data Unit) e' una SDU, che, richiedendo una particolare
urgenza di consegna, e' trasferita e/o elaborata con priorit rispetto alle SDU normali; essa puo' essere
utilizzata per scopi di segnalazione o di interruzione. Concettualmente una connessione che supporta
anche flussi di dati veloci puo' essere vista come composta di due vie, una per i dati normali, l'altra per
i dati veloci; i dati inoltrati sulla via per i dati veloci hanno priorit sui dati normali. Conseguentemente
l'(N)-strato assicura che una (N)-SDU veloce non sia consegnata a destinazione dopo una (N)-SDU
veloce o normale, che sia inoltrata susseguentemente sulla stessa (N)-connessione.
Nel trasferimento di informazione possono essere richieste le funzioni di controllo di flusso, di
sequenzializzazione e di controllo di errore, oltre a quelle di segmentazione, di aggregazione e di
concatenazione, sulle quali si gi parlato nel par. II.4.
Il controllo di flusso, se effettuato, esercita una regolazione del ritmo di trasferimento
dell'informazione e puo' operare, in alternativa, su PDU e su IDU. Nel primo caso, il controllo di flusso
operato nell'(N)-strato regola il ritmo con il quale le (N)-PDU sono scambiate tra (N)- entit alla pari su
una (N)-connessione. Nel secondo caso, tale funzione regola il ritmo di trasferimento con il quale le
(N)-IDU sono scambiate tra una (N+1)-entita' e una (N)-entit attraverso un (N)-SAP. Si e' gia' visto
che la multiplazione operata in uno strato puo' richiedere un controllo di flusso del primo tipo per
ognuno dei flussi multiplati.
Consideriamo infine il caso in cui l'(N-1)-servizio non possa garantire la consegna delle (N-1)SDU nello stesso ordine secondo cui queste sono state consegnate dall'(N)-strato. Se quest'ultimo
richiede che venga preservato l'ordine delle (N-1)-SDU, l'(N)-strato deve prevedere una funzione di
sequenzializzazione, e cio di riordino delle (N-1)-SDU che sono state trasferite su una (N-1)connessione.
II.5.4.

Controllo di errore

Durante l'evoluzione della comunicazione all'interno di uno strato, possono verificarsi condizioni
di errore. Queste possono essere causate da malfunzionamenti degli apparati, da errori procedurali o da
altre cause accidentali, quali errori trasmissivi.

48
Per fronteggiare condizioni di questo tipo, un (N)-strato deve poter prevedere funzioni di riscontro,
di rivelazione/notifica di errore e di reinizializzazione.
La funzione di riscontro puo' essere utilizzata da (N)-entita' alla pari, con l'impiego di un (N)protocollo, per ottenere una piu' elevata probabilita' di rivelare la perdita di (N)-PDU di quanto non
consenta l'(N-1)-servizio. A tale scopo ogni (N)-PDU trasferita tra (N)-entita' e' resa identificabile in
modo univoco, in modo che il ricevitore possa informare l'emettitore circa la ricezione di ogni (N)PDU. Una funzione di riscontro e' anche in grado di inferire la mancata ricezione di (N)-PDU e di
attuare appropriate azioni di recupero.
Una (N)-entita' puo' essere in grado di rivelare eventuali condizioni di malfunzionamento dell'(N)strato. Se cio' si verifica, la (N)-entita' deve notificare l'avvenuto errore alle entita' dello strato
superiore. Questo insieme di funzioni, detto di rivelazione e notifica di errore, incrementa la qualita'
del servizio offerto dallo strato inferiore, poiche' aumenta la probabilita' che un errore sia rivelato e
quindi recuperato. Una volta che l'errore sia stato rivelato e notificato, spetta alle (N+1)-entita' adottare
le opportune contromisure per recuperare le normali condizioni di funzionamento dello strato.
In alcuni casi, se il tipo di errore e' particolarmente grave, pu essere necessario operare una
reinizializzazione (reset) della (N)-connessione. Cio' si verifica, ad esempio, a seguito di una perdita di
sincronizzazione tra le (N)-entita' in comunicazione. La funzione di reinizializzazione ha il compito di
riportare la (N)-connessione a uno stato precedente, fino a cui si puo' assumere che lo scambio di
informazioni sia avvenuto in modo esente da errori.
II.6.

Modelli funzionali

Tra i modelli funzionali che sono stati finora definiti e che sono tuttora di attualit per applicazioni
telematiche si menzionano i modelli OSI e Internet, ambedue basati sui principi delle architetture a
strati e quindi trattabili con gli strumenti concettuali che sono stati introdotti nei precedenti paragrafi.
Entrambi questi modelli sono stati concepiti per ambienti di comunicazione di dati e quindi con
caratteristiche adeguate ad applicazioni monomediali. Non viene tuttavia esclusa, soprattutto per il
modello Internet e con opportuni adattamenti, la possibilit di un allargamento ad applicazioni
multimediali.
Il termine OSI, acronimo che fa riferimento alla "interconnessione di sistemi aperti" (Open System
Interconnection), utilizzato per definire la comunicazione tra sistemi di elaborazione che adottano un
insieme di norme (le norme OSI), tali da consentire la cooperazione indipendentemente dalla natura dei
sistemi e quindi con lo scopo di rendere possibile l'interconnessione e il colloquio tra sistemi eterogenei
(cio tra sistemi che hanno origine da costruttori diversi), oltre che tra sistemi omogenei. Il modello
OSI il risultato dell'attivit di normalizzazione svolta dallISO e fatta propria dall'ITU-T (cfr. par. I.6).
Gli obiettivi perseguiti in questa attivit sono stati:
- disporre di norme la cui traduzione in prodotti fosse condizionata da vincoli tecnologici solo
in modo debole;
- prevedere una estensibilit del modello e delle relative implicazioni normative verso
evoluzioni future;
- comprendere una larga variet di opzioni come compromesso tra esigenze spesso
contrastanti, in quanto legate alla difesa di interessi industriali tra loro in competizione.
Il risultato stato la produzione di norme, che sono ineccepibili dal punto di vista della generalit e
della correttezza formale, ma che si sono dimostrate talvolta di difficile realizzazione pratica.
Il modello Internet ha invece avuto come origine l'organizzazione ARPA (Advanced Research
Project Agency), come chiarito in I.5.1. Attualmente lo sviluppo, il coordinamento e la gestione del
mondo Internet fanno capo all'IAB (cfr. par.I.6), il cui scopo principale stato ed tuttora l'adozione di
soluzioni tecniche disponibili, che assolvano il loro compito e che consentano realizzazioni basate su

49
posizioni consolidate. Ci ha consentito di ottenere velocemente prodotti in linea con la normativa
Internet e di adottare in modo tempestivo gli aggiornamenti necessari per rispondere a nuove esigenze.
La differenza tra i due modelli dovuta sostanzialmente allo scopo diverso che le organizzazioni
preposte si sono prefisso. Da un lato, con la modellistica OSI, gli organismi di normalizzazione formali
(ISO e ITU-T) hanno puntato a definire un quadro normativo che fosse senza limitazioni circa la sua
diffusione virtuale e che comprendesse ogni possibile accorgimento anche in vista degli aggiornamenti
prevedibili. Dall'altro lato lIAB ha cercato di rispondere in modo pi rapido alle esigenze, anche a
breve termine, dell'utente finale, fornendo quindi risposte concrete alle domande esistenti.
il caso di sottolineare che, in un ambiente per comunicazioni di dati, le architetture del modello
OSI e di quello Internet non sono le uniche che possono essere derivate dai criteri esposti nei
precedenti paragrafi. A criteri analoghi sono infatti ispirate altre architetture sviluppate dai singoli
costruttori (architetture proprietarie), quali per esempio la System Network Architecture (SNA) della
IBM e la Digital Network Architecture (DNA) della DEC.
II.6.1.

Il modello OSI

L'identificazione degli strati che compongono l'architettura OSI stata effettuata con
lapplicazione dei criteri del raggruppamento e della gerarchizzazione (cfr. II.2.1). Ci ha portato alla
definizione di sette strati funzionali: lo strato di applicazione (strato 7); lo strato di presentazione
(strato 6); lo strato di sessione (strato 5); lo strato di trasporto (strato 4); lo strato di rete (strato 3); lo
strato di collegamento (strato 2); lo strato fisico (strato 1). L'insieme degli strati ora citati e la loro
struttura gerarchica sono mostrati in Fig. II.6.1.
Strato di
Applicazione

Protocollo di Applicazione

Strato di
Applicazione

Strato di
Presentazione

Protocollo di Presentazione

Strato di
Presentazione

Protocollo di Sessione

Strato di
Sessione

Strato di
Trasporto

Protocollo di Trasporto

Strato di
Trasporto

Strato di
Rete
Strato di
Collegamento

Protocollo di Rete

Strato di
Rete

Protocollo di Collegamento

Strato di
Collegamento

Strato di
Sessione

Strato Fisico

Protocollo di Strato Fisico


Strato Fisico
Mezzi trasmissivi

Fig. II.6.1- Architettura del modello OSI.


Con l'eccezione dello strato fisico, che s'interfaccia direttamente con il mezzo trasmissivo, i servizi
di strato nel modello OSI sono stati definiti nelle versioni sia con connessione che senza connessione.
Inoltre per gli strati di trasporto e di rete previsto che un modo di servizio possa essere supportato da
un differente modo nello strato contiguo inferiore (Fig. II.6.2): ad esempio un servizio senza
connessione nello strato di trasporto pi essere supportato da un servizio con connessione nello strato
di rete. Qui di seguito vengono esposte in modo sintetico le finalit dei sette strati.
Lo strato di applicazione ha lo scopo di fornire ai processi applicativi residenti in un sistema i
mezzi per accedere all'ambiente OSI, facendo s che quest'ultimo costituisca una macchina virtuale in
grado di associare un processo applicativo residente in un sistema con qualsiasi altro processo
applicativo residente in un qualsiasi altro sistema remoto. Poich gli utenti dei servizi offerti dallo
strato di applicazione possono essere processi applicativi di qualsiasi natura, risulta arduo individuare
un insieme di funzioni sufficientemente completo e generale che si adatti a tutte le possibili

50
applicazioni. Per la descrizione delle funzioni interne allo strato di applicazione si segue quindi la
strada di individuare, dapprima, elementi di servizio comuni a tutte le applicazioni e, in seguito, moduli
disgiunti comprendenti elementi di servizio orientati a determinate classi di applicazioni.
Servizio con
connessione

Servizio senza
connessione

Applicazione
Presentazione
Sessione
Trasporto
Rete
Collegamento
Fisico

Figura II.6.2 - Supporto degli strati OSI per servizi con e senza connessione
Lo strato di presentazione ha due compiti fondamentali:
- rendere direttamente disponibili alle entit di applicazione i servizi dello strato di sessione
relativi alla strutturazione, alla sincronizzazione e alla gestione del loro dialogo;
- risolvere i problemi di compatibilit tra due qualsiasi entit di applicazione per quanto
riguarda la rappresentazione dei dati da trasferire e il modo di riferirsi a strutture di dati del
sistema remoto.
In altre parole lo strato di presentazione ha lo scopo di sollevare le entit di applicazione da qualsiasi
compito relativo alla trasformazione della sintassi dei dati. In generale, all'interno dello strato di
presentazione esistono tre tipi di sintassi: due sintassi locali, utilizzate dalle singole entit di
applicazione, e una sintassi di trasferimento utilizzata per lo scambio informativo vero e proprio. La
sintassi di trasferimento negoziata dalle entit di applicazione, mentre la conversione tra sintassi
locali e sintassi di trasferimento effettuata dallo strato di presentazione.
Lo scopo dello strato di sessione quello di assicurare alle entit di presentazione una risorsa
logica per organizzarne il colloquio. Ci ha lo scopo di strutturare e di sincronizzare lo scambio dati in
modo da poterlo sospendere, riprendere e terminare ordinatamente. Lo strato di sessione presuppone
che siano risolti tutti i problemi relativi al trasporto dell'informazione tra i sistemi. Il suo compito
consiste invece nel mascherare, per quanto possibile, eventuali interruzioni del servizio di trasporto e
nel mantenere una continuit logica nell'evoluzione del colloquio tra entit di presentazione.
Lo strato di trasporto fornisce alle entit di sessione una risorsa virtuale per il trasferimento
trasparente delle unit di dati. Deve quindi, da un lato, colmare eventuali deficienze e fluttuazioni della
qualit di servizio offerto dallo strato di rete e dall'altro, ottimizzare l'uso di questo servizio di rete in
modo da poter garantire, al costo minimo, le prestazioni richieste. Procedendo dal basso verso l'alto
nell'esame dell'architettura OSI, lo strato di trasporto il primo che abbia esclusivamente un significato
da estremo a estremo. In altre parole, mentre le funzionalit dei primi tre strati dell'architettura possono
essere presenti sia nei sistemi terminali che nei nodi della rete di comunicazione, le procedure relative
allo strato di trasporto sono eseguite solo dai sistemi terminali. Infatti, tutti i problemi relativi
all'accesso dei sistemi terminali alla rete di comunicazione, all'instradamento e all'utilizzazione di
eventuali reti di transito si considerano completamente risolti dallo strato di rete.
Lo strato di rete rende invisibile allo strato di trasporto il modo in cui sono utilizzate le risorse di
rete, in particolare se sono utilizzate diverse sottoreti in cascata. L'unico elemento che visibile

51
all'interfaccia con lo strato di trasporto la qualit di servizio complessiva offerta dallo strato di rete.
Se il trasferimento interessa due sottoreti che offrono differenti qualit di servizio, la cooperazione tra
le sottoreti pu avvenire secondo due diverse modalit:
le reti cooperano senza l'esecuzione di nessuna funzione addizionale; in questo caso la
qualit di servizio risultante sar sicuramente non superiore a quella corrispondente alla rete
con minore qualit di servizio;
sulla rete con qualit di servizio inferiore sono eseguite funzioni che hanno l'obiettivo di
innalzare tale qualit di servizio allo stesso livello della seconda rete; in questo caso la
qualit complessiva pu essere uguale a quella della sottorete a pi alta qualit.
La scelta tra queste due alternative dipende dalla differenza di prestazioni delle due sottoreti e da fattori
di costo.
La funzione fondamentale eseguita dallo strato di collegamento rivelare e recuperare gli errori
trasmissivi verificatisi durante il trasferimento fisico. Tale funzione dovrebbe garantire allo strato di
rete la fornitura di un servizio di rete dell'informazione esente da errori.
Lo strato fisico ha il compito principale di effettuare il trasferimento fisico delle cifre binarie
scambiate tra le entit di collegamento. Le funzioni eseguite al suo interno e i servizi forniti allo strato
superiore hanno lo scopo di assicurare l'indipendenza della comunicazione dalle caratteristiche del
particolare mezzo trasmissivo utilizzato.
II.6.2.

Il modello Internet

Larchitettura del modello Internet pu essere ricollegata alla presentazione in I.5.1; partendo
dal livello gerarchicamente pi basso, comprende quattro strati.
Un primo strato, detto di accesso alla rete (Network Access Layer), consente la utilizzazione di
risorse infrastrutturali (sotto-reti), tra loro anche non omogenee per tecnica realizzativa. Lo strato di
accesso alla rete include le funzioni che nel modello OSI sono comprese negli strati fisico, di
collegamento e di rete, quest'ultimo almeno per ci che riguarda gli aspetti connessi al funzionamento
di ogni singola rete componente (sottostrato di rete basso).
Un secondo strato, che denominato IP (Internet Protocol) dal nome del protocollo che gli
proprio, consente l'interfunzionamento delle varie reti componenti con funzionalit che nel modello
OSI sono collocabili in un sottostrato di rete alto. Il servizio di strato corrispondente senza
connessione.
Un terzo strato corrisponde allo strato di trasporto del modello OSI e viene denominato in base al
protocollo che gli proprio. Un primo tipo di protocollo di questo strato il TCP (Transmission
Control Protocol), nell'ambito del quale il servizio di strato con connessione. Un protocollo
alternativo l'UDP (User Datagram Protocol), che a differenza di TCP senza connessione;
Il quarto e ultimo strato del modello Internet quello applicativo e corrisponde ai tre ultimi strati
del modello OSI. Viene denominato strato dei Servizi Applicativi (Application Services).
In Fig. II.6.3 effettuato un confronto fra gli strati dei due modelli OSI e Internet.
II.7.

I modelli a tre piani

Come gi detto, le architetture descritte nel precedente paragrafo sono state concepite per
applicazioni monomediali, quali quelle orientate a scambi di dati. Per descrivere ambienti di
comunicazione aperti ad applicazioni multimediali si riconosciuta la necessit di modelli di
riferimento che, pur adottando i principi-base delle architetture a strati e la terminologia ad esse
associata, ne costituiscono una opportuna generalizzazione. Per sinteticit di riferimento chiameremo

52
questi modelli con lacronimo PRM (Protocol Reference Model) e indicheremo con Multimed
lambiente che un PRM rappresenta
Modello OSI

Modello INTERNET

Applicazione
Presentazione
Sessione
Trasporto
Rete
Collegamento
Fisico

Applicativo
Da Estremo
a Estremo
Internet
Accesso
di rete

Figura II.6.3 Confronto tra i modelli OSI e Internet


La generalizzazione richiesta nella definizione di un PRM legata allesigenza di distinguere in un
ambiente di comunicazione multimediale, tre tipi di flussi informativi e cio quelli relativi alle
informazioni di utente, di controllo e di gestione (cfr. I.3.1).
L'informazione di utente (U-informazione) e' gia' stata definita in I.3.1. Essa puo' essere trasferita
tra due o piu' utenti o tra utenti e centri di servizio e, nel trasferimento, puo' essere trattata dalla rete in
modo trasparente oppure puo' essere elaborata, come accade nei processi di archiviazione e in quelli di
codifica crittografica svolti all'interno della rete stessa.
L'informazione di controllo o di segnalazione (C-informazione) necessaria affinche' possa
avvenire il trasferimento della U-informazione. Essa e' quindi costituita dall'informazione, che in una
rete a circuito fissa preposta a:
- controllare una connessione di rete, per instaurarla o per abbatterla;
- controllare l'uso di una connessione di rete gia' instaurata, per modificarne, ad esempio, le
caratteristiche durante una chiamata;
- controllare la fornitura di servizi supplementari;
e nel caso di rete mobile dedicata a:
controllare le risorse radio;
controllare la sessione;
gestire la mobilit degli utenti.
L'informazione di gestione (M-informazione) ha sostanzialmente due finalita' principali. Da un
lato, riguarda tutti gli aspetti di gestione locale relativi al trasferimento dei precedenti due tipi di
informazione e al coordinamento tra le funzioni che vengono attivate a questo scopo. Dall'altra, ha
significativita' in un contesto di gestione globale, che riguarda la gestione delle risorse all'interno della
rete e lo scambio di flussi informativi preposti a compiti di esercizio e di manutenzione.
Lo scambio di ognuno di questi tre tipi di informazione attraverso la rete o nell'ambito di ogni
elemento funzionale di questa e' descritto in un apposito piano. Si parla allora di piano d'utente (piano
U), di piano di controllo (piano C) e di piano di gestione (piano M).
Mentre i primi due hanno una struttura a strati, il terzo e' a sua volta suddiviso in due parti
corrispondenti alle due finalita' della M-informazione a cui si e' accennato in precedenza. La prima di
queste parti, che comprende le funzioni di gestione di piano, riguarda il coordinamento locale tra tutti i
piani e non e' stratificata. La seconda parte, che include le funzioni di gestione di strato, ha rilevanza
attraverso tutti gli elementi funzionali della rete ed e' di tipo stratificato.

53
L'applicazione dei concetti di strato e di piano ha condotto alla definizione dell'elemento di base di
un PRM, e cio del blocco di protocolli (PB - Protocol Block). Un PB, che puo' essere considerato una
generalizzazione del concetto di sistema introdotto in II.2.5, puo' descrivere vari gruppi funzionali
nelle sezioni di accesso e interna di una rete.
In Fig. II.7.1 viene mostrata la struttura semplificata di un PB, che adotta una stratificazione del
tipo OSI. Si distinguono i tre piani, U, C e M e ognuno dei primi due e' potenzialmente strutturato in 7
strati. Nel piano M non vengono distinte le funzioni di gestione di piano e di strato; si tiene conto,
invece, della suddivisione del piano C in due parti, chiamate piano di controllo locale e piano di
controllo globale. Il primo di questi riguarda scambi di informazione di controllo tra entit adiacenti,
mentre il secondo e' coinvolto quando tali scambi avvengono tra entit remote.
GC
LC

M
U
7
6
5
4
3
2
1

U - Pi ano U
GC - P iano C (con trollo g lo bale)
LC - Piano C (con tro llo lo cale)
M - P iano M

Fig. II.7.1 - Struttura semplificata di un PB.


All'interno di un PB sono possibili varie interazioni tra i raggruppamenti funzionali residenti in
ognuno dei tre piani. Tra queste si possono citare le interazioni tra i piani U e C, che sono necessarie
per sincronizzare le attivita' di questi piani. I piani U e C non interagiscono direttamente e possono
comunicare solo con le entita' del piano M, utilizzando apposite primitive di gestione. Tali entita', che
svolgono funzioni di gestione di piano, provvedono cosi' a coordinare le attivita' nei piani U e C.
Nell'ambito poi di ognuno di questi, le interazioni tra strati adiacenti avvengono con primitive di
servizio, secondo le usuali modalita' previste nel modello di Fig. II.2.6.
Se poi si considerano, come in Fig. II.6.2, le interazioni di un PB con l'esterno, si possono
distinguere: 1) le interazioni di un PB con i mezzi fisici, e cioe' quelle che debbono assicurare il
trasferimento fisico delle informazioni pertinenti a ogni piano tra due PB; 2) le interazioni in
corrispondenza della faccia superiore di un PB, e cioe' quelle che riguardano la comunicazione tra
ogni piano e vari processi applicativi; 3) le interazioni tra entita' alla pari, e cioe' tra entita' di un dato
piano appartenenti allo stesso strato e residenti in PB diversi.
Circa le interazioni con i mezzi trasmissivi, il trasferimento fisico dei flussi informativi di piano
puo' avere luogo, in alternativa, su mezzi fisici separati connessi ai singoli piani ovvero su un unico
mezzo trasmissivo condiviso. Questo secondo caso si verifica, ad esempio, per i piani U e C quando si
impiega una segnalazione in banda ovvero quando la U-informazione e' trasferita sul canale D.
Relativamente poi alle interazioni con i processi applicativi, queste comprendono il trasferimento
di informazione da/verso le applicazioni d'utente, quelle di controllo e quelle di gestione di sistema.
Infine le interazioni tra entit alla pari di PB diversi si svolgono secondo gli usuali principi
dell'architettura stratificata e non vengono considerati in Fig. II.7.2 per motivi di semplicit grafica.

54
PROC ESSI APPLICAT IVI
controllo

MEZZO TRASMISSIVO

utente

gestione del
sistema

7
6
5
4
3
2
1

Fig. II.7.2 - Interazioni di un PB con l'esterno.


Per l'utilizzazione dei PB come elementi componenti di un PRM per rappresentare sistemi
terminali o intermedi, e' opportuno distinguere questi due casi. Per rappresentare un sistema terminale
e' sufficiente un singolo PB, mentre la rappresentazione di un sistema intermedio richiede l'impiego di
due PB, di cui ognuno e' la versione speculare dell'altro.

55

III.

LE RISORSE DI RETE

Le risorse di una rete sono di natura varia; se tuttavia ci limitiamo all'insieme delle funzioni di tipo
logico, esse possono identificarsi in risorse di trasferimento e in risorse di elaborazione.
Le prime risiedono nei rami e nei nodi della rete di trasporto, oltre che nelle potenzialit della rete
di accesso. Le seconde interessano principalmente i nodi della rete di trasporto, ma si incontrano anche
nella rete di accesso al livello di interfaccia utente-rete; per esse possono individuarsi almeno tre
finalit principali, e cio il trattamento di chiamata nel caso di comunicazioni su base chiamata, il
controllo dello scambio dell'informazione di utente nel rispetto di opportune regole di procedura e di
protezione e, infine, la gestione della rete.
Pi in generale si pu affermare, che, per l'espletamento delle loro funzioni, una rete e le sue parti
componenti (apparecchiature nodali, organi di interfaccia, ecc.) devono svolgere attivit e devono
utilizzare risorse.
Una attivit un insieme coerente di azioni elementari che perseguono uno scopo definito e che
utilizzano le risorse all'uopo necessarie. Una attivit quindi l'associazione evolutiva di risorse che
concorrono al conseguimento di uno scopo comune.
Con riferimento all'interazione tra attivit e risorse, questo capitolo chiarisce dapprima (par. III.1)
la distinzione tra risorse indivise e risorse condivise: a conferma del ruolo fondamentale che queste
ultime hanno nello sviluppo di una infrastruttura per telecomunicazioni, vengono esaminati i problemi
posti dalla condivisione e alcuni dei criteri gestionali che consentono di risolverli. Il capitolo si
conclude (par III.2) con la introduzione di alcuni concetti che sono di base per la comprensione della
variet di scelte sistemistiche da considerarsi per la realizzazione di un ambiente di comunicazione.
III.1.

La condivisione delle risorse

Le risorse di una rete di telecomunicazione debbono essere commisurate in termini di quantit e di


potenzialit (vincolo di costo) alle esigenze di un servizio qualitativamente accettabile (vincolo di
qualit di servizio). Sorgono allora i problemi di:
- valutare le prestazioni conseguibili con date risorse (problema di analisi);
- dimensionare, qualitativamente e quantitativamente, le risorse quando siano fissate le
prestazioni desiderate (problema di sintesi).
A questo riguardo, un criterio fondamentale, che trova la sua giustificazione nel rispetto del
vincolo di costo, suggerisce di limitare allo stretto indispensabile l'impiego di risorse indivise, e cio di
risorse assegnate, in modo permanente o semi-permanente, allo svolgimento di una specifica attivit.
E' invece preferibile, ove possibile, prevedere l'impiego di risorse condivise, che costituiscono un
insieme, i cui elementi sono utilizzabili da pi attivit, anche se queste perseguono scopi distinti. Dato
pero' che ogni risorsa pu essere al servizio di una sola attivit alla volta, una sua utilizzazione da parte
di un insieme di attivit deve avvenire, per ciascuna di queste, in intervalli di tempo distinti.
III.1.1.

Domande e risposte

Nella loro evoluzione temporale, le attivit devono poter utilizzare risorse (indivise o condivise) e
quindi interagire con queste. Linterazione tra attivit e risorse si manifesta con una domanda e con una
risposta.
Le domande sono presentate dalle attivit e sono costituite da richieste di servizio che mirano a
una utilizzazione delle risorse; sono descritte da due componenti:

56
-

laintensit di richiesta che misura, su una fissata base dei tempi, il numero di richieste di
servizio presentate da attivit interessate a una utilizzazione di risorse;
- la quantit di lavoro che una risorsa deve svolgere a seguito di una richiesta di servizio.
Il lavoro richiesto e l'unita' assunta per misurarne la quantit variano in relazione alla natura della
risorsa e del suo utilizzatore. Ad esempio, nel caso in cui si consideri una risorsa di trasferimento e
l'utilizzatore sia un messaggio di dati, l'unita' di lavoro corrisponde al trasferimento di una singola cifra
binaria o a quello di una sequenza strutturata di cifre binarie che compongono il messaggio. Quando
invece si tratta di una risorsa di elaborazione e l'utilizzatore e' un programma, come unita' di lavoro pu
essere assunto il trattamento di una singola istruzione tra quelle che compongono il programma.
Le risposte riguardano il modo di utilizzazione delle risorse come risultato della loro interazione
con le attivit; sono qualificate mediante numerosi parametri tra i quali si citano quelli relativi a:
laefficienza di utilizzazione, con validit per risorse indivise o condivise;
la facilit di accesso, con significativit solo per risorse condivise.
Nellevoluzione temporale di una attivit si distinguono in generale intervalli di vitalit, che si
alternano ad altri di latenza nel corso dellintera durata dellattivit, e cio nellintervallo tra linizio e
la conclusione di detta evoluzione (Fig. III.1.1). In ogni intervallo di vitalit lattivit ha bisogno di
ricevere un lavoro da parte di una risorsa.
Intervalli di vitalit

fine
dellattivit

inizio
dellattivit
Intervalli di latenza

durata dellattivit

Figura III.1.1 Evoluzione temporale di una attivit


Inoltre le domande da parte di una attivit si manifestano come fenomeni di natura aleatoria; in
particolare:
la presentazione degli intervalli di vitalit o di latenza, cosi' come quella delle durate di ogni
attivit, e' in generale di tipo aleatorio;
altrettanto aleatoria e', sempre in generale, la quantit di lavoro che le risorse sono chiamate
a svolgere a seguito delle richieste di servizio.
Riferiamoci ora, per facilit di riferimento, allinterazione in cui coinvolta una singola risorsa
che pu essere indivisa o condivisa. Lestensione al caso di molteplici risorse non introduce particolari
difficolt.
La domanda descrivibile con una grandezza che riassume le due componenti di intensit di
richiesta e di quantit di lavoro. Detta grandezza il carico (load) della risorsa, che, per definizione e
con riferimento allistante di osservazione t, il numero g(t) di unit di lavoro che la risorsa dovrebbe
svolgere nellunit di tempo per soddisfare la domanda; cio:
carico di una risorsa g(t) ,
ove g(t) una quantit aleatoria con distribuzione del primo ordine in generale dipendente dallistante
di osservazione t.

57
Alla domanda rappresentata dal carico, una risorsa risponde entro quanto consentito dalla sua
capacit, che per definizione il numero massimo di unit lavoro che la risorsa in grado di
svolgere nellunit di tempo; cio
capacit di una risorsa .
La capacit riguarda esclusivamente la potenzialit della risorsa a svolgere i compiti che le sono
propri; quindi il dato di targa che qualifica la risorsa.
La risposta di una risorsa (indivisa o condivisa) al carico che la interessa a seguito delle richieste
di servizio che le sono presentate, costituita dalla portata (throughput), che, per definizione e con
riferimento allistante di osservazione t, il numero s(t) di unit di lavoro che la risorsa svolge
nellunit di tempo; cio
portata di una risorsa s(t) ,
ove s(t), come g(t), una quantit aleatoria con distribuzione del primo ordine in generale dipendente
dallistante di osservazione di t. Poich, in qualunque istante t, deve essere
s(t) ,
la portata di una risorsa non pu essere superiore alla capacit.
In generale, secondo la teoria dei processi aleatori, le distribuzioni (del primo ordine) delle
variabili aleatorie che caratterizzano linterazione tra attivit e risorse dipendono dallistante di
osservazione o dalle condizioni di inizializzazione relative allevoluzione temporale dellinterazione
(condizioni iniziali). Esistono tuttavia casi in cui, in detta evoluzione temporale, si possono distinguere
due fasi:
una fase iniziale, che chiamata regime transitorio, in cui linterazione ha il comportamento
generale sopra descritto;
una fase successiva, che chiamata regime permanente o condizione di equilibrio statistico,
in cui la distribuzione (del primo ordine) delle variabili aleatorie associate diventa
indipendente sia dallinstante di osservazione (diventa cio stazionaria), che dalle
condizioni iniziali.
Questa seconda fase raggiungibile teoricamente solo dopo un tempo infinitamente grande rispetto
allistante iniziale dellevoluzione, ma in pratica pu attuarsi in intervalli di tempo finiti. Casi di questo
tipo sono di prevalente interesse nellanalisi dei fenomeni qui considerati. Pertanto nel seguito ci
riferiremo costantemente a condizioni di equilibrio statistico, nellipotesi che queste sussistano.
Una prima conseguenza di questa posizione la possibilit di caratterizzare domanda e risposta
attraverso valori medi di carico e di portata che sono indipendenti dallistante di osservazione e dalle
condizioni iniziali dellevoluzione. Conseguentemente per il carico medio g e per la portata media s
in condizioni di equilibrio statistico e indicando con E [] loperatore valore atteso della variabile
aleatoria racchiusa tra le parentesi, valgono le seguenti definizioni:
g = E[g(t)]
s = E[s(t)]
che sono indipendenti dallistante di osservazione t.
Sempre in condizioni di equilibrio statistico e come ulteriore parametro prestazionale della risposta
risultante dallinterazione tra una risorsa e le attivit interessate al suo uso, si pu definire il rendimento
di utilizzazione U di una risorsa, che una qualificazione dellefficienza di utilizzazione della risorsa e
che corrisponde allesigenza economica di limitare la quantit o la qualit delle risorse da rendere
globalmente disponibili e di affrontare quindi un costo adeguato al benefico ottenibile. Il rendimento U,

58
che ha significativit per risorse sia indivise che condivise, definito operativamente dal rapporto tra
la portata media s e la capacit della risorsa :
U= s / ;
esprime quindi la quota parte media del tempo in cui la risorsa utilizzata in base alla domanda
esistente. Conseguentemente lobiettivo prestazionale assicurare per ogni risorsa un elevato
rendimento di utilizzazione.
Quanto ora detto vale per risorse sia indivise che condivise. Nel seguito del paragrafo verranno
chiariti i problemi connessi a una condivisione di risorse.
III.1.2.

Le attivit di gestione

L'accesso a un insieme di una o pi risorse condivise deve essere opportunamente controllato. Per
questo scopo, accanto alle attivit di utilizzazione a cui ci si e' riferiti finora, devono essere presenti
anche attivit di gestione.
Le attivit di utilizzazione perseguono gli scopi che sono a loro propri senza curarsi dei problemi
posti dalla condivisione delle risorse con altre attivit di utilizzazione. Per ci che riguarda la loro
interazione con le attivit di gestione, esse si limitano a formulare a queste ultime le richieste del
servizio che e' loro necessario.
Le attivit di gestione debbono invece provvedere a controllare gli accessi alle risorse condivise a
cui sono preposte. Il loro obiettivo e' quello di soddisfare la domanda in modo da rispettare i vincoli di
costo e quelli di qualit di servizio. Con questi obiettivi, compiti fondamentali delle attivit di gestione
sono:
- risolvere le condizioni di contesa, dovute alla concorrenza delle richieste di servizio da parte
delle attivit di utilizzazione;
- minimizzare il rischio di situazioni di stallo, che si possono manifestare nell'evoluzione di
due o pi attivit di utilizzazione aventi possibilit di accesso allo stesso insieme di risorse
condivise;
- attuare le strategie di assegnazione delle risorse alle attivit di utilizzazione che ne fanno
richiesta;
- evitare, nei limiti del possibile, l'insorgere di fenomeni di sovraccarico delle risorse, in
quanto questi determinano un drastico peggioramento delle prestazioni di qualit di servizio.
Per i primi due compiti verranno forniti qui di seguito ( III.1.3 e III.1.4) alcuni dettagli, mentre
sugli altri due compiti si ritorner in III.2.2 e III.2.3.
III.1.3.

Condizioni di contesa

La concorrenza delle richieste di servizio presentate dalle attivit di utilizzazione pu determinare


condizioni di contesa. Queste si verificano quando tutte le risorse disponibili sono occupate a favore di
altrettante attivit di utilizzazione in corso di evoluzione e vengono presentate nuove richieste di
servizio. Le condizioni di contesa debbono essere risolte assicurando equit di trattamento nei
confronti delle attivit di utilizzazione. Come gi si e' detto, questo e' uno dei compiti delle attivit di
gestione.
Questo compito pu essere assolto con varie modalit. Qui se ne presentano alcune senza entrare
nel merito delle soluzioni tecniche che possono essere adottate per la loro realizzazione. Si preferisce
invece effettuarne una descrizione su un piano astratto.

59
Con quest'ultima precisazione, le principali modalit per risolvere condizioni di contesa sono
quella orientata al ritardo e quella orientata alla perdita. Se ne chiarisce il significato facendo
riferimento, per semplicit, alla disponibilit di una sola risorsa condivisa.
Nella modalit orientata al ritardo, l'accesso alla risorsa e' attuato tramite una fila d'attesa, che si
assume di capienza illimitata. Si pongono allora in fila d'attesa tutte le attivit di utilizzazione che
presentano una richiesta di servizio quando la risorsa e' gi occupata a favore di un'altra attivit di
utilizzazione (stato di blocco). Non appena la risorsa si libera da questo impegno, una delle attivit di
utilizzazione in fila d'attesa, scelta con un opportuno ordine di accesso, viene ammessa alla risorsa.
L'evento che caratterizza questa modalit e' allora quello di ritardo, che si presenta quando la
risorsa e' in uno stato di blocco con il condizionamento che arrivi una nuova richiesta di servizio; cio
con riferimento allistante di osservazione t
evento di ritardo nellistante t
{stato di blocco in t arriva una nuova richiesta di servizio in (t, t+dt)} .
In tali situazioni, detta richiesta pu essere accolta solo dopo lo stazionamento della attivit di
utilizzazione richiedente in fila d'attesa; ci comporta un ritardo di attesa, corrispondente all'intervallo
di tempo tra l'istante di arrivo della nuova richiesta e quello di ammissione alla risorsa.
Nella modalit orientata alla perdita l'accesso alla risorsa e' attuato senza fila d'attesa.
Conseguentemente viene rifiutata ogni richiesta di servizio che sia presentata quando la risorsa e' in
uno stato di blocco. Lattivit di utilizzazione che ha subito questo trattamento dovra' ripresentare la
sua richiesta di servizio in tempi successivi senza alcuna garanzia a priori di vederla accolta.
Pertanto, in questa modalit l'evento caratterizzante e' quello di rifiuto. Si tratta ancora di un
evento condizionato, le cui condizioni di presentazione sono analoghe a quelle dell'evento di ritardo,
ma con la differenza sostanziale, gi sottolineata, che riguarda il trattamento delle attivit di
utilizzazione che ne subiscono gli effetti; cio, sempre con riferimento allistante di osservazione t, si
definisce
evento di rifiuto nellistante t
{stato di blocco in t arriva una nuova richiesta di servizio in (t, t+dt)} .
E' ovviamente anche possibile adottare una modalit intermedia tra le due ora descritte; si pu cio
procedere con una modalit orientata al ritardo con perdita. A tale scopo e' sufficiente che l'accesso
alla risorsa avvenga tramite una fila d'attesa avente capienza limitata. In tal modo si possono verificare
ambedue gli eventi di rifiuto e di ritardo. In particolare, una attivit di utilizzazione, che presenta la sua
richiesta di servizio quando, oltre allo stato di blocco della risorsa desiderata, si verifica anche la
completa occupazione della fila d'attesa, subir lo stesso trattamento che si ha nella modalit orientata
alla perdita. Se, invece, la fila d'attesa non e' completamente occupata, il trattamento e' quello della
modalit orientata al ritardo.
Per qualificare la facilit di accesso a una risorsa condivisa e come ulteriore parametro
prestazionale della risposta risultante dallinterazione tra la risorsa e la attivit interessante al suo uso in
presenza di condizioni di contesa, si fa riferimento al grado di accessibilit alla risorsa, e cio a un
parametro che:
- misura, in una opportuna metrica, la qualit di servizio di cui pu godere una attivit di
utilizzazione per una sua evoluzione senza limitazioni percepibili;
- mette in evidenza i limiti di operativit connessi a un ambiente basato sullimpiego di
risorse condivise.
Il grado di accessibilit misurabile, in condizioni di equilibrio statistico, con quantit dipendenti dal
modo di risoluzione delle condizioni di contesa. In ogni caso, tuttavia, lobiettivo prestazionale

60
assicurare, per ogni risorsa, un grado di accessibilit commisurato alle esigenze di qualit di servizio da
parte delle attivit di utilizzazione potenzialmente interessate a quella risorsa.
Nel caso in cui le contese sono risolte con modalit orientate al ritardo e in condizioni di equilibrio
statistico, il grado di accessibilit a una risorsa condivisa pu essere misurato, ad esempio, con la
probabilit di ritardo r definita da
r = {evento di ritardo in t} ,
ove con { } si indica la probabilit dellevento descritto tra parentesi. Questa probabilit
esprimibile anche con la quota parte media delle richieste di servizio che sono accolte solo con ritardo.
Nel caso invece in cui le contese sono risolte con modalit orientate alla perdita e in condizioni di
equilibrio statistico, il grado di accessibilit a una risorsa condivisa pu essere misurato, ad esempio,
con la probabilit di rifiutop definita da
p = {evento di rifiuto in t};
questa probabilit esprimibile anche con la quota parte media delle richieste di servizio che vengono
rifiutate.
Quando le contese sono risolte con modo orientato al ritardo con perdita, il grado di accessibilit
ad una risorsa condivisa misurabile, sempre in condizioni di equilibrio statistico con entrambe le
probabilit di ritardo e di rifiuto.
Si sottolinea che lipotesi dellequilibrio statistico assicura che le probabilit dei due eventi di
ritardo e di rifiuto sono indipendenti dallistante di osservazione e dalle condizioni iniziali
dellinterazione tra attivit e risorse.
III.1.4.

Stati di stallo

Gli stalli sono un fenomeno tipico in un ambiente di risorse condivise e possono compromettere
l'evoluzione di due o pi attivit di utilizzazione. Esaminiamo un esempio dell'insorgere di stati di
questo tipo con riferimento a due sole attivit di utilizzazione. Se l'attivit di utilizzazione A conserva il
possesso di una risorsa in attesa della risorsa che in possesso dell'attivit di utilizzazione B e se
quest'ultima ha necessit di accedere alla risorsa per proseguire la sua evoluzione (Fig. III.1.2), le due
attivit si bloccano mutuamente in un abbraccio mortale (dead lock).
Attivit di utilizzazione
A

Attivit di utilizzazione
B

Risorsa

Risorsa

Figura III.1.2 Condizione in cui due attivit di utilizzazione A e B si bloccano mutuamente


Per minimizzare il rischio di stati di stallo tra le attivit di utilizzazione in una rete di
telecomunicazione, possono essere adottati vari accorgimenti, che ben si differenziano da quelli
largamente studiati in sistemi con controllo centralizzato: in una rete, infatti, l'interazione tra attivit di
utilizzazione e risorse condivise avviene solitamente nell'ambito di controlli distribuiti, che sono
compito delle singole attivit di gestione.
Tra tali accorgimenti uno dei pi frequentemente utilizzati, nel caso di risoluzione delle condizioni
di contesa orientata al ritardo, consiste nell'adozione sistematica di temporizzatori per il ritardo di attesa
nell'accesso ad ogni risorsa. In queste condizioni, quando tale ritardo relativo ad una risorsa specifica

61
ha superato un limite opportunamente fissato (tempo massimo), si suppone che si sia verificato uno
stato di stallo. Si libera allora quella risorsa, interrompendo lattivit di utilizzazione che ne era in
possesso, e si effettua un recupero dell'errore procedurale che conseguentemente si determina.
III.1.5.

Campi di impiego delle risorse

E' naturale domandarsi a questo punto quali siano i campi di conveniente impiego delle risorse
indivise e di quelle condivise. Per rispondere a questa domanda si far riferimento ai parametri che
sono stati definiti in III.1.1 e III.1.3 per qualificare la domanda e le prestazioni derivanti
dall'interazione tra attivit di utilizzazione e risorse indivise o condivise.
Se una risorsa e' indivisa, il carico medio che la riguarda e' determinato dalle sole richieste
dell'attivita' di utilizzazione che ne ha disponibilita' esclusiva. Invece, il carico medio su una risorsa
condivisa e' la risultante delle richieste presentate da tutte le attivit di utilizzazione che hanno accesso
alla risorsa.
Circa la portata media, questa, nel caso di risorsa indivisa, pu risultare decisamente inferiore alla
relativa capacita' se, come talvolta si verifica, la domanda comporta un basso valore del carico medio.
Inoltre non possono presentarsi condizioni di sovraccarico della risorsa, se lattivit che ne ha
disponibilita' esclusiva contiene la sua domanda entro limiti compatibili con la capacita' della risorsa.
Una situazione contraria si presenta invece nel caso di risorse condivise; qui, ancora in relazione alla
modalita' di risoluzione delle condizioni di contesa, puo' intervenire l'esigenza di controllare i fenomeni
di sovraccarico.
Nel caso di soluzione con accesso indiviso, il rendimento di utilizzazione di una risorsa puo' essere
di piccolo valore in relazione alle caratteristiche della domanda dell'unica attivit avente diritto di
accesso. Quindi, dato che e' invece senza limitazioni il grado di accessibilita', la soluzione con risorse
indivise dovr essere ristretta a quei casi in cui sia soddisfatta almeno una delle condizioni seguenti:
sia assicurato un elevato carico medio da parte dellattivit avente accesso indiviso;
risulti fortemente prevalente l'esigenza di conseguire un accesso senza contese e, quindi,
senza ritardi o senza rifiuti.
Nel caso invece di soluzione con accesso condiviso, il rendimento di utilizzazione di una risorsa
pu essere di valore pi soddisfacente rispetto alla soluzione precedente. Ma, corrispondentemente, il
grado di accessibilita' si riduce e in misura tanto maggiore quanto pi elevato e' il rendimento di
utilizzazione della risorsa. Questa soluzione e' quindi, in generale, preferibile alla precedente per il
rispetto del vincolo di costo, ma richiede, per il rispetto del vincolo di qualit di servizio, una attenta
soluzione dei relativi problemi di dimensionamento e di gestione delle risorse.
III.2.

Traffico e prestazioni

Viene completata la trattazione iniziata nel precedente par. III.1. Pi in dettaglio si chiarisce
dapprima ( III.2.1) il concetto di risorsa virtuale, che di particolare importanza per la trattazione dei
successivi capitoli. Con riferimento poi ad un ambiente di risorse condivise, vengono presentati due
ulteriori compiti delle attivit di gestione citati in III.1.2, e cio l'attuazione delle strategie di
assegnazione ( III.2.2) e il controllo dei sovraccarichi ( III.2.3).
Elemento comune di questi argomenti e' il legame tra fenomeni di traffico nell'interazione tra
attivit e risorse da un lato e le conseguenti prestazioni di efficienza e di accessibilit dall'altro.

62
III.2.1.

Risorse virtuali

In un ambiente di condivisione, una risorsa fisica R condivisa, sotto il controllo di una attivita' di
gestione, pu essere impegnata, in intervalli di tempo distinti, da parte di pi attivit di utilizzazione. Si
supponga che la gestione di R sia tale che
la domanda di ognuna di queste attivita' sia pienamente soddisfatta;
il grado di accessibilit sia rispondente alle esigenze connesse all'evoluzione di ogni attivita'
di utilizzazione.
In queste condizioni, ciascuna delle attivita' di utilizzazione, ad esempio, la i-esima, dato che non
percepisce limitazioni al soddisfacimento della sua domanda e alle sue esigenze di grado di
accessibilita', utilizza la risorsa fisica R come se questa fosse a lei riservata, e cio come se fosse una
risorsa Ri a sua disposizione esclusiva.
Tale tipo di disponibilita' e' pero' solo apparente, in quanto la risorsa Ri solo l'immagine di R
vista dalla i-esima attivit di utilizzazione con il condizionamento determinato dal suo carico (domanda
di servizio) e dalle sue esigenze di grado di accessibilita' (prestazioni necessarie).
Per sottolineare tale distinzione, l'immagine Ri di R chiamata risorsa virtuale associata alla iesima attivit di utilizzazione. In Fig. III.2.1 e' illustrata la corrispondenza tra la risorsa fisica R e le
risorse virtuali associate alle n attivit di utilizzazione che accedono a R.
Attivit di
utilizzazione della
risorsa fisica R
Attivit di
gestione della
risorsa fisica R

#1

R
R

R n

#2

#n

Fig. III.2.1 - Corrispondenza tra la risorsa condivisa R e le relative


risorse virtuali Ri (i = 1, 2, ..., n)
Si rimarca che l'immagine di cui si parla e' di tipo condizionato dalla domanda offerta e dalle
prestazioni desiderate da parte di una particolare attivita' di utilizzazione. Pertanto, e' possibile parlare
di risorsa virtuale per detta attivita' solo con la precisazione a priori di questi dati di richiesta e solo
dopo la verifica a posteriori della possibilita' di soddisfare quanto richiesto nell'interazione tra la risorsa
fisica R e le attivita' che accedono ad essa.
III.2.2.

Strategie di assegnazione di risorse condivise

Le strategie di assegnazione definiscono le modalit di accesso a un insieme di risorse condivise


da parte di un gruppo di attivit di utilizzazione sotto il controllo delle attivit di gestione. Possono
attuarsi secondo le alternative schematizzate in Fig. III.2.2.

63
Strategie di assegnazione

Pre-assegnazione

Individuale

Assegnazione a
domanda

Collettiva

Fig. III.2.2 - Alternative di attuazione per le strategie di assegnazione delle risorse.


Nella strategia di assegnazione a domanda, una risorsa viene assegnata ad una attivit di
utilizzazione solo a seguito di una richiesta di servizio effettuata immediatamente a monte di un
intervallo di vitalita' e viene restituita non appena questo intervallo terminato. Cio, nel corso della
durata di una attivit di utilizzazione, questa pu impegnare la risorsa pi volte per intervalli di tempo
minori di detta durata e, negli intervalli residui, la risorsa pu essere impegnata da altre attivit. Ci
pu assicurare, per la risorsa in questione, un rendimento di utilizzazione anche elevato, a spese per di
un grado di accessibilit che pu risultare insufficiente.
Quando i requisiti prestazionali relativi al grado di accessibilit sono pi stringenti preferibile
adottare differenti strategie di assegnazione, e cio quelle di pre-assegnazione. In questo caso una
attivit di utilizzazione presenta una richiesta di assegnazione immediatamente a monte della sua
evoluzione temporale. Se la risposta a tale richiesta favorevole, l'assegnazione mantenuta per tutta
la durata dell'attivit. In questo ambito si possono per distinguere almeno due alternative, che si
distinguono in base all'oggetto dell'operazione di pre-assegnazione.
Nella prima di queste, chiamata pre-assegnazione individuale, la risorsa fisica viene assegnata in
modo indiviso ad una sola attivit per tutta la sua durata. Il vantaggio di tale alternativa quello di
prospettare una probabilita' di ritardo o una di rifiuto non nulle solo all'inizio dell'evoluzione
dell'attivit di utilizzazione e di assicurare successivamente, per la durata di questa, una accessibilit
senza ritardi o senza rifiuti. Lo svantaggio quello di monopolizzare una risorsa a vantaggio di una
sola attivit di utilizzazione per volta, seppure limitatamente alla durata di questa. Il risultato possibile
allora quello di un insufficiente rendimento di utilizzazione.
Una differente alternativa di pre-assegnazione, che cerca di combinare i vantaggi offerti dalle due
strategie precedentemente descritte, la pre-assegnazione collettiva. In questo caso la risorsa fisica pu
essere impegnata da pi attivit di utilizzazione, seppure in intervalli di tempo distinti, con un
meccanismo di accesso del tutto analogo a quello della assegnazione a domanda. Ci per possibile
solo per un numero controllato di attivit di utilizzazione, che sono contemporaneamente in possesso di
una autorizzazione di accesso.
Per ottenere quest'ultima, una attivita' di utilizzazione interessata presenta, immediatamente a
monte della sua evoluzione, una esplicita richiesta in cui siano precisate le caratteristiche della sua
domanda e le sue esigenze di grado di accessibilita'. Detta richiesta, che trattata dalle attivit di
gestione, viene accolta o meno in base all'applicazione di una opportuna regola di decisione. Il risultato
favorevole la pre-assegnazione di una risorsa virtuale.
La regola di decisione per una pre-assegnazione collettiva si basa su dati forniti dalle attivita' di
utilizzazione richiedenti e su una loro elaborazione effettuata dall'attivita' di gestione preposta alla
decisione. I dati in questione sono:
le caratteristiche della domanda (dati di traffico preesistente) e le esigenze di grado di
accessibilita' (requisiti prestazionali preesistenti) per ognuna delle attivita' di utilizzazione
le cui richieste di accesso sono gia' state accolte in precedenza;
dati analoghi relativi all'attivita' di utilizzazione la cui richiesta e' oggetto della decisione
(dati di traffico richiesto e relativi requisiti prestazionali).

64
L'elaborazione riguarda in primo luogo i dati di traffico preesistente, in modo da valutare lo stato
di carico della risorsa, risultante dalle richieste gia' accolte (stato di carico di riferimento). Vengono poi
utilizzati i dati di traffico richiesto per valutare come verrebbe modificato lo stato di carico di
riferimento se la nuova richiesta fosse accolta (stato di carico di riferimento modificato). Questo
secondo stato costituisce successivamente l'ingresso per una valutazione delle prestazioni. Se i gradi di
accessibilita' per le attivita' di utilizzazione gia' accolte e per quella presentante la nuova richiesta, quali
risultano da questa valutazione, rispettano i requisiti prestazionali preesistenti e quelli richiesti,
l'autorizzazione di accesso viene concessa; in caso contrario, viene negata.
In tutti i tre tipi di strategie di assegnazione considerate in Fig. III.2.2 le risorse fisiche o virtuali,
che sono assegnabili, appartengono a un insieme di dimensioni limitate. Le attivit di gestione debbono
allora risolvere le condizioni di contesa, che si verificano quando tutte le risorse disponibili sono state
assegnate e vengono presentate nuove richieste di assegnazione.
In particolare, condizioni di contesa si possono presentare in due casi:
in una operazione di pre-assegnazione individuale o collettiva (contesa di pre-assegnazione)
all'inizio dell'evoluzione di una attivit di utilizzazione;
nel corso dell'evoluzione di varie attivit di utilizzazione, se queste agiscono nell'ambito di
strategie con assegnazione a domanda o con pre-assegnazione collettiva (contesa di
utilizzazione).
III.2.3.

Controllo dei sovraccarichi

Quando si fa crescere il carico medio su un insieme di risorse condivise, si pu osservare che, al di


sopra di un carico-limite (soglia di sovraccarico), le prestazioni dell'insieme peggiorano rapidamente.
In particolare, diminuisce bruscamente il grado di accessibilita' per le singole attivit di utilizzazione e
diminuisce, altrettanto bruscamente, la portata media dell'insieme.
Per evitare condizioni di questo tipo (condizioni di congestione), che possono condurre
rapidamente al completo collasso dell'insieme, occorre affidare alle attivit di gestione compiti di
controllo che consentano di "filtrare" le domande di accesso in modo che:
l'insieme operi con un carico medio che sia sempre inferiore alla soglia di sovraccarico;
le risorse componenti siano utilizzate in modo efficiente.
Si tratta, come e' evidente, di obiettivi tra loro contrastanti, dato che questa seconda condizione
indurrebbe a lavorare in prossimit della soglia. La soluzione deve essere quindi di compromesso.
Il criterio di filtraggio delle domande d'accesso normalmente basato sulla individuazione di
risorse critiche e consiste nel limitare, per queste, il rendimento di utilizzazione che si conseguirebbe
nel caso in cui una nuova domanda fosse accolta.

65

IV.

I SERVIZI DI RETE

Le esigenze di comunicazione in un ambiente di servizi integrati a banda stretta o larga, con o


senza mobilit, possono essere soddisfatte tenendo conto delle caratteristiche dei flussi informativi di
utente che devono essere trattati. Questi flussi hanno origine da sorgenti numeriche caratterizzate da
ritmi binari di picco compresi in una dinamica di almeno sei decadi, e cio tra un limite inferiore
minore di 1 kbit/s e un limite superiore di circa 1 Gbit/s. Le sorgenti possono essere CBR o VBR e, in
questo secondo caso, il grado di intermittenza pu assumere valori che vanno da qualche unit ad
alcune decine.
Il trattamento di flussi informativi di utente con queste caratteristiche richiede che la rete renda
disponibile, una potenzialit di trasferimento ad alta capacit in corrispondenza con l'interfaccia utenterete e con le apparecchiature della rete di trasporto. Tale capacit, a cui nel seguito verr talvolta
sostituito, come sinonimo, il termine banda disponibile, dovrebbe infatti essere superiore di almeno due
ordini di grandezza a quella fornita in un ambiente a banda stretta.
Tra gli svariati problemi che sono stati affrontati per perseguire questi obiettivi il presente capitolo
ne focalizza alcuni di particolare rilievo, e cio quelli riguardanti le tecniche di trasferimento
dellinformazione con prevalente orientamento ad un ambiente di comunicazioni fisse. In questo
quadro
si parte dalla presentazione dei servizi di rete, precisandone le caratteristiche (par. IV.1);
si passa poi allanalisi dei modi di trasferimento (par. IV.2 IV.5);
si considerano i principi di funzionamento dei nodi di rete (IV.6-IV.7);
si esaminano anche i problemi posti dallinterconnessione di segmenti di rete (par. IV.8);
si conclude con le modalit di trattamento dellinformazione di segnalazione (par. IV.9).
IV.1.

Caratteristiche di servizio

Si gi visto (cfr. cap. I) come la fornitura di un servizio di rete sia richiesta per lo svolgimento di
una comunicazione tra due o pi utenti. Compito di questo servizio provvedere a trattare
linformazione emessa nellambito della comunicazione, gestendo:
lattuazione di una specifica strategia di assegnazione delle risorse (di trasferimento e/o
elaborazione) che sono condivise;
la risoluzione delle contese di pre-assegnazione e di utilizzazione, ove queste si presentino.
Le caratteristiche e le prestazioni di un servizio di rete debbono essere adattate a quelle richieste
nella fornitura del servizio applicativo, che fruisce di quanto messo a sua disposizione dal servizio di
rete.
Il modello di un servizio di rete il seguente:
i suoi utenti sono le sorgenti che emettono informazioni e i collettori a cui le informazioni
debbono essere inoltrate;
suo fornitore linsieme delle funzioni e dei protocolli che concorrono a trasferire
linformazione da una sorgente ad uno o pi collettori, nel rispetto di definiti requisiti
prestazionali.
La base per la fornitura di un servizio di rete un modo di trasferimento, e cio la modalit operativa
per trasferire informazione attraverso la rete logica.
Ogni sorgente emette informazione sotto forma di stringhe di cifre binarie. Queste stringhe
possono essere sostanzialmente di due tipi, a seconda della loro appartenenza a:
un flusso intermittente, che organizzato a messaggi (message type);

66

un flusso continuo (senza soluzione di continuit), che si presenta sotto forma di un getto
ininterrotto (stream type) di cifre binarie con ritmo di emissione (cfr. I.2.2) costante
(CBR) o variabile (VBR).
Indipendentemente dal tipo di flusso emesso dalle sorgenti, linformazione da trattare in un servizio di
rete presentata al fornitore sotto forma di stringhe di cifre binarie, che sono sezionate in RCB
(raggruppamenti di cifre binarie). In alcuni casi gli RCB relativi a un servizio di rete debbono essere
completati con una intestazione. In questi casi, che verranno motivati nel seguito, linsieme di uno o
pi RCB (testo) e di una intestazione (Fig. IV.1.1) verr chiamato Unit Informativa (UI). Si parler
infine di segmento informativo quando si vuole alludere senza differenziazione a una UI o a un RCB.
UI
Intestazione

Testo

Figura IV.1.1 Struttura di una Unit Informativa


IV.1.1.

Prestazioni

Le prestazioni pi significative di un servizio di rete riguardano la flessibilit di accesso,


lintegrit informativa e la trasparenza temporale.
Il grado di flessibilit di accesso misura ladattabilit del servizio di rete:
nel trattare flussi informativi aventi origine da sorgenti con ritmo di emissione e con
caratteristiche di attivit (burstiness) tra loro anche molto diverse;
nellassicurare, in modo indipendente dalle caratteristiche dei flussi informativi, un
accettabile rendimento di utilizzazione delle risorse condivise.
Per definire lintegrit informativa e per la trasparenza temporale consideriamo poi le diversit che
si possono manifestare, in relazione a una particolare modalit di trasferimento, tra
la sequenza di cifre binarie emessa dalla sorgente nell'ambito del servizio considerato
(sequenza di emissione);
la corrispondente sequenza di cifre binarie ricevute, e cio a valle dell'operazione di
trasferimento dell'informazione dalla sua origine alla sua destinazione (sequenza di
ricezione).
Lintegrit informativa riguarda le diversit, che si possono manifestare in modo aleatorio,
tra le singole cifre binarie emesse e quelle corrispondenti ricevute (integrit di cifra
binaria);
tra le intere sequenze di emissione e di ricezione o tra segmenti corrispondenti di queste
(integrit di sequenza di cifre binarie).
Nel primo caso le diversit sono dovute a errori, normalmente di tipo trasmissivo; nel secondo sono
addebitabili a errori procedurali o a specifiche modalit di trasferimento. Il grado di integrit
informativa qualifica in termini prestazionali lintegrit di cifra binaria o quella di sequenza binaria.
tanto pi elevato quanto minore la diversit (distanza) tra le due sequenze di emissione e di ricezione,
misurata, ad esempio nel primo caso, dal tasso di errore binario.
Un elevato grado di integrit informativa un requisito particolarmente importante quando
l'informazione scambiata costituita da dati. Conseguentemente, nei servizi di comunicazione di dati,
occorre normalmente mettere in atto procedure protettive, che siano in grado di recuperare gli errori
quando questi vengano rivelati ovvero che riescano a correggere gli errori quando questi si

67
manifestano. L'obiettivo di queste procedure protettive contenere il tasso di errore binario residuo a
valori orientativamente inferiori a 10-10.
Nel caso invece in cui si tratti di informazione audio, il grado di integrit informativa che
richiesto dipende dal mezzo di rappresentazione che si scelto. Se a tale mezzo associata una forma
di codifica senza riduzione di ridondanza, detto grado pu essere di valore decisamente inferiore al
caso dell'informazione di dati. Deve invece essere via via aumentato man mano che si riduce la
ridondanza dell'informazione sottoposta a codifica.
La trasparenza temporale riguarda invece i ritardi di trasferimento che differenti segmenti della
sequenza di ricezione possono presentare rispetto ai corrispondenti segmenti della sequenza di
emissione. Questi ritardi sono dovuti a cause di natura varia agenti, in generale, in modo aleatorio. Il
grado di trasparenza temporale pu essere quindi valutato quantitativamente con un parametro che
qualifichi la variabilit dei ritardi di trasferimento e che sia di valore tanto pi elevato quanto minore
tale variabilit. Questo parametro ha allora valore massimo quando la variabilit dei ritardi di
trasferimento nulla o di entit trascurabile, cio quando i ritardi di trasferimento sono di valore
praticamente costante. Non lo ha quando tale condizione non soddisfatta. La distinzione tra queste
due condizioni chiarita graficamente in Fig. IV.1.2.
a

T
Tempo

Figura IV.1.2 - Sequenze di emissione e di ricezione nei due casi di servizio di rete
(a) temporalmente trasparente e (b) non temporalmente trasparente
Esistono servizi, per i quali una corretta interpretazione dell'informazione in ricezione richiede che
il trasferimento avvenga con un massimo grado di trasparenza temporale. Ne esistono invece altri che
non hanno esigenze analoghe. Esempi significativi di servizi che richiedono un elevato grado di
trasparenza temporale si incontrano in tutti quei casi in cui l'informazione da trasferire sia il risultato di
una operazione di conversione analogico-numerica, e cio in cui dal segnale analogico originario si
estrae una sequenza di campioni, che occorre restituire in ricezione con la stessa periodicit
dell'operazione di campionamento. Pertanto casi tipici in questo ambito sono offerti da servizi audio e
video. Non rientrano invece in queste esigenze i servizi di dati.
Un servizio per il quale richiesto un elevato grado di trasparenza temporale pu utilizzare un
trasferimento anche non temporalmente trasparente. Ci pu avvenire solo se la distribuzione dei ritardi
di trasferimento tale da presentare un valore medio sufficientemente basso e deviazioni intorno a
questo sufficientemente contenute. In tal caso, in ricezione, si pu operare una equalizzazione dei
ritardi, che eleva il grado di trasparenza temporale senza pregiudicare quello di integrit informativa.
Ai fini della qualit del servizio di interesse anche il valore di picco dei ritardi di trasferimento.
Questo deve essere inferiore a un limite che dipende dal servizio considerato e che tanto pi basso
quanto maggiori sono le esigenze di interattivit della comunicazione, come nel caso dei servizi di
conversazione. Nel caso della telefonia questo limite deve essere inferiore a circa 300 ms.

68
I gradi di flessibilit di accesso, dintegrit informativa e di trasparenza temporale hanno valori
dipendenti dallo stato di condivisione delle risorse impegnate dal servizio di rete. In particolare il
valore conseguito dal grado di flessibilit di accesso dipende dalla scelta della strategia di
assegnazione; infatti, come facile convincersi, diminuisce per pre-assegnazioni individuali e aumenta
per assegnazioni a domanda o per pre-assegnazioni collettive.
I valori dei gradi di integrit informativa e di trasparenza temporale dipendono invece dal modo di
risoluzione delle contese di utilizzazione. Pi in particolare il grado di integrit informativa diminuisce
per contese risolte a perdita e aumenta per contese risolte a ritardo. Inoltre il grado di trasparenza
temporale aumenta per contese risolte a perdita e diminuisce per contese risolte a ritardo.
In Fig. IV.1.3 sono riassunte le prestazioni di un servizio di rete e linfluenza che su di esse hanno
le strategie di assegnazione e le risoluzioni delle contese di utilizzazione.
PARAMETRO
PRESTAZIONALE

SENSIBILITA
alla strategia di assegnazione

Grado di flessibilit
di accesso

Grado di integrit
informativa

diminuisce per pre-assegnazione


individuale
aumenta per assegnazione a
domanda o per pre-assegnazione
collettiva
al modo di risoluzione
contese di utilizzazione

delle

diminuisce per contese risolte a


perdita
aumenta per contese risolte a
ritardo
al modo di risoluzione
contese di utilizzazione

Grado di trasparenza
temporale

delle

diminuisce per contese risolte a


ritardo
aumenta per contese risolte a
perdita

Figura IV.1.3 Prestazioni di un servizio di rete e loro sensibilit alle strategie di assegnazione e
alla risoluzione delle contese di utilizzazione
IV.1.2.

Relazioni tra le parti in comunicazione

Un servizio di rete pu essere attuato con due modalit alternative, e cio nei modi con
connessione e senza connessione. Le opportunit offerte da ciascuno di questi modi sono gi state
illustrate con riferimento ai modi di servizio di strato (cfr. II.3.5); qui vengono riproposte con la
precisazione che trattasi di attuazioni riguardanti un particolare strato che appartiene allinsieme di
trasferimento e nel quale sono svolte le funzioni di multiplazione e di commutazione. Questo strato,
che chiamato di modo di trasferimento (o in breve MT), verr definito pi in dettaglio in IV:4.2.
La scelta del modo di servizio nello strato MT non condiziona la scelta relativa agli strati di rango pi
alto o pi basso. Inoltre le UI che sono oggetto di trattamento da parte delle funzioni dello strato MT
sono le PDU (cfr. par. II.4) definite nellambito dei protocolli ivi operanti. Nel tempo, in relazione a
scelte diverse sullo strato MT e sulle architetture protocollari che lo definiscono, sono state utilizzate
per le UI denominazioni diverse, legate allo specifico protocollo che ne ha specificato il formato. I
nomi adottati sono stati, ad esempio, pacchetto, datagramma, cella e trama.
Nel caso di un servizio di rete con connessione e di una comunicazione punto-punto, il fornitore
deve provvedere a instaurare un percorso da estremo a estremo e cio tra gli utenti del servizio. Questo
percorso unassociazione temporanea di connessioni da nodo a nodo ed identificato dalla sequenza
di rami e di nodi della rete logica che occorre attraversare per passare da un estremo allaltro della rete.
Una volta che detto percorso sia stato instaurato, il meccanismo di controllo tratta i segmenti

69
informativi conservandone lidentit tra gli estremi del percorso. Quando il percorso deve essere
abbattuto, vengono liberate le risorse fisiche o virtuali che sono state utilizzate per connettere gli utenti
del servizio di rete.
Il caso di comunicazione punto-punto immediatamente generalizzabile a quello multi-punto, ove
le connessioni debbono essere punto-multipunto o multipunto-punto o multipunto-multipunto a seconda
della configurazione della comunicazione (cfr. I.3.3).
In un servizio di rete senza connessione, una comunicazione si svolge senza linstaurazione
preventiva di un percorso di rete da estremo a estremo. Gli utenti consegnano al fornitore i loro
segmenti informativi e questi vengono trattati come unit indipendenti, e cio senza alcun legame con
la comunicazione nellambito della quale vengono scambiati. Il servizio di rete garantisce
laccettazione di tali segmenti nel punto di accesso di origine e, entro certi limiti, la loro consegna nel
punto di accesso di destinazione.
I due servizi con e senza connessione sono in stretta relazione con le strategie di assegnazione
delle risorse adottate per realizzare un trasferimento di informazione. Il caso con connessione implica
che siano attuate le operazioni di instaurazione e di abbattimento e che nellintervallo temporale tra
queste avvenga la fruizione del servizio di rete: quando la connessione viene instaurata, il fornitore del
servizio assegna risorse fisiche o virtuali che rimangono a disposizione degli utenti per tutta la durata
del servizio e che vengono liberate quando la connessione viene abbattuta. Ne consegue che un servizio
di rete con connessione attuabile con una strategia di pre-assegnazione, che individuale o collettiva
a seconda che le risorse assegnate siano fisiche o virtuali, rispettivamente.
Passando poi al caso senza-connessione, lassegnazione delle risorse si verifica solo a seguito di
esigenze di una loro utilizzazione e viene mantenuta solo fino a quando queste esigenze vengano a
mancare, senza tenere conto di eventuali loro presentazioni successive. Se ne deduce che un servizio di
rete senza connessione attuabile con una strategia di assegnazione a domanda.
Le relazioni tra modi di un servizio di rete e strategie di assegnazione per una loro attuazione sono
riassunte in Fig. IV.1.4.
MODO DI SERVIZIO

Con connessione fisica

Con connessione virtuale

Senza connessione

STRATEGIA DI
ASSEGNAZIONE
Pre-assegnazione individuale

Pre-assegnazione collettiva

Assegnazione a domanda

Figura IV.1.4 Modi di un servizio di rete e associate strategie di assegnazione delle risorse
Il caso di servizio di rete con connessione prevede due ulteriori modalit alternative e cio una
connessione commutata e una connessione semi-permanente (Fig. IV.1.5). Una terza modalit
rappresentata da una connessione permanente, che non coinvolge per funzionalit del servizio di rete.
Non verr quindi ulteriormente considerata.

70

MODO DI SERVIZIO

TIPO DI CONNESSIONE

commutata
Con connessione fisica
o virtuale
semi-permanente

Figura IV.1.5 Tipi di connessione in relazione ai modi di servizio di rete


Una connessione commutata pu essere instaurata in un qualunque istante a seguito di una
richiesta da parte di un utente del servizio di rete. Labbattimento si verifica quando la connessione non
pi necessaria. Il caso di connessione commutata quello usuale per una comunicazione su base
chiamata. Un nodo di rete che tratta connessioni commutate opera secondo tre fasi temporalmente
distinte:
linstaurazione del percorso da estremo a estremo;
il trasferimento dellinformazione;
labbattimento del percorso.
Linstaurazione avviene per iniziativa dellutente chiamante; il trasferimento dellinformazione ha
luogo secondo le esigenze del servizio applicativo; labbattimento si attua su richiesta di uno qualunque
degli utenti del servizio.
Per una comunicazione su base chiamata, linstaurazione di una connessione commutata
tradizionalmente inclusa tra le funzioni svolte da un nodo di rete per trattare la chiamata: quanto si
verifica, ad esempio, nei nodi della rete telefonica. Oggi la tendenza prevedere linstaurazione di una
connessione indipendentemente dal trattamento di chiamata: infatti, in un ambiente di comunicazione
multimediale, rilevante poter instaurare connessioni con caratteristiche prestazionali differenziate in
relazione alla possibile variet di esigenze di servizio da parte dei flussi informativi da trasferire. In
ogni caso linstaurazione di una connessione commutata richiesta al nodo interessato tramite
messaggi di segnalazione. Conseguentemente, un nodo in grado di instaurare una connessione
commutata deve avere la capacit di trattare linformazione di segnalazione.
Una connessione semi-permanente instaurata a seguito di un accordo contrattuale tra cliente e
fornitore del servizio; ha durata che, in relazione a tale accordo, pu essere indefinita ovvero definita
nellambito di un opportuno intervallo di tempo (un giorno, una settimana, ecc.). Nel caso di
connessione semi-permanente, il coinvolgimento dei nodi del tutto analogo a quello che si verifica
per le connessioni commutate, almeno per ci che riguarda la fase di trasferimento dellinformazione;
non si verifica invece per ci che riguarda le operazioni di instaurazione e di abbattimento della
connessione. Linstaurazione di una connessione semi-permanente richiesta al nodo interessato
tramite messaggi gestionali. Ne segue che un nodo in grado di gestire solo connessioni semipermanenti non ha funzionalit di trattamento di chiamata. Un nodo con queste caratteristiche
chiamato cross-connect.
IV.1.3.

Componenti di un modo di trasferimento

Le componenti di un servizio di rete e del modo di trasferimento ad esso associato sono:


la multiplazione;
la commutazione;
larchitettura protocollare.

71
Lo schema di multiplazione identifica le modalit logiche adottate per utilizzare la capacit di
trasferimento dei rami delle reti di accesso e di trasporto, e cio i modi in cui la banda disponibile di
questi rami viene condivisa logicamente dai flussi informativi che li attraversano.
Il principio di commutazione riguarda i concetti generali sui quali basato il funzionamento logico
dei nodi di rete, e cio i modi secondo cui l'informazione trattata in un nodo per essere guidata verso
la destinazione desiderata. In particolare questo principio descrive le modalit fisiche o logiche adottate
per attraversare i nodi e per utilizzarne la relativa capacit di elaborazione.
Infine, l'architettura protocollare definisce la stratificazione delle funzioni di trasferimento, sia
nell'ambito degli apparecchi terminali che in quello delle apparecchiature di rete (nodi di accesso o di
transito). In particolare questa architettura individua le funzioni che ogni nodo deve svolgere
sull'informazione in esso entrante e da esso uscente. Si tratta quindi dell'organizzazione delle funzioni
che sono espletate, nelle reti di accesso e di trasporto, per assicurare il trasferimento entro fissati
obiettivi prestazionali.
Un modo di trasferimento completamente definito solo se le sue tre componenti sono
adeguatamente descritte. In questo senso ogni componente pu essere considerata una variabile
indipendente, il cui valore pu essere opportunamente stabilito ai fini del conseguimento di un dato
scopo (ad esempio, di fissati obiettivi prestazionali).
IV.2.

La multiplazione

Sorgenti tributarie

Per un ramo della rete logica, la multiplazione definisce il modo secondo cui i segmenti
informativi emessi da una molteplicit di sorgenti (dette tributarie) condividono logicamente la
capacit di trasferimento di quel ramo (canale multiplato).
Lo scopo principale di questa funzione e dello schema che la attua rendere efficiente, e quindi
economicamente conveniente l'uso del canale multiplato tra la postazione di utente e un nodo di
accesso ovvero tra due nodi della rete di trasporto. Il conseguimento dello scopo pu essere tuttavia
subordinato alla esigenza di soddisfare requisiti prestazionali specifici, come, ad esempio, un elevato
grado di trasparenza temporale per i servizi che lo richiedono.
Uno schema di multiplazione, in vista della realizzazione di un ambiente di comunicazione per
servizi integrati, deve essere in grado di gestire la banda del canale multiplato con adatte strategie di
assegnazione delle risorse e con opportuni criteri di risoluzione delle contese. Occorre per anche
considerare le differenti modalit di multiplazione, a seconda che laccesso al canale multiplato sia
centralizzato o distribuito.
Nel caso di accesso centralizzato, esiste un organo (multiplatore), che riceve, dalle sorgenti
tributarie, i segmenti informativi da multiplare e che provvede direttamente a formare il flusso
multiplato (Fig. IV.2.1). Ci avviene assegnando alle sorgenti, in modo statico o dinamico, la banda
richiesta e risolvendo le eventuali situazioni di contesa. questa la soluzione che normalmente si
adotta per utilizzare la capacit di trasferimento dei rami nella rete di trasporto.
S
S

MUX
Canale
multiplato

Figura IV.2.1 Accesso centralizzato

72
Nel caso, invece, di accesso distribuito (chiamato solitamente accesso multiplo), sono le stesse
sorgenti tributarie a dover gestire collettivamente la formazione del flusso multiplato. Questa gestione
dovr avvenire nel rispetto di regole di comportamento, che consentano una efficiente utilizzazione
della banda disponibile e un adeguato grado di accessibilit al canale multiplato. Le regole a cui si
allude sono dedicate al controllo di accesso al mezzo (MAC - Medium Access Control): sono cio
finalizzate allo svolgimento delle funzioni di assegnazione di banda e di risoluzione delle eventuali
situazioni di contesa, con l'obiettivo di assicurare equit di accesso per tutti i richiedenti (Fig. IV.2.2).
Tali regole sono definite nei protocolli MAC. Nel seguito di questo paragrafo si tratter solo laccesso
centralizzato.
S

Canale
multiplato

Controllo
di accesso

S
S

al mezzo

Figura IV.2.2 Accesso multiplo


In base agli attuali orientamenti della tecnica, che adottano le tecnologie numeriche come mezzo
per il trasporto delle informazioni di utente e di segnalazione, saranno qui considerati solo schemi di
multiplazione a divisione di tempo (TDM, Time Division Multiplexing). In passato sono stati utilizzati
(e in parte lo sono anche attualmente) schemi di multiplazione a divisione di frequenza (FDM,
Frequency Division Multiplexing). Una riproposizione degli schemi FDM oggi di piena attualit con
limpiego delle frequenze ottiche ed denominata multiplazione a divisione di lunghezza donda
(WDM, Wavelength Division Multiplexing). Sono oggi oggetto di particolare attenzione anche schemi
di multiplazione a divisione di codice (CDM, Code Division Multiplexing).
Per sottolineare la distinzione tra TDM e FDM, significativo fare riferimento alla occupazione
del canale multiplato da parte di segmenti informativi aventi origine da una sorgente tributaria. Tale
occupazione:
- nel caso TDM, avviene in intervalli di tempo che non si sovrappongono con quelli
riguardanti i segmenti emessi da altre sorgenti tributarie;
- nel caso FDM, avviene in una banda di frequenze (allinterno della banda passante del
canale multiplato) che disgiunta rispetto alle bande utilizzate dai segmenti emessi da altre
sorgenti tributarie.
In un accesso centralizzato a un ramo della rete logica, la funzione di multiplazione svolta, in
modo cooperativo, dal multiplatore e dal demultiplatore operanti alle due estremit del canale
multiplato. Compito di questi dispositivi di rete la condivisione del canale multiplato; pi in
particolare:
il multiplatore deve provvedere affinch i segmenti informativi emessi da ogni sorgente
tributaria accedano al canale multiplato nel rispetto della strategia di assegnazione che si
prescelta e della modalit di risoluzione delle eventuali contese di pre-assegnazione e di
utilizzazione;
il demultiplatore deve essere in grado di identificare i segmenti informativi che gli
pervengono da ogni sorgente tributaria (funzione di identificazione) e riconoscere quale sia il
collettore a cui ogni segmento deve essere inoltrato (funzione di indirizzamento).
In Fig. IV.2.3 mostrata una possibile classificazione degli schemi TDM. I criteri seguiti per tale
classificazione sono due. Il primo considera il modo secondo cui le entit emittente e ricevente trattano

73
l'asse dei tempi nello svolgimento delle loro funzioni (gestione dei tempi). Il secondo riguarda le
strategie di assegnazione di banda adottate dal multiplatore e i conseguenti compiti del demultiplatore
(gestione della capacit multiplata).
Multiplazione a
divisione di tempo

Con asse dei tempi


suddiviso in IT
(S)

Con organizzazione
in trama
(SF)

Senza organizzazione
in trama
(SU)

Ad assegnazione
statica

Ad assegnazione
dinamica

Con asse dei


tempi indiviso
(U)

Multiplazione
dinamica

Multiplazione
statica

Figura IV.2.3 - Classificazione degli schemi di multiplazione a divisione di tempo.


Secondo il primo criterio di classificazione, uno schema TDM utilizza il flusso continuo di cifre
binarie emesse dal multiplatore come un vettore di trasporto in cui i segmenti informativi provenienti
da sorgenti tributarie diverse vengono caricate in un opportuno ordine temporale. Ci equivale a dire
che la multiplazione viene effettuata seguendo un principio di separazione a divisione di tempo, che
prevede la emissione di segmenti informativi diversi in intervalli di tempo distinti.
In uno schema TDM lo svolgimento della funzione di identificazione richiede al demultiplatore,
nel flusso continuo di cifre binarie ricevute, di individuare ogni singolo segmento informativo,
distinguendo la stringa di cifre binarie che lo compongono dalle altre cifre binarie che la precedono e la
seguono. Si tratta cio di operare, nel processo di multiplazione, una delimitazione, implicita o
esplicita, di ogni singolo segmento informativo, in modo che la individuazione di questo in
demultiplazione possa avvenire in modo univoco. La delimitazione implicita se ogni segmento
informativo identificabile solo sulla base della sua collocazione temporale allingresso del
demultiplatore; invece esplicita se ogni segmento informativo identificabile mediante luso di
opportune modalit di delimitazione (ad es. con laggiunta di delimitatori o con violazioni di codifica).
Circa la funzione di indirizzamento in uno schema TDM, occorre fare in modo che ogni singolo
segmento informativo, quando perviene al demultiplatore (ad esempio, all'ingresso di un nodo di rete),
possa essere inoltrato verso la corretta destinazione. Anche questa operazione di indirizzamento pu
essere effettuata in modo implicito o esplicito e deve essere armonizzata con il principio di
commutazione che regola il funzionamento della rete. Un indirizzamento implicito se ogni segmento
informativo indirizzabile solo sulla base della sua collocazione temporale allingresso del
demultiplatore; invece esplicito se ogni segmento informativo indirizzabile mediante laggiunta di
una etichetta (label), contenente linformazione di indirizzo che consente al demultiplatore ( in modo
diretto o indiretto) di conoscere la destinazione e lorigine di quel segmento. Letichetta aggiunta
nella intestazione di una unit informativa (cfr. Fig. IV.1.1).
IV.2.1.

Gestione dei tempi

Circa il modo in cui le due apparecchiature emittente e ricevente trattano l'asse dei tempi, possono
essere identificate due alternative di base (Fig. IV.2.4): nella prima, chiamata qui alternativa S

74
(slotted), l'asse dei tempi suddiviso in intervalli temporali (IT) tutti di ugual durata, mentre nella
seconda, denominata alternativa U (unslotted), tale asse indiviso.
L'alternativa S tratta segmenti informativi aventi lunghezza, che costante e commisurata alla
durata di un singolo IT (Fig. IV.2.5). Quest'ultimo quindi utilizzato per contenere e trasportare un
singolo segmento informativo, che risulta cos delimitato in modo implicito se esiste una
sincronizzazione di IT tra multiplatore e demultiplatore. Cio la sequenza degli istanti di inizio di ogni
IT deve essere a disposizione di ambedue tali apparati terminali. Inoltre, per fronteggiare i casi di
perdita di questa condizione di sincronizzazione, deve essere prevista una procedura di recupero
veloce. Ci ha lo scopo di ridurre nei limiti del possibile il numero segmenti informativi che, durante la
condizione di fuori-sincronismo, risultano inevitabilmente perduti, in quanto non delimitabili e quindi
non riconoscibili.
Asse dei tempi

S
Suddiviso in IT

U
Indiviso

Figura IV.2.4 Alternative S e U per la gestione dei tempi


Nell'alternativa U, i segmenti informativi possono essere di lunghezza variabile e vengono emessi
senza vincoli sul loro istante di inizio, compatibilmente con le situazioni di contesa che si presentano
nell'accesso al canale multiplato. Deve allora essere adottata una delimitazione esplicita dei singoli
segmenti. Tale operazione pu essere effettuata con gruppi di cifre binarie, chiamate delimitatori
(flags), posti all'inizio e alla fine di ogni segmento, e distinguibili in modo univoco da parte del
demultiplatore, nel senso che un delimitatore non deve poter essere simulato da analoghi gruppi di cifre
binarie appartenenti ad altri segmenti (Fig. IV.2.5).
Un delimitatore non simulabile , ad esempio, quello impiegato per delimitare le trame dei
protocolli dello strato di collegamento orientati al bit, del tipo HDLC. Tale delimitatore costituito da
un ottetto di cifre binarie, comprendente uno ZERO, seguito da sei UNO e concluso da uno ZERO. Per
evitare la possibilit di simulazione, nel contenuto di un segmento informativo in emissione si inserisce
uno ZERO (detto di riempimento) dopo una sequenza di cinque UNO consecutivi. Il bit di riempimento
viene rimosso in ricezione.
S

Tempo

Delimitatore

s e g m e n t o informativo

Fig. IV.2.5 Attuazione delle alternative S e U.

75
L'alternativa S realizzabile con due possibili soluzioni (Fig. IV.2.6): una con organizzazione in
trama (framed), chiamata qui alternativa SF e l'altra senza organizzazione in trama (unframed),
denominata alternativa SU.
Nell'alternativa SF, gli IT sono strutturati in trame, e cio in intervalli, tutti di ugual durata, che
comprendono un numero intero di IT consecutivi e che contengono, in posizione fissa (ad esempio,
all'inizio della trama), anche una configurazione di cifre binarie, chiamata parola di allineamento (Fig.
IV.2.7). proprio questa che controlla la condizione di sincronizzazione di trama e che consente quindi
di ottenere implicitamente anche la sincronizzazione di IT. Per verificare la condizione di
sincronizzazione di trama e per il suo recupero una volta che sia stata persa, viene seguita una
opportuna strategia (strategia di allineamento), che consente di operare anche in presenza di
interruzione del canale multiplato e di errori trasmissivi nel riconoscimento delle cifre della parola di
allineamento.
Asse
Asse dei
dei tempi

Suddiviso in IT

Indiviso
Indiviso

SF

SU

Con organizzazione
in
in trama

Senza organizzazione
in trama
trama

Figura IV.2.6 Alternative SU e SF per la gestione dei tempi


Nell'alternativa SU, gli IT si susseguono senza alcuna struttura sovrapposta. Di conseguenza deve
essere previsto un opportuno meccanismo di sincronizzazione di IT, quale quello che prevede di
inserire, in IT non utilizzati (IT vuoti), particolari gruppi di cifre binarie, chiamati unit di
sincronizzazione (Fig. IV.2.7). Il demultiplatore riconosce tali unit e pu quindi verificare lo stato di
allineamento o anche recuperarlo alla prima opportunit offerta dalla ricezione di una unit di
sincronizzazione. Bisogna tuttavia osservare che il successo di questo meccanismo dipende dalla
possibilit di emettere unit di sincronizzazione con frequenza media sufficientemente elevata. La
tecnica quindi tanto pi efficiente quanto meno il canale multiplato caricato. Infatti, man mano che
il carico medio del canale aumenta, cresce l'intervallo medio tra due unit di sincronizzazione
consecutive e, conseguentemente, aumentano la probabilit di perdere il sincronismo e il tempo di
recupero dello stesso.
S
Trama # i - 1

Trama # i

Trama # i + 1

SF

SU

Tempo
Intervallo
temporale

Parola di
allineamento

Unit di
sincronizzazione

Fig. IV.2.7 - Attuazione delle alternative SU e SF

76
Un differente meccanismo di sincronizzazione di IT, che non presenta questo inconveniente,
basato su una auto-sincronizzazione, ottenuta, ad esempio, con una accorta utilizzazione delle
intestazioni di UI.
IV.2.2.

Gestione della capacit multiplata

Applicando poi il secondo criterio di classificazione utilizzato in Fig. IV.2.3, la assegnazione della
capacit del canale multiplato pu essere statica o dinamica. Le relative strategie di attuazione seguono
le modalit introdotte in III.2.2.
La assegnazione statica prevede che la capacit complessiva del canale sia suddivisa in sub-canali
fisici, aventi capacit che assumono valori in un insieme discreto. All'inizializzazione di una
comunicazione, un sub-canale pre-assegnato individualmente alle relative necessit di trasferimento.
La durata dell'assegnazione normalmente uguale a quella della comunicazione.
Nellassegnazione dinamica la capacit globale del canale multiplato trattata come una risorsa
singola, a cui le sorgenti tributarie possono accedere secondo le loro necessit di trasferimento e nel
rispetto di una opportuna procedura di controllo. La banda assegnata a domanda o pre-assegnata
collettivamente a seconda che laccesso sia consentito
a qualunque sorgente tributaria presenti propri segmenti informativi al multiplatore;
solo alle sorgenti tributarie che, presentando propri segmenti al multiplatore, siano in
possesso di una autorizzazione di accesso ottenuta allinizio dellevoluzione della
comunicazione.
In questo secondo caso le autorizzazioni di accesso hanno normalmente validit per l'intera durata di
una comunicazione.
In base alle considerazioni svolte sui contenuti di Fig. IV.1.4, si pu poi stabilire una relazione tra
le tecniche di assegnazione statica o dinamica e i modi di servizio di rete in cui ciascuna di queste
tecniche trova impiego (Fig. IV.2.8). Una multiplazione che opera con assegnazione statica
componente di un servizio di rete operante nel modo con connessione fisica. Invece una multiplazione
che opera con assegnazione dinamica pu essere componente di un servizio di rete operante in
entrambi i modi con o senza connessione: il modo con connessione virtuale se si adotta una strategia
di pre-assegnazione collettiva; invece senza connessione se la strategia adottata quella di
assegnazione a domanda.
Mentre unassegnazione dinamica pu essere realizzata con tutte le tre alternative SF, SU, e U per
la gestione dei tempi, una assegnazione statica pu essere effettuata solo se viene adottata l'alternativa
SF (Fig. IV.2.9). Infatti la strutturazione in trame crea una associazione logica tra gli IT che sono
collocati nella stessa posizione entro trame differenti. Ci significa che una sequenza di IT, scelti uno
per trama in modo da rispettare tale associazione logica, costituisce un sub-canale di base, la cui
capacit Cs facilmente valutabile. Infatti, indichiamo con Ls e Lf le lunghezze (in cifre binarie) di un
IT e di una trama rispettivamente e con Cm la capacit del canale multiplato. Allora
C s = C m Ls / L f .

77

GESTIONE DELLA
CAPACITA MULTIPLATA

Assegnazione statica

MODO DI
SERVIZIO DI RETE
con connessione fisica

con connessione virtuale


Assegnazione dinamica
senza connessione

Figura IV.2.8 Relazione tra le tecniche di gestione della capacit multiplata


e i corrispondenti modi di servizio di rete
In altre parole la capacit Cm pu essere considerata suddivisa in tanti sub-canali di base quanto il
numero N di IT in una trama. Si noti per che, in generale,
L f > NLs
in quanto una trama comprende, oltre agli N IT, anche altri gruppi di cifre binarie per scopi di servizio.
GESTIONE DELLA
CAPACITA MULTIPLATA

GESTIONE DEI TEMPI

Assegnazione statica

Modalit SF

Modalit U
Assegnazione dinamica

Modalit SU
Modalit SF

Figura IV.2.9 Alternative di attuazione di uno schema


di multiplazione a divisione di tempo
Nellassegnazione statica, si possono effettuare assegnazioni a singolo IT o a IT multiplo (Fig.
IV.2.10). Nel primo caso (multiplazione di base) i segmenti informativi generati nell'ambito di una
singola comunicazione sono trasferiti su un singolo sub-canale di base. Nel secondo caso (sovramultiplazione), a una comunicazione viene reso disponibile un sub-canale con capacit, che un
multiplo di quella del sub-canale di base; l'ordine di molteplicit uguale al numero di IT assegnati in
una trama e non pu, ovviamente, essere maggiore di N. Ad esempio, se la capacit del sub-canale di
base di 64 kbit/s e se la capacit disponibile del canale multiplato di 1.920 kbit/s, la sovramultiplazione consente di affasciare cinque sub-canali di capacit uguale a 384 kbit/s (6 x 64 kbit/s)
ovvero un insieme di sub-canali con questa capacit e di sub-canali di base, in numero tale che la
somma delle relative capacit non sia superiore alla capacit disponibile del canale multiplato.
Per il dimensionamento della lunghezza Ls di un IT, assumiamo, che la capacit Cs del sub-canale
di base sia utilizzata per il trasferimento di un flusso tributario continuo con caratteristiche CBR,
risultante da un'operazione di conversione analogico-numerica di un segnale analogico (ad esempio, di
voce), che campionato con periodo Tc e che codificato con un numero b fisso di cifre binarie per
ogni campione; conseguentemente
C s = b / Tc .

78

TIPO DI
MULTIPLAZIONE

TIPO DI
ASSEGNAZIONE

CAPACITA
ASSEGNATA

Multiplazione
di base

a singolo IT

Sovramultiplazione

a IT multiplo

multipla di Cs

a trama singola

a frazione di IT

frazione di Cs

a multitrama

a singolo IT

frazione di Cs

Cs

Sotto-multiplazione

Figura IV.2.10 Alternative di assegnazione statica e relative


capacit di trasferimento assegnate
In queste condizioni, conveniente assumere la durata Tf della trama uguale a un multiplo di ordine m
(m = 1,2,...) di Tc . Con questa scelta, dato che Ls/Cs =Tf , la lunghezza di un IT ha un valore uguale a m
volte il numero b
Ls = mb .
Ad esempio, nella multiplazione PCM il sub-canale di base deve trasferire voce di qualit telefonica
con codifica PCM; si assume allora Tf = Tc = 125 s, Cs = 64 kbit/s e b = 8 bit; conseguentemente Ls=
8 bit. Se, invece, si assume Tf = 250 s, il ritmo binario risultante da una codifica PCM pu essere
trasferito con un IT di lunghezza uguale a due ottetti di cifre binarie.
Oltre alla multiplazione di base e alla sovra-multiplazione si pu anche effettuare una sottomultiplazione, che consente di ottenere una capacit di sub-canale, che sottomultipla di quella del
sub-canale di base. Si possono a questo scopo adottare due modalit, che chiameremo a trama singola
o a multi-trama (Fig. IV.2.10).
Nella modalit a trama singola, il minimo sotto-multiplo ottenibile della capacit del sub-canale
di base uguale a Cs /Ls e corrisponde ad assegnare, a un singolo flusso tributario, una sola cifra binaria
tra le Ls che compongono lIT. Conseguentemente, un singolo IT, assegnato con periodicit di trama,
pu essere il supporto di (al massimo) Ls sub-canali di capacit uguale a Cs /Ls ovvero di un opportuno
insieme di sub-canali con capacit multiple di Cs /Ls fino a saturare la capacit Cs. Ad esempio, se Cs =
64 kbit/s e Ls = 8 bit, la minima capacit assegnabile uguale a 8 kbit/s e il sub-canale di base pu
ospitare un numero di flussi tributari continui con ritmi binari di 8, 16 o 32 kbit/s, con il vincolo che la
somma di questi ritmi non superi il valore di 64 kbit/s.
Per adattare poi un flusso tributario continuo con ritmo binario minore di Cs /Ls (o di un suo
multiplo) ad una capacit uguale a Cs /Ls (o a un suo multiplo), si pu ricorrere al riempimento di tale
flusso con cifre addizionali e alla ripetizione di ogni cifra binaria del tributario. Un flusso continuo con
ritmo di 4,8 kbit/s pu, ad esempio, essere adattato ad una capacit di 8 kbit/s, riempiendo con 32 cifre
binarie addizionali (con scopi di servizio) una sequenza di 48 cifre binarie del tributario; in tal modo la
capacit di 8 kbit/s viene utilizzata per 48/80 della sua piena potenzialit, secondo quanto necessario.
Invece, un corrispondente adattamento di flussi tributari continui con ritmi di 0,6 o 1,2 o 2,4 kbit/s
richiede, oltre al provvedimento precedente, anche la ripetizione di ogni cifra binaria di questi tributari
per 8 o 4 o 2 volte, rispettivamente. Ci per comporta, per la banda disponibile, un rendimento di
utilizzazione che tanto pi basso quanto minore il ritmo binario da adattare.

79
Per ci che riguarda poi la modalit a multi-trama, se si richiede che il minimo sotto-multiplo
della capacit Cs sia uguale a Cs /K (K = 2, 3...), occorre definire una multi-trama di lunghezza (in cifre
binarie) uguale a KLf e operare su questa come nella multiplazione di base o nella sovra-multiplazione.
Osserviamo che l'ordine K di sotto-multiplazione non pu essere aumentato al di sopra di un
opportuno limite, che legato all'esigenza di contenere il ritardo di riempimento D di un IT nel caso di
un flusso tributario continuo. Tale ritardo, che il tempo necessario a riempire un IT con un flusso
CBR con ritmo binario uguale a Cs /K , infatti uguale a
D = KLs / C s .
Esso deve essere limitato, in quanto costituisce una componente additiva del ritardo di trasferimento
nell'operazione di trasferimento, di un flusso tributario continuo. Supponiamo che detto flusso risulti da
un'operazione di conversione analogico-numerica di un segnale analogico, che campionato con un
periodo Tc uguale alla durata Tf della trama di base (cio Tc = Ls/Cs) e che codificato con b=Ls/K cifre
binarie per campione. Ad esempio se la capacit Cs di 2,048 Mbit/s con una durata di trama di base
uguale a 125 sec, la lunghezza Ls di un IT uguale a 256 bit. In queste condizioni, se il tributario
CBR a minor ritmo binario fosse l'uscita di un codificatore PCM e richiedesse quindi una capacit di 64
kbit/s (cio 1/32 di Cs), la multi-trama di multiplazione dovrebbe avere una lunghezza uguale a 32
trame di base e il ritardo di riempimento D sarebbe uguale a 32125 s =4ms.
In conclusione, lassegnazione statica riguarda i sub-canali nei quali stata suddivisa la capacit
del canale multiplato, e cio uno o pi tra
i sub-canali di base, ognuno con capacit Cs (multiplazione di base);
i sub-canali con capacit multipla di quella Cs (sovra-multiplazione);
i sub-canali con capacit che una frazione di Cs (sotto-multiplazione).
Poich ogni sub-canale fisico, una volta attribuito al servizio di una comunicazione, diventa
componente di una connessione tra una origine e una destinazione, la durata della pre-assegnazione
uguale a quella della connessione di cui il sub-canale divenuto componente.
Passando poi allassegnazione dinamica associata ad un servizio di rete con connessione, la
relativa operazione di pre-assegnazione riguarda i cosiddetti canali logici . Questi rappresentano le
risorse virtuali viste dalle comunicazioni concorrenti come immagine del canale multiplato: il
condizionamento di ogni comunicazione determinato dalle sue esigenze di trasferimento (flusso
intermittente o costante di tipo CBR o VBR) e di prestazione (trasparenza, integrit, ecc.). La durata
della pre-assegnazione uguale a quella della connessione virtuale di cui il canale logico
componente.
Nel caso infine di assegnazione dinamica, associata a un servizio di rete senza connessione, le
singole comunicazioni non dispongono di canali fisici o logici per trasferire il loro flusso informativo
in modo separato da altri flussi. La separazione di segmenti informativi emessi e trasferiti nellambito
di comunicazioni diverse attuabile solo attraverso lidentificazione e lindirizzamento
dellinformazione in essi contenuta.
In relazione alle due modalit di gestione della capacit multiplata si distinguono i due principali
tipi di multiplazione: la multiplazione statica e quella dinamica. Queste due tecniche sono oggetto della
trattazione che segue.
Prima di procedere poniamo per a confronto la definizione di funzione di multiplazione che
stata data in questo paragrafo con quella che stata fornita in II.5.2 relativamente ad una
multiplazione di strato. Concentriamo lattenzione su una multiplazione statica o su una dinamica con
canali logici. Dato che esiste una evidente corrispondenza tra le connessioni di strato da un lato e i subcanali fisici o i canali logici che sono gestiti nelle assegnazioni statica o dinamica, si pu riconoscere
che in entrambe le definizioni la multiplazione la funzione preposta a trasferire flussi informativi

80
distinti su altrettante connessioni e con il supporto di una singola risorsa rappresentata dal canale
multiplato. altrettanto evidente che una multiplazione dinamica operante in assenza di connessioni
non rientra in questa definizione.
IV.2.3.

Multiplazione statica

Dato luso di una gestione statica delle risorse, questa tecnica di multiplazione, in presenza di
concorrenza di richieste, comporta solo contese di pre-assegnazione. Una contesa di questo tipo si
presenta quando, a seguito di uno stato di occupazione del canale multiplato, non disponibile il subcanale fisico che viene richiesto da uno degli utenti del servizio. La risoluzione di queste contese, nel
trattamento delle richieste che non possono essere subito soddisfatte, pu essere effettuata con
meccanismi a perdita o a ritardo a seconda che le richieste di assegnazione non soddisfacibili vengano
rifiutate o vengano poste in uno stato di attesa (cfr. III.1.2). In questo secondo caso il trattamento
sempre di tipo misto a perdita e a ritardo, dato che necessario introdurre una limitazione al numero di
richieste in attesa.
Poich in una multiplazione statica la gestione dei tempi secondo la modalit SF, multiplatore e
demultiplatore debbono operare in condizioni di sincronizzazione di trama, cio gli orologi delle due
apparecchiature debbono avere uguale frequenza di bit e debbono essere in opportuna relazione di fase,
tale da assicurare lindividuazione dellinizio di ogni trama.
La condizione di sincronizzazione di trama rende impliciti lindirizzamento e la delimitazione dei
segmenti informativi trasferiti. Infatti i segmenti emessi da una sorgente tributaria sono contenuti in
posizioni di trama, che sono definite dal multiplatore (in accordo con il demultiplatore) quando viene
attuata lassegnazione a favore della comunicazione in cui opera quella sorgente tributaria: i segmenti
informativi sono quindi implicitamente identificati e quindi indirizzati per mezzo di quelle posizioni di
trama. Non quindi necessario un indirizzamento esplicito e ci giustifica la denominazione di
multiplazione senza etichetta attribuita alla multiplazione statica. Tuttavia lassociazione logica tra una
comunicazione e una posizione di trama richiede che, durante la fase di assegnazione, tale associazione
(decisa dal multiplatore) sia notificata al demultiplatore tramite informazione di segnalazione. Circa la
delimitazione, ancora la condizione di sincronizzazione di trama ad assicurare in modo implicito la
delimitazione di ogni segmento informativo.
Nella multiplazione statica, i segmenti informativi emessi da una singola sorgente tributaria sono
trasferiti come una sequenza periodica. Ogni periodo uguale alla durata della trama (o della multitrama) e pu includere uno o pi segmenti in accordo al tipo di sub-canale che viene pre-assegnato alla
comunicazione considerata. In relazione a questa periodicit di trasferimento, la multiplazione statica
anche chiamata multiplazione a divisione di tempo sincrona (S-TDM, Synchronous TDM).
Per effetto di una multiplazione statica si ottengono le seguenti caratteristiche prestazionali:
- il grado di trasparenza temporale non subisce variazioni legate alloperazione di
multiplazione;
- il grado di integrit informativa rimane anchesso inalterato;
- il grado di flessibilit di accesso, nel caso di multiplazione di base, limitato dalla
granulosit della capacit Cs e, nel caso di sovra- o di sotto-multiplazione, limitato dalla
complessit del controllo.
IV.2.4.

Multiplazione dinamica

In questa tecnica di multiplazione lindirizzamento sempre esplicito, mentre la delimitazione


dipende dalla modalit di gestione dei tempi: esplicita nella modalit U, mentre implicita quando si
adotta una delle modalit SU e SF. Circa luso di indirizzi espliciti, da rilevare come questa lunica

81
possibilit a disposizione del demultiplatore ai fini di un corretto inoltro dellinformazione ricevuta.
Luso di un indirizzamento esplicito giustifica la denominazione di multiplazione con etichetta e
implica che linformazione trattata sia sempre strutturata in Unit Informative (UI) (cfr. Fig. IV.1.1).
La delimitazione implicita nelle modalit SU e SF poi possibile se il demultiplatore opera in
condizione di sincronizzazione di IT con il multiplatore; questa condizione, nella modalit SF, pu
essere conseguita anche con una sincronizzazione di trama.
Dato luso di una assegnazione dinamica delle risorse, questa modalit di multiplazione comporta
in ogni caso contese di utilizzazione . Si hanno anche contese di pre-assegnazione nei casi in cui il
servizio di rete che si realizza con connessione.
Contese di utilizzazione si presentano quando UI consegnate al multiplatore non possono essere
inoltrate senza ritardo verso il canale multiplato, in quanto questo gi impegnato nel trasferimento di
altre UI. La risoluzione di queste contese pu avvenire con le modalit gi illustrate in III.1.3. In un
trattamento a perdita, le UI sono scartate. In un trattamento a ritardo, le UI sono memorizzate in un
buffer di multiplazione ove sostano fino alla loro emissione. Si nota che lutilizzazione di un buffer di
capienza necessariamente finita fa s che, in generale, nella risoluzione di contese di utilizzazione si
possano presentare entrambi gli eventi di rifiuto e di ritardo: si ha trattamento puramente a ritardo solo
nel caso ideale di buffer di multiplazione avente capienza illimitata; si ha invece trattamento puramente
a perdita quando non esiste un buffer di multiplazione.
Contese di pre-assegnazione si presentano quando, a seguito dello stato di carico del canale
multiplato, non possibile soddisfare subito la richiesta di assegnazione di un canale logico. Il criterio
per pre-assegnare un canale logico o per negarne la assegnabilit segue le linee-guida della regola di
decisione illustrata in III.2.2; su questo tema di torner in IV.7.3 con riferimento ad una
comunicazione inizializzata su base chiamata. Per ci che riguarda poi la risoluzione di contese di preassegnazione in questo contesto, valgono ancora le modalit illustrate in generale in III.1.2: anche in
questo caso specifico possono essere considerati meccanismi a perdita o a ritardo, in cui la prevalenza
degli eventi di rifiuto o di ritardo dipende dal numero delle richieste non soddisfacibili che possono
essere poste in uno stato di attesa.
Nella multiplazione dinamica lintervallo temporale che si pu osservare sul canale multiplato tra
due UI consecutive, emesse da una singola sorgente e trasferite nellambito della stessa comunicazione,
variabile. Tale intervallo unicamente legato alle caratteristiche di emissione della associata sorgente
tributaria e alle condizioni di carico del canale multiplato. In accordo a tale caratteristica, questo
schema anche chiamato multiplazione a divisione di tempo asincrona (A-TDM, Asynchronous
TDM).
Da un punto di vista prestazionale una multiplazione dinamica presenta caratteristiche dipendenti
dalle modalit di risoluzione delle contese di utilizzazione. Se le contese di utilizzazione sono risolte
con meccanismo puramente a ritardo:
il grado di trasparenza temporale subisce un peggioramento, in quanto il tempo di sosta di
una UI nel buffer di multiplazione una quantit variabile aleatoriamente;
il grado di integrit informativa non subisce variazioni legate alloperazione di
multiplazione.
Se le contese di utilizzazione sono invece risolte con meccanismo puramente a perdita:
il grado di trasparenza temporale non subisce deterioramenti;
il grado di integrit informativa subisce un peggioramento, in quanto si scartano le UI che
incontrano contesa.
Indipendentemente dalle modalit di risoluzione delle contese di utilizzazione, il grado di
flessibilit di accesso il massimo possibile, dato che la capacit di trasferimento del canale multiplato
utilizzata, di volta in volta, secondo le necessit delle sorgenti tributarie.

82
IV.2.5.

Multiplazione ibrida

Per completare il quadro delle tecniche di multiplazione a divisione di tempo, deve essere
menzionata una ulteriore alternativa, che chiamata multiplazione ibrida.
Questa utilizza una struttura a trama, divisa in due regioni: una sempre suddivisa in IT, sulla quale
si applicano schemi di multiplazione statica; l'altra, che pu essere suddivisa in IT oppure indivisa, la
cui capacit pu essere utilizzata applicando schemi di multiplazione dinamica. La frontiera tra le due
parti della trama pu essere fissa o mobile; il caso di frontiera mobile si applica per adattare le capacit
delle due regioni alle richieste di trattamenti secondo le due tecniche S-TDM e A-TDM.
IV.3.

La commutazione

Per un nodo della rete logica, la commutazione definisce il modo secondo cui un qualunque
ingresso del nodo (ramo di ingresso) viene associato logicamente con una qualunque uscita (ramo di
uscita). Lo scopo attuare uno scambio, tra ingresso e uscita del nodo, operato sul flusso di
informazione che perviene al nodo nellambito dellespletamento di un servizio di rete. La definizione
riguarda comunicazioni punto-punto, ma pu agevolmente essere generalizzata al caso di
comunicazioni multipunto. Una commutazione attuata per mezzo delle funzioni di instradamento e di
attraversamento.
Linstradamento la funzione decisionale, svolta da un nodo della rete logica con lo scopo di
stabilire il ramo di uscita verso cui deve essere inoltrato un segmento informativo che perviene da un
ramo dingresso. Perci la scelta risultante dalla funzione di instradamento il mezzo che consente ai
nodi di rete di guidare i segmenti informativi verso la loro corretta destinazione. Tale scelta non in
generale univoca e deve quindi essere operata in base a opportune regole (algoritmi di instradamento).
Per fare in modo che la scelta rispetti i requisiti di qualit del servizio, gli algoritmi di instradamento
pi evoluti prevedono che questa funzione sia espletata da ogni nodo in modo coordinato con gli altri
nodi della rete. In tal modo si pu tenere conto di possibili guasti di nodo o di ramo e modificare le
scelte quando certe parti di rete entrano in uno stato di congestione.
In un nodo della rete logica, lattraversamento la funzione attuativa, che ha lo scopo di
trasferire, attraverso quel nodo, un segmento informativo da un ramo dingresso ad uno di uscita.
Lattraversamento pertanto realizza quanto deciso dalla funzione di instradamento e perci pu attuarsi
solo se la funzione di instradamento stata gi espletata. La funzione di attraversamento si effettua,
individualmente, su ogni segmento informativo che perviene al nodo. D'altra parte ogni segmento entra
nel nodo e ne esce all'interno di flussi multiplati su un ramo entrante e su uno uscente, rispettivamente.
Conseguentemente, prima di svolgere la funzione di attraversamento, occorre, per ogni ramo entrante,
demultiplare il relativo flusso, estraendo cosi' i segmenti che quel ramo trasferisce al nodo. Dopo aver
svolto la funzione di attraversamento, i segmenti inoltrati verso il pertinente ramo uscente debbono
essere multiplati per costituire il flusso uscente su questo secondo ramo.
Lattraversamento di un nodo pu avvenire con due differenti modi:
con il modo diretto, in cui i flussi informativi allingresso e alluscita del nodo sono
multiplati staticamente e in cui il percorso interno ingresso-uscita temporalmente
trasparente;
con il modo ad immagazzinamento e rilancio, in cui i flussi informativi allingresso e
alluscita del nodo sono multiplati dinamicamente e in cui ogni segmento informativo
attraversante il nodo viene memorizzato, completamente o parzialmente, prima di essere
rilanciato verso luscita.
Entrambi i modi di attraversamento operano su una informazione che deve avere formati coerenti
con quelli degli schemi di multiplazione agenti sui rami di ingresso e di uscita. Conseguentemente:

83

un nodo che attua un attraversamento nel modo diretto e che quindi mette in corrispondenza
uno schema di multiplazione statica in ingresso con uno analogo in uscita trasferisce i
segmenti informativi associati ad una comunicazione con un indirizzo che implicito;
oggetto della funzione di scambio operata dal nodo quindi un RCB;
un nodo che attua un attraversamento nel modo ad immagazzinamento e rilancio e che
quindi mette in corrispondenza uno schema di multiplazione dinamica in ingresso con uno
analogo in uscita trasferisce i segmenti informativi associati ad una comunicazione con un
indirizzo che esplicito (etichetta); oggetto della funzione di scambio operata dal nodo
quindi una unit informativa.
Da un punto di vista prestazionale, i due modi di attraversamento si distinguono in base al ritardo
di attraversamento che viene imposto ai segmenti informativi che transitano attraverso un nodo di rete
da un suo ramo di ingresso a uno di uscita. Tale ritardo coincide con l'intervallo di tempo che intercorre
tra l'istante in cui un segmento entra completamente nel nodo e quello in cui inizia ad uscirne: la
definizione illustrata graficamente in Fig.IV.3.1 con riferimento ad un segmento informativo IS. Nel
caso del modo diretto, il ritardo di attraversamento di valore costante per tutti i segmenti originati
dallo stesso utente. Nel caso invece del modo ad immagazzinamento e rilancio, tale ritardo assume
valori che variano aleatoriamente per ogni segmento.
A chiarimento di queste ultime affermazioni:
nel modo diretto si stabilisce tra lingresso e luscita del nodo una connessione fisica che
introduce un ritardo costante, con un valore principalmente dipendente dalla tecnica
(divisione di spazio o di tempo) utilizzata per la realizzazione di questa connessione;
nel modo ad immagazzinamento e rilancio, ogni UI entrante nel nodo deve essere
memorizzata per poterne elaborare lintestazione, in particolare per leggerne letichetta e per
poter quindi decidere quale sia il ramo di uscita verso cui inoltrarla; se poi, come
normalmente si opera, le contese di utilizzazione nellaccesso alla multiplazione in uscita
sono risolte a ritardo, interviene un secondo motivo di memorizzazione, attuata a monte di
ogni ramo di uscita dal nodo.
conclusione
dellingresso
inizio
delluscita
Segmento informativo IS

Ingressi nel nodo

TEMPI
Segmento informativo IS

uscite dal nodo

Ritardo
di attraversamento

Figura IV.3.1 Per la definizione di ritardo di attraversamento in un nodo


Pertanto, se lattraversamento attuato nel modo ad immagazzinamento e rilancio con le contese
di utilizzazione in uscita risolte a ritardo, il ritardo di attraversamento costituito da due componenti
- una costante, in quanto data dalla somma della durata di elaborazione di una UI e del
ritardo di propagazione (sempre trascurabile) tra lingresso e luscita del nodo;
- laltra variabile, in quanto determinata dalla durata di memorizzazione di ogni UI
allinterno del nodo.

84
Conseguentemente, nelle condizioni ora dette, il ritardo di attraversamento di un nodo dipende dal
carico richiesto sia allunit di elaborazione del nodo, che al multiplatore dinamico di uscita. Poich
questo carico variabile aleatoriamente, tale risulta anche il ritardo di attraversamento.
Attraversamenti nel modo ad immagazzinamento e rilancio sono normalmente attuati con
memorizzazioni complete delle UI in ogni nodo prima che questo proceda a un loro rilancio verso il
nodo successivo. Con lo scopo di ridurre il ritardo di attraversamento si possono anche effettuare
memorizzazioni parziali di ogni UI. Ci pu riguardare sia lelaborazione della UI, sia la risoluzione
delle contese per laccesso al ramo di uscita. Per la prima funzione sufficiente memorizzare la sola
intestazione purch la capacit elaborativa del nodo sia cos elevata (rispetto alla capacit di
trasferimento del ramo uscente) da concludere il trattamento prima che inizi larrivo della parte residua
della UI.
Per la memorizzazione nei buffer di multiplazione si pu procedere in modo differenti a seconda
dello stato di occupazione del ramo di uscita. Se questo libero, lintestazione inoltrata senza ritardi
verso il nodo successivo anche se il resto della UI non ha ancora raggiunto il nodo in esame; occorre
per provvedere affinch lintestazione, per ogni ramo attraversato, prenoti il trasferimento della
restante parte di UI in modo da conservare lunitariet dellunit informativa. Se invece il ramo di
uscita occupato, la memorizzazione inevitabilmente completa. Questo metodo, noto come cutthrough e applicabile in servizi di rete con o senza connessione, tende ad avvicinare il modo ad
immagazzinamento e rilancio a quello diretto, emulando da questultimo un elevato grado di
trasparenza temporale. Il presupposto per che i nodi operino in condizioni di basso carico.
Le possibili alternative per attuare la funzione di commutazione sono descritte nel diagramma ad
albero di Fig. IV.3.2, ove si assumono come riferimenti: i possibili servizi di rete in accordo alle
relazioni tra le parti in comunicazione e le possibili strategie di assegnazione delle risorse. Tra queste
ultime si distinguono due tecniche, quella a circuito e quella a pacchetto. Alla presentazione di queste
due tecniche dedicata la trattazione in IV.3.1 e IV.3.2.
Commutazione

Servizio di rete
con connessione

tecnica a
circuito

tecnica a
pacchetto con
connessione

Servizio di rete
senza connessione

tecnica a
pacchetto senza
connessione

Figura IV.3.2 Alternative per attuare la funzione di commutazione


Gli stessi contenuti di Fig. IV.3.2 sono riportati anche in Fig. IV.3.3, ove per ogni servizio di rete e
per ogni tecnica di assegnazione delle risorse sono precisati il modo di attraversamento e lo schema di
multiplazione utilizzato sui rami allingresso e alluscita del nodo.

85

SERVIZIO DI
RETE

con
connessione

ASSEGNAZIONE
DELLE RISORSE

tecnica
a circuito

MODO DI
ATTRAVERSAMENTO MULTIPLAZIONE

diretto

statica

con
connessione

tecnica
a
a pacchetto con immagazzinamento
connessione
e rilancio

dinamica

senza
connessione

tecnica
a
a pacchetto senza immagazzinamento
connessione
e rilancio

dinamica

Figura IV.3.3 Tecniche di attraversamento in relazione con i possibili servizi di rete


e con le strategie di assegnazione delle risorse
IV.3.1.

Tecnica a circuito

Si opera con tecnica a circuito quando si vuole realizzare un servizio di rete con connessione fisica
e quindi con piena trasparenza temporale. Con questa tecnica, in ogni nodo di rete viene gestita una
multiplazione statica sui rami entranti o uscenti e viene attuato un attraversamento con il modo diretto.
In altre parole caratteristica distintiva della tecnica a circuito la gestione statica delle risorse di
trasferimento disponibili da parte di ogni organo di rete.
Nella tecnica a circuito ogni nodo, nella fornitura di un servizio di rete, impegna/rilascia risorse di
trasferimento al suo interno e sui rami uscenti. Lo scopo concorrere con altri nodi della rete a
instaurare/abbattere un percorso di rete tra sorgente e collettore di una comunicazione. La durata di
questo impegno quella del servizio. La tecnica a circuito quindi lapplicazione di una preassegnazione individuale con durata uguale alla vita della connessione posta al servizio di ogni
comunicazione. In questa applicazione un nodo di rete prende la decisione relativa allinstradamento
solo in corrispondenza dellinstaurazione del percorso che lo coinvolge.
Nella tecnica a circuito la concorrenza delle richieste di servizio determina contese che possono
essere solo di pre-assegnazione. Queste contese si verificano ogni qualvolta limpegno delle risorse di
trasferimento interne ed esterne a uno o pi nodi coinvolti nel servizio impedisce ulteriori
assegnazioni. Al riguardo si sottolinea che un nodo pu rendere disponibile una connessione tra un suo
ramo di ingresso e uno di uscita solo se sono trovati contemporaneamente liberi un percorso interno
ingresso-uscita e una via di trasferimento sul ramo uscente.
La risoluzione di queste situazioni stata gi considerata per le risorse esterne quando si trattata
la multiplazione statica. Per le risorse interne, la struttura di nodo che realizza la funzione di
attraversamento e che chiamata rete di connessione pu trovarsi in stati di occupazione che
impediscono linstaurazione di un ulteriore percorso interno ingresso-uscita in aggiunta ai percorsi gi
instaurati e indipendentemente dallo stato di occupazione delle uscite. Anche per le contese relative
allimpegno delle risorse interne possono essere utilizzati criteri di risoluzione analoghi a quelli per le
risorse esterne, con i quali peraltro debbono essere convenientemente armonizzati.
Come avviene per ogni servizio di rete con connessione, i percorsi tra sorgenti e collettori possono
essere in alternativa dei tipi commutato e semipermanente. Nel caso di percorso commutato,
linstaurazione e labbattimento della connessione avvengono a seguito di scambi di informazioni di
segnalazione tra i nodi che sono attraversati dal percorso e con ritardi di attuazione il pi possibile
contenuti rispetto allevoluzione della comunicazione che ne fa richiesta. Ogni comunicazione deve
essere quindi trattata in tempo reale. Una situazione tipica quella delle comunicazioni inizializzate

86
su base chiamata e con connessione non modificata nel corso della comunicazione: in questo caso il
percorso instaurato quando la chiamata ha inizio e viene abbattuto quando la chiamata si conclude.
Pertanto il nodo che gestisce connessioni commutate e che applica la tecnica a circuito deve
essere in grado di trattare linformazione di segnalazione e deve essere dotato di risorse di
elaborazione in grado di svolgere la funzione di instradamento: tali risorse sono coinvolte solo durante
le fasi di instaurazione/abbattimento di ogni connessione, mentre rimangono praticamente inoperose
durante la fase di trasferimento dellinformazione.
Invece nei nodi che gestiscono connessioni semi-permanenti, linstaurazione/abbattimento di un
percorso un provvedimento di natura gestionale, senza quindi scambi di informazione di segnalazione
e senza esigenza di trattamenti in tempo reale.
La commutazione che impiega la tecnica a circuito come strategia di assegnazione delle risorse di
trasferimento detta a circuito.
IV.3.2.

Tecnica a pacchetto

La tecnica a pacchetto pu avere due diverse attuazioni:


una prima consente di realizzare servizi di rete senza connessione;
una seconda ha come finalit servizi di rete con connessione, ma con la specificit (rispetto
alla tecnica a circuito) che si tratta di connessione avente natura esclusivamente logica.
Secondo questa tecnica e con riferimento alle risorse di trasferimento, in un nodo di rete viene
gestita una multiplazione dinamica sui rami entranti o uscenti e viene attuato un attraversamento con il
modo ad immagazzinamento e rilancio. Ne consegue la gestione dinamica delle risorse di trasferimento
che sono a disposizione di ogni organo di rete. Inoltre le risorse di elaborazione in ogni nodo sono
sempre coinvolte nella fase di trasferimento dellinformazione e possono esserlo anche nelle fasi di
instaurazione/abbattimento quando il nodo operi nellambito di un servizio con connessione.
In presenza di una concorrenza di richieste di servizio, questa gestione dinamica implica la
possibile presentazione di contese di utilizzazione qualunque sia il servizio di rete che viene attuato.
Oggetti di condivisione in ogni nodo sono il processore per lelaborazione delle UI e laccesso a
ciascuno dei rami di uscita. Se questo accesso avviene attraverso un buffer e se si tiene conto della
memorizzazione a monte della elaborazione, le contese di utilizzazione sono risolte prevalentemente a
ritardo. Inoltre il parametro prestazionale che descrive in ogni nodo gli eventi di contesa il ritardo di
attraversamento, che subisce ciascuna UI transitante attraverso il nodo. Il valor medio di questo ritardo
dipende ovviamente dalla capacit di elaborazione del processore di nodo e dalla capacit di
trasferimento dei rami di uscita. Nei nodi a pacchetto di ormai passata generazione era la capacit di
trasferimento dei rami a costituire il collo di bottiglia maggiormente condizionante. Nelle
realizzazioni pi recenti il deciso aumento dei ritmi di trasferimento sulla rete fisica ha consentito di
ridurre fortemente i valori medi del ritardo di attraversamento.
Nel caso di servizio con connessione, ad ogni ramo uscente da un nodo sono associabili i canali
logici della multiplazione dinamica che agisce su quel ramo. Il nodo deve provvedere ad assegnare tali
canali quando ne viene fatta richiesta da parte di una comunicazione. Il criterio adottato segue le gi
citate regole di accettazione (cfr. IV.7.3). La concatenazione di canali logici lungo il percorso di rete
tra sorgente e collettore di una comunicazione d luogo ad una connessione logica che detta circuito
virtuale. Per il caso di connessione commutata o semi-permanente, la decisione relativa
allinstradamento presa solo quando richiesta linstaurazione della connessione; durante la fase di
trasferimento dellinformazione, lo scambio delle UI avviene sul circuito virtuale messogli a
disposizione e, per questo scopo, utilizza la memoria di quanto deciso nella fase di instaurazione.
Questa attuazione della tecnica a pacchetto, basata sullassegnazione di risorse virtuali, quindi
lapplicazione di una pre-assegnazione collettiva con durata uguale alla vita della connessione posta al

87
servizio di una comunicazione; verr pertanto indicata nel seguito come tecnica a pacchetto con
connessione.
Un servizio di rete senza connessione pu invece essere realizzato con una assegnazione a
domanda delle risorse necessarie. Ogni UI viene trattata in modo indipendente dalle altre UI che la
precedono o la seguono nellattraversamento del nodo. In particolare la decisione di instradamento
presa UI per UI. In tal modo due UI successive, anche se scambiate nellambito della stessa
comunicazione possono essere trasferite lungo percorsi di rete diversi. Questo tipo di assegnazione
verr chiamato tecnica a pacchetto senza connessione.
I contenuti delletichetta contenuta nelle UI uscenti da un nodo dipendono dal tipo di servizio di
rete. Se questo senza connessione, letichetta deve contenere gli indirizzi della destinazione e
dellorigine. Se invece il servizio con connessione e se si considerano le esigenze di indirizzamento
nelle fasi di trasferimento e di abbattimento, sufficiente, come si visto in II.5.1, utilizzare un
identificatore di connessione, dato che la connessione individua univocamente lorigine e la
destinazione dellinformazione uscente dal nodo. Con riferimento ad una specifica comunicazione, i
flussi entranti in un nodo o uscenti da questo sono allora identificati da due etichette: una, per il flusso
entrante, identifica il canale logico sul ramo di ingresso, laltra, per il flusso uscente, invece
identificatore del canale logico sul ramo di uscita. Ci implica che, nellattraversamento del nodo,
occorre trasformare letichetta che identifica il flusso entrante in quella che identifica il flusso uscente:
questa operazione denominata traduzione di etichetta.
La corrispondenza tra le due etichette stabilita in sede di instaurazione della connessione e
conservata in una memoria, che chiamata tabella di attraversamento. La memorizzazione ha la durata
del servizio. La tabella consultata ogni qualvolta una UI entra nel nodo e la corrispondenza ivi
disponibile utilizzata per effettuare la traduzione di etichetta.
Rimanendo nel caso di nodi che attuano un servizio di rete con connessione, la concorrenza delle
richieste di instaurazione determina anche contese di pre-assegnazione, che si presentano quando lo
stato di impegno delle risorse interne ed esterne in uno o pi nodi coinvolti nel servizio impedisce
ulteriori instaurazioni di circuito virtuale. Le risorse di cui si parla hanno significativit puramente
virtuale: le risorse esterne sono rappresentate dai canali logici dello schema di multiplazione dinamica,
mentre quelle interne sono identificabili nelle potenzialit di relazione ingresso-uscita residenti nella
tabella di attraversamento. Con questo elemento distintivo sulla significativit delle risorse, per le
contese di pre-assegnazione nel caso di tecnica a pacchetto possono ripetersi le stesse considerazioni
svolte a proposito delle contese di pre-assegnazione nella tecnica a circuito; ci vale in particolare
anche per le relative modalit di risoluzione.
La commutazione che impiega la tecnica a pacchetto come strategia di assegnazione delle risorse
di trasferimento e di elaborazione detta a pacchetto con o senza connessione, a seconda del modo
di servizio di rete che si intende realizzare.
IV.3.3.

Ritardi nella tecnica a pacchetto

Svolgiamo alcune considerazioni sul ritardo di trasferimento che deve subire un flusso
informativo intermittente o continuo nel suo transito attraverso una rete i cui nodi operano secondo la
tecnica a pacchetto.
Cominciamo considerando il caso di un flusso intermittente e determiniamo il ritardo di
trasferimento D di una stringa di cifre binarie, che chiameremo messaggio. Il ritardo D , per
definizione, lintervallo temporale tra lemissione del primo bit del messaggio e la ricezione dellultimo
bit, come viene illustrato in Fig. IV.3.4 che fa riferimento ad un messaggio X. Il trasferimento del
messaggio o di una sua parte strutturata avviene attraverso una successione di salti che consentono al
messaggio o a un suo segmento di passare da un nodo a quello successivo dallorigine alla

88
destinazione. Conseguentemente, nellipotesi di un servizio di rete con connessione, il ritardo D
dipende da:
le capacit di trasferimento dei rami di rete attraversati dal circuito virtuale;
i ritardi di propagazione su questi rami;
le lunghezze (in cifre binarie) del messaggio e delle eventuali parti in cui il messaggio viene
segmentato;
il numero di salti intermedi;
il ritardo di attraversamento di ogni nodo coinvolto nel trasferimento.
inizio dellemissione

conclusione della ricezione

Messaggio X

emissione allorigine

TEMPI
Messaggio X

ricezione a destinazione

Ritardo di trasferimento

Figura IV.3.4 Per la definizione di ritardo di trasferimento di un messaggio


Ogni salto contribuisce alla determinazione del ritardo di trasferimento di un segmento
informativo con la somma del ritardo di attraversamento del nodo a monte e del ritardo di transito
subito dal segmento sul ramo uscente da questo nodo.
Il primo contributo ha le caratteristiche di variabilit precedentemente sottolineate; il secondo la
somma del ritardo di propagazione e del tempo di emissione del segmento sul ramo in questione.
Questultimo contributo uguale al rapporto tra la lunghezza del segmento e la capacit di
trasferimento del ramo considerato.
Esaminiamo come questi varii contributi si combinano per determinare il ritardo D. Il ritardo di
propagazione complessivo tra origine e destinazione dipende unicamente dalla lunghezza del percorso
di rete associato al circuito virtuale. I ritardi di attraversamento dei nodi coinvolti dipendono dal carico
di lavoro che interessa la rete e quindi anche questi nodi. Infine i tempi di emissione sui rami
attraversati forniscono un contributo a D che determinato da due fattori: leffetto bitdotto
(pipelining) e quello extra-informazione (overhead).
Per valutarne lincidenza supponiamo che ogni nodo operi in modo che un segmento informativo
sia completamente memorizzato prima di essere rilanciato verso il nodo successivo lungo il percorso di
rete. Allora immediato convincersi che il contributo dei tempi di emissione pu essere ridotto
segmentando il messaggio in UI pi corte. Ad esempio, come in Fig. IV.3.5, consideriamo il caso di un
percorso di rete a due salti. Se il messaggio non segmentato, questo contributo uguale a 2 volte il
tempo di emissione dellintero messaggio, dato che questo, una volta effettuato il primo salto, pu
essere riemesso solo dopo essere stato completamente memorizzato. Se invece il messaggio
segmentato in due UI e se si trascura laggiunta dei bit di intestazione, il contributo uguale a 1,5 volte
il tempo di emissione dellintero messaggio. Questa riduzione legata al fatto che il secondo nodo pu
rilanciare la prima UI non appena ne ha completata la memorizzazione e mentre sta ancora
completando la memorizzazione della seconda UI. Questo parallelismo tra le emissioni successive su
rami consecutivi di un percorso di rete reso possibile dalla segmentazione del messaggio. Si tratta
delleffetto bitdotto.

89
Spazio

M + PH
C

Destin.

Tp

2
3

L +H
C

Tempo

Origine

2
3

Figura IV.3.5 Effetto bitdotto nel trasferimento di un messaggio segmentato in UI


Quanto ora detto potrebbe indurre alla conclusione che convenga incrementare la segmentazione e
quindi operare con UI pi corte a parit di lunghezza del messaggio. Aumentando per il numero di UI
in cui viene segmentato il messaggio, aumenta anche il numero di bit di extra-informazione, da
aggiungere come intestazione al testo di ogni UI. Ad esempio, se si segmenta il messaggio in P UI, se
H (bit) la lunghezza (supposta costante) dellintestazione per ogni UI e se infine M (bit) la
lunghezza del messaggio (comprensiva della sua intestazione), allora il numero totale di cifre binarie da
trasferire aumenta da M a M+P H. Questo incremento, che chiameremo effetto extra-informazione,
comporta un corrispondente aumento del contributo legato al tempo di emissione.
Calcoliamo ora il ritardo di trasferimento D del messaggio di lunghezza M, che ipotizziamo
variabile aleatoriamente. Indichiamo con L la lunghezza massima (in bit) del testo di una delle UI in cui
viene segmentato il messaggio. Il messaggio segmentato in testi di lunghezza L, con lultimo testo
costituito dallo sfrido della segmentazione. Allora, se x denota il pi piccolo valore intero maggiore
di o uguale a x, il numero P uguale a
M
P= .
L
Di queste UI le prime P-1 hanno un testo che costituito da L bit, mentre il testo dellUI finale ha
lunghezza compresa tra 1 e L. Il numero totale B di cifre binarie dopo la formazione delle UI con le
loro intestazioni quindi dato da
M
B = M + H .
L
Dalle espressioni di B e di P si pu valutare come variano lefficienza di trasferimento e il carico
di elaborazione in funzione della lunghezza L. Se M tende allinfinito, la quota parte di extrainformazione uguale a
H
H+L
e quindi aumenta al diminuire di L. Al decrescere di L a parit di M, diminuisce allora lefficienza di
trasferimento. Daltra parte il carico di elaborazione aumenta al crescere del numero P di UI per un
fissato M. Ma P aumenta se si diminuisce L. Quindi al decrescere di L a parit di M aumenta il carico di
elaborazione. In sintesi lefficienza di trasferimento e il carico di elaborazione consigliano di operare
con elevati valori di L.
Per mettere in evidenza come agisce L sul ritardo D e con riferimento ai rami del circuito virtuale,
indichiamo con

90
il ritardo di propagazione su questi rami, supposti di lunghezza costante;
C la capacit di trasferimento degli stessi rami supposti di uguale capacit.
Con queste notazioni CD e C sono i valori dei ritardi D e normalizzati rispetto al tempo di
trasmissione di un bit. Supponiamo che
il circuito virtuale sia costituito da S rami in cascata;
la rete sia debolmente caricata in modo che possa essere trascurato il ritardo di
attraversamento dei nodi appartenenti al circuito virtuale;
siano trascurabili gli eventi di errore su ogni ramo;
risulti M L .
Come di deduce dalla Fig. IV.3.5, si ha
M
CD = CS + (L + H )(S 1) + M + H .
L
Il primo addendo, legato al ritardo di propagazione, indipendente da L. Il secondo, derivante
dalleffetto extra-informazione, cresce linearmente con L; il terzo, coincidente con il numero B di cifre
binarie dopo la segmentazione e laggiunta nellintestazione, inversamente proporzionale a L.
interessante determinare il valore Lopt per il quale risulta minimo il valore atteso E[CD] di CD.
Facendo lapprossimazione
M
M 1
E = E +
L 2
L
che ragionevole se la distribuzione di M uniforme su intervalli di L bit, si ottiene
H H

E[CD ] = CS + (L + H )(S 1) + E[M ] 1 + +


.
L 2

Da questa espressione per differenziazione risulta infine


E [M ]H
Lopt =
.
S 1
Conseguentemente, quando H cresce, aumenta anche Lopt . Quando invece cresce la lunghezza del
percorso (rappresentata dal numero S di rami), si ha una diminuzione di Lopt . Quando infine aumenta la
lunghezza media del messaggio, cresce anche Lopt .
Per concludere passiamo al caso di flusso continuo CBR, per il quale il ritardo di trasferimento D
che interessa lintervallo di tempo tra listante in cui un dato bit entra nella rete e listante in cui lo
stesso bit ne esce. Utilizziamo, oltre allintestazione H gi definita, le seguenti ulteriori notazioni:
R
il ritmo binario di sorgente, che per ipotesi costante;
L
la lunghezza, supposta costante, del testo di una UI;
Ci
la capacit di trasferimento delli-esimo ramo.
Supponiamo che
per ogni ramo appartenente al percorso del flusso informativo, risulti
L+H L

;
Ci
R
cio le UI siano trasferite con intervallo temporale imposto dal tempo di riempimento del
pacchetto (ritardo di pacchettizzazione) e subiscano su ogni ramo un ritardo (tempo di
emissione) che sempre non superiore a quello di pacchettizzazione;
il ritardo di propagazione sia trascurabile;
la rete sia debolmente caricata in modo che possa essere trascurato il ritardo di
attraversamento dei nodi.
Con queste ipotesi, si ha allora

91
1
L
,
+ (L + H ) i
Ci
R
ove il primo addendo il ritardo di pacchettizzazione, mentre il secondo il tempo di emissione di una
UI sullinsieme dei vari rami che costituiscono il percorso del flusso informativo. Si vede che:
D diminuisce quando L diminuisce, finch per uno o pi rami risulti
L+H L
;
=
Ci
R
questa condizione fornisce il minimo ritardo di trasferimento;
diminuendo ulteriormente L, il ritardo di trasferimento diventa infinito, in quanto si ha
accumulo indefinito di UI sul ramo per cui
L L+H
<
;
R
Ci
allaumentare della capacit di trasferimento Ci, laddendo dominante nellespressione di D
L/R, termine che non influenzato dalla presenza di altro traffico.
D=

IV.4.

Architetture protocollari

L'architettura protocollare riguarda il modello di riferimento che viene adottato per realizzare uno
specifico modo di trasferimento. Essa descrive la stratificazione delle funzioni di comunicazione e
stabilisce l'attribuzione di tali funzioni alle apparecchiature terminali e di rete. In questo paragrafo ci
riferiremo, per semplicit, ai modi di trasferimento riguardanti le informazioni di utente; il caso
dell'informazione di segnalazione verr considerato nel par. IV.9.
IV.4.1.

Modelli di riferimento

Supponiamo che i modelli di riferimento per un processo di comunicazione applichino i principi


delle architetture stratificate. Ipotizziamo inoltre che nei modelli considerati siano inclusi:
due sistemi terminali, in corrispondenza modellistica con una coppia di apparecchi
terminali (TE, Terminal Equipment);
tre sistemi intermedi, in corrispondenza modellistica con due nodi di accesso (AN, Access
Node) e un nodo di transito (TN, Transit Node).
Scopo di questi modelli rappresentare le sezioni tipiche di una rete di telecomunicazione, e cio le reti
di accesso e di trasporto. Le due parti della rete di accesso consentono ad ogni apparecchio terminale di
interagire con il pertinente nodo di accesso attraverso linterfaccia utente-rete. La rete di trasporto
interconnette i nodi di accesso attraverso il nodo di transito e le relative interfacce nodo-nodo.
Gli apparecchi terminali, in quanto modellabili tramite sistemi terminali, possono essere visti come
organizzati in tanti strati funzionali quanti ne sono previsti nellarchitettura di comunicazione
considerata. I nodi di accesso e di transito, in quanto modellabili tramite sistemi intermedi,
comprendono un sottoinsieme di detti strati; tale sottoinsieme quello degli strati di trasferimento e
include gli strati dellarchitettura che, partendo dallo strato di rango pi basso, arrivano fino allo strato
che include una funzione di rilegamento. I rimanenti strati dellarchitettura sono invece gli strati di
utilizzazione.
Lo strato pi alto tra quelli di trasferimento verr indicato nel seguito come strato di modo di
trasferimento (per brevit strato MT). Lidentificazione degli strati di trasferimento e, in particolare,
dello strato MT qualifica il modo di trasferimento utilizzato per trasportare l'informazione; in
particolare il relativo servizio di strato pu essere con o senza connessione.

92
L'architettura protocollare di un processo di comunicazione prevede sempre la definizione di
protocolli di accesso, di transito e di utilizzazione. Nelle Figg. IV.4.1 e IV.4.2 sono presentati due
esempi di queste pile protocollari.
Protocolli di utilizzazione
Strati di
utilizzazione

Strati di
utilizzazione

Strati di
trasferimento

Apparecchio
terminale

Nodo di
accesso

Nodo
di transito

Strati di
trasferimento

Nodo di
accesso

Rete
di trasporto

Bordo di rete

Rete
di accesso

Protocolli
di accesso

Strati di
trasferimento

Protocolli
di transito

Strati di
trasferimento
Apparecchio
terminale

Rete
di accesso

Bordo di rete

Strati di
trasferimento

Protocolli
di accesso

Figura IV.4.1 Primo modello di riferimento per un processo di comunicazione


I protocolli di accesso regolano le interazioni tra un apparecchio terminale e la relativa
terminazione di rete; riguardano gli strati di trasferimento fino a quello di ordine pi elevato, che
presente nell'interfaccia utente-rete. I protocolli di transito definiscono le regole di interazione tra un
nodo di accesso e un nodo di transito, ovvero tra due nodi di transito, ovvero direttamente fra i due nodi
di accesso; riguardano gli strati di trasferimento fino a quello di ordine pi elevato, che presente nelle
interfacce nodo-nodo. I protocolli di utilizzazione riguardano gli strati omonimi; vengono gestiti da
estremo a estremo, nel senso che le entit alla pari interagenti per il loro tramite risiedono negli
apparecchi terminali.
Riferiamoci dapprima al modello di riferimento in Fig. IV.4.1. considerato il caso in cui gli strati
di trasferimento includono gli stessi sotto-sistemi nei nodi di accesso e in quelli di transito. I nodi
gestiscono i protocolli che sono pertinenti ad ognuna delle loro interfacce di interazione. La gestione di
questi protocolli effettuata sezione per sezione. Inoltre, sempre per ipotesi, un nodo di accesso opera
una conversione tra i protocolli di accesso e quelli di transito, mentre un nodo di transito effettua una
rigenerazione dei protocolli di transito. In ambedue i casi vengono attuate: una chiusura dei protocolli
relativi all'interfaccia a monte e una apertura di quelli relativi all'interfaccia a valle.
Il secondo modello di riferimento (Fig. IV.4.2) contempla il caso in cui uno o pi tra gli strati di
trasferimento di ordine gerarchico pi elevato includono sotto-sistemi che sono presenti nei soli nodi di
accesso e non in quelli di transito. In questo caso, i protocolli di transito sono di due tipi: quelli relativi
agli strati di trasferimento di rango pi basso, che sono presenti nei nodi di accesso e di transito, e
quelli relativi agli strati di trasferimento di rango pi alto, che sono presenti nei soli nodi di accesso. I
primi rientrano nel caso gi considerato dal primo modello di riferimento e sono quindi gestiti sezione
per sezione. I secondi riguardano invece l'interazione diretta tra entit alla pari residenti nei nodi di
accesso e sono quindi gestiti da bordo a bordo.

93
Protocolli di utilizzazione
Strati di
utilizzazione

Strati di
utilizzazione

Strati di
trasferimento

Apparecchio
terminale

Nodo di
accesso

Nodo
di transito

Strati di
trasferimento

Nodo di
accesso

Rete
di trasporto

Bordo di rete

Rete
di accesso

Protocolli
di accesso

Strati di
trasferimento

Protocolli
di transito

Strati di
trasferimento
Apparecchio
terminale

Rete
di accesso

Bordo di rete

Strati di
trasferimento

Protocolli
di accesso

Figura IV.4.2 - Secondo modello di riferimento per un processo di comunicazione


IV.4.2.

Alternative architetturali

Per fissare le idee, assumiamo che la stratificazione delle funzioni di comunicazione sia quella a
sette strati adottata nel modello OSI. Inoltre ci limitiamo dapprima a considerare particolarizzazioni del
primo modello di riferimento. Individuiamo lo strato di modo di trasferimento. Questo lo strato
gerarchicamente pi elevato che interessa, oltre agli apparecchi terminali, anche i nodi di rete; include
una funzione di rilegamento. Almeno in linea di principio e nei limiti della stratificazione adottata dal
modello OSI, lo strato MT pu in alternativa essere quello fisico, quello di collegamento o quello di
rete. La individuazione dello strato MT legata a considerazioni varie; ne presentiamo qui alcune per
chiarire, seppure sommariamente, i termini della questione.
Innanzitutto, la funzione di rilegamento svolta da un nodo ha, tra le sue componenti essenziali, la
funzione di commutazione. Questa il risultato di una demultiplazione dei flussi informativi entranti in
un nodo e di una loro successiva multiplazione in accordo agli indirizzi (impliciti o espliciti) dei
segmenti informativi componenti questi flussi. Pu essere espletata sulla base delle stesse informazioni
di protocollo di strato, che sono utilizzate per identificare i segmenti informativi in un flusso
multiplato. Si pu quindi concludere che lo strato di modo di trasferimento quello in cui sono svolte
le funzioni di commutazione e di multiplazione.
D'altra parte, la individuazione dello strato MT ha implicazioni dirette sulle prestazioni del
servizio di rete e, in particolare, sui gradi di trasparenza temporale e di integrit informativa. Ci
chiarito nei due successivi esempi, ove viene messo in evidenza che gli effetti di una scelta dello strato
MT sono tra loro contrastanti per ci che riguarda il conseguimento di fissati obiettivi prestazionali.
Riferiamoci al trattamento protocollare del flusso informativo entrante in un nodo di rete; lo
svolgimento di una funzione appartenente a un dato strato richiede, da parte del nodo, la preventiva
chiusura dei protocolli degli strati inferiori. Se la scelta del livello dello strato MT fosse indirizzata
verso un rango alto, aumenterebbe la complessit delle procedure che debbono essere gestite da un
nodo di rete e quindi peggiorerebbe la prestazione di grado trasparenza temporale. Ovviamente si
otterrebbe un effetto opposto indirizzando la scelta verso uno strato MT di rango basso.
Se lo strato MT fosse ad esempio quello di rete o quello di collegamento, il protocollo dello strato
di collegamento (che tra l'altro preposto alla funzione di recupero degli errori trasmissivi) potrebbe
essere gestito sezione per sezione, in accordo al modello di riferimento di Fig. IV.4.1. Ci
consentirebbe di fronteggiare con maggior successo i casi di canali trasmissivi con tasso di errore

94
binario relativamente elevato. Conseguentemente la scelta di uno strato MT di ordine pi elevato
(rispetto allo strato fisico) comporta migliori prestazioni di integrit informativa.
Alla luce delle considerazioni ora svolte, si possono commentare le due alternative di architettura
protocollare nelle Figg. IV.4.3 e IV.4.4, che costituiscono una particolarizzazione del modello di
riferimento di Fig. IV.4.1.
Nellalternativa di Fig. IV.4.3 lo strato MT quello fisico e quindi in questo strato sono svolte le
funzioni di commutazione e di multiplazione. Inoltre tutte le funzioni logiche preposte al trattamento
protocollare dell'informazione (a cominciare da quelle tipiche dello strato di collegamento) sono
espletate con interazioni da estremo a estremo. Conseguentemente i nodi di accesso e di transito sono
completamente trasparenti nei confronti dei flussi informativi che li attraversano. Questa architettura
protocollare particolarmente adatta per la fornitura di un servizio di rete con spiccate esigenze di un
elevato grado di trasparenza temporale e con requisiti meno stringenti di integrit informativa.
Protocolli di utilizzazione

Strati
Strati di
di
utilizzazione
utilizzazione

Strati
Strati di
di
utilizzazione
utilizzazione

Strato 3

Strato
Strato 33

Strato
Strato 22

Strato 2

Strato
Strato 11

Apparecchio
Apparecchio
terminale
terminale

Strato
Strato 11

Nodo
Nodo di
di
accesso
accesso

Strato
Strato 11

Nodo
Nodo di
di
transito
transito

Strato
Strato 11
Nodo
Nodo di
di
accesso
accesso

Strato 1

Apparecchio
Apparecchio
terminale
terminale

Figura IV.4.3 Prima alternativa di architettura protocollare


Nella seconda alternativa di Fig. IV.4.4 si considera invece il caso in cui lo strato MT quello di
rete. Ne consegue che i protocolli dei primi tre strati del modello OSI debbono essere aperti e chiusi in
ogni nodo della rete di trasporto. Questa architettura protocollare risponde quindi bene alle esigenze di
un elevato grado di integrit informativa, ma con un modesto grado di trasparenza temporale.
Una terza alternativa di architettura protocollare intermedia tra le due gi considerate. stata
definita in modo da consentire un trasferimento di informazione con prestazioni indipendenti dalle
caratteristiche del corrispondente servizio applicativo. Questa caratteristica considerata di rilievo per
un servizio di rete operante a sostegno di comunicazioni multimediali. Lalternativa in questione,
mostrata in Fig. IV.4.5, costituisce una particolarizzazione del modello di riferimento di Fig. IV.4.2.
Sono spostati verso i bordi della rete i siti di svolgimento delle funzioni di protocollo, che dipendono
dalle caratteristiche del servizio applicativo e sono onerose in termini di tempo richiesto per il loro
svolgimento. Si allude in particolare al controllo di flusso, al recupero d'errore e alla
sequenzializzazione delle UI. Ci comporta una drastica semplificazione delle procedure svolte nei
nodi di transito e, conseguentemente, una diminuzione dei ritardi di attraversamento e un aumento delle
portate di nodo.

95

Protocolli di utilizzazione

Strati
Strati di
di
utilizzazione
utilizzazione

Strati
Strati di
di
utilizzazione
utilizzazione

Strato
Strato 33

Strato
Strato 33

Strato
Strato 33

Strato 3

Strato
Strato 33

Strato
Strato 22

Strato
Strato 22

Strato
Strato 22

Strato 2

Strato 22

Strato
Strato 11

Strato
Strato 11

Strato
Strato 11

Strato 1

Strato 1

Nodo
Nodo di
di
accesso
accesso

Nodo
Nodo di
di
transito
transito

Apparecchio
Apparecchio
terminale
terminale

Nodo
Nodo di
di
accesso
accesso

Apparecchio
Apparecchio
terminale
terminale

Figura IV.4.4 Seconda alternativa di architettura protocollare


Protocolli di utilizzazione

Strati
Strati di
di
utilizzazione
utilizzazione

Strati
Strati di
di
utilizzazione
utilizzazione

3
2

Adatt .

Adatt .

MT

MT

MT

FIS

FIS

FIS

Apparecchio
terminale

Nodo di
accesso

Nodo di
transito

Nodo di
accesso

Apparecchio
terminale

Figura IV.4.5 Terza alternativa di architettura protocollare


[Adatt.: strato di adattamento; MT: strato di modo di trasferimento; FIS: strato fisico]
In questa terza alternativa si adotta una multiplazione dinamica e una commutazione con
attraversamento ad immagazzinamento e rilancio. La scelta dello strato MT conseguentemente il
risultato del rispetto di due vincoli:
attribuire allo strato MT un rango che sia il pi basso possibile;
differenziare lo strato MT da quello fisico per tener conto delle esigenze di bufferizzazione
poste dalle funzioni di multiplazione e di commutazione.
Ci richiede una completa ridefinizione degli strati pi bassi del modello OSI e, in particolare,
l'introduzione di due nuovi strati immediatamente al di sopra dello strato fisico. Questi sono in ordine
gerarchico decrescente: lo strato di adattamento e lo strato di modo di trasferimento. Lo strato di
adattamento contiene le funzioni dipendenti dal servizio applicativo, che hanno lo scopo di adattare le
esigenze specifiche dei servizi applicativi alle potenzialit del servizio di rete. Nello strato di modo di
trasferimento sono incluse le funzioni di multiplazione e di commutazione. Lo strato fisico garantisce
una efficiente utilizzazione del mezzo trasmissivo e un trasferimento affidabile della sequenza di cifre
binarie.
L'architettura protocollare che ne risulta quella mostrata in Fig. IV.4.5, dove si assume che gli
apparecchi terminali abbiano una struttura protocollare del tipo OSI. I nodi di transito effettuano solo
funzioni di strato fisico e di strato di modo di trasferimento. Le funzioni di strato di adattamento sono
localizzate nei nodi di accesso. In tal modo, il nucleo della rete di trasporto effettua solo le funzioni
comuni a tutti i servizi applicativi. In corrispondenza dei bordi della rete di trasporto sono invece svolte
le funzioni dipendenti dai servizi applicativi.

96
IV.5.

Alcuni modi di trasferimento

Gli attuali orientamenti nella scelta dei modi di trasferimento pi convenienti per lattuazione di
servizi di rete a supporto di applicazioni multimediali con esigenze di banda stretta o larga sono a
favore dei modi orientati al pacchetto. Caratteristica distintiva di questi modi limpiego di schemi di
multiplazione dinamica e di commutazione a pacchetto. Conseguentemente lattraversamento attuato
sempre nel modo ad immagazzinamento e rilancio, mentre le contese di utilizzazione sono
normalmente risolte con meccanismi prevalentemente a ritardo.
Da un punto di vista prestazionale, i modi orientati al pacchetto garantiscono un pi elevato grado
di flessibilit di accesso rispetto ai modi orientati al circuito, che sono contraddistinti da una
multiplazione statica e da una commutazione a circuito. Il minore grado di trasparenza temporale, che
connotava le prime realizzazioni dei modi orientati al pacchetto (quasi esclusivamente utilizzate nelle
reti dedicate per dati) oggi sostanzialmente superata attraverso gli accorgimenti che verranno chiariti
nel seguito (cfr. IV.5.5).
Nel seguito del paragrafo riassumiamo dapprima gli aspetti specifici che caratterizzano i modi di
trasferimento tradizionali e cio quelli a circuito ( IV.5.1) e a pacchetto ( IV.5.2). Successivamente
( IV.5.3) si illustrano le caratteristiche del modo di trasferimento asincrono (ATM - Asynchronous
Transfer Mode), che fino a un recente passato appariva come il pi serio candidato per la realizzazione
di un ambiente di servizi integrati a larga banda. La rassegna completata ( IV.5.4) con il modo di
trasferimento a rilegamento di trama (FR - Frame Relaying), che stato standardizzato per definire una
modalit pi efficiente per realizzare un trasporto di dati in ambiente di integrazione dei servizi a banda
stretta.
Per ognuno di questi modi, vengono precisati lo schema di multiplazione, il principio di
commutazione e l'architettura protocollare, in accordo ai criteri di classificazione introdotti nei
paragrafi precedenti. In particolare, per ci che riguarda l'architettura protocollare, viene individuato lo
strato di modo di trasferimento.
Il paragrafo si chiude con alcune considerazioni riguardanti i modi di trasferimento orientati al
pacchetto ( IV.5.5): in particolare viene esaminata linfluenza della lunghezza delle UI utilizzate sulle
prestazioni relative al trasporto dellinformazione.
IV.5.1.

Trasferimento a circuito

Un modo di trasferimento a circuito, quale stato ed tuttora impiegato nelle reti telefoniche,
associato ad un servizio di rete con connessione; lesempio decisamente pi significativo, di modo
orientato al circuito. Utilizza:
- una multiplazione statica, di cui l'esempio pi largamente diffuso nelle reti telefoniche
numeriche costituito dalla multiplazione PCM, con un RCB costituito da 8 cifre binarie e
con un sub-canale di base avente capacit di trasferimento uguale a 64 kbit/s;
- una commutazione a circuito;
- unarchitettura protocollare, in cui lo strato MT quello fisico (cfr. Fig. IV.4.3).
Nel caso di una comunicazione punto-punto su base chiamata, il trasferimento dell'informazione
d'utente avviene su una connessione fisica commutata (circuito fisico) da utente a utente. Per instaurare
tale connessione all'inizio della chiamata e per abbatterla al termine della comunicazione, avviene uno
scambio di informazione di segnalazione tra i due utenti chiamante e chiamato da un lato e la rete
dall'altro. Nell'ambito della rete di trasporto si ha anche un trasferimento dell'informazione di
segnalazione tra i nodi coinvolti nella chiamata.
La durata richiesta per instaurare la connessione il ritardo di instaurazione e pu variare, a
seconda delle caratteristiche della rete e dei nodi che la compongono, da alcune decine di millisecondi

97
ad alcuni secondi. Questo ritardo il risultato dei tempi richiesti per elaborare l'informazione di
segnalazione in ognuno dei nodi coinvolti nella chiamata e per trasferire tale informazione dal
chiamante al chiamato (segnalazione in avanti) e viceversa (segnalazione all'indietro); dipende anche
dai tipi di protocolli di segnalazione che vengono impiegati.
In relazione poi al carico della rete, possono verificarsi condizioni di congestione, che
impediscono la instaurazione del circuito fisico da utente a utente. Tali condizioni possono
corrispondere a temporanea insufficienza di risorse di trasferimento sia all'interno di uno tra i nodi
coinvolti nella chiamata, sia all'esterno di questi. Nel primo caso si ha l'impossibilit di formare una
connessione diretta ingresso-uscita e si parla allora di congestione interna; il secondo caso corrisponde
invece a una condizione di congestione esterna, che si manifesta con la impossibilit di pre-assegnare
individualmente alla chiamata una delle linee di giunzione uscenti dal nodo.
IV.5.2.

Trasferimento a pacchetto

Un modo di trasferimento a pacchetto, quale stato realizzato nelle reti dedicate per dati,
associato ad un servizio di rete che pu essere di due tipi
quando senza connessione, normalmente indicato come servizio datagramma;
quando invece con connessione, denominato servizio a chiamata virtuale o a circuito
virtuale, a seconda che la connessione sia commutata o semi-permanente, rispettivamente.
caratterizzato da:
una multiplazione dinamica, in cui le UI (pacchetti) sono, in generale, di lunghezza variabile
e sono trasferite su canali con asse dei tempi indiviso; il trattamento delle contese di
utilizzazione orientato al ritardo;
una commutazione a pacchetto con o senza connessione a seconda di quale sia il servizio di
rete da realizzare;
una architettura protocollare, in cui lo strato MT quello di rete (cfr. fig. IV.4.4).
Con riferimento a una chiamata virtuale, la rete, a seguito di scambio di informazione di
segnalazione, mette a disposizione un circuito virtuale. Tale associazione definita nella fase di
instaurazione ed attuata, in ogni nodo coinvolto nella chiamata, tramite una corrispondenza tra un
canale logico entrante ed uno uscente.
Un esempio di particolare rilievo riguardante la realizzazione del servizio datagramma offerto da
Internet, nella sua versione originaria come rete dedicata per dati.
IV.5.3.

Modo di Trasferimento Asincrono

L'ATM un modo di trasferimento orientato al pacchetto che offre un servizio orientato alla
connessione e in cui:
la multiplazione dinamica; le UI trattate sono chiamate celle e hanno un formato di
lunghezza fissa; l'asse dei tempi suddiviso in IT con o senza organizzazione in trama;
la commutazione a pacchetto con connessione;
l'architettura protocollare segue le linee-guida descritte nel modello di Fig. IV.4.5, dove lo
strato di modo di trasferimento chiamato strato ATM.
Pi in particolare, una cella ha una lunghezza complessiva di 53 ottetti di cui 5 sono dedicati
all'intestazione. L'etichetta identifica le celle appartenenti allo stesso canale logico per mezzo di un
identificatore di connessione. Sono previsti due tipi di canale logico: i canali virtuali (virtual channel) e
i percorsi virtuali (virtual path). L'informazione di indirizzamento deve essere protetta contro possibili
errori; conseguentemente al contenuto dell'intestazione applicata una procedura di controllo di errore.

98
Una connessione virtuale identificata da una sequenza di identificatori di connessione. Ogni
elemento di questa sequenza assegnato, per ciascun segmento di rete, durante la fase di instaurazione
e viene restituito quando non pi necessario. La connessione, cosi' identificata, rimane invariata per
tutta la durata della chiamata.
Nel corso della chiamata, la capacit di trasferimento assegnata a domanda in relazione
all'attivit della sorgente e alle risorse disponibili. L'integrit della sequenza di celle su un canale logico
garantita dallo strato ATM.
L'ATM offre una potenzialit di trasferimento flessibile, comune a tutti i servizi, inclusi quelli
senza esigenze di connessione. A tale scopo provvedono le funzionalit dello strato di adattamento. Il
limite tra lo strato ATM e gli strati superiori corrisponde a quello tra le funzioni supportate dai
contenuti dell'intestazione e quelle legate all'informazione contenuta nel testo della cella.
In corrispondenza allinterfaccia utente-rete sono attivate, in forma commutata o semi-permanente,
connessioni logiche multiple verso destinazioni differenziate. Nel caso di connessione commutata la
corrispondente informazione di segnalazione trasferita in modo logicamente separato rispetto
allinformazione di utente. La separazione dei piani di utente e di controllo segue le linee-guida
illustrate per le architetture di comunicazione rappresentate da modelli a tre piani (cfr. par. II.7).
IV.5.4.

Modo di trasferimento FR

LFR un modo di trasferimento che, come lATM, orientato al pacchetto e offre un servizio
con connessione commutata o semi-permanente. Pi in particolare:
la multiplazione dinamica; le UI trattate sono chiamate trame e hanno un formato di
lunghezza variabile; l'asse dei tempi indiviso; la gestione delle contese di utilizzazione a
ritardo;
la commutazione a pacchetto con connessione;
l'architettura protocollare segue le linee-guida descritte nel modello OSI, in cui allo strato
MT attribuito il rango 2.
Come nellATM, linstaurazione di una connessione commutata richiede un trasferimento di
informazioni di segnalazione attuato in modo logicamente separato rispetto allinformazione di utente.
Questa separazione tra le funzionalit relative allinformazione di utente e a quella di controllo trova
anche qui corrispondenza in una architettura a tre piani (cfr. par. II.7).
Linformazione di utente trasferita utilizzando un protocollo, che chiamato LAPF (Link Access
Procedure for Frame Mode). Il trasferimento attraverso la rete conserva lordine di emissione delle
trame tra il punto di accesso di origine e quello di destinazione (conservazione della sequenzialit). Il
servizio di rete rivela gli errori trasmissivi, di formato e operativi e scarta le trame affette da errore.
Non pu essere evitata la perdita di trame e non previsto alcun meccanismo di controllo di flusso
attraverso linterfaccia utente-rete. Questo insieme di caratteristiche ha lobiettivo di ottenere un
alleggerimento delle operazioni di trasporto e quindi con minor ritardo di trasferimento.
IV.5.5.

Trasferimento a pacchetto e trasparenza temporale

Nelle realizzazioni pi recenti di nodi operante secondo modi di trasferimento orientati al


pacchetto, il valor medio e la varianza del ritardo di trasferimento sono tali da assicurare un elevato
grado di trasparenza temporale. Ci dovuto alla riduzione delle funzionalit di protocollo espletate
dai nodi di transito e alle possibilit oggi offerte di realizzare, da un lato, nodi con una drastica
riduzione dei ritardi di attraversamento e, dall'altro, sistemi di trasmissione ad alta velocit.
Questo obiettivo conseguibile, oltre che a seguito della utilizzazione di protocolli a bassa
funzionalit, anche per effetto di quanto oggi consente la tecnologia dei sistemi di elaborazione e di

99
quelli di trasmissione. infatti possibile realizzare elaboratori di UI con alto parallelismo e quindi con
ridottissimi tempi di elaborazione per ogni UI. Inoltre l'impiego di canali trasmissivi ad alta capacit,
quali sono realizzabili su fibra ottica, consente di ridurre fortemente i tempi di emissione di ogni UI.
Tuttavia l'utilizzazione di un modo di trasferimento orientato al pacchetto in un ambiente di servizi
integrati implica due ulteriori componenti del ritardo di trasferimento, che assumono, per flussi
informativi continui in un contesto di alta velocit di trasferimento, valori non trascurabili e, in alcuni
casi, addirittura dominanti. Si allude al ritardo di pacchettizzazione e a quello di de-pacchettizzazione,
che sono introdotti, rispettivamente, all'inizio e alla fine di ogni parte di rete in cui applicato il modo
di trasferimento in esame.
Nel caso di flusso informativo continuo, il ritardo di pacchettizzazione gi stato definito in
IV.3.3 come il tempo necessario a riempire una UI; dato dal rapporto fra la lunghezza (in cifre
binarie) di una UI e il ritmo binario di emissione della sorgente. Il ritardo di de-pacchettizzazione
invece il tempo necessario a equalizzare i ritardi di trasferimento (cfr. IV.1.1), se questa operazione
richiesta com talvolta il caso di servizi aventi esigenza di elevato grado di trasparenza temporale, e a
permettere la ricostruzione del flusso informativo continuo.
Nei modi orientati al pacchetto l'informazione trasferibile in piccole UI aventi lunghezza fissa o
variabile. I vantaggi potenziali di UI con lunghezza variabile risiedono in considerazioni di flessibilit,
di efficienza e di qualit di servizio. Di questi vantaggi possono essere dati due esempi, con riferimento
alle applicazioni riguardanti la voce e i dati.
Le sorgenti di dati emettono segmenti informativi composti da un numero di ottetti (di cifre
binarie) che pu variare da 1 o 2 unit fino a varie centinaia di migliaia. In questo caso l'uso di UI con
lunghezza fissa sarebbe inefficiente per il trasferimento di segmenti informativi sia pi brevi della
lunghezza fissa (in quanto parte della UI non verrebbe utilizzata), sia pi lunghi (in quanto sarebbe
necessario l'impiego di una molteplicit di UI, ognuna con la sua informazione aggiuntiva di
protocollo).
Per ci che riguarda le applicazioni vocali, queste sono basate su un vasto campo di possibili ritmi
binari di codifica (da una decina di kbit/s fino ad alcune centinaia di kbit/s in corrispondenza di
differenti qualit dell'informazione vocale trasferita), ma comportano in ogni caso analoghi vincoli sul
valore di picco del ritardo di trasferimento. Il mancato rispetto di questi vincoli comporta l'introduzione
di dispositivi per il controllo dell'eco (cancellatori d'eco), con conseguenti costi aggiuntivi. D'altra
parte, in queste applicazioni, il ritardo di trasferimento largamente dipendente dal ritardo di
pacchettizzazione, che, come si visto, direttamente proporzionale alla lunghezza della UI e
inversamente proporzionale al ritmo binario di emissione della sorgente. Conseguentemente, per ogni
valore di questo ritmo, esiste un valore massimo della lunghezza di UI.
I vantaggi di una UI con lunghezza fissa sono principalmente legati alla semplificazione delle
funzionalit di commutazione nei nodi di rete. Infatti questa soluzione facilita il dimensionamento degli
organi di nodo (buffer) preposti all'immagazzinamento delle UI e assicura un flusso continuo di
informazione di etichetta negli elaboratori di UI. consentita una elaborazione pi veloce del flusso
asincrono di UI, dato che, nell'ambito dell'alternativa S dello schema di multiplazione, la delimitazione
delle UI identificabile in modo agevole, quando siano assicurate condizioni di sincronizzazione di IT.
Se viene adottata una UI con lunghezza fissa, questa deve essere la pi corta possibile. Tale scelta
legata a ragioni di efficienza per ci che riguarda la funzione di commutazione e a motivi
prestazionali per quanto attiene la riduzione del ritardo di pacchettizzazione. Inoltre, l'impiego di UI di
piccola lunghezza rende pi tollerabile il loro eventuale scarto a seguito di rivelazione di errore sulle
loro etichette.
Per concludere, poi da considerare che la portata media di un nodo che adotta un modo di
trasferimento orientato al pacchetto deve essere aumentata di oltre due ordini di grandezza rispetto a
quella che necessaria nei nodi a pacchetto operanti nelle reti per dati. Supponiamo infatti che

100
l'informazione da trasferire sia quella emessa da una sorgente vocale in una conversazione telefonica e
assumiamo che:
la codifica della voce sia effettuata con rivelazione dei tratti di voce attiva e il grado di
intermittenza della sorgente sia uguale a 2,5 (ipotesi 1);
la lunghezza, supposta fissa, di una UI sia tale da contenere un segmento di voce attiva con
durata di 10 ms (ipotesi 2);
ogni chiamata telefonica abbia una durata media di 180 s. (ipotesi 3).
In queste condizioni, sulla base delle ipotesi 1) e 2), in ognuna delle due direzioni di trasferimento
vengono emesse in media 1/(1010-32,5) = 40 UI/s e quindi 40180 = 7.200 UI nella durata di una
chiamata. Ci si riflette sul valore di portata media richiesto per un nodo. A tale riguardo consideriamo
un autocommutatore locale telefonico, che sia in grado di servire fino a 100.000 utenti. Allora, se le
chiamate hanno la durata media che si sopra ipotizzata e se lintensit media di traffico offerto da
ogni utente di 0,1 Erl, l'autocommutatore deve essere in grado di trattare in media fino a circa 55
chiamate/s. Conseguentemente, un autocommutatore locale, che operi con un modo di trasferimento
orientato al pacchetto e che abbia una capacit di trattamento di chiamata avente valore comparabile
con quella dell'autocommutatore telefonico, dovrebbe avere una portata media di circa 800.000 UI/s, in
accordo con quanto si anticipato circa il confronto con le portate medie dei nodi a pacchetto per
applicazioni di dati.
Valori cos elevati di portata media di nodo sono oggi realizzabili attraverso i mezzi gi
menzionati ai fini della riduzione del ritardo di attraversamento.
IV.6.

Nodi a circuito

I commutatori a circuito mettono a disposizione i mezzi (elementi di commutazione) per


instaurare, a richiesta, una connessione diretta tra una terminazione di ingresso (appartenente ad un
insieme J) e una terminazione di uscita (appartenente ad un insieme U). Linstaurazione e
labbattimento della connessione sono attuate, in alternativa, tramite interventi al servizio di una
specifica comunicazione ovvero tramite provvedimenti di natura gestionale al servizio delle
comunicazioni tra due o pi insiemi di utenti del servizio di rete. Il primo caso riguarda nodi che sono
in grado di gestire connessioni commutate; il secondo tipico di nodi che trattano connessioni semipermanenti. In entrambi i casi la connessione instaurata attraverso lazionamento di uno o pi
elementi di commutazione; labbattimento loperazione complementare alla instaurazione.
Nel caso di nodo in grado di gestire connessioni commutate, linstaurazione e labbattimento di
una connessione rientrano normalmente tra gli adempimenti connessi al trattamento di chiamata e, in
questo caso, avvengono allinizio e al termine della comunicazione rispettivamente. Possono per
avvenire nel corso della comunicazione quando sia richiesto un adeguamento della connessione alle
esigenze variegate di una comunicazione multimediale. La gestione di connessioni commutate
effettuata in ogni caso a seguito di messaggi di segnalazione, che provvedono a coordinare i compiti
dei nodi interessati alla formazione e alla liberazione di un percorso di rete da estremo a estremo al
servizio di una specifica comunicazione. Linstaurazione di una connessione diretta allinterno di un
nodo a circuito una operazione che richiede una decisione di instradamento. Questultima avviene nel
rispetto di opportune regole.
Gli elementi di commutazione hanno un funzionamento dipendente dalla grandezza fisica (spazio,
tempo, frequenza, ecc.) che viene utilizzata per distinguere le terminazioni di ingresso e di uscita. Ad
un nodo di rete accedono linee (di ingresso o di uscita) che sono il supporto di uno o pi flussi di
informazione, associati a una o pi comunicazioni contemporanee. Un commutatore a circuito pu

101
essere realizzato, in linea di principio, a divisione di spazio o a divisione di tempo o a divisione di
frequenza (o di lunghezza donda).
Queste sono anche le tecnologie con le quali nel tempo sono state realizzate le reti di connessione,
e cio quelle strutture che sono preposte ad attuare la funzione di attraversamento in un nodo a circuito.
La tecnica a divisione di tempo quella attualmente impiegata e caratterizza la realizzazione di reti di
connessione in tecnologia numerica.
Per chiarire quale sia stata levoluzione delle tecniche realizzative dei nodi a circuito utile fare
riferimento al loro impiego nelle reti telefoniche.
La tecnica di progettazione delle reti telefoniche, con riferimento specifico alle apparecchiature di
commutazione (autocommutatori) e ai sistemi di trasmissione che ne fanno parte, si sviluppata per
oltre mezzo secolo in un ambiente di comunicazioni completamente analogiche, quale era consentito
dalla tecnologia disponibile, e ha condotto a realizzazioni via via pi perfezionate.
Dalla seconda met degli anni '60, la rete telefonica ha iniziato l'evoluzione tecnologica e
sistemistica verso un impiego generalizzato delle tecniche numeriche in tutti gli apparati componenti.
Questo sviluppo, ormai giunto a conclusione, ha riguardato dapprima i sistemi di trasmissione e,
successivamente (dopo circa un decennio), anche gli apparati di commutazione. L'obiettivo finale
stato la realizzazione di una rete numerica integrata nelle tecniche (IDN - Integrated Digital Network).
Gli elementi distintivi di una IDN telefonica sono stati e sono tuttora:
1) l'utilizzazione di tecnologie completamente elettroniche;
2) l'impiego di elaboratori per controllare, da un punto di vista decisionale, il funzionamento
degli autocommutatori (elaboratori di controllo);
3) la graduale sostituzione, nella rete di trasporto, della Segnalazione Associata al Canale con
la Segnalazione a Canale Comune (SCC) (cfr. IV.9.1. e IV.9.2).
Circa il punto 1), si pu ricordare che, almeno per ci che riguarda le apparecchiature di
commutazione, la tecnologia utilizzata per circa 50 anni stata quella elettromeccanica e
successivamente (dalla met degli anni '60) quella semielettronica (e cio in parte elettromeccanica e in
parte elettronica). La transizione verso un impiego generalizzato di tecnologie elettroniche, dapprima
con l'impiego di componentistica discreta a semiconduttori e, in un momento successivo, con
l'utilizzazione di tecniche microcircuitali a vari livelli di integrazione, ha rivoluzionato le tecniche
progettuali, le metodologie costruttive e l'organizzazione di esercizio degli impianti.
Relativamente poi al punto 2), un elaboratore controlla un autocommutatore sulla base di un
opportuno programma. Un autocommutatore con controllo a programma memorizzato (SPC - Stored
Program Control) ha presentato (e presenta tuttora) vantaggi decisivi rispetto all'impiego di logiche di
tipo cablato. Tra questi si possono citare:
la modularit e la modificabilit, e cio la suddivisione del programma di controllo in moduli
che possono essere modificati separatamente e indipendentemente, in modo relativamente
agevole;
la adattabilit al sito e la estensibilit, e cio la possibilit di fronteggiare sia specifiche
condizioni di sito all'atto della prima installazione, che mutate condizioni di esercizio
dell'autocommutatore;
la autodiagnostica e la capacit di adattamento a condizioni di funzionamento anormali, e
cio, da un lato, la possibilit offerta agli addetti di individuare e di eliminare rapidamente
eventuali guasti e, dall'altro, la possibilit di modificare la configurazione di sistema per
consentirne la sopravvivenza.
Con riguardo infine al punto 3), nelle IDN telefoniche le informazioni di segnalazione vengono
scambiate fra i nodi di commutazione per il tramite della rete SCC.

102
IV.6.1.

Divisione di spazio

Se ogni linea di accesso il supporto di un singolo flusso informativo (associato quindi a una
singola comunicazione), la grandezza fisica che si utilizza per distinguere una terminazione da unaltra
lo spazio; linsieme dei flussi informativi che entrano nel sistema o che ne escono allora strutturato
con una particolare modalit di multiplazione statica, chiamata multiplazione a divisione di spazio.
Il sistema di commutazione, che opera su flussi informativi distinti su base spaziale, detto
anchesso a divisione di spazio (DS). La tecnica DS stata applicata prevalentemente in passato con
luso di tecnologie elettromeccaniche.
Elemento di commutazione, che di base per la tecnica DS, il punto di incrocio, e cio un
dispositivo a due stati: quello di apertura e quello di chiusura. Un punto di incrocio collegato, da un
lato, con una terminazione di ingresso e, dallaltro lato, con una di uscita: la chiusura del punto di
incrocio stabilisce una connessione diretta tra queste terminazioni; la sua apertura abbatte la
connessione in atto.
Un insieme di punti di incrocio:
- a cui fanno capo J terminazioni di ingresso e Uterminazioni di uscita;
- organizzato in una struttura matriciale a Jrighe e a Ucolonne, tale che allincrocio di
ogni riga con ogni colonna pu essere collocato un punto di incrocio;
- in cui ad ogni riga corrisponde una terminazione di ingresso e ad ogni colonna una
terminazione di uscita,
costituisce una matrice spaziale a divisione di spazio (S-matrice DS). In una S-matrice DS, la
connessione della terminazione di ingresso facente capo alla riga i-esima con quella di uscita facente
capo alla colonna j-esima si attua attraverso la chiusura del punto di incrocio che collocato
allintersezione della riga i-esima con la colonna j-esima.
IV.6.2.

Divisione di tempo

Se ogni linea di accesso il supporto di una molteplicit di flussi informativi, che corrispondono
ad altrettante comunicazioni in corso di svolgimento e se la grandezza fisica che si utilizza per
distinguere una terminazione da unaltra il tempo, linsieme dei flussi informativi che entrano nel
sistema o che ne escono allora strutturato con una multiplazione statica a divisione di tempo, e cio
con asse dei tempi suddiviso in intervalli temporali (IT) e organizzato in trame.
Il sistema di commutazione, che opera su flussi informativi distinti su base temporale, detto
anchesso a divisione di tempo (DT); la tecnica DT normalmente in forma numerica, dato che tali
sono i flussi informativi su cui opera, e si applica attualmente con luso di tecnologie elettroniche.
Con riferimento a un linea di accesso (di ingresso o di uscita) a commutatore DT in forma
numerica (bus di accesso), linformazione (gruppo di cifre binarie) relativa a una comunicazione
contenuta in un IT che si ripresenta periodicamente con un intervallo uguale alla durata della trama. Un
IT individua quindi una terminazione del sistema di commutazione: questa terminazione di ingresso
se il bus di ingresso; invece di uscita se il bus di uscita.
Una commutazione DT in forma numerica consiste quindi nello spostare temporalmente (nel
verso dei ritardi):
il contenuto di un IT appartenente alla sequenza di trame su uno dei bus di ingresso (trame
di ingresso),
in un IT (in generale con diverso numero dordine rispetto allIT in ingresso) appartenente
alla sequenza di trame su uno dei bus di uscita (trame di uscita).
Lo scambio di IT pu riguardare una stessa trama o due trame successive (Fig. IV.6.1). Il trasferimento
pu avvenire con uno o pi scambi di IT.

103
Trama
T r a m a ## k + 1

Trama
Trama ## kk
i

ingresso
uscita

Trama # k

Trama # k + 1
i

ingresso
uscita

Intervallo
Intervallo
temporale
temporale

Unit
RCB
informativa

TEMPO

Figura IV.6.1- Tecnica di commutazione a divisione di tempo: scambio di IT


(a) nella stessa trama o (b) in due trame successive.
Condizione necessaria affinch questa operazione sia possibile che i flussi numerici multiplati
allingresso e alluscita del sistema siano tra loro sincroni, e cio supportati da sincrosegnali aventi
uguale frequenza e uguale fasatura di trama: ci equivale a dire che la differenza di fase tra gli istanti
caratteristici dei corrispondenti segnali numerici deve essere invariante nel tempo.
Con la tecnica a divisione di tempo, il ritardo di attraversamento, che, come in tutte le connessioni
dirette, di valore costante, costituito da due componenti. Una, di valore normalmente trascurabile,
corrisponde al ritardo di propagazione tra l'ingresso e l'uscita del nodo. L'altra un multiplo della
durata di un IT. Se, nell'ambito di una trama con N IT, i il numero d'ordine dell'IT corrispondente
all'ingresso (i = 1, 2, ..., N) e j quello corrispondente all'uscita (j = 1, 2, ..., N), tale multiplo almeno
uguale a
j-i
se
j>i
N+j-i
se
j<i
e cio a seconda che lo scambio di IT avvenga nella stessa trama o in due trame successive. Pu essere
maggiore, se, all'interno della rete di connessione, effettuato pi di uno scambio di IT.
Lelemento di commutazione , che di base nella commutazione DT in tecnica numerica, lo
scambiatore di IT, e cio un dispositivo di memoria, capace di introdurre un ritardo costante tra
ingresso e uscita. Questo ritardo tale da spostare, periodicamente a cadenza di trama, il gruppo di
cifre binarie contenuto in un IT appartenente alle trame di ingresso in un diverso IT appartenente alle
trame di uscita. Ci equivale a connettere direttamente una terminazione di ingresso con una di uscita.
Lo scambiatore di IT nella commutazione DT quindi funzionalmente equivalente al punto di contatto
nella commutazione DS.
Un elemento di commutazione DT, che pu essere confrontato funzionalmente con una S-matrice
DS, la matrice temporale (T-matrice), e cio un dispositivo che, nella versione pi semplice, presenta
un bus di ingresso e uno di uscita. La T-matrice modellabile con due memorie (Fig. IV.6.2): la
memoria di commutazione, che preposta a trattare il flusso informativo attraversante il sistema, e la
memoria di comando, che adibita a funzioni di controllo della memoria di commutazione.

104

1
2

.
.
.

1
2

.
.
.
j

...

Memoria di comando

Memoria di commutazione

Bus di ingresso
1
N

M
Bus di uscita

M
1jN

Figura IV.6.2 Modello di T-matrice


La funzione della T-matrice trasferire il contenuto di uno qualunque degli IT appartenenti alle
trame di ingresso in uno qualunque degli IT appartenenti alle trame di uscita. In una T-matrice, le
terminazioni di ingresso e quelle di uscita sono in corrispondenza con gli IT appartenenti alle trame di
ingresso e a quelle di uscita, rispettivamente. La connessione diretta tra la terminazione di ingresso iesima e quella di uscita j-esima pu essere attuata ritardando, periodicamente a cadenza di trama, il
contenuto dellIT i-esimo. Lentit del ritardo, che specifica di ogni singola comunicazione e che
costante per tutta la durata di questa, deve essere commisurata alla posizione temporale dellIT j-esimo
immediatamente successivo nello stesso intervallo di trama o in quello seguente. Loperazione di
ritardo attuata dalla memoria di commutazione, mentre il controllo di questa operazione (entit del
ritardo per ogni comunicazione e sua attuazione con periodicit di trama) compito della memoria di
comando.
Facendo riferimento alla connessione tra li-esimo IT appartenente alle trame di ingresso e lo jesimo IT appartenente alle trame di uscita, un possibile funzionamento della T-matrice il seguente:
la memoria di commutazione una RAM organizzata in celle, ognuna delle quali in grado di
memorizzare un RCB quale contenuto in un IT appartenente alle trame di ingresso o di
uscita;
gli RCB sono depositati nella memoria di commutazione (fase di scrittura) rispettando lordine
sequenziale degli IT appartenenti alle trame di ingresso; in particolare lRCB contenuto nelliesimo IT scritto nella cella i-esima;
il contenuto della cella i-esima della memoria di commutazione viene successivamente
prelevato (fase di lettura) in corrispondenza dello j-esimo IT appartenente alle trame di uscita;
lordine di lettura della memoria di commutazione stabilito esplorando ciclicamente i
contenuti della memoria di comando; in tale memoria disponibile, per ognuno degli IT
appartenenti alle trame di uscita, il numero dordine dellIT appartenente alle trame di ingresso
da mettere in relazione con esso; cio, al passo j-esimo dellesplorazione della memoria di
comando, si trova lindirizzo i della cella appartenente alla memoria di commutazione;
il riempimento degli indirizzi nella memoria di comando effettuato nella fase di instaurazione
della connessione corrispondente ad ogni comunicazione.
Una T-matrice, il cui bus di ingresso supporta trame con J IT e il cui bus di uscita supporta
trame con U IT, funzionalmente equivalente a una S-matrice DS con J righe e U colonne.

105
In conclusione un commutatore DT numerico, operante nellambito di un servizio di rete con
connessione commutata su base chiamata, rende disponibile una connessione diretta tra un sub-canale
di base del flusso multiplato in ingresso e un corrispondente sub-canale di base del flusso multiplato in
uscita. Ad esempio, se la multiplazione statica di tipo PCM e se quindi i suoi sub-canali di base hanno
capacit di 64 kbit/s, tale anche la capacit della connessione che viene messa a disposizione della
chiamata per tutta la sua durata.
Almeno in linea di principio, possono anche essere attuate connessioni con capacit che siano
multiple o sotto-multiple di quella del sub-canale di base della multiplazione statica. Nel primo caso si
parla di commutazione a multi-IT, nel secondo di commutazione a sotto-ritmo. Le relative modalit di
attuazione sono immediatamente deducibili, ove si tenga conto di quanto detto, a proposito della sovra
e della sotto-multiplazione, rispettivamente.
Inoltre, sempre con riferimento allevoluzione di una chiamata, durante la fase di trasferimento
dell'informazione in una comunicazione punto-punto, le due parti hanno a disposizione una
connessione fisica, che caratterizzata da una portata e da un ritardo di trasferimento, che sono costanti
per tutta la durata della chiamata. Questa condizione di trasparenza temporale, gi pi volte sottolineata
come caratterizzante la tecnica a circuito ha due implicazioni. Da un lato essa offre un canale di
trasferimento individuale, che viene reso disponibile per tutta la durata della chiamata e in maniera
esclusiva per le parti in comunicazione. Dall'altro essa obbliga i due utenti alle estremit di questo
canale a verificare, prima dell'instaurazione della connessione, la loro compatibilit in termini di ritmo
binario emesso e ricevuto, di procedure di controllo, ecc.
IV.6.3.

Divisione di frequenza

Se ogni linea di accesso il supporto di una molteplicit di flussi informativi, che corrispondono
ad altrettante comunicazioni in corso di svolgimento e se la grandezza fisica che si utilizza per
distinguere una terminazione da unaltra la frequenza (o la lunghezza donda), linsieme dei flussi
informativi che entrano nel sistema o che ne escono strutturato con una multiplazione statica a
divisione di frequenza (o di lunghezza donda).
Il sistema di commutazione, che opera su flussi informativi distinti sullasse delle frequenze (o
delle lunghezze donda), detto anchesso a divisione di frequenza (DF) (o a divisione di lunghezza
donda). La tecnica di commutazione DF si applica attualmente con luso di tecnologie fotoniche ed
denominata commutazione WDM (Wavelength Division Multiplexing).
Per i sistemi di commutazione DF , possono ripetersi le stesse considerazioni svolte per i sistemi
DT, con la diversit rappresentata dallasse delle frequenze in luogo di quello dei tempi.
IV.6.4.

Gestione dei sincrosegnali

Si gi osservato che una commutazione DT numerica possibile se i flussi numerici multiplati


allingresso e alluscita del sistema sono tra loro sincroni. Ci deriva dal fatto che i flussi di cifre
binarie entranti e uscenti in ogni nodo a circuito numerico, cos come quelli emessi e ricevuti da ogni
apparecchio terminale, sono posti in una corrispondenza temporalmente trasparente.
La condizione di sincronismo pu essere soddisfatta assicurando una sincronizzazione di rete, e
cio mettendo in atto quanto necessario affinch le frequenze emesse dagli orologi di nodo siano in
alternativa: almeno mediamente uguali (condizione di mesocronismo) o con scarti relativi che debbono
essere contenuti entro ristrettissimi margini di tolleranza (condizione di plesiocronismo). Le modalit
per conseguire questo obiettivo saranno illustrate in IV.6.6.
Inoltre, occorre impiegare organi di interfaccia tra nodo e rete, che garantiscano, per tutti i flussi
numerici entranti, condizioni di sincronismo di cifra e di allineamento di trama, quali risultano dal

106
rispetto del vincolo di sincronismo tra i corrispondenti sincro-segnali. Infine, la temporizzazione degli
apparecchi terminali e di altri apparati (multiplatori, concentratori, ecc.) nella rete di accesso deve
essere asservita alla temporizzazione di rete.
IV.6.5.

Interfacce

Per un nodo di commutazione a circuito, si distinguono (Fig. IV.6.3) linterfaccia di utente (tra
nodo e linea di utente) e linterfaccia di giunzione (tra nodo e linea di giunzione).

AU

UL

Linee d'utente
analogiche

Linee PCM
a 2.048 Mbit/s
AU

UL
Nodo di
commutazione
PCM

Figura IV.6.3 Interfacce di utente (AU) e di giunzione (UL) per laccesso a un nodo PCM
Nelle attuali reti a circuito (ad es. in quelle telefoniche) la linea di utente utilizza usualmente, come
mezzo trasmissivo, una coppia bifilare in rame (doppino) e connette un singolo impianto terminale di
utente (costituito da uno o pi apparecchi telefonici o telefax, apparati terminali per dati con i relativi
modem, ecc.) con l'autocommutatore di competenza. L'interfaccia tra la linea di utente e
l'autocommutatore comunemente chiamata attacco di utente. Si tratta di una risorsa individuale in
quanto dedicata in modo esclusivo a ciascuna linea di utente. Presenta quindi una diffusione capillare in
una rete telefonica.
Le funzioni di un attacco di utente sono le seguenti:
- l'alimentazione di linea per il microfono dell'apparecchio telefonico (battery); uno schema
usualmente impiegato prevede che i due fili del doppino vengano alimentati
simmetricamente con una tensione, rispetto a terra, di -48 V attraverso due resistenze di
400 ;
- la protezione da sovratensioni (overvoltage protection ), dovute a fenomeni atmosferici o a
accoppiamenti con eventi impulsivi in impianti elettrici di potenza; ad esempio un fulmine
pu dare luogo a sovratensioni impulsive con ampiezze che possono raggiungere valori
dell'ordine del migliaio di volt, con tempi di salita dell'ordine di alcuni microsecondi e con
tempi di discesa dell'ordine del millisecondo;
- la generazione del segnale di chiamata (ringing); questo segnale ha la frequenza di 25 Hz e
tensione di valore efficace uguale a 75 V tra i due fili del doppino;
- la supervisione (supervisory) dello stato della linea d'utente; ha lo scopo di sorvegliare lo
stato di apertura o di chiusura del doppino e quindi di rivelare lo sgancio del microtelefono
come manifestazione dell'intenzione dell'utente a dare inizio ad una chiamata;
- le conversioni A/N e N/A del segnale vocale, se questo trasferito sul doppino in forma
analogica; come noto il formato del segnale numerico usualmente quello PCM a 64
kbit/s e la funzione quella di codifica/decodifica (codec) oggi attuabile con dispositivi
individuali;
- il passaggio da due a quattro fili, tramite un dispositivo che chiamato forchetta (hybrid);
questa funzione necessaria dato che un autocommutatore numerico a quattro fili;

107
-

l'accesso per rilevamento di caratteristiche elettriche (testing), da effettuare sia dal lato
della linea di utente, sia da quello dell'autocommutatore; ad esempio, poich i cavi della
rete di distribuzione (sezione di accesso della rete telefonica) possono subire degradazioni
delle loro caratteristiche elettriche (conduzione, isolamento, ecc.) in seguito a cause varie
(infiltrazioni di umidit, ecc.), necessario avere la possibilit di effettuare rilevamenti
sulla linea di utente per riconoscere la presentazione di queste condizioni di degradazione.
Le funzioni dell'attacco di utente ora descritte sono talvolta indicate, per ragioni di sintesi, con
l'acronimo BORSCHT, composto dalle iniziali delle parole battery, overvoltage, ringing, supervisory,
codec, hybrid, testing.
Il secondo tipo di interfaccia che importante considerare quello di giunzione. Al riguardo
occorre tenere conto che l'accesso a un autocommutatore PCM concesso solo a autostrade anchesse
PCM, e cio a linee che supportino uno schema di multiplazione statica PCM con organizzazione in
trame di durata uguale a 125 s. Si poi gi sottolineato come i segnali numerici all'ingresso e
all'uscita di una rete di connessione PCM debbano essere tra loro sincroni. La condizione di
sincronismo pu essere realizzata soltanto attraverso un'opportuna interfaccia tra linee di giunzioni
entranti o uscenti e l'autocommutatore. Questa interfaccia denominata in vari modi; qui si user il
termine unit di linea.
Per chiarirne il funzionamento, consideriamo una linea di giunzione che si attesta al lato ricevente
dell'unit di linea. Nel punto di attestazione il flusso numerico non in generale sincrono con altri
flussi numerici entranti nell'autocommutatore. Analogo asincronismo si verifica tra ognuno dei flussi
entranti e ognuno dei flussi uscenti dall'autocommutatore. Relativamente a quest'ultimo, le funzioni da
esso svolte sono controllate da un cronosegnale emesso da un orologio locale , che fornisce la
temporizzazione anche ai segnali numerici emessi sulle linee uscenti. Invece, per ognuna delle linee
entranti, il cronosegnale relativo ha origine da un orologio localizzato nell'apparecchiatura all'altra
estremit della linea entrante (orologio remoto).
Per chiarezza di riferimento e con riguardo ad una specifica linea di giunzione che accede a un
nodo di rete attraverso una unit di linea, chiamiamo: (i) temporizzazione di linea quella definita dal
cronosegnale estraibile allingresso ricevente dellunit di linea e avente origine dallorologio remoto
localizzato allestremit lontana della linea di giunzione considerata; (ii) temporizzazione di nodo
quella del cronosegnale emesso dallorologio locale.
Per spiegare quale possa essere la relazione in frequenza e in fase tra queste due temporizzazioni,
occorre tenere conto che nella frequenza istantanea f(t) del cronosegnale emesso da un orologio sono
distinguibili due componenti: una tempo-invariante e laltra invece variabile nel tempo. La frequenza
istantanea f(t) quindi esprimibile da :
1 d ( t )
f ( t ) = f 0 f +
2
dt
ove
f0
la frequenza nominale, stabilita in sede di obiettivo progettuale ;
f
lo scarto rispetto alla frequenza nominale, con il quale, ad esempio per errori di taratura,
si realizza la componente di f(t) che tempo-invariante;
(t) la componente della fase istantanea del cronosegnale che costituisce scostamento rispetto
a 2 (f0 f)t, e cio rispetto a un incremento linearmente crescente o decrescente nel
tempo.
La derivata temporale di (t) rispetto al tempo esprime la rapidit di variazione di (t) e rende
conto delle caratteristiche tempo-varianti della frequenza f(t) . Nelle variazioni di (t) si distinguono gli
scostamenti deterministici (derive) e quelli aleatori. I primi sono dovuti principalmente a fenomeni di

108
invecchiamento dei componenti dell'orologio. I secondi sono invece dipendenti da instabilit dei
parametri circuitali e da variazioni termiche.
In un trasferimento trasmissivo, nel cronosegnale associato a un segnale numerico si producono
ulteriori cause di fluttuazione della componente aleatoria di (t). Queste cause sono legate alla
variazione delle caratteristiche di propagazione sul mezzo trasmissivo e alla imperfetta ricostruzione
del cronosegnale nei punti di rigenerazione della catena trasmissiva (jitter di temporizzazione).
Supponiamo dapprima che tutti i segnali numerici allestremit lontana delle linee di giunzione
siano tra loro mesocroni. Si osserva che questa ipotesi equivale a supporre mesocroni tutti i flussi
numerici che entrano nei lati riceventi delle unit di linea. Infatti, dato che ogni trasferimento
trasmissivo accumula al proprio interno un numero limitato di cifre binarie e dato che non si ipotizzano
perdite di cifre binarie nel trasferimento, il ritmo binario medio in ingresso ad una linea di giunzione
deve essere uguale al ritmo binario medio in uscita. Per lo stesso motivo rimangono plesiocroni flussi
numerici che siano plesiocroni all'estremit lontana .
Supponiamo allora in primo luogo che all'ingresso di una unit di linea sia presente un flusso
numerico che mesocrono rispetto a tutti gli altri flussi numerici entranti nel nodo e rispetto anche ai
flussi numerici uscenti. Con questa ipotesi esaminiamo le funzioni principali di una unit di linea.
Svolgiamo questo esame riferendoci alla Fig. IV.6.4 e distinguendo la sezione trasmittente da quella
ricevente. Per la sezione trasmittente sono presenti:
l'inserimento della parola di allineamento ;
la conversione di codice di linea, da quello interno (normalmente di tipo NRZ) a quello
esterno ( ad esempio di tipo HDB3); questa seconda funzione non esplicitamente indicata
nello schema a blocchi di Fig. IV.6.4.
Ambiente
mesocrono

Ricezione
Rivelatore

Estrattore di
temporizzazione
Trasmissione

Ambiente
sincrono

Memoria
elastica
Orologio TS
esterno
Allineatore
di trama

TL

Commutatore
Orologio
interno

Inserimento
allineamento
di trama

Figura IV.6.4 Schema a blocchi di una unit di linea


(TS: temporizzazione di linea; TL: temporizzazione di nodo)
Per la sezione ricevente si riconoscono :
- la ricostruzione del cronosegnale esterno (temporizzazione di linea);
- la rigenerazione del segnale numerico entrante;
- la conversione di codice di linea , da quello esterno a quello interno; anche questa funzione
non esplicitamente indicata in Fig.IV.6.4;
- l'allineamento di trama (svolto dal blocco allineatore);
- il passaggio dal cronosegnale esterno a quello interno (temporizzazione di nodo); tale
funzione svolta dalla memoria elastica; questa una RAM scritta con la temporizzazione
di linea TS e letta con la temporizzazione di nodo TL.
L'estrattore di temporizzazione provvede a estrarre la temporizzazione di linea. L'allineatore provvede
alla verifica dell'allineamento di trama e al recupero dell'allineamento corretto in caso di perdita di
allineamento. La memoria elastica ha lo scopo di compensare le fluttuazioni di fase tra le

109
temporizzazioni di linea e di nodo. Il cronosegnale, associato alla temporizzazione di linea e presente
alluscita dellestrattore di temporizzazione, ha una fase di trama che indeterminata. A eliminare
questa indeterminazione provvede lallineatore, che fornisce alla sua uscita il cronosegnale esterno, con
fasatura in trama. Dallorologio locale si ottiene invece il cronosegnale interno.
Un modello di memoria elastica, con significativit puramente funzionale e senza alcun
riferimento a modalit realizzative, mostrato in Fig. IV.6.5. Nel modello sono mostrate, lungo una
circonferenza, le celle di memoria, ognuna capace di accumulare una cifra binaria. Si distinguono poi
due puntatori, uno di scrittura e laltro di lettura. Ogni puntatore ruota lungo la circonferenza: quello si
scrittura ruota con la frequenza istantanea del cronosegnale esterno fasato in trama, mentre quello di
lettura si muove secondo la temporizzazione del cronosegnale interno. Nella figura in esame si ipotizza
che i puntatori ruotino in senso orario.
La sequenza delle cifre binarie uscenti dal rivelatore dellunit di linea sono scritte ordinatamente
dal puntatore di scrittura nelle celle della memoria elastica e successivamente lette dal puntatore di
lettura. Le operazioni di scrittura sono controllate dal cronosegnale esterno con fasatura in trama.
Quindi la sequenza di cifre binarie scritte nella memoria elastica sezionabile in trame. Le operazioni
di lettura sono invece controllate dal cronosegnale interno. A valle della memoria elastica si ha quindi
una sequenza di cifre binarie, che ha la temporizzazione di nodo e che sezionabile in trame secondo la
fase dellorologio interno.
...

4
3

i-1
2

scrittura
i

lettura
i+1
N

cella di
memoria

...
N-1

N-2

Figura IV.6.5 Modello di memoria elastica con puntatori di scrittura e di lettura


Come ovvio, il puntatore di scrittura deve ruotare in anticipo rispetto a quello di lettura. Se
(t) questo angolo di anticipo (espresso in radianti) in un generico istante t, il grado di riempimento
della memoria GRM(t) nello stesso istante dato da (t)/2. Le fluttuazioni di fase del cronosegnale
esterno rispetto a quello interno si traducono in variazioni di GRM(t) (cfr. Fig. IV.6.6).
Secondo la sua definizione, GRM(t) variabile nellintervallo chiuso (0,1). Il valore GRM(t) = 1
corrisponde a memoria piena, mentre il valore GRM(t) = 0 si presenta con memoria vuota. Se N la
capacit della memoria, il prodotto N GRM(t)fornisce il ritardo (espresso in cifre binarie) che la
memoria elastica introduce allistante t sul flusso numerico che la attraversa. da osservare che tale
ritardo un numero intero solo se le operazioni di scrittura e di lettura avvengono simultaneamente.
Dato che questa condizione non necessaria, il numero N GRM(t) pu non essere intero e quindi
rappresenta solo approssimativamente il numero di bit che sono accumulati nella memoria tampone
allistante t.

110
puntatore di scrittura
diminuzione
dellanticipo
verso di
rotazione
dei puntatori

aumento
dellanticipo
puntatore di lettura

2
GRM

0 GRM 1

Figura IV.6.6 - Grado di riempimento GRM della memoria elastica


in relazione con la posizione relativa dei puntatori di scrittura e di lettura
Se lanticipo della scrittura rispetto alla lettura diminuisce ( e cio se la scrittura rallenta rispetto
alla lettura), anche GRM(t) diminuisce. Quando, a seguito di una diminuzione dellanticipo, il puntatore
di scrittura si avvicina a quello di lettura nel verso contrario a quello di rotazione dei due puntatori
(verso antiorario in figura), GRM(t) tende a 0 e la memoria tende a svuotarsi. Se la lettura non
distruttiva, si pu verificare allora laggiunta di uno o pi bit al flusso entrante (slittamento per
aggiunta).
Se invece lanticipo della scrittura rispetto alla lettura aumenta (e cio se la scrittura accelera
rispetto alla lettura), anche GRM(t) aumenta. Quando, a seguito dellaumento dellanticipo, il puntatore
di scrittura si avvicina a quello di lettura nel verso di rotazione dei due puntatori, GRM(t) tende a 1 e
cio la memoria tende a riempirsi. Si pu allora verificare un trabocco della memoria con la perdita di
uno o pi bit (slittamento per perdita).
Le condizioni GRM(t)=1 e GRM(t)=0, che sono origine di trabocchi o di svuotamenti con
conseguenti slittamenti per perdita o per aggiunta, possono ripetersi a brevi intervalli di tempo a seguito
di scavalcamenti mutui multipli dei due cronosegnali. Invece la condizione GRM(t)=1/2 (memoria
riempita a met) presenta margine massimo rispetto a riempimenti o a svuotamenti.
Per evitare le condizioni di instabilit legate a riempimenti o a svuotamenti, si pu operare come
segue :
- in condizioni nominali , le due temporizzazioni sono in opposizione di fase e il grado di
riempimento la met di quello massimo (GMR=1/2);
- quando si verifica un riempimento o uno svuotamento della memoria, si eliminano o si
aggiungono N/2 cifre binarie in modo tale da riportare le due temporizzazioni nelle
condizioni di fase nominali.
D'altra parte sia l'eliminazione che l'aggiunta di N/2 cifre binarie comportano uno slittamento della
trama di N/2 cifre e quindi, in generale, una perdita di allineamento . Per evitare tale inconveniente
sufficiente attuare slittamenti per un numero di cifre binarie che sia uguale a un multiplo intero della
lunghezza (in bit) della trama. Osserviamo per che necessario contenere i ritardi attraverso la
memoria tampone e quindi la capacit N di questa. Di conseguenza conveniente effettuare slittamenti
che comportino l'inserimento o la cancellazione di una singola trama.
Si conclude affermando che la memoria tampone deve avere una capacit N proprio uguale alla
lunghezza di due trame del segnale multiplato. In queste condizioni, se la massima deviazione di fase
(in anticipo o in ritardo) tra i due cronosegnali non supera
N
max = 2
2
e se soddisfatta l'ipotesi di mesocronismo, non si possono verificare slittamenti incontrollati.

111
Riassumendo, nellipotesi di temporizzazioni di linea e di nodo tra loro mesocrone, la memoria
elastica introduce, sul flusso numerico entrante nellunit di linea, un ritardo controllato in modo da :
(i) rimuovere le fluttuazioni di fase che si manifestano nel cronosegnale esterno rispetto a quello
interno; (ii) allineare la fase di trama nella temporizzazione di linea con quella nella temporizzazione di
nodo. Si attua quindi una conversione dallambiente mesocrono, che si ha esternamente allunit di
linea, a una condizione sincrona, che essenziale per il funzionamento della rete di connessione PCM.
Conseguentemente i segnali numerici sulle autostrade entranti nella rete di connessione sono tutti
sincroni tra loro, con allineamento delle relative fasi di trama. Il sincronismo con relativa fasatura di
trama riguarda anche la relazione dei segnali entranti con quelli uscenti dallautocommutatore. Ci
assicura la possibilit di porre in corrispondenza trame entranti e trame uscenti in ogni stadio della rete
di connessione PCM.
Sostituiamo ora l'ipotesi di mesocronismo con quella di plesiocronismo e supponiamo che la
frequenza del cronosegnale esterno sia uguale a f0(1 ) e che quella del cronosegnale interno sia
uguale a f0. In questo caso la memoria tampone non pu evitare il verificarsi periodico di slittamenti per
aggiunta o per perdita. facile calcolare l'intervallo Ts di slittamento. Infatti, come illustrato in Fig.
IV.6.7, si verifica riempimento o svuotamento quando f0 Ts = N/2 e cio per
N
Ts =
.
2f 0
N

GRM
f0 t

Memoria
elastica

f 0 (1+ )

1/2

f0

TS

TL
N
Ts =

2 f 0

t
slittamenti per perdita

TS: temporizzazione di scrittura


TL: temporizzazione di lettura

Ts

Figura IV.6.7 - Sul fenomeno degli slittamenti con cronosegnali esterno e interno
tra loro plesiocroni
Conseguentemente
min Ts =

N
2 f 0 max

da cui si ottiene
N

2 f 0 min Ts
Ad esempio , per N/2= 256 (lunghezza della trama del multiplex PCM primario), per min Ts= 1
giorno = 86.400 s e per f0= 2,048 MHz, si ottiene max = 256 10-6 / (86.400 2,048 ) = 1,45 10-9 .
Quindi, nel caso in cui l'accesso avvenga con flussi a 2,048 Mbit/s, se si impone che gli slittamenti
avvengano con un intervallo non inferiore a un giorno, la tolleranza dei cronosegnali di nodo supposti
tra loro plesiocroni deve essere inferiore a circa 1,4 x 10-9 per un periodo sufficientemente pi lungo di
un giorno (ad esempio 100 giorni).
max =

112
IV.6.6.

Sincronizzazione di rete

In una rete fisica numerica la sincronizzazione di rete la funzione che rende mesocroni o
plesiocroni , alle loro origini, tutti i segnali che transitano attraverso interfacce comuni di rete. Una
sincronizzazione di rete pu essere attuata secondo diverse strategie, di cui le principali sono:
anarchica (o plesiocrona) in cui gli orologi di nodo sono indipendenti e i relativi cronosegnali
sono plesiocroni;
dispotica (sincrona) in cui un singolo orologio (riferimento di rete) distribuito a tutti nodi della
rete che contengono un anello ad aggancio di fase (PLL) per sincronizzare i loro orologi interni al
riferimento;
democratica (mutuamente sincrona) in cui ogni orologio di nodo agganciato in fase agli altri
orologi della rete.
Nella strategia anarchica ogni nodo impiega un orologio di tipo atomico con elevata precisione a
lungo termine (almeno un anno per motivi di manutenzione). La stabilit annua richiesta per gli orologi
di nodo di circa 10-11 e ci conduce all'impiego di orologi atomici al cesio. Nonostante questo
provvedimento, sono inevitabili eventi di perdita di informazione legati a fenomeni di slittamento
incontrollato. Per ragioni di costo la strategia anarchica oggi impiegata nella sola rete telefonica
internazionale.
Per conseguire le condizioni di mesocronismo ipotizzate nel precedente paragrafo si possono
impiegare gli altri due tipi di strategie di sincronizzazione di rete .
Secondo la strategia dispotica, detta anche "master -slave", tutti gli orologi dei centri dei nodi della
rete sono direttamente asserviti, istante per istante, ad un unico orologio di elevata precisione e
affidabilit, detto orologio principale della rete. Questa soluzione non comporta perdita di informazione e consente l'uso di orologi a bassa precisione nei vari centri di commutazione. tuttavia
necessario disporre di un'insieme di collegamenti di sincronizzazione stellari che consentano
all'orologio principale di raggiungere ogni altro orologio di nodo. La conseguenza il sorgere di
problemi di affidabilit a causa dei possibili guasti di tali collegamenti e dell'orologio principale .
La strategia democratica prevede che ad ogni orologio di nodo sia applicato un controllo dinamico
da parte di tutti gli altri orologi della rete: ci al fine di assicurare che in regime permanente la
frequenza media di tutti gli orologi della rete sia la stessa. Tale strategia non comporta quindi alcuna
perdita di informazione in regime permanente e consente inoltre un elevato grado di affidabilit. Questa
soluzione richiede per la costituzione di una rete di sincronizzazione prevalentemente a maglia tra i
nodi e un accurato progetto dei sistemi di controllo degli orologi per garantire la stabilit asintotica
delle frequenze e per limitare i fenomeni transitori conseguenti ad ogni possibile perturbazione .
IV.6.7.

Caratteristiche generali di una rete a circuito

Per illustrare il trasferimento dellinformazione in una rete a circuito comodo fare ulteriore
riferimento ad una rete telefonica e alla connessione tra due generici utenti facenti capo ad
autocommutatori diversi. La connessione si attua attraverso una via fisica scelta in un insieme di
possibili percorsi di rete, che comprendono sia i percorsi interni agli autocommutatori, sia le linee di
giunzione tra questi.
Per l'economia di sistema questo numero di percorsi di rete deve essere molto minore del numero
degli utenti potenzialmente chiamanti, tenuto conto della bassa intensit media di traffico offerto da
ciascun utente. Per soddisfare questa condizione, la instaurazione di una connessione telefonica
richiede lo svolgimento di tre operazioni:
quella, svolta nell'autocommutatore di origine, per trasferire la chiamata dalla linea
dell'utente chiamante all'insieme dei percorsi di rete ammissibili;

113

quella di impegno, per tutta la durata della comunicazione, di uno di questi percorsi di rete
verso la destinazione desiderata;
quella, svolta nell'autocommutatore di destinazione, per trasferire la chiamata dai percorsi di
rete alla linea dell'utente chiamato.
Queste tre operazioni sono dette di concentrazione, di distribuzione e di espansione
rispettivamente. La concentrazione l'operazione di trasferimento del traffico a basso valore specifico
offerto dalle linee degli utenti chiamanti verso un minor numero di linee di giunzione, caratterizzate da
un elevato rendimento di utilizzazione; tale operazione si effettua in prevalenza nell'autocommutatore
di origine.
La espansione l'operazione contraria alla concentrazione, con il risultato di trasferire il traffico ad
elevato valore specifico offerto dalle linee di giunzione verso il pi elevato numero delle linee a cui
sono connessi gli utenti chiamati; tale operazione si effettua prevalentemente nell'autocommutatore di
destinazione.
La distribuzione l'operazione di smistamento del traffico ad elevato valore specifico tra linee di
giunzione entranti ed uscenti appartenenti a fasci di uguale potenzialit; tale operazione, a differenza
delle precedenti, si effettua, oltre che in ambedue gli autocommutatori di origine e di destinazione,
anche negli eventuali autocommutatori di transito.
Con il termine stadio di utente vengono denominati gli organi di connessione che effettuano
entrambe le operazioni di concentrazione e di espansione necessarie affinch ogni utente possa essere
sia chiamante che chiamato. Con il termine stadio di gruppo vengono invece denominati gli organi di
connessione che effettuano l'operazione di distribuzione e che, come tali, permettono collegamenti tra
giunzioni facenti capo ad altri stadi di gruppo ovvero a stadi di utente.
Gli autocommutatori locali sono composti da stadi di utente e da stadi di gruppo. Gli stadi di
utente possono avere la stessa collocazione fisica degli stadi di gruppo ovvero possono essere posti in
posizione a questi remota. Gli autocommutatori di transito sono invece composti da soli stadi di
gruppo.
Un modello astratto di un autocommutatore a circuito con controllo a programma memorizzato
mostrato in Fig. IV.6.8. Tale modello comprende:
le terminazioni di ingresso e di uscita, che costituiscono linterfaccia tra autocommutatore e
rete; da queste possono essere estratte o inserite le informazioni di segnalazione, nel caso in
cui queste ultime siano trasferite con modo associato al canale;
una rete di connessione, attraverso la quale vengono effettuate le connessioni dirette
ingresso-uscita;
un sistema di comando, che preposto al trattamento delle chiamate e alla gestione della
rete;
un insieme di collegamenti di segnalazione che, da un lato, fanno capo al sistema di
comando e, dall'altro, possono fare capo, in alternativa, alle terminazioni di ingresso e di
uscita ovvero ai sistemi di comando di altri autocommutatori; mentre la prima possibilit
quella adottata per la segnalazione associata al canale, la seconda fa riferimento all'impiego
della segnalazione a canale comune (cfr. IV.9.1 e IV.9.2).

CONNESSIONE

Segnalazione

DI COMANDO

DI

Sistemi di
trasmissione

RETE

INTERFACCE

INTERFACCE

Sistemi di
trasmissione

114

SISTEMA
Segnalazione

Figura IV.6.8 - Modello di un autocommutatore a circuito.


In particolare, un autocommutatore a circuito in tecnica numerica PCM (autocommutatore PCM)
caratterizzato dal fatto che le informazioni entranti e uscenti sono strutturate in flussi multiplati in
modo statico di tipo PCM e che la rete di connessione realizzata con tecnica a divisione di tempo
numerica.
La potenzialit di un autocommutatore a circuito descritta da due parametri prestazionali
principali. Il primo di questi la massima intensit media di traffico che pu globalmente essere offerta
all'autocommutatore con una prefissata probabilit di rifiuto per le connessioni dirette ingresso-uscita e
per ognuno dei fasci di giunzione uscenti. Questo parametro rende conto dei fenomeni di contesa di
pre-assegnazione individuale relativi alle risorse di trasferimento interne ed esterne
all'autocommutatore.
Il secondo parametro riguarda invece la capacit del sistema di comando (e quindi delle risorse di
elaborazione del nodo) a trattare, con vincoli di tempo reale (cfr. IV.6.8), i tentativi di chiamata che
gli pervengono: normalmente espresso mediante il numero massimo di tentativi di chiamata che
possono essere trattati in un fissato intervallo temporale (ad esempio, in un'ora) con il rispetto di detti
vincoli.
IV.6.8.

Trattamento di chiamata

In una rete a circuito il trattamento di chiamata ha lo scopo di


- mettere a disposizione degli utenti, quando ne fanno richiesta allinizio della
comunicazione, quanto loro occorre per comunicare con altri utenti;
- supervisionare lo svolgimento della comunicazione;
- prendere atto della conclusione della chiamata.
Le funzioni di trattamento di chiamata sono svolte nei nodi di rete e possono individuarsi nei
seguenti quattro tipi:
una funzione sensoriale che svolta da opportuni organi, inseriti sulle terminazioni di
ingresso e di uscita; questi provvedono a rivelare la presentazione di una richiesta di
servizio, a sorvegliare le modalit di soddisfacimento di questa richiesta, nonch ad
accertare il completamento della fornitura del servizio richiesto;
una funzione di memoria, che consente di immagazzinare sia i dati informativi necessari per
lattuazione di un servizio specifico, sia i programmi preposti a regolare le modalit di
azione dellautocommutatore a fronte delle richieste di servizio che gli vengono presentate;
una funzione decisionale, che si attua attraverso organi di elaborazione che operano le scelte
del caso in base a informazioni provenienti sia dallesterno che dallinterno
dellautocommutatore; le prime sono ricevute direttamente o tramite la funzione sensoriale;
le seconde sono quelle relative ai dati e ai programmi contenuti in memoria;

115

una funzione di attuazione, che consente lesecuzione delle azioni definite dagli organi
decisionali.
Il trattamento di chiamata svolto in ogni nodo di rete dal sistema di comando in cooperazione
con le terminazioni di ingresso/uscita e con la rete di connessione; il segnale controllante
rappresentato dallinformazione di segnalazione.
Per esemplificare, seppure parzialmente, i compiti connessi al trattamento di chiamata, possiamo
fare riferimento alla cosiddetta fase di pre-selezione in un autocommutatore telefonico, e cio a quella
fase del trattamento di una chiamata telefonica, che compresa tra lo sgancio del microtelefono e
linvio allutente chiamante dellinvito a selezionare. In questa fase devono essere svolte
nellautocommutatore varie operazioni, e cio
la rivelazione dello sgancio;
limpegno di un registro;
lanalisi della categoria dellabbonato;
la ricerca di un ricevitore di selezione libero;
limpegno di un ricevitore di selezione;
la ricerca di un percorso libero, allinterno dellautocommutatore, tra la terminazione e il
ricevitore di selezione;
la connessione dellutente al ricevitore di selezione;
linvio dellinvito a selezionare.
Nello svolgere la funzione di trattamento di chiamata, il sistema di comando di un
autocommutatore telefonico deve rispondere alle richieste dellutenza nel tempo pi rapido possibile:
deve cio soddisfare requisiti di tempo reale.
Si possono distinguere pi livelli di tempo reale. Sono pi severi quelli legati al trattamento
dellinformazione di segnalazione. Per questo trattamento infatti richiesto un ritardo massimo di
risposta dellordine di una decina di millisecondi. Un secondo livello di requisiti di tempo reale
riguarda il resto dei programmi di trattamento di chiamata. I ritardi di risposta alle azioni degli utenti
debbono essere globalmente inferiori a valori dellordine del secondo, affinch il servizio offerto possa
essere giudicato soddisfacente. Con riferimento ad esempio, alla fase di pre-selezione e alle sue
operazioni tipiche sopra elencate, ciascuna di queste deve effettuarsi in media, in meno di un centinaio
di millisecondi. Questo ordine di grandezza (da qualche decina a un centinaio di millisecondi) si
applica conseguentemente a tutte le azioni riguardanti un trattamento di una chiamata telefonica.
IV.7.

Nodi a pacchetto

Nel termine commutatore a pacchetto vengono qui fatti rientrare tutti i dispositivi di rete che,
operando in un modo di trasferimento orientato al pacchetto per comunicazioni mono- o multi-mediali,
svolgono una funzione di rilegamento.
Le componenti essenziali di un nodo a pacchetto, nellipotesi che le contese di utilizzazione siano
risolte a ritardo, includono un buffer di ingresso, un processore preposto al trattamento dei pacchetti
(processore di nodo) e un buffer per ognuna delle linee uscenti (buffer di uscita). Il buffer di ingresso
memorizza (completamente o parzialmente) i pacchetti entranti per consentirne il trattamento. Il
processore di nodo tratta lintestazione dei pacchetti in cui collocata la pertinente informazione di
controllo protocollare. Ogni buffer di uscita memorizza i pacchetti per consentire loro laccesso alla
relativa linea di uscita, secondo quanto richiesto da una multiplazione dinamica con contese risolte a
ritardo.
I nodi a pacchetto trattano in generale tre tipi di traffico (Fig. IV.7.1):
- un traffico originario, proveniente da apparecchi terminali (ad es. da DTE) siti localmente
in prossimit del nodo considerato;

116
-

un traffico terminale, proveniente da altri nodi nella rete e indirizzato ad apparecchi


terminali (ad es. a DTE) siti localmente in prossimit del nodo considerato;
un traffico di transito, proveniente da altri nodi della rete e instradato verso ulteriori altri
nodi nella rete.
Traffico da altri
nodi

Traffico di
transito

Nodo

Traffico
originario

Traffico
terminale

Figura IV.7.1 Tipi di traffico trattati da un nodo a pacchetto


Nei confronti di queste componenti di traffico, un nodo a pacchetto che tratta connessioni
commutate pu essere caratterizzato mediante due insiemi di parametri prestazionali. Dal punto di vista
del trattamento delle chiamate che gli vengono presentate e quindi della sua capacit nel risolvere le
contese di pre-assegnazione, i parametri prestazionali da utilizzare sono analoghi a quelli descritti nel
caso di un nodo a circuito (cfr. IV.6.7). Dal punto di vista, invece, della sua capacit di trattare le UI
che lo attraversano, un parametro comunemente impiegato la portata media del nodo, espressa ad
esempio, in UI che transitano mediamente nellunit di tempo. La caratterizzazione di nodi con
connessione semi-permanente o senza connessione riguarda solo il secondo punto di vista.
IV.7.1.

Processore di nodo

Nel caso di un nodo operante in un servizio di rete con connessione (commutata o semipermanente), in corrispondenza della ricezione di un pacchetto durante la fase di trasferimento, il
processore di nodo:
deve cooperare, per quanto di sua competenza, allo svolgimento delle funzioni di controllo
protocollare definite nellintestazione del pacchetto;
deve leggere il numero di canale logico entrante che contenuto nellintestazione;
in base alla consultazione della tabella di attraversamento (cfr. IV.3.2), deve trovare il
numero di canale logico uscente, che in corrispondenza con quello entrante;
deve modificare, nell'intestazione del pacchetto, il numero di canale logico entrante in
quello uscente (traduzione di etichetta);
deve inoltrare il pacchetto cos modificato verso il ramo di uscita, che in corrispondenza
con il numero di canale logico uscente.
Nel caso specifico di un nodo operante in un servizio di rete con connessione commutata, in
corrispondenza dellinizializzazione di una nuova comunicazione, il processore di nodo:
deve trattare linformazione di segnalazione, che riceve sotto forma di particolari pacchetti e
che gli trasferita dagli apparati di rete (apparecchi terminali o altri nodi) a monte lungo il
costituendo percorso da estremo a estremo;
sulla base dellindirizzo di destinazione della comunicazione contenuto nei pacchetti di
segnalazione e svolgendo un algoritmo di instradamento, deve decidere quale sia il ramo
che deve concorrere al percorso di rete da estremo a estremo;

117
applicando poi un opportuno criterio di assegnazione (cfr. IV.7.3), deve decidere se
assegnare o meno un canale logico sostenuto da quel ramo;
deve riempire la tabella di attraversamento con il numero di canale logico entrante
(contenuto nel pacchetto di segnalazione) e con quello di canale logico uscente (oggetto
della decisione di instradamento da parte del processore).
Nel caso di un nodo operante in un modo di trasferimento senza connessione, in corrispondenza
della ricezione di un pacchetto, il processore di nodo:
- deve cooperare, per quanto di sua competenza, allo svolgimento delle funzioni di controllo
protocollare definite nellintestazione del pacchetto;
- deve leggere il campo di indirizzo contenuto nellintestazione del pacchetto;
- sulla base degli indirizzi di origine e di destinazione e svolgendo un algoritmo di
instradamento, deve decidere quale sia il ramo verso cui instradare il pacchetto.
IV.7.2.

Instaurazione di un circuito virtuale

Tra le funzioni svolte al servizio di una comunicazione inizializzata a chiamata, ne consideriamo


due di particolare rilievo: linstaurazione di un circuito virtuale e laccettazione di chiamata. La prima
di queste funzioni mira a rendere disponibile una connessione commutata al servizio della chiamata. La
seconda lapplicazione del criterio che consente di accettare o meno una nuova prenotazione di
accesso: la richiesta di prenotazione avanzata da un utente del servizio di rete e fa riferimento alle
risorse virtuali di un nodo.
Cominciamo dalla modalit di instaurazione di un circuito virtuale, rinviando laccettazione di
chiamata a IV.7.3. Indichiamo con
Yi
il nodo a cui ci riferiamo per descrivere la funzione di instaurazione;
Yi-1
l'apparecchiatura (terminale di origine o altro nodo), che collocata a monte di Yi sul
circuito virtuale in corso di instaurazione.
Per la chiamata considerata, il canale logico entrante in Yi preassegnato da Yi-1 e fa parte
dell'insieme di canali logici che sono pre-assegnabili per la multiplazione dinamica, sul ramo di rete
che connette Yi-1 con Yi (ramo entrante in Yi) . Il canale logico uscente da Yi pre-assegnato da
quest'ultimo a seguito della ricezione di un messaggio di segnalazione, che richiede l'instaurazione del
circuito virtuale. Tale pre-assegnazione attuata attraverso i seguenti passi:
- conoscendo il nodo di destinazione (precisato dall'informazione di segnalazione), viene
applicato un algoritmo di instradamento e, sulla base dei risultati da questo forniti, viene
individuato un ramo uscente da Yi; tale ramo concorrer a far parte del percorso di rete da
utente a utente;
- nell'insieme dei canali logici pre-assegnabili per la multiplazione dinamica su questo ramo, ne
viene prescelto uno tra quelli liberi da precedenti impegni.
I due canali logici, quello entrante e quello uscente, sono identificati da due numeri d'ordine, scelti
in due insiemi di numerazione univoca. Il numero di canale logico entrante univoco nell'insieme
utilizzato da Yi-1 per il ramo entrante in Yi ed comunicato a quest'ultimo tramite il messaggio di
segnalazione, che richiede l'instaurazione del circuito virtuale. Il numero di canale logico uscente
univoco nell'insieme di numerazione utilizzato da Yi per individuare i canali logici attivabili su tutti i
rami da esso uscenti. In tal modo, a conclusione della fase di instaurazione, ogni nodo, che appartiene
al corrispondente percorso di rete, pu memorizzare, nella tabella di attraversamento e in
corrispondenza al ramo entrante che compone quel percorso, una coppia di numeri; di questi:
il primo identifica il canale logico pre-assegnato per il trasferimento dei pacchetti scambiati
nell'ambito di quella chiamata e entranti nel nodo;

118

il secondo identifica il canale logico pre-assegnato per il rilancio dei pacchetti scambiati
nellambito di quella stessa chiamata e uscenti dal nodo.
Ci equivale a dire che il circuito virtuale instaurato per una particolare chiamata descritto da una
sequenza di numeri di canale logico. Gli elementi, che compongono questa sequenza, sono memorizzati
nelle apparecchiature di rete per tutta la durata della chiamata fino alla conclusione della fase di
abbattimento.
IV.7.3.

Accettazione di chiamata

Laccettazione il criterio che consente di accettare o meno una nuova prenotazione di accesso da
parte di una chiamata che ne fa richiesta. Si tratta della funzione svolta dal processore di un nodo a
pacchetto e rientra tra gli adempimenti relativi al trattamento di chiamata. Il criterio di accettazione si
basa su dati forniti da ogni chiamata richiedente e su una loro elaborazione effettuata dagli organi
preposti alla decisione.
Come gi detto in precedenza (cfr. III.2.2), si fa riferimento a:
- i dati di traffico preesistente e i relativi requisiti prestazionali per ognuna delle
comunicazioni, le cui richieste di accesso sono gi state accolte in precedenza;
- dati analoghi relativi alla comunicazione la cui richiesta oggetto della decisione.
Allora lelaborazione consente di valutare: lo stato di carico di riferimento sulla base dei dati
preesistenti e lo stato di carico di riferimento modificato sulla base dei dati richiesti. Alla valutazione
dei due stati segue una valutazione delle prestazioni. Se i gradi di accessibilit per le chiamate gi
accolte e per quella presentante la nuova richiesta rispettano i requisiti prestazionali sia del pregresso
che dellattuale, lautorizzazione di accesso viene accordata. In caso contrario viene negata.
Tra i criteri di accettazione di chiamata, se ne descrivono qui di due tipi: lassegnazione a
domanda media e lassegnazione a domanda di picco, che introduciamo con riferimento a un ambiente
in cui:
la sorgente k-esima (k = 1, 2..) tra quelle che concorrono per una autorizzazione di
accesso sia caratterizzata da un ritmo binario di picco Rpk e da un grado di intermittenza Bk ;
il canale multiplato abbia capacit di trasferimento Cm .
Nellassegnazione a domanda media, se le contese di utilizzazione sono risolte con modalit a
ritardo, lobiettivo prestazionale riguarda il valor medio E[] del ritardo di attraversamento che
una UI deve subire per accedere al ramo uscente. Questo valor medio E[] non deve essere superiore
ad una soglia prefissata max ; cio
E[] max .
Per lapplicazione di questo criterio si suppone che lo stato di utilizzazione della capacit di
trasferimento del ramo uscente sia completamente definito in termini medi tramite il valore assunto dal
rendimento di utilizzazione U e che esista un legame tra E[] e U , in cui E[] una funzione
monotona crescente di U . Siano
U0
il dato rappresentativo (in termini medi) dello stato di carico di riferimento;
U1
il dato rappresentativo dello stato di carico di riferimento modificato.
Nellipotesi allora che la nuova richiesta sia presentata dalla sorgente k-esima, risulta
U 1 = U 0 + U ,
in cui
R pk
.
U =
Bk C m
La regola di decisione pu essere cos applicata

119

si valuta il valor medio E[1] del ritardo di attraversamento che si avrebbe in


corrispondenza di U = U1 e si confronta E[1] con max ;
se E[1] max, la nuova richiesta pu essere accolta; in caso contrario deve essere
rifiutata.
Nellassegnazione a domanda di picco e sempre nellipotesi che le contese di utilizzazione siano
risolte a ritardo, in ogni stato di utilizzazione della capacit di trasferimento del ramo uscente, deve
essere emulato il comportamento prestazionale di commutazione a circuito. Deve cio essere assicurato
il massimo grado di trasparenza temporale. Per perseguire questo obiettivo, si impone che il ritmo
binario di picco totale autorizzato ad accedere al ramo uscente non superi la capacit di trasferimento di
questultimo. Siano
RpT0
il ritmo binario totale di picco che viene assunto come stato di carico di riferimento e
che dato dalla somma dei ritmi binari di picco che caratterizzano le chiamate in corso
di evoluzione;
RpT1
il ritmo binario totale di picco che viene assunto come stato di carico di riferimento
modificato (quale risulterebbe se la nuova richiesta di autorizzazione fosse accolta).
Nellipotesi che la nuova richiesta sia presentata dalla sorgente k-esima (k = 1, 2), risulta
RpT1 = RpT0 + Rpk .
La regola di decisione allora la seguente:
si confronta RpT1 con Cm ;
se RpT1 Cm , la nuova richiesta pu essere accolta; in caso contrario deve essere rifiutata.
IV.7.4.

Orologi di nodo

Nel caso di nodi a pacchetto, possono essere impiegate due relazioni di temporizzazione:
quella sincrona, in cui, come nel caso dei nodi a circuito numerici, richiesta una completa
sincronizzazione di rete;
quella asincrona, in cui non c necessit di sincronizzazione di rete, in quanto la
temporizzazione dei flussi di cifre binarie entranti pu essere adattata all'orologio del nodo
senza perdita di informazione.
Il funzionamento asincrono pu essere utilizzato se le UI sono completamente memorizzate entro
il nodo, elaborate e successivamente inoltrate verso la loro destinazione. In questo caso, le memorie di
ingresso e/o di uscita, se hanno capacit adeguata, costituiscono una separazione tra le temporizzazioni
dei flussi entranti e di quelli uscenti. Questa separazione fornisce la possibilit di un adattamento fra la
temporizzazione del flusso entrante e quella dellorologio di nodo; che a sua volta disposta ad
emettere il sincro-segnale a supporto del flusso uscente.
L'impiego del funzionamento sincrono pu essere richiesto quando si opera con memorizzazioni
parziali delle UI, avendo lo scopo di ridurre il ritardo di attraversamento. Un esempio significativo
offerto dall'applicazione del metodo del "cut-through" (cfr. par. IV.3).
IV.8.

Architetture di interconnessione

Vengono qui esaminati i problemi connessi alla realizzazione di infrastrutture costituite dalla
interconnessione di reti o di segmenti di rete tra loro omogenei o non omogenei . Nel caso in cui
linterconnessione riguardi reti tra loro non omogenee e quindi caratterizzate da architetture
protocollari tra loro diverse, allinsieme degli elementi utilizzati nella interconnessione si attribuisce il
termine inter-rete. Le reti individuali, omogenee al loro interno e componenti una inter-rete sono
denominate sotto-reti; a queste sono connessi gli apparecchi terminali (ad es. costituiti da elaboratori).

120
Realizzare una inter-rete significa consentire scambi di informazione tra apparecchi terminali che sono
connessi a sotto-reti diverse.
IV.8.1.

La funzione di interconnessione

Il caso delle inter-reti rientra nelle situazioni pi generali in cui sia necessario interconnettere
segmenti infrastrutturali (SI) per estenderne larea di copertura. quanto si verifica, ad esempio,
nellinterconnessione di due o pi segmenti di reti in area locale (LAN) che possono essere omogenei
(ad es. segmenti di LAN Ethernet) ovvero disomogenei (ad es. due LAN di differente architettura
protocollare). Altro esempio significativo linterconnessione di una LAN con una WAN. In ogni caso
lo scambio di informazioni tra apparecchi terminali che sono connessi a SI diversi possibile se si
soddisfano alcuni requisiti.
In primo luogo gli SI debbono essere fisicamente connessi; questa condizione non per
sufficiente. Occorre infatti interporre tra gli SI un sistema di interconnessione, che svolga una funzione
di rilegamento. Questo sistema, nel seguito indicato con lacronimo SINT, deve in generale svolgere
funzioni di natura sia fisica che logica. Tra le funzioni fisiche vanno citati i trattamenti del segnale che
supporta linformazione (amplificazione, rigenerazione, ecc.); tra le funzioni logiche rientra invece
linstradamento da un SI ad un altro SI nel cammino che linformazione deve compiere da un
apparecchio terminale ad un altro.
Un SINT un elaboratore dotato di un opportuno software e di due o pi interfacce fisiche a
seconda del numero di SI che esso interconnette. Ogni interfaccia fisica deve essere compatibile con la
sotto-rete verso cui si affaccia. La Fig. IV.8.1 mostra un esempio in cui un SINT interconnette due o
pi sotto-reti. Linformazione avente origine in un apparecchio terminale connesso alla sotto-rete 1 e
avente destinazione in un apparecchio terminale connesso alla sotto-rete 2 deve essere ricevuta da
SINT sulla sua interfaccia con la sotto-rete 1 ed emessa sempre da SINT sulla sua interfaccia con la
sotto-rete 2.
Verso unaltra sotto-rete

Sotto-rete 1

SINT

Sotto-rete 2

Interfaccia fisica

Figura IV.8.1 Interconnessione di sotto-reti con un SINT


Le funzioni svolte da un SINT dipendono in generale dalle architetture protocollari dei apparecchi
terminali da mettere in corrispondenza. A questo proposito supponiamo di voler interconnettere due
apparecchi terminali (host) H1 e H2 che presentano architetture protocollari tra loro diverse fino ad un
certo strato di rango N, ma tra loro uguali per ci che riguarda gli strati di rango superiore a N. In
queste condizioni il dialogo tra H1 e H2 richiede che SINT contenga tutti i sottosistemi architetturali di
rango minore o uguale a N. SINT deve realizzare una conversione dei protocolli di un SI nei
corrispondenti protocolli di un altro SI.
Una possibile classificazione dei SINT basata sul livello protocollare pi alto a cui essi operano
la conversione dei protocolli. La relativa nomenclatura (di uso corrente, ma con qualche variante nei
prodotti commerciali) fa riferimento agli strati del modello OSI ed la seguente:
un repeater (ripetitore) agisce a livello di strato 1;

121
un bridge (ponte) opera fino a un livello di strato 2;
un router (instradatore) lavora fino a un livello di strato 3;
un gateway (passerella) interviene su tutti gli strati dellarchitettura.
Ritornando allinterconnessione in una inter-rete, le sotto-reti componenti possono presentare
protocolli diversi almeno fino allo strato di rango 3, ove sono normalmente svolte le funzioni di
indirizzamento e di instradamento. Infatti in una inter-rete deve essere possibile:
indirizzare tutti gli apparecchi terminali che sono connessi alle sotto-reti componenti;
instradare corrispondentemente linformazione da trasferire;
ne segue che, secondo la nomenclatura ora introdotta, i SINT di una inter-rete sono router o gateway.
IV.8.2.

Interconnessione in una inter-rete

Per entrare nel merito delle funzioni di natura logica svolte da un SINT operante in una interrete, occorre prenderne in esame larchitettura protocollare. Consideriamo due apparecchi terminali, H1
e H2, rispettivamente connessi alle sotto-reti 1 e 2 e posti in corrispondenza per mezzo di un SINT (cfr.
Fig. IV.8.1). Supponiamo che le architetture dei due apparecchi terminali siano coerenti con quelle
delle sotto-reti a cui sono connessi e che gli strati di trasferimento siano in numero di 3 come nel
modello OSI; in particolare la suddivisione in sottosistemi dei modelli architetturali di H1 e di H2 sia
tale che:
- i sottosistemi degli strati di rango non inferiore a 4 trattano le stesse pile protocollari in H1 e
in H2;
- i sottosistemi degli strati di rango inferiore a 4 trattano pile protocollari diverse.
Una prima pila {Px.1}, (x =1,2,3), corrisponde allarchitettura della sotto-rete 1 e comprende i
protocolli definiti per gli strati Sx.1, (x =1,2,3). La seconda {Px.2},(x =1,2,3), invece in relazione
allarchitettura della sotto-rete 2 e include i protocolli definiti nellambito degli strati Sx.2, (x =1,2,3).
I protocolli degli strati di rango non inferiore a 4 possono quindi essere gestiti direttamente
(cio da estremo a estremo) da H1 e H2. Nel caso invece degli strati di rango inferiore a 4, la gestione
dei relativi protocolli deve essere effettuata sezione per sezione, e cio tra H1 e SINT per la pila {Px.1}
e tra H2 e SINT per la pila {Px.2}.
Denominiamo le due interfacce di SINT: con interfaccia 1 quella verso la sotto-rete 1 e con
interfaccia 2 quella rivolta invece alla sotto-rete 2. Entrambe queste interfacce includono solo
sottosistemi appartenenti agli strati di rango 1, 2 e 3. Le due interfacce differiscono per per la diversit
delle architetture entro cui debbono operare. Nellinterfaccia 1 viene gestita la pila {Px.1}, mentre
linterfaccia 2 tratta la pila {Px.2}. Chiamiamo poi mezzo trasmissivo 1 o 2 il segmento della sotto-rete
1 o 2 che assicura il legame fisico nellambito di ciascuna delle coppie H1-SINT e SINT-H2.
Compito di SINT convertire i protocolli della pila {Px.1} in quelli della pila {Px.2}. Le
modalit di questa conversione sono ora illustrate con riferimento al modello architetturale di Fig.
IV.8.2. Si considerano le modalit di trattamento di un segmento informativo IS avente origine da un
processo applicativo che risiede in H1 e avente destinazione in un processo applicativo che risiede in
H2. Al riguardo si precisa che lesposizione riguarda solo aspetti modellistici e prescinde da una
qualunque considerazione realizzativa.

122
Ordine di trattamento di IS
Host H1

Host H2

Strati
applicativi

Strati
applicativi
P4

S4
S 3.1
S 2.1
S 1.1

P 3.1
P 2.1
P 1.1

Mezzo trasmissivo 1
sotto-rete 1

S4

S 3.1

S 3.2

P 3.2

S 2.1

S 2.2

P 2.2

S 1.2

P 1.2

S 1.1
SINT

S 3.2
S 2.2
S 1.2

Mezzo trasmissivo 2
sotto-rete 2

Figura IV.8.2 Architettura di sistema di interconnessione (SINT)


H1 agisce come sistema emittente. Conseguentemente lordine di trattamento del segmento IS
in H1 quello dei ranghi decrescenti. Si inizia dal sottosistema di rango pi elevato che presente in
H1 e si scende via via attraverso i sottosistemi di rango intermedio fino al sottosistema di rango 1. Si
conclude consegnando linformazione al mezzo trasmissivo 1.
Linformazione associata al segmento IS perviene cos a SINT che provvede a trattarla secondo
le regole procedurali della sua interfaccia 1. Il ruolo di SINT in questo trattamento quello di un
sistema ricevente; quindi lordine di trattamento quello dei ranghi crescenti e cio dal sottosistema di
rango 1 a quello di rango 3. Il trasferimento da H1 a SINT avviene quindi nel rispetto delle regole
procedurali definite nella pila {Px.1}. In particolare si opera con incapsulamenti in H1 e con
decapsulamenti in SINT; le unit di dati utilizzate (PDU, PCI, SDU) sono quelle della stessa pila
{Px.1}.
La 3-SDU risultante dal trattamento sullinterfaccia 1 di SINT, viene poi consegnata al
trattamento sullinterfaccia 2, ove diventa la SDU per il sottosistema di rango 3 in SINT. Questo
sistema assume allora il ruolo di emittente. Lordine di trattamento quindi quello dei ranghi
decrescenti.
Linformazione associata a IS, consegnata al mezzo trasmissivo 2, perviene cos ad H2. In
questo sistema, che agisce come ricevente, lordine di trattamento quello dei ranghi crescenti. Si ha
quindi trasferimento da SINT a H2 nel rispetto delle regole procedurali della pila {Px.2}; a questa
stessa pila appartengono le unit di dati utilizzate da SINT per incapsulamenti e da H2 per
decapsulamenti.
In conclusione, il segmento informativo IS viene consegnato alla sua destinazione. Nella Fig.
IV.8.2 lordine di trattamento di IS rappresentato con linea tratteggiata. Loperazione di passaggio
dalla pila {Px.1} alla {Px.2}, allinterno di SINT, indicata graficamente in Fig. IV.8.2 da un
sottosistema con due segmenti diagonali.
Quanto detto non esaurisce per le funzioni che devono essere svolte dai sistemi coinvolti.
Rimangono infatti da affrontare le questioni relative allindirizzamento ed allinstradamento.

123
IV.8.3.

Adozione di uno strato aggiuntivo

usuale che varie sotto-reti tra quelle interconnesse operino secondo un proprio Piano di
Numerazione (PN), con il quale un apparecchio terminale H1 pu indirizzare in modo univoco un
qualunque apparecchio terminale H2 purch appartenente alla stessa sotto-rete. Il problema
dellindirizzamento sorge quando H1 e H2 appartengono a sotto-reti diverse come in Fig. IV.8.2 e
queste sotto-reti operano secondo PN diversi.
Per questo problema partiamo da una prima ipotesi di soluzione, che descritta con riferimento al
caso semplice di Fig. IV.8.1. Siano PN1 e PN2 i piani di numerazione delle sotto-reti 1 e 2
rispettivamente. SINT, che ha il compito di interconnettere queste sotto-reti, presenta (nei loro
confronti) due interfacce fisiche, ognuna delle quali indirizzabile nella modalit prevista dal PN della
sotto-rete verso cui SINT si interfaccia. Invece i sistemi H1 e H2 sono indirizzabili in accordo a PN1 e
PN2, rispettivamente.
Allora, se lutente facente capo ad H1 conosce, oltre allindirizzo di H2 secondo PN2, anche
lindirizzo di SINT secondo PN1, il trasferimento del segmento informativo IS da H1 a H2 pu
avvenire nel seguente modo:
lutente in H1 invia IS a SINT, come descritto dal modello di Fig. IV.8.2; per questo scopo
utilizza lindirizzo di SINT secondo PN1; nellinvio comunica a SINT anche lindirizzo di
H2 secondo PN2;
SINT, una volta ricevuto IS da H1, lo rilancia verso H2 utilizzando lindirizzo di H2 secondo
PN2, che gli stato comunicato da H1.
Questa ipotesi di soluzione, se praticabile in un ambiente semplice come quello descritto in Fig.
IV.8.1, non lo pi se si fa riferimento ad un inter-rete costituita da varie sotto-reti e da una
molteplicit di SINT. Infatti per ogni coppia H1-H2 di origine e di destinazione, comunque collocata
nellambito dellinter-rete, necessario che lorigine H1 conosca
lindirizzo della destinazione H2 con il vincolo che questo indirizzo sia secondo il PN della
sotto-rete a cui fa capo H2; questo lindirizzo locale di H2;
la sequenza S dei SINT che portano dalla sotto-rete di origine a quella di destinazione
qualora il percorso da H1 a H2 debba attraversare due o pi SINT, ognuno dei quali mette in
corrispondenza una sotto-rete a monte con una a valle;
lindirizzo con cui ogni SINT di S indirizzabile localmente nella sotto-rete a monte per
stabilire una corrispondenza con la sotto-rete a valle.
In altre parole H1, oltre a conoscere tutti gli indirizzi locali dei possibili destinatari H2 e dei SINT
da attraversare, deve essere anche in grado di svolgere la funzione di instradamento: lo scopo
individuare la sequenza S di SINT da attraversare per raggiungere H2. Se queste condizioni sono
soddisfatte, H1 trasferisce IS a H2 attraverso i vari SINT di S. Congiuntamente H1 invia al primo SINT
di S anche gli indirizzi locali di tutti i SINT a valle. Inoltre ogni SINT di S rilancia verso il SINT che gli
a valle, assieme al segmento IS, anche lindirizzo locale dei SINT di S ancora da percorrere.
evidente che questa ipotesi di soluzione presenta inconvenienti non eludibili. In primo luogo la
individuazione della sequenza S di SINT per ogni coppia H1-H2 richiede che ogni apparecchio
terminale della inter-rete sia in grado di svolgere una funzione di instradamento per ogni stato della
rete, e quindi con la conoscenza completa delle risorse di trasferimento di volta in volta disponibili.
Inoltre, al crescere della dimensione della inter-rete, lipotesi di soluzione sopra prospettata, anche se
valida in linea di principio, diventa rapidamente troppo complessa e quindi impraticabile, da un punto
di vista gestionale: si pensi ad esempio alle difficolt connesse allaggiornamento delle memorie degli
apparecchi terminali ogni qualvolta viene inserito un nuovo sistema terminale o di interconnessione
nella inter-rete.

124
Una seconda ipotesi di soluzione cerca di superare queste difficolt aumentando le funzionalit dei
SINT e rivedendo la modalit di indirizzamento nellambito della inter-rete.
Circa larricchimento delle funzionalit dei SINT, si attribuiscono a questi sistemi capacit di
instradamento: lobiettivo determinare, in relazione allindirizzo di destinazione, la sequenza di SINT
che porti dallorigine alla destinazione.
Relativamente alle modalit di indirizzamento, si arricchisce il riferimento ai soli indirizzi locali :
si aggiunge infatti, per ogni coppia origine-destinazione, un indirizzo globale (cfr. II.2.4) che ha
significativit e univocit nella intera inter-rete. Il piano di numerazione globale riguarda anche i SINT
ognuno dei quali caratterizzato da tanti indirizzi quante sono le sue interfacce fisiche.
Con queste scelte sistemistiche e architetturali, un H1 di origine, quando vuole indirizzare un H2
di destinazione, individua questultimo con il suo indirizzo globale e consegna il suo segmento
informativo a un SINT con interfaccia fisica verso la sua sotto-rete. Questo SINT, individuato con un
indirizzo globale o con quello locale, sceglie la sotto-rete a valle su cui inoltrare il segmento IS lungo il
percorso verso H2. Una volta raggiunta la sotto-rete di destinazione, la consegna di IS a H2 pu
avvenire convertendo il numero globale in quello locale.
Da un punto di vista architetturale, quanto ora detto si attua introducendo, al di sopra dello strato
di rango 3, uno strato aggiuntivo SA (con un relativo protocollo PA), comune a tutti i sistemi coinvolti
nella sotto-rete (Fig. IV.8.3). Lo scopo di questo strato svolgere funzioni di instradamento. Compito
del protocollo PA anche quello di gestire il piano di numerazione globale in aggiunta a quello di
significativit locale. In particolare sar necessario che PA o altri protocolli di supporto riescano a
determinare quale indirizzo locale corrisponde ad un dato indirizzo globale e viceversa.
Ordine di trattamento di IS
Host H1

Host H2

Strati
applicativi

Strati
applicativi
P4

S4
SA
S 3.1
S 2.1
S 1.1

PA
P 3.1
P 2.1
P 1.1

Mezzo trasmissivo 1
sotto-rete 1

S4
PA

SA

SA

S 3.1

S 3.2

P 3.2

S 2.1

S 2.2

P 2.2

S 1.2

P 1.2

S 1.1
SINT

SA
S 3.2
S 2.2
S 1.2

Mezzo trasmissivo 2
sotto-rete 2

Figura IV.8.3 Architettura di sistema di interconnessione


con adozione di uno strato aggiuntivo
In conclusione si osserva che questa soluzione, con il doppio indirizzamento e con linstradamento
affidato ai sistemi di interconnessione, elimina completamente gli inconvenienti della prima ipotesi di
soluzione; la sua praticabilit dimostrata dalluso che se ne fa in Internet fin dai suoi primi sviluppi.

125
IV.8.4.

Modo di servizio nello strato aggiuntivo

Unultima considerazione riguarda la scelta del modo di servizio di rete da adottare per lo strato
SA: modo con connessione o senza?
Ambedue le scelte presentano pro e contro. Si riprenda in esame la Fig. IV.8.3. Se SA nel modo
con connessione, le funzioni che i SINT devono svolgere sono pi complesse. Infatti quando H1 vuole
instaurare una connessione nello strato SA, deve farne richiesta prima a SINT e non direttamente a H2.
SINT deve elaborare tale richiesta, eventualmente accettarla, per il tratto che va da H1 a SINT, e
chiedere a H2 di accettare una connessione da SINT a H2. La connessione da H1 a H2 risulta quindi
dalla concatenazione di diverse connessioni componenti. La connessione da H1 a SINT deve soddisfare
i requisiti prestazionali posti da H1 in termini, ad esempio, di portata media e di ritardo di trasferimento
massimo. Dovr quindi essere cura di SINT far si che anche la tratta da SINT a H2 soddisfi gli stessi
requisiti, affinch sia poi lintera connessione da estremo a estremo a godere delle prestazioni volute da
H1. Si noti che SINT potrebbe non riuscire a soddisfare i requisiti posti da H1 (anche solo nel tratto da
SINT a H2) e quindi potrebbe essere forzato a rifiutare la richiesta di H1.
Se, viceversa, SA opera in modalit senza connessione, il compito di SINT pi semplice. SINT
tratta le unit informative in arrivo da H1, una per volta, in modo indipendente luna dallaltra, e non
deve porsi il problema di soddisfare determinati requisiti relativi ad una connessione, giacch
questultima non esiste. Se la sotto-rete 2 diviene indisponibile a causa di un guasto, SINT pu cercare
una strada alternativa per raggiungere H2, senza preoccuparsi di re-instradare le connessioni gi
instaurate, cosa che avrebbe dovuto fare nellipotesi precedente.
Lipotesi senza connessione di pi semplice realizzazione, ma ha due svantaggi significativi:
- non possibile garantire che lo scambio informativo tra H1 e H2 avvenga in accordo a
determinate caratteristiche prestazionali (portata, ritardo, perdita di informazione);
- la funzione decisionale relativa allinstradamento deve essere svolta per ogni segmento
informativo che attraversa SINT; al contrario, nellalternativa con connessione, la decisione
su quale strada far percorrere allinformazione verrebbe presa solo una volta, durante la fase
di instaurazione; poich la funzione di instradamento abbastanza complessa ed
tipicamente realizzata in software, invece che in hardware, la modalit senza connessione
impone ai SINT limitazioni in termini di portata.
In altri termini, adottando la modalit senza connessione, un SINT deve svolgere compiti pi semplici
ma deve eseguirli un numero pi elevato di volte, rispetto allalternativa con connessione.
Uno strato che realizza le funzioni sinora genericamente attribuite a SA lInternet Protocol (IP),
adottato in Internet. La modalit senza connessione di IP ne ha determinato la semplicit
implementativa ed ha significativamente contribuito allo sviluppo di Internet; per la causa degli
inconvenienti attuali di questa rete: limitazioni in termini di portata ed assenza di garanzie sulle
prestazioni percepite dagli utenti.
IV.8.5.

Instradamento in una inter-rete

Per concludere la descrizione delle modalit generali di funzionamento di una inter-rete, si fa


notare che ogni SINT deve disporre di opportune informazioni riguardanti la topologia dellinter-rete.
Tali informazioni sono quelle necessarie a svolgere la funzione di instradamento e cio a determinare
quale strada far seguire ad un dato segmento informativo IS affinch questo giunga alla destinazione
voluta. A titolo di esempio, si consideri la inter-rete rappresentata in Fig. IV.8.4. Con riferimento agli
IS avente origine nella sotto-rete 1, il SINT 1 deve trasferire alla sotto-rete 2 sia gli IS aventi
destinazione nella sotto-rete 2 stessa, sia quelli che hanno la sotto-rete 3 come loro destinazione. Il

126
SINT 1 deve quindi essere a conoscenza anche dellesistenza della sotto-rete 3, a cui non
direttamente connesso.

Sotto-rete 1

SINT 1

Sotto-rete 2

SINT 2

Sotto-rete 3

Figura IV.8.4 Interconnessione di tre sotto-reti


La complessit dei SINT pu essere limitata adottando la seguente modalit di instradamento che
applicata in Internet: i SINT instradano gli IS solo verso la sotto-rete di destinazione e non verso il
singolo apparecchio terminale a questa appartenente; una volta che un IS arriva alla sotto-rete di
destinazione sono i protocolli propri di questa sotto-rete ad instradarlo verso lo specifico apparecchio
terminale di destinazione. Lalgoritmo di instradamento operante nei SINT determina solo la sequenza
dei SINT da attraversare e non quella di tutti i sistemi di ogni sotto-rete.
In tal modo la quantit di informazioni, relative alla funzione di instradamento, che SINT deve
elaborare per far arrivare un generico messaggio a destinazione proporzionale al numero di sotto-reti
che costituiscono linter-rete e non al numero degli apparecchi terminali ad essa connessi. Tale
modalit di funzionamento corrisponde dunque ad un algoritmo di instradamento di tipo gerarchico
(cfr. V.3.6).
IV.9.

Il trattamento della segnalazione

In quanto precede ci siamo interessati solo dei modi di trasferimento relativi all'informazione
d'utente. Verr ora considerata anche l'informazione di segnalazione. Questa, come si gi detto in
I.3.1, ha lo scopo di controllare una comunicazione. quindi impiegata, oltre che per instaurare e per
abbattere una connessione fisica o virtuale al servizio della comunicazione, anche per modificarne le
caratteristiche quando la comunicazione stata gi inizializzata.
Nel seguito del paragrafo viene data, dapprima (IV.9.1), una classificazione dei possibili modi di
segnalazione adottati nelle reti per telefonia e per dati e di cui si prevede l'impiego per la fornitura di
servizi integrati a banda stretta o larga. Successivamente si parler brevemente della segnalazione a
canale comune (IV.9.2).
IV.9.1.

Classificazione dei modi di segnalazione

opportuno distinguere preliminarmente due tipi di informazione di segnalazione, e cio quella


che scambiata, nella rete di accesso, tra apparato terminale e autocommutatore locale (segnalazione di
utente) e quella che viene trasferita tra i nodi della rete di trasporto (segnalazione inter-nodale).
Consideriamo poi separatamente le modalit di trattamento di questa informazione nelle reti a
circuito, in quelle a pacchetto con servizio a chiamata virtuale e in quelle operanti con modo di
trasferimento asincrono (reti ATM).
Nelle reti a circuito per telefonia, le segnalazioni di utente e inter-nodale sono state in passato, e
sono tuttora, trattate con le modalit pi varie, che si differenziano per una molteplicit di aspetti, quali
la codifica di queste informazioni e il protocollo di comunicazione per l'interazione degli elementi di
rete preposti al controllo della chiamata.
Un ulteriore aspetto distintivo riguarda l'associazione tra il modo di trasferimento
dell'informazione di segnalazione preposta al trattamento di una data chiamata e quello
dell'informazione d'utente scambiata nell'ambito della stessa chiamata. A tale riguardo esistono due

127
alternative principali, e cio la segnalazione associata al canale (SAC) e la segnalazione a canale
comune (SCC).
Nell'alternativa SAC, l'informazione di segnalazione preposta al controllo di una chiamata viene
scambiata su un canale fisico distinto rispetto ad altri canali che trasferiscono informazioni dello stesso
tipo, ma preposte al controllo di chiamate differenti. In queste condizioni si stabilisce una
corrispondenza biunivoca tra due canali: quello su cui trasferita l'informazione di utente relativa alla
chiamata considerata (canale controllato) e quello su cui viaggia l'informazione di segnalazione che
tratta quella chiamata (canale controllante). Per ambedue i tipi di informazione si attua lo stesso modo
di trasferimento a circuito.
I canali controllante e controllato (Fig. IV.9.1) possono coincidere (soluzione a canale unico) o
essere distinti (soluzione a canali separati); nel primo caso si parla di segnalazione in banda, nel
secondo di segnalazione fuori banda.
Nella soluzione SAC a canale unico, le informazioni di utente e di segnalazione corrispondenti alla
stessa chiamata condividono lo stesso canale con una utilizzazione in intervalli di tempo disgiunti. Le
attuazioni di questa soluzione dipendono dal tipo di rete a circuito che si considera e dalle conseguenti
modalit di codifica dell'informazione di segnalazione. Essa ha trovato impiego in ambedue le sezioni
di rete, come nel caso delle reti telefoniche analogiche, ove la segnalazione codificata da impulsi o da
toni. Ma si incontra anche nella rete di accesso, come nelle reti a circuito per dati in tecnica numerica,
ove la segnalazione d'utente presentata in un formato a caratteri di 8 cifre binarie, secondo l'Alfabeto
Internazionale no.5 (IA5) e come specificato nella Racc. X.21.
Instaurazione

(a)

Richiamata
Trasferimento

Abbattimento
Trasferimento

tempo

Instaurazione

Richiamata

Abbattimento

(b)
Trasferimento

Informazioni di segnalazione

Informazioni d'utente

Figura IV.9.1- Modi di trasferimento dell'informazione di utente e di quella di segnalazione su un


canale unico (a) e su canali separati (b).
La soluzione SAC a canali separati utilizzata, nelle reti telefoniche, sia per la segnalazione
d'utente che per quella inter-nodale. I modi di trasferimento sono a circuito per ambedue i canali. Un
esempio tipico offerto dalla modalit di trasferimento dell'informazione di segnalazione in uno
schema di multiplazione statica PCM, attuata secondo la versione primaria europea. In questo caso
l'informazione d'utente trasportata da un canale scelto tra i 30 disponibili con capacit di 64 kbit/s,
mentre l'informazione di segnalazione usufruisce di un canale, con capacit di 2 kbit/s, ottenuta sottomultiplando l'IT no.16, con modalit a multitrama.
Nell'alternativa SCC, come nella soluzione SAC a canali separati, il trasferimento
dell'informazione di segnalazione avviene su un canale distinto rispetto a quelli che trasportano
l'informazione di utente, ma con due differenze sostanziali: il canale della segnalazione agisce come
controllante per una pluralit di chiamate e il modo di trasferimento che viene impiegato del tipo
orientato al pacchetto, con servizio di rete senza connessione.

128
L'alternativa SCC oggi la soluzione pi avanzata per il trasferimento della segnalazione internodale in una rete a circuito in tecnica numerica. Ma viene impiegata anche nel caso della N-ISDN, sia
nella rete di trasporto, che in quella di accesso.
Per concludere, rimangono da esaminare i casi delle reti a pacchetto con servizio a chiamata
virtuale e di quelle ATM. Nel primo caso, se i protocolli di accesso e inter-nodali sono del tipo
descritto dalle Racc.X.25 e X.75, l'informazione di segnalazione (sia di utente, che inter-nodale)
strutturata in UI specializzate (pacchetti di segnalazione), che condividono, in uno schema di
multiplazione dinamica, lo stesso canale logico utilizzato dalle UI contenenti l'informazione di utente
(pacchetti di dati). Invece, nel caso delle reti ATM, le informazioni di utente e di segnalazione sono
trasferite su canali logici separati. Anche in questi due casi si parla di segnalazione in banda e fuori
banda, rispettivamente.
IV.9.2.

La segnalazione a canale comune

Il trasferimento della segnalazione a canale comune nella sezione interna di una rete a circuito
utilizza come supporto una rete apposita, che sovrapposta alla precedente e che chiamata rete di
segnalazione a canale comune (rete SCC). Il trasferimento su questa rete avviene secondo le regole di
protocolli, che, nel loro insieme, costituiscono il sistema di segnalazione no.7 (SS no.7), che
normalizzato dal ITU-T nelle Raccomandazioni della serie Q.700.
Nella rete SCC si distinguono i punti terminali e i nodi di commutazione. Un punto terminale,
chiamato punto di segnalazione (SP - Signalling Point), rappresenta la sorgente e il collettore
dell'informazione di segnalazione ed in corrispondenza con l'unit di comando di un
autocommutatore (AUT) della rete a circuito; nel seguito, per indicare questa corrispondenza, si dir
che SP e AUT costituiscono coppia.
Un nodo di commutazione della rete SCC denominato punto di trasferimento della segnalazione
(STP - Signalling Transfer Point), mentre i rami della rete SCC sono i collegamenti di segnalazione.
Con riferimento a una specifica coppia (SP, AUT), un collegamento di segnalazione uscente dall'SP di
questa coppia al servizio di uno o pi tra i fasci di linee di giunzione (vie di giunzione), che escono
dall'AUT della stessa coppia verso altri autocommutatori della rete a circuito.
L'instaurazione di un circuito fisico nella sezione interna della rete a circuito fra un
autocommutatore di origine e uno di destinazione avviene in accordo a una ricerca di percorso e a una
operazione di impegno effettuate con il metodo sezione per sezione. Perci, in una connessione che
coinvolge uno o pi nodi della rete a circuito, le informazioni di segnalazione relative a tale
connessione devono essere ricevute ed elaborate in ogni nodo intermedio tra quelli di origine e di
destinazione.
Una rete SCC una rete di calcolatori tra gli elaboratori preposti al comando degli
autocommutatori della rete a circuito. L'informazione scambiata sotto forma di messaggi. La
metodologia dell'architettura a strati ben si presta a descrivere i protocolli della rete SCC. L'SS no.7
organizzato in quattro livelli. I tre livelli pi bassi, con i numeri d'ordine 1, 2 e 3, sono, almeno
orientativamente, in corrispondenza con i primi tre strati (1, 2 e 3) del modello OSI e costituiscono, nel
loro insieme, la cosiddetta parte di trasferimento di messaggio (MTP - Message Transfer Part).
Il livello 4 dell'SS no. 7 comprende funzioni, sempre orientativamente, in corrispondenza con gli
ultimi quattro strati (4, 5, 6 e 7) del modello OSI. Tali funzioni sono mostrate in Fig. IV.9.2 e
costituiscono le parti di utilizzazione (UP - User Part) nell'SS no.7; nella stessa figura sottolineata la
corrispondenza tra gli strati OSI e i quattro livelli di questo sistema di segnalazione.
Tra le parti di utilizzazione si distinguono innanzitutto la Parte di controllo della connessione di
segnalazione (SCCP - Signalling Connection Control Part) e le Potenzialit di transazione
(Transaction capabilities). In particolare, la funzione SCCP fornisce i mezzi per controllare connessioni

129
logiche in una rete SCC; essa quindi modifica il servizio offerto dall'MTP, a favore di quelle UP che
richiedano un servizio orientato alla connessione, per trasferire segnalazione o altre informazioni a
questa relative, quali sono utilizzate in applicazioni di esercizio e manutenzione o con lo scopo di
controllare specifiche transazioni.
Le Potenzialit di transazione sono composte da due elementi: la Parte di applicazione delle
potenzialit di transazione (TCAP - Transaction Capability Application Part) e la Parte di servizio
intermedio (ISP - Intermediate Service Part). Tali potenzialit sono utilizzate per gestire l'interazione
tra nodi di commutazione della rete a circuito e centri di servizio, nell'ambito di specifiche applicazioni,
quali la gestione centralizzata dei gruppi chiusi di utente (cfr. IV.3.3) e l'autenticazione di carte di
credito.
Strati
OSI

Applicazioni di rete

Strati
SS n7

Parti di
utilizzazione

TCAP

TUP
DUP
ISUP

6
5

ISP

SSCP

3
2

Parte di trasferimento di messaggio

Figura IV.9.2- Struttura generale delle funzioni dell'SS no. 7.


Altre parti di utilizzazione, che utilizzano i servizi forniti dall'MTP (direttamente o indirettamente
tramite l'SCCP) sono definite sia per trattare il controllo di specifiche connessioni, sia per supportare
altre applicazioni legate, ad esempio, all'esercizio e alla manutenzione della rete SCC. Si hanno:
la UP per il servizio telefonico (TUP - Telephony User Part), che preposta alla segnalazione
necessaria per controllare le chiamate telefoniche;
la TUP migliorata (TUP-E - TUP Enhanced), che stata definita per fronteggiare le prime
realizzazioni di una ISDN;
la UP per i servizi di comunicazione di dati in reti dedicate a circuito (DUP - Data User Part);
la UP, che definisce le procedure di chiamata in una ISDN (ISUP - ISDN User Part);
la parte di applicazione per l'esercizio e la manutenzione (OMAP - Operation and Maintenance
Application Part), che preposta alle procedure di sorveglianza della rete SCC svolte da un SP
preposto a funzioni di controllo (CSP - Control Signalling Point).
La Fig. IV.9.3 mostra poi in dettaglio le funzioni principali dell'MTP. Nel livello 1, abbiamo le
funzioni del circuito di dati di segnalazione (Signalling Data Circuit), comprendendo in queste la
trasmissione fino a 64 kbit/s e lo scambio di protezione di linea. Il livello 2 include le funzioni di
collegamento di dati di segnalazione (Signalling Data Link), quali la strutturazione in opportune unit
informative, la sequenzializzazione e il recupero d'errore.

130

Parte di trasferimento di messaggio


Funzioni di rete
Trattamento di
messaggi di
segnalazione

Funzioni di collegamento
Collegamento
di dati di
segnalazione

Circuito di
dati di
segnalazione

Gestione
di rete di
segnalazione

Flusso di messaggi
di segnalazione

Controlli ed
indicazioni

Figura IV.9.3 - Struttura della parte di trasferimento di messaggio (MTP).

SP 1

STP

UP

MTP

MTP

UP

Nel livello 3, si distinguono le funzioni di trattamento di messaggio (Message Handling) e di


gestione di rete (Network Management). La prima di queste comprende l'instradamento in accordo a un
servizio di rete senza connessione. La seconda riguarda le procedure addizionali per il funzionamento
della rete SCC in condizioni anormali, quali guasti e sovraccarichi.
La Fig. IV.9.4 illustra infine i protocolli di comunicazione tra due SP per il tramite di un STP
intermedio. I protocolli di livello 4 dell'SS no. 7 sono gestiti da estremo a estremo attraverso la rete
SCC, dato che gli STP trattano funzioni solo fino al livello 3.

SP 2

Figura IV.9.4 - Architettura protocollare dell'SS no. 7.

Universit degli Studi di Roma La Sapienza


Dipartimento INFOCOM

Nicola Blefari-Melazzi Marco Listanti Aldo Roveri

RETEMATICA
Parte seconda

Versione preliminare
novembre 2000

2
VI.

INTERNET: STATO ATTUALE........................................................................................................................... 3

VI.1.
LE APPLICAZIONI INTERNET .............................................................................................................................. 6
VI.1.1. TELNET...................................................................................................................................................... 7
VI.1.2. SMTP (Simple Mail Transfer Protocol)........................................................................................................ 7
VI.1.3. FTP: File Transfer Protocol........................................................................................................................ 8
VI.1.4. TFTP: Trivial FTP ...................................................................................................................................... 8
VI.1.5. TALK .......................................................................................................................................................... 8
VI.1.6. X-Window ................................................................................................................................................... 8
VI.1.7. NFS: Network File System........................................................................................................................... 8
VI.1.8. WORLD WIDE WEB ................................................................................................................................... 9
VI.1.9. GOPHER .................................................................................................................................................. 10
VI.1.10.
ARCHIE ............................................................................................................................................... 10
VI.1.11.
WAIS (Wide Area Information Server)................................................................................................... 10
VI.1.12.
WHOIS................................................................................................................................................. 11
VI.1.13.
LISTSERV ............................................................................................................................................ 11
VI.1.14.
NEWS................................................................................................................................................... 11
VI.2.
ARCHITETTURA E PROTOCOLLI ........................................................................................................................ 12
VI.2.1. Struttura.................................................................................................................................................... 12
VI.2.2. Architettura Protocollare .......................................................................................................................... 14
VI.3.
IL PROTOCOLLO IP.......................................................................................................................................... 16
VI.3.1. Formato dellunit di dati.......................................................................................................................... 17
VI.3.2. Modalit di segmentazione e di aggregazione............................................................................................ 20
VI.3.3. Schema di indirizzamento .......................................................................................................................... 21
VI.3.4. Traduzione di indirizzi IP in indirizzi locali ............................................................................................... 25
VI.3.5. Instradamento ........................................................................................................................................... 28
VI.3.6. Messaggi di errore e di controllo (ICMP) .................................................................................................. 42
VI.3.7. Domain Name System................................................................................................................................ 44
VI.3.8. Esempi ...................................................................................................................................................... 51
VI.4.
I PROTOCOLLI DI STRATO 4.............................................................................................................................. 53
VI.5.
IL PROTOCOLLO TCP...................................................................................................................................... 56
VI.5.1. Formato dellunit dati ............................................................................................................................. 58
VI.5.2. Instaurazione e rilascio di una connessione ............................................................................................... 61
VI.5.3. Controllo e recupero di errore................................................................................................................... 65
VI.5.4. Controllo di flusso..................................................................................................................................... 69
VI.5.5. Controllo di congestione............................................................................................................................ 70
VI.5.6. Estensioni di TCP per le applicazioni in reti ad alta velocit...................................................................... 71
VI.6.
UN PROTOCOLLO DI GESTIONE: SNMP ............................................................................................................ 72
VI.7.
ACCESSO AD INTERNET TRAMITE UN ISP ......................................................................................................... 72

VI.

INTERNET: STATO ATTUALE

Passato, presente e futuro di Internet sono gi stati oggetto di trattazione di in I.5.1. Qui
largomento viene ripreso approfondendo in particolare gli aspetti riguardanti le funzioni di
trasferimento senza tuttavia trascurare le applicazioni pi significative che, sono state e sono tuttora
di guida per gli sviluppi del mondo Internet.
Internet oggi una infrastruttura di comunicazione le cui risorse sono dislocate spazialmente in
tutto il mondo, ma che sono viste dal singolo utente in modo trasparente, senza cio che sia
necessario sapere dove sono fisicamente, ed a cui molto facile accedere con strumenti progettati e
realizzati per i suoi utenti.
Fra le principali caratteristiche ed i fattori di successo che hanno portato allo sviluppo
esplosivo di Internet, si possono citare i seguenti:
la modalit di trasferimento, nello strato di rete, senza connessione e Internet non
fornisce alcuna garanzia sulla qualit di servizio; Internet si impegna a fare del suo
meglio, ma non possibile, in generale, essere sicuri o contrattare che il trasferimento
avvenga con determinate specifiche (integrit informativa, ritardo di trasferimento,
trasparenza temporale, etc.); il compito di rendere la qualit di servizio adeguata alle
esigenze degli utenti demandato ai livelli applicativi residenti nei sistemi terminali; il
paradigma Internet offre quindi meno funzionalit del modello OSI (almeno negli strati
bassi dellarchitettura protocollare), ma la sua realizzazione pi semplice;
la modalit di funzionamento di Internet diversa rispetto a quella tipica di altre reti;
infatti essa non richiede che tutti i sistemi che la compongono siano basati su di una
identica e comune architettura protocollare;
in molte reti geografiche le apparecchiature di rete deputate al trasporto, alla
commutazione ed allelaborazione delle informazioni sono di propriet di societ
pubbliche o private che installano e gestiscono i sistemi di TLC mettendoli a
disposizione dellutenza; nel caso della rete Internet ci vero solo in parte, in quanto
alcune apparecchiature di utente e molte sotto-reti private contribuiscono in modo
significativo al trasporto delle informazioni;
Internet offre i suoi servizi a costi accessibili; la tariffazione prevalentemente di tipo
flat rate, cio non dipende dalla quantit dellinformazione scambiata o dalla distanza
che separa gli utenti;
il software che realizza i protocolli di comunicazione di Internet stato fornito
gratuitamente e risulta di semplice implementazione; inoltre, inizialmente ed ancora
oggi, tali protocolli sono stati distribuiti insieme al sistema operativo Unix; la grande
diffusione di Unix, soprattutto nella comunit scientifica, ha trainato con se anche i
protocolli Internet;
altrettanto gratuito spesso il software applicativo necessario per sfruttare appieno le
capacit di comunicazione dell'infrastruttura; gli applicativi pi utili e pi facili da usare
si diffondono in tal modo con grande rapidit, come avvenuto in passato per
applicazioni quali Gopher (applicativo per la ricerca di informazione) e, pi
recentemente, per il WWW (World Wide Web), cio per una applicazione multimediale di
banca di dati distribuita;
il processo di standardizzazione snello, rapido e prevede delle verifiche
implementative: si richiede che esistano almeno due diverse implementazioni
interoperanti di un protocollo ed una solida esperienza in campo prima di dichiararlo
standard;
le idee di lavoro e le specifiche dei protocolli sono state sempre ampiamente e
liberamente diffuse (anche e soprattutto per mezzo della stessa Internet); la disponibilit

4
di informazioni generali e dettagliate sui protocolli, e delle relative implementazioni,
anche nei primissimi stadi di sviluppo, ha svolto un ruolo essenziale nella loro
diffusione; un simile impegno verso la documentazione pubblica e gratuita a questo
livello di dettaglio inusuale; i benefici di questo modo di procedere hanno avuto
significative conseguenze non solo sulla realizzazione di Internet ma anche, pi in
generale, sullo sviluppo delle telecomunicazioni; in particolare, il sito www.ietf.org
fornisce sia informazioni relative all'organizzazione generale di Internet e sui suoi
organismi che i relativi standard, denominati Request For Comments (RFC).
La principale caratteristica della struttura attuale di Internet (una unione di diverse reti)
motivata da due considerazioni:
nel passato stato difficile far si che ununica tipologia di rete potesse rispondere in
modo esauriente alla esigenze di comunicazione di ogni possibile utente; ad esempio, le
reti in area locale consentivano elevate velocit di trasferimento ma erano limitate
geograficamente; il viceversa accadeva per le reti in area geografica; inoltre la fisiologica
esistenza di diversi produttori ha portato spesso a sviluppare sistemi di
telecomunicazione non compatibili tra loro; da ci derivato lo sviluppo di diversi
paradigmi di comunicazione e la attuale co-esistenza di diverse reti di telecomunicazioni;
oggi tecnicamente possibile realizzare ununica infrastruttura di comunicazione che
soddisfi i requisiti di tutti gli utenti in modo efficiente ( lobiettivo della rete B-ISDN,
basata sul modo di trasferimento ATM), ma non risulta economicamente vantaggioso
sostituire tutti i sistemi gi operativi;
gli utenti desiderano una connettivit universale; limportanza e lutilit di una rete di
telecomunicazioni sono legate anche al numero dei suoi utenti; ad esempio, la rete
telefonica risulta molto utile proprio perch i suoi utenti sono numerosi (e quindi tramite
essa possibile comunicare con un grande numero di persone) e perch la rete appare ad
essi come un solo sistema di comunicazione; la rete telefonica non avrebbe avuto lo
sviluppo che conosciamo se fosse stata costituita da diverse sotto-reti con diversi
standard e protocolli e non comunicanti tra loro; in tal caso infatti da un dato apparecchio
telefonico non sarebbe stato possibile raggiungere tutti gli altri utenti ma solo un loro
sotto-insieme.
In altre parole si desidererebbe una singola rete a cui tutti possano connettersi e tramite la quale
raggiungere chiunque, ma apparso sinora difficile realizzare una soluzione unitaria e quindi si
preferito rendere possibile la comunicazione tra diverse tipologie di reti.
Tali considerazioni hanno portato al concetto di inter-rete (cfr. par. IV.8), e cio di una
infrastruttura fisicamente costituita da:
- un certo numero di reti componenti (nel seguito indicate come sotto-reti), cui sono
collegati dei calcolatori (denominati nel seguito host);
- un certo numero di dispositivi necessari per interconnettere le sotto-reti componenti
(denominati sistemi di interconnessione).
Da un punto di vista logico, lelemento distintivo di una inter-rete rappresentato dallinsieme
di procedure di inter-lavoro (o protocolli di comunicazione) necessarie per interconnettere le sottoreti e per permettere a qualunque host A connesso alla inter-rete di colloquiare con qualunque altro
host B, anchesso connesso alla inter-rete. La comunicazione tra A e B deve essere possibile
indipendentemente dalle sotto-reti a cui A e B sono direttamente connessi e dal numero e dalla
tipologia delle altre sotto-reti eventualmente coinvolte in tale comunicazione.
Internet lesempio pi significativo di inter-rete oggi operativa su base mondiale. Sono da
sottolineare le sue specificit. In primo luogo si vuole nascondere la struttura di rete ai suoi utenti.
Questi ultimi e i programmi applicativi di loro interesse non devono preoccuparsi dei dettagli
implementativi della rete fisica. Non si vuole imporre una pre-determinata topologia di rete.
Laggiunta di una nuova sotto-rete a Internet, e quindi alle sotto-reti pre-esistenti in Internet, non si
effettua connettendo la nuova sotto-rete ad un nodo centrale o con laggiunta di connessioni fisiche

5
dirette tra la nuova sotto-rete e tutte le altre pre-esistenti. E sufficiente connettere la nuova sottorete ad una qualsiasi altra sotto-rete gi connessa ad Internet. Le informazioni sono quindi trasferite
da una sotto-rete ad unaltra utilizzando, in generale, altre sotto-reti intermedie e attraversando
diversi sistemi di interconnessione. Non vengono invece coinvolte sotto-reti intermedie qualora una
sotto-rete che origina delle informazioni sia direttamente connessa alla sotto-rete cui queste
informazioni sono dirette, ovvero quando possibile trasferire informazione dalluna allaltra
attraversando un solo sistema di interconnessione (cfr. par. IV.8 e II.1).
Una seconda specificit di Internet che essa assicura lindipendenza dellinterfaccia utenterete dalle specificit della sotto-rete di accesso. Linsieme di operazioni necessarie per trasferire dati
indipendente dalla tecnologia della sotto-rete di accesso e dal sistema di destinazione. Un
programma applicativo di comunicazione non deve tenere in conto la topologia e la struttura di
sotto-rete.
I protocolli Internet si vanno ad aggiungere a quelli gi esistenti allinterno delle sotto-reti
componenti; questi ultimi non devono essere modificati. In tal modo alcune funzioni possono
risultare duplicate e quindi si possono verificare delle inefficienze, ma questo modo di procedere
determina notevoli semplificazioni operative.
Prima dellavvento di Internet le reti per dati erano in gran parte diverse e non intercomunicanti. Le sotto-reti di Internet sono rimaste diverse, nel senso che sono basate su diverse
architetture e protocolli (e di per se autonome), ma i protocolli e i sistemi di interconnessione di
Internet hanno fatto si che potessero colloquiare tra loro.
Essendo Internet costituita da diverse tipologie di rete, ognuna, in generale, di propriet di enti
diversi, la sua modalit di gestione necessariamente di tipo distribuito.
Prima di procedere oltre utile fare una precisazione. La trattazione che segue fa riferimento a
sistemi (host) direttamente connessi ad Internet e dotati di un proprio, stabile ed univoco indirizzo.
Questo non il caso di sistemi che si connettono ad Internet per il tramite di un Internet Service
Provider (ISP), usando tipicamente la rete telefonica commutata, ovvero la probabile maggioranza
dei lettori di questo capitolo. Tuttavia le modalit di funzionamento di Internet sono state definite
con riferimento ad host direttamente connessi e quindi necessario fare riferimento a questa
situazione. In particolare, quando un utente si connette ad Internet tramite un ISP, prima di poter
iniziare effettivamente uno scambio informativo con altri host, riceve dall'ISP delle opportune
informazioni di configurazione, tra cui un indirizzo che lo identificher nell'ambito di quella
sessione, ma che potr essere diverso in sessioni successive. Ci significa anche che un utente di
questo tipo raggiungibile dall'esterno solo tramite il suo ISP, dal momento che l'utente in
questione, non disponendo tipicamente di un indirizzo stabile ed univoco in Internet non
"conosciuto" dagli altri sistemi connessi ad Internet (cfr. VI.3.4). Questa precisazione risulter
probabilmente pi chiara dopo aver letto la trattazione che segue, dal momento che difficile
illustrare tali peculiarit prima di avere descritto i principi generali di Internet (cfr. par. VI.7).
Infine, riteniamo opportuno dare qualche informazione circa gli Enti che presiedono al
processo di standardizzazione in Internet ed alla relativa organizzazione. Queste informazioni
integrano quanto gi detto sommariamente nel par. I.6.
L'Ente responsabile della definizione dei protocolli e delle regole di funzionamento di Internet
denominato Internet Engineering Task Force (IETF). Informazioni dettagliate relative
all'organizzazione generale di Internet ed ai suoi organismi nonch i relativi standard possono
essere reperiti nel sito www.ietf.org. Qui citiamo solo la presentazione dell'IETF
(www.ietf.org/overview.htm):
"La Internet Engineering Task Force (IETF) una comunit internazionale, aperta, di
progettisti di rete, operatori, costruttori, venditori e ricercatori interessati all'evoluzione ed al
regolare funzionamento di Internet. E' aperta a tutti gli interessati.
L'attivit di ricerca&sviluppo organizzata in Gruppi di Lavoro (Working Groups). I Gruppi di
Lavoro sono organizzati in Aree, ognuna responsabile di una certa tematica (routing, transport,
security, etc.). Gran parte del lavoro svolta mediante "mailing lists", ovvero via posta elettronica.

6
L'IETF organizza tre riunioni ogni anno. Ogni Area gestita dagli Area Directors (AD). Gli AD
sono membri dell'Internet Engineering Steering Group (IESG). La Internet Architecture Board
(IAB) si occupa di questioni architetturali di portata pi generale e risolve eventuali conflitti che
l'IESG non sia riuscita a risolvere. L'IESG e l'IETF sono presiedute dal General Area Director, che
anche membro di diritto dell'IAB.
L'Internet Assigned Numbers Authority (IANA) l'autorit centrale che coordina
l'assegnazione dei parametri numerici dei protocolli (inclusi gli indirizzi IP ed i numeri di porta
TCP, cfr. i seguenti capitoli). L'Internet Society (ISOC) infine sopraintende all'IANA, all'IESG e
all'IAB."
Internet definita dall'IETF come una collaborazione di reti autonome ed interconnesse, non
rigidamente organizzata (loosely organized), che supporta comunicazioni tra host attraverso il
volontario rispetto di protocolli e procedure aperti, definiti dagli Internet Standards. Il "credo"
dell'IETF "We reject kings, presidents and voting. We believe in rough consensus and running
code". (IETF Credo, Dave Clark, 1992).
Come si vede, la comunit Internet tiene a preservare lo spirito potremmo dire pioneristico
originale, ma la stessa importanza di Internet sta spingendo sempre pi verso una organizzazione
pi gerarchica e formale, seppure nel rispetto del suo credo e soprattutto nell'apertura verso
chiunque voglia collaborare e nella diffusione dei protocolli.
In Internet, gli standard sono denominati Request For Comments (RFC). Ci in accordo alle
procedure seguite inizialmente (ed in parte ancora oggi) dalla comunit Internet, in cui di fronte ad
un problema si chiedeva a chiunque fosse interessato di proporre delle soluzioni (da cui il nome).
Originariamente, quindi, le RFC non erano degli standard, ma semplicemente delle
comunicazioni tra gli addetti ai lavori. Attualmente esistono due tipi di RFC:
For Your Information RFC (FYI RFC): sono di natura descrittiva, riportano argomenti di
natura generale o perfino l'organizzazione delle riunioni della comunit Internet ed il
modo di vestirsi alle stesse (cfr. ad esempio, RFC 1718, "The Tao of the IETF").
Standard RFC (STD RFC): sono i veri e propri standard adottati in Internet.
La strada che conduce ad una RFC standard parte tipicamente da un cosiddetto Internet-Draft.
Un Internet-Draft un documento di lavoro che pu essere proposto da un qualunque individuo o
Ente interessato e che viene posto a disposizione di tutti tramite i siti dell'IETF e tramite le mailing
lists. Un Internet-Draft ha una validit di sei mesi trascorsi i quali decade, a meno che non sia
ritenuto interessante e quindi promosso a RFC (eventualmente con opportune
modifiche/integrazioni). Un Internet-Draft pu essere sostituito, migliorato o cancellato in ogni
momento durante il suo periodo di validit.
VI.1.

Le applicazioni Internet

Nellambiente Internet, i protocolli di strato superiore al 4 sono denominati Servizi Applicativi


e le loro funzioni non sono divise in termini di strato di sessione, presentazione ed applicazione.
I Servizi Applicativi in Internet operano prevalentemente in accordo al paradigma
client/server; hanno cio una componente client ed una server. Tale paradigma importante anche
perch alla base di molti sistemi di comunicazione ed fondamentale per comprendere le
modalit di funzionamento di algoritmi distribuiti.
Il termine server si applica a qualunque processo che offre un servizio e che pu essere
raggiunto attraverso la inter-rete. I server accettano le richieste, le elaborano, effettuano il servizio
richiesto e restituiscono il risultato al richiedente. Un processo applicativo invece un client quando
invia una richiesta ad un server ed aspetta la relativa risposta. Ad esempio, un semplice server ora
esatta fornisce lora attuale ogni volta che un client gli invia una richiesta. I server gestiscono le
risorse e i client richiedono servizi alle risorse.
La durata in attivit delle componenti client e server diversa; un server inizia ad essere attivo
prima che linterazione con il client inizi e continua ad accettare richieste e ad inviare risposte senza
cessare di essere attivo; la componente client si attiva al momento di inviare una richiesta e si

7
disattiva una volta ricevuta la risposta. Normalmente la componente server inizia ad operare al
momento dellaccensione di un host e quando invocata, fornisce alla componente client i mezzi e le
procedure o i dati di cui questa ha bisogno.
Molti dei servizi applicativi richiedono unautorizzazione alluso: un utente pu usare un
servizio applicativo se dispone di una utenza (account), concessa dallamministratore del sistema
remoto (server), a cui accede mediante una parola dordine (password). In tal caso, la componente
client deve comunicare a quella server il nome dellutenza e la relativa parola dordine, prima di
poter richiedere uno specifico servizio.
In questo paragrafo si descriveranno i pi importanti e diffusi servizi applicativi che la
comunit Internet mette a disposizione dellutenza. Ognuno di tali servizi opera in accordo ad uno
specifico protocollo che governa lo scambio di informazioni tra la componente client e quella
server. Inoltre, un dato servizio applicativo pu essere implementato nellambito di diverse
applicazioni, basate su specifiche piattaforme operative e personalizzate o arricchite da interfacce di
utente e pi o meno sofisticate.
VI.1.1.

TELNET

La componente client di TELNET un protocollo di emulazione di terminale che permette agli


utenti di un sistema di accedere ad applicazioni in altri sistemi remoti, come se fossero direttamente
connessi a tali sistemi. Consente quindi di utilizzare le funzioni di un calcolatore remoto come se il
terminale che si usa fosse uno dei terminali locali del sistema remoto. L'host di destinazione deve
contenere la componente server di TELNET. Il procedimento pu essere iterativo; ovvero ci si pu
collegare ad un host remoto e, da l collegarsi ad un altro host e cos via.
Lapplicativo Telnet consente di aprire sessioni interattive (login remoto) su host ovunque
ubicati allinterno della inter-rete purch si disponga di unautorizzazione alluso (utenza + parola
dordine). Il terminale emulato di tipo testuale.
VI.1.2.

SMTP (Simple Mail Transfer Protocol)

La posta elettronica (E-mail) uno dei servizi applicativi pi usato in Internet. La sua
popolarit deriva dalla facilit di uso che consente di trasferire velocemente sia piccole note che
voluminosi documenti. I vantaggi sono ovvi: il messaggio ricevuto pu essere registrato e
catalogato, inoltre pu essere modificato o usato come base per successivi lavori, al contrario di un
messaggio ricevuto su carta o a voce che necessita di dover essere trascritto. Inoltre non richiede
che mittente e destinatario siano contemporaneamente presenti. Un utente pu inviare un messaggio
ed il destinatario pu leggerlo in un tempo successivo. Gli applicativi di posta elettronica
permettono di scambiare messaggi tra utenti utilizzando il protocollo di comunicazione SMTP.
L'obiettivo che il protocollo SMTP si propone quello di offrire i meccanismi per trasferire
messaggi in forma elettronica in modo affidabile ed efficiente attraverso Internet. A tal fine, SMTP
usa il protocollo TCP come protocollo di strato 4 e quindi adotta una modalit di trasferimento con
connessione ed affidabile.
A fronte di una richiesta di invio di e-mail da parte dell'utente, il "sender-SMTP" stabilisce una
connessione bi-direzionale con il "receiver-SMTP". La connessione bi-direzionale, in quanto il
servizio di tipo confermato, cio il destinatario invia al mittente dei messaggi di riscontro per
confermare la corretta ricezione del messaggio inviato dallutente.
Preliminarmente allinvio del messaggio vero e proprio il "sender-SMTP" verifica la
disponibilit del "receiver-SMTP" ad accettare il messaggio stesso e, se non vengono riscontrati
problemi (indisponibilit del receiver, utente sconosciuto, etc.), si avvia il processo di trasmissione
del messaggio generato dall'utente.
Il formato dei messaggi regolato da uno standard (RFC822). SMTP prevede anche
funzionalit di traduzione tra diversi formati e luso di gateway verso sistemi di E-mail non basati
su TCP/IP. Ha diverse potenzialit: uso di alias, liste di destinatari, risposte automatiche, etc.

8
VI.1.3.

FTP: File Transfer Protocol

E un altro dei servizi applicativi pi usati ed responsabile di una rilevante quantit del
traffico totale. La principale funzione del protocollo FTP il trasferimento efficiente ed affidabile
di archivi (files) tra host remoti. Consente anche di visualizzare il contenuto di sistemi di
archiviazione remoti e di modificare o cancellare files e directories ivi residenti.
Supporta il trasferimento di quattro tipi di files: Binari, ASCII, EBCDIC e paged. Fornisce
funzionalit di protezione dei file trasmessi e compressione di dati; non fornisce funzionalit di
traduzione o di conversione di files.
Nelleffettuare il trasferimento di un file, la componente client del protocollo FTP realizza
innanzitutto una connessione di controllo con la componente server. Attraverso questa connessione
vengono inviati al server FTP i comandi, opportunamente codificati, che originano da richieste
dellutente. Il server FTP, interpreta tali comandi ed effettua la trasmissione dei dati richiesti. Per
garantire laffidabilit dei dati trasmessi usa, come protocollo di strato 4, TCP.
VI.1.4.

TFTP: Trivial FTP

E un protocollo simile a FTP, trasferisce archivi (files) tra host remoti, ma fornisce meno
funzionalit di FTP: non consente di proteggere i files trasmessi e di gestire directories. Usa UDP
invece di TCP come protocollo di strato di trasporto.
VI.1.5.

TALK

Consente il dialogo in tempo reale tra due utenti. Genera, sullo schermo degli utenti, una
finestra divisa in due parti; in una compare ci che si scrive mentre nellaltra compare ci che scrive
lutente remoto.
VI.1.6.

X-Window

E simile a Telnet, ma fornisce anche sofisticate funzionalit grafiche. Consente ad un utente di


accedere contemporaneamente a diverse applicazioni in altri sistemi come se fosse direttamente
connesso a tali sistemi.
La principale differenza rispetto a Telnet che il terminale emulato di tipo grafico e quindi
consente di usare anche applicazioni remote che fanno uso di visualizzazioni non solo testuali.
VI.1.7.

NFS: Network File System

Consente di utilizzare un sistema di archiviazione (file system) remoto allo stesso modo di uno
locale. Grazie a NFS possibile vedere, copiare, modificare e cancellare files residenti in un
sistema remoto in modo del tutto trasparente per lutente. A differenza di FTP, con NFS lutente
pu anche ordinare lesecuzione di un qualunque processo ed usare qualsivoglia file (locale o
remoto) per linput e loutput di tale processo. Unaltra caratteristica di NFS che consente
allutente finale di eseguire tutte le azioni appena descritte mediante gli stessi comandi del sistema
operativo che lutente usa nel proprio sistema, per le stesse azioni riferite al sistema locale. Non
necessario quindi che lutente debba usare in modo esplicito il tramite di unapplicazione di rete per
interagire con un sistema remoto; NFS gestisce tutte le operazioni necessarie per tali interazioni
senza che lutente finale ne abbia coscienza ed opera, per usare un termine gergale, nello sfondo o
in ombra (in background). Nella Figura le directories ed i files dei sistemi remoti berkeley ed
osaka sono accessibili come se fossero residenti sul sistema locale, a meno solo di eventuali
limitazioni nella velocit di accesso. Sempre in gergo, si dice che i file systems remoti sono
montati sul sistema locale.

9
remoto

blefari roveri

usr

bin

bin

etc

berkeley

hosts

osaka

bin

Figura VI.1.1 - Esempio di funzionamento di NFS


VI.1.8.

WORLD WIDE WEB

World Wide Web, chiamato anche WWW o W3, un sistema informativo multimediale basato
su ipertesti la cui origine risale al 1989. E attualmente il servizio applicativo pi usato in Internet.
Consente ad un utente di acquisire un documento situato in un sistema remoto, usando la
componente client di WWW (denominata browser). In ogni host in cui siano contenuti dei
documenti deve invece operare la componente server. La particolarit di WWW la tipologia dei
documenti acquisibili.
I documenti WWW sono:
- multimediali e cio contengono informazioni testuali, grafiche e sonore, eventualmente
compresse mediante opportuni algoritmi per ridurre il volume di traffico scambiato
durante il trasferimento;
- ipertestuali: alcune parole o immagini o zone del documento acquisito contengono dei
collegamenti ad altri documenti; lutente, selezionando uno di questi collegamenti (link),
acquisisce il relativo documento.
Questultima caratteristica quella che ha determinato lo sviluppo attuale del WWW. Un
particolare documento pu contenere diversi collegamenti, ognuno dei quali un puntatore ad un
altro documento; ogni documento pu essere situato in un qualunque host connesso ad Internet.
Lutente, sfogliando il documento in questione, pu scegliere di seguire uno qualsiasi di questi
collegamenti. Laspetto pi comodo, che rende il WWW particolarmente semplice da usare, che
ogni collegamento contiene anche lindirizzo dellhost in cui il documento cercato si trova. In tal
modo, lutente pu acquisire diversi documenti, localizzati ovunque nel mondo, senza bisogno di
sapere dove essi siano fisicamente memorizzati. Il processo pu divenire iterativo per cui da un
documento lutente pu passare ad esaminare un altro documento che contiene collegamenti ad altri
documenti ancora e cos via.
Di fatto lintero insieme del WWW (e cio tutti i documenti accessibili di tipo WWW) appare
allutente, nella sua interezza, come se fosse disponibile nel suo host, a meno di eventuali
limitazioni nella velocit di accesso; lutente non tenuto a sapere dove sia localizzato uno
specifico documento, e non c' necessit che digiti comandi o interroghi basi di dati alla ricerca di
tale locazione.
Ad esempio, quando una nuova parola o un nuovo concetto sono introdotti in un testo, WWW
offre i mezzi per collegarsi ad un altro documento in cui vengono forniti maggiori dettagli a
riguardo, in modo tale che il lettore pu aprire il secondo documento selezionando la parola o il
concetto sconosciuto; questo documento pu a sua volta contenere ulteriori riferimenti ad altra
documentazione residente in altri sistemi. E ci che si intende per navigare nella rete, seguendo
un albero di documenti che si pu biforcare in ogni momento.
L'accesso ai server WWW avviene tramite applicativi di tipo client. Questi applicativi sono
disponibili per diverse piattaforme software. Gli esempi pi noti e diffusi di tali applicativi sono

10
Netscape e Internet Explorer. Spesso le applicazioni che implementano la componente client di
WWW contengono anche componenti client di altri servizi applicativi, come ad esempio FTP o
News. Tali applicazioni contengono inoltre ulteriori moduli software (non servizi di rete, ma
applicazioni locali) necessari per:
convertire il formato di alcuni documenti;
decomprimere documenti codificati con opportuni algoritmi per ridurre il volume di
traffico scambiato;
presentare in modo adeguato linformazione (ad es. video o audio) allutente finale.
Il servizio applicativo WWW si basa su due protocolli:
Hyper Text Markup Language (html): definisce il formato dei documenti;
Hyper Text Transfer Protocol (http): il protocollo che consente di trasferire i
documenti.
Il protocollo HTTP usa come protocolli di strato di trasporto sia TCP che UDP, instaurando
contemporaneamente anche pi di una connessione TCP per il trasporto di diverse parti del
documento.
VI.1.9.

GOPHER

Internet Gopher, o pi semplicemente Gopher, un servizio distribuito per lacquisizione di


documenti, che consente di esplorare, cercare e acquisire informazioni residenti in differenti
locazioni. E simile a WWW ma a questi precedente e sta diventando obsoleto, poich offre meno
funzionalit. L'interfaccia tipica di questo servizio suddivide le informazioni in una serie di menu
nidificati, che rispecchiano l'organizzazione delle informazioni in directory, sub-directory e file.
Dal punto di vista dell'utente, tutte le informazioni sembrano essere dislocate nello stesso
posto, sebbene alcune sub-directory e il loro contenuto possano trovarsi fisicamente su dei sistemi
remoti gestiti da altri servers Gopher. Tale struttura gerarchica delle informazioni porta alla
definizione di uno spazio Gopher, cio di una struttura logica unitaria composta da informazioni
contenute in server gopher ubicati spazialmente in luoghi diversi.
La tipologia delle informazioni gestite da questo servizio comprende file di testo, file binari,
immagini e suoni.
VI.1.10.

ARCHIE

Archie un sistema informativo nato per offrire un servizio di directory elettronico


centralizzato, mediante il quale possibile localizzare le informazioni nell'ambito della rete
Internet; allo stato attuale si contano un centinaio di siti distinti che offrono il servizio.
L'uso principale che viene fatto di tale sistema informativo quello di interrogare una base di
dati di carattere generale, che contiene informazioni su host ad accesso libero presenti nella rete; il
risultato dellinterrogazione una lista di indirizzi, presso i quali possibile reperire le informazioni
oggetto della ricerca.
VI.1.11.

WAIS (Wide Area Information Server)

WAIS un sistema per il recupero di informazioni distribuite nella rete; esso aiuta l'utente
nella ricerca sulle basi di dati presenti in Internet. Le informazioni contenute in tali basi di dati sono
generalmente di tipo testo, ma possono contenere anche suoni, immagini e filmati, con un vasto
campo di applicazioni.
L'organizzazione di tali basi di dati varia a seconda dell'ente che gestisce un particolare WAIS,
mantenendo comunque una semplice interfaccia d'utente, al quale vengono mascherate le
differenze. Tali interfacce fanno uso generalmente del linguaggio naturale, mediante il quale
possibile impostare tutti i parametri necessari alla ricerca.

11
L'architettura del servizio strutturata in modo tale che, a seguito di una ricerca avviata
dall'utente, il centro servizi a cui tale utente collegato si incarica di attivare le opportune
operazioni di ricerca sulle basi di dati selezionate, eventualmente remote. Il risultato di tale ricerca
si concretizza in un insieme di documenti, che contengono le stringhe oggetto della ricerca con i
relativi riferimenti necessari per il recupero degli stessi attraverso la rete.
VI.1.12.

WHOIS

Il servizio Whois fornisce un sistema di directory elettronico per gli utenti registrati nella rete
Internet. Fornisce cio i mezzi per l'identificazione di indirizzi di posta elettronica, indirizzi postali
e numeri telefonici.
La base di dati principale con le informazioni generali sulla rete (organizzazioni, siti, reti,
persone, etc. ) gestito da un ente denominato "INTERnet Network Information Center (INTERNIC). Allo stato attuale, i nomi dei gestori dei domini registrati sono automaticamente introdotti
nella base di dati quando le autorit di coordinamento della rete Internet concedono una
numerazione specifica di rete (indirizzo IP).
L'accesso ai vari server Whois attualmente presenti in rete reso possibile o attraverso sessioni
interattive Telnet con siti opportuni, o facendo uso di appositi programmi applicativi.
In aggiunta a tali modalit di accesso INTER-NIC offre per le proprie basi di dati un'interfaccia
di tipo E-mail, per consentire l'accesso anche a quella fascia di utenza che dotata soltanto di posta
elettronica, o che non appartiene alla rete Internet.
VI.1.13.

LISTSERV

Listserv unapplicazione per la gestione di liste distribuite che permette a gruppi di utenti con
interessi comuni di comunicare tra loro tramite posta elettronica, realizzando al tempo stesso un uso
efficiente delle risorse di rete.
La funzione principale di Listserv quella di operare su liste di indirizzi (mailing list), ossia di
realizzare la distribuzione di posta elettronica ad un gruppo di utenti stabilendo un vero e proprio
forum di utenti su argomenti di interesse comune. Tale tipo di servizio utile per lo scambio di idee
e di informazioni poich la stessa applicazione Listserv che si incarica di recapitare a tutti i
partecipanti alla mailing list linformazione inviata da un suo utente, evitando cos a questultimo la
replica e linvio dello stesso messaggio a tutti i componenti della lista.
Listserv fornisce inoltre gli strumenti per effettuare monitoraggio ed archiviazione del traffico
di posta elettronica, funzioni di file server e ricerca di archivi in basi di dati.
VI.1.14.

NEWS

Netnews o Usenet o News unapplicazione per la condivisione di messaggi che permette di


scambiarli elettronicamente usando un formato standard.
I messaggi scambiati su Netnews sono organizzati per argomenti allinterno di categorie
chiamate newsgroup. I messaggi possono contenere sia esclusivamente testo che informazioni
binarie codificate; possono contenere anche intestazioni informative sul mittente, su quando e dove
il messaggio stato messo in rete, dove transitato ed altre informazioni amministrative.
Esistono oggi migliaia di categorie newsgroup riguardanti i pi svariati argomenti. Il contenuto
dei messaggi scambiati nei newsgroup non in genere regolamentato, anche se qualche newsgroup
ha un moderatore che esamina i messaggi prima che siano distribuiti e decide quali siano
appropriati per la diffusione.
La componente client di News chiamata news reader ed utilizza il protocollo NNTP
(Network News Transfer Protocol) per ricevere informazioni da opportune basi di dati.

12
VI.2.

Architettura e protocolli

Facendo riferimento a quanto gi chiarito nel par. IV.8 relativamente alle architetture di
interconnessione, questo paragrafo tratta la struttura ( VI.2.1) e larchitettura protocollare (
VI.2.2) di Internet. Questo secondo argomento da mettere in relazione con il modello Internet
presentato in II.6.2.
Nel corso di questo e dei successivi paragrafi cercheremo di presentare le modalit di
funzionamento di Internet secondo delle opportune strutture logiche, al fine di dare una certa
sistematicit allesposizione. Avvertiamo per che alcuni aspetti di Internet, a causa del modo in cui
questa infrastruttura si evoluta, sfuggono ad un inquadramento in paradigmi ben definiti e, pur nel
rispetto dei protocolli, sono possibili numerose eccezioni e soluzioni alternative ad una data
modalit di funzionamento.
VI.2.1.

Struttura

Internet una particolare inter-rete costituita dallinterconnessione di reti eterogenee. Da


quanto esposto nel par. IV.8, si evince che una inter-rete una infrastruttura il cui elemento
distintivo rappresentato dallinsieme di procedure di inter-lavoro (protocolli) necessarie per
interconnettere le reti-componenti e per permettere quindi ai calcolatori a queste connessi di
colloquiare tra loro secondo quanto richiesto dai processi applicativi in esso residenti.
Nel seguito, quando ci si riferir in modo indifferenziato ad un host o ad un router si user il
termine generico di sistema.
I sistemi connessi ad Internet comunicano tra loro impiegando un insieme di protocolli comuni
a cui ci si riferisce con il termine "Internet Protocol Suite"; i protocolli pi conosciuti ed importanti
al suo interno sono TCP (Transmission Control Protocol, di strato 4) e IP (di strato 3). Tali
protocolli rappresentano la base comune per lo scambio delle informazioni tra le varie sotto-reti. La
dizione rete TCP/IP identifica una rete che operi in accordo a tali protocolli, sia essa una sottorete o una inter-rete; Internet quindi anche definibile come una rete TCP/IP. Inoltre, per brevit,
nel seguito si far riferimento alla Internet Protocol Suite con la dizione TCP/IP.
La struttura generale di Internet presenta i seguenti elementi distintivi:
ogni sotto-rete utilizza protocolli di strato fisico, di collegamento e di rete che sono in
generale diversi da quelli usati da altre sotto-reti, fermo restando il fatto che ogni sottorete sia omogenea al suo interno;
grazie a tali protocolli gli host che appartengono ad una data sotto-rete possono
scambiare informazioni con host appartenenti alla stessa sotto-rete (ma non con host
connessi ad altre sotto-reti); ad esempio gli host connessi ad una rete ATM, adottano gli
omonimi protocolli e possono scambiare informazioni solo con host connessi alla rete
ATM; un apparecchio telefonico pu raggiungere solo un altro analogo apparecchio
connesso alla stessa rete telefonica;
le sotto-reti componenti Internet sono interconnesse tramite sistemi di inter-connessione
operanti a livello di strato di rete e quindi denominati router (si noti che fino a qualche
tempo fa la comunit Internet usava la dizione gateway per tali dispositivi; tale dizione
ora in disuso e noi seguiremo la nomenclatura introdotta nel par. IV.8);
in alcuni o eventualmente in tutti gli host di una data sotto-rete possono essere
implementati i protocolli della Internet Protocol Suite; ovvero ai protocolli tipici di una
data sotto-rete si aggiungono i protocolli TCP/IP, senza modificare i protocolli preesistenti; tali host, denominati host IP nel seguito, possono scambiare informazioni con
qualsiasi altro host IP appartenente sia alla stessa sotto-rete che alle altre sotto-reti
interconnesse;
si identificano inoltre con il nome di host non IP quegli host che, pur disponendo dei
protocolli necessari per scambiare informazioni con host a loro omogenei e quindi

13
connessi alla stessa sotto-rete, non sono dotati dei protocolli della Internet Protocol
Suite;
ogni host dispone, in generale, di una interfaccia fisica ed caratterizzato da una coppia
di indirizzi, uno locale ed uno globale; un router dispone di due o pi interfacce fisiche,
tante quante sono le sotto-reti che esso pone in corrispondenza ed caratterizzato da
tante coppie di indirizzi (locali e globali) quante sono le sue interfacce fisiche.
siccome un host ha, in generale, una sola interfaccia di rete non deve decidere verso
quale interfaccia inviare un dato datagramma; viceversa un router dispone per
definizione di pi interfacce di rete (ovvero di diversi collegamenti verso altre sotto-reti)
e deve perci necessariamente scegliere verso quale di queste inviare una certa unit di
dati; esso svolge cio le stesse funzioni logiche che, in altre reti di telecomunicazioni (ed
anche allinterno di alcune sotto-reti che costituiscono Internet), sono svolte da sistemi
denominati commutatori; a parte la differenza di nomenclatura, un router infatti non
altro che un commutatore, anche se, per principi architetturali e tecnica costruttiva
alquanto diverso da, ad esempio, un commutatore telefonico.
La Figura mostra esemplificativamente tale struttura. La "nuvola" pi grande rappresenta
Internet; gli host IP (utilizzati dagli utenti di Internet) sono rappresentati al di fuori di tale nuvola
per evidenziare il fatto che Internet appare ad essi come ununica rete; tali utenti non vedono la
complessit sottostante e possono ignorare i dettagli e la topologia di rete. In tal modo pi
semplice derivare un modello astratto delle comunicazioni e sviluppare le applicazioni di rete. Il
software applicativo indipendente da quello di rete ed ambedue possono essere migliorati e
modificati in modo indipendente.
INTERNET

host IP

host IP

host IP
Router
sotto-rete
1

sotto-rete
2

Router

host non IP
sotto-rete
6

Router

sotto-rete
3

Router

host non IP
Router
sotto-rete
5

sotto-rete
4
Router

host non IP

host IP

host IP

host IP

Figura VI.2.1- Struttura esemplificativa di Internet


Gli host non-IP sono invece rappresentati allinterno della nuvola in quanto essi possono
comunicare solo con utenti connessi alla loro stessa sotto-rete ed a questi omogenei. Si noti anche
come non necessario che una data sotto-rete sia connessa direttamente, tramite un router, a tutte le
altre sotto-reti. Il traffico proveniente da una sotto-rete e destinato ad unaltra sotto-rete attraversa,
in generale, diverse sotto-reti intermedie. I router non consentono, in generale, connessioni dirette
tra due qualsivoglia sotto-reti che costituiscono Internet. Ogni entit che costituisce Internet
contribuisce quindi al trasferimento dellinformazione, realizzando anche funzioni che in altre
infrastrutture di telecomunicazioni sono tipiche dei gestori di rete.
Un altro concetto importante che, dal punto di vista di Internet, ogni sistema di
comunicazione capace di trasferire informazione appare come una singola sotto-rete in modo non
dipendente dalle sue caratteristiche e prestazioni (protocolli, dimensione delle unit informative,

14
scala geografica, velocit di trasferimento, ritardo, grado di trasparenza temporale, integrit
informativa, portata, etc.). La Fig. VI.2.1 rappresenta infatti in modo indifferenziato tutte le sottoreti che compongono Internet, poich i protocolli TCP/IP le trattano allo stesso modo, nonostante le
loro differenze: in altre parole i protocolli TCP/IP trattano tutte le sotto-reti in modo uguale; una
rete in area locale, una rete in area metropolitana, una rete in area geografica, una connessione
punto-punto dedicata, ognuno di questi sistemi di comunicazione visto da Internet come una
singola sotto-rete.
VI.2.2.

Architettura Protocollare

Larchitettura protocollare di Internet rappresentata nella Tab. VI.2.1. La numerazione degli


strati nella prima colonna stabilisce una corrispondenza tra strati del modello OSI e protocolli
Internet. Lo strato 3 stato diviso in sotto-strati mentre non stata individuata una corrispondenza
tra gli strati superiori al 4 del modello OSI ed i relativi protocolli Internet. Infatti, nellambiente
Internet, i protocolli di strato superiore al 4 sono denominati Servizi Applicativi e le loro funzioni
non sono divise in termini di strato di sessione, presentazione ed applicazione. I servizi di
applicazione utilizzano, a loro scelta, i protocolli di strato di trasporto disponibili.

Strati

Protocolli
Application Services:

5-7

4
3c

TELNET
TFTP
DNS
WWW
WAIS
Listserv

FTP
TALK
NFS
ARCHIE
News
CMOT

SMTP
RIP
X-Window
GOPHER
WHOIS
SNMP
etc.
UDP

TCP
IP

ICMP

3b
3a
2
1

ARP/RAR
P
Ad es. X.25 strato 3, SNA, DECnet, etc.
Ad es. X.25 strato 2, 802.2, 802.3, 802.4 etc.
Strato fisico
Tab. VI.2.1 - Architettura protocollare di Internet

Tutti gli strati inferiori a IP, da 3a compreso in gi, sono considerati come strato di accesso
alla rete e sono trattati indifferentemente dalla Internet Protocol Suite (e rappresentati con sfondo
grigio). Tali protocolli sono quelli tipici di una data sotto-rete; un host non-IP dispone solo di questi
protocolli e di quelli applicativi. Un host non IP diviene host IP quando ai protocolli appena
menzionati si aggiungono quelli della Internet Protocol Suite. TCP/IP logicamente situato al di
sopra dei protocolli di rete delle sotto-reti interconnesse.

15
La Internet Protocol Suite riesce a inter-connettere tutti i tipi di sotto-rete grazie alla sua
modalit di funzionamento. Infatti, essa assume solo che ognuna delle sotto-reti interconnesse sia
capace di trasferire informazione, senza richiedere particolari prestazioni; quindi implementa tutte
le funzioni tipiche degli strati 2, 3 e 4: controllo di errore, indirizzamento, instradamento,
frammentazione e ri-assemblaggio delle unit informative. Se alcune o tutte queste funzioni non
erano state svolte da una particolare sotto-rete, TCP/IP le realizza; se erano gi state svolte le
duplica, realizzandole nuovamente; ci conduce ad eventuali inefficienze ma consente di non
imporre alcun vincolo sulla tecnologia e sui protocolli delle sotto-reti che interconnette.
Come ovvia conseguenza la velocit di trasferimento delle informazioni, i gradi di trasparenza
temporale e di integrit informativa nonch tutte le altre prestazioni di rete sono fortemente legate
alla tecnologia ed alla tipologia delle sotto-reti su cui TCP/IP si appoggia.
Il protocollo IP tratta ciascuna unit informativa come un messaggio indipendente da tutti gli
altri; non esistono pertanto, in questo strato, i concetti di connessione e di circuito logico; il
protocollo IP senza connessione. Il trasferimento delle unit informative pu richiedere una
segmentazione delle stesse laddove le dimensioni delle unit informative gestite dalle sotto-reti
siano inferiori alle dimensioni massime consentite alle unit informative di TCP/IP. A tale scopo IP
fornisce un meccanismo specifico per la segmentazione ed il ri-assemblaggio delle proprie unit
informative.
Il livello di trasporto viene realizzato, in alternativa, mediante i protocolli TCP e UDP. TCP
offre un servizio affidabile orientato alla connessione. Questa affidabilit viene raggiunta senza che
TCP imponga vincoli ai protocolli su cui si appoggia. Infatti stato progettato per funzionare anche
sfruttando un servizio di trasferimento di strato di rete a datagramma e potenzialmente inaffidabile
(come IP). TCP pu operare su di un ampio spettro di piattaforme comunicative, dalla semplice
connessione dedicata alla commutazione di circuito o di pacchetto. Trasferisce un flusso
informativo continuo e bi-direzionale. TCP pu sopperire a problemi di danneggiamento, perdita,
duplicazione e consegna fuori sequenza dei dati. TCP implementa anche un controllo di flusso che
consente di adeguare il volume dei dati trasmesso alle reali capacit di ricezione e di invio dei
processi TCP coinvolti nelle reti attraversate (mediante un meccanismo a finestra variabile).
Si noti infine che una data sotto-rete componente Internet pu adottare come protocolli propri
di strato di rete e di trasporto rispettivamente IP e TCP. In tal caso gli host ad essa appartenenti sono
gi host IP e quindi possono colloquiare con altri host IP connessi ad Internet, una volta che la
sotto-rete in esame sia interconnessa ad altre sotto-reti in accordo ai principi sopra espressi.
Nel seguito del paragrafo si esporranno brevemente le caratteristiche principali dei protocolli
usati nellarchitettura Internet negli strati 1-4, mentre i protocolli applicativi sono gi stati descritti
nel par. VI.1.
ARP e RARP (Address Resolution Protocol, Reverse Address Resolution Protocol) sono
protocolli di supporto. ARP usato per determinare quale indirizzo locale (che identifica un sistema
nellambito della sotto-rete di appartenenza) corrisponde ad un dato indirizzo globale Internet (cfr.
par. IV.8). RARP esegue la procedura inversa. Le specifiche modalit di funzionamento di ARP e
RARP dipendono dalla particolare sotto-rete in cui operano. In altri termini, ogni tipo di sotto-rete
usa dei particolari e diversi protocolli ARP e RARP.
Il protocollo RARP utilizzato da sistemi privi di dispositivi di memorizzazione di massa, per
determinare, durante la fase di inizializzazione, il proprio indirizzo IP a partire dal loro indirizzo
locale (in tal caso lindirizzo locale sar fisicamente scritto, in hardware, nella loro interfaccia di
rete). RARP assume che nella sotto-rete siano presenti uno o pi RARP server a cui inviare la
richiesta RARP. Il RARP server una volta ricevuta la richiesta risponde inviando lindirizzo IP
cercato.
IP (Internet Protocol) il principale protocollo di Internet e sar descritto in dettaglio nel par..
Le sue funzioni possono riassumersi nellindirizzamento, nellinstradamento, nella frammentazione
e nel ri-assemblaggio delle unit informative. In ricezione, lo strato IP consegna le proprie unit
informative al protocollo di strato superiore a cui esse sono destinate (ad. Es. TCP, UDP o ICMP).

16
ICMP (Internet Control Message Protocol) un protocollo senza connessione utilizzato per
risolvere eventuali situazioni anomale, comunicando ai sistemi coinvolti i problemi riscontrati;
effettua inoltre semplici funzioni di controllo di flusso. I messaggi di ICMP sono trasportati
all'interno delle unit informative di IP (da questo punto di vista, ICMP quindi logicamente situato
al di sopra di IP). In caso di malfunzionamento della rete, ICMP provvede ad uno scambio di
messaggi fra i sistemi coinvolti per notificare lerrore o indicare le circostanze inaspettate che
causano il comportamento anomalo. Il destinatario di un messaggio ICMP non un programma
applicativo od un utente ma il processo che implementa il protocollo IP. In altre parole ICMP
fornisce i mezzi per uno scambio di informazione tra unentit IP di un sistema e la corrispondente
entit IP di un altro sistema. Da questo punto di vista, ICMP pu essere considerato funzionalmente
situato al di sotto di IP e ci giustifica la posizione di ICMP nella architettura protocollare
rappresentata in , posto a fianco e al disopra di IP. La funzione di ICMP solo di notifica degli
errori al sistema di origine; ICMP non specifica le azioni che devono essere prese per rimediare agli
errori ed ai malfunzionamenti; sar poi il sistema di origine a porre in relazione il particolare errore
con il relativo programma applicativo ed a decidere cosa fare per correggere il problema. Esempi di
messaggi ICMP sono:
- Source Quench: inviato dal destinatario, interrompe l'emissione di unit informative da
parte del mittente;
- Redirect: il destinatario segnala al mittente di re-instradare una particolare unit
informativa verso un altro sistema;
- Echo: controlla se un possibile destinatario attivo;
- Destination Unreacheable: notifica il mittente della non-raggiungibilit di un sistema.
TCP (Transmission Control Protocol) sar descritto in dettaglio nel par. VI.5. un protocollo
di strato 4, con connessione, controllo di errore, controllo di flusso, ri-ordinamento delle unit
informative, indirizzamento di uno specifico utente allinterno di un host (utente in senso OSI).
Un host pu essere utilizzato da pi utenti o processi. Vedremo che il protocollo IP indirizza un
host in modo globale. quindi necessario anche precisare con quale specifico utente (processo) di
un determinato host si vuole comunicare. Di ci si occupa TCP.
UDP (User Datagram Protocol) sar descritto in dettaglio nel par. VI.4; un protocollo di
strato 4, molto pi semplice di TCP; senza connessione. Offre agli strati superiori un trasferimento
non affidabile; la sua funzione principale lindirizzamento di uno specifico utente allinterno di un
host. Opzionalmente fornisce un meccanismo per il controllo di errore, limitato alla rivelazione di
errori in ogni singola unit informativa (non necessaria se si attraversano reti altamente affidabili).
utilizzato prevalentemente da TFTP e RIP.
VI.3.

Il protocollo IP

Il protocollo IP un protocollo di strato 3 e fornisce le seguenti funzionalit:


- definisce lo schema di indirizzamento;
- definisce lunit base per il trasferimento dei dati attraverso Internet e quindi specifica il
formato di tutti i dati che attraversano l inter-rete;
- definisce la strada che ununit di dati deve percorrere per arrivare a destinazione;
- specifica un insieme di regole che host e router devono seguire per processare le unit
informative; come e quando i messaggi di errore devono essere generati e le condizioni
che rendono necessario scartare ununit informativa;
- definisce le modalit per la segmentazione e l'aggregazione delle unit di dati; nel
seguito il risultato dell'operazione di segmentazione verr chiamato "frammento",
termine che meglio aderisce a quello inglese usato in questo contesto (fragment).
Il principale servizio offerto da IP il trasferimento di unit informative. Il servizio
inaffidabile, senza connessione e basato sul paradigma del best-effort (la rete cerca di fare del
suo meglio).

17
Il servizio definito inaffidabile perch la consegna di ununit informativa non garantita.
Questa pu essere persa, duplicata, ritardata o consegnata fuori sequenza. Il servizio non notifica
queste condizioni n al mittente n al destinatario. Il servizio senza connessione e quindi ogni
unit informativa trattata in modo indipendente dalle altre e ognuna di esse pu seguire una strada
diversa per arrivare a destinazione. Infine il servizio detto best-effort perch fa del suo meglio
per recapitare le unit informative, ma, in caso di malfunzionamenti, errori o congestione, la qualit
di servizio offerta pu diminuire considerevolmente. In queste ultime situazioni IP sfrutta le
funzioni di ICMP per cercare di risolvere il problema.
Il seguito del paragrafo diviso in otto parti. Nella prima si descrive il formato dellunit di
dati; la seconda dedicato alle modalit di segmentazione e di aggregazione delle unit di dati; la
terza introduce lo schema di indirizzamento; la quarta spiega come gli indirizzi IP (globali, con una
significativit che si estende a tutta linter-rete) sono posti in corrispondenza con gli indirizzi locali.
La quinta parte definisce le procedure per linstradamento; la sesta si occupa dei messaggi di errore
e di controllo (ovvero di ICMP). Nella settima parte si introduce il Domain Name System (DNS),
ovvero un meccanismo che consente di associare ad ogni indirizzo IP un nome, pi significativo per
gli utenti e pi semplice da ricordare e da utilizzare. Il DNS fornisce le procedure di traduzione da
un indirizzo numerico ad un nome e viceversa; svolge delle funzioni che si possono paragonare a
quelle di unagenda telefonica. Infine nell'ultima parte si presentano degli esempi che illustrano il
funzionamento di alcune operazioni tipiche svolte durante uno scambio informativo in Internet.
VI.3.1.

Formato dellunit di dati

Le unit di dati dello strato IP sono dette IP datagrammi o semplicemente datagrammi. Il


datagramma composto da una intestazione e da un campo informativo che contiene i dati di
utente. Il formato del datagramma IP illustrato nella Tabella . Ogni riga contiene 32 bit. La
lunghezza massima di un datagramma di 65536 ottetti.
0

4
VERS

8
HLEN

16
SERVICE TYPE

24

31

TOTAL LENGTH

IDENTIFICATION
TIME TO LIVE

19

Flags

PROTOCOL

FRAGMENT OFFSET
HEADER CHECKSUM

SOURCE IP ADDRESS (NET AND NODE, NOT USER)


DESTINATION IP ADDRESS (NET AND NODE, NOT USER)
OPTIONS

PADDING
DATA
DATA
...

Tabella VI.3.1 - Formato del datagramma IP


I campi definiti in Tabella hanno i seguenti significati e funzioni:
Vers:

(versione) versione del protocollo usata; grazie a tale campo possibile


che pi versioni di IP operino contemporaneamente; in tal modo si
rendono pi semplici la modifica ed i miglioramenti del protocollo

HLEN:

lunghezza dell'intestazione (specificata in parole di 32 bit)

18

Service type:

Total length:

Identification:

Flags:

(tipo di servizio) specifica parametri della qualit di servizio richiesti


dallutente: affidabilit, velocit di trasferimento; nella definizione
originale [RFC791], un sub-campo (di tre bit) con valori da 0 a 7 indica
l'importanza del datagramma; un sub-campo successivo composto da
tre bit che possono essere utilizzati per richiedere particolari
caratteristiche: D-bit (basso ritardo, Delay), T-bit (alta portata,
Throughput), R-bit (alta affidabilit, Reliability); i restanti due bit
sono riservati per usi futuri. In seguito il formato di tale campo stato
modificato dalla [RFC1349]: uno dei due bit riservati stato aggiunto al
secondo sub-campo di cui sopra risultando nella seguente semantica dei 4
bit seguenti i primi tre (i quali continuano ad identificare limportanza di
un datagramma in scale di priorit):
- 1000 minimizzare il ritardo (delay)
- 0100 massimizzare la portata (throughput)
- 0010 massimizzare laffidabilit (reliability)
- 0001 minimizzare il costo
- 0000 servizio normale.
Di fatto luso di tale campo attualmente opzionale e risulta raramente
tenuto in conto nelle implementazioni, in favore di una maggiore
semplicit. Alcune recenti proposte ne rilanciano luso, proponendo di
usarlo in modo obbligatorio per lo meno in tutti i router appartenenti ad
una sezione di Internet che intenda offrire tali funzionalit (cfr.)
(lunghezza totale) (16 bit) specifica la lunghezza del datagramma,
misurata in ottetti, includendo l'intestazione ed i dati (2^16=65536 byte);
la lunghezza di un datagramma sempre uguale ad un multiplo di 4 byte
(identificazione) (16 bit) numero del datagramma; un valore
identificativo assegnato dal processo sorgente al datagramma o ai suoi
frammenti (un datagramma pu essere segmentato in unit pi piccole,
cfr. VI.3.2). Questo valore fornito da un contatore dell'host sorgente
che viene incrementato ogniqualvolta l'host genera un datagramma. Ogni
router che segmenta un datagramma ricopia questo campo
nell'intestazione di ogni frammento del datagramma di partenza
(bandiere) un campo di 3 bit: X, DF e MF
X: non usato e posto al valore logico zero
DF: Don't Fragment; se uguale a 0 indica che il datagramma pu essere
segmentato, se 1 no
MF: More Fragment; se 0 indica che l'ultimo frammento di un
datagramma, se 1 che seguono altri frammenti

19
Fragment Offset:

Time to Live:

Protocol:
Header Cecksum:

Source Address:
Destin. Address:
Options:

(13 bit); posizione di un frammento all'interno del datagramma


originario; espresso in unit di 8 byte pu numerare 8192 frammenti; ci
implica ancora che la lunghezza massima di un datagramma di 65536
ottetti, e che la lunghezza di un frammento sempre uguale ad un
multiplo di 8 byte. La segmentazione di un datagramma si rende
necessaria quando almeno una delle sotto-reti attraversate ha una
dimensione massima della propria unit di dati inferiore alla dimensione
del datagramma stesso (cfr. VI.3.2). I frammenti non arrivano
necessariamente a destinazione nello stesso ordine in cui sono stati
emessi; se uno o pi frammenti di un dato datagramma non viene
ricevuto, verr scartato l'intero datagramma
(tempo di vita) (8 bit); indica quanto tempo il datagramma pu rimanere
all'interno della inter-rete. Quando un host genera un datagramma,
inizializza questo campo con il valore del tempo concesso al datagramma
stesso per attraversare linter-rete. Questo valore verr decrementato da
ogni router incontrato nel cammino percorso dal datagramma. Quando il
valore di questo campo sar nullo, il relativo datagramma verr scartato.
Questa tecnica impedisce ad un datagramma di viaggiare indefinitamente
nella rete, se, a causa di errori, il suo instradamento risultasse in un
cammino chiuso o, in ogni caso, di evitare tempi di trasferimento
eccessivamente lunghi; il Time to Live decrementato a passi minimi di
un secondo; dopo 255 secondi (2^8) il datagramma viene scartato. Nelle
implementazioni attuali, e sempre in favore di una maggiore semplicit, il
valore di questo campo non definito in secondi ma in salti (hops). Per
salto si intende lattraversamento di un router e quindi un datagramma
pu attraversare al massimo 256 routers prima di essere scartato
indica a quale protocollo dello stato superiore deve essere trasferito il
contenuto informativo del datagramma
l'intestazione protetta da un controllo di errore (in una rete di rilevanti
dimensioni bisogna evitare che un datagramma vada verso siti diversi da
quelli voluti). Il contenuto di questo campo ottenuto considerando i bit
dell'intestazione a gruppi di 16 alla volta; se ne effettua la somma e si
memorizza in questo campo il complemento a 1 del risultato
(32 bit); indirizzo di sorgente IP (dellhost, non dellutente finale)
(32 bit); indirizzo di destinazione IP (dellhost, non dellutente finale)
(opzioni) campo di lunghezza variabile (multipli di 8 bit); pu essere
omesso. La lunghezza funzione delle opzioni implementate. Ad
esempio:
Record Route Option (RRO): consente al mittente di creare una lista

20

Padding:

VI.3.2.

vuota di indirizzi IP in modo che ogni sistema attraversato inserisce il suo


indirizzo in questa lista;
Source Route Option: consente al mittente di specificare i sistemi
attraverso i quali vuole che transiti il datagramma; in tal modo un
mittente pu far percorrere al datagramma una particolare strada. E usata
per scopi gestionali e di verifica del funzionamento di una determinata
parte di Internet.
Timestamp Option: ha la stessa funzione di RRO, ma in aggiunta ogni
sistema attraversato comunica, oltre al proprio indirizzo, anche l'istante
temporale in cui il datagramma attraversa il sistema stesso
(riempitivo) rende la lunghezza dell'intestazione un multiplo intero di 32
bit, mediante introduzione di zeri
Modalit di segmentazione e di aggregazione

Le sotto-reti componenti Internet possono avere diverse limitazioni circa la lunghezza massima
delle loro unit di dati; ad esempio la lunghezza massima di ununit di dati in una LAN Ethernet
di 1500 bytes mentre nella MAN FDDI di 4470 bytes. La dimensione massima dellunit di dati di
una sotto-rete denominata, in TCP/IP, Maximum Transfer Unit (MTU). Dovendo scegliere la
dimensione di un datagramma IP, una possibile soluzione potrebbe essere quella di adottare un
valore pari al minimo delle MTU delle sotto-reti da attraversare. Ci richiederebbe per uno
scambio di informazioni di controllo per determinare tale valore minimo e causerebbe delle
inefficienze nel trasporto attraverso sotto-reti con dimensioni di MTU maggiori del valore minimo.
Come per altre problematiche, si scelta invece una soluzione che sia la pi semplice possibile e
che non sia legata a particolari tecnologie delle sotto-reti componenti Internet. Ogni host che emette
un datagramma IP pu scegliere qualsivoglia dimensione per il datagramma stesso, purch inferiore
alla dimensione massima di un datagramma pari a 65536 ottetti e superiore a quella relativa alla
sola intestazione. Tipicamente la dimensione di un datagramma viene scelta pari alla MTU della
sotto-rete a cui connesso il sistema mittente. Questultima resa nota allentit IP mittente dal
software che interfaccia IP stesso ad una data sotto-rete (tale software denominato driver).
Ovviamente, se la quantit di dati da trasmettere inferiore alla MTU prescelta, il datagramma avr
una dimensione minore della MTU stessa.
Quando poi un datagramma deve attraversare diverse sotto-reti per giungere a destinazione ed
almeno una di queste sotto-reti ha una MTU di dimensioni inferiori a quelle scelte per un dato
datagramma (ovvero una dimensione inferiore a quella della MTU della sotto-rete di origine), il
datagramma stesso viene segmentato in pi parti, chiamate frammenti. I frammenti non devono
essere necessariamente tutti della stessa dimensione, anche perch non detto che un datagramma
abbia una lunghezza che sia un multiplo intero di una data MTU; in tal caso almeno lultimo
frammento di un dato datagramma avr una dimensione diversa dagli altri frammenti dello stesso
datagramma. Pu accadere anche che un frammento venga a sua volta frammentato, qualora debba
attraversare sotto-reti con MTU di dimensioni ancora inferiori
Il solo vincolo che IP pone ai sistemi connessi ad Internet che i routers debbano accettare
datagrammi di dimensioni pari a quelli delle MTU delle sotto-reti a cui sono connessi e che tutti i
sistemi (host e router) debbono comunque accettare e gestire datagrammi di dimensioni almeno pari
a 576 ottetti.
La segmentazione di un datagramma si rende necessaria quando anche solo una delle sotto-reti
attraversate ha una dimensione massima della propria unit di dati inferiore alla dimensione del
datagramma.

21
Alcuni datagrammi IP potrebbero per essere contrassegnati come non segmentabili (bit DF
posto ad uno) e, in questo caso, non verranno suddivisi in unit pi piccole per attraversare la interrete. Ci comporta la perdita del datagramma. In tal caso verr generato un messaggio ICMP.
Le procedure di segmentazione e di aggregazione devono essere in grado di segmentare il
datagramma originario in un numero arbitrario di unit che, giunte a destinazione, devono poter
essere ricomposte nella forma originaria. Il destinatario utilizzer il campo "Identification" di ogni
frammento per garantire che datagrammi generati da processi diversi non siano confusi tra loro.
Tale campo identificativo, che sar univoco per tutti i processi operanti in quel momento tra entit
sorgenti e entit remote, sar assegnato dalla entit sorgente aldatagramma trasmesso.
Ad ogni frammento inoltre assegnato il campo Fragment Offset che permette al
destinatario di risalire alla posizione occupata dal frammento nel datagramma originario. Il
frammento con il Flag MF posizionato a zero indica che questo l'ultimo segmento del datagramma
originario.
L'informazione presente nell'intestazione del datagramma viene copiata nell'intestazione dei
frammenti, ad eccezione del campo Total Length che viene modificato per fornire la lunghezza
del frammento in questione. In tal modo ogni frammento diventa a sua volta un datagramma e pu
essere quindi ulteriormente segmentato.
Il datagramma originale viene ricostruito completamente solo a destinazione. Se uno o pi
frammenti di un datagramma vengono persi, i restanti che arrivano a destinazione vengono scartati.
Ci avviene dopo un certo tempo pre-definito (detto time-out), necessario per evitare che si
scartino frammenti di un datagramma anche nel caso in cui alcuni frammenti non siano arrivati non
perch persi ma perch in ritardo (si ricorda che IP senza connessione e quindi non conserva la
sequenza originaria di emissione). Se si utilizza TCP come protocollo di trasporto, questultimo
chieder al mittente di un datagramma scartato di ri-inviarlo. Questo modo di procedere porta a
eventuali inefficienze, ma l'alternativa sarebbe quella di effettuare un controllo di errore in ogni
router, rendendo cos pi complessi tali sistemi.
Per aggregare i frammenti di un datagramma, la destinazione combiner insieme i frammenti
caratterizzati dagli stessi valori dei campi relativi all'identificazione, alla sorgente, al destinatario e
al tipo di protocollo. La parte dati di ogni frammento sar inserita nel datagramma ricostruito nella
posizione indicata dal campo Fragment Offset, che si trova nell'intestazione del frammento
stesso.
VI.3.3.

Schema di indirizzamento

Per consentire a tutti i sistemi connessi ad Internet di comunicare tra loro, necessario stabilire
un metodo globalmente accettato per identificare ed indirizzare in modo univoco tutti i sistemi. Cos
come ogni numero della rete telefonica mondiale unico, cos anche gli indirizzi dei sistemi
connessi ad Internet devono essere unici. Ci ha implicato la necessit di definire un nuovo schema
di indirizzamento, poich le sotto-reti pre-esistenti avevano schemi di indirizzi, in generale, diversi
tra loro e globalmente non univoci (ad es. indirizzi Ethernet, indirizzi X.25, numeri telefonici etc.).
Lo schema di indirizzamento di Internet definito allinterno degli strati IP e TCP (o UDP).
Un indirizzo IP identifica solo un sistema e non uno specifico utente (si ricorda che un generico
sistema pu essere utilizzato da pi utenti o processi). Lidentificazione di un utente (in senso OSI)
allinterno di un sistema affidata ai protocolli di strato superiore (TCP o UDP). Un indirizzo
completo quindi costituito da due parti, una definita allinterno di IP ed unaltra definita
allinterno di TCP (o UDP). In questo paragrafo tratteremo solo gli indirizzi a livello IP; si rimanda
invece il lettore ai par. VI.4 e VI.5, per quanto riguarda lindirizzamento di uno specifico processo
allinterno di un dato sistema.
Lo schema di indirizzamento di IP si sovrappone a quello delle sotto-reti che interconnette, nel
senso spiegato nel par. IV.8. Gli indirizzi IP devono essere unici in tutta la inter-rete ( possibile
attribuire indirizzi arbitrari ad una data rete TCP/IP solo se questa non connessa con altre reti o
con Internet).

22
Lo schema di indirizzamento di IP ha una struttura gerarchica, per facilitare loperazione di
instradamento. Un indirizzo IP identifica prima una porzione di inter-rete a cui un sistema
connesso e poi il sistema allinterno di quella porzione; ci facilit la scelta di una strada per
raggiungere un dato sistema.
Si pu fare un parallelo con il sistema di numerazione telefonica. Il prefisso telefonico
internazionale identifica una data nazione; allinterno di questa, il prefisso interurbano identifica un
distretto e il numero di utente si riferisce ad uno specifica linea allinterno di quel distretto. In altre
parole lindirizzamento gerarchico.
Un indirizzo IP costituito da una stringa di 32 bits; possono quindi teoricamente esistere 2^32
(=4 294 967 296) possibili indirizzi; ogni indirizzo IP consta di due parti: Net_Id e Host_Id.
Lindirizzo completo pu quindi essere scritto come:
IP_Address=Net_Id.Host_Id
I 32 bits totali sono divisi tra Net_Id e Host_Id.
E importante sottolineare che la componente Net_Id di un indirizzo IP non necessariamente
in corrispondenza con una data sotto-rete fisica. La componente Net_Id in corrispondenza con
quella che si prima definita genericamente come una porzione dellinter-rete. Tale porzione pu
coincidere con una data sotto-rete fisica ma pu anche comprendere pi sotto-reti fisiche o essere
un sotto-insieme di una data sotto-rete fisica. Nel seguito, si far riferimento ad una porzione di
inter-rete, caratterizzata da una comune componente Net_Id degli indirizzi IP in essa contenuti, con
il termine rete logica.
La suddivisione di un indirizzo IP nelle sue due componenti non fissa. In particolare sono
state definite cinque classi, in ognuna delle quali si assegna una frazione diversa dei 32 bits totali
alla Net_Id e conseguentemente alla Host_Id.
La possibile suddivisione di un indirizzo IP riportata in Tabella , per ognuna delle cinque
classi. Il motivo dellintroduzione di queste classi ancora da ricercarsi nel fatto che Internet si
propone di inter-connettere diversi tipi di sotto-rete; si possono perci avere diverse necessit, circa
la definizione delle reti logiche. Le cinque classi sono contraddistinte da una lettera, da A a E; le
prime tre, ovvero le classi A, B e C sono destinate allutenza normale; la classe D destinata a
comunicazioni di tipo multi-punto (multicast); la classe E riservata per usi futuri e per ricerca e
sviluppo. Grazie alla distinzione in classi, possono esistere:
- per la classe A: un numero ristretto di reti logiche (=128), ognuna delle quali pu
contenere milioni di possibili diversi indirizzi (fino a 16 777 216); il numero totale di
indirizzi di classe A (2^32)/2;
- per la classe B: un discreto numero di reti logiche (=16384), ognuna delle quali pu
contenere diverse migliaia di possibili diversi indirizzi (fino a 65536); il numero totale di
indirizzi di classe B (2^32)/4;
- per la classe C: un elevato numero di reti logiche (=2 097 152), ognuna delle quali pu
contenere solo un ristretto numero di possibili diversi indirizzi (fino a 256); il numero
totale di indirizzi di classe C (2^32)/8;
Un indirizzo IP di Classe D invece utilizzato per comunicazioni di tipo multipunto. Ovvero,
se si vuole inviare un messaggio non ad un solo destinatario ma ad un pre-definito gruppo di
destinatari, si pu usare un apposito indirizzo di tipo multipunto, che corrisponde ad una pluralit di
host (tale insieme di host denominato gruppo multicast). A tal fine si usa anche un apposito
protocollo aggiuntivo (Internet Group Management Protocol, IGMP). Si noti che una trasmissione
di tipo multipunto diversa da una di tipo diffusiva (broadcast); la prima fa riferimento ad uno
specifico gruppo di destinatari mentre la seconda fa riferimento a tutti gli utenti allinterno di una
specificata sotto-rete (o perfino a tutti gli utenti di Internet). Il numero totale di indirizzi di classe D
(2^32)/16. Infine il numero totale di indirizzi di classe E (2^32)/32.
Si noti che, a causa della divisione in classi, il numero totale di possibili indirizzi IP, di tutte e
cinque le classi, pari a

23
32

32

32

32

32

31 32
2
2
4
8
16
32
32
invece che N=2^32; infatti (2^32)/32 indirizzi risultano non assegnati a nessuna classe e
quindi, ad oggi, non utilizzabili.
N =

Classe

Bit/s Iniziali

Net_Id

Host_Id

reti logiche
disponibili

indirizzi disponibili
allinterno di ogni
rete logica

7 bits

24 bits

128

16 777 216

10

14 bits

16 bits

16 384

65 536

110

21 bits

8 bits

2 097 152

256

1110

Indirizzi di tipo multicast, 28 bits


numero di indirizzi multicast possibili: (2^32)/16=268 435 456

11110

riservata per usi futuri e ricerca, 27 bits


numero di indirizzi possibili: (2^32)/32=134 217 728
Tabella VI.3.2 - Formato degli indirizzi

Al fine di assicurare che ogni indirizzo di Internet sia unico stata costituita unautorit
centrale con il compito di assegnare gli indirizzi, il "INTERnet Network Information Center
(INTER-NIC). LINTER-NIC controllato a sua volta da una autorit amministrativa denominata
Internet Assigned Number Authority (IANA). INTER-NIC assegna per solo la parte Net_Id e
quindi una rete logica, delegando poi lorganizzazione richiedente per lassegnazione della restante
parte dellindirizzo, lHost_Id; ovviamente una rete logica di classe A concessa in uso solo ad
organizzazioni molto grandi (o ad intere nazioni); una rete logica di classe B concessa solo ad
organizzazioni che dimostrino di aver bisogno di connettere ad Internet almeno qualche migliaia di
host e cos via.
Lorganizzazione che si vede assegnare una Net_Id potr poi suddividere la parte di Host_Id
per creare, allinterno della sua rete logica, delle sotto-reti logiche, ognuna delle quali avr la
stessa Net_Id. In tal modo, un utente che ha bisogno di un singolo indirizzo IP non deve rivolgersi
direttamente allINTER-NIC, ma pu fare riferimento ad unautorit locale. Si noti che la scelta di
uno schema di indirizzamento gerarchico pu risultare in indirizzi non utilizzati e quindi in sprechi.
Gli indirizzi corrispondenti alla parte Host_Id di una data rete logica, non usati dallorganizzazione
responsabile della corrispondente Net_Id, non possono essere usati da nessun altro; ci spiega
lattuale relativa penuria di indirizzi IP, a fronte dei 3 758 096 384 indirizzi teoricamente disponibili
per le prime tre classi.
In particolare, sono le reti logiche di classe B quelle con maggiore rischio di esaurimento. Nel
tentativo di alleviare questo problema, nel 1993, si deciso di consentire una certa violazione della
suddivisione in classi di cui sopra, nota come supernet addressing. Questa metodica consente di
attribuire pi reti logiche ad una stessa organizzazione. In tal modo una data organizzazione, invece
di chiedere una rete logica di classe B e non utilizzare tutti i relativi indirizzi disponibili, pu
chiedere un certo numero di reti logiche di classe C, fino a soddisfare le sue esigenze. Affinch per

24
questo insieme di reti logiche appaia allesterno come ununica rete logica stato necessario
introdurre alcune modifiche ad alcune procedure precedentemente utilizzate (cfr. VI.3.5.3).
Nonostante questa tecnica (ed altre, introdotte allo stesso fine, come Transparent Routers e
Proxy ARP, cfr. 0), lo spazio degli indirizzi appare non essere pi adeguato alle esigenze di una
utenza in continua crescita. Per questa ragione, ed anche per migliorare altri punti deboli dellattuale
versione di IP (versione 4, IPv4), stata recentemente proposta una nuova versione di IP (IPv6). In
IPv6 il singolo indirizzo una stringa binaria di 128 bits invece che di 32; lo spazio degli indirizzi
ne risulta significativamente esteso. Si noti anche che si passati dalla versione 4 direttamente alla
6: la versione 5 non mai stata completamente definita.
Come detto, un indirizzo IP costituito da una stringa di 32 bits; per le comunicazioni tra
persone, in documenti tecnici ed anche in alcuni programmi applicativi si preferisce invece usare
unaltra notazione. La notazione in questione si ottiene separando i 32 bits in 4 campi di 8 bits
ciascuno; questi campi si esprimono poi in decimale invece che in binario, separandoli con un
punto; questa notazione nota come dotted (puntata) o decimale. Ad esempio lindirizzo IP di
un particolare sistema, espresso in una stringa di 32 bits e nella relativa notazione dotted :

10010111 01100100

00001000 00010010

151. 100. 8. 18
utile sottolineare che lindirizzo effettivamente utilizzato da IP sempre una stringa di 32 bits
e la rappresentazione dotted deve essere preventivamente tradotta da un opportuno software (molto
semplice, in questo caso) prima di essere utilizzata da IP per leffettivo scambio di informazione.
In aggiunta alle classi definite nella Tabella , sono stati definiti alcuni indirizzi speciali. Con
riferimento alla notazione binaria si stabilito che un campo costituito da zeri, 0, (0 nella
notazione dotted) significa questo ed un campo costituito da uni, 1, (255 nella notazione dotted)
significa tutti. Infine un indirizzo che inizia con 01111111 (127 nella notazione dotted) un
indirizzo di rinvio a se stesso (loopback), cio il messaggio inviato ritorna al mittente (usato per
prove, verifiche e per comunicazioni tra processi che operano nello stesso sistema). I casi possibili e
permessi sono rappresentati nella Tab. .
Significato

Net_Id

Host_Id

questo host

tutti 0

tutti 0

la rete a cui appartiene lhost


con indirizzo Host

tutti 0

Host

tutti gli host

tutti 1

tutti 1

tutti gli host della rete logica


Net

Net

tutti 1

loopback

127 (in decimale) seguito da qualsiasi cosa


Tab. VI.3.3 - Indirizzi speciali

Ne segue che gli indirizzi definiti nella Tabella hanno delle limitazioni ai valori che i loro
campi possono assumere; in particolare alcuni campi di un generico indirizzo non possono
assumere i valori 0, 127 e 255.
Gli indirizzi con campi uguale ad uni sono utilizzati per comunicazioni diffusive (broadcast)
ovvero per comunicare con una pluralit indifferenziata di sistemi. Con riferimento alla notazione
dotted (si ricorda che una stringa di 8 bits uguale a 11111111 equivale a 255 in decimale),

25
inviando un messaggio allindirizzo 255.255.255.255 si indirizzano tutti i sistemi di Internet (il che
in generale non permesso). Lindirizzo 151.100.255.255 si riferisce a tutti i sistemi della rete
logica 151.100. Il campo composto da zeri invece importante quando si vuole comunicare con
un host collegato alla stessa rete logica cui si collegati e non si conosce lindirizzo della rete
logica stessa ( un problema che sorge per alcune applicazioni). Ad esempio, 0.0.0.0 si riferisce
allhost che origina la richiesta; 0.0.0.23 si riferisce alla rete logica a cui connesso lhost 23.
Per concludere bisogna precisare che un router, che collegato direttamente a due o pi sottoreti e quindi, in generale, a due o pi reti logiche, deve avere due o pi indirizzi IP (oltre ai
corrispondenti indirizzi locali). La Figura illustra un esempio in cui le reti logiche coincidono con
sotto-reti fisiche. La sotto-rete fisica Ethernet corrisponde alla rete logica con Net_Id=128.10 (in
notazione binaria: 10000000.00001010, 16 bit complessivi, di classe B); la sotto-rete fisica Token
Ring corrisponde alla rete logica con Net_Id=192.5.48 (in notazione binaria:
11000000.00000101.00011000, 24 bit complessivi, di classe C). Si noti anche che si usa indicare
una rete logica aggiungendo alla Net_Id degli zeri, fino ad avere la stessa dimensione di un
indirizzo IP (sia in binario che in decimale).
ETHERNET 128.10.0.0
128.10.2.3
Newton

128.10.2.8
Einstein

128.10.2.70
Fermi

128.10.2.26
Galilei

192.5.48.7

192.5.48.3

192.5.48.1
Gauss

Token Ring
192.5.48.0

10.2.0.37

192.5.48.6
Dirac

Figura VI.3.1 - Esempio di sistemi connessi a pi di una sotto-rete


I calcolatori Newton e Fermi sono dei router, sono connessi sia alla Token Ring che
allEthernet e hanno quindi due indirizzi IP (vedremo in seguito che possibile attribuire dei nomi
agli host ed ai router, cfr. VI.3.7). Anche Dirac un router, che interconnette la Token Ring verso
unaltra sotto-rete e quindi anchesso ha due indirizzi IP. Gli altri calcolatori hanno un solo
indirizzo IP e sono quindi degli host. Si noti anche che, siccome gli indirizzi sono utilizzati per
linstradamento (cfr. VI.3.5), se ci riferiamo a Newton con lindirizzo 192.5.48.3 il messaggio
gli perverr tramite la Token Ring, se invece usiamo 128.10.2.3, il messaggio gli perverr tramite
lEthernet.
VI.3.4.

Traduzione di indirizzi IP in indirizzi locali

Abbiamo visto come ad ogni sistema connesso ad Internet sia assegnato un unico indirizzo IP
che lo identifica nellambito dellintera inter-rete (indirizzo globale). Come si vedr nel VI.3.5
(cfr. anche par. quando un datagramma arriva alla sotto-rete di destinazione, l'ultimo router
attraversato ha il compito di rilanciare il datagramma verso lhost di destinazione (prendendo in
considerazione anche la componente Host_Id dell'indirizzo e sfruttando i meccanismi protocollari
propri della sotto-rete di destinazione). Lindirizzo IP non per sufficiente per far arrivare il
datagramma allhost in questione. Infatti, la sotto-rete di destinazione ha un suo schema di
indirizzamento (locale) e linterfaccia di rete di un host indirizzata, nellambito della sotto-rete di
appartenenza, da un indirizzo locale. L'ultimo router deve quindi compiere delle operazioni di
ricerca per determinare l'indirizzo locale di sotto-rete dellhost di destinazione che corrisponde
allindirizzo globale IP contenuto nel datagramma in arrivo.

26
La traduzione di un indirizzo globale in uno locale interessa per anche gli host e non solo i
router; infatti ogni sistema (host o router) quando invia un datagramma ad un altro sistema connesso
alla stessa sotto-rete ha bisogno delle funzionalit di traduzione; ci accade:
- sia quando un host invia un datagramma IP direttamente ad un altro host, senza passare
attraverso un router (cosa possibile quando sia lhost mittente che quello di destinazione
sono connessi alla stessa sotto-rete);
- sia quando un host invia un datagramma ad un router affinch questi lo rilanci poi verso la
destinazione finale (in tal caso sicuramente lhost mittente ed il router apparterranno alla
stessa sotto-rete, cfr. VI.3.5).
Il problema di tradurre indirizzi globali IP in indirizzi locali risolto mediante protocolli di
tipo ARP (cfr par. VI.2.2). Tale procedura di traduzione nota con il termine risoluzione di un
indirizzo. La risoluzione di un indirizzo avviene secondo diverse modalit, ognuna specifica di una
data tipologia di sotto-reti. Le modalit pi usate sono le seguenti:
1) Alcuni protocolli ARP utilizzano delle tabelle, che contengono coppie di indirizzi IP e dei
corrispondenti indirizzi locali; tali tabelle, predisposte dallamministratore della sotto-rete
in questione, sono contenute in un opportuno server (o in pi di un server); quando un host
(o un router) ha bisogno di una corrispondenza tra un dato indirizzo IP ed un indirizzo
locale, interroga tali server (denominati ARP server). In tal caso lhost deve conoscere
lindirizzo locale di almeno un ARP server, per potergli inviare una richiesta di risoluzione.
(Si noti che nulla vieta che un ARP server sia fisicamente implementato in un calcolatore
che svolge anche funzioni di router).
2) Altri protocolli ARP utilizzano un opportuno algoritmo. Ci possibile quando lo schema
di indirizzamento della sotto-rete in questione gode di opportune propriet e gli indirizzi IP
sono assegnati agli host secondo opportune modalit, in funzione dei rispettivi indirizzi
locali.
3) Altri protocolli ARP ancora ottengono dinamicamente questa corrispondenza usando degli
opportuni messaggi di interrogazione: quando un host (o un router) ha bisogno di risolvere
un dato indirizzo IP, interroga tutti gli host della sotto-rete a cui collegato, chiedendo a
quale host corrisponde quellindirizzo IP.
Questultima modalit vantaggiosa quando usata in sotto-reti caratterizzate da capacit di
trasmissioni diffusive (broadcast) intrinseche come, ad esempio, una LAN Ethernet. Vista la
diffusione di tali sotto-reti in Internet, i corrispondenti protocolli ARP sono tra i pi usati.
In tal caso (cfr. [BLE]), un messaggio inviato sul mezzo fisico relativo ad una data sotto-rete
perviene sempre a tutti gli host collegati a quel mezzo fisico. Nel messaggio di interrogazione si
chieder quindi: quale host ha lindirizzo IP X.X.X.X?; tale messaggio perverr a tutti gli host
della sotto-rete e solo lhost con tale indirizzo IP risponder allinterrogazione con un messaggio in
cui comunicher: lindirizzo IP X.X.X.X corrisponde al (mio) indirizzo locale Y.
Consideriamo, ad esempio, una sotto-rete Ethernet in cui operi un protocollo ARP del tipo
appena descritto. Una Ethernet caratterizzata da indirizzi locali costituiti da stringhe di 48 bit,
spesso rappresentati con 12 caratteri esadecimali divisi, a coppie, dal simbolo :. Assumiamo che
in tale Ethernet esista un host, denominato Plinius, con indirizzo IP 128.6.18.45 e indirizzo
Ethernet 08:0:20:9:3e:be (espresso in caratteri esadecimali). Quando un host (o un router),
connesso alla stessa Ethernet, emette uninterrogazione ARP (ARP REQUEST), chiedendo a chi
corrisponde lindirizzo IP 128.6.18.45 ottiene la risposta:
Plinius (128.6.18.45) at 08:0:20:9:3e:be
Ovvero lhost Plinius, che a conoscenza di essere caratterizzato dallindirizzo IP in
questione, risponde comunicando il proprio indirizzo locale Ethernet.
Quando il protocollo ARP ha risolto un dato indirizzo IP, memorizza la corrispondenza
indirizzo IP->indirizzo locale in unapposita tabella. Questa tabella svolge una funzione di cache
(=nascondiglio, magazzino nascosto), cio permette di ottenere rapidamente quelle corrispondenze
che vengano richieste ripetutamente in brevi intervalli di tempo, senza bisogno di invocare ogni

27
volta il protocollo ARP. Periodicamente le informazioni contenute nella cache vengono cancellate
in modo da garantire la consistenza con le (eventualmente) mutate condizioni della topologia di
rete.
In tal modo, un router (o un host) deve emettere un messaggio ARP REQUEST solo quando
deve trattare un datagramma il cui indirizzo di destinazione non sia contenuto nella sua tabella di
corrispondenze.
Si noti che risulta molto complesso implementare un protocollo ARP di questo tipo in una
sotto-rete priva di capacit di trasmissioni diffusive intrinseche e legate alla sua topologia fisica. In
tal caso, il router dovrebbe (se ad es. la sotto-rete adottasse una modalit di trasferimento con
connessione) instaurare delle connessioni verso tutti gli host della sotto-rete ed inviare ad ognuno di
essi il messaggio ARP REQUEST. Si pensi a cosa ci significherebbe in una sotto-rete di rilevanti
dimensioni. Per tali tipi di sotto-rete (denominate Non Broadcast Multi-access Network - NBMA),
il problema della risoluzione degli indirizzi risulta essere una delle tematiche pi complesse, quando
si vuole interconnettere una di tali sotto-reti ad Internet.
In questi casi si preferisce adottare la prima delle soluzioni proposte in questo paragrafo e cio
luso di ARP servers. Anche questa soluzione presenta per degli aspetti critici. Infatti, se si usa un
solo ARP server, questultimo dovr gestire numerose richieste ed in caso di un suo guasto, lintera
sotto-rete non sarebbe in condizioni di operare. Se si usano pi ARP servers sorge il problema di
coordinarne il funzionamento e di comunicare ad ogni host a quale (o a quali) ARP server rivolgere
le proprie richieste.
Infine, citiamo il caso di risoluzione di indirizzi inversa; ovvero quello in cui noto un
indirizzo locale, ma non il corrispondente indirizzo IP. Tale caso si presenta quando un sistema,
allaccensione, pur conoscendo il proprio indirizzo locale, non conosce il proprio indirizzo IP. Per
risolvere questo problema si usa un protocollo di tipo Reverse Address Resolution Protocol
(RARP). Il sistema emette un messaggio in cui chiede "qual il mio indirizzo IP?", comunicando il
proprio indirizzo locale; un server RARP, residente nella stessa sotto-rete ed opportunamente
configurato dallamministratore di rete, risponde alla richiesta comunicandogli il relativo indirizzo
IP. Altri esempi di protocolli che svolgono funzioni simili a quelle di RARP sono BootP e DHCP.
Questa situazione tipica per sistemi privi di dispositivi di memorizzazione di massa, che non
possono quindi ricordare il proprio indirizzo IP o per sistemi a cui non stato assegnato un
indirizzo IP e che si connettono ad Internet per il tramite di un fornitore di servizi (Internet Service
Provider). In questultima eventualit il fornitore di servizi dispone di un insieme limitato di
indirizzi IP che assegna dinamicamente a quegli host che in un dato momento gli richiedono di
connettersi ad Internet. Ognuno di questi host caratterizzato da un dato indirizzo IP solo per il
tempo durante il quale connesso ad Internet; quando lhost termina di usufruire dei servizi
Internet, quellindirizzo IP sar assegnato ad un altro host che, in un tempo successivo, chieder di
connettersi ad Internet. In un'altra alternativa, il fornitore di servizi assegna ai suoi utenti indirizzi
IP che hanno solo un significato locale e, non essendo visibili all'esterno, possono essere scelti in
modo arbitrario. Sar poi compito del fornitore di servizi porre in corrispondenza tali indirizzi con
specifiche sessioni di comunicazione.
Questo modo di operare molto usato per host che accedono ad Internet tramite la rete
telefonica e consente sia un risparmio di indirizzi IP, essendo questi condivisi tra pi utenti, sia una
semplificazione duso per gli utenti, i quali non devono richiedere un proprio personale indirizzo IP
e configurare conseguentemente il proprio calcolatore. Oltre a tale indirizzo, un utente di questo
tipo riceve dal suo fornitore di servizi anche altre informazioni di configurazione, tra cui l'indirizzo
del router di default (cfr. VI.3.5.3) e quello del name server (cfr. VI.3.7). Quando un host si
connette ad Internet secondo questa modalit necessario usare anche un ulteriore protocollo che
governa lo scambio di informazioni e di comandi tra utente e fornitore di servizi. Un esempio di tale
protocollo PPP (Point to Point Protocol).

28
VI.3.5.

Instradamento

L'instradamento una funzione di natura logica avente lo scopo di guidare linformazione di


utente verso la destinazione voluta, ovvero di scegliere un percorso per far arrivare i datagrammi a
destinazione. La scelta del percorso pu avvenire in base a diversi criteri pi o meno sofisticati; pu
tenere in conto lo stato di occupazione delle risorse di rete in un certo momento, la lunghezza del
datagramma, il tipo di servizio richiesto o semplicemente scegliere il cammino pi breve; il relativo
algoritmo pu essere statico (se non cambia nel tempo) o dinamico; pu anche essere adattativo e
reagire a particolari situazioni (malfunzionamenti, indisponibilit di un particolare elemento di rete,
congestione). Molti degli algoritmi di instradamento in Internet (vedremo che ne esiste pi di uno)
sono abbastanza semplici ed usano regole basate sul cammino pi breve.
In Internet, ogni datagramma attraversa un cammino composto da router e da sotto-reti.
Quando un router consegna un datagramma ad una sotto-rete questo diventa il "corpo" (SDU)
dellunit di dati propria dello strato immediatamente inferiore ad IP di questa sotto-rete (strato 3a,
cfr. Tab. VI.2.1). La sotto-rete consegna tale unit dati al prossimo router o a destinazione (se la
destinazione all'interno della sotto-rete stessa) con le stesse modalit con cui tratta le unit di dati
ad essa "appartenenti". Il relativo incapsulamento del datagramma (unit di dati IP) in unit di dati
caratteristiche delle sotto-reti attraversate esemplificato in Figura . La parte in grigio rappresenta il
datagramma IP, in cui si evidenziato il campo Net_Id contenuto nellintestazione.
Pi in dettaglio si pu dire che i router instradano i datagrammi solo verso la rete logica di
destinazione e non verso il singolo host di destinazione. Lalgoritmo di instradamento operante nei
router determina solo la sequenza dei router da attraversare e non quella di tutti i sistemi di ogni
sotto-rete e si basa solo sulla componente Net_Id dellindirizzo IP di destinazione. La componente
Host_Id viene presa in considerazione solo quando un datagramma arriva alla rete logica di
destinazione.
INTERNET
host mittente

PCI
pacchet.

sub-rete A (X25)

PCI
trama

router X

PCI ?

sub-rete B (?)

router Y

Net_Id

Data

Net_Id

Data

Net_Id

Data

Net_Id

Data

Net_Id

Data

Net_Id

Data

Net_Id

Data

LAN 1
Bridge

LLC

MAC

LAN 2

host destinatario

Figura VI.3.2 - Esempio di incapsulamento del datagramma IP in unit di dati caratteristiche


delle sotto-reti attraversate
L'instradamento in Internet pu essere diviso in due classi: diretto ed indiretto. Linstradamento
diretto possibile solo se lhost mittente e lhost destinatario sono connessi alla stessa sotto-rete;
linstradamento indiretto si applica quando un datagramma deve attraversare almeno un router per
giungere a destinazione; ci avviene sicuramente quando lhost destinatario connesso ad una
sotto-rete diversa da quella relativa allhost mittente. Linstradamento indiretto pu per essere

29
applicato anche tra due host appartenenti alla stessa sotto-rete fisica; lamministratore di rete pu
cio scegliere di far instradare in modo indiretto i datagrammi emessi da un dato host e diretti ad un
host appartenente alla stessa sotto-rete, anche se questo non strettamente necessario (cfr il
paragrafo successivo). Nel seguito, quando ci si riferir in modo indifferenziato ad un host o ad un
router si user il termine generico di sistema.
VI.3.5.1

Instradamento diretto

Un host connesso ad una data sotto-rete ha i mezzi per inviare informazioni a qualsiasi altro
host connesso alla stessa sotto-rete, grazie alle risorse di rete ed ai protocolli della sotto-rete stessa.
Lo scambio di datagrammi tra host connessi alla stessa sotto-rete non coinvolge, in generale, i
router e, previa unoperazione di risoluzione di indirizzi e di incapsulamento, la risultante unit di
dati pu essere inviata direttamente a destinazione. Quando un host IP deve inviare un datagramma
in modo diretto, lo incapsula nellunit di dati specifica di quella sotto-rete, traduce lindirizzo IP di
destinazione nel corrispondente indirizzo locale di quella sotto-rete (grazie ai protocolli ARP) ed
utilizza i meccanismi propri della sotto-rete in questione per inviare il datagramma.
Vediamo ora come un host mittente determina se usare un instradamento diretto oppure uno
indiretto.
Per prima cosa lhost mittente deve stabilire se lhost destinatario appartiene alla stessa sottorete fisica o meno. Nel secondo caso deve sicuramente usare un instradamento indiretto. Nel primo
caso pu invece usare entrambi i tipi di instradamento e la decisione tra le due alternative
conseguenza delle scelte dellamministratore di rete.
Per affrontare in generale tale problematica occorre introdurre dei concetti aggiuntivi. Si
detto che un indirizzo IP caratterizzato da una gerarchia, ottenuta mediante la suddivisione in
Net_Id e Host_Id; si tratta quindi di una gerarchia a due livelli; con il progressivo estendersi delle
dimensioni di Internet si per deciso di rendere pi flessibile tale schema di indirizzamento,
introducendo un ulteriore livello gerarchico: la parte Host_Id pu essere a sua volta suddivisa in due
parti (denominate nel seguito come Sub_Net_Id e Sub_Host_Id), creando cos delle sotto -reti
logiche e portando a tre i livelli gerarchici; un generico indirizzo IP pu quindi essere considerato
diviso in tre parti:
IP_Address=Net_Id.Host_Id=Net_Id.Sub_Net_Id.Sub_Host_Id
Grazie a tale terzo livello gerarchico (introdotto nei primi anni 80) si possono semplificare le
operazioni di instradamento e ridurre gli sprechi dovuti ad indirizzi non utilizzati. Anche in tal caso
si pu fare un parallelo con il sistema di numerazione telefonico che suddivide un numero completo
in prefisso inter-nazionale, prefisso inter-urbano e numero di utente. Si noti anche che, in una data
rete logica, la componente Host_Id pu anche non essere suddivisa in due parti; questa situazione
pu sempre essere vista come un caso particolare della gerarchia a tre livelli appena introdotta in cui
il campo Sub_Net_Id ha dimensione nulla e rete logica e sotto-rete logica coincidono.
La divisione della parte Host_Id di competenza dellamministratore di una data rete logica,
che pu scegliere qualsiasi tipo di suddivisione: le dimensioni e le configurazioni delle parti
Sub_Net_Id e Sub_Host_Id possono essere qualunque, purch, ovviamente, la loro somma sia
uguale alla dimensione originaria dellHost_Id.
La componente Sub_Net_Id presa in esame solo quando un datagramma arriva alla rete
logica di destinazione; sono solo i router locali ad una rete logica a conoscere e gestire tale
suddivisione (tipicamente un solo router). I router esterni ad una data rete logica continuano a
basarsi solo sulla parte Net_Id dellindirizzo per instradare i datagrammi. Tali router non prendono
mai in esame la componente Host_Id e quindi, dal loro punto di vista, la suddivisione della parte
Host_Id non ha nessun significato.
Ricordiamo anche che una rete logica pu coincidere con una data sotto-rete fisica, pu
comprendere pi sotto-reti fisiche o essere un sotto-insieme di una data sotto-rete fisica. Per ci che
riguarda invece le relazioni tra sotto-reti logiche e sotto-reti fisiche, una data sotto-rete logica pu

30
coincidere con una data sotto-rete fisica, pu essere un sotto-insieme di una data sotto-rete fisica ma
non pu comprendere pi sotto-reti fisiche.
Da un punto di vista operativo, occorre rendere noto ad ogni host in che modo il suo indirizzo
IP suddiviso, ovvero quali sono le dimensioni delle parti componenti il suo indirizzo. Questa
informazione codificata mediante la cosiddetta maschera di sotto-rete. Una maschera di sottorete una stringa binaria avente la stessa dimensione di un indirizzo IP in cui i campi corrispondenti
alle parti Net_Id e Sub_Net_Id sono costituiti da 1 binari e la restante parte, corrispondente alla
parte Sub_Host_Id costituita da 0 binari.
Ad esempio, in un indirizzo di classe B le parti Net_Id e Host_Id hanno entrambe dimensione
pari a 16 bit. Se la parte Host_Id non suddivisa la corrispondente maschera di sotto-rete :
11111111.11111111.00000000.00000000
in notazione decimale:
255.255.000.000
Se invece la parte Host_Id fosse suddivisa a met in Sub_Net_Id e Sub_Host_Id la relativa
maschera di sotto-rete sarebbe:
11111111.11111111.11111111.00000000
in notazione decimale:
255.255.255.000
Come si vede, esaminando tale maschera, un host pu dedurre la modalit di suddivisione del
suo indirizzo.
Con queste premesse possiamo tornare al problema di come un generico host mittente,
appartenente ad una data sotto-rete fisica, decide se inviare un datagramma usando linstradamento
diretto ovvero quello indiretto. Sono possibili diverse alternative:
- se la sotto-rete fisica coincide con la sotto-rete logica, lhost mittente deve solo
confrontare la parte del proprio indirizzo corrispondente ai campi Net_Id e Sub_Net_Id
con la parte dellindirizzo del destinatario di dimensioni corrispondenti; se tali parti sono
uguali allora i due host risiedono nella stessa sotto-rete e il mittente usa linstradamento
diretto. Il confronto viene effettuato usando la maschera di sotto-rete: le parti da
confrontare sono quelle caratterizzate da 1 binari nella maschera (il nome maschera
deriva da questa operazione);
- se la sotto-rete fisica a cui collegato lhost mittente contiene diverse sotto-reti logiche,
allora sono possibili diverse sub-alternative, conseguenze delle scelte
dellamministratore di rete.
Una prima sub-alternativa che lhost mittente usi linstradamento diretto solo per destinazioni
contenute nella stessa sotto-rete logica a cui egli appartiene; in tal caso per tali comunicazioni si
procede come al caso precedente. Per comunicazioni dirette ad host appartenenti alla stessa sottorete fisica, ma a diverse sotto-reti logiche, lhost mittente adotta un instradamento indiretto,
coinvolgendo quindi un router.
Una seconda sub-alternativa che lamministratore di rete configuri opportunamente ogni host,
comunicandogli in modo esplicito (cfr. VI.3.5.3) quali sotto-reti logiche, oltre a quella a cui egli
appartiene, sono raggiungibili direttamente e quindi appartengono alla stessa sotto-rete fisica. Tale
comunicazione pu riguardare un numero qualunque di sotto-reti logiche contenute nella stessa
sotto-rete fisica; se le riguarda tutte, allora lhost mittente pu usare linstradamento diretto per tutte
le comunicazioni dirette alla sotto-rete fisica a cui appartiene.
Si noti che se la parte Host_Id non suddivisa, le decisioni di cui sopra si possono prendere
basandosi solo sulla Net_Id: per determinare se un host destinatario appartiene alla stessa rete logica
di quello mittente sufficiente confrontare la parte Net_Id. In tal caso, a meno che non si usino
delle altre soluzioni, alternative a quella della suddivisione in sotto-reti logiche, non possibile che
una rete logica comprenda pi di una sotto-rete fisica; altrimenti, un host mittente tenterebbe di
usare un instradamento diretto anche verso host destinatari non appartenenti alla sua sotto-rete
fisica.

31
Concludiamo il paragrafo citando brevemente delle soluzioni, alternative alla suddivisione in
sotto-reti logiche, per consentire che una rete logica comprenda pi sotto-reti fisiche: Transparent
Routers e Proxy ARP. In entrambe queste soluzioni, e come accade anche per la suddivisione in
sotto-reti logiche, si partiziona linsieme degli host appartenenti ad una data rete logica, in pi sottoinsiemi. Tale partizione deve sicuramente essere nota al router o ai router locali che pongono in
corrispondenza la rete logica con il resto di Internet; viceversa ci non sempre necessario per tutti
i sistemi in questione. La suddivisione non deve per essere visibile dal resto di Internet. Ne segue
che lamministratore di rete pu scegliere qualsiasi metodologia per definire e rendere nota ai
sistemi interessati la partizione in sotto-insiemi della rete logica.
La soluzione Transparent Routers si basa su dei routers che svolgono dei compiti diversi da
quelli tradizionali; in particolari essi multiplano (e demultiplano) tutto il traffico diretto verso e
proveniente da una data rete logica in una sola connessione fisica. Essi realizzano, in modo
concentrato, la partizione di cui sopra, distinguendo cos i datagrammi di pertinenza di ognuno dei
sotto-insiemi in cui la rete logica divisa.
La soluzione Proxy ARP attua la suddivisione a livello degli indirizzi locali, invece che al
livello degli indirizzi IP. La suddivisione nota solo ad un opportuno router che, grazie ad una
apposita tabella, pone in corrispondenza sotto-insiemi di indirizzi locali con una data sotto-rete
fisica; esso pu quindi sapere se un host con un dato indirizzo locale appartiene o meno ad una data
sotto-rete fisica. Questa soluzione applicata quando le sotto-reti fisiche sono delle LAN e sono in
uso opportuni protocolli ARP. Gli host non sono a conoscenza di questa suddivisione e quando
emettono una richiesta ARP, al fine di raggiungere un host che appartiene alla stessa rete logica, e
che essi credono appartenga anche alla stessa sotto-rete fisica, il router intercetta tale richiesta e la
gestisce in proprio. Il router fa credere allhost mittente di essere lui il destinatario e quindi
rilancia il datagramma in questione verso il vero destinatario.
VI.3.5.2

Instradamento indiretto

Linstradamento indiretto pi complesso. Il mittente deve identificare un router a cui inviare


un dato datagramma e tale router deve inviare il datagramma verso la rete logica di destinazione
(ricordiamo ancora una volta che i router instradano i datagrammi solo verso la rete logica di
destinazione e non verso il singolo host di destinazione). I router non si occupano
dell'instradamento allinterno delle sotto-reti. Nellinstradamento indiretto viene utilizzata solo la
componente Net_Id dell'indirizzo Internet. Si immagini una situazione come quella rappresentata in
Figura : due host agli estremi di una inter-rete costituita da diverse sotto-reti.
Supponiamo che esista almeno un router connesso alla sotto-rete fisica di origine e che esista
almeno un cammino attraverso un certo numero di router che porti alla sotto-rete di destinazione. Il
mittente invia il datagramma al router pi vicino, utilizzando la sotto-rete a cui direttamente
connesso; a tal fine pu quindi usare un instradamento diretto in cui il router visto come un
destinatario intermedio a cui il mittente invia il datagramma, chiedendogli di rilanciarlo verso la
destinazione finale. Il router esamina il datagramma ricevuto e decide verso quale altro router
indirizzarlo; una volta presa tale decisione usa un instradamento diretto per far pervenire il
datagramma al router successivo, attraverso la sotto-rete a cui sono entrambi collegati. Il processo si
ripete di router in router finch si arriva alla sotto-rete di destinazione; qui tramite un instradamento
diretto il datagramma viene inviato allo specifico host di destinazione.
I router formano una struttura inter-connessa e cooperativa. I datagrammi passano di router in
router finch ne raggiungono uno che pu consegnare il datagramma tramite un indirizzamento
diretto. Si pu quindi dire che linstradamento indiretto consiste di una successione di instradamenti
diretti, opportunamente coordinata dai router.
Rimane ora da vedere:

32
-

come un host mittente individua il primo router a cui inviare un datagramma e come tale
router decide verso quale altro router rilanciare il datagramma stesso, ovvero come si
determina la sequenza di router che un datagramma deve attraversare;
- quali sono le procedure operative seguite dagli host per inviare i datagrammi e dai router
per rilanciare i datagrammi stessi.
I prossimi due paragrafi si occupano rispettivamente di queste due problematiche. In
particolare si illustreranno prima le procedure operative, assumendo che ogni sistema (host o router)
conosca gi quale percorso far seguire ad ogni datagramma, ovvero verso quale router inviare (nel
caso di un host) o rilanciare (nel caso di un router) i datagrammi, in funzione dellindirizzo di
destinazione. In seguito si spiegher come fanno host e router a venire a conoscenza del percorso da
far seguire ad ogni possibile datagramma.
VI.3.5.3

Tabelle di instradamento

Il meccanismo operativo usato per linstradamento in IP basato su una tabella di


instradamento che ogni host e ogni router mantiene allo scopo di conoscere le possibili destinazioni
e i percorsi per raggiungerle. Si noti che non solo i router, ma anche gli host devono avere una
tabella di instradamento. Questo perch ogni host ha la necessit di inviare datagrammi, se non
quelli altrui, almeno quelli che esso stesso genera.
Una tabella di instradamento costituita da coppie (R,I) dove R lindirizzo della rete logica di
destinazione (contenente quindi solo la componente Net_Id) e I lindirizzo IP completo del
prossimo router lungo la strada che porta alla sotto-rete di destinazione. La tabella di instradamento
specifica quindi solo un passo lungo il cammino verso la destinazione e non contiene il cammino
completo che il datagramma dovr compiere. La tabella di instradamento punta solo a router che
possono essere raggiunti attraversando una singola sotto-rete. Quando una sotto-rete di destinazione
raggiungibile direttamente, ovvero si arrivati allultimo router, nella sequenza dei router da
attraversare, nella coppia (R,I) si sostituisce I con lindicazione di instradare in modo diretto.
La tabella, oltre alla coppia (R,I), pu contenere anche una metrica che definisce la distanza
dalla destinazione espressa secondo diverse unit di misura: distanza fisica, numero di sotto-reti da
attraversare, costo del percorso (espresso in affidabilit o tempo di attraversamento o grado di
integrit informativa etc.). Tale informazione pu, opzionalmente, essere tenuta in conto per la
decisione di instradamento, soddisfacendo cos la richiesta dellutente espressa nel campo Service
Type, (o per ottimizzare le decisioni prese mediante algoritmi sia statici che dinamici che
adattativi).
La Figura si riferisce ad una ipotetica sezione di Internet costituita da quattro sotto-reti fisiche
e da tre router (R1, R2 e R3), e riporta anche la tabella di instradamento di uno di questi (R2). Tale
tabella illustra le decisioni che deve prendere il router R2 quando deve instradare un datagramma.
In questo esempio si assume anche che le sotto-reti fisiche coincidano con delle reti logiche e che
questultime non siano suddivise in sotto-reti logiche. Si noti che ogni router dispone di due
indirizzi IP, uno per ognuno delle sotto-reti fisiche (e delle relative reti logiche) a cui direttamente
collegato. Ad esempio, R1 noto, allinterno della sotto-rete coincidente con la rete logica con
Net_Id=10, con lindirizzo 10.0.0.5 e, allinterno della sotto-rete coincidente con la rete logica con
Net_Id=20, con lindirizzo 20.0.0.5.
20.0.0.5
Rete logica
10.0.0.0

R1

10.0.0.5

30.0.0.6

Rete logica
20.0.0.0

R2

20.0.0.6

40.0.0.7

Rete logica
30.0.0.0

R3

30.0.0.7

Rete logica
40.0.0.0

33
Per raggiungere host
appartenenti alla rete logica:

instradare i datagrammi
secondo questa modalit:

20.0.0.0

inoltrare direttamente

30.0.0.0

inoltrare direttamente

10.0.0.0

Rilanciare verso lindirizzo IP 20.0.0.5


(appartenente al router R1)

40.0.0.0

Rilanciare verso lindirizzo IP 30.0.0.7


(appartenente al router R3)

Figura VI.3.3 - Esempio di interconnessione di quattro sotto-reti e tabella di instradamento del


router R2.
La tabella mostra anche che la sua dimensione dipende dal numero di reti logiche interconnesse
e cresce quando nuove reti logiche vi sono aggiunte ma non dipende dal numero di host. Vediamo
quindi come si applica quanto detto in precedenza: al fine di nascondere il pi possibile i dettagli
inerenti la inter-rete, mantenere piccole le tabelle di instradamento e consentire un instradamento
efficiente, le tabelle contengono solo informazioni sulle reti logiche di destinazione e non sui singoli
host.
Si noti anche che, siccome ogni router prende le sue decisioni in modo indipendente dagli altri,
una comunicazione da A e B pu seguire una strada diversa da una comunicazione da B ad A.
quindi necessario prevedere opportuni meccanismi per assicurare una comunicazione bi-direzionale.
Ad esempio, in caso di percorsi diversi, il percorso da A a B potrebbe essere disponibile e quello da
B ad A potrebbe non esserlo.
Unaltra considerazione importante che, sebbene ogni generico host debba avere una tabella
di instradamento, ci si sforza di mantenere il pi piccole possibile le tabelle degli host forzando
questi ultimi a far affidamento sui router nella maggior parte dei casi. Ad esempio, con riferimento
alla situazione presentata alla fine del paragrafo in cui si descriveva linstradamento indiretto (
VI.3.5.1), la scelta di usare questultimo solo per comunicazioni dirette ad host appartenenti alla
stessa sotto-rete logica del mittente (nel caso di coesistenza di diverse sotto-reti logiche in una
stessa sotto-rete fisica), va in questa direzione.
Questa tecnica applicata anche pi in generale. Se un router non trova una strada nella sua
tabella, allora indirizza i suoi datagrammi verso un default router. Il meccanismo di default
(=mancanza) consiste nel fornire una scelta obbligata, in mancanza di informazioni che possano
contribuire a prendere scelte alternative. Un default router generalmente un calcolatore abbastanza
potente e destinato principalmente ad operazioni di instradamento o, (sempre pi spesso, vista la
crescita di Internet), un sistema progettato ad hoc. Il meccanismo del default router usato quindi:
- sia da piccoli host, che possono anche inviare tutti i datagrammi non diretti alla rete/sottorete logica cui sono collegati ad un default router. In tal caso la loro tabella di instradamento
conterr una sola strada per tutte le destinazioni diverse da quelle appartenenti alla loro stessa
rete/sotto-rete logica;
- sia da router con una tabella di discrete dimensioni ma che tuttavia non copre tutte le
possibili destinazioni; quando a tali sistemi perviene un datagramma con una destinazione non
contemplata dalla tabella, essi rilanciano tale datagramma verso un default router.
Con riferimento alla tabella del router R2, mostrata nella Figura , qualora esistessero altre reti
logiche interconnesse, oltre a quelle mostrate in figura, la tabella stessa dovrebbe contenere:
- o altre righe, una per ogni altra rete logica interconnessa;
- o una sola altra riga strutturata come segue:

34
Tutte le altre destinazioni

Rilanciare verso lindirizzo IP del default


router X

Tabella VI.3.4 - Riga da aggiungere alla tabella di instradamento di R2


Nella Tabella VI.3.4 il default router X dovrebbe essere opportunamente identificato; la tabella
di instradamento di X dovrebbe contenere le informazioni necessarie per raggiungere tutte le altre
destinazioni non contemplate nella tabella di R2. Eventualmente tale meccanismo pu essere usato
in modo ricorsivo e quindi X pu instradare datagrammi diretti verso destinazioni non conosciute da
X stesso verso un altro router Y che svolgerebbe quindi funzioni di default router di X.
Rimane da citare un caso speciale; come visto nel VI.3.1, possibile chiedere che un
datagramma segua un pre-determinato percorso per arrivare a destinazione (contenuto nel campo
Source Route Option); in altre parole al momento dellinvio di un datagramma possibile
richiedere che esso passi attraverso una pre-definita serie di host e/o router. Ci serve per scopi di
controllo e di gestione.
Con queste premesse si pu definire lalgoritmo di instradamento che un generico host o
router, attua per ogni datagramma che riceve (assumiamo che il sistema in questione abbia un
indirizzo IP uguale a X).
Quando un sistema riceve un datagramma possono verificarsi due eventualit:
- il datagramma ha come destinazione finale il sistema in questione;
- il datagramma ha come destinazione finale un altro sistema e il sistema in esame deve
quindi rilanciarlo verso tale destinazione.
Ambedue queste possibilit devono essere previste dallalgoritmo di instradamento che
quindi:
Algoritmo attuato da X quando riceve un generico datagramma con indirizzo di destinazione Y
1) estrai lindirizzo IP di destinazione dal datagramma (=Y);
2) se stata richiesta una strada specifica (nel campo Source Route Option) invialo verso tale
strada;
3) se lindirizzo di destinazione, Y, coincide con X (cio con se stesso), estraine il contenuto
informativo e consegnalo agli strati superiori per lulteriore elaborazione;
4) decrementa il Time to Live del datagramma (cfr VI.3.1); se il Time to Live arrivato a
zero scarta il datagramma e danne comunicazione allhost mittente (utilizzando il
protocollo ICMP, cfr. VI.3.6);
5) altrimenti determina la componente Net_Id.Sub_Net_Id dellindirizzo Y (usando la
maschera di sotto-rete);
6) se la componente Net_Id.Sub_Net_Id di Y coincide con la corrispondente componente di
X, invia il datagramma direttamente (cio con instradamento diretto; ci implica tradurre
lindirizzo IP Y in indirizzo locale ed incapsulare il datagramma nellunit di dati della
sotto-rete in questione; in tal caso viene presa in considerazione anche la componente
Sub_Host_Id);
7) altrimenti, consulta la tabella di instradamento; se la componente Net_Id.Sub_Net_Id di Y
compresa nella tabella di instradamento, instrada il datagramma come specificato nella
tabella;
8) altrimenti verifica se almeno la componente Net_Id compresa nella tabella di
instradamento; in caso positivo instrada il datagramma come specificato nella tabella (nel
caso in cui la componente Sub_Net_Id ha dimensioni nulle questo passo e il precedente si
fondono nella stessa operazione);
9) altrimenti, se stata specificata una strada di default, invia il datagramma al default router;
10) altrimenti dichiara un errore di instradamento (invocando eventualmente ICMP, cfr.VI.3.6)
e scarta il datagramma.

35

La definizione completa dellalgoritmo richiede delle precisazioni:


- il passo 2, e cio il caso di richiesta di una strada specifica, implica che X deve
instradare il datagramma seguendo le indicazioni contenute nel campo Source Route
Option e non quelle che la sua tabella di instradamento suggerisce per raggiungere la
destinazione finale. Ciononostante deve tener sempre conto della sua tabella per
instradare il datagramma verso il primo host o router specificato nella sequenza richiesta
nel campo Source Route Option; ad esempio un utente di X potrebbe voler inviare un
messaggio a se stesso (per scopi di prova), facendolo per passare per un router Z; in tal
caso X deve inviare il datagramma non alla destinazione finale (e cio a X stesso) ma a
Z, il quale poi lo ri-invier a X;
- il passo 3, e cio determinare se un datagramma diretto a X stesso, va ulteriormente
specificato; infatti, in primo luogo, un generico sistema pu avere pi indirizzi (almeno
due nel caso di un router), in secondo luogo X pu ricevere anche datagrammi di tipo
broadcast e multicast; in entrambi questi casi lindirizzo di destinazione non coincide
con X, ma X deve comunque accettare tali datagrammi, estrarne il contenuto informativo
e consegnarlo agli strati superiori per lulteriore elaborazione;
Unultima questione la seguente: lalgoritmo esposto riguarda sia un host che un router e
teoricamente valido per entrambi. In pratica per possono esserci delle differenze, dovute al fatto
che in un host non sono implementati, in generale, tutti i protocolli che invece sono presenti in un
router. Ad esempio, la tabella di instradamento di un host tipicamente configurata
dallamministratore di rete e non viene aggiornata dinamicamente. Nei router, invece, opportuni
protocolli contribuiscono a creare e a mantenere aggiornate le tabelle di instradamento (cfr;
VI.3.5.4). Daltra parte ci naturale dal momento che il router preposto a svolgere funzioni che
un generico host non tenuto ad eseguire. Ci premesso, ci si pu chiedere se opportuno che un
host svolga comunque tutte le funzioni previste nellalgoritmo di instradamento. In particolare
bisogna decidere se un generico host (non un router, ovviamente) deve rilanciare un datagramma
non diretto a se stesso, contribuendo quindi in modo attivo a gestire comunicazioni altrui. In tal caso
lhost svolgerebbe di fatto alcune funzioni di un router. La risposta che si deve cercare di evitarlo.
Questo per le seguenti ragioni:
- se un host riceve un datagramma non inviato a se stesso vuol dire che si verificato un
errore di instradamento, se lhost vi pone rimedio difficile poi per il gestore di rete
individuare lerrore;
- instradamenti addizionali rispetto a quelli previsti aumentano il traffico globale e
sottraggono risorse di calcolo agli utenti degli host;
- i router si scambiano continuamente messaggi di errore e messaggi per creare e
mantenere consistenti le tabelle di instradamento, gli host, in generale, no; se un host
instrada datagrammi senza partecipare a questo scambio di informazioni, e quindi in
sostanza ignorando lo stato della inter-rete in un dato momento, si possono verificare
situazioni di malfunzionamento anche gravi. Ad esempio, se un host accidentalmente
manda in broadcast un messaggio originariamente destinato ad un host X e tutti gli altri
host (e non solo i router) rilanciano i datagrammi che gli pervengono, allora tutti gli host
cui arriva tale datagramma ne invieranno una copia a X che si vedr quindi recapitare un
elevato numero di copie dello stesso messaggio.
In conclusione un host, allatto della ricezione di un datagramma, applica tipicamente solo i
seguenti passi:
1) estrai lindirizzo IP di destinazione dal datagramma (=Y);
2) se lindirizzo di destinazione, Y, coincide con X (cio con se stesso), estraine il
contenuto informativo e consegnalo agli strati superiori per lulteriore elaborazione;
3) altrimenti dichiara un errore di instradamento e scarta il datagramma.

36
Lalgoritmo di instradamento che un generico host o router, attua per ogni datagramma che
genera esso stesso simile a quello applicato per i datagrammi ricevuti:
Algoritmo attuato da X quando genera un datagramma con indirizzo di destinazione Y
1) se stata richiesta una strada specifica (nel campo Source Route Option) invialo verso tale
strada;
2) se lindirizzo di destinazione, Y, coincide con X (cio con se stesso), estraine il contenuto
informativo e consegnalo agli strati superiori per lulteriore elaborazione (pu accadere per
ragioni particolari, ad es. di controllo);
3) altrimenti determina la componente Net_Id.Sub_Net_Id dellindirizzo Y (usando la
maschera di sotto-rete);
4) se la componente Net_Id.Sub_Net_Id di Y coincide con la corrispondente componente di
X, invia il datagramma direttamente (cio con instradamento diretto; ci implica tradurre
lindirizzo IP Y in indirizzo locale ed incapsulare il datagramma nellunit di dati della
sotto-rete in questione; in tal caso viene presa in considerazione anche la componente
Sub_Host_Id);
5) altrimenti, consulta la tabella di instradamento; se la componente Net_Id.Sub_Net_Id di Y
compresa nella tabella di instradamento, instrada il datagramma come specificato nella
tabella;
6) altrimenti verifica se almeno la componente Net_Id compresa nella tabella di
instradamento; in caso positivo instrada il datagramma come specificato nella tabella (nel
caso in cui la componente Sub_Net_Id ha dimensioni nulle questo passo e il precedente si
fondono nella stessa operazione);
7) altrimenti, se stata specificata una strada di default, invia il datagramma al default router;
8) altrimenti dichiara un errore di instradamento, notificandolo agli strati superiori (di X
stesso) e scarta il datagramma.
In conclusione, utile sottolineare quanto segue. In IP, il disaccoppiamento tra la fase di
determinazione delle tabelle di instradamento (cfr. VI.3.5.4) e la relativa consultazione, fa si che, di
fatto, non e' necessario attuare la funzione decisionale per ogni datagramma. In altri termini
supponendo che in un certo intervallo di tempo la tabella di instradamento non muti, allora il
processamento di un datagramma IP non poi operativamente molto diverso da quello di un modo
orientato alla connessione (come ad esempio ATM). In entrambi i casi, un opportuno campo
dell'intestazione (indirizzo di destinazione in IP, VPI/VCI in ATM) funge da puntatore ad una
tabella la quale fornisce l'identificativo della linea di uscita su cui instradare l'unit informativa. La
differenza sta nelle dimensione del campo e nelle modalit di ricerca, queste ultime possono essere
pi efficienti in ATM che non in IP. In particolare, in IP, la scansione della tabella per ricercare
l'informazione voluta avviene mediante la tecnica del "longest prefix matching". Bisogna cio
cercare un campo di dimensioni variabili; infatti l'algoritmo di instradamento parte dell'indirizzo IP
di destinazione e cerca nella tabella la pi lunga stringa in comune con l'indirizzo di destinazione, a
partire dai bit pi significativi. La coincidenza tra indirizzo di destinazione e stringa trovata nella
tabella pu essere completa, riguardare solo la parte Net_ID, o essere nulla. Invece, in ATM o in
altri protocolli con connessione l'operazione eseguita denominata "table lookup" e riguarda un
campo di dimensioni costanti. E' evidente che quest'ultima operazione alquanto pi semplice del
"longest prefix matching" (cfr. VI.3.3).
Per mostrare come sia di fondamentale importanza limitare la complessit dei meccanismi di
instradamento si ritiene opportuno illustrare come la tecnica del supernet addressing sia
implementata nelle tabelle di instradamento. Si detto che per limitare luso di reti logiche di classe
B si deciso di consentire una certa violazione della suddivisione in classi degli indirizzi IP
(supernet addressing, cfr. VI.3.3). Ovvero si permesso di attribuire pi reti logiche ad una
stessa organizzazione. In tal modo una data organizzazione, invece di chiedere una rete logica di

37
classe B e non utilizzare tutti i relativi indirizzi disponibili, pu chiedere un certo numero di reti
logiche di classe C, fino a soddisfare le sue esigenze. Affinch per questo insieme di reti logiche
appaia allesterno come ununica rete logica stato necessario introdurre alcune modifiche ai
protocolli di instradamento; questo modo di operare stato denominato classless interdomain
addressing (o routing).
In teoria non sarebbe per necessaria alcuna modifica a quanto esposto sinora; tutte le reti
logiche di classe C, relative alla stessa organizzazione, sarebbero contemplate nelle tabelle di
instradamento e tutte avrebbero la stessa informazione di instradamento; ovvero si avrebbero tante
coppie (R,I) con diversi valori di R, ma con lo stesso valore di I. Siccome si vuole per limitare la
dimensione delle tabelle, al fine di diminuire il tempo di ricerca nelle stesse, stato introdotto il
classless interdomain addressing, il quale consente di inglobare tutte le reti logiche di una stessa
organizzazione in una singola informazione di instradamento. Se ad esempio, tutti gli indirizzi IP da
194.0.0.0 a 194.255.255.255 sono assegnati all'Europa, per tutti i router fuori dall'Europa
sufficiente un'unica riga nella tabella di instradamento (contenente l'indirizzo 194.0.0.0 e la
maschera 254.0.0.0) per indirizzare tutte le 65536 reti logiche di classe C attribuite all'Europa. La
maschera identifica quali sono i bits da considerare significativi. All'interno dell'Europa, questi
indirizzi possono poi essere assegnati in blocchi contigui a diverse regioni geografiche o a specifici
Internet Service Provider, diminuendo cos le dimensioni delle tabelle di instradamento anche per i
router interni all'Europa.
I relativi dettagli non sono qui esposti, ma il risultato quello voluto: inserire nella tabella una
sola riga per tutte le reti logiche coinvolte nella supernet. Se si adotta tale metodologia gli
algoritmi di instradamento devono per essere opportunamente modificati. Infine si fa presente che
il supernet addressing applicabile non solo per aggregare reti logiche di classe C, ma anche per
aggregare reti di classe B (e sostituire quindi una rete di classe A).
Si sottolinea che, a seguito dell'introduzione di tale tecnica, la classificazione degli indirizzi in
classi precedentemente esposta tende a divenire obsoleta. Gli operatori di rete tendono a fare
riferimento direttamente alle informazioni di instradamento contenute nelle tabelle mediante la
tecnica del "longest prefix matching" e quindi identificano le reti logiche semplicemente mediante
le maschere di rete, indicando il prefisso comune e quindi evitando un esplicito riferimento alla
classe. Tutte le classi C dell'esempio appena riportata appaiono ai router esterni all'Europa come
un'unica rete logica, di una classe che non tra quelle precedentemente definite. Ci giustifica
anche il nome "classless". Infine, si nota che tale modo di operare equivale ad introdurre un
(parziale) legame tra indirizzi IP e posizione geografica, contrariamente alle scelte originali (cfr.
VI.3.5.4); evidente che tale legame facilita l'instradamento, ma pone vincoli sull'assegnazione
degli indirizzi stessi. Ad esempio, nel caso delle reti telefoniche, il prefisso telefonico internazionale
identifica una data nazione; allinterno di questa, il prefisso interurbano identifica un distretto e il
numero di utente si riferisce ad uno specifica linea allinterno di quel distretto. Questo modo di
operare semplifica notevolmente la ricerca di una strada verso una data destinazione.
VI.3.5.4

Determinazione delle tabelle di instradamento

Una volta precisate le procedure operative con cui host e router inviano i datagrammi verso le
destinazioni volute, disponendo di tabelle di instradamento, occorre stabilire come queste ultime
vengono definite.
Le tabelle di instradamento sono, in generale, dinamiche; allatto dellaccensione, ogni sistema
(host o router) inizializza la sua tabella di instradamento (o per mezzo di informazioni conservate in
un dispositivo di memoria di massa o interrogando degli opportuni server). In seguito, i sistemi che
dispongono di opportuni protocolli, detti protocolli di instradamento, aggiornano o incrementano le
loro tabelle con nuove informazioni di instradamento. Una singola informazione di instradamento
consiste di una coppia (R,I) dove R lindirizzo della rete logica di destinazione e I lindirizzo IP
completo del prossimo router lungo la strada che porta alla sotto-rete di destinazione.

38
Come accennato in precedenza, sono solo i router che devono necessariamente rilanciare
datagrammi generati da altri sistemi; le funzioni di instradamento che i router devono svolgere,
sono quindi pi complesse di quelle eseguite dagli host. I router devono cio eseguire nella sua
completezza lalgoritmo descritto nel paragrafo precedente. Inoltre un host ha, in generale, una sola
interfaccia di rete e quindi non deve anche decidere verso quale interfaccia inviare un dato
datagramma. Viceversa un router dispone per definizione di pi interfacce di rete (ovvero di diversi
collegamenti verso altre sotto-reti) e deve perci necessariamente scegliere verso quale di queste
inviare un dato datagramma. Esso svolge cio le stesse funzioni logiche che, in altre reti di
telecomunicazioni (ed anche allinterno di alcune sotto-reti che costituiscono Internet), sono svolte
da sistemi denominati commutatori. A parte la differenza di nomenclatura, un router infatti non
altro che un commutatore, anche se, per principi architetturali e tecnica costruttiva alquanto
diverso da, ad esempio, un commutatore telefonico. Dora in avanti si far quindi esclusivo
riferimento ai router.
In aggiunta allinformazione contenuta in una generica coppia (R,I), un router ha anche
bisogno di conoscere quale interfaccia di rete usare per raggiungere il sistema I. Ovvero, verso
quale sotto-rete, tra quelle a cui direttamente collegato, inviare un generico datagramma per fargli
raggiungere il sistema I. Linformazione di instradamento completa sar perci: per raggiungere la
rete logica con Net_Id R, invia il datagramma verso il sistema I, usando linterfaccia di rete F. Da
un punto di vista operativo, la coppia (R,I) diventa quindi una terna (R,I, F). Il terzo elemento, F,
pu essere contenuto nella tabella di instradamento stessa, oppure pu essere tenuto in conto
mediante altre soluzioni implementative.
Un router pu implementare o meno i protocolli di instradamento. Nel secondo caso la tabella
di instradamento sar definita manualmente dallamministratore di rete e rester invariata fino a
successive operazioni di gestione, eseguite sempre da un operatore. Nel primo caso invece i
protocolli di instradamento si occupano automaticamente di acquisire nuove informazioni di
instradamento (ovvero terne (R,I, F)) e di aggiornare di conseguenza le tabelle.
La seconda soluzione tipicamente adottata in router di piccole dimensioni ed in zone
dellinter-rete che possano essere considerate relativamente stabili, sia dal punto di vista della
configurazione fisica che da quello della tipologia e della quantit del traffico smaltito.
Lamministratore di rete configura opportunamente le tabelle in base ad informazioni in suo
possesso e non vi altro da aggiungere.
Nel seguito ci occuperemo quindi della prima soluzione, in cui le tabelle sono create ed
aggiornate per mezzo dei protocolli di instradamento. Osserviamo per che sono comunque
possibili soluzioni miste, in cui una prima configurazione manuale ed i successivi aggiornamenti
sono governati dai protocolli di instradamento.
I protocolli di instradamento esaminano la configurazione della inter-rete, ed eventualmente lo
stato di occupazione delle risorse dei sistemi componenti, ad intervalli di tempo pre-definiti. In
seguito a tali operazioni, definiscono le informazioni di instradamento, che quindi sono aggiornate
nel tempo, e le comunicano ai router coinvolti. Fisicamente, i protocolli di instradamento sono
tipicamente implementati negli stessi sistemi che svolgono funzioni di router.
Quando un protocollo di instradamento determina una strada per una data destinazione, e la
comunica ad un router, il router stesso la memorizza nella sua tabella e continua ad utilizzarla per
un tempo pre-definito. Trascorso tale tempo, a meno che la stessa strada non gli sia comunicata di
nuovo, il router potr non ritenerla pi valida. Se la strada cambia (ad esempio a causa di un guasto
o di una modifica dellinter-rete), i protocolli di instradamento se ne accorgeranno e
comunicheranno al router la relativa nuova informazione di instradamento. Se la strada per
raggiungere una data destinazione cambia prima che il router ne riceva comunicazione, pu
succedere che un datagramma venga inviato verso una strada non corretta. In tal caso, un opportuno
messaggio di errore, generato dal protocollo ICMP (cfr VI.3.6), notificher al router questo
evento. Il processo di aggiornamento delle tabelle continua finch i router rimangono in attivit. In
seguito ad un eventuale disattivazione il processo ricomincia.

39
La necessit di un aggiornamento dinamico dovuta al fatto che Internet non pu essere
considerata stabile, nuovi host e sotto-reti vengono aggiunti od eliminati frequentemente e molti
percorsi che prima erano disponibili possono non esserlo pi o viceversa. Inoltre, in caso di guasti,
alcune strade non sono utilizzabili. Infine, se i protocolli di instradamento usano un algoritmo
adattativo, allora laggiornamento deve anche tener conto dello stato di occupazione delle risorse di
rete. Le tabelle di instradamento devono quindi essere aggiornate continuamente, anche ad intervalli
di pochi secondi. In conclusione, i protocolli di instradamento possono quindi essere definiti come
quei protocolli che consentono ai router di comunicare tra loro al fine di definire le strade da usare
per rilanciare i datagrammi verso le destinazioni volute.
La questione di creare e mantenere consistenti le tabelle di instradamento di per se molto
complessa; se inoltre si vuole che le decisioni di instradamento siano sempre ottimizzate in funzione
di distanza, affidabilit, efficienza e qualit di servizio allora il problema pu apparire insolubile in
termini economicamente accettabili. Una descrizione completa di tali meccanismi molto al di l
degli scopi di questa trattazione. Nel seguito si forniranno perci solo alcuni concetti di base.
La rete ARPANET, nucleo originario di Internet, era di dimensioni limitate; inoltre essa era
amministrata da ununica autorit, che poteva decidere autonomamente come gestire la rete e
garantire che tutti i possibili percorsi fossero mantenuti consistenti e percorribili. Con il passare del
tempo Internet si estesa e comprende non solo diverse autorit amministrative, ma anche diverse
nazioni. Finora abbiamo considerato gli host e i router di Internet solo in termini tecnici; siamo ora
costretti a introdurre anche delle entit amministrative. Al fine di definire con pi dettaglio i
protocolli di instradamento dobbiamo quindi introdurre una nuova definizione:
si definisce come sistema autonomo un insieme di host, router e sotto-reti controllate da
ununica autorit amministrativa; si distinguono quindi router interni ad un sistema autonomo e
router esterni a questo
Unautorit amministrativa libera si scegliere qualsiasi protocollo di instradamento,
allinterno del suo sistema autonomo; i sistemi autonomi usano quindi, in generale, diversi
protocolli di instradamento. Ogni sistema autonomo deve per affidare in modo specifico ad uno o
pi dei suoi router il compito di informare il mondo esterno della sua topologia, cio comunicare
questultima agli altri sistemi autonomi e nella fattispecie ad uno o pi router alluopo dedicati da
ognuno degli altri sistemi autonomi. Questi router di frontiera hanno perci il compito di
consentire il colloquio tra sistemi autonomi diversi e quindi tra diversi protocolli di instradamento.
Si pu fare un paragone tra i generici router sinora trattati e quelli di frontiera.
Cosi come i router consentono il colloquio tra sotto-reti diverse, cos i router di frontiera
consentono il colloquio tra sistemi autonomi diversi, con riferimento per solo alle informazioni di
instradamento. Un router di frontiera continua a svolgere anche le normali funzioni di un router
generico.
La nozione di sistema autonomo ha portato a definire due classi di protocolli di instradamento
usati per creare ed aggiornare le tabelle di instradamento:
- Interior Gateway Protocols (IGP), usati allinterno di un sistema autonomo (questa
dizione risente della precedente nomenclatura usata per indicare i router, e cio gateway)
- Exterior Gateway Protocols (EGP) usati per le comunicazioni tra router appartenenti a
diversi sistemi autonomi e deputati allo scambio di informazioni per informare i
rispettivi sistemi autonomi della topologia di altri sistemi autonomi e viceversa.
Nel seguito si discuteranno queste due classi di protocolli.
Per meglio comprendere quanto segue utile definire la nozione di instradamento basato su
informazioni parziali. Il concetto alla base di questo instradamento che non necessario disporre
in ogni router di informazioni di instradamento riguardanti tutte le possibili destinazioni.
Limportante che tali informazioni siano consistenti e che tutte le destinazioni siano prima o poi
contemplate in almeno uno dei router coinvolti. Ad esempio in un incrocio stradale non sono
riportate le indicazioni per andare ovunque, ma solo un insieme ristretto di destinazioni e bisogner,

40
in generale, attraversare diversi incroci prima di vedere apparire lindicazione per una data
destinazione finale.
Linstradamento con informazioni parziali funziona dunque se prima o poi conduce ad un
router dove contemplata la destinazione finale di interesse, ovvero se le informazioni fornite sono
consistenti.
In Internet esistono alcuni router, detti router di nucleo (core router) che contengono
informazioni di instradamento sufficienti per inviare un datagramma verso qualunque destinazione.
Ogni sistema autonomo deve comunicare ai core router quali reti logiche fanno parte del sistema
autonomo stesso. In tal modo quando ad un core router si chiede uninformazione di instradamento
relativa ad una data rete logica X, il core router a conoscenza che quella rete logica si trova in un
dato sistema autonomo Y; esso pu quindi comunicare al richiedente che la rete logica X si trova
nel sistema autonomo Y. Un datagramma che ha come destinazione la rete logica X, potr quindi
essere inviato ad un router di frontiera del sistema autonomo Y; qui arrivato, i protocolli di
instradamento interni al sistema autonomo Y potranno suggerire la strada per arrivare alla rete
logica di destinazione.
Il vantaggio principale dellinstradamento con informazioni parziali che evita di dover fornire
a tutti i router le informazioni per raggiungere tutte le destinazioni. Il suo svantaggio che a volte
pu succedere di dover transitare per un dato router, dove sono citate tutte le informazioni di
instradamento, anche se esiste una strada pi breve per arrivare a destinazione.
Ciononostante, la questione di assicurare la consistenza di un sistema complesso come Internet
rimane complessa, anche perch la Net_Id di un indirizzo non strutturata in modo gerarchico, n
esiste necessariamente (cfr. fine del VI.3.5.3) una corrispondenza, pre-fissata e deducibile
dallesame dellindirizzo, tra una Net_Id e la posizione geografica della relativa sotto-rete. Ad
esempio le reti logiche 151.100 e 153.100 possono trovarsi in Italia, mentre la rete logica 152.100
potrebbe trovarsi ovunque nel mondo.
Le comunicazioni tra sistemi autonomi e core router sono effettuate mediante gli Exterior
Gateway Protocol; linstradamento allinterno di un sistema autonomo e la raccolta di dati da
inviare ai core router avviene per mezzo degli Interior Gateway Protocols. I messaggi di tutti
protocolli di instradamento sono sempre trasportati allinterno di datagrammi IP.
Alcuni tra i pi importanti Interior Gateway Protocols sono:
- GGP
- SPREAD
- SPF e OSPF
- RIP
- HELLO
Il modo in cui questi protocolli determinano le tabelle di instradamento pu essere vario; si
possono utilizzare diversi algoritmi, ognuno dei quali ha i suoi pro e contro.
Il GGP (Gateway to Gateway Protocol) era usato originariamente in ARPANET.
GGP misura la distanza tra origine e destinazione in salti, ovvero in numero di sotto-reti da
attraversare, ed usa un algoritmo, detto di Bellman-Ford, che determina la strada da seguire
minimizzando il numero di salti; uno dei suoi svantaggi che non detto che un numero inferiore
di salti equivalga ad una strada pi veloce e/o pi breve; ricordiamo che le sotto-reti non sono tutte
uguali; ve ne sono di lente e di veloci, di grandi e di piccole, di congestionate e di non
congestionate. Per alleviare questo problema, molti router GGP attribuiscono artificialmente ad una
rete con un elevato ritardo di trasferimento un numero di salti maggiore di uno. Il ritardo di
trasferimento qui considerato uno di riferimento, costante; non sono tenute in considerazioni
situazioni di congestione; in altre parole lalgoritmo non adattativo. Un altro svantaggio di GGP
che non facilmente scalabile e cio, allaumentare delle dimensioni del sistema autonomo, le sue
prestazioni peggiorano rapidamente. I tempi di risposta sono elevati ed richiesta una rilevante
mole di scambi di messaggi.
SPF (Shortest Path First) richiede che ogni router conosca tutta la topologia di rete,

41
rappresentata con un grafo; dal momento che la topologia cambia continuamente (per guasti ed
aggiunte od eliminazioni di collegamenti e di host), un continuo scambio di messaggi mantiene
aggiornata la topologia memorizzata da ogni router. La strada migliore viene poi determinata
localmente (dato che ogni router conosce lintera topologia) grazie ad un algoritmo detto di
Dijkstra, che calcola la pi breve distanza verso la destinazione, secondo diversi criteri.
Il principale vantaggio di questo algoritmo la velocit; al momento di determinare una strada
lalgoritmo risponde immediatamente senza bisogno di interrogare altri router. Lo svantaggio
principale che per mantenere aggiornata la topologia di rete, necessario un continuo scambio di
messaggi, anche quando non ve ne bisogno.
OSPF (Open Shortest Path First) una estensione di SPF. I suoi principali vantaggi sono: a)
disponibile gratuitamente, al contrario di SPF che proprietario; b) include linstradamento basato
sul Service Type e quindi tiene conto delle richieste degli utenti in termini di prestazioni (cfr
VI.3.1); c) consente di bilanciare il carico in rete; d) consente di dividere gerarchicamente un
sistema autonomo; e) le sue comunicazioni prevedono unautenticazione per garantire la sicurezza.
RIP (Routing Information Protocol) simile a GGP, minimizza la distanza in salti tra origine
e destinazione e, come GGP, aumenta artificialmente il numero di salti di un cammino attraverso
reti lente. RIP mantiene una tabella di instradamento in ogni sistema, questa tabella aggiornata
ogni 30 secondi con informazioni ricevute dai sistemi vicini. uno dei protocolli pi usati, non
perch abbia particolari vantaggi rispetto agli altri, ma perch stato distribuito insieme al sistema
operativo Unix, godendone la popolarit.
HELLO un esempio di protocollo in cui la metrica usata per valutare la distanza basata sul
ritardo di attraversamento piuttosto che sul numero di salti. Per ritardo di attraversamento si intende
quello attualmente subito in un dato momento e quindi HELLO tiene conto di eventuali condizioni
di congestione, ovvero adattativo. Per fare questo HELLO deve innanzi tutto sincronizzare i clock
dei diversi router e poi far si che i router si comunichino non solo informazioni topologiche ma
anche informazioni relative al ritardo di attraversamento; ci viene realizzato mediante luso di
indicazioni temporali, dette time-stamps. Come anche altri protocolli, HELLO pu soffrire di
instabilit, se cambia troppo velocemente le strade che consiglia di usare. Se una strada libera
allora un router vi indirizza molto traffico, allora tale strada diviene congestionata e il router
indirizza il traffico verso unaltra strada; ma allora la strada di prima torna ad essere libera e cos
via.
Per evitare queste oscillazioni i cambiamenti delle strade consigliate non sono molto veloci e
il cambiamento avviene solo se esiste una rilevante differenza tra le due strade.
Uno dei pi comuni Exterior Gateway Protocols ha lo stesso nome:
L'Exterior Gateway Protocol (EGP) svolge tre funzioni:
- individuazione dei router adiacenti con cui scambiare le informazioni di instradamento;
per adiacenza si intende quella logica; i router delegati allo scambio di informazioni
possono essere separati anche da altri router;
- verifica continua della funzionalit dei router interlocutori;
- scambio periodico delle informazioni di instradamento, contenute in appositi messaggi;
queste riguardano la sola raggiungibilit delle reti, non la distanza.
EGP non consente ad un router non-core di comunicare strade al di fuori del suo sistema
autonomo; un router non-core pu comunicare solo strade appartenenti al sistema autonomo di
cui fa parte. EGP non tiene conto di una metrica di distanza, comunica solo una strada da seguire.
Dal momento che non pu sapere se una strada conviene rispetto ad unaltra ne comunica una sola.
Da ci deriva anche la ragione per cui un router non-core pu comunicare solo strade
appartenenti al sistema autonomo di cui fa parte. Infatti, dal momento che ogni IGP pu usare una
sua metrica, diversa da quella usata in altri sistemi autonomi, non avrebbe senso per un router noncore comunicare strade attraverso altri sistemi autonomi (visto che non ne conosce le relative
prestazioni in termini di prestazioni del trasferimento di dati, ad esempio del ritardo).
Il protocollo BGP (Border Gateway Protocol) una evoluzione dell'EGP. Per lo scambio di

42
messaggi tra le entit vengono utilizzati i servizi di trasporto offerti da TCP. Il protocollo effettua la
verifica dello stato di un collegamento o di un host inviando periodicamente messaggi detti di keep
alive (il periodo raccomandato di 30 sec.). Rispetto a EGP, fornisce funzionalit aggiuntive: le
informazioni sulla raggiungibilit delle sotto-reti di destinazione includono il percorso completo che
il traffico deve seguire attraverso un sistema autonomo per raggiungere determinate sotto-reti di
destinazione. Queste informazioni sono sufficienti a costruire il grafo di connettivit dei sistemi
autonomi; eventuali percorsi chiusi (loop) possono essere poi rivelati ed eliminati con opportune
politiche di gestione. L'informazione sulla raggiungibilit delle reti ha ovviamente maggior impatto
nel caso in cui sia presente, lungo il percorso tra un sistema autonomo sorgente e uno di
destinazione, un certo numero di altri sistemi autonomi con funzioni di transito; in caso contrario
l'impiego di BGP od EGP pressoch equivalente.
Il protocollo BGP consente di utilizzare opportune politiche di restrizione per il traffico in
transito, stabilite dal gestore del sistema e codificate in tabelle di configurazione. Ci consente al
protocollo una scelta tra i diversi instradamenti eventualmente disponibili e la possibilit di
effettuare una opportuna ri-distribuzione del traffico.
Infine, al processo di instradamento prende parte anche l'ICMP. Infatti, oltre a notificare al
mittente l'eventuale mancato recapito di un datagramma, il protocollo ICMP prevede un messaggio
per la modifica delle informazioni contenute nelle tabelle di instradamento. Qualora un datagramma
venga instradato erroneamente verso un router, quest'ultimo provvede ad inviare alla sorgente un
opportuno messaggio ICMP, che modifica le informazioni della tabella di instradamento del
mittente (cfr VI.3.6).
VI.3.6.

Messaggi di errore e di controllo (ICMP)

Come gi detto, il protocollo IP non affidabile. Se un router non riesce ad instradare o a


consegnare un datagramma o se riscontra situazioni anomale (tra cui congestione di rete) deve poter
notificare tali eventi al mittente del datagramma, affinch siano attuate opportune operazioni per
correggere il problema. Se un host di destinazione stato disattivato, il mittente di un datagramma
inviato verso tale host deve esserne informato. Si ricorda anche che, in questo capitolo, con il
termine sistema si indica in modo indifferenziato sia un host che un router.
Possibili problemi possono essere:
un dispositivo di rete (incluse le linee di collegamento) non funziona correttamente o
non funziona del tutto;
il sistema di destinazione temporaneamente o permanentemente disconnesso dalla rete;
il contatore del Time to Live arriva a zero;
i router o le linee intermedie sono talmente congestionate da non poter gestire il traffico
in transito.
Per consentire ai sistemi di potersi scambiare informazioni circa tali situazioni, stato definito
un apposito protocollo. Tale protocollo, denominato Internet Control Message Protocol, (ICMP)
una parte integrante di IP e deve essere incluso in ogni implementazione di IP.
I messaggi di ICMP sono trasportati in rete per mezzo dei datagrammi IP. Il messaggio ICMP
viene incapsulato nella parte dati del datagramma IP. Esso costituito da una parte dati (ICMP
Data) e da una intestazione, come possibile vedere nella Fig. VI.3.4.

43
Intestazione
ICMP

Intestazione IP

ICMP Data

IP Data

Fig. VI.3.4 - Trasporto dei messaggi ICMP allinterno di datagrammi IP


In caso di malfunzionamento della rete, ICMP provvede ad uno scambio di messaggi fra i
sistemi coinvolti per notificare lerrore o indicare le circostanze inaspettate che causano un
comportamento anomalo. I messaggi di ICMP viaggiano in rete secondo le stesse modalit seguite
dal traffico di utente. Il destinatario di un messaggio ICMP non un programma applicativo od un
utente ma una entit dello strato IP. In altre parole ICMP fornisce i mezzi per uno scambio di
informazione tra il software IP di un sistema ed il corrispondente software IP di un altro sistema.
ICMP pu quindi essere considerato un sub-strato di IP (visto che serve a trasportare messaggi tra
due entit IP) ma funzionalmente al di sopra di IP (visto che i suoi messaggi governano il
funzionamento di IP).
ICMP pu essere usato sia da router che da host (anche se per questi ultimi sono previste
alcune limitazioni). Il suo principale vantaggio che fornisce una piattaforma unica per lo scambio
di qualsiasi informazione di controllo. La funzione di ICMP solo di notifica degli errori al sistema
di origine e non specifica le azioni che devono essere prese per rimediare agli errori ed ai
malfunzionamenti; sar poi il sistema di origine a porre in relazione il particolare errore con il
relativo programma applicativo (ad esempio con un protocollo di instradamento, o con IP) ed a
decidere cosa fare per correggere il problema.
ICMP notifica eventuali errori solo al sistema che ha originato un datagramma e non a sistemi
intermedi lungo la strada attraversata dal datagramma stesso. Questo perch ogni datagramma
contiene solo lindirizzo del mittente e quello della destinazione e quindi non possibile,
esaminando un datagramma, scoprire che strada ha percorso; questa informazione non pu
nemmeno essere ricavata dalle tabelle di instradamento, lette a ritroso, sia perch queste ultime
cambiano continuamente, sia perch le tabelle riportano solo un passo del cammino seguito e non il
cammino completo. Ne segue che, quando un datagramma arriva ad un determinato sistema,
questultimo non ha modo di sapere che strada ha percorso il datagramma, ma solo da dove viene e
quindi pu notificare un errore solo al sistema di origine del datagramma. La conclusione che, se
causa del problema un sistema intermedio, ICMP non lo pu identificare; pu solo notificare che
esiste un problema ma non quale .
Un altro punto importante che, siccome i messaggi di ICMP viaggiano come comuni
datagrammi IP, anchessi possono essere soggetti ad errore e contribuire alla congestione di rete. La
procedura di gestione dei datagrammi prevede ununica differenza tra i datagrammi che trasportano
i messaggi ICMP e gli altri: non vengono generati messaggi ICMP in seguito ad errori causati da
datagrammi che trasportano messaggi ICMP; ci serve ad evitare messaggi di errore relativi a
messaggi di errore.
Si tenga presente che ogni messaggio ICMP in relazione ad uno specifico datagramma (e non
potrebbe essere altrimenti visto che IP un protocollo senza connessione); un messaggio ICMP
contiene quindi anche un identificativo del particolare datagramma che ha generato lerrore o la
situazione anomala.
Alcuni dei messaggi previsti da ICMP e le loro funzioni sono i seguenti:
- "Echo Request" e Echo Reply"; un sistema che vuole verificare se un altro sistema
raggiungibile (e quindi se la strada percorribile) ed attivo, invia un messaggio "Echo
Request"; il messaggio contiene anche una parte dati che pu essere un insieme di

44

VI.3.7.

caratteri casuali o predeterminati. Possibili opzioni sono la lunghezza della parte dati ed
il numero di messaggi di prova inviati. Il sistema a cui perviene un "Echo Request"
risponde con un Echo Reply", ri-inviando i dati che ha ricevuto; il sistema richiedente
pu cos anche valutare eventuali statistiche sul trasferimento, come ritardo minimo,
medio e massimo e grado di integrit informativa;
"Destination Unreachable": viene emesso da un router per notificare al sistema mittente
che non in grado di instradare un datagramma; contiene un campo che specifica perch
la destinazione non raggiungibile: rete o sistema non raggiungibile, rete o sistema
sconosciuti, segmentazione necessaria ma non attuata perch il bit DF era posto ad 1
(cfr. Tabella ), rete o sistema non raggiungibile con il tipo di servizio richiesto (riportato
nel campo Service Type, cfr. ancora Tabella ), proibizione amministrativa per la
comunicazione con una rete o un sistema, etc.;
"Source Quench": il sistema destinazione informa il sistema sorgente che il traffico
generato superiore alle sue capacit ricettive. Usualmente i sistemi generano un
"Source Quench" ogni volta che sono costretti a scartare un datagramma. Il messaggio
contiene anche un identificativo del datagramma che stato scartato. La sorgente
provvede a ridurre il numero di datagrammi inoltrati in rete finch smette di ricevere
messaggi "Source Quench"; quando ci avviene la sorgente ritorna gradualmente verso il
ritmo di emissione originario;
"Redirect": un router pu informare un sistema sorgente che l'instradamento prescelto
non il migliore o sbagliato e ne notifica uno nuovo; questo meccanismo integra i
meccanismi di inizializzazione ed aggiornamento delle tabelle di instradamento descritti
nel VI.3.5. Se una strada cambia ed un sistema invia erroneamente un datagramma
lungo quella la strada, un messaggio di "Redirect" risolve il problema. Inoltre grazie ai
messaggi "Redirect" i sistemi possono imparare nuove strade. Si noti che, normalmente,
solo gli host e non i router ricevono messaggi "Redirect"; i router usano tipicamente i
protocolli descritti nel VI.3.5;
"Time Exceeded for a Datagram": serve ad informare l'host sorgente che un datagramma
IP stato eliminato dalla rete per aver superato il limite temporale di esistenza nella rete
(campo Time to Live, cfr Tabella ); si ricorda che lo scopo di questo campo evitare che
un datagramma possa percorrere percorsi chiusi (loop) nella rete senza giungere a
destinazione, o essere trasferito in un tempo eccessivamente lungo;
"Parameter Problem on Datagram": serve a comunicare ad un host sorgente che sono
stati rivelati errori nell'intestazione di un datagramma;
"Timestamp Request" e "Timestamp Reply": il primo viene inviato da una sorgente per
richiedere alla destinazione uninformazione temporale (tempo locale), il secondo viene
utilizzato per la risposta; opportuni campi allinterno di questi messaggi consentono una
sincronizzazione degli orologi dei due host con unaccettabile precisione;
"Information Request" e "Information Reply": originariamente utilizzati dagli host per
ottenere l'indirizzo Internet delle reti logiche a cui sono collegate, attualmente si usano
invece i protocolli RARP o BOOTP o DHCP;
"Address Mask Request" e "Address Mask Reply": vengono utilizzati dagli host per
richiedere ad opportuni server (tipicamente svolgenti anche funzioni di router) la
maschera di sotto-rete (cfr; VI.3.5.1).
Domain Name System

Gli indirizzi IP di 32 bit sono quelli effettivamente usati dal protocollo IP (cfr VI.3.3). In
alternativa a questi indirizzi abbiamo gi descritto la notazione dotted.
Anche se questultimo formato consente una pi agevole rappresentazione degli indirizzi, gli
utenti preferiscono usare indirizzi ancora pi facilmente pronunciabili, memorizzabili e che,
possibilmente, forniscano unidea di dove un sistema si trova e a quale organizzazione appartiene.

45
Per tale ragione, in Internet stato implementato un meccanismo che consente di utilizzare,
oltre alla notazione dotted, anche un altro tipo di notazione. Ad esempio, un particolare sistema con
indirizzo IP:
10010111.01100100.00001000.00010010
la cui relativa notazione dotted :
151.100.8.18
pu essere messo in corrispondenza con una ulteriore notazione, detta mnemonica:
infocom.ing.uniroma1.it
Si vede subito come un indirizzo espresso in questa forma alternativa (che nel seguito
chiameremo nome), oltre ad essere pi facilmente memorizzabile dagli utenti (umani), rende subito
chiaro che si tratta di un sistema del Dipartimento Infocom, della Facolt di Ingegneria,
dellUniversit di Roma 1, dellItalia. Inoltre, se gli amministratori di rete scelgono i nomi in modo
opportuno, possibile anche cercare di indovinare nomi non conosciuti. Le relazioni tra questi tre
tipi di notazione sono illustrati, per lesempio specifico, in Figura VI.3.5.
10010111 01100100

00001000 00010010

151. 100. 8. 18
infocom.ing.uniroma1.it

indirizzo IP
notazione dotted
notazione mnemonica o nome

Figura VI.3.5 - Notazione mnemonica di un indirizzo IP, o nome


E importante sottolineare che lindirizzo usato da IP sempre una stringa di 32 bits e le altre
due rappresentazioni devono essere preventivamente tradotte (o risolte) da opportuni protocolli
prima di essere utilizzate da IP per leffettivo scambio di informazione.
Il passaggio da notazione dotted a indirizzo di 32 bit (e viceversa) banale in quanto implica
una semplice conversione decimale-binario (o binario-decimale). La traduzione tra indirizzo IP
binario (o dotted) e nome pu essere invece alquanto complessa. Questa traduzione attuata da un
protocollo di alto livello, implementato in un meccanismo denominato Domain Name System
(DNS).
Il DNS pu essere visto come unagenda telefonica o come un elenco telefonico; siccome pu
essere difficile ricordare dei numeri telefonici, risulta utile porli in corrispondenza con i nomi delle
persone (o di enti) a cui sono associati. Lagenda telefonica di ognuno di noi, e anche un singolo
elenco telefonico, contengono per solo un sotto-insieme dei numeri telefonici della rete telefonica
mondiale. Il DNS deve invece consentire di porre in corrispondenza qualunque nome con il relativo
indirizzo IP. In definitiva il DNS simile ad un unico elenco telefonico, comprendente per tutti
coloro che desiderano esservi inseriti, a livello mondiale, consultabile in modo automatico e senza
che lutente finale debba compiere operazioni specifiche. Infatti, gli utenti di Internet usano
direttamente i nomi, senza avere nemmeno visibilit dei veri indirizzi IP che a questi
corrispondono. Sono le applicazioni usate dagli utenti ad invocare il DNS e a chiedere a
questultimo le traduzioni nomi-indirizzi.
Il nucleo originale di Internet usava un insieme di nomi non suddiviso gerarchicamente; i nomi
erano assegnati da ununica autorit centrale e la corrispondenza nomi-indirizzi poteva essere
contenuta in un unico archivio, memorizzato in un calcolatore che tutti potevano interrogare, o che
poteva essere distribuito periodicamente. Come per altre problematiche affrontate sinora, la crescita
di Internet ha costretto ha cambiare sistema.
Lanalisi dellattuale DNS interessante, anche perch fornisce un esempio di una base di dati
distribuita, organizzata gerarchicamente e secondo il paradigma client-server. DNS contiene infatti
componenti client e componenti server. Quelle client sono tipicamente implementate nelle
applicazioni usate dagli utenti (ad. es. nei browser, cfr. par. VI.1); quelle server sono residenti in
opportuni sistemi che svolgono il servizio di traduzione a favore dei client.

46
Lattuale DNS ha due aspetti; il primo astratto, specifica la sintassi dei nomi e le regole per
decidere chi li attribuisce; il secondo specifica limplementazione di un algoritmo distribuito per
tradurre o risolvere un nome in un indirizzo IP e viceversa. Corrispondentemente, il seguito di
questo paragrafo diviso in due parti: attribuzione dei nomi e traduzione dei nomi in indirizzi e
viceversa. Ribadiamo ancora che, quando un utente chiede una comunicazione verso un sistema,
identificando questultimo con un nome, necessario che il DNS traduca il nome nel relativo
indirizzo IP, prima che inizino tutte le operazioni poste in essere dai protocolli di comunicazione,
incluso il protocollo IP. E sempre possibile, tuttavia, che un utente usi direttamente lindirizzo IP di
destinazione; in tal modo il DNS non sar invocato e saranno possibili comunicazioni anche in
occasioni di malfunzionamento del DNS stesso. Capita infatti che un utente riceva un messaggio di
errore che gli comunica che un dato host non esiste, anche quando ci non vero; in questi casi la
responsabilit pu essere del DNS ed il problema superabile utilizzando direttamente lindirizzo
IP dellhost in questione (se lo si conosce, ovviamente).
VI.3.7.1

Attribuzione dei nomi

Lattuale DNS ha una struttura gerarchica; tale struttura sembra essere la pi conveniente, se
non lunica praticabile, per gestire un insieme di nomi di elevata numerosit e variabile nel tempo.
Linsieme dei nomi prima partizionato in un certo numero di sotto-insiemi dallINTERnet
Network Information Center (INTER-NIC); il compito di assegnare i nomi allinterno di uno di
questi sotto-insiemi delegato ad unautorit di livello inferiore che pu partizionare il suo sottoinsieme in altri sotto-insiemi e cos via. Un nome quindi composto da una serie di sotto-nomi
separati da un punto. Ogni punto pu separare unautorit da quella che gli gerarchicamente
inferiore. Ad esempio, INTER-NIC ha assegnato allItalia il sub-nome it delegando unaltra
autorit ad assegnare tutti i nomi il cui ultimo sub-nome it. Con riferimento allesempio
precedente, allUniversit di Roma La Sapienza stato assegnato il sub-nome uniroma1, alla
Facolt di Ingegneria stato assegnato il sub-nome ing. Infine ad un particolare host del
Dipartimento Infocom stato assegnato il sub-nome infocom. Il nome risultante per questultimo
host quindi infocom.ing.uniroma1.it.
Come si vede il principio gerarchico utile e garantisce nel contempo lunicit dei nomi.
Infatti, come per gli indirizzi IP, anche i nomi devono essere unici in tutta linter-rete.
necessario sottolineare che la gerarchia con cui sono assegnati i nomi in Internet segue la
struttura delle organizzazioni che sono responsabili di parti del dominio dei nomi e non
necessariamente in relazione con la struttura delle interconnessioni fisiche.
Questo sia perch le sotto-reti fisiche non sono necessariamente gerarchiche sia perch la
struttura fisica delle sotto-reti e la struttura gerarchica delle autorit che assegnano i nomi non
necessariamente coincidono.
Ad esempio ununica rete in area locale di ununiversit potrebbe connettere sia gli host del
Dipartimento di Informatica che quelli del Dipartimento di Elettronica. Ciononostante i relativi
nomi possono essere organizzati in modo gerarchicamente diverso.
Al primo livello gerarchico, linsieme di tutti i nomi stato diviso in un primo numero di sottoinsiemi che consentono due tipi di classificazione, una geografica ed una basata sulla tipologia delle
organizzazioni che ne fanno parte. Ognuno di tali sotto-insiemi denominato dominio di livello
massimo (top level domain); i possibili top level domain sono riportati nella Tab. Quelli al di
sotto della linea in grassetto, nella classificazione per tipologia, sono stati introdotti recentemente e
ancora poco diffusi.
Ognuno dei top level domain quindi partizionato in un certo numero di sub-domini; ognuno
di tali sub-domini pu a sua volta essere partizionato in sub-sub-domini e cos via.
Una generica organizzazione pu scegliere di registrarsi secondo la classificazione per
tipologia o secondo la classificazione geografica (la classificazione geografica degli Stati Uniti
ulteriormente divisa per gli stati della federazione: New York=NY, California=CA, Indiana=IN,

47
etc.). Per motivi storici, le organizzazioni americane hanno scelto in maggioranza la classificazione
per tipologia (anche perch in un certo periodo questa era lunica esistente), mentre quelli degli altri
paesi hanno seguito prevalentemente la classificazione geografica.

Classificazione per tipologia


Nome del dominio

Tipo di organizzazione

COM

Commerciali

EDU

Accademiche e didattiche

GOV

Statali

MIL

Militari

NET

Centri di gestione

ARPA

ARPANET (obsoleto)

INT

Organizzazioni internazionali

ORG

Altre organizzazioni

FIRM

Aziende, affari

STORE

Merce in vendita

WEB

Enfatizzante il WWW

ARTS

Enfatizzante arte e cultura

REC

Enfatizzante intrattenimento

INFO

Enfatizzante fornitori di informazioni

NOM

Enfatizzante nomenclature personali

classificazione geografica
Nome del
dominio

USA

IT

DE

FR

UK

JP

etc.

nazione

USA

Italia

Germania

Francia

Gr. Bret.

Giappone

etc.

Tabella VI.3.5 - Classificazione dei nomi in domini


Ad esempio le Universit di Columbia (New York), Berkeley (California) e Purdue (Indiana)
hanno scelto come sub-domini columbia.edu, berkeley.edu e purdue.edu piuttosto che ny.usa, ca.usa
e in.usa rispettivamente (anche perch pi significativa la prima scelta che ci fa capire che si tratta
di organizzazioni accademiche e ce ne dice il nome).
La Fi riporta un esempio di una parte dellalbero dei nomi (l'attuale albero conta diversi milioni
di nomi). Ad esempio, uniroma1 un sub-dominio del top level domain it; ing un subdominio di uniroma1 e quindi un sub-sub-dominio di it.

48

usa

...

it

com

Root Domain

mil

gov

org

net

edu

nsf
ibm
ny

dec

ca
uniroma1

berkeley

rutgers

ing
infocom

Figura VI.3.6 - Esempio di parte dellalbero di nomi


Un nome nel DNS pu essere in corrispondenza con diversi tipi di indirizzi. In altri termini ad
ogni nome assegnato un tipo che specifica se quel nome si riferisce ad un host, ad un mailer (cio
ad un sistema con compiti di gestione della posta elettronica), etc. Quando la componente client di
DNS chiede di risolvere un nome deve anche specificare che tipo di nome . Ad esempio quando un
applicativo di posta elettronica chiede a DNS di risolvere un nome deve specificare che lindirizzo
che DNS fornisce in risposta deve essere quello di un mailer ovvero di un sistema che gestisce
per gli utenti la posta elettronica; quando un applicativo TELNET chiede a DNS di risolvere un
nome deve specificare che ai desidera lindirizzo di un host con cui stabilire una sessione telnet.
Inoltre un dato nome pu riferirsi a pi di un tipo di indirizzo. Lapplicazione client di DNS che
richiede una traduzione nome-indirizzo, specifica quindi anche il tipo del nome e la componente
server risponde con lindirizzo corrispondente a quel nome e di quel tipo.
Infine la sintassi del nome non ne specifica il tipo e il numero di sub-nomi che costituisce un
nome non fisso. Ad esempio pu esistere un nome composto da due sub-nomi (uniroma2.it) o da
tre sub-nomi () o da cinque sub-nomi (markov.istel.ing.unipg.it).
VI.3.7.2

Traduzione dei nomi in indirizzi e viceversa

DNS include un affidabile ed efficiente algoritmo distribuito per tradurre nomi in indirizzi e
viceversa. distribuito in quanto costituito da una molteplicit di sistemi che co-operano tra loro.
efficiente in quanto molti nomi possono essere tradotti localmente senza generare traffico in
Internet; affidabile in quanto il guasto di una singola macchina non pregiudica il funzionamento
dellintero sistema. In questo paragrafo ci occuperemo della traduzione (o risoluzione) di un nome
in un indirizzo IP. Loperazione inversa procede secondo modalit analoghe.
La parte server di DNS costituita da un certo numero di sistemi indipendenti e co-operanti
chiamati name server. Un name server non altro che una componente server dellalgoritmo,
eseguito da un generico calcolatore. Spesso tale programma eseguito su di un calcolatore dedicato
a questo scopo ed allora il calcolatore stesso denominato name server. La componente client
dellalgoritmo, denominato name resolver, usa uno o pi name server per tradurre un nome. I name
server sono organizzati logicamente secondo una struttura gerarchica ad albero. La Figura VI.3.7
mostra un esempio, avente scopo esclusivamente didattico, di una parte di tale struttura. I messaggi
di interrogazione e di risposta di DNS sono trasportati, come tutto il traffico in Internet, da IP ed
usano come strato di trasporto il protocollo UDP.

49
Root
Server

Server di
.com

Server di
ibm. com

Server di
columbia.edu

Server di
.edu

Server di
nsf.gov

Server di
.gov

Server di
.it

Server di
uniroma1.it

Server di
unimi.it

Server di
ing.uniroma1.it

Figura VI.3.7 - Struttura gerarchica dei name servers


La radice dellalbero un name server (denominato root server) responsabile dei top-level
domain (definiti nella Tab); ogni top-level domain a sua volta servito da un name server ed il root
server in grado di identificare quale name server responsabile per ognuno di essi. Dato un nome
da tradurre, il root server pu quindi rivolgersi all'opportuno server di top-level domain (ovvero
conosce lindirizzo IP del server voluto). Al terzo livello troviamo i name-server responsabili di un
sub-dominio. I server di secondo livello conoscono l'indirizzo IP dello specifico server di terzo
livello a cui rivolgersi. Ognuno dei server di terzo livello risponde solo della traduzioni di nomi del
proprio sub-dominio. Ogni name server ha in memoria informazioni relative agli host del dominio
immediatamente inferiore.
Lalbero continua cos ad estendersi fino al livello dellultimo sub -sub-dominio esistente. Si
noti che il name server di un certo livello gerarchico non deve conoscere tutti i nomi degli host ad
esso appartenenti; dato un nome da tradurre, deve solo sapere a quale server di livello gerarchico
inferiore rivolgersi, se ne esistono. Data la struttura gerarchica dei nomi ci abbastanza semplice.
Se, ad esempio si richiede al root server di risolvere il nome infocom.ing.uniroma.it, tale server
indirizzer la richiesta al server responsabile per il top-level domain it; questo indirizzer la
richiesta al server responsabile del sub-dominio uniroma1.it e cosi via finch si incontra un server
che conosce lindirizzo del nome completo.
Le linee che uniscono i server nella Figura VI.3.7 non corrispondono necessariamente a linee
fisiche; esse mostrano solo le relazioni logiche tra i name server e quali altri server un dato name
server pu interrogare.
Nella pratica, i singoli server possono essere dislocati ovunque allinterno di Internet e spesso
una stessa macchina svolge funzioni di name server per diversi livelli gerarchici. Inoltre non raro
che unorganizzazione riunisca in un unico server le informazioni relative ai nomi di tutti i suoi subdomini.
In altre parole, la struttura logica rappresentata in Figura VI.3.7 , non necessariamente quella
reale; possono esserci eccezioni a qualunque livello. Ritroviamo qui un elemento comune ad altre
caratteristiche di Internet. Nel corso di questa trattazione si cercato di dare una certa sistematicit
allesposizione. Spesso per Internet (a causa del modo in cui si evoluta) sfugge ad un
inquadramento in paradigmi ben definiti e, pur nel rispetto dei protocolli, sono possibili numerose
eccezioni e soluzioni alternative ad una data modalit di funzionamento.
Come appena accennato la risoluzione di un indirizzo avviene in modo top-down, iniziando
dalla radice dellalbero e procedendo attraverso i server di livello gerarchico inferiore. Esistono due
modalit per interrogare un server: modalit ricorsiva e modalit non-ricorsiva.
Nella modalit ricorsiva, quando si interroga un server, responsabilit di questultimo
interrogare altri server fino a risolvere completamente il nome; a traduzione ultimata, il primo
server interrogato risponder al sistema che ha inoltrato la richiesta, comunicandogli lindirizzo
richiesto.

50
Nella modalit non-ricorsiva, il primo server interrogato risponder indicando al sistema
richiedente solo a quale altro server rivolgersi (ovvero comunicandogli il relativo indirizzo IP, non
il nome, altrimenti sarebbe necessario risolvere anche questultimo). Nellesempio riportato prima,
il root server risponder dicendo di rivolgersi al server responsabile del top level domain it; in
seguito, il sistema che ha inoltrato la richiesta si rivolger al server it; questultimo, se la richiesta
che gli perviene di tipo non ricorsiva, comunicher di rivolgersi al server uniroma1.it e cos via.
Viceversa se la richiesta fosse stata ricorsiva, sarebbe stato il root server ad interrogare tutti gli altri
e, ultimato il processo, a rispondere al client.
La parte client dellalgoritmo deve quindi conoscere necessariamente lindirizzo di un solo,
qualsiasi, name server. Da l potr poi continuare la sua ricerca. Questo significa che la
configurazione iniziale di un generico host deve contenere anche lindirizzo IP di almeno un name
server. Ovvero, un generico host, deve avere le seguenti informazioni per poter scambiare dei dati
attraverso Internet:
- il proprio indirizzo IP;
- la maschera di sotto-rete;
- una tabella di instradamento, includente almeno lindirizzo IP di un router di default;
- lindirizzo IP di un name server.
Tali informazioni possono essere fornite manualmente o ottenute mediante opportuni protocolli
aggiuntivi, alcuni dei quali gi citati (ad.es., RARP, BootP, DHCP, ICMP). Si noti che, in mancanza
dellindirizzo IP di un name server, lhost in questione potrebbe teoricamente scambiare dati, ma
dovrebbe usare e quindi conoscere lindirizzo IP di ogni destinazione.
Eventualmente si pu fornire ad un host anche lindirizzo di un secondo name server, per
ragioni affidabilistiche, detto name server di backup.
Per assicurare poi che ogni name server possa raggiungere gli altri, sufficiente che esso
conosca lindirizzo del root server. In aggiunta, un name server pu avere lindirizzo del name
server ad esso immediatamente superiore o di altri name server gerarchicamente superiori, inferiori,
uguali o trasversali (come giudicato opportuno dallamministratore di rete).
Lalgoritmo appena descritto ha tre svantaggi: a) la gran parte delle richieste degli utenti fa
riferimento a nomi locali, risalire ogni volta fino al root server inefficiente; b) il root server
sottoposto ad un carico di elaborazione molto rilevante (anche se pi calcolatori possono funzionare
in parallelo per svolgere tale compito); c) un guasto del root server o di un server di alto livello
pregiudicherebbe il funzionamento dellintero DNS.
Per ovviare a questi problemi lalgoritmo stato integrato con delle funzionalit dette di
cache (=nascondiglio, magazzino nascosto). Ogni server conserva in una memoria (memoria
cache) i nomi che riuscito a risolvere insieme allindirizzo del name server che ha operato la
traduzione. Se gli viene richiesta di nuovo la stessa traduzione non ha bisogno di rivolgersi
nuovamente al root server (statisticamente probabile ricevere pi volte, in tempi diversi, una
richiesta di informazioni per lo stesso indirizzo). Tale meccanismo funziona a tutti i livelli
gerarchici. Ad esempio, se un name server negli USA ha risolto il nome infocom.ing.uniroma1.it
nel relativo indirizzo IP, e un sistema gli chiede di nuovo di risolvere lo stesso nome, tale name
server conoscer gi la risposta. Inoltre, se allo stesso server viene chiesto di risolvere il nome
energetica.fisica.uniroma1.it, non si rivolger al root server ma al server responsabile del dominio
uniroma1.it, di cui ha imparato lindirizzo IP durante la precedente richiesta.
Le informazioni memorizzate nella cache hanno un tempo di vita trascorso il quale vengono
cancellate; ci poich le associazioni nomi-indirizzi possono cambiare nel tempo (ed alcuni nomi
od indirizzi possono cessare di esistere). Quando si memorizza una nuova informazione nella
memoria cache, ci si scrive anche il suo tempo di vita; questultimo pu essere comunicato da chi
fornisce linformazione; il name server interrogato potrebbe infatti essere in grado di conoscere la
"stabilit" dell'informazione comunicata.
Quando un name server risolve un nome avvalendosi di informazioni registrate nella cache,
comunica anche da chi ha avuto quelle informazioni. Inoltre attribuisce a tali informazioni

51
unetichetta denominata non di autorit. In tal modo il richiedente sa che linformazione ricevuta
non sicura e, se lassociazione nome-indirizzo non risulta pi valida, quando usata, il
richiedente stesso sa a chi rivolgersi per avere una traduzione sicura, senza far ricorso al root
server. Un sistema che inoltra una richiesta pu specificare se si accontenta di una risoluzione non
di autorit, ovvero ottenuta grazie al meccanismo di cache, oppure se ha bisogno di una risposta
di autorit. In questultimo caso il DNS non sfrutter il meccanismo di cache e si rivolger
direttamente a chi in grado di dare uninformazione sicura ed aggiornata circa unassociazione
nome-indirizzo. Non solo i name server ma anche tutti gli host e tutti i router memorizzano, in
genere, nella loro cache i nomi precedentemente tradotti.
Concludiamo con esempio, illustrante una possibile procedura di risoluzione di un nome. Se un
host vuole risolvere l'indirizzo st.ryukoku.ac.jp, per prima cosa controlla se la corrispondenza
nome-indirizzo IP contenuta nella sua cache; se non c', cerca, sempre nella sua cache, un server
di uno dei sub-domini dell'host cercato, ryukoku.ac.jp, ac.jp o jp; se non lo trova interroga il
name server della sua zona, che ripeter la stessa procedura; qualora anchesso non trovi una
corrispondenza nella sua cache si rivolger (tramite il root server) ad un name server del dominio
jp; quest'ultimo fornir l'indirizzo di un server nel domain ac.jp e cos via fino ad arrivare alla
traduzione. L'host locale memorizzer nella sua cache lindirizzo ottenuto e tutti quelli incontrati in
questo iter per future eventualit.
Grazie a tale procedura DNS risulta essere molto efficiente ed affidabile. Inoltre per nomi gi
conosciuti la procedura estremamente rapida. A titolo di verifica si pu provare a chiedere per due
volte consecutive la risoluzione dello stesso nome. La seconda richiesta sar esaudita in tempi pi
rapidi, a meno che linformazione in questione non fosse gi contenuta nella cache del sistema
richiedente.
Infine, per assicurare il funzionamento del DNS per ogni nome di Internet, si richiede che
un'organizzazione cui sia assegnato un dominio o un sub-dominio di nomi si impegni a mantenere
un name server che gestisca i suoi nomi ed un sistema di backup di tale name server.
VI.3.8.

Esempi

Per concludere il capitolo si ritiene utile presentare degli esempi che illustrano il
funzionamento di alcune procedure sinora introdotte.
La Fig. VI.3.8 mostra un sistema in cui un utente vuole stabilire una sessione ftp (cfr. par.
VI.1) con un sistema denominato nic.switch.ch, al fine di eseguire un trasferimento di files.
Lutente digita quindi il comando ftp nic.switch.ch. Il comando viene comunicato ad una entit
dello strato applicativo che implementa il protocollo ftp. Per prima cosa, questa entit invoca il
DNS per risolvere il nome del destinatario. La componente client di DNS, residente nel sistema in
questione, sfruttando i protocolli UDP e IP, manda un messaggio di interrogazione alla rispettiva
componente server e, ottenuta la risposta, comunica allentit richiedente il relativo indirizzo IP di
destinazione. Solo a questo punto lentit ftp pu chiedere di instaurare una connessione ftp con
lhost di destinazione (ftp un servizio con connessione). A tal fine essa invoca i servizi di TCP e
IP. Affinch IP possa inviare i datagrammi in cui sono contenuti i dati generati dallentit ftp, IP
stesso deve stabilire verso quale sistema instradarli. Lentit IP nel sistema in questione applicher
quindi il suo algoritmo di instradamento, consultando la relativa tabella di instradamento.
Un passo obbligato di tale algoritmo quello di determinare se lindirizzo di destinazione
appartenga alla stessa rete/sotto-rete logica del mittente o meno. Supponiamo che vi appartenga e
che quindi i datagrammi vadano inviati direttamente e non attraverso il router di default. Bisogner
ora determinare quale indirizzo locale corrisponde allindirizzo IP di destinazione. A tal fine IP
invocher il protocollo ARP, il quale risponder comunicando lindirizzo locale Ethernet (poich
abbiamo supposto che la sotto-rete in questione fosse una LAN Ethernet, cfr Fig. ) corrispondente
allindirizzo IP di destinazione. Finalmente il datagramma potr essere incapsulato nellunit di dati
dello strato LLC; il risultato di questa operazione, includente la PCI di strato LLC, sar incapsulato
nellunit di dati dello strato MAC; questultima sar quindi consegnata allo strato fisico per essere

52
poi fisicamente trasmessa sul bus della LAN. Qualora il sistema di destinazione non fosse
appartenuto alla stessa rete/sotto-rete logica, i datagrammi sarebbero stati inviati verso il router di
default; ARP sarebbe stato invocato per determinare lindirizzo Ethernet corrispondente a quello IP
del router di default.
Si noti infine che tutte le operazioni sopra descritte con riferimento allo strato IP ed agli strati
ad esso inferiori, vanno eseguite per ogni datagramma da inviare (cfr. par. IV.8 per le implicazioni
di questo modo di operare sulle prestazioni dei sistemi basati su IP).
Comando utente:
ftp nic.switch.ch
server

risolvi il nome nic.switch.ch


client

DNS

UDP

IP

DNS

FTP

lindirizzo IP corrispondente 130.59.1.40


TCP
Lindirizzo 130.59.1.40
appartiene alla sotto-rete locale?
Si: instradamento diretto:
invia il datagramma
a destinazione

IP

No: instradamento indiretto:


invia il datagramma al router di
default

ARP:
richiedi lindirizzo
MAC corrispondente
allindirizzo IP
Bus Ethernet

richiesta ARP: 130.59.1.40

risposta ARP: 00:12:c3:4b:3a:01

Fig. VI.3.8 Risoluzione di nomi ed instradamento


Consideriamo ora la Figura , in cui si assume che un utente, usando un applicativo browser
www e residente nellhost denominato infocom.ing.uniroma1.it, voglia stabilire una connessione
http con un sistema remoto (www.ibm.com). La componente client di www deve rivolgersi alla
componente server di www, residente nel sistema denominato www.ibm.com. Da un punto di vista
logico le rispettive entit comunicheranno direttamente tra loro, ma, ovviamente, perch ci accada
dovranno essere attuate, tra le altre, tutte le procedure viste con riferimento alla figura precedente.
La Figura mette in evidenza cosa accade quando mittente e destinatario non appartengano alla
stessa sotto-rete fisica. In questo caso si assume che siano coinvolti pi router, di cui due
rappresentati in modo esplicito. Sono rappresentate anche le relazioni tra i sotto-sistemi di diversi
strati con i relativi protocolli coinvolti. Si noti che i protocolli di strato superiore a IP agiscono da
estremo a estremo, ovvero senza coinvolgere i sistemi intermedi. Si osservi infine che, siccome il
sistema destinatario del comando dovr rispondere alle richieste del mittente, anche il sistema
denominato www.ibm.com dovr invocare il DNS e i protocolli di tipo ARP, per far giungere le sue
risposte al sistema che ha originato il comando stesso.

53
comando: http://www.ibm.com
infocom.ing.uniroma1.it

www.ibm.com

cliente www

server www

TCP

router B

TCP

IP

IP

router A

IP

IP

Internet

DNS

204.146.46.133

LLC

LLC

LLC

LLC

802.3

802.3

802.5

802.5

ARP
00:00:00:00:00:00

802.3 Bus

Token Ring

Figura VI.3.9 Esecuzione di un comando di utente


VI.4.

I protocolli di strato 4

Finora si descritto come IP possa trasferire datagrammi attraverso Internet. Lindirizzo di


destinazione IP fa riferimento in modo generico ad un sistema ma non distingue a quale utente o a
quale applicazione diretto un datagramma. In Internet, uno dei compiti dei protocolli di strato 4,
ovvero UDP (User Datagram Protocol) e TCP (Transmission Control Protocol), quindi quello di
distinguere tra i diversi programmi applicativi ed i diversi utenti che fanno uso di un sistema,
consentendogli di inviare e ricevere datagrammi, indipendentemente luno dallaltro.
Molti dei sistemi connessi ad Internet usano sistemi operativi multi-utente e multi-tasking
(=multi-compito); ovvero consentono a pi utenti e a pi applicazioni di utilizzare il calcolatore
simultaneamente (in realt secondo il principio del time-sharing). Pi in generale si parla di
processi, ed i sistemi di calcolo che consentono di eseguire pi processi contemporaneamente sono
detti multi-processing.
Il termine processo comprende sia programmi applicativi di sistema che programmi applicativi
direttamente usati da un utente umano. Un processo eseguito da una o pi entit e offre il risultato
delle operazioni che svolge a quello che, in terminologia OSI, definito utente.
Un processo di strato applicativo il destinatario finale di un datagramma e quindi un
protocollo di strato 4 deve poter indirizzare i datagrammi consegnatigli dallo strato IP ad uno
specifico processo applicativo.
A tal fine occorre stabilire delle opportune procedure. I processi sono creati e distrutti
dinamicamente ed un mittente non sa, in generale, a quale processo di un sistema remoto riferirsi.
Vi inoltre lesigenza di poter modificare un processo senza dover poi rendere noto a tutti i
possibili mittenti questo cambiamento. Le destinazioni finali dovrebbero quindi essere identificate
in base alle funzioni che eseguono e non in base allo specifico processo che le implementa. Infine,
in un sistema che consente ad un unico processo di gestire pi funzioni, necessario decidere a
quale di queste funzioni il mittente fa riferimento.
Per queste ragioni, invece di pensare ad un processo come alla destinazione finale, si stabilito
che ogni sistema contenga un insieme di punti di destinazione chiamati porte. Ogni porta
identificata da un intero positivo e sar poi il sistema operativo del sistema a mettere in
corrispondenza ogni porta con un relativo processo. In terminologia OSI, una porta non altro che
il Service Access Point (SAP) dello strato 4, ovvero un punto, situato alla frontiera tra strato TCP e
strato dei servizi applicativi, che identifica in modo univoco una specifica entit di destinazione,
responsabile del processo di destinazione.
Per poter inviare un datagramma al processo voluto, un mittente deve quindi conoscere sia
lindirizzo IP che la porta di destinazione (o SAP di strato 4). Si pone perci il problema di come

54
assegnare i numeri di porta. Sono state definite due possibili tecniche per assegnare i numeri di
porta, ambedue usate contemporaneamente in Internet:
- assegnazione universale (universal assignment): la Internet Assigned Number
Authority (IANA) ha definito un insieme di numeri di porta in modo che ad un dato
processo applicativo associato uno specifico numero di porta; ad es. in UDP la porta
numero 53 associata al processo che implementa il DNS; i numeri di porta cos
predefiniti sono denominati well known ports (porte conosciute) e tutti coloro che
implementano software applicativo per Internet tengono conto di queste assegnazioni; in
tal modo, quando si vuole indirizzare una unit di dati ad uno specifico processo si sa
quale numero di porta usare; le well known ports sono definite in modo specifico
nellambito dei protocolli UDP e TCP;
- assegnazione dinamica (dynamic binding=legame dinamico): alcuni indirizzi di porta,
ovvero alcuni interi positivi non sono stati assegnati a nessun specifico processo; quando
un processo applicativo ha bisogno di inviare dei dati ad un altro processo applicativo,
negozia con questultimo uno specifico indirizzo di porta, tra quelli non gi assegnati.
Lindirizzo di porta prescelto viene usato solo durante il trasferimento di dati in
questione e quindi rilasciato al termine della sessione di trasferimento. Tale indirizzo di
porta potr quindi, in seguito, essere usato da altri processi.
Spesso una porta dispone anche di una memoria, che realizza una fila di attesa per tutti i
datagrammi inviati a quella porta (qualora siano possibili situazioni di congestione). I processi
applicativi possono specificare, ed in seguito modificare, la dimensione della fila di attesa. Quando
la fila piena, eventuali unit di dati entranti saranno scartate.
In conclusione, ogni unit di dati di strato 4 deve contenere delle informazioni atte ad
identificare sia la porta di destinazione che quella di origine. Questultima informazione
necessaria per consentire al processo di destinazione di rispondere a quello mittente.
I concetti generali ora introdotti sono applicati ai protocolli UDP e TCP. Cominciamo dal
primo di questi, rinviando al par. VI.5 la trattazione del protocollo TCP.
Il protocollo UDP un protocollo estremamente semplice. La sua funzione principale quella
di indirizzare una porta specifica; la modalit di trasferimento senza connessione e non fornisce
alcuna garanzia sulla qualit di servizio. Non esegue recupero di errore, controllo di flusso e riordinamento delle unit informative. Le unit di dati di UDP sono di lunghezza variabile e sono
denominate datagrammi utente. Lintestazione del datagramma utente contiene i seguenti campi
(cfr. Tabella ):
- gli indirizzi delle porte di origine e di destinazione;
- la lunghezza del datagramma utente;
- una checksum (=somma di verifica), il cui uso opzionale, dellintero datagramma
utente.
Allintestazione segue un campo contenente i dati di utente, ovvero i dati generati da un
processo applicativo.

16
Porta di origine
Lunghezza del datagramma utente UDP

31
Porta di destinazione
Checksum

Data
...
Tabella VI.4.1 Formato dellunit di dati di UDP
UDP accetta dal livello superiore dati senza vincoli sulla loro lunghezza, eventualmente li
frammenta e li invia in datagrammi IP distinti (Figura ).

55

Intestazione UDP
(contiene lindirizzo di
porta)

UDP Data

IP Data

Intestazione IP
(contiene lindirizzo IP)

Figura VI.4.1 Incapsulamento del datagramma utente UDP nel datagramma IP


La checksum del datagramma utente opzionale; in tal modo si pu fare a meno di usarla,
quando non necessario, e ridurre quindi il carico elaborativo per la trasmissione e la ricezione di un
datagramma utente UDP. Infatti se si usano reti altamente affidabili, la verifica di errori non
strettamente necessaria.
E' necessario per osservare che IP non effettua alcun controllo di errore sul campo
informativo del datagramma IP, per cui, quando si usa UDP come protocollo di strato 4, la
checksum di UDP costituisce l'unico strumento per verificare che i dati siano giunti a destinazione
correttamente. Qualora tale controllo venga impiegato, esso riguarda non solo tutto il datagramma
utente UDP, ma anche un cosiddetto pseudo header, aggiuntivo a quello di UDP e mostrato in Tab.
Lo pseudo-header viene considerato al solo fine del calcolo della checksum (non viene trasmesso
alla destinazione) e risulta costituito da:
- gli indirizzi IP della sorgente e della destinazione (contenuti nell'intestazione del
datagramma IP);
- il codice IP che identifica il protocollo UDP (cfr. campo Protocol type, Tabella );
- la lunghezza del datagramma utente UDP;
- un byte di padding (=riempitivo) per fare in modo che la lunghezza complessiva sia
multipla di 16 bit.
In altri termini la checksum di cui sopra controlla non solo lintero datagramma utente UDP ma
anche gli indirizzi IP contenuti nel datagramma IP che ha trasportato il datagramma utente in
questione. Il motivo per cui viene considerato tale pseudo header quello di verificare che il
datagramma utente UDP abbia raggiunto la destinazione corretta, ossia un dato utente di
destinazione in un dato sistema di destinazione. Il solo esame del datagramma utente UDP non
fornirebbe tale garanzia in quanto non contiene lindirizzo del sistema di destinazione.

8
Padding

16
Source IP Address
Destination IP Address
Protocol

31
UDP Length

Tabella VI.4.2 - Formato dello pseudo-header in UDP


A conclusione del paragrafo, si riportano, a titolo di esempio alcuni degli indirizzi di porta,
assegnati da IANA in UDP. La Tab riporta alcune delle well known ports di UDP.

56
Intero positivo che
identifica la porta

parola chiave

Descrizione del processo associato

11

USERS

elenca gli utenti attivi in un sistema

17

QUOTE

citazione del giorno

42

NAMESERVER

name server di un sistema

53

DOMAIN

DNS

67

BOOTPS

server del protocollo Bootstrap

68

BOOTPC

client del protocollo Bootstrap

69

TFTP

Trivial File Transfer Protocol

123

NTP

Network Time Protocol

Tabella VI.4.9- Alcune well known ports in UDP


VI.5.

Il Protocollo TCP

TCP un protocollo con connessione, controllo e recupero di errore, controllo di flusso, riordinamento delle unit informative e indirizzamento di uno specifico utente allinterno di un host.
Trasferisce un flusso informativo continuo e bi-direzionale ma non strutturato ed effettua operazioni
di multiplazione e de-multiplazione. Sebbene la sua notoriet derivi principalmente dal suo uso in
Internet, TCP sufficientemente generale da poter essere usato anche in altri ambienti (rete
telefonica commutata, LAN, MAN, X.25, etc.).
Come spiegato in precedenza (cfr. par. VI.4) un indirizzo IP identifica solo un sistema e non gli
utenti o i processi residenti in un sistema. Compito di TCP quindi anche quello di distinguere tra i
diversi programmi applicativi ed i diversi utenti che fanno uso di uno stesso sistema.
Come avviene per UDP, si stabilito che ogni sistema contenga un insieme di punti di
destinazione chiamati porte. Anche in TCP, ogni porta identificata da un intero positivo.
L'indirizzo di un utente di strato TCP denominato "port", mentre l'indirizzo completo nellinsieme
dei protocolli TCP e IP denominato "socket" ed costituito da:
port@IP_Address=port@Host_Id.Net_Id.
La componente "port" contenuta nell'intestazione dellunit di dati di TCP, mentre la
componente IP_Address contenuta nell'intestazione dellunit dati di IP. Questo significa che tutte
le sessioni di comunicazione in atto tra due specifici sistemi useranno lo stesso indirizzo IP di
sorgente e lo stesso indirizzo IP di destinazione; saranno perci distinte solo a strato TCP. Ne segue
che queste sessioni possono essere viste come multiplate su di un unico indirizzo IP ovvero su di
un unico canale IP di comunicazione (non su una connessione IP; qui la dizione multiplazione va
usata con cautela dal momento che IP un protocollo senza connessione).
Anche in TCP, come in UDP, gli indirizzi delle porte possono essere fissati a priori per uno
specifico processo, ovvero essere decisi dinamicamente. In altri termini si possono usare sia
lassegnazione universale che quella dinamica.
La gestione delle porte in TCP per pi complessa di quella in UDP poich alla stessa porta
pu corrispondere pi di un processo. TCP un protocollo con connessione, a differenza di UDP, e
quindi ci che ha maggiore significato la definizione di una connessione. In TCP una connessione
identificata da una coppia di socket, relativa ai due processi che hanno stabilito la connessione.

57
Ad esempio una connessione tra la porta 1069 dellhost 151.100.8.18 e la porta 25 dellhost
160.80.4.1 sar identificata dalla coppia:
1069@151.100.8.18, 25@160.80.4.1.
Grazie a tale meccanismo, un indirizzo di porta di un sistema pu supportare connessioni
multiple; la porta 1069 dellhost 151.100.8.18 potrebbe gestire contemporaneamente le seguenti
connessioni (ed anche altre):
1069@151.100.8.18, 25@160.80.4.1
1069@151.100.8.18, 25@128.10.2.3
questo perch, lo ribadiamo, ogni connessione identificata dalla coppia socket indirizzo e
socket destinazione e non solo dal socket di destinazione.
La Tab. VI.5.1 riporta alcune delle well known ports di TCP. Si noti che alcune di queste sono
uguali a quelle definite in UDP, mentre altre non sono presenti in UDP (e viceversa).
Intero positivo che
identifica la porta

parola chiave

Descrizione del processo associato

11

USERS

elenca gli utenti attivi in un sistema

17

QUOTE

citazione del giorno

20

FTP-DATA

File Transfer Protocol (dati)

21

FTP

File Transfer Protocol

23

TELNET

Protocollo Telnet

25

SMTP

Simple Mail Transfer Protocol

42

NAMESERVER

name server di un sistema

53

DOMAIN

DNS

79

FINGER

Processo che da informazioni sugli


utenti residenti in un sistema

119

NNTP

USENET News Transfer Protocol

Tabella VI.5.1- Alcune well known ports in TCP


A conclusione della descrizione del meccanismo di indirizzamento delle porte aggiungiamo
che tipicamente responsabilit dei processi applicativi presentare agli utenti umani uninterfaccia
che faciliti tale operazione. Si vuole cio evitare che gli utenti debbano conoscere ed usare
direttamente gli indirizzi di porta. Internet vuole essere un ambiente in cui le operazioni che gli
utenti devono eseguire per comunicare tra loro siano le pi semplici possibili (user friendly). Un
esempio di funzionalit introdotte a tal fine, e non strettamente necessarie per il funzionamento di
Internet, stato dato con il Domain Name System. Un altro esempio che qui si introduce
lindirizzamento automatico delle porte, eseguito da alcuni processi applicativi:
- se si vuole stabilire una sessione telnet, sar lapplicativo omonimo ad indirizzare
automaticamente le informazioni verso la porta 23;
- se si vuole trasferire un file, usando ftp, lapplicazione che implementa tale protocollo
indirizzer opportunamente i dati verso le porte 20 e 21;
- se si vuole inviare un messaggio di posta elettronica si user un indirizzo del tipo:
tizio@infocom.ing.uniroma1.it; il protocollo SMTP, implementato negli applicativi di
posta elettronica porr in corrispondenza il nome tizio con unopportuna porta e far
arrivare il messaggio allutente voluto.

58
Si noti che, se in questo esempio avessimo indirizzato il messaggio solo allindirizzo IP
dellhost e cio a infocom.ing.uniroma1.it, il sistema di destinazione non sarebbe stato in grado di
determinare a quali degli utenti attestati sul sistema stesso diretto il messaggio.
TCP accetta dal livello superiore dati senza vincoli sulla loro lunghezza, li frammenta e li invia
in datagrammi IP distinti (Fig. VI.5.1).

Intestazione TCP
(contiene lindirizzo di
porta)

Intestazione IP
(contiene lindirizzo IP)

TCP Data

IP Data

Figura VI.5.1- Incapsulamento dellunit dati di TCP in datagrammi IP


Poich IP offre un servizio di consegna non garantito, TCP deve verificare la corretta ricezione
dei datagrammi ed, eventualmente, attuare le procedure necessarie per la ri-trasmissione. Inoltre
compito di TCP verificare che i datagrammi giungano a destinazione nella stessa sequenza con cui
sono stati trasmessi, che non vi siano duplicati o datagrammi mancanti. Queste funzionalit
vengono garantite mediante la numerazione delle unit dati e mediante l'invio di messaggi di
conferma ("acknowledgement") da parte della destinazione. TCP offre anche meccanismi di
controllo di flusso in grado di impedire il sovraccarico della rete e quindi situazioni di congestione.
Evidentemente tutte le funzionalit fornite da TCP hanno un costo in termini di aumento del
ritardo di trasmissione e di aumento della quantit di informazioni che devono essere trasferite nella
rete (overhead); ciononostante TCP pu essere impiegato anche in reti ad alta velocit. In alcuni
esperimenti si sono raggiunte portate utili di 8 Mbit/s su di una Ethernet con capacit di
trasferimento pari a 10 Mbit/s ed stato dimostrato che in canali opportuni possibili raggiungere
portate utili dellordine di 1 Gbit/s. Nel seguito vengono descritti con pi dettaglio i meccanismi sin
qui elencati e vengono illustrate alcune possibili estensioni di TCP per migliorarne le prestazioni in
reti ad alta velocit.
Infine si ricorda che, essendo TCP un protocollo con connessione, saranno presenti le fasi di
instaurazione, trasferimento dati ed abbattimento.
VI.5.1.

Formato dellunit dati

Le unit di dati dello strato TCP sono dette segmenti. Il segmento composto da una
intestazione e da un campo informativo, che contiene i dati di utente. Il formato del segmento TCP
illustrato nella Tab. VI.5.2. Ogni riga contiene 32 bits.

59
0

10

16

Source Port

24

31

Destination Port
Sequence Number
Acknowledgement Number

Offset

Reserved

Control

Window

Checksum

Urgent Pointer

Options

Padding
Data
Data
...

Tabella Vi.5.2- Formato del segmento TCP


I campi definiti nella Tabella Vi.5.2 hanno i seguenti significati e funzioni:
- Source Port (Porta di Origine) (16 bit): definisce l'indirizzo logico del processo sorgente dei
dati;
- Destination Port (Porta di Destinazione) (16 bit): definisce l'indirizzo logico del processo
destinatario dei dati;
- Sequence Number (Numero di Sequenza) (32 bit): numero di sequenza in trasmissione;
contiene il numero di sequenza del primo byte di dati contenuti nel segmento a partire dall'inizio
della sessione TCP (se SN=m ed il segmento contiene n bytes il prossimo SN sar pari a m+n); la
numerazione dei segmenti quindi effettuata non numerando i segmenti stessi (come in X.25), ma
gli ottetti in essi contenuti;
- Acknowledgement Number (Numero di Riscontro) (32 bit): numero di sequenza in ricezione;
nei segmenti in cui il bit ACK, presentato pi avanti, posto al valore binario 1, questo campo
contiene il numero di sequenza del prossimo byte che il sistema che emette tale segmento si aspetta
di ricevere; nel caso di connessioni interattive bi-direzionali si usa quindi il meccanismo
denominato addossamento (o piggybacking) dei riscontri; ovvero si utilizzano segmenti
contenenti dati di utente per inviare i riscontri al trasmettitore senza dover, a tal fine, inviare dei
segmenti appositi;
- Offset (4 bit): contiene il numero di parole di 32 bit contenute nell'intestazione di TCP;
l'intestazione di TCP sempre costituita da un numero di bit multiplo di 32 (questo campo
necessario poich il campo Options di dimensioni variabili);
- Reserved (6 bit): riservato per usi futuri, per ora contiene degli zeri.
- Control bit (6 bit): i bit di controllo sono:
URG: viene posto uguale al valore binario 1 quando il campo Urgent Pointer (definito in
seguito) contiene un valore significativo;
ACK: viene posto uguale al valore binario 1 quando il campo Acknowledgement Number
contiene un valore significativo;
PSH: viene posto uguale al valore binario 1 quando l'applicazione esige che i dati forniti
vengano trasmessi e consegnati all'applicazione ricevente prescindendo dal riempimento delle
memorie allocate fra applicazione e TCP e viceversa (solitamente infatti il riempimento delle
suddette memorie che scandisce la trasmissione e la consegna dei dati);
RST: viene posto uguale al valore binario 1 quando un malfunzionamento impone il reset
della connessione;

60
SYN: viene posto uguale al valore binario 1 solo nel primo segmento inviato durante il 3way handshaking (stretta di mano a tre fasi, una fase di sincronizzazione fra le entit TCP, cfr.
VI.5.2);
FIN: viene posto uguale al valore binario 1 quando la sorgente ha esaurito i dati da
trasmettere.
- Window (Finestra) (16 bit): dimensione della finestra; contiene il numero di bytes che, a
cominciare dal numero contenuto nel campo Acknowledgement Number, il destinatario
del segmento pu inviare al mittente del segmento stesso senza ricevere riscontri (cfr.
VI.5.4);
- Checksum (16 bit): contiene linformazione di controllo che permette allentit TCP
ricevente di verificare la correttezza del segmento ricevuto;
- Urgent Pointer (Puntatore Urgente) (16 bit): contiene il numero di sequenza del byte
che delimita superiormente i dati che devono essere consegnati urgentemente al processo
ricevente. Tipicamente sono messaggi di controllo che esulano dalla comunicazione in
senso stretto. A tale traffico ci si riferisce di solito con il nome di out-of-band (fuori
banda);
- Options (Opzioni) (di lunghezza variabile): sono presenti solo raramente: le pi note
sono End of Option List, No-operation e Maximum Segment Size (MSS). Ci si
soffermer, in seguito, solo sull'ultima opzione citata;
- Padding (Riempitivo) (di lunghezza variabile): contiene sempre degli zeri. Serve come
riempitivo aggiunto per far s che l'intestazione abbia una lunghezza m ultipla di 32 bit.
Si noti che le unit di dati di TCP possono trasportare solo messaggi di controllo (ad. es. per
instaurare o abbattere una connessione) o solo dati di utente o entrambi. TCP usa il campo Control
per specificare la funzione ed il contenuto di un segmento. Ci consente laddossamento o
piggybacking delle informazioni di controllo, ovvero le informazioni di controllo (ad. es. i
riscontri) possono essere trasportate da segmenti che contengono anche informazione di utente.
Come avviene in UDP, la checksum di TCP controlla non solo lintero segmento TCP ma
anche gli indirizzi IP contenuti nel datagramma IP che ha trasportato il segmento in questione. Il
controllo riguarda quindi anche uno pseudo header, mostrato in Tab, che viene considerato al solo
fine del calcolo della checksum e che risulta costituito dagli indirizzi IP della sorgente e della
destinazione (contenuti nell'intestazione del datagramma IP), dal codice IP che identifica il
protocollo TCP (cfr. campo Protocol type, Tab. VI.3.1 nel VI.3.1), dalla lunghezza del segmento
TCP e da un byte di padding per fare in modo che la lunghezza complessiva sia multipla di 16 bit. Il
motivo per cui viene considerato tale pseudo header , come nel caso di UDP, quello di verificare
che il segmento TCP abbia raggiunto la destinazione corretta, ossia un dato utente di destinazione in
un dato sistema di destinazione. Il solo esame del segmento TCP non fornirebbe tale garanzia in
quanto non contiene lindirizzo del sistema di destinazione.
0

16

31

Source IP Address
Destination IP Address
Padding

Protocol

TCP Length

Tabella VI.5.3- Formato dello pseudo-header

61
VI.5.2.

Instaurazione e rilascio di una connessione

Il protocollo TCP un protocollo orientato alla connessione. Questo significa che lentit TCP
residente nel sistema mittente deve instaurare una connessione con lentit TCP residente nel
sistema di destinazione, prima che la fase di trasferimento delle informazioni possa avere inizio. Le
due entit TCP interagenti si sincronizzano scambiandosi il proprio numero di sequenza in
trasmissione iniziale, che rappresenta il numero a partire dal quale tutti i byte trasmessi saranno
sequenzialmente numerati, una volta instaurata la connessione. In altre parole il numero di sequenza
in trasmissione non pu iniziare da un dato valore fisso; ogni volta che si instaura una nuova
connessione bisogna scegliere il numero di sequenza in trasmissione da cui partire in modo
opportuno e mediante unopportuna sincronizzazione reciproca.
Tale sincronizzazione necessaria per risolvere potenziali situazioni anomale; si ricorda che IP
non affidabile e quindi i datagrammi IP possono essere persi, ritardati, duplicati o consegnati fuori
sequenza. Vedremo che TCP ri-trasmette i segmenti che considera persi dopo un tempo pre-definito
(time-out di ritrasmissione). Nel caso in cui un segmento fosse effettivamente andato perso, questo
modo di operare risolve il problema, ma se un segmento subisce un ritardo di trasferimento
superiore al time-out di ritrasmissione, TCP lo considera perso anche se in realt non lo , e quindi
lo ritrasmette. Al destinatario possono quindi pervenire pi copie dello stesso segmento. Se un
segmento e le possibili copie di esso non sono numerati in modo opportuno, lentit TCP ricevente
non ha modo di interpretare correttamente i segmenti ricevuti.
Ad esempio, se il primo segmento, emesso per chiedere di instaurare una connessione, fosse
numerato a partire da un valore fisso (poniamo uguale ad 1), e se tale segmento fosse molto
ritardato e quindi ritrasmesso (sempre con un numero di sequenza in trasmissione pari ad 1),
allentit ricevente arriverebbero due distinte richieste di instaurazione. Poich lentit ricevente
non avrebbe modo di sapere che in realt si tratta di una sola richiesta, tenterebbe di instaurare due
connessioni e risponderebbe due volte allentit trasmittente. Ma lentit trasmittente non saprebbe
come interpretare la seconda risposta relativa ad una richiesta di instaurazione che tale entit non ha
mai effettuato. Daltra parte non si pu nemmeno pensare di risolvere questa ambiguit scartando
quella che sembra essere una copia dello stesso segmento, poich potrebbe accadere che unentit
voglia effettivamente instaurare due o pi connessioni. Ad esempio, un browser WWW pu
instaurare pi connessioni TCP per trasferire diverse parti di uno stesso documento (immagini,
suoni, etc.), un utente potrebbe desiderare di stabilire due connessioni TCP per trasferire
contemporaneamente due files usando FTP, etc.
Possono quindi sorgere dei problemi se segmenti originali e ri-trasmessi arrivano mentre una
connessione sta per essere instaurata, ma anche se segmenti ri-trasmessi arrivano dopo che una
connessione stata instaurata, o dopo che sia stata rilasciata. In questultimo caso, ad esempio,
lentit trasmittente vedrebbe arrivare un segmento relativo ad una connessione che essa
considerava gi terminata e quindi non saprebbe come gestire tale segmento.
Esiste anche la possibilit che un segmento appartenente ad una vecchia connessione arrivi
ad un sistema dopo che tra gli stessi processi relativi a quel segmento sia stata instaurata una
nuova connessione; in tal caso un vecchio segmento si inserirebbe tra i dati relativi ad una
diversa connessione. Infine c possibilit di confusione quando un sistema cessa di funzionare e
perde traccia delle connessioni che altri sistemi considerano ancora in atto. Il progetto di un buon
protocollo deve poter tener in conto qualunque tipo di evento, per improbabile che possa sembrare.
Per risolvere questi problemi, TCP ricorre alla sincronizzazione dei numeri di sequenza in
trasmissione e in ricezione.
In TCP il primo numero di sequenza in trasmissione posto uguale ad un numero pseudocasuale; tale dizione usata per significare che la procedura usata produce un numero che di fatto
deterministico ma che, per certi fini, pu essere considerato casuale. I successivi numeri di
sequenza sono poi determinati in accordo alla regola gi definita. Per generare il primo numero di
sequenza, in modo pseudo-casuale, ogni sistema usa un contatore di dimensioni pari a quelle del

62
campo contenente il numero di sequenza (32 bit, cfr. Tabella Vi.5.2); il contatore pu quindi
assumere un valore variabile tra 1 e 2^32; il contatore incrementato a passi di 4 s usando un
orologio locale (clock), non sincronizzato con altri sistemi ed impiega circa 4.77 ore (4s*2^32) per
compiere un ciclo completo, dopo di che il processo ricomincia.
Quando si inizia una nuova connessione, il primo numero di sequenza in trasmissione posto
uguale al valore assunto in quel momento da questo contatore. Il sistema destinatario risponde con
un numero di sequenza in ricezione (Acknowledgement Number) uguale a quello in trasmissione
del mittente, aumentato di ununit, ed usa un numero di sequenza in trasmissione uguale al valore
del suo contatore, il quale non in nessuna relazione pre-stabilita con quello del mittente. Infine il
mittente a sua volta risponde al destinatario ponendo il suo numero di sequenza in ricezione pari al
numero di sequenza in trasmissione del destinatario aumentato di ununit; ci fatto pu cominciare
a trasmettere dati di utente, ovvero considera instaurata la connessione. Il destinatario comincia a
trasmettere solo dopo aver ricevuto il terzo segmento. Questo meccanismo denominato three way
handshake (stretta di mano a tre fasi).
Dal momento che il campo contenente il numero di sequenza impiega circa 4.77 ore per
compiere un ciclo completo, e poich il contatore viene incrementato ad una velocit molto
superiore a quella relativa al numero di sequenza di una qualsiasi connessione (almeno alle attuali
velocit di trasferimento disponibili in Internet), questo meccanismo risolve i problemi visti sopra.
Il primo numero di sequenza in trasmissione si sceglie quindi in modo pseudo-casuale tra 1 e
4294967296; in tal modo estremamente improbabile che due segmenti portino informazioni non
coerenti; ad esempio se due segmenti sono relativi a connessioni diverse, avranno dei numeri di
sequenza abbastanza lontani tra loro (cfr. anche VI.5.3 e VI.5.4).
La Fig. VI.5.2 mostra in dettaglio la procedura three way handshake. Quando deve essere
instaurata una connessione a livello di strato di applicazione fra un dato processo applicativo,
denominato ULP A (ULP=Upper Layer Protocol), residente nel sistema A, ed un ULP B, residente
nel sistema remoto B, il primo passo che si deve compiere l'invio di una active open, primitiva
di Richiesta di Servizio, da parte dell'ULP A allentit TCP A, con la quale quest'ultima viene
messa al corrente di tale desiderio. Lentit TCP A risponde ad ULP A tramite la primitiva open id,
primitiva di Risposta di Servizio, ed avvia il meccanismo 3-way handshaking inviando, allentit
TCP ricevente, TCP B, un primo segmento. Tale primo segmento, denominato SYN e contenente il
bit SYN posto al valore logico 1, ha un numero di sequenza in trasmissione (denominato Initial
Sequence Number - ISN), pari al valore assunto dal contatore residente nel sistema A, poniamo pari
a x. Nella Fig. VI.5.2, per ogni segmento scambiato, sono indicati tra parentesi:
- il primo valore assunto dal campo Sequence Number, ISN;
- il valore assunto dal campo Acknowledgement Number, Ack. N;
- la scritta SYN e/o ACK quando i relativi bit sono posti al valore logico 1.
Connessione
ULP A

Active
open

ULP B
Open id

Open id

Open
success

Open
success

Passive
open

1) SYN_segment (SYN,ISN=x)

TCP A

2) SYN_segment (SYN,ACK, Ack N.=x+1,ISN=y)

TCP B

3) ACK_segment (ACK, Ack N.=y+1)

Figura VI.5.2- Procedura di instaurazione di una connessione TCP


Alla ricezione di tale primo segmento, il TCP B risponder, nel caso si trovi nelle condizioni di
poter accettare la connessione (cio nel caso abbia ricevuto precedentemente una passive open

63
dall'ULP B), con un segmento in cui sono posti al valore logico 1 sia il bit SYN che il bit ACK;
in tale segmento il campo ISN del ricevitore posto uguale al valore assunto dal contatore residente
in B, poniamo pari a y; il campo Acknowledgement Number posto pari allISN del mittente
aumentato di ununit, x+1. La procedura si conclude con l'invio da parte del TCP A, una volta
ricevuto il segmento SYN, di un segmento denominato ACK (in cui il bit ACK posto al valore
logico 1). Il valore del campo Acknowledgement Number ora pari a y+1. La ricezione del
segmento SYN permetter al TCP A di informare il proprio ULP A, mediante una primitiva open
success, che la connessione stata attivata. Nel frattempo, il TCP B completer la procedura
informando il proprio ULP della ricezione del segmento ACK conclusivo, con una primitiva open
success.
A proposito del generatore di numeri di sequenza abbiamo osservato che, aggiornandosi ogni 4
microsecondi, esso presenter lo stesso numero ogni 4.77 ore circa. Per evitare la possibilit di
confondere i numeri di sequenza dei segmenti sufficiente fare in modo che il segmento rimanga in
rete per un tempo limitato. A questo scopo provvede il campo Time-To-Live (TTL) del protocollo
IP che svolge quindi un servizio anche a favore del protocollo TCP, oltre a quella relativa ad IP
stesso, che, ricordiamo, risolve eventuali problemi di instradamento non corretto e non rilevato dai
protocolli a ci preposti.
Il rilascio di una connessione avviene mediante un meccanismo di 3-way handshaking
modificato. Si ricorda che una connessione TCP bi-direzionale e pu essere vista come due flussi
di dati indipendenti, uno per ciascuna direzione. Quando un programma applicativo non ha pi dati
da inviare ordiner a TCP di chiudere la connessione in una direzione. TCP finir di trasmettere i
dati restanti (eventualmente rimasti nella memoria di trasmissione), attender il relativo riscontro ed
invier un segmento con il bit FIN posto al valore logico 1 (denominato segmento FIN). Lentit
TCP ricevente invier un riscontro del segmento FIN ed informer il suo programma applicativo
che non ha pi dati da ricevere e quindi da trasferirgli. Una volta che la connessione stata chiusa
in una direzione, lentit TCP ricevente non accetter pi dati di utente da quella direzione. Nel
frattempo i dati continueranno a fluire nellaltra direzione, finch anche questaltra non verr
chiusa. Fin tanto che almeno una direzione attiva, i riscontri continueranno invece ad essere
inviati anche da chi ha chiuso la connessione nella prima direzione (e ricevuti dallentit TCP
ricevente).
I dettagli di questa procedura sono pi complessi di quella di instaurazione. Questo perch,
informare unapplicazione che pervenuta una richiesta di chiudere una direzione della connessione
ed ottenerne una risposta, potrebbe richiedere un tempo considerevole (implicante ad esempio
uninterazione umana).
La procedura di rilascio (o di abbattimento) di una connessione TCP illustrata nella Fig. Si
notino, oltre ai valori assunti dai campi Sequence Number (Seq. N.), Acknowledgement Number
(Ack. N), FIN e ACK, le differenze rispetto alla procedura di instaurazione. Quando lentit TCP B
riceve un segmento FIN, invece di rispondere immediatamente con un altro segmento FIN,
comunica prima a TCP A di avere ricevuto tale segmento, con un segmento di riscontro (ed evita
cos che TCP A continui ad inviare altri segmenti FIN); quindi informa lapplicazione in B della
richiesta di chiusura ed aspetta che questultima risponda (questa la fase che potrebbe richiedere
una certa attesa, dovuta ad uninterazione con un utente umano). Quando finalmente lapplicazione
risponde, TCP B invia un segmento FIN a TCP A; questultima entit riscontra tale segmento e le
procedura si completa.

64
TCP A

TCP B

Lapplicazione chiede
di chiudere la connessione,
TCP invia il segmento FIN

1) FIN_segment (FIN, Seq. N.=x)

TCP accetta
il segmento ACK

2) ACK_segment (ACK, Ack N.=x+1)

TCP accetta
il segmento FIN
e informa lapplicazione
della richiesta di chiusura
TCP invia
il segmento ACK
possibile
interazione umana

TCP accetta
il segmento FIN
TCP invia
il segmento ACK

3) FIN_segment (ACK, Ack N.=x+1, Seq. N.=y)

4) ACK_segment (ACK, Ack N.=y+1)

Lapplicazione chiude
la connessione, TCP invia
il segmento FIN
TCP accetta
il segmento ACK

Figura VI.5.3 - Procedura di abbattimento di una connessione TCP


Infine se una connessione non pu essere chiusa secondo la procedura normale, a causa di
situazioni anomale, o se un programma applicativo forzato a chiudere immediatamente una
connessione, TCP prevede una procedura di reset. Tale procedura consiste nellinviare un segmento
con il bit RST posto al valore logico 1. Alla ricezione di tale segmento la connessione
immediatamente terminata senza scambio di ulteriori messaggi e TCP ne informa i programmi
applicativi.
VI.5.2.1

Dimensione massima di un segmento

Quando lentit TCP trasmittente invia il primo segmento (SYN) per instaurare una
connessione con unentit TCP remota, essa pu inserire in tale segmento un'informazione che
rappresenta la massima dimensione del campo dei dati di utente di un segmento (Maximum
Segment Size - MSS) che in grado di trattare. Lentit ricevente risponde comunicando la propria
MSS. Con lo scambio di queste informazioni le due entit TCP interagenti stabiliscono la massima
lunghezza dei segmenti che si scambieranno. Nel caso di uno scambio bi-direzionale di
informazione, la dimensione della MSS scelta in modo indipendente nei due versi e pu quindi
essere diversa nelle due direzioni (RFC 879).
La scelta della MSS da parte di ciascuna delle due entit dipende da due fattori: la dimensione
della memoria a disposizione delle entit TCP e la dimensione della Maximum Transfer Unit
(MTU, cfr VI.3.2); ricordiamo che la MTU la dimensione massima dellunit di dati di una
sotto-rete (tipicamente quella a cui direttamente connesso il sistema relativo ad una data entit).
La MTU resa nota, sia allentit IP che allentit TCP, dal software che interfaccia TCP/IP ad una
data sotto-rete (tale software denominato driver di rete).
Il calcolo della Maximum Segment Size (MSS) viene effettuato sottraendo alla MTU la
dimensione delle intestazioni dei datagrammi IP e dei segmenti TCP (ovvero delle PCI di entrambe
queste unit di dati). Nel calcolo, un problema potrebbe essere rappresentato dalla variabilit della
dimensione delle intestazioni di IP e TCP ma in realt, fatta eccezione per i rari casi in cui si usano
le opzioni, si avr sempre a che fare con entrambe le intestazioni aventi dimensioni pari a 20 bytes.
Una volta che le due entit hanno determinato le proprie MSS e si sono comunicati a vicenda i
relativi valori, esse si accordano su di una MSS comune, da usare per i segmenti che si
scambieranno. Di solito, si sceglie il valore minimo tra la MSS offerta dallentit TCP di
destinazione e quella relativa al mittente.
Esistono per dei casi in cui questo non succede, per cui il protocollo IP pu dover operare una
frammentazione dei datagrammi alla sorgente. Nel caso in cui l'opzione di scelta della MSS non
venga utilizzata, si impone l'uso, per default, di una MSS pari a 536 byte. Una tale MSS, aggiunta ai

65
40 bytes delle intestazioni d luogo ad un datagramma IP di dimensione pari a 576 bytes, ovvero un
datagramma che tutti i sistemi di Internet devono necessariamente accettare e gestire (cfr. VI.3.2)
Oggi si va per delineando la possibilit di usare valori molto pi grandi della MSS. In passato
si raccomandava, nel caso di sistemi appartenenti a sotto-reti differenti, ed interconnesse quindi da
almeno un router, di usare una MSS di 536 byte; attualmente si usano valori anche molto pi grandi
e sono state avanzate proposte che, nel contesto di una MAN, come FDDI, porterebbero alla
possibilit di usare MSS di 4096 byte. Questo al fine di aumentare lefficienza e la velocit del
collegamento.
VI.5.2.2

Trasmissione di dati urgenti (out of band)

A volte necessario inviare dei dati urgenti (denominati out of band, fuori banda) senza
aspettare che lentit ricevente finisca di elaborare i dati precedentemente trasmessi. Si fa notare che
una rilevante quantit di dati potrebbe essere in viaggio verso lentit ricevente, memorizzata nei
router lungo il cammino della connessione e nella coda di entrata dellhost remoto.
Ad esempio, quando TCP usato per stabilire una sessione Telnet (emulazione di terminale),
un utente potrebbe decidere di inviare un segnale detto di interrupt che termini immediatamente
lapplicazione remota. Ci potrebbe avvenire sia in occasione di malfunzionamenti
dellapplicazione sullhost remoto, o semplicemente perch lutente non vuole aspettare che un
processo termini la sua esecuzione.
Il segnale di interrupt (tipicamente control C) deve poter essere inviato senza aspettare che
lhost remoto elabori tutti i dati gi inviati, altrimenti un utente non sarebbe in grado di far cessare
lesecuzione di un programma al momento voluto.
A tal fine TCP prevede linvio di dati urgenti che hanno priorit su tutti gli altri dati gi
inviati e vengono trasmessi immediatamente al processo remoto; quando i dati urgenti sono stati
elaborati, il processo remoto riprende in esame i dati normali. Il meccanismo usato da TCP per
inviare dati urgenti consiste nel porre al valore logico 1 il bit URG di un segmento e di inserire
nel campo Urgent Pointer il numero di sequenza del byte che delimita superiormente i dati che
devono essere consegnati urgentemente al processo ricevente.
VI.5.3.

Controllo e recupero di errore

La strategia utilizzata per il controllo di errore in TCP simile a quella usata nel LAP-B ed
basata sulluso di finestre in trasmissione ed in ricezione. Nel seguito si suppone noto tale
meccanismo, ovvero linvio di riscontri (acknowledgement) per segnalare la corretta ricezione di
ununit dati e la funzione delle finestre in trasmissione ed in ricezione. Ricordiamo solo che il
meccanismo della finestra in trasmissione rende possibile inviare un certo numero di unit di dati
prima di ricevere un riscontro (al contrario dei meccanismi che prevedono un riscontro per ogni
unit dati, come Stop and Wait). Grazie a tale modo di operare, possibile incrementare la portata
del collegamento, dal momento che, entro il limite stabilito dalla finestra in trasmissione, il mittente
non deve aspettare un riscontro ogni volta che deve inviare ununit dati.
TCP considera il flusso di dati in trasmissione come una sequenza di ottetti (o bytes) e quindi
la finestra in trasmissione opera a livello di ottetto invece che a livello di trama o di pacchetto, come
in X.25. Gli ottetti sono numerati sequenzialmente a partire dal numero pseudo-casuale (ISN) scelto
durante la fase di instaurazione, ovvero ogni byte trasmesso ha un suo numero dordine.
La finestra in trasmissione specifica quindi il numero di ottetti (bytes) che possono essere
inviati senza ricevere un riscontro; analogamente la finestra in ricezione specifica il numero di
ottetti che possono essere accettati fuori sequenza. In TCP la dimensione della finestra in
trasmissione coincide con quella della finestra in ricezione. La dimensione di finestra specifica
quindi sia il numero di bytes che unentit TCP pu trasmettere senza ricevere riscontri, sia il
numero di bytes che unentit TCP in grado di ricevere fuori sequenza.

66
Per analizzare pi in dettaglio questa procedura, consideriamo una connessione a strato TCP e
prendiamo in esame una sola direzione del trasferimento di dati bidirezionale in atto tra due entit
TCP; nellaltro verso di trasferimento si avr una situazione speculare. Nellambito del prescelto
verso di trasferimento, una entit TCP avr il ruolo di mittente mentre laltra assumer quello di
destinatario. In TCP la dimensione della finestra in trasmissione non scelta dal mittente ma
comunicata al mittente dal destinatario.
Ogni volta che lentit destinataria emette un segmento verso quella mittente, comunica nel
campo Window (16 bits) la larghezza (in bytes) della finestra di trasmissione che lentit mittente
deve usare (coincidente con la dimensione della finestra in ricezione). Ci spiega anche perch
finestra in trasmissione ed in ricezione coincidano: sarebbe infatti strano che il destinatario
comunichi al mittente che questi pu emettere un certo numero di bytes e quindi non li accetti
perch arrivano fuori sequenza (il che non responsabilit del mittente). Sempre per questo motivo
la finestra chiamata in TCP Advertised Window, ovvero finestra comunicata o
pubblicizzata (dal destinatario al mittente). Lentit mittente dovr usare tale valore della finestra
di trasmissione fino a che non riceve dal destinatario un successivo segmento con una diversa
dimensione di finestra. La dimensione della finestra varia quindi dinamicamente nel tempo. Nel
seguito esaminiamo il funzionamento dello schema assumendo che tale dimensione sia pari ad un
dato valore fisso W.
Ad esempio, allinizio di una connessione e quando lentit mittente non ha ancora trasmesso
nessun dato di utente e quindi non ha ricevuto nessun riscontro relativo a tali dati, essa pu emettere
solo W bytes; trasmessi questi deve interrompere la trasmissione di dati di utente fino a che non
riceva almeno un riscontro.
I riscontri sono di tipo cumulativo; ovvero il destinatario conferma la ricezione dellultimo byte
di una sequenza di dati ricevuta completamente in modo corretto, ovvero senza errori e senza
elementi mancanti. In particolare lentit destinataria comunica a quella mittente il prossimo byte
che si aspetta di ricevere (nel campo Acknowledgement Number), significando cos che tutti i
precedenti bytes sono stati ricevuti.
Alla ricezione di un riscontro il mittente sposter in avanti la finestra e potr inviare ancora,
senza ulteriori riscontri, bytes con un numero di ordine compreso tra x e x+W, dove x il numero
contenuto nel campo Acknowledgement Number dellultimo riscontro ricevuto. In altre parole, man
mano che il mittente riceve riscontri, che gli assicurano che parte dei dati trasmessi sono arrivati a
buon fine, pu trasmettere altri dati.
Il meccanismo di recupero di errore basato su di un meccanismo detto di time-out (fuori
tempo massimo). Lentit mittente, dopo avere inviato un segmento aspetta un tempo pre-definito
(TO) e, se non riceve un riscontro, assume che il segmento si sia perso.
Questo modo di operare, basato su riscontri cumulativi, presenta sia vantaggi che svantaggi.
Vantaggi:
- il destinatario pu determinare in modo semplice quali riscontri inviare;
- la perdita di un riscontro non causa necessariamente una ri-trasmissione;
- Svantaggi:
- il mittente non riceve riscontri riguardanti tutti i dati che ha trasmesso, ma solo il numero
dordine dellultimo byte del flusso di dati ricevuto correttamente dal destinatario.
Questultima caratteristica pu condurre a potenziali inefficienze: supponiamo che:
la dimensione della finestra in trasmissione sia di 5 000 bytes
lInitial Sequence Number, scelto durante la fase di instaurazione, sia pari a 1 000 000
il mittente abbia ricevuto un riscontro relativo al byte di numero di ordine 1 001 000
(ovvero il destinatario ha ricevuto tutti i primi 1000 bytes, ed invia un
Acknowledgement Number pari a 1 001 001, ovvero aspetta di ricevere un byte con
questo numero dordine).
Il mittente pu emettere 5000 bytes; assumiamo che effettivamente li emetta, in 5 segmenti
contenenti ciascuno 1 000 bytes, arrivando cos al numero dordine 1 006 000. Supponiamo per

67
che al destinatario siano pervenuti gli ultimi 4 000 bytes ma non i primi 1 000 dei 5 000 trasmessi
(ovvero che riceva 4 dei 5 segmenti inviati). Il destinatario non pu confermare la ricezione degli
ultimi 4 000 bytes, poich i riscontri sono di tipo cumulativo, e quindi continuer a riscontrare solo i
primi 1000, originariamente pervenuti, inviando ancora un Acknowledgement Number pari a
1 001 001.
Supponiamo che scada il time-out relativo al primo segmento trasmesso. A questo punto il
mittente potrebbe avere due scelte: 1) ri-trasmettere tutti i 5 segmenti; 2) ri-trasmettere solo il primo
segmento. Nel primo caso si ri-trasmettono inutilmente 4 segmenti, nel secondo il mittente ritrasmette solo un segmento, ma deve per aspettare un riscontro prima di poter trasmettere ancora e
quindi le prestazioni saranno simili, quando si verifica levento appena descritto, a quelle di un
meccanismo di tipo Stop and Wait.
Lo standard comunemente accettato di TCP prevede di seguire il secondo tipo di
comportamento.
Lunico modo di superare queste inefficienze sarebbe quello di introdurre una modifica al
protocollo che consenta al destinatario di informare il mittente della eventuale corretta ricezione di
segmenti che siano giunti a destinazione fuori sequenza. In tal modo si potrebbe attuare un
meccanismo di ri-emissione selettiva.
Torniamo ora al meccanismo del time-out ed in particolare a come viene determinato il valore
dellintervallo di tempo (denominato TO), trascorso il quale unentit TCP mittente considera un
segmento perso e quindi lo ri-trasmette.
Definiamo come Round-Trip Delay (RTD) (ritardo di andata e ritorno) il tempo impiegato da
ununit di dati per andare dal mittente al destinatario e tornare indietro. Il RTD quindi pari alla
somma dei seguenti tempi:
- ritardo di trasferimento in un verso della comunicazione;
- ritardo di trasferimento nellaltro verso;
- tempo necessario al destinatario per rispondere (tempo di risposta);
(si noti che il ritardo di trasferimento pu essere diverso da una direzione allaltra della
comunicazione).
Normalmente, lintervallo di tempo TO scelto pari a (o maggiore di) RTD. Per poter operare,
TCP deve conoscere il TO e quindi necessario determinare il RTD. Ci implica valutare sia il
tempo di risposta che il ritardo di trasferimento nei due versi della comunicazione.
La determinazione del tempo di risposta semplice. La determinazione del ritardo di
trasferimento, invece, se pu essere abbastanza agevole in una specifica sotto-rete non lo in
Internet: una data connessione pu attraversare una sola LAN ad alta velocit o seguire un percorso
attraverso numerosi router, attraversando sotto-reti con modeste capacit di trasferimento, in diversi
continenti. Inoltre il tempo di trasferimento dipende significativamente da quanto carica la
porzione di inter-rete attraversata. Se si attraversa una sotto-rete congestionata, un segmento
impiegher molto tempo per arrivare a destinazione. Ne segue che il RTD pu variare
significativamente anche allinterno della stessa connessione. Ad esempio, la Fig mostra il ritardo di
trasferimento subito da 100 successivi segmenti in una specifica sotto-rete.
12

Ritardo (s)

10
8
6
4
2
0
0

10

20

30

40

50

60

70

80

90

100

Segmento

Figura VI.5.4- Esempio dellandamento del ritardo di attraversamento di una sotto-rete

68
Come si vede il ritardo di trasferimento cambia in modo rilevante da un istante allaltro,
allinterno della stessa connessione. Inoltre facilmente intuibile che esso possa variare in modo
ancora pi rilevante da connessione a connessione. Ci significa che non consigliabile scegliere
un valore di TO fisso, a priori; se venisse scelto un valore di TO piccolo, lentit trasmittente riinvierebbe senza scopo un segmento che non andato perduto ma che ancora in viaggio; se
venisse scelto un valore di TO grande, lentit trasmittente dovrebbe aspettare inutilmente prima di
poter assumere che un segmento sia andato perso.
Per tale motivo, TCP prevede di usare un valore di TO che varia adattativamente nel tempo.
Unentit TCP mittente misura, a cadenza pre-stabilita o segmento per segmento, il round trip delay
e varia il suo TO di conseguenza; se sta trattando una connessione caratterizzata da un alto valore
del ritardo di trasferimento sceglier un alto valore per il TO e viceversa. E evidente che la misura
del round trip delay e la conseguente scelta del TO sono un aspetto abbastanza critico di TCP. Una
scelta errata porterebbe a molti inconvenienti. Ad esempio, si consideri la seguente successione di
eventi:
- se la rete congestionata, i ritardi di trasferimento aumentano;
- a causa di una scelta errata del valore di TO, alcuni segmenti vengono considerati persi,
anche se in realt non lo sono, e quindi vengono ri-trasmessi;
- ci aumenta la congestione che causa ancora ri-trasmissioni finch la portata tende a
zero.
Daltra parte, anche in assenza di situazioni cos critiche, una scelta errata del TO implica una
perdita di efficienza e una minore velocit di trasferimento.
Si noti infine che, se si effettuasse il recupero di errore a strati inferiori, sotto-rete per sottorete, sarebbe possibile avere stime pi precise sul ritardo di trasferimento; ma in Internet ci
richiederebbe sia la cooperazione tra sotto-reti diverse, sia che il controllo di errore sia effettuato
anche da ogni sistema di interconnessione. Ricordiamo infatti che TCP/IP assume solo che ognuna
delle sotto-reti interconnesse sia capace di trasferire informazione, senza richiedere particolari
prestazioni; quindi implementa tutte le funzioni che ritiene necessarie, tra cui il controllo di errore.
Se alcune o tutte queste funzioni non erano state svolte da una particolare sotto-rete, TCP/IP le
realizza; se erano gi state svolte le duplica, realizzandole nuovamente.
Come per altre problematiche, si scelta invece una soluzione che sia la pi semplice possibile
e che non sia legata a particolari tecnologie delle sotto-reti componenti Internet.
Il prossimo paragrafo dedicato alle procedure di misura del round trip delay ed alla scelta
adattativa di un opportuno valore di TO.
Il valore di RTD pi precisamente definito come lintervallo di tempo che intercorre fra
l'istante in cui si inizia la trasmissione di un segmento e l'istante in cui se ne riceve il riscontro.
Unentit TCP mittente inizializza un temporizzatore (timer) nell'istante in cui inizia la
trasmissione di un segmento; trascorso un tempo pari a TO, se non riceve un riscontro, ri-trasmette
il segmento. Stimare il RTD di un segmento in teoria abbastanza semplice; ogni qualvolta TCP
trasmette un segmento ne memorizza il suo istante di partenza in una memoria dedicata a contenere
le informazioni di gestione della connessione; alla ricezione di un riscontro, che informi della
corretta ricezione del segmento in questione, si pu agevolmente calcolare il RTD.
Purtroppo la situazione pi complessa poich un riscontro si pu riferire ai dati
complessivamente ricevuti fino ad un certo momento e non al ricevimento di uno specifico
datagramma. Inoltre si pone il problema di come calcolare il RTD quando vi sono ri-trasmissioni,
ovvero se calcolare il RTD a partire dallinvio del datagramma originale o di quello ri-trasmesso; in
realt nessuna di queste due opzioni fornisce una stima soddisfacente del RTD.
La soluzione scelta la seguente: si definisce un round trip delay medio (RTDM), calcolato
con unoperazione di media tra successive misure di round trip delay; in particolare loperazione di
media utilizzata di tipo a media mobile pesata (weighted running average), calcolata con la
seguente formula:

69
RTDM=*precedente_valore_del_RTDM+(1-)*corrente_valore_del_RTD
il valore del peso deve essere scelto opportunamente; minori valori di questo parametro
corrispondono ad un veloce aggiornamento del RTDM; maggiori valori rendono il RTDM
insensibile a brevi variazioni del ritardo di trasferimento.
Il valore di TO viene quindi scelto uguale a:
TO=*RTDM
dove un altro parametro da scegliere opportunamente.
Per quanto riguarda il problema delle ri-trasmissioni, nel calcolo del RTDM, TCP ignora i
riscontri di segmenti ri-trasmessi, ed aggiorna il RTDM solo con riferimento a segmenti che sono
stati trasmessi una sola volta.
Infine, per assicurare la stabilit dellalgoritmo, TCP usa anche una tecnica detta di back-off;
ogni volta che deve ri-trasmettere un segmento, moltiplica il valore di TO precedentemente
calcolato per un opportuno valore, finch il segmento non va a buon fine. Normalmente il valore di
TO viene raddoppiato ad ogni ri-trasmissione fino al raggiungimento di un fattore moltiplicativo
pari a 64, ottenuto alla settima trasmissione; oltre questo valore la connessione viene re-inizializzata
(con una procedura di reset). Il valore di TO torner al valore precedente solo dopo la ricezione di
un riscontro relativo ad un segmento che stato trasmesso una sola volta.
VI.5.4.

Controllo di flusso

Il controllo di flusso, in questo contesto, definito come una procedura attuata in modo
coordinato da due entit TCP, una trasmittente ed una ricevente. Tale procedura intesa a limitare il
flusso dei dati trasmessi, in funzione delle risorse a disposizione nei sistemi terminali e
prescindendo dal traffico presente nella inter-rete. Lo scopo del controllo di flusso di evitare che
un mittente invii dei segmenti ad un destinatario che, in quel momento, non in grado di riceverli, a
causa di indisponibilit di risorse sia di elaborazione che di memorizzazione. Tale meccanismo
indispensabile in Internet dove sistemi di dimensioni e capacit di calcolo molto diverse
comunicano tra loro: il pi lento dei due deve poter rallentare lemissione di informazione
dellaltro.
Definiamo invece come controllo di congestione la funzione avente lo scopo di evitare o di
risolvere eventuali situazioni di sovraccarico allinterno della inter-rete.
Il controllo di flusso nel protocollo TCP implementato sfruttando lo stesso meccanismo usato
per il controllo di errore e denominato a finestra scorrevole (sliding window), orientata al byte.
Consideriamo anche in questo caso una connessione a strato TCP e prendiamo in esame una sola
direzione del trasferimento di dati bidirezionale in atto tra due entit TCP; nellaltro verso di
trasferimento si avr una situazione speculare.
Si gi detto che ogni volta che lentit destinataria emette un segmento verso quella mittente,
comunica nel campo Window la larghezza (in bytes) della finestra di trasmissione che lentit
mittente deve usare (W). Lentit mittente dovr usare tale valore della finestra di trasmissione fino
a che non riceve dal destinatario un successivo segmento con una diversa dimensione di finestra.
Alla ricezione di un riscontro il mittente potr inviare ancora, senza ulteriori riscontri, bytes
con un numero di ordine compreso tra x e x+W, dove x il numero contenuto nel campo
Acknowledgement Number dellultimo riscontro ricevuto. Trasmessi questi il mittente deve
interrompere la trasmissione di dati di utente fino a che non riceva almeno un riscontro.
(Lentit mittente pu per inviare i riscontri, relativi allaltro verso di trasmissione, purch
non usi la tecnica delladdossamento, inviando quindi anche dati di utente).
Daltra parte la dimensione della finestra rappresenta anche la quantit di dati che lentit
destinataria disposta a ricevere (funzione della capacit di calcolo e della dimensione della
memoria in ricezione). Lentit destinataria pu quindi variare dinamicamente la dimensione della
finestra in funzione delle sue esigenze e limitare il ritmo di trasferimento qualora non sia in grado di
gestirlo. Ad esempio, se il destinatario comunica al mittente una dimensione di finestra pari a zero,

70
interromper completamente linvio di dati. Il mittente ha per il diritto di usare tutte le opportunit
di trasmissione concesse dalle finestre precedentemente comunicate.
Si noti infine che tale meccanismo giustifica, in parte, la tecnica usata in TCP per la
numerazione in bytes dei campi Sequence Number e Acknowledgement Number, in quanto
consente una maggiore flessibilit nel modulare la dimensione della finestra.
VI.5.5.

Controllo di congestione

Il controllo di congestione ha lo scopo di evitare o di risolvere eventuali situazioni di


sovraccarico allinterno della inter-rete. Il meccanismo sliding window di TCP funziona per da
estremo ad estremo e quindi, in linea di principio, non pu essere usato in modo efficiente per il
controllo di congestione.
Tuttavia seppure in modo implicito, e con alcune limitazioni, lo schema sliding window di
TCP pu proteggere sia il destinatario che, in caso di congestione, la inter-rete. Se la porzione di
inter-rete attraversata dai segmenti di una data connessione congestionata, al mittente arriveranno,
per una data larghezza di finestra, meno riscontri; ci forza il mittente ad emettere meno
informazione. Inoltre, siccome TCP effettua misurazioni sul round trip delay, il valore del time-out
(TO) sar stimato in modo opportuno e si eviteranno ri-trasmissioni inutili che porterebbero ad un
aumento della congestione invece che ad una sua diminuzione. Inoltre unentit TCP destinataria
pu utilizzare il round trip delay come misura di congestione e quindi per decidere opportunamente
la larghezza della finestra da comunicare allentit mittente.
Infine il meccanismo di ri-trasmissione a intervalli crescenti descritto in precedenza (back-off)
coopera in modo significativo a ridurre la congestione.
Tutto questo significa che, calibrando opportunamente i parametri del protocollo, si pu
effettuare non solo un controllo di flusso ma anche un controllo di congestione.
Le prime implementazioni di TCP utilizzavano per il controllo della congestione, in aggiunta ai
meccanismi sopra descritti, anche il protocollo ICMP. Ricordiamo infatti che ICMP pu rallentare il
ritmo di trasmissione del sistema mittente, mediante l'invio di messaggi opportuni (Source Quence),
nel momento in cui il sistema destinatario si trovi a dover rifiutare datagrammi a causa della
mancanza di risorse di memoria (cfr. VI.3.6).
Questo meccanismo di ICMP, nel caso di rapide variazioni del traffico, sembr per del tutto
insufficiente nel contesto di reti ad alta velocit (ad es. LAN). Si propose, quindi, fin dalla seconda
met degli anni '80, di implementare un controllo della congestione basato solo sui time-out e che
prescinda da ICMP. Il modulo ICMP, tuttora implementato nei sistemi terminali e nei sistemi di
interconnessione, continua comunque a svolgere le altre sue funzioni.
Nelle implementazioni attuali si considera quindi lo scadere di un time-out come un sintomo di
congestione delle risorse di interconnessione e si usano nuovi algoritmi per porre rimedio a tali
situazioni. Ad esempio, l'algoritmo CUTE (Congestion control Using Time-outs of the End-to-end
layer) fissa il valore della finestra a disposizione del mittente, non pari al valore comunicato dal
destinatario (advertised window), ma variabile tra un minimo e un massimo. Tale algoritmo utilizza
i seguenti parametri e modalit di funzionamento:
- Massimo: il valore massimo della finestra in trasmissione: in generale pari al valore
della dimensione di finestra offerta dal destinatario;
- Minimo: il valore minimo della finestra: tipicamente pari alla dimensione di una MSS
(cfr. VI.5.2);
- Inizializzazione: rappresenta il valore iniziale della finestra: su reti molto cariche
preferibile partire dal valore minimo;
- Incremento: si incrementa la dimensione della finestra, di un valore pari ad un segmento,
ogni N segmenti ricevuti correttamente dallentit TCP di destinazione (senza per mai
superare il valore massimo);
- Decremento: si decrementa la dimensione della finestra ogni volta che scade un timeout; il decremento pu essere di diversi tipi:

71

sudden, (improvviso, repentino) la dimensione della finestra posta uguale al


valore minimo;
gradual, (graduale) la dimensione della finestra viene ridotta di un segmento;
binary, (binario) la dimensione della finestra viene divisa a met.
Normalmente i parametri vengono scelti in modo che lincremento della dimensione della
finestra sia lento ed il suo decremento veloce, per evitare problemi di instabilit.
VI.5.6.

Estensioni di TCP per le applicazioni in reti ad alta velocit

Le estensioni che sono state proposte per TCP sono funzionali ad un suo migliore
comportamento in reti ad alta velocit. Il protocollo TCP, infatti, cos come si presenta nella sua
implementazione tradizionale, non offre prestazioni ottimali. In quest'ottica sono state studiate
alcune modifiche orientate a migliorare l'efficienza del protocollo in questo nuovo scenario.
Innanzitutto viene osservato che in Internet il prodotto della capacit di trasferimento per il
ritardo di propagazione tende ad aumentare. Quindi un primo passo per migliorare le prestazioni
quello di offrire al protocollo la possibilit di operare con una finestra massima pi ampia di quella
che ha ora a disposizione; i 16 bit del campo Window attualmente limitano la ampiezza della
finestra a 65536 byte mentre, per aumentare la portata dei dati, sarebbe opportuno che tale campo
avesse una dimensione di 32 bit. A questo scopo stata introdotta la "Window Scale Option", che
permette a due entit TCP che vogliano instaurare una connessione, di accordarsi, durante la fase di
instaurazione, sulla dimensione massima del campo Window.
Il pi rilevante limite delle implementazioni tradizionali di TCP risiede, per, nella scarsa
accuratezza con cui viene stimato il Round Trip Delay dei segmenti trasmessi. In certi casi
l'aggiornamento della stima si basa su di un solo segmento per finestra, creando quindi notevoli
problemi di "aliasing" dovuti alla stima ed alla incapacit di adattarsi a rapidi cambiamenti
nell'andamento del traffico. L'inadeguatezza di questo metodo cresce inoltre al crescere delle
dimensioni della finestra disponibile. D'altra parte, anche se si aumenta la frequenza di
campionamento, rimane sempre il problema della incapacit di stimare il Round Trip Delay, nel
caso in cui avvengano delle ri-trasmissioni di un segmento. Questo perch quando si riceve il
riscontro di un segmento ri-trasmesso non si in grado di capire se tale riscontro si riferisca al
segmento originario o a quello ri-trasmesso.
Una soluzione a questo problema viene offerta dalla "Timestamp Option". Usando tale opzione
il mittente scrive l'istante di partenza su ogni segmento trasmesso in modo tale che il destinatario,
quando ne invia il riscontro, possa scrivere sul segmento di risposta l'istante di partenza del
segmento a cui il riscontro stesso si riferisce. In trasmissione baster operare una semplice
differenza per avere unaccurata misurazione del Round Trip Delay.
Un'ulteriore limitazione alle prestazioni del TCP risiede nel fatto che il destinatario non ha la
possibilit di informare il mittente della eventuale corretta ricezione di segmenti che siano giunti a
destinazione fuori sequenza. Per superare tale problema stata definita la opzione SACK (Selective
Acknowledgement), che consente di confermare la corretta ricezione di un particolare segmento
(invece che di procedere in modo cumulativo) e quindi consente di attuare un meccanismo di riemissione selettiva.
Il problema principale che le nuove implementazioni di TCP incontreranno sar quello relativo
alla compatibilit nelle interazioni con le versioni tradizionali. Tutte le implementazioni dovrebbero
ignorare le opzioni sconosciute che vengono inserite nei segmenti SYN utilizzati durante
linstaurazione della connessione. D'altra parte possibile che talune implementazioni di TCP diano
luogo a malfunzionamenti nel momento in cui ricevono un segmento, diverso dal SYN, contenente
opzioni sconosciute. La soluzione prospettata quindi quella di usufruire delle estensioni al
protocollo, in segmenti diversi dal SYN, solo se lo scambio di opzioni, durante la fase di
instaurazione, ha indicato che entrambe le implementazioni sono in grado di comprendere le
estensioni stesse.

72
VI.6.

Un protocollo di gestione: SNMP

Simple Network Management Protocol (SNMP) un protocollo di gestione; fornisce


informazioni relative a configurazioni, errori e allarmi di sistemi remoti. Come il nome suggerisce,
uno strumento abbastanza semplice per la gestione di reti, che si appoggia su di un limitato
"Management Information Base" (MIB) standard per la descrizione delle risorse gestite. Il MIB
specifica quali sono le informazioni che un sistema deve contenere per fini gestionali e luso che se
ne pu fare. Ad esempio MIB specifica che si deve mantenere un contatore degli ottetti ricevuti su
ogni interfaccia di rete; altre variabili previste da MIB possono essere il tempo da cui in funzione
un sistema, il numero dei datagrammi ricevuti o trasmessi, i diversi time-out usati dai protocolli etc.
MIB classifica queste variabili in 8 categorie (sistema, interfacce, indirizzi, ip, icmp, tcp, udp, egp).
SNMP facilmente implementabile e consente la gestione delle variabili descritte nel MIB, e quindi
delle risorse, e la gestione di situazioni anomale mediante delle segnalazioni non sollecitate.
Il maggior vantaggio di SNMP risiede proprio nella sua semplicit che permette una facile
ingegnerizzazione di rete con modesti consumi di risorse di elaborazione e di memorizzazione.
Inoltre, la struttura del protocollo e del MIB sono sufficientemente semplici per garantire l'interoperabilit tra stazioni di gestione e sistemi controllati provenienti da diversi costruttori.
A fronte di tale semplicit, per, la piattaforma gestionale contrappone un limitato insieme di
primitive ed una limitata sicurezza delle informazioni scambiate tra stazione di controllo e sistemi
controllati.
VI.7.

Accesso ad Internet tramite un ISP

A conclusione della descrizione delle modalit di funzionamento di Internet, riteniamo utile


riprendere quanto detto nell'Introduzione, circa l'accesso ad Internet tramite un ISP.
La trattazione fin qui svolta ha fatto riferimento a sistemi (host) direttamente connessi ad
Internet e dotati di un proprio, stabile ed univoco indirizzo. Questo non il caso di sistemi che si
connettono ad Internet per il tramite di un Internet Service Provider (ISP), usando tipicamente la
rete telefonica commutata, ovvero la probabile maggioranza dei lettori di questa monografia. A tali
host non stato assegnato un indirizzo IP stabile ed univoco secondo le regole descritte in
precedenza. In particolare, quando uno di questi host si connette at Internet tramite un ISP, prima di
poter iniziare effettivamente uno scambio informativo con altri host, riceve dall'ISP delle opportune
informazioni di configurazione, tra cui un indirizzo IP, l'indirizzo del router di default (cfr.
VI.3.5.3) e quello del name server (cfr. VI.3.7).
L'indirizzo IP ricevuto pu essere assegnato dall'ISP secondo due modalit:
L'ISP dispone di un certo insieme di indirizzi IP univoci e con significato globale che assegna
dinamicamente a quegli host che in un dato momento gli richiedono di connettersi ad Internet.
Ognuno di questi host caratterizzato da un dato indirizzo IP solo per il tempo durante il quale
connesso ad Internet; quando lhost termina di usufruire dei servizi Internet, quellindirizzo IP sar
assegnato ad un altro host che, in un tempo successivo, chieder di connettersi ad Internet.
L'ISP assegna ai suoi utenti indirizzi IP che hanno solo un significato locale e, non essendo
visibili all'esterno, possono essere scelti in modo arbitrario. Sar poi compito del fornitore di servizi
porre in corrispondenza tali indirizzi con specifiche sessioni di comunicazione.
Ci significa che un utente di questo tipo raggiungibile dall'esterno solo tramite il suo ISP,
dal momento che l'utente in questione, non disponendo tipicamente di un indirizzo stabile ed
univoco in Internet non "conosciuto" dagli altri sistemi connessi ad Internet (cfr. VI.3.4). Quando
un host si connette ad Internet secondo questa modalit necessario usare anche un ulteriore
protocollo che governa lo scambio di informazioni e di comandi tra utente e fornitore di servizi. Un
esempio di tale protocollo PPP (Point to Point Protocol).

Universit degli Studi di Roma La Sapienza


Dipartimento INFOCOM

Aldo Roveri

RETEMATICA
Parte Terza

Versione preliminare
dicembre 2000

V.

FUNZIONI DI RETE .......................................................................................................................................3


V.1.
ACCESSO MULTIPLO....................................................................................................................................3
V.1.1. Accesso multiplo con allocazione statica ...............................................................................................4
V.1.2. Accesso multiplo con allocazione dinamica ...........................................................................................5
V.1.3. Architettura di accesso a una LAN.........................................................................................................7
V.1.4. Tecniche trasmissive nei mezzi multi-accesso.........................................................................................9
V.1.5. Strato MAC.........................................................................................................................................10
V.1.6. Aspetti prestazionali............................................................................................................................10
V.1.7. Protocolli ad accesso casuale..............................................................................................................13
V.1.8. I protocolli CSMA ...............................................................................................................................16
V.1.9. Protocolli ad accesso controllato ........................................................................................................22
V.1.10.
Realizzazione di LAN......................................................................................................................26
V.2.
CONTROLLO DI ERRORE ............................................................................................................................28
V.2.1. Codici con controllo di parit..............................................................................................................28
V.2.2. Codici CRC.........................................................................................................................................30
V.2.3. Mezzi per il recupero di errore ............................................................................................................31
V.2.4. Modello di recupero di errore .............................................................................................................37
V.2.5. Procedure di recupero di errore ..........................................................................................................38
V.2.6. Efficienza di recupero .........................................................................................................................40
V.3.
INSTRADAMENTO .....................................................................................................................................44
V.3.1. Generalit sugli algoritmi di instradamento.........................................................................................45
V.3.2. Procedure basate sulla ricerca del percorso pi breve.........................................................................48
V.3.3. Instradamento ottimo ..........................................................................................................................50
V.3.4. Instradamento a deflessione ................................................................................................................51
V.3.5. Instradamento diffusivo .......................................................................................................................52
V.3.6. Instradamento in reti interconnesse .....................................................................................................53
V.3.7. Indirizzamento ....................................................................................................................................55
V.4.
CONTROLLO DEL TRAFFICO .......................................................................................................................57

V.

FUNZIONI DI RETE

V.1.

Accesso multiplo

Abbiamo gi pi volte incontrato i mezzi di comunicazione, come sostegno di trasferimenti di


informazione a distanza. Qui il concetto viene ripreso per introdurre un argomento a cui si gi
accennato, e cio quello riguardante laccesso multiplo.
Un mezzo di comunicazione consente il trasferimento dellinformazione tra due o pi punti
topologicamente a distanza; supporta per questo scopo la via fisica (canale trasmissivo) su cui si
propagano i segnali informativi; pu essere punto-punto o multi-accesso:
- punto-punto quando consente trasferimenti da una sola estremit emittente ad una sola
ricevente (mezzo mono-accesso); in questo caso il segnale ricevuto dipende unicamente dal
segnale trasmesso e dal disturbo su quel canale trasmissivo;
- multi-accesso quando comprende, come in Fig. V.1.1, due o pi sistemi terminali distinti
che sono sorgenti e/o collettori di informazione e che sono indicati tradizionalmente come
stazioni; in questo caso il segnale ricevuto in una stazione dipende dal segnale trasmesso da
due o pi tra le altre stazioni ed la somma delle versioni attenuate di questi segnali,
corrotti da disturbi e da ritardi.
Supporto radio satellitare

Linea bicoppia punto-multipunto

Satellite

Stazione
primaria

Stazioni secondarie
S

S
S
S

Stazioni di terra

Supporto radio terrestre


S

Bus a prese multiple


S
S

S
S

Figura V.1.1 Esempi di mezzi di comunicazione multi-accesso (S: stazione)


La funzione di accesso multiplo riguarda i mezzi di comunicazione multi-accesso. Come
indicato in Fig. V.1.2, si distinguono accessi multipli con allocazione statica e con allocazione
dinamica. Nel caso di allocazione statica, il mezzo sostiene una molteplicit di comunicazioni con
una suddivisione in sub-canali, ognuno dei quali pre-assegnato individualmente alle necessit di
trasferimento di una particolare comunicazione. Nel caso invece di una allocazione dinamica, il
mezzo viene trattato come una risorsa singola a cui si pu accedere in accordo a una opportuna
procedura di controllo: la banda disponibile allora assegnata a domanda o pre-assegnata
collettivamente. Come evidente, esiste una sostanziale analogia tra queste due modalit e quelle
omonime riguardanti la funzione di multiplazione.

4
Accesso multiplo
Con allocazione
statica

Con allocazione
dinamica
Controllata

In modo
centralizzato

Casuale

In modo
distribuito

Figura V.1.2 Alternative di accesso multiplo


Il paragrafo fornisce dapprima qualche ulteriore precisazione sullaccesso multiplo con
allocazione statica ( V.1.1) e con allocazione dinamica ( V.1.2), precisando per questa seconda
modalit le implicazioni di natura architetturale relative alle stazioni preposte allaccesso ( V.1.3).
Si passa poi ( V.1.4) alle tecniche trasmissive nei mezzi multi-accesso.
Le parti successivi del paragrafo sono tutte dedicate allaccesso multiplo con allocazione
dinamica. In particolare:
si fornisce una classificazione delle procedure di controllo (protocolli) per laccesso al mezzo (
V.1.5);
si affrontano gli aspetti prestazionali che vengono considerati per caratterizzare un sistema ad
accesso multiplo ( V.1.6);
si parla poi dei protocolli ad accesso casuale, con riferimento dapprima a quelli operativamente
pi semplici ( V.1.7) e successivamente ad altri con obiettivi di migliori prestazioni in termini
di smaltimento di traffico ( V.1.8);
si conclude con lesame dei protocolli ad accesso controllato ( V.1.9).
V.1.1.

Accesso multiplo con allocazione statica

Il caso di accesso multiplo con allocazione statica stato risolto nel tempo con modalit varie,
che si distinguono in base al dominio, che consente di suddividere in sub-canali la capacit di
trasferimento del mezzo di comunicazione.
Una prima modalit di allocazione statica quella nel Dominio della Frequenza (FDMA:
Frequency Division Multiple Access). Ad ogni stazione pre-assegnata individualmente una
specifica sotto-banda di frequenze (banda di stazione) del canale trasmissivo. Le bande di stazione
sono affiancate nellintervallo di frequenze che passante nel canale trasmissivo e intervallate con
bande di guardia. La multiplazione che cos si attua quindi a divisione di frequenza (Fig. V.1.3).

Frequenza

bande di
stazione

bande di
guardia

Tempo

Figura V.1.3 Principio della tecnica FDMA


Una seconda modalit di accesso multiplo con allocazione statica nel Dominio del Tempo
(TDMA: Time Division Multiple Access). Ad ogni stazione pre-assegnato individualmente uno
specifico intervallo temporale (IT) del canale trasmissivo. Gli IT sono affiancati sullasse

5
temporale, con eventuali intervalli di guardia, e organizzati in trama. La stazione utilizza lIT
assegnatole con periodicit di trama. La multiplazione che cos si attua quindi a divisione di
tempo (Fig. V.1.4). Lasse dei tempi gestito con modalit SF ed trattato con pre-assegnazione
individuale. Si presentano quindi solo contese di pre-assegnazione.
IT

Frequenza

Intervalli di
guardia

trama

Tempo

Figura V.1.4 Principio della tecnica TDMA


Una terza tecnica quella nel Dominio del Codice (CDMA: Code Division Multiple Access).
Ad ogni stazione pre-assegnato individualmente uno specifico codice di m bit (sequenza di chip).
Per emettere un 1 la stazione emette la sua sequenza di chip, mentre per emettere uno 0 emette
il complemento a uno di tale sequenza.
V.1.2.

Accesso multiplo con allocazione dinamica

Per laccesso multiplo con allocazione dinamica, ci limitiamo a considerare le sue attuazioni
nel dominio del tempo. Come nellomonima tecnica di multiplazione, lasse dei tempi gestito con
le modalit U, SF o SU. La risorsa normalmente assegnata a domanda e le contese di
utilizzazione possono essere risolte con due modalit alternative (cfr. Fig. V.1.2): laccesso casuale
e quello controllato.
Nel caso di accesso casuale, ogni stazione pu iniziare a emettere una unit informativa (UI)
senza alcun coordinamento con le altre stazioni. Ci implica la presentazione di contese di
utilizzazione del mezzo condiviso. Questi eventi, chiamati collisioni, si manifestano quando due o
pi stazioni emettono UI che impegnano contemporaneamente il canale supportato dal mezzo.
Allora, per effetto della mutua interferenza tra i relativi segnali, il contenuto informativo di queste
UI viene corrotto e pu risultare non utilizzabile dal punto di vista delle applicazioni. Per questo
motivo occorre prevedere meccanismi, che garantiscano il corretto trasferimento delle informazioni
anche se questi conflitti accadono.
Nel caso di accesso controllato, invece, ogni stazione pu emettere solo quando riceve una
specifica autorizzazione. Viene cos evitato laccesso contemporaneo e quindi non si verificano
collisioni. La gestione dellautorizzazione a emettere pu (cfr. Fig. V.1.2) essere demandata ad una
stazione speciale (controllo centralizzato), oppure pu essere condivisa fra tutte le stazioni del
sistema (controllo distribuito). In questo secondo caso il controllo passa ordinatamente da stazione
a stazione. Le stazioni inattive (senza cio esigenze di emissione) non impegnano risorse. Si
consegue cos una efficiente ripartizione della capacit di trasferimento del mezzo di comunicazione
fra le sole stazioni attive.
In tutti i tipi di accesso multiplo con allocazione dinamica la regolazione dellaccesso al
mezzo, con la risoluzione di eventuali contese di utilizzazione tra le stazioni, affidata a protocolli
di accesso al mezzo, e cio dai protocolli MAC (Medium Access Control).
Laccesso multiplo con allocazione dinamica utilizzato, ad esempio, nelle reti in area locale
(LAN) con struttura sia cablata (wired-LAN), che su portante radio (wireless-LAN): in entrambi
questi casi si utilizzano infatti mezzi di comunicazione multi-accesso. In Fig. V.1.5 sono mostrate

6
alcune topologie di LAN con struttura cablata. Da un punto di vista logico si distinguono
sostanzialmente il bus (bidirezionale o unidirezionale) e lanello.
Bus bidirezionale
S

S
S

S
S

Bus unidirezionale
doppiamente ripiegato

Bus unidirezionale
ripiegato

Doppio bus unidirezionale

Anello
S

S
S

Fig. V.1.5 Esempi di topologie di LAN a struttura cablata (S: Stazione)


In una LAN con topologia a bus bidirezionale, lemissione da parte di una stazione effettuata
in modo diffusivo verso tutte le altre stazioni della rete, che vengono raggiunte seguendo un
percorso unico. Ogni stazione ricevente effettua una copia dellunit informativa (UI) ricevuta: se
in questa copia viene letto lindirizzo di destinazione della stazione che ne in possesso, la UI
pervenuta alla destinazione desiderata.
Una possibile realizzazione fisica di un bus bidirezionale quella mostrata in Fig. V.1.5, in cui
la LAN costituita da una sezione di mezzo trasmissivo su cui le stazioni sono connesse in
derivazione: in questo caso il segnale viaggia dalla stazione di origine in entrambe le direzioni verso
le estremit del mezzo, raggiungendo quindi tutte le stazioni connesse alla rete. Una caratteristica
fondamentale di questa realizzazione risiede nelle interfacce completamente passive tra ogni
stazione e il canale trasmissivo. Ci a favore dellaffidabilit della struttura. A causa per
dellattenuazione del canale trasmissivo, lassenza di elementi attivi limita la distanza percorribile
dal segnale. Per superare questi vincoli sullestensione massima della LAN, si suddivide la rete in
segmenti di estensione commisurata con lattenuazione del mezzo e si raccordano questi segmenti
con ripetitori che hanno il compito di rigenerare il segnale con completa trasparenza nei confronti
dellinformazione.
La topologia a bus unidirezionale si differenzia da quella a bus bidirezionale per il fatto che
linformazione fluisce sul bus esclusivamente in un verso. Affinch sia assicurata la completa
connettivit tra le stazioni, occorre quindi suddividere il bus in due segmenti, uno di immissione e
l'altro di estrazione. Ogni interfaccia tra mezzo e stazione deve riguardare ambedue i segmenti e
risulta quindi funzionalmente composta da due unit distinte: una di scrittura e l'altra di lettura.
Sono possibili due alternative (cfr. Fig. V.1.5) per la creazione dei segmenti di immissione e di

7
estrazione su un unico bus. La prima alternativa un bus unidirezionale ripiegato, mentre la
seconda un bus unidirezionale doppiamente ripiegato. La differenza sostanziale tra le due
alternative che i versi di attraversamento delle stazioni da parte dei segmenti di immissione e di
estrazione sono diversi nel caso del bus ripiegato, mentre sono identici nel caso del bus
doppiamente ripiegato.
Da un punto di vista fisico, l'unidirezionalit della propagazione dei segnali consente di
superare i problemi di attenuazione del mezzo trasmissivo. infatti possibile utilizzare dispositivi
di amplificazione e/o di rigenerazione che, a causa della loro intrinseca unidirezionalit, non
possono essere utilizzati nel caso della topologia a bus bidirezionale. In questo modo l'estensione
massima di ogni sezione di rete pu aumentare considerevolmente.
La topologia a doppio bus unidirezionale (cfr. Fig. V.1.5) un'evoluzione di quella a bus
unidirezionale ripiegato. In questo caso i due segmenti corrispondenti ai due versi di trasferimento
sono completamente separati. Un segmento attraversa cos le stazioni in un verso, mentre l'altro le
attraversa in verso opposto. Ovviamente, per utilizzare la rete al meglio delle sue capacit, una
stazione d'origine dovr effettuare l'emissione di una unit informativa solo su quel segmento che
consente il trasferimento verso la stazione di destinazione. A tale scopo necessario che la stazione
d'origine conosca la posizione di quello di destinazione.
Nella topologia ad anello, ogni stazione connessa a due sole altre stazioni, una "a monte" e
l'altra "a valle", tramite legamenti unidirezionali, che complessivamente formano un percorso
chiuso (cfr. Fig. V.1.5). Le informazioni sono trasferite in modo sequenziale da una interfaccia tra
mezzo e stazione alla successiva. Ogni stazione dell'anello pu essere, oltre che origine e
destinazione, anche punto di transito delle unit informative; in quest'ultimo caso, da un punto di
vista trasmissivo, una stazione agisce come elemento attivo della rete operando una rigenerazione
del segnale.
Rispetto ad una topologia a bus, unidirezionale o bidirezionale, si pu osservare che la
presenza di interfacce attive elimina le limitazioni all'estensione massima della rete, ma diminuisce
le prestazioni in termini di affidabilit. L'adozione di interfacce di tipo attivo comporta per un
aggravio in termini di costo di installazione ed una diminuzione dell'affidabilit del sistema. Per
ovviare a quest'ultimo inconveniente, spesso si adottano strutture ad anello duplicato, che
consentono di riconfigurare la rete in modo da isolare l'eventuale segmento guasto: la struttura pi
largamente utilizzata prevede due anelli con versi di trasferimento opposti (counter-rotate ring). In
condizioni normali di funzionamento la presenza di due anelli distinti raddoppia la capacit della
rete. In presenza di un guasto, il segmento guasto viene isolato poich le stazioni a destra e a sinistra
di questo provvedono alla connessione tra i due anelli e quindi a formare un unico anello. In questo
caso per la capacit di trasferimento della rete diventa uguale a quella di un unico anello.
V.1.3.

Architettura di accesso a una LAN

In Fig. V.1.6 mostrato il modello architetturale di una stazione connessa ad una LAN. Tale
modello viene posto a confronto con quello di un apparecchio terminale che sia conforme al
modello OSI. Da questo confronto appare che lo strato di collegamento del modello OSI
sdoppiato, nel caso di stazione connessa ad una LAN, in due sotto-strati: quello di controllo del
collegamento logico (Logical Link Control-LLC) e quello di controllo di accesso al mezzo
(Medium Access Control-MAC). Nel seguito, per brevit, questi due sotto-strati saranno indicati
come strato LLC e strato MAC.
Lo strato LLC ha il compito di controllare lo scambio delle unit di dati tra i terminali connessi
ad una LAN. In particolare ha lo scopo di rendere lo scambio informativo efficiente ed esente da
errori.

8
Applicazione
Presentazione
Controllo del collegamento logico

LLC

Sessione

Controllo di accesso al mezzo

Trasporto

MAC
Rete

Segnalazione di strato fisico

Collegamento

PLS

Fisico

Unit fisica di attacco al mezzo


trasmissivo - MAU

Figura V.1.6 Architettura stratificata di una stazione connessa ad una LAN


e confronto con quella di un apparecchio terminale conforme al modello OSI
Lo strato MAC ha invece la funzione di regolare l'accesso al mezzo, risolvendo eventuali
contese di utilizzazione tra le stazioni. Lo svolgimento di questa funzione affidato al gi citato
protocollo di strato, e cio al protocollo MAC, che uno degli elementi caratteristici di una LAN.
Lo strato fisico a sua volta suddiviso in due sotto-strati, uno logico e l'altro fisico. Il primo
il sotto-strato di segnalazione di strato fisico (Physical Layer Signaling - PLS), mentre il secondo
l'unit di attacco al mezzo trasmissivo (Medium Attachment Unit - MAU). Compito del sotto-strato
PLS mettere in grado le entit MAC di inviare le loro unit di dati sul canale trasmissivo
usufruendo del supporto di opportuni segnali. La MAU consente invece l'accoppiamento tra il sottostrato PLS ed il mezzo di comunicazione: quindi emette e riceve questi segnali sotto il comando del
sotto-strato PLS.
Sebbene in gran parte le LAN siano state originariamente definite e realizzate in ambienti
privati e siano quindi basate su architetture e protocolli di tipo proprietario, varie organizzazioni
internazionali hanno provveduto a emettere norme per una definizione univoca dei protocolli
relativi ai vari strati funzionali di una LAN. Attualmente, il riferimento in questo campo costituito
dalla famiglia di norme emesse dallIEEE (Institution of Electrical and Electronics Engineers),
conosciute sotto la sigla IEEE 802; queste norme sono poi state fatte proprie dallISO nella serie
8802.
Le norme della famiglia IEEE 802 trattano esclusivamente gli strati fisico, MAC e LLC. In Fig.
V.1.7 illustrata la relazione fra queste norme, i cui contenuti sono qui di seguito riassunti
brevemente:
- IEEE 802.1 (ISO 8802.1): introduce la struttura e le architetture dei singoli elementi della
famiglia IEEE 802;
- IEEE 802.2: (ISO 8802.2): descrive le funzioni associate allo strato LLC, specificando la
sua interfaccia (SAP, Service Access Point) con lo strato superiore e con quello MAC;
802.1 Gestione e interoperabilit

802.2 Strato LLC


Strato di
collegamento

802.3

802.4

802.12

802.5

FDDI

802.6

802.11

CSMA/CD

Token
bus

DPAM

Token
Ring

Token
Ring

DQDB

CSMA
Polling

Bus / Albero / Stella

Anello

Strato
fisico

Doppio bus Senza filo

Figura V.1.7- Norme IEEE 802 e loro relazione con il modello OSI
-

IEEE 802.3 (ISO 8802.3) : descrive il protocollo di accesso CSMA/CD, con riferimento a
diversi mezzi trasmissivi ed ai ritmi binari utilizzabili, ed il relativo strato fisico;

9
V.1.4.

IEEE 802.4: (ISO 8802.4) specifica gli elementi riguardanti il protocollo di accesso a
testimone su bus (token bus) ed il relativo strato fisico;
IEEE 802.5 (ISO 8802.5) : specifica gli elementi riguardanti il protocollo di accesso a
testimone su anello (token ring) ed il relativo strato fisico;
IEEE 802.6 (ISO 8802.6) : descrive la MAN DQDB, che utilizza il protocollo d'accesso a
coda distribuita;
IEEE 802.11 (ISO 8802.11) : riguarda una LAN su supporto radio.
Tecniche trasmissive nei mezzi multi-accesso

Le due metodologie utilizzate per la trasmissione delle informazioni sul mezzo trasmissivo
costituente una LAN sono:
la trasmissione numerica in banda base;
la trasmissione analogica a banda estesa.
Nel caso di trasmissione in banda base, il segnale numerico in linea occupa l'intera banda del
canale trasmissivo. Quindi solo una stazione alla volta pu emettere le proprie unit informative. Si
devono quindi prevedere, come gi accennato, opportuni schemi di regolazione dell'accesso al
mezzo per evitare la sovrapposizione dei segnali.
I vantaggi delle LAN in banda base sono la loro semplicit realizzativa ed il loro basso costo.
Linstallazione rapida e semplice ed i sistemi impiegati hanno ormai una tecnologia acquisita.
Occorre per tenere conto delle limitazioni riguardanti le loro possibilit di copertura nel caso in cui
la rete debba gestire un traffico elevato oppure coprire superfici estese.
Eventuali limitazioni in estensione possono essere superate utilizzando dispositivi di
interconnessione (cfr. IV.8.1) come i ripetitori, che provvedono a rigenerare il segnale in transito
sul mezzo trasmissivo, oppure come i bridge, che hanno lo scopo di interconnettere segmenti diversi
della stessa rete. Nel primo caso, le varie tratte di ripetizione formano un'unica rete; nel secondo, i
vari segmenti hanno un funzionamento indipendente e spetta ai bridge di gestire il traffico che deve
passare da un segmento all'altro. evidente che i bridge, se non sono accuratamente progettati ed
utilizzati, possano divenire colli di bottiglia per il traffico in transito sulla LAN, riducendo
sensibilmente la portata di rete.
Nella trasmissione a banda estesa viene utilizzata la tecnica di multiplazione a divisione di
frequenza, in modo da consentire la trasmissione simultanea da parte di pi stazioni. La larghezza di
banda del mezzo trasmissivo viene suddivisa in un certo numero di sottobande, ognuna delle quali
destinata ad uno specifico servizio di comunicazione (ad es. alla telemetria, alla voce, ai dati, al
video, ecc.). In questo modo, ogni sottobanda costituisce un canale indipendente, a cui pu
accedere, con le modalit precedentemente descritte, una pluralit di utenti.
Se una LAN con trasmissione a banda estesa deve servire una vasta area geografica, tale da
richiedere l'uso di amplificatori di linea unidirezionali, la propagazione dei segnali sul mezzo
trasmissivo deve avvenire necessariamente in un solo verso, a meno di accorgimenti di tipo
particolare. Pertanto, per garantire la piena connettivit a tutte le stazioni della LAN, occorre
prevedere un canale di trasmissione ed un canale di ricezione separati, con versi di propagazione
opposti. L'elemento di giunzione fra i due canali un dispositivo detto transponder, la cui
funzione quella di raccogliere i segnali in ingresso provenienti dal canale di trasmissione e
ritrasmetterli in uscita sul canale di ricezione.
I canali di trasmissione e di ricezione possono essere separati assegnando a ciascuno di essi un
diverso mezzo trasmissivo oppure una diversa sotto-banda dello stesso mezzo trasmissivo. Nel
primo caso, il transponder un semplice dispositivo di interconnessione, e eventualmente di
amplificazione, fra i due mezzi. Nel secondo caso, i segnali che viaggiano nelle due direzioni sono
separati in frequenza da una opportuna banda di guardia. Il traspositore ha quindi il compito di
traslare i segnali dalla sotto-banda di trasmissione a quella di ricezione.
Nelle LAN a banda estesa, per ottenere una struttura di interconnesione fisica ad albero,
vengono utilizzati anche dispostivi di accoppiamento e di diramazione dei segnali. Tale tipo di

10
struttura trova largo impiego nei sistemi in cui, ad un certo numero di utenti periferici localizzati in
corrispondenza delle foglie dell'albero, viene offerta una pluralit di servizi da un centro localizzato
nella radice. Un tipico esempio di LAN a banda estesa con topologia ad albero rappresentato dalle
reti di distribuzione televisiva su cavo (Cable TV-CATV). In questo caso, la banda del mezzo
trasmissivo suddivisa in canali, ognuno dei quali trasporta un distinto segnale televisivo. Accanto
a questi possono essere previsti altri canali dedicati alle procedure di controllo. I canali televisivi
sono di tipo unidirezionale, mentre i canali di controllo possono essere anche bidirezionali per
consentire alle apparecchiature d'utente il colloquio con il centro servizi localizzato nella radice
dell'albero.
V.1.5.

Strato MAC

Come gi detto in V.1.2, i protocolli MAC possono essere raggruppati in due categorie:
protocolli ad accesso casuale;
protocolli ad accesso controllato.
Nellaccesso casuale, ogni stazione emette quando ha una UI pronta e dopo aver eventualmente
accertato, nei limiti delle sue possibilit di verifica, lo stato di occupazione del mezzo di
comunicazione. Se il mezzo effettivamente libero, lemissione della UI ha successo. Se invece il
mezzo gi occupato e questo stato non stato accertato dalla stazione emittente, si verifica
collisione, con possibile perdita dellinformazione contenuta nella UI e con conseguente possibile
necessit di ri-emissione. Se il traffico offerto alla rete aumenta, cresce anche la probabilit di
collisione. Ci pu limitare il traffico utile che mediamente smaltibile dal sistema e pu essere
causa di instabilit nel funzionamento della rete. Il verificarsi di eventi di collisione caratterizza
quindi i protocolli ad accesso casuale, che conseguentemente sono anche detti protocolli MAC con
collisione.
Nellaccesso controllato, invece, non sono possibili collisioni. Per tale ragione questa classe di
protocolli MAC anche detta senza collisioni. Come si gi visto, in questo ambito si hanno
protocolli MAC con controllo centralizzato e altri con controllo distribuito. Un esempio di controllo
centralizzato fornito dal protocollo ad interrogazione (polling), mentre esempi di controllo
distribuito sono offerti dal protocollo a testimone e da quello a coda distribuita. Nel seguito ci
occuperemo esclusivamente dei protocolli a controllo distribuito.
V.1.6.

Aspetti prestazionali

Per qualificare prestazionalmente una funzione di accesso multiplo, soprattutto nel caso di
accessi con allocazione dinamica, si utilizzano normalmente due parametri:
- la portata della struttura di accesso, e cio il numero di cifre binarie che la struttura in
grado di trasferire con successo nellunit di tempo; ogni valore di portata in
corrispondenza con un valore di carico, e cio di numero complessivo di cifre binarie
che tentano laccesso nellunit di tempo e che includono in generale, accanto alle cifre
trasferite con successo, anche quelle soggette a insuccesso;
- il ritardo di trasferimento, e cio lintervallo di tempo tra listante di generazione di una
unit informativa alla stazione di origine e listante in cui questa UI correttamente
ricevuta dalla stazione di destinazione.
Nella determinazione di questi parametri, si considerano usualmente solo i contributi legati alla
gestione dellaccesso multiplo. Inoltre portata, carico e ritardo di trasferimento sono variabili in
generale caratterizzabili solo in termini probabilistici e sono normalmente valutate attraverso i loro
momenti (in particolare attraverso i loro valori medi ed eventualmente le loro varianze), nellipotesi
che sussistano condizioni di equilibrio statistico tali da assicurare lindipendenza di questi momenti
dallistante di osservazione del sistema di accesso e dalle condizioni iniziali della sua evoluzione.
Infine portate e carichi medi sono usualmente espressi in forma normalizzata assumendo come
riferimento la capacit di trasferimento del mezzo di comunicazione (cfr. III.1.1). Anche il valore

11
medio del ritardo di trasferimento usualmente espresso in termini normalizzati: in questo caso il
riferimento la durata media di una unit informativa nel suo trasferimento attraverso il sistema
multi-accesso.
Si osserva che la portata media normalizzata, nel seguito denotata con la lettera S, coincide in
questo contesto con il rendimento di utilizzazione del mezzo di comunicazione. Trattasi quindi di
una quantit che non mai superiore allunit e che esprime lintensit media del traffico smaltito
dalla struttura di accesso. Corrispondentemente il carico medio normalizzato, nel seguito indicato
con il simbolo G, pu essere interpretato come intensit media di traffico offerto alla rete: i suoi
valori possono essere considerati come variabili indipendenti, con la possibilit di essere superiori
allunit e con lunica limitazione imposta dalleventuale esigenza di non sollecitare il sistema di
accesso verso condizioni di instabilit.
I parametri S e G e la variazione del primo parametro in funzione del secondo sono spesso
utilizzati per indicare in quale misura un sistema multi-accesso smaltisce mediamente il traffico che
gli viene offerto, sempre in termini medi, dalle stazioni accedenti.
Circa i ritardi di trasferimento si possono sottolineare due punti importanti per la
caratterizzazione di uno specifico sistema multi-accesso:
un primo punto riguarda come il valor medio del ritardo di trasferimento si comporta in
funzione della portata media; come intuitivo, massimizzare la portata media e
minimizzare il valor medio del ritardo di trasferimento potrebbero apparire obiettivi
attraenti, ma in generale sono anche obiettivi contrastanti;
un secondo punto si riferisce al comportamento della varianza del ritardo di
trasferimento sempre in funzione della portata media; per un fissato valore di S, il valore
assunto da questa varianza una possibile misura del grado di trasparenza temporale che
caratterizza il sistema multi-accesso considerato nelle fissate condizioni di smaltimento
di traffico.
Una misura dellefficienza di un protocollo di accesso fornita dallutilizzazione del canale:
questa rappresenta la massima portata media normalizzata che la rete in grado di smaltire e,
coerentemente con quanto detto in precedenza, definita come il rapporto fra la massima intensit
di traffico smaltito dalla rete e la capacit di trasferimento del mezzo di comunicazione.
Per mostrare come la condivisione del mezzo influenza i valori di utilizzazione U del canale,
ricaviamo una espressione di questo parametro nel caso di un accesso perfetto, in cui limpegno del
canale nel trasferimento di una UI determinato solo dal tempo di trasmissione della UI e dal
ritardo di propagazione tra le stazioni di origine e di destinazione. Ci consentir di mettere in
evidenza quali siano i vincoli che agiscono su U indipendentemente da specifici meccanismi di
accesso. A tale scopo, con riferimento ad un accesso multiplo con allocazione dinamica, indichiamo
con:
R
la capacit di trasferimento (in bit/s) del mezzo di comunicazione;
D
il massimo ritardo di propagazione (in s) fra due stazioni che accedono al mezzo;
L
la lunghezza (in bit) di una UI tipica che transita sul mezzo di comunicazione;

la lunghezza del canale trasmissivo normalizzata rispetto alla lunghezza di una UI tipica.
Osserviamo che il prodotto RD rappresenta la lunghezza del canale trasmissivo espressa in bit, e
cio il numero massimo di bit che possono essere in transito tra le estremit del mezzo di
comunicazione ad un qualsiasi istante di osservazione. In base alle definizioni risulta allora:
RD
D
=
=

L
L/ R
Pertanto il parametro anche uguale al rapporto tra
- il massimo ritardo di propagazione D tra due stazioni che accedono al mezzo;
- il tempo L/R richiesto per la trasmissione di una UI tipica.
Valori del parametro in una LAN sono nellintervallo 0,01 - 0,1. Esistono tuttavia casi (ad es.
nellaccesso multiplo in collegamenti via satellite) in cui il ritardo di propagazione prevale sul
tempo di trasmissione, con la conseguenza che il parametro assume valori maggiori dellunit.

12
Supponiamo, con riferimento ad un accesso perfetto, che:
il meccanismo di accesso consenta un solo trasferimento alla volta;
il traffico offerto al sistema comporti trasferimenti senza soluzione di continuit;
i trasferimenti non richiedano extra-informazione;
il ritardo di propagazione non varii modificando le stazioni tra cui avviene il
trasferimento.
In base a tali ipotesi, il valore massimo maxS della portata media esprimibile come rapporto
tra i valori netti e lordi dei tempi necessari per trasferire una UI: mentre il valore netto il tempo di
trasmissione L/R, il valore lordo differisce da quello netto per il ritardo di propagazione D. Si ha
quindi
L/ R
1
1
max S =
=
=

D + L / R 1 + RD / L 1 +
Conseguentemente lutilizzazione U del canale espressa da
1

U=
1+
Si vede allora che il parametro U unitario solo nel caso ideale in cui a uguale a zero (cio
quando il ritardo D nullo) e assume un valore uguale a 1/(1+), indipendentemente dal
meccanismo di accesso. Per ogni fissato valore di , che dipende unicamente dalle caratteristiche
fisiche del trasferimento (ritardo di propagazione, capacit di trasferimento del mezzo, lunghezza
delle UI), risulta fissato il valore di U. Pi in particolare:
- valori di U maggiori di 0,5 possono essere ottenuti scegliendo le quantit R e L in modo
che il rapporto L/R sia prossimo a D ( 1); ne segue che, in presenza di elevati valori
di ritardo di propagazione, il raggiungimento di questo obiettivo pu ottenersi con
lunghezze L decisamente maggiori della capacit R;
- valori di U maggiori di 0,9 richiedono rapporti L/R superiori a 10D ( 0,1);
conseguentemente se il ritardo di propagazione di modesta entit (come si verifica, ad
es., nelle LAN) e se si desiderano elevate capacit di trasferimento (ad es. maggiori di
100 Mbit/s) necessario impiegare UI di lunghezza particolarmente elevata (ad es., con i
valori di D e di R sopra ipotizzati, L dovrebbe avere valori maggiori di 3.200 byte.
Circa landamento della portata media in funzione del carico medio in un accesso multiplo
perfetto, la figura V.1 mostra questo andamento, dal quale risulta che S cresce linearmente con G
fino a raggiungere il valore maxS che parametrato al variare di .
Si nota infine che, con i valori tipici del parametro in una LAN (normalmente minori di 0,1),
maxS non dovrebbe essere inferiore a circa 0,91. In effetti linfluenza del metodo di accesso tale
che, per vari protocolli MAC, maxS assume valori decisamente inferiori.
In Fig. V.1.8 mostrato landamento della portata media in funzione del carico medio in un
accesso multiplo perfetto: i valori in ascissa e in ordinata sono normalizzati rispetto alla capacit R e
i massimi di portata media sono parametrati al variare di .

13
= 0,1

Portata media

0,9

=1

0,5

=5

0,2

= 10

0,1

0,1 0,2

0,5

0,9

Carico medio

Figura V.1.8 Andamento della portata media in funzione del carico medio
in un accesso multiplo perfetto e per vari valori del parametro
V.1.7.

Protocolli ad accesso casuale

A causa della semplicit delle loro procedure, i protocolli ad accesso casuale sono facilmente
realizzabili e relativamente poco costosi ed hanno avuto una larga applicazione sia in LAN di tipo
commerciale, che in altri sistemi multi-accesso. In particolare, essi si adattano ad ambienti
caratterizzati da un elevato numero di stazioni, ognuna delle quali offre un traffico di tipo
interattivo, altamente intermittente.
Esistono numerosi schemi di protocolli ad accesso casuale, che si differenziano principalmente
per le strategie seguite nel ridurre il numero di collisioni, o, comunque, per limitarne leffetto sulle
prestazioni della rete. A caratterizzare ciascuna di queste strategie e a condizionarne le prestazioni
lintervallo di vulnerabilit, e cio lintervallo massimo di tempo entro cui una stazione pu iniziare
una emissione e collidere con unaltra emissione.
In questi schemi di protocolli si incontrano due alternative per la gestione dellasse dei tempi:
questo infatti indiviso (unslotted) o suddiviso in intervalli temporali (slotted); nel secondo caso le
stazioni debbono essere sincronizzate in modo che la emissione di una UI cominci con linizio di un
intervallo temporale (IT).
Nel seguito di questa sezione saranno presentati i protocolli MAC della famiglia ALOHA e ne
verranno valutate le prestazioni utilizzando un modello elementare. Altri protocolli ad accesso
casuale saranno trattati nella sezione seguente.
Il protocollo ALOHA stato sviluppato (agli inizi degli anni 70) per una rete radio
multiaccesso presso lUniversit delle Hawaii, ove pi stazioni periferiche erano logicamente
connesse da un unico canale ad una stazione centrale. Il suo principio-chiave si adatta per ad una
qualsiasi rete con esigenze di accesso multiplo con allocazione dinamica. E il pi semplice
protocollo ad accesso casuale. Verr qui chiamato ALOHA puro, per distinguerlo da una
successiva versione, che verr trattata nel seguito. In un sistema di accesso basato sullo schema
ALOHA puro lasse dei tempi indiviso.
Il principio base del protocollo ALOHA puro il seguente:
una stazione pu emettere una UI non appena questa disponibile; viene quindi
applicata la direttiva trasmetti subito (senza preoccuparti delle iniziative di altre
stazioni);
se la stazione emittente non riceve un riscontro positivo dalla stazione di destinazione
entro un determinato intervallo di tempo (time-out), si assume che si sia verificata una
collisione;

14

occorre allora riemettere la UI corrispondente; per evitare nuove collisioni si rende


casuale la riemissione; cio questa viene ritardata di un intervallo di tempo calcolato in
base ad un algoritmo di subentro (back off).
Per valutare le prestazioni di questo e di altri protocolli ad accesso casuale, assumiamo un
modello elementare, secondo il quale:
- tutte le UI hanno uguale lunghezza;
- alla emissione di una UI possono seguire solo due eventi:
collisione con distruzione completa dellinformazione portata da quella UI;
ricezione esente da errori (recapito con successo);
- la reazione sulle stazioni emittenti al verificarsi di questi due eventi istantanea; cio
chi emette riceve informazione immediata sullesito della sua emissione;
- la emissione di ogni UI che ha subito una collisione viene ripetuta finch la UI non
stata recapitata con successo; una stazione con una UI da riemettere si dice prenotata
(backlogged).
- le stazioni sono in numero infinito e ogni nuovo arrivo di UI perviene ad una nuova
stazione.
Indichiamo poi con R, D e L le quantit definite in IV.8.6. A complemento del modello per
accesso multiplo casuale e con riferimento specifico a protocolli della famiglia ALOHA si osserva
che il processo di arrivo complessivo delle UI alla rete la sovrapposizione di due componenti: una
costituita dai nuovi arrivi e cio da UI che vengono emesse per la prima volta; laltra formata
dalle UI che vengono ri-emesse. Per entrambi questi processi si assume un modello di arrivo
poissoniano; conseguentemente poissoniano anche il processo di arrivo complessivo. Pi in
particolare, nellambito di queste ipotesi, si indica con:

la frequenza media del processo dei nuovi arrivi;


G/T la frequenza media del processo degli arrivi complessivi,
ove G il carico medio normalizzato e T = L/R il tempo di trasmissione di una UI.
Si nota che
assumere poissoniano il processo dei nuovi arrivi rientra in una scelta modellistica che
normalmente lontana dalla realt, ma che pu essere accettabile ove la si consideri un
riferimento per soli scopi di confronto;
assumere poissoniano anche il processo degli arrivi legati alla ri-emissione
giustificabile solo se le ri-emissioni da parte delle stazioni prenotate sono
sufficientemente casualizzate.
Come evidente deve essere G/T> . Inoltre, sempre in base alle ipotesi fatte, lintervallo di
vulnerabilit V in questo caso uguale a due volte la durata T di una UI
V = 2T ;
infatti, come appare in Fig. V.1.9, se una UI viene emessa a partire dallistante t0 (lemissione dura
quindi fino a t0+T), si ha collisione se almeno unaltra UI gi in corso di emissione nellintervallo
(t0 -T, t0 ) ovvero se almeno una ulteriore UI comincia ad essere emessa nellintervallo (t0, t0+T).
UI che vanno in collisione con la UI grigia

UI

Nessun arrivo =
nessuna collisione
t0T

t0

t0+T

t0+2T

Figura V.1.9 Per la determinazione dellintervallo di vulnerabilit


nel protocollo ALOHA puro

15
Con questo modello si pu determinare la portata media normalizzata S del sistema di accesso,
e cio il numero di tentativi di emissione andati a buon fine in un intervallo di tempo uguale alla
durata T di una UI. Questa portata uguale a
S = p0 G ,
ove p0 la probabilit che una UI non subisca collisione nellintervallo di vulnerabilit V = 2T.
Tenendo conto che, in base al carattere poissoniano degli arrivi complessivi, la probabilit Pk(X) di
avere k arrivi complessivi in un intervallo di tempo di durata X uguale a
k

X
G G X
T
Pk ( X ) =
e T
k!
e, poich per definizione p0 =P0(V), ne segue che

p0 = e 2G ,

da cui si ottiene

S = G e 2G .
Con riferimento al protocollo ALOHA puro, la Fig. V.1.10 mostra landamento, secondo
lespressione ora ricavata, della portata media S in funzione del carico medio G. Entrambi i valori S
e G sono normalizzati.
Come facile verificare, il massimo valore della portata media si ottiene per G=0,5 ed
uguale ad S = 1/2e 0,184. Ci stabilisce che il canale non pu essere mediamente utilizzato per
pi del 18% della sua capacit di trasferimento.
Per G > 0,5, la portata media diminuisce, come attestazione di uno stato di instabilit. Ci pu
essere spiegato con la circostanza che, allaumentare del carico medio, la probabilit di collisione
via via aumenta, determinando una diminuzione progressiva della quota parte di impegno utile del
canale.
0.2
0.18

Portata media

0.16
0.14
0.12
0.1
0.08
0.06
0.04
0.02
0
0

0.5

1.5

2.5

3.5

Carico medio

Figura V.1.10 Portata media del protocollo ALOHA puro


Alla famiglia dei protocolli ALOHA appartiene anche lo slotted ALOHA. Questo opera come
il protocollo ALOHA puro, ma con un asse dei tempi suddiviso in intervalli temporali (IT) di durata
fissa e quindi con una sincronizzazione tra le stazioni. La durata di un IT uguale al tempo di
trasmissione T di una UI. Ogni stazione vincolata ad iniziare lemissione delle proprie UI in
corrispondenza dellinizio di un IT. Con questo accorgimento lintervallo di vulnerabilit V nella
emissione si riduce alla durata T di un IT
V =T .
La portata media del protocollo slotted ALOHA si ottiene con procedimento del tutto analogo a
quello seguito per il protocollo ALOHA puro, tenendo conto che in questo caso V = T; quindi

p0 = e G .
La portata media normalizzata S data allora da

16

S = G e G .
In Fig. V.1.11 mostrato landamento corrispondente a questa espressione. Landamento di S
in funzione di G anche confrontato con quello corrispondente nel caso del protocollo ALOHA
puro. Come risulta, la diminuzione dellintervallo di vulnerabilit comporta un sensibile
miglioramento della portata media di rete, che in questo caso raggiunge il suo massimo per un
carico medio G = 1 e con un valore corrispondente che uguale al doppio di quello relativo al caso
ALOHA puro: cio maxS = 1/e 0,368.
0.4

Portata media

0.35

slotted ALOHA

0.3
0.25
0.2
0.15
0.1

ALOHA puro

0.05
0
0

0.5

1.5

2.5

3.5

Carico medio

Figura V.1.11 Portata media del protocollo slotted ALOHA


V.1.8.

I protocolli CSMA

Questi protocolli appartengono ancora alla famiglia delle procedure ad accesso casuale. Il loro
capostipite il protocollo CSMA (Carrier Sense Multiple Access), che adotta la direttiva ascolta
prima di parlare.
Secondo questa procedura, una stazione che desidera emettere ascolta se il canale occupato
da una emissione precedente: se il canale libero, la stazione emette; se il canale occupato, la
stazione ritarda lemissione ad un istante successivo. Nonostante questa cautela nellemissione di
una UI, il protocollo CSMA non evita le collisioni: ci a causa dei ritardi di propagazione che non
consentono ad una generica stazione in ascolto di avere una informazione completa sullo stato di
occupazione del canale. Ci mostrato in Fig. V.1.12, ove viene mostrato che tra due stazioni
avviene una collisione se esse accedono al canale in istanti che distano tra loro meno del ritardo di
propagazione tra le due stazioni.
1

Figura V.1.12 Eventi di collisione nel protocollo CSMA


Il protocollo CSMA deve gestire due problemi connessi alla reiterazione dei tentativi di
accesso
- in presenza di canale occupato;
- a seguito di collisioni.
Nel caso di canale occupato, l'istante successivo di emissione determinato in base ad una
procedura di persistenza; questa pu essere di tre tipi:

17
1-persistente;
0-persistente;
p-persistente (0 < p < 1);
il loro comportamento mostrato in Fig. V.1.13.
La procedura 1-persistente (Fig. V.1.13A) prevede che, se al momento dell'ascolto, il canale
occupato, la stazione continui l'ascolto del canale ed esegua la sua emissione non appena il canale
diventi libero.
La procedura 0-persistente ( Fig. V.1.13B ) differisce completamente dalla precedente. Infatti,
se il canale occupato, la stazione ritarda la emissione di un intervallo determinato attraverso
l'esecuzione di un algoritmo di subentro (backoff). Questo ha lo scopo di casualizzare il nuovo
accesso al canale e quindi di ridurre la probabilit di collisione.
Un comportamento intermedio fornito dalla procedura p-persistente (Fig. V.1.13C). In questo
caso, se il canale occupato, la stazione attende che ritorni nello stato di libero. A questo punto la
emissione avviene con probabilit p, mentre con probabilit 1-p la stazione attende ulteriormente un
intervallo la cui durata si calcola con l'algoritmo di subentro.
L'importanza dell'algoritmo di subentro dimostrata dal seguente esempio. Durante la
emissione di una UI, pi di una stazione pu effettuare l'ascolto del canale ottenendo lo stesso
risultato di canale occupato. Se il nuovo tentativo di emissione avvenisse dopo un intervallo di
tempo fisso, tutti i terminali eseguirebbero le operazioni di ascolto del canale alle stesse distanze
temporali reciproche in cui hanno effettuato la medesima operazione la prima volta. Ci causerebbe
un ulteriore ritardo nella emissione per effetto dell'occupazione del canale.
Emissione

A)
Prova del canale
(occupato)
Ritardo di subentro

Ritardo di subentro
Emissione

B)

Prova del canale


(occupato)

Prova del canale


(occupato)

Ritardo di subentro
(probabilit 1-p)

Prova del canale


(libero)

Emissione
(probabilit p)

C)

Prova del canale


(occupato)

Prova del canale


(occupato)

Figura V.1.13 Effetto delle procedure di persistenza:


A) 1- persistente; B) 0-persistente, C) p-persistente
Confrontando le varie procedure di persistenza, si pu osservare che:
- la procedura 1-persistente potrebbe portare a buoni valori di portata media in quanto il
canale non pu andare a riposo finch esiste almeno una stazione che deve emettere, ma
ha lo svantaggio di causare una collisione, con probabilit 1, se pi stazioni ascoltano il
canale durante una emissione;
- la procedura 0-persistente in grado di ridurre questo svantaggio rendendo casuale
l'istante di inizio di un tentativo di emissione;
- la procedura p-persistente consente, valutando opportunamente il valore del parametro p,
di ottimizzare le prestazioni del protocollo in funzione dei particolari parametri di rete e
di traffico incontrati.

18
Come appare chiaro dalla descrizione del protocollo CSMA, pu accadere che, anche se il
canale rivelato libero, due o pi stazioni emettano contemporaneamente: ci provoca una
collisione e causa quindi la perdita delle informazioni. Infatti, detto D il ritardo di propagazione da
estremo a estremo sul canale, una stazione A, che abbia inserito una unit informativa in rete pu
subire interferenze da parte delle stazioni che hanno ascoltato il canale trovandolo libero e che
hanno quindi cominciato a emettere nell'intervallo compreso fra -D e +D rispetto all'inizio della
emissione dell'unit informativa da parte della stazione A. Pertanto, nel protocollo CSMA,
l'intervallo di vulnerabilit dato da
V = 2D .
evidente che V un parametro che influenza pesantemente le prestazioni del protocollo,
giacch il numero di collisioni, e quindi l'intervallo di tempo necessario a emettere con successo
una unit informativa, risulta crescente con l'aumentare di V e del carico medio. Tanto pi la rete
estesa, tanto pi elevati sono i valori di V e della probabilit di collisione. Per questa ragione il
protocollo CSMA non pu essere utilizzato in reti molto estese, pena una sensibile riduzione del
valor massimo della loro portata media.
Per superare queste limitazioni stato definito il protocollo CSMA/CD (Collision Detection),
che si distingue dal CSMA per il fatto che le stazioni, oltre alla strategia "ascolta prima di parlare",
utilizzano anche quella "ascolta mentre parli" per tutta la durata della emissione. In questo modo le
stazioni sono in grado di rivelare le collisioni confrontando la sequenza di bit emessa con quella
ricevuta. Tale accorgimento ha il vantaggio di consentire l'interruzione della emissione di una unit
informativa nell'istante in cui la collisione viene rivelata e quindi di ridurre il tempo di occupazione
non utile del canale. Quando viene rivelata una collisione, la emissione viene, come detto,
interrotta. L'istante in cui sar effettuato il tentativo successivo determinato utilizzando l'algoritmo
di subentro.
Circa la modalit di rivelazione di una collisione, questa funzione svolta sulla base di un
confronto tra ci che si sta trasmettendo e ci che ascoltabile sul canale. Se ci che viene letto
differente da ci che viene emesso, la stazione deduce che avvenuta una collisione. E quindi
importante che la codifica del segnale sia tale da rendere possibile questo confronto e che il risultato
della avvenuta collisione pervenga alla stazione emittente mentre lemissione ancora in corso. Per
rispondere poi al secondo requisito, occorre impiegare UI di lunghezza maggiore di un limite
definito. Per determinare questo limite, indichiamo con:
T1 il tempo necessario alla rivelazione di una collisione;
T2 il tempo di permanenza del canale nello stato di avvenuta collisione;
Tc il tempo totale necessario affinch tutte i terminali interrompano la emissione.
Si riconosce facilmente che
Tc = 2 D + T1 + T2 ,
come viene chiarito in Fig. V.1.14: infatti se le stazioni A e B sono poste agli estremi del canale
trasmissivo ed iniziano a emettere rispettivamente negli istanti t0A e t0A+D , la stazione A in
grado di rivelare la collisione nell'istante t0A+2D+T1 per poi mantenere lo stato di collisione del
canale fino all'istante t0A+2D+T1+T2, istante entro il quale tutte le emissioni sono interrotte.

19
Il nodo B inizia
la emissione
t0A + D
D

t0A
Il nodo A inizia
la emissione

T1

T2

t0A +2D +T1 +T2


Fine periodo di
collisione

Figura V.1.14 Tempo di rivelazione di una collisione nel protocollo CSMA/CD


Conseguentemente, per mettere in condizioni tutte le stazioni, in particolare quelle a distanza
massima, di rivelare una collisione, la durata T di una PDU di strato MAC CSMA/CD, deve essere
non inferiore al minimo di Tc e cio a 2D+T1. Ne segue che deve risultare
L
2 D + T1 ;
R
quindi una PDU di strato MAC non pu avere lunghezza inferiore a
min L = ( 2 D + T1 )R .
Nel caso di una LAN in cui D uguale a 25,6 s, la lunghezza minima di una PDU di strato MAC
uguale a 64 bytes quando R = 10 Mbit/s. Se invece fosse R = 1 Gbit/s, risulterebbe min L = 6.400
bytes.
Il problema pi importante che occorre considerare nell'uso del protocollo CSMA/CD, ed in
generale in tutti i protocolli ad accesso casuale, riguarda la degradazione delle prestazioni ad alto
traffico. In particolare, questa si verifica poich, quando il carico medio sulla rete cresce, il numero
delle collisioni tende ad aumentare e quindi aumenta il tempo in cui il canale non disponibile per
le emissioni. Se il traffico supera un determinato valore di soglia, la durata di occupazione del
canale per le collisioni e quindi per emissioni senza successo diviene via via preponderante rispetto
a quella spesa in emissioni utili, fino ad impedire le emissioni stesse. Per questa ragione
lutilizzazione del canale non pu andare oltre a valori nell'intervallo 0,60,7.
E interessante, se non altro a scopo di confronto con lo schema di accesso perfetto e con i
protocolli della famiglia ALOHA, valutare la portata media di un sistema che adotta il protocollo
CSMA/CD. Ci riferiamo, per semplicit, ad una procedura 1-persistente e assumiamo il modello
elementare di accesso multiplo casuale gi utilizzato per i protocolli ALOHA.
Supponiamo che allistante t0 una delle stazioni accedenti abbia completato lemissione di una
UI; allora una qualunque delle stazioni aventi una UI da emettere pu tentare di farlo. Se due o pi
stazioni decidono di emettere simultaneamente ci sar una collisione; ognuna di queste stazioni
riveler la collisione e di conseguenza cesser la sua emissione, aspettando che il canale trasmissivo
si liberi prima di procedere ad un successivo tentativo. Pertanto nel funzionamento del sistema di
accesso si distinguono tre intervalli temporali:
- uno di emissione, nel corso del quale il canale trasmissivo impegnato nel trasferimento di
una UI;
- uno di contesa, comprendente i tentativi di emissione da parte di stazioni che hanno UI da
emettere;
- uno di riposo, che si presenta quando tutte le stazioni sono in uno stato inattivo.
La prestazione del protocollo dipende dalla durata dellintervallo di contesa (oltre che da quella
dellintervallo di emissione). Per analizzare la durata del primo di questi intervalli entriamo nel
dettaglio dellalgoritmo di accesso.
Supponiamo che due stazioni comincino entrambe ad emettere esattamente al tempo t0; si
renderanno conto che si verificata una collisione dopo un intervallo di tempo che al pi uguale a
2D. In altre parole, nel caso peggiore, una stazione non pu essere sicura di avere occupato il canale
T=

20
con successo finch essa non ha trasmesso per una durata uguale a 2D senza aver percepito una
collisione. Per questa ragione, lintervallo di contesa pu essere rappresentato come suddiviso in
intervalli temporali (IT di contesa) di durata 2D. Per brevit, nel seguito, gli IT di contesa saranno
indicati con ITC.
Per valutare la durata dellintervallo di contesa, ipotizziamo che la struttura di accesso operi in
condizioni di carico elevato e costante e che di conseguenza esistano sempre N stazioni (N>0)
pronte ad emettere. Indichiamo poi con

la probabilit che una stazione (una tra le N) emetta durante un ITC;


P
la probabilit di successo, e cio la probabilit che una stazione (tra le N) acquisisca
laccesso durante quellITC.
Con queste notazioni la probabilit di successo esprimibile con

P = N ( 1 ) N 1 .
La probabilit P, come funzione di , presenta un massimo, maxP , per =1/N; questo
massimo uguale a
N 1

max P = 1
N

ed una funzione di N monotona decrescente, che tende ad 1/e quando N tende allinfinito. E
tuttavia da osservare che, gi per N 5, maxP 0,41 (valore molto prossimo a 1/e 0.37).
Daltra parte, poich la probabilit che lintervallo di contesa contenga esattamente n ITC
uguale a P(1-P)n-1, il numero medio di ITC in un intervallo di contesa dato da

1
nP( 1 P )n 1 =
P
n =0
Dato che, per ipotesi, ogni ITC ha una durata 2D, lintervallo di contesa ha una durata media C
che uguale a 2D/P. Assumendo il valore di che massimizza P, il numero medio di ITC per
intervallo di contesa non mai maggiore di e C quindi al pi uguale a 2De.
In conclusione, per trasferire una UI, il meccanismo del protocollo CSMA/CD con procedura
1-persistente richiede che al tempo di trasmissione L/R si aggiunga la durata media C di un
intervallo di contesa; conseguentemente la portata media S esprimibile con
L/ R
1
,
S=
=
L / R + 2 D / P 1 + 2a / P
ove a= DR/L il parametro definito in V.1.6. Inoltre lefficienza U del canale (tenendo conto che
C 2De) data da
1
U=

1 + 2ea
Ad esempio, per D = 25,6 s, L = 64 byte e R = 10 Mbit/s, risulta U = 0,42.
Con riferimento allo standard IEEE 802.3, la procedura di emissione dello strato MAC nel
protocollo CSMA/CD, la seguente:
- accettare i dati dallo strato LLC e formare la MAC-PDU;
- presentare un flusso di dati seriale allo strato fisico per la codifica e per la successiva
emissione;
- se il canale libero, procedere subito allemissione;
- se il canale occupato, ritardare lemissione secondo quanto indicato da una delle
procedure di persistenza;
- se non si rivelano collisioni, portare a termine lemissione;
- se rivelata una collisione, interrompere subito lemissione e svolgere una procedura di
imposizione di collisione (collision enforcement) per segnalare levento alle altre
stazioni;
- eseguire poi lalgoritmo di subentro per decidere quando deve essere riemessa la PDU
andata in collisione;

21
-

assicurare che
due PDU consecutive siano separate da un intervallo di durata non inferiore a un
valore specificato (tempo di intertrama);
le PDU abbiano lunghezza non inferiore al valore minimo.
Per quanto riguarda la procedura di ricezione, questa richiede di:
- ricevere un flusso seriale di dati dallo strato fisico;
- presentare allo strato LLC le PDU indirizzate alla stazione locale.
L'algoritmo di subentro definito nello standard IEEE 802.3 di tipo esponenziale binario
troncato (truncated binary exponential backoff) ed ha lo scopo di determinare l'intervallo di tempo
al termine del quale avviene un nuovo tentativo di emissione dopo una collisione. Assumendo come
unit di tempo l'intervallo temporale corrispondente al massimo ritardo di propagazione D
l'algoritmo di subentro fornisce, per la n-ma ri-emissione, un numero casuale intero uniformemente
distribuito nell'intervallo (0, 2k), dove k = [0, min(n,10)].
La procedura di imposizione di collisione ha lo scopo di garantire che la durata della collisione
sia sufficiente a che tutti i terminali coinvolti in essa siano in grado di rivelare la collisione. La
configurazione di bit da emettere per segnalare l'avvenuta collisione non specificata e pu essere
qualunque; la sua lunghezza invece fissata in 32 bit.
In Fig. V.1.15 riportata la struttura della MAC-PDU del protocollo CSMA/CD. In particolare
il significato dei singoli campi il seguente:
- Preambolo: ha lunghezza uguale a sette ottetti ed assicura la sincronizzazione della stazione
con l'inizio della MAC PDU;
- Delimitatore di inizio trama: una sequenza di otto bit (10101011) che indica l'inizio della
MAC PDU;
- Indirizzi di destinazione e di sorgente: indicano rispettivamente la stazione di destinazione
e di sorgente; possono avere lunghezza uguale a 16 o 48 bit;
- Lunghezza: indica la lunghezza (in ottetti) del campo dati di strato LLC e comprende anche
la lunghezza dell'eventuale campo PAD;
- Dati di strato LLC: questo campo contiene i dati dello strato LLC;
- PAD: inserito nel caso che la lunghezza del campo dati di strato LLC non sia sufficiente
per raggiungere la lunghezza minima di PDU necessaria per assicurare la correttezza delle
operazioni di riconoscimento delle collisioni;
- FCS: ha una lunghezza di 32 bit con l'usuale significato verr chiarito nel par. V.2;
calcolato sulla base dei bit della trama compresi tra il campo delimitatore di inizio trama ed
il campo FCS.
7 ottetti
1 ottetto

Preambolo
Delimitatore di inizio trama

2 o 6 ottetti

Indirizzo di destinazione

2 o 6 ottetti

Indirizzo di sorgente

2 ottetti

Lunghezza

Dati di strato LLC

PAD
4 ottetti

FCS

Figura V.1.15 Formato della MAC-PDU del protocollo CSMA/CD

22
V.1.9.

Protocolli ad accesso controllato

Il protocollo a testimone su bus (token bus) ad accesso controllato in quanto consente ai


terminali connessi ad una rete a bus di accedere al mezzo solo quando sono in possesso di una
particolare PDU di controllo chiamata testimone. descritto nello standard IEEE 802.4.
Il testimone trasferito da una stazione all'altro lungo un anello logico sul bus. La definizione
della sequenza dei terminali sull'anello logico completamente indipendente dalla loro posizione
fisica sul bus. Una stazione viene in possesso del testimone quando rivela, sul bus, il transito del
testimone recante il proprio indirizzo.
Durante il funzionamento normale, la rete passa ciclicamente attraverso due fasi: 1) la fase di
emissione, in cui la stazione che possiede il testimone emette la propria unit informativa; 2) la fase
di trasferimento del testimone in cui la stazione che ha concluso la sua emissione trasferisce il
testimone alla stazione che lo segue sull'anello logico, dopo aver posto l'indirizzo di questo
all'interno del testimone stesso.
Per consentire il trasferimento corretto del testimone tra le varie stazioni, ognuna di queste
deve conoscere il proprio indirizzo, quello della stazione che lo precede e quello della stazione che
la segue sull'anello logico.
In Fig. V.1.16 rappresentato un possibile anello logico ricavato tra i terminali di un bus
bidirezionale.

Anello
logico

4
3

5
2

Fig. V.1.16 - Creazione di un anello logico su un bus bidirezionale.


evidente che la sequenza delle stazioni sull'anello logico pu essere qualsiasi e non dipende
in alcun modo dalla disposizione fisica di queste sul bus. La circolazione del testimone avviene nel
seguente modo. Una stazione, ad esempio la 5, rivela sul bus la presenza del testimone a lei
indirizzato; se ha informazione da emettere, esegue la emissione. Al termine di questa rilascia il
testimone con l'indirizzo della stazione 3, che quella successiva nell'anello logico.
Una caratteristica fondamentale del protocollo a testimone su bus che il tempo di ciclo, e cio
il tempo che intercorre tra due successive visite del testimone ad una stessa stazione e quindi tra due
successive opportunit di emissione, ha un valore massimo finito ed uguale alla somma dei tempi di
trasferimento del testimone e di emissione delle MAC PDU in tutti i terminali. Tale caratteristica
consente quindi di garantire ad una stazione, in qualsiasi condizione, un valore minimo di traffico
smaltibile dalla rete.
Da tale caratteristica emerge che il principale vantaggio offerto dal protocollo a testimone su
bus, rispetto a quello CSMA/CD, consiste nell'assenza di fenomeni degenerativi delle prestazioni. I
protocolli a testimone riescono infatti a garantire un valore stabile di traffico smaltito anche se il
traffico offerto supera la portata massima della rete.
I vantaggi precedentemente elencati sono ottenuti al prezzo di una considerevole
complicazione della struttura della rete e delle funzionalit di ogni singola stazione. Infatti, ognuna
di queste, oltre a quelle di accesso, deve eseguire le seguenti funzioni di gestione:
- inizializzazione dell'anello logico e creazione del testimone;
- gestione del testimone, cio sua ri-emissione in caso di distruzione, riconoscimento e
cancellazione di testimoni multipli, ecc.;
- inserimento delle stazioni nell'anello logico e loro rimozione;

23
- recupero delle funzionalit di rete in caso di guasti;
- riconoscimento ed aggiornamento degli indirizzi.
La gestione del testimone l'elemento pi delicato del protocollo. Infatti per cause accidentali
pu accadere che il testimone sia perso, causando l'interruzione del servizio di rete. Le ragioni che
possono portare alla perdita del testimone sono da individuarsi nel guasto di una stazione, che non
rilancia il testimone, o negli errori di linea, che rendono inintelligibile il contenuto del testimone
stesso. Per fronteggiare situazioni di questo tipo occorre prevedere opportune procedure di controllo
della rete.
Il formato generale delle PDU impiegate nel protocollo a testimone sul bus riportato in Fig.
V.1.17. Pi in particolare la Fig. V.1.17A presenta la MAC PDU, mentre la Fig. V.1.17B relativa
al PDU token. I campi contenuti nella MAC PDU hanno il seguente significato:
preambolo: una sequenza trasmessa prima di qualsiasi MAC PDU per sincronizzare la
stazione remota; deve avere lunghezza tale da assicurare una durata di almeno 2 s (ad
esempio, per ritmi binari di 10 Mbit/s deve essere lunga almeno 3 ottetti);
delimitatore di inizio trama: un ottetto avente struttura fissa che indica l'inizio della
trama e che codificato come NN0NN000, dove N un simbolo MAC non utilizzato per
i dati e ottenuto con la tecnica della violazione del codice di Manchester utilizzato nella
trasmissione;
controllo: un ottetto utilizzato per distinguere tra PDU di controllo MAC, PDU di dati
di strato LLC e PDU di gestione delle stazioni;
indirizzi di destinazione e di sorgente: identificano rispettivamente la stazione di
destinazione e quella di sorgente; possono avere lunghezza uguale a 16 o 48 bit.
dati di strato LLC: contiene i dati dello strato LLC;
FCS: lungo quattro ottetti per la rivelazione degli errori di trasmissione;
delimitatore di fine trama: un ottetto, che indica la fine della PDU e che codificato
come NN1NN1IE,
dove N lo stesso simbolo utilizzato nel delimitatore d'inizio di trama, 1 un bit uguale a "1", I il
bit intermedio ed E il bit d'errore.
7 ottetti

Preambolo
Delimitatore di inizio trama

X ottetti

Preambolo

2 o 6 ottetti

Indirizzo di destinazione

1 ottetto

Delimitatore di inizio trama

2 o 6 ottetti

Indirizzo di sorgente

1 ottetto

1 ottetto

2 ottetti

Lunghezza

2 o 6 ottetti
2 ottetti

Indirizzo di destinazione
Indirizzo di sorgente

Dati di strato LLC


4 ottetti
PAD
4 ottetti

1 ottetto

FCS
Delimitatore di fine trama

FCS

(A)

(B)

Fig. V.1.17 - Strutture delle PDU del protocollo a testimone su bus:


(A) MAC PDU; (B) PDU token
I bit I ed E sono gestiti dai ripetitori di rete ed hanno il seguente significato:
bit I: se posto ad 1 indica che la stazione in trasmissione deve emettere altre PDU (questo
bit aiuta il ripetitore nella determinazione di che cosa segue il campo delimitatore di fine
trama);
bit E: posto ad 1 dal primo ripetitore che riveli un errore nella PDU.

24
A differenza del protocollo CSMA/CD, nel protocollo a testimone su bus non necessario che
la PDU abbia una lunghezza minima. In questo caso, infatti, non essendo presenti collisioni, una
emissione ha sempre esito positivo. La lunghezza del bus non deve essere quindi tenuta in conto.
Ci, evidentemente, aumenta l'efficienza del protocollo.
Il formato del MAC token (Fig. V.1.17B) differisce da quello di una generica MAC PDU per la
mancanza del campo di dati di strato LLC.
Lo standard IEEE 802.4 stabilisce in dettaglio la procedura di trasferimento del testimone. In
ogni istante una sola stazione in possesso del testimone ed ha quindi il diritto di emettere. Alla
fine della emissione dei dati, il testimone trasferito alla stazione successiva. Tale operazione
ripetuta se, entro un opportuno intervallo di tempo, la stazione non rivela nessuna PDU valida sul
bus. Se anche il secondo tentativo non ha successo, la stazione in questione inizia un'opportuna
procedura di recupero.
La procedura di recupero del testimone basata sulla emissione di una PDU di controllo, detta
Who_Follows, che contiene l'indirizzo della stazione che non ha fornito risposta. Tutti i terminali
della rete confrontano il valore del campo di dati della PDU Who_Follows ricevuta con l'indirizzo
del proprio predecessore (cio della stazione che normalmente gli spedisce il testimone). La
stazione il cui predecessore ha indirizzo uguale a quello letto diviene il nuovo successore della
stazione in possesso del testimone. Questa stazione trattiene il testimone e risponde alla sorgente
della PDU Who_Follows con la PDU Set_Successor , nel cui campo di dati scritto il suo indirizzo.
Risultato di questa procedura di recupero l'esclusione della stazione in errore o guasto dalla rete.
Il protocollo a testimone su anello (token ring) basato sullo stesso principio di quello a
testimone su bus, ma definito per essere utilizzato su reti con topologia ad anello. descritto nello
standard IEEE 802.5.
Il testimone circola sull'anello dando ciclicamente ad ogni stazione l'opportunit di accedere
alla rete (Fig. V.1.18A). Una stazione che in attesa di emissione pu impadronirsi del testimone e
iniziare la emissione quando il testimone transita attraverso la propria interfaccia (Fig. V.1.18B). La
stazione che inserisce una unit informativa in rete deve successivamente rimuoverla ed emettere un
nuovo testimone (Fig. V.1.18C).
1

1
Token

(A)

Emissione

(B)
3

Token
3

(C)

Fig. V.1.18- Fasi del protocollo a testimone su anello: (A) circolazione del token;
(B) cattura del token da parte di una stazione; (C) riemessione del token.
L'unit di dati nell'anello , come per gli altri protocolli, la MAC PDU, la cui struttura
rappresentata in Fig. V.1.19. In tale figura sono inoltre mostrati i formati del testimone e della
sequenza di arresto. Quest'ultima utilizzata per segnalare l'interruzione prematura della emissione
di una trama, e pu essere introdotta in qualsiasi momento durante la emissione.

25
MAC PDU
SD

AC

FC

SD

AC

FC

DA

SA

INFO

FCS

Sequenza
di arresto

Token

ED

FS

SD

AC

SD : Delimitatore d'inizio trama (1 ottetto);


AC : Controllo d'accesso (1 ottetto);
FC : Controllo di trama (1 ottetto);
DA : Indirizzo di destinazione (2 o 6 ottetti);
SA : Indirizzo di sorgente (2 o 6 ottetti);
INFO : Informazioni;
FCS : Frame Check Sequence (4 ottetti);
ED : Delimitatore di fine trama (1 ottetto);
FS : Stato della trama (1 ottetto).

Fig. V.1.19 Struttura della MAC PDU, del token e


della sequenza di arresto del protocollo a testimone su anello.
Il formato e la funzione di ciascun campo della MAC PDU riportato in Fig. V.1.20. In
particolare si possono distinguere:
- delimitatore di inizio trama (SD, Starting Delimiter): una sequenza di otto simboli;
quattro simboli di questo campo sono codificati attraverso una opportuna violazione del
codice di Manchester;
- controllo di accesso (AC, Access Control): contiene le informazioni per la gestione delle
priorit e l'identificatore del testimone; in particolare il significato dei bit il seguente:
i primi tre bit indicano la priorit del testimone e pertanto quale classe di utenti
autorizzata ad utilizzarlo;
il quarto bit il bit di testimone, ed il suo valore "0" in un testimone ed "1"
nelle altre MAC PDU; quando una stazione con una PDU in attesa di emissione
rivela un testimone circolante sull'anello, con priorit inferiore od uguale a quella
della PDU in attesa, pone ad "1" il bit di testimone, trasformando cos questo
nella sequenza di inizio della MAC PDU;

SD

AC

FC

DA/SA
(2 ottetti)

I/G

DA/SA
(6 ottetti)

I/G

ED

FS

Bit d'indirizzo

Bit d'indirizzo

I/L

J, K : Simboli di violazione
P : Priorit
T : Token
M : Monitor
R : Prenotazione
F : Tipo di trama
Z : Controllo

I/G : Indirizzo individuale o di gruppo


U/L : Indirizzo universale o locale
I : Indicatore di trama intermedia
E : Indicatore di errore
A : Indicatore di indirizzo riconosciuto
C : Indicatore di trama copiata
X : Bit riservati.

Fig. V.1.20 - Formato dei singoli campi della PDU del protocollo a testimone su anello.

il bit M detto bit di monitoraggio, ed utilizzato dalla stazione di controllo


della rete (che l'unica autorizzata a modificare tale campo) per rimuovere
quelle PDU che, per effetto di errori di trasmissione, si trovassero a circolare
indefinitamente sull'anello; la stazione di controllo legge il valore del bit M di
ogni MAC PDU che l'attraversa; se tale bit uguale a "0", lo sostituisce con il
valore "1", altrimenti rimuove tale MAC PDU dalla rete;

26

gli ultimi tre simboli di tale campo rappresentano i bit di prenotazione e


permettono ad una stazione di richiedere il livello di priorit con cui deve essere
emesso il successivo testimone.
- controllo di trama (FC, Frame Control): i primi due bit permettono di distinguere tra due
tipi di PDU:
00 PDU di controllo (contiene unit di dati relative al controllo di accesso);
01 PDU dati (contiene una LLC PDU);
nel caso di MAC PDU, i bit 3-8 di tale campo verranno interpretati come bit di
controllo, mentre nel caso di PDU di dati essi indicano la priorit dei dati
contenuti nella PDU;
- indirizzi di destinazione e di sorgente (DA, Destination Address; SA, Source Address):
contengono due indirizzi: quello della stazione di destinazione e quello della stazione di
origine; ognuno di questi campi di indirizzo pu essere lungo 2 o 6 ottetti; in ogni caso
tutte i terminali di una specifica LAN devono avere gli indirizzi di uguale lunghezza;
- informazione (I, Information): pu essere lungo 0,1 o pi ottetti e trasporta informazioni
relative allo strato MAC, allo strato LLC o alla gestione della rete;
- FCS: una sequenza di 32 bit ricavata da un polinomio generatore standard di grado 32
e utilizzata per rivelare eventuali errori che abbiano interessato i campi FC, DA, SA ed I
della MAC PDU;
- delimitatore di fine trama (ED, Ending Delimiter): come per il delimitatore di inizio, una
PDU valida deve presentare un'opportuna configurazione di simboli nei primi sei
sottocampi del campo ED; il sottocampo I indica, quando posto ad "1", che la PDU
attuale una frazione (eventualmente la prima) di una sequenza di PDU; infine se una
generica stazione, mediante il controllo di sequenza, rivela un errore sulla PDU, deve
porre ad "1" l'ultimo bit del campo ED (bit E).
- stato della trama (FS, Frame Status): i bit A e C di questo campo sono posti a zero dalla
stazione sorgente e vengono modificati dalla stazione di destinazione per indicare:
A = 1 PDU ricevuta correttamente;
C = 1 PDU copiata correttamente;
gli altri bit di questo campo sono riservati per ulteriori sviluppi del protocollo.
Per la rimozione delle PDU dall'anello , in linea di principio, possibile operare secondo due
differenti schemi: rimozione alla sorgente e rimozione a destinazione.
Nel primo caso, che quello previsto dallo standard, il nodo sorgente rimuove la PDU dopo
che questa ha percorso completamente l'anello; occorre osservare che tale operazione, oltre a
consentire un primo scambio di informazioni di riscontro tra sorgente e destinazione, non richiede
la decodifica dell'indirizzo di sorgente, e pertanto pu avvenire senza introdurre ulteriori ritardi.
Viceversa, nella rimozione operata dal terminale di destinazione, occorre decodificare
l'indirizzo di destinazione, e pertanto la ri-emissione della trama dovr essere ritardata fintantoch
non stato ricevuto il campo DA di questa. Tale schema consente tuttavia una migliore
utilizzazione della banda del canale se la lunghezza elettrica dell'anello maggiore della lunghezza
massima di una PDU.
Lo standard IEEE 802.5 prevede, due valori del ritmo binario in linea : e cio1 Mbit/s e 4
Mbit/s. Il numero massimo di terminali connettibili alla rete uguale a 72 o 260 in relazione al tipo
di mezzo trasmissivo utilizzato. Il primo valore si riferisce ad una coppia simmetrica non schermata,
mentre il secondo valido per coppie schermate.
V.1.10.

Realizzazione di LAN

Un esempio particolarmente significativo di applicazione delle tecniche protocollari


appartenenti alla famiglia CSMA fornito dalla rete Ethernet, che la LAN pi diffusa a livello

27
mondiale. I suoi principi architetturali sono stati definiti inizialmente nei primi anni 70 e sono
giunti ad un primo livello di definizione normativa nel 1983 a cura del gruppo 802 dellIEEE.
La topologia logica di questa LAN il bus bidirezionale a cui le stazioni accedono con un
opportuno punto di attacco (nodo): cio pi stazioni trasmettono su un unico mezzo di
comunicazione e tutte le stazioni ricevono contemporaneamente tutto quello che si trasferisce sul
mezzo.
Le unit informative trasferite vengono chiamate trame, ognuna delle quali reca al proprio
interno lindirizzo di origine e quello di destinazione. Ogni scheda di rete disponibile in commercio
caratterizzata da un indirizzo permanente unico costituito da 6 byte. I primi 3 byte sono assegnati
dalla norma ad ogni singolo costruttore, i restanti 3 sono assegnati dal costruttore alla singola
scheda.
Nella normativa definita inizialmente la velocit di trasmissione era di 10 Mbit/s in banda base
con codifica di tipo Manchester, in modo da facilitare lestrazione della temporizzazione da parte
delle stazioni. Sono per oggi ormai largamente impiegate velocit di trasmissione maggiori: ad es.
100 Mbit/s. E stata anche utilizzata la tramissione in banda estesa.
Il protocollo di accesso segue lo schema CSMA/CD 1-persistente. Per esso valgono quindi tutte
le considerazioni svolte nella prima parte di questa sezione.
I mezzi trasmissivi impiegati possono essere il cavo coassiale spesso (thick coax), il cavo
coassiale sottile (thin coax), il doppino ritorto ( twisted pair) e la fibra ottica.
La struttura realizzativa di una LAN Ethernet comprende segmenti e domini di collisione. Un
segmento la sezione di mezzo trasmissivo compresa fra due ripetitori; la sua lunghezza massima
determinata dal mezzo trasmissivo impiegato, con specifico riferimento alle sue caratteristiche di
attenuazione. Ogni segmento pu essere utilizzato per connettere stazioni alla rete oppure pu
essere solo di collegamento tra due ripetitori: nel primo caso si parla di segmenti popolati.
Relativamente a questi ultimi viene anche precisato il numero massimo di nodi inseribili su quel
segmento: questo numero anchesso dipendente dal tipo di mezzo trasmissivo impiegato.
Un dominio di collisione larea di rete in cui tutte le stazioni condividono il medesimo
traffico e quindi anche le medesime collisioni. In un dominio di collisione sono inclusi pi segmenti
tra loro connessi mediante ripetitori.
Per interconnettere due o pi domini di collisione si impiegano i bridge, che operano a livello
di strato 2, con il compito di filtrare le trame in transito facendo passare solo quelle dirette da un
dominio ad un altro. La tecnologia attuale permette di miniaturizzare i bridge ed integrarli in un
univo elemento di rete detto switch: questo nella sostanza un bridge ad alte prestazioni,
costituito da una molteplicit di interfacce anche a differenti velocit di trasmissione.
Una LAN Ethernet spesso indicata con 3 dati:
un primo dato specifica la velocit di trasmissione sul canale trasmissivo espressa in
Mbit/s;
un secondo dato precisa se la trasmissione in banda base o in banda estesa;
un terzo dato indica la massima lunghezza di un segmento di rete espressa in centinaia di
metri.
Ad esempio con 10Base5 si indica una LAN Ethernet che opera con una velocit di
trasmissione di 10 Mbit/s in banda base e con segmenti aventi una lunghezza massima di 500 m. Se
non sono forniti ulteriori dati, si deve intendere che il mezzo trasmissivo impiegato il coassiale
spesso o sottile: questi due casi si distinguono in quanto, ad es., con una velocit di trasmissione di
10 Mbit/s, la lunghezza massima di un segmento di 500 m nel caso di coassiale spesso e di circa
200 m nel caso di coassiale sottile. Se invece si adotta il doppino ritorto, ai 3 dati sopra precisati va
aggiunta la lettera T ; nel caso poi di utilizzazione della fibra ottica, la lettera che specifica questo
impiego la F.
Ogni dominio di collisione include un numero massimo di segmenti, solo alcuni dei quali sono
popolati. La lunghezza massima di ogni segmento e la composizione di un dominio di collisione
in segmenti determinano lestensione massima della LAN. Ad esempio una Ethernet 10 Base 5

28
comprende domini di collisione costituiti da 5 segmenti e 4 ripetitori (con solo 3 segmenti popolati);
conseguentemente, dato che con il coassiale spesso ogni segmento ha una lunghezza massima di
500 m, ne segue che lestensione massima della LAN di 2.500 m. Invece il dominio di collisione
di una Ethernet 10Base2, che ha la stessa composizione precedente, ha unestensione massima di
circa 900 m, come si deduce dal fatto che la lunghezza massima di un segmento in questo caso
poco meno di 200 m. Lestensione massima della LAN, unitamente alla dimensione minima della
trama e alla velocit di trasmissione, sono fissati in modo da assicurare la rivelazione di una
avvenuta collisione da parte di tutte le stazioni: ad es. per unestensione massima di 2500 m per una
velocit di trasmissione di 10 Mbit/s la dimensione minima della trama deve essere di 64 byte.
Circa il numero massimo di nodi inseribili in un segmento, la LAN 10Base5 consente un
massimo di 100 nodi per segmento, con una distanza minima di 2,5 m, mentre la LAN 10Base2
consente di utilizzare un massimo di 30 nodi per segmento, con una distanza minima uguale a 50
cm.
Quando si impiega il doppino ritorto (ad es. in una Ethernet 10BaseT), ogni stazione
connessa, tramite il doppino ad un dispositivo hub che provvede ad agire come centro stella.
Viene cos realizzata una topologia che fisicamente a stella e logicamente a bus. Lhub provvede
ad amplificare i segnali ricevuti da tutte le stazioni e a ritrasmetterli in uscita in modo diffusivo.
Come gi detto, una LAN Ethernet pu operare anche ad alta velocit; si parla allora di
Ethernet veloce (Fast Ethernet) e le velocit di trasmissione sono dellordine di 100 Mbit/s. I
mezzi trasmissivi impiegati in questo caso sono il doppino ritorto e la fibra ottica. La Ethernet
100BaseT utilizza un massimo di 3 segmenti e 2 hub. Dato che ogni segmento ha una lunghezza
massima di 100 m e tenendo presente che i 2 hub possono essere alla distanza massima di 5 m, ne
deriva che lestensione massima della struttura di poco maggiore ai 200 m. ad es. la Ethernet
100BaseTX usa 2 doppini di categoria 5 per ogni stazione ed in grado di ricevere e di trasmettere
contemporaneamente a 100 Mbit/s. La Fast Ethernet realizzata anche mediante fibre multimodo:
in questo caso si utilizzano due fibre in grado di ricevere e trasmettere a 100 Mbit/s in modo
pienamente duplice. La dimensione del segmento in questo caso di 2000 m.
V.2.

Controllo di errore

Per rivelare errori in ricezione su una stringa di bit (stringa da proteggere), necessario in
emissione aggiungere a questa uno o pi bit addizionali (extra-bit), che sono la ridondanza del
codice a rivelazione di errore. Se
K la lunghezza della stringa da proteggere;
L la lunghezza della stringa di extra-bit,
le parole di codice sono di lunghezza uguale a K+L.
V.2.1.

Codici con controllo di parit

I metodi di codifica per rivelare errori nel trasporto dei dati rientrano usualmente nella
categoria dei codici con controllo di parit (parity check codes). A questa categoria appartengono
il controllo di parit singola;
il controllo di parit a blocchi;
il controllo a ridondanza ciclica (CRC, Cyclic Redundancy Check).
Lefficacia di un codice a rivelazione di errore misurata da tre parametri:
la distanza minima, min D, del codice;
la potenzialit B a rivelare raffiche (burst) di errori;
la probabilit Penr che una stringa di bit completamente casuale sia accettata in ricezione
come priva di errori.
La distanza minima del codice definita come il pi piccolo numero di errori che possono
trasformare una parola di codice in unaltra. La lunghezza di una raffica di errori in una trama il
numero di bit dal primo errore allultimo, inclusi. La potenzialit a rivelare raffiche di errore in un

29

1
0
0
1
0
1
0

0
0
1
0
0
1
0

1
0
1
0
1
0
0

0
1
1
0
0
1
1

0
1
0
1
1
0
1

1
0
1
0
1
1
0

1
0
0
1
1
0
0

0 1 0 1 0 0 0

Bit di parit per colonne


(A)

0 1 0 1 0 0 1
0 1 0 0 1 0 0

1
0

0 0 1 1 1 0 1
1 1 0 0 0 1 0
0 1 0 1 0 0 1

0
1
1

0 1 1 0 1 0 1
1 0 0 0 1 1 0

0
0

0 1 0 1 0 0 0

Bit di parit per righe

0
0
0
1
0
0
1

Bit di parit per righe

codice definita come il pi grande intero B tale che il codice possa rivelare tutte le raffiche di
lunghezza non superiore a B.
Circa la probabilit Penr, con riferimento a una stringa da proteggere di lunghezza K e a una
stringa di L extra-bit, osserviamo che:
- una stringa di lunghezza K+ L completamente casuale (cifre binarie indipendenti)
quando viene ricevuta con probabilit 2-(K+L);
- esistono 2K parole di codice.
Inoltre la probabilit di errori non rivelati in una stringa completamente casuale uguale alla
probabilit che questa stringa sia una delle parole di codice. Tale seconda probabilit (ignorando la
possibilit che la stringa casuale ricevuta sia la stessa della trama emessa) e uguale a 2-(K+L) 2K = 2L
. Questa usualmente una buona stima della probabilit Penr .
Nel controllo di parit singola si aggiunge un singolo bit (bit di parit) alla stringa da
proteggere (ad es. ad un carattere). Il bit di parit ha un valore 1 se il numero di 1 nella stringa
dispari; altrimenti posto al valore 0. Operativamente, il bit di parit la somma modulo 2 dei
valori di cifra binaria contenuti nella stringa da proteggere.
Il metodo con controllo di parit singola consente la rivelazione di un numero dispari di errori,
mentre fallisce quando il numero di errori pari. In questa tecnica di codifica:
la distanza minima min D del codice uguale a 2;
la potenzialit B a rivelare raffiche di errore uguale a 1.
Nel controllo di parit a blocchi si organizza la stringa da proteggere in una forma matriciale a
due dimensioni e si applica il controllo di parit singola ad ogni riga e ad ogni colonna (Fig V.2.1).
Il controllo di parit relativo allangolo destro in basso pu essere visto come un controllo di parit
su riga, o come un controllo di parit su colonna ovvero come un controllo di parit sullintera
stringa da proteggere.

Bit di parit per colonne


(B)

Figura V.2.1 Controllo di parit a blocchi: (A) Blocco di carattere originario e bit di parit;
(B) errori non rivelati.
Il controllo di parit a blocchi efficace in presenza:
- di un numero dispari di errori che colpiscono una singola riga ovvero una singola
colonna: la rivelazione effettuabile con la parit di riga e di colonna, rispettivamente;
- di errori che colpiscono una singola riga o una singola colonna: la rivelazione di ogni
singolo errore effettuabile con la parit di colonna e di riga, rispettivamente.
Fallisce per quando si verificano, ad esempio, quattro errori confinati a due righe e a due colonne
secondo una configurazione a rettangolo (cfr. Fig. V.2.1). La distanza minima min D del codice
uguale a 4; la potenzialit B a rivelare raffiche di errore uguale a 1 pi la lunghezza di una riga
(assumendo che le righe siano emesse una dopo laltra).

30
V.2.2.

Codici CRC

Le singole cifre binarie di una stringa da proteggere sono trattate come coefficienti (di valore
0 o 1) di un polinomio P(x). Le cifre binarie della stringa di lunghezza uguale a K sono quindi
considerate come i coefficienti di un polinomio completo di grado K-1. In particolare, li-esimo bit
della stringa il coefficiente del termine x i-1 di P(x) .
Le entit emittente e ricevente utilizzano un polinomio comune G(x), detto polinomio
generatore, che qualifica il codice a rivelazione di errore. Il polinomio G(x)
- gode di opportune propriet nellambito della teoria dei campi algebrici;
- i suoi coefficienti sono binari, come quelli di P(x);
- il suo grado uguale a L;
- tra i suoi coefficienti, quelli dei termini di grado massimo e di grado nullo debbono
entrambi essere uguali a 1.
La entit emittente utilizza G(x) come divisore del polinomio xLP(x)
x L P( x )
R( x )
= N( x ) +
G( x )
G( x )

dove si indica con:


N(x) il polinomio quoziente;
R(x) il polinomio resto.
La divisione lordinaria divisione di un polinomio per un altro; la particolarit risiede in:
- i coefficienti di dividendo e di divisore sono binari;
- laritmetica viene svolta modulo 2.
Dato il grado del polinomio generatore, il grado del polinomio resto R(x) al pi uguale a L-1;
conseguentemente R(x) pu essere sempre rappresentato con L coefficienti (binari), ponendo uguali
a 0 i coefficienti dei termini mancanti. Ottenuto il resto R(x), lentit emittente inserisce i
coefficienti di questo polinomio in un apposito campo della stringa da emettere (campo CRC), che
deve quindi avere lunghezza L.
Nella stringa emessa trovano quindi posto le cifre binarie da proteggere (in numero uguale a K)
e le cifre CRC (in numero uguale a L): in totale K+L cifre binarie, che sono rappresentative di un
polinomio T(x) di grado K+L-1

T ( x ) = x L P( x ) + R( x )
e che costituiscono una parola di codice.
Tenendo conto che, per definizione,
X L P( x ) = N ( x )G( x ) + R( x )
e poich addizione e sottrazione modulo 2 si equivalgono, si ottiene
T ( x ) = N ( x )G( x ) ;
cio la stringa emessa (rappresentativa del polinomio T(x)) divisibile per il polinomio generatore
G(x). Si conclude che tutte le parole di codice sono divisibili per il polinomio generatore e tutti i
polinomi divisibili per G(x) sono parole di codice.
I codici CRC rientrano nella famiglia dei codici a blocchi lineari , cio gli extra bit dipendono
solo dai bit da proteggere e la dipendenza lineare; godono delle seguenti specificit:
- sono codici ciclici, e cio una permutazione ciclica di una parola di codice ancora una
parola di codice;
- sono codici polinomiali, e cio sono codici ciclici in cui ciascuna delle parole di codice,
considerata nella sua forma polinomiale, un multiplo del polinomio generatore;
- in particolare, se la parola di codice ha lunghezza K+L, il polinomio generatore (di grado
L) un divisore di xK+L + 1.
Questultima propriet un vincolo importante dato che xK+L non ammette molti divisori per
pressoch tutti gli interi K+L.

31
La entit ricevente esegue, con il polinomio generatore, loperazione di divisione effettuata in
emissione. In questo caso opera per sul polinomio V(x), rappresentato dalle K+L cifre binarie
ricevute. Supponiamo che nel trasferimento si siano verificati errori, con una sequenza
rappresentata dal polinomio E(x): ogni errore nella stringa corrisponde ad un coefficiente non nullo
in E(x). Allora
V ( x ) = T ( x ) + E( x ) ,
ove laddizione svolta modulo 2. Ogni bit 1 in E (x) corrisponde ad un bit che stato invertito e
quindi a un errore isolato. Se ci sono k bit 1 in E (x), sono avvenuti k errori di un singolo bit. Un
singolo errore a raffica di lunghezza k caratterizzato in E (x) da un 1 iniziale, una mescolanza
di 0 e 1, e un 1 finale, mentre tutti gli altri bit sono 0.

E( x ) = x i ( x k 1 + .... + 1 ),
ove i determina quanto la raffica lontana dallestremit destra della stringa emessa.
Il ricevitore calcola il resto della divisione di V(x) per G(x); le modalit sono le stesse utilizzate
nellemettitore. Poich T(x) divisibile per G(x), ne segue che
V ( x )
T ( x ) + E( x )
E( x )
Re sto
= Re sto
= Re sto

.
G( x )
G( x )

G( x )
Conseguentemente la regola applicata dal ricevitore la seguente:
se il resto della divisione V(x)/G(x) nullo, la stringa ricevuta assunta senza errori;
in caso contrario, si sono verificati uno o pi errori nel corso del trasferimento.
Si nota che sono non rivelabili le configurazioni di errore per le quali il relativo polinomio E (x)
contiene G(x) come fattore.
Un codice polinomiale, in cui il polinomio generatore contiene x+1 come fattore primo, in
grado di rivelare
- tutti gli errori singoli o doppi;
- tutti gli errori isolati con una molteplicit dispari;
- tutti gli errori a raffica di lunghezza L .
Se la lunghezza della raffica L+1 e se tutte le combinazioni della raffica sono considerate
equiprobabili, la probabilit che lerrore a raffica non sia rivelato uguale a 2 -(L-1) . Infine, se la
raffica singola ha lunghezza maggiore di L+1 o se si verificassero varie raffiche pi corte,
nellipotesi di equiprobabilit delle configurazioni di errore, la probabilit di errore non rivelato
uguale a 2-L .
La distanza minima min D di un codice CRC, con polinomio generatore divisibile per x+1,
uguale a 4. La potenzialit B a rivelare raffiche di errore non inferiore a L. La probabilit Penr di
errori non rivelati in una stringa di cifre completamente aleatoria uguale a 2-L.
Circa i polinomi generatori utilizzati, sono standard:
G( x ) = x 16 + x 12 + x 5 + 1;
G( x ) = x 32 + x 26 + x 23 + x 22 + x 16 + x 12 + x 11 + x 10 + x 8 + x7 + x 5 + x 4 + x 2 + x + 1
Entrambi sono divisibili per x+1 e quindi danno luogo a codici CRC con le propriet suddette.
V.2.3.

Mezzi per il recupero di errore

Le procedure di recupero derrore hanno lo scopo di assicurare che il flusso di PDU (in
particolare di quelle contenenti dati di utente), trasferite tra le entit di strato in cui viene applicata
la procedura, pervenga a destinazione:
- senza errori, almeno nei limiti consentiti dalla capacit di protezione del codice
utilizzato;
- senza perdite, senza duplicazioni e senza fuori-sequenza, almeno per ci che riguarda la
consegna delle relative SDU allo strato superiore.

32
Dette procedure, che sono usualmente indicate con la sigla ARQ (Automatic Repeat Request),
hanno lulteriore scopo di controllare il flusso di informazioni, in modo che sia consegnata a
destinazione solo la portata (volume di informazione nellunit di tempo) smaltibile da chi riceve.
Tra le procedure di recupero, se ne distinguono tre tipi principali:
riemissione con arresto e attesa;
riemissione continua;
riemissione selettiva,
facenti riferimento alla modalit di recupero mediante riemissione delle PDU che non rispettano gli
scopi della procedura. Per ognuno di questi tre tipi sono state proposte pi varianti; nel seguito se ne
considera solo una per ogni tipo di procedura.
Nelle procedure di recupero si utilizzano, in alternativa o in unione, uno o pi dei mezzi
seguenti:
- riscontri positivi (ACK) o negativi (NAK) (Fig. V.2.2);
- temporizzatori (timer) (Figg. V.2.3 e V.2.4);
- numeri di sequenza nelle trame e relative finestre scorrevoli (Fig. V.2.5).
Entit A

Entit B

PDU A

PDU A
ACK

ACK
PDU B

PDU B
ACK

ACK
PDU C

PDU C (errata)
NAK

NAK
PDU C

PDU C
ACK

ACK

Figura V.2.2 Procedura di recupero con uso dei riscontri positivi e negativi
Entit A
Inizio timer
Fine timer
Inizio timer
Timer scaduto

Entit B

PDU A
ACK

PDU A
ACK

PDU B
PDU B
(riemessa)
PDU B
ACK

ACK

Figura V.2.3 Procedura di recupero con uso dei temporizzatori:


recupero di errore su una PDU

33
Entit A
Inizio timer
Fine timer
Inizio timer
Timer scaduto

PDU A
ACK
PDU B
PDU B
(riemessa)
ACK

Entit B
PDU A
ACK
PDU B
ACK
Trama B
(duplicata)
ACK

Figura V.2.4 Procedura di recupero con uso dei temporizzatori:


duplicazione di una PDU in seguito a perdita di un riscontro
Entit A
Inizio timer
Fine timer
Inizio timer
Timer scaduto

PDU (1)
ACK (1)
PDU(2)
PDU(2)
(riemessa)
ACK (2)

Entit B
PDU(1)
ACK (1)

PDU(2)
ACK (2)
PDU(2)
(duplicata e scartata)
ACK (2)

Figura V.2.5 - Procedura di recupero con uso dei temporizzatori


e della numerazione delle PDU
I riscontri positivi emessi da chi riceve per informare chi emette sulla ricezione accettata di
una o pi PDU sono trasferibili, in alternativa o in unione:
- con PDU apposite (PDU-ACK), contenenti solo informazione di controllo, ma anchesse
protette con un CRC;
- con PDU contenenti dati di utente (PDU-dati) e trasferite nel verso contrario a quello
dellinformazione da riscontrare: il riscontro contenuto nellintestazione della PDU
come parte dellinformazione di controllo;
Questa seconda modalit di riscontro nota come tecnica delladdossamento (piggybacking)
e consiste nellinserire le informazioni di riscontro nelle PDU-dati che sono trasferite da chi ha
ricevuto verso chi ha emesso.
Ogni PDU-dati pu contenere due numeri di sequenza:
- il numero di sequenza in emissione NS, che il numero dordine sequenziale
caratterizzante la PDU uscente dallentit agente come emittente;
- il numero di sequenza in ricezione NR, che lNS della PDU che lentit agente come
ricevente (e quindi come riscontrante) si aspetta di ricevere.
Il numero NR riscontro positivo implicito per la PDU con NS=NR-1 (riscontro individuale)
ovvero per tutte le PDU non ancora riscontrate e con NS minore o uguale a NR-1 (riscontro
cumulativo).
Poich entrambi i numeri di sequenza sono rappresentabili con stringhe binarie di lunghezza
limitata M, ne deriva che per la loro rappresentazione occorre ricorrere a una numerazione modulo
M (numerazione ciclica) come in Fig. V.2.6.

numerazione ciclica

34

per

k intero ;
M intero positivo

k mod M = m
ove

0 m<M;
k - m = i M (i intero)

-M

2M

3M

numerazione naturale

Figura V.2.6 Rappresentazione di una numerazione modulo M


Questa numerazione quindi rappresentabile su una circonferenza, suddivisa in M segmenti di
uguale lunghezza (Fig. V.2.7).
0
7

Numerazione
modulo 8
2

3
4

Figura V.2.7 Rappresentazione alternativa di una modulazione modulo M (M=8)


Luso di una numerazione modulo M impone un vincolo sul numero massimo SUP di PDU che
si possono emettere (o ammettere) senza avere un riscontro per alcuna di esse. Il vincolo deriva
dalla esigenza di evitare ambiguit nei riscontri. Questo numero massimo SUP deve essere non
superiore a
SUP M 1.
Per convincersene, consideriamo il caso M=8 e mostriamo che il numero di PDU emesse senza
riscontro non pu superare il valore 7 in quanto, se questo limite non fosse rispettato, si avrebbe
ambiguit nei riscontri. Supponiamo (senza perdita di generalit) che la prima PDU non riscontrata
abbia NS = 0. Allora, chi emette sta ricevendo un riscontro NR= 0, cio viene riscontrata
positivamente la PDU con NS= 7. Se si emettessero 8 PDU (compresa quella con NS= 0) e cio se
la sequenza di emissione fosse composta da PDU con i seguenti NS
0 1 2 3 4 5 6 7 ,
il riscontro NR=0, che per ipotesi continua ad essere ricevuto da chi emette, potrebbe essere
interpretato come riscontro positivo per la nuova PDU con NS= 7 e non per quella di ugual NS
appartenente al ciclo precedente.
In una numerazione modulo M, si chiama finestra (window) la sequenza di numeri consecutivi
che sono compresi tra un limite inferiore Linf e un limite superiore Lsup, entrambi inclusi. I numeri
consecutivi compresi tra Linf e Lsup sono cos messi in finestra. La cardinalit W di detta sequenza
chiamata larghezza della finestra
W = ( Lsup Linf + 1 ) mod M .
La finestra scorrevole (sliding window) se si aumenta Linf mantenendo costante la sua
larghezza W. Ad ogni aggiornamento di Linf la finestra scorre in senso orario e modifica
corrispondentemente la sequenza di numeri messi in finestra (Fig. V.2.8).

35
0
7
verso di
scorrimento

Linf

W
5

p
L su

W= (Lsup- Linf + 1) mod M

Lsup= (Linf + W - 1) mod M

Figura V.2.8 Finestra scorrevole


Una finestra in emissione il numero massimo di PDU che una entit pu emettere
sequenzialmente senza ricevere riscontro per alcuna di esse. Questo numero massimo la larghezza
WS della finestra in emissione. Il limite inferiore Linf viene aggiornato dalla entit ricevente in
relazione alla propria disponibilit ad ammettere nuove PDU. Linf viene quindi posto uguale al
numero di sequenza in ricezione NR emesso dallentit ricevente.
La finestra in emissione pu essere collocata in una qualsiasi entit agente come emittente;
quindi, con riferimento alla relazione tra le entit A e B, supponiamo che questa finestra sia
collocata in A. Allora i numeri di sequenza in emissione NSA che possono essere emessi da A sono
quelli compresi nel seguente intervallo
NR B NS A ( NR B + WS 1 ) mod M ,
ove NRB un numero di sequenza in ricezione emesso da B. Ad ogni variazione di NRB
(aggiornamento dei riscontri positivi emessi da B) la finestra scorre consentendo luscita (cio
lemissione) di nuove PDU da A. Lentit B pu quindi controllare lemissione da parte di A agendo
sui propri riscontri (ad es. rallentandone o accelerandone lemissione). Un esempio del
funzionamento di una finestra in emissione offerto in Fig. V.2.9.
Inizio del
colloquio

L'entit emette
la PDU 0

L'entit emette
la PDU 1

1
2

Lim. infer. = 0
Lim. super.= 1
L'entit pu
emettere
2 PDU

1
2

Lim. infer. = 0
Lim. super.= 1
L'entit pu
emettere
1 PDU

1
2

Lim. infer. = 0
Lim. super.= 1
L'entit
non pu
emettere
PDU

L'entit riceve
il riscontro
della PDU 0
0
3

1
2

Lim. infer. = 1
Lim. super.= 2
L'entit pu
emettere
1 PDU

L'entit riceve
il riscontro
della PDU 1
0
3

1
2

Lim. infer. = 2
Lim. super.= 3
L'entit pu
emettere
2 PDU

Figura V.2.9 Finestra in emissione


Una finestra in ricezione il numero massimo di PDU che una entit pu ammettere senza
emettere riscontro per alcuna di esse. Questo numero massimo la larghezza WR della finestra in
ricezione. Il limite inferiore Linf viene aggiornato dalla entit ricevente al suo interno in relazione
alla propria disponibilit ad ammettere nuove PDU. Linf viene quindi posto uguale al numero di
sequenza in ricezione NR emesso dalla stessa unit ricevente.
La finestra in ricezione pu essere collocata in una qualsiasi entit agente come ricevente;
quindi, con riferimento alla relazione tra le entit A e B, supponiamo che questa finestra sia
collocata in A. Allora i numeri di sequenza in emissione NSB che possono essere ammessi in A sono
quelli compresi nel seguente intervallo:
NR B NS A ( NR B + WR 1 ) mod M ,

36
ove NRA un numero di sequenza in ricezione emesso da A. Ad ogni variazione di NRA
(aggiornamento dei riscontri positivi emessi da A), la finestra scorre consentendo lammissione di
nuove PDU in A; lentit A pu quindi controllare la propria ricettivit agendo sui propri riscontri
(ad es. rallentandone o accelerandone lemissione). Le PDU che pervengono in A e che sono
verificate senza errore sono ammesse da A solo se i loro NSB sono compresi entro la finestra di
ricezione, anche se fuori sequenza. Invece le PDU che pervengono in A al di fuori della finestra di
ricezione vengono scartate, anche se verificate senza errore. Una PDU ammessa viene accettata da
A e quindi riscontrata positivamente solo se lentit ricevente in grado di collocarla in un corretto
ordine sequenziale. Un esempio del funzionamento di una finestra in ricezione offerto in Fig.
V.2.10.
Inizio del
colloquio
0
3

1
2

L'entit ammette L'entit ammette L'entit ammette L'entit ammette


le PDU 0 e 1
la PDU 0
le PDU 2 e 3
la PDU 1
0
0
0
0
3

1
2

Lim. infer. = 0
Lim. super.= 2

Lim. infer. = 1
Lim. super.= 3

L'entit pu
ammettere le
PDU 0,1 e 2

L'entit pu
ammettere le
PDU 1,2 e 3

1
2

I limiti non
sono
aggiornati
L'entit pu
ammettere
solo la
PDU 1

1
2

1
2

Lim. infer. = 0
Lim. super.= 2

Lim. infer. = 2
Lim. super.= 0

L'entit pu
ammettere le
PDU 0,1 e 2

L'entit pu
ammettere le
PDU 2,3 e 0

Figura V.2.10 - Finestra in ricezione


La larghezza delle finestre (in trasmissione o in ricezione) limitata superiormente dal valore
del modulo di numerazione M; deve infatti essere
W M 1) .
Quindi, anche in assenza di una finestra esplicita di larghezza W<M-1, esiste in ogni caso una
finestra implicita, che ha larghezza uguale a M-1.
Se le larghezze delle due finestre sono maggiori di 1, tali larghezze sono soggette ad un
ulteriore vincolo in relazione al valore del modulo di numerazione M. Questo ulteriore vincolo (in
aggiunta a quello ora visto W M-1) ha lo scopo di assicurare che lentit ricevente sia in grado di
indentificare senza ambiguit la PDU pervenutale e quindi di poterla riscontrare in modo univoco.
Nel caso particolare in cui le due larghezze WS e WR sono uguali e maggiori di 1
WS = W R = W > 1,
la larghezza comune W deve rispettare il vincolo
W M / 2,
cio deve essere non superiore alla met del modulo di numerazione. Con il rispetto di questo
vincolo, si riesce infatti ad evitare che, ad ogni scorrimento della finestra in ricezione, il nuovo
insieme di numeri di sequenza ammessi (nuovi numeri) si sovrapponga a quello valido prima dello
scorrimento (vecchi numeri). Una eventuale sovrapposizione tra nuovi e vecchi numeri creerebbe
nel ricevitore limpossibilit di distinguere tra due casi che si possono presentare quando, dopo
laggiornamento della finestra, perviene al ricevitore un gruppo di PDU. Queste possono essere il
risultato di:
- riemissioni, se tutti i riscontri di PDU precedentemente ricevute sono andati persi;
- nuove emissioni, se tutti i riscontri sono stati ricevuti.
Si nota che questo vincolo non si presenta quando la larghezza della finestra in ricezione unitaria;
infatti in questa condizione, indipendentemente dalla larghezza WS , si pu avere aggiornamento
della finestra in ricezione solo con un nuovo numero, a cui pu corrispondere solo una nuova
emissione.

37
V.2.4.

Modello di recupero di errore

Supponiamo che:
siano utilizzati tutti i mezzi di recupero precedentemente definiti;
i riscontri positivi siano trasferiti con PDU-dati o con PDU-ACK;
i riscontri negativi siano congetturati dallassenza di un riscontro positivo entro un
fissato tempo-limite (time-out) dallistante di emissione della PDU da riscontrare; tale
assenza di riscontro positivo evidenziata dallo scadere di un temporizzatore;
sia le PDU-dati che le PDU-ACK siano protette da un CRC;
siano utilizzati entrambi i numeri di sequenza in emissione NS e in ricezione NR, che
sono numerati modulo M ( M 2); questi numeri sono entrambi presenti nelle PDU-dati;
nelle PDU-ACK invece contenuto il solo NR;
le PDU-dati debbano rispettare (attraverso i loro NS) i vincoli posti in emissione e in
ricezione dalle rispettive finestre scorrevoli; le larghezze WS e WR di queste sono in
generale oggetto di negoziazione tra le parti; per alcune procedure una o entrambe le
larghezze sono unitarie;
i numeri NS e NR inseriti nelle PDU siano definiti da due variabili di stato VS e VR, che
- sono associate a ogni entit, agente come emittente e come ricevente;
- assumono valori compatibili con una numerazione modulo M;
- vengono incrementate via via in relazione allevoluzione della procedura.
Si fa riferimento allo stato riguardante una entit con il duplice ruolo di emittente e di
ricevente, e relativo a un istante qualunque nellevoluzione della procedura; in questo stato:
VS la variabile di stato in emissione, che fornisce il pi grande numero dordine NS
della PDU che lentit agente come emittente si propone di formare, accogliendo la
relativa SDU dallo strato superiore, e curandone poi lemissione;
VR la variabile di stato in ricezione, che fornisce il pi piccolo numero dordine NS
della PDU che lentit agente come ricevente si propone di accettare, trasferendo la
relativa SDU allo strato superiore.
La variabile VS viene incrementata di una unit per ogni nuova SDU proveniente in ordine
sequenziale dallo strato superiore. La variabile VR viene incrementata di una unit in
corrispondenza ad ogni SDU trasferita con corretta sequenzialit allo strato superiore.
Per ogni nuova PDU formata da una entit che agisce come emittente e che si trova in uno stato
in cui le relative variabili abbiano le determinazioni VS e VR
nel campo previsto per il numero di sequenza in emissione viene collocato NS = VS;
nel campo previsto per il numero di sequenza in ricezione viene collocato NR = VR.
Con riferimento alla finestra in emissione, il limite inferiore Linf indica il pi piccolo numero di
sequenza in emissione NSmin che non stato ancora riscontrato. Poich, per definizione,
Lsup = ( NS min + W S 1 ) mod M ,
un incremento della variabile di stato in emissione VS possibile solo se, in base allo stato attuale,
risulta
( VS NS min + 1 ) mod M WS .
In queste condizioni si pu porre
VS ( VS + 1 ) mod M ,
e cio incrementare VS di una unit.
Con riferimento alla finestra in ricezione, il limite inferiore Linf indica il pi piccolo numero di
sequenza in emissione (proveniente da una entit emittente) che pu essere accettato: coincide
quindi con la variabile di stato in ricezione VR:
Linf = VR .
Ogni qualvolta viene ricevuta una PDU:

38
- verificata senza errori,
- rientrante entro i limiti della finestra in ricezione,
- con numero dordine NS = VR,
la PDU viene accettata e trasferita allo strato superiore. Pu allora porsi
VR ( VR + 1 ) mod M ,
e cio incrementare VR di una unit.
V.2.5.

Procedure di recupero di errore

Qualunque sia la procedura impiegata, sempre richiesta la cooperazione dellentit agente


come ricevente (entit ricevente) con quella agente come emittente (entit emittente). Si assume il
modello di recupero precedentemente descritto e si distinguono i compiti svolti dallentit ricevente
(azioni del ricevitore) e dallentit emittente (azioni dellemettitore).
Lentit ricevente, per ogni PDU proveniente dallentit emittente
verifica nella PDU la presenza o meno di errori, utilizzando il metodo di rivelazione che
adottato nella procedura; si hanno due casi
(1) PDU verificata senza errori;
(2) PDU verificata con errori.
Limitatamente al caso (1), le entit ricevente
controlla la PDU per rivelare la presenza o meno di altre situazioni anomale (ad es.
perdite, duplicazioni, ecc.); il controllo effettuato accertando in primo luogo se il relativo
NS allinterno o allesterno della finestra in ricezione; si hanno due casi:
(a) PDU controllata senza altre anomalie (allinterno della finestra);
(b) PDU controllata con altre anomalie (allesterno della finestra).
In relazione ai casi (1), (2), (a) e (b), lentit ricevente
accetta la PDU ricevuta solo quando si verifica lunione dei due casi (1) e (a) e la PDU
in questione collocabile in un corretto ordine sequenziale;
scarta la PDU ricevuta quando si presenta anche uno solo dei casi (2) o (b).
Limitatamente al caso di PDU accettata, lentit ricevente
trasferisce la relativa SDU allo strato superiore;
invia allentit emittente, con un possibile ritardo, un riscontro positivo.
Limitatamente al caso (1) in unione con quello (b) (cio per una PDU verificata senza errori e
controllata con altre anomalie) ovvero nel caso in cui non sia possibile ricostruire la corretta
sequenzialit delle SDU pervenute,
invia allentit emittente un riscontro negativo esplicito.
Lentit emittente, per ogni SDU proveniente dallo strato superiore,
accoglie questa SDU e contestualmente
inserisce la SDU nella PDU;
codifica la stringa da proteggere nei confronti degli errori;
attribuisce alla PDU un opportuno numero di sequenza NS quando sia stato verificato
che questo numero allinterno della finestra in emissione;
emette la PDU con il rispetto di due vincoli:
- viene rispettata, nellordine di emissione, la sequenzialit delle SDU provenienti
dallo strato superiore;
- viene attivato un temporizzatore, e cio il mezzo disponibile per evitare condizioni di
stallo (ad es. dovute ad attesa indefinita di un riscontro positivo);
riemette la stessa PDU il numero di volte necessario a ottenere un riscontro positivo.
Un primo protocollo di recupero di errore chiamato a riemissione con arresto e attesa o stop
and wait. Il suo principio il seguente: ogni entit nel ruolo di emittente
emette una sola PDU alla volta;

39
prima di emettere la successiva, attende un riscontro positivo;
se non riceve questo riscontro, riemette la PDU e ripeter questa operazione finch
riceve un riscontro positivo.
Nel ruolo di ricevente una entit accetta PDU solo se verificate senza errori e controllate in corretta
sequenza.
Con riferimento al modello di recupero precedentemente introdotto, si sottolineano le seguenti
particolarit:
- il modulo di numerazione per NS e NR uguale a 2;
- le finestre scorrevoli in emissione e in ricezione hanno entrambe larghezza unitaria.
Levoluzione della procedura a riemissione con arresto e attesa esemplificata in Fig. V.2.11.
Entit A
Inizio timer
Fine timer
Inizio timer

PDU(0)
ACK (1)
PDU (1)

Entit B
PDU(0)
ACK (1)

PDU(1)

Timer scaduto
Inizio timer

(riemessa)

Timer scaduto
Inizio timer

PDU(1)

Fine timer

ACK (0)
PDU(0)
ACK (1)

PDU(1)
ACK (0)
PDU(1)

(duplicata e scartata)

ACK (0)
PDU(0)
ACK (1)

Figura V.2.11 Evoluzione della procedura a riemissione con arresto e attesa


Una seconda procedura di recupero di errore chiamata a riemissione continua o go back n,
ove n la larghezza della finestra in emissione. Il suo principio il seguente: ogni entit quando
agisce da emittente
- emette al massimo WS PDU consecutive senza attendere il riscontro per alcuna di
queste;
- prima di emettere unaltra PDU, attende un riscontro positivo, che pu essere individuale
o cumulativo;
- se per alcuna delle PDU emesse non riceve il riscontro positivo, provvede a riemettere
questa PDU e tutte le seguenti emesse e in attesa di riscontro;
- se riceve dallentit ricevente una PDU che segnala un fuori-sequenza non recuperabile
(riscontro negativo), provvede a ristabilire la sequenzialit riemettendo la prima PDU
non riscontrata e tutte le seguenti gi emesse e in attesa di riscontro;
Ogni entit quando agisce da ricevente opera nello stesso modo dellentit ricevente nel
protocollo riemissione con arresto e attesa, cio accetta solo PDU-dati che siano verificate senza
errore e che siano in corretta sequenza.
Con riferimento al modello per le procedure di recupero, si sottolineano le seguenti
particolarit:
il modulo di numerazione per NS e NR ha un valore M, che costituisce uno dei parametri
del protocollo aventi incidenza importante sulle sue prestazioni;
la finestra scorrevole in ricezione ha larghezza di valore unitario;
la finestra scorrevole in emissione ha larghezza WS , il cui valore pu essere fissato nella
inizializzazione della procedura con lunico vincolo che sia
WS M 1.
Levoluzione della procedura a riemissione continua esemplificata in Fig. V.2.12

40
Entit A
PDU(0)
PDU(1)
PDU(2)
ACK(3)
PDU(3)
PDU(4)
PDU(5)
REJ(3)
PDU(3)
PDU(4)
PDU(5)
ACK (6)

Entit B
PDU(0)
PDU(1)
PDU(2)
ACK (3)

PDU(4) (scartata)
REJ (3)
PDU(5) scartata
PDU(3)
PDU(4)
PDU(5)
PDU(6)

Figura V.2.12 Evoluzione della procedura a riemissione continua


La terza procedura di recupero di errore qui considerata chiamata a riemissione selettiva o
selective repeat. Il suo principio il seguente: ogni entit emittente si comporta come nel caso del
protocollo a riemissione continua, con la differenza che, nel caso di assenza di riscontro per una
specifica PDU, provvede a riemettere solo questa PDU. Una entit ricevente, a differenza di quella
con lo stesso ruolo nei protocolli riemissione con arresto e attesa e riemissione continua,
ammette PDU verificate senza errore e contenute nella finestra in ricezione, anche se
fuori-sequenza;
cerca poi di ricostruire la corretta sequenzialit delle PDU ammesse e, se non ci riesce,
invia un riscontro negativo.
Con riferimento al modello per le procedure di recupero, si hanno le seguenti particolarit:
- le larghezze delle due finestre sono assunte uguali
WS = W R = W > 1;

- il loro valore comune deve essere scelto con il vincolo W M/2, in modo da assicurare
che lentit ricevente sia in grado di identificare senza ambiguit le PDU pervenutegli.
Levoluzione della procedura a riemissione selettiva esemplificata in Fig. V.2.13.
Entit A
PDU (0)
PDU(1)
PDU(2)
ACK (3)
PDU(3)
PDU(4)
PDU(5)
SEL REJ (3)
PDU(3)
ACK (6)

Entit B
PDU(0)
PDU(1)
PDU(2)
ACK (3)

PDU(4) (ammessa)
SEL REJ (3)
PDU(5) (ammessa)
PDU(3)
ACK (6)
PDU(3), (4) e (5)
(accettate)

Figura V.2.13 Evoluzione della procedura a riemissione selettiva


V.2.6.

Efficienza di recupero

Lefficienza di una procedura di recupero viene qui valutata mediante il rendimento di


trasferimento , che definito da

= I
R
ove

41
I il valore atteso del tempo necessario a trasferire i dati di utente in una PDU tendendo
conto del solo ritmo binario di trasferimento;
R il valore atteso del tempo necessario a trasferire una PDU, tenendo conto, oltre che del
ritmo binario di trasferimento, anche
- della extra-informazione legata alla PCI della PDU;
- dei vincoli posti dalla procedura di recupero in assenza di errori;
- delle riemissioni della PDU per ottenere un trasferimento senza errori.
Per brevit, le procedure di recupero saranno indicate con
P1
ritrasmissione con arresto e attesa;
P2
ritrasmissione continua;
P3
ritrasmissione selettiva.
Nel calcolo di per queste tre procedure, si far riferimento ai seguenti tre casi di complessit
crescente:
caso a) : trasferimento in assenza di errori e di una qualche procedura di recupero;
caso b) : trasferimento in assenza di errori e con una procedura di recupero;
caso c) : trasferimento in presenza di errori e con una procedura di recupero.
Ovviamente le espressioni di desiderate sono quelle relative al caso c).
Denotiamo con
L
la lunghezza del campo-dati di una PDU;
H
la lunghezza della PCI nella PDU;

il rapporto H/L;
F
la lunghezza complessiva di una PDU [F = L+ H = L (1+ )] ;
D
il ritardo di propagazione tra emettitore e ricevitore;
R
il ritmo binario di trasferimento;
P
la probabilit che una PDU sia colpita da errore;
T
il tempo di ciclo, e cio lintervallo di tempo tra lemissione del primo bit di
una PDU e la ricezione del relativo riscontro;
N
il numero medio di emissioni/riemissioni per ottenere il trasferimento di una
PDU senza errori.
Supponiamo che
le PDU abbiano lunghezza costante;
per i riscontri, si impieghi la tecnica delladdossamento, si trascuri la lunghezza della
parte di PDU dedicata al riscontro e si adotti una emissione senza ritardi;
i riscontri siano solo individuali;
ogni emettitore operi in condizioni di pieno carico (cio con esistenza continua di una
esigenza di trasferimento).
Conseguentemente per tutte e tre le procedure P1, P2 e P3
L
I =
R
F
F
2 DR
T = + 2D = 1 +

R
F
R
ove il rapporto 2DR/F la lunghezza andata-ritorno del mezzo di comunicazione espressa in PDU,
(ovvero il numero di PDU che il mezzo di andata-ritorno pu contenere).
Questo rapporto 2DR/F verr indicato con
2 DR
=
F
e quindi
F
T = ( 1 + ) = I ( 1 + )( 1 + ) .
R

42
Con riferimento alle sole procedure P2 e P3 e nellipotesi (gi fatta) che si operi in condizioni
di pieno carico, sono ora valutate le condizioni affinch lemissione avvenga senza soluzione di
continuit. Per questo scopo sufficiente che lemettitore non si arresti per levento la finestra di
emissione si riempita e non ancora pervenuto un riscontro per la prima PDU non ancora
riscontrata. Dato che con le altre ipotesi fatte
il tempo di riscontro 1 uguale a 2D;
lintervallo di tempo 2 per riempire W -1 posizioni della finestra uguale a (W - 1) F/R,
la condizione di emissione senza soluzione di continuit si esprime imponendo che il tempo 1 sia
non superiore allintervallo 2 ; quindi
F
2D (W 1 ) ;
R
da cui si ricava
W 1+ .
Pertanto, per ottenere il risultato desiderato, sufficiente assumere una larghezza di finestra che sia
il pi piccolo intero non inferiore a 1+. Si osserva che, se
W 1 + ( caso 1 ),
la finestra in emissione non si riempie mai (anche in condizioni di pieno carico) dato che, come si
imposto, arriva un riscontro prima del riempimento. In questo caso e in assenza di errori, il
trasferimento avviene senza alcun vincolo posto dalle procedure P2 e P3.
Se invece
W < 1 + ( caso 2 ),
lemettitore, dopo aver emesso W PDU e quindi aver riempito la finestra, deve fermarsi e attendere
che arrivi il riscontro per la prima di queste PDU. In questo caso e in assenza di errori, le procedure
P2 e P3 (che da questo punto di vista producono lo stesso effetto) introducono un vincolo sul
trasferimento. Pertanto, nellanalisi del caso (b) e senza necessit di distinguere tra le procedure P2
e P3, occorre considerare due sottocasi:
- sottocaso (b-1): unione dei casi (b) e (1)
- sottocaso (b- 2): unione dei casi (b) e (2).
Inoltre, dato che
la presenza degli errori produce lo stesso effetto nei casi (1) e (2), ma in modo
differenziato per le procedure P2 e P3;
la determinazione di nel caso (c) si ottiene modificando lespressione di nel caso (b)
con un fattore moltiplicativo,
anche nellanalisi del caso (c) e con distinzione tra le procedure P2 e P3, occorre considerare 2
sottocasi
- sottocaso (c-1): unione dei casi (c) e (1)
- sottocaso (c- 2): unione dei casi (c) e (2) .
Calcolo di nel caso (a) e cio in assenza di recupero
Poich
F
Ra = = I ( 1 + )
R
si ottiene
1
a =
1+
Calcolo di nel caso (b) per la procedura P1
Rb = T = I ( 1 + )( 1 + )
1
b =
( 1 + )( 1 + )

43
Calcolo di nel caso (c) per la procedura P1
Si ha
Rc = N Rb = N I ( 1 + )( 1 + )
ove

1
N = iP i 1 ( 1 P ) =
;
1 P
i =1
conseguentemente

1
c = b =
( 1 P ).
N
( 1 + )( 1 + )
Calcolo di nel sottocaso (b-1) (W 1+) per le procedure P2 e P3
Dato che, in assenza di errori, le procedure P2 e P3 non vincolano il trasferimento, risulta
1
b = a =
.
1+
Calcolo di nel sottocaso (b-2) (W< 1+) per le procedure P2 e P3
Dato che, in assenza di errori e dopo aver emesso W PDU, lemettitore deve fermarsi e
attendere un riscontro, risulta
T
1
Rb =
= I ( 1 + )( 1 + )
W W
da cui
W
b =
.
( 1 + )( 1 + )
Si osserva poi che, per la procedura P2, se si indica con K W il numero di PDU entro la
finestra, deve essere
F
F
K T e ( K 1) < T
R
R
ovvero
( 1 + ) K < ( 2 + ).
Inoltre

P
N = ( iK + 1 )P i ( 1 P ) = 1 + K
=
1

P
i =0

1
[1 + P( K 1 )] = 1 + P
1 P
1 P

ove lultima uguaglianza stata ottenuta approssimando K con 1+; ne seguono le espressioni di
c per la procedura P2.
Calcolo di nel sottocaso (c-1 ) (W1+) per la procedura P2
1 1 P
c =
.
1 + 1 + P
Calcolo di nel sottocaso (c-2 ) (W<1+) per la procedura P2
W
1 P
c =
.
( 1 + )( 1 + ) 1 + P
Poich in questo caso, con ragionamento analogo a quello per la procedura P1, si ottiene
1
N=
,
1 P
ne derivano le espressioni di c per la procedura P3.

44
Calcolo di nel sottocaso (c-1) (W1+) per la procedura P3
1
c =
(1 P ) .
1+
Calcolo di nel sottocaso (c-2) (W<1+) per la procedura P3
W
c =
(1 P ) .
( 1 + )( 1 + )
Lefficienza delle tre procedure in assenza di errori limitata, in primo luogo e in egual
misura, dalla quota di extra-informazione rispetto allinformazione utile. Sempre in assenza di
errori, lefficienza della procedura P1 ulteriormente limitata dal parametro: se questo ha valore
superiore a qualche decimo, il rendimento del trasferimento ne risulta sensibilmente penalizzato e
questa penalizzazione crescente al crescere di . Lefficienza delle procedure P2 e P3 in assenza
di errori dipende anchessa da , in quanto questo parametro condiziona la larghezza della finestra
critica in emissione e quindi anche il valore del modulo di numerazione; se viene assunta una
larghezza di finestra maggiore o uguale di quella critica, non si ha una ulteriore dipendenza da .
Dal punto di vista degli errori e in aggiunta alle limitazioni sopra descritte, lefficienza della
procedura P3 (come del resto quella della procedura P1) limitata da 1-P, e cio direttamente dalla
probabilit che il trasferimento di una PDU avvenga senza errore. Si tratta di una limitazione, che
ben pu definirsi fisiologica, dato che solo le PDU senza errore possono contribuire alla portata
media del trasferimento.
Sempre per ci che riguarda gli errori, la procedura P2 presenta una limitazione aggiuntiva
rispetto a P3; la presenza del termine 1+P a denominatore di ci sottolinea che:
in P2, ogniqualvolta si manifesta un errore, vengono ritrasmesse tutte le PDU
contenute nel mezzo di comunicazione avanti-indietro;
dipende dal prodotto P, nel senso che, al crescere di o di P o di entrambe queste
entit, si ha una sua penalizzazione;
la procedura P2 presenta un rendimento significativamente peggiore di quello di P3
solo quando il prodotto P apprezzabilmente prossimo a 1.
V.3.

Instradamento

L'instradamento una funzione di natura logica avente lo scopo di guidare linformazione di


utente verso la destinazione voluta. Decidere un criterio di instradamento significa stabilire come
scegliere un percorso attraverso la rete logica in modo tale che linformazione emessa da un utente
giunga ad un altro utente rispettando opportuni requisiti prestazionali. Pi in dettaglio si pu dire
che linstradamento una funzione decisionale che si attua con lo svolgimento di un opportuno
algoritmo: per ogni coppia origine-destinazione occorre individuare un percorso, soddisfacendo
determinati criteri prestazionali sia dal punto di vista degli utenti, (qualit del servizio da questi
percepita: ritardo di trasferimento, perdita di informazione, eventuale ritardo di instaurazione, etc.)
sia da quello degli operatori di rete (efficienza di utilizzazione delle risorse: traffico totale che la
rete pu trasportare, resistenza ai guasti, economicit e semplicit di implementazione e di gestione,
etc.).
La questione della localizzazione di un indirizzo, trattata nel paragrafo precedente, pu essere
isolata come una prima parte della funzione di instradamento (alcuni la considerano una funzione
preventiva allinstradamento vero e proprio). Quale che sia il piano di indirizzamento usato esister
dunque una prima fase (pi o meno complessa) in cui dallindirizzo si risalir alla localizzazione
dellutente destinatario nellambito di una data rete. A questo punto la funzione di instradamento
pu scegliere il percorso migliore verso la localit precedentemente individuata.

45
V.3.1.

Generalit sugli algoritmi di instradamento

Con queste premesse, e assumendo risolto il problema della localizzazione dellutente


destinatario (problema che risolto in modo specifico allinterno di determinate reti di
telecomunicazione), ci si concentrer nel seguito nel problema generale di individuare un percorso
da una data origine ad una data destinazione. Si noti che, in una certa situazione, potrebbe esistere
pi di un percorso che soddisfa i requisiti voluti; in tal caso, tra i percorsi possibili, si pu scegliere
quello che ottimizza determinati parametri.
La funzione di instradamento complessa per tre ordini di motivi:
- richiede un coordinamento tra diversi sistemi ed i sistemi coinvolti possono essere molto
numerosi;
- deve poter far fronte ad eventuali guasti e malfunzionamenti sia dei nodi che dei rami di
rete, eventualmente re-instradando il traffico per cui sono state gi prese decisioni di
instradamento e tenendo conto delle mutate condizioni per il traffico da instradare in
seguito;
- deve, ove possibile e conveniente, tenere in conto lo stato di occupazione delle risorse di
rete in modo dinamico e/o adattativo; ci al fine di scegliere i percorsi evitando porzioni
di rete che risultino in congestione, cos da ottimizzare sia lefficienza di utilizzo delle
risorse stesse sia le prestazioni percepite dagli utenti.
La funzione di instradamento comporta anche una funzione ancillare e cio la distribuzione a
tutti i nodi di rete delle informazioni necessarie per svolgere tale funzione. In altri termini bisogna
che ogni nodo di rete sia reso edotto delle informazioni di cui ha necessit per poter prendere
decisioni di instradamento; tali informazioni possono essere:
dati non preventivamente elaborati e riguardanti, ad esempio, loccupazione delle
risorse, la topologia di rete, i guasti e le riparazioni di elementi di rete; in tal caso
ogni nodo elabora localmente le decisioni di instradamento, sulla base dei dati
ricevuti. In tal caso si parla di algoritmi di instradamento distribuiti;
informazioni gi elaborate da altri sistemi di rete che forniscono quindi direttamente
istruzioni sulle scelte da prendere. In tal caso si parla di algoritmi di instradamento
centralizzati.
Tale funzione pu essere considerata un problema aggiuntivo e a se stante ma che nondimeno
risulta di considerevole importanza: la rete deve trasportare non solo le informazioni di utente ma
anche altre informazioni necessarie ai nodi di rete per svolgere la funzione di instradamento.
Le prestazioni di rete sono fortemente influenzate dalla funzione di instradamento sia in
termini della quantit di servizio (portata, di precipuo interesse delloperatore di rete) sia in termini
della qualit di servizio (ritardo di trasferimento ed eventuale perdita di informazione, parametri
direttamente percepiti dagli utenti). La funzione di instradamento interagisce con la funzione di
controllo di congestione nel determinare tali misure prestazionali mediante un meccanismo a contro
reazione mostrato in Fig. V.3.1.
Traffico
offerto

Controllo di
congestione

Portata

Ritardo
Instradamento

Traffico rifiutato

Figura V.3.1 - Interazione tra instradamento e controllo di flusso


Quando il traffico offerto alla rete considerato eccessivo, il controllo di congestione ne
rifiuter una parte e le prestazioni viste dal traffico accettato saranno influenzate dalla funzione di
instradamento. Daltra parte il controllo di congestione decide se accettare o meno il traffico sulla

46

Ritardo

base delle prestazioni che gli utenti percepiranno (ad es. il ritardo di trasferimento) per cui, se la
funzione di instradamento opera in modo adeguato, essa riuscir a mantenere basso il ritardo di
trasferimento e il controllo di congestione accetter una maggiore quantit di traffico. In altri
termini lo scopo della funzione di instradamento anche quello di fare operare il controllo di
congestione lungo una curva qualit-portata (ad esempio ritardo-portata) che sia la pi favorevole
possibile (Fig. V.3.2); ovvero aumentare la portata, a parit di ritardo di trasferimento subito dagli
utenti in condizioni di alto traffico, e diminuire il ritardo, in condizioni di basso traffico.

Instradamento
non efficiente

Instradamento efficiente

Portata

Figura V.3.2 - Interazione tra instradamento e controllo di flusso


Entrando ora in maggiore dettaglio, si pu definire linstradamento come quella funzione
decisionale, svolta in ogni nodo di rete, ed avente lo scopo di stabilire il ramo di uscita verso cui
deve essere inoltrata una unit informativa (UI) che perviene da un dato ramo di ingresso. (xxx
compito decisionale e attuativo ?)
Per approfondire questa definizione, opportuno distinguere i due casi di servizio di
trasferimento con connessione e senza connessione. Nel secondo caso (che si verifica, ad esempio,
in un modo di trasferimento a pacchetto con servizio a datagramma) ogni UI viene considerata
come entit a se stante e viene instradata nella rete in maniera indipendente dalle altre UI che hanno
uguali origine e destinazione. Ci equivale a dire che la funzione di instradamento viene operata per
ogni singola UI che attraversa il nodo.
Nel caso invece di servizio di trasferimento con connessione (quale si ha in un modo di
trasferimento a circuito o in uno a pacchetto con servizio a chiamata virtuale) la funzione di
instradamento viene attivata solo durante la fase di instaurazione della connessione e definisce,
nodo per nodo, il percorso di rete che devono seguire tutte le UI trasferite nell'ambito della
comunicazione stessa.
In ambedue i casi, una procedura di instradamento consiste nel fissare le regole che rendono
possibile il soddisfacimento delle richieste di traffico, facendo uso delle risorse di rete in modo da
garantire opportune prestazioni di trasferimento. L'efficacia di una procedura di instradamento
quindi legata alla sua capacit di fare fronte a situazioni mutevoli nel tempo sia a causa delle
variazioni delle richieste provenienti dagli utenti della rete, sia a causa della vulnerabilit (ad es. per
effetto di guasti o di altre cause di fuori-servizio) delle risorse di cui la rete dispone.
Dal punto di vista di questa caratteristica, si possono allora distinguere procedure di
instradamento statiche, ovvero dinamiche, ovvero infine adattative.
Le procedure di instradamento statiche sono basate su regole che, in generale, assumono come
invarianti nel tempo sia la topologia della rete (e cio le sue risorse), sia le caratteristiche delle
richieste di traffico di accesso. In base a queste informazioni, in ogni nodo della rete vengono
predisposte opportune tabelle (tabelle di instradamento fisse), che consentono di operare, di volta in
volta, la decisione di instradamento. In queste tabelle possibile prevedere, oltre a un
instradamento-base, anche instradamenti alternativi da scegliere nel caso in cui si verifichino
modifiche dello stato della rete tali da rendere non conveniente o impossibile la scelta
dell'instradamento-base.

47
Le procedure di instradamento dinamiche utilizzano invece tabelle che variano nel tempo,
mentre quelle adattative dipendono da certe stime sullo stato della rete nell'istante in cui viene presa
la decisione di instradamento. Notiamo che una procedura di instradamento dinamica non
necessariamente adattativa, dato che la variabilit nel tempo delle tabelle di instradamento pu
essere di tipo programmato (con variazioni a livello giornaliero, settimanale, mensile, ecc.) senza
l'effettuazione di stime sullo stato della rete. Invece un instradamento adattativo normalmente
dinamico, a meno che lo stato della rete rimanga immutato nel tempo.
Nelle procedure di instradamento adattative possibile distinguere vari gradi di adattivit a
seconda della rapidit con cui le relative regole vengono aggiornate per fare fronte alle mutate
situazioni in cui si opera. In generale, conveniente limitare questa rapidit di aggiornamento, in
quanto la raccolta dei dati sulle modifiche dello stato della rete implica un traffico addizionale che
pu limitare gli altri flussi informativi di utente e/o di segnalazione attraverso la rete. Anche per le
procedure di instradamento adattative sono impiegate tabelle, una per ogni nodo della rete, che, a
differenza di quelle fisse nell'instradamento statico, possono modificarsi nel tempo.
Come evidente, le procedure di instradamento adattative sono pi evolute rispetto a quelle
statiche, in quanto consentono di conseguire migliori prestazioni globali. Sono per anche pi
complesse e quindi pi costose e ci ne ha finora limitato l'impiego alle reti di concezione pi
recente, quali, ad esempio, le reti che operano con modo di trasferimento orientato al pacchetto (nel
seguito indicate per brevit come reti a pacchetto). Nelle reti di impostazione sistemistica pi
tradizionale, quali ad esempio le reti telefoniche, si sono fino ad oggi impiegate procedure di
instradamento statiche. E tuttavia iniziato, anche sulla base dell'aumentata capacit elaborativa
presente negli autocommutatori di tecnica pi recente, l'impiego di procedure di instradamento
dinamiche.
Le procedure di instradamento da adottare in reti a pacchetto dovrebbero idealmente possedere
i seguenti attributi:
- semplicit computazionale; cio l'algoritmo di instradamento dovrebbe impegnare in misura
minima la capacit di elaborazione dei nodi della rete;
- robustezza; cio dovrebbe essere garantita la possibilit dell'algoritmo ad adattarsi ai
cambiamenti dei livelli di flusso di traffico attraverso la rete e a trovare percorsi di rete alternativi
quando i nodi e/o i rami si guastano o ritornano in servizio dopo la riparazione;
- stabilit; cio l'algoritmo dovrebbe essere in grado di convergere verso una soluzione
accettabile senza oscillazioni eccessive quando si adatta ai cambiamenti di traffico e di topologia;
- equit; cio le prestazioni di qualit di servizio assicurate dall'algoritmo dovrebbero essere
fornite senza discriminazioni tra gli utenti, entro i possibili vincoli di assegnate priorit;
- ottimalit; cio l'algoritmo dovrebbe individuare il percorso di rete pi conveniente per
minimizzare il valore medio del ritardo di trasferimento di un pacchetto e per massimizzare la
portata della rete; particolare attenzione deve essere rivolta anche alla continuit di servizio e ai
connessi problemi di affidabilit del trasferimento.
Per rispondere a questo insieme di esigenze, le procedure di instradamento che sono state
proposte e, in alcuni casi, realizzate per reti a pacchetto sono normalmente di tipo adattativo. In
questo ambito si distinguono procedure con controllo centralizzato da quelle con controllo
distribuito.
Le procedure di instradamento con controllo centralizzato prevedono l'esistenza di un centro di
controllo di rete (CCR), al quale confluiscono le informazioni riguardanti sia il livello del traffico di
ingresso alla rete, sia l'integrit e il grado di occupazione dei rami e dei nodi. Il CCR elabora queste
informazioni secondo l'algoritmo di instradamento che stato prescelto, aggiorna di conseguenza le
tabelle relative ai vari nodi della rete e provvede a trasferirne i contenuti a questi ultimi.
Nel caso di soluzione centralizzata, si pu conseguire pi agevolmente la condizione di
ottimalit della procedura di instradamento, sollevando al tempo stesso i nodi di rete dai compiti di
elaborazione del relativo algoritmo. Questo pu allora essere di maggiore complessit
computazionale. Lo svantaggio principale di un controllo centralizzato risiede nella vulnerabilit del

48
sistema, dato che le conseguenze di un guasto del CCR possono essere disastrose ai fini della
continuit del servizio: la rete pu infatti continuare a funzionare basandosi sull'ultimo
aggiornamento fornito dal CCR prima del suo guasto, ma questa informazione diventa rapidamente
priva di utilit, con la conseguenza che le prestazioni del trasferimento diventano inaccettabili.
Nel caso di procedure di instradamento adattative con controllo distribuito, ogni nodo provvede
a raccogliere le informazioni per lui accessibili sullo stato della rete e provvede a elaborarle per
aggiornare le proprie tabelle; conseguentemente ogni decisione di aggiornamento viene presa
localmente. Per queste procedure, si possono distinguere i casi in cui ogni nodo: a) opera senza
interazioni con gli altri nodi, limitandosi a utilizzare le informazioni sullo stato della rete che
possono essere raccolte localmente (algoritmi isolati); b) aggiorna la propria tabella di
instradamento sulla base di dati scambiati con gli altri nodi e, pi in particolare, con quelli ad esso
adiacenti (algoritmi cooperativi).
In ambedue i casi di controllo centralizzato o distribuito (con algoritmo cooperativo) sorge,
come gi detto, la necessit di limitare il traffico di aggiornamento. Una soluzione rappresentata
da procedure quasi-statiche, che prevedono un aggiornamento dello stato della rete a intervalli
regolari abbastanza lunghi (aggiornamento sincrono) o addirittura solo in occasioni in cui si
verificano variazioni di un certo interesse (aggiornamento asincrono). Nel primo caso un intervallo
di aggiornamento tipico pu essere dell'ordine di una decina di secondi.
Gli algoritmi di instradamento attualmente in uso o semplicemente proposti sono molto
numerosi e sono caratterizzati da diversi livelli di sofisticazione e di efficienza. La ragione di una
tale variet dovuta sia a ragioni storiche che alle diverse esigenze di specifiche reti. Nel seguito
della sezione si esamineranno in modo qualitativo alcune classi di procedure di instradamento
adottate nelle reti per dati a pacchetto.
V.3.2.

Procedure basate sulla ricerca del percorso pi breve

Molti algoritmi di instradamento usati in situazioni reali sono basati sulla nozione di percorso
pi breve tra due nodi (shortest path routing). La rete logica viene dapprima rappresentata mediante
un grafo orientato. Ad ogni ramo assegnata una lunghezza (o peso). La scelta di questi pesi
dipende dalla metrica che si intende utilizzare per valutare la distanza tra due generici nodi, definita
come somma dei pesi dei rami che occorre percorrere per passare da un nodo all'altro. L'opzione pi
semplice consiste nel definire pari all'unit il peso di ogni ramo; in tal modo il percorso pi breve
semplicemente il percorso che attraversa il numero minimo di rami (percorso a numero di salti
minimo). Il peso di un ramo pu essere per determinato anche con metriche pi complesse quali,
ad esempio, la distanza fisica tra le sue estremit, la sua capacit trasmissiva, il ritardo di
trasferimento di un pacchetto-tipo attraverso il nodo a monte e il ramo considerato, la lunghezza
della coda a monte, e cos via.
Si vede quindi che, in funzione della metrica utilizzata, un simile algoritmo pu essere sia
statico che dinamico che adattativo. Inoltre questa procedura stata realizzata con soluzioni a
controllo sia centralizzato che distribuito. Una volta definita la metrica esistono diversi algoritmi
che consentono di identificare il percorso tra due nodi tale che la distanza tra questi (misurata
secondo la metrica prescelta) sia minima. A titolo di chiarificazione illustriamo un algoritmo di
questo tipo.
L'algoritmo di instradamento del percorso pi breve sviluppabile in una molteplicit di passi,
con complessit crescente all'aumentare del numero di nodi della rete. Per chiarirne lo sviluppo
facciamo riferimento alla Fig. V.3.3, dove il punto di partenza dell'algoritmo definito in (a). In
questo grafo, ai vari rami componenti sono stati attribuiti i relativi pesi. L'applicazione
dell'algoritmo riferita a una coppia di nodi di origine e di destinazione, che, nel caso di Fig. V.3.3,
si identificano con A e D. I passi di sviluppo dell'algoritmo, che nel caso specifico di Fig. V.3.3,
sono cinque, sono illustrati ordinatamente in (b), (c), (d), (e) e (f).
Si parte dal nodo di origine (A nel caso specifico) e si individua, tra i nodi adiacenti, quello a
distanza minima. Questo assunto come nodo di lavoro. Il risultato del primo passo (Fig. V.3.3)

49
individua il nodo B come primo nodo di lavoro, in quanto la sua distanza dal nodo di origine
inferiore a quella del nodo G. I nodi B e G sono etichettati (tra parentesi) con la loro distanza dal
nodo di origine e, accanto a tale distanza, si indica anche il nodo A da cui si partiti per valutarne la
distanza. Dato che, in questo primo passo, non stato esplorato alcun percorso, al di fuori di quelli
corrispondenti ai rami AB e AG, gli altri nodi del grafo sono etichettati con distanza infinita.
Man mano che l'algoritmo procede e i percorsi possibili sono esplorati, le etichette di ogni
nodo sono variate in relazione alla distanza di questo dal nodo di origine lungo il percorso pi breve
identificato nel passo precedente. L'etichetta di uno specifico nodo X, sempre comprendente la
distanza di X dal nodo di origine e l'indicazione del nodo attraverso cui pu essere raggiunto X con
quella distanza, pu quindi essere di tentativo o permanente. Inizialmente tutte le etichette sono di
tentativo. Quando si accerta che l'etichetta di un nodo X relativa al percorso pi breve possibile
per raggiungere X partendo dal nodo di origine, essa resa permanente e quindi non pi
modificabile nei passi successivi dell'algoritmo.
Ogni passo caratterizzato dal proprio nodo di lavoro (indicato con una freccia in Fig. V.3.3 ),
nel senso che vengono presi in considerazione tutti i nodi ad esso adiacenti e per questi vengono
modificate, se possibile, le relative etichette. A questo punto si esamina l'intero grafo per cercare il
nodo con etichetta di tentativo contenente il minimo valore di distanza dal nodo di origine. Il nodo
cos individuato assume etichetta permanente e diventa il nodo di lavoro del passo successivo. E
immediato verificare lapplicazione di queste regole nei contenuti di Fig. V.3.3, da cui emerge che
il percorso pi breve tra i nodi A e D quello che attraversa i nodi B,E,F e H.
B
2

2
A

7
2

1
G

B(2,A)

2
4

F(,-)
D

E(,-)
G(6,A)

(a)
B(2,A)

C(9,B)

B(2,A)

D(,-)

A
G(5,E)

H(,-)

C(9,B)

B(2,A)

D(,-)
H(9,G)

(e)

H(,-)

C(9,B)
F(6,E)

E(4,B)
G(5,E)

D(,-)

(d)

F(6,E)
A

C(9,B)

E(4,B)

(c)

B(2,A)

H(,-)

F(6,E)

E(4,B)

G(6,A)

D(,-)

(b)

F(,-)
A

C(,-)

E(4,B)
G(5,E)

D(,-)
H(8,F)

(f)

Figura V.3.3 - Applicazione dell'algoritmo di instradamento del percorso pi breve (A e D


sono i nodi di origine e di destinazione).
Per giustificare come lalgoritmo ora descritto consenta di risolvere il problema della ricerca
del percorso pi breve si consideri la Fig.V.3.3c, corrispondente al secondo passo dellalgoritmo, in
corrispondenza del quale il nodo E viene designato come nodo di lavoro. Occorre dimostrare che
non pu esistere un percorso pi breve di ABE per andare da A ad E.
Supponiamo allora che esista un percorso, ad esempio AXYZE, che sia pi breve di ABE.
Esistono due possibilit: letichetta di Z stata gi resa permanente o non lo stata. Se lo stata
(prima possibilit) allora E gi stato preso in considerazione in un passo seguente a quello in cui
letichetta di Z stata resa permanente. In queste condizioni il percorso AXYZE non sfuggito alle
iterazioni dellalgoritmo.
Se invece Z ha ancora una etichetta di tentativo (seconda possibilit) si possono verificare due
casi:

50
-

V.3.3.

letichetta di Z maggiore o uguale a quella di E, nel qual caso il percorso AXYZE non
pu essere pi breve di ABE;
letichetta di Z minore di quella di E, nel qual caso Z e non E deve assumere etichetta
permanente; conseguentemente garantito che E sar preso in considerazione da Z e
vale quindi la stessa conclusione a cui si giunti relativamente alla prima possibilit.
Instradamento ottimo

L'instradamento basato sulla ricerca del percorso pi breve abbastanza diffuso, grazie anche
alla sua relativa semplicit realizzativa, ma presenta due limitazioni principali:
la portata che riesce ad offrire potenzialmente limitata poich tale algoritmo prevede
un solo cammino per ogni coppia origine-destinazione;
la sua capacit di adattarsi a mutate condizioni di traffico o di disponibilit di risorse di
rete ridotta a causa di fenomeni di oscillazione.
Per chiarire questi due punti ci si avvale delle seguenti considerazioni. Si consideri la rete
(avente scopo esclusivamente didattico) mostrata Fig.V.3.4 e composta da 5 nodi e da 5 rami. Si
supponga che:
la rete trasferisca pacchetti di lunghezza costante;
ogni ramo possa trasportare 10 pacchetti nellunit di tempo;
al nodo 1 siano offerti 15 pacchetti destinati al nodo 5;
alla rete non sia offerto altro traffico.
Nel caso in cui si adotti un algoritmo di instradamento che prevede un solo cammino per ogni
coppia origine destinazione, solo 10 pacchetti possono essere trasportati: ad esempio lungo il
percorso 1->2->5, che risulta essere il percorso pi breve nel caso in cui si scelga pari ad uno il peso
di ogni ramo; i restanti 5 pacchetti saranno rifiutati. Se invece per ogni coppia origine-destinazione
lalgoritmo di instradamento potesse usare pi di una solo percorso, i 15 pacchetti potrebbero essere
divise, inviando ad esempio 8 pacchetti lungo il percorso 1->2->5 e i restanti 7 lungo il percorso 1>3->4->5, evitando cos di rifiutare del traffico.
Si noti per che in questultima alternativa non pi garantita la consegna in sequenza dei
pacchetti. Quindi il prezzo da pagare per laumento di efficienza cos ottenuto la necessit di
prevedere una operazione di ri-sequenziamento dei pacchetti giunti a destinazione.
origine
1
3
2
4
5
destinazione

Figura V.3.4 - Limiti dell'algoritmo di instradamento del percorso pi (nellesempio ogni ramo
pu trasportare 10 unit di traffico)
Per quanto riguarda il secondo svantaggio dell'algoritmo di instradamento del percorso pi
breve e cio la presenza di eventuali oscillazioni si consideri sempre la rete di Fig. V.3.4. Se la
metrica sui cui basato lalgoritmo utilizza pesi legati allo stato di occupazione dei rami (come
naturalmente il caso, a meno di ridursi a considerare solo il numero e le capacit statiche dei rami

51
attraversati), allora, assumendo che il peso di un ramo sia legato al ritardo di attraversamento, si pu
verificare la seguente catena di eventi:
lalgoritmo sceglie un percorso (ad esempio 1->2->5) perch in quel momento risulta
non occupato da altro traffico e quindi caratterizzato da un basso valore del ritardo di
attraversamento;
a causa del traffico appena instradato lungo tale percorso il relativo ritardo di
attraversamento aumenta, superando quello del percorso 1->3->4->5;
di conseguenza lalgoritmo re-instrada il traffico che aveva appena diretto lungo il
percorso 1->2->5, spostandolo lungo il percorso 1->3->4->5;
a causa di questa scelta, il ritardo di attraversamento lungo il percorso 1->3->4->5
supera quello relativo al percorso 1->2->5 e lalgoritmo riporta il traffico sul precedente
percorso 1->2->5.
E immediato vedere che questo modo di operare conduce ad un andamento oscillatorio in cui
il traffico continuamente spostato da un percorso allaltro.
Linstabilit tipica di un tale fenomeno a contro-reazione pu essere ridotta: i) limitando la
velocit con cui lalgoritmo pu cambiare strade; ii) aggiungendo una costante positiva di elevato
valore al peso di ogni singolo ramo, cos da diminuire leffetto della variazione del peso dei rami;
iii) rendendo asincroni i messaggi che i nodi si scambiano al fine di comunicarsi le variazioni dei
pesi dei rami, in modo tale che la modifica dello stato di un dato percorso non si propaghi in un
breve intervallo di tempo in tutta la rete, ma avvenga in modo graduale. Purtroppo lintroduzione di
simili accorgimenti limita anche la sensibilit dellalgoritmo alle variazioni delle condizioni di
traffico o di disponibilit di risorse di rete.
Linstradamento ottimo, invece, si pone come fine lottimizzazione globale su tutta la rete di
una data misura prestazionale, ad esempio il ritardo medio di trasferimento. In altre parole non si
limita a trovare quale sia il percorso migliore, in un dato momento, per ogni singola relazione di
traffico alla volta, ma opera in modo tale da cercare un stato di instradamento che sia ottimo per
tutta la rete nel suo insieme. E facile vedere infatti come cercare la strada migliore per una data
relazione di traffico non equivalga a rendere migliori le prestazioni dellintera rete. In un dato
momento ci si pu trovare di fronte alla seguente alternativa:;
- scegliere la strada migliore per una certa coppia origine-destinazione anche se tale scelta
va a peggiorare le prestazioni viste da altre relazioni di traffico (e queste ultime
dovranno quindi adeguarsi alle mutate situazioni);
- scegliere per una certa coppia origine-destinazione una strada che non sia la migliore
possibile ma tale che le prestazioni medie globali siano migliori rispetto allalternativa
precedente (possibilmente le migliori in assoluto).
Nel primo caso si sta applicando il principio del percorso pi breve, nel secondo il principio
dellinstradamento ottimo.
Linstradamento ottimo pu dividere il traffico di una data relazione lungo pi strade e allocare
gradualmente il traffico lungo cammini alternativi; i corrispondenti algoritmi sono ovviamente pi
sofisticati e complessi.
V.3.4.

Instradamento a deflessione

Con il nome di instradamento a deflessione o della patata bollente si designa un algoritmo


d'instradamento molto semplice e robusto, che pu essere classificato come adattativo di tipo
isolato. E applicato nei casi in cui le capacit di memorizzazione dei nodi siano molto limitate e si
basa sul principio di rilanciare un pacchetto immediatamente, senza immagazzinarlo, eventualmente
indirizzandolo verso un'uscita diversa da quella preferita (nel senso che non quella che lo
porterebbe pi vicino alla sua destinazione) se quest'ultima gi impegnata.
Supponiamo che pi di un pacchetto preferisca andare verso una certa destinazione nello
stesso momento: solo uno di questi vi sar inviato mentre gli altri saranno inoltrati verso altre

52
destinazioni meno gradite da cui poi saranno rilanciati verso la destinazioni finali se vi saranno
risorse disponibili, altrimenti saranno ancora deflessi verso ulteriori destinazioni sub-ottimali.
Prendendo opportune precauzioni, tra cui quella di evitare che un pacchetto sia inserito in un ciclo
chiuso da cui non riesce ad uscire, si pu garantire che la totalit dei pacchetti (o una grande
maggioranza di essi) arrivi a destinazione. Lo svantaggio di tale schema che non preserva la
sequenza dei pacchetti e che introduce un ritardo di trasferimento che pu essere notevolmente
variabile.
V.3.5.

Instradamento diffusivo

Come accennato in precedenza, durante il funzionamento di un algoritmo di instradamento pu


essere necessario diffondere alcune informazioni che consentono allalgoritmo stesso di poter
operare (ad es. lo stato di occupazione delle risorse di rete). In molte situazioni, tali informazioni
devono essere inviate da un nodo di origine a tutti gli altri nodi: come esempio di nodo di origine si
pensi a
un centro di controllo di rete, nel caso di algoritmi centralizzati, che deve inviare i dati
da esso elaborati a tutti i nodi di commutazione;
un nodo di commutazione che si trovi in stato di congestione e che deve rendere nota tale
sua situazione a tutti gli altri nodi (nel caso di algoritmi distribuiti).
In altri casi pu essere necessario inviare in modo diffusivo anche linformazione di utente: si
pensi a servizi di telecomunicazione di tipo appunto diffusivo (come potrebbe essere il servizio
televisivo).
Una metodologia molto usata per diffondere a tutti i nodi di rete una certa informazione nota
come inondazione (flooding) e opera come segue. Il nodo di origine invia linformazione in
oggetto a tutti i suoi vicini (cio ai nodi a cui direttamente connesso). Ogni vicino la rilancia
verso i suoi vicini e cos via finch linformazione in tal modo arriva a tutti i nodi della rete. Al fine
di limitare il numero di pacchetti trasmessi si osservano due regole addizionali:
- un nodo non deve rilanciare un pacchetto verso il nodo da cui lo ha ricevuto;
- un nodo deve trasmettere un pacchetto a ogni vicino una sola volta.
Ci pu essere attuato includendo in ogni pacchetto un identificativo del nodo di origine ed un
numero di sequenza che incrementato con ogni pacchetto emesso dal nodo di origine.
Memorizzando il numero di sequenza pi alto ricevuto per ogni nodo di origine e non rilanciando
pacchetti con numero di sequenza pi basso di quello memorizzato ogni nodo pu evitare di
trasmettere lo stesso pacchetto pi di una volta.
Questo modo di operare illustrato nella Fig. V.3.5 che illustra anche come il numero totale di
pacchetti trasmessi possa variare tra L e 2L dove L il numero di rami bi-direzionali della rete.
1
0

2
1

Origine
2

1
0

Figura V.3.5 - Esempio di algoritmo diffusivo


Un altro metodo di instradamento diffusivo basato sulla nozione di spanning tree (albero
pervasivo).
Secondo la usuale nomenclatura usata nei grafi geometrici, uno spanning tree associato a un
grafo G uno sotto-grafo di G (cio con rami che sono un sotto-insieme di quelli di G) che include

53
il minor numero di rami necessario per fornire completa connettivit tra tutti i nodi di G (senza
formare percorsi chiusi)
Nellinoltro a spanning tree ogni nodo della rete logica conserva informazione su quali dei suoi
rami uscenti appartengano allo spanning tree che associato al grafo della rete. I pacchetti che sono
instradati in modo diffusivo (pacchetti diffusivi) sono distinti da uno speciale indirizzo di
destinazione (formato ad es. da tutti 1). Quando un nodo riceve un pacchetto di tipo diffusivo, ne
inoltra una copia su tutti i suoi rami uscenti che appartengono allo spanning tree, con leccezione di
quello che ha la stessa estremit del ramo entrante. Il nodo fornisce anche una copia del pacchetto a
tutti i calcolatori che ad esso fanno capo.
A titolo di esempio, si consideri la Fig. V.3.6 ove mostrato lo spanning tree associato al grafo
di Fig. V.3.5. Grazie allalgoritmo ora descritto possibile effettuare una comunicazione diffusiva
che richiede un numero totale di pacchetti trasmessi pari a N-1 , se N il numero di nodi del grafo
corrispondente alla rete. Un tale aumento di efficienza rispetto allalgoritmo di inondazione va
pagato con la necessit di memorizzare e di aggiornare in ogni nodo interessato lo spanning tree
della rete, anche in seguito a variazioni topologiche.
1
2

0
1

Origine
0

Figura V.3.6 - Esempio di spanning tree


V.3.6.

Instradamento in reti interconnesse

In una inter-rete (cfr IV.9.1) necessario fare uso di dispositivi di interconnessione che
fungano da interfaccia tra una sotto-rete e laltra, traducendo i protocolli di una nei corrispondenti
protocolli dellaltra, e che consentano ad una unit informativa proveniente da una data sotto-rete di
giungere ad un altra sotto-rete, dove si trova il sistema terminale verso cui quellunit informativa
destinata (Fig. V.3.7Figura ).
Tra le funzioni che tali dispositivi devono svolgere, vi , in generale, la funzione di
instradamento. Supponendo che linter-rete in questione adotti nello strato di rete una modalit di
trasferimento senza connessione, un sistema di interconnessione deve svolgere, fra gli altri, i
seguenti compiti:
per ogni unit informativa che prende in consegna, deve determinare dove si trova,
nellambito della inter-rete, la destinazione verso la quale quella unit informativa
diretta (compito di natura decisionale);
per ciascuna unit informativa deve individuare una strada che porti questultima verso
la destinazione voluta (compito di natura decisionale);
deve inoltrare fisicamente ogni unit informativa verso la strada prescelta (compito di
natura attuativa).
Nel caso di modalit di trasferimento con connessione i compiti di natura decisionale sono
svolti solo durante la fase di instaurazione mentre quello di natura attuativa svolto per ogni unit
informativa trattata.

54
Inter-rete
sotto-rete
1
sistema di
interconnessione
sotto-rete
2

sistema di
interconnessione

sistema di
interconnessione

sistema di
interconnessione

sotto-rete
5
sotto-rete
4

sistema di
interconnessione

sotto-rete
3
sistema di
interconnessione

sotto-rete
6

Figura V.3.7 - Esempio di inter-rete


Dal punto di vista della funzione di instradamento, una inter-rete pu essere vista in due modi
alternativi:
1) in una visione ad un livello, in cui i dispositivi di interconnessione hanno il ruolo di nodi
addizionali rispetto a quelli delle sotto-reti; ogni sistema di interconnessione connesso a
due o pi sotto-reti e quindi a due o pi nodi appartenenti alle sotto-reti che interconnette;
lintera inter-rete vista come un insieme di nodi di numerosit pari alla somma di tutti i
nodi delle sotto-reti componenti e di tutti i sistemi di interconnessione;
2) in una visione a due livelli; al primo di questi livelli ogni sotto-rete vista come entit a se
stante e costituita da un certo numero di nodi; tra tali nodi ve ne sono alcuni di natura
particolare (i sistemi di interconnessione) che la mettono in comunicazione con il mondo
esterno ad essa.
Al secondo livello, ogni sotto-rete vista come un macro-nodo e la struttura interna di ogni
sotto-rete non visibile dallesterno. Lintera inter-rete quindi vista, a questo secondo livello,
come costituita da un insieme di nodi: alcuni di questi sono macro-nodi, rappresentanti le sotto-reti
componenti, mentre i rimanenti sono i sistemi di interconnessione che interconnettono i macro-nodi.
A questo secondo livello la numerosit di nodi equivalenti quindi ben minore di quella di cui al
caso 1) poich la struttura interna delle sotto-reti non visibile.
Linstradamento basato sul primo di questi due modelli chiamato non gerarchico e pu
appartenere a una qualunque delle tipologie discusse nei paragrafi precedenti; ad esempio pu
essere del tipo a ricerca del percorso pi breve. In tal caso lalgoritmo di instradamento dovr
cercare il percorso pi breve tra tutti i nodi che costituiscono linter-rete.
Linstradamento basato sul secondo dei modelli di cui sopra detto gerarchico. Nel caso di
instradamento gerarchico, si ha una procedura a due livelli. Al livello pi basso vi un algoritmo di
instradamento, separato per ogni sotto-rete, il quale:
- gestisce fino a destinazione il traffico locale (interno alla sotto-rete);
- instrada il traffico diretto ad altre sotto-reti verso i dispositivi di interconnessione,
limitandosi a farlo arrivare ad uno di questi ultimi e non ponendosi il problema di quale
strada fargli percorrere fino al sistema terminale di destinazione finale.
Al livello pi alto vi un algoritmo di instradamento che determina la sequenza di sotto-reti e
dei relativi dispositivi di interconnessione che ogni unit informativa deve attraversare se vuole,
partendo da un sistema di interconnessione di una sotto-rete, arrivare ad un sistema di
interconnessione appartenente ad una diversa sotto-rete. In altre parole lalgoritmo di basso livello
gestisce il traffico locale e lalgoritmo di alto livello gestisce il traffico di lunga distanza,
guidandolo attraverso diverse sotto-reti per consegnarlo infine allalgoritmo di basso livello della
sotto-rete di destinazione, il quale lo far pervenire al sistema terminale di destinazione.

55
Linstradamento di tipo gerarchico tipicamente preferibile in reti di grandi dimensioni (ad
esempio quello usato in Internet e nella rete telefonica mondiale). Per meglio chiarire quanto
appena esposto si ricorre ad un esempio.
Si consideri una nazione con diverse citt, ognuna delle quali ha una sua rete cittadina connessa
alla rete nazionale tramite dispositivi di interconnessione. Supponendo di usare lalgoritmo del
percorso pi breve, se si usa un instradamento non gerarchico, non vi distinzione tra le reti
cittadine: ogni nodo deve calcolare il percorso pi breve verso tutti i nodi di tutta la nazione; ogni
nodo deve conoscere la topologia di tutta la rete e la dimensione delle tabelle di instradamento
contenute in ogni nodo (ovvero una serie di informazioni, elaborate durante la funzione decisionale,
che specificano per ogni destinazione quale strada far seguire allinformazione di utente) pari al
numero di tutti i nodi della rete nazionale.
Se invece si usa un approccio gerarchico, esiste un algoritmo di instradamento locale di basso
livello per ogni citt, le cui tabelle di instradamento devono contenere informazioni solo per i nodi
appartenenti alla stessa citt. Lalgoritmo di alto livello si occupa dellinstradamento quando una
comunicazione non limitata allinterno di una sola citt e opera nei dispositivi di interconnessione.
Ogni dispositivo di interconnessione deve conoscere la topologia della nazione come insieme di
citt, senza entrare nel merito di come costituita ogni singola citt, e ha una tabella di
instradamento la cui dimensione pari al numero delle citt.
Per vedere come linstradamento gerarchico complessivo lavori, si consideri una unit
informativa generata da un sistema appartenente a una data citt; lalgoritmo di instradamento
locale, di basso livello, prende in consegna lunit informativa e determina se essa destinata alla
stessa citt da cui stata generata o meno. Nel primo caso capace di portarla a destinazione,
altrimenti la consegna ad un dispositivo di interconnessione; qui presa in consegna dallalgoritmo
di alto livello che ne determina la strada attraverso diversi dispositivi di interconnessione (e quindi
attraverso citt) fino ad arrivare alla citt di destinazione; qui lunit informativa di nuovo presa in
consegna dallalgoritmo di basso livello che la consegner al sistema terminale di destinazione.
E facile vedere come nel caso di instradamento gerarchico la dimensione delle tabelle di
instradamento ed i calcoli da effettuare per determinare la strada pi opportuna sono
considerevolmente minori che nel caso di un algoritmo non gerarchico. Daltra parte un
instradamento gerarchico risulta tipicamente meno ottimale di uno non gerarchico. Bisogna quindi
scegliere un opportuno compromesso tra questi due approcci a seconda delle specifiche esigenze.
Si noti infine che linstradamento gerarchico pu essere organizzato in pi di due livelli (ad
esempio una rete internazionale costituita da pi reti nazionali ognuna delle quali comprende
diverse citt).
V.3.7.

Indirizzamento

Lindirizzo di un utente identifica in modo univoco questultimo nellambito di una rete di


telecomunicazione. La modalit con cui sono definiti ed assegnati gli indirizzi (piano di
indirizzamento) ha significative conseguenze sulla funzione di instradamento, e cio la funzione il
cui scopo guidare linformazione di utente verso la destinazione voluta (cfr. par.). Si possono
distinguere tre modalit di indirizzamento:
1- nella prima lindirizzo stabilmente legato ad un luogo fisico e il piano di
indirizzamento definito in modo tale che lindirizzo, oltre a identificare un utente, dia
anche informazioni su dove lo stesso si trovi;
2- nella seconda lindirizzo di per se stesso non consente di dedurre in modo immediato la
localizzazione dellutente, anche se esiste una corrispondenza stabile tra lutente e il
luogo ove esso si trova;
3- nella terza non esiste una corrispondenza stabile tra indirizzo e luogo fisico in cui
lutente si trova in un dato momento.

56
Nel caso di cui al precedente punto 2 lalgoritmo di instradamento deve prima stabilire dove
lutente si trova e quindi scegliere una strada per raggiungerlo. Nel terzo caso bisogna prima
stabilire dove lutente si trova in un dato momento e quindi scegliere una strada per raggiungerlo.
Per esemplificare prendiamo in considerazione diversi casi, in ordine crescente di complessit,
essendo il caso pi semplice quello in cui un indirizzo ci da direttamente informazioni stabili sulla
localizzazione della destinazione voluta:
- nella rete telefonica fissa gli indirizzi (=numeri telefonici) sono organizzati in modo
gerarchico per cui un indirizzo, oltre ad identificare uno specifico utente, fornisce precise
informazioni sulla localizzazione dello stesso; ad esempio il numero telefonico 39 06
44 58 XXXX legato ad uno specifico luogo (e apparato telefonico): 39
lidentificativo dellItalia, 06 il prefisso per la citt di Roma, 44 pu specificare una
particolare centrale di commutazione, 58 un centralino privato e XXXX un interno del
centralino; quando allalgoritmo di instradamento giunge una richiesta di connessione
verso tale numero immediato sapere dove si trova la destinazione;
- nellattuale Internet basata sul protocollo IP senza prestazioni di mobilit, lassociazione
tra indirizzo e luogo fisico in cui lutente si trova pu essere considerata relativamente
stabile ma lindirizzo fornisce limitate informazioni su dove il relativo utente si trova (il
piano di indirizzamento non organizzato in modo gerarchicamente legato alla
localizzazione territoriale degli utenti: non esistono prefissi internazionali, interurbani
etc.). Ci significa che parte integrante dellalgoritmo di instradamento anche stabilire
la localizzazione dellutente; si noti per che una volta stabilita lassociazione indirizzoluogo questa pu essere assunta stabile, a meno di cambiamenti che possono per
avvenire solo in seguito ad operazioni di carattere gestionale e non quindi sotto il
controllo di un generico utente;
- si noti che un caso simile si presenta anche nella rete telefonica fissa quando si
usufruisce del servizio numero verde; in tal caso lindirizzo (del tipo 167 X...X) non
rientra nel piano gerarchico di indirizzamento, non si usano i consueti prefissi interurbani e non possibile, esaminando il numero, stabilire la localizzazione del relativo
utente di destinazione; in tal caso devono quindi essere invocate opportune procedure
(nella fattispecie ottenute mediante la cosiddetta Rete Intelligente) per ottenere la
corrispondenza indirizzo->localizzazione prima di poter iniziare a scegliere una strada
opportuna;
- nelle reti radio-mobile cellulari un indirizzo in corrispondenza con un dato utente ma la
posizione di questultimo varia nel tempo; lalgoritmo di instradamento deve quindi
stabilirne la localizzazione in modo dinamico, prima di poter scegliere una strada
attraverso la quale fargli pervenire una data informazione; infatti, un numero telefonico
di un terminale cellulare non fornisce alcuna indicazione su dove il relativo utente si
trovi in un certo momento.
Levoluzione delle reti di telecomunicazione ha reso inoltre la questione appena discussa
ancora pi complessa. Nei classici paradigmi di comunicazione vi infatti la tendenza ad
identificare un terminale con lutente (o gli utenti) che ne fa (fanno) uso e lindirizzo si riferisce al
terminale ma anche, per estensione, allutente. Il concetto di mobilit stato per esteso dalla
mobilit di terminale e cio dalla possibilit di accedere ad un servizio di telecomunicazione con un
terminale in movimento (vedi punto precedente) alla mobilit personale. Nel primo caso lindirizzo
legato ad un terminale fisico; questultimo pu spostarsi da un luogo ad un altro ma permane
unassociazione tra terminale ed utente, ovvero lindirizzo legato ad uno specifico terminale. Nel
secondo caso (mobilit personale) lindirizzo legato allutente che pu quindi registrarsi su diversi
terminali, ovvero usare diversi terminali mantenendo la propria identit.
Il sistema GSM un esempio di tale nuovo concetto di mobilit: un utente identificato da un
indirizzo contenuto in una carta: inserendo questultima in un terminale si personalizza il terminale.
Le chiamate indirizzate verso quellutente saranno instradate sul terminale su cui lutente stesso si

57
registrato e la tariffazione delle chiamate effettuate da un terminale sar addebitata allutente
registrato su quel terminale. Tale possibilit in progetto di essere estesa anche alle reti non mobili:
un utente potr registrarsi su qualunque terminale, sia fisso che mobile, e la rete, per instradare
linformazione verso un dato utente, dovr determinare su quale terminale un dato utente
registrato, poi dove quel terminale si trova in quel dato momento (se si tratta di un terminale
mobile) e quindi scegliere una strada che porti a quel terminale.
V.4.

Controllo del traffico

Una fenomenologia tipica che si riscontra in una rete di telecomunicazione legata agli effetti
del traffico sulle prestazioni della rete e delle sue parti componenti. Ci legato al largo impiego di
risorse condivise e ai conseguenti fenomeni di congestione, che si possono manifestare sia nelle
strategie di pre-assegnazione individuale o collettiva (congestione di pre-assegnazione), sia nel
corso dell'evoluzione di attivit di utilizzazione, che agiscono nell'ambito di strategie con
assegnazione a domanda o con pre-assegnazione collettiva (congestione di utilizzazione).
Nei fenomeni di congestione di pre-assegnazione o di utilizzazione si pu osservare che, al di
sopra di un carico-limite (soglia di sovraccarico), le prestazioni dell'insieme peggiorano
bruscamente. Ad esempio, se le contese di pre-assegnazione sono risolte con modalit a perdita,
all'aumentare della domanda di pre-assegnazione al di sopra di questa soglia, si verifica un brusco
aumento della probabilit di rifiuto. Se si fa invece riferimento a contese di utilizzazione gestite con
modalit ad attesa, al crescere del carico offerto, il sistema risponde con un rapido incremento del
valor medio dei tempi di attesa e con una diminuzione, altrettanto brusca, della sua portata media.
Per evitare condizioni di questo tipo, che possono condurre rapidamente al completo collasso
di intere sezioni di rete, occorre prevedere opportune forme di controllo del traffico, che consentano
di filtrare le domande in modo che: 1) l'insieme operi con una intensit di traffico offerto che sia
sempre inferiore alla soglia di sovraccarico; 2) le risorse componenti siano utilizzate in modo
efficiente. Notiamo che questa seconda condizione in parziale contrasto con la prima, dato che
impone di lavorare in prossimit della soglia.
Come facile intuire, il problema ora delineato normalmente di soluzione molto complessa.
Ci limiteremo quindi a illustrare qui, a titolo d'esempio, solo alcune linee-guida oggi seguite
nell'ambito delle reti per dati a pacchetto.
In questo caso sono previste due forme di controllo di traffico, e cio quelle di tipo preventivo e
quelle di tipo reattivo. Nel controllo di tipo preventivo, che applicabile solo a infrastrutture con
servizio di rete orientato alla connessione, previsto il meccanismo di controllo di accettazione di
chiamata. In base a questo una chiamata virtuale viene accettata solo quando sono disponibili
sufficienti risorse da pre-assegnare virtualmente in modo che siano soddisfatte due condizioni: a) la
nuova chiamata possa usufruire di una adeguata qualit di servizio; b) le chiamate gi instaurate e
tuttora in corso continuino ad evolvere con la qualit di servizio concordata al momento della loro
accettazione.
La gestione delle situazioni di contesa effettuata normalmente con modalit a perdita e
l'accettazione di chiamata operata, almeno nel caso qui considerato delle reti per dati a pacchetto,
con assegnazione a domanda media.
Nei controlli di tipo reattivo, quali sono applicati almeno nelle reti per dati a pacchetto, sono
utilizzati, durante la fase di trasferimento dell'informazione, meccanismi a retro-pressione, tra i
quali si possono citare le tecniche di controllo di flusso. Compito di questo controllo assicurare
che, nel caso in cui il ritmo di arrivo delle UI sia superiore alla capacit di elaborazione della entit
ricevente, non si verifichino perdite di informazione a causa della saturazione delle sue risorse di
memorizzazione. Circa la sua attuazione, un controllo di flusso che normalmente gestito con
modalit ad attesa, viene effettuato attraverso il rilascio, a cura della parte ricevente e nei confronti
di quella emittente, di opportune autorizzazioni relative al numero massimo di UI che possono
essere emesse e/o ricevute. Ci consente di ridurre o di eliminare gli effetti delle singole cause di

58
congestione di utilizzazione, all'atto in cui si presentano condizioni di carico elevato in certe parti
della rete.
Sono possibili vari schemi di controllo di flusso, la maggior parte dei quali utilizza le regole
protocollari che sono definite per consentire il recupero di condizioni i trasferimento anomale.
Un esempio di controllo reattivo offerto dalla tecnica di controllo di flusso a finestra. Tale
tecnica si realizza, per ciascun verso di trasferimento, attraverso l'adozione di una finestra in
emissione posta nella estremit emittente e di una finestra in ricezione collocata nellestremit
ricevente .
Con riferimento, ad esempio, al flusso di UI scambiate fra due entit di strato A e B e al verso
di trasferimento da A a B, la finestra in emissione specifica qual il numero massimo di UI che A
pu emettere in funzione della disponibilit di risorse in B. La finestra in ricezione (collocata in B)
precisa invece se il numero massimo di UI ricevute da B effettivamente quello autorizzato ad
essere emesso da parte di A. Con il meccanismo delle finestre, la disponibilit al trasferimento
dallentit A a quella B viene aggiornata esclusivamente da B e cio da chi agisce come ricevente:
ci avviene agendo direttamente sulla finestra in ricezione (se presente) e inviando ad A opportune
informazioni per il controllo della finestra in emissione (se presenti).
E tuttavia da notare che questa tecnica, come del resto qualunque altra a retro-pressione, pu
essere impiegata quando il ritmo binario di trasferimento non troppo elevato in relazione al valore
che assume il ritardo di propagazione sulla connessione fisica tra A e B. Infatti un eventuale ritardo
nel rivelare la condizione di congestione e nel prendere le opportune azioni correttive pu rendere
inefficace l'applicazione di meccanismi del tipo ora descritto.

Potrebbero piacerti anche