Sei sulla pagina 1di 1034

Telecomunicazioni

Corso di Laurea in Ingegneria Gestionale / Informatica

Prof. Enzo Baccarelli

Lezioni dellA.A. 2008-2009

Obiettivi del Corso


Vengono introdotti i concetti di base sui Sistemi di
Telecomunicazioni (Sistemi di TLC) e sulla
rappresentazione/elaborazione/trasformazione dei
Segnali che sono trasferiti (trasportati) dai
suddetti Sistemi.
Vengono introdotti e sviluppati i concetti di Rete di
TLC e di Servizio fornito da una Rete di TLC.
In particolare, vengono introdotti ed esaminate due
specifiche Reti di TLC di rilevante importanza:

i.

ii.

la rete Internet
le reti in Area Locale (Local Area Networks (LANs))
2

Materiale Didattico

Tutti i lucidi delle lezioni e delle relative


esercitazioni sono disponibili sul sito:

http://infocom.uniroma1.it/~enzobac/tlc9cfu.html

Per le parti relative alle Reti di TLC ed ad


Internet si consiglia il seguente testo:

Jim Kurose, Keith Ross, Reti di Calcolatori e


Internet: Un approccio top-down , 3 Edizione,
Pearson Education Italia,

i.
ii.
iii.
iv.

Capitolo 1;
Capitolo 3: Sez. 3.1, 3.2, 3.3, 3.4, 3.5, 3.6;
Capitolo 4: Sez. 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7;
Capitolo 5: Sez. 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8.1;

Riferimenti
Prof. Enzo Baccarelli
Ricevimento: Gioved, ore 12:00-13:00, stanza 10,
Dpt. INFOCOM, via Eudossiana 18.
Email: enzobac@infocom.uniroma1.it

Capitolo 1
Introduzione ai Sistemi di
Telecomunicazione (TLC) e alle
Reti di computer

Baccarelli,
Cordeschi, Patriarca, Polli

Introduzione ai Sistemi di TLC e alle


Reti di Computer

Obiettivo:

terminologia
visione dinsieme, dettagli nel seguito del corso
approccio:
o Internet come esempio

Sommario:

che cos Internet?


che cos un protocollo?
Come organizzata una rete di TLC
Strati di protocollo, modelli di servizio
Organi di Standardizzazione
Baccarelli,
Cordeschi, Patriarca, Polli

Che cosa un Sistema di TLC (1/3)

Un Sistema di TLC costituito da un insieme di


nodi (elaboratori di dati) e di collegamenti (canali
di interconnessione tra nodi) che consentono ad
una (o pi) entit Sorgenti di inviare dati
(informazioni) ad una (o pi) entit Destinazioni

Le entit Sorgenti e Destinazioni sono chiamate


nodi terminali (end-systems oppure hosts) del
Sistema. Tutti gli altri nodi del sistema sono
chiamati nodi di commutazione (switching nodes)

Linterconnessione dei nodi mediante i


collegamenti costituisce, nel suo complesso, la
Rete di TLC
Baccarelli,
Cordeschi, Patriarca, Polli

Che cosa un Sistema di TLC


(2/3)

Un Sistema di TLC ha lo scopo di

consentire il trasferimento di dati


(informazioni) tra i nodi Sorgente e quelli
Destinazione.

Linformazione generata dalle sorgenti

viene trasferita alle Destinazioni sotto


forma di Segnali. Quindi, il segnale
lentit fisica che trasporta informazione
dalle Sorgenti alle Destinazioni.
Baccarelli,
Cordeschi, Patriarca, Polli

Che cosa un Sistema di TLC


(3/3)
Linsieme di

apparati e connessioni (canali) che

permettono a due o pi utenti di scambiarsi


tra di loro informazioni.

Utente
CANALE
A

AL E
N
CA

CAN
A

NODO

NODO

LE

CANALE
NODO

Utente
B

Rete di
Accesso

Rete di
Accesso

Rete di Trasporto
Rete TLC
Baccarelli,
Cordeschi, Patriarca, Polli

Sistemi di TLC cablati (wired)


Sistemi di TLC wired (su filo o cablati):
Rete telefonica (commutata: PSTN, Public Switched
Teleph. Network)
Rete ISDN (Integrated System Data Network)
Reti a larga banda (core networks)
Reti locali (LAN, Local Area Networks)
Accesso wired alla linea telefonica:
Doppino modem audio, ISDN, ADSL, HDSL, VDSL
Fibra ottica
Sistemi su linee di potenza: Power Line Carrier (PLC)
Baccarelli,
Cordeschi, Patriarca, Polli

Sistemi di TLC radio (wireless)


Sistemi di TLC wireless (senza filo, via radio):
Broadcasting radio/televisione
Cordless digitale (DECT), cordless analogico
Reti cellulari terrestri: TACS, GSM, GPRS, UMTS
e satellitari
Reti locali senza fili (WLAN, Wireless LAN):
Bluetooth, IEEE802.11, Hiperlan
Reti Satellitari
Accesso wireless alla linea telefonica:
Wireless Local Loop (WLL)
Internet satellitare (con ritorno via telefono o via
satellite)
Baccarelli,
Cordeschi, Patriarca, Polli

Rete telefonica pubblica di tipo


commutato
Rete di
Trasporto

commutatore

Rete di
Accesso

Rete di
Accesso

Mezzi trasmissivi:
doppino telefonico, fibra ottica, etere (ponti radio)
Baccarelli,
Cordeschi, Patriarca, Polli

Reti cablate in area locale (wired


LAN)
Rete di
Accesso

PSTN
Rete di
Trasporto

Rete Locale WIRED

Mezzi trasmissivi: cavo coassiale, doppino, fibra ottica


Baccarelli,
Cordeschi, Patriarca, Polli

Broadcasting terrestre

Mezzo trasmissivo: etere (collegamenti radio)


Esempi: Servizi di Radio e Televisione- Televisione Diditale Terrestre (DVBT)
Baccarelli,
Cordeschi, Patriarca, Polli

10

Broadcasting satellitare
Satellite

Utenti
Trasmettitori

Mezzo trasmissivo: etere (collegamenti radio)


Esempi: Televisione satellitare (analogica o digitale): SKY e simili
Baccarelli,
Cordeschi, Patriarca, Polli

11

Reti cellulari terrestri


Stazione base
Utente
cellulare

Mezzo trasmissivo: etere (collegamenti radio)


Esempi: TACS, GSM, UMTS, (Reti cellulari terrestri)
Iridium, Globalstar (reti cellulari satellitari)
Baccarelli,
Cordeschi, Patriarca, Polli

12

Reti locali senza fili (WLAN)


Modalit SRUTTURATA

Modalit AD HOC

Mezzo trasmissivo: etere (collegamenti radio)


Baccarelli,
Cordeschi, Patriarca, Polli

13

Internet
Rete
telefonica
pubblica

Rete
telefonica
pubblica

PSTN

Internet

Rete di
Accesso

PSTN

Rete di
Accesso
Rete di Trasporto

Mezzi trasmissivi:
doppino telefonico, fibra ottica

Baccarelli,
Cordeschi, Patriarca, Polli

14

Che cosa Internet


Generalmente parlando, Internet una particolare
Rete di TLC i cui nodi terminali (Sorgenti e
Destinazioni) sono Computer, ossia sistemi in grado di
elaborare dati
Internet costituita da un (grande) insieme di sottoreti opportunamente interconnesse fra di loro
Possiamo definire che cosa Internet adottando due
punti di vista tra di loro complementari, e cio:

o
o

descrivendo e definendo gli elementi (hardware e software)


che compongono Internet;
descrivendo e definendo i servizi che Internet fornisce agli
utenti che si collegano ad essa.

Baccarelli,
Cordeschi, Patriarca, Polli

15

Che cosa Internet- Elementi


costitutivi (1/4)
Mobile network

Global ISP

Home network
Regional ISP

Institutional network

Baccarelli,
Cordeschi, Patriarca, Polli

16

Che cosa Internet- Elementi


costitutivi (2/4)
I Sistemi Terminali sono connessi

indirettamente

attraverso nodi di indirizzamento (instradamento


dellinformazione) detti Commutatori di pacchetto (packet
switches)
A seconda del tipo di elaborazione svolto, i commutatori di
pacchetto si suddividono in Router e Bridge
La sequenza ordinata di canali e commutatori di pacchetto
che connette una (assegnata) sorgente S ad una assegnata
destinazione D detta rotta tra S e D (o path tra S e D)
I Sistemi terminali accedono ad Internet mediante sottoreti di accesso note come Internet Service Providers
(ISPs)
Ciascun ISP essa stessa costituita dalla (opportuna)
interconnessone di canali e commutatori di pacchetto
Baccarelli,
Cordeschi, Patriarca, Polli

17

Che cosa Internet- Elementi


costitutivi (3/4)
Per poter scambiare dati tra di loro, i nodi

(Sistemi Terminali e Commutatori di


pacchetto) di Internet eseguono programmi
noti come protocolli di Comunicazione
Il Transmission Control Protocol (TCP) e
lInternet Protocol (IP) sono i protocolli di
base che regolano il funzionamento di
Internet
Gruppi di utenti che accedono ad Internet
possono, a loro volta, essere organizzati in
sotto-reti: queste ultime costituiscono le
cosiddette Intranets.
Baccarelli,
Cordeschi, Patriarca, Polli

18

Che cosa Internet- Elementi


costitutivi (4/4)
Mobile network

per linvio e la ricezione


di messaggi
o

Global ISP

Protocolli di controllo
TCP, IP, HTTP, Skype,
Ethernet

Home network

Internet: rete di reti


o
o

Regional ISP

Institutional network

Gerarchia di reti
Internet pubblico contro
intranet private
Baccarelli,
Cordeschi, Patriarca, Polli

19

Che cosa Internet- Servizi


(1/3)
Per definizione, Internet una infrastruttura
(piattaforma tecnologica) che fornisce servizi di
comunicazione (ossia, permette di scambiare dati) alle
applicazioni che sono eseguite dagli Utenti Terminali.
Poich i sistemi terminali non sono (in genere)
direttamente connessi tra di loro, le applicazioni da
esse eseguite e che si devono scambiare informazioni
si dicono di tipo distribuito.
Esempi di applicazioni eseguite da Utenti Terminali
che comunicano tra di loro includono:

Web surfing, instant messaging, audio/video streaming, VoIP,


e-mail
Baccarelli,
Cordeschi, Patriarca, Polli

20

Che cosa Internet- Servizi


(2/3)
Lapplicazione eseguita da un Sistema

Terminale accede (invia i dati) ad Internet in


accordo ad un programma (protocollo) noto
come Application Programming Interface
(API)
LAPI specifica linsieme di regole (ossia, il
protocollo) che lapplicazione deve seguire
(rispettare) affinch Interet trasporti alla
destinazione desiderata i dati generati
dallapplicazione.
Baccarelli,
Cordeschi, Patriarca, Polli

21

Che cosa Internet- Servizi


(3/3)
Internet fornisce due tipi di servizi di base alle sue
applicazioni:

i.

ii.

un servizio affidabile orientato alla connessione


un servizio non affidabile privo di connessione

Informalmente,

i.

ii.

il servizio affidabile orientato alla connessione garantisce


che i dati trasmessi dallapplicazione-sorgente saranno
ricevuti dallapplicazione-destinazione senza errori e
nellordine corretto;
il servizio non affidabile privo di connessione non garantisce
n la correttezza (assenza di errori) n il corretto
ordinamento dei dati trasferiti alla destinazione.
Baccarelli,
Cordeschi, Patriarca, Polli

22

Che cosa un protocollo


Informalmente, un protocollo un insieme di
regole e di azioni che due applicazioni che
vogliono comunicare debbono applicare e
seguire per poter scambiarsi i dati.
Il protocollo specifica:

i.
ii.

i messeggi che le applicazioni comunicanti


debbono scambiarsi;
le azioni che esse debbono intraprendere in
risposta ai messaggi ricevuti per poter scambarsi
correttamente i dati.
Baccarelli,
Cordeschi, Patriarca, Polli

23

Che cosa un protocollo- Alcuni


esempi (1/2)
Protocolli umani:
Ho una domanda
Che ora ?
Accordo tra le parti
inviati messaggi specifici
intraprese azioni specifiche quando i messaggi sono
ricevuti, o altri eventi
Protocolli di rete:
macchine invece di umani
tutte le attivit della comunicazione in Internet sono
governate da protocolli
Baccarelli,
Cordeschi, Patriarca, Polli

24

Che cosa un protocollo- Alcuni esempi


(2/2)

Un protocollo umano e un protocollo in una rete


di computer
Hi

TCP connection
request

Hi

TCP connection
response

Got the
time?

Get http://www.awl.com/kurose-ross

2:00

<file>
time

Protocollo tra umani

Protocollo tra computer


Baccarelli,
Cordeschi, Patriarca, Polli

25

Che cosa un protocolloDefinizione formale


Formalmente, un protocollo definisce il formato
(ossia, la struttura) e lordine dei messaggi scambiati
tra due applicazioni comunicanti, unitamente alle
azioni che le applicazioni comunicanti debbono
intraprendere in funzione dei messaggi trasmessi e/o
ricevuti
In Internet, differenti protocolli sono usati per
permettere la corretta esecuzione di applicazioni
differenti. Ad esempio, il protocollo che regola
laccesso al Web non uguale a quello che permette
linvio/ricezione di e-mail.

Baccarelli,
Cordeschi, Patriarca, Polli

26

Modi di Servizio

Supponiamo che una applicazione A richieda un


servizio (ad esempio, linvio di dati) ad una
applicazione B. Il servizio richiesto pu essere
erogato con o senza una intesa preliminare
(handshaking) tra le due applicazioni coinvolte:
i.
nel caso in cui lintesa (handshaking)
sussista, il servizio si dice orientato alla
connessione (connection-oriented)
ii. nel caso in cui lintesa (handshaking) non
sussista, il servizio si dice privo di
connessione (connection- less). In questo
caso, lo scambio di dati tra le due
applicazioni avviene senza che vi sia stato un
prevetivo accordo (handshaking) tra le parti.
Baccarelli,
Cordeschi, Patriarca, Polli

27

Modi di Servizio Servizio con


connessione

Un servizio con connessione caratterizzato da:


i.
una fase di accordo preventivo (handshaking)
tra le applicazioni coinvolte;
ii. una negoziazione dei parametri di sistema (ad
esempio, la velocit di trasferimento) coinvolti
nel trasferimento;
iii. una strutturazione in tre fasi temporali
(instaurazione della connessione, trasferimento
dei dati, abbattimento della connessione);
iv. un indirizzamento basato su identicatori di
connessione;
v. una numerazine progressiva dei dati
dinformazione scambiati.
Baccarelli,
Cordeschi, Patriarca, Polli

28

Modi di Servizio Servizio privo


di Connessione

Un servizio privo di connessione caratterizzato da:


i.
ii.
iii.

iv.
v.

la mancanza di un accordo preventivo (handshaking)


tra le applicazioni coinvolte;
unassenza di negoziazione preventiva dei parametri di
sistema coinvolti nel trasferimento dei dati;
una strutturazione in ununica fase temporale
(mancano le fasi di instaurazione e di abbattimento
della connessione);
un indirizzamento basato sugli indirizzi delle
applicazioni coinvolte nella comunicazione;
indipendenza e autoconsistenza dei singoli dati
scambiati.
Baccarelli,
Cordeschi, Patriarca, Polli

29

Componenti di un Modo di
Trasferimento (1/2)

Supponiamo di avere due applicazioni che


vogliono scambiarsi dati attraverso una rete
di TLC interposta tra di loro.

Generalmente parlando, per Modo di


Trasferimento si intendono le modalit
(strategie) adottate dalla rete per
permettere lo scambio di dati tra le due
applicazioni.
Baccarelli,
Cordeschi, Patriarca, Polli

30

Componenti di un Modo di
Trasferimento (2/2)
Un Modo di Trasferimento individuato
quando sono specificate le tre seguenti
componenti:

i.
ii.
iii.

la tecnica di multiplazione adottata dalla rete;


la tecnica di commutazione adottata dalla rete;
larchitettura protocollare della rete.

I due Modi di Trasferimento di maggiore


rilevanza sono:

i.
ii.

il Modo di Trasferimento a circuito


il Modo di Trasferiento a pacchetto
Baccarelli,
Cordeschi, Patriarca, Polli

31

La Multiplazione - Generalit
Lo schema di

Multiplazione definisce le

modalit secondo cui i dati generati da pi


applicazioni distinte possono essere
trasmesse ordinatamente attraverso uno
stesso canale presente nella rete di TLC.

Ovvero, lo schema di Multiplazione definisce

la modalit secondo cui pi flussi informativi


generati da applicazioni distinte condividono le
risorse di trasmissione (banda e tempo) messe
a disposizione da ciascun singolo canale
costituente la Rete di TLC.
Baccarelli,
Cordeschi, Patriarca, Polli

32

La Multiplazione - Classificazione
Le tecniche di Multiplazione possono essere di tipo
Statico oppure Dinamico

Nelle tecniche di multiplazione Statiche:


i.
ogni canale suddiviso in pi sotto-canali;
ii. un singolo sotto-canale assegnato alla applicazione
che ne fa richiesta allinizio del processo di
comunicazione;
iii. lassegnazione del sotto-canale mantenuta per tutta
la durata della comunicazione

Nelle tecniche di multiplazione Dinamiche, la capacit


trasmissiva (banda, tempo) globale di ciascun canale
trattata come una risorsa singola (ossia, indivisibile), alla
quale le applicazioni richiedenti possono accedere su
richiesta e nel rispetto di una opportuna procedura di
assegnazione (procedure di controllo).

Baccarelli,
Cordeschi, Patriarca, Polli

33

La Multiplazione - Esempi
Fanno parte delle tecniche di multiplazione
Statiche:

i.

ii.

La multiplazione a divisione di freqenza


(Frequency Division Multiplexing: FDM);
La multiplazione a divisione di tempo (Time
Division Multiplexing: TDM).

Fa parte delle tecniche di multiplazione


dinamiche:

i.

La multiplazione statistica (Statistical


Multiplexing).
Baccarelli,
Cordeschi, Patriarca, Polli

34

La Multiplazione a Divisione di
frequenza (FDM)
La banda C (Hz) di ciascun canale suddivisa in
n 2
sottobande non sovrapponentisi di largezza ciascuna
pari a C/n (Hz).
A ciascuna applicazione che lo richieda, assegnato un
sotto-canale di larghezza di banda C/n (Hz) per tutta
la durata della comunicazione.

Frequenza (Hz)

Sottocanale n

C/n

Sottocanale 2

C/n
C/n

Sottocanale 1

Tempo (sec)
Baccarelli,
Cordeschi, Patriarca, Polli

35

La Multiplazione a Divisione di
tempo (TDM)
Lasse dei Tempi suddiviso in intervalli detti

Frame. La durata

di un frame indicata con TF (sec)


Ciascun frame , a sua volta, suddiviso in n 2 sotto-intervalli
chiamati slot. La durata TS (sec) di uno slot pari a TS=TF/n.
A ciascuna applicazione che lo richiede, il canale dedica uno slot
in ogni frame per la trasmissione dei corrispondenti dati.
Frequenza (Hz)
Frame 2

Frame 1
S
L
O
T

S
L
O
T

S
L
O
T

S
L
O
T

S
L
O
T

S
L
O
T

Tempo (sec)

TS
TF

Baccarelli,
Cordeschi, Patriarca, Polli

36

FDM e TDM
Esempio:

FDM

4 utenti
Frequenza
(Hz)

TDM

Tempo (sec)

Frequenza
(Hz)
Tempo (sec)
Baccarelli,
Cordeschi, Patriarca, Polli

37

La Multiplazione Statistica (SM)


(1/2)

Nella Multiplazione Statistica, ciascun canale della


rete preceduto da almeno un buffer di
memorizzazione

I dati (pacchetti) generati da pi applicazioni e che


debbono essere trasmessi attraverso un nodo o su un
canale, vengono temporaneamente posti in coda nel
buffer e, poi, vengono immesse (trasmessi) uno alla
volta nel canale.

Quindi, di volta in volta, lintera capacit trasmissiva C


del canale messa a disposizione del pacchetto che
trasmesso in quel momento.
Baccarelli,
Cordeschi, Patriarca, Polli

38

La Multiplazione Statistica (SM)


(2/2)
100 Mb/s
Ethernet

A
B

Multiplazione Statistica

1.5 Mb/s
coda di pacchetti in
attesa del canale di
uscita

La sequenza di pacchetti A & B non ha una struttura


(pattern) fissata; la banda condivisa su base richiesta
(on demand) Multiplazione Statistica.
Baccarelli,
Cordeschi, Patriarca, Polli

39

La Commutazione Generalit
(1/2)
Consideriamo un

nodo di rete che abbia m 1

canali in ingresso e n 1 canali in uscita.


1

2
2

NODO
n

Canali di ingresso

Canali di uscita

Baccarelli,
Cordeschi, Patriarca, Polli

40

La Commutazione Generalit
(2/2)
La commutazione definisce il modo (la

strategia) secondo cui i dati provenienti da


ciascun specifico canale di ingresso al nodo
sono trasferiti ad uno specifico canale di
uscita del nodo.

Lo scopo della commutazione quello di

trasferire (inoltrare) i dati provenienti da


ciascun canale di ingresso al nodo verso uno
specifico canale duscita, in modo che il dato
trasferito possa procedere verso la
destinazione finale.
Baccarelli,
Cordeschi, Patriarca, Polli

41

La Commutazione Funzioni
Componenti
Loperazione di commutazione attuata per
mezzo delle due funzioni di:

i.

ii.

Inoltro

E la funzione decisionale, che ha lo scopo di


stabilire il canale di uscita verso cui deve essere
inoltrato il dato informativo che proviene da uno
specifico canale di ingresso

Attraversamento
la funzione attuativa, che ha lo scopo di

trasferire il dato dal canale di ingresso allo


specifico canale di uscita.
Baccarelli,
Cordeschi, Patriarca, Polli

42

La Commutazione Nodi di
Commutazione
In generale, indicheremo come nodo di
commutazione un qualsiasi nodo di rete che
realizzi loperazione di commutazione.
A secondo delle modalit con cui
loperazione di commutazione effettuata, i
nodi di commutazione si suddividono in:

i.
ii.

Router
Bridge

Bridge

Router
Baccarelli,
Cordeschi, Patriarca, Polli

43

Modo di trasferimento a
Circuito (1/3)

Una rete che utilizza il modo di trasferimento a


circuito mette a disposizione di ciascuna coppia di
applicazioni comunicanti un circuito fisico che rimane
ad esse dedicato per tutta la durata della
comunicazione.
A

Applicazione
Destinazione

1
Applicazione
Sorgente

D
B
C
Baccarelli,
Cordeschi, Patriarca, Polli

44

Modo di trasferimento a
Circuito (2/3)
Un circuito un canale trasmissivo tra lapplicazione
sorgente e lapplicazione destinazione di capacit
(bit/sec) sufficiente per il trasferiemtno dei dati tra
le due applicazioni.
Un circuito costituito da una sequenza ordinata di
sotto-canali, in cui ciascun sotto-canale
implementato attuando una tecnica di multiplazione di
tipo statico (TDM o FDM).
La capacit di ciascun sotto-canale costituente il
circuito assegnata individualmente alla coppia di
applicazioni Sorgente-Destinazione che desiderano
comunicare.
Il circuito rimane permanentemente assegnato alle
applicazioni richiedenti per tutta la durata della
connessione.

Baccarelli,
Cordeschi, Patriarca, Polli

45

Modo di trasferimento a
Circuito (3/3)
Il modo di trasferimento a Circuito offre
un servizio di trasferimento con una
strategia di Multiplazione di tipo Statico.
In ogni connessione, possono essere distinte
le tre fasi caratteristiche di un servizio con
connessione, e cio:

i.
ii.
iii.

Fase di INSTAURAZIONE della connessione;


Fase di TRASFERIMENTO dei dati;
Fase di ABBATTIMENTO della connessione.
Baccarelli,
Cordeschi, Patriarca, Polli

46

Modo di Trasferimento a
Pacchetto (1/2)
Servizio di rete:
o

con o senza connessione

Multiplazione:
o

statistica

Baccarelli,
Cordeschi, Patriarca, Polli

47

Modo di Trasferimento a
Pacchetto (2/2)

Le unit di dati trasferite in rete sono detti


PACCHETTI e sono composte da:
i.

ii.

unintestazione (header) contenente informazioni di


controllo della comunicazione ed avente una lunghezza fissa
(Lh)
un campo informativo (payload) avente lunghezza variabile
(Li) e contenente le informazioni (dati) da trasferire

Lh
Intestazione
( header )

Li
Campo informativo
( payload )
Baccarelli,
Cordeschi, Patriarca, Polli

48

Modo di Trasferimento a
Pacchetto Multiplazione
Statistica
A C bit/s
A

MUX

CM bit/s
CM>CA+CB+CC

CC bit/s
A2

A1

B2

B1
C1
A1

MUX

CB bit/s
B

B1

C2
C1

A2
Baccarelli,
Cordeschi, Patriarca, Polli

C2
49

Modo do Trasferimento a
Pacchetto- Code ai nodi di
commutazione.

Un nodo a commutazione di pacchetto esegue la funzione di


commutazione in accordo alla tecnica dellaccodamento.
1

Linee di
ingresso

Buffer di
ingresso

Linee di
uscita

Buffer di
uscita

Due componenti del ritardo di commutazione:


i.
FISSA, composta dai tempi di elaborazione e di propagazione
ii.
VARIABILE, composta dal tempo di memorizzazione in uscita
(tempi di coda)

Baccarelli,
Cordeschi, Patriarca, Polli

50

Confronto tra Commutazione di


Pacchetto e Commutazione di
Circuito (1/2)
Confrontiamo i pro e i contro delle due

tecniche di commutazione menzionate


o

La commutazione di pacchetto si basa sulla


multiplazione statistica; quindi, sin tanto che ci
sono pacchetti che aspettano di essere trasmessi
in coda ad un nodo di rete, il canale in uscita al
nodo sempre utilizzato

Per contro, la commutazione di pacchetto genera


code ai nodi di commutazione. Le code introducono
ritardi (variabili e spesso elevati) nel
trasferimento dei dati attraverso la rete.
Baccarelli,
Cordeschi, Patriarca, Polli

51

Confronto tra Commutazione di


Pacchetto e Commutazione di
Circuito (2/2)
o

La commutazione di circuito si basa su


tecniche di multiplazione di tipo statiche
(TDM o FDM). Quindi, non si generano mai
code ai nodi di una rete a commutazione di
circuito e non si hanno ritardi di coda.
Per contro, pu accadere che il circuito
assegnato ad una particolare coppia SorgenteDestinazione possa rimanere inutilizzato per
pi o meno lunghi periodi di tempo durante la
durata della connessione.
Baccarelli,
Cordeschi, Patriarca, Polli

52

Modo di Trasferimento a pacchettoClassificazione

Le Reti con modo di Trasferimento a pacchetto sono


anche dette Reti a Commutazione di Pacchetto
(Packet Switching Networks).
Le Reti a Commutazione di Pacchetto possono offrire
servizi orientati alla connessione oppure servizi
privi di connessione.
Le Reti a Commutazione di Pacchetto con servizio
privo di connessione sono dette Reti a Datagramma.
Le Reti a Commutazione di Pacchetto con servizio
orientato alla connessione sono dette Reti a Circuito
Virtuale.
Le Reti a Datagramma differiscono dalle reti a
Circuito Virtuale nella modalit (strategia) impiegata
per indirizzare un pacchetto.
Baccarelli,
Cordeschi, Patriarca, Polli

53

Tassonomia e Classificazione delle


Reti di TLC sulla base del Modo di
Trasferimento adottato
Reti di TLC

Reti a
Commutazione di
Circuito

Reti
TDM

Reti a
Commutazione di
Pacchetto

Reti
FDM

Reti a
Circuito
Virtuale
Baccarelli,
Cordeschi, Patriarca, Polli

Reti a
Datagramma
54

Modo di Trasferimento a
Pacchetto- Reti a Datagramma
In una rete a commutazione di pacchetto con servizio
di trasferimento di tipo a Datagramma, il
trasferimento dei pacchetti avviene senza accertare
preventivamente la disponibilit dellapplicazione
chiamata (applicazione di destinazione)
alleffettuazione dello scambio informativo.
Non esistono le fasi di instaurazione e di
abbattimento della connessione ed ogni pacchetto
gestito dalla rete indipendentemente dagli altri,
anche se fanno parte dello stesso flusso: applicazione
sorgenteapplicazione destinazione.
Lindirizzamento adottato, nelle reti a Datagramma,
consiste nellindicare su ogni pacchetto lindirizzo del
programma Sorgente e lindirizzo del programma
Destinazione.

Baccarelli,
Cordeschi, Patriarca, Polli

55

Modo di Trasferimento a
Pacchetto- Circuito Virtuale (1/2)
In una rete a commutazione di pacchetto a Circuito
Virtuale, il servizio di trasferimento dei pacchetti
orientato alla connessione.
Esistono quindi, oltre alla fase di trasferimento dei
dati, anche le fasi di instaurazione ed abbattimento
del Circuito Virtuale.
Durante la fase di instaurazione viene:

i.

ii.
iii.
iv.

indicato il cammino fisico che i pacchetti seguiranno in rete


(funzione di instradamento);
accertata la possibilit di instaurare la connessione
(funzione di controllo di accettazione di chiamata);
effettuata unassegnazione delle risorse di rete;
assegnati opportuni identificatori della connessione che
saranno trasportati da tutti i pacchetti appartenenti alla
connessione stessa
Baccarelli,
Cordeschi, Patriarca, Polli

56

Modo di Trasferimento a
Pacchetto- Circuito Virtuale (2/2)
Un Circuito Virtuale (Virtual Circuit-VC)

differisce da un circuito fisico (quale quelli


attuati nelle Reti a Commutazione di Circuito)
in quanto pi Circuiti Virtuali distinti possono
condividere uno stesso circuito fisico.
Le Reti a Pacchetto a Circuito Virtuale
adottano ancora la multiplazione Statistica ai
nodi di rete. Quindi, i nodi di rete possono
presentare code, e i pacchetti trasferiti sono
soggetti a ritardi di coda.
Baccarelli,
Cordeschi, Patriarca, Polli

57

Reti a Datagramma e Reti a


Circuito Virtuale- Confronto

Nelle Reti a Circuito Virtuale, tutti i pacchetti


assegnati ad uno stesso Circuito Virtuale seguono una
medesima rotta (path) per essere trasferiti dalla
Sorgente alla Destinazione. Una stessa rotta pu
essere, per, condivisa (usata) da pi Circuiti Virtuali.

Nelle Reti a Datagramma, ciascun nodo di rete


instrada un pacchetto solo sulla base degli indirizzi di
Sorgente e di Destinazione specificati
nellintestazione del pacchetto. Ci implica che
pacchetti con gli stessi indirizzi SorgenteDestinazione possono essere trasferiti dalla Sorgente
alla Destinazione seguendo rotte diverse.
Baccarelli,
Cordeschi, Patriarca, Polli

58

Modo di Trasferimento a
Pacchetto- Datagramma vs
Circuito Virtuale
U

Circuito Virtuale
D

Datagramma

B
U
Baccarelli,
Cordeschi, Patriarca, Polli

C
59

Configurazione Generale della


Rete Internet

Passiamo ad esaminare un po pi da vicino la configurazione


della Rete Internet. La Rete Internet essenzialmente
composta da tre parti (sezioni) principali :

i.

La periferia della Rete (Network Edge)- E costituita dai

Sistemi Terminali (End System o Hosts) che vogliono


interconnetersi tramite la rete stessa.
ii. La Rete di Accesso (Access Network)- E costituita dai
canali fisici (doppini telefonici, cavi coassiali, fibra ottica
etc) che collegano ciascun Sistema Terminale al proprio
Router dIngresso (Edge Router), che il primo nodo di
commutazione tra il Sistema Terminale e la Rete Internet.
iii. La rete di Trasporto (Core Network)- E costituita dai nodi
di commutazione (Router e/o Bridge) e dai canali fisici che
interconnettono tra di loro i Router dIngresso (Edge
Router).
Baccarelli,
Cordeschi, Patriarca, Polli

60

La struttura della rete:

Network Edge
(Periferia della Rete):
applicazioni e nodi
terminali
Rete daccesso, canali
fisici:
collegamenti di
comunicazione wired
(cablati), wireless
(senza fili)
Network core (Cuore
della Rete):
o
o

Router interconnessi
Rete di reti

Baccarelli,
Cordeschi, Patriarca, Polli

61

Periferia della Rete (Network


Edge) (1/2)
Sistemi terminali (hosts):

Programmi applicativi
o Esempio: Web, email
o

Modello client / server

Le richieste dei sistemi


terminali (clienti) vengono
soddisfatte da server
sempre attivi (always-on)
o Esempio: Web browser /
server; email client / server

peer-to-peer

client/server

Modello peer-to-peer:

Minimo (o nullo) impiego di


server dedicati
o Esempio: Skype, BitTorrent
o

Baccarelli,
Cordeschi, Patriarca, Polli

62

Periferia della Rete (Network Edge)


(2/2)
Due applicazioni eseguite da due Sistemi Terminali
non direttamente collegati comunicano tra di loro
mediante una connessione.
Informalmente, una connessione costituita da una
o pi sequenze ordinate di canali e nodi di
commutazione che Internet mette a disposizione
delle applicazioni (programmi) che vogliono
scambiarsi dati.
In generale, due applicazioni che vogliono scambiarsi
dati possono farlo in accordo alluno o laltro dei due
seguenti modelli di interazione :
i. Il modello cliente/servente (client/server Model)
ii. Il modello pari-a-pari (peer-to-peer Model)

Baccarelli,
Cordeschi, Patriarca, Polli

63

Periferia della Rete: Modello


Cliente/Servente
Per definizione, il modello cliente/servente prevede
che una applicazione (programma) cliente eseguita da
un sistema terminale richieda e riceva un servizio
(delle informazioni o/e dei dati) da una applicazione
servente che eseguita da un altro sistema terminale.
Poich il programma cliente e il programma servente
sono eseguiti da sistemi terminali distinti, le
applicazioni cliente-servente sono, per definizione,
esempi di applicazioni distribuite.
I programmi cliente e servente si scambiano dati
mediante la connessione messa a disposizione da
Internet.
Esempi di applicazioni cliente-servente: Web, e-mail,
Trasferimento di Files (FTP)

Baccarelli,
Cordeschi, Patriarca, Polli

64

Periferia della Rete: Modello


Peer-to-Peer (P2P)

Per definizione, il modello di interazione Peer-toPeer (P2P) prevede che le due applicazioni
comunicanti ricoprano, a turno, il ruolo di
programma servente e quello di programma cliente.
Esempi di applicazioni P2P:
i. Condivisione di Files (Limewire, eDokey, Kazaa);
ii. Telefonia via Internet (VoIP).
Anche le applicazioni P2P sono di tipo distribuito.

Baccarelli,
Cordeschi, Patriarca, Polli

65

La Rete di accesso e i canali


fisici- Classificazione
Come detto, la Rete di Accesso costituita dai
canali fisici che collegano ciascun sistema terminale
al proprio Edge Router (primo nodo di
commutazione)

A seconda del tipo di canale fisico impiegato per il


collegamento, le Reti di Accesso si suddividono in:
i. Reti di Accesso Cablate i canali fisici sono
costituiti da mezzi trasmissivi cablati, quali il
doppino telefonico, la fibra ottica, il cavo
coassiale;
ii. Reti di Accesso Radio i canali fisici sono
costituiti da porzioni dello spettro radio (WiFi,
Wimax, Wireless LANs, Collegamenti Satellitari).

Baccarelli,
Cordeschi, Patriarca, Polli

66

Utenza della Reti di Accesso


Chi accede ad Internet?
reti di accesso

residenziali
reti di accesso
istituzionali (scuole,
compagnie)
reti di accesso mobili

Importante:
banda (bit al secondo)

delle reti di accesso

Baccarelli,
Cordeschi, Patriarca, Polli

67

Reti dAccesso residenzialiAccesso punto-punto

Come accede ad Internet un


utente residenziale?

Dialup via modem


o
o

fino a 56Kbps per laccesso diretto


al router (spesso meno)
Impossibilit di navigare e
telefonare allo stesso tempo: no
always on

Edge Router

DSL: digital subscriber line


o
o
o

compagnia telefonica (tipicamente)


fino a 1 Mbps in upstream (oggi tipicamente < 256 kbps)
fino a 8 Mbps in downstream (oggi tipicamente < 1 Mbps)
Baccarelli,
Cordeschi, Patriarca, Polli

68

Accesso ad Internet di
compagnie- Reti in Area locale
Come accedono ad
Internet le compagnie?

Reti in area locale (Local


Area Network) (LAN):
connettono sistemi
terminali agli edge router

Ethernet:
o
o

Internet

10 Mbs, 100Mbps, 1Gbps,


10Gbps Ethernet
configurazione: sistemi
terminali connessi ai
commutatori Ethernet
Baccarelli,
Cordeschi, Patriarca, Polli

69

Reti di Accesso Radio


Reti di accesso

radio condivise

connettono i sistemi terminali ai


router
o attraverso base station access
Edge router
point (stazioni base)
wireless LANs:
base
o 802.11b/g (WiFi): 11 o 54 Mbps
station
accesso wireless a pi ampia
copertura
o fornito dall operatore telco
o ~1Mbps su sistemi cellulari
o (EVDO, HSDPA)
o fino a: WiMAX (10 Mbps) su
ampio raggio
Baccarelli,
Cordeschi, Patriarca, Polli

Internet

mobile
hosts
70

I canali fisici della Rete di


Accesso
Bit: trasferiti tra le coppie

trasmettitore/ricevitore.
Collegamento fisico: quello che sta tra il
trasmettitore e il ricevitore.
mezzi guidati (cablati):
o segnali propagati in mezzi solidi: doppino,
cavo, fibra.
mezzi non guidati (radio):
o segnali propagati liberamente
Baccarelli,
Cordeschi, Patriarca, Polli

71

Capacit dei Canali Fisici


In generale, i canali fisici che costituiscono
Internet trasportano dati sotto forma di sequenza
di simboli binari (sequenza di bit).

Per definizione, la capacit C di un canale fisico il


numero massimo di bit che il canale pu trasferire
nellintervallo temporale di 1 sec.

La capacit C di un canale fisico pu


equivalentemente misurarsi in:
i. bit/sec
ii. Hz

Ogni canale fisico ha una sua propria capacit C non


nulla. I canali migliori sono quelli con pi alto
valore di C.

Baccarelli,
Cordeschi, Patriarca, Polli

72

Mezzi Fisici: cavo (1/2)


Cavo coassiale:
due conduttori concentrici di rame
bidirezionale

Baccarelli,
Cordeschi, Patriarca, Polli

73

Mezzi Fisici: fibra (2/2)


Fibra ottica
fibra di vetro che trasporta impulsi luminosi; ciascun
impulso un bit
operano ad alta velocit:
o trasmissioni punto-punto ad alta velocit (e.g., 10100 Gb/sec).
basso tasso derrore: ripetitori molto spaziati luno
dallaltro; immune al rumore elettromagnetico

Baccarelli,
Cordeschi, Patriarca, Polli

74

Mezzi Fisici: radio


Segnale trasportato da onde elettromagnetiche
Nessuna guida fisica
Bidirezionale

Tipologie di collegamento radio:


microonde terrestri
o fino a 45 Mb/sec
LAN (e.g., Wifi)
o 11Mb/s, 54 Mb/s
wide-area (cellulari)
o cellulare 3G: ~ 1 Mb/s
Baccarelli,
Cordeschi, Patriarca, Polli

75

La Rete di Trasporto di Internet


(Core Network) (1/2)

Baccarelli,
Cordeschi, Patriarca, Polli

76

La Rete di Trasporto di Internet


(Core Network) (2/2)
Come detto, la Rete di Trasporto di Internet
costituita dai Nodi di Commutazione (router) e dai canali
fisici che interconnettono tra di loro gli Edge Router.

La Rete Internet offre due tipi di servizi alle


applicazioni eseguite dai sistemi terminali:
i.
Servizio orientato alla connessione e affidabile;
ii. Servizio non orientato alla connessione e non
affidabile.

La Rete Internet
i.
una rete a commutazione di pacchetto;
ii. che impiega il modo di Trasferimento a Datagramma.

La multiplazione effettuata dai router presenti nella


Rete di Trasporto di Internet statistica. Quindi, il
trasferimento di pacchetti attraverso Internet
soggetto a Ritardi di Coda.

Baccarelli,
Cordeschi, Patriarca, Polli

77

La Struttura di Internet- Una


rete di reti (1/5)
La Core Network di Internet organizzata
(strutturata) in sotto-reti di varia dimensione che
sono interconnesse tra di loro.
Ci significa che la Rete Internet , in realt, una
rete di reti interconnesse.
Le reti che costituiscono Internet sono organizzate
gerarchicamente in Internet Service Providers (ISPs)
di livello 1, livello2 e livello 3.
ISPs distinte comunicano tra di loro mediante Router.
I punti nei quali un ISP si collega con altri ISPs sono
detti Punti di- Presenza ( Point-of-Presence: POP)

Baccarelli,
Cordeschi, Patriarca, Polli

78

La Struttura di Internet- Una


rete di reti (2/5)

al centro: ISPs di Livello 1 (Tier 1) (Verizon, Sprint,


AT&T), copertura nazionale/internazionale

Providers di
Livello 1
interconnessi
privatamente

Tier 1 ISP
POP

Tier 1 ISP

POP
POP

Tier 1 ISP

Linsieme di Tier 1 ISPs costituisce la cos detta


Internet backbone ( dorsale di Internet)
Baccarelli,
Cordeschi, Patriarca, Polli

79

La Struttura di Internet- Una


rete di reti (3/5)

Tier-2 ISPs: pi piccoli (spesso regionali)

ISPs
o Connessi a uno o pi Tier-1 ISPs,
eventualmente ad altri Tier-2 ISPs

Tier-2 ISPs
sono anche
connessi
privatamente
con altre reti.

Tier-2 ISP
Tier-2 ISP
Tier-2 ISP POP
pagano Tier-1
Tier 1 ISP
ISP per la
connettivit al
resto di Internet
POP
POP
Tier-2 ISP
cliente del
Tier 1 ISP Tier-2 ISP
Tier 1 ISP
provider
Tier-1
Tier-2 ISP
Tier-2 ISP
Baccarelli,
Cordeschi, Patriarca, Polli

80

La Struttura di Internet- Una


rete di reti (4/5)

Tier-3 ISPs o ISPs locali (local ISPs)


o

last hop network (reti di accesso) (le pi vicine ai sistemi terminali)


local
ISP

Tier- 3 ISPs e
ISPs locali
sono clienti
degli ISPs
di livello
superiore, che
li connettono
al resto di
Internet

Tier 3
ISP
Tier-2 ISP

local
ISP

local
ISP

local
ISP
Tier-2 ISP
POP

Tier 1 ISP

POP

Tier 1 ISP

Tier-2 ISP
local
local
ISP
ISP

Tier 1 ISP
Tier-2 ISP
local
ISP

Baccarelli,
Cordeschi, Patriarca, Polli

POP
Tier-2 ISP
local
ISP
81

La Struttura di Internet- Una


rete di reti (5/5)

un pacchetto passa attraverso molte sotto-reti costituite da

differenti ISPs
local
ISP

Tier 3
ISP
Tier-2 ISP

local
ISP

local
ISP

local
ISP
Tier-2 ISP

Tier 1 ISP

Tier 1 ISP
Tier-2 ISP
local
local
ISP
ISP

Tier 1 ISP
Tier-2 ISP
local
Baccarelli,
ISP

Cordeschi, Patriarca, Polli

Tier-2 ISP
local
ISP
82

Organizzazione a strati dei


protocolli di Rete
Le reti sono complesse
Molte componenti:
o Terminali dutente
o Router
o Canali di mezzi diversi
o Applicazioni
o Protocolli
o hardware, software
Domanda:
C una speranza di organizzare la struttura di una
rete? O almeno la nostra discussione sulle reti?
Baccarelli,
Cordeschi, Patriarca, Polli

83

Un esempio- Organizzazione di un
viaggio in aereo
biglietto (acquisto)

biglietti (reclamo)

bagagli (controllo)

bagagli (ritiro)

gates (carico)

gates (scarico)

decollo

atterraggio

instradamento

instradamento

instradamento dellaereo

una serie di servizi/azioni svolti sequenzialmente


Baccarelli,
Cordeschi, Patriarca, Polli

84

Organizzazione a strati delle


funzioni svolte per realizzare un
viaggio in aereo (1/2)

biglietto (acquisto)

biglietto (reclamo)

bagagli (controllo)

bagagli (ritiro)

gates (carico)

gates (scarico)

decollo

atterraggio

Decollo/atterraggio

instradamento

Instradamento

instradamento
Partenza

Instradamento dellaereo
intermediate air-traffic
control centers

Baccarelli,
Cordeschi, Patriarca, Polli

biglietto
bagagli
gate

Arrivo

85

Organizzazione a strati delle


funzioni svolte per realizzare un
viaggio in aereo (2/2)
Nella Figura precedente, linsieme dei servizi
(funzioni) necessarie per effettuare un viaggio in
aereo partizionato (suddiviso) in strati
organizzati gerarchicamente.
Lo strato n offre un servizio allo strato (n+1)

i.

immediatamente superiore

ii.

effettuando certe azioni (funzioni) che sono


specifiche dello strato n;
avvalendosi del servizio (dati di input) offerto
dallo strato (n-1) immediatamente inferiore .
Baccarelli,
Cordeschi, Patriarca, Polli

86

Perch organizzare in strati le funzioni


svolte dai Protocolli di rete?
Una architettura gerarchica a strati delle funzioni svolte

dai vari protocolli di rete permette di esaminare


separatamente una parte specifica di un sistema grande e
complesso.
Specificatamente, fin tanto che lo strato n fornisce lo
stesso servizio allo strato (n+1) immediatamente superiore
e usa lo stesso servizio fornitogli dallo strato (n-1)
immediatamente inferiore, il resto dellintero sistema non
cambia quando viene (eventualmente) cambiato il modo in
ciu lo strato n attua il suo servizio.
La possibilit di cambiare il modo in cui un servizio
attuato da uno strato senza modificare nessuna altra
componente del restante sistema costituisce il vantaggio
principale dellorganizzazione gerarchica a strati
dellinsieme dei protocolli di rete.
Baccarelli,
Cordeschi, Patriarca, Polli

87

La stratificazione- Definizione
formale (1/2)

Supponiamo che linsieme J delle funzioni da


svolgere per consentire lattuazione di un
processo di comunicazione:
i.
ii.

sia partizionato in sottoinsiemi funzionali;


sia organizzato in modo che questi sottoinsiemi
funzionali operino in un ordine gerarchico.

Coerentemente con queste ipotesi, ogni


sottoinsieme identificato da un numero
crescente al crescere del livello gerarchico.
Baccarelli,
Cordeschi, Patriarca, Polli

88

La stratificazione- Definizione
formale (2/2)

Sotto le precedenti ipotesi, ogni


sottoinsieme funzionale dellarchitettura a
strati:
i.
ii.
iii.

riceve un servizio dal sottoinsieme che gli


immediatamente inferiore nellordine gerarchico;
arricchisce questo servizio con il valore
derivante dallo svolgimento delle proprie funzioni;
offre un nuovo servizio a valore aggiunto allo
strato che gli immediatamente superiore

nellordine gerarchico.

Baccarelli,
Cordeschi, Patriarca, Polli

89

Definizione di strato
nellorganizzazione gerarchica dei
protocolli di una rete di TLC
Sistema A

Sistema B

Strato pi elevato

Sottosistemi omologhi

Strato di rango N

Strato pi basso

Mezzi trasmissivi
Baccarelli,
Cordeschi, Patriarca, Polli

90

Servizio di strato
nellorganizzazione gerarchica dei
protocolli di una Rete di TLC
Riassumendo,
ogni strato di rango N fornisce un servizio allo
strato di rango N+1.

utilizza il servizio fornito


dallo strato di rango N-1.

Per questo scopo

Arricchisce tale servizio con lo svolgimento di

particolari proprie funzioni.

Baccarelli,
Cordeschi, Patriarca, Polli

91

Modello di architettura protocollare


Open System Interconnection (Modello
OSI)
Strati

Strato di
Applicazione
Strato di
Presentazione

Servizi offerti

Fornisce ai processi applicativi i mezzi per accedere ad Internet


( costituito da programmi applicativi quali FTP, HTTP,SMTP).
Risolve problemi di compatibilit sulla rappresentazione dei dati
da trasferire e offre servizi di cifratura.

Strato di
Sessione

Struttura e sincronizza lo scambio di dati in modo da poterlo


sospendere, riprendere e terminare ordinatamente.

Strato di
Trasporto

Colma le deficienze della qualit di servizio delle connessioni di


livello rete. Funz. fondament.: multiplazione e frammentazione.

Strato di Rete

Instaura, mantiene e abbatte connessioni di rete. Funzioni


fondamentali: instradamento e controllo di flusso.

Strato di
Collegamento

Fronteggia malfunzionamenti del livello fisico (rivelazione e


recupero degli errori di trasmissione, controllo di flusso).

Strato Fisico

Fornisce i mezzi meccanici, fisici, funzionali e procedurali per


attivare, mantenere e disattivare le connessioni fisiche.

Mezzi fisici di trasmissione

Baccarelli,
Cordeschi, Patriarca, Polli

92

Modello di architettura protocollare


adottata da Internet (Modello Internet)
Strati

Servizi offerti

Strato
Applicativo

Corrisponde a parte dello strato di sessione e agli strati di presentazione


e di apllicazione del modello OSI.

Strato di
Trasporto

Corrisponde allo strato di trasporto e a parte dello strato di sessione del


modello OSI. Offre un servizio di trasporto affidabile con connessione
(TCP), ovvero un servizio pi semplice, senza connessione (UDP).

Strato di
Rete

Consente linterconnessione delle varie reti componenti con funzionalit


che nel modello OSI sono collocate in un sottostrato di rete alto.
Fornisce un servizio di trasferimento dati senza connessione (IP).

Strato di
Collegamento

Include le funzioni che, nel modello OSI, sono comprese negli strati
fisico, di collegamento e di rete,questultimo almeno per ci che riguarda
gli aspetti connessi al funzionamento di ogni singola rete componente
(sottostrato di rete basso). Il servizio offerto allo strato superiore
(Strato Internet) pu essere con o senza connessione.

Strato Fisico

Baccarelli,
Cordeschi, Patriarca, Polli

93

Trasferimento dei
Dati nel Modello
Internet

Sorgente
messagio
segmento Ht

datagramma Hn Ht
trama Hl Hn Ht

Applicativo

Trasporto

Rete

Collegamento
Fisico
Collegamento
Fisico

Hl Hn Ht

Bridge

Destinazione
Ht

Applicativo

Trasporto

Hn Ht

Rete

Hl Hn Ht

Collegamento

Hn Ht

Hl Hn Ht

Rete
Collegamento
Fisico

Router

Fisico
Baccarelli,
Cordeschi, Patriarca, Polli

94

Trasferimento dei Dati nel Modello


Internet- Pile protocollari

La Figura precedente mostra il cammino fisico che i pacchetti


generati dallapplicazione-sorgente seguono attraverso le pile
protocollari per raggiungere lapplicazione-destinazione.
La Figura si presta ad alcune osservazioni:
o
Similmente ai sistemi terminali, anche i Router e i
Bridge organizzano i loro protocolli in strati.
o
I Router implementano solo i protocolli di Strato Fisico,
di Collegamento e di Rete.
o
I Bridge implementano solo i protocolli di Starto Fisico
e di Collegamento.
o
I terminali dutente implementano i protocolli di tutti e
5 gli strati del modello Internet.
Baccarelli,
Cordeschi, Patriarca, Polli

95

Trasferimento dei Dati nel Modello


Internet- Messaggi, Segmenti,
Datagrammi e Trame
Inoltre,

i.

I pacchetti generati dallo Strato Applicativo


sono chiamati Messaggi ;
ii. I pacchetti generati dallo Strato di Trasporto
sono chiamati Segmenti ;
iii. I pacchetti generati dallo Strato di Rete sono
chiamati Datagrammi ;
iv. I pacchetti generati dallo Strato di Collegamento
sono chiamati Trame (frame)
Baccarelli,
Cordeschi, Patriarca, Polli

96

Trasferimento dei Dati nel Modello


Internet- Il Principio
dell Incapsulamento (1/2)
La figura mostra anche che, al lato sorgente, il
pacchetto generato da ciascuno strato n si ottiene
aggiungendo un header Hn al pacchetto generato dallo
Strato (n+1).
Il contenuto dellheader specifico dello strato al
quale lheader viene aggiunto e contiene informazioni
necessarie per svolgere le funzioni proprie dello
strato.
Ci significa che, al lato sorgente, il pacchetto di
strato n ottenuto per incapsulamento del pacchetto
di strato (n+1).

Baccarelli,
Cordeschi, Patriarca, Polli

97

Trasferimento dei Dati nel Modello


Internet- Il Principio
dellIncapsulamento (2/2)

Al lato Destinazione, i pacchetti subiscono la procedura


(reciproca) del De-incapsulamento. Ovvero,
i.
Lo strato n riceve il pacchetto che gli compete dallo strato
(n-1);
ii. Lo strato n elabora il pacchetto;
iii. Lo strato n elimina dal pacchetto lHeader specifico dello
strato n;
iv. Lo strato n passa la parte rimanente del pacchetto allo
strato (n+1).
Se non sono stati introdotti errori nel trasferimento dei dati
del Terminale-Sorgente al Terminale-Destinazione, il
messaggio M ricevuto allo strato applicativo del Terminale di
Destinazione coincide col messaggio M generato dallo strato
applicativo del Terminale Sorgente
Baccarelli,
Cordeschi, Patriarca, Polli

98

La Normativa nelle TLCOrganismi Mondiali


International Telecommunication Union (ITU)
International Standard Organization (ISO)
International Electrotechnical Commission

(IEC)

Internet Engineering Task Force (IETF)


Baccarelli,
Cordeschi, Patriarca, Polli

99

La normativa nelle TLC- Lorganismo


ITU

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:
i.
WARC (World Administrative Radio Conference). considera ed approva tutti i cambiamenti alle
regolamentazioni sulle radio comunicazioni con particolare
riferimento alluso dello spettro delle frequenze radio.
Dagli inizi degli anni 90 organizzato in tre settori:
i.
Sviluppo
ii. Standardizzazione
iii. Radiocomunicazioni

Baccarelli,
Cordeschi, Patriarca, Polli

100

La normativa nelle TLC- Lorganismo


ISO

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 Technical Committee on
Information Technology (JTC1).

LISO-IEC JTC1 organizzato in Comitati Tecnici


(TC), attualmente otre 170, e in Sotto-comitati (SC).
Baccarelli,
Cordeschi, Patriarca, Polli

101

La normativa nelle TLC- Lorganismo


IETF
Coordina lattivit di standardizzazione
nellambito della rete Internet.
E organizzata in Working Group tematici.
Liter di standardizzazione prevede la
produzione di:
i. Draft (documenti di lavoro)
ii. RFC (standard)
Tutti i documenti IEFT sono disponibili sul
sito:
www.ieft.org

Baccarelli,
Cordeschi, Patriarca, Polli

102

Organizzazione e Struttura del Corso


(1/2)
In accordo al Modello protocollare Internet, il
corso si articola nelle seguenti parti:

1.

Strato Fisico

o
o
o
o
o

2.
o
o

Segnali analogici e numerici


Elaborazione analogica e numerica dei segnali
Mezzi trasmissivi e canali di comunicazione
Modulazioni analogiche e numeriche
Codifica di canale

Strato di collegamento

Accesso multiplo
Reti in Area Locale (LANs)
Baccarelli,
Cordeschi, Patriarca, Polli

103

Organizzazione e Struttura del Corso


(2/2)
4. Strato di Rete
o
o

Il protocollo IP
Algoritmi e Protocolli di instradamento

5. Strato di Trasporto

I protocolli TCP e UDP

Baccarelli,
Cordeschi, Patriarca, Polli

104

Capitolo 2
Introduzione allo Strato
Fisico:Segnali Analogici e numerici

Baccarelli,
Cordeschi, Patriarca, Polli

Segnali Definizioni (1/2)


Concettualmente un segnale x(t) rappresenta
landamento nel tempo t di una grandezza fisica x
(tensione, corrente, intensit luminosa, temperatura)
Formalmente, un segnale x(t) una funzione

x(t) : T D

definita in un dominio T sottoinsieme di R1 (detto


spazio di parametro) e a valori in un codominio D
sottoinsieme di R1 o C1 (detto spazio dei valori)

Baccarelli,
Cordeschi, Patriarca, Polli

Segnali Definizioni (2/2)


Un segnale x(t) : T D detto di durata limitata se T un
sottoinsieme [a,b] limitato di R1 (ossia T =[a,b] con | a |< + e | b |< + )
Un segnale x(t) : T D detto di durata illimitata se T un
sottoinsieme illimitato di R1 (ossia, T = ( , + ) oppure T = ( , b]
oppure T = [a, + ) )
Un segnale x(t) : T D detto analogico se T un sottoinsieme
continuo di R1 (ossia T costituito da una infinit non numerabile di D
punti) e un sottoinsieme continuo di R1 o C1 (ossia D costituito da
una infinit non numerabile di numeri reali o complessi)
Un segnale x(t) : T D detto numerico (o digitale) se T un
sottoinsieme continuo di R1 e D = { 0 ,..., L1} costituito da un
numero finito L 1 di elementi.
Baccarelli,
Cordeschi, Patriarca, Polli

Segnali-Classificazione
Esempio di Segnale Analogico con

D = [5,5] e T = [0,10]

x(t)
5
0

10

-5

Esempio di segnale numerico con


1

D = {1,1} e T = [10,10]

x(t)

10

-10

Baccarelli,
Cordeschi, Patriarca, Polli

Segnali analogici e numerici (1/3)


Segnali
o
o

Audio (voce, musica)


Video (TV analogica)

Segnali
o
o
o
o

analogici:
t

numerici (sequenze di digit):

Audio e video digitalizzati


Immagini Digitali
Sequenze di immagini (videoclip, TV digitale, )
Dati (documenti word/excel, files, )

Reti analogiche: Broadcast radio/TV, cellulare TACS, cordless


analogico
Tutte le altre reti sono numeriche (audio e video vengono
digitalizzati)
Baccarelli,
Cordeschi, Patriarca, Polli

Segnali analogici e numerici (2/3)


Nota bene: il segnale che trasporta un bit comunque analogico:
Tensione elettrica sul filo,
dalla tastiera alla CPU

Potenza luminosa entrante in


una fibra ottica

+5V

0
-5V

1 0

1
t

0 1

0 0

0 1

1
t

Per linformazione ad esso associata numerica, ovvero 0 od 1.

Baccarelli,
Cordeschi, Patriarca, Polli

Segnali analogici e numerici (3/3)


quindi importante considerare i segnali analogici, facendo
riferimento a collegamenti analogici unidirezionali (es.
radiodiffusione):
Sorgente
Destinazione
Analogica
Analogica
t
t
Canale di
SA
DA
Trasmissione

A livello logico si pu identificare un collegamento numerico (binario)


(es. modem in banda audio):
Sorgente
Binaria

SB

Modem
Tx

Canale
di Tx

Baccarelli,
Cordeschi, Patriarca, Polli

Modem
Rx

Destinazione
Binaria

DB
..010110..
7

Fondamenti sui segnali analogiciStrato Fisico

Baccarelli,
Cordeschi, Patriarca, Polli

Segnali analogici (1/2)


Collegamenti analogici punto-punto unidirezionali (es. radiodiffusione):
Sorgente
Analogica
t

SA
Esempi:
Voce
Telefono
Video
S

Trasduttore di
emissione

Canale di
Trasmissione

Destinazione
Analogica

DA

segnale di pressione acustica


segnale elettrico
segnale ottico
Canale fisico
(mezzo trasmissivo)

Baccarelli,
Cordeschi, Patriarca, Polli

Trasduttore di
ricezione

D
9

Segnali analogici (2/2)


Segnale: andamento nel tempo di una grandezza perturbata

x(t ),

< t < +
x (t )

Esempi di segnale continuo, tempo-continuo (analogico):


Voce, temperatura ambiente, musica, televisione
Baccarelli,
Cordeschi, Patriarca, Polli

10

Esempi di segnali analogici (1/3)


Sinusoide:

x ( t ) = A cos( 2 f 0 t + )

A ampiezza;

f 0 frequenza;

To =1 / f 0 periodo (sec); 0 = 2

fase (radianti);

f 0 pulsazione (rad/sec);

x(t )
x ( 0 ) = A cos( )
t

T0
Baccarelli,
Cordeschi, Patriarca, Polli

11

Esempi di segnali analogici (2/3)


Esponenziale reale:
t

x ( t ) = Ae ,

Rettangolo:

1
x(t) = rectT (t) =
0

< t < +
x(t ) > 0

<0

t <T / 2
t T / 2

x(t )
1

Baccarelli,
Cordeschi, Patriarca, Polli

T
2

T
2

12

Esempi di segnali analogici (3/3)


Triangolo:
1 t / T

=
=
x(t ) triT (t ) 1 + t / T
0

Gradino unitario:

0t T
T < t < 0
t >T

1
x(t ) = u 1 (t ) =
0

x(t )

x(t )

t0
t<0

1
T

Baccarelli,
Cordeschi, Patriarca, Polli

13

I numeri complessi (1/4)


j = 1

(unit immaginaria);

j 2 = 1

b b 4ac
=
Esempio: ax + bx + c = 0 x =
2a
2

x1
x2

Se b2<4ac si ha la radice quadrata di un numero negativo


le radici x1, x2 sono numeri complessi

Baccarelli,
Cordeschi, Patriarca, Polli

14

I numeri complessi (2/4)


Numero complesso:

x = + j = x e j

x = 2 + 2

1
= arg x = arctan = tg

= x cos
= x sin

.x

Relazioni inverse

Baccarelli,
Cordeschi, Patriarca, Polli

15

I numeri complessi (3/4)


Complesso coniugato:

x* = j = x e j

Reciproco di un numero complesso:

x 1 =

1
1
1
1 j
=
= 2
=

j
=
=
e
j
2
2
2
2
2
+
+
x + j +
xe
x

j
Somma e prodotto tra numeri complessi: x = + j = x e j , y = + j = y e

x + y = ( + j) +( + j ) = ( + ) + j( + )
xy = ( ) + j( +) = x y e j (+)
Baccarelli,
Cordeschi, Patriarca, Polli

16

I numeri complessi (4/4)


j

Rapporto tra due numeri complessi: x = + j = x e ; y = + j = x e

x + j ( + j )( j ) +
x j ( )
=
=
= 2
+j 2
= e
2
2
2
2
y + j
y
+
+
+

Formule di Eulero:

e j

e j + e j
e j e j
= cos j sin cos =
, sin =
2
2j

Baccarelli,
Cordeschi, Patriarca, Polli

17

Segnali complessi (1/2)


Coppia di segnali reali, associati come parte reale xR(t) e parte

immaginaria xI(t) di un segnale complesso x(t) = xR(t) + j xI(t)


Esempio - esponenziale complesso:

x(t ) = Ae j ( 2f0t + ) = A cos(2f 0t + ) + jAsin(2f 0t + )


x R (t ) = A cos( 2 f 0 t + )

parte reale

x I (t ) = A sin( 2 f 0 t + )

parte immaginaria
xI (t )

xR (t )

Baccarelli,
Cordeschi, Patriarca, Polli

18

Segnali complessi (2/2)


x(t) = Ae j (2f0t +)
A

x(t) = x (t) + x (t)


2
R

2
I

xI (t)
arg(x(t)) = arctg

x
(
t
)
R

t
arg(x(t)) = arg( Ae j (2f0t +) )

Baccarelli,
Cordeschi, Patriarca, Polli

19

Operazioni sui segnali (1/2)


Poich i segnali sono funzioni, tutte le operazioni tra funzioni
possono essere anche applicate ai segnali. In particolare:
Somma, Prodotto: z(t) = x(t) + y(t),
Prodotto per
costante:

z(t) =cx(t)

Ribaltamento:

z(t) = x(t)

z(t) = x(t) y(t)


(amplificazione, attenuazione)

z (t )

x(t )

ribaltamento
t
Baccarelli,
Cordeschi, Patriarca, Polli

t
20

Operazioni sui segnali (2/2)


z (t ) = x(t )

Traslazione
x(t )

z (t )

< 0 , a n tic ip o
( tr a s la z io n e a s in is tr a )

> 0 , r ita r d o

tr a s la z io n e a d e s tr a

z(t ) = x(t ), > 0


z (t )

z (t )

Dilatazione e contrazione
x(t )

z (t )

< 1, d ila ta z io n e
( e s p a n s io n e d i s c a la )
Baccarelli,
Cordeschi, Patriarca, Polli

t
> 1, c o n tr a z io n e
( c o n tr a z io n e d i s c a la )
21

Energia di un segnale (1/3)


Def:

Def:

Def:

2
+
x  x(t) dt 0
0 < x < +

Segnale di energia:

Segnale impulsivo:

Baccarelli,
Cordeschi, Patriarca, Polli

x(t ) dt < +

22

Energia di un segnale (2/3)


Esempio: esponenziale negativo unilatero > 0
t

Ae
x(t ) = Ae t u1 (t ) =
0

t 0
t< 0

x = 0

(Ae ) dt = A

t 2

x(t ) dt =

x (t )

2
A
e 2t dt =
e 2t
2

A t
Ae dt =
e

+
0

Baccarelli,
Cordeschi, Patriarca, Polli

+
0

A2
=

di energia

impulsivo

23

Energia di un segnale (3/3)


Esempio: esponenziale decrescente bilatero

x(t ) = Ae

x (t )

, >0
t

x=

A2

x(t) dt =

2A

Impulsivo e di energia

Baccarelli,
Cordeschi, Patriarca, Polli

24

Potenza di un segnale
Def:

Px  lim 1 t/2 x(t) dt 0


t+ t t/2

x (t )

Def: Segnali di potenza: 0 < P < +


x

Esempio: segnale costante

x(t ) = c

1 t / 2 2
1
2
2
Px = lim
c
dt
c
lim
t
c
=

=
t + t t / 2
t + t

Baccarelli,
Cordeschi, Patriarca, Polli

25

Segnale periodico (1/3)


x(t ) = x(t + nT ) n = 0, 1, 2,... x(t ) =

g (t nT )

T periodo

n =

x(t )

g (t )

(periodo principale)

Formule di calcolo della potenza di un segnale periodico

1
Px =
T

T /2

T / 2

x (t ) dt

Un segnale periodico un segnale di potenza


Baccarelli,
Cordeschi, Patriarca, Polli

26

Segnale periodico (2/3)


Esempio: sinusoide

x(t ) = A cos(2f 0t + ),

T = 1/ f0

2
T /2 1
A
1 T /2 2
2
Px = A cos ( 2f 0t + ) dt =
[1 + cos( 4f 0t + 2 )]dt =

T T / 2
T T / 2 2
A2 T / 2 1
A2 T / 2
=
dt +
cos( 4f 0t + 2 ) dt =

/
2
/
2
T
T
T
2
2T
A2 T T
A2
=
+ + 0 (il coseno ha area nulla) =
2T 2 2
2

Baccarelli,
Cordeschi, Patriarca, Polli

27

Segnale periodico (3/3)


Esempio: treno di impulsi rettangolari

x(t ) =

x(t)

n =+

rect (t nT )

n =

/ T "duty cicle" 1

1
Px =
T

1
T / 2 [rect (t nT )] dt = T
T /2

1
/ 21 dt = T 2 + 2 = T
/2

Baccarelli,
Cordeschi, Patriarca, Polli

28

Relazione tra segnali di energia,


impulsivi e di potenza

Segnali di
energia

Segnali impulsivi

Segnali di
potenza
Segnali periodici

Baccarelli,
Cordeschi, Patriarca, Polli

29

Attraversamento di un sistema
tempo-continuo da parte di un
segnale analogico
Un sistema S un blocco che trasforma un

segnale di ingresso x(t) in uno di uscita


y(t)=f(x(t))
x(t )

y (t ) = f ( x(t ))

Baccarelli,
Cordeschi, Patriarca, Polli

30

Attraversamento di un sistema
tempo-continuo da parte di un
segnale analogico
Classificazione dei sistemi:

Sistema Lineare:
x1 (t ) y1 (t )

x2 (t ) y2 (t )

ax1 (t ) + bx2 (t ) ay1 (t ) + by2 (t )


(sovrapposizione degli effetti)

Sistema Permanente:

x(t) y(t) x(t ) y(t )

(invarianza nel tempo)

Un sistema lineare e permanente (LP) detto filtro


Baccarelli,
Cordeschi, Patriarca, Polli

31

Limpulso matematico
Rappresenta un segnale di durata brevissima (al limite, zero) e di
ampiezza elevatissima (al limite, infinita)
il cui integrale
unitario

+ t = 0
(t ) =
t0
0

1
(t ) = lim rectt (t )
t 0 t
area 1

1
rectt (t )
t

(t )
1

t
2

Baccarelli,
Cordeschi, Patriarca, Polli

32

Propriet fondamentali
dellimpulso matematico
+

1.

(t )dt = 1

t0 +

2.

(limpulso matematico ha area unitaria)

(t t0 )dt = 1,

per ogni > 0

t0
+

3.

x(t )(t t )dt = x(t )


0

(propriet di campionamento dellimpulso

matematico)

Baccarelli,
Cordeschi, Patriarca, Polli

33

Risposta impulsiva di un sistema


lineare e permanente
x(t)=(t)

Filtro

y(t)=h(t)

La risposta impulsiva h(t) di un sistema lineare e permanente (filtro)


definita come luscita y(t) del sistema quando allingresso applicato
limpulso unitario x(t)=d(t)
Propriet elementari di h(t)
Permanenza

x(t ) = (t t0 ) y (t ) = h ( t t0 )
Linearit

x(t ) = a(t0 ) + b(t0 ) y (t ) = ah ( t ) + bh ( t )


Baccarelli,
Cordeschi, Patriarca, Polli

34

Convoluzione Definizione (1/6)


x(t)

y(t)
h(t)

Se il sistema LP con risposta impulsiva h(t), allora luscita y(t)


corrispondente ad un generico segnale di ingresso x(t) pari a
=+

y (t ) =

x()h(t )d = x(t ) h(t ), < t < +

Lintegrale precedente detto integrale di convoluzione tra lingresso


x(t) e la risposta impulsiva h(t) del filtro.

Baccarelli,
Cordeschi, Patriarca, Polli

35

Convoluzione Calcolo (2/6)


+
y(t) = x(t)*h(t) = x()h(t )d ,

-<t<+

1. Poich per ogni fissato valore di t, lintegrale

nella variabile , conviene innanzitutto graficare i


due segnali da convolvere x(.) e y(.) come funzioni
di ottenendo cos x() , h( ) , - <<+ .

h() va poi ribaltato rispetto allasse ,


ottenendo quindi h( ).

2. Il segnale

Baccarelli,
Cordeschi, Patriarca, Polli

36

Convoluzione Calcolo (3/6)


Il segnale cos ottenuto va poi traslato della
quantit t lungo lasse
ottenendo cos
h(t ) . A questo riguardo quando t>0 allora
h() va traslato di t verso destra. Quando
invece t<0, h( ) va traslata di t verso
sinistra
4. Per ogni valore di ( , + ) si calcola il
prodotto x()h(t )
5. Si integra rispetto a
la funzione x()h(t )
e cio si calcola larea sottesa dalla funzione
x()h(t ) . La suddetta area proprio il valore
y(t) assunto dalla convoluzione allistante t.
3.

Baccarelli,
Cordeschi, Patriarca, Polli

37

Convoluzione Esempio di Calcolo


(4/6)
x()
2

-4

h()

1
0

h(t ), t < 0

h(t ), t > 0
-3

-3+t t

-3+t t

x()h(t ),

x()h(t )

y (t )

2
-3+t t

2
-3+t t

Baccarelli,
Cordeschi, Patriarca, Polli

38

Propriet di base della


Convoluzione (5/6)
1.

Loperazione di convoluzione commutativa, ossia x(t ) * h(t ) = h(t ) * x(t )

2.

Loperazione di convoluzione associativa, cio

[ x(t ) * h(t )]* z (t ) = x(t ) *[h(t ) * z (t )]


3.

Loperazione di convoluzione distributiva rispetto alla somma di segnali

[ x(t ) + z (t )]* h(t ) = [ x(t ) * h(t )] + [h(t ) * z (t )]


4.

La convoluzione di x(t ) con (t t0 )

Ossia
5.

trasla x(t ) di t0, ossia

x(t ) * (t t0 ) = x(t t0 )

Dati due segnali x (t ) , h(t ) di durata x e h ,il segnale convoluto


ha durata pari alla somma x + h
Baccarelli,
Cordeschi, Patriarca, Polli

39

Risposta di un sistema LP-Prova


(6/6)
x(t )

Filtro h(t)

y (t ) = x(t ) * h(t )

x (t )pu essere espresso come x (t ) =


Permanenza

x()(t )d

x(t ) = (t ) y (t ) = h(t )
Linearit

d x() (t ) d x() h(t )

x(t ) =

x() (t )d x() h(t )d = y(t )


Baccarelli,
Cordeschi, Patriarca, Polli

40

Causalit e stabilit di un filtro


Def: Filtro causale: h(t ) = 0 per t < 0

h (t )

il sistema risponde solo dopo che


stato eccitato

Def:Filtro stabile: x(t ) < M y (t ) < M '


Ingressi limitati, corrispondano uscite limitate

Baccarelli,
Cordeschi, Patriarca, Polli

41

Trasformazioni istantanee
(senza memoria)
x(t ) y (t ) = x(t t0 )

Ritardo

LP con h(t ) = (t t0 )

Moltiplicazione x(t ) y (t ) = cx(t ) LP con h(t ) = c (t )


per costante
c

Quadratore

y (t ) = x 2 (t )

Lineare

y (t ) = ax(t ) + b no L, si P

Segno

y (t ) = sign[x(t)]

no L, si P
+1, se x(t) 0

-1, se x(t) < 0

Baccarelli,
Cordeschi, Patriarca, Polli

no Li, si P

42

Sviluppo in serie di Fourier (SdF)


per segnali periodici (1/7)
x (t ) = x (t + T ) = g (t nT )

Segnale periodico, periodo T:

1
frequenza fondamentale: F =
T

f n = nF = n / T

j 2 f n t
=
x(t)
X
e
Sviluppo in serie di Fourier

n =-

X = 1 T / 2 x (t )e j 2f nt dt = R + jI = M e j n
n
n
n
n T T / 2

{X n } = {..., X 1 , X 0 , X 1 ,...}

una rappresentazione di

Baccarelli,
Cordeschi, Patriarca, Polli

Armonica n-esima

Coefficienti dello sviluppo

x(t)
43

Sviluppo in serie di Fourier (SdF)


per segnali periodici (2/7)
x(t ) segnale reale e periodico di periodo T
1 T /2
T / 2 x(t ) cos(2f nt )dt = Rn (pari)
T
1 T /2
=

In
T / 2 x(t ) sin(2f nt )dt = I n (dispari)
T
Rn =

X n = X * n

M n = M n (pari)

n = n (dispari)

(simmetria coniugata)

Baccarelli,
Cordeschi, Patriarca, Polli

44

Sviluppo in serie di Fourier (SdF)


per segnali periodici (3/7)
Ricostruzione x(t ) reale e periodico di periodo T:
x (t ) = X 0 +
= R0 +

[X n e j 2f nt + X ne j 2f nt ] =

n =1

[M n e j ( 2f nt + n ) + M n e j ( 2f nt n )] =

n =1
+

= R0 + 2 M n cos( 2f nt + n )
n =1

(solo coseni di opportuna ampiezza e fase)

Baccarelli,
Cordeschi, Patriarca, Polli

45

Sviluppo in serie di Fourier (SdF)


per segnali periodici (4/7)
Teorema di Parseval (per segnali periodici) :
1
Px =
T

(X

2
n

T /2

T / 2

1
x(t ) dt =
T
2

T /2

T / 2

j 2f n t

= Xn

la potenza della singola armonica a frequenza n / T

Baccarelli,
Cordeschi, Patriarca, Polli

46

Sviluppo in serie di Fourier (SdF)


per segnali periodici (5/7)
Esempio di sviluppo in serie di Fourier

x(t)
A

x (t ) = A rect (t nT )
n

1 T /2
A /2
Xn =
x (t )e j 2 f n t dt = 1 e j 2 f n t dt =
T T / 2
T / 2
A e j 2 f n / 2 e j 2 f n / 2 A 2 j sin( f n )
=
=
=
j 2 f n
T
T
j 2 f n
=A

Xn
X0
X1

sin( f n )

= A sinc( f n )
T f n
T

X2

X1

X
6

X5
Baccarelli,
Cordeschi, Patriarca, Polli

X2

X6

sin( x )

sinc(
)
=
x

X3

X3 X5
47

Sviluppo in serie di Fourier (SdF)


per segnali periodici (6/7)
x(t ) reale e pari { X n } reale pari, ossia X n = X -n

T
sin( / T )
X1 = X 1 = A
T / T
sin(2 / T )
X 2 = X 2 = A
T 2 / T
........
X 0 = R0 = A

Xn
A / 2

Caso particolare: = T/ 2
A
A
X 0 = , X1 = X 1 = , X 2 = X 2 = 0,
2

A
X 3 = X 3 = , X 4 = X 4 = 0, .......
3
Baccarelli,
Cordeschi, Patriarca, Polli

A/

48

Sviluppo in serie di Fourier (SdF)


per segnali reali e periodici (7/7)
Xn

nF

F = 0

1 2

F =

" continua"

" a rm o n ic a n -e s im a "

1
T

fondamentale

Pn = X n

Spettro
di potenza

1 2

Spettro
di ampiezza
(complessa)

{Pn , n = 0, 1, 2,...}

Baccarelli,
Cordeschi, Patriarca, Polli

49

Trasformata di Fourier (1/7)


Def: Un segnale x(t) impulsivo se

x(t) dt < +

j 2ft
dt = FT{x( t )},
FT : X ( f ) = x( t )e

< f < +

FT-1 :

x(t) = X ( f )e j 2ftdf = FT1{X ( f )}, < t < +

X(f) una rappresentazione di x(t) nel dominio della frequenza


(dominio spettrale) anzich del tempo
Baccarelli,
Cordeschi, Patriarca, Polli

50

Trasformata di Fourier (2/7)


X(f) = R(f) + j I(f) = M(f)e j

x (t ) =

M ( f ) e j ( 2 ft + ( f )) df
M(f)

R(f)

f
(f)

I(f)

Baccarelli,
Cordeschi, Patriarca, Polli

51

Trasformata di Fourier di segnali


reali (3/7)
x ( t ) segnale reale:
+

X ( f ) = x(t ) cos(2ft )dt j x(t ) sin(2ft )dt


Simmetria coniugata:

R( f ) = R( f )

I( f ) = I( f )

M( f ) = M(f )

(f )= (f )

Baccarelli,
Cordeschi, Patriarca, Polli

X ( f ) = X * ( f )

52

Trasformata di Fourier di segnali


reali (4/7)
Conseguenza :
Per segnali reali si pu fare riferimento alle sole frequenze
positive della X(f)
M(f)

M(f)

(f)

(f)

Baccarelli,
Cordeschi, Patriarca, Polli

53

Trasformata di Fourier Banda


di un segnale di banda base (4/7)
Un segnale reale x(t) si dice limitato nella banda [-W,W] se la sua
trasformata di Fourier X(f) identicamente nulla per f [-W,W]

X(f)

-W

La quantit W si misura in Hz (o suoi multipli) e costituisce la

Larghezza di Banda del segnale x(t)


Poich X(f)0 in un intorno [-W,W] di f=0, il segnale x(t) si dice
segnale di banda base
Baccarelli,
Cordeschi, Patriarca, Polli

54

Trasformata di Fourier Banda


di un segnale di banda base (6/7)

1)
2)

Un segnale reale x(t) si dice limitato in banda, con banda 2W


centrata intorno alla frequenza f0 (Hz) se:
f0 >W;
X(f) identicamente nulla per f [- f0-W,- f0 +W]U [f0-W,f0 +W]
X(f)

-f0-W -f0

W-f0

-W+f0

f0

f0+W f

La quantit 2W (Hz) costituisce la larghezza di banda del segnale


x(t)
Poich X(f)0 in un intorno di f0 non adiacente allorigine f0, il
55
segnale x(t) si dice segnaleBaccarelli,
in banda traslata.
Cordeschi, Patriarca, Polli

Trasformata di Fourier Unit di


misura della larghezza di banda
(7/7)
La larghezza di banda W (2W) di un segnale x(t) di banda base (di

banda traslata) si misura in


Hz =

1
sec

o in suoi multipli
1 kHz = 103 Hz
1 MHz = 106 Hz
1 GHz = 109 Hz

Baccarelli,
Cordeschi, Patriarca, Polli

56

Trasformata di Fourier e Teorema di


Parseval
E possibile calcolare lenergia di un segnale

impulsivo o di energia x(t) mediante la sua


trasformata X(f).
In particolare, vale il seguente risultato noto come
Teorema di Parseval per segnali impulsivi e/o di
energia:

X(f ) df

Baccarelli,
Cordeschi, Patriarca, Polli

57

Trasformata di Fourier: Esempi (1/4)


x(t ) = rectT (t )
T
2
T

X( f ) =

essendo

j 2ft
e
e j 2ftdt =
j2f

j 2f

T
2
T
t=
2

T
2

+ j 2f

e
j2f

T
2

=T

sin(fT)
= T sinc(fT)
fT

e jz e jz
= sin( z )
2j

X(f)

x(t)
1

T
2

T
2

Baccarelli,
Cordeschi, Patriarca, Polli

1
T

2
T

58

Trasformata di Fourier: Esempi (2/4)


X ( f ) = T sinc( fT )

1)

x(t)

T
2

T
2

1
T

1
T

2)

x(t ) = (t )

X( f ) =1

X( f )

1
t

Baccarelli,
Cordeschi, Patriarca, Polli

59

Trasformata di Fourier: Esempi (3/4)


3)

x (t ) = c

X ( f ) = c ( f )
c

x (t )

X(f)

4)

x ( t ) = A cos (2 f o t )
X(f)=

A cos( 2 f o t ) e j 2 ft dt =

A
A
( f fo ) + ( f + fo )
2
2

x(t )

A
2

t
Baccarelli,
Cordeschi, Patriarca, Polli

fo

X(f)

A
2

fo

f
60

Trasformata di Fourier: Esempi (4/4)


5)

x (t ) = e
X ( f ) =

u 1 ( t )

M (f)=

1 + 4 2 f 2 2
( f ) = arctg ( 2 f )

1 + j 2 f

M( f ) = X( f )

x(t)

piccolo:

M( f )

x(t)
t
Baccarelli,
Cordeschi, Patriarca, Polli

f
61

Relazioni tempo/frequenza
Segnali brevi (in t)

banda larga (in f)

Segnali lunghi (e lenti)

banda stretta (in f)

Segnali rapidamente varianti in t

banda larga (in f)

t
Baccarelli,
Cordeschi, Patriarca, Polli

62

Propriet della trasformata di


Fourier
1) Linearit:

x (t ) X ( f )

y(t ) Y ( f )

FT {x(t ) + y (t )} = X ( f ) + Y ( f )

(linearit)

2) Ritardo:

x(t ) X ( f )

FT {x(t )} = X ( f )e j 2 f

(sfasatura)

3) Modulazione:

x(t ) X ( f )

FT {x(t )e j 2 fot } = X ( f f 0 )

(modulazione)

4) Derivazione:

y (t ) = dx(t ) / dt

Y ( f ) = j 2f X ( f )
Baccarelli,
Cordeschi, Patriarca, Polli

63

TdF di un segnale periodico


x (t ) = x (t + T ) = g (t nT )

(segnale periodico)

SdF:

x (t ) =

X ne

n =

j 2fnt

Xn

X(f )

TdF: X ( f ) =

( f fn )

Baccarelli,
Cordeschi, Patriarca, Polli

64

Propriet fondamentale della


convoluzione
La trasformata di Fourier della convoluzione

y (t ) = x(t ) * h(t )
pari al prodotto delle trasformate

Y ( f ) = X ( f )H ( f )
dove

Y ( f ) = FT { y (t )}
X ( f ) = FT {x(t )}
H ( f ) = FT {h(t )}
Baccarelli,
Cordeschi, Patriarca, Polli

65

Risposta in frequenza di un sistema


LP (filtro)
Convoluzione (nel tempo):

y (t ) =

x (t )

Prodotto (in frequenza):

Y ( f ) = H ( f )X ( f )

x ( ) h ( t ) d

h (t )

h (t ) : risposta impulsiva del filtro

y (t ) =

Y ( f )e

X(f)

y (t )

j 2 ft

H(f )

Y( f )

H ( f ) : risposta in frequenza del filtro

o funzione di trasferimento del filtro

df =

H ( f ) X ( f )e

j 2 ft

df

Baccarelli,
Cordeschi, Patriarca, Polli

66

Filtraggio analogico (1/2)


Filtro passa-basso:

Meccanismo di filtraggio:
X(f )

H( f )

(LP, low-pass)
f

Filtro

Filtro passa-alto

H( f )

(HP, high-pass)

H( f )

f
Y( f )

Filtro passa-banda
(BP, band-pass)

H( f )

Baccarelli,
Cordeschi, Patriarca, Polli

67

Filtraggio analogico (2/2)


h(t) reale

H ( f ) = H ( f )

(simmetria coniugata)

E sufficiente conoscere H ( f ) solo per le frequenze


positive, perch le f negative si deducono dalla simmetria
coniugata

H( f )

( f )

f
f
Baccarelli,
Cordeschi, Patriarca, Polli

68

Risposta di un filtro al segnale


sinusoidale
Le sinusoidi sono largamente impiegate nelle trasmissioni
(esempi: fax, tastiera telefono, GSM, )

x(t)

H(f)

y(t)

y (t ) = A H ( f o ) cos( 2f o t + + ( f o ))

x ( t ) = A cos( 2 f o t + )
2A

2 A H ( fo )

t
1
fo

1
fo

Baccarelli,
Cordeschi, Patriarca, Polli

69

Propriet duale della FT


Propriet della FT: alla convoluzione in t corrisponde il prodotto in f

y (t ) =

x ( ) h ( t ) d

Y ( f ) = H ( f )X ( f )

La convoluzione in t aumenta la durata temporale del segnale


Propriet duale: al prodotto in t corrisponde la convoluzione in f

y (t ) = x (t ) h (t )

Y ( f ) =

( ) X ( f )d = X ( f ) * H ( f )

Il prodotto in t aumenta la banda (occupazione in


frequenza) del segnale
Baccarelli,
Cordeschi, Patriarca, Polli

70

Segnale aleatorio (Gaussiano)


x(t )

Segnale aleatorio:

p(x)

Funzione densit di probabilit di una variabile:


px(x) esprime la probabilit che la variabile
assume un valore nellintorno di x.

x
Densit di probabilit gaussiana:
2
(media nulla, varianza )

px ( x) =

1
2 2

x2
2 2

Sono pi probabili i valori piccoli e meno probabili i valori grandi


(positivi e negativi in ugual misura)
Baccarelli,
Cordeschi, Patriarca, Polli

71

Segnale aleatorio (Gaussiano)- Esempi


Esempi di segnale con distribuzione

Gaussiana:
o
o
o

Voce umana
Suoni
rumore caotico (voci da stadio, radio fuori
sintonia, )

I segnali aleatori sono tipicamente segnali

potenza

Baccarelli,
Cordeschi, Patriarca, Polli

di
72

Fondamenti sui segnali numericiStrato Fisico

Baccarelli,
Cordeschi, Patriarca, Polli

73

Sequenza numerica- Definizione


Una sequenza numerica { xn , n = 0, 1, 2,...} una stringa ordinata di
numero reali o complessi il cui indice di posizione n pu assumere solo
i valori interi (positivi e/o negativi)
Esempio
La sequenza {x0 = 1, x1 = 1, x1 = 2} pu essere rappresentata
graficamente come in
2

1
-1

-1

Una sequenza numerica detta di durata finita N>0 se ammette


valori diversi da zero solo in corrispondenza di N valori dellindice n.
Baccarelli,
Cordeschi, Patriarca, Polli

74

Campionamento
Sequenza dei suoi campioni: x(n) = x(t ) t =nT

Segnale analogico x(t )

x (0)

T
t

2T

x (1)

intervallo di campionamento (sec)

Campionatore:

x(t)

....

1
fc =
frequenza di campionamento (Hz)
T

fc
x(n)
Baccarelli,
Cordeschi, Patriarca, Polli

Trasmissione a distanza,
o immagazzinamento
75

Ricostruzione (1/3)
Ricostruzione, con treno di impulsi matematici: x '(t ) =

x(nT )(t nT )

n =

x(t )
x(0)
x(1)

x' (t )

2T

Filtro LP:

H( f )

xR (t )

Segnale
ricostruito

x(1)

Baccarelli,
Cordeschi, Patriarca, Polli

76

Ricostruzione (2/3)
Ricostruzione ideale, con treno di impulsi matematici:

x' (t ) = x(n) (t nT )
n

H ( f ) = T rect 1/T ( f )

h(t ) = sinc(t / T )

T
1

2T

1
2T

2T

Baccarelli,
Cordeschi, Patriarca, Polli

2T

77

Ricostruzione (3/3)
xR (t ) =
x(0)
x(1)

x(nT )sinc((t nT ) / T )

n =

x(1)

x(3)

x(2)

Baccarelli,
Cordeschi, Patriarca, Polli

78

Teorema del campionamento


(1/4)
x(t ) limitato in banda, con banda W intorno allorigine, e se
f c 2W (criterio di Nyquist), allora il segnale ricostruito xR (t )

Se

risulta uguale alloriginale, ossia:

xR (t ) = x(t )

Baccarelli,
Cordeschi, Patriarca, Polli

per

f c 2W

79

Teorema del campionamento


(2/4)
Spiegazione intuitiva: se x(t ) varia lentamente, e se la si osserva
abbastanza frequentemente, allora il suo andamento completo
perfettamente ricostruibile tramite interpolazione delle osservazioni

{x(nT ), n = 0, 1, 2,...}

Baccarelli,
Cordeschi, Patriarca, Polli

80

Teorema del campionamento


(3/4)
La propriet fondamentale che sta alla base del
teorema del campionamento la seguente:
+
1
n

FT (t nT ) = ( f )
T
n =
T n =
+

Baccarelli,
Cordeschi, Patriarca, Polli

81

Teorema del campionamento


(4/4)
Nel dominio
della frequenza:

X(f)

1
X '( f ) = X ( f k /T )
Tk

2W

2 fc

fc

XR ( f ) = X ( f )

2 fc

fc

H( f )

f c 2W
f W
c
2

1
=
2
2T

W fc

Baccarelli,
Cordeschi, Patriarca, Polli

f
82

Aliasing da sotto-campionamento
X( f )

2W

X '( f )

Sotto-campionamento:

f c < 2W
fc

XR ( f )

fc

1) Manca una parte dello spettro


2) La parte mancante si
ripiega e si somma al resto

f
c
2

fc
2

Baccarelli,
Cordeschi, Patriarca, Polli

c dellaltro (alias)
nello spettro ricostruito
83

Campionamento e quantizzazione
(conversione A/D)
fc

x(t)

x(n)

Q
Sampling

b bit, che rappresentano:

x( n ) x( n )

Quantizer

ADC: Analog-to-Digital Converter

x( n ) = x( n ) + q( n ) x( n )
q(n): errore di quantizzazione, che svanisce allaumentare di
b, ovvero del numero di bit impiegati nella conversione A/D
Baccarelli,
Cordeschi, Patriarca, Polli

84

Relazione ingresso-uscita di un
quantizzatore uniforme
x (n)

Passo di
quantizzazione

xq(i)

Livello di
restituzione
rappresentato
con b bits

Numero dei livelli


di quantizzazione

xmax= xq(L-1)

-xmax

xmax
xq(2)

x(n)

xq(1)
-xmax=xq(0)

Baccarelli,
Cordeschi, Patriarca, Polli

85

Ricostruzione (conversione D/A)

b bits

Generatore
di livelli di
restituzione

x( n )

Generatore x( n )rect T ( t nT )
di forma
x( n )
donda

DAC: Digital-to-Analog
Converter

Baccarelli,
Cordeschi, Patriarca, Polli

nT

86

Schema completo di
campionamento e ricostruzione
fc = 2W

x(t)

flusso binario

b bits

Campionatore
+
quantizzatore

P/S

fb = bfc (bits/sec)
Trasmissione

Convertitore
parallelo/serie

fc = 2W
b bits

flusso binario,
fb bit/sec

S/P

Convertitore
analogicodigitale

Filtro LP
Con banda
[-W,W]

xR (t)

Convertitore
serie/parallelo
Baccarelli,
Cordeschi, Patriarca, Polli

87

Esempi
Esempio: digitalizzazione del segnale telefonico (PCM, Pulse Code
Modulation)

Voce filtro 4kHz f c = 2 4 = 8kHz (8000 campioni/sec)


8 digit/campione 64 kbps (64000 digit al secondo)

Esempio: brano musicale di 3 minuti


filtro 20kHz f c = 40 kHz
12 digit/campione 480 kbps
3 minuti 480 kbps = 180 480k = 86, 4 Mbit = 10,8 Mbyte

Baccarelli,
Cordeschi, Patriarca, Polli

(1byte=8 bit)

88

Rumore di quantizzazione nel PCM


(1/3)
x(t)

+ xMAX L 1

L intervalli di quantizzazione,
L valori (livelli) di quantizz.

xq(0) ,..., xq( L 1)

xMAX

b bit per campione L = 2 b intervalli di quantizzazione


ampiezza intervallo: = 2 xMAX / L = (2 xMAX )2 b
l'i-esimo livello quantizzazione x (i)
q posto al centro dell'i-esimo
intervallo di quantizzazione.
Baccarelli,
Cordeschi, Patriarca, Polli

89

Rumore di quantizzazione nel PCMPrestazioni del quantizzatore (2/3)


x

campione
quantizzato

x
campione
originale

q
errore di
quantizzazione

Lerrore di quantizzazione pu assumere tutti i valori da / 2 a


Modello probabilistico: q una variabile
p (q )

aleatoria con distribuzione (densit di


probabilit) uniforme tra / 2 e / 2 , e a

media nulla
9 Il valore massimo del modulo dellerrore q :
a zero al crescere di b

(2 xMAX ) b
, e va
=
2
2
2

/ 2

9 Sul segnale ricostruito lerrore di quantizzazione viene percepito


come un disturbo (rumore) sommato al segnale originale
Baccarelli,
Cordeschi, Patriarca, Polli

90

Rumore di quantizzazione nel PCMPrestazioni del quantizzatore (3/3)


x = x + q
o Supponiamo che x possa assumere solo valori in [-xmax, xmax]
o Supponiamo che lintervallo [-xmax, xmax] sia suddiviso in L=2b intervalli di
quatizzazione di estensione = 2 x / L = 2 x / 2b
max

max

Si pu dimostrare che il valore medio E{q2} del quadrato dellerrore di


quantizzazione q vale

xmax ) 2b
(

=
E{q } =
2
12
3
2

Quindi E{q2} va a zero in maniera esponenziale al crescere di 2b


Baccarelli,
Cordeschi, Patriarca, Polli

91

Elaborazione numerica dei


segnali- Strato Fisico

Baccarelli,
Cordeschi, Patriarca, Polli

92

Sequenza numerica
{ xn ,
pu essere

n = 0, 1, 2,..}

quantizzata oppure no

pu essere la sequenza dei campioni

x n = x (t ) t = nT = x ( nTc )
c

di un segnale analogico

x( t ), oppure pu nascere proprio come

sequenza (esempi: indicatori economici, distribuzione di


temperatura)
Sequenza numerica di

{ xn ,

durata finita (N elementi):

n = 0, 1, ..., N 1}

x 0 , x 1 , ..., x N 1

Baccarelli,
Cordeschi, Patriarca, Polli

93

Trasformata discreta di Fourier per


sequenze di durata finita (DFT)

DFT: Discrete Fourier Transform


N 1

1
X k = xne
N n =0

j 2

n
k
N

{X

0,

k = 0, 1, ...., N 1

X1,..., XN1}

k
0

Baccarelli,
Cordeschi, Patriarca, Polli

N 1

94

Trasformata discreta di Fourier per


sequenze di durata finita (DFT)

La DFT {Xk,k=0,,N-1} costituisce una

rappresentazione di { x n } nel dominio k delle

frequenze discrete. Infatti vale la seguente


formula di ricostruzione
1 N1 + j2N n
xn = Xke
N k=0
k

DFT-1

Baccarelli,
Cordeschi, Patriarca, Polli

n = 0, ..., N 1

95

Propriet elementari della DFT


i. Linearit: DFT{axn + byn } = aX k + bYk
ii. Simmetria:

se {xn , n = 0,...,( N 1)} a valori reali, allora

X N k

1 per N pari
1

2
= X k* , dove
1 k N 1 per N dispari

Baccarelli,
Cordeschi, Patriarca, Polli

96

Filtraggio numerico(1/9)
Definiamo come impulso discreto {n , n = 0, 1, 2,...}
la sequenza numerica che vale 1 in n=0 ed nulla
altrove, ossia

1, n = 0
n =
0, n 0

n
1

-4 -3 -2 1 0 1 2 3 4

Baccarelli,
Cordeschi, Patriarca, Polli

n
97

Filtraggio numerico (2/9)


Un sistema numerico S un sistema che trasforma una
sequenza di ingresso { xn , n = 0, 1, 2,..} in una di uscita{ yn , n = 0, 1, 2, ..}
in accordo ad una specifica relazione ingresso-uscita yn = f ( xn ) .

yn = f ( xn )

xn

Un sistema numerico

lineare se vale il principio di

sovrapposizione degli effetti, ossia


xn(1) yn(1)
(1)
(2)
(1)
(2)

+
ax
bx
ay
by
n
n
n
n
(2)
(2)
xn yn

Un sistema numerico permanente se il suo comportamento

non varia nel tempo, ossia

Baccarelli,
xn yn allora
x
ynPolli
nnPatriarca,
n0 , n = 0, 1, 2,..
Cordeschi,
0

98

Filtraggio numerico (3/9)


Un sistema numerico lineare e permanente un

filtro numerico

Si definisce come risposta impulsiva {hn, n = 0,1,2,..}

del filtro numerico la sequenza di uscita dal filtro


quando allingresso applicata la sequenza impulso
discreto {n, n = 0,1,2,..}
n

Filtro
Numerico

Baccarelli,
Cordeschi, Patriarca, Polli

hn

99

Filtraggio numerico (4/9)


CLASSIFICAZIONE DEI FILTRI NUMERICI
Un filtro numerico causale se hn=0 per ogni n<0
Un filtro numerico FIR (Finite Impulse Response)

se {hn} diversa da zero solo per un numero finito di


valori di n.
Un filtro numerico IIR (Infinite Impulse

Response) se {hn} diversa da zero per un numero


infinito di valori di n
Baccarelli,
Cordeschi, Patriarca, Polli

100

Filtraggio numerico Convoluzione


discreta (5/9)
xn

Filtro
hn

yn

Dato un filtro numerico con risposta

impulsiva {hn}, la sequenza di uscita {yn}


ottenuta in corrispondenza di una generica
sequenza di ingresso {xn} si ottiene mediante la
convoluzione discreta di {xn} e {hn}, ossia come
in:
+
yn =

xh

m=

m n m

= xn * hn , n = 0, 1, 2,...

Baccarelli,
Cordeschi, Patriarca, Polli

101

Calcolo della convoluzione


discreta (6/9)
Per calcolare la convoluzione discreta
yn =

xh

m=

m n m

, n = 0, 1, 2,...

si procede come segue:


i.

Poich per ogni fissato valore di n, la sommatoria


nellindice m, conviene innanzitutto graficare le due
sequenze da convolvere come funzioni di m, ottenendo
{xm} e {hm}.

ii.

La sequenza {hm} va poi ribaltata rispetto allasse delle


ascisse, ottenendo quindi la sequenza {h-m}
Baccarelli,
Cordeschi, Patriarca, Polli

102

Calcolo della convoluzione


discreta (7/9)
iii.

La sequenza {h-m} va poi traslata della quantit n


lungo lasse m, ottenendo cos {hn-m, m=0, 1,
2,}. A questo riguardo
quando n0, allora {h-m} va traslata di n verso

iv.
v.

destra

quando n<0, allora {h-m} va traslata di n verso

sinistra

Per ogni valore di m, si calcola il prodotto xm


hn-m, m=0, 1, 2
Si sommano rispetto allindice m tutti i prodotti
{xm hn-m, m=0, 1, 2} ottenendo il valore yn
delle sequenza convoluta al passo n.
Baccarelli,
Cordeschi, Patriarca, Polli

103

Calcolo della convoluzione


Discreta (8/9)
xm

hm
1
h-m

-2 1 0 1 2

hn-

01
hn-

-1 0

n0

n0

n-1 n

-1+n n

m
xmhn-m
2

1+n n

yn = 2 + 2 = 4

Baccarelli,
Cordeschi, Patriarca, Polli

-1+n n

xmhn-m

yn = 2 + 2 = 4

104

Propriet della convoluzione discreta


(9/9)
La convoluzione discreta communtativa, ossia: xnhn = hnxn
ii. La convoluzione discreta associativa, ossia:
i.

[xnhn]zn = xn[hnzn]
i.

La convoluzione discreta distributiva rispetto alla somma,


ossia:
[xn + yn]hn =(xnhn)+(ynhn)

iv. Se {xm,m=0,..,M-1} una sequenza lunga M e {hn,n=0,,L-1} una

sequenza lunga L, allora la convoluzione discreta yn=xn*hn una


sequenza lunga L+M-1
Baccarelli,
Cordeschi, Patriarca, Polli

105

Filtri FIR (Finite Impulse


Response) (1/2)
Def:

un filtro numerico detto FIR se la sua risposta impulsiva {hn,n=0,,L-1}


ha lunghezza finita L<+

xn

Ritardo di
1 passo
(delay)

h0

xn1

Ritardo di
1 passo
(delay)

Ritardo di
1 passo
(delay)

Linea di
ritardo
digitale

hL1

..

h1

xnL1

L 1

yn = hm xnm
m=0

Luscita

all istante n pari alla combinazione lineare di L


valori di ingresso xn , ...,xnL1 immagazzinati
nella linea di ritardo
Baccarelli,
Cordeschi, Patriarca, Polli
digitale

yn

106

Filtri FIR (Finite Impulse


Response) (2/2)
Esempio di filtro FIR
media mobile su 2 istanti:

xn
yn

Altro esempio:

yn =

1
2 .5
2 1

2 .5
0

0 .5

1
1
1 1
xn xn 1 hn = ,
2
2
2 2
1

0 .5

yn

xn + xn 1 1
1
1 1
= xn + xn 1 hn = ,
2
2
2
2 2

yn =

1 .5

0 .5

Baccarelli,
Cordeschi, Patriarca, Polli

107

Filtri IIR (Infinite Impulse


Response) (1/2)
Un filtro detto IIR (Infinite Impulse

Response) se la sua risposta impulsiva {hn}


non nulla in un numero infinito di istanti.
+

yn = hm xm n =
m =0

m =

m nm

hn = a n

a <1

Baccarelli,
Cordeschi, Patriarca, Polli

108

Filtri IIR (Infinite Impulse


Response) (2/2)
Esempio di filtro IIR
yn = xn + ayn1

xn

a
yn1

n, n 0
a
yn = hn =
0, n < 0

xn =n = 1, n = 0
0, n 0

Baccarelli,
Cordeschi, Patriarca, Polli

109

Capitolo 3
Strato Fisico- Cenni sulle
Modulazioni analogiche

Baccarelli,
Cordeschi, Patriarca, Polli

Obiettivi della modulazione

I segnali spesso nascono in banda base(esempi: voce,


video)

Esigenza di traslare in frequenza il segnale, per:


i.

Assicurare la trasmissione (es. antenna)

ii.

Separarlo da altri segnali (es. multiplazione di


frequenza)

iii.

Trasmetterlo su di una banda (insieme di


frequenze) poco disturbata
Baccarelli,
Cordeschi, Patriarca, Polli

Schema fondamentale di modulazione


Segnale modulante:
Portante: cos(2 fot )
m(t )

modulatore

x(t )

m(t )

fo frequenza di portante
canale

cos(2 fot )

r(t )

y(t )

demodulatore

d (t )

n(t ) Disturbo additivo


(rumore di canale)

y(t ) Segnale alluscita del canale di trasmissione


r(t ) Segnale ricevuto

d (t ) = m(t ) + (t ) Segnale demodulato, eventualmente con


errore residuo

Baccarelli,
Cordeschi, Patriarca, Polli

Rappresentazioni in frequenza
Trasformata di Fourier, per segnali impulsivi:

M( f )

2W

X(f )

Segnale di banda
base

fo

fo
2W

2W

Segnale modulato

Baccarelli,
Cordeschi, Patriarca, Polli

Modulazione di ampiezza (1/3)


AM AMPLITUDE MODULATION
Banda laterale doppia (BLD-PI)
m(t )

ka

ap

cos(2 f o t )

x(t)

x(t ) = ap + ka m(t ) cos(2 fot ) =


ap + j 2 f0t j 2 f0t kam(t ) + j 2 f0t j 2 f0t
= e
+e
+
+e
e

2
2

Baccarelli,
Cordeschi, Patriarca, Polli

Modulazione di ampiezza (2/3)


Trasformata di Fourier di x(t):

ap + j 2 f0t j 2 f0t kam(t ) + j 2 f0t j 2 f0t


X ( f ) = FT e
e
+e
+
+e

2
2
ap
ap
ka
ka
= ( f fo ) + ( f + fo ) + M ( f fo ) + M ( f + fo ),
2
2
2
2

dove M(f)  FT{m(t)}


M( f )

ap

X(f )

ap
2

+
W

- +
f0

Baccarelli,
Cordeschi, Patriarca, Polli

- +
f0

f
6

Modulazione di ampiezza (3/3)


Portante soppressa :

a p = 0, x(t) = kam(t)cos(2 f ot)

C inversione di segno della portante


Demodulazione meno facile, occorre conoscere f o
Per

non si spreca potenza per trasmettere la

portante

Baccarelli,
Cordeschi, Patriarca, Polli

Demodulazione AM (1/3)
Demodulazione di tipo coerente (omodina)
o necessaria per segnali a BLD-PS (ap = 0)
o pu essere effettuata per segnali a BLD-PI (ap 0)
Filtro passa-basso
H(f)

x (t )

m (t )

FT{2x(t )cos(2f0t )}

2 cos(2 f 0 t )
H(f)

X ( f )=FT{x(t)}

-2f0

f0
2W

f0

2W

2f0

2 f0

2W

2W

FT{m(t)}
Baccarelli,
Cordeschi, Patriarca, Polli

2W

2 f0

Demodulazione AM (2/3)
Filtro passa-basso
1/ka

x (t )
2 cos(2 f 0 t )

m (t ) +
W

-W

ap
ka

m(t)

ap
ka

x(t ) = ap + kam(t ) cos(2 f 0t ) (segnale modulato BLD-PI)


con f0 > W per ipotesi.

2
x(t )2 cos(2 f 0t ) = 2 ap + kam(t ) cos (2 f 0t ) =

1
= (cos x = [ 1 + cos(2 x )]) = ap + kam(t ) [ 1 + cos(2 2 f 0t )].
2
2

Baccarelli,
Cordeschi, Patriarca, Polli

Demodulazione AM (3/3)
{

}
+ k m(t )) ( e

FT {x(t )2 cos(2 f 0t )} = FT ap + kam(t ) + FT ( ap + kam(t ))cos(4 f 0t ) =

1
+ j 4 f 0 t
j 4 f 0 t
= FT ap + kam(t ) + FT ( ap
+
e
=
)
a
2
1
= ap ( f ) + ka M( f ) + ap ( f 2 f 0 ) + ap ( f + 2 f 0 ) +
2
+ ka M( f 2 f 0 ) + ka M( f + 2 f 0 ))

Dopo filtraggio nella banda [-W,W], si ottiene un segnale di banda la cui


T.d.F risulta pari a:

(TdF delluscita del


filtro passa-basso)

ap
ka

( f ) + M( f ), per f0 > W
ap
ka

+ m(t )

Dopo loperazione di sottrazione si ottiene il segnale modulante m(t).


Baccarelli,
Cordeschi, Patriarca, Polli

10

Occupazione di banda per segnali AM


Nella AM a BLD-PD e AM BLD-PS la banda del

segnale modulato doppia (BLD) rispetto a quella


del segnale modulante:
M(f)

fc

BLD

Segnale
modulante

fc

BLD

X(f) (segnale modulato AM-BLD)


Baccarelli,
Cordeschi, Patriarca, Polli

11

Capitolo 4
Strato FisicoModellazione delle Sorgenti
dInformazione e Codificazione di
Sorgente

Baccarelli,
Cordeschi, Patriarca e Polli

Sorgenti dInformazione- Generalit


Per valutare le prestazioni di un Sistema di

TLC, necessario descrivere opportunamente


(ossia, modellare) le Sorgenti che generano i
flussi informativi.

Per definizione, una

Sorgente dInformazione

binaria un apparato (terminale dutente,


codificatore audio/video, nodo di
commutazione) che genera flusso di bit per
intervalli di tempo di durata fissa o variabile.
Baccarelli,
Cordeschi, Patriarca e Polli

Stato di una Sorgente di


Informazione (1/4)
In ogni (generico) istante di tempo t0, una
Sorgente dInformazione binaria pu
trovarsi in uno di due possibili stati:

i.

ii.

Stato di Attivit (Stato ON), nel quale la


sorgente genera bit a una velocit di picco RP

(bit/sec) assegnata e dipendente dalla sorgente


considerata;
Stato di Inattivit (Stato OFF), durante il quale
la Sorgente non genera bit.

Baccarelli,
Cordeschi, Patriarca e Polli

Stato di una Sorgente di


Informazione (2/4)
Lintervallo di tempo TON (sec) nel quale la Sorgente
permane nello Stato ON e lintervallo di tempo TOFF
(sec) nel quale la Sorgente permane nello Stato OFF
possono variare di volta in volta durante il periodo di
funzionamento della Sorgente.
Quindi, TON e TOFF sono modellabili come variabili
aleatorie. Indichiamo con
TON E{TON} (sec) , TOFF E{TOFF } (sec)

i valori medi (valori attesi) delle suddette variabili


aleatorie.

Baccarelli,
Cordeschi, Patriarca e Polli

Stato di una Sorgente di


Informazione (3/4)

Ci significa che:
i.
1/ Ton ( sec-1) il numero medio di
transizioni della Sorgente dallo Stato
OFF allo Stato ON nellintervallo
temporale di 1 sec;
ii. 1/ TOFF ( sec-1) il numero medio di
transizioni della Sorgente dallo Stato ON
allo Stato OFF nellintervallo di tempo di 1
sec.
Baccarelli,
Cordeschi, Patriarca e Polli

Stato di una Sorgente di


Informazione (4/4)
Il funzionamento di una Sorgente

dInformazione , quindi, rappresentabile


graficamente mediante il seguente
Diagramma degli Stati.
1/ Ton
Stato
OFF

Stato
ON
1/ TOFF
Baccarelli,
Cordeschi, Patriarca e Polli

Probabilit di Stato

La probabilit PON che la Sorgente ha di trovarsi nello


Stato ON in un generico istante t0 pari alla frazione
media del tempo che la Sorgente passa nello Stato
ON, quindi,
PON  Ton / (Ton + TOFF)

La probabilit POFF che la Sorgente ha di trovarsi nello


Stato OFF in un generico istante di tempo t0 pari
alla frazione media del tempo che la Sorgente passa
nello Stato OFF, quindi,
POFF  TOFF / (Ton + TOFF)
Baccarelli,
Cordeschi, Patriarca e Polli

Velocit Media di Emissione e


Fattore di Burstiness
Per definizione, la

velocit media R (bit/sec)

Per definizione, il

Fattore di Burstiness BS

con cui la sorgente genera bit nellunit di


tempo pari a:
R  PON RP [Ton / (Ton + TOFF)] RP

della Sorgente pari a :


BS  R/RP Ton / (Ton + TOFF)]

Baccarelli,
Cordeschi, Patriarca e Polli

Sorgenti CBR e VBR


Ovviamente, abbiamo che: 0 BS 1.
Per definizione, una Sorgente detta di
tipo Constant Bit Rate (Sorgente CBR)
quando BS 1.
Per definizione, una Sorgente detta di
tipo Variable Bit Rate (Sorgente VBR)
quando BS < 1.
Ne deriva che,

i.
ii.

per le Sorgenti CBR, R RP;


per le sorgenti VBR, R < RP.

Baccarelli,
Cordeschi, Patriarca e Polli

Classificazione delle Sorgenti sulla


base della Velocit di Picco
Sulla base del valore di RP, le Sorgenti

possono essere classificate come riportato


nella Tabella seguente:
RP (Mb/sec)

Classe di Sorgente

Applicazioni

10-4-10-1

Bassa Velocit

Telemetria
VoIP

10-1-10

Media Velocit

Video Conferenza
Suono ad alta fedelt

Alta Velocit

TV digitale,
Trasmissione Dati

10-1000

Baccarelli,
Cordeschi, Patriarca e Polli

10

Classificazione sulla Base di RP e di BS


(1/2)
Sulla base dei valori assunti da RP

e BS, le

Sorgenti possono essere classificate come


riportato nella Figura seguente.
BS
1

Voce Audio Video


Conf.

10-1

Immagini ad
Alta Risoluzione

10-2

103

104

105

106

107

108

Baccarelli,
Cordeschi, Patriarca e Polli

109

RP (bit/sec)

11

Classificazione sulla Base di RP e di BS


(2/2)

Le Reti con modalit di trasferimento a commutazione


di circuito sono pi adatte a trasferire i flussi binari
generati da Sorgenti con valori di BS unitari (Sorgenti
CBR) o prossimi allunit, (diciamo, BS >10-1).
Le Reti con modalit di trasferimento a commutazione
di pacchetto (multiplazione statistica) sono pi adatte
a trasferire i flussi binari generati da Sorgenti con
Valori di BS (molto) minori dellunit (Sorgenti VBR
con BS < 10-1).

Baccarelli,
Cordeschi, Patriarca e Polli

12

Sorgenti CBR- Esempio (1/2)


Landamento nel tempo della

velocit di

emissione R(t) (in bit/sec) di una sorgente

CBR riportato in Figura.


R(t) (bit/sec)
RP

Durata della trasmissione


Baccarelli,
Cordeschi, Patriarca e Polli

t (sec)

13

Sorgenti CBR- Esempio (2/2)


Dalla precedente Figura, deduciamo che

i.

una sorgente CBR lavora sempre e solo


nello Stato ON;

ii.

per una Sorgente CBR abbiamo che:


R RP.

Baccarelli,
Cordeschi, Patriarca e Polli

14

Sorgenti VBR- Esempio (1/2)

Un possibile andamento nel tempo della velocit di


emissione R(t) (bit/sec) di una Sorgente VBR con
velocit di picco RP e fattore di Burstiness BS < 1
entrambi assegnati riportato in Figura.
R(t) (bit/sec)
RP
R

Durata della Trasmissione


Baccarelli,
Cordeschi, Patriarca e Polli

t (sec)
15

Sorgenti VBR- Esempio (2/2)


Dalla precedente Figura, osserviamo che:

i.
ii.

iii.

una sorgente VBR alterna Stati ON a Stati OFF;


le durate TON e TOFF degli Stati ON e OFF
possono variare nel tempo, ossia TON e TOFF sono
variabili aleatorie;
la velocit media R (bit/sec) di emissione
sempre strettamente inferiore alla velocit di
picco RP, ossia:
R = BS RP, con BS < 1.

Baccarelli,
Cordeschi, Patriarca e Polli

16

Segnale vocale (1/2)


x (t )

t
C

Intervallo di
stazionariet

T 20 m sec

o No componenti alle basse frequenze


o Energia concentrata fino a 4-5 kHz

Baccarelli,
Cordeschi, Patriarca e Polli

17

Segnale vocale (2/2)


Filtro telefonico (telefonia fissa, GSM)

H(f )
300 Hz - 4 kHz
300 Hz

4 kHz

Campionamento:

f c = 2 4k

campioni
bit
8
= 64kbit / s trasmissione digitale a 64 kbps
campione
sec
Baccarelli,
Cordeschi, Patriarca e Polli

18

Compressione del segnale vocale


f c campionamento

x(t )

fb = bf c

ADC

P/S

(camp+quant.)

segnale vocale,
analogico

f cb

Codificatore
flusso
binario

b
bit per
campione

Flusso binario
dopo codifica
f cb < fb

xR (t )  x(t )

fb

f cb

decodificatore

S/P

DAC
Segnale
ricostruito

Baccarelli,
Cordeschi, Patriarca e Polli

19

DPCM: Differential Pulse Code


Modulation (1/2)
Anzich quantizzare e trasmettere il campione attuale x(nT ) si
quantizza e trasmette la differenza tra x(nT ) ed il campione
precedente x(( n 1)T )

Le differenze x(nT ) x(( n 1) T ) sono Numeri pi piccoli dei


campioni x(nT ) e x(( n 1)T )

Esempio :

x(nT )
PCM codifica e
ricostruzione

2.9

3.3

4.1

4.1

3.8

4.7

5.0

+0.4

+0.7

-0.3

+0.9

+0.3

DPCM differenza
Codifica

Ricostruzione

Baccarelli,
Cordeschi, Patriarca e Polli

20

DPCM: Differential pulse code


modulation (2/2)
Codificare e trasmettere numeri piccoli, come si fa nel DPCM,
costa meno bit rispetto al PCM
Lipotesi che il segnale evolve lentamente da campione a

d (nT ) = x(nT ) x(( n 1)T )


in modulo pi piccola di x ( nT ) e x (( n 1)T )
campione, cosicch la differenza

ossia

d (nT ) << x(nT ) , x((n 1)T )

Baccarelli,
Cordeschi, Patriarca e Polli

21

Codificatori usati nella pratica


Rate (kbps)

Livello

Qualit

PCM

64

TOLL

Telefonica

ADPCM

32

NEAR TOLL

Quasi telefonica

LD-CELP

16

DIGITAL CELLULAR

Quasi telefonica ma
rumorosa

LTP-RPE

13

DIGITAL CELLULAR

Quasi telefonica ma
rumorosa

DIGITAL CELLULAR,
LOW BIT RATE

Segnale naturale,
parlatore
riconoscibile

DIGITAL CELLULAR,
LOW BIT RATE

Segnale naturale,
parlatore
riconoscibile

LOW BIT RATE

Segnale
comprensibile ma
artificiale

MP-LPC

CELP

LPC-10

2,4

Baccarelli,
Cordeschi, Patriarca e Polli

22

Parametri di Prestazione di un
codificatore vocale
Prestazioni di un codificatore:
o

Qualit del segnale ricostruito

Fattore di compressione bit rate, occupazione di memoria

Ritardo di codifica

Complessit di calcolo e memoria degli apparati

Robustezza rispetto agli errori di trasmissione

Baccarelli,
Cordeschi, Patriarca e Polli

23

Capitolo 5
Strato Fisico- I mezzi trasmissivi

Baccarelli,
Cordeschi, Patriarca, Polli

Bipoli
Bipolo: circuito elettrico che presenta due soli punti accessibili; pu
essere attivo (generatore) oppure passivo (carico).
Segnali elettrici associati ad un bipolo: tensione ai capi, corrente
che lo attraversa.
i(t)
Ampre

bipolo attivo:

i(t)

bipolo passivo:

(generatore)

(carico)
v(t)
Volt

g(t)

v(t)

g(t)=tensione a vuoto
del generatore

Se i segnali di tensione e corrente sono impulsivi, o di energia


esistono le Trasformate di Fourier delle tensioni e delle correnti.
Baccarelli,
Cordeschi, Patriarca, Polli

Esempi di Bipoli passivi


Si definisce impedenza Z(f) di un bipolo il rapporto

Z(f)= V(f) / I(f)


Esempi di bipoli passivi:

+
v(t)

R (Ohm)

Resistore
v(t)=R i(t)
Z(f)=R

i(t)
v(t)

i(t)
C (Farad)

Condensatore
i(t)=C dv(t)/dt
Z(f) = 1/( j2p f C)
Baccarelli,
Cordeschi, Patriarca, Polli

v(t)

i(t)
L (Henry)

Induttore
v(t)=L di(t)/dt
Z(f) = j2p f L
3

Modello fisico di un collegamento


(1/2)
Trasmettitore

s(t)

g(t)

Mezzo trasmissivo

Z1(f)

gu(t)

Z2(f)

Ricevitore

r(t)

carico

Esempi di collegamenti rappresentati dal modello fisico:


s(t)

r(t)

r(t)

s(t)
Baccarelli,
Cordeschi, Patriarca, Polli

Modello fisico di un collegamento


(2/2)
Il segnale ricevuto r(t) pu differire dal segnale
trasmesso s(t) a causa di
Distorsione di natura lineare
oRitardo nel tempo
oAttenuazione di potenza
oAlterazioni della forma donda del segnale (filtraggio
di canale)
Distorsione di natura non lineare
Somma di disturbi di natura casuale (rumore)
Somma di altri segnali indesiderati
Baccarelli,
Cordeschi, Patriarca, Polli

Modello simbolico di un
collegamento

Segnale trasmesso s(t)


limitato in banda
da B a B

Filtro di ricezione
passabasso
da B a B

s(t)
S

E(f)

H(f)

r(t)

n(t)
Canale

WS
Potenza
Trasmessa

r(t) = s(t)*h(t)+n(t)*e(t)
Componente utile Componente di rumore
del segnale ricevuto, del segnale ricevuto,
di potenza WR
di potenza WN

Rapporto segnale/ru more : SNR =


d

Baccarelli,
Cordeschi, Patriarca, Polli

W
W

Misure Logaritmiche Di Potenza


Wwatt Potenza assorbita: misurata in Watt
WmW Potenza assorbita: misurata in milliWatt

Misura logaritmica delle potenze:


dB riferito al Watt:
WdBW = 10 log10(Wwatt /1watt)
dB riferito al milliWatt:
WdBm = 10 log10(WmW /1mwatt)
Potenza in mW:

10

100

1000

Potenza in dBm:

10

20

30

Misura logaritmica di rapporto di potenze (numero puro):


R= W1/ W2 :
RdB = 10 log10 R
Baccarelli,
Cordeschi, Patriarca, Polli

Attenuazione di un collegamento
(1/2)
Supponiamo di trasmettere un segnale sinusoidale alla frequenza f0:
s(t)=A cos(2 p f0 t)
di potenza WS=A2/2.
Alluscita di un canale LP con funzione di trasferimento H(f) la
componente utile del segnale ricevuto ancora una sinusoide, scalata
in ampiezza di un fattore |H(f0)| e sfasata di 0=arg{H(f0)}:
|H(f0)| A cos(2 p f0 t+ 0)
di potenza WR= |H(f0)|2 A2/2.
La potenza ridotta di un fattore WS/ WR=1/|H(f0)|2
Si definisce quindi attenuazione del collegamento A(f0) alla frequenza
f0 il valore

A(f0) = 1/|H(f0)|2
Baccarelli,
Cordeschi, Patriarca, Polli

Attenuazione di un collegamento
(2/2)

Misura logaritmica dell attenuazione del collegamento A(f0)


(Decibel):
AdB(f0) = 10 log10A(f0)
La potenza ricevuta legata a quella trasmessa da:
WR dBm(f0) = WS dBm(f0) - AdB(f0) (potenze misurate in
milliwatt)
ovvero

Calcoli:

WR dBW(f0) = WS dBW(f) - AdB(f0) (potenze misurate in watt)


WRdBW 10 log10(WR(f0)/1 w)
=10 log10(WS(f0) |H(f0)|2 /1 w)
=10 log10(WS(f0) /1 w) +10 log10( |H(f0)|2 )
2)
log10Baccarelli,
( 1/|
H
(
f
)|
= WSdBW 10Cordeschi,
0
Patriarca, Polli

Caratterizzazione del rumore


(1/2)
Rumore di natura termica:

potenza WN (Watt) proporzionale alla larghezza di banda B(Hz) del


filtro di ricezione, ossia

WN=FKToB (watt)
dove F il fattore di rumore del ricevitore (F1), K la costante di
Bolzmann (K = 1.38x10-23 J / Kelvin) , To la temperatura di lavoro del
ricevitore (To = 290 Kelvin).
Ne deriva che il rapporto segnale-a-rumore a valle del filtro di
ricezione

W
SNR =
FKT B
R

Baccarelli,
Cordeschi, Patriarca, Polli

10

Caratterizzazione del rumore


(2/2)
Misura logaritmica del rumore:

WN dBm=F dB +KTo dBm/Hz+ BdBHz


FdB0 dB, KTo = -174 dBm/Hz e BdBHz =10log10BHz

SNR = W
dB

RdBm

F + 174 10 log B
dB

Baccarelli,
Cordeschi, Patriarca, Polli

10

Hz

11

Collegamenti mediante Linee in


Rame
Doppino

rame

(per segnali a banda


medio/piccola)

Isolante

Cavo coassiale

Conduttore
interno

(per segnali a banda


medio/alta)

Conduttore esterno
(calza)

Linea aerea
(in disuso per motivi
di costo)

Baccarelli,
Cordeschi, Patriarca, Polli

12

Caratterizzazione delle Linee in


Rame (1/3)
Modello fisico di una linea in rame
generatore

L dx

R dx
C dx

G dx

carico

dx
lunghezza complessiva d (Km)

x
Parametri caratteristici:

R = resistenza dei conduttori (Ohm/Km)


C = capacit tra conduttori (Farad/Km)
L = Induttanza dei conduttori (Henry/Km)
G = conduttanza tra conduttori (Mho/Km)
Baccarelli,
Cordeschi, Patriarca, Polli

13

Caratterizzazione delle Linee in


Rame (2/3)

Attenuazione tipica di una linea alle basse frequenze


(qualche decina di kilohertz)
A ( fHz )dB/Km

R G
2

1 + (6,28 fHz C G )2 + 1 (dB/Km)

attenuazione (dB/Km)

attenuazione delle linee alle basse frequenze


6.0
5.5
5.0
4.5
4.0
3.5
3.0
2.5
2.0
1.5
1.0
0.5
0.0
0

5000

10000
15000
Baccarelli,
Cordeschi, Patriarca, Polli

20000

25000

f (Hz)

14

Caratterizzazione delle Linee


in Rame (3/3)
Attenuazione tipica di un coassiale alle frequenze medio/alte
(decina di Megahertz)

A(f )dB / Km = Ao fMHz

(dB/Km)

coassiale
8
attenuazione (dB/Km)

7
6
5
4
3

Ao = 2,3 dB/Km @ 1MHz

2
1
0
0

Baccarelli,
Cordeschi, Patriarca, Polli

10
f (MHz)

15

Collegamenti Radio
segnale
elettrico
di uscita

Collegamento fisico
segnale
elettrico
di ingresso

raggio elettromagnetico

Terreno

Circuito equivalente

Segnale elettrico
di ingresso s(t)

A(f)

Segnale elettrico
di uscita r(t)

Attenuazione
Baccarelli,
Cordeschi, Patriarca, Polli

16

Gamme di frequenza utilizzate


nelle TLC
Gamma

Nome

Sigla

servizio

0,3-300 kHz

Onde lunghe

LF

Radiolocalizzazione
marittima

300-3000 kHz

Onde medie

MF

Diffusione AM

3-30 MHz

Onde corte

HF

Collegamenti a
lunga distanza

30-300 MHz

Very high frequency

VHF

Radiomobili militari.
Diffusione FM

300-3000 MHz

Ultra High frequency

UHF

Ponti radio.
Diffusione televisiva
terrestre.
GSM.UMTS.

3-30 GHz

Super High
frequency

SHF

Ponti radio. Satelliti.


Radar.

Baccarelli,
Cordeschi, Patriarca, Polli

17

Relazioni tra le potenze


Osservazione: la banda 2W occupata dal segnale modulato intorno
alla frequenza portante fp e piccola rispetto alle variazioni di
A(f). Quindi A(f) pu ritenersi (circa) costante nella banda del
segnale modulato.
WR (f )
A(f )

fp

Relazione tra le potenze W R ( f ) = W S ( f ) / A( f )

W R = WS / A( f p ) W RdBm = WSdBm A( f p ) dB
f p frequenza portante c /

f p = lunghezza d'onda

c 3 108 m/s (velocit della luce)


Baccarelli,
Cordeschi, Patriarca, Polli

18

Guadagno dantenna (1/7)


R
S
O

Supponiamo che un antenna trasmittente sia posta in O. Sia R un punto


di coordinate polari (d, , ) a distanza d (m) dallantenna. La sfera su
cui giace R ha superficie 4d2.
Sia PTOT (Watt) la potenza totale irradiata dallantenna.
Sia PR =PR (d, , ), la quota parte della potenza irradiata dallantenna
che transita attraverso una superficie di area S (m2) centrata intorno ad
R.
Baccarelli,
Cordeschi, Patriarca, Polli

19

Guadagno dantenna (2/7)


Definizione:
Unantenna si dice isotropa se irradia la stessa quantit di
potenza in tutte le direzioni (, ) dello spazio con
-/2 /2, 0 2
9Quindi, se lantenna trasmittente isotropa abbiamo che
PR (d, , ) =PR (d)=(PTOT/4 d2) S
(Watt)
per ogni valore di , e di .
Baccarelli,
Cordeschi, Patriarca, Polli

20

Guadagno dantenna (3/7)


Unantenna trasmittente non isotropa distribuisce in modo non
uniforme la potenza irradiata nelle direzioni , .
oSia PTOT (Watt) la potenza totale irradiata dallantenna.
oSia PR (d, , ), la quota parte della potenza irradiata
dallantenna che transita attraverso una superficie di area S (m2)
centrata intorno ad un punto a distanza d, visto sotto le direzioni
, . In generale PR (d, , ) differisce dal valore
PTOT/(4 d2) S corrispondente al caso di antenna trasmittente
isotropa.
Baccarelli,
Cordeschi, Patriarca, Polli

21

Guadagno dantenna (4/7)


Si dice

Guadagno dantenna G(, ) la funzione

G ( , ) PR (d, , ) / [PTOT/(4 d2) S] (Watt)

-/2 /2, 0 2
che descrive il modo in cui unantenna
trasmittente irradia la potenza nelle varie
direzioni ( , ) dello spazio.

Baccarelli,
Cordeschi, Patriarca, Polli

22

Guadagno dantenna (5/7)


Il Guadagno dantenna G(, ) gode delle seguenti propriet:
una funzione non negativa
G ( , ) 0, , ;
Unantenna isotropa presenta un guadagno costante in tutte le
direzioni,
G ( , ) =1, , ;
Unantenna si dice direttiva nella direzione 0, 0 se presenta un
guadagno molto grande nella direzione 0, 0 , ossia se
G (0, 0 ) >>1 e G (, ) <<1 altrove
Tipicamente il guadagno dantenna espresso in unit logaritmiche (dB)
G( , ) (dB) =10 log

10

(G( , ) ).

Baccarelli,
Cordeschi, Patriarca, Polli

23

Guadagno dantenna (6/7)

Si definisce come solido dirradiazione di unantenna con

guadagno G(, ) (dB) la superficie tridimensionale ottenuta


riportando per ogni direzione (, ) un segmento
proporzionale a G(, ) (dB)

Quindi il solido dirradiazione la rappresentazione grafica

del guadagno G(, ) (dB)


Baccarelli,
Cordeschi, Patriarca, Polli

24

Guadagno dantenna (7/7)


Le antenne direttive possono essere classificate secondo la forma
assunta dal solido di irradiazione:

antenna circolare

antenna a bandiera

antenna a spillo

Antenne fortemente direttive possono presentare valori del


guadagno dantenna G(dB) anche dellordine di 50 dB nella direzione
preferenziale (0, 0).
Baccarelli,
Cordeschi, Patriarca, Polli

25

Area efficace di unantenna


ricevente (1/3)

Supponiamo che un antenna ricevente sia posta in O. Supponiamo che


incida sullantenna unonda e.m. proveniente dalla direzione (, ).
oSia PR (Watt) la potenza totale captata dallantenna.
oSia pI (, ) (Watt/m2) la densit superficiale di potenza convogliata
dallonda incidente sullantenna.
Baccarelli,
Cordeschi, Patriarca, Polli

26

Area efficace di unantenna


ricevente (2/3)
Si dice Superficie efficace dantenna SE(, ) la
funzione
SE ( , ) = PR / pI (, ) (m2)
-/2 /2, 0 2
che descrive il modo in cui unantenna ricevente
capta la potenza incidente dalle varie direzioni ( ,
) dello spazio.
Baccarelli,
Cordeschi, Patriarca, Polli

27

Area efficace di unantenna


ricevente (3/3)
Una stessa antenna pu operare

indifferentemente come ricevente o


trasmittente. Sussiste il seguente legame fra
il guadagno di unantenna e la sua superficie

efficace:

SE ( , ) = G ( , ) 2 / 4p
dove =c/f la lunghezza donda dellonda
e.m. irradiata/captata dallantenna, a sua volta
legata alla frequenza f dalla relazione =c/f,
con c=3 x108 m/s (velocit della luce nel

vuoto).

Baccarelli,
Cordeschi, Patriarca, Polli

28

Attenuazione di spazio libero


(1/2)

WS
GT (, )SE
4 d 2
G (, )
SE = R 2 2
4 f / c

WR =

SE
Area efficace

GT ( , ) = guadagno dell'antenna trasmittente


GR ( ', ') = guadagno dell'antenna ricevente
W
c G ( , ) G ( , )
A( f )
=
(4 )
W
d f
2

Baccarelli,
Cordeschi, Patriarca, Polli

29

Attenuazione di spazio libero


(2/2)

Misura logaritmica dellattenuazione introdotta dal collegamento:

A( f ) = 32,4 + 20 log d + 20 log f


10

dB

Km

10

MHz

G G
TdB

RdB

Attenuazione dello spazio libero

Lattenuazione introdotta dal collegamento dipende da


la distanza fra le antenne
dalla frequenza portante utilizzata
il guadagno dellantenna trasmittente (attitudine dellantenna
trasmittente ad amplificare il segnale trasmesso nella direzione del
collegamento)
il guadagno dellantenna ricevente (attitudine dellantenna ricevente ad
captare il segnale ricevuto nella direzione del collegamento).
Baccarelli,
Cordeschi, Patriarca, Polli

30

Fibra Ottica: caratteristiche


fisiche (1/4)
cladding

n2
n1

FIBRA OTTICA

core

Una fibra ottica costituita da un cilindro


dielettrico (cuore, o core) circondato
esternamente da una corona circolare (mantello, o

cladding) costituita da un altro materiale


dielettrico.
Baccarelli,
Cordeschi, Patriarca, Polli

31

Fibra Ottica: caratteristiche


fisiche (2/4)
Le grandezze fisiche e i parametri geometrici

che caratterizzano la fibra sono:

a raggio del cuore (m)


b raggio esterno del mantello (m)
n1 = c / v1 indice di rifrazione del cuore
n2 = c / v2 indice di rifrazione del mantello

dove c=3 x108 m/s rappresenta la velocit


della luce nel vuoto, v1 la velocit della luce nel
cuore, v2 la velocit della luce nel mantello.
Baccarelli,
Cordeschi, Patriarca, Polli

32

Fibra Ottica: caratteristiche fisiche


(3/4)
cladding

n2
n1

FIBRA OTTICA

core

Una fibra ottica impiegata come mezzo trasmissivo tra una sorgente ed
una destinazione di un collegamento di telecomunicazioni opera sotto le
seguenti condizioni:
n1 >n2 , b>>a
Tipicamente, si ha
9b 10 a
9n11.01 n2
9a 2.4 / (2

n n )
2

(condizione di monomodo)

dove (m) la lunghezza donda della radiazione luminosa che viaggia


nella fibra.

Baccarelli,
Cordeschi, Patriarca, Polli

33

Fibra Ottica: caratteristiche


fisiche (4/4)

n2
n1

Sia langolo di incidenza del raggio luminoso rispetto alla normale alla
superficie di separazione cuore/mantello. Se verificata la condizione
di riflessione totale

> arcsin (n / n )
2

allora il raggio luminoso incidente alla superficie di separazione


cuore/mantello totalmente riflesso allinterno del cuore e il raggio
luminoso si propaga lungo lasse della fibra, subendo, eventualmente,
riflessioni multiple.
Baccarelli,
Cordeschi, Patriarca, Polli

34

Collegamenti in Fibra Ottica


Circuito fisico

DIODO LED o LASER

FIBRA OTTICA
1

FOTORIVELATORE

1
tensione
di uscita

tensione di
ingresso

Circuito equivalente
Segnale
Elettrico
s(t) (volt)

011010

Convertitore
Elettro-ottico

potenza
ottica

Convertitore

w(t) (watt)

Elettro-ottico

segnale
elettrico
r(t) (volt)

011010
0 1 1 Baccarelli,
010
Cordeschi, Patriarca, Polli

35

Caratteristiche di attenuazione
di una fibra

La luce emessa ha uno spettro di emissione molto stretto, centrato


intorno ad una lunghezza donda compresa tra 0,8 e 1,8 micron.
Lattenuazione in dB/km presenta un minimo in corrispondenza di
alcuni intervalli di lunghezze donda (finestre).
attenuazione (dB/Km)
100
dB/ Km
10

1
I

II

III

0.1
0.5

1.5

(m)

Baccarelli,
Cordeschi, Patriarca, Polli

36

Caratteristiche di dispersione
temporale in una fibra (1/3)
Dispersione

temporale: un impulso luminoso applicato allingresso

si presenta in uscita con una durata temporale maggiore


potenza
ottica

ingresso

potenza
ottica

uscita

t
t

Dispersione

modale: Se il cuore della fibra ha un raggio a

elevato si verificano pi modalit di propagazione (modi),


ciascuno dotato di diversa velocit di propagazione. Per evitare
questa dispersione
osi usano fibre di piccolo diametro, chiamate MONOMODO
Baccarelli,
Cordeschi, Patriarca, Polli

37

Caratteristiche di dispersione
temporale in una fibra (2/3)
Dispersione

cromatica: Il diodo generatore

distribuisce lenergia luminosa su pi


lunghezze donda, 1,2,.. aventi diversa
velocit di propagazione. Il fenomeno molto
poco sensibile in seconda finestra. Per ridurre
questa dispersione
si usano sorgenti a banda molto stretta,
quasi monocromatiche (LASER invece che
LED)
Baccarelli,
Cordeschi, Patriarca, Polli

38

Caratteristiche di dispersione
temporale in una fibra (3/3)
La dispersione temporale D (sec.) proporzionale alla lunghezza del

collegamento in accordo a

=2
=2ddkm
km
dove, per il caso di sola dispersione cromatica = 0,06 nsec/Km per
i laser e = 2,5 nsec/Km per i led.
La massima dispersione tollerabile (2 dkm) Tbit
Quindi la Massima frequenza binaria fb utilizzabile, per un

collegamento di dKm

1
1

fb =
(Gbit / sec)
Tbit 2 ns /Baccarelli,
km d Km
Cordeschi, Patriarca, Polli

39

Caratteristiche di impiego di una


fibra

Le fibre attualmente impiegate sono monomodo, e dunque


presentano solo dispersione cromatica. Si utilizza la terza finestra.
minore attenuazione, dellordine di 0,25 dB/Km
maggiore dispersione cromatica , dellordine di = 0,06 nsec/Km
per i laser, e di = 2,5 nsec/Km per i led
Frequenze binarie di trasmissione
raggiungibili in una fibra monomodo, in

terza finestra.

fb =

1
1

(Gbit / sec)
Tbit 2 ns / km d Km
Baccarelli,
Cordeschi, Patriarca, Polli

d(Km)
4
8
15
30
60
120
240

LED
(Mb/s)
50.0
25.0
13.3
6.7
3.3
1.7
0.8

LASER
(Mb/s)
2083.3
1041.7
555.6
277.8
138.9
69.4
34.7
40

Caratteristiche dei fotorivelatori


(1/2)
i(t)
fibra

im

i(t)
R

All'uscita della fibra ottica applicato un diodo fotorivelatore che, investito


dalla luce in uscita dalla fibra, genera una corrente elettrica il cui valor medio
im (ampere) proporzionale al valore della potenza luminosa incidente in
accordo a
im=mg WR
dove WR (watt) la potenza ottica ricevuta, la responsivit del fotodiodo
(valore tipico 0.5 Ampre/Watt), mg il fattore di fotomoltiplicazione, e
dipende dal tipo di diodo utilizzato. In un diodo PIN ogni fotone produce una
coppia elettrone-lacuna e quindi mg=1. In un diodo APD per effetto valanga
ogni fotone produce in media mg coppie,
con mg >1.
Baccarelli,
41
Cordeschi, Patriarca, Polli

Caratteristiche dei fotorivelatori


(2/2)

Sovrapposte al segnale utile im=mg WR sono presenti in


uscita due componenti di rumore, il rumore quantico iq(t) e il
rumore termico in(t) in accordo alla:
i(t)= mg WR + iq(t)+in(t)
La potenza del rumore quantico iq(t) aumenta allaumentare di WR e di
mg mentre la potenza di in(t) non varia al variare di WR e mg

i (t )

Corrente all'uscita del

im

fotorivelatore per due diversi valori


della potenza ottica incidente WR. im

Baccarelli,
Cordeschi, Patriarca, Polli

42

Rapporto segnale/rumore in una


fibra (1/2)
W
1
SNR =
=
= (SNR + SNR
W +W W W
+
W W
R

Il rapporto segnale/rumore quantico SNRQ


oCresce al crescere della potenza ottica ricevuta WR
oDecresce al crescere del guadagno di fotomoltiplicazione mg
Il rapporto segnale/rumore termico SNRT
oCresce al crescere della potenza ottica ricevuta
oCresce al crescere del guadagno di fotomoltiplicazione mg
Baccarelli,
Cordeschi, Patriarca, Polli

43

Rapporto segnale/rumore in una


fibra (2/2)
Caso di bassa potenza ricevuta (ad esempio in uscita da un
collegamento in fibra molto lungo)
oIl rapporto segnale rumore complessivo principalmente
limitato dalla presenza di rumore termico
oIn tal caso opportuno utilizzare un diodo APD, con guadagno
di fotomoltiplicazione mg>1.
Caso di alta potenza ricevuta
oIl rapporto segnale rumore complessivo principalmente
limitato dalla presenza di rumore quantico
oIn tal caso opportuno utilizzare un diodo PIN, con guadagno
di fotomoltiplicazione mg=1.
Baccarelli,
Cordeschi, Patriarca, Polli

44

Capitolo 6
Strato FisicoLe Modulazioni Numeriche

Baccarelli,
Cordeschi, Patriarca, Polli

Modulazione e Demodulazione numerica


segnale
numerico
...0010111001...

segnale
analogico
modulatore
numerico
mezzo
trasmissivo

segnale
numerico
demodulatore
numerico
...0010011001...
affetto
da errori

affetto da
distorsioni e

rumore

Baccarelli,
Cordeschi, Patriarca, Polli

segnale
analogico
2

Modulazione numerica: banda base e

banda traslata

banda base

banda traslata

utilizza segnali analogici


con trasformata di Fourier
contenuta
in un intervallo di frequenza

utilizza segnali analogici


con trasformata di Fourier
contenuta
in un intervallo di frequenza

contiguo allorigine

non contiguo allorigine


X(f)

X(f)

Mezzi trasmissivi
in banda base
(es.: linea bifilare)

Mezzi trasmissivi
in banda traslata
(es.: trasmissioni radio)

Baccarelli,
Cordeschi, Patriarca, Polli

Schema di modulazione in banda


traslata

segnale numerico

modulatore
numerico in
banda traslata

segnale analogico
in banda traslata

mezzo
trasmissivo
demodulatore
numerico
segnale numerico (banda traslata)

Baccarelli,
Cordeschi, Patriarca, Polli

segnale analogico
in banda traslata
4

Rappresentazione dei segnali numerici


mediante segnali analogici (1/8)
Un

segnale numerico rappresentato da un segnale fisico analogico:


Tensione elettrica sul filo,
dalla tastiera alla CPU

Potenza luminosa entrante in una


fibra ottica

+5V

0 1

1
t

-5V

P0
0

0 1

1
t

Segnali con fronti ripidi di salita e di discesa: banda troppo larga,

impiego inefficiente della banda passante del mezzo trasmissivo

Tecniche di MODULAZIONE IN BANDA BASE


Baccarelli,
Cordeschi, Patriarca, Polli

Rappresentazione dei segnali numerici


mediante segnali analogici (2/8)
asse dei tempi

segnale numerico b(n)


(sequenza di simboli)

sequenza di ampiezze a(n)

... 0 1

(valori associati ai simboli secondo una


corrispondenza biunivoca:
Es. +5 0 ; -5 1 )

impulsi

1
t
di forma g(t)
di ampiezza a(n)
trasmessi negli istanti nT

x (t ) =

2T
0

5T
0

...+5 -5 +5 +5 +5 -5 +5 -5
a(0)g(t)
a(1)g(t-T)
a(2)g(t-2T)
a(3)g(t-3T)
+5

a (n ) g ( t nT )

-5

n =
Baccarelli,
Cordeschi, Patriarca, Polli

Rappresentazione dei segnali numerici


mediante segnali analogici (3/8)
Esempio:

x(t)
P0
0 1
0

simboli:

ampiezze:

P0
g(t)

0
1

forma di impulso:

0 T
segnale analogico:

x (t ) =

a (n ) g ( t nT )

n =

Baccarelli,
Cordeschi, Patriarca, Polli

Rappresentazione dei segnali numerici


mediante segnali analogici (4/8)
Sia {b(n)} una qualsiasi sequenza numerico avente:
alfabeto di

ordine , cio costituito da

simboli arbitrari rappresentabili,


senza perdita di generalit, con i numeri naturali
{0, 1, 2, ..., a 1}
intervallo di tempo tra simboli consecutivi : T
velocit di emissione dei simboli: fs=1/T
Baccarelli,
Cordeschi, Patriarca, Polli

Rappresentazione dei segnali numerici


mediante segnali analogici (5/8)
Esso rappresentabile mediante il segnale analogico
x (t ) =

a (n) g(t nT)

n =
dove
g(t) un segnale impulsivo, in molti casi limitato
allintervallo (-T/2 , +T/2), detto impulso sagomatore

i valori a(n) sono estratti da un insieme di ampiezze


di impulso (numeri reali arbitrari), biunivocamente
associati agli simboli dellalfabeto

[ a0 , a1 , a2 , ... , aa-1 ]
Baccarelli,
Cordeschi, Patriarca, Polli

Rappresentazione dei segnali numerici


mediante segnali analogici
(6/8)
Un

segnale numerico {b(n)} univocamente associato ad una sequenza di


valori reali mediante una corrispondenza biunivoca fra simboli e ampiezze
b(n)
a(n)
{a(n)}.
simboli
0
1
...
a -1

ampiezze di impulso
a0
a1
...
aa-1

Criteri di scelta dei valori di ampiezza: ugualmente spaziate e simmetriche


rispetto allo 0.
Esempi:
=4
=2
=3
+1
a

+1
a

-1

0
-1

+1
a

+1/3
-1/3
-1

ai = 1

2i
1

[i = 0, 1, 2, ... , - 1]

Senza perdita di generalit,nel caso di =2


assumeremo a0 =1, a1=-1.

Baccarelli,
Cordeschi, Patriarca, Polli

10

Rappresentazione dei segnali numerici


mediante segnali analogici (7/8)
x (t ) =

a (n) g(t nT)

n =

onda PAM
PAM : Pulse Amplitude Modulation, (Modulazione di Ampiezza

di Impulso)

simboli diversi differenti valori della ampiezza degli impulsi


larghezza di
banda dellonda
PAM

larghezza di

banda del segnale


g(t)

Baccarelli,
Cordeschi, Patriarca, Polli

11

Rappresentazione dei segnali numerici


mediante segnali analogici (8/8)
Esempi di segnali PAM
Ordine
dellalfabeto

Ampiezze di
impulso ai
(i=0,1,...,-1)

[+1 , -1]

Forma di
impulso g(t)
1

-T/2

[+1, 0, -1]

+T/2

-T/2

segnale PAM x(t)

[+1, +1/3, -1/3, -1]

T
0

+T/2

-T/2

+T/2

Baccarelli,
Cordeschi, Patriarca, Polli

2T

0
2T

2T

12

Prestazioni delle
Modulazioni Numeriche
PAM

Baccarelli,
Cordeschi, Patriarca, Polli

13

Modulazione numerica
Obiettivi:

trasmettere un segnale numerico facendo uso di un canale


avente banda passante (fisica) limitata tra 0 ed un valore
massimo fm;
ottenere elevata efficienza di banda, definita come:
fs
velocit di simbolo
=
larghezza di banda del segnale modulato f m

[(simboli/sec)/Hz]

Gli esempi di segnali PAM esaminati, occupano una banda troppo

estesa in relazione alla velocit di simbolo fs, a causa delle rapide


transizioni ideali (discontinuit matematiche) o approssimate (fronti
di salita e di discesa di durata finita) nella forma dimpulso g(t).
Baccarelli,
Cordeschi, Patriarca, Polli

14

Schema di principio di un
modulatore PAM
Segnale
dalla sorgente
(rappres. PAM ideale)

Filtro
formatore di impulso
con risposta
impulsiva g(t)

Segnale PAM ideale

u (t ) =

a (n) (t nT)

n =

x ( t ) = u (t ) g (t )

Segnale PAM a banda limitata


(in uscita dal modulatore)

x (t ) =
0

Baccarelli,
Cordeschi, Patriarca, Polli

a (n) g(t nT)

n =
0

2T

15

Modello di Canale lineare e permanente


affetto da rumore additivo Gaussiano
Canale
lineare e permanente y(t) = x(t) * c(t)
C(f) = FT [c(t)]
passa-basso
C(f) = 0 per |f | > fm
n(t)
Segnale PAM a banda limitata
(in uscita dal modulatore)

x (t ) =
0

+
z(t) = y(t) + n(t)
segnale in uscita
dal canale

a (n) g(t nT)

n =
0

2T

rumore additivo gaussiano n(t)


con spettro di densit di
potenza
uniforme Wn(f) = N0 (Watt/Hz)
rumore Gaussiano bianco

Baccarelli,
Cordeschi, Patriarca, Polli

16

Demodulatore PAM
Campionamento
negli istanti
t = kT

Filtro di ingresso
al demodulatore
GR(f)
z(t)
segnale in
uscita
dal canale

w(t) = y(t) * gR(t) + (t)


= r(t) + (t)
rumore
filtrato

componente
utile

Esempio:
w(kT) +1,21
^a(k) +1
^b(k) 0

+0,66
+1

-1,35
-1

+1,17
+1

Decisione
criterio di decisione

w(kT)

n(t ) * g R (t )

(k)
sequenza
stimata delle
ampiezze
trasmesse

Il criterio qui applicato il seguente:


^ = +1 ;
w(kT) 0 a(k)
^ = -1
w(kT) < 0 a(k)
Nel segnale numerico ricevuto possono
comparire errori dovuti a decisione

errata.
Baccarelli,
Cordeschi, Patriarca, Polli

17

Modulazione numerica
MODULATORE

DEMODULATORE
sequenza (k)

Segnale
dalla sorgente

u (t ) =

Decisione

w(kT)

a (n) (t nT)

Campionamento
negli istanti t = kT

n =

Filtro formatore di
impulso G(f)

w(t) = y(t) * gR(t) + (t)

x ( t ) = u (t ) g (t )
CANALE

n(t)
Canale
lineare e permanente
C(f)

y(t)

Baccarelli,
Cordeschi, Patriarca, Polli

Filtro di ingresso al
demodulatore GR(f)
z(t) = y(t) + n(t) =
= x(t)*c(t) + n(t)
18

Componente di segnale utile allingresso


del campionatore
w(t) = y(t)*gR(t) + n(t)*gR(t) = r(t) + (t)

r (t ) = y (t ) g R (t )

= x (t ) c (t ) g R (t )

segnale utile

= u (t ) g (t ) c (t ) g R (t )

r (t ) =

rumore
(filtrato)

a (n) h(t nT)

n =

= h (t ) a ( n ) (t nT )
n =

con

h ( t ) = g ( t ) c( t ) g R ( t )
risposta impulsiva della cascata di tre

filtri:

formatore di impulso,
canale,
filtro di ingresso al demodulatore
Per le funzioni di trasferimento:
H(f) = G(f) C(f) GR(f)

Baccarelli,
Cordeschi, Patriarca, Polli

Il segnale utile r(t)

ancora un segnale
PAM
con forma di impulso
h(t)
19

Demodulazione del
segnale PAM
in assenza di rumore

Baccarelli,
Cordeschi, Patriarca, Polli

20

Demodulazione in assenza di rumore


Obiettivo: ricavare una

stima {(k)} della sequenza di ampiezze

trasmessa {a(k)} dalla sequenza di valori campionati in ricezione


{w(kT) , k = ..., -2, -1, 0, +1, +2, +3, }
Ipotesi: assenza di rumore n(t)=0 (t)=0
+

w(t ) = r (t ) + (t ) = r (t ) = a ( n ) h(t nT )
+

n =

w(kT ) = a ( n ) h( kT nT )
n =

= a ( k ) h(0) + a ( n ) h ( kT nT )
n = , n k

coincide con a(k) a


meno della costante
(guadagno) h(0)

Interferenza
intersimbolica (ISI)

componente dipendente dalle ampiezze


trasmesse prima e dopo lampiezza
k-esima e dalla funzione h(t) (ISI)
Baccarelli,
Cordeschi, Patriarca, Polli

21

Interferenza intersimbolo e
condizioni di Nyquist
+

w(kT ) = a ( k ) h(0) + a ( n ) h ( kT nT )
n =

Ponendo le condizioni seguenti, dette

1,
h(kT ) =
0,

condizioni di Nyquist:

per k = 0
per k 0

si ha sempre
w(kT) = a(k)
Il termine di ISI si annulla e la sequenza demodulata
coincide con quella trasmessa (in assenza di rumore).
Baccarelli,
Cordeschi, Patriarca, Polli

22

Condizioni di Nyquist e forme di impulso


limitate nel tempo
(1/2)
condizioni di Nyquist risultano soddisfatte, in particolare,
quando la forma di impulso in ricezione, h(t), limitata nel
tempo tra i valori T/2.
Le

Esempio:

w(t)

h(t)
1

1
-T -T/2

+T/2 +T

+2T

-T -T/2

+T/2 +T

+2T

Il segnale ricevuto alluscita del filtro di ricezione costituito


da una sequenza di impulsi separati tra loro.
Baccarelli,
Cordeschi, Patriarca, Polli

23

Condizioni di Nyquist e forme di impulso


limitate nel tempo
(2/2)
PROBLEMA

Un impulso h(t) di durata limitata nel tempo


ha trasformata di Fourier H(f), illimitata in
frequenza (banda infinita).
Il canale ha banda limitata (C(f) limitata in
frequenza) e,quindi, H(f) = G(f) C(f) GR(f) deve
necessariamente essere limitata in frequenza
ossia nulla per f >f m
.

Baccarelli,
Cordeschi, Patriarca, Polli

24

Condizioni di Nyquist nel dominio della


frequenza
Se

h(t) soddisfa le condizioni di Nyquist nel dominio del tempo

1
h(kT ) =
0

per k = 0
per k 0

la sua trasformata di Fourier H(f) soddisfa la seguente condizione di


Nyquist nel dominio della frequenza
+

H f = T

m =
Esempio:

H(f+1/T)

costante

H(f)

H(f)

H(f-1/T)

H(f-2/T)

f
-1/2T

+1/2T

-2/T

-1/T

Baccarelli,
Cordeschi, Patriarca, Polli

+1/T

+2/T

f
25

Banda minima per la trasmissione di


segnali PAM senza ISI
Dalle condizioni di Nyquist nel dominio della frequenza si

deduce che non possibile avere forme di impulso h(t) senza


interferenza intersimbolo se H(f) occupa una banda minore
di:
fN =

1 f s velocit di simbolo
= =
2T 2
2

Banda di Nyquist
La somma delle repliche traslate
di una H(f) di frequenza massima
minore di fN non pu mai dare
luogo a una costante.

H(f)
f
-1/2T

Baccarelli,
Cordeschi, Patriarca, Polli

+1/2T
26

Forma dimpulso di Nyquist a banda limitata passa-basso di Nyquist

Una particolare forma di impulso h0(t)


i.
ii.

limitato in banda
che soddisfa le condizioni di Nyquist

quella la cui trasformata di Fourier H0(f) la funzione di


trasferimento di un filtro passa-basso ideale (moltiplicata per il
fattore costante T):

t
sin
T

h0 (t ) =
t

h0(t)
T

H0 ( f ) =
0

1
per f
2T
1
per f >
2T

H0(f)
T

2T

3T

4T

5T

-1/2T

Baccarelli,
6T
Cordeschi, Patriarca, Polli

+1/2T

f
27

Forma dimpulso di Nyquist a banda


limitata
Esempio:
Segnale PAM privo di ISI nel caso di forma di impulso h0(t)
h0(t)

H0(f)

+1
T

T
0

f
-1/2T

+1/2T

r(t)
+1

t
0
-1
Baccarelli,
Cordeschi, Patriarca, Polli

28

Forma dimpulso di Nyquist a coseno


rialzato
T, per 0 f (1 ) f N

T
H( f ) =
1 sin( ( f f n )) , per (1 ) f N f < (1 + ) f N
2

f > (1 + ) f N
0 per

fattore di roll-off, 0 < 1


=1
= 0.6

H(f)
T

= 0.3
=0

fN

2fN

Baccarelli,
Cordeschi, Patriarca, Polli

29

Forma dimpulso di Nyquist a coseno


rialzato
Allaumentare del

ideale) a 1

fattore di roll-off g da 0 (filtro passa-basso

Le oscillazioni della h(t) ai due lati del picco dellimpulso si smorzano


pi rapidamente.
h(t)

=1
= 0.6
= 0.3
=0

-4T

-3T

-2T

-T

2T

3T

t
4T

Minore criticit nel campionamento in ricezione.


La banda occupata aumenta da fN a fN(1 + g)
Baccarelli,
Cordeschi, Patriarca, Polli

30

Forma dimpulso di Nyquist a coseno


rialzato
Esempio:
Segnali PAM privo di ISI per forma di impulso h (t) a coseno rialzato,
(g =0eg =1)

h(t)

h(t)

=0

+1

+1

T
0

=1

T
t

r(t)

r(t)

+1

+1
0

-1

-1

Valori di di interesse operativo: 0,2


< < 0,6
Baccarelli,
Cordeschi, Patriarca, Polli

31

Ricezione in presenza di interferenza


intersimbolo
Se

la forma dellimpulso h(t) non rispetta le condizioni di Nyquist, i campioni


del segnale ricevuto sono affetti da interferenza intersimbolo
(anche in assenza di rumori di canale).
Esempio:
Impulso h(t) che non soddisfa le condizioni di Nyquist [in neretto i valori non
nulli di h(kT), per k 0]

T
Corrispondente

segnale PAM [i valori campionati sono diversi dai valori di


ampiezza trasmessi 1]
T
+1

-1

Baccarelli,
Cordeschi, Patriarca, Polli

32

Segnale PAM multilivello


I

simboli sono associati ad ampiezze diverse


(segnale PAM multilivello ad livelli)
sorgente
binaria

conversione
di alfabeto
2

velocit
di simbolo
binario fb

velocit di
simbolo f s =

modulatore
PAM ad
livelli

fb
log2

canale in
banda base
(freq. max.
fm)

fs
fs
fm =
2 2log2

Minima

banda di canale per trasmissione priva di


interferenza intersimbolo (condizione di Nyquist).
Baccarelli,
Cordeschi, Patriarca, Polli

33

Vantaggi e svantaggi del PAM


multilivello
Allaumentare

del numero di livelli a del segnale PAM


utilizzato abbiamo che:
Aumento dellefficienza spettrale
Velocit di trasmissione dei simboli binari fb pi alta, a
parit di banda fm occupata dal segnale PAM,ovvero

i.

riduzione della banda fm occupata dal segnale PAM a


parit di frequenza di simbolo binario fb.
ii.

Aumento della probabilit di errore


in presenza di interferenza intersimbolo e/o rumore, a
causa della minore differenza tra valori adiacenti di
ampiezza di impulso.
Baccarelli,
Cordeschi, Patriarca, Polli

34

Demodulazione del
segnale PAM
in presenza di rumore

gaussiano
Baccarelli,
Cordeschi, Patriarca, Polli

35

Demodulazione PAM in presenza di


rumore di canale
Obiettivo: ricavare una

stima {(k)} della sequenza di ampiezze

trasmessa {a(k)} dalla sequenza di valori campionati in ricezione


{w(kT) , k = ..., -2, -1, 0, +1, +2, +3, }
Ipotesi: rumore additivo Gaussiano bianco

w (t ) = r (t ) + (t ) =

(Segnale allingresso
del campionatore di ricezione)

a (n ) h ( t nT) + (t )

n =

Supponendo

che la forma di impulso in ricezione, h(t), sia priva di


interferenza intersimbolo, e con h(0) =1, agli istanti di campionamento kT si
ha

w(kT ) = r (kT ) + (kT ) = a ( k ) + (kT )

Variabile con valori possibili

Variabile aleatoria
Gaussiana con valore
atteso nullo -e varianza 2
2

= N 0
Baccarelli,
Cordeschi, Patriarca, Polli

G R (f ) df
2

36

Decisione in presenza di rumore Gaussiano.


Criterio della Massima Verosimiglianza (1/3)
w(kT)=a(k)+(kT)
Problema: Misurato w(kT)

w* all uscita del campionatore di


ricezione, di possiamo calcolare una buona decisione (stima) a(k) del

simbolo trasmesso sulla base di w* ?

Criterio della Massima Verosimiglianza (MLD)


Misurato w(kT) w*, si decide a favore della pi verosimile tra le

ampiezze {a0 .. aa-1} assumibili dal simbolo a(k), ossia a favore di

quellampiezza a alla quale corrisponde la pi grande del seguente


insieme di probabilit condizionate {p[w* a(k)= a0 ],, p[w* a(k)= aa-1]}.

In formule,la decisione MLD a(k) sul simbolo a(k) quindi definita


come segue:

a(k) argmax{p[w* a(k)= ai]}


0 i 1

Baccarelli,
Cordeschi, Patriarca, Polli

37

Decisione in presenza di rumore Gaussiano


Decisore a minima distanza Euclidea (2/3)
w(kT)=a(k)+(kT),

Poich la componente di rumore (kT) Gaussiana e a media nulla,

si pu provare che la decisione MLD a(k) precedentemente definita


equivalente a scegliere come decisione a(k) quello tra i possibili
valori {a0 aa-1} assumibili da a(k) che pi vicino (ossia, dista di meno)
dal valore misurato w(kT)w*.

Quindi, per la decisione MLD a(k) vale la seguente propriet:

a(k)=argmin{(w*- ai) }
0 i 1

IL Decisore MLD un decisore a minima distanza Euclidea


Baccarelli,
Cordeschi, Patriarca, Polli

38

Decisione in presenza di rumore


Gaussiano Caso del 2-PAM
(3/3)
w(kT)=a(k)+(kT)
Supponiamo che a(k) possa assumere i due valori a(k)=1 (caso di

modulazione PAM binario).

Allora il decisore a minima distanza Euclidea si riduce (ossia,

equivalente) ad un decisore a soglia che decide a(k)=+1 quando

w(kT) 0 e decide a(k)=-1 quando w(kT)<0, in accordo alla relazione

a(k)=

+1,
-1,

per w(kT) 0
per w(kT) 0

(2-PAM)

Ovviamente, non sempre la decisione a(k) esatta. Quindi, definiamo

come probabilit derrore Pe del decisore MLD la quantit:

Pe  P(a(k)

a(k)).

Baccarelli,
Cordeschi, Patriarca, Polli

39

Probabilit derrore in presenza di rumore


gaussiano
Caso 2-PAM
a(k)
w(kT)
p [w(kT) | a(k) = +1]= p [=w(kT)-1]
+1
p [w(kT) | a(k) = -1]=p [=w(kT)+1]

0
-1
a(k) = -1

Pe|1 =

(kT) > +1
w(kT) = a(kT) + (kT) > 0

(kT) = +1 a(kT)
w(k) > errore
0

p w | a ( k ) = 1 dw =

= p ( ) d = Pe|+1 = Pe

Densit di probabilit gaussiana


Baccarelli,
Cordeschi, Patriarca, Polli

Probabilit di errore
(area tratteggiata
in figura)
40

Capitolo 7
Strato FisicoCodici correttori derrore e
capacit di canale

Baccarelli,
Cordeschi, Patriarca, Polli

Codici correttori derrore


Obiettivi:
correggere o rivelare errori nella trasmissione di
segnali numerici (sequenze di simboli, usualmente
binari)
Correzione di errore Eliminare lerrore dal
segnale ricevuto
Rivelazione di errore Segnalare lerrore nel
segnale ricevuto
richiedere la ritrasmissione
scartare parte del segnale
Baccarelli,
Cordeschi, Patriarca, Polli

Esempio di correzione di errore


tratto da esperienza comune
Messaggio da trasmettere
....arriver il 26/4/2002...
Errore di trasmissione; messaggio ricevuto:
....arriver il 28/4/2002...
Errore non visibile, n recuperabile, in ricezione.
Messaggio codificato :
....arriver il ventisei aprile prossimo venturo...
Due errori di trasmissione; messaggio ricevuto :
....arriver il vantisei aprole prossimo venturo...
Errori correggibili da parte del ricevente.

Costo delloperazione di codifica: un messaggio


con pi caratteri alfanumerici,
cio con una maggiore ridondanza
Baccarelli,
Cordeschi, Patriarca, Polli

Ridondanza
Ridondanza di un messaggio discreto (sequenza di simboli):

R
1

dove si indicato con


NI il numero di simboli strettamente necessario
per trasmettere linformazione contenuta nel messaggio,
NT il numero totale dei simboli contenuti nel messaggio
stesso
(quindi NR = NT - NI numero di simboli ridondanti).
Il valore della ridondanza compreso nellintervallo
messaggio costituito
dal minimo numero
di simboli possibile

0 1
Baccarelli,
Cordeschi, Patriarca, Polli

messaggio
con contenuto
informativo nullo
(solo ridondanza)

Canale Discreto
xn
sequenza di
simboli di
ingresso

canale
discreto

yn
sequenza di
simboli di
uscita

per ogni simbolo introdotto allingresso


viene prodotto
un simbolo in uscita dal canale

I simboli sono usualmente costituititi da bit,


singoli o raggruppati in parole binarie.
Baccarelli,
Cordeschi, Patriarca, Polli

Esempi di canali discreti (1/2)


Sistema di trasmissione per segnali di dati (segnali numerici):

Sorgente
di dati

Destinatario
dei dati

sequenza di
simboli di ingresso

Modulatore
numerico

sequenza di
simboli di uscita

Mezzo
trasmissivo

Demodulatore
numerico

canale discreto
Baccarelli,
Cordeschi, Patriarca, Polli

Esempi di canali discreti (2/2)


Sistema di trasmissione per segnali fonici:
altoparlante

microfono

codificatore
PCM

segnali
analogici

sequenza di simboli
di ingresso (bit)

Modulatore
numerico

decodificatore
PCM

sequenza di simboli
di uscita (bit)

Mezzo
trasmissivo

Baccarelli,
Cordeschi, Patriarca, Polli

demodulatore
numerico

Canali discreti binari, ideali o


rumorosi
....001011011....

canale
binario
ideale

....001011011....

la sequenza di simboli di uscita identica a quella di ingresso

....001011011....

canale
binario
rumoroso

....011010010...
.

la sequenza di simboli di uscita contiene errori casuali


Baccarelli,
Cordeschi, Patriarca, Polli

Canale discreto binario (1/2)


CANALE BINARIO RUMOROSO

0
1

1-p
p
p
1-p

p = probabilit che uno 0 introdotto allingresso dia luogo a un 1 in


uscita

= P(Y = 1| X = 0)
p = probabilit che un 1 introdotto allingresso dia luogo a uno 0 in
uscita

= P(Y = 0 | X = 1)

Baccarelli,
Cordeschi, Patriarca, Polli

Canale discreto binario (2/2)


CANALE BINARIO IDEALE

X
p = p = 0

1
;

1
1

0
1

1 - p = 1 - p = 1

Baccarelli,
Cordeschi, Patriarca, Polli

10

Canale Binario Simmetrico


Canale binario con p = p

0
1

1-p
p
p
1-p

0
1

il parametro p la probabilit di errore del canale


che uguale a
p=P(Y=0|X=1)=P(Y=1|X=0)

Baccarelli,
Cordeschi, Patriarca, Polli

11

Canale discreto generico


a0 , ... , a-1
alfabeto
di ingresso
a ordine
dellalfabeto
di ingresso

a0
a1
ai

b0 b ,... , b
0
-1
b1
.
alfabeto

.
.
.

.
.

P(bk |ai )

.
.
.

b-3
b-2
b-1

a-2
X

a-1

P(Y=bk |X=ai)

.
.
.

bk

di uscita

Probabilit
di transizione
del canale

Probabilit di ricevere il simbolo


bk, condizionata allaver trasmesso
il simbolo ai,

Baccarelli,
Cordeschi, Patriarca, Polli

12

Comportamento del canale


discreto
In funzione del tempo

In funzione della
sequenza di simboli
trasmessa

Le probabilit di transizione
possono variare in funzione
del tempo

Le probabilit di transizione
possono dipendere dai simboli
trasmessi prima del simbolo
attuale (od anche dopo)

Baccarelli,
Cordeschi, Patriarca, Polli

13

Canale binario simmetrico


stazionario e senza memoria
E un canale binario simmetrico in cui le probabilit di transizione:
sono costanti nel tempo (stazionariet)
non dipendono dai simboli trasmessi prima o dopo il
simbolo in esame (il canale non ha memoria)
Per questo tipo di canale la probabilit di errore, p , un
parametro costante che caratterizza completamente il canale
stesso.
Il canale binario simmetrico, stazionario, senza memoria costituisce il
caso di riferimento per lo studio dei codici correttori derrore binari.
Baccarelli,
Cordeschi, Patriarca, Polli

14

Probabilit di errore p nel BSC


p
0

1 La probabilit p

0.5
intervallo di valori teoricamente possibili

intervallo di valori presi


in considerazione nella
teoria dei codici

compresa per
definizione
nellintervallo
0p1

Un BSC con probabilit di errore


p > 0,5 equivalente a un BSC con
probabilit derrore q = 1-p < 0,5
seguito da un invertitore (01 ; 1 0)

Esempio:
Canale radio-mobile (GSM) p10-1, p10-2,
Downlink satellitare (DVB-S) p10-2,
Cavo Coassiale (DVB-C) p10-4,

intervallo di valori di
interesse applicativo, con
p sufficientemente
Baccarelli,
piccolo
Cordeschi, Patriarca, Polli

15

Schema di trasmissione con impiego


di codifica per correzione derrore
probabilit
di errore di
canale = p
Sorgente
binaria

codificatore

sequenza
trasmessa

Canale
binario
simmetrico

probabilit di errore dopo


decodificazione = Pe

decodificatore

sequenza
codificata

destin.

Sequenza decodificata
eventualmente affetta
da errore

La codifica utile se ha leffetto di ridurre la probabilit di errore,


ossia se
Pe < p
Baccarelli,
Cordeschi, Patriarca, Polli

16

Esempio di codice correttore


derrore
Data una sequenza binaria di sorgente, codificare ogni simbolo con una
parola di 3 simboli, secondo la corrispondenza biunivoca
simbolo di
sorgente
0
1

parola
di codice
0 0 0
1 1 1

Esempio:

sequenza di sorgente. . . . 0
1
1
0
1
. . .
sequenza codificata. . . . . 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1

In base a quale criterio di decodifica il codice corregge gli errori?


Baccarelli,
Cordeschi, Patriarca, Polli

17

Criterio di decisione a Massima


Verosimiglianza (ML) per trasmissioni in
canali binari discreti e rumorosi (1/2)
x
Sequenza
binaria
trasmessa

Canale
binario

Sequenza
binaria
ricevuta

Decisore
MLD

x^
Sequenza
decisa

Supponiamo

che la sequenza x=[x0xn-1] possa assumere uno


degli L possibili valori {c0, c1,, cL-1} ciascuno dei quali una
stringa binaria lunga n bit
Indichiamo con r=[r0rn-1] la stringa binaria ricevuta (ossia
misurata) alluscita del canale binario.
Indichiamo con {P(r|x=ci, i=0,,(L-1)} le risultanti L
probabilit di transizione del canale binario.
Baccarelli,
Cordeschi, Patriarca, Polli

18

Criterio di decisione a Massima


Verosimiglianza (ML) per trasmissioni in
canali binari discreti e rumorosi (2/2)
Criterio di decisione ML
Ricevuto r, il decisore scegli come decisione quella
tra gli L possibili valori {c0, c1,, cL-1} alla quale
corrisponde la probabilit di transizione pi grande,
ossia in formule

x = arg max {P ( r | x = ci )}
0 i L 1

Baccarelli,
Cordeschi, Patriarca, Polli

19

Esempio di decodifica a massima


verosimiglianza
Canale Binario Simmetrico stazionario
senza memoria, p<0.5
Errori sui bit indipendenti
Messaggi trasmessi lunghi 3 bits
Probabilit che sia commesso
1 errore P1=p (1-p)2

2 errori P2=p2(1-p)
3 errori P3=p3
P3 < P2 <P1

canale
viene da
111 o da 000 ?

101

P(101|111) > P(101|000)


(un solo errore pi
probabile di due)

Baccarelli,
Cordeschi, Patriarca, Polli

111 !
Cio la sorgente
ha emesso un201

Codici a blocco (n,k)


I simboli binari emessi dalla sorgente sono codificati a
gruppi di k (parole)
Il codificatore, ad ogni parola di sorgente di k simboli in
ingresso, associa biunivocamente una parola di codice
formata da n simboli in uscita, con n > k
In generale, un codice a blocco risulta definito da 2k parole di codice di n
simboli, scelte tra le 2n sequenze possibili di n simboli. Ad esempio
Codice a blocco (3,1):
2 parole di sorgente possibili (21 = 2) 0, 1
2 parole di codice (scelte tra 23 = 8 possibili) 000, 111
Codice a blocchi (5,2):
4 parole di sorgente possibili (22 = 4) 00, 01, 10, 11
4 parole di codice (scelte tra 25 = 32 possibili) 00000, 01111, 10110, 11001
Baccarelli,
Cordeschi, Patriarca, Polli

21

Schema generale per la co-decodifica


di un codice a blocco (n,k)
sorgente
parola di sorgente
emessa

formata da k simboli
(2k parole possibili)

destinatario

^
a

codificatore

decodificatore

parola di sorgente
decisa,

formata da k simboli
(2k parole possibili),
non necessariamente
uguale ad a, a causa di
errori di decodifica.

canale
parola di codice

BSC

formata da n simboli
(2k parole scelte tra 2n
possibili)

sequenza ricevuta

formata da n simboli
(2n sequenze possibili, a causa
degli errori di canale)
Baccarelli,
Cordeschi, Patriarca, Polli

22

Distanza di Hamming fra


sequenze binarie
Date due sequenze binarie x ed y formate da m simboli, si
definisce Distanza di Hamming d(x,y) il numero di simboli, in

posizioni omologhe, in cui le due sequenze differiscono.


Si osservi che risulta 0dn.

Esempio per n = 7:
sequenza x
sequenza y

n
0101111
1100011

distanza: d = 3
Baccarelli,
Cordeschi, Patriarca, Polli

23

Distanza minima di Hamming di un


codice a blocchi
Si definisce come distanza minima dmin di Hamming di un codice a

blocco (n,k) il minimo valore della distanza di Hamming tra due parole
qualsiasi appartenenti al codice

Il codice (3,1), ed il codice (5,2) prima definiti hanno ambedue distanza dmin =
3.

000
111

d=3

d=3
d=3

00000
01111
10110
11001

Baccarelli,
Cordeschi, Patriarca, Polli

d=4
d=3
d=4

d=3

24

Relazione tra distanza di un codice e


probabilit di errore dopo
decodificazione (1/2)
canale
0

dal
codificatore
c = [c0 , c1 ,..., cn-1]

1-p

al decodificatore

p
1

r = [r0 , r1 ,..., rn-1]

1-p

Sia t (0 t n) la distanza di Hamming tra c e r, ossia:


d(r,c) = t
Quindi, su n simboli trasmessi abbiamo:
t trasmissioni con errore
n-t trasmissioni senza errore
Supponiamo gli errori statisticamente indipendenti (canale senza
memoria), allora la probabilit di transizione di canale calcolabile
t
come segue
n 1

P ( r | c ) = P ( ri | ci ) = p t (1 p )
i =0

n t

p
n
p
1
=

)
(
1 p

Baccarelli,
Cordeschi, Patriarca, Polli

25

Relazione tra distanza di un codice e


probabilit di errore dopo
decodificazione (2/2)
Criterio di decisione a Massima Verosimiglianza:
data la sequenza r ricevuta, decidere in favore della parola di
codice c per la quale massima la P(r|c) data dalla
t

p
n
P (r | c) =
(1 p )
1 p
Per p0.5 il massimo di P(r|c) al variare di c si ha in corrispondenza del
minimo di t.

Criterio della Minima Distanza di Hamming:


data la sequenza ricevuta r, decidere in favore di quella del
codice c* che ha la minima distanza di Hamming da r.
Baccarelli,
Cordeschi, Patriarca, Polli

26

Esempio di decodifica a minima


distanza di Hamming
Codice (5,2) con dmin = 3 :
Parole del codice:

00000 01111

10110

11001

Parola trasmessa: 10110


Errori nel canale Sequenza ricevuta

Parola decisa

10110

10110

10111

10110

10100

10110

10010

10110

11110

10110

00110

10110

00111

00111

Baccarelli,
Cordeschi, Patriarca, Polli

3
3
3
3
3
3
2

min d(r,c) = 0

min d(r,c) = 1

min d(r,c) = 1
27

Capacit di correzione di errori


del codice
Sia c(T) la parola di codice trasmessa e sia r la sequenza ricevuta,
con d(r, c(T) ) = t
Dato che r stata ottenuta da c(T) modificandola in t posizioni,
occorre modificare r in almeno altre dmin - t posizioni per
ottenere unaltra parola di codice, distante almeno dmin da c(T) .
Per t < dmin /2 valgono le relazioni
d(r, c ) dmin - t > t per ogni c c(T)
Nelle condizioni dette la decodifica a minima distanza sempre
corretta. Quindi deduciamo che

un codice a blocco (n,k) con distanza di Hamming dmin


garantisce la correzione di tutte le configurazioni di
errore contenenti un numero di errori
Baccarelli,
t (d
min1)/2

Cordeschi, Patriarca, Polli

28

Capacit di rivelazione derrore di


un codice a blocco
Un codice a blocco (n,k) pu essere anche usato per rivelare errori
di canale nella sequenza ricevuta r.
La presenza di errori viene rivelata tutte le volte che la sequenza

ricevuta r non coincide con alcuna delle parole di codice {c0,c1,,cL-1}.


Errori di canale che trasformino una parola di codice in unaltra non
possono essere rivelati. Questultima evenienza pu evidentemente
verificarsi soltanto se t dmin .
Quindi

un codice a blocco (n,k) con distanza dmin garantisce


la rivelazione di tutte le configurazioni di errore
contenenti un numero di errori t dmin-1
Correzione derrore
t (dmin1)/2

Rivelazione derrore
t dmin-1

Baccarelli,
Cordeschi, Patriarca, Polli

29

Probabilit derrore residua dopo


decodificazione (1/2)

Trasmissione senza codifica:


a

sorgente

canale BSC
prob.err. = p

destinazione

^
Pe =P(aa)=
p

La probabilit di simbolo errato Pe al destinatario uguale alla


probabilit derrore del canale, p.

Trasmissione con codifica a correzione derrore:


sorgente

codificatore

canale BSC
prob.err. p

decodificatore

destinazione

^
Pe = P(cc)=
<p

la probabilit Pe di errore residuo dopo decodificazione (dovuta


agli errori che non vengono corretti dal decodificatore) minore
Baccarelli,
della probabilit derrore del
canale,
p.
Cordeschi, Patriarca, Polli

30

Probabilit derrore residua (2/2)


Codice (n,k) a distanza dmin
Ha la capacit di correggere tutte le configurazioni derrore con un
numero massimo di errori t = (dmin-1)/2
Relazione di calcolo per la Pe =P(cc) probabilit di errore sulla
parola di codice:

Pe =

i = t +1

n i
n t +1
n i
p (1-p )
p , p << 1/ 2
i
t + 1

Baccarelli,
Cordeschi, Patriarca, Polli

31

Complessit della co-decodifica


Codificatore:

Accesso a tabella che definisce la corrispondenza biunivoca tra


parole di sorgente e parole di codice. Tale tabella contiene 2k coppie
di elementi.
complessit esponenziale con k

Decodificatore:

Confronto della sequenza ricevuta con le 2k possibili parole di


codice trasmesse.
complessit esponenziale con k
Esistono codici a contenuto algebrico, nei quali le operazioni di codecodifica sono realizzate mediante operazioni algebriche e non mediante
accesso a tabella (teoria algebrica dei codici)

riduzione della complessit (lineare in k)


Baccarelli,
Cordeschi, Patriarca, Polli

32

Ridondanza e transmission rate


Si definisce transmission rate (tasso di trasmissione) R di un
codice il rapporto tra numero di simboli entranti ed uscenti dal
codificatore

k
R = = 1
n

dove

nk
=
n
rappresenta la ridondanza del codice. Poich n>k, avremo che R<1.

Baccarelli,
Cordeschi, Patriarca, Polli

33

Scelta dei valori di k e di n


Si consideri costante il transmission rate k/n.
Allaumentare di k e di n:
possibile trovare codici aventi dmin (e quindi
capacit di rivelazione e di correzione derrore) pi
elevata
Aumenta la complessit di co-decodifica
Allaumentare solo di n, diminuisce il
transmission rate R.
Baccarelli,
Cordeschi, Patriarca, Polli

34

La Capacit di Canale Generalit


(1/4)
S

b( kTb )

CODER

MOD.

s(t )
CANALE

b( kTb )

DECODER

DEMOD.

r (t )

Con riferimento allo schema precedente, supponiamo che la sorgente


emette una sequenza di bit {, b((k-1)Tb), b(kTb),} a periodo di segnalazione
binaria: Tb=1/fb (sec).
Supponiamo che la sequenza binaria {b(kTb), k=0,1, 2} sia codificata,
modulata, trasmessa nel canale, demodulata e , infine, decodificata nella
^
sequenza { b(kTb), k=0,1, 2}.
Indichiamo con
^
PE  P(b(kT
b) b(kTb) )
Baccarelli,

la risultante probabilit di errore


di decodifica.
Cordeschi,
Patriarca, Polli

35

La Capacit di Canale Definizione


(2/4)
Per definizione, la capacit C (bit/sec) del canale
trasmissivo il massimo valore che pu assumere fb al
variare in tutti i modi possibili delle coppie MoDemodulatore e Co-Decodificatore sotto il vincolo che
la PE risultante sia nulla.
In formule,
C  max{ fb= 1/Tb} (bit/sec),
Sotto il vincolo che
^
PE = P(b b)=0,

dove il massimo da intendersi rispetto a tutte le


possibili scelte delle coppie Mo-Demodulatore e CoDecodificatore.

Baccarelli,
Cordeschi, Patriarca, Polli

36

La Capacit di Canale Propriet


(3/4)
Dal punto di vista analitico, la capacit C di un

canale un numero reale e non negativo, che si


misura in (bit/sec).
Dal punto di vista ingegneristico, C
rappresentante la massima velocit con cui una
sorgente binaria connessa al canale pu
trasferire simboli dinformazione binari sotto
^
il vincolo che la sequenza {b(kTb), k=0,1, 2}
ottenuta dopo decodificazione coincida con la
sequenza trasmessa {b(kTb), k=0,1, 2} .
Baccarelli,
Cordeschi, Patriarca, Polli

37

La Capacit di Canale Propriet


(4/4)
suo specifico valore di
capacit C, che dipende dal tipo e dallentit

Ogni canale ha un

dei disturbi introdotti dal canale stesso.

I canali

elevate.

migliori sono quelli con capacit pi

Baccarelli,
Cordeschi, Patriarca, Polli

38

La capacit del canale Additive


White Gaussian Noise (AWGN) (1/3)
Come esempio di calcolo di capacit, consideriamo il seguente

modello di canale, detto canale AWGN a banda limitata.

n(t )
H( f )
s(t )

i.

ii.

r (t )

Essenzialmente il canale,

Somma al segnale modulato s(t) un segnale n(t) di rumore gaussiano


bianco, a media nulla, e con spettro bilatero di densit di potenza
Pnn(f)=N0/2 (Watt/Hz);
Fa transitare il segnale somma risultante s(t)+n(t) attraverso un
filtro passa-basso di larghezza di banda W(Hz).
Baccarelli,
Cordeschi, Patriarca, Polli

39

La capacit del canale Additive White


Gaussian Noise (AWGN) (2/3)
Indichiamo con
T /2

1
2
(t )dt (Watt )
Ps = lim
s

T + T
T /2

la potenza del segnale modulato che entra nel canale.


Si pu dimostrare che la capacit C (bit/sec) del suddetto canale
pari a

Ps
C = W log 2 1 +
(bit/sec)

N0W

La formula precedente nota come formula

Shannon-Hartley.

Baccarelli,
Cordeschi, Patriarca, Polli

della capacit di

40

La capacit del canale Additive White


Gaussian Noise (AWGN) (3/3)
E interessante osservare che :

i.

Per ogni fissato valore della banda W, abbiamo


che:

lim C = 0 , e :

Ps / N 0 0

ii.

lim C = +

Ps / N 0

Per ogni fissato valore del rapporto Ps/N0,


abbiamo che:

Ps
lim C = 0, e: lim C =
(log 2 e ) (bit/sec)
W 0
W
N0
Baccarelli,
Cordeschi, Patriarca, Polli

41

Capitolo 8
Strato di CollegamentoAccesso Multiplo e Reti in Area
Locale

Baccarelli,
Cordeschi, Patriarca, Polli

Sommario del Capitolo


Servizi offerti dallo Strato di Collegamento
o
o
o
o

Rivelazione di errore e controllo di errore (ARQ)


Indirizzamento
Controllo di flusso
Accesso Multiplo

Reti in Area Locale


o
o
o

La famiglia delle Reti Ethernet


Linterconnessione di Reti in Area Locale
Il protocollo PPP

Reti a Circuito Virtuale


o
o

Generalit
Indirizzamento

Introduzione alle Reti ATM


o
o
o

Architettura Protocollare
Servizi Offerti
Virtualizzazione dello Strato di Collegamento
Baccarelli,
Cordeschi, Patriarca, Polli

Il Servizio di Base offerto dallo


Strato di Collegamento
Il servizio di base offerto dallo Strato di
Collegamento quello di permettere il trasferimento
di interi datagrammi (cio, di pacchetti generati dallo
Strato di Rete) da un nodo (utente terminale o
Commutatore) ad uno ad esso adiacente attraverso un
singolo canale fisico.
Il canale fisico che collega una coppia di nodi
adiacenti pu essere

o
o

dedicato esclusivamente alla comunicazione della coppia di


nodi in oggetto (canale punto-punto);
Condiviso (ovvero, utilizzato) da pi coppie di nodi che
vogliono comunicare tra di loro simultaneamente (canale
broadcast).
Baccarelli,
Cordeschi, Patriarca, Polli

Strato di Collegamento- Contesto


Operativo
I datagrammi vengono trasferiti da differenti protocolli di
Collegamento mediante canali diversi:
o
esempio: Ethernet sul primo collegamento, rilancio delle
trame sui collegamenti intermedi e 802.11 sullultimo
collegamento.

Ogni protocollo di collegamento fornisce servizi differenti.


Analogia

viaggio da Princeton a Losanna


i.
macchina da Princeton fino allaeroporto JFK;
ii.
aereo dallaeroporto JFK a Ginevra;
iii.
treno da Ginevra a Losanna.

turista= datagramma

segmento di trasporto= collegamento di comunicazione

modo di trasporto= protocollo dello strato di collegamento.

Baccarelli,
Cordeschi, Patriarca, Polli

Strato di Collegamento- Servizio di


Base (1/2)
Terminologia:
hosts and router sono i nodi
i canali di comunicazione che
collegano nodi adiacenti lungo
un cammino di comunicazione
sono i collegamenti (link)
o collegamenti wired
o collegamenti wireless
o LANs
il pacchetto di strato-2
una trama, datagramma
incapsulato
Lo strato di collegamento ha la
responsabilit di trasferire datagrammi da
un nodo ad un nodo adiacente su un
collegamento che pu essere dedicato
(punto-punto) o condiviso (broadcast).
Baccarelli,
Cordeschi, Patriarca, Polli

Strato di Collegamento: Servizio di


Base (2/2)
I canali di comunicazione che collegano nodi

adiacenti lungo un cammino sono i collegamenti


(canali trasmissivi o link). Essi possono
essere:
o
o

cablati
wireless (radio)

Le unit di dati scambiate dai protocolli a

livello di Strato di Collegamento sono


chiamate trame (frame).
I protocolli a livello di Strato di Collegamento
si occupano del trasporto di Trame lungo un
singolo canale di comunicazione.
Baccarelli,
Cordeschi, Patriarca, Polli

Modalit di Trasmissione tra coppie


di nodi (1/5)

modalit che una coppia di nodi


possono adottare per trasferire segnali tra di

Quali sono le

loro attraverso il canale fisico che li collega?

Baccarelli,
Cordeschi, Patriarca, Polli

Modalit di Trasmissione (2/5)


Ad una via (unidirezionale): dalla sorgente S

verso al destinazione D.
S

A due vie (bidirezionale): tra 2 terminali T1,

T2.

T1

T2
Baccarelli,
Cordeschi, Patriarca, Polli

(Duplexing)
8

Modalit di Trasmissione
Bidirezionale (Duplexing) (3/5)
Duplexing a divisione di frequenza

(FDD: Frequency Division Duplexing)


T1

f1
f2

T2

T1 --> T2 T2 -->T1
f1

f2

B1

B2

Frequenza
(Hz)

Duplexing a divisione di tempo (TDD: Time Division

Duplexing)
T1

T2

T1 --> T2

T2 --> T1

T1 --> T2

T2 --> T1

Tempo
(sec)
Duplexing a divisione di spazio

T1
Baccarelli,
Cordeschi, Patriarca, Polli

Collegamento 1
Collegamento 2

T2
9

Modalit di Trasmissione
Bidirezionale Full-Duplex e HalfDuplex (4/5)
Consideriamo la trasmissione bidirezionale tra due
terminali (nodi) T1 e T2.
T1

T2

La trasmissione detta Full-Duplex quando sia T1 che


T2 possono trasmettere e ricevere simultaneamente.
La trasmissione detta Half-Duplex quando
alternativamente, T1 trasmette e T2 riceve e, poi, T2
trasmette e T1 riceve.
La modalit di trasmissione Full-Duplex detta anche
bidirezionale simultanea. La modalit di trasmissione
Half-Duplex detta anche bidirezionale alternata.

Baccarelli,
Cordeschi, Patriarca, Polli

10

Modalit di Trasmissione tra


Sorgente e Destinazione (5/5)

Unicast: da una sorgente S verso una sola destinazione D

(es. telefono)

Broadcast: da una sorgente


verso tutte le destinazioni

(es. radio, televisione in


chiaro)

D
D

Multicast: da una sorgente


verso solo alcune
destinazioni (es.
televisione criptata,
video-conferenza)

D
S

Baccarelli,
Cordeschi, Patriarca, Polli

D
D

D
11

Ulteriori Servizi offerti dallo Strato


di Collegamento (1/3)

Gli ulteriori servizi che i protocolli di Strato di


Collegamento possono offrire sono:
o
o
o
o

o
o

la delimitazione delle trame (frames);


lindirizzamento delle trame;
la rivelazione degli (eventuali) errori introdotti dal canale;
il recupero, quando richiesto, del corretto trasferimento
delle trame in caso di errori (controllo di errore mediante
tecniche ARQ);
il controllo della velocit di trasferimento delle trame dal
nodo-sorgente al nodo-destinazione (controllo di flusso);
la gestione (instaurazione, abbattimento e reinizializzazione) della connessione di strato di collegamento.
Baccarelli,
Cordeschi, Patriarca, Polli

12

Ulteriori Servizi offerti dallo Strato


di Collegamento (2/3)
Delimitazione di trame (Framing):
o I protocolli incapsulano i datagrammi generati dallo
Strato di Rete allinterno di un frame di Strato di
Collegamento;
o Per identificare origine e destinatario di ciascuna
trama, vengono utilizzati indirizzi di Strato di
Collegamento (detti anche indirizzi MAC).
Trasferimento affidabile dei datagrammi
o E considerato non necessario nei collegamenti che
presentano un basso numero di errori (fibra ottica,
cavo coassiale e doppino intrecciato)
o E spesso utilizzata nei collegamenti soggetti a
elevati tassi di errori (es.: collegamenti radio)
Baccarelli,
Cordeschi, Patriarca, Polli

13

Ulteriori Servizi offerti dallo Strato


di Collegamento (3/3)
Controllo di flusso:
o Evita che il nodo trasmittente saturi la memoria
tampone presente presso il nodo ricevente.
Rivelazione degli errori:
o gli errori sono causati dallattenuazione del segnale
e dal rumore;
o il nodo ricevente individua la presenza di errori
grazie allinserimento, da parte del nodo
trasmittente, di bit per il controllo di errore
allinterno delle trame trasmesse.
Baccarelli,
Cordeschi, Patriarca, Polli

14

Adattatori (1/3)
Per ogni assegnato canale di comunicazione tra coppie
di nodi adiacenti, il protocollo di Strato di
Collegamento realizzato in un Adattatore.
Un Adattatore una scheda PCMCIA (detta anche
Network Interface Card(NIC)) che costituita da
RAM, DSP chips e linee di collegamento.

Nodo Tr.

Nodo Ric.

Datagramma

Datagramma

Frame

Canale Fisico

Adattatore

Frame

Adattatore
Baccarelli,

Protocollo
di Strato
di Collegamento
Cordeschi,
Patriarca,
Polli

15

Adattatori- Funzionamento (2/3)

LAdattatore al lato Trasmittente:


i.
Incapsula il datagramma in una trama
(frame);
ii. Invia il frame nel canale fisico.
LAdattatore al lato Ricevente:
i.
Effettua le funzioni di rivelazione/controllo
degli errori sul frame ricevuto;
ii. Se non sono stati rivelati errori nel frame
ricevuto, estrae il datagramma dal frame e
passa il datagramma allo Strato di Rete
presso il nodo-Ricevente.
Baccarelli,
Cordeschi, Patriarca, Polli

16

Adattatori- Funzionamento (3/3)

Tutti i servizi offerti dal protocollo di Strato di

Collegamento sono attuati dagli Adattatori presenti al


Nodo-Tr. e al Nodo-Ric.
Un Adattatore un sistema Semi-Autonomo, ossia
un sistema che in grado di svolgere alcuni servizi
(quali la rivelazione e il controllo degli errori sui
frame ricevuti) autonomamente, ossia senza il
controllo dello Strato di Rete del nodo a cui
lAdattatore appartiene.
Ad esempio, un Adattatore pu ricevere un frame,
verificare se il frame contiene errori, e ,se vi sono
errori, scartare autonomamente il frame, senza
interpellare lo Strato di Rete del nodo a cui
lAdattatore appartiene.
Baccarelli,
Cordeschi, Patriarca, Polli

17

Indirizzamento al Livello di Strato di


Collegamento (1/3)
Ciascun Adattatore ha un suo proprio indirizzo, in
generale noto come Indirizzo MAC.
Un indirizzo MAC costituito da 6 bytes (48 bits) e
il contenuto di ogni byte espresso mediante una
coppia ordinata di cifre esadecimali.
Le 16 cifre della numerazione esadecimale sono:
0, 1, 2, 3, 4, 5, 6, 7, 8 , 9, A, B, C, D, E, F.
Esempi di indirizzi MAC:
i.
1A- 23- F9- CD- 06- 9B
ii. 88- B2- 2F- 54- 1A- 0F
iii. 49- BD- D2- C7- 56- 2A

Baccarelli,
Cordeschi, Patriarca, Polli

18

Indirizzamento MAC (2/3)

Ogni Adattatore ha un unico indirizzo MAC

Indirizzo Broadcast=
FF-FF-FF-FF-FF-FF

1A-2F-BB-76-09-AD

= Adattatore

71-65-F7-2B-08-53

LAN
(wired o
wireless)

58-23-D7-FA-20-B0

0C-C4-11-6F-E3-98

Baccarelli,
Cordeschi, Patriarca, Polli

19

Propriet degli Indirizzi MAC (3/3)


Ad ogni Adattatore corrisponde uno e uno solo
indirizzo MAC (unicit dellIndirizzamento MAC).
Lindirizzo MAC permanente, ossia non cambia
quando ladattatore cambia area geografica di
funzionamento.
Lindirizzo MAC piatto (ossia, non di tipo
gerarchico). Ci significa che non vi alcun legame tra
lindirizzo MAC di un adattatore e la regione
geografica in cui ladattatore si trova ad operare.
Lindirizzo MAC per frames di tipo Broadcast (cio,
per frames che hanno come destinatari tutti gli
adattatori presenti nella rete) :
FF-FF-FF-FF-FF-FF

Baccarelli,
Cordeschi, Patriarca, Polli

20

Servizi Offerti dallo Strato di


Collegamento

Baccarelli,
Cordeschi, Patriarca, Polli

21

Servizio di Rivelazione degli Errori


(1/3)
Ha lo scopo di rivelare la presenza di eventuali

errori introdotti dal canale trasmissivo e


presenti (eventualmente) nel frame ricevuto
dal nodo-destinazione.
Per essere attuato, richiesto limpiego di un
codice a rivelazione degli errori.
Poich la capacit di rivelazione degli errori di
un (qualsiasi) codice sempre finita, non
rivelare errori nel frame ricevuto non assicura
che il frame ricevuto privo di errori.
Baccarelli,
Cordeschi, Patriarca, Polli

22

Attuazione della Rivelazione degli


Errori (2/3)
EDC= Error Detection and Correction
D= Dati che devono essere protetti da errori e ai quali
vengono aggiunti dei bit EDC.

Datagram

Datagram

Yes

All
Bits in D OK?

detection
Error-chiedi la
ritrasmissione del frame

d data bits

No

EDC

EDC

Bit-error prone link


Baccarelli,
Cordeschi, Patriarca, Polli

23

Servizio di Rivelazione degli Errori


(3/3)
riveli errori
nel frame ricevuto, il nodo ricevente chiede al
nodo trasmittente di ri-trasmettere di nuovo

Nel caso in cui il nodo ricevente

il frame in oggetto.

Quindi, il Servizio di Rivelazione degli errori

sempre attuato in congiunzione col Servizio di


Controllo degli Errori mediante strategie di
Automatic Repeat Request (Sistemi ARQ).
Baccarelli,
Cordeschi, Patriarca, Polli

24

Servizio di Recupero degli


Errori mediante Strategie di
tipo ARQ

Baccarelli,
Cordeschi, Patriarca, Polli

25

Trasferimento Dati AffidabileDefinizione (1/2)


Supponiamo che il nodo NT trasmetta frame
al nodo NR attraverso un canale che
introduce errori.
Per definizione, il trasferimento di frame da
NT a NR detto affidabile se:

i.

Tutti i frame sono ricevuti da NR senza errori;

ii.

Ciascun frame privo di errori ricevuto da NR


una ed una sola volta (no duplicazione di frame
corretti);
I frame corretti sono ricevuti da NR nello stesso
ordine in cui sono stati trasmessi da NT.

iii.

Baccarelli,
Cordeschi, Patriarca, Polli

26

Trasferimento Dati Affidabile


(2/2)

Lo scopo del Servizio di Recupero degli errori quello


di dar luogo ad un trasferimento di frame affidabile
impiegando un canale trasmissivo che introduce errori
nei frame in transito.

Processo
trasmittente

Processo
ricevente

Processo
trasmittente

Protocollo
X affidabilit

Canale affidabile

Processo
ricevente

Protocollo
X affidabilit

Canale
Canale non
non affidabile
affidabile

Baccarelli,
Cordeschi, Patriarca, Polli

27

Schema Generale di un Sistema ARQ


di tipo punto-punto (1/3)
Nodo
sorgente

Frame trasmesso

Riscontro (ACK/NACK)

Frame trasmesso

Canale diretto

Canale di
Ritorno

Nodo
destinazione

Riscontro (ACK/NACK)

E supposto che:
Il Canale Diretto possa introdurre errori e/o perdite, cos che il
frame ricevuto non coincida col frame trasmesso o non venga mai
ricevuto.
Il Canale di Ritorno non introduca errori, ma possa introdurre
perdite, cos che uno o pi messaggi di riscontro (ACK o NACK)
generati dal Nodo-Destinazione potrebbero non raggiungere mai
il Nodo-Sorgente.
Baccarelli,
28
Cordeschi, Patriarca, Polli

Parametri Principali di un Sistema


ARQ (2/3)
I parametri principali che definiscono il funzionamento di

un sistema ARQ sono:


o C (bit/sec)  capacit trasmissiva del canale diretto;
o v (m/sec)  velocit di propagazione del segnale
elettrico nel Canale Diretto;
o dmax(m)  distanza massima tra il Nodo-Sorgente e il
Nodo-Destinazione;
o  dmax/v (sec)  ritardo di propagazione del segnale
elettrico dal Nodo-Sorgente al Nodo-Destinazione;
o Lmin (bit)  lunghezza minima di una trama;
o Lmax (bit)  lunghezza massima di una trama;
o Tt Lmax/C (sec)  tempo richiesto per trasmettere una
trama di lunghezza massima;
o Tout (sec)  intervallo (o tempo) di Time-Out.

Baccarelli,
29

Cordeschi, Patriarca, Polli

Principio Generale dei Sistemi ARQ


(3/3)
Nei sistemi ARQ, a ciascun frame da trasmettere si

aggiunge un campo che contiene un codice per la rivelazione


degli errori. Una volta rivelato l(eventuale) errore nel
frame ricevuto, il Nodo-Destinazione deve comunicare
questa situazione al Nodo-Sorgente, affinch questultimo
provveda a ri-trasmettere i frame ricevuti con errore. Per
questo motivo, i Sistemi ARQ prevedono sempre la
presenza di un Canale di Ritorno dal Nodo-Destinazione al
Nodo-Sorgente.
Poich uno stesso frame potrebbe essere ri-trasmesso pi
volte, i Sistemi ARQ richiedono sempre la presenza di un
buffer dal Nodo-Sorgente, dove vengono
temporaneamente memorizzati i frame trasmessi e che
sono in attesa di un riscontro positivo da parte del NodoDestinazione.
Baccarelli,
Cordeschi, Patriarca, Polli

30

Classificazione dei Sistemi ARQ (1/2)


I protocolli ARQ si suddividono in Stop and Wait e
Continuous ARQ.

Nel protocollo Stop and Wait, il Nodo-Sorgente invia un


frame e, quindi, aspetta di ricevere un riscontro positivo
(ACK) da parte del Nodo-Destinazione prima di
procedere alla trasmissione di un nuovo frame.

Nei protocolli Continuous ARQ, il Nodo-Sorgente pu


trasmettere con continuit frame che vengono, per,
opportunamente numerate, cos che il Nodo-Destinazione
possa ri-posizionarle nellordine corretto.

A loro volta, i protocolli Continuous ARQ si suddividono


in:
i.
Protocollo Go-Back-m (GBm)
ii. Protocollo Selective Repeat (SR)

Baccarelli,
Cordeschi, Patriarca, Polli

31

Classificazione dei Sistemi ARQ


(2/2)
Recupero degli errori

Protocolli ARQ

Stop and Wait


(SaW)

Countinuous
ARQ

Go-Back-m
(GBm)
Baccarelli,
Cordeschi, Patriarca, Polli

Selective Repeat
(SR)
32

Strategie impiegate nei Sistemi ARQ


Per ottenere un trasferimento di frame affidabile
mediante un canale diretto che introduce errori e/o
perdite, i sistemi ARQ fanno (opportuno) impiego
delle seguenti 3 strategie di base:

i.
ii.

iii.
iv.

I frame trasmessi vengono numerati progressivamente,


come anche i corrispondenti riscontri (ACK/NACK);
Il Nodo-Destinazione invia nel canale di ritorno opportuni
messaggi di riscontro positivo (ACK) oppure negativo
(NACK);
Il Nodo-Sorgente impiega un Temporizzatore (Timer) per
misurare il tempo trascorso dalla trasmissione di un frame;
Si impiegano buffer in trasmissione (sempre) e in ricezione
(talvolta) per la memorizzazione temporanea dei frame
trasmessi e di (alcuni) di quelli ricevuti.
Baccarelli,
Cordeschi, Patriarca, Polli

33

Numerazione Ciclica dei Frame e


dei Riscontri (1/4)
Nei protocolli Continuous ARQ si possono

trasmettere pi trame consecutivamente in


attesa dei riscontri (positivi o negativi) sulle
prime trame trasmesse.
Ci richiede un meccanismo di numerazione delle
trame trasmesse e dei corrispondenti riscontri
(positivi o negativi) per far si che le trame
trasmesse, ma non ancora riscontrate
positivamente, abbiano un numero di sequenza NS
per consentire al Nodo-Sorgente e al NodoDestinazione di intendersi su quali trame sono
state ricevute correttamente e quali no.
Baccarelli,
Cordeschi, Patriarca, Polli

34

Numerazione Ciclica dei Frame e


dei Riscontri (2/4)
Indichiamo con:
o
o
o

b (bit)  numero (intero) di bit a


disposizione per numerare le trame;
M  2b  numero di numeri di trama
distinti;
NS  numero di sequenza di una (generica)
trama.

Baccarelli,
Cordeschi, Patriarca, Polli

35

Numerazione Ciclica dei Frame e


dei Riscontri (3/4)
Allora, si ha che:
La numerazione NS delle trame ciclica modulo-M, con ci
intendendo dire che NS pu assumere solo i seguenti M  2b
valori distinti:
NS {0,1,2,3,,M-2,M-1}.
Per esempio, se b=3, le trame vengono trasmesse con i seguenti

numeri di sequenza consecutivi:

0,1,2,3,4,5,6,7,0,1,2,
Dato un (qualsiasi) numero intero (non negativo) x, per

definizione, loperazione

(x) mod.M
sta ad indicare il resto della divisione intera di x per M. Quindi,
il suddetto resto sempre un numero intero compreso tra 0 e
(M-1).
Baccarelli,
36
Cordeschi, Patriarca, Polli

Numerazione Ciclica dei Frame e


dei Riscontri (3/3)

Ad esempio,

(0) mod.8 = (8) mod.8 = (16) mod.8 0;


(7) mod.8 = (15) mod.8 = (23) mod.8 7;
(12) mod.8 = (20) mod.8 = (28) mod.8 4.

Gli esempi precedenti mostrano che la


numerazione mod.M delle trame pu dar
luogo ad ambiguit, con ci intendo dire che:

i.
ii.

dato M;
dato il risultato di (x) mod.M;

non univocamente calcolabile il numero x


che il dividendo delloperazione mod.M.
Baccarelli,
Cordeschi, Patriarca, Polli

37

Riscontri Positivi e Negativi (1/5)


Per indicare che la trama con numero di sequenza
NS=i stata rivelata priva di errori, il NodoDestinazione invia indietro al Nodo-Sorgente
attraverso il canale di ritorno un messaggio di
riscontro positivo che reca il numero di sequenza NS=i
della trama riscontrata, ossia il messaggio:
ACK(i).
Per definizione, in tutti i protocolli ARQ, il riscontro
ACK(i) ha il seguente significato:

Tutte le trame sino alla i-ma compresa sono state rivelate


prive di errori (ricevute correttamente) dal Nodo-

Destinazione.

Baccarelli,
Cordeschi, Patriarca, Polli

38

Riscontri Positivi e Negativi (2/5)


Per indicare che la trama con numero di

sequenza NS=s stata rivelata con errori (


corrotta da errori), il Nodo di Destinazione
invia indietro al Nodo-Sorgente attraverso il
canale di ritorno un messaggio di riscontro
negativo che reca il numero di sequenza NS=s
della trama riscontrata negativamente, ossia il
messaggio:
NACK(s).
Per definizione, il protocollo SaW non impiega
messaggi di riscontro negativi.
Baccarelli,
Cordeschi, Patriarca, Polli

39

Riscontri Positivi e Negativi (3/5)


Per definizione, nel protocollo Go-Back-m, il

messaggio NACK(s) significa:


o la trama s-ma stata ricevuta con errori,
ma tutte le trame precedenti (sino alla (s1)-ma compresa) sono state ricevute
correttamente.
Per definizione, nel protocollo SR, il messaggio
NACK(s) significa:
o La trama s-ma stata ricevuta con errori.
Baccarelli,
Cordeschi, Patriarca, Polli

40

Riscontri Positivi e Negativi (4/5)

In tutti i protocolli ARQ, una stessa trama


ri-trasmessa dal Nodo-Sorgente una o pi
volte, finch il Nodo-Sorgente non riceve da
parte del Nodo-Destinazione un riscontro
positivo (ACK) relativo alla trama in oggetto.
Al Nodo-Destinazione, una trama con lo
stesso numero di sequenza pu essere
ricevuta pi volte, dando cos luogo al
fenomeno della Duplicazione della trama.
Baccarelli,
Cordeschi, Patriarca, Polli

41

Riscontri Positivi e Negativi (5/5)


Duplicazioni di Trama al Nodo-Destinazione
possono aver luogo per 2 motivi diversi:

i.

ii.

il Nodo-Destinazione ad avere richiesto


(mediante invio di un NACK) la ri-trasmissione di
una trama che era stata ricevuta con errori;
il Nodo-Sorgente che spontaneamente ritrasmette una trama che aveva gi trasmessa,
perch il Nodo-Sorgente non ha ricevuto il
riscontro positivo ( messaggio ACK) relativo alla
trama in oggetto.
Baccarelli,
Cordeschi, Patriarca, Polli

42

Temporizzatori e Time-Out (1/3)


Poich il Canale di Ritorno e il Canale Diretto possono
introdurre perdite, pu accadere che uno (o pi) messaggi
di riscontro positivo relativi al frame s-mo non siano mai
ricevuti dal Nodo-Sorgente e/o che uno o pi frame non
siano mai ricevuti dal Nodo-Destinazione.

Per ovviare a questo inconveniente, in tutti i protocolli


ARQ, il Nodo-Sorgente:
i.
Avvia un Temporizzatore (Timer) nellistante in cui inizia
a trasmettere la trama s-ma;
ii.
Aspetta per un prefissato tempo di Time-Out (Tout) di
ricevere un riscontro (positivo o negativo) da parte del
Nodo-Destinazione relativamente alla trama s-ma;
iii.
Se non ha ricevuto alcun riscontro (n positivo, n
negativo), allo scadere del tempo di Tout, il NodoSorgente ri-trasmette spontaneamente la trama s-ma.

Baccarelli,
Cordeschi, Patriarca, Polli

43

Temporizzatori e Time-Out (2/3)

Poich
i.
il Temporizzatore avviato nellistante in cui la trama sma inizia ad essere trasmessa;
ii.
il Tempo necessario per trasmettere una trama di
dimensione massima Tt Lmax/C (sec);
iii.
poich il segnale elettrico impiega un tempo
 dmax/v per propagarsi dal Nodo-Sorgente al NodoDestinazione (tempo di propagazione di una trama), e, poi,
un altro tempo per propagarsi dal Nodo-Destinazione al
Nodo-Sorgente (tempo di propagazione del messaggio di
riscontro), allora il Tempo di Time-Out (Tout ) deve
soddisfare il seguente limite:
Tout Tt+2
Baccarelli,
Cordeschi, Patriarca, Polli

44

Temporizzatori e Time-Out (3/3)


In tutti i protocolli ARQ, il Nodo-Sorgente

impiega uno e un solo Temporizzatore.


Specificatamente, in ogni istante t0 di
funzionamento del Sistema ARQ, il
Temporizzatore sempre associato dal NodoSorgente al frame trasmesso e non ancora
riscontrato positivamente che, tra tutti i
frame trasmessi e non ancora riscontrati
positivamente, quello che stato trasmesso
per primo (ossia, il frame trasmesso e non
ancora riscontrato positivamente pi anziano).
Baccarelli,
Cordeschi, Patriarca, Polli

45

Buffer di memoria

Tutti i protocolli ARQ impiegano, al Nodo-Sorgente,


un Buffer di Trasmissione in cui vengono
temporaneamente memorizzati i frame che sono gi
stati trasmessi almeno una volta, ma che non sono
ancora stati riscontrati positivamente.
Solo il protocollo SR richiede, al NodoDestinazione, un Buffer di Ricezione in cui vengono
i.
memorizzati temporaneamente;
ii.
ordinati sequenzialmente in accordo ai Numeri di
Sequenza,
le trame che sono state ricevute correttamente.
Baccarelli,
Cordeschi, Patriarca, Polli

46

Esempio di Numerazione delle trame


(1/2)
Ogni trama contiene un

numero di sequenza (nellesempio,

NS {0,1}).
o Il numero di sequenza NS il numero dordine sequenziale
caratterizzante la trama uscente dal Nodo-Sorgente.
NodoSorgente

Tout

NodoDestinazione

ACK(1)

Tout

ACK(1)

0 (duplicata)

ACK(0)

Baccarelli,
Cordeschi, Patriarca, Polli

La ricezione di trame consecutive recanti lo

numero di sequenza indice di duplicazione.

stesso valore del


47

Esempio di Numerazione delle trame


(2/2)
necessario numerare anche i riscontri,

altrimenti il Nodo-Sorgente non sarebbe in


grado di sapere a quale trama fa riferimento
il riscontro ricevuto (i riscontri possono
perdersi; nellesempio NS {0,1}).

NodoSorgente

Tout

NodoDestinazione

ACK

Tout

ACK

0 (duplicata)
Baccarelli,
Cordeschi, Patriarca, Polli

1
48

Esempi di uso dei temporizzatori

Temporizzatori

Si introducono dei meccanismi di temporizzazione:


quando il Nodo-Sorgente emette una trama fa
contemporaneamente partire un temporizzatore allo
scadere del quale la trama viene ri-trasmessa dal
Nodo-Sorgente.

Nodo- Trama 1
Sorgente

Tout

Trama 1

Trama 2

tempo

ACK

ACK

NodoDestinazione

tempo
1
Baccarelli,
Cordeschi, Patriarca, Polli

2
49

Protocollo Stop-and-Wait (SaW)


(1/6)
Il principio generale del protocollo SaW che il NodoSorgente non trasmette la prossima trama se non ha
ricevuto un riscontro positivo (ACK) relativo alla trama
correntemente trasmessa.

Nel protocollo SaW, il Nodo-Sorgente opera come segue:


i.
numera la trama da trasmettere, avvia il
temporizzatore (Timer), trasmette la trama e,
contemporaneamente, la memorizza nel Buffer di
Trasmissione;
ii.
se riceve lACK prima che scada il Timer, allora il
Nodo-Sorgente rimuove la trama dal Buffer di
Trasmissione e, poi, passa a trasmettere il frame
successivo;
iii.
se il Timer scade prima di ricevere lACK, allora il
Nodo-Sorgente ri-inizializza il Timer e, poi,
ritrasmette il frame memorizzato nel Buffer di
Trasmissione.
Baccarelli,
50

Cordeschi, Patriarca, Polli

Protocollo Stop-and-Wait (SaW)


(2/6)
Nel protocollo SaW, il Nodo-Destinazione opera
come segue sul frame correntemente ricevuto:

i.
ii.

iii.

iv.

applica la decodifica a rivelazione di errore;


se il frame ricevuto corrotto da errori, allora il NodoDestinazione scarta il frame e non invia alcun messaggio al
Nodo-Sorgente;
se il frame ricevuto correttamente ed ha lo stesso
numero di sequenza del frame ricevuto precedentemente,
allora il Nodo-Destinazione scarta il frame (frame
duplicato) e, poi, invia un messaggio ACK al Nodo-Sorgente;
se il frame ricevuto correttamente e non ha lo stesso
numero di sequenza del frame ricevuto precedentemente,
allora il Nodo-Destinazione accetta il frame e, poi, invia un
messaggio ACK al Nodo-Sorgente.
Baccarelli,
Cordeschi, Patriarca, Polli

51

Protocollo Stop-and-Wait (SaW)


(3/6)
Nel protocollo SaW, il Canale Diretto rimane

inutilizzato

negli intervalli di tempo intercorrenti tra la fine della


trasmissione del frame corrente e listante di ricezione
dellACK o quello di superamento di Tout.
Poich il Nodo-Sorgente non trasmette un nuovo frame
prima che quello attualmente sotto trasmissione sia stato
riscontrato positivamente, nel protocollo SaW il numero di
sequenza NS assume solo i due valori {0,1} (ossia, b=1 e M
 2b 2).
Specificatamente, il Nodo-Sorgente numera
alternativamente le trame trasmesse con NS=0 e NS=1. Il
Nodo-Destinazione pu accettare solo trame consecutive
con numerazione alternata. Quando il Nodo-Destinazione
riceve due trame consecutive prive di errori e con lo
stesso numero di sequenza, il Nodo-Destinazione scarta la
seconda trama ricevuta in quanto trama duplicata.
Baccarelli,
Cordeschi, Patriarca, Polli

52

Protocollo Stop-and-Wait (SaW)


(4/6)

Riscontri
il principio quello per cui il Nodo-Sorgente non invia
la prossima trama se non riceve il riscontro relativo a
quella precedentemente trasmessa.

NodoSorgente

Trama 0

Trama 1

Tout

Trama 1

ACK
NodoDestinazione

ACK

Diagramma spazio tempo

Trama 0 consegnata
allo strato superiore

Trama 1 consegnata
allo strato superiore

Baccarelli,
Cordeschi, Patriarca, Polli

53

Protocollo SaW: Azioni del NodoSorgente (5/6)


Inizializza Numero Sequenza
NS:=0

Preleva nuovo datagramma


Dat e costruisci nuovo frame
F: = < NS, DAT >
Aggiorna NS
NS : = NS+1

Memorizza F in Buffer
Trasmissione
Ri-trasmetti
F

Inizializza Timer

Ri-inizializza
Timer

Preleva frame F dal


Buffer di
Trasmissione

Rimuovi F dal Buffer di


Trasmissione
SI

Ricevuto ACK ?
SI

NO

NO

Timer > Tout

Baccarelli,
Cordeschi, Patriarca, Polli

54

Protocollo SaW: Azioni del Nodo-Destinazione


(6/6)
Inizializza Numero Atteso di Sequenza
X : =0

Hai ricevuto un frame


F dal Canale Diretto?

NO

Attendi

SI

Hai rivelato errori


in F

Aggiorna Numero Atteso di


Sequenza
X : = (X+1)mod.2

Scarta
F

NO
Invia ACK

Estrai Numero di Sequenza NS da F

Invia ACK

Accetta F

SI

SI

NO
NS uguale a x ?

Baccarelli,
Cordeschi, Patriarca, Polli

Scarta
Frame F
(F
duplicato)

55

Protocollo Go-Back-m (GBm) (1/8)


Nel protocollo Go-Back-m, il Nodo-Sorgente

mantiene una finestra di emissione WS di


dimensione m dove sono via via memorizzati i
numeri di sequenza NS che il Nodo-Sorgente
pu trasmettere consecutivamente, senza,
cio, attendere alcun riscontro positivo da
parte del Nodo-Destinazione.
In altri termini, il numero (intero) m 1 nel
nome stesso del protocollo indica il numero
massimo di trame che il Nodo-Sorgente pu
trasmettere consecutivamente in assenza di
alcun riscontro positivo da parte del NodoDestinazione.
Baccarelli,
Cordeschi, Patriarca, Polli

56

Protocollo Go-Back-m (GBm) (2/8)


Nel protocollo GBm, il Nodo-Destinazione accetta
le trame ricevute solo se:
i.
non vi rileva errori e, inoltre,
ii.
esse sono rigidamente in sequenza.

Se una trama ricevuta con errore, allora il NodoDestinazione:


i.
scarta la trama in oggetto;
ii.
richiede la ri-trasmissione della trama in
oggetto;
iii.
scarta anche tutte le trame ricevute dopo la
ricezione della trama con errore, e questo anche
se le suddette trame sono state ricevute
correttamente.

Baccarelli,
Cordeschi, Patriarca, Polli

57

Protocollo Go-Back-m: NodoSorgente (3/8)


Specificatamente, nel protocollo GBm, il NodoSorgente opera come segue:

i.
ii.

iii.

trasmette al massimo, WS m trame consecutive senz


attendere alcun riscontro positivo;
memorizza temporaneamente nel Buffer di Trasmissione
le trame trasmesse e delle quali non ha ancora ricevuto un
riscontro positivo;
quando riceve il riscontro ACK(i), allora:
o
rimuove dal Buffer di Trasmissione tutti i frames con
Numero di Sequenza: NS i;
o
trasmette tutti i frames con numero di sequenza
compreso tra:
(i+1) NS (i+m),
e che non sono mai stati ancora trasmessi.
o
Infine, memorizza nel Buffer di Trasmissione i frames
che sono stati correttamente trasmessi;
Baccarelli,
Cordeschi, Patriarca, Polli

58

Protocollo Go-Back-m: NodoSorgente (4/8)


quando riceve NACK(j), allora:

iv.
o
o

ri-trasmette il frame j-mo;


ri-trasmette anche tutti i frames gi trasmessi e con
numero di sequenza NS strettamente maggiore di j;

quando riceve un riscontro (positivo o negativo),


allora:

v.
o

vi.
o
o

inizializza il Timer;

quando il Timer scade (ossia quando Timer> TOUT,


allora:
ri-inizializza (cio pone a zero) il Timer;
ri-trasmette il frame gi trasmesso, ma non ancora
riscontrato positivamente e che, tra tutti i frames gi
trasmessi, ma non ancora ri-scontrati, quello col
numero di sequenza NS pi piccolo (ossia, il frame pi
vecchio).
Baccarelli,
Cordeschi, Patriarca, Polli

59

Protocollo Go-Back-m: NodoDestinazione (5/8)

Nel protocollo GBm, il Nodo-Destinazione opera


come segue su ciascun frame ricevuto dal canale
diretto:
i.
Applica la procedure di rivelazione di errori;
ii.
Se sono stati rivelati errori, allora:
o
invia al Nodo-Sorgente il messaggio NACK(j),
dove j il numero di sequenza del frame con
errori;
o
scarta tutti i frame ricevuti dal Canale
Diretto e con numero di sequenza
strettamente maggiore di j.
Baccarelli,
Cordeschi, Patriarca, Polli

60

Protocollo Go-Back-m: NodoDestinazione (6/8)


iii.

iv.

Se non sono stati rivelati errori e il frame


ricevuto non un frame duplicato, allora:
o
accetta il frame ricevuto;
o
invia al Nodo-Sorgente il messaggio ACK(j),
dove j il numero di sequenza del frame
ricevuto;
Se non sono stati rivelati errori e il frame
ricevuto un frame duplicato, allora:
o
scarta il frame ricevuto;
o
invia al Nodo-Sorgente il messaggio ACK(j),
dove j il numero di sequenza del frame
ricevuto.
Baccarelli,
Cordeschi, Patriarca, Polli

61

Protocollo Go-Back-m: Azioni del


Nodo-Sorgente (7/8)
Inizializza Timer
Timer : = 0
Trasmetti m frame
consecutivi

Trasmetti tutti i frame


non ancora trasmessi e
con NS compreso tra
(i+1)<=NS<= (i+m)

Timer : =0
Timer > Tout
Rimuovi dal Buffer di
Trasmissione tutti i
frame con numeri di
Sequenza:
NS<=i

Tra tutti i frame trasmessi


e non ancora riscontrati, ritrasmetti quello col NS pi basso

Memorizza frames Trasmessi


nel Buffer di Trasmissione
SI

Timer : =0

NO
SI

Ricevuto ACK (i)?


NO
Ricevuto NACK (j)?

NO

SI
Timer : =0
Baccarelli,
Cordeschi, Patriarca, Polli

Ritrasmetti il frame j-mo


E, poi, tutti i frames gi
Trasmessi dopo il frame j-mo

62

Protocollo Go-Back-m: Azioni del


Nodo-Destinazione (8/8)
Inizializza Numero Atteso di Sequenza
X : = 0

Hai ricevuto un frame F


dal Canale Diretto?

Attendi

SI
Estrai Numero di
Sequenza NS dal frame
F

Invia
ACK (NS)

Aggiorna il Numero
Atteso di Sequenza:
X : = (NS+1) mod. M

NS = X ?

NO

Scarta il frame
F

SI
Accetta
Frame F

NO

Hai rivelato errori


nel frame F ?

Baccarelli,
Cordeschi, Patriarca, Polli

SI

Invia
NACK (NS)

Scarta
Frame F

63

Protocollo Selective Repeat (SR)


(1/15)

Nel protocollo SR, il Nodo-Sorgente pu trasmettere


consecutivamente un numero massimo di trame WS 1
senza bisogno di ricevere alcun riscontro positivo dal
Nodo-Destinazione.

Il Nodo-Destinazione pu accettare un numero


massimo di trame WR 1 anche se ricevute non in
ordine; ci richiede la presenza presso il NodoDestinazione di un Buffer di Ricezione che consenta
di ripristinare lordine corretto delle trame ricevute,
affinch i Datagrammi da esse trasportati possano
essere consegnati in ordine sequenziale allo Strato di
Rete del Nodo-Destinazione.
Baccarelli,
Cordeschi, Patriarca, Polli

64

Protocollo SR (2/15)
Nel protocollo SR, il riscontro NACK(i) indica

che il solo frame i-mo deve essere


ritrasmesso dal Nodo-Sorgente, ma non indica
che tutti i frame precedenti li-mo sono stati
ricevuti correttamente.

Nel protocollo SR, il riscontro ACK(i) indica

che il frame i-mo e tutti quelli precedenti


sono stati ricevuti correttamente dal NodoDestinazione.
Baccarelli,
Cordeschi, Patriarca, Polli

65

Protocollo SR- Finestre di


Trasmissione e Ricezione (3/15)
Nel protocollo SR,
il Nodo-Sorgente mantiene e aggiorna una finestra che
contiene WS 1 numeri di sequenza consecutivi. La
suddetta finestra detta Finestra di Trasmissione, e, in
ogni istante, contiene i numeri di sequenza dei frame che il
Nodo-Sorgente pu trasmettere consecutivamente senza
bisogno di attendere riscontri da parte del NodoDestinazione;
il Nodo-Destinazione mantiene ed aggiorna una finestra

che contiene WD 1 numeri di sequenza consecutivi. La


suddetta finestra detta Finestra di Ricezione, e, in ogni
istante, contiene i numeri di sequenza dei frame che il
Nodo-Destinazione disposto ad accettare, anche se
ricevuti non in ordine sequenziale.
Baccarelli,
Cordeschi, Patriarca, Polli

66

Protocollo SR- Finestre di


Trasmissione e Ricezione (4/15)

In ogni istante,
i.
il Nodo-Sorgente non pu trasmettere (o ritrasmettere) frame i cui Numeri di Sequenza non
cadano nella Finestra di Trasmissione corrente;
ii.

il Nodo-Destinazione non pu accettare trame i


cui numeri di sequenza non cadano nella corrente
Finestra di Ricezione, anche se le suddette
trame sono state ricevute correttamente.

Baccarelli,
Cordeschi, Patriarca, Polli

67

Protocollo SR- Aggiornamento della


Finestra di Trasmissione (5/15)
Indichiamo con IS 0 lestremo inferiore
corrente della Finestra di Trasmissione,
ossia il pi piccolo Numero di Sequenza che
fa correntemente parte della Finestra di
Trasmissione. Allora:

i.

la Finestra di Trasmissione corrente costituita


da tutti i Numeri di Sequenza NS compresi tra
IS NS ( IS + WS 1) mod. M
Baccarelli,
Cordeschi, Patriarca, Polli

68

Protocollo SR- Aggiornamento della


Finestra di Trasmissione (6/15)
ii.

Quando il Nodo-Sorgente riceve un


riscontro ACK(i), allora aggiorna il valore di
IS in accordo a :

IS:= (i+1) mod. M


iii.

Poich i riscontri ACK(i) ricevuti dal NodoSorgente hanno Numero di Sequenza


incrementale, e poich, alla ricezione di ciascun
ACK(i), il Nodo-Sorgente aggiorna (ovvero
incrementa) IS, la Finestra di Trasmissione
detta anche Finestra Mobile (Sliding Window).
Baccarelli,
Cordeschi, Patriarca, Polli

69

Protocollo SR- Aggiornamento della


Finestra di Ricezione (7/15)
Indichiamo con ID 0 lestremo inferiore
corrente della Finestra di Ricezione, ossia il
pi piccolo Numero di Sequenza che il NodoDestinazione correntemente in grado di
accettare.
Allora,
i.

La Finestra di Ricezione corrente costituita da


tutti i Numeri di Sequenza compresi tra:
ID NS ( ID+ WD 1) mod. M.
Baccarelli,
Cordeschi, Patriarca, Polli

70

Protocollo SR- Aggiornamento della


Finestra di Ricezione (8/15)
ii.

Dopo aver inviato al Nodo-Sorgente un riscontro positivo


ACK(j), il Nodo-Destinazione aggiorna ID in accordo a:
ID := (NSMAX + 1 ) mod. M,

iii.

dove NSMAX il valore pi alto del Numero di Sequenza


dei frame che il Nodo-Destinazione ha ricevuto senza
errori e in ordine sino allistante corrente.
In generale, NSMAX J. Quindi, poich, ad ogni invio di
un riscontro ACK(.), lestremo inferiore ID della Finestra
di Ricezione assume un valore non inferiore a quello
assunto precedentemente, anche la Finestra di Ricezione
una Finestra Mobile (Sliding Window).
Baccarelli,
Cordeschi, Patriarca, Polli

71

Protocollo SR- Nodo Sorgente (9/15)


Nel protocollo SR, il Nodo-Sorgente opera come
segue:
i.

ii.

senza attendere alcun riscontro, il NodoSorgente trasmette tutti i frame che non sono
gi stati trasmessi e i cui Numeri di Sequenza
cadono nella Finestra di Trasmissione corrente;
memorizza temporaneamente nel Buffer di
Trasmissione le trame trasmesse e delle quali non
ha ancora ricevuto un riscontro positivo;

Baccarelli,
Cordeschi, Patriarca, Polli

72

Protocollo SR- Nodo Sorgente


(10/15)
i.
o
o
o

quando riceve il riscontro ACK(i), allora:


rimuove dal Buffer di Trasmissione tutti i frames
con Numeri di Sequenza: NS i;
aggiorna IS in accordo a: IS:= (i+1) mod. M;
trasmette tutti i frame che non sono stati ancora
trasmessi e che hanno un Numero di Sequenza
compreso tra:
IS NS ( IS + WS 1) mod. M;

memorizza i frame trasmessi nel Buffer di


Trasmissione.
Baccarelli,
Cordeschi, Patriarca, Polli

73

Protocollo SR- Nodo Sorgente (11/15)


quando riceve NACK(j), allora

iv.
o

ri-trasmette solo il frame j-mo;

quando riceve un riscontro (positivo o


negativo), allora

v.
o

vi.
o
o

inizializza il Timer;

quando il Timer scade (ossia quando Timer >


TOUT )
ri-inizializza il Timer;
tra tutti i frame gi trasmessi e non riscontrati
positivamente, ri-trasmette quello con il Numero
di Sequenza pi piccolo.
Baccarelli,
Cordeschi, Patriarca, Polli

74

Protocollo SR- Nodo Destinazione


(12/15)
Nel protocollo SR, il Nodo-Destinazione
estrae il Numero di Sequenza NS dal frame
F correntemente ricevuto dal Canale Diretto
e, quindi:
se NS non cade nella Finestra di Ricezione
corrente, allora il Nodo-Destinazione scarta il
frame F ricevuto;
se NS cade nella Finestra di Ricezione corrente
e in F sono rivelati errori, allora il NodoDestinazione:

i.

ii.

o
o

scarta il frame F ricevuto;


Invia al Nodo-Sorgente il riscontro NACK(NS).
Baccarelli,
Cordeschi, Patriarca, Polli

75

Protocollo SR- Nodo Destinazione


(13/15)
Se NS cade nella Finestra di Ricezione corrente e
in F non sono rivelati errori, allora il NodoDestinazione:

iii.

o
o
o
o

pone F nel Buffer di Ricezione;


ri-ordina i frame correntemente contenuti nel Buffer di
Ricezione secondo Numeri di Sequenza crescenti;
invia al Nodo-Sorgente il riscontro ACK(NS);
aggiorna lestremo inferiore ID della Finestra di Ricezione
in accordo a:

ID := (NSMAX + 1 ) mod. M

preleva dal Buffer di Ricezione tutti i frame ivi contenuti


con Numeri di Sequenza strettamente consecutivi e li
passa allo Strato di Rete del Nodo-Destinazione.
Baccarelli,
Cordeschi, Patriarca, Polli

76

Protocollo SR- Azioni del Nodo


Sorgente (14/15)
Inizializza
IS : = 0 e Timer : = 0
Trasmetti tutti i frame non ancora
trasmessi e con Numero di
Sequenza NS:
IS NS ( IS + WS 1) mod. M

Memorizza frame trasmessi nel


Buffer di Trasmissione

Timer : = 0

Elimina dal Buffer di


Trasmissione tutti i frame con
NS ( i )
IS : = ( i+1 ) mod.M

Ritrasmetti il frame
non ancora
riscontrato
e con Numero di
Sequenza pi piccolo

Timer > Tout

SI

Timer : =0

NO
SI

Ricevuto ACK (i)?

Ritrasmetti solo il
frame j-mo

NO
NO

Baccarelli,
Ricevuto
NACK (j)?

Cordeschi, Patriarca, Polli

SI

Timer : =0

77

Protocollo SR- Azioni del Nodo


Destinazione (15/15)
Inizializza
ID : = 0

Hai ricevuto un frame


F dal Canale Diretto?
Preleva dal Buffer di
Ricezione tutti i frame con
Numeri di Sequenza
strettamente consecutivi

Attendi

Estrai da F il Numero di Sequenza


NS

Aggiorna ID come in
ID : = ( NSmax + 1 ) mod.M

E NS compreso nella
Finestra di Ricezione
[ID, (ID + WD 1 ) mod.M ]
?

Invia ACK(NS)

Memorizza F nel Buffer di


Ricezione.
Ri-ordina il Buffer di
Ricezione

NO

NO

Scarta F

SI
NO

Sono rivelati errori in


F ?
Baccarelli,

Cordeschi, Patriarca, Polli

SI

Invia NACK (NS)

78

Ambiguit nella Numerazione


delle Sequenza nel protocollo SR
(1/3)

Come gi osservato, la Numerazione delle


Sequenze mod.M, con M2b, b 1. La
numerazione mod.M pu dar luogo ad
ambiguit.

Baccarelli,
Cordeschi, Patriarca, Polli

79

Ambiguit nella Numerazione delle


Sequenza nel protocollo SR (2/3)
Esempio di ambiguit di numerazione

o
o

o
o

Supponiamo M=23=8 ed anche WS=8.


Assumiamo che il Nodo-Sorgente trasmetta 8 trame
consecutive, con Numeri di Sequenza pari a: 4, 5, 6, 7, 0, 1,
2, 3.
Il Nodo-Ricevente invia indietro al Nodo-Sorgente il
riscontro positivo ACK(3).
Purtroppo, il Nodo-Sorgente pu interpretare ACK(3) in
due modi diversi:
i.
Il Nodo-Destinazione ha ricevuto correttamente tutte
le 8 trame trasmesse
ii.
Il Nodo-Destinazione non ha ricevuto correttamente
nessuna delle 8 trame trasmesse, e il messaggio ACK(3)
si riferisce alla trama con NS=3 che era gi stata
trasmessa prima della trasmissione della trama con
NS=4.
Baccarelli,
Cordeschi, Patriarca, Polli

80

Ambiguit nella Numerazione delle


Sequenza nel protocollo SR (3/3)

Si pu dimostrare che, nel protocollo SR, lambiguit


di numerazione delle trame eliminata se le
dimensioni WS e WD delle finestre di trasmissione e di
ricezione soddisfano alla seguente disuguaglianza:
WS+WD M2b

Tipicamente, nel protocollo SR si pone


WS WD = M/2.
Baccarelli,
Cordeschi, Patriarca, Polli

81

Confronto Complessit-Prestazioni
tra i protocolli ARQ (1/2)
Tutti e tre i protocolli ARQ ri-trasmettono uno stesso frame sin

tanto che non ricevono un riscontro positivo. Quindi, tutti e tre i


protocolli danno luogo alla stessa Probabilit di Errore residua e,
da questo punto di vista, sono equivalenti.
Il protocollo SaW trasmette un frame e poi si arresta sino alla
ricezione del corrispondente riscontro. I protocolli GBm e SR
trasmettono senza mai interrompersi nuovi frame o frame
riscontrati negativamente. Quindi il protocollo SaW quello che
utilizza di meno la capacit trasmissiva del Canale Diretto.
Il protocollo SR ri-trasmette solo i frame in cui il NodoDestinazione ha rivelato errori. Il protocollo GBm ri-trasmette
anche i frame che seguono quelli rivelati con errori. Quindi, il
protocollo SR quello che utilizza meglio la capacit trasmissiva
del Canale Diretto.

Baccarelli,
Cordeschi, Patriarca, Polli

82

Confronto Complessit-Prestazioni
tra i protocolli ARQ (2/2)
Il protocollo SR richiede la Numerazione mod.M dei frame

trasmessi e limpiego di un Buffer in Trasmissione e di un


Buffer in Ricezione.
Il protocollo GBm richiede la Numerazione mod.M dei
frame trasmessi e limpiego del solo Buffer di
Trasmissione.
Il protocollo SaW richiede solo la Numerazione mod.2 dei
frame trasmessi e limpiego di un Buffer di Trasmissione in
grado di memorizzare un solo frame alla volta.
Quindi il protocollo SR il pi complesso da realizzare,
mentre il protocollo SaW il pi semplice da realizzare.
Baccarelli,
Cordeschi, Patriarca, Polli

83

Servizio di Controllo di Flusso (1/4)

Supponiamo che il Nodo-Sorgente S trasmetta


trame al Nodo-Destinazione D . Supponiamo che le
trame ricevute dal Nodo-Destinazione siano
temporaneamente memorizzate in un Buffer di
Ricezione che pu contenere al pi NF 1 trame.
Lo scopo del Servizio di Controllo di Flusso quello di
regolare (ossia, controllare) la velocit con cui il
Nodo-Sorgente invia nuove trame in modo che il
numero di trame da memorizzare nel Buffer di
Ricezione non sia mai superiore a NF.
Baccarelli,
Cordeschi, Patriarca, Polli

84

Controllo di Flusso mediante il


protocollo SR (2/4)
Il protocollo SR precedentemente descritto
anche in grado di espletare il Servizio di Controllo
di Flusso.

Nel protocollo SR, il Controllo di Flusso viene


effettuato:
i.
scegliendo opportunamente le dimensioni WS e
WD delle finestre di trasmissione e di ricezione;
ii.
regolando la velocit (ossia, il ritmo) con cui il
Nodo-Destinazione invia indietro al NodoSorgente messaggi di riscontro positivi (riscontri
ACK).

Baccarelli,
Cordeschi, Patriarca, Polli

85

Controllo di Flusso mediante il


protocollo SR (3/4)

Ricordiamo che, nel protocollo SR:


i.
WS il numero massimo di trame che il
Nodo-Sorgente pu trasmettere
consecutivamente senza bisogno di
ricevere riscontri positivi da parte del
Nodo-Destinazione;
ii. WD il numero massimo di trame che il
Nodo-Destinazione pu ricevere
consecutivamente senza bisogno di inviare
messaggi ACK(.) al Nodo-Sorgente.
Baccarelli,
Cordeschi, Patriarca, Polli

86

Controllo di Flusso mediante il


protocollo SR (4/4)
Quindi,

i.

ii.

se si scelgono: WS NF e WD NF , e, inoltre,

se il Nodo-Destinazione rallenta la velocit con

cui invia messaggi ACK al Nodo-Sorgente quando


il numero di trame temporaneamente
memorizzate nel Buffer di Ricezione si avvicina a
NF;
allora
il numero di trame da tenere in memoria nel
Buffer di Ricezione non superer mai il valore
massimo consentito NF.
Baccarelli,
Cordeschi, Patriarca, Polli

87

Servizio di Accesso Multiplo a


Canali Condivisi

Baccarelli,
Cordeschi, Patriarca, Polli

88

Il problema dellAccesso Multiplo (1/5)

Il problema dellaccesso multiplo si ha quando pi NodiSorgente vogliono trasmettere le loro trame ad uno o pi
Nodi-Destinazione attraverso un singolo canale
trasmissivo.

Il canale trasmissivo , quindi, condiviso dalle


trasmissioni di pi (almeno due) Nodi-Sorgente e, per
questo motivo, viene detto canale broadcast.

Dal punto di vista fisico, un canale broadcast pu essere


di tipo:
i.
Cablato (cavo coassiale, doppino telefonico, fibra
ottica);
ii.
Radio (trasmissione nello spazio libero).
Baccarelli,
Cordeschi, Patriarca, Polli

89

Il problema dellAccesso Multiplo


(2/5)

Se due o pi Nodi-Sorgente inviano simultaneamente


i segnali da esse generati nel canale condiviso, allora
i segnali interferiscono tra di loro e il segnale
interferito risultante inutilizzabile da parte dei
Nodi-Destinazione.
In questo caso, si dice che si verificata una
collisione tra i segnali trasmessi simultaneamente dai
Nodi-Sorgente.
Lo scopo dei Protocolli per lAccesso Multiplo
(Protocolli MAC) quello di regolare (disciplinare)
opportunamente le trasmissioni dei Nodi-Sorgente in
modo da evitare (o, quanto meno, minimizzare)
loccorrenza di collisioni.

Baccarelli,
Cordeschi, Patriarca, Polli

90

Il problema dellAccesso Multiplo


(3/5)

Pi sorgenti (almeno 2) che trasmettono verso le


destinazioni (almeno una) tramite lo stesso mezzo
trasmissivo
D1

S1

D2

S2

D3
S3

Mezzo trasmissivo (cavo, fibra, aria)

D5

D4

La trasmissione da parte delle sorgenti deve essere

disciplinata attraverso regole di accesso al mezzo per

evitare fenomeni di interferenza tra messaggi generati


da sorgenti diverse (collisioni).
Baccarelli,
Cordeschi, Patriarca, Polli

91

Il problema dellAccesso Multiplo


(4/5)
Collegamento broadcast o multiaccesso (cavo o canale
condiviso: multipunto)
Il termine broadcast indica che quando un nodo
trasmette una trama il canale la diffonde e tutti gli altri
nodi ne ricevono una copia
o Ethernet tradizionale
o Wireless LAN 802.11

Shared wireless
Shared wire

(e.g. WaveLAN)
Satellite

(e.g. Ethernet)
Baccarelli,
Cordeschi, Patriarca, Polli

92

Il problema dellAccesso Multiplo


(5/5)
Centinaia o anche migliaia di nodi possono

comunicare direttamente su un canale


broadcast:
o

Si genera una collisione quando due o pi nodi


trasmettono trame contemporaneamente.

Protocolli

di Accesso Multiplo

Protocolli che fissano le modalit con cui i nodi


regolano limmissione delle Trame da essi
generate nel canale condiviso.
Baccarelli,
Cordeschi, Patriarca, Polli

93

Sistema di Accesso Multiplo (1/3)


In generale, un sistema di Accesso Multiplo

costituito da N2 stazioni (nodi), ciascuna


delle quali pu sia trasmettere che ricevere
da un canale condiviso di capacit C
(bit/sec).
Ciascuna stazione pu sia inviare trame che
ricevere da qualsiasi altra stazione.
Ciascuna stazione univocamente
individuata da un indirizzo MAC costituito
da 6 byte ed espresso in forma
esadecimale.
Baccarelli,
Cordeschi, Patriarca, Polli

94

Sistema di Accesso Multiplo


(2/3)
Canale condiviso (Broadcast channel)

Nodo 1

Nodo 2

Nodo N

dmax (m)
Baccarelli,
Cordeschi, Patriarca, Polli

95

Sistema di Accesso Multiplo:


Parametri Principali (3/3)

Con riferimento alla figura precedente,


introduciamo le seguenti definizioni:

o
o
o
o
o
o
o
o

N  numero di nodi che compongono il sistema;


C (bit/sec)  capacit trasmissiva del Canale condiviso;
dMAX (m)  distanza massima tra due nodi del sistema;
v (m/sec)  velocit di propagazione del segnale
elettrico nel canale condiviso;
 dMAX /v (sec) = ritardo massimo di propagazione del
segnale elettrico;
L MIN (bit)  lunghezza minima di una trama;
LMAX (bit)  lunghezza massima di una trama;
Tt  LMAX/C (sec) = tempo necessario a trasmettere una
trama di lunghezza massima.
Baccarelli,
Cordeschi, Patriarca, Polli

96

Propriet di un Protocollo MAC ideale

Idealmente, un protocollo MAC per un sistema di

Accesso Multiplo con N nodi che impiega un


canale condiviso di capacit C dovrebbe
possedere le seguenti due propriet:
i.
quando un solo nodo ha dati da trasmettere,
quel nodo pu trasmettere ad una velocit
(tasso) pari alla capacit C (bit/sec) del
canale condiviso (Propriet di utilizzo
efficiente del canale);
ii.
quando N 2 nodi hanno dati da trasmettere,
ciascuno di questi pu trasmettere ad una
velocit media di C/N (bit/sec) (Propriet di
equit di condivisione del canale).
Baccarelli,
Cordeschi, Patriarca, Polli

97

Prestazioni di un Protocollo MACEfficienza (1/3)


Supponiamo assegnato un Protocollo MAC che
regoli (in qualche modo) le trasmissioni di N 2
nodi attraverso un canale condiviso di capacit C.

In ogni intervallo temporale di durata Tt, il


canale condiviso pu trovarsi in uno e in uno solo
dei seguenti tre stati:
i.
Stato libero: nessun nodo sta trasmettendo
nel canale;
ii.
Stato di collisione: due o pi nodi stanno
trasmettendo simultaneamente nel canale;
iii. Stato utile: uno e uno solo nodo sta
trasmettendo nel canale.

Baccarelli,
Cordeschi, Patriarca, Polli

98

Prestazioni di un Protocollo MACEfficienza (2/3)


Indichiamo con:
o
o

o
o

TL (sec)  tempo che il canale passa nello stato Libero;


TC (sec)  tempo che il canale passa nello stato di
Collisione;
TU (sec)  tempo che il canale passa nello stato Utile;
Ttot (sec)  TL + TC + TU = tempo di lavoro del canale.

Ci posto, lefficienza del protocollo MAC


assegnato cos definita:
TU
TU
 limTtot +
limTtot +
Ttot
TC + TL + TU
Baccarelli,
Cordeschi, Patriarca, Polli

99

Prestazioni di un Protocollo MACEfficienza (3/3)

Il valore di varia al variare del Protocollo MAC


considerato.
Dal punto di vista analitico, un numero reale
compreso in [0,1].
Dal punto di vista ingegneristico, i Protocolli MAC
pi efficienti (migliori) sono quelli che hanno pi
alti valori di , perch consentono agli N nodi di
condividere il canale broadcast dando luogo a
poche collisioni.
Baccarelli,
Cordeschi, Patriarca, Polli

100

Classificazione dei Protocolli MAC


(1/2)

Protocolli MAC si possono classificare in


(almeno) due categorie:
i.
Protocolli a suddivisione del canale (Channel
Partitioning Protocols): partizionano la
capacit C del canale condiviso in parti pi
piccole, dette sotto-canali, non interferenti;
ii.
Protocolli ad accesso casuale (Random Access
Protocols): il canale condiviso non viene
suddiviso tra i nodi. Trasmissioni simultanee
danno luogo a collisioni. I nodi collidenti ritrasmettono le trame che hanno colliso.
Baccarelli,
Cordeschi, Patriarca, Polli

101

Classificazione dei Protocolli MAC


(2/2)
Protocolli MAC

Protocolli a
suddivisione
del canale

TDMA

FDMA

Protocolli ad
accesso casuale

CDMA

Slotted
ALOHA

Baccarelli,
Cordeschi, Patriarca, Polli

CSMA/CD

102

Protocolli a suddivisione di canaleGeneralit (1/2)


Consideriamo un sistema di accesso con N 2
nodi che impiega un canale condiviso di capacit
C (bit/sec).

Per definizione, un Protocollo MAC a


suddivisione di canale opera come segue:
i.
Suddivide il canale in N sotto-canali non
interferenti, ciascuno di capacit C/N
(bit/sec);
ii.
Assegna permanentemente a ciascuno dei nodi
uno dei sotto-canali per lintero tempo della
comunicazione.

Baccarelli,
Cordeschi, Patriarca, Polli

103

Protocolli a suddivisione di canaleGeneralit (2/2)


i.
ii.
iii.

iv.
v.

Dalla precedente definizione, discendono alcune propriet


generali possedute da tutti i protocolli MAC a suddivisione di
canale, e cio:
La trasmissione di dati da parte di ciascun nodo avviene sempre
senza collisioni;
Tutti i nodi possono trasmettere alla stessa velocit di C/N (il
protocollo equo);
Quando c un solo nodo che ha dati da trasmettere, esso pu
farlo alla velocit di C/N (bit/sec) (il protocollo non utilizza
efficientemente la capacit C del canale condiviso);
Il protocollo offre un modo di trasferimento a circuito;
C bisogno di un nodo controllore (nodo Master) che disciplini
laccesso al canale condiviso da parte degli N nodi (il protocollo
di tipo centralizzato).
Baccarelli,
Cordeschi, Patriarca, Polli

104

Protocolli a suddivisione di canaleClassificazione


A seconda della tecnica (strategia) impiegata
per partizionare il canale condiviso in sottocanali non interferenti, i Protocolli a suddivisione
del canale possono essere di tre tipi :

i.

Protocollo daccesso a Divisione di Tempo

ii.

Protocollo daccesso a Divisione di Frequenza

iii.

Protocollo daccesso a Divisione di Codice

(TDMA);
(FDMA);
(CDMA).

Baccarelli,
Cordeschi, Patriarca, Polli

105

Accesso Multiplo a divisione di tempo

(TDMA, Time Division Multiple Access)


Le sorgenti trasmettono sulla stessa banda di frequenza ma in
intervalli di tempo diversi, alternati e separati da intervalli di
guardia Tg
1

Tempo (sec)

Trama

Tg

timeslot

Definizione di una trama : ciascuna destinazione estrae il proprio


segnale generato dalla sorgente desiderata sulla base del
sincronismo della trama

Esempi:

i.
ii.

Assegnazione timeslot per collegamenti GSM


trasmissioni dati su fibra ottica, con allocazione fissa o
dinamica degli intervalli (timeslot)
Baccarelli,
Cordeschi, Patriarca, Polli

106

Accesso Multiplo a divisione di


frequenza

(FDMA, Frequency Division Multiple Access)


Le varie sorgenti trasmettono contemporaneamente nel tempo
ma impiegano bande di frequenza diverse, separate da bande di
guardia Bg
T1

T2

T3

f1

f2

f3

B1

B2

Bg

B3

Frequenza
(Hz)

Ciascuna destinazione estrae il proprio segnale della sorgente


desiderata tramite un filtraggio in banda
Esempi:
i. broadcasting radio e tv, con allocazione fissa della banda
(multiplazione in frequenza)
ii. trasmissioni in HF, con allocazione dinamica della banda
Baccarelli,
Cordeschi, Patriarca, Polli

107

Accesso Multiplo a divisione di codice


(1/5)
Dato A=1
Utente A

t cA(t )

Tb

Codice A:
1-1-11-111-1

rA(t )

Tc

Tb

t
Tb

dt

ATb

sB(t )

cB(t )

-1

Tc

Codice B:
-1-111-11-11

Tb

cA(t )

Dato B= 1
Utente B

integratore

sA(t )

Codice A:
1-1-11-111-1

Tc
Tb

Trasmettitori
(Spreaders)

Decisore

Canale Ricevitore per lutente A


(Despreader)
Baccarelli,
Cordeschi, Patriarca, Polli

108

Accesso Multiplo a divisione di


codice- Parametri di sistema (2/5)
Ciascun utente (A o B) genera forme donda binarie che
assumono i valori 1. Ciascuna forma donda elementare di durata
TB, detto periodo di bit
Ciascun utente moltiplica ciascun suo singolo dato da trasmettere
per un segnale di codice (cA(t) o cB(t)) di durata complessiva Tb e
costituito da SF>1 forme donda binarie elementari, ciascuna delle
quali di durata TC (periodo di chip).
Tb
Il rapporto SF
>1 detto spreading factor (fattore di
TC
allargamento) del sistema e rappresenta il numero di chips contenuti in un
periodo di bit TB.
Il segnale CDMA sA(t) trasmesso dallutente A durante un periodo di
bit quindi pari a:
sA(t)=AcA(t),

0 t Tb,

dove A= 1 il bit di messaggio trasmesso


dallutente A.
Baccarelli,
Cordeschi, Patriarca, Polli

109

Accesso Multiplo a divisione di codiceForme donda dei segnali (3/5)


+1

A(t)

-1

(segnale digitale dellutente A)


2Tb

Tb

CA(t)

(segnale di codice A)

+1
Tb

-1

2Tb

2Tb

TC

SA(t)  A(t)CA(t)

(segnale CDMA di A)

+1
Tb

-1

SF 

Tb
=8
TC

Baccarelli,
Cordeschi, Patriarca, Polli

110

Accesso Multiplo a divisione di codice


(4/5)
La Banda occupata dal segnale CDMA generato da ciascuno
degli utenti (A o B) SF volte la banda fm del
corrispondente segnale binario prima della moltiplicazione per
il segnale di codice, ossia abbiamo che

BCDMA SF x fm
(allargamento di banda del segnale A)

Quindi, il CDMA un formato di segnale a Banda LARGA.


Baccarelli,
Cordeschi, Patriarca, Polli

111

Accesso Multiplo a divisione di codice


(5/5)
rumore di canale e sotto lassunzione (fondamentale) che i
due segnali di codice soddisfino alla seguente condizione di ortogonalit:

In assenza di

Tb

CA (t)CB (t)dt 0 (condizione di ortogonalit tra i segnali di codice),

alluscita dellintegratore di ricezione sempre ricostruibile senza errore


il valore rA del bit di messaggio A realmente trasmesso dallutente A.
Infatti dalla figura precedente abbiamo che:
Tb

rA =

Tb

1 Tb

C A (t )[ S A (t ) + S B (t )]dt = A C A2 (t )dt + B

C A (t )CB (t )dt =

Tb

+Tb, se A=+1
= A 1dt = Tb A =
-Tb , se A=-1
0

Baccarelli,
Cordeschi, Patriarca, Polli

112

Protocolli MAC Ad Accesso CasualeGeneralit (1/3)


Consideriamo N 2 nodi che condividono un canale di
capacit C (bit/sec).

Per definizione, i protocolli ad accesso casuale


operano in accordo alla eseguenti regole generali:
i.
Un nodo che vuole trasmettere, lo fa sempre alla
velocit di C (bit/sec);
ii.
Quando si verifica una collisione, ciascun nodo
coinvolto nella collisione ritrasmettere il suo
frame ripetutamente, sin tanto che il frame
trasmesso senza collisione;
Baccarelli,
Cordeschi, Patriarca, Polli

113

Protocolli MAC Ad Accesso CasualeGeneralit (2/3)


i.

ii.

Quando un nodo subisce una collisione, non


cerca di ritrasmettere il suo frame
immediatamente. Al contrario, il nodo
attende un certo intervallo di tempo prima
di ritrasmettere il suo frame;
Ciascun nodo coinvolto in una collisione
sceglie un tempo di attesa per la
ritrasmissione del suo frame
indipendentemente da tutti gli altri nodi.
Baccarelli,
Cordeschi, Patriarca, Polli

114

Protocolli MAC Ad Accesso CasualeGeneralit (3/3)


Dalla definizione precedente, scaturiscono le seguenti propriet
generali dei Protocolli ad Accesso Casuale:
i.
Quando c un solo nodo che vuole trasmettere, pu farlo
alla velocit C(bit/sec) (Propriet di utilizzo efficiente del
canale);
ii.
Quando N 2 nodi hanno dati da trasmettere, il protocollo
non garantisce che possano farlo ad una velocit media di
C/N (bit/sec) (il protocollo non equo);
iii.
Trasmissioni simultanee da parte di pi nodi danno sempre
origine a collisioni;
iv.
Il protocollo offre un modo di trasferimento a
pacchetto con perdita;
v.
Non c alcun nodo controllore (nodo Master) che
disciplina le trasmissioni da parte dei nodi (il protocollo
di tipo Distribuito). Baccarelli,
115
Cordeschi, Patriarca, Polli

Protocolli MAC ad Accesso CasualeClassificazione (1/2)

In funzione delle diverse tecniche (strategie) che


possono essere adottate per prevenire oppure per
risolvere le collisioni, i protocolli MAC ad accesso
casuale si suddividono in (almeno) due categorie:
i.

Protocolli di tipo ALOHA

Non effettuano alcune rilevazione dello stato (libero


oppure occupato) del canale condiviso al momento di
iniziare la trasmissione di ua trama da parte di un
nodo.
ii.

Protocolli di tipo Carrier Sensing Multiple


Access with Collision Detection (CSMA/CD)
Baccarelli,
Cordeschi, Patriarca, Polli

116

Protocolli MAC ad Accesso CasualeClassificazione (2/2)

Effettuano una rilevazione (sensing) dello stato


(libero o occupato) del canale prima di iniziare la
trasmissione di una trama, cercando cos di prevenire
gli eventi di collisione. Inoltre, dopo che un nodo ha
iniziato a trasmettere una trama, esso continua a
rilevare lo stato del canale per accorgersi se la
collisione si stia comunque verificando, cos da essere
in grado di sospendere subito la trasmissione non
appena la collisione avviene (Collision Detection).

Baccarelli,
Cordeschi, Patriarca, Polli

117

Protocollo daccesso Slotted ALOHAGeneralit (1/5)

Nei sistemi daccesso Slotted ALOHA, si assume che:


i.
Il tempo suddiviso in sotto-intervalli (timeslot) di durata ciascuno LMAX/C (sec);
ii.
I nodi possono iniziare le trasmissioni solo agli
inizi degli slot;
iii. Ciascun nodo conosce esattamente gli istanti
dinizio dei vari slot;
iv.
Se due o pi nodi trasmettono simultaneamente
in uno stesso slot, i corrispondenti frame
collidono (cio, vanno persi) e i nodi che hanno
colliso si accorgono (rilevano) tale collisione.
Baccarelli,
Cordeschi, Patriarca, Polli

118

Protocollo daccesso Slotted ALOHAFunzionamento (2/5)

Indichiamo con p un valore di probabilit, cio un numero compreso tra


[0,1]. p la probabilit di persistenza del protocollo.
Allora un qualunque nodo che abbia una trama da trasmette opera in
accordo al seguente protocollo Slotted Aloha:
a)
Quando un nodo ha una nuova trama da trasmettere, aspetta
linizio del successivo slot e poi trasmettere lintera trama
durante lo slot;
b)
Se non c stata collisione, il nodo ha trasmesso con successo la
sua trama e torna al passo a);
c)
Se il nodo ha rilevato la collisione, allora esso ritrasmette la
stessa trama con probabilit p in ciascuno dei seguenti slot, sin
tanto che la trama non stata trasmessa senza collisione.
I passi a), b), c) definiscono il modo di operare del protocollo Slotted
ALOHA.

Baccarelli,
Cordeschi, Patriarca, Polli

119

Protocollo daccesso Slotted ALOHACalcolo dellEfficienza (3/5)

Ricordiamo che, per definizione:  lim TU /TTOT


TTOT
Ovvero, lefficienza di un protocollo la frazione del tempo
totale in cui il canale trasmette trame senza collisioni.
Nel caso dello Slotted ALOHA, supponiamo di avere N nodi,
ciascuno dei quali trasmette la propria trama in uno slot con
probabilit p.
Allora, la probabilit Ps che un singolo nodo trasmette la sua
trama senza collisioni : Ps = p (1-p)N-1.
Poich vi sono N nodi, la probabilit totale Pst che un qualsiasi
nodo trasmetta la sua trama con successo pari a:
Pst= NPs= Np (1-p)N-1.
Per definizione, Pst coincide con lefficienza dello Slotted
ALOHA cio Pst = Np (1-p)N-1
Baccarelli,
Cordeschi, Patriarca, Polli

120

Protocollo daccesso Slotted ALOHACalcolo dellEfficienza (4/5)

Definiamo come efficienza massima MAX dello Slotted


ALOHA il seguente limite:

MAX

 lim max
N +
0 p1

Per N finito, il valore p* della probabilit di


persistenza che massimizza : p* = 1/N, cos che
abbiamo:
1

m a x = N p * ( 1 p *) N 1 = 1

N
0 p1

Baccarelli,
Cordeschi, Patriarca, Polli

N 1

.
121

Protocollo daccesso Slotted ALOHACalcolo dellEfficienza (5/5)


Ricordiamo il seguente limite notevole:

lim 1
N +
N

N 1

1
=
e

Allora passando al limite per N lespressione precedentemente

trovata per: m a x , otteniamo che lefficienza massima M A X


0 p1
alla quale pu dar luogo il protocollo Slotted ALOHA pari a :

MAX

 lim N + 1
N

N 1

1
= 0.3678
e

Ci significa che, nel caso dello slotted ALOHA,

al pi, solo (circa)

il 37% degli slot trasporta trame che non collidono. In altri


termini, nello slotted ALOHA, almeno il 63% degli slot o rimane
inutilizzato o trasporta trame che collidono.
Baccarelli,
Cordeschi, Patriarca, Polli

122

Accesso Multiplo con Rivelazione


della portante (CSMA) (1/4)

Una prima strategia che si pu usare per migliorare lefficienza


dello Slotted ALOHA quella di rilevare lo stato del canale
(libero o occupato) prima di iniziare a trasmettere.
Specificatamente, i protocolli di tipo Carrier Sensing Multiple
Access (CSMA) prevedono che ogni nodo che ha una trama da
trasmettere effettui le seguenti operazioni:
i.
Si pone in ascolto del canale (sensing) per verificarne lo
stato;
ii.
Se il canale libero, il nodo trasmette lintera trama;
iii.
Se il canale occupato, il nodo aspetta un opportuno
intervallo di tempo e, poi, torna ad ascoltare il canale.
Quindi, i protocolli CSMA adottano la seguente regola: Ascolta
prima di parlare e, se qualcun altro sta gi parlando, aspetta
finch non ha concluso.
Baccarelli,
Cordeschi, Patriarca, Polli

123

Accesso Multiplo con Rivelazione della


portante (CSMA) (2/4)

La strategia di accesso CSMA non garantisce lassenza di collisioni.


Supponiamo che il nodo B e il nodo D siano alla massima distanza dmax.
o
Supponiamo che, allistante t0, il nodo B ascolti il canale, lo trovi libero
ed inizi a trasmettere;
o
Supponiamo che allistante t1 (dove t1t0), il nodo D ascolti il canale.
o
Se la differenza (t1-t0) minore del ritardo di propagazione del
segnale elettrico nel canale condiviso, ossia, se verificata la
condizione:
(t1-t0) <
allora allistante t1, il nodo D sente il canale libero ed inizia a
trasmettere la propria trama.
o
Poich il nodo B sta gi trasmettendo la propria trama le trame
generate dai nodi D e B collidono.
Ne concludiamo che, in generale, la strategia di accesso CSMA tanto meno
efficace quanto maggiore il ritardo di propagazione del sistema daccesso
considerato.
Baccarelli,
Cordeschi, Patriarca, Polli

124

Accesso Multiplo con Rivelazione


della portante (CSMA) (3/4)

Le collisioni possono ancora verificarsi:


o
tra i due nodi trasmittenti avviene una collisione se
essi accedono al canale in istanti che differiscono tra
loro meno del tempo di propagazione tra i nodi;
o
Il ritardo di propagazione fa s che due nodi non
rilevino la reciproca trasmissione.
collisione
D

Baccarelli,
Cordeschi, Patriarca, Polli

125

Accesso Multiplo con Rivelazione


della portante (CSMA) (4/4)
Il ritardo di

propagazione
gioca un ruolo
importante nel
determinare le
collisioni

Baccarelli,
Cordeschi, Patriarca, Polli

126

CSMA con Rilevazione di Collisione


(CSMA/CD) (1/3)

Le prestazioni dei protocolli CSMA possono essere


migliorate facendo ricorso alla funzione di Rilevazione delle
Collisioni (Collision Detection- CD)
Per definizione, la funzione di Collision Detection richiede
che un qualsiasi nodo che ha gi iniziato a trasmettere
continui ad ascoltare il canale, ed interrompa
immediatamente la trasmissione nel caso in cui si accorga
che c anche un altro nodo che sta trasmettendo.
Quindi, la funzione di Collision Detection permette di
minimizzare la durata temporale di ciascuna collisione.
E da rimarcare che un nodo pu espletare la funzione di
Collision Detection solo durante lintervallo temporale in cui
sta trasmettendo la propria trama, ma non dopo aver
terminato di trasmetterla.
Baccarelli,
127
Cordeschi, Patriarca, Polli

CSMA con Rilevazione di Collisione


(CSMA/CD) (2/3)

Ricapitolando, i protocolli CSMA/CD prevedono che ogni


nodo che abbia una trama da trasmettere:

i.

Ascolti lo stato del canale e inizi a trasmettere solo se

il canale libero (fase CSMA);


ii. Continui ad ascoltare il canale durante la trasmissione
della propria trama e interrompa immediatamente la
trasmissione appena si accorga che un altro nodo sta
trasmettendo (fase CD).

In essenza, i protocolli CSMA/CD adottano la regola:


Ascolta prima di parlare e anche mentre stai parlando.
Baccarelli,
Cordeschi, Patriarca, Polli

128

CSMA con Rilevazione di collisione


(CSMA/CD) (3/3)
Rispetto al

protocollo CSMA,
migliora le
prestazioni
riducendo la
durata temporale
delle collisioni
Baccarelli,
Cordeschi, Patriarca, Polli

129

Il protocollo CSMA/CD (1/2)

Nei sistemi daccessi di tipo CSMA/CD, ciascun nodo opera


in accordo al seguente protocollo:
Nodo pronto a
trasmettere
Canale
occupato?

Attesa di
si

no
Trasmissione e
sensing del canale
Collisione
Rilevata?
no

Scelta casuale del


tempo di attesa
nellinsieme
{0, T0, 2T0, , (2k-1)T0}

Calcolo di (2k-1)T0
si

Trasmetti il
segnale di jam

Trasmissione
completata
Attendi 1=9.6s

Baccarelli,
Cordeschi, Patriarca, Polli

130

Il protocollo CSMA/CD
Definizione dei parametri (2/2)

I parametri introdotti nel diagramma precedente hanno i


seguenti significati/valori:
o
T0 (sec) tempo necessario a trasmettere una trama
di lunghezza minima Lmin/C
tipicamente T0=51.2s;
o
1 tempo che deve intercorrere tra listante in cui
termina la trasmissione di una trama e listante in cui il
nodo torna a sentire il canale per trasmettere la trama
successiva (Inter-Frame Gap)
tipicamente 1 = 9.6 s;
o
K min {Nc,10};
o
Nc numero di collisioni gi subite dalla trama che il
nodo sta cercando di trasmettere.
Baccarelli,
Cordeschi, Patriarca, Polli

131

Il protocollo CSMA/CD- Descrizione (1/3)

Quando il nodo ha una trama da trasmettere, inizia ad


ascoltare (sensing) il canale. Nel caso in cui rilevi una
trasmissione gi in atto, il nodo si pone in uno stato di
attesa per un opportuno intervallo di tempo (sec) e,
quindi, torna di nuovo ad ascoltare il canale.
Nel caso in cui loperazione di Collision Detection rilevi
una collisione mentre il nodo sta gi trasmettendo, il
nodo interrompe immediatamente la trasmissione della
trama e, poi, emette un segnale di allarme (segnale di
jam).
Il segnale di jam una particolare sequenza di 32 bit
che ha il compito di avvertire tutti i nodi del sistema
delle collisioni e, che, quindi, tutti i bit che essi hanno
ricevuto sono da scartare.
Baccarelli,
Cordeschi, Patriarca, Polli

132

Il protocollo CSMA/CD- Descrizione


(2/3)

Dopo la trasmissione del segnale di jam, il nodo si pone in attesa di


riprovare la trasmissione della trama che ha colliso.
La durata (sec) (variabile) dello stato di attesa calcolata
applicando il cosiddetto algoritmo di subentro (Algoritmo di Backoff), che basato sulla definizione di un intervallo di base
T0 51.2s che rappresenta il tempo necessario a trasmettere una
trama di lunghezza minima.
Specificatamente, lAlgoritmo di Back-off prevede che il nodo
torni ad ascoltare il canale dopo un tempo di attesa che scelto
casualmente nellinsieme:
{0, T0, 2T0, , (2k-1)T0},
dove
K min {Nc,10}

e lintero Nc 1 il numero di collisioni che la trama da


trasmettere ha gi subito. Baccarelli,
Cordeschi, Patriarca, Polli

133

Il protocollo CSMA/CD- Descrizione


(3/3)

NellAlgoritmo di Back-off, il numero di possibili valori


assumibili dal tempo di attesa cresce in modo
esponenziale con K, ossia cresce in modo esponenziale
con il numero Nc di collisioni gi subite dalla trama da
trasmettere, almeno finch Nc 10.

Infatti, maggiore Nc, maggiore il numero di nodi che


stanno cercando di trasmettere. Quindi, per evitare
che due o pi nodi continuino a collidere pi e pi volte,
linsieme dei possibili valori che pu assumere deve
crescere al crescere di Nc.
Baccarelli,
Cordeschi, Patriarca, Polli

134

Corretto funzionamento della procedura


di Collision Detection (1/2)

Poich un nodo espleta la funzione di Collision Detection solo


durante lintervallo di tempo in cui sta trasmettendo una
trama, necessario che il tempo
LMIN/C (sec)
che un nodo impiega per trasmettere una trama di lunghezza
minima sia non inferiore al ritardo massimo MAX (sec) con
cui un nodo che ha iniziato a trasmettere di accorge che un
altro nodo sta gi trasmettendo.
Ovviamente, MAX pari al tempo impiegato dal segnale
elettrico per propagarsi dal nodo A al nodo B e, poi, dal nodo
B al nodo A, dove A e B sono due nodi posti alla massima
distanza dMAX . Ovvero,
MAX = 2 = 2 dMAX /v
Baccarelli,
Cordeschi, Patriarca, Polli

135

Corretto funzionamento della procedura


di Collision Detection (2/2)

Quindi, affinch la funzione di CD operi correttamente,


dobbiamo avere
LMIN/C MAX 2 dMAX /v,

ovvero,
dMAX v (m/sec) x LMIN (bit) /2 C (bit/sec)

(1)

Ci significa che i sistemi daccesso di tipo CSMA/CD


hanno una estensione massima dMAX (ovvero, una
copertura) che limitata dal secondo membro della
disuguaglianza riportata nella eq. (1).
Baccarelli,
Cordeschi, Patriarca, Polli

136

Efficienza massima del protocollo


CSMA/CD (1/3)

Limpiego del protocollo CSMA/CD non garantisce


lassenza di collisioni.
Anche nel caso dei sistemi di accesso CSMA/CD, il
canale condiviso dagli N nodi pu trovarsi in uno dei tre
stati:
i. Stato libero,
ii. Stato con collisione,
iii. Stato utile.
precedentemente definiti.

Baccarelli,
Cordeschi, Patriarca, Polli

137

Efficienza massima del protocollo


CSMA/CD (2/3)

Si pu dimostrare che, al tendere allinifinito del numero di


nodi N che compongono il sistema, lefficienza massima di un
sistema CSMA/CD pari a:

dove
o
o
o

M AX

1
=
1 + 5a

a /Tt (sec) tempo di propagazione normalizzato al


tempo di trasmissione;
dMAX /v (sec) = tempo di propagazione del segnale
elettrico nel sistema;
Tt LMAX /C (sec) = tempo di trasmissione di una trama
di dimensione massima.
Baccarelli,
Cordeschi, Patriarca, Polli

138

Efficienza massima del protocollo


CSMA/CD (3/3)

E interessante osservare che:

lim M A X 1 ,
a 0

lim M A X 0 .

a +

Quindi, il protocollo CSMA/CD tanto pi efficiente


(cio, tanto pi capace di evitare collisioni) quanto pi
piccolo il valore a del rapporto tra il ritardo di
propagazione il tempo di trasmissione Tt di una trama
di dimensione massima.
Baccarelli,
Cordeschi, Patriarca, Polli

139

Reti in Area Locale (LAN) e


Reti Ethernet

Baccarelli,
Cordeschi, Patriarca, Polli

140

Reti in Area Locale - Definizione (1/2)

Le reti in Area Locale (Local Area Networks) nascono per


interconnettere utenti terminali distribuiti su unarea geografica
limitata e dellordine di 2.5km-3.0km.
Dal punto di vista componentistico, una LAN costituita da:
o
Pi utenti terminali;
o
Elementi di inter-connessione tra utenti terminali (hub e/o
bridge);
o
Canali trasmissivi che collegano le coppie di nodi.
Le caratteristiche fondamentali di una LAN sono:
i.
Estensione geografica limitata, ossia dMAX 2.5km-3.0km;
ii.
Elementi di inter-connessione che attuano solo protocolli
degli Strati Fisico e di Collegamento;
iii.
Canali trasmissivi che possono essere di tipo punto-punto,
oppure condivisi (canali broadcast).
Baccarelli,
Cordeschi, Patriarca, Polli

141

Reti in Area Locale - Definizione (2/2)

Le LAN si suddividono in due grandi categorie:


i.

LAN cablate (wired LAN):


usano come mezzi trasmissivi i cavi coassiali, e/o i
doppini telefonici e/o le fibre ottiche;

i.

LAN radio (wireless LAN):


usano come mezzo trasmissivo lo spetto radio.

Baccarelli,
Cordeschi, Patriarca, Polli

142

La Famiglia delle LAN Ethernet

Baccarelli,
Cordeschi, Patriarca, Polli

143

Ethernet - Generalit (1/2)

La tecnologia Ethernet nata a met anni 70; ad oggi,


detiene una posizione dominante nel mercato delle LAN
cablate.
Gli adattatori Ethernet sono poco costosi (dellordine dei
20 Euro) e permettono agli utenti collegati di trasmettere
a velocit che vanno dai 10Mb/sec sino ai 10 Gb/sec.
La tecnologia Ethernet comprende tutta una famiglia di
reti che si differenziano principalmente per:
i.
Velocit di trasmissione (dai 10Mb/sec ai 10 Gb/sec);
ii.
Coperture (da qualche decina di metri ai 3.5/4.0km);
iii.
Mezzi trasmissivi impiegati (cavo coassiale, doppino
telefonico, fibra ottica);
iv.
Strategia usata per laccesso (CSMA/CD oppure
accesso dedicato).
Baccarelli,
Cordeschi, Patriarca, Polli

144

Ethernet - Generalit (2/2)

Dal punto di vista dellArchitettura Protocollare, gli standard Ethernet


definiscono solo i protocolli degli:
i.
Strato fisico
ii.
Strato di Collegamento.
Modello di Servizio
Tutte le tecnologie Ethernet forniscono un servizio privo di connessione
e non affidabile al corrispondente Strato di Rete. Specificatamente:
i.
Servizio privo di connessione significa che quando un adattatore A
vuole inviare una trama ad un adattatore B lo fa direttamente
senza ricorrere alla fase di Instaurazione della connessione (fase
di handshaking);
ii.
Servizio non affidabile significa che quando un adattatore B
riceve una trama da A, esso applica la procedura di rivelazione
degli errori, ma non invia indietro ad A n alcun riscontro positivo
n negativo. Quando ladattatore B rivela errori nella trama
ricevuta, esso scarta semplicemente la trama, senza richiederne la
ri-trasmissione.
Baccarelli,
Cordeschi, Patriarca, Polli

145

Strato Fisico della Tecnologia


Ethernet

Baccarelli,
Cordeschi, Patriarca, Polli

146

Topologia delle Reti Ethernet (1/2)

Le reti Ethernet attuali impiegano una topologia a stella, in cui


gli N 2 nodi che compongono la rete sono collegati (in modo
bidirezionale) ad un nodo di interconnessione detto Centro
Stella.
Ciascun nodo connesso al Centro Stella mediante due canali, il
primo dei quali impiegato per inviare segnali verso il Centro
Stella, mentre il secondo utilizzato per ricevere segnali dal
Centro Stella.
Le trame generate da un Nodo-Sorgente A debbono
necessariamente transitare per il Centro Stella prima di
raggiungere il Nodo-Destinazione desiderato B.
Il Centro Stella pu essere un hub oppure un bridge.
Il modo di trasmissione di una rete Ethernet sempre
bidirezionale e pu essere half-duplex o full-duplex.
Baccarelli,
Cordeschi, Patriarca, Polli

147

Topologia delle Reti Ethernet (2/2)


Nodo
1

Centro Stella
(hub o bridge)

Nodo
2
Nodo
3

Baccarelli,
Cordeschi, Patriarca, Polli

Nodo
N

148

Mezzi trasmissivi nelle Reti Ethernet


(1/2)

Per la maggior parte, le reti Ethernet attuali impiegano come


mezzo trasmissivo il doppino telefonico oppure la fibra ottica.
I doppini telefonici impiegati sono di tipo non schermato (UTPUnshielded Twisted Pair) e, a seconda della qualit del rame
impiegato, si suddividono in 7 categorie, di qualit via via
crescente.
Specificatamente, i doppini UTP impiegati nelle reti Ethernet
sono quelli di:
i.
Categoria 3 hanno una larghezza di banda di 16MHz;
ii.
Categoria 4 hanno una larghezza di banda di 20MHz;
iii.
Categoria 5 hanno una larghezza di banda di 100MHz;
iv.
Categoria 6 hanno una larghezza di banda di 250MHz;
v.
Categoria 7 hanno una larghezza di banda di 1000MHz.
Baccarelli,
Cordeschi, Patriarca, Polli

149

Mezzi trasmissivi nelle Reti Ethernet


(2/2)
Le fibre ottiche impiegate nelle reti Ethernet
possono essere di tipo monomodo o multimodo.
La fibre multimodo operano in 1 finestra e in 2
finestra, ossia a lunghezze donda dellordine dei
850nm e dei 1300nm. Esse sono dispersive e
introducono attenuazioni non trascurabili.
Le fibre monomodo operano in 2 finestra e in 3
finestra, ossia a lunghezze donda dellordine di
1300nm e 1500nm. Esse sono poco dispersive e
introducono basse attenuazioni.

Baccarelli,
Cordeschi, Patriarca, Polli

150

Modulazione nelle Reti Ethernet (1/3)

Il formato di modulazione impiegato il Manchester, che


un formato di modulazione binario e di banda base.
Indicato con Tb (sec) il periodo di bit, nel formato
Manchester:
i.
Il bit 0 rappresentato da un segnale che presenta
una transizione: altobasso a Tb/2;
ii.
Il bit 1 rappresentato da un segnale che presenta
una transizione: bassoalto a Tb/2.
Poich nelle reti Ethernet non c un segnale di sincronismo
che coordina (allinea temporalmente) i nodi della rete, le
suddette transizioni facilitano lestrazione del segnale di
sincronismo dalla sequenza di bit ricevuti da ciascun nodo.

Baccarelli,
Cordeschi, Patriarca, Polli

151

Modulazione nelle Reti Ethernet (2/3)

Le reti Ethernet che impiegano il doppino


telefonico come mezzo trasmissivo usano la
modulazione Manchester di tipo bipolare.
S1(t)

S0(t)
+1

+1
Tb/2

-1

Tb

Tb/2

Tb

-1

Baccarelli,
Cordeschi, Patriarca, Polli

152

Modulazione nelle Reti Ethernet (3/3)

Le reti Ethernet che impiegano la fibra ottica


come mezzo trasmissivo usano la modulazione
Manchester di tipo on-off.
S1(t)

S0(t)
+1

+1
Tb/2

Tb

Baccarelli,
Cordeschi, Patriarca, Polli

Tb/2

Tb

153

Strato di Collegamento della


Tecnologia Ethernet

Baccarelli,
Cordeschi, Patriarca, Polli

154

Formato della Trama Ethernet (1/3)


Le trama Ethernet ha una lunghezza minima di
73 byte e una lunghezza massima di 1527 byte.
Il tempo T0 per la trasmissione di una trama di
lunghezza minima fissata a T0 = 51.2s.
La struttura di trama la seguente (standard
IEEE802.3):

64-1518 byte

preamble

S
F
D

DA

SA

L
E
N

data

P
A
D

CRC

0-1500

0-46

Baccarelli,
Cordeschi, Patriarca, Polli

155

Formato della Trama Ethernet (2/3)

Il significato dei campi della Trama il seguente:


o
preamble (8 byte) - consente, trama per trama, la
sincronizzazione del segnale numerico ricevuto dal
Nodo-Destinazione;
o
Short Frame Delimiter (SFD) (1 byte) - contiene
la stringa 10101011 che individua linizio della
trama;
o
Destination Address (DA) (6 byte) - contiene
lindirizzo MAC del Nodo-Destinazione della
trama;
o
Source Address (SA) (6 byte) - contiene
lindirizzo MAC del Nodo-Sorgente della trama;
Baccarelli,
Cordeschi, Patriarca, Polli

156

Formato della Trama Ethernet (3/3)


o
o
o
o

Length (LEN) (2 byte) - specifica la lunghezza del

campo DATA;

Data (0-1500 byte) - contiene il datagramma generato


dallo strato di rete del Nodo-Sorgente;
PAD (0-46 byte) - serve a garantire che ogni trama
abbia una lunghezza minima non inferiore a 73 byte;
Cyclic Redundancy Check (CRC) (4 byte) - contiene i
bit di controllo di parit del codice impiegato per
rilevare in ricezione eventuali errori presenti nella
trama ricevuta.

Baccarelli,
Cordeschi, Patriarca, Polli

157

Reti EthernetInterconnessione tramite Hub

Baccarelli,
Cordeschi, Patriarca, Polli

158

Interconnessione tramite Hub (1/4)

Nelle reti Ethernet che impiegano un hub come centrostella, ogni nodo connesso allhub mediante due canali, uno
dei quali impiegato per trasmettere verso lhub, mentre
laltro usato per ricevere dallhub.
Lhub un dispositivo che opera semplicemente la ritrasmissione del segnale ricevuto da uno dei nodi di rete
verso tutti gli altri nodi della rete, tranne il nodo da cui il
segnale stato ricevuto.
Quindi, se 2 o pi nodi trasmettono contemporaneamente
verso lhub, i corrispondenti segnali collidono e sono
inutilizzabili.
Dal punto di vista logico, una rete Ethernet con centro-stella
costituito da un hub di comporta come un sistema ad accesso

multiplo con protocollo CSMA/CD.

Baccarelli,
Cordeschi, Patriarca, Polli

159

Interconnessione tramite Hub (2/4)

Dal punto di vista fisico (hardware), un hub un dispositivo con N


interfacce, ciascuna delle quali collegata bidirezionalmente con
uno dei nodi di rete.
Ciascuna interfaccia costituita da:
i.
Una porta dingresso, dalla quale lhub riceve il segnale
trasmesso dal nodo;
ii.
Una porta di uscita, attraverso la quale lhub invia il segnale
verso il nodo.
Il segnale che lhub riceve dallm-sima porta dingresso viene:
i.
Demodulato;
ii.
Ri-modulato;
iii.
Amplificato;
iv.
Ritrasmesso su tutte le porte duscita tranne che sulla
porta di uscita m-sima.
Baccarelli,
Cordeschi, Patriarca, Polli

160

Interconnessione tramite Hub (3/4)

La struttura interna di un hub riportata in figura, per il caso N = 3.

Dal nodo 1

Al nodo 1

Porta di
Ingresso 1

DemodMod.

Ampl.

Dal nodo 2

Porta di
Uscita
1
Al nodo 2

Porta di
Ingresso 2

DemodMod.

Ampl.

Dal nodo 3

Porta di
Uscita
2
Al nodo 3

Porta di
Ingresso 3

DemodMod.

Ampl.
Baccarelli,
Cordeschi, Patriarca, Polli

Porta di
Uscita
3
161

Interconnessione tramite Hub (4/4)

Dal punto di vista dellArchitettura Protocollare, un hub


attua solo protocolli di Strato Fisico. Quindi un hub non
pu essere impiegato per interconnettere nodi che
adottano protocolli di Strato di Collegamento diversi
tra loro.

Strato Fisico
Simbolo grafico
di un Hub

Pila protocollare
attuata da un Hub

Baccarelli,
Cordeschi, Patriarca, Polli

162

Reti EthernetInterconnessione tramite Bridge

Baccarelli,
Cordeschi, Patriarca, Polli

163

Bridge - Generalit

Il centro-stella di una rete Ethernet pu essere costituito da un


Bridge.
Un Bridge un dispositivo con N interfacce che attua sia
protocolli di strato fisico che protocolli di strato di collegamento.
In particolare, un Bridge opera su ogni tarma ricevuta al seguente
modo:
i.
Legge lindirizzo di destinazione della trama;
ii.
Inoltra la trama solo sulla porta di uscita connessa alla
destinazione;
iii.
Trasmette la trama verso la destinazione solo quando non ci
sono altre trame che sono correntemente trasmesse verso la
stessa destinazione.
Quindi linterconnessione tramite Bridge evita completamente le
collisioni.
Baccarelli,
Cordeschi, Patriarca, Polli

164

Bridge Struttura (1/2)

La struttura di un Bridge riportata in figura.


Dispositivo di indirizzamento e inoltro
B
u
f
f
e
r
N

B
u
f
f
e
r
1

Porta 1

Porta 1 . . . Porta N
Porte
dingresso

Baccarelli,
Cordeschi, Patriarca, Polli

Porta N

Porte
duscita

165

Bridge Struttura (2/2)

Un Bridge costituito da N interfacce, ciascuna della quali


composta da una porta di ingresso e da una porta duscita. Il
Bridge riceve le trame generate dal nodo m-simo mediante la mporta di ingresso. Il Bridge invia le trame destinate al nodo m-simo
mediante la m-sima porta di uscita.
La trama ricevuta da una (generica) porta di ingresso viene
prelevata dal Dispositivo di Indirizzamento, che svolge le seguenti
funzioni:
i.
Legge lindirizzo del nodo di destinazione contenuto nella
trama;
ii.
Inoltra la trama solo verso il buffer connesso con la porta di
uscita collegata col nodo di destinazione;
iii.
Preleva la trama dal buffer e la trasmette verso il nodo di
destinazione solo quando non ci sono altre trame che
correntemente sono trasmesse verso lo stesso nodo di
destinazione (assenza di collisioni).
Baccarelli,
Cordeschi, Patriarca, Polli

166

Bridge Architettura Protocollare

Dal punto di vista dellArchitettura Protocollare, un Bridge attua


sia i protocolli di Strato Fisico che i protocolli di Strato di
Collegamento.
In particolare, un Bridge in grado di leggere e interpretare gli
indirizzi MAC di una trama, ma non in grado n di leggere n di
interpretare gli indirizzi IP di un Datagramma.
Un Bridge pu essere anche utilizzato per inter-connettere nodi
che adottano differenti protocolli di Strato di Collegamento.
Strato di
collegamento
Strato Fisico

Simbolo grafico
di un Bridge

Pila protocollare
attuata da un Bridge
Baccarelli,
Cordeschi, Patriarca, Polli

167

Le funzione svolte da un Bridge

Pi in dettaglio, un Bridge svolge le seguenti


funzioni (operazioni) su ciascuna trama che
riceve da una delle sue porte di ingresso:
i.
Filtraggio;
ii. Inoltro;
iii. Auto-apprendimento;
iv. Conversione del formato di trama
(opzionale).
Baccarelli,
Cordeschi, Patriarca, Polli

168

Filtraggio e Inoltro (1/5)

Filtraggio si riferisce alla capacit che un Bridge ha di

decidere se una trama ricevuta da una delle sue porte di


ingresso debba essere inoltrata ad una opportuna sua
porta di uscita oppure debba essere scartata.
Inoltro (forwarding) la capacit che un Bridge ha di
determinare (calcolare) a quale porta di uscita debba
essere inviata ciascuna trama che il bridge ha ricevuto
da una delle sue porte di ingresso.
Il bridge svolge le funzioni di filtraggio e inoltro
avvalendosi delle informazioni memorizzate in una
tabella residente nel bridge stesso, e detta Tabella di

Inoltro.

Baccarelli,
Cordeschi, Patriarca, Polli

169

Filtraggio e Inoltro (2/5)

Specificatamente, la Tabella di Inoltro memorizzata in


ciascun Bridge ha tante righe quanti sono i nodi
destinazione raggiungibili dalle porte di uscita del
Bridge stesso.
Ciascuna riga della Tabella di Inoltro contiene 3
informazioni:
i.
Indirizzo MAC (6 byte) di un nodo di destinazione;
ii.
Il numero dordine della porta di uscita del bridge
dalla quale raggiungibile il nodo di destinazione;
iii. Il tempo (lora) in cui lindirizzo del nodo di
destinazione stato inserito (scritto) nella Tabella
di Inoltro.
Baccarelli,
Cordeschi, Patriarca, Polli

170

Filtraggio e Inoltro (3/5)

Un possibile esempio di Tabella di Inoltro


memorizzata da un bridge la seguente
Indirizzo MAC del
nodo di destinazione

Numero della porta


di uscita del Bridge

Tempo di
inserimento
dellindirizzo MAC

62-FE-F7-11-89-A3

9:32

7C-BA-B2-B4-91-10

10:37

88-B2-2F-54-1A-0F

10:52

Baccarelli,
Cordeschi, Patriarca, Polli

171

Filtraggio e Inoltro- Algoritmo


(4/5)

Supponiamo che il bridge riceva una trama dalla porta di ingresso con
numero m e che la trama contenga come indirizzo di destinazione DD-DDDD-DD-DD-DD.
Lalgoritmo di Filtraggio e Inoltro eseguito dal bridge procede come segue:
i.
Se lindirizzo DD-DD-DD-DD-DD-DD non contenuto nella Tabella
di Inoltro, allora il bridge inoltra la trama ricevuta su tutte le sue
porte duscita tranne lm-sima;
ii.
Se lindirizzo DD-DD-DD-DD-DD-DD contenuto nella Tabella e la
porta di uscita ad esso associata lm-sima, allora il bridge scarta
la trama ricevuta (ossia, non inoltra la trama su nessuna delle porte
duscita) (Filtraggio);
iii.
Se lindirizzo DD-DD-DD-DD-DD-DD contenuto nella tabella e la
porta di uscita ad esso associata lx-sima con x m, allora il
bridge memorizza temporaneamente la trama nel buffer che
precede la porta duscita x-sima. Il bridge rimuove la trama dal
buffer e la trasmette sulla porta duscita x-sima solo quando la
suddetta trasmissione non provoca collisione con altre trasmissioni
172
gi in corso (Inoltro). Baccarelli,
Cordeschi, Patriarca, Polli

Filtraggio e Inoltro- Esempio (5/5)


Source: A
Dest: A

Destinazione della trama


sconosciuta: flood
Destinazione A
conosciuta: inoltro
selettivo

A A A
C

A6A

porta

A A

tempo

9:57

10:19

bridge

MAC addr

Tabella di
inoltro

trama

4
C

Baccarelli,
Cordeschi, Patriarca, Polli

173

Auto-Apprendimento (1/3)
La Tabella di Inoltro di un bridge

inizialmente vuota. Essa viene costruita e


aggiornata automaticamente, ossia senza
bisogno dellintervento dellamministratore di
rete.
La capacit di un bridge di costruire e
aggiornare la propria Tabella di Inoltro in
modo autonomo detta capacit di autoapprendimento (self-learning) del bridge.
Baccarelli,
Cordeschi, Patriarca, Polli

174

Auto-Apprendimento: algoritmo
(2/3)

Specificatamente, lalgoritmo di auto-apprendimento procede


come segue:
1. La tabella di Inoltro inizialmente vuota;
2. Quando una trama arriva al bridge e lindirizzo MAC del nodoSorgente della trama non gi contenuto nella Tabella di
Inoltro, allora il bridge memorizza:
i.
Lindirizzo MAC di tale nodo;
ii. Il numero della porta di ingresso dalla quale arrivata la
trama;
iii. Listante di tempo in cui la trama arrivata.
3. Quando una trama arriva al bridge e lindirizzo del nodoSorgente gi contenuto nella Tabella, allora la Tabella non
viene modificata.
4. Il bridge elimina (cancella) un indirizzo dalla tabella se nessuna
trama stata ricevuta con quellindirizzo di sorgente per un
intervallo di tempo (Tempo di Et) che, tipicamente,
dellordine dei 60 minuti.
Baccarelli,
Cordeschi, Patriarca, Polli

175

Auto-Apprendimento- Esempio (3/3)


Supponiamo che allistante 9:39 una trama arrivi dalla porta di

ingresso no.2 e con indirizzo-sorgente: 01-12-23-34-45-56.


Supponiamo che questo indirizzo non sia nella Tabella di Inoltro
del bridge. Allora, il bridge lo inserisce nella Tabella di Inoltro.

Indirizzo MAC del


nodo di destinazione

Numero della porta di


uscita del Bridge

Tempo di inserimento
dellindirizzo MAC

01-12-23-34-45-56

9:39

Supponiamo, ora, che il Tempo di Et della tabella sia di 60

minuti e che nessuna trama con indirizzo-sorgente: 01-12-23-3445-56 arrivi al bridge tra listante 9:39 e listante 10:39. Allora
allistante 10:39 il bridge rimuove tale indirizzo dalla sua Tabella
di Inoltro.
Baccarelli,
Cordeschi, Patriarca, Polli

176

Conversione del formato di trama


Translating Bridge
Un bridge pu essere anche usato per

interconnettere nodi di rete che impiegano


protocolli di Strato di Collegamento diversi
(eterogenei).
In questo caso il bridge, oltre ad effettuare le
funzioni di Filtraggio, Inoltro e AutoApprendimento, effettua anche la conversione
del formato della trama ricevuta dal nodosorgente nel formato di trama richiesto dal
nodo-destinazione.
I bridge che effettuano anche questa
conversione sono detti translating bridge.
Baccarelli,
Cordeschi, Patriarca, Polli

177

Reti Ethernet con accesso a contesa


e Reti Ethernet a commutazione

Baccarelli,
Cordeschi, Patriarca, Polli

178

Classificazione delle Reti


Ethernet
Le reti Ethernet che impiegano come centrostella un hub sono dette Reti Ethernet con
accesso a contesa.

Le reti Ethernet che impiegano come centrostella un bridge sono dette Reti Ethernet a
commutazione (Switched Ethernet LANs).
Baccarelli,
Cordeschi, Patriarca, Polli

179

Reti Ethernet con Accesso a


Contesa Generalit (1/2)
Per definizione, le Reti Ethernet con accesso a
contesa impiegano un hub come centro-stella.
A tutti gli effetti, una rete Ethernet con accesso a
contesa alla quale sono collegati N nodi di rete
mediante canali fisici di capacit C (bit/sec) si
comporta come un sistema daccesso multiplo che
impiega il protocollo daccesso CSMA/CD
precedentemente descritto e analizzato.
Tipicamente, ciascun nodo di una rete Ethernet con
accesso a contesa comunica con lhub in modo
bidirezionale e half-duplex.

Baccarelli,
Cordeschi, Patriarca, Polli

180

Reti Ethernet con Accesso a


Contesa Generalit (2/2)

Ci significa che, dei due canali che connettono


ciascun nodo allhub:
i. Uno impiegato, alternativamente nel tempo,
per trasmettere dati verso lhub e per ricevere
dati dallhub (comunicazione nodo-hub di tipo
bi-direzionale e half-duplex);
ii. Laltro canale impiegato dal nodo
esclusivamente per espletare la funzione di
Collision Detection (CD) richiesta dalla tecnica
di accesso CSMA/CD.
Baccarelli,
Cordeschi, Patriarca, Polli

181

Reti Ethernet con Accesso a


Contesa - Tassonomia

Esistono pi tipi di reti Ethernet con accesso, che si


differenziano per:
i.
la capacit C (bit/sec) del canale condiviso;
ii.
il tipo di mezzo trasmissivo impiegato dal canale condiviso.
Le diverse topologie di reti Ethernet con accesso a contesa sono
individuate con la notazione
X Base- Y
dove:
a.
X indica la capacit del canale condiviso, espressa in Mb/sec;
b. Base sta ad indicare che la modulazione adottata di banda
base (tipicamente, la Manchester);
c.
Y pu essere un numero oppure una lettera:
quando un numero, indica la copertura della rete misurata in
centinaia di metri;
quando una lettere, specifica il mezzo trasmissivo del canale
condiviso (tipicamente, doppino telefonico o fibra ottica).
Baccarelli,
Cordeschi, Patriarca, Polli

182

Caratteristiche delle principali Reti


Ethernet con Accesso a Contesa
10-Base-T

10-Base-F

Mezzo trasmissivo

Doppino UTP

Fibra in I finestra

Topologia

Stella con hub

Stella con hub

Modulazione

Manchester Bipolare

Manchester On-Off

Velocit di trasmissione

10Mb/sec

10Mb/sec

Tecnica di accesso

CSMA/CD

CSMA/CD

Velocit di propagazione
del segnale nel mezzo
trasmissivo

0.59x3x108m/sec

0.66x3x108m/sec

Distanza massima tra


due nodi

100m

500m

Numero massimo di nodi

Non specificato

33

Modalit di trasmissione

Bidirezionale half-duplex Bidirezionale half-duplex


Baccarelli,
Cordeschi, Patriarca, Polli

183

Reti Ethernet con Accesso Commutato


(Switched Ethernet) Generalit (1/2)
Per definizione, le reti Switched Ethernet

impiegano un bridge come centro-stella.


A tutti gli effetti, in una Switched Ethernet,
ad ogni coppia di nodi Sorgente-Destinazione
dedicato un collegamento punto-punto privo di
collisioni attraverso cui i nodi possano
comunicare ad una velocit (bit/sec) pari alla
capacit C del mezzo trasmissivo impiegato
dalla rete.
Tipicamente, ciascun nodo di una rete
Switched Ethernet comunica con il bridge in
modo bidirezionale e full-duplex.
Baccarelli,
Cordeschi, Patriarca, Polli

184

Reti Ethernet con Accesso Commutato


(Switched Ethernet) Generalit
(2/2)
Ci significa che i due canali che connettono

ciascun nodo al bridge vengono usati


simultaneamente, uno per trasmettere dati
dal nodo al bridge, e laltro per trasmettere
dati dal bridge al nodo.

Baccarelli,
Cordeschi, Patriarca, Polli

185

Classificazione delle Reti Switched


Ethernet
Esistono pi famiglie di Reti Switched Ethernet, che
si differenziano per la velocit di trasmissione e/o il
tipo di mezzo trasmissivo impiegato.
Specificatamente, le tre principali famiglie di Reti
Switched Ethernet sono:

a.

b.

c.

La famiglia Fast-Ethernet

caratterizzata da una velocit di trasmissione di


100Mb/sec;

La famiglia Gigabit-Ethernet

caratterizzata da una velocit di trasmissione di


1000Mb/sec;

La famiglia TenGigabit-Ethernet

caratterizzata da una velocit di trasmissione di


10000Mb/sec.
Baccarelli,
Cordeschi, Patriarca, Polli

186

Caratteristiche principali delle


Reti Fast - Ethernet
100-Base-T

100-Base-F

Mezzo trasmissivo

2 UTP di categoria 5

2 fibre ottiche

Topologia

Stella con bridge

Stella con bridge

Modulazione

Manchester bipolare

Manchester On-Off

Velocit di trasmissione

125 Mb/sec

125 Mb/sec

copertura

Centinaia di metri

2 Km

Modalit di trasmissione

Bidirezionale full-duplex

Bidirezionale full-duplex

Baccarelli,
Cordeschi, Patriarca, Polli

187

Caratteristiche principali delle


Reti Gigabit - Ethernet
1000-Base-S

1000-Base-L

Mezzo trasmissivo

Fibra multimodo in 1
finestra

Fibra monomodo in 2
finestra

Topologia

Stella con bridge

Stella con bridge

Velocit di trasmissione

1.25 Gb/sec

1.25 Gb/sec

copertura

550 m

5 Km

Modalit di trasmissione

Bidirezionale full-duplex

Bidirezionale full-duplex

Baccarelli,
Cordeschi, Patriarca, Polli

188

Caratteristiche principali delle


Reti TenGigabit - Ethernet
Impiegano solo fibre ottiche
Trasmettono a velocit dellordine di 10Gb/sec, con modalit

bidirezionale e full-duplex.
Hanno topologia a stella con bridge come centro stella.
Lunghezza donda
impiegata

copertura

850nm

65m

1310nm

300m

monomodo

1310nm

10Km

monomodo

1550nm

40Km

multimodo
multimodo

Baccarelli,
Cordeschi, Patriarca, Polli

189

Inter-connessione di pi LAN

Baccarelli,
Cordeschi, Patriarca, Polli

190

Inter-connessione di pi LAN
Generalit (1/3)

Due o pi LAN, di stesso tipo o di tipo


diverso, possono essere inter-connesse tra
di loro mediante:

i.
ii.

un hub;
un bridge.

Lo scopo dellinter-connessione quello di


far comunicare tra di loro nodi (terminali
dutente) che fanno parte di LAN distinte.
Lintera rete ottenuta mediante linterconnessione chiamata LAN. Le singole
sotto-reti che sono state inter-connesse
sono chiamate segmenti (LAN segment).

Baccarelli,
Cordeschi, Patriarca, Polli

191

Inter-connessione di pi LAN
Generalit (2/3)
Hub oppure Bridge

Connessione

Connessione

Hub 3

Connessione punto-punto

Hub 1
Hub 2
NodoI
NodoC

NodoA
NodoB
Segmento 1

NodoH
NodoD

NodoE

NodoF

Baccarelli,

Segmento
2 Polli
Cordeschi,
Patriarca,

NodoG

Segmento 3
192

Inter-connessione di pi LAN
Generalit (3/3)
Larchitettura di base di una LAN interconnessa quella riportata nella figura
precedente. In questo caso,

i.
ii.
iii.

Il segmento 1 costituito dallhub 1 e i nodi A,B,C;


Il segmento 2 costituito dallhub 2 e i nodi D,E,F;
Il segmento 3 costituito dallhub 3 e i nodi G,H,I.

Ciascuno degli hub ha una connessione


bidirezionale, full-duplex oppure half-duplex
con lhub/bridge centrale.
L hub/bridge centrale chiamato
hub/bridge dorsale (backbone hub/bridge).

Baccarelli,
Cordeschi, Patriarca, Polli

193

Dominio di Collisione
Quando pi segmenti vengono inter-connessi,

pu accadere che la trasmissione simultanea


di nodi appartenenti a segmenti differenti dia
luogo a collisioni.
In una LAN inter-connessa, si definisce
Dominio di Collisione linsieme dei nodi
(appartenenti allo stesso segmento o a
segmenti differenti) la cui trasmissione
simultanea d luogo a collisioni.
A seconda del modo in cui viene effettuata
linter-connessione, una LAN inter-connessa
pu presentare uno o pi domini di collisione.
Baccarelli,
Cordeschi, Patriarca, Polli

194

Interconnessione mediante
Backbone-Hub (1/3)

Consideriamo larchitettura generale di interconnessione di M segmenti LAN mediante un


backbone-Hub riportato in figura.
Backbone Hub
Connessione

Connessione

Connessione punto-punto

Segmento M

Segmento 1
Segmento 2

Baccarelli,
Cordeschi, Patriarca, Polli

195

Interconnessione mediante
Backbone-Hub (2/3)

Linter-connessione mediante backbone-hub


ha i seguenti vantaggi:
i.
E poco costosa e facile da realizzare;
ii. Permette a nodi appartenenti a segmenti
differenti di comunicare tra loro;
iii. Estende la copertura consentita a ciascun
singolo segmento.
Baccarelli,
Cordeschi, Patriarca, Polli

196

Interconnessione mediante
Backbone-Hub (3/3)

Linter-connessione mediante backbone-hub ha i seguenti


svantaggi:
i. Poich un hub attua solo protocolli di Strato Fisico,
tutti i segmenti inter-connessi debbono usare la stessa
tecnologia (ad es., devono tutti essere reti Ethernet
10-base-T, oppure tutti 100-base-T);
ii. Poich un hub non effettua loperazione di inoltro
(forwarding), n legge gli indirizzi delle trame che gli
pervengono, tutti i segmenti inter-connessi con un
backbone-hub costituiscono un unico dominio di
collisione. Ci significa che, se due nodi appartenenti a
due segmenti differenti trasmettono simultaneamente,
le loro trasmissioni danno luogo a collisione.
Baccarelli,
Cordeschi, Patriarca, Polli

197

Interconnessione mediante
Backbone-Bridge (1/2)
Consideriamo laltra architettura generale di

interconnessione di M segmenti mediante


backbone-bridge riportata in figura.
Backbone Bridge

Connessione punto-punto

Segmento 1

Connessione punto-punto

Connessione punto-punto

Segmento M

Segmento 2

Baccarelli,
Cordeschi, Patriarca, Polli

198

Interconnessione mediante
Backbone-Bridge (2/2)

Linter-connessione mediante backbone-bridge ha i seguenti


vantaggi:
i.
Permette a nodi di segmenti differenti di comunicare tra di loro e
quindi estende la copertura di un singolo segmento;
ii.
iii.

iv.

Poich un bridge in grado di modificare il formato delle trame che


riceve, i segmenti possono usare anche tecnologie diverse;
Poich un bridge esegue le operazioni di inoltro e legge gli indirizzi
MAC delle trame che gli pervengono, ciascuno dei segmenti connessi da
un backbone bridge costituisce un singolo dominio di collisione. Ci
significa che, se due nodi appartenenti a segmenti differenti
trasmettono simultaneamente, le loro trasmissioni non danno luogo a
collisioni.
La modalit di trasmissione tra ciascun segmento e il backbone bridge
bidirezionale e full-duplex.

Tuttavia, un backbone-bridge pi costoso e pi difficile da


installare di un backbone-hub.
Baccarelli,
Cordeschi, Patriarca, Polli

199

Protocolli di Strato di Collegamento


per canali punto-punto

Baccarelli,
Cordeschi, Patriarca, Polli

200

Collegamenti Punto-Punto
Consideriamo un collegamento tra un singolo
nodo-Sorgente e un singolo nodoDestinazione collegati da un canale fisico
dedicato.
In questo scenario,

i.

ii.
iii.

Non c bisogno di un protocollo di accesso al mezzo;


Non occorre indirizzare i nodi;

Il canale fisico potrebbe essere una linea telefonica, o un


collegamento SONET/SDM.

Il protocollo di Strato di Collegamento pi


usato per gestire le connessioni punto-punto
il Protocollo PPP (Point-to-Point Protocol).
Baccarelli,
Cordeschi, Patriarca, Polli

201

Funzioni che il PPP deve svolgere


(1/2)

Al PPP richiesto di svolgere le seguenti funzioni e possedere i


seguenti requisiti:
i. Costruzione di trame (packet framing): al nodo-Sorgente, il
protocollo deve essere in grado di incapsulare i datagrammi
generati dallo Strato di Rete in trame PPP;
ii. Trasparenza: il PPP non deve porre alcuna restrizione sul
formato dei dati che costituiscono i datagrammi generati
dallo Strato di Rete del nodo-Sorgente;
iii. Rivelazione degli errori: al nodo-Destinazione, il PPP deve
essere in grado di rivelare (ma non di correggere) gli
eventuali errori introdotti nelle trame ricevute dal canale
trasmissivo.
iv. Disponibilit della connessione: il PPP deve essere in grado
di rilevare leventuale presenza di guasti nel collegamento
sorgente-destinazione;
v. Negoziazione degli indirizzi IP: PPP deve fornire un
meccanismo agli Strati di Rete dei nodi-Sorgente e
Destinazione per scambiarsi e/o configurare gli indirizzi IP.
Baccarelli,
Cordeschi, Patriarca, Polli

202

Funzioni che il PPP non deve


svolgere (2/2)

Al PPP non richiesto di svolgere le seguenti


funzioni:
i.

Correzione degli errori eventualmente presenti

ii.

Controllo della velocit del flusso di dati che il

iii.
iv.
v.

nella trama ricevuta;

Nodo-Sorgente invia al Nodo-Destinazione;


Trasferimento in ordine (in sequenza) delle trame
generate dal Nodo-Sorgente;
Instaurazione e gestione di collegamenti punto-amultipunto (multicast);
Attuazione di strategie ARQ per il controllo degli
errori.
Baccarelli,
Cordeschi, Patriarca, Polli

203

Modello di servizio offerto dal


PPP

Il PPP un protocollo di Strato di


Collegamento. Esso offre allo Strato di Rete
un servizio di trasferimento di datagrammi:
i. con connessione;
ii. non affidabile (no correzione errori, no
trasferimento in sequenza);
attuato mediante una modalit di
trasmissione che :
i. Bidirezionale;
ii. Full-duplex.
Baccarelli,
Cordeschi, Patriarca, Polli

204

Architettura del PPP (1/2)

Dal punto di vista dellArchitettura


Protocollare, per attuare il servizio descritto,
il PPP si avvale di 2 famiglie di protocolli, e
cio dei:
i.

ii.

Link Control Protocol (LCP): ha il compito di

instaurare, gestire e abbattere il collegamento PPP


tra sorgente e destinazione;
Network Control Protocol (NCP): famiglia di
protocolli che il PPP utilizza per configurare
opportunamente gli Strati di Rete del NodoSorgente e del Nodo-Destinazione.
Baccarelli,
Cordeschi, Patriarca, Polli

205

Architettura Protocollare del PPP


(2/2)
Strato di Rete
Strato di
collegamento

NCP
PPP

LCP
Strato Fisico

Baccarelli,
Cordeschi, Patriarca, Polli

206

Formato della trama PPP


Flag: indica linizio della trama PPP;
Address: non viene realmente utilizzato nel PPP e gli

assegnato come valore fisso la stringa 11111111;


Control: anche questo campo al momento inutilizzato;
potrebbe in futuro contenere campi di controllo multipli;
Protocol: protocollo di strato superiore al quale la trama
deve essere consegnata (e.s., PPP-LCP, IP, IPCP, etc);
Info: datagrammi degli strati superiori (datagramma IP);
Check: cyclic redundancy check per la rivelazione degli
errori.

Num.byte 1

1 or 2

01111110

11111111

00000011

Flag

Address

Control

protocol

info
Variable
length

Baccarelli,
Cordeschi, Patriarca, Polli

2 or 4

check

01111110
Flag
207

Byte Stuffing (Aggiunta di byte)


(1/2)
requisito di trasparenza richiede che nel campo info
della trama PPP possa comparire anche la stringa di bit

Il

01111110. Poich la suddetta stringa impiegata per


delimitare linizio e la fine del frame, come fa il nodoricevente a sapere se tale stringa fa parte del campo info
oppure un flag di inizio/fine trama?
Si applica la tecnica del Byte-Stuffing, e cio:
i. Il nodo-sorgente aggiunge (stuff) un byte di controllo
01111101 prima di ogni byte di dati 01111110;
ii. Il nodo ricevente che vede la stringa 01111110
preceduta dal byte di controllo 01111101,
o Comprende che la stringa un byte di dati e non un
flag;

Rimuove il byte di controllo e continua a ricevere i


successivi byte.

Baccarelli,
Cordeschi, Patriarca, Polli

208

Byte Stuffing (Aggiunta di byte)


(2/2)

Dati con
stesso
valore del
byte di
Flag

b5

b1

b4

b2

01111110

01111110

b2

b4

b1

b5

PPP
PPP
b5

b4

PPP
PPP
01111110

01111101

b2

Flag byte pi stuffed byte


Baccarelli,
Cordeschi, Patriarca, Polli

b1

209

Gestione del Collegamento PPP


(1/4)
E compito del

Link Control Protocol (LCP)

gestire tutte le fasi di un collegamento tra


Nodo-Sorgente e Nodo-Destinazione.

Specificatamente, le fasi previste da un

collegamento PPP sono riassunte dal seguente


Diagramma degli Stati (Diagramma dei Stati
del PPP).

Baccarelli,
Cordeschi, Patriarca, Polli

210

Gestione del Collegamento PPP


(2/4)
Link
establishment

dead
authenticate
terminating

open

Network
layer config.

Baccarelli,
Cordeschi, Patriarca, Polli

211

Gestione del Collegamento PPP


(3/4)
Tutti i collegamenti PPP, iniziano e terminano

nello Stato Dead;


Nello stato Link Establishment, viene instaurata
la connessione tra il Nodo-Sorgente e il NodoDestinazione (fase di hand-shaking);
Quando prevista (per motivi di sicurezza) una
autenticazione delle identit dei Nodi-Sorgente
e Destinazione, la suddetta autenticazione
effettuata nello Stato Authenticate.
Baccarelli,
Cordeschi, Patriarca, Polli

212

Gestione del Collegamento PPP


(4/4)
Nello Stato Network Layer Configuration, il
protocollo LCP attiva il protocollo NCP che, a sua
volta, provvede a negoziare e configurare i parametri
(quali gli indirizzi IP) degli Strati di Rete dei nodi
Sorgente e Destinazione;
Nello Stato Open, il protocollo LCP gestisce il
trasferimento delle trame tra i due nodi comunicanti;
Nello Stato Terminating, uno dei due nodi invia il
messaggio di richiesta di Terminazione. Se laltro
nodo risponde con il messaggio terminazione
accettata, la connessione passa nello stato Dead e
viene chiusa.

Baccarelli,
Cordeschi, Patriarca, Polli

213

Reti a commutazione di Pacchetto


con Modo di Trasferimento a
Circuito Virtuale (CV)

Baccarelli,
Cordeschi, Patriarca, Polli

214

Reti a CV come tecnologie di


Strato di Collegamento

Come abbiamo visto, le reti Ethernet costituiscono una


tecnologia di Strato di Collegamento che offrono un
servizio privo di connessione allo Strato di Rete per il
trasferimento di datagrammi.

Le reti ATM (Asynchronous Transfer Mode) e le reti


MPLS (MultiProtocol Label Switching) possono essere
considerate tecnologie di Strato di Collegamento
basate sulla commutazione di pacchetto (multiplazione
statistica) e che offrono un servizio orientato alla
connessione allo Strato di Rete per il trasferimento
dei datagrammi.
Baccarelli,
Cordeschi, Patriarca, Polli

215

Reti a Circuito Virtuale


Generalmente, ricordiamo che le Reti a

Circuito Virtuale sono caratterizzate da:

i.
ii.
iii.
iv.

Essere reti a commutazione di pacchetto;


Impiegare la multiplazione statistica ai nodi di rete;
Offrire un servizio di trasferimento dei pacchetti orientato
alla connessione;
Far ricorso ai cosiddetti Circuiti Virtuali (CV) per
implementare le connessioni tra nodi-Sorgente e nodiDestinazione.

I nodi di commutazione di una Rete a CV sono

chiamati Commutatori (Switch) o anche

Router.

Baccarelli,
Cordeschi, Patriarca, Polli

216

Che cos un Circuito Virtuale


Consideriamo un Nodo-Sorgente A e un NodoDestinazione B allinterno di una rete a CV.
Per definizione, un Circuito Virtuale da A a B
costituito da:
i.
Una sequenza ordinata (directed path) di nodi di
rete e di canali di comunicazione dal NodoSorgente A al Nodo-Destinazione B;
ii. Un insieme di Identificatori del Circuito Virtuale
(VC Identifiers), un identificatore per ciascun
canale che costituisce il circuito virtuale. Ciascun
identificatore , tipicamente, un numero intero.

Baccarelli,
Cordeschi, Patriarca, Polli

217

Tabelle di Instradamento (1/2)

Un pacchetto generato dal Nodo-Sorgente A e che


appartiene ad un CV reca nel suo campo Intestazione
(Header Field) il numero del CV cui appartiene.

Poich ad un medesimo Circuito Virtuale possono


corrispondere differenti identificatori (diversi VCI) su
ciascuno dei canali che costituiscono il CV stesso,
ciascun nodo di commutazione (Switch o Router) che fa
parte del CV in oggetto deve essere in grado di
aggiornare opportunamente lidentificatore di ciascuno
dei pacchetti che riceve dalle sue porte di ingresso
prima di inoltrarlo ad una (opportuna) porta di uscita.
Baccarelli,
Cordeschi, Patriarca, Polli

218

Tabelle di Instradamento (2/2)

A questo scopo, il nodo di commutazione impiega la Tabella di


Instradamento in esso memorizzata.
Essenzialmente, una Tabella di Instradamento ha tante righe
quanti sono i Circuiti Virtuali che attraversano il nodo di
commutazione in cui la tabella risiede.
Ogni riga della tabella fa riferimento ad uno specifico CV e
riporta 4 informazioni:
i.
Il numero della porta di ingresso dalla quale il nodo riceve i
pacchetti del CV in oggetto;
ii.
Lidentificatore di CV dal quale il nodo riceve in ingresso i
pacchetti del CV in oggetto;
iii.
Il numero della porta di uscita alla quale il nodo deve
inoltrare i pacchetti;
iv.
Lidentificatore del CV che il nodo assegna in uscita del CV
in oggetto.
Baccarelli,
Cordeschi, Patriarca, Polli

219

Tabelle di InstradamentoEsempio (1/2)

Per illustrare il concetto, consideriamo la rete illustrata in figura.


VC number

Nodo A

12

S1
2

22

S2

32

Nodo B

port
S3
S4
number
I numeri 1, 2, 3 vicino al commutatore S1 sono i numeri delle sue porte di
ingresso e uscita (bidirezionali).
Supponiamo che il nodo A richieda linstaurazione di un CV col nodo B e
supponiamo che la rete assegni il cammino (path): AS1 S2 B e
assegni al suddetto CV i seguenti identificatori: 12, 22, 32 per ciascuno
dei 3 canali che compongono il CV.
Baccarelli,
Cordeschi, Patriarca, Polli

220

Tabelle di InstradamentoEsempio (2/2)

Allora, la Tabella di Instradamento memorizzata nel


nodo di commutazione S1 assume la seguente forma:
Porta
dingresso

VCI
dingresso

Porta
duscita

VCI
duscita

12

22

Ci significa che tutti i pacchetti che arrivano a S1


dalla porta di ingresso 1 e con VCI=12 nellheader
verranno inoltrati alla porta di uscita 3 di S1 e il loro
VCI verr posto dal commutatore S1 pari a 22.
Baccarelli,
Cordeschi, Patriarca, Polli

221

Indirizzamento nelle reti a CV


Da quanto esposto, ne concludiamo che nelle reti a CV:
i. Lindirizzamento dei pacchetti non fatto
specificando gli indirizzi dei nodi sorgente e
destinazione, ma fatto specificando il CV (ossia, il
cammino) al quale il pacchetto appartiene;
ii. Ogni volta che un nuovo CV attivato attraverso un
nodo di commutazione, una nuova riga va aggiunta
alla Tabella di Instradamento residente nel nodo
stesso;
iii. Dualmente, ogni volta che un CV disattivato, la
corrispondente riga va eliminata dalla Tabella di
Instradamento del commutatore.
Quindi, ciascun commutatore mantiene uno stato per
ciascun CV che lo attraversa.

Baccarelli,
Cordeschi, Patriarca, Polli

222

Gestione di un CV (1/2)

Poich una rete a CV offre un servizio


orientato alla connessione, la gestione di un
CV articolata in 3 fasi:
i. Fase di instaurazione del CV : durante
questa fase, la rete:
o
o
o
o

Individua il cammino (path) tra il nodo-sorgente e il nodo


destinazione;
Assegna i VCI ai canali che compongono il cammino;
Aggiorna le Tabelle di Instradamento di tutti i nodi di
commutazione che fanno parte del cammino;
Riserva risorse (banda, spazio nei buffer) per i
pacchetti che saranno trasmessi lungo il cammino.
Baccarelli,
Cordeschi, Patriarca, Polli

223

Gestione di un CV (2/2)
ii.

Fase di trasferimento dei pacchetti: la rete

trasferisce i pacchetti generati dal NodoSorgente verso il Nodo-Destinazione e


attraverso il cammino precedentemente
instaurato.

iii. Fase di abbattimento del CV: durante questa

fase, la rete:

o
o

Termina il flusso dei pacchetti attraverso il CV;


Elimina linformazione (la riga) circa il CV in
oggetto dalle Tabelle di Instradamento di tutti i
nodi di commutazione facenti parte del cammino.
Baccarelli,
Cordeschi, Patriarca, Polli

224

La tecnologia ATM
(Asynchronous Transfer Mode)

Baccarelli,
Cordeschi, Patriarca, Polli

225

Reti ATM Generalit (1/2)


esempio (non lunico) di
rete a commutazione di pacchetto e con
modalit di trasferimento a Circuito Virtuale.

Le reti ATM sono un

Esse possono essere viste come una tecnologia

di Strato di Collegamento in grado di offrire


un servizio di trasferimento dati orientato alla
connessione allo Strato di Rete.
I nodi di commutazione di una rete ATM
impiegano la tecnica di multiplazione statistica
e sono detti ATM switche (commutatori ATM).
Baccarelli,
Cordeschi, Patriarca, Polli

226

Reti ATM Generalit (2/2)


Gli standard per ATM cominciarono a essere
sviluppati alla met degli anni 80 dallATM Forum e
dallITU; in pratica fu utilizzata principalmente
allinterno di reti telefoniche e IP, servendo, per
esempio, come tecnologia dei collegamenti che
connettono router IP.
Obiettivo: progettare reti in grado di trasportare file
audio e video in tempo reale, oltre a testo, e-mail e
file di immagini:
- rispondenza ai requisiti di tempo/QoS per voce e
video (rispetto al modello best-effort di Internet)
- Telefonia di ultima generazione
- Commutazione di pacchetto usando circuiti virtuali

Baccarelli,
Cordeschi, Patriarca, Polli

227

Architettura protocollare di ATM


Generalit (1/2)
AAL

AAL PDU

AAL

celle

ATM

ATM

ATM

ATM

physical

physical

physical

physical

end system

switch

switch

end system

bit

LArchitettura Protocollare di ATM suddivisa in 3 strati:

i.

ATM Adaptation Layer (AAL)


o
attivato solo nei nodi terminali (end-system);
o
ha lo scopo di segmentare/riassemblare i datagrammi
ricevuti/consegnati allo Strato di Rete e di attuare tutte le
o

funzioni necessarie per implementare il servizio di


trasferimento dati richiesto dallo Strato di Rete;
le unit informative generate dallo strato AAL sono dette
AAL Protocol Data Units (AAL PDU).
Baccarelli,
Cordeschi, Patriarca, Polli

228

Architettura protocollare di ATM


Generalit (2/2)
ATM Layer

ii.
o
o
o

iii.

attuato sia dai nodi terminali che dai nodi di commutazione;


ha il compito di instradare il flusso di dati generato dal NodoSorgente verso il Nodo-Destinazione corrispondente;
le unit informative generate dallo strato ATM sono dette
celle e sono di lunghezza fissa (53 bytes).

Physical Layer (Strato Fisico)


o
attuato sia dai nodi terminali che dai nodi di commutazione;
o

ha lo scopo di convertire il flusso di celle generato dallo strato


ATM in un flusso di bit, e , poi, di consentire il trasferimento
dei bit attraverso il mezzo trasmissivo adottato dalla rete;
le unit informative generate dallo strato fisico sono i bit.

Baccarelli,
Cordeschi, Patriarca, Polli

229

Strato AAL (1/2)


E presente

solo ai nodi terminali (non

presente nei nodi di commutazione).

Al nodo sorgente, lo strato AAL riceve

datagrammi dallo Strato di Rete e li frammenta


in AAL PDU. Al nodo destinazione, lo strato AAL
riassembla le AAL PDU ricevute in datagrammi.

Baccarelli,
Cordeschi, Patriarca, Polli

230

Strato AAL (2/2)


In base al tipo di servizio che la rete ATM
offre allo Strato di Rete, esistono pi
protocolli di strato AAL, e
specificatamente:

i.

ii.

iii.

Protocollo AAL1 impiegato per emulare reti a

commutazione di circuito, quale la rete telefonica


analogica;
Protocollo AAL2 impiegato per il trasferimento con
bassi tempi di ritardo dei dati generati da sorgenti a
velocit di emissione variabile (ad es., codificatori video
MPEG);
Protocollo AAL5 impiegato per il trasferimento di
datagrammi generati dallo Strato di Rete di Internet
(trasferimento dei dati).

Baccarelli,
Cordeschi, Patriarca, Polli

231

Struttura della PDU del


Protocollo AAL5 (1/2)
La struttura della PDU (unit informativa)

generata dal protocollo AAL5 riportata in


figura.
Payload
0-65535

PAD
0-47

Length
2

Baccarelli,
Cordeschi, Patriarca, Polli

CRC
4

byte

232

Struttura della PDU del


Protocollo AAL5 (2/2)
Specificatamente,
o Payload contiene il Datagramma (dati) generato
dallo Strato di Rete. La lunghezza massima di
65535 byte.
o PAD serve a garantire che, complessivamente, la
lunghezza della PDU sia un multiplo intero di 48
bytes. Quindi la dimensione massima del campo PAD
di 47 byte.
o Cyclic Redundancy Check (CRC) serve a rivelare
(ma non a correggere) al nodo ricevente leventuale
presenza di errori nella AAL PDU ricevuta. Il
campo ha dimensione di 4 byte.
Baccarelli,
Cordeschi, Patriarca, Polli

233

Lo Strato ATM Funzioni (1/2)


Lo strato ATM attuato sia ai nodi terminali che ai nodi di
commutazione della rete ATM.
Le funzioni principali svolte dallo Strato ATM sono le
seguenti tra:
i. Generazione/riassemblamento delle celle al nodo
sorgente, lo strato ATM genera celle (cio, Unit
Informative) di 53bytes frammentando le PDU passate
dallo Strato AAL. Al Nodo-Destinazione, lo Strato ATM
riassembla le celle ricevute, cos da rigenerare le PDU
dello Strato AAL.
ii. Gestione dei circuiti virtuali gli Strati ATM dei Nodi Sorgente e destinazione e dei nodi di commutazione
provvedono alla instaurazione, mantenimento e
abbattimento di ciascun Circuito Virtuale. Essi
provvedono anche ad assegnare a ciascun CV i
corrispondenti Identificatori (VCI).

Baccarelli,
Cordeschi, Patriarca, Polli

234

Lo Strato ATM Funzioni (2/2)


iii.

Instradamento delle celle a ciascun nodo

di commutazione il corrispondente strato


ATM provvede a :
o
Instradare le celle ricevute dalle porte di
ingresso verso le (opportune) porte
duscita;
o
Aggiornare la Tabella di Instradamento
memorizzata nel nodo.
Baccarelli,
Cordeschi, Patriarca, Polli

235

Servizio offerto dallo Strato ATM


Il servizio offerto dallo Strato ATM allo Strato AAL
quello di trasferimento delle PDU generate sotto
forma di celle ATM.
Il modo di trasferimento attuato dallo strato ATM
a commutazione di pacchetto e con indirizzamento a

Circuito Virtuale.

Il servizio offerto di tipo orientato alla connessione,


ma (in generale) non affidabile.
A seconda della tipologia della connessione instaurata,
lo Strato ATM offre:

o
o
o
o

un trasferimento di celle a velocit costante in ogni istante;


un trasferimento di celle a velocit media costante;
un trasferimento di celle a velocit minima prefissata;
un trasferimento di celle a velocit variabile e non garantita.
Baccarelli,
Cordeschi, Patriarca, Polli

236

La cella ATM (1/2)


Le unit informative generate e trasferite
dallo strato ATM si chiamano celle. Ogni
cella ha una lunghezza fissa di 53 byte.
Ogni cella costituita da

i.
ii.

un Campo Header di 5 byte;


un Campo Payload di 48 byte.

Header
5

Payload
48

Baccarelli,
Cordeschi, Patriarca, Polli

byte

237

La cella ATM (2/2)


Il campo Payload contiene parte della PDU
generata dallo strato AAL.
Il campo Header :
i.
Aggiunto dallo Strato ATM del NodoSorgente;
ii. Letto e (eventualmente) modificato dallo
Strato ATM di ciascuno dei nodi di
commutazione attraversati dalla cella;
iii. Rimosso dallo Strato ATM del NodoDestinazione.

Baccarelli,
Cordeschi, Patriarca, Polli

238

LHeader della cella ATM (1/2)


Essenzialmente, lHeader (5 byte) di una cella

ATM contiene linformazione circa il CV al


quale la cella appartiene.
Sulla base della suddetta informazione,
ciascun nodo di commutazione provvede al
corretto instradamento della cella ricevuta.
La struttura dellHeader di cella ATM
riportato in figura.
VCI
28

PT
3

CLP

HEC

Baccarelli,
Cordeschi, Patriarca, Polli

bit
239

LHeader della cella ATM (2/2)

Il significato dei campi dellHeader il seguente:


i.
Virtual Channel Identifier (VCI) un campo di 28bit che
specifica il CV al quale appartiene la cella. Il contenuto del
VCI pu essere modificato da ciascun nodo di commutazione
attraversato dalla cella.
ii. Payload Type (PT) un campo di 3 bit che specifica il tipo di
informazione (dati oppure informazione di controllo)
trasportata dal campo Payload della cella.
iii. Cell-Loss Priority (CLP) un campo di 1 bit. Le celle con
CLP=1 sono a bassa priorit (possono essere eliminate nel caso
di congestione), mentre le celle con CLP=0 sono ad alta
priorit (non possono essere scartate in caso di congestione).
iv. Header Error Control un campo di 8 bit. Costituisce i bit
di controllo di parit del codice che impiegato per la
rivelazione e la correzione degli (eventuali) errori che il
canale trasmissivo ha introdotto nel (solo) header della cella.
Baccarelli,
Cordeschi, Patriarca, Polli

240

Lo Strato Fisico di ATM (1/4)


I protocolli di Strato Fisico sono attuati

sia a

nodi terminali che ai nodi di commutazione della


Rete ATM.
La funzione dello Strato Fisico quello di
fornire una opportuna interfaccia col mezzo
trasmissivo impiegato, cos che lo Strato ATM
possa trasmettere e ricevere celle con modalit
che sono indipendenti dalle caratteristiche
specifiche del mezzo trasmissivo di volta in
volta adottato.
Baccarelli,
Cordeschi, Patriarca, Polli

241

Lo Strato Fisico di ATM (2/4)


Lo Strato Fisico di ATM suddiviso in

sotto-strati:
o
o

due

Trasmission Convergence Sub-Layer (TCS);


Physical-Medium Dependent Sub-Layer (PMDS);
TCS

Strato fisico di ATM

PMDS
Mezzo trasmissivo
Baccarelli,
Cordeschi, Patriarca, Polli

242

Lo Strato Fisico di ATM (3/4)


Il TCS svolge tutte le funzioni richieste per

trasformare una sequenza di celle ATM in una

sequenza di bit. In particolare,


o genera e riceve il flusso binario che
trasferito dal/al mezzo trasmissivo;
o allinea le celle ricevute/trasmesse allo
Strato ATM;
o effettua la rivelazione e correzione degli
errori eventualmente presenti nellHeader
di ciascuna cella ricevuta.
Baccarelli,
Cordeschi, Patriarca, Polli

243

Lo Strato Fisico di ATM (4/4)


Il PMDS modula e demodula la sequenza di bit

ricevuta/trasmessa dal/al TCS, ed,


eventualmente, codifica e decodifica la
suddetta sequenza di bit.

Le velocit di trasmissione del flusso binario

generato/ricevuto dal PMDS possono essere


di: 155.52Mb/sec, 622.08Mb/sec, 51.84
Mb/sec e 2.5 Gb/sec.
Baccarelli,
Cordeschi, Patriarca, Polli

244

Capitolo 9
Strato di Rete in Internet

Baccarelli,
Cordeschi, Patriarca, Polli

Sommario del Capitolo


Servizi offerti dallo Strato di Rete
Funzioni svolte dallo Strato di Rete:

o
o

Inoltro
Instradamento

Il protocollo IP e lindirizzamento in Internet


Algoritmi e Protocolli di Instradamento
Inter-connessioni di sotto-reti e inter-lavoro in rete
Prestazioni delle Reti IP:

o
o
o

Ritardo
Throughput
Perdite

Baccarelli,
Cordeschi, Patriarca, Polli

Servizio e Funzioni di Strato di


Rete

Baccarelli,
Cordeschi, Patriarca, Polli

Il Servizio-Base e le Funzioni-Base
dello Strato di Rete (1/3)

Supponiamo che i segmenti (messaggi) generati dallo Strato di


Trasporto di una Applicazione-Sorgente (AS) debbano essere
trasferiti allo Strato di Trasporto di una ApplicazioneDestinazione (AD) attraverso un cammino (percorso) costituito
da:
i.
nodi di commutazione (Router)
ii.
canali trasmissivi.
Il servizio principale che lo Strato di Rete offre allo Strato di
Trasporto quello di:
i.
incapsulare i segmenti da trasferire in datagrammi;
ii.
provvedere a trasferire i datagrammi dal Terminale-Sorgente
(in cui risiede lApplicazione-Sorgente) al TerminaleDestinazione (in cui risiede lApplicazione-Destinazione).
Le due funzioni di base mediante le quali lo Strato di Rete attua il
trasferimento di Datagrammi tra i terminali sono quelle di:
i.
inoltro (Forwarding)
ii.
instradamento (Routing)
Baccarelli,
Cordeschi, Patriarca, Polli

Il Servizio-Base e le Funzioni-Base
dello Strato di Rete (2/3)

Lo Strato di Rete prende i

segmenti dallo Strato di


Trasporto nellHost mittente.
Sul lato mittente, incapsula i
segmenti in datagrammi.
Sul lato destinazione,
consegna i segmenti allo
Strato di Trasporto.
Protocolli dello Strato di
Rete in ogni host e router.
Il router esamina i campi
intestazione di tutti i
datagrammi che lo
attraversano e procede
allinstradamento verso il
successivo router.
Baccarelli,
Cordeschi, Patriarca, Polli

application
transport
network
data link
physical
network
data link
physical

Terminale-Sorgente (TS)

network
data link
physical
network
data link
physical

network
data link
physical
network
data link
physical

network
network
data link
data link
physical
physical
network
data link
physical

network
data link
physical

network
data link
physical

network
data link
physical

application
transport
network
data link
physical

Terminale-Destinazione (TD)

Il Servizio-Base e le Funzioni-Base
dello Strato di Rete (3/3)
Inoltro (Forwarding):

trasferisce i pacchetti in ingresso ad un router


verso luscita appropriata del router stesso.

Instradamento (Routing):

determina il percorso che deve essere seguito


dai pacchetti dal Terminale-Sorgente al
Terminale-Destinazione

Analogia:

o
o

Instradamento: processo di pianificazione di un


viaggio dallorigine alla destinazione
Inoltro: processo di attraversamento di un
determinato svincolo
Baccarelli,
Cordeschi, Patriarca, Polli

La funzione di Inoltro (Forwarding)


(1/3)

La funzione di Inoltro si riferisce allazione locale


effettuata allinterno di ciascun singolo nodo di
commutazione (router) di trasferire (inoltrare) un
datagramma in arrivo da una delle sue porte di
ingresso verso una (opportuna) sua porta di uscita.
Per poter effettuare la funzione di Inoltro, ciascun
router ha memorizzata al suo interno una Tabella di
Inoltro che associa lindirizzo contenuto
nellintestazione del datagramma in arrivo con il
numero dordine della porta di uscita al quale il router
deve trasferire il datagramma stesso.
Baccarelli,
Cordeschi, Patriarca, Polli

La funzione di Inoltro (Forwarding)


(2/3)
Nelle reti a Circuito Virtuale, lindirizzo

contenuto nellintestazione del datagramma


lidentificatore del CV (CVI) al quale il
datagramma appartiene.

Nelle reti a Datagramma, lindirizzo contenuto

nellintestazione del Datagramma lindirizzo


IP del Terminale-Destinazione al quale il
Datagramma deve, alla fine del percorso,
pervenire.
Baccarelli,
Cordeschi, Patriarca, Polli

La funzione di Inoltro (Forwarding)


(3/3)
Specificatamente, allarrivo di ogni
Datagramma, il router:

i.
ii.

iii.

legge lindirizzo contenuto nellintestazione

(header) del Datagramma;


accede alla propria Tabella di Inoltro e legge il
numero dordine della porta di uscita
corrispondente allindirizzo del datagramma;
trasferisce (inoltra) il Datagramma verso la
suddetta porta di uscita.
Baccarelli,
Cordeschi, Patriarca, Polli

La funzione di Instradamento
(Routing Function)
La funzione di Instradamento (routing) si riferisce al

processo che coinvolge tutti i nodi della rete mediante il


quale individuato il cammino (path o route) che i
datagrammi debbono seguire per essere trasferiti dal
Terminale-Sorgente al Terminale-Destinazione.
lintera rete che, mediante lesecuzione di un (opportuno)
Algoritmo di Instradamento (Routing Algorithm), calcola
lintero cammino che ciascun Datagramma deve seguire per
trasferirsi dal Terminale-Sorgente al TerminaleDestinazione.
Ciascun router ha memorizzato al suo interno una Tabella
di Instradamento che associa ad ogni indirizzo IP di
destinazione il numero dordine del successivo router
(next-router) al quale inviare i datagrammi ricevuti.
Baccarelli,
Cordeschi, Patriarca, Polli

10

Interazione delle Funzioni di


Instradamento e di Inoltro (1/2)
Le funzioni di Instradamento e di Inoltro

interagiscono tra di loro.

Specificatamente, ci significa che la

Tabella

di Inoltro residente in ciascun router


calcolata e aggiornata dallAlgoritmo di

Instradamento.

Baccarelli,
Cordeschi, Patriarca, Polli

11

Interazione delle Funzioni di


Instradamento e di Inoltro (2/2)
Algoritmo
dinstradamento

Tabella di instradamento

Tabella di inoltro
Valore
Porta di
dintestazione
Uscita
0100
0101
0111
1001

0111

Valore nellintestazione
del pacchetto in arrivo

3
2
2
1

1
3 2

Baccarelli,
Cordeschi, Patriarca, Polli

12

Nodi di CommutazioneClassificazione Bridge/Router


generale di Commutatore (switch) si indica un
nodo di rete che in grado di trasferire un pacchetto

Col termine

(frame o datagramma) da una delle sue porte di ingresso


verso una (opportuna) sua porta di uscita.
I Bridge sono commutatori che eseguono linoltro di trame
sulla base degli Indirizzi MAC.
Come vedremo meglio in seguito, i router sono commutatori
che eseguono linoltro di Datagrammi sulla base degli

Indirizzi IP.

Bridge
Commutatore
(Switch)

Router
Baccarelli,
Cordeschi, Patriarca, Polli

13

Modello di Servizio dello Strato di


Rete (1/2)
In

aggiunta al servizio di base di

trasferimento di segmenti mediante


datagrammi, a seconda della tecnologia di rete
considerata, lo Strato di Rete potrebbe o
meno offrire al corrispondente Strato di
Trasporto altri servizi.

Per definizione, il

Modello di Servizio di Rete

definisce le caratteristiche (propriet) del


trasferimento di dati che lo Strato di Rete
offre allo Strato di Trasporto.
Baccarelli,
Cordeschi, Patriarca, Polli

14

Modello di Servizio dello Strato di


Rete (2/2)
Ad esempio, il servizio di trasferimento di
datagrammi offerto dallo Strato di Rete potrebbe
essere di tipo affidabile oppure di tipo non affidabile.
Il servizio di trasferimento di datagrammi offerto
dallo Strato di Rete potrebbe o meno garantire un
tasso minimo di datagrammi/sec. trasferiti dalla Rete.
Il servizio di trasferimento di datagrammi offerto
dallo Strato di Rete potrebbe garantire o meno che
lintervallo di tempo tra le trasmissioni di due
(qualsiasi) datagrammi al Terminale-Sorgente uguale
allintervallo di tempo tra le ricezioni dei suddetti
datagrammi al Terminale-Destinazione.

Baccarelli,
Cordeschi, Patriarca, Polli

15

Modello di Servizio dello Strato di


Rete di Internet

Il Servizio offerto dallo Strato di Rete di Internet di


tipo Best-Effort (ossia, senza alcuna garanzia), con ci
intendendo dire che:
i.
il trasferimento di datagrammi non affidabile ;
ii.
non garantito un limite superiore al tempo
necessario per trasferire un assegnato numero di
datagrammi;
iii.
non garantito che lintervallo di tempo tra gli istanti
di trasmissione di due datagrammi al TerminaleSorgente sia uguale allintervallo di tempo tra i
corrispondenti istanti di ricezione al TerminaleDestinazione.
Baccarelli,
Cordeschi, Patriarca, Polli

16

Modelli di Servizio nelle Reti ATM


(1/3)
A seconda del tipo di Canale Virtuale
attivato, lo Strato ATM delle Reti ATM in
grado di offrire modelli di servizio con
caratteristiche diverse.
Specificatamente, i due principali modelli di
servizio offerti dalle Reti ATM sono:

i.
ii.

Il servizio a tasso binario costante (Constant Bit


Rate (CBR) Service)
Il servizio con tasso minimo binario garantito
(Available Bit Rate (ABR) Service)
Baccarelli,
Cordeschi, Patriarca, Polli

17

Modelli di Servizio nelle Reti ATMCBR (2/3)

Il modello di Servizio CBR garantisce che:


i.
il trasferimento dati (celle ATM)
affidabile;
ii. il tasso di trasferimento (ossia, il numero di
celle trasferito nellunit di tempo)
costante in ogni istante della durata della
connessione;
iii. gli intervalli tra le trasmissioni di celle
consecutive sono uguali ai corrispondenti
intervalli tra gli istanti di ricezione (no
jitter).
Baccarelli,
Cordeschi, Patriarca, Polli

18

Modelli di Servizio nelle Reti ATMABR (3/3)

Il modello di servizio ABR garantisce


solamente che:
i.
in ogni istante, il tasso di trasferimento
delle celle ATM (celle/sec) non mai
inferiore ad un tasso minimo prefissato;
ii. Le celle sono consegnate allo Strato ATM
del Terminale-Destinazione nello stesso
ordine (sequenza) con le quali sono state
generate dallo Strato ATM del
Terminale-Sorgente.
Baccarelli,
Cordeschi, Patriarca, Polli

19

Modelli di Servizio- Riassunto


Network
Architecture
Internet

Service
Model

Guarantees ?

Congestion
Bandwidth Loss Order Timing feedback

best effort none

ATM

CBR

ATM

ABR

no

constant
yes
rate
guaranteed
minimum no

no

no

yes

yes

yes

no

Baccarelli,
Cordeschi, Patriarca, Polli

no (inferred
via loss)
no
congestion
yes

20

Reti a Datagramma- Generalit


(1/2)
Per definizione, una Rete a Datagramma
una Rete a Commutazione di pacchetto (cio,
che impiega la Multiplazione Statistica) nella
quale:

i.

ii.

lindirizzamento di ogni datagramma effettuato


specificando gli indirizzi del Terminale-Sorgente
e del Terminale-Destinazione;
Il trasferimento dei datagrammi privo di
connessione. Ci significa che non ci sono le fasi
di instaurazione e di abbattimento di una
connessione e, inoltre, che i datagrammi generati
dal Terminale-Sorgente possono raggiungere il
Terminale-Destinazione seguendo percorsi (path
o route) diversi allinterno della rete.
Baccarelli,
Cordeschi, Patriarca, Polli

21

Reti a Datagramma- Generalit


(2/2)
application
transport
network
data link 1. Send data
physical

application
transport
2. Receive data network
data link
physical

Baccarelli,
Cordeschi, Patriarca, Polli

22

Reti a Datagramma- Indirizzamento e


Inoltro (1/5)
Tipicamente, nellattuale Rete Internet, gli indirizzi
degli utenti-destinazione (IP Destination Address) sono
lunghi 32 bit.
Ci significa che, in linea di principio, ogni Tabella di
Inoltro dovrebbe contenere 232 indirizzi diversi.
Per ridurre le dimensioni delle Tabelle di Inoltro, si fa
ricorso al cos detto Indirizzamento su base Prefisso.
Questa strategia di indirizzamento prevede che:

i.

ii.

tutti gli indirizzi degli utenti-destinazione ai quali


corrisponde una stessa porta di uscita del router sono
rappresentati dalla parte comune dei loro indirizza IP,
ossia mediante il prefisso comune a tutti i loro indirizzi;
La Tabella di Inoltro memorizza solo le coppie <prefisso,
porta di uscita>.
Baccarelli,
Cordeschi, Patriarca, Polli

23

Reti a Datagramma- Indirizzamento e


Inoltro (2/5)
Allarrivo di un datagramma da una delle
porte di ingresso, il router opera il suo
inoltro svolgendo le seguenti operazioni:

i.
ii.
iii.

iv.

estrae dal datagramma lindirizzo del TerminaleDestinazione (stringa di 32 bit);


estrae dallindirizzo la parte di prefisso (pu
essere di lunghezza variabile)
Dalla Tabella di Inoltro, il router legge il numero
dordine della porta di uscita associata al
prefisso in oggetto;
inoltra il datagramma verso la porta di uscita
individuata.
Baccarelli,
Cordeschi, Patriarca, Polli

24

Reti a Datagramma- Indirizzamento e


Inoltro (3/5)

Pu accadere che all(intero) indirizzo dellutente-destinazione


presente nellintestazione di un datagramma ricevuto dal
Router corrispondano pi prefissi (di lunghezze diverse)
memorizzati nella Tabella di Inoltro del Router.
In questo caso, per inoltrare il datagramma, il router segue la
cos detta Regola del Prefisso pi lungo (Longest Prefix
Matching Rule) e cio:
i.
Allinterno della Tabella di Inoltro, il Router individua il
prefisso ivi memorizzato che costituisce la parte iniziale
dell(intero) indirizzo contenuto nel datagramma e che, tra
tutti i prefissi memorizzati che costituiscono la parte
iniziale dellindirizzo in oggetto, quello pi lungo;
ii.
Il router inoltra il datagramma verso la porta di uscita
corrispondente al prefisso pi lungo individuato al passo
precedente.
Baccarelli,
Cordeschi, Patriarca, Polli

25

Reti a Datagramma- Indirizzamento e


Inoltro- Esempio (4/5)
Supponiamo che la Tabella di Inoltro di un Router contenga

le seguenti coppie < prefisso, porta di uscita>.


Prefisso

Porta di uscita

110010000001011100010
110010000001011100011000
110010000001011100011
Altro prefisso

0
1
2
3

Supponiamo che, allingresso del Router, arrivi un datagramma

con Indirizzo di Destinazione (di 32 bit):


11001000000101110001011010100001
Poich i primi 21 bit di questo indirizzo coincidono col prefisso
riportato nella prima riga della Tabella di Inoltro, il datagramma
inoltrato verso la porta di uscita numero 0.
Baccarelli,
Cordeschi, Patriarca, Polli

26

Reti a Datagramma- Indirizzamento e


Inoltro- Esempio (5/5)
Supponiamo ora che, allingrasso del Router, arrivi
un datagramma con indirizzo di Destinazione (di 32
bit):
11001000000101110001100010101010
Ora, abbiamo che:

i.
ii.

i primi 21 bit dellindirizzo coincidono col prefisso riportato


nella prima riga della Tabella di Inoltro;
i primi 24 bit dellindirizzo coincidono col prefisso
riportato nella seconda riga della Tabella di Inoltro.

In accordo alla Regola del Prefisso pi lungo, il


Router prende in considerazione solo il prefisso
posto nella seconda riga della Tabella di Inoltro e,
quindi, trasferisce il datagramma in oggetto alla
porta di uscita numero 1.
Baccarelli,
Cordeschi, Patriarca, Polli

27

Come fatto un RouterGeneralit (1/8)


Come detto, la funzione di un Router quella di
inoltrare ciascun datagramma ricevuto da una porta
di ingresso verso una opportuna porta di uscita.

Dal punto di vista hardware, un router costituito


dalle seguenti 4 componenti:
i.
Porte di ingresso- sono in numero di m 2;
ii.
Porte di uscita- sono in numero di m 2;
iii. Matrice di commutazione- collega ciascuna porta
di ingresso a ciascuna porta di uscita;
iv. Processore di Controllo- esegue lAlgoritmo di
Instradamento e, quindi,

o
o

Memorizza la Tabella di Instradamento;


Aggiorna le Tabelle di Inoltro residenti in ciascuna delle
Porte di Ingresso.
Baccarelli,
Cordeschi, Patriarca, Polli

28

Come fatto un RouterGeneralit (2/8)


Input porta 1

Input porta m

Output porta 1

Matrice
di
Commutazione

Output porta m

Processore di
Controllo

Baccarelli,
Cordeschi, Patriarca, Polli

29

Come fatto un Router- Porte di


Ingresso (3/8)

Ciascuna porta di ingresso espleta:


i.
Funzioni di Strato Fisico- ricezione e rivelazione
dei bit in ingresso;
ii. Funzioni di Strato di Collegamento- ricostruzione
delle trame a partire dai bit;
iii. Funzioni di Inoltro- ogni porta ha memorizzata
una copia della Tabella di Inoltro, in base alla
quale effettua linoltro dei datagrammi ricevuti;
iv. Funzioni di Memorizzazione- ogni porta di
ingresso dotata di un buffer nel quale
memorizza temporaneamente i datagrammi
ricevuti e che non sono stati ancora inoltrati.
Baccarelli,
Cordeschi, Patriarca, Polli

30

Come fatto un Router- Porte di


Ingresso (4/8)

Matrice
di
Commutazione

Strato Fisico:

Ricezione a livello di bit

Strato Data-link:
e.g., Ethernet

Baccarelli,
Cordeschi, Patriarca, Polli

31

Come fatto un Router- Matrice


di Commutazione (5/8)

La Matrice di Commutazione di un router con m


porte di ingresso e m porte di uscita costituita
da:
i. 2m canali interni (buses);
ii. m2 nodi di interconnessione

Porte di Ingresso

Matrice di Commutazione

Porte di Uscita
Baccarelli,
Cordeschi, Patriarca, Polli

32

Come fatto un Router- Matrice


di Commutazione (6/8)

Un datagramma che arriva alls-ma porta di ingresso


e deve essere inoltrato verso la k-ma porta di
uscita
i.
viaggia lungo il bus orizzontale s-mo sino a che
interseca il k-mo bus verticale;
ii.
se il k-mo bus verticale gi occupato dallinoltro di

iii.

un altro datagramma, il datagramma in oggetto


memorizzato temporaneamente nel buffer dells-ma
porta di ingresso;
se il k-mo bus verticale libero, il datagramma
trasferito alla k-ma porta di uscita e, eventualmente,
memorizzato nel buffer della k-ma porta di uscita.
Baccarelli,
Cordeschi, Patriarca, Polli

33

Come fatto un Router- Porte di


Uscita (7/8)

Ciascuna Porta di Uscita espleta le seguenti


funzioni:
i.
Memorizza temporaneamente nel buffer
ad essa collegato i datagrammi che sono in
attesa di essere trasmessi dal Router;
ii. Frammenta i datagrammi e li incapsula in
trame;
iii. Immette serialmente i bit che
compongono ciascuna trama nel canale
fisico collegato alla porta stessa.
Baccarelli,
Cordeschi, Patriarca, Polli

34

Come fatto un Router- Porte di


Uscita (8/8)

Matrice
di
Commutazione

Baccarelli,
Cordeschi, Patriarca, Polli

35

Code allinterno di un Router


code sia nei
buffer collegati alle porte di ingresso che nei buffer

Allinterno di un Router, si possono avere

collegati alle porte di uscita.


Si hanno code alle porte di ingresso quando la velocit (in
datagrammi/sec) con cui i datagrammi arrivano alle porte
di ingresso superiore alla velocit con cui la Matrice di
Commutazione riesce ad inoltrare i datagrammi arrivati
verso le corrispondenti porte di uscita.
Si hanno code alle porte di uscita quando la capacit C (in
datagrammi/sec) di trasmissione dei canali collegati alle
porte di uscita inferiore alla velocit con cui la Matrice
di Commutazione inoltra i datagrammi verso le porte di
uscita.
Baccarelli,
Cordeschi, Patriarca, Polli

36

Perdite di Datagrammi in un
Router
Ciascuno dei 2m buffer connessi alle porte di
ingresso/uscita di un router in grado di
memorizzare un numero finito NMAX di datagrammi.
Quando il numero di datagrammi da memorizzare in
una delle porte supera il limite NMAX , i datagrammi in
eccesso vengono scartati (cio, non inoltrati) dal
Router.
I datagrammi scartati da un router non
raggiungeranno mai il Terminale-Destinazione, dando
cos luogo al Fenomeno della Perdita di Datagrammi
(Data Loss Event).

Baccarelli,
Cordeschi, Patriarca, Polli

37

La Rete Internet- Struttura e


Architettura Protocollare

Baccarelli,
Cordeschi, Patriarca, Polli

38

Struttura della Rete Internet


(1/5)

Internet un insieme di sotto-reti.


o
Sotto-rete: sistema di comunicazione
delimitato da dispositivi di Strato di Rete
(Router)
o
Una Internet consente a sistemi terminali
(host) appartenenti a sottoreti
eterogenee di scambiarsi informazioni tra
di loro
Internet basata sulla pila protocollare
TCP/IP.
Baccarelli,
Cordeschi, Patriarca, Polli

39

Struttura della Rete InternetConnessione di sotto-reti (2/5)


Router

Sottoreti

Terminali
(Host)
Baccarelli,
Cordeschi, Patriarca, Polli

40

Struttura della Rete InternetTerminali e Router (3/5)


Terminale

Applicazione

(host)
Indirizzo IP

subnet

Indirizzo MAC

TCP

UDP

191.133.5.98 IP

IF 1

Architettura protocollare di un terminale


Indirizzi IP

Commutatore

(router)

Subnet A
Subnet B
Subnet C

IP 191.133.5.7

123.45.6.93

112.4.234.9

IF 1 (ATM) IF 2 (Ethernet) IF 3 (FDDI)


Architettura protocollare di un router

Indirizzi MAC

Baccarelli,
Cordeschi, Patriarca, Polli

41

Struttura della Rete Internet- La


pila TCP/IP (4/5)

La pila protocollare TCP/IP logicamente


situata al di sopra dei protocolli di Strato di
Collegamento;
o
i protocolli TCP/IP assumono che lo
Strato di Collegamento non esegua
nessuna funzione, oltre a quella di
trasferimento di trame tra nodi (terminali
o Commutatori) adiacenti.
Baccarelli,
Cordeschi, Patriarca, Polli

42

Struttura della Rete InternetElementi costituenti di base (5/5)


Le entit base costituenti Internet sono gli

Host (terminali dutente) e i Router.


Host:
o
o

Sono le sorgenti e le destinazioni dei datagrammi;


Sono univocamente identificati nella rete mediante
indirizzi IP a 32 bit.

Router:
o Instradano i pacchetti IP tra le sotto-reti;
o Hanno uninterfaccia per ogni sotto-rete a cui sono
connessi.
Baccarelli,
Cordeschi, Patriarca, Polli

43

Principio di Interconnessione
(1/4)
Principio di interconnessione:
o

le inter-connessioni tra diverse sotto-reti sono assicurate dai


router.
Interfaccia 1

H
o
o

Interfaccia 2

Sotto-rete
2

Sotto-rete
1

H
H

in generale, i router instradano i datagrammi verso la sotto-rete di


destinazione e non verso il singolo host di destinazione;
in generali, una volta che il datagramma arriva alla sotto-rete di
destinazione sono i protocolli di Strato di Collegamento di questa
sotto-rete ad inoltrarlo verso lo specifico terminale di destinazione.
Baccarelli,
Cordeschi, Patriarca, Polli

44

Principio di Interconnessione
(2/4)
Il terminale sorgente:

forma il datagramma IP destinato al terminaledestinazione;


determina se il terminale-destinazione si trova
sulla sua stessa sotto-rete:

1)
2)
i.

ii.

3)

se la sotto-rete la stessa, il terminale-sorgente


determina lindirizza MAC del terminale-destinazione
(instradamento diretto);
se la sotto-rete diversa, il terminale-sorgente
determina lindirizzo IP e lindirizzo MAC del router
verso cui inviare il datagramma (instradamento
indiretto);

consegna il datagramma alla sotto-rete che lo


consegner, a sua volta, allhost di destinazione.
Baccarelli,
Cordeschi, Patriarca, Polli

45

Principio di Interconnessione
(3/4)
Un router elabora lindirizzo del
datagramma IP ricevuto e determina la
sotto-rete in cui si trova il terminaledestinazione

i.

ii.

se il terminale-destinazione si trova in una delle


sotto-reti a cui il router direttamente
connesso, allora affida il datagramma alla sottorete per la consegna;
altrimenti, determina il router successivo (nextrouter) verso cui instradare il datagramma e
instrada il datagramma verso il suddetto router.
Baccarelli,
Cordeschi, Patriarca, Polli

46

Principio di Interconnessione
(4/4)
Una sotto-rete
o

inoltra i datagrammi IP incapsulandoli nelle


proprie trame, utilizzando i propri
protocolli di Strato di Collegamento.
Interfaccia 1

H1

H2

Interfaccia 2

H3

Sotto-rete
2

Sotto-rete
1

H4
H5

Baccarelli,
Cordeschi, Patriarca, Polli

47

Architettura Protocollare dello


Strato di Rete in Internet (1/2)

Larchitettura protocollare dello Strato di


Rete di Internet riportato in Figura.
Strato di Trasporto: TCP/UDP

Protocolli di Routing

Protocollo IP

Protocollo ARP

Protocollo ICMP

Instradamento
RIP,OSPF,BGP

Indirizzamento
Formato del datagramma

Conversione indirizzi IP
in indirizzi MAC

Segnalazione di errori
Segnalazione di controllo

Strato di Collegamento
Strato Fisico
Baccarelli,
Cordeschi, Patriarca, Polli

48

Architettura Protocollare dello


Strato di Rete in Internet (2/2)

Essenzialmente, lo Strato di Rete Internet composto da 4


famiglie principali di protocolli:
i.
Protocolli per linstradamento dei datagrammi (RIP, OSPF,
BGP)- sono implementati mediante le Tabelle di
Instradamento e provvedono ad aggiornare le Tabelle di
Inoltro;
ii.
Protocollo IP- definisce la struttura e le regole per
lindirizzamento di utenti terminali, router e sotto-reti.
Definisce il formato del datagramma IP;
iii.

iv.

Protocollo ICMP (Internet Control Message Protocol)-

definisce e gestisce i messaggi di segnalazione di


errori/malfunzionamenti tra router e utenti terminali;
Protocollo ARP (Address Resolution Protocol)- in ogni
istante, permette di ricavare lindirizzo MAC di un router o
utente terminale dal corrispondente Indirizzo IP.
Baccarelli,
Cordeschi, Patriarca, Polli

49

Il Protocollo IP

Baccarelli,
Cordeschi, Patriarca, Polli

50

Il Protocollo IP- Generalit (1/3)


Il Protocollo IP uno dei protocolli di Strato di
Rete di Internet:

i.
ii.

iii.
iv.

v.

i.
ii.

Offre un servizio Best-Effort di trasferimento di


segmenti allo Strato di Trasporto;
Opera con modalit di trasferimento senza connessione;
Impiega la commutazione di pacchetto e la multiplazione
statistica ;
Esegue le funzioni di indirizzamento dei datagrammi;
Definisce il formato del datagramma IP.

Esistono due versioni del protocollo IP, note come:


IPv4
IPv6

Nel seguito, faremo riferimento alla versione IPv4,


di gran lunga pi utilizzata.
Baccarelli,
Cordeschi, Patriarca, Polli

51

Il Protocollo IP- Generalit (2/3)


Essenzialmente, le funzioni principali del
protocollo IP sono:

In trasmissione

a)
i.

ii.

iii.

iv.

Incapsula in datagrammi i segmenti ricevuti dallo


Strato di Trasporto;
Aggiunge gli indirizzi IP degli utenti sorgente e
destinazione;
Attua gli Algoritmi di Routing per calcolare il
cammino ottimo tra Utente-Sorgente e UtenteDestinazione;
Provvede ad inviare il Datagramma verso il
successivo nodo di rete (next router).
Baccarelli,
Cordeschi, Patriarca, Polli

52

Il Protocollo IP- Generalit (3/3)


b)

In ricezione
i.
Verifica la validit (error detection) del
ii.

iii.

datagramma ricevuto;
Legge lindirizzo IP dellUtenteDestinazione presente nellheader del
datagramma ricevuto;
Consegna il segmento incapsulato nel
datagramma allo Strato di Trasporto
del terminale-destinazione
Baccarelli,
Cordeschi, Patriarca, Polli

53

Il Formato del Datagramma IP


(1/2)
Il formato del Datagramma IPv4 riportato

in Figura.

bit 0

HLEN

16
Type Of Service

Identification
Time To Live

31
Total Lenght

Flag Fragment Offset (13 bit)

Protocol

Header Checksum

Source IP Address

20 byte

Header

Vers

Destination IP Address
Options

Padding
Dati (Payload)

Baccarelli,
Cordeschi, Patriarca, Polli

54

Il Formato del Datagramma IP


(2/2)
Essenzialmente, un Datagramma IP
composto da:

Una intestazione (Header) - pu essere di


lunghezza variabile. La lunghezza minima di 20
byte;
Un campo dati (Payload)- pu essere di lunghezza

i.

ii.

variabile. Contiene:

o
o

Segmenti generati dallo Strato di Trasporto;


Oppure, messaggi di controllo generati dai protocolli
ICMP e/o ARP.

Baccarelli,
Cordeschi, Patriarca, Polli

55

Il Formato dellHeader (1/6)


LHeader contiene tutte le informazioni di

indirizzamento necessarie per instradare il

datagramma.
La dimensione minima dellHeader di 20

byte.

LHeader pu contenere o meno un campo

Opzioni la cui lunghezza e il cui significato


variano a seconda dellapplicazione
considerata.

Baccarelli,
Cordeschi, Patriarca, Polli

56

Il Formato dellHeader (2/6)

Vers (4 bit): versione del protocollo usata; grazie a tale

campo possibile che pi versioni di IP operino


contemporaneamente. La versione attualmente in uso la
IPv4.
HLEN (4 bit): lunghezza dellHeader in multipli di 32 bit.
TOS (Type Of Service) (8 bit): specifica i parametri della
qualit di servizio richiesti dallUtente-Sorgente (ad es.,
affidabilit, velocit di trasferimento).
Total Length (16 bit): specifica la lunghezza totale (incluso
lHeader) del datagramma, misurata in byte. La lunghezza
totale massima di un datagramma IP di 65535 byte.

Baccarelli,
Cordeschi, Patriarca, Polli

57

Il Formato dellHeader (3/6)

Identification (16 bit): numero identificativo del

datagramma. assegnato dallUtente-Sorgente al


datagramma ed ereditato dagli eventuali frammenti.

Flag (3 bit): usato per la frammentazione-X, DF e MF


i.
X: non usato e posto a 0;
ii.
DF (Dont Fragment): se 0, indica che il datagramma
pu essere frammentato; se 1, no.
iii.
MF (More Fragment): se 0, indica che il datagramma
lultimo frammento; se 1, che ci sono altri
frammenti.

Fragment Offset (13 bit): indica la posizione del


frammento allinterno delloriginario datagramma,
espressa in multipli di 64 bit.
Baccarelli,
Cordeschi, Patriarca, Polli

58

Il Formato dellHeader (4/6)

TTL (Time To Live) (8 bit): indica il numero massimo

di salti residui che il datagramma pu effettuare in


rete. decrementato da ogni router attraversato dal
datagramma. Quando assume il valore zero, il
datagramma scartato.
Protocol (8 bit): indica a quale protocollo dello strato
superiore deve essere trasferito il contenuto del
campo payload del datagramma.
Header Checksum (16 bit): campo per la rivelazione di
eventuali errori presenti nel (solo) Header del
Datagramma ricevuto.
Baccarelli,
Cordeschi, Patriarca, Polli

59

Il Formato dellHeader (5/6)

Source

Address (32 bit): indirizzo IP del

terminale-sorgente.

Destination

Address (32 bit): indirizzo IP del

terminale-destinazione.

Baccarelli,
Cordeschi, Patriarca, Polli

60

Il Formato dellHeader (6/6)

Options : campo di lunghezza variabile (multipli di 8 bit)

che pu essere omesso. composto da tanti ottetti quante


sono le opzioni implementate, e cio:
o Record Route Option (RRO) : consente al mittente di
creare una lista vuota di indirizzi IP in modo che ogni
nodo attraversato inserisce il suo indirizzo in questa
lista.
o Source Route Option : consente al mittente di
specificare i nodi attraverso i quali vuole che transiti il
datagramma
o Timestamp Option : come RRO con in pi listante
temporale in cui il datagramma attraversa i diversi nodi
Padding: campo di lunghezza variabile. Serve a garantire
che lHeader abbia una lunghezza multipla di 32 bit.
Baccarelli,
Cordeschi, Patriarca, Polli

61

Frammentazione dei datagrammi


IP (1/3)
Quando lo Strato IP deve trasmettere un
datagramma:

i.

ii.

determina linterfaccia fisica di uscita (inoltro) e la


corrispondente Lunghezza Massima dellUnit dati
Trasferibile (MTU)
In base alla dimensione del datagramma, stabilisce se
frammentare o meno il datagramma in datagrammi pi
piccoli.

La frammentazione pu avvenire sia nel TerminaleSorgente che in un router intermedio. Il


riassemblaggio dei frammenti pu avvenire solo al
Terminale di Destinazione.
Quando un datagramma viene frammentato:

i.

ogni frammento trasportato in rete come un normale


datagramma IP, con una propria intestazione ed instradato
in modo indipendente dagli altri frammenti.
Baccarelli,
Cordeschi, Patriarca, Polli

62

Frammentazione dei datagrammi


IP (2/3) Frammentazione:

Ingresso:1 datagramma grande


Lunit massima di trasmissione (MTU) la
Uscita:3 datagrammi pi piccoli
massima quantit di dati che un frame a
livello di collegamento pu trasportare.
o

Differenti tipi di link, differenti MTU

I frammenti saranno riassemblati solo una


volta raggiunta la destinazione
I bit dellintestazione IP sono usati per
identificare e ordinare i frammenti
Se uno o pi frammenti non viene ricevuto
(a destinazione), verr scartato lintero Riassemblaggio
datagramma
La frammentazione pu avvenire sia
nellhost mittente che in un router
intermedio
Ogni frammento trasportato come un
normale datagramma IP con una propria
intestazione ed instradato in modo
indipendente dagli altri.

Datagrammi IP grandi vengono


frammentati in datagrammi IP pi piccoli.
o
o

Baccarelli,
Cordeschi, Patriarca, Polli

63

Frammentazione dei datagrammi


IP (3/3)

Nella frammentazione vengono utilizzati i seguenti


campi dellheader del Datagramma IP:
o

o
o

Identification: identificativo del datagramma da


frammentare; viene copiato in tutti gli header dei
datagrammi frammentati;
More fragment bit: posto ad 1 in tutti i datagrammi
frammentati, tranne che nellultimo;
Fragment offset: contiene la posizione (espressa in
multipli di 64 bit) di ciascun datagramma frammentato
rispetto allinizio del datagramma da frammentare;
Total length: contiene la dimensione di ogni datagramma
frammentato.
Baccarelli,
Cordeschi, Patriarca, Polli

64

Indirizzamento IP- Interfaccia

Dato un nodo di rete (utente terminale o router),


una sua interfaccia costituita dallinsieme di una
porta di ingresso e di una porta di uscita. In altri
termini, una interfaccia di un nodo una sua porta
bi-direzionale (I/O port).
Poich un Terminale dUtente (host) , in genere,
collegato alla rete mediante un solo canale
trasmissivo, un Terminale dUtente ha, in genere,
una sola interfaccia.
Poich un router inter-connette due o pi sotto-reti
diverse, un router ha interfacce multiple, cio
uninterfaccia per ogni sotto-rete alla quale
collegato.
Baccarelli,
Cordeschi, Patriarca, Polli

65

Indirizzamento IP delle
Interfacce (1/2)
Tutte le interfacce presenti in Internet sono
univocamente identificate da un proprio Indirizzo

IP.

Un indirizzo IP costituito da 32 bit, ovvero da 4


byte. Esso viene rappresentato ricorrendo alla cos
detta notazione decimale con punto, ossia,

i.
ii.

Esprimendo il contenuto di ciascuno dei byte mediante il


corrispondente numero intero, compreso tra 0 e 255;
Separando mediante punti i 4 numeri interi cos ottenuti.

Esempio:
11000001 00100000 11011000 00001001->193.32.216.9
00011100 00000000 11111111 00000011->28.0.255.3

Baccarelli,
Cordeschi, Patriarca, Polli

66

Indirizzamento IP delle InterfacceEsempio (2/2)


223.1.1.1
223.1.2.1
223.1.1.2
223.1.1.4
223.1.1.3

223.1.2.9

223.1.3.27

223.1.2.2
223.1.1.1 = 11011111 00000001 00000001 00000001

223.1.3.1

223.1.3.2

223

Baccarelli,
Cordeschi, Patriarca, Polli

67

Indirizzamento IP- Sotto-Reti


(1/6)

Come gi visto, la rete IP costituita da pi sottoreti inter-connesse mediante Router.


Per definizione, una sotto-rete costituita da tutte
e sole le interfacce che condividono uno specifico
prefisso (lungo: x 1 bit) dei loro indirizzi IP.
Ci significa che tutte le interfacce di una stessa
sotto-rete hanno i primi x bit (quelli pi a sinistra)
dei loro indirizzi IP coincidenti.
Quindi, il massimo numero di interfacce distinte che
possono far parte di una sotto-rete con prefisso
lungo x bit pari a:
2(32-x) 232/2x
Baccarelli,
Cordeschi, Patriarca, Polli

68

Indirizzamento IP- Sotto-RetiEsempio1 (2/6)


223.1.1.1
223.1.2.1
223.1.1.2
223.1.1.4

223.1.1.3

223.1.3.1

223.1.2.9

223.1.3.27

223.1.2.2

223.1.3.2

La rete consiste di 3 sotto-reti


Baccarelli,
Cordeschi, Patriarca, Polli

69

Indirizzamento IP-Sotto-Reti- Esempio2 (3/6)


223.1.1.2

223.1.1.1

Rete

costituita da 6 sotto-reti

223.1.1.4
223.1.1.3

223.1.9.2

223.1.7.0

223.1.9.1

223.1.7.1
223.1.8.1

223.1.8.0

223.1.2.6
223.1.2.1

223.1.3.27
223.1.2.2

223.1.3.1

Baccarelli,
Cordeschi, Patriarca, Polli

223.1.3.2
70

Indirizzamento IP- Sotto-Reti


(4/6)

La rete IP assegna a ciascuna sotto-rete un proprio


unico indirizzo che, in generale, assume il seguente
formato:
a.b.c.d/x
dove:
i.
a, b, c, d sono numeri interi compresi tra 0 e 255 che
specificano lindirizzo della sotto-rete;
ii.
/x, sta ad indicare che gli indirizzi IP di tutte le
interfacce della sotto-rete condividono un medesimo
prefisso lungo x 1 bit, prefisso che, a sua volta,
coincide con gli x bit pi a sinistra dellindirizzo IP
della sotto-rete stessa.
Gli x bit che costituiscono il prefisso dellindirizzo della
sotto-rete e il prefisso degli indirizzi di tutte le
interfacce che compongono la sotto-rete stessa si
chiama maschera della sotto-rete.
Baccarelli,
Cordeschi, Patriarca, Polli

71

Indirizzamento IP- SottoRetiEsempi (5/6)


La sotto-rete di indirizzo
255.1.3.0/24
costituita da tutte le interfacce i cui indirizzi IP
condividono il seguente prefisso lungo 24 bit:
11111111 00000001 00000011
La sotto-rete di indirizzo
3.255.0.0/17
costituita da tutte le interfacce i cui indirizzi IP
condividono il seguente prefisso lungo 17 bit:
00000011 1111111 0

Baccarelli,
Cordeschi, Patriarca, Polli

72

Indirizzamento IP- SottoRetiEsempi (6/6)


La rete (costituita da sotto-reti) considerata

nellEsempio 1 ha i seguenti indirizzi di sottorete:


223.1.1.0/24
223.1.2.0/24
223.1.3.0/24
Baccarelli,
Cordeschi, Patriarca, Polli

73

Indirizzi di Sotto-Rete e Tabelle


di Inoltro (1/2)
Come gi visto, al fine di minimizzare la memoria
richiesta, la Tabella di Inoltro presente in ciascun
router riporta le coppie
<prefisso, porta di uscita>
per ciascuna sotto-rete raggiungibile da una porta
di uscita del Router.
Specificatamente,

i.
ii.

Prefisso la sequenza di bit che costituisce il prefisso

dellindirizzo della sotto-rete in esame;


Porta di uscita il numero dordine della porta di uscita del
router dalla quale la sotto-rete in oggetto raggiungibile.

Come gi detto, ciascun datagramma in arrivo al


router inoltrato verso la corrispondente porta di
uscita applicando la Regola del prefisso pi lungo
Baccarelli,
Cordeschi, Patriarca, Polli

74

Indirizzi di Sotto-Rete e Tabelle


di Inoltro- Esempio (2/2)
Porta di uscita

Prefisso di sotto-rete
11001000
11001000
11001000
Altrimenti

00010111
00010111
00010111

00010
00011000
00011

0
1
2
3

Esempi:
Con: 11001000 00010111 00010110 10100001 Qual la porta di uscita?
Con: 11001000 00010111 00011000 10101010 Qual la porta di uscita?
Baccarelli,
Cordeschi, Patriarca, Polli

75

Indirizzamento Gerarchico in
Internet
Ovviamente, al fine di minimizzare la dimensione di
una Tabella di Inoltro, necessario che il numero di
sotto-reti raggiungibili da ciascuna delle porte di
uscita di un router sia il pi grande possibile.
Ci significa che, per quanto possibile, ciascuna sottorete dovrebbe essere costituita da interfacce con
indirizzi IP il pi possibile contigui (cio, in sequenza).
La strategia adottata da Internet per assegnare
opportunamente gli indirizzi IP alle sotto-reti e alle
corrispondenti interfacce nota come:
Classless InterDomain Routing (CIDR)

Baccarelli,
Cordeschi, Patriarca, Polli

76

CIDR- Definizione (1/4)

Nella strategia (CIDR) di assegnazione degli


indirizzi IP abbiamo che:
i.
La rete suddivisa in sotto-reti e, eventualmente,
ogni sotto-rete suddivisa in pi sotto-sotto-reti.
ii.

iii.

A ciascuna sotto-rete assegnato un indirizzo del


tipo:
a.b.c.d/x
A ciascuna sotto-sotto-rete assegnato un indirizzo
del tipo:
a.b.c.d/y
con y>x.
Baccarelli,
Cordeschi, Patriarca, Polli

77

CIDR- Definizione (2/4)


iii.

A tutte le interfacce di una stessa sotto-sottorete sono assegnati indirizzi IP che condividono la
prima parte lunga y bit dellindirizzo (prefisso di
sotto-sotto-rete).
Esempio di applicazione CIDR:
Indirizzo di Sotto-Rete: 255.0.1.0/24
11111111 00000000 00000001
Indirizzo di sotto-sotto-rete: 255.0.1.0/26
11111111 00000000 00000001 00
Baccarelli,
Cordeschi, Patriarca, Polli

78

CIDR- Propriet (3/4)


Quindi, in accordo alla strategia CIDR, i 32 bit
dellindirizzo IP assegnato a ciascuna interfaccia
suddiviso in 2 parti:

i.

ii.

Una prima parte costituita dai primi y 1 bit pi a sinistra


dellindirizzo che individua il prefisso della sotto-sottorete alla quale linterfaccia appartiene
Una seconda parte costituita dagli ultimi (32-y) bit pi a
destra dellindirizzo che specifica dellinterfaccia
considerata.
sub-subnet
part

interface
part

11001000 00010111 00010000 00000000


200.23.16.0/23
Baccarelli,
Cordeschi, Patriarca, Polli

79

CIDR- Propriet (4/4)


La strategia di assegnazione degli indirizzi IP
attuata da CIDR , quindi, di tipo gerarchico.
Ci implica che:

i.

ii.

i Router che interconnettono sotto-reti distinte


possono effettuare linoltro dei datagrammi ricevuti
dalle porte di ingresso esaminando solo i prefissi degli
indirizzi IP di destinazione contenuti nei datagrammi;
i router che si trovano allinterno di una sotto-rete
possono effettuare linoltro dei datagrammi ricevuti
dalle porte di ingresso esaminando solo i suffissi
(cio, gli ultimi (32-x) bit) degli indirizzi IP di
destinazione contenuti nei datagrammi.
Baccarelli,
Cordeschi, Patriarca, Polli

80

Indirizzo IP di tipo Broadcast

Il protocollo IP impiega il seguente (particolare)


indirizzo
255.255.255.255

11111111 11111111 11111111 11111111


per indicare che il datagramma corrispondente deve
essere ricevuto da tutti i nodi che costituiscono la
rete.
Specificatamente, quando un router riceve da una
delle sue porte di ingresso un datagramma che ha
come indirizzo di destinazione:
255.255.255.255
allora inoltra il datagramma verso tutte le sue porte
di uscita.
Baccarelli,
Cordeschi, Patriarca, Polli

81

Come ottenere un Indirizzo IP

Ogni interfaccia della Rete Internet deve possedere un


indirizzo IP specifico, cio globalmente unico.
Lorganizzazione internazionale ICANN (Internet
Corporation for Assigning Names and Numbers) assegna
blocchi di indirizzi IP contigui (cio, con numerazione in
sequenza) a ciascuna sotto-rete richiedente.
LAmministratore della sotto-rete assegna manualmente
(ossia, configura manualmente) alcuni degli indirizzi IP a
disposizione a tutte le interfacce dei router che fanno
parte della sotto-rete in oggetto.
I singoli Utenti-Terminali della sotto-rete possono
richiedere indirizzi IP temporanei in modo automatico
(ossia, senza intervento diretto dellAmministratore di
Rete), facendo ricorso al cos detto: Dynamic Host
Configuration Protocol (DHCP)
Baccarelli,
Cordeschi, Patriarca, Polli

82

DHCP- Generalit (1/2)


DHCP permette ad ogni utente che voglia

connettersi ad una (specifica) sotto-rete di


ottenere temporaneamente in Indirizzo IP tra
quelli che la sotto-rete ha avuto assegnati ma,
in quel momento, non sono utilizzati.
Quando lutente si disconnette dalla sottorete (utente nomade), lindirizzo IP che gli era
stato assegnato gli viene rimosso e torna a far
parte di quelli a disposizione della sotto-rete.
Baccarelli,
Cordeschi, Patriarca, Polli

83

DHCP- Generalit (2/2)

Per poter essere implementato, DHCP richiede che nella


sotto-rete sia presente un particolare server, detto Server

DHCP.

Il Server DHCP:
i.
memorizza gli indirizzi IP temporaneamente liberi (ossia,
che possono essere assegnati);
ii.
gestisce le fasi di assegnazione di un indirizzo IP e di
rilascio di un indirizzo IP.
Per sua natura, DHCP un esempio di protocollo clienteservente. Per ogni nuovo utente che richiede un indirizzo IP, il
DHCP prevede lespletamento di 4 fasi:
i.
Fase di DHCP Discover ;
ii.
Fase di DHCP Offer ;
iii.
Fase di DHCP Request ;
iv.
Fase di DHCP ACK.
Baccarelli,
Cordeschi, Patriarca, Polli

84

DHCP- Architettura di Sistema


Client-Server
A 223.1.1.1

223.1.1.2
223.1.1.4
223.1.1.3
223.1.3.1

223.1.2.1

Server
DHCP
223.1.2.9

223.1.3.27

223.1.2.2

223.1.3.2

Baccarelli,
Cordeschi, Patriarca, Polli

arriving DHCP
client needs
address in this
sub-network

85

Fase di DHCP Discover (1/2)


In questa fase, il cliente che vuole richiedere un
indirizzo IP per connettersi alla sotto-rete
effettua le seguenti azioni

Costruisce un messaggio di richiesta di indirizzo IP,


messaggio noto come DHCP Discovery message. Il suddetto
messaggio contiene un identificatore di Transazione
(ovvero, un numero di sequenza) che lo identifica
univocamente.
Il cliente incapsula il DHCP Discovery message nel campo
payload di un datagramma IP. Il suddetto datagramma ha:

i.

ii.
o
o

Source Address: 0.0.0.0


Destination Address: 255.255.255.255 (indirizzo broadcast)

Baccarelli,
Cordeschi, Patriarca, Polli

86

Fase di DHCP Discover (2/2)


Ladattatore del cliente incapsula, a sua
volta, il suddetto datagramma IP in una
trama di Strato di Collegamento. La
suddetta trama ha:

iii.

o
o

iv.

MAC Source address: lindirizzo MAC


delladattatore del cliente;
MAC Destination address: FF-FF-FF-FF-FF-FF
(indirizzo MAC broadcast).

Ladattatore del cliente invia la Trama nella


sotto-rete alla quale vuole connettersi.
Baccarelli,
Cordeschi, Patriarca, Polli

87

Fase di DHCP Offer (1/2)


Dopo che il Server DHCP ha ricevuto e letto
il DHCP Discovery message che gli
pervenuto, il DHCP Server effettua le
seguenti azioni:

Costruisce un DHCP Offer Message nel quale

1)

indica:

o
o
o

il numero di sequenza prelevato dal DHCP Discovery


message;
lindirizzo IP proposto al cliente (yiaddr; vedi Figura);
il tempo di vita dellindirizzo IP proposto, ossia la
quantit di tempo per cui il cliente pu usare lindirizzo
IP proposto;
il prefisso della sotto-rete alla quale il cliente sta
chiedendo di connettersi.
Baccarelli,
Cordeschi, Patriarca, Polli

88

Fase di DHCP Offer (2/2)


Incapsula il DHCP Offer Message nel campo payload

2)

di un (nuovo) datagramma IP. Il suddetto


datagramma ha:

o
o

Ladattatore del DHCP server incapsula il suddetto


datagramma in una (nuova) Trama. La Trama ha:

3)
o
o

4)

Source Address: lindirizzo IP del Server DHCP;


Destination Address: 255.255.255.255 (indirizzo IP
broadcast);

MAC Source address: lindirizzo MAC del DHCP Server;


MAC Destination address: FF-FF-FF-FF-FF-FF;

Ladattatore del DHCP server invia la trama nella


sotto-rete.
Baccarelli,
Cordeschi, Patriarca, Polli

89

Fase di DHCP Request (1/2)

Dopo che il cliente ha ricevuto e letto il DHCP


Offer Message, il cliente effettua le seguenti
azioni:
1)
costruisce un DHCP Request message nel quale indica:
il numero di sequenza del messaggio incrementato
di una unit rispetto al numero di sequenza
impiegato in precedenza;
o
laccettazione dellindirizzo IP proposto dal DHCP
Server;
incapsula il DHCP Request Message nel campo payload
di un nuovo datagramma IP. Il suddetto datagramma
ha:
o
Source Address: 0.0.0.0
o
Destination Address: 255.255.255.255 (indirizzo
IP broadcast)
o

2)

Baccarelli,
Cordeschi, Patriarca, Polli

90

Fase di DHCP Request (2/2)


Ladattatore del cliente incapsula il
suddetto datagramma IP in una (nuova)
trama. La trama ha:

3)

o
o

4)

MAC source address: lindirizzo MAC del cliente;


MAC destination address: FF-FF-FF-FF-FF-FF;

Ladattatore invia la Trama nella sotto-rete.

Baccarelli,
Cordeschi, Patriarca, Polli

91

Fase di DHCP ACK (1/2)


Dopo che il DHCP Server ha ricevuto e letto
il DHCP Request Message, il Server esegue
le seguenti azioni:

costruisce un DHCP ACK Message nel quale:

1)
o

conferma lindirizzo IP proposto al cliente e il


corrispondente tempo di vita;
indica lo stesso numero di sequenza riportato
nel DHCP Request message ricevuto;

Baccarelli,
Cordeschi, Patriarca, Polli

92

Fase di DHCP ACK (2/2)


Incapsula il DHCP ACK message in un nuovo

2)

datagramma IP. Il suddetto datagramma ha:

o
o

Ladattatore del DHCP Server incapsula il


datagramma in una (nuova) Trama. La trama
ha:

3)

o
o

4)

Source address: lindirizzo IP del DHCP Server;


Destination address: 255.255.255.255
(broadcast).

MAC Source address: lindirizzo MAC del DHCP


Server;
MAC Destination address: FF-FF-FF-FF-FF-FF.

Ladattatore invia la Trama nella sotto-rete.


Baccarelli,
Cordeschi, Patriarca, Polli

93

DHCP- Conclusione

Dallistante in cui il cliente riceve il DHCP


ACK message, pu usare lindirizzo IP
offerto come proprio indirizzo IP per il
Tempo di Vita pattuito.

Allo scadere del Tempo di Vita pattuito, il


DHCP Server considera lindirizzo IP
offerto al cliente come di nuovo libero (non
pi utilizzato)
Baccarelli,
Cordeschi, Patriarca, Polli

94

DHCP- Riepilogo (1/2)


Riepilogando, limpiego del DHCP utile
quando:

i.
ii.

iii.

i clienti si connettono e disconnettono dalla


sotto-rete frequentemente (nomadic clients);
il numero di potenziali clienti supera il numero di
indirizzi IP disponibili per la sotto-rete;
si vuole rendere automatica lassegnazione degli
indirizzi IP di clienti richiedenti.

Baccarelli,
Cordeschi, Patriarca, Polli

95

DHCP- Riepilogo (2/2)


DHCP server: 223.1.2.5

DHCP discover

arriving
client

src: 0.0.0.0
dest: 255.255.255.255
yiaddr: 0.0.0.0
transaction ID: 654

DHCP offer

DHCP request
tempo

src: 0.0.0.0
dest: 255.255.255.255
yiaddr: 223.1.2.4
transaction ID: 655
Lifetime: 3600 sec

src: 223.1.2.5
dest: 255.255.255.255
yiaddr: 223.1.2.4
transaction ID: 654
Lifetime: 3600 sec

DHCP ACK
src: 223.1.2.5
dest: 255.255.255.255
yiaddr: 223.1.2.4
transaction ID: 655
Lifetime: 3600 sec

Baccarelli,
Cordeschi, Patriarca, Polli

96

Domain Name System (DNS)


(1/5)

Gli indirizzi IP sono numerici e, quindi, di difficile


memorizzazione. Per questo motivo, stato definito
un meccanismo di identificazione alfabetica degli
indirizzi IP (di sotto-rete e di utente terminale)
che va sotto il nome di Domain Name System
(DNS).
Il DNS definisce una struttura gerarchica di
indirizzi alfabetici che sono univocamente associati
ai corrispondenti indirizzi IP. I Server DNS
provvedono alla traduzione alfabetico -> numerica e
numerica-> alfabetica degli indirizzi
Baccarelli,
Cordeschi, Patriarca, Polli

97

Domain Name System (DNS)


(2/5)
La struttura degli indirizzi alfabetici definita dal
DNS strettamente gerarchica e si articola
(essenzialmente) su 4 livelli, di ordine via via
decrescente:

i.
ii.

iii.
iv.
v.

radice (root): indica la radice dellalbero dei nomi;


primo livello: individua il tipo di struttura, che pu

identificare una topologia di organizzazione, una nazione o


entrambe;
secondo livello: individua la specifica organizzazione
allinterno della struttura;
terzo livello: individua la struttura locale (dipartimento)
allinterno dellorganizzazione;
quarto livello: individua lutente terminale finale allinterno
della struttura locale
Baccarelli,
Cordeschi, Patriarca, Polli

98

DNS (3/5)
La struttura del primo e secondo livello

riportata in Figura.

Root

com

edu

gov

mil

net

Baccarelli,
Cordeschi, Patriarca, Polli

int

org

ci

99

DNS (4/5)
Essa prevede (almeno) sette tipi di
organizzazioni, e cio:

i.
ii.

iii.
iv.
v.
vi.
vii.
viii.

com: organizzazioni commerciali;


edu: istituzioni di istruzione;
gov: organizzazioni governative;
mil: organizzazioni militari;
net: organizzazioni di supporto alla rete
Internet;
int: organizzazioni internazionali;
org: organizzazioni diverse dalla precedente;
ci: country identifier (due lettere; it per
lItalia)
Baccarelli,
Cordeschi, Patriarca, Polli

100

DNS (5/5)
Nel DNS, gli indirizzi completi di utente

vengono generati unendo in sequenza gli


identificatori dei vari livelli, procedendo dal
livello pi basso sino al primo livello, e
separando i vari identificatori mediante punti.

Ad esempio,

enzo.infocom.edu.it
nick.elet.uniroma1.edu.it
Baccarelli,
Cordeschi, Patriarca, Polli

101

Internet Control Message


Protocol (ICMP)

Baccarelli,
Cordeschi, Patriarca, Polli

102

ICMP- Motivazioni
Il protocollo IP senza connessione e 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 poterle
notificare al mittente del datagramma, affinch
siano attuate opportune operazioni per correggere
il problema.

o
o
o
o

un dispositivo di rete non funziona correttamente o non


funziona del tutto (incluse le linee di collegamento);
lhost di destinazione temporaneamente o
permanentemente disconnesso dalla rete;
il contatore del Time to Live del datagramma arriva a zero
e il datagramma scartato;
i router o le linee intermedie sono talmente congestionate
da non poter convogliare il traffico in transito.
Baccarelli,
Cordeschi, Patriarca, Polli

103

ICMP- Generalit (1/2)


Per consentire ai router di potersi
scambiare informazioni su tali situazioni si
usa ICMP (Internet Control Message
Protocol).
ICMP parte integrante di IP e deve essere
incluso in ogni implementazione di IP
I messaggi ICMP sono:

i.

ii.

trasportati in rete per mezzo dei datagrammi IP;


incapsulati nella parte dati (campo payload) del
datagramma IP.
Baccarelli,
Cordeschi, Patriarca, Polli

104

ICMP- Generalit (2/2)


In essenza, il protocollo ICMP un
protocollo che serve a:

i.
ii.

iii.

segnalare eventuali situazioni anomale nel


trasferimento dei pacchetti IP;
controllare il trasferimento dei pacchetti IP;
notificare alle sorgenti eventuali problemi (ad
esempio, errori di indirizzamento).

Baccarelli,
Cordeschi, Patriarca, Polli

105

ICMP- Funzionamento
In caso di malfunzionamento della rete, ICMP
provvede ad uno scambio di messaggi fra i nodi
coinvolti per segnalare lerrore.
La funzione di ICMP solo di notifica degli errori
allutente di origine e non specifica le azioni che
devono essere prese per rimediare agli errori ed ai
malfunzionamenti.
Se causa del problema un router intermedio, ICMP
pu solo notificare che esiste un problema, ma non da
quale router dipenda.
Ogni messaggio ICMP in relazione ad uno specifico
datagramma (contiene, quindi, anche un identificativo
del particolare datagramma che ha generato lerrore).

Baccarelli,
Cordeschi, Patriarca, Polli

106

ICMP- Formato dei messaggi

I Messaggi ICMP hanno un campo tipo e un campo


codice, e, inoltre, contengono lheader e i primi 8 byte
del payload del datagramma che ha provocato lerrore.
Tipo
0
3
3
3
3
3
3
4
8
9
10
11
12

Codice

0
0
1
2
3
6
7
0
0
0
0
0
0

Descrizione

Risposta eco (a ping)


rete destin. irraggiungibile
host destin. irraggiungibile
protocollo dest. irraggiungibile
porta destin. irraggiungibile
rete destin. sconosciuta
host destin. sconosciuto
riduzione (controllo di congestione)
richiesta eco
annuncio del router
scoperta del router
TTL scaduto
errata intestazione IP

Baccarelli,
Cordeschi, Patriarca, Polli

107

Conversione degli Indirizzi IP


negli Indirizzi MAC- Address
Resolution Protocol (ARP)

Baccarelli,
Cordeschi, Patriarca, Polli

108

Indirizzi IP e Indirizzi MAC (1/2)


Indirizzo IP a 32 bit:

o
o

indirizzo a livello di rete;


analogo allindirizzo postale di una persona: hanno
una struttura gerarchica e devono esser
aggiornati quando una persona cambia residenza;
associato ad una interfaccia o ad una sottorete.

Indirizzo MAC a 48 bit:

o
o

analogo al numero di codice fiscale di una


persona: ha una struttura piatta e non varia a
seconda del luogo in cui lutente si trasferisce;
indirizzo a 48 bit
associato ad un adattatore.
Baccarelli,
Cordeschi, Patriarca, Polli

109

Indirizzi IP e Indirizzi MAC


(2/2)
Poich, quindi, ogni interfaccia (di utente e
di router) dispone sia di un indirizzo IP che
un indirizzo MAC, nasce il seguente
problema:

dato un indirizzo IP, determinare lindirizzo MAC


corrispondente.

Ad ogni nodo di rete (utente o route),


lAddress Resolution Protocol (ARP) ivi
implementato permette di determinare
lindirizzo MAC corrispondente ad un dato
indirizzo IP.
Baccarelli,
Cordeschi, Patriarca, Polli

110

ARP- Generalit (1/3)


Lo scenario di applicazione tipico di ARP

riportato in Figura.

137.196.7.78
1A-2F-BB-76-09-AD
137.196.7.14

137.196.7.23
LAN

58-23-D7-FA-20-B0

71-65-F7-2B-08-53

137.196.7.88

0C-C4-11-6F-E3-98

Baccarelli,
Cordeschi, Patriarca, Polli

111

ARP- Generalit (2/3)


Pi specificatamente, ogni adattatore presente in
un nodo di rete (utente o router) implementa ARP
avvalendosi della Tabella ARP memorizzata
localmente nelladattatore stesso.
Ciascuna riga della Tabella ARP memorizzata
nellAdattatore H contiene:

i.
ii.

iii.

lindirizzo IP di una interfaccia che fa parte della stessa

sotto-rete alla quale appartiene lAdattatore H;


lindirizzo MAC corrispondente allindirizzo IP;
il Tempo di Vita Restante (Time-To-Live,TTL), ossia
lintervallo di tempo scaduto il quale la riga in oggetto
verr rimossa dalla Tabella ARP (tipicamente, 20 minuti).
Baccarelli,
Cordeschi, Patriarca, Polli

112

ARP- Generalit (3/3)


ARP lavora solo localmente nella sotto-rete di
appartenenza delladattatore in cui implementato.
Assumiamo che lAdattatore H richieda di conoscere
lindirizzo MAC corrispondente ad un assegnato
indirizzo IP: 222.222.222.222.
Allora, solo se linterfaccia con indirizzo IP:
222.222.222.222 appartiene alla stessa sotto-rete
alla quale appartiene ladattatore H, il protocollo ARP
(eseguito allinterno delladattatore H) sar in grado
di determinare lindirizzo MAC associato al richiesto
indirizzo IP: 222.222.222.222

Baccarelli,
Cordeschi, Patriarca, Polli

113

Auto-Configurazione delle Tabelle


ARP (1/5)
Inizialmente, la Tabella ARP memorizzata presso il
(generico) adattatore H vuota.
Supponiamo che:

o
o
o

ladattatore H ha indirizzo MAC: 1A-23-F9-CD-06-9B;


ladattatore H fa parte dellinterfaccia con indirizzo IP:
222.222.222.220;
ladattatore H vuole conoscere lindirizzo MAC di un
altro adattatore (diciamo, ladattatore F) il cui indirizzo
IP noto e pari a: 222.222.222.222;
entrambi gli adattatori H e F fanno parte della stessa
sotto-rete
Baccarelli,
Cordeschi, Patriarca, Polli

114

Auto-Configurazione delle Tabelle


ARP (2/5)

Al fine di conoscere lindirizzo MAC corrispondente


allindirizzo IP: 222.222.222.222, ladattatore H procede come
segue:
1)
costruisce un particolare datagramma, noto come ARP Query
Message allinterno del quale sono specificati:
o

lindirizzo MAC del nodo Sorgente : nel nostro caso,


1A-23-F9-CD-06-9B;

o
o
o

lindirizzo IP del nodo Sorgente : nel nostro caso, 222.222.222.220


lindirizzo IP del nodo Target : nel nostro caso, 222.222.222.222
lindirizzo MAC del nodo Target : vuoto.

Sour. MAC
Address
(1A-23-F9-CD-06-9B)

6 byte

Sour. IP
Address
(222.222.222.220)

4 byte

Target IP
Address
(222.222.222.222)

4 byte

Baccarelli,
Cordeschi, Patriarca, Polli

Target MAC
Address
(vuoto)

6 byte
115

Auto-Configurazione delle Tabelle


ARP (3/5)
Incapsula lARP Query Message in una trama che ha:

2)

3)

4)

Indirizzo MAC Sorgente: quello delladattatore H, cio 1A-

Indirizzo MAC Destinazione: FF-FF-FF-FF-FF-FF

23-F9-CD-06-9B;

Invia in broadcast la trama a tutti gli adattatori


della sotto-rete di appartenenza.
Tutti gli adattatori della sotto-rete ricevono la
Trama. Solo ladattatore (diciamo, ladattatore F)
che fa parte del nodo con indirizzo IP pari a quello
specificato nel campo Target IP Address del Query
Message elabora la trama ricevuta.
Baccarelli,
Cordeschi, Patriarca, Polli

116

Auto-Configurazione delle Tabelle


ARP (4/5)
Specificatamente, ladattatore F procede come
segue:

estrae dalla trama ricevuta il Query Message;


introduce nel campo: Target MAC Address del Query
Message il proprio indirizzo MAC, ossia lindirizzo: 49-BD-

1)
2)

3)

D2-C7-56-2A;
incapsula il Query Message cos completato in una trama
che ha:
o
Source MAC address pari a quello delladattatore F, ossia 49BD-D2-C7-56-2A;

4)

Destination MAC address pari a quello delladattatore H, ossia


1A-23-F9-CD-06-9B

invia la trama nella sotto-rete.


Baccarelli,
Cordeschi, Patriarca, Polli

117

Auto-Configurazione delle Tabelle


ARP (5/5)
Ladattatore H, riceve la trama ad esso indirizzata
e:

i.

ii.

estrae dalla trama il Query Message;


aggiorna la propria Tabella ARP sulla base dei contenuti dei

campi: Target IP Address e Target MAC Address del


Query Message.

Dopo lAggiornamento, la Tabella ARP dellAdattore


H contiene una riga del tipo:
Indirizzo IP

. . .

222.222.222.222

. . .

Indirizzo MAC

. . .

49-BD-D2-C7-56-2A

. . .
Baccarelli,
Cordeschi, Patriarca, Polli

Tempo di Vita

. . .
20 minuti

. . .
118

Trasferimento di Datagrammi tra


nodi- Generalit
Gli indirizzi IP e MAC svolgono un ruolo importante
quando due nodi vogliono scambiarsi datagrammi
incapsulandoli nelle trame dei corrispondenti adattatori.

Supponiamo che le Tabelle ARP di tutti gli adattatori


coinvolti siano gi state aggiornate e che, quindi,
contengano tutte le coppie
< indirizzo IP, indirizzo MAC >
necessarie per effettuare il trasferimento.

Consideriamo separatamente due casi:


i.
i due nodi che si vogliono scambiare datagrammi
appartengono alla stessa sotto-rete;
ii.
i due nodi che si vogliono scambiare datagrammi
appartengono a due sotto-reti distinte, interconnesse
mediante un router.

Baccarelli,
Cordeschi, Patriarca, Polli

119

Trasferimento di Datagrammi
nella stessa Sotto-Rete (1/2)

Supponiamo che il nodo-Sorgente con indirizzo IP:


222.222.222.220 voglia inviare un datagramma al nodoDestinazione con indirizzo IP: 222.222.222.222
Supponiamo che i due nodi appartengano alla stessa
sotto-rete (non vi sono router che interconnettono i due
nodi)
Supponiamo che ladattatore S presente al nodoSorgente abbia indirizzo Mac: 1A-23-F9-CD-06-9B
e
ladattatore D presente al nodo-Destinazione abbia
indirizzo MAC: 49-BD-D2-C7-56-2A.
Supponiamo che la Tabella ARP memorizzata
alladattatore S contenga la coppia:
222.222.222.222
49-BD-D2-C7-56-2A
Baccarelli,
Cordeschi, Patriarca, Polli

120

Trasferimento Dati nella stessa


Sotto-Rete (2/2)

i.

Il Trasferimento procede come segue:

ii.
iii.

iv.

v.

il nodo-Sorgente genera un datagramma con


IP Source Address = 222.222.222.220
IP Destination Address = 222.222.222.222;
il nodo-Sorgente passa il datagramma al suo adattatore,
ossia alladattatore S;
ladattatore S consulta la sua Tabella ARP e trova che
allindirizzo IP Destination Address = 222.222.222.222
corrisponde il MAC Destination Address = 49-BD-D2-C756-2A;
ladattatore S incapsula il datagramma in una trama e ne
compila i campi indirizzo come segue:
MAC Source Address = 1A-23-F9-CD-06-9B
MAC Destination Address = 49-BD-D2-56-2A.
Ladattatore S invia la trama nella sotto-rete.
Baccarelli,
Cordeschi, Patriarca, Polli

121

Trasferimento di Datagrammi tra


Sotto-Reti diverse (1/6)
Consideriamo ora il caso riportato in Figura, in cui il nodo-S vuole

inviare un datagramma al nodo-D. I due nodi appartengono a due


sotto-reti diverse , che sono interconnesse mediante un router
che ha due interfacce (e, quindi, due Tabelle ARP).

74-29-9C-E8-FF-55

88-B2-2F-54-1A-0F

A
E6-E9-00-17-BB-4B

111.111.111.111

Sub-net
1
111.111.111.112

1A-23-F9-CD-06-9B
222.222.222.220
111.111.111.110

Sub-net
2

222.222.222.221

222.222.222.222

49-BD-D2-C7-56-2A

CC-49-DE-D0-AB-7D
Baccarelli,
Cordeschi, Patriarca, Polli

122

Trasferimento di Datagrammi tra


Sotto-Reti diverse (2/6)
Assumiamo che:

i.

ii.

iii.

il nodo-S conosca lindirizzo IP del nodo-D, ma non ne


conosca lindirizzo MAC. Poich il nodo-D non
appartiene alla stessa sotto-rete del nodo-S, il nodoS non pu applicare ARP per acquisire lindirizzo MAC
del nodo-D;
le Tabelle ARP presenti in ciascuno degli adattatori
sono aggiornate, ossia contengono tutte le coppie <
indirizzo IP, indirizzo MAC > delle interfacce che
appartengono alla stessa sotto-rete della quale fa
parte ladattatore;
ciascuna delle due interfacce del router ha
memorizzata una propria Tabella ARP con le coppie di
indirizzi < IP, MAC> di tutte le interfacce della sottorete corrispondente.
Baccarelli,
Cordeschi, Patriarca, Polli

123

Trasferimento di Datagrammi tra


Sotto-Reti diverse (3/6)

Il trasferimento del datagramma da nodo-S al


nodo-D procede come segue:
1)
il nodo-S genera un datagramma con :

2)

3)

IP Source Address = il proprio, ossia 111.111.111.111


IP Destination Address = quello del nodo-D, ossia
222.222.222.222;
il nodo-S usa la Tabella ARP per ricavare lindirizzo
MAC dellinterfaccia del router con indirizzo IP:
111.111.111.110. Questo indirizzo MAC : E6-E9-00-17BB-4B;
Il nodo-S passa il datagramma e lindirizzo MAC E6E9-00-17-BB-4B al proprio adattatore.
Baccarelli,
Cordeschi, Patriarca, Polli

124

Trasferimento di Datagrammi tra


Sotto-Reti diverse (4/6)
4)

5)
6)

ladattatore del nodo-S incapsula il datagramma in


una trama, e pone i campi indirizzo della trama pari
a:
MAC Source Address = 74-29-9C-E8-FF-55,
MAC Destination Address = E6-E9-00-17-BB-4B;
ladattatore al nodo-S invia la trama nella sottorete;
ladattatore di sinistra del router riceve la trama ad
esso indirizzata, ne estrae il datagramma, ne legge
lindirizzo IP di destinazione e, sulla base di
questultimo, inoltra (forward) il datagramma verso
ladattatore connesso con la sotto-rete 2.
Baccarelli,
Cordeschi, Patriarca, Polli

125

Trasferimento di Datagrammi tra


Sotto-Reti diverse (5/6)
7)

Il suddetto adattatore (quello a destra del router)


fa ricorso alla propria Tabella ARP e trova che
allindirizzo IP: 222.222.222.222 contenuto nel
datagramma corrisponde lindirizzo MAC: 49-BDD2-C7-56-2A.

8)

Ladattatore a destra del router incapsula il


datagramma ricevuto in una trama, i cui campi
indirizzo sono posti a:
MAC Source Address = 1A-23-F9-CD-06-9B,
MAC Destination Address = 49-BD-D2-C7-56-2A;
Baccarelli,
Cordeschi, Patriarca, Polli

126

Trasferimento di Datagrammi tra


Sotto-Reti diverse (6/6)
9)

ladattatore a destra del router invia la


trama nella sotto-rete 2;

10) ladattatore al nodo-D riceve la trama ad

esso indirizzata, ne estrae il datagramma e


lo passa al nodo-D al quale connesso.

Baccarelli,
Cordeschi, Patriarca, Polli

127

Algoritmi di InstradamentoIntroduzione

Baccarelli,
Cordeschi, Patriarca, Polli

128

La funzione dellInstradamento
(1/2)
Linstradamento una funzione decisionale:
o avente lo scopo di guidare i datagrammi verso la
destinazione voluta;
o svolta secondo un opportuno criterio;
o attuabile mediante un opportuno algoritmo.
Nello Strato di Rete, linstradamento viene

attuato mediante la costruzione di apposite


Tabelle di Instradamento in ciascun router
nelle quali Tabelle ciascuna riga si riferisce ad
una rotta, cio ad un cammino tra sorgente e
destinazione.
Baccarelli,
Cordeschi, Patriarca, Polli

129

La funzione dellInstradamento
(2/2)
Le Tabelle di Instradamento vengono

costruite tramite Algoritmi di Instradamento


implementati da Protocolli di Instradamento
per i quali si individuano come fattori critici:
complessit
rapidit di convergenza
traffico addizionale generato
Allinterno di ciascun router, la Tabella di
Inoltro calcolata sulla base della
corrispondente Tabella di Instradamento.
Baccarelli,
Cordeschi, Patriarca, Polli

130

Classificazione degli Algoritmi di


Instradamento

Un modo per classificare gli Algoritmi di Instradamento


funzione del fatto che si tratti di:
1)
un algoritmo di instradamento globale (o
centralizzato) che chiamato anche algoritmo basato
sullo stato dei collegamenti (link-state algorithm):
o
ciascun nodo usa conoscenze sulla rete complete e
globali;
o
dati di partenza sono le connettivit fra tutti i
nodi e i costi dei relativi rami;
2)
un algoritmo di instradamento decentralizzato:
o
i nodi operano in modo interattivo e distribuito;
o
ogni nodo comincia con la conoscenza del costo dei
soli collegamenti che ad esso fanno capo e scambia,
via via nel tempo, informazioni di instradamento
solo con i nodi ad esso direttamente collegati.
Baccarelli,
Cordeschi, Patriarca, Polli

131

Grafi non orientati e pesati (1/5)

Tipicamente, gli Algoritmi di Instradamento


lavorano facendo riferimento alla
rappresentazione mediante un grafo (non
orientato) G della rete in oggetto.

Per definizione, un grafo non orientato


G(N, E) costituito da un insieme N di nodi
e un insieme E di rami, dove ciascun ramo
una coppia (a,b) non ordinata di nodi
appartenenti ad N.
Baccarelli,
Cordeschi, Patriarca, Polli

132

Grafi non orientati e pesati (2/5)


Il numero dei nodi che compongono N
indicato con |N|.

Il numero di rami che compongono E


indicato con | E |.
Nel contesto della rete Internet,

i.
ii.

i nodi del grafo rappresentano i router (cio, i


nodi di commutazione della rete);
i rami del grafo rappresentano i canali trasmissivi
che interconnettono i router.
Baccarelli,
Cordeschi, Patriarca, Polli

133

Grafi non orientati e pesati (3/5)


5

U
1

3
1

Z
2

Come indicato in Figura, ad ogni ramo (x,y) di G associato un

numero reale non negativo c(x,y) detto costo del ramo.


Poich il grafo non orientato, i rami (x,y) e (y,x) hanno lo stesso
costo, ossia:
c(x,y) = c(y,x).
Per convenzione, se il ramo (x,y) non fa parte del grafo G, allora
si pone c(x,y) = +
Baccarelli,
Cordeschi, Patriarca, Polli

134

Grafi non orientati e pesati (4/5)


Per definizione, i vicini di un nodo x sono tutti e soli
i nodi del grafo che hanno un ramo che li collega a x.
Linsieme dei nodi vicini di un nodo x verr indicato
con V(x).
Supponiamo che x e w siano due nodi di G(N, E).
Per definizione, un cammino da x a y una sequenza
ordinata di nodi
< n0, n1, n2,, nL >
tale che:

i.
ii.

x n0 e w nL (il cammino inizia in x e termina in y),


la coppia (ni-1, ni) un ramo del grafo G, per ogni i=1,,L,
ossia
(ni-1, ni) E, per ogni i = 1,,L.
Baccarelli,
Cordeschi, Patriarca, Polli

135

Grafi non orientati e pesati (5/5)

Per definizione, il costo di un cammino < x n0, n1,


n2,, nL w > la somma dei costi dei rami che
compongono il cammino stesso, ossia:
c(x = n0, n1)+ c(n1, n2)+ + c(nL-1, cL w ).
Per definizione, un ciclo in un grafo G un cammino:
< x n0, n1, n2,, nL x >
che ha inizio e fine in uno stesso nodo x del grafo.
Per definizione, un grafo G<N, E > si dice connesso
se , assegnati due qualunque nodi distinti x e w del
Grafo, c almeno un cammino che collega x a w.
Baccarelli,
Cordeschi, Patriarca, Polli

136

Alberi (1/3)
Supponiamo assegnato un grafo G<N, E > . Per
definizione, il grafo G costituisce un albero se:

i.
ii.

connesso;
non ha cicli.

Si pu dimostrare che se G<N, E > un albero,


allora:

i.

il numero di rami | E | pari a | N |-1;

ii.

ogni nodo dellalbero pu essere preso come radice;


i nodi dellalbero possono essere partizionati in livelli, in cui
il livello m-mo costituito da tutti i nodi dellalbero che
distano m-rami dal nodo radice.

iii.

Baccarelli,
Cordeschi, Patriarca, Polli

137

Alberi- Esempio (2/3)

Il Grafo seguente un esempio di albero a 3 livelli.


Radice
3

x
2

livello 1

3
livello 2

livello 3

H
Baccarelli,
Cordeschi, Patriarca, Polli

138

Alberi- Esempio (3/3)

Per definizione, le foglie di un albero sono i


nodi terminali, ossia quelli che non hanno
nodi discendenti.

Lalbero dellesempio precedente ha come


foglie i nodi:
x, z, H, B

Baccarelli,
Cordeschi, Patriarca, Polli

139

Alberi Ricoprenti un Grafo (1/2)


Supponiamo assegnato un grafo G<N, E > di
struttura arbitraria.
Per definizione, un albero ricoprente il
grafo G un grafo G  <N, E > che gode
delle seguenti tre propriet:

i.
ii.
iii.

un albero;
ha lo stesso insieme N di nodi del grafo G;
linsieme E dei rami G un sotto-insieme
dellinsieme E dei rami del grafo G, ossia:

E E
Baccarelli,
Cordeschi, Patriarca, Polli

140

Alberi Ricoprenti un Grafo (2/2)

Un grafo G  <N, E > pu avere pi alberi


G1,G2, che lo ricoprono. Per definizione, un
albero G* ricoprente G detto essere
albero ricoprente minimale se, tra tutti gli
alberi che ricoprono G, G* quello per cui
minima la somma dei costi associati ai rami
che compongono lalbero.

Baccarelli,
Cordeschi, Patriarca, Polli

141

Algoritmi per lInstradamento


Ottimo

Baccarelli,
Cordeschi, Patriarca, Polli

142

Algoritmi di Instradamento
Ottimo (1/2)

Supponiamo assegnato un grafo G  <N, E >


connesso e indichiamo con x, w due nodi
distinti di N.
In generale, esistono pi cammini nel grafo
G che connettono il nodo x al nodo w.
Ciascuno di questi cammini ha un suo costo.
Il Problema dellInstradamento Ottimo
quello di individuare il cammino a costo
minimo tra x e w, per ogni coppia di nodi x, w
che appartiene a N, con x w.
Baccarelli,
Cordeschi, Patriarca, Polli

143

Algoritmi di Instradamento
Ottimo (2/2)
Assegnato un grafo G  <N, E > connesso,
gli algoritmi che permettono di individuare i
cammini a costo minimo tra una qualsiasi
coppia di nodi (x, w) di N sono detti
Algoritmi di Instradamento Ottimo.
Nella Rete Internet, vengono impiegati due
algoritmi di instradamento ottimo:
i.
LAlgoritmo di Dijkstra
ii. LAlgoritmo Distance Vector.

Baccarelli,
Cordeschi, Patriarca, Polli

144

Algoritmo di Dijkstra- Generalit


(1/3)

Supponiamo assegnato un grafo G<N, E > non


orientato, pesato e connesso. Indichiamo con x N
uno (qualsiasi) dei nodi di G.
LAlgoritmo di Dijkstra permette di individuare gli
(|N|-1) cammini a costo minimo da x a tutti gli altri
(|N|-1) nodi del grafo G.
LAlgoritmo di Dijkstra un algoritmo di
instradamento globale (ovvero centralizzato, ovvero
di tipo Link-State (LS)). Ci significa che:
Il nodo x deve conoscere lintero grafo G  <N, E > della
rete a cui appartiene per poter applicare lalgoritmo di
Dijkstra.
Baccarelli,
Cordeschi, Patriarca, Polli

145

Algoritmo di DijkstraGeneralit (2/3)


L Algoritmo di Dijkstra un algoritmo

iterativo

che si compone (esattamente) di |N| passi.


Al passo k-mo, sono individuati i k cammini a
costo minimo congiungenti x a k nodi distinti di
G. Tali k nodi costituiscono linsieme Sk.
Al passo (k+1)-mo, si forma linsieme Sk+1
aggiungendo un ulteriore nodo allinsieme Sk.
Specificatamente, si aggiunge a Sk quel nodo di
N che raggiungibile da x attraverso il
cammino a costo minore che transita
esclusivamente attraverso i nodi dellinsieme Sk.
Baccarelli,
Cordeschi, Patriarca, Polli

146

Algoritmo di Dijkstra- Generalit


(3/3)

x2

Xk-1

n
x1

xi

Insieme Sk+1

Insieme Sk

Viene aggiunto
allinsieme Sk il
nodo n
caratterizzato
dal cammino di
lunghezza minima
con il nodo
sorgente x e che
transita
esclusivamente in
nodi dellinsieme
Sk.

Situazione al passo k+1


Baccarelli,
Cordeschi, Patriarca, Polli

147

Algoritmo di Dijkstra Strutture dati


Supponiamo che lalgoritmo di Dijkstra sia
eseguito al nodo-Sorgente x .
Supponiamo che x conosca il grafo G  <N, E>
dellintera rete di cui fa parte.
Indichiamo con:
i. D(v) il costo del cammino dal nodo x al nodo v

individuato alla iterazione corrente dellalgoritmo;


ii. p(v) il nodo predecessore di v lungo il cammino da x
a v individuato alla iterazione corrente
dellalgoritmo;
N* il sotto-insieme dei nodi per i quali sono stati
calcolati definitivamente i cammini a costo minimo
dal nodo sorgente x .
Baccarelli,
Cordeschi, Patriarca, Polli

148

Algoritmo di Dijkstra
Descrizione dettagliata
1.
2.
3.
4.
5.

/* Inizializzazione */
N* := { x };
Per tutti i nodi v (N \ N*)
se v adiacente ad x
allora
D(v) := c ( x ,v) e p(v):= { x };

6.

Loop

7.
8.
9.
10.
11.

12.

altrimenti

D(v) := +

e p(v):=;

/* ciclo ripetuto (|N|-1 volte) */


Individua un nodo w N* tale che D(w) minima;
Aggiungi w a N*;
Aggiorna D(v) e p(v) per tutti i nodi v adiacenti a w e che
non sono in N* come segue:
D(v) := min {D(v), D(w) + c (w,v)};

p(v) :=
Until N*= N.

p(v), se D(v) non cambiato


w,

se D(v) cambiato

Baccarelli,
Cordeschi, Patriarca, Polli

149

Algoritmo di Dijkstra - Commenti

Lalgoritmo termina in esattamente |N| passi.


Le (|N| -1) coppie {D(v), p(v), v (N - { x })}
ottenute alla fine dellalgoritmo danno:
i. Il costo del cammino a costo minimo da x a v ;
ii. Il nodo predecessore di v sul cammino a costo
minimo da x a v.

I Passi 8 e 11 dellalgoritmo richiedono che il


nodo x conosca lintero grafo G  < N, E > della
rete alla quale connesso. A sua volta, questo
richiede che ciascun nodo w N comunichi a
tutti gli altri nodi della rete i costi di tutti i
rami ad esso direttamente connessi.
Baccarelli,
Cordeschi, Patriarca, Polli

150

Algoritmo di Dijkstra Complessit


Il Ciclo in linea 7 viene ripetuto (|N| -1) volte.
Alla k-ma iterazione, il passo in linea 8 esegue la ricerca
di un nodo w su un insieme di (|N| - k) nodi.
Quindi, il costo computazionale complessivo per
lesecuzione del Ciclo di:

(|N| - 1) + (|N| - 2) + (|N| - 3) + + 2 + 1 = (|N| -1)|N|/2

In definitiva, eseguire lAlgoritmo di Dijkstra al nodo x


comporta un peso computazionale dellordine di
O(|N|2) ,
che, quindi, cresce con il quadrato del numero di nodi che
compongono la rete.
Baccarelli,
Cordeschi, Patriarca, Polli

151

Algoritmo di Dijkstra Esempio


(1/2)
passo

N*

D(v), p(v)

D(w), p(v)

D(x), p(x)

D(y), p(y)

D(z), p(z)

2,u

5,u

1,u

ux

2,u

4,x

2,x

uxy

2,u

3,y

4,y

uxyv

3,y

4,y

uxyvw

uxyvwz

4,y
5
2

v
2

w
3

1
2

Baccarelli,
y
1
Cordeschi, Patriarca, Polli

152

Algoritmo di Dijkstra Esempio


(2/2)
Cammini a costo minimo risultanti dal nodo u
2

u
1

Tabella di instradamento risultante in u


Nodo Destinazione

Baccarelli,
Cordeschi, Patriarca, Polli

Nodo precedente

v
x

u
u

y
153

Algoritmo Distance Vector (DV) Generalit

Supponiamo assegnato un grafo G < N, E > e indichiamo con x


un suo nodo.
Come lAlgoritmo di Dijkstra, anche lalgoritmo DV un
algoritmo per linstradamento ottimo che consente di calcolare i
cammini a costo minimo da x a tutti gli altri ((|N| -1) nodi del
grafo.
A differenza dellAlgoritmo di Dijkstra, lAlgoritmo DV un
algoritmo di instradamento di tipo:
i.
Distribuito : ciascun nodo di rete scambia informazioni
(Tabelle di instradamento) solo ed esclusivamente con i suoi
nodi vicini;
ii.
Iterativo : il processo di scambio di informazioni di
instradamento tra nodi adiacenti continua sin tanto che
linformazione scambiata in due passi consecutivi la stessa;
iii.
Asincrono : lo scambio di informazioni (Tabelle di
Instradamento) tra coppie diverse di nodi adiacenti pu
avvenire in istanti temporali diversi.
Baccarelli,
Cordeschi, Patriarca, Polli

154

Il Principio di Bellman-Ford (BF)Enunciato (1/2)


Lalgoritmo DV applica iterativamente il cos

detto Principio di Bellman-Ford.


Siano:

x e y due nodi (distinti) del grafo G;


v un nodo vicino di x ;
V( x ) linsieme di tutti i nodi vicini di x ;
dx(y) il costo del cammino a costo minimo da x a y;
dv (y) il costo del cammino a costo minimo da v a y.

Baccarelli,
Cordeschi, Patriarca, Polli

155

Il Principio di Bellman-Ford (BF) :


Enunciato (2/2)
Allora, il

Principio di Bellman-Ford asserisce

quanto segue:

il cammino a costo minimo da x a y non pu che


essere la prosecuzione del cammino a costo
minimo da uno dei nodi v vicini di x al nodo y.

Baccarelli,
Cordeschi, Patriarca, Polli

156

Il Principio di BF Formula (1/2)

In formule, il Principio di BF rappresentato


dalla relazione seguente:

dx ( y ) = min{c( x , v ) + dv ( y )}
vV ( x )

La relazione precedente detta Equazione di


BF.

Baccarelli,
Cordeschi, Patriarca, Polli

157

Il Principio di BF Formula (2/2)


La prova della validit dellEquazione di BF
piuttosto diretta. Infatti,

i.

ii.

Dopo essere andati da x a v, se seguiamo il


cammino a costo minimo da v a y, il costo
complessivo del cammino risultante : c( x,v) +
dv(y);
Poich il cammino da x a y deve per forza
prevedere il passaggio da x ad un qualche vicino
di x , ne deriva che il costo minimo da x a y il
minimo delle somme {c( x,v) + dv(y)} al variare di v
nellinsieme V(x ) dei vicini di x .
Baccarelli,
Cordeschi, Patriarca, Polli

158

Il Principio di BF - Esempio
I nodi vicini del nodo u sono: v, x, w;
Chiaramente: dv(z) = 5, dx(z) = 3, dw(z) = 3
Lequazione di BF ci dice che:
5
du(z) = min { c(u,v) + dv(z),
3
v
w
5
2
c(u,x) + dx(z),
u
2
c(u,w) + dw(z) }
z
1
3
1
= min {2 + 5,
2
x
y
1
1 + 3,
5 + 3} = 4

Il valore minimo precedente ottenuto:


i. Passando da u a x;
ii. Seguendo il cammino a costo minimo da x a z;
quindi, nella Tabella di Instradamento del nodo u, il nodo x indicato
come nodo successivo (next-node) per il raggiungimento del nodo z.
Baccarelli,
Cordeschi, Patriarca, Polli

159

Lequazione di BF e la Tabella di
Instradamento

Il nodo v* soluzione dellequazione di BF:

dx ( y ) = min{c( x , v ) + dv ( y )}

vV ( x )
il successivo nodo verso il quale il nodo x deve
instradare (dirigere) i suoi datagrammi per raggiungere
il nodo destinazione y attraverso il cammino a costo
minimo.
Quindi, la costruzione della Tabella di Instradamento al
nodo x richiede che il nodo x risolva lequazione di BF
per ogni altro nodo-destinazione y presente nella rete.
Lalgoritmo DV non altro che una procedura di tipo
iterativo, asincrono e distribuito per risolvere le
Equazioni di BF ad ogni nodo x della rete.
Baccarelli,
Cordeschi, Patriarca, Polli

160

LAlgoritmo DV La Struttura dei


Dati

Per poter applicare lalgoritmo DV, ciascun


nodo x del grafo G  < N, E > deve
memorizzare al suo interno i seguenti dati:
i. Linsieme {c( x ,v), v V( x )} dei costi dei canali
che collegano x a ciascuno dei suoi nodi vicini;

ii. Il vettore Dx = [Dx ( y ), y N ]


contenente le stime dei costi dei cammini da x ad
ogni altro nodo y del grafo;
iii. Linsieme dei vettori Dv = [ Dv ( y ), y N , v V ( x )]
delle stime dei costi dei cammini da v ad ogni altro
nodo y del grafo, per ogni nodo che un vicino di
x .

Baccarelli,
Cordeschi, Patriarca, Polli

161

LAlgoritmo DV Lidea di base


(1/2)

In linea di massima, lalgoritmo DV procede come segue:


i. Di tanto in tanto, ciascun nodo v della rete invia il
proprio vettore delle distanze Dv a tutti e soli io suoi
nodi adiacenti;
ii. Quando un nodo x riceve un nuovo vettore delle
distanze da uno qualsiasi dei suoi nodi adiacenti, il nodo x
salva il vettore delle distanze ricevuto, e, poi, aggiorna
il contenuto del proprio vettore delle distanze in
accordo allequazione di BF, ossia in accordo a:

Dx ( y ) := min {Dv ( y ) + c( x , v )} , y N .
vV ( x )

Baccarelli,
Cordeschi, Patriarca, Polli

162

LAlgoritmo DV Lidea di base


(2/2)
iii. Se e solo se il contenuto del risultante vettore
delle distanze

D x ( y ) = [ D x ( y ), y N ]

variato (in una o pi delle sue componenti) per


effetto dellaggiornamento effettuato, allora il
nodo x invia il suo nuovo vettore delle distanze Dv
a tutti e soli i suoi nodi adiacenti
v V(x ).
iv. Si pu dimostrare che, quando non c pi alcuno
scambio di vettori delle distanze D x ( y ) = [ D x ( y ), y N ]
memorizzato in ciascun nodo x contiene proprio i
costi dei percorsi a costo minimo che connettono x
a tutti gli altri nodi y N della rete.
Baccarelli,
Cordeschi, Patriarca, Polli

163

LAlgoritmo DV eseguito al nodo x


1.
2.
3.

/* Inizializzazione */
Per tutti i nodi y N - { x }

c( x , y ),se y V ( x )
Poni Dx ( y ) :=
+ ,se y V ( x )

4.
5.
6.
7.

Per ciascun nodo adiacente v V( x ) di x


poni Dv(y):= + , per ogni y N - {v };
Per ciascun nodo adiacente v V(x ) di x
invia il vettore Distanze D x ( y ) = [ D x ( y ), y

8.
9.

Loop
/* fase iterativa e asincrona */
Attendi (la ricezione di un Vettore Distanze inviatoti da un tuo vicino oppure il
cambiamento del costo di uno dei canali a te collegati);
Per ciascun y N - { x }
i n {D v ( y ) + c ( x , v ) } ;
calcola D x ( y ) : = vm
V ( x )
aggiorna p x ( y ) : = { v * } ; /* la soluzione delleq BF */
costruisci D x ( y ) = [ D x ( y ), y N ]
Dx cambiato dal passo precedente
Se
Allora invia x a tutti i tuoi vicini v V( x );
Torna alla riga 9 del programma.

10.
11.
12.
13.
14.
15.
16.

Baccarelli,
Cordeschi, Patriarca, Polli

N ] a v;

164

LAlgoritmo DV - Commenti

Il nodo x aggiorna il suo vettore delle distanze Dx solo


quando:

i.

Riceve un nuovo Vettore delle Distanze da uno dei suoi nodi

vicini;

ii. Si verifica una variazione in uno dei costi {c( x ,v), v V ( x )}


dei canali ad esso direttamente connessi (vedi Linea 9);

px ( y ) in Linea 12 aggiornato col nodo v* soluzione


dellEquazione di BF per il cammino ottimo da x a y;
quindi v* il nodo successivo al quale x deve inviare i
datagrammi diretti a y. v* , quindi, memorizzato nella
Tabella di Instradamento del nodo x come nodo
successivo del cammino ottimo da x a y.
Nellalgoritmo DV, lo scambio dei Vettori delle Distanze
avviene solo tra coppie di nodi adiacenti (vedi le Linee 6,
7, 15). Per questo motivo, lalgoritmo DV di tipo
distribuito.

Baccarelli,
Cordeschi, Patriarca, Polli

165

Esempio di applicazione
dellAlgoritmo DV (1/2)
Dx(z) = min{c(x,y) +
Dy(z), c(x,z) + Dz(z)}

from

= min{2+1 , 7+0} = 3

y 1
7

from

from

from

Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)}


= min{2+0 , 7+1} = 2
node x table
cost to
cost to
x y z
x y z
x 0 2 7
x 0 2 3
y 2 0 1
y
z
z 7 1 0
node y table
cost to
x y z
x
y 2 0 1
z
node z table
cost to
x y z
x
y
z 71 0
Baccarelli,
Cordeschi, Patriarca, Polli

time

166

Esempio di applicazione
dellAlgoritmo DV (2/2)

x
y
z

from
from

x
y
z

cost to
x y z
0 2 3
2 0 1
7 1 0
cost to
x y z
0 2 7
2 0 1
7 1 0
cost to
x y z
0 2 7
2 0 1
3 1 0

from

from

x
y
z

from

from

from

from

node x table
cost to
x y z
x 0 2 7
y
z
node y table
cost to
x y z
x
y 2 0 1
z
node z table
cost to
x y z
x
y
z 7 1 0

from

Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)}


= min{2+0 , 7+1} = 2

x
y
z
x
y
z
x
y
z

Baccarelli,
Cordeschi, Patriarca, Polli

Dx(z) = min{c(x,y) +
Dy(z), c(x,z) + Dz(z)}
= min{2+1 , 7+0} = 3

cost to
x y z
0 2 3
2 0 1
3 1 0
cost to
x y z
0 2 3
2 0 1
3 1 0
cost to
x y z
0 2 3
2 0 1
3 1 0
time

y
7

167

Confronto tra gli algoritmi


Dijkstra e DV
I due algoritmi convergono alla stessa soluzione ottima.
Lalgoritmo DV (teoricamente) pi complesso; ma nei casi pratici
i due algoritmi si equivalgono.
Lalgoritmo di Dijkstra richiede che un nodo conosca lintera
topologia della rete e il peso (stato) di tutti i rami

Necessit di colloquio tra tutte le coppie di nodi

Lalgoritmo DV richiede la conoscenza dello stato dei rami uscenti


da un nodo insieme alle informazioni provenienti dai soli nodi vicini

Possibilit di colloquio solo tra nodi adiacenti


(implementazione distribuita)
Baccarelli,
Cordeschi, Patriarca, Polli

168

Algoritmi per linstradamento


gerarchico

Baccarelli,
Cordeschi, Patriarca, Polli

169

Instradamento gerarchico
Motivazioni (1/2)
Fino ad ora, abbiamo considerato la Rete

Internet come un insieme omogeneo di sottoreti interconnesse da router che espletano le


medesime funzioni ed applicano un medesimo
algoritmo per linstradamento dei datagrammi.
Questa visione omogenea delle Rete Internet
in cui tutti i router sono alla pari tra di loro
e svolgono le stesse funzioni detta visione
non gerarchica (o piatta) della Rete Internet.
Baccarelli,
Cordeschi, Patriarca, Polli

170

Instradamento gerarchico
Motivazioni (2/2)

i.

ii.

Con il crescere del numero di nodi (router e utenti)


interconnessi alla Rete Internet, la visione piatta risultata
sempre pi inadeguata, per almeno due motivi:
Motivi di scala (ovvero, di dimensioni)

Ad oggi, la rete Internet consiste di circa 200 milioni di utenti. E


quindi impensabile che ciascuno dei router che interconnette gli
utenti memorizzi Tabelle di Instradamento che indirizzino
esplicitamente tutti i possibili utenti di Internet;

Motivi di autonomia amministrativa

Internet costituita da sotto-reti e, tipicamente, ciascuna


sotto-rete gestita da uno (specifico) amministratore. In
genere, amministratori distinti tendono a gestire e organizzare le
proprie sotto-reti secondo modalit (politiche) distinte. Ad
esempio, amministratori distinti possono voler attribuire
significati diversi ai costi da associare ai canali presenti nelle
proprie sotto-reti, o possono voler applicare algoritmi di
instradamento diversi nellambito delle sotto-reti di competenza.

Baccarelli,
Cordeschi, Patriarca, Polli

171

Sistemi Autonomi (1/2)


Queste due esigenze hanno portato a sviluppare una
visione (modello) gerarchico della Rete Internet, in
cui i router sono organizzati in una gerarchia di pi
livelli, con i router di livello pi basso che svolgono
funzioni pi semplici di quelli di livello pi elevato.
Specificatamente, nel modello gerarchico, la rete
Internet partizionata in Sistemi Autonomi
(Autonomous Systems - ASs).
Per definizione, un Sistema Autonomo
caratterizzato da:

i.

Essere composto da una o pi sottoreti interconnesse da


router che applicano uno stesso algoritmo di instradamento
per scambiarsi datagrammi;
ii. Essere amministrato (gestito) da un unico amministratore
(entit legale).
Baccarelli,
Cordeschi, Patriarca, Polli

172

Sistemi Autonomi (2/2)


In ciascun Sistema Autonomo, sono presenti uno o pi
router che connettono il Sistema Autonomo ad altri
(uno o pi) Sistemi Autonomi. Questi router sono
detti Gateway Router (Router di Porta).
Lalgoritmo di instradamento che ciascun Sistema
Autonomo impiega al suo interno detto Algoritmo di
Instradamento Intra-Sistema Autonomo (Intra-AS
Routing Algorithm). Sistemi Autonomi distinti possono
impiegare differenti protocolli d instradamento intraAS.
Lalgoritmo di instradamento che i Gateway Router di
tutti i Sistemi Autonomi debbono condividere per
poter scambiarsi datagrammi tra di loro detto

Algoritmo di Instradamento Inter-Sistema Autonomo


(Inter-AS Routing Algorithm).

Baccarelli,
Cordeschi, Patriarca, Polli

173

Sistemi Autonomi Esempio 1


(1/2)
Sottorete
A.1
Sotto-rete B.1
R1
R2

R5

R3

R6

Sottorete
A.2
Sistema Autonomo A

R4

Sottorete B.2

Sistema Autonomo B
Baccarelli,
Cordeschi, Patriarca, Polli

174

Sistemi Autonomi Esempio 1


(2/2)

NellEsempio 1,

i.

Il sistema autonomo A ha tre router (R1, R2, R3) e due sottoreti. I router R2 e R3 sono i Gateway Router del Sistema
Autonomo A;
ii. Il sistema autonomo B ha tre router (R4, R5, R6) e due sottoreti. I router R5 e R6 sono i Gateway Router del Sistema
Autonomo B;
iii. I router R1, R2, R3 comunicano mediante un medesimo
algoritmo di Instradamento intra-AS. I Router R4, R5, R6
comunicano mediante un medesimo algoritmo di
Instradamento intra-AS. I due algoritmi di instradamento
intra-AS adottati possono essere diversi tra di loro.
iv. Le coppie di Gateway Router (R2, R5) e (R3, R6) comunicano
adottando un medesimo algoritmo di instradamento inter-AS
per entrambe le coppie.
Baccarelli,
Cordeschi, Patriarca, Polli

175

Sistemi Autonomi Esempio 2


(1/2)
3c

3a
3b
AS3
1a

2a

1c
1d

1b

Intra-AS
Routing
algorithm

2c
AS2

2b

AS1

Inter-AS
Routing
algorithm

Tabella di Instradamento

Baccarelli,
Cordeschi, Patriarca, Polli

176

Sistemi Autonomi Esempio 2


(2/2)

La Rete dellEsempio 2 costituita da tre


Sistemi Autonomi.
i.

Il sistema AS1 composto dai router 1c, 1a, 1d,


1b ed ha 1b e 1c come Gateway Router;
ii. Il sistema AS2 composto dai router 2a, 2b, 2c
ed ha 2a come Gateway Router;
iii. Il sistema AS3 costituito dai router 3a, 3b, 3c
ed ha 3a come Gateway Router;
iv. Le coppie (3a, 1c) e (1b, 2a) di Gateway Router
comunicano tra loro mediante lAlgoritmo di
Instradamento inter-AS.
Baccarelli,
Cordeschi, Patriarca, Polli

177

Funzioni dellAlgoritmo di
Instradamento Inter-AS

Un algoritmo (o, meglio, protocollo) di Instradamento


Inter-AS deve adempiere a 3 funzioni principali:

Deve permettere a ciascun AS di apprendere quali sono le


sotto-reti della intera Rete Internet raggiungibili attraverso i
Sistemi Autonomi direttamente collegati (adiacenti) ad AS
stesso (informazioni di raggiungibilit);
ii. Deve propagare linformazione di raggiungibilit a tutti i router
che costituiscono il sistema autonomo AS, cos che ogni router
interno ad AS conosca a quale sistema autonomo adiacente
debba inoltrare un datagramma con un prefissato indirizzo IP di
destinazione (propagazione delle informazioni di
raggiungibilit);
iii. Indicare a ciascun router interno ad AS a quale Gateway Router
di AS inviare ciascun datagramma di assegnato indirizzo IP di
destinazione (informazione di rotta).
i.

Baccarelli,
Cordeschi, Patriarca, Polli

178

Interazione tra gli algoritmi di


Instradamento Inter-AS e Intra-AS
(1/5)

Da quanto esposto, ne deduciamo che la Tabella di


Instradamento di ciascun router appartenente ad un
Sistema Autonomo aggiornata congiuntamente sulla
base sia dellalgoritmo di Instradamento Intra-AS
che di quello Inter-AS.
Infatti,

i.

ii.

Lalgoritmo di Instradamento intra-AS specifica a ciascun


router di un Sistema Autonomo A come raggiungere
destinazioni che sono allinterno del Sistema Autonomo A
stesso;
Lalgoritmo di instradamento inter-AS specifica a ciascun
router del Sistema Autonomo A quale sia il Gateway Router
di A al quale inviare un datagramma con assegnato indirizzo
IP di destinazione.
Baccarelli,
Cordeschi, Patriarca, Polli

179

Interazione tra gli algoritmi di


Instradamento Inter-AS e IntraAS: la strategia hot potato (2/5)
Con riferimento alla figura seguente,

3c
3b

3a
AS3

1a

2a

1c
1d

1b

2c
AS2

2b

AS1

Baccarelli,
Cordeschi, Patriarca, Polli

180

Interazione tra gli algoritmi di


Instradamento Inter-AS e Intra-AS: la
strategia hot potato (3/5)
Supponiamo che:
o

AS1 abbia appreso dallalgoritmo di instradamento


inter-AS che la sotto-rete x raggiungibile sia
attraverso AS3 (mediante il Gateway router 1c) sia
attraverso AS2 (mediante il Gateway router 1b);
Il router 1d (interno a AS1) voglia inviare un
datagramma alla sotto-rete di destinazione x;

Nasce il seguente problema:

Il router 1d dovrebbe inviare il suo


datagramma al Gateway router 1c oppure al
Gateway router 1b?
Baccarelli,
Cordeschi, Patriarca, Polli

181

Interazione tra gli algoritmi di


Instradamento Inter-AS e Intra-AS:
la strategia hot potato (4/5)

Il router 1d opera al seguente modo:


i.
ii.

Applica lalgoritmo di instradamento intra-AS per calcolare i


costi dei cammini a costo minimo da 1d a 1c e da 1d a 1b;
Sceglie dei due cammini quello col costo minimo pi basso.

La politica di instradamento ora descritta consiste,


quindi, nellinviare il datagramma al Gateway router
pi vicino tra quelli che consentono di trasferire il
datagramma alla destinazione finale desiderata e
viene detta politica di instradamento della patata
bollente (hot potato routing strategy).
Baccarelli,
Cordeschi, Patriarca, Polli

182

Interazione tra gli algoritmi di


Instradamento Inter-AS e Intra-AS:
riepilogo (5/5)

In definitiva, le operazioni che ciascun router di un Sistema


Autonomo compie per aggiornare la propria Tabella di
instradamento sulla base delle informazioni fornitegli dagli
algoritmi di instradamento intra-AS e inter-AS possono essere
cos riassunte:
i. Dallalgoritmo di instradamento inter-AS, il router apprende
che la sottorete con indirizzo IP z raggiungibile attraverso
pi gateway;
ii. Il router applica lalgoritmo di instradamento intra-AS per
calcolare i costi dei percorsi a costi minimi verso i suddetti
gateway;
iii. Il router sceglie il gateway al quale corrisponde il cammino a
costo minimo inferiore (hot potato strategy);
iv. Dalla Tabella di instradamento in esso memorizzata, il router
individua la porta di uscita I che lo connette al gateway
prescelto. Il router aggiorna la propria Tabella di
instradamento aggiungendovi la riga con contenuto: < z,I >.
Baccarelli,
Cordeschi, Patriarca, Polli

183

I protocolli di Instradamento di
Internet

Baccarelli,
Cordeschi, Patriarca, Polli

184

I Protocolli di Instradamento
Generalit (1/2)
Nello Strato di Rete di Internet, gli algoritmi
di Instradamento precedentemente esaminati
vengono attuati mediante opportuni Protocolli
di Instradamento.
I Protocolli di Instradamento pi usati sono:
o
Il Routing Information Protocol (RIP) e
lOpen Shortest Path First (OSPF) come
Protocolli di Instradamento intra-AS;
o
Il Border Gateway Protocol (BGP) come
Protocolli di Instradamento inter-AS.

Baccarelli,
Cordeschi, Patriarca, Polli

185

I Protocolli di Instradamento
Generalit (2/2)

Indipendentemente dall Algoritmo di


Instradamento implementato, il fine ultimo di ogni
Protocolli di Instradamento quello di:
i.
Modificare/aggiornare la Tabella di
Instradamento presente in ciascun router;
ii.
Permettere a ciascun router di:
o
Consegnare il datagramma ad una delle sottoreti alle quali il router direttamente
connesso;
oppure
o
Indirizzare il datagramma al successivo router
(next-router) lungo il cammino verso la
destinazione finale.
Baccarelli,
Cordeschi, Patriarca, Polli

186

Tabelle di Instradamento (1/2)


Il meccanismo per linstradamento in IP basato su una
Tabella che ogni utente o router mantiene allo scopo di
conoscere le possibili destinazioni e le modalit per
raggiungerle.
Una Tabella di Instradamento contiene delle coppie (R,
I) dove R lindirizzo IP della rete di destinazione e I
lindirizzo del prossimo router (next-router) lungo la
strada che porta alla rete di destinazione.
La Tabella di Instradamento specifica quindi solo un
passo lungo il cammino verso la destinazione; un router
non conosce quindi il cammino completo che il
datagramma dovr compiere.

Baccarelli,
Cordeschi, Patriarca, Polli

187

Tabelle di Instradamento (2/2)


Al fine di limitare le dimensioni delle le

Tabelle di Instradamento, le Tabelle


contengono solo informazioni sulle reti di
destinazione e non sui singolo nodi (prefissi
delle reti di destinazione).
Se un router non trova una rotta nella sua
Tabella di Instradamento, allora indirizza i
suoi datagrammi verso un router di default
(generalmente un router pi potente,
destinato principalmente ad operazioni di
instradamento).
Baccarelli,
Cordeschi, Patriarca, Polli

188

Aggiornamento delle Tabelle di


Instradamento

Le Tabelle di Instradamento sono dinamiche, ossia:

ogni router ed ogni terminale impara nel tempo ed


aumentano le informazioni di instradamento in loro possesso
aggiornandole nel tempo.

La necessit di un aggiornamento dinamico dovuta al


fatto che Internet non pu essere considerata stabile.
In caso di guasti alcune rotte non sono pi utilizzabili.

Infine, se linstradamento usa un algoritmo adattativo,


allora laggiornamento deve anche tener conto dello
stato di occupazione delle risorse di rete:
Le Tabelle di Instradamento devono quindi tenere conto di
tutti questi cambiamenti ed essere aggiornate continuamente
(anche ad intervalli di pochi secondi).
Baccarelli,
Cordeschi, Patriarca, Polli

189

Struttura generale di un Protocollo di


Instradamento al nodo x
1.
2.
3.
4.

5.
6.
7.
8.

Estrai lindirizzo IP di destinazione dal datagramma in arrivo;


Se tale indirizzo coincide con quello X (cio con se stesso), estraine il
contenuto informativo e consegnalo agli strati superiori per lulteriore
elaborazione;
Altrimenti, determina la sotto-rete di destinazione e decrementa il TimeTo-Live del datagramma: se il Time-To-Live arrivato a zero, scarta il
datagramma;
Se la sotto-rete di destinazione coincide con quella della rete a cui
direttamente connesso il router X (cio se stesso), invialo direttamente
(cio con istradamento diretto; ci implica tradurre lindirizzo IP in indirizzo
MAC ed incapsularlo nellunit dati della rete in questione);
Altrimenti, se stata richiesta una rotta specifica, invialo su tale rotta;
Altrimenti, se la sotto-rete di destinazione compresa nella Tabelle di
Instradamento, indirizza il datagramma come specificato nella Tabella;
Altrimenti, se stata specificata una strada di default, invia il datagramma
al default gateway;
Altrimenti dichiara un errore di instradamento e scarta il datagramma.
Baccarelli,
Cordeschi, Patriarca, Polli

190

Protocollo RIP - Generalit

Il Routing Information Protocol (RIP) implementa lalgoritmo di


instradamento Distance Vector (DV). Come tale, RIP :
i.
Asincrono;
ii.
Iterativo;
iii.
Distribuito: ci significa che ogni router invia/riceve le Tabelle
di Instradamento solo dai router ad esso adiacenti.
Per definizione, nel gergo di RIP, due router sono adiacenti se
sono connessi mediante una singola sotto-rete.
Per definizione, RIP pone pari a 1 il costo di ciascun collegamento
tra una qualsiasi coppia di router adiacenti. Ci implica che i
percorsi a costo minimo calcolati da RIP sono quelli a numero
minimo di connessioni (cio quelli a numero minimo di hop).
RIP pu essere applicato allinterno di Sistemi Autonomi di
dimensioni limitate, con ci si intende dire che il massimo numero
di hop tra due router del Sistema Autonomo non pu essere
superiore a 15.
Baccarelli,
Cordeschi, Patriarca, Polli

191

Le Tabelle di Instradamento di
RIP - Struttura
Consideriamo un (generico) router D facente parte
di un assegnato Sistema Autonomo.
La Tabella di Instradamento del router D ha tante
righe quante sono le sotto-reti raggiungibili (in uno
o pi hop) del router D. Ogni riga della Tabella
contiene:

i.
ii.

iii.

Lidentificatore (ossia, il prefisso IP) della sotto-rete di

destinazione;

Lidentificatore (indirizzo IP) del router successivo (next-

router) sul cammino a costo minimo dal router D alla sottorete di destinazione;
Il numero di salti (ossia, la distanza, espressa come numero
di sotto-reti da attraversare) dal router D alla sotto-rete
di Destinazione lungo il cammino a costo minimo.
Baccarelli,
Cordeschi, Patriarca, Polli

192

Le Tabelle di Instradamento di
RIP - Interscambio
Il router D invia la sua tabella di instradamento a tutti e
soli i router adiacenti una volta ogni 30sec. Se i router
adiacenti a D non ricevono la tabella di D per un intervallo
di tempo superiore ai 180sec, allora essi:
i. Dichiarano il router D non pi attivo;
ii. Rimuovono dalle proprie tabelle di instradamento tutte
le rotte (cammini) che avevano il router D come nextrouter.
Il router D invia ai vicini la sua Tabella di Instradamento
mediante un RIP Response Message (detto anche RIP
Advertisement Message) che, a sua volta, trasportato dal
campo payload di un comune datagramma IP.
Ciascun RIP Response Message pu contenere sino ad un
massimo di 25 sotto-reti destinazioni (25 righe estratte
dalla Tabella di Instradamento correntemente
memorizzata al router D).

Baccarelli,
Cordeschi, Patriarca, Polli

193

Aggiornamento delle Tabelle di


Instradamento di RIP (1/3)

Supponiamo che il router D riceva, ad un certo istante t0,


la Tabella di Instradamento del router adiacente A.
Allora, il router D aggiorna (una o pi righe) della sua
Tabella di Instradamento se e solo se si verificano luno
e/o laltro dei due seguente eventi a), b):
a)

b)

Nella Tabella di Instradamento ricevuta da A c una (o pi)


sotto-reti di destinazione che correntemente non sono presenti
nella Tabella di Instradamento del router D;
Nella Tabella di Instradamento ricevuta da A c una (o pi)
sotto-reti di Destinazione che gi sono presenti nella Tabella di
Instradamento del router D, ma la distanza da A alla sotto-rete
di Destinazione inferiore di almeno due unit della
corrispondente distanza di D dalla stessa sotto-rete di
destinazione.
Baccarelli,
Cordeschi, Patriarca, Polli

194

Aggiornamento delle Tabelle di


Instradamento di RIP (2/3)

Nel caso in cui si verifichi levento a), il


router D aggiunge una riga alla sua Tabella di
Instradamento in cui specifica:

i.

Lidentificatore (prefisso IP) della sotto-rete

raggiungibile attraverso il router A;


ii. Identificatore (indirizzo IP) del router A come
next-router del cammino a costo minimo da D alla
sotto-rete in oggetto;
iii. Il numero di hop (numero di sotto-reti da
attraversare) del cammino a costo minimo da D alla
sotto-rete in oggetto, numero di hop che pari a
quello riportato nella Tabella ricevuta dal router A
aumentato di una unit.
Baccarelli,
Cordeschi, Patriarca, Polli

195

Aggiornamento delle Tabelle di


Instradamento di RIP (3/3)

Nel caso in cui si verifichi levento b), il router D


modifica la riga della sua Tabella di Instradamento
corrispondente alla sotto-rete di destinazione in
oggetto come segue:
i. Lascia inalterato lidentificatore (prefisso IP) della

sotto-rete di destinazione;
ii. Pone come identificatore del next-router del cammino
da D alla sotto-rete di destinazione lindirizzo IP del
router A;
iii. Pone come numero di hop (numero di sotto-reti da
attraversare) del cammino a costo minimo da D alla
sotto-rete in oggetto il corrispondente numero
presente nella Tabella ricevuta da A ma aumentato di
una unit.
Baccarelli,
Cordeschi, Patriarca, Polli

196

Aggiornamento delle Tabelle di


Instradamento di RIP - Esempio
Dest Succ. Router hops
w
1
x
1
z
C
4

...

Tabella di A inviata a D

Sotto-rete di destinazione Router successivo

w
y
z
x

A
B
BA
--

Num. salti verso la destinazione

2
2
75
1

...

Baccarelli,
Tabella
di
instradamento al nodo D
Cordeschi, Patriarca, Polli

197

Protocollo OSPF - Generalit


Il protocollo di instradamento Open Shortest Path
First (OSPF) un protocollo di instradamento
i. Intra AS
ii. Di tipo Link-State
iii. Che implementa lalgoritmo di instradamento di Dijkstra.

Quindi, OSPF un protocollo di instradamento di tipo


globale (o centralizzato). Ci richiede che, prima di
applicare il protocollo OSPF, ogni nodo R del Sistema
Autonomo conosca lintero grafo pesato G  <N,E> che
descrive il Sistema Autonomo stesso.
Baccarelli,
Cordeschi, Patriarca, Polli

198

Protocollo OSPF Messaggi di


segnalazione (1/2)

Per acquisire la conoscenza del grafo G  <N,E> che descrive


il Sistema Autonomo, ogni router del Sistema Autonomo invia
periodicamente a tutti gli altri router del Sistema Autonomo
(non solo a quelli adiacenti) un messaggio di Link State Update
(LSU Message).
Il messaggio LSU inviato dal router A contiene:

Gli identificatori (indirizzi IP) dei router e delle sotto reti


adiacenti del router A;

I costi dei collegamenti tra il router A e ciascuno dei router e


sotto-reti ad esso adiacenti.

i.
ii.

Ciascun router del Sistema Autonomo che riceve un messaggio


LSU da una delle sue porte di ingresso, opera come segue:
Invia indietro al router dal quale ha ricevuto il messaggio LSU un
messaggio di riscontro positivo (Link State Acknowledgement

(LSA) Message);
Inoltra il messaggio LSU ricevuto verso tutte le sue porte di
uscita, tranne la porta di uscita con lo stesso numero dordine della
porta di ingresso dalla quale ha ricevuto il messaggio LSU.
Baccarelli,
Cordeschi, Patriarca, Polli

199

Protocollo OSPF Messaggi di


segnalazione (2/2)
Se il grafo G  <N,E> del Sistema Autonomo
connesso, allora, dopo un tempo massimo pari a quello
necessario per trasferire datagrammi lungo il
cammino di lunghezza massima presente nel Sistema
Autonomo, ogni router del Sistema Autonomo ha
ricevuto i messaggi LSU generati da tutti gli altri
router del Sistema Autonomo stesso.
Quindi, ogni router in grado di costruire al suo
interno il grafo G  <N,E> pesato del Sistema
Autonomo al quale appartiene. I grafi costruiti dai
vari router coincidono tra di loro. Quindi, ogni router
in grado di implementare localmente lalgoritmo di
Dijkstra per individuare il cammino a costo minimo tra
se stesso e tutti gli altri nodi (router e sotto-reti) del
Sistema Autonomo di appartenenza

Baccarelli,
Cordeschi, Patriarca, Polli

200

Caratteristiche del protocollo


OSPF (1/2)
La caratteristica principale del protocollo OSPF la
possibilit, da parte dellAmministratore del Sistema
Autonomo, di adottare differenti metriche per
indicare il costo di un collegamento.
Possibili metriche di costo sono:

i. Il numero di hop (costo unitario per tutti i collegamenti);


ii. La capacit (in bit/sec) del collegamento;
iii. Il ritardo (in sec) di trasferimento di un datagramma
attraverso il collegamento.

Spesso, il tipo di metrica da adottare per definire il


costo dei collegamenti specificato (o deducibile) dal
contenuto del campo Type Of Service (TOS)
presente nellHeader di ciascun datagramma IP
trasferito.
Baccarelli,
Cordeschi, Patriarca, Polli

201

Caratteristiche del protocollo


OSPF (2/2)

Il protocollo OSPF consente anche:


i. quando presenti, di suddividere il traffico generato da
un router R verso una destinazione D tra pi cammini a
costo minimo, cos da bilanciare il traffico dai vari

cammini presenti nella rete;


ii. di adottare scambi di messaggi di segnalazione tra
router di tipo autenticato, cos da aumentare il livello
di sicurezza dellintera rete;
iii. di definire allinterno di un Sistema Autonomo una
struttura gerarchica (suddivisione del Sistema in
sotto-sistemi di dimensioni via via decrescenti), cos
da poter applicare il protocollo OSPF con metriche di
costo diverse in ciascun sotto-sistema in cui stato
scomposto il Sistema Autonomo di partenza.
Baccarelli,
Cordeschi, Patriarca, Polli

202

Il BGP Generalit (1/2)


Il Border Gateway Protocol (BGP) il protocollo inter-AS che i
(soli) Gateway Router implementano per scambiarsi tra di loro
informazioni di raggiungibilit.
La versione attuale del BGP la 4 (BGPv4).
Con riferimento ad un insieme di Sistemi Autonomi (ASs)
interconnessi mediante Gateway Router, il BGP permette a
ciascun Sistema Autonomo di:
i. Acquisire informazioni di raggiungibilit dai Sistemi Autonomi
adiacenti, ossia da quelli ad esso direttamente connessi mediante un

collegamento Gateway Router-Gateway Router;


ii. Propagare le informazioni di raggiungibilit a tutti i router interni al
Sistema Autonomo;
iii. Calcolare buone rotte (cammini) tra ciascun router interno al
Sistema Autonomo e le sotto-reti di destinazione di interesse.

Il BGP permette anche a ciascuna nuova sotto-rete che vuole


connettersi ad Internet di notificare a tutta la rete Internet la
propria esistenza e prefisso di sotto-rete (sub-net mask).
Baccarelli,
Cordeschi, Patriarca, Polli

203

Il BGP Generalit (2/2)

Poich BGP un protocollo di instradamento


inter-AS e poich ciascun Sistema Autonomo
inter-connesso da BGP ha una sua autonomia
amministrativa, allora:
i.

ii.

BGP non utilizza metriche per calcolare i cammini


ottimi, ossia non assegna alcun tipo di costo alle
rotte interconnettenti sistemi autonomi diversi;
BGP utilizza esclusivamente informazioni di
raggiungibilit, che consistono nello specificare:

o
o

Quali sotto-reti sono raggiungibili da ogni Gateway

router;
Quali Sistemi Autonomi debbono essere attraversati
lungo ogni specifico cammino tra un router e la
corrispondente sotto-rete di destinazione.
Baccarelli,
Cordeschi, Patriarca, Polli

204

BGP: acquisizione e propagazione delle


informazioni di raggiungibilit (1/3)
Per concretezza, facciamo riferimento

allinter-connessione dei 3 Sistemi Autonomi


riportati in figura.
eBGP session

3c
3a
3b
AS3
1a
AS1

iBGP session

2a

1c
1d

1b

Baccarelli,
Cordeschi, Patriarca, Polli

2c
AS2

2b

205

BGP: acquisizione e propagazione delle


informazioni di raggiungibilit (2/3)

Per definizione, linformazione di


raggiungibilit generata da un Sistema
Autonomo (ad es., AS1) consiste nello
specificare:

i.

quali sono le sotto-reti di destinazione

raggiungibili attraverso il Sistema Autonomo (ad


es., le sotto-reti o che fanno parte di AS1 o che
sono raggiungibili attraverso AS1);
ii. Per ogni sotto-rete di destinazione raggiungibile
attraverso il Sistema Autonomo (ad es.,
attraverso AS1), quale il Gateway Router del
Sistema Autonomo che permette di raggiungere
la sotto-rete di destinazione di interesse.
Baccarelli,
Cordeschi, Patriarca, Polli

206

BGP: acquisizione e propagazione delle


informazioni di raggiungibilit (3/3)
Il BGP usa due tipi di connessioni dette:
i. External BGP session (eBGP);
ii. Internal BGP session (iBGP).
per acquisire e propagare le informazioni di raggiungibilit
generate da ciascun Sistema Autonomo.
Una coppia di Gateway Router appartenenti a Sistemi Autonomi
distinti (vedi la figura) impiega una connessione eBGP per
scambiarsi le informazioni di raggiungibilit generate dai
Sistemi Autonomi di appartenenza.
Una coppia di router appartenenti allo stesso Sistema
Autonomo impiega una connessione iBGP per scambiarsi
(propagare) le informazioni di raggiungibilit acquisite dai
Gateway Router del Sistema Autonomo di appartenenza.
Quando un router (interno o di Gateway) riceve una
informazione di raggiungibilit (mediante una sessione eBGP o
iBGP) esso aggiorna la propria Tabella di instradamento.

Baccarelli,
Cordeschi, Patriarca, Polli

207

Struttura dei messaggi BGP (1/4)


Per permettere laggiornamento delle

suddette Tabelle presso i vari router di rete,


oltre alle informazioni di raggiungibilit
precedentemente definite , i messaggi BGP
scambiati attraverso le sessioni eBGP e iBGP
contengono anche ulteriori informazioni, dette
Attributi dei messaggi BGP.
I due Attributi pi importanti sono:
o
o

AS-PATH;
NEXT-HOP.
Baccarelli,
Cordeschi, Patriarca, Polli

208

Struttura dei messaggi BGP (2/4)

Ciascun Sistema Autonomo identificato da un


numero globalmente unico detto AS Number (ASN).
Lorganizzazione internazionale ICANN rilascia
lopportuno ASN a ciascun sistema autonomo che lo
richieda.
Lattributo AS-PATH lelenco ordinato dei numeri
(ASNs) dei Sistemi Autonomi attraverso cui
linformazione di raggiungibilit di una specifica
sotto-rete di destinazione transitata. Ciascun
Sistema Autonomo che riceve il suddetto messaggio
di raggiungibilit, appende in coda il proprio numero
(ASN) al campo AS-PATH gi presente nel
messaggio di raggiungibilit ricevuto.
Baccarelli,
Cordeschi, Patriarca, Polli

209

Struttura dei messaggi BGP (3/4)

Esempio,
i.
Supponiamo che il Sistema Autonomo AS15
riceva in messaggio di raggiungibilit relativo alla
sotto-rete di destinazione con prefisso IP
aaa.bbb.ccc.ddd/x.
ii.
Supponiamo che lattributo AS-PATH del
suddetto messaggio di raggiungibilit sia:
AS-PATH=AS6, AS20, AS30.
allora, il Sistema Autonomo ricevente (cio, AS15)
acquisisce linformazione che la sotto-rete di
destinazione aaa.bbb.ccc.ddd/x raggiungibile da
AS15 attraverso la sequenza di Sistemi Autonomi
AS30 AS20 AS6.
Baccarelli,
Cordeschi, Patriarca, Polli

210

Struttura dei messaggi BGP (4/4)


Lattributo NEXT-HOP di un messaggio di

raggiungibilit relativo ad una specifica sottorete di destinazione utilizzato dai router


interni ad un Sistema Autonomo.
Lattributo NEXT-HOP specifica il GatewayRouter del Sistema Autonomo dal quale il
messaggio di raggiungibilit in oggetto stato
ricevuto e ritrasmesso verso i router interni
del Sistema Autonomo.
Baccarelli,
Cordeschi, Patriarca, Polli

211

Selezione del cammino (rotta) in


BGP (1/2)
Pu allora accadere che un router interno ad un AS
abbia ricevuto pi messaggi di raggiungibilit per una
stessa sotto-rete di destinazione, messaggi che
differiscono per il contenuto del campo NEXT-HOP.
Ci significa che il router interno ha a disposizione
pi rotte diverse per raggiungere la sotto-rete di
destinazione, rotte che transitano attraverso
Gateway Router distinti del Sistema Autonomo al
quale il router interno appartiene.
Quale, tra le rotte a disposizione, il router interno
dovrebbe scegliere?

Baccarelli,
Cordeschi, Patriarca, Polli

212

Selezione del cammino (rotta) in


BGP (2/2)

Un nodo, interno ad AS e che conosca che esistono pi rotte per


raggiungere una assegnata sotto-rete di destinazione, seleziona
la rotta migliore applicando in sequenza le Regole di Eliminazione
elencate:
i.

A ciascuna rotta ammissibile viene assegnata, come ulteriore


attributo, un valore di preferenza locale da parte
dellamministratore del Sistema Autonomo. Allora, il router interno
seleziona quelle, tra le rotte ammissibili, col pi alto valore di
preferenza locale;
ii. Tra le rotte restanti, il router interno seleziona quelle con il campo
AS-PATH costituite dal pi piccolo numero di elementi (le rotte pi
brevi);
iii. Tra le rotte restanti, il router interno seleziona quelle col minimo
valore dei costi dei cammini a costo minimo tra il router stesso e i
next-router (Gateway router ammissibili). Ovvero, il router interno
applica la politica dellinstradamento hot-potato per selezionare il
miglior Gateway router tra quelli ammissibili.
Baccarelli,
Cordeschi, Patriarca, Polli

213

Perch usare differenti protocolli per


linstradamento inter-AS e intra-AS?

Motivazioni di natura amministrativa

Motivazioni di dimensioni

Motivazioni di natura prestazionale

Mediante i protocolli inter-AS, gli amministratori vogliono


poter esercitare un controllo sul traffico da far transitare e/o
ammettere nel proprio Sistema Autonomo.
Gli instradamenti inter-AS e intra-AS attuano linstradamento
gerarchico richiesto da Internet per limitare le dimensioni
delle Tabelle di Instradamento da memorizzare in ciascun
router della rete.

Dal punto di vista delle prestazioni di natura prettamente


ingegneristica (non di natura politica), i protocolli per
linstradamento intra-AS sono migliori, in quanto garantiscono
lindividuazione dei cammini a costo minimo. Daltra parte, i
protocolli di instradamento inter-AS sono pi focalizzati sul
soddisfacimento di requisiti politico/amministrativi.
Baccarelli,
Cordeschi, Patriarca, Polli

214

Instradamento di tipo Broadcast


(Diffusione)

Baccarelli,
Cordeschi, Patriarca, Polli

215

Instradamento di tipo Broadcast


- Generalit
Supponiamo assegnata una rete descritta

mediante il corrispondente grafo pesato G 


<N, E>. Indichiamo con s N un nodo
(terminale o router) del grafo.
Lo scopo di un algoritmo di instradamento
Broadcast quello di far pervenire a tutti i
nodi v N \ {s} (diversi da s) della rete i
datagrammi generati da s.

Baccarelli,
Cordeschi, Patriarca, Polli

216

LAlgoritmo di Inondazione
(Uncontrolled Flooding) (1/2)
LAlgoritmo di Broadcast pi semplice
quello che va sotto il nome di Uncontrolled
Flooding. Per definizione, lAlgoritmo di
Uncontrolled Flooding opera come segue:

i.
ii.

Il nodo sorgente s inoltra datagramma verso


tutte le sue porte di uscita;
Ciascun nodo vs che riceve il datagramma da una
delle sue porte di ingresso, inoltra il datagramma
verso tutte le sue porte di uscita, tranne la porta
di uscita con lo stesso numero dordine della
porta di ingresso dalla quale ha ricevuto il
datagramma.
Baccarelli,
Cordeschi, Patriarca, Polli

217

LAlgoritmo di Inondazione
(Uncontrolled Flooding) (2/2)

Aspetti positivi

Se il grafo G connesso, ciascun nodo vN \ {s} della rete


ricever il datagramma generato da s, dopo un tempo che, al
pi, uguale al tempo necessario per trasferire un
datagramma attraverso il cammino pi lungo presente nella
rete.

Aspetti negativi

i.

Se il grafo G ha cicli, il datagramma generato da s pu


permanere indefinitamente allinterno di un ciclo;
ii. Un nodo vN \ {s} che ha gi ricevuto e inoltrato il
datagramma, pu riceverlo di nuovo da una delle sue porte di
ingresso e, quindi, lo inoltra di nuovo a tutte le sue porte
duscita. Questo fenomeno (detto Broadcast Storm) fa si
che uno stesso datagramma venga inutilmente inoltrato pi
volte da uno stesso nodo di rete.
Baccarelli,
Cordeschi, Patriarca, Polli

218

LAlgoritmo di Inondazione
Controllata (Controlled Flooding)

Lo scopo dellAlgoritmo di Controlled Flooding quello di evitare che un nodo


di rete inoltri pi volte uno stesso datagramma, ossia di evitare il fenomeno
del Broadcast Storm.
LAlgoritmo di Controlled Flooding opera come segue:
i. il nodo sorgente s pone: a) il suo indirizzo IP; e b) un numero di sequenza
progressivo in ogni datagramma che genera;
ii. il nodo s inoltra il datagramma cos numerato su tutte le sue porte di
uscita;
iii. ciascun nodo vN \ {s} della rete mantiene una Lista Aggiornata dei
datagrammi che ha gi ricevuto, duplicato e inoltrato verso tutte le sue
porte di uscita;
iv. quando il nodo vN \ {s} riceve da una delle sue porte di ingresso un
datagramma da broadcastare (diffondere), allora:
o controlla se il datagramma gi nella sua Lista;
o se nella Lista, v scarta il datagramma ricevuto;
o se non nella Lista, v aggiorna la Lista con lidentificatore del nuovo
datagramma e, poi, inoltra il datagramma verso tutte le sue porte di
uscita, tranne quella dalla quale aveva ricevuto il datagramma.
Baccarelli,
Cordeschi, Patriarca, Polli

219

Elementi di interconnessione:
Riepilogo e confronto

Baccarelli,
Cordeschi, Patriarca, Polli

220

Elementi di interconnessioneRiepilogo (1/2)


Abbiamo appreso che Internet un insieme di

sotto-reti debitamente interconnesse. Gli


elementi di interconnessione possono essere
di 3 tipi:

Hub realizzano solo i protocolli di Strato Fisico;


Bridge - realizzano solo i protocolli di Strato Fisico
e di Collegamento;
Router - realizzano solo i protocolli di Strato
Fisico, di Collegamento e di Rete;

Baccarelli,
Cordeschi, Patriarca, Polli

221

Elementi di interconnessioneRiepilogo (2/2)


3
2

HUB

BRIDGE

ROUTER

HUB

BRIDGE

ROUTER

Traffic isolation

no

si

si

Plug and play

si

si

no

Optimal routing

no

no

si

Baccarelli,
Cordeschi, Patriarca, Polli

222

Confronto tra Bridge e Router


(1/3)

Con riferimento alla seguente figura,

Terminale
Sorgente

Terminale di
Destinazione

ricordiamo che:
i.

I Bridge implementano i protocolli di strato Fisico e di Collegamento; i


Router implementano i protocolli di Strato Fisico, di Collegamento e di
Rete;
ii. I Bridge effettuano linoltro di trame basandosi sul loro indirizzo MAC;
i Router effettuano linoltro di datagrammi basandosi sullindirizzo IP.
Baccarelli,
Cordeschi, Patriarca, Polli

223

Confronto tra Bridge e Router


(2/3)
iii. I Bridge mantengono Tabelle di Inoltro; i
Router mantengono Tabelle di
Instradamento e di Inoltro.
iv. I Bridge sono autoconfiguranti (selflearning) ed effettuano le funzioni di inoltro
e di filtrazione. I Router richiedono
lattuazione di Algoritmi di Instradamento
per configurare le relative Tabelle e
effettuano la funzione di instradamento.
Baccarelli,
Cordeschi, Patriarca, Polli

224

Confronto tra Bridge e Router


(3/3)
v.

o
o
o
vi.

Infine, poich i Bridge non attuano algoritmi di


instradamento, la topologia di una rete
interconnessa tramite un Bridge deve essere
necessariamente ad albero (cio, un grafo connesso
e privo di cicli), in cui:
Le foglie dellalbero sono i terminali di utente;
I nodi intermedi sono hub;
La radice un bridge.

Poich i router attuano Algoritmi di Instradamento


che permettono di individuare il cammino (ottimo)
tra due qualunque nodi della rete, la topologia di una
rete interconnessa mediante router pu essere
arbitraria e pu anche contenere cicli.
Baccarelli,
Cordeschi, Patriarca, Polli

225

Prestazioni end-to-end di una


Rete a Commutazione di Pacchetto

Baccarelli,
Cordeschi, Patriarca, Polli

226

Prestazioni - Generalit
La Rete Internet una infrastruttura che fornisce il
servizio di trasferimento di datagrammi a coppie
Sorgente-Destinazione di Router ad essa
interconnessi.
Poich il Modello di Servizio offerto dalla Rete
Internet best-effort, i datagrammi generati dal
Router-Sorgente e diretti al Router-Destinazione
possono:

i. subire ritardi di trasferimento;


ii. essere, in parte, persi (scartati) ai nodi intermedi della
rotta;
iii. essere trasferiti ad una velocit (bit/sec) finita e spesso
variabile nel tempo.
Baccarelli,
Cordeschi, Patriarca, Polli

227

Modello di collegamento end-toend (1/2)

Con riferimento alla figura seguente,


l(1)
R1

RN-1

R2
C1

R3

CN-1

l(N-1)
DATA
RN

DATA
supponiamo che una sequenza di datagrammi debba essere inviata dal
Router-Sorgente R1 al Router- Destinazione RN attraverso una prefissata
rotta (cammino) costituita da N nodi di commutazione (Router)
interconnessi da (N-1) collegamenti.
La rete considerata a commutazione di pacchetto e, quindi, il tipo di
multiplazione adottata ai Router (nodi di commutazione) statistico.
Il collegamento tra due router adiacenti pu (eventualmente) anche
attraversare una (o pi) sotto-reti (non esplicitamente indicata in figura).
Baccarelli,
Cordeschi, Patriarca, Polli

228

Modello di collegamento end-to-end


(2/2)
Con riferimento alla figura precedente,

indichiamo con:
o
o
o
o

L (bit) = la lunghezza (supposta fissa) di ciascun


datagramma trasferito;
v(i) (m/s) = la velocit di propagazione del segnale
elettrico sul collegamento (canale) i-mo, 1 i N-1;
Ci (bit/sec) = la capacit del collegamento (canale)
i-mo, 1 i N-1;
l(i) (m) = la lunghezza del collegamento (canale) imo, 1 i N-1.
Baccarelli,
Cordeschi, Patriarca, Polli

229

Parametri di prestazione Definizione

In generale, i parametri (principali) che vengono


considerati per caratterizzare le prestazioni
dellintero collegamento end-to-end da: R1 a: RN
sono:

i.

ii.

Il throughput end-to-end definito come il numero di bit


al secondo (bit/sec) che RN riceve alluscita del
collegamento;

Il ritardo end-to-end definito come lintervallo di tempo


che intercorre tra listante t0 in cui il datagramma entra in
R1 e listante t1 in cui lo stesso datagramma esce da RN. Si

misura in sec;
iii. La probabilit di perdita end-to-end la probabilit che
un datagramma che entra in R1 non esce da RN, perch
scartato ad uno dei nodi intermedi del cammino end-to-end.
Equivalentemente, la suddetta probabilit la frazione di
datagrammi arrivati in R1 che non sono mai usciti da RN.
Baccarelli,
Cordeschi, Patriarca, Polli

230

Il ritardo end-to-end

Baccarelli,
Cordeschi, Patriarca, Polli

231

Il ritardo end-to-end
Per definizione, in una rete a commutazione di

pacchetto, il ritardo end-to-end dEE (sec) di


un datagramma da R1 a RN la somma dei
ritardi dn(i) (sec), 1 i N-1, che il
datagramma subisce ad ogni singolo nodo di
commutazione, ossia:

dEE

N 1

d (i )
i =1

(sec)

dove:
dn(i) (sec)  ritardo al nodo i-mo ritardo di
trasferimento da: Ri a Ri+1.
Baccarelli,
Cordeschi, Patriarca, Polli

232

Modello di Nodo di Commutazione

In linea di massima, un nodo di commutazione di una rete a commutazione di


pacchetto (router, bridge, commutatore ATM) costituito da 3 elementi di base
(vedi la figura):

Elaboratore
Coda (buffer)

i.
ii.
iii.

Servente

Canale di Capacit
C e di lunghezza L

Elaboratore legge lheader di ciascun datagramma in arrivo al nodo, lo


elabora e inoltra il datagramma;
Coda memorizza temporaneamente i datagrammi in attesa di essere

trasmessi dalla porta di uscita del nodo;


Servente modula e trasmette (un bit alla volta) il datagramma che si trova
in cima alla coda.
Baccarelli,
Cordeschi, Patriarca, Polli

233

Componenti del Ritardo ad un


(singolo) nodo
Ne segue, allora, che, in generale, il ritardo dn (sec) a
ciascun singolo nodo di commutazione la somma di 4
componenti, ossia:
dn dElab + dcoda + dtr + dprop (sec)
dove:

- dElab (sec) il ritardo di elaborazione;


- dcoda (sec) il tempo che il datagramma passa in attesa in
coda;
- dtr (sec) il ritardo di trasmissione, ossia il tempo che il
datagramma passa nel servente;
- dprop(sec) il ritardo di propagazione, ossia il tempo che
impiega ciascun singolo bit che costituisce il datagramma per
trasferirsi dall ingresso all uscita del canale trasmissivo
connesso al servente.
Baccarelli,
Cordeschi, Patriarca, Polli

234

Singolo Nodo: Il Ritardo di


Elaborazione
Il

ritardo di elaborazione dElab (sec) tiene

conto del tempo che il nodo di commutazione


impiega per
Leggere lheader di un ciascun datagramma;
Inoltrare il datagramma verso una delle porte di
uscita;
Aggiornare il contenuto dellheader del
datagramma.

Il

Ritardo di Elaborazione dipende dal

particolare router considerato, di natura


deterministica (ossia, non aleatoria) e,
tipicamente, dellordine di alcuni s.
Baccarelli,
Cordeschi, Patriarca, Polli

235

Singolo Nodo: Il Ritardo di


Trasmissione
Il

Ritardo di Trasmissione dtr(sec) il tempo

che impiega il Servente per trasmettere tutti


gli L bit che compongono un (singolo)
datagramma nel canale trasmissivo di capacit
C (bit/sec) ad esso connesso.
Quindi, per definizione, il Ritardo di
Trasmissione introdotto da un singolo nodo
pari a:
dtr = L/C (sec)
Esso un ritardo di tipo deterministico (non
aleatorio).
Baccarelli,
Cordeschi, Patriarca, Polli

236

Singolo Nodo: Il Ritardo di


Propagazione

Assumiamo che il canale trasmissivo connesso al


servente
i.
Abbia una lunghezza di l metri;
ii. Il segnale elettrico si propaghi nel canale con una
velocit v (m/sec);

Allora, il ritardo di propagazione dprop (sec) introdotto


dal nodo il tempo necessario a ciascun singolo bit di
un datagramma per trasferirsi dall ingresso all uscita
del canale trasmissivo, e quindi:
dprop = l/v (sec).

Anche il ritardo di propagazione di natura


deterministica, ossia non aleatoria.
Baccarelli,
Cordeschi, Patriarca, Polli

237

Singolo Nodo: Ritardi di


Trasmissione e di Propagazione
transmission

propagation

nodal
processing

queueing

Baccarelli,
Cordeschi, Patriarca, Polli

238

Singolo Nodo: Il Ritardo di coda


Generalit (1/4)
A differenza degli altri tipi di ritardo, il ritardo di
coda dcoda (sec) che un nodo di commutazione
introduce varia da datagramma a datagramma.
Infatti, il ritardo di coda sperimentato da ciascun
singolo datagramma dipende dal numero variabile di
datagrammi che sono gi presenti in coda. A sua
volta, il numero dei datagrammi che sono gi presenti
in coda dipende:

dal numero medio (datagrammi/sec) di datagrammi che


arrivano (entrano) nel buffer in un intervallo temporale di 1
sec;
ii. dalla modalit con cui i datagrammi arrivano (entrano) nel
buffer, ossia dalla dimensione dellintervallo di tempo che
passa tra gli istanti in cui due datagrammi consecutivi
arrivano (entrano) nella coda (Intervalli di inter-arrivo).

i.

Baccarelli,
Cordeschi, Patriarca, Polli

239

Singolo Nodo: Il Ritardo di coda


Generalit (2/4)

Indichiamo con :

L
(Erlang)
C

il numero medio di bit che entrano nel buffer nellunit di tempo


( L) diviso per il numero di bit C che escono dal buffer nellunit
di tempo. Ovviamente, C la capacit in bit/sec del canale
trasmissivo connesso al servente del nodo di commutazione.
La quantit si chiama Intensit di Traffico offerto al nodo
di commutazione. E un numero puro, e si misura in Erlang.
Poich dcoda aleatorio, indichiamo con:

dcoda

E{ dcoda } (sec)

il ritardo medio statistico di coda, ossia il valore atteso della


variabile aleatoria dcoda.
Baccarelli,
Cordeschi, Patriarca, Polli

240

Singolo Nodo: Il Ritardo di coda


Generalit (3/4)

Si pu dimostrare che, indipendentemente dalle


dimensioni dei tempi di inter-arrivo dei datagrammi in
ingresso al buffer, il risultante tempo medio di coda dcoda
ha il seguente comportamento generale:
i.

dcoda tende a zero quando 0,

ii.

dcoda + quando 1 ,

iii.

dcoda + quando > 1.

Quindi, ad ogni nodo di commutazione deve essere


sempre verificata la condizione seguente:
< 1.
Baccarelli,
Cordeschi, Patriarca, Polli

241

Singolo Nodo: Il Ritardo di coda


Generalit (4/4)
Landamento qualitativo di dcodain funzione di

, quindi, il seguente.

Ritardo
medio di
coda (sec)

Baccarelli,
Cordeschi, Patriarca, Polli

242

Singolo Nodo Modello di Coda


M/D/1 (1/2)

Per poter calcolare esplicitamente dcoda , dobbiamo


specificare la legge (di tipo probabilistico) con cui i
datagrammi arrivano (ossia, entrano) nella coda.
Assumiamo, allora, che la probabilit PA(k) che k 0
datagrammi arrivino allingresso della coda in un
assegnato intervallo temporale T0 (sec) sia data dalla
Distribuzione di Poisson, ossia che:

k
(

T
)
T0
0
PA ( k ) e
, k=0, 1, 2, ... , +
k!

dove:
(datagrammi/sec)  numero medio di datagrammi
che arrivano allingresso della coda nellintervallo
temporali di 1 sec.
Baccarelli,
Cordeschi, Patriarca, Polli

243

Singolo Nodo Modello di Coda


M/D/1 (2/2)

Sotto la precedente assunzione di distribuzione degli arrivi di

Poisson, la coda si dice di tipo: M/D/1.


Si pu dimostrare che, per una coda M/D/1, il tempo medio dcoda
che un datagramma aspetta nel buffer del nodo di commutazione
calcolabile come segue:

dcoda

L 1
=
1

2C (1 )

(sec)

dove, ricordiamo che:


L (bit)  dimensione del datagramma;
C (bit/sec)  capacit del canale trasmissivo connesso al servente
del nodo di commutazione;

L
C

intensit di traffico offerto (ossia, in


ingresso) al nodo di commutazione.
Baccarelli,
Cordeschi, Patriarca, Polli

244

Ritardo Medio di Nodo


Da quanto detto, ne deriva che il ritardo

medio dn (i ) E{ dn (i )} introdotto totalmente


dalli-mo nodo di commutazione presente nella
rotta R1RN pari a:

dn (i ) dElab (i ) + dtr (i ) + dprop (i ) + dcoda (i ), 1 i ( N - 1)


dove:

dprop (i ) l(i ) / v(i ), 1 i ( N - 1) (sec)


dtr (i ) L / C i , 1 i ( N - 1) (sec)
Baccarelli,
Cordeschi, Patriarca, Polli

245

Ritardo Medio end-to-end


Poich abbiamo visto che il ritardo end-to-

end dEE (sec) la somma dei ritardi


introdotti dai nodi sul cammino R1 RN, il
ritardo medio dEE E{ dEE } la somma dei
corrispondenti ritardi medi di nodo, ossia:
N 1

dEE dn (i )
i =1

N 1

[d
i =1

Elab

(i ) + dtr (i ) + dprop (i ) + dcoda (i )] (sec).


Baccarelli,
Cordeschi, Patriarca, Polli

246

Probabilit di Perdita di
Datagramma

Baccarelli,
Cordeschi, Patriarca, Polli

247

Probabilit di Perdita ad un
Singolo Nodo (1/2)
Nel cammino da R1 a RN, ciascun datagramma :

i.
ii.

iii.

elaborato;
memorizzato in un buffer;
ritrasmesso a ciascuno degli (N-1) nodi di
commutazione R1, R2, , RN-1.

Ora, pu accedere che il datagramma che arriva


alli-mo nodo Ri trovi il buffer di Ri gi pieno. In
questo caso, il datagramma scartato al nodo Ri
e non arriver mai al nodo di destinazione RN.
Indichiamo con PL(i), 1 i (N-1), la Probabilit
che il datagramma sia scartato al nodo Ri.
Baccarelli,
Cordeschi, Patriarca, Polli

248

Probabilit di Perdita ad un
Singolo Nodo (2/2)
buffer
(waiting area)

A
B

packet being transmitted

packet arriving to
full buffer is lost

Baccarelli,
Cordeschi, Patriarca, Polli

249

Probabilit di Perdita End-to-End


Con riferimento allintero cammino da: R1 a: RN,
indichiamo con PLE la Probabilit di Perdita end-toend, ossia la probabilit che un datagramma che entra
nel nodo R1 non sia mai ricevuto dal nodo RN.
Ovviamente, un datagramma che entra in R1 sar
ricevuto da RN se non viene scartato n a R1, n a R2,
n a R3, n n a RN-1.
Quindi, la probabilit di perdita end-to-end PLE pu
essere calcolata a partire dalle probabilit di perdita
{PL(i), 1 i (N-1)} ai singoli nodi di commutazione della
rotta R1 RN che segue il datagramma in accordo alla
seguente relazione:

E
L

N 1

= 1 ( 1 PL ( i ))
i=1

Baccarelli,
Cordeschi, Patriarca, Polli

250

Il Throughput end-to-end

Baccarelli,
Cordeschi, Patriarca, Polli

251

Il Throughput end-to-end Definizioni


Consideriamo ancora il trasferimento di un datagramma di L bit

dal nodo-sorgente R1 al nodo-destinazione RN attraverso la rotta:


R1 R2 R3 . . . RN-1 RN .

Per definizione, il Throughput

end-to-end allistante t Th(t)


il numero di bit che il nodo-destinazione RN riceve nellunit di
tempo allistante t, ossia la velocit (bit/sec) con cui il nododestinazione RN riceve bit allistante t.

Supponiamo che, per trasmettere lintero datagramma di L bit, ci

siano voluti secondi. Allora, il Throughput end-to-end medio


definito come:

Th

L/

( b it / se c)

Esso rappresenta la velocit media con cui il nodo di destinazione


RN riceve i bit trasmessi dal nodo sorgente R1.
Baccarelli,
Cordeschi, Patriarca, Polli

252

Il Throughput end-to-end di pi
canali in cascata (1/3)
Supponiamo di avere una rotta da R1 a RN costituita da
(N-1) canali trasmissivi, con N 1.
Indichiamo con Ci (bit/sec), 1 i (N-1), la capacit
delli-mo canale della rotta.

R1

C1

R2

C2

RN-1

CN-1

RN

Ci chiediamo :
qual il valore massimo del Throughput end-to-end
istantaneo a cui RN pu ricevere i bit generati da R1?
Baccarelli,
Cordeschi, Patriarca, Polli

253

Il Throughput end-to-end di pi
canali in cascata (2/3)
Ovviamente, il canale trasmissivo i-mo non potr mai
trasferire bit ad una velocit superiore alla sua
capacit Ci.
Poich questo vero per tutti gli (N-1) canali che
compongono la rotta, la velocit (bit/sec) a cui pu
ricevere bit non potr mai essere superiore alla pi
piccola delle capacit C1, , CN-1.
Quindi, per il Throughput end-to-end istantaneo Th(t)
abbiamo il seguente limite superiore, valido per ogni t:

Th min{C 1 , C 2 ,..., C N 1 }
Baccarelli,
Cordeschi, Patriarca, Polli

per ogni t.
254

Il Throughput end-to-end di pi
canali in cascata (3/3)
La precedente formula indica che

inutile

connettere un canale ad alta capacit con uno


a bassa capacit, perch in ogni caso, il
Throughput massimo ottenibile pari alla pi
piccola delle capacit dei canali trasmissivi.
In una connessione in cascata di (N-1) canali di
capacit {Ci, 1 i (N-1)}, il canale con la pi
bassa capacit chiamato canale Collo-dibottiglia (Bottleneck Link) della connessione.
Baccarelli,
Cordeschi, Patriarca, Polli

255

Capitolo 10
Lo Strato di Trasporto in
Internet

Baccarelli,
Cordeschi, Patriarca, Polli

Sommario del capitolo


Modelli di servizio per lo Strato di Trasporto
Funzioni svolte dallo Strato di Trasporto:
i. Rivelazione di errore
ii. Multiplazione
iii. Controllo di flusso
iv. Trasferimento affidabile di dati
v. Controllo di congestione
Il protocollo UDP di Internet
Il protocollo TCP di Internet
Prestazioni del protocollo TCP
Baccarelli,
Cordeschi, Patriarca, Polli

A cosa serve lo Strato di Trasporto


(1/6)
Consideriamo due applicazione PS e PD (ossia, due
programmi) che risiedono su due terminali di utente
HS e HD distinti, in generale non tra di loro adiacenti.
Supponiamo che lapplicazione PS voglia inviare una
sequenza di messaggi {M1, M2} allapplicazione PD,
impiegando la Rete Internet come rete di
trasferimento.
Informalmente, lo scopo dello Strato di Trasporto
residente nei terminali HS e HD quello di mettere a
disposizione delle due applicazioni PS e PD un canale
logico di tipo punto-punto e full-duplex che permetta
a PS di inviare/ricevere messaggi a/da PD .

Baccarelli,
Cordeschi, Patriarca, Polli

A cosa serve lo Strato di Trasporto


(2/6)
application messaggio
transport
segmento
network
data link
physical

g
lo
d
en
den
al
ic
t
or
sp
an
tr
application messaggio
transport
segmento
network
data link
physical

Baccarelli,
Cordeschi, Patriarca, Polli

A cosa serve lo Strato di Trasporto


(3/6)

Informalmente, per canale logico tra i


processi PS (residente nel terminale HS) e PD
(residente nel terminale HD) intendiamo
linsieme di router, sotto-reti, canalitrasmissivi, protocolli di gestione che
permettono di stabilire un collegamento

punto-punto, bidirezionale e full-duplex


direttamente tra i due processi PS e PD.
Baccarelli,
Cordeschi, Patriarca, Polli

A cosa serve lo Strato di


Trasporto (4/6)

i.

I protocolli di Strato di Trasporto residenti presso


i terminali di utente HS e HD effettuano le seguenti
funzioni di base:

ii.

Il protocollo di trasporto residente nel terminale sorgente


(HS) riceve messaggi dallapplicazione PS, li incapsula in
segmenti e invia la sequenza ordinata di segmenti nel
canale logico. Questa operazione detta multiplazione di
segmenti.
Il protocollo di trasporto residente nel terminale di
destinazione (HD), riceve la sequenza di segmenti in uscita
dal canale logico, frammenta la sequenza in segmenti,
estrae da ciascun segmento il corrispondente messaggio,
passa il messaggio al processo PD residente nel terminale
H D.
Baccarelli,
Cordeschi, Patriarca, Polli

A cosa serve lo Strato di Trasporto


(5/6)
I protocolli di Strato di Trasporto sono attuati solo
presso i terminali dutente (host) ma non sono attuati
n nei router n nei bridge.
Questo porta a 3 conseguenze:

i.

I protocolli di Strato di Trasporto e le funzioni da essi


svolte sono attuati solo ai bordi della rete (nella Edge
Network) ma non al suo interno (Core Network);
ii. Solo gli Strati di Trasporto dei terminali dutente di
sorgente e di destinazione sono al corrente del canale logico
che li interconnette e ne mantengono, quindi, i parametri
necessari per la gestione;
iii. I router, bridge e canali trasmissivi della rete non sono al
corrente di quanti e quali canali logici di Strato di Trasporto
sono attivi.
Baccarelli,
Cordeschi, Patriarca, Polli

A cosa serve lo Strato di Trasporto


(6/6)

Lo Strato di Trasporto della rete Internet mette a


disposizione delle applicazioni che sono attive in
ciascun terminale dutente due distinti protocolli di
trasporto:

i.
ii.

L User Datagram Protocol (UDP);


Il Transport Control Protocol (TCP).

UDP e TCP svolgono funzioni diverse, cio offrono


servizi diversi allo Strato Applicativo.
Ogni applicazione (processo) attiva presso un
terminale dutente deve scegliere quale dei due
protocolli usare (TCP o UDP), prima di iniziare a
trasmettere/ricevere messaggi.
Baccarelli,
Cordeschi, Patriarca, Polli

Inter-Relazione tra Strato di


Rete e Strato di Trasporto (1/3)

Lo scopo principale dello Strato di Rete quello di


dar luogo ad un canale logico tra due utenti terminali
HS e HD che vogliono comunicare.
Lo scopo principale dello Strato di Trasporto
quello di dar luogo a un canale logico:
i. Punto-punto;
ii. Bidirezionale;
iii. Full-duplex.
tra una coppia di applicazione PS e PD residenti
presso due terminali dutente HS e HD distinti.

Baccarelli,
Cordeschi, Patriarca, Polli

Inter-Relazione tra Strato di


Rete e Strato di Trasporto (2/3)
Analogia con il servizio di posta ordinario.
o
o
o
o
o
o

12 ragazzi inviano lettere a 12 ragazzi:


processi = ragazzi
messaggi delle applicazioni = lettere nelle buste
host = case
protocollo di trasporto = Anna e Andrea
Protocollo del livello di rete = servizio postale

Baccarelli,
Cordeschi, Patriarca, Polli

10

Inter-Relazione tra Strato di


Rete e Strato di Trasporto (3/3)
Il servizio offerto allo Strato Applicativo dallo Strato di

Trasporto si basa ovviamente sul servizio che lo Strato di Rete


offre a sua volta allo Strato di Trasporto.
Quindi, alcune delle caratteristiche del servizio offerto dallo
Strato di Trasporto dipendono dalle caratteristiche del servizio
offerto dallo Strato di Rete.
Lo Strato di Rete di Internet offre un servizio di tipo besteffort, cio un servizio di trasferimento di datagrammi in cui
non sono garantiti n il ritardo massimo con il quale ciascun
datagramma trasferito n la velocit minima (dat/sec) con cui i
datagrammi sono trasferiti.
Come conseguenza, nella rete Internet, TCP e UDP offrono
servizi di trasferimento di segmenti nei quali non sono garantiti
n i ritardi massimi n le velocit minime (in segm/sec).

Baccarelli,
Cordeschi, Patriarca, Polli

11

Servizi offribili dallo Strato di


Trasporto (1/4)

I principali servizi che i protocolli di uno Strato di


Trasporto possono offrire sono:
i.
Multiplazione/Demultiplazione Al lato sorgente, lo
Strato di Trasporto riceve i messaggi generati da
uno o pi processi attivi nel terminale sorgente e li
ordina in una sequenza di segmenti (operazione di
multiplazione). Al lato destinazione, lo Strato di
Trasporto riceve la corrispondente sequenza di
segmenti e ne estrae le sotto-sequenze di messaggi
da trasferire ad una o pi applicazioni attive nel
terminale di destinazione (operazione di
demultiplazione).
Baccarelli,
Cordeschi, Patriarca, Polli

12

Servizi offribili dallo Strato di


Trasporto (2/4)
i.

ii.

Rivelazione di errori al lato sorgente, il protocollo di


trasporto immette in ciascun segmento da
trasmettere una sequenza di bit di controllo della
parit che, al lato ricezione, vengono utilizzati per
rivelare la presenza di eventuali errori.
Trasferimento affidabile di segmenti lo Strato di
Rete di Internet fornisce un canale logico tra due
utenti che pu indurre errori e/o perdite nei
datagrammi trasmessi. Lo Strato di Trasporto pu
attuare tecniche di ARQ per fornire un canale logico
tra due processi che affidabile, ossia che non
introduce errori/perdite/duplicazioni/ri-ordino nella
sequenza dei messaggi scambiati dalle applicazioni
comunicanti
Baccarelli,
Cordeschi, Patriarca, Polli

13

Servizi offribili dallo Strato di


Trasporto (3/4)
iv.

v.

Controllo del flusso dei segmenti trasmessi dal


processo PS al processo PD, con lo scopo di evitare

che il buffer presente allo Strato di Trasporto del


terminale di destinazione vada in saturazione (overflow).
Controllo di congestione ha lo scopo di prevenire
che gli scambi di segmenti (ossia, il traffico) tra
tutte le coppie di processi comunicanti in un certo
istante provochino fenomeni di saturazione (overflow) dei buffer presenti nei router e nei bridge
della rete. A questo scopo, il protocollo di
Trasporto al lato sorgente del canale logico regola
(ossia, aumenta o diminuisce) la velocit con cui i
segmenti vengono immessi nella rete.
Baccarelli,
Cordeschi, Patriarca, Polli

14

Servizi offribili dallo Strato di


Trasporto (4/4)
iv.

Gestione della connessione lo Strato di


Trasporto pu anche offrire il servizio di:
i.
Instaurazione;
ii. Gestione;
iii. Abbattimento
della connessione tra due processi
comunicanti attraverso un canale logico.

Baccarelli,
Cordeschi, Patriarca, Polli

15

Modelli di servizio di Trasporto in


Internet
Anticipiamo che, nella Rete Internet,
UDP fornisce un servizio di trasferimento di segmenti privo di
connessione e non affidabile. UDP fornisce solo i due seguenti
servizi:
i. Multiplazione/demultiplazione;
ii. Rivelazione degli errori.

TCP fornisce un servizio di trasferimento dei segmenti


orientato alla connessione e affidabile. TCP fornisce i seguenti
servizi:
i.
ii.
iii.
iv.
v.
vi.

Multiplazione/demultiplazione;
Rivelazione degli errori;
Trasferimento affidabile;
Controllo di flusso;
Controllo di congestione;
Gestione della connessione.

Baccarelli,
Cordeschi, Patriarca, Polli

16

Servizio di
Multiplazione/DemultiplazionePrincipi Generali

Baccarelli,
Cordeschi, Patriarca, Polli

17

Porte e Socket (1/4)


Consideriamo un terminale dutente H con assegnato
indirizzo IP: <IPAdd.H> a 32 bit.
Supponiamo che uno o pi processi P1, P2, ,PN siano
simultaneamente attivi (ossia, trasmettono o ricevono
messaggi) nel terminale H.
Allinterno del terminale H dove risiede, ciascuno dei
suddetti processi attivi viene univocamente
individuato (identificato) assegnandogli un numero
intero compreso tra 0 e 65535.
Questo numero detto numero di porta (port number)
associato al processo in oggetto ed costituito da una
stringa di 16bit.

Baccarelli,
Cordeschi, Patriarca, Polli

18

Porte e Socket (2/4)


Nel momento in cui diviene attivo, a ciascun processo
allinterno del terminale H assegnato un numero di
porta che lo identifica univocamente allinterno del
terminale H per tutto il tempo in cui il processo
attivo.
Nel momento in cui il processo termina di essere
attivo, il corrispondente numero di porta viene deallocato e torna ad essere libero (ossia, nuovamente
assegnabile).
I numeri di porta da 0 a 1023 sono riservati ad
applicazioni particolari (quali HTTP, FTP, DNS, TelNet
etc) e costituiscono i cosiddetti well-known port
numbers.

Baccarelli,
Cordeschi, Patriarca, Polli

19

Porte e Socket (3/4)


La lista completa dei well-known

numbers reperibile al sito:

port

http://www.iana.org

Esempi di well-known

seguenti:

port numbers sono i

Applicazione (processo)

Numero di porta

FTP

21

TelNet

23

SMTP

25

DNS

53

HTTP

80
Baccarelli,
Cordeschi, Patriarca, Polli

20

Porte e Socket (4/4)

Il numero di porta individua univocamente un


processo P solo allinterno del terminale H in cui il
processo P attivo (risiede). Per individuare
globalmente (cio, allinterno della intera rete
Internet) un processo P attivo allinterno di un
terminale H bisogna specificare:

i. Il numero di porta di P;
ii. Lindirizzo IP del terminale H in cui risiede P.

A questo fine, ad ogni processo P attivo associato


un Socket. Per definizione il Socket costituito dal
numero di porta di P e dallindirizzo IP del terminale
H in cui risiede.

Socket = < numero di porta del processo, indirizzo IP del terminale >
Baccarelli,
Cordeschi, Patriarca, Polli

21

Canale Logico Definizione


formale
Consideriamo un processo PS residente nel

terminale HS che comunica con un processo PD


residente nel terminale HD. Indichiamo con :
o
o

SS = < numero di porta di PS, indirizzo IP di HS>, il socket


associato a PS;
SD = < numero di porta di PD, indirizzo IP di HD>, il socket
associato a PD.

Allora per definizione, il canale logico tra PS e

PD definito dalla corrispondente coppia di


socket: SS e SD.
Baccarelli,
Cordeschi, Patriarca, Polli

22

Formato generale di un segmento


(1/2)
In generale, un Segmento di Strato di Trasporto
costituito da una Intestazione (Header) e da un campo dati
(Payload).
Il campo dati contiene il messaggio generato
dallapplicazione. Esso pu essere di dimensioni variabili. La
dimensione massima (in byte) del campo dati viene fissata,
di volta in volta, al momento in cui viene stabilito il canale
logico tra i due processi comunicanti. La suddetta
dimensione massima detta Maximum Segment Size (MSS)
ed espressa in byte.
Lintestazione (Header) contiene vari sotto-campi tra cui:
i. Numero di porta dellapplicazione sorgente che ha generato il

ii.

messaggio (16 bit);


Numero di porta dellapplicazione di destinazione alla quale il
messaggio destinato (16 bit).
Baccarelli,
Cordeschi, Patriarca, Polli

23

Formato generale di un segmento


(2/2)
32 bits
Source port #

Dest port #

Other header
fields
Application data
(message)

Baccarelli,
Cordeschi, Patriarca, Polli

24

Il servizio di Multiplazione

Al lato sorgente, il Protocollo di Trasporto


effettua le seguenti operazioni (servizio di
Multiplazione):
i.

ii.

iii.

Incapsula i messaggi ricevuti dai vari


Sockets attivi al terminale-sorgente in

segmenti;
Compila lheader di ciascun segmento,
specificando i corrispondenti numeri di porta
sorgente e destinazione;
Passa la sequenza ordinata dei segmenti allo
Strato di Rete.

Baccarelli,
Cordeschi, Patriarca, Polli

25

Il servizio di Demultiplazione

Al lato destinazione, il Protocollo di


Trasporto effettua le seguenti operazioni
(servizio di Demultiplazione):
i.
ii.
iii.
iv.

Frammenta la sequenza di dati ricevuta dallo


strato di rete in segmenti;
Legge il numero di porta di destinazione presente
nellheader di ciascun segmento;
Estrae il messaggio dal segmento;
Dirige il messaggio al socket specificato dal
numero di porta destinazione.
Baccarelli,
Cordeschi, Patriarca, Polli

26

Multiplazione/Demultiplazione:
Multiplazione al
riepilogo
Demultiplazione al
Terminale-sorgente
Terminale-destinazione

Raccogliere dati da pi socket,


incapsularli con un header
(usato in seguito per la
demultiplazione)

Consegnare i segmenti
ricevuti ai socket corretti
= socket
application
transport
network
link

= process
P3

P1
P1

application

P2

transport
network

P4

application
transport
network
link

link

physical

host 1

physical

host 2
Baccarelli,
Cordeschi, Patriarca, Polli

physical

host 3

27

Il servizio di Trasferimento
AffidabilePrincipi generali

Baccarelli,
Cordeschi, Patriarca, Polli

28

Il servizio di Trasferimento
Affidabile Generalit (1/2)
Consideriamo due socket SS e SD che si
scambiano segmenti attraverso un canale
logico gestito dallo Strato di Trasporto.
Per definizione, il Servizio di Trasferimento
offerto dallo Strato di Trasporto detto
affidabile se:

i.
ii.
iii.

Tutti i messaggi sono consegnati a SD senza


errori (no errori n perdita di messaggi);
Ciascun messaggio consegnato a SD una e una
sola volta (no duplicazione);
I messaggi sono consegnati nello stesso ordine in
cui sono generati da SS.

Baccarelli,
Cordeschi, Patriarca, Polli

29

Il servizio di Trasferimento
Affidabile Generalit (2/2)
Lo strato di Rete di Internet implementa un

servizio di trasferimento di segmenti che non


affidabile, ossia soggetto a perdite ed
errori.
Lo Strato di Trasporto deve, allora, attuare
meccanismi di tipo ARQ che permettano di
eliminare gli errori e le perdite introdotte allo
Strato di Rete.
Lobiettivo quello di offrire un servizio di
trasferimento affidabile dei messaggi allo
Strato Applicativo.
Baccarelli,
Cordeschi, Patriarca, Polli

30

Schema generale di riferimento


(1/2)
Strato di
trasporto

Segm. L

sorgente

Canale diretto
con
errori e perdite

ACK. no M

Canale di
ritorno con

Segm. F

Strato di
trasporto
destinazione

ACK. no N

perdite

Baccarelli,
Cordeschi, Patriarca, Polli

31

Schema generale di riferimento


(2/2)

i.
ii.

i.

ii.
iii.

Introduciamo le seguenti assunzioni:


Il canale diretto pu introdurre errori e/o perdite nei segmenti
in transito;
Il canale di ritorno pu introdurre perdite nei messaggi di
riscontro in transito.

Introduciamo i seguenti parametri:


Il Round Trip Time (RTT) lintervallo di tempo che intercorre

tra listante in cui un segmento inizia ad essere trasmesso dalla


sorgente e listante in cui la sorgente ne riceve il relativo
messaggio di riscontro.
C (bit/sec) indica la capacit trasmissiva del canale diretto;
Lintervallo di Time-Out (Retransmission Time Out: RTO) indica il
massimo intervallo di tempo che pu intercorrere tra listante di
trasmissione di un segmento e listante di ricezione del
corrispondente riscontro prima che la sorgente consideri perso il
segmento stesso.
Baccarelli,
Cordeschi, Patriarca, Polli

32

Meccanismi impiegati
In generale, i meccanismi impiegati per realizzare
un trasferimento di segmenti affidabile attraverso
l (inaffidabile) canale diretto della figura
precedente sono quelli gi esaminati allo Strato di
Collegamento, e cio:

i.
ii.
iii.
iv.
v.
vi.

Rivelazione degli errori in ricezione;


Numerazione dei segmenti trasmessi;
Ritrasmissione dei segmenti persi o in cui sono stati
rivelati errori;
Trasmissione di messaggi di riscontro con numero di
sequenza;
Impiego di finestre in trasmissione e in ricezione;
Impiego di un temporizzatore (timer) in trasmissione.

Baccarelli,
Cordeschi, Patriarca, Polli

33

Numerazione dei segmenti


trasmessi (1/2)
Ai fini della numerazione, lo strato di trasporto
considera la sequenza (ordinata) dei segmenti
trasmessi come una sequenza ordinata di byte.
Ovviamente ogni segmento composto da pi byte.
Lo Strato di Trasporto numera progressivamente la
sequenza dei byte trasmessi. Ciascun numero un
intero compreso tra 0 e (232-1). Quindi, la
numerazione effettuata dallo strato di trasporto di
tipo ciclico, ovvero: mod. 2b con b=32.
Per definizione, il numero di sequenza associato ad un
segmento il numero dordine del primo byte che
compone il segmento stesso.

Baccarelli,
Cordeschi, Patriarca, Polli

34

Numerazione dei segmenti


trasmessi (2/2)

Ci significa che se:


i.
Il numero di sequenza del segmento
attuale
L {0,, (232-1)};
ii. Il segmento attuale composto da k 1
byte;

Allora il numero di sequenza del prossimo


segmento :

(L+k) mod. 232

Baccarelli,
Cordeschi, Patriarca, Polli

35

Messaggi di riscontro positivi con


numerazione (1/2)
Di tanto in tanto, il Protocollo di Trasporto al

lato destinazione invia al Protocollo di


Trasporto al lato sorgente messaggi di
riscontro positivi con numerazione del tipo
ACK(m).
I messaggi di riscontro si propagano dalla
destinazione alla sorgente mediante il canale
di ritorno e quindi possono essere soggetti a
perdite.
Baccarelli,
Cordeschi, Patriarca, Polli

36

Messaggi di riscontro positivi con


numerazione (2/2)

Quando la sorgente riceve dalla destinazione


il riscontro ACK (m) allora per definizione, la
sorgente acquisisce le seguenti due
informazioni:
i.

ii.

Il prossimo byte che la destinazione si attende di


ricevere quello con numero dordine m. Il byte
m-simo o non stato ricevuto o stato ricevuto
con errore;
Tutti i byte con numeri dordine (m-1) sono gi
stati ricevuti correttamente dalla destinazione.
Quindi, il riscontro che arriva alla sorgente di
tipo cumulativo.
Baccarelli,
Cordeschi, Patriarca, Polli

37

NACK impliciti
I protocolli di Strato di Trasporto

non

prevedono limpiego esplicito di messaggi


NACK (riscontri negativi).
Essi impiegano messaggi NACK di tipo
implicito. Ci significa che:
Quando la sorgente riceve tre o pi messaggi
ACK con lo stesso numero di sequenza m (cio,
tre o pi ACK(m)), allora comprende che
lintero segmento con numero di sequenza m
deve essere ri-trasmesso.
Baccarelli,
Cordeschi, Patriarca, Polli

38

Finestra di trasmissione (1/4)


Per gestire la ritrasmissione di segmenti

andati persi o ricevuti con errori, lo Strato di


Trasporto del terminale sorgente mantiene e
aggiorna la finestra di trasmissione.
La finestra di trasmissione ha dimensione
WS 1 byte. Essa memorizza tutti i numeri di
sequenza dei byte che la sorgente pu
trasmettere senza bisogno di ricevere alcun
messaggio ACK da parte della destinazione.
Baccarelli,
Cordeschi, Patriarca, Polli

39

Finestra di trasmissione (2/4)


La sorgente implementa e aggiorna la finestra

di trasmissione avvalendosi di 2 variabili (2


puntatori):
o

Sendbase: rappresenta il numero dordine del byte


pi vecchio tra quelli trasmessi ma non ancora

riscontrati positivamente dalla destinazione. In


altri termini, sendbase individua lestremo inferiore
della finestra di trasmissione corrente.
nextseqnum: rappresenta il numero dordine del
prossimo byte che cade nella finestra corrente e
che deve ancora essere trasmesso per la prima

volta.

Baccarelli,
Cordeschi, Patriarca, Polli

40

Finestra di trasmissione (3/4)

WS (byte)

Baccarelli,
Cordeschi, Patriarca, Polli

41

Finestra di trasmissione
Aggiornamento (4/4)

Quando la sorgente riceve un riscontro ACK(y) dalla


destinazione, allora aggiorna lestremo inferiore
sendbase della finestra di trasmissione come segue:
a. Se y sendbase, allora sendbase lasciato
inalterato;
b. Se y > sendbase, allora sendbase posto pari a y.
Quando la sorgente trasmette per la prima volta k
1 byte con numeri dordine consecutivi, allora
incrementa nextseqnum di k unit, ossia pone:
nextseqnum = (nextseqnum + k) mod 232
Baccarelli,
Cordeschi, Patriarca, Polli

42

Finestra di ricezione (1/5)


Per gestire la richiesta di ritrasmissione di

segmenti ricevuti con errori o mai ricevuti


(persi), lo Strato di Trasporto del terminale
di destinazione mantiene e aggiorna la

finestra di ricezione.

La finestra di ricezione ha dimensione WD 1

byte. Per definizione, la finestra di ricezione


memorizza i numeri dordine dei byte che la
destinazione disposta a ricevere
consecutivamente, ossia senza bisogno di
inviare alcun messaggio ACK alla sorgente.
Baccarelli,
Cordeschi, Patriarca, Polli

43

Finestra di ricezione (2/5)

La destinazione implementa e aggiorna (fa


scorrere in avanti) la finestra di ricezione
avvalendosi della sola variabile:

Rcvbase il pi piccolo numero dordine del byte


che la destinazione attende di ricevere ma che
i.
Non ha mai ancora ricevuto (perdita di
ii.

segmento);
Ha ricevuto con errori (segmento corrotto).

In altri termini, rcvbase lestremo


inferiore della finestra di ricezione.
Baccarelli,
Cordeschi, Patriarca, Polli

44

Finestra di ricezione (3/5)

WD (byte)

Baccarelli,
Cordeschi, Patriarca, Polli

45

Finestra di ricezione (4/5)

Supponiamo che la destinazione riceva un segmento


con numero di sequenza ns e lungo L 1 byte. Allora,
i.
ii.

iii.

Se la destinazione rivela errori nel segmento ricevuto,


scarta il segmento;
Se la destinazione non rivela errori e inoltre se il segmento
cade nella finestra di ricezione, ossia se verificata la
relazione seguente:
ns+ L rcvbase + WD,
allora il segmento accettato;
Se la destinazione non rivela errori nel segmento ma il
segmento non cade nella finestra di ricezione, ossia se
ns+ L > rcvbase + WD,
allora la destinazione scarta il segmento.
Baccarelli,
Cordeschi, Patriarca, Polli

46

Finestra di ricezione
Aggiornamento (5/5)
La destinazione

aggiorna lestremo inferiore

rcvbase della Finestra di ricezione alla


generazione di ogni messaggio ACK.

Supponiamo che la destinazione generi il

messaggio ACK(z), allora lestremo inferiore


della Finestra di ricezione posto uguale a z,
ossia:
rcvbase = z.
Baccarelli,
Cordeschi, Patriarca, Polli

47

Temporizzatore e Retransmission
Time Out (RTO) (1/2)
Poich uno o pi segmenti inviati dalla sorgente nel
canale diretto e/o uno o pi riscontri inviati dalla
destinazione nel canale di ritorno possono andare
persi, il Protocollo di Trasporto al lato sorgente
implementa e gestisce un temporizzatore (Timer).
La sorgente associa il temporizzatore all (intero)
segmento gi trasmesso e non ancora riscontrato che,
tra tutti i segmenti trasmessi e non ancora
riscontrati, quello che stato trasmesso per primo
(il pi vecchio).
Il timer avviato (fatto partire) quando il suddetto
segmento trasmesso (per la prima volta o meno). Il
timer bloccato (fermato) quando la sorgente riceve
un riscontro positivo per il segmento in oggetto.

Baccarelli,
Cordeschi, Patriarca, Polli

48

Temporizzatore e Retransmission
Time Out (RTO) (2/2)

Quando (Timer RTO) (ossia il tempo di


attesa scaduto), allora:
i. La sorgente ri-inizializza il timer;
ii. La sorgente ritrasmette il segmento in
oggetto.

Quando (Timer < RTO) e la sorgente riceve


un riscontro positivo circa il segmento in
oggetto, allora:
i.

La sorgente blocca il timer.


Baccarelli,
Cordeschi, Patriarca, Polli

49

Il servizio di Controllo di
Congestione Principi generali

Baccarelli,
Cordeschi, Patriarca, Polli

50

Quando si verifica una


congestione di Rete

I router e i canali trasmissivi della Rete Internet


sono, in ogni istante, condivisi (ossia, utilizzati
simultaneamente) da pi canali logici impiegati da pi
coppie di processi per scambiarsi tra di loro messaggi.
Informalmente, la Rete Internet diventa
congestionata quando il numero totale di messaggi che
i processi-sorgenti immettono nella rete Internet
nellunit di tempo supera la velocit con cui i router e
i canali trasmissivi della rete sono in grado di
inoltrare i suddetti messaggi verso i corrispondenti
processi di destinazione.
Baccarelli,
Cordeschi, Patriarca, Polli

51

Effetti negativi della congestione


di Rete (1/4)

Il verificarsi di una congestione da luogo a


due principali effetti negativi:

Il ritardo medio che ciascun datagramma


sperimenta a ciascun router che attraversa
cresce al crescere del livello di congestione e, al
limite, diviene infinito (rete completamente
bloccata).
ii. Un datagramma che arriva ad un router pu
trovare il corrispondente buffer gi
completamente occupato (buffer overflow al
router) e, quindi, il datagramma viene scartato
(perdita di datagrammi).
i.

Baccarelli,
Cordeschi, Patriarca, Polli

52

Effetti negativi della congestione


di Rete (2/4)
Supponiamo che, per effetto della congestione, un
datagramma sia stato scartato ad un certo router R.
Se il Protocollo di Trasporto adottato non fornisce un
servizio di trasferimento dati affidabile (caso UDP), il
messaggio contenuto nel datagramma scartato non
raggiunger mai il processo-destinazione. Ci provoca
una perdita di informazione alla destinazione.
Se il protocollo di Trasporto adottato fornisce un
servizio di trasferimento dati affidabile (caso di
TCP), il messaggio contenuto nel datagramma scartato
verr ri-trasmesso una o pi volte da parte del
processo-sorgente. Ovviamente, ogni ri-trasmissione
richiede limmissione nella Rete di un nuovo segmento
(contenente sempre lo stesso messaggio) che andr ad
incrementare il livello di congestione della rete.

Baccarelli,
Cordeschi, Patriarca, Polli

53

Effetti negativi della congestione di


Rete Incremento dei ritardi (3/4)
Host A

due sorgenti, due

destinazioni
buffer di
dimensione
infinita
nessuna
ritrasmissione

out

in : original data

Host B

unlimited shared
output link buffers

Grandi ritardi
quando
congestionata
massimo
throughput
54
raggiungibile

Baccarelli,
Cordeschi, Patriarca, Polli

Effetti negativi della congestione


di Rete Ritrasmissioni (4/4)
un router, buffer di dimensione finita
ogni sorgente ritrasmette i segmenti persi
Host A

in : original data

out

'in : original data, plus


retransmitted data

Host B

finite shared output


link buffers

Baccarelli,
Cordeschi, Patriarca, Polli

55

Strategie per controllare le


congestioni (1/3)
Per eliminare (controllare) una congestione in

atto, i processi-sorgente debbono ridurre le


velocit con le quali immettono nuovi messaggi
nella Rete.

Baccarelli,
Cordeschi, Patriarca, Polli

56

Strategie per controllare le


congestioni (2/3)

Il controllo della velocit con la quale ciascun


singolo processo-sorgente immette nuovi messaggi
in Rete pu essere effettuato in accordo a due
differenti strategie.
o Nel controllo di congestione di tipo end-to-end,
lo strato di rete non fornisce alcun servizio allo
Strato di Trasporto per controllare le
congestione. La stessa presenza di congestione
deve essere rivelata dallo Strato di Trasporto
presso gli utenti terminali autonomamente,
basandosi, cio, solamente sul valore assunto da
indici prestazionali (quali, RTT e/o il tasso di
perdita di segmenti) misurabili direttamente
presso i terminali dutente. Questo il tipo di
controllo di congestione adottato dal TCP.
Baccarelli,
Cordeschi, Patriarca, Polli

57

Strategie per controllare le


congestioni (3/3)
o

Nel controllo di congestione assistito dalla rete,


lo Strato di Rete (o, meglio, i router di rete)
generano e inviano allo Strato di Trasporto dei
terminali-sorgente espliciti messaggi contenenti
informazioni circa:
i. Il livello di occupazione dei buffer dei router;
ii. Il ritardo medio di coda ai buffer dei router.
Le reti ATM attuano strategie di controllo di
congestione assistite dalla rete.

Baccarelli,
Cordeschi, Patriarca, Polli

58

Il Protocollo UDP

Baccarelli,
Cordeschi, Patriarca, Polli

59

UDP - Generalit
LUser Datagram Protocol (UDP) un protocollo di trasporto che
fornisce un servizio di trasferimento messaggi
i. Privo di connessione;
ii. Non affidabile.
Inoltre, UDP d luogo ad una modalit di trasferimento tra
processi di tipo
i. Punto-punto;
ii. Bidirezionale;
iii. Full-duplex.
UDP attua solo due funzioni sui segmenti che trasferisce:
i. Rivelazione degli errori una volta rivelato un errore in un
segmento ricevuto, UDP scarta il segmento oppure lo passa al
processo-destinazione notificando contestualmente la
presenza di errori.
ii. Multiplazione/demultiplazione dei segmenti trasferiti tra i
processi

Baccarelli,
Cordeschi, Patriarca, Polli

60

Perch usare UDP (1/2)

Nonostante UDP fornisca un servizio di trasferimento


non affidabile la sua utilizzazione presenta i seguenti
vantaggi:
o

o
o

Essendo UDP privo di connessione, il suo impiego non


introduce i ritardi temporali necessari per instaurare una
connessione tra i processi comunicanti;
Lheader di un segmento UDP molto pi corto (8byte)
dellheader di un segmento TCP (almeno 20byte);
Essendo UDP privo di connessione, non richiede che gli Strati
di Trasporto dei processi comunicanti mantengano e
gestiscano i parametri della connessione;
Poich UDP non attua controllo di congestione, la velocit con
cui UDP immette i segmenti nella rete dipende solo dalla
velocit con cui il corrispondente processo-sorgente genera i
suoi messaggi.
Baccarelli,
Cordeschi, Patriarca, Polli

61

Perch usare UDP (2/2)

UDP impiegato dalle applicazioni (ossia, dai processi


di Strato Applicativo) che richiedono bassi ritardi di
trasferimento end-to-end ma tollerano perdite/errori
nei segmenti ricevuti dai processi di destinazione.
Applicazione

Protocollo di strato
applicativo

Protocollo di trasporto
impiegato

E-mail

SMTP

TCP

Accesso al terminale

TelNet

TCP

Web

HTTP

TCP

Trasferimento file

FTP

TCP

Applicazione multimediale

UDP

Telefonia via Internet

VoIP

UDP

Protocolli di instradamento

RIP

UDP

Baccarelli,
Cordeschi, Patriarca, Polli

62

Il formato del segmento UDP


(1/2)

Il segmento UDP costituito da


i.
ii.

Un header (8byte)
Un campo payload (di lunghezza variabile ma non
superiore a MSS byte)
32 bit
n porta sorgente
lunghezza

n porta dest.
checksum

Dati
dellapplicazione
(messaggio)
Baccarelli,
Cordeschi, Patriarca, Polli

63

Il formato del segmento UDP


(2/2)

Lheader di un segmento UDP composta dai seguenti


campi:
o

o
o

Num. porta sorgente (16 bit) indica il numero della porta

alla quale connesso il processo sorgente del terminale


sorgente;
Num. porta destinazione (16 bit) indica il numero della porta
alla quale connesso il processo destinazione del terminale
destinazione;
Lunghezza (16 bit) indica la lunghezza in byte dellintero
segmento;
Checksum (16 bit) il campo dei bit di controllo di parit
impiegato in ricezione per verificare la eventuale presenza di
errori sullintero segmento ricevuto.

Baccarelli,
Cordeschi, Patriarca, Polli

64

Multiplazione/Demultiplazione in
UDP (1/3)

UDP fornisce un servizio di trasferimento di messaggi privo di

connessione.

Ci implica che le operazioni di multiplazione/demultiplazione


effettuate da UDP hanno le seguenti caratteristiche:
i. In UDP, un canale logico tra un processo sorgente e un
processo destinazione identificato solo dalla seguente
coppia di parametri:
<indirizzo IP del terminale di dest., num. Porta di dest.>
ii. Quando il terminale di destinazione riceve un segmento UDP,
allora:
o Legge il numero della porta di destinazione;
o Estrae il messaggio contenuto nel segmento;
o Invia il messaggio alla socket col numero di porta di
destinazione specificato.
Baccarelli,
Cordeschi, Patriarca, Polli

65

Multiplazione/Demultiplazione in
UDP (2/3)
UDP :
Segmenti che hanno differenti indirizzi IP

La conseguenza che in
o

sorgente e/o numeri di porta sorgente ma


hanno lo stesso indirizzo IP di destinazione
e lo stesso numero di porta destinazione
vengono consegnati allo stesso socket
allinterno del terminale di destinazione.

Baccarelli,
Cordeschi, Patriarca, Polli

66

Multiplazione/Demultiplazione in
UDP (3/3)
Esempio illustrativo
P2

SP: 6428
DP: 9157

client
IP: A

P1
P1

P3

SP: 9157
DP: 6428

SP: 6428
DP: 5775

server
IP: C

SP: 5775
DP: 6428

Client
IP:B

SP provides return address


Baccarelli,
Cordeschi, Patriarca, Polli

67

Il Protocollo TCP

Baccarelli,
Cordeschi, Patriarca, Polli

68

TCP Generalit (1/4)


Il Transport Control Protocol (TCP) fornisce allo Strato
Applicativo un servizio di trasferimento di messaggi che :

Orientato alla connessione


Affidabile.

o
o

Inoltre, la modalit del trasferimento dati attuata dal TCP tra


un processo sorgente e un processo destinazione di tipo:

i.
ii.
iii.

Punto-punto;
Bidirezionale;
Full-duplex.

i.
ii.
iii.
iv.

Rivelazione di errori nei segmenti ricevuti;


Multiplazione/demultiplazione dei segmenti;
Trasferimento affidabile dei segmenti;
Controllo della velocit di emissione dei segmenti da parte del
terminale sorgente (controllo di flusso);
Controllo di congestione;
Gestione della connessione.

Specificatamente, TCP offre i seguenti servizi e implementa le


seguenti funzioni:

v.
vi.

Baccarelli,
Cordeschi, Patriarca, Polli

69

TCP Generalit (2/4)


Essendo TCP orientato alla connessione, due processi
che vogliano scambiare messaggi mediante TCP debbono
preliminarmente instaurare una connessione (fase di
handshaking).

La fase di handshaking si compone di 3 passi:


i.
Il processo-cliente invia uno speciale segmento TCP al
processo-servente (segmento di notifica);
ii.
Il processo-servente risponde inviando al processocliente un secondo speciale segmento TCP (segmento
di risposta);
iii.
Il processo-cliente invia un terzo segmento TCP al
processo-servente comunicandogli che pronto a
inviare/ricevere messaggi (segmento di O.K.).

Baccarelli,
Cordeschi, Patriarca, Polli

70

TCP Generalit (3/4)

Uno degli scopi della fase di handshaking


quello di permettere:

i.

al terminale-sorgente, di predisporre (allocare) un


buffer di trasmissione in cui memorizzare
temporaneamente i messaggi che sono stati
generati dal processo sorgente ma non ancora
trasmessi dal TCP operante al terminale sorgente;
ii. al terminale-destinazione, di predisporre
(allocare) un buffer di ricezione in cui
memorizzare temporaneamente i messaggi
estratti dai segmenti ricevuti che non sono ancora
stati inoltrati (letti dal) processo di destinazione.
Baccarelli,
Cordeschi, Patriarca, Polli

71

TCP Generalit (4/4)

Baccarelli,
Cordeschi, Patriarca, Polli

72

Il segmento TCP (1/2)

Ciascun segmento TCP costituito da un:


i.
Header, la cui dimensione minima di 20
byte;
ii. Un campo Payload contiene il messaggio
generato dallapplicazione sorgente. Il
campo payload pu essere di dimensioni
variabili, ma la dimensione massima di
MSS byte.

Baccarelli,
Cordeschi, Patriarca, Polli

73

Il segmento TCP (2/2)


32 bits

source port #
dest port #
sequence number
acknowledgement number

head not
UA P R S F
len used

checksum

Receive window
Urg data pointer

Options (variable length)


application
data
(variable length)

Baccarelli,
Cordeschi, Patriarca, Polli

74

LHeader del segmento TCP (1/3)


LHeader di ciascun segmento TCP costituito dai seguenti

campi:
o
o
o

o
o

Source port # (16 bit) indica il numero della porta del

processo sorgente;
Dest. port # (16 bit) indica il numero della porta del
processo destinazione;
Seq. Number (32 bit) il numero di sequenza del segmento
in oggetto, ossia il numero di sequenza del primo byte che
costituisce il segmento in oggetto;
ACK Number (32 bit) il numero dordine del prossimo byte
che il processo che genera il segmento si aspetta di ricevere
dal processo al quale sta inviando il segmento;
Header Len. (4 bit) la lunghezza dellheader (comprese le
eventuali opzioni), espressa in multipli di 32 bit;
Urg (1 bit) indica la presenza nel payload di dati urgenti (se
urg=1) la cui posizione finale allinterno del payload
specificata dal campo urgent pointer.
Baccarelli,
Cordeschi, Patriarca, Polli

75

LHeader del segmento TCP (2/3)


o

ACK (1 bit) indica se il contenuto del campo ACK number

valido (ACK=1), oppure se deve essere ignorato dal


terminale che riceve il segmento in oggetto (ACK=0);
o Push (1 bit) richiede (P=1) al terminale che riceve il
segmento in oggetto di consegnarne il payload
allopportuno socket, indipendentemente dal livello di
occupazione del buffer di ricezione;
o Reset (1 bit) segnala (R=1) labbattimento di una
connessione in atto oppure il rifiuto di una richiesta di
apertura di una connessione;
o Syn (1 bit) usato (S=1) per instaurare una connessione
TCP; a seconda dello stato del bit ACK, distingue tra:
Richiesta di connessione (S=1, ACK=0);
Accettazione della richiesta di connessione (S=1,
ACK=1).
Baccarelli,
Cordeschi, Patriarca, Polli

76

LHeader del segmento TCP (3/3)


o
o

Fin (1 bit) usato (F=1) per richiedere la chiusura

(abbattimento) di una connessione in atto;


Receive Window (16 bit) indica il numero di byte che il
processo che genera il segmento in oggetto disposto a
ricevere dal processo al quale il segmento diretto;
Checksum (16 bit) bit di controllo della parit per la
rivelazione alla destinazione di eventuali errori presenti
in tutto il segmento ricevuto;
Urg. data pointer (16 bit) indica la posizione allinterno
del payload dellultimo byte che costituisce i dati urgenti
trasportati (eventualmente) dal payload;
Options campo di lunghezza variabile, ma in ogni caso
multipla di 32 bit. Viene usato per negoziare il valore di
MSS tra i processi comunicanti.
Baccarelli,
Cordeschi, Patriarca, Polli

77

Il servizio di Mux/Demux in TCP


(1/3)

TCP offre un servizio orientato alla connessione. Ci


significa che, in TCP, ogni canale logico tra processo
sorgente (residente nel terminale sorgente) e
processo destinazione (residente nel terminale
destinazione) identificato da 4 parametri:

i.
ii.
iii.
iv.

Indirizzo IP del terminale sorgente;


Il numero di porta del terminale sorgente;
Indirizzo IP del terminale destinazione;
Il numero di porta del terminale destinazione.

Per ogni segmento che riceve, il TCP al lato


destinazione usa tutti e 4 parametri per inoltrare il
messaggio contenuto nel segmento verso la socket di
destinazione appropriata.
Baccarelli,
Cordeschi, Patriarca, Polli

78

Il servizio di Mux/Demux in TCP


(2/3)
In particolare, ci significa che,

se il

terminale destinazione riceve due segmenti


con gli stessi valori dei campi:
<indirizzo IP dest., Numero porta dest.>
ma con valori diversi dei campi:
<indirizzo IP sorg., Numero porta sorg. >
allora il terminale destinazione inoltrer i due
segmenti a due socket distinti residenti nel
terminale destinazione.
Baccarelli,
Cordeschi, Patriarca, Polli

79

Il servizio di Mux/Demux in TCPEsempio (3/3)


P1

P4

P5

P2

P6

P1P3

SP: 5775
DP: 80
S-IP: B
D-IP:C

client
IP: A

SP: 9157
DP: 80
S-IP: A
D-IP:C

server
IP: C

Baccarelli,
Cordeschi, Patriarca, Polli

SP: 9157
DP: 80
S-IP: B
D-IP:C

Client
IP:B

80

Stima del RTT e calcolo del RTO


in TCP

Baccarelli,
Cordeschi, Patriarca, Polli

81

Stima del RTT di una connessione


(1/4)

Consideriamo la trasmissione di segmenti da un


processo sorgente ad un processo destinazione
mediante un assegnato canale logico (connessione
TCP).
Definiamo come Round Trip Time (RTT) (sec)
sperimentato da uno specifico segmento lintervallo di
tempo che intercorre tra listante t0 in cui il
segmento inizia ad essere trasmesso dallo Strato di
Trasporto del terminale sorgente e listante t1 in cui
lo strato di trasporto del terminale sorgente riceve il
corrispondente messaggio ACK inviatogli dal terminale
di destinazione, ossia:
RTT  t1-t0 (sec).
Baccarelli,
Cordeschi, Patriarca, Polli

82

Stima del RTT di una connessione


(2/4)
Ovviamente, ciascun segmento trasmesso

sperimenter un suo proprio valore di RTT


che, in genere, varia da segmento a segmento.
Indichiamo, allora, con
RTTsample (sec)
il valore del RTT del segmento
correntemente trasmesso (per la prima volta)
dallo strato di trasporto del terminale
sorgente.
Baccarelli,
Cordeschi, Patriarca, Polli

83

Valore medio del RTT (3/4)


Indichiamo con RTT (sec) il valore medio degli

RTTs dei segmenti trasmessi attraverso la


connessione Proc. Sorgente Proc.
Destinazione.

Ogni volta che un nuovo RTTsample misurato, il

TCP al lato sorgente aggiorna il valore RTT del


RTT medio in accordo alla seguente formula:
RTT = (1-) RTT + RTTsample (sec),
dove tipicamente = 0.125.
Baccarelli,
Cordeschi, Patriarca, Polli

84

Valore medio del RTT Esempio


illustrativo (4/4)
RTT: gaia.cs.umass.edu to fantasia.eurecom.fr

350

RTT (milliseconds)

300

250

200

150

100
1

15

22

29

36

43

50

57

64

71

78

85

92

99

106

time (seconnds)

Lesempio mostra che:

i.
ii.

SampleRTT

Estimated RTT

RTTsample pu assumere valori medi molto diversi in istanti di tempo


vicini tra di loro;
Il risultante valore medio RTT (sec) ha un andamento nel tempo molto
meno fluttuante (pi continuo)
Baccarelli,
Cordeschi, Patriarca, Polli

85

Deviazione media di RTT


Pu accadere che, di volta in volta, il valore
correntemente misurato di RTTsample possa essere
molto vicino o molto lontano al corrispondete valore
medio RTT.
Lo scostamento medio di RTTsample da RTT
misurato dalla variabile DevRTT (sec).
Specificatamente, in corrispodenza ad ogni nuovo
valore di RTTsample, il TCP al alto trasmissione
aggiorna DevRTT in accordo alla relazione seguente:

DevRTT = (1- ) DevRTT + |RTTsample - RTT|,


dove tipicamente = 0.25.
Baccarelli,
Cordeschi, Patriarca, Polli

86

Calcolo del Re-Transmission Time


Out (RTO) (1/2)
Ricordiamo che il Re-transmission Time Out
(RTO) (sec) lintervallo temporale massimo
che pu trascorrere tra listante di
trasmissione di un segmento e listante di
ricezione del corrispondete ACK prima che il
TCP al lato sorgente ri-trasmetta di nuovo il
segmento in oggetto.
Quindi,

i.

valori troppo piccoli di RTO possono provocare ritrasmissioni non necessarie di uno o pi segmenti;
ii. valori troppo grandi di RTO possono introdurre
ritardi troppo elevati nel trasferimento di segmenti
che sono stati soggetti a perdita.
Baccarelli,
Cordeschi, Patriarca, Polli

87

Calcolo del Re-Transmission Time


Out (RTO) (2/2)

Allora, alla misurazione di ciascun nuovo


RTTsample, il TCP al lato trasmissione
effettua le seguenti operazioni:
i.
ii.

Aggiorna il valore di RTT;


Aggiorna il valore di DevRTT;

e, infine, calcola il valore corrente di RTO


(sec) sulla base della seguente formula:
RTO= RTT + 4 DevRTT (sec).
Baccarelli,
Cordeschi, Patriarca, Polli

88

Il servizio di trasferimento dati


affidabile di TCP

Baccarelli,
Cordeschi, Patriarca, Polli

89

Il servizio di trasferimento dati


affidabile di TCP Generalit (1/3)
Consideriamo il trasferimento di segmenti da

un processo sorgente PS ad un processo


destinazione PD attraverso una connessione
(canale logico) gestita dal TCP.

Ricordiamo che TCP deve implementare un

servizio di trasferimento di segmenti da PS a


PD affidabile, avvalendosi di un servizio di
trasferimento di datagrammi non affidabile
dal terminale sorgente HS al terminale
destinazione HD realizzato dallo strato di rete
di Internet.
Baccarelli,
Cordeschi, Patriarca, Polli

90

Il servizio di trasferimento dati


affidabile di TCP Generalit (2/3)
Per dar luogo al servizio di trasferimento di

segmenti affidabile, TCP fa ricorso


allimpiego:
o
o
o
o
o
o
o

Della strategia ARQ;


Della numerazione (ciclica) dei segmenti trasmessi;
Della numerazione (ciclica) dei messaggi di
riscontro (ACK);
Delle finestre di trasmissione e di ricezione;
Del temporizzatore e del RTO;
Del NACK implicito (3ACK con stesso numero di
sequenza)
gi descritti in precedenza.
Baccarelli,
Cordeschi, Patriarca, Polli

91

Il servizio di trasferimento dati


affidabile di TCP Generalit (3/3)
Quindi, non ci rimane altro che passare alla

descrizione dettagliata degli algoritmi


(operazioni) che il TCP implementa:
o Al lato trasmissione (TCP sender
algorithm);
o Al lato ricezione (TCP receiver algorithm).

Baccarelli,
Cordeschi, Patriarca, Polli

92

Trasferimento dati affidabile di


TCP Lato Sorgente (1/5)

Al lato sorgente, la trasmissione di nuovi

segmenti o la ri-trasmissione di segmenti gi


trasmessi in precedenza , di volta in volta,
regolata dal verificarsi o meno di uno dei
seguenti 3 eventi:

a. Un nuovo messaggio ricevuto dal processo


sorgente - in questo caso, il TCP opera come
segue:

o
o

Incapsula il messaggio in un nuovo segmento, al quale


assegna come numero di sequenza il numero dordine del
primo byte che costituisce il segmento stesso;
Passa il segmento allo strato di Rete;
Se non gi stato attivato, attiva il Timer.
Baccarelli,
Cordeschi, Patriarca, Polli

93

Trasferimento dati affidabile di


TCP Lato Sorgente (2/5)
b.

Si verifica un TimeOut (ossia, Timer > RTO)

in questo caso il TCP:


Ri-inizializza il timer;
Ri-trasmette il segmento che ha causato il
timeout.

Baccarelli,
Cordeschi, Patriarca, Polli

94

Trasferimento dati affidabile di


TCP Lato Sorgente (3/5)
E ricevuto ACK (y) - in questo caso, il TCP

c.

aggiorna lestremo inferiore: sendbase della


finestra di trasmissione, operando come
segue:
i.

Se y > sendbase, allora:

o
o

ii.

Sendbase posto pari a y;


Se ci sono nella finestra di trasmissione segmenti gi
trasmessi non ancora riscontrati, allora ri-inizializza il
timer.

Se y sendbase, allora:
o
o

sendbase non viene modificato;


Se il terzo ACK che ricevi con numero di sequenza y,
allora ri-trasmetti lintero segmento y-mo.
Baccarelli,
Cordeschi, Patriarca, Polli

95

Trasferimento dati affidabile di


TCP Lato Sorgente (4/5)
1.
2.

NextSeqNum : = InitialSeqNum;
SendBase
: = InitialSeqNum;

/* inizializzazione */
/* inizializzazione */

switch(event)

In definitiva, lalgoritmo

che il TCP implementa al


Lato Sorgente della
connessione per garantire
il trasferimento
affidabile dei dati
assume la forma
seguente:

3.
4.
5.
6.

7.
8.

event: data received from application above


create TCP segment with sequence number
NextSeqNum;
if (timer currently not running)
start timer;
pass segment to IP;
NextSeqNum := NextSeqNum + length(data);
event: timer timeout
retransmit not-yet-acknowledged segment with
smallest sequence number;
start timer;

event: ACK received, with ACK field value of y


if (y > SendBase) {
9.
SendBase := y
if (there are currently not-yet-acknowledged segments)
10.
start timer;
}
else{
11.
increment count of dup ACKs received for y;
if (count of dup ACKs received for y = 3) {
Baccarelli,
96
12.
resend segment with sequence number y;
Cordeschi, Patriarca, Polli
}

Trasferimento dati affidabile di


TCP Lato Sorgente (5/5)

E interessante osservare che se la sorgente riceve


tre ACKs con uno stesso numero di sequenza y, allora
al sorgente ri-trasmette lintero segmento no.y, anche
se non si ancora verificato alcun timeout.

Questo meccanismo di ri-trasmissione di un segmento


causato dalla ricezione di tre ACK detto FastRetransmission Mechanism.

Il suo scopo quello di anticipare listante di ritrasmissione di un segmento che (verosimilmente)


andato perso, senza attendere che il Timer ad esso
associato scada.
Baccarelli,
Cordeschi, Patriarca, Polli

97

Trasferimento dati affidabile di


TCP Lato Destinazione (1/2)

Alla ricezione di ciascun segmento, il Lato


Destinazione opera come segue:
i.
Verifica se il segmento affetto da errori;
ii. Se rivela errori nel segmento, scarta il
segmento;
iii. Se non rivela errori nel segmento, genera un
messaggio ACK e aggiorna la finestra di
ricezione in accordo a quanto riportato nella
tabella seguente:
Baccarelli,
Cordeschi, Patriarca, Polli

98

Trasferimento dati affidabile di


TCP Lato Destinazione (2/2)
Evento alla destinazione

Azione della destinazione TCP

Arrivo ordinato di un segmento con numero di


sequenza atteso. Tutti i dati fino al numero di
sequenza atteso sono gi stati riscontrati.

ACK ritardato. Attende fino a 500ms larrivo del


prossimo segmento. Se il segmento non arriva,
invia un ACK.

Arrivo ordinato di un segmento con numero di


sequenza atteso. Un altro segmento in attesa
di trasmissione dellACK.

Invia immediatamente un singolo ACK cumulativo,


riscontrando entrambi i segmenti ordinati.

Arrivo non ordinato di un segmento con numero


di sequenza superiore a quello atteso. Viene
rilevato un buco.

Invia immediatamente un ACK duplicato,


indicando il numero di sequenza del prossimo
byte atteso.

Arrivo di un segmento che colma parzialmente o


completamente il buco.

Invia immediatamente un ACK, ammesso che il


segmento cominci allestremit inferiore del buco.

Baccarelli,
Cordeschi, Patriarca, Polli

99

Trasferimento di Dati affidabile


in TCP - Conclusioni
Che tipo di strategia ARQ quella attuata dal TCP e
descritta dalle precedenti slides?
Poich ogni messaggio ACK(y) riscontra positivamente
tutti i byte ricevuti dalla destinazione con numero
dordine (y-1), il tipo di messaggio ACK impiegato dal
TCP cumulativo. Limpiego di ACK cumulativi tipico
della strategia Go-back-N.
Daltra parte, mediante limpiego delle strategie di
TimeOut e di Fast Retransmission, il TCP in grado di
ri-trasmettere singoli segmenti. La capacit di ritrasmettere singoli segmenti tipica della strategia
Selective Repeat (SR).
In conclusione, la strategia ARQ attuata dal TCP un
ibrido delle strategie Go-back-N e Selective Repeat.

Baccarelli,
Cordeschi, Patriarca, Polli

100

Il servizio di controllo di
flusso in TCP

Baccarelli,
Cordeschi, Patriarca, Polli

101

Controllo di Flusso in TCP


Generalit (1/2)
Consideriamo una connessione (canale logico) TCP da
un processo sorgente PS (residente nel terminale
sorgente HS) ad un processo destinazione PD
(residente nel terminale destinazione HD).
Abbiamo gi visto che, allatto dellinstaurazione della
connessione, il TCP al lato destinazione alloca un
buffer di ricezione per la memorizzazione temporanea
dei segmenti ricevuti che non sono ancora stati
passati al processo di destinazione.
Indichiamo con
RcvBuffer
la dimensione (in byte) del buffer di ricezione allocato
dal TCP alla destinazione al momento
dellinstaurazione della connessione in oggetto.

Baccarelli,
Cordeschi, Patriarca, Polli

102

Controllo di Flusso in TCP


Generalit (2/2)
Lo scopo del servizio di Controllo di Flusso quello di
regolare (aumentare o diminuire) la velocit
(byte/sec) con cui lo Strato di Trasporto al lato
sorgente immette byte nella connessione in modo da
garantire che il numero di byte da memorizzare nel
buffer di ricezione non superi mai il valore:
RcvBuffer.
Per implementare il suddetto servizio, il lato sorgente
e il lato destinazione della connessione TCP
mantengono e aggiornano una finestra di trasmissione
e una finestra di ricezione, le dimensioni delle quali
possono variare nel tempo, come di seguito
specificheremo.

Baccarelli,
Cordeschi, Patriarca, Polli

103

Controllo di Flusso in TCP Lato


Destinazione (1/4)

Per implementare il controllo di flusso, il lato


Destinazione della connessione TCP mantiene e
aggiorna le due seguenti variabili:

o Last_Byte_Rcvd il numero dordine dellultimo byte (ossia


del byte pi recente) che la destinazione ha ricevuto dalla
connessione;
o Last_Byte_Read - il numero dordine dellultimo byte (ossia
del byte pi recente) che il processo destinazione ha
prelevato (letto) dal buffer di ricezione;

Ovviamente, affinch il buffer di ricezione non


trabocchi, deve sempre essere verificata la seguente
condizione:
(Last_Byte_Rcvd) (Last_Byte_Read) RcvBuffer
Baccarelli,
Cordeschi, Patriarca, Polli

104

Controllo di Flusso in TCP Lato


Destinazione (2/4)
Sulla base dei valori correnti di:

Last_Byte_Rcvd e di Last_Byte_Read, il TCP


al Lato Destinazione effettua le seguenti 3
operazioni:

i. Aggiorna la variabile: RcvWindow in accordo alla


seguente relazione:
RcvWindow := RcvBuffer [Last_Byte_Rcvd
Last_Byte_Read]

ovviamente, RcvWindow costituisce il numero di


byte che sono ancora liberi nel buffer di ricezione
(vedi la figura seguente).
Baccarelli,
Cordeschi, Patriarca, Polli

105

Controllo di Flusso in TCP Lato


Destinazione (3/4)

Baccarelli,
Cordeschi, Patriarca, Polli

106

Controllo di Flusso in TCP Lato


Destinazione (4/4)
ii.

Memorizza il valore della variabile:

RcvWindow nel campo: ReceiveWindow di un


nuovo segmento che il processo destinazione
invier al processo sorgente;
iii. Invia il suddetto segmento al processo
sorgente, cos che il TCP operante al lato
sorgente della connessione possa conoscere
quanti byte sono correntemente liberi nel
buffer di ricezione.
Baccarelli,
Cordeschi, Patriarca, Polli

107

Controllo di Flusso in TCP Lato


Sorgente (1/2)

Per implementare il controllo di flusso, il TCP al lato


sorgente mantiene e aggiorna le due seguenti variabili:
o Last_Byte_Sent - il numero dordine dellultimo byte (ossia
del byte pi recente) che la sorgente ha inviato nella
connessione;
o Last_Byte_Acked - il numero dordine dellultimo byte
(ossia del byte pi recente) di cui la sorgente ha ricevuto un
riscontro positivo da parte della destinazione.

Quindi la differenza:
(Last_Byte_Sent) (Last_Byte_Acked)
Ha lovvio significa di numero di byte che sono stati
trasmessi dalla sorgente ma dei quali non ha ancora
ricevuto alcun riscontro.
Baccarelli,
Cordeschi, Patriarca, Polli

108

Controllo di Flusso in TCP Lato


Sorgente (2/2)

Nel momento in cui la sorgente riceve un nuovo


segmento dalla destinazione, il TCP al lato sorgente
effettua le seguenti operazioni:

i.

Estrae dal segmento ricevuto dalla destinazione il contenuto


del campo: Receive Window (ossia, legge il valore di

RcvWindow);
ii. Aggiorna la variabile: Last_Byte_Sent (ossia, eventualmente
trasmette un certo numero di byte) in modo che risulti in
ogni caso soddisfatta la seguente relazione:
Last_Byte_Sent Last_Byte_Acked + RcvWindow

Sintanto che il TCP a lato sorgente garantisce il


soddisfacimento della relazione precedente, il
buffer di ricezione non subir mai trabocchi.
Baccarelli,
Cordeschi, Patriarca, Polli

109

Il servizio di Controllo di
Congestione in TCP

Baccarelli,
Cordeschi, Patriarca, Polli

110

Il Controllo di Congestione in TCP


Generalit (1/3)
Consideriamo una connessione (canale logico) TCP da un
processo sorgente PS (residente nel terminale sorgente
HS) ad un processo destinazione PD (residente nel
terminale destinazione HD).
Poich la connessione PS PD impiega router e canali
trasmissivi che possono essere contemporaneamente
utilizzati da altre connessioni attive nella Rete Internet,
pu accadere che il numero totale di segmenti che
ciascun router e canale trasmissivo deve inoltrare
nellunit di tempo (traffico aggregato) sia pi grande
delle velocit di inoltro (switching speed) dei router e
delle capacit dei canali trasmissivi.
Quando ci accade, la Rete detta essere congestionata.

Baccarelli,
Cordeschi, Patriarca, Polli

111

Il Controllo di Congestione in TCP


Generalit (2/3)
In presenza di congestione, il TCP al lato sorgente
della connessione PS PD deve ridurre
opportunamente la velocit (byte/sec) con cui
immette segmenti nella connessione (e, quindi, nella
rete).
Come gi detto, lo Strato di Rete di Internet non
fornisce al TCP posto al lato sorgente della
connessione PS PD alcuna informazione sulla
congestione che si sta verificando n alcun servizio
per tentare di ridurla.
In altre parole, TCP deve adottare un approccio del
tipo end-to-end (ossia, da terminale-a-terminale o da
estremo-a-estremo) per controllare (ridurre) la
congestione che si sta verificando in rete.

Baccarelli,
Cordeschi, Patriarca, Polli

112

Il Controllo di Congestione in TCP


Generalit (3/3)

Il controllo di congestione end-to-end pone 3


problemi al TCP che agisce al lato sorgente della
connessione PS PD , e cio:
Come pu il TCP regolare (aumentare o diminuire) la velocit
(misurata in byte/sec) con la quale immette segmenti nella
connessione?
b. Come pu il TCP al lato sorgente accorgersi che si sta
verificando nella rete una congestione e misurarne il livello
(ossia, la gravit)?
c. Quale algoritmo adotta il TCP per controllare la velocit
(byte/sec) di immissione di segmenti nella connessione PS
PD in funzione del livello (gravit) della congestione che si
sta verificando nella rete?
a.

Baccarelli,
Cordeschi, Patriarca, Polli

113

La Finestra di Congestione della


connessione (1/3)
Per regolare la velocit (byte/sec) di immissione di
segmenti nella connessione PS PD, il TCP mantiene e
aggiorna al lato sorgente della connessione la variabile
CongWin (Finestra di congestione).
CongWin misurata in byte. Per definizione, CongWin
rappresenta il massimo numero di byte che il TCP pu
immettere nella connessione PS PD senza bisogno di
ricevere da PD alcun messaggio di riscontro positivo.
Ci significa che, al lato sorgente della connessione PS
PD, il TCP garantisce che sia sempre verificata la
seguente relazione:

(Last_Byte_Sent) (Last_Byte_Acked) min {CongWin, RcvWindow}

Baccarelli,
Cordeschi, Patriarca, Polli

114

La Finestra di Congestione della


connessione (2/3)
Supponiamo, per il momento, che: RcvWindow = +,
cos che il TCP della connessione PS PD stia solo
effettuando controllo di congestione.
Supponiamo che il TCP al lato sorgente immetta nella
connessione un numero di byte pari a CongWin. Dopo
un intervallo di temo pari a RTT, il lato sorgente della
connessione PS PD ricever un ACK dal lato
destinazione che riscontra tutti i byte trasmessi.
Quindi, in assenza di perdite e errori, la velocit (in
byte/sec) con cui mediamente il TCP immette
segmenti nella connessione PS PD pari a:

(CongWin)/RTT (byte/sec)
Baccarelli,
Cordeschi, Patriarca, Polli

115

La Finestra di Congestione della


connessione (3/3)
Ci significa che, a parit di RTT, il TCP pu

controllare (aumentare o diminuire) la velocit


(in byte/sec) con cui immette segmenti nella
connessione PS PD semplicemente
aumentando o diminuendo la dimensione
CongWin della Finestra di Congestione.

Baccarelli,
Cordeschi, Patriarca, Polli

116

Levento di perdita di un
segmento (1/2)
Il TCP al lato sorgente della connessione PS PD si
accorge (rileva) che si sta verificando una
congestione nella rete quando, al lato sorgente, si
verificano uno, o pi, eventi di perdita di segmenti
(Loss Events).
Per definizione, si verifica un Evento di Perdita
quando, al lato sorgente della connessione, accade
luno o laltro dei due seguenti eventi:

La sorgente riceve tre messaggi di riscontro con lo stesso


numero di sequenza (three duplicate ACKs);
ii. Il temporizzatore attivo al lato sorgente scade, ovvero si
verifica levento: Timer > RTO (Time Out Event).

i.

Baccarelli,
Cordeschi, Patriarca, Polli

117

Levento di perdita di un
segmento (2/2)
Quando si verifica un Evento di Perdita, il TCP

al lato sorgente della connessione PS PD


riduce la dimensione CongWin della finestra di
congestione.
Levento: ricezione di 3 ACKs con lo stesso
numero di sequenza indice di un livello di
congestione meno grave dellevento di Time
Out.
Quindi, la riduzione di CongWin susseguente
allevento di Time Out maggiore della
riduzione indotta dalla ricezione di 3 ACKs con
lo stesso numero di sequenza.
Baccarelli,
Cordeschi, Patriarca, Polli

118

Lalgoritmo di controllo di
congestione in TCP Generalit
(1/3)

Negli ultimi anni, sono state sviluppate varie


versioni dellAlgoritmo di controllo di
Congestione del TCP. Nel seguito faremo
esplicito riferimento alla versione nota come
TCP Reno Congestion Control Algorithm.

Baccarelli,
Cordeschi, Patriarca, Polli

119

Lalgoritmo di controllo di
congestione in TCP Generalit
(2/3)

Essenzialmente, il suddetto algoritmo di


controllo di compone di 2 stati, noti come:
i. Stato di Congestion Avoidance (CA state);
ii. Stato di Slow Start (SS state).

LAlgoritmo di controllo di Congestione


implementato solo dal TCP del lato sorgente
della connessione PS PD.
Baccarelli,
Cordeschi, Patriarca, Polli

120

Lalgoritmo di controllo di
congestione in TCP Generalit
(3/3)
Nel seguito, definiremo ed esamineremo,

nellordine:
o Le operazioni che il TCP svolge in ciascuno
dei 2 stati di funzionamento in cui pu
trovarsi;
o Gli eventi che causano la transizione da uno
stato allaltro.
Baccarelli,
Cordeschi, Patriarca, Polli

121

Lo stato di Congestion Avoidance


(CA) (1/5)

Nello stato di CA, il TCP al lato sorgente della


connessione PS PD aggiorna la dimensione CongWin
della finestra di congestione in corrispondenza al
verifiarsi di:
i.Ricezione di un ACK da parte del lato destinazione;
ii.Ricezione di 3 ACKs con lo stesso numero di sequenza.

In particolare, CongWin incrementata di:


MSS (MSS/ CongWin) (bytes),
ossia,
CongWin := CongWin + MSS (MSS/ CongWin)
per ogni singolo segmento che riscontrato
positivamente per la prima volta (Fase di Incremento
Additivo della finestra di congestione).
Baccarelli,
Cordeschi, Patriarca, Polli

122

Lo stato di Congestion Avoidance


(CA) (2/5)
Al contrario, quando si verifica un evento di

ricezione di 3 ACKs con lo stesso numero di


sequenza, il valore di CongWin dimezzato
ma, in ogni caso, non fatto scendere sotto il
valore minimo di 1MSS. Quindi, alla ricezione
di 3 duplicati ACKs, il TCP aggiorna la CongWin
come segue:
CongWin := max {CongWin/2, MSS}
(Fase di Decremento Moltiplicativo della
finestra di congestione).
Baccarelli,
Cordeschi, Patriarca, Polli

123

Lo stato di Congestion Avoidance


(CA) (3/5)

In assenza di perdite e errori, ogni ACK riconosce


cumulativamente tutti i CongWin byte presenti nella
finestra di Congestione e trasmessi
consecutivamente. Poich:
o

lintervallo di tempo che passa tra la trasmissione di (tutti) i


byte presenti nella finestra e la ricezione al lato sorgente del
corrispondente ACK di RTT;
il numero di segmenti di dimensione massima presenti in una
finestra di dimensione CongWin pari a :

CongWin/MSS
ne segue che, nella fase di Incremento Additivo, la
dimensione massima della finestra di congestione
aumenta di 1 MSS (byte) ogni RTT (sec).
Baccarelli,
Cordeschi, Patriarca, Polli

124

Lo stato di Congestion Avoidance


(CA) (4/5)- Commenti

In definitiva, nello stato di CA, la


dimensione CongWin della finestra di
congestione:
i. In assenza di eventi di perdita, aumenta
linearmente di 1 MSS ogni RTT;
ii. Dimezza al verificarsi di ogni singolo
evento Ricezione di 3 ACKs duplicati.

Baccarelli,
Cordeschi, Patriarca, Polli

125

Lo stato di Congestion Avoidance


(CA) (5/5)
Landamento risultante per CongWin quello

congestion window size

tipico a dente di sega riportato nella figura


seguente.
congestion
window
24 Kbytes

16 Kbytes

8 Kbytes

time

Baccarelli,
Cordeschi, Patriarca, Polli

126

Lo stato di Slow Start (SS) (1/7)

Lalgoritmo di controllo di congestione del TCP


entra nello stato di Slow Start quando:
i. La connessione tra PS e PD inizia;
ii. Dopo che si verificato un evento di Time
Out.

Baccarelli,
Cordeschi, Patriarca, Polli

127

Lo stato di Slow Start (SS) (2/7)

Nello stato di SS, lalgoritmo di controllo di


congestione opera come segue:
i. CongWin posto a 1 MSS;
ii. CongWin incrementato di 1 MSS per
ogni singolo segmento che riscontrato
positivamente per la prima volta, ossia:
CongWin := CongWin + MSS (byte)
(Fase di Incremento Esponenziale della
dimensione della finestra di congestione);
Baccarelli,
Cordeschi, Patriarca, Polli

128

Lo stato di Slow Start (SS) (3/7)


iii. La Fase di Incremento Esponenziale continua sino
a che si verifica uno dei tre seguenti eventi:
o CongWin raggiunge un valore pari alla met di

quello che aveva prima di entrare dello stato di


Slow Start - In questo caso lalgoritmo
abbandona lo stato di SS e entra nello stato di
CA;

Si verifica un evento di Time Out in questo

Si verifica levento Ricezione di 3 ACKs


duplicati in questo caso lalgoritmo dimezza
il valore corrente di CongWin e, poi, entra

caso lalgoritmo ri-inizia un nuovo stato di SS;

nello stato CA.

Baccarelli,
Cordeschi, Patriarca, Polli

129

Lo stato di Slow Start (SS) (4/7)


Per implementare lalgoritmo di

aggiornamenti di CongWin precedentemente


descritto, il TCP si avvale di una variabile
ausiliaria detta Threshold.

indica il valore di
CongWin a cui lo stato di SS termina e inizia

Per definizione, Threshold

lo stato di CA.

Baccarelli,
Cordeschi, Patriarca, Polli

130

Lo stato di Slow Start (SS) (5/7)

i.

Ci significa che Threshold aggiornato


come segue:

ii.

Allinizio della connessione, Threshold posto ad


un valore infinito (di fatto, a 65103 byte), cos,
da non avere inizialmente effetto sullevoluzione

dellalgoritmo di controllo di congestione;

Ogni volta che si veridica un evento di Time


Out oppure un evento di ricezione di 3 duplicati
ACKs, Thershold posto alla met del valore

corrente di CongWin, ossia,


Threshold := CongWin/2.
Baccarelli,
Cordeschi, Patriarca, Polli

131

Lo stato di Slow Start (SS) (6/7)


Nella Fase

di Incremento Esponenziale dello stato di SS, la

dimensione CongWin della finestra di congestione aumenta di 1


MSS per ogni singolo segmento riscontrato positivamente per la
prima volta.
Quindi, poich:
o
o

In assenza di perdite e errori, il lato sorgente della connessione


trasmette CongWin byte consecutivi;
CongWin byte corrispondono ad un numero di segmenti di lunghezza
massima pari a:

CongWin/MSS;

Dopo un intervallo di tempo pari a RTT, il lato sorgente riceve un ACK


che riscontra tutti i CongWin bytes precedentemente trasmessi;

ne deduciamo che, nella fase di Incremento Esponenziale, la


dimensione CongWin della finestra di congestione raddoppia di

valore in ogni intervallo di durata RTT.

Baccarelli,
Cordeschi, Patriarca, Polli

132

Lo stato di Slow Start (SS) (7/7)

La figura seguente
esemplifica lincremento di
tipo esponenziale (ossia, il
raddoppio del valore in ogni
intervallo RTT) del valore di
CongWin durante la Fase di
Incremento Esponenziale
dello stato SS.

RTT

Host A

Host B
one segm
ent

two segm
en

ts

four segm
ents

time
Baccarelli,
Cordeschi, Patriarca, Polli

133

LAlgoritmo di controllo di
congestione del TCP (1/3)
Riassumendo quanto esposto sino ad ora, lalgoritmo di
controllo di congestione del TCP lavora al seguente
modo:
Fintantoch CongWin minore o uguale a Threshold,
lalgoritmo nello stato SS, in cui la dimensione della
finestra raddoppia ogni RTT intervallo, finch non si
verificano eventi di perdita;
Finch CongWin superiore a Threshold, lalgoritmo
nello stato di CA, in cui la dimensione della finestra di
congestione cresce di un MSS ogni RTT, fintantoch
non si verificano eventi di perdita di segmenti.

Baccarelli,
Cordeschi, Patriarca, Polli

134

LAlgoritmo di controllo di
congestione del TCP (2/3)

Quando il lato sorgente della connessione


riceve 3 duplicati ACKs, allora:
i.
ii.

Pone Threshold a CongWin/2;


Pone CongWin a Threshold (ossia dimezza
CongWin);

Quando si verifica un evento di Time Out,


allora:
i.
ii.

Pone Threshold a CongWin/2;


Pone CongWin a 1 MSS e entra nello stato di SS.
Baccarelli,
Cordeschi, Patriarca, Polli

135

LAlgoritmo di controllo di
congestione del TCP (3/3)

Lintero algoritmo di controllo di congestione applicato


al lato sorgente di una connessione TCP-Reno
riportato dettagliatamente nella Tabella seguente.
State

Event

TCP Sender Action

Commentary

Slow Start (SS)

ACK receipt for


previously
unacked data

CongWin = CongWin + MSS,


If (CongWin > Threshold)
set state to Congestion
Avoidance

Resulting in a doubling of
CongWin every RTT

Congestion
Avoidance (CA)

ACK receipt for


previously
unacked data

CongWin = CongWin+MSS *
(MSS/CongWin)

Additive increase, resulting in


increase of CongWin by 1 MSS
every RTT

SS or CA

Loss event
detected by
triple duplicate
ACK

Threshold = CongWin/2,
CongWin = Threshold,
Set state to Congestion Avoidance

Fast recovery, implementing


multiplicative decrease.
CongWin will not drop below 1
MSS.

SS or CA

Timeout

Threshold = CongWin/2,
CongWin = 1 MSS,
Set state to Slow Start

Enter slow start

SS or CA

Duplicate ACK

Increment ACK cou duplicate nt for


segment being
acked
Baccarelli,

CongWin and Threshold not


changed

Cordeschi, Patriarca, Polli

136

Finestra di congestione

LAlgoritmo di controllo di
congestione del TCP - Esempio

Threshold

tempo
Baccarelli,
Cordeschi, Patriarca, Polli

137

Gestione della Connessione in TCP

Baccarelli,
Cordeschi, Patriarca, Polli

138

Gestione della connessione in TCP


- Generalit
Supponiamo che il processo-cliente PC (residente
presso il terminale HC) voglia scambiare messaggi
col processo-servente PSR (residente presso il
terminale HSR) mediante TCP.

Poich TCP fornisce un servizio di trasferimento


dati orientato alla connessione, il tempo di vita di
una connessione TCP suddivisa nelle tre seguenti
(usuali) fasi:
i.
Fase di instaurazione della connessione;
ii.
Fase di connessione aperta;
iii. Fase di chiusura della connessione.

Baccarelli,
Cordeschi, Patriarca, Polli

139

Fase di instaurazione della


connessione in TCP (1/5)
La fase di Instaurazione della connessione composta di

passi.

Passo 1 il processo-cliente PC invia uno (speciale) segmento TCP

al processo-servente PSR. Il segmento non contiene dati nel suo


campo payload. Il segmento ha:
o
o

tre

Il bit del campo SYN posto a 1;


Il campo sequence number che contiene il numero iniziale sequenza:
client_isn che il cliente ha scelto per numerare i segmenti che il
cliente invier al servente durante il tempo di vita della connessione.

Passo 2 dopo che il segmento in oggetto ha raggiunto il


processo servente, il TCP al lato servente allora il buffer di
ricezione, inizializza le variabili necessarie per gestire la
connessione, e, poi, invia un segmento di riscontro (detto

SYNACK segment) al processo cliente. Il segmento di riscontro


che il processo servente invia al processo cliente non contiene
dati nel suo campo payload.
Baccarelli,
Cordeschi, Patriarca, Polli

140

Fase di instaurazione della


connessione in TCP (2/5)

Il segmento SYNACK ha:


o
o
o

Il bit del campo SYN posto a 1;


Il campo Acknowledgement number posto a: (client_isn + 1);
Il campo sequence number posto a: server_isn, dove
server_isn il numero iniziale di sequenza che il processo
servente usa per numerare i segmenti che il processo
servente invier al processo cliente.

Essenzialmente, con linvio del segmento SYNACK, il


processo servente sta dicendo al processo cliente: ho
ricevuto la tua richiesta di connessione con il tuo
iniziale numero di sequenza, client_isn. Concordo nello
stabilire la connessione. Il mio iniziale numero di
sequenza : server_isn
Baccarelli,
Cordeschi, Patriarca, Polli

141

Fase di instaurazione della


connessione in TCP (3/5)

Passo 3 dopo aver ricevuto il segmento SYNACK dal


servente, il TCP al lato cliente alloca il buffer di
trasmissione e inizializza le variabili necessarie per
gestire la connessione. Quindi, il cliente invia al

servente un (ultimo) segmento che notifica al


servente che il cliente ha ricevuto il segmento
SYNACK. Questultimo segmento che il cliente invia al
servente ha:
o
o
o

Il bit del campo SYN posto a 0;


Il campo sequence number posto a: (client_isn +1);
Il campo Acknowledgement number posto a: (server_isn +1).

Dopo la ricezione di questultimo segmento, il processo


servente pu iniziare a inviare i suoi messaggi
applicativi al processo cliente, attraverso la
connessione instaurata.
Baccarelli,
Cordeschi, Patriarca, Polli

142

Fase di instaurazione della


connessione in TCP Riepilogo
(4/5)
Processo
Cliente

Processo
Servente
SYN=1, se
q:=client_
isn

t0

k:=client_isn +
c
a
,
n
is
_
r
e
v
r
e
s
SYN=1, seq:=

SYN=0, seq:=
c

2 RTT

lient_isn + 1,

ack:=server_
isn + 1

dat i

t1

tempo

Baccarelli,
Cordeschi, Patriarca, Polli

tempo

143

Fase di instaurazione della


connessione in TCP Commenti (5/5)
Come si evince

anche dalla figura precedente,

la Fase di Instaurazione di una connessione


TCP prevede 3 passi, e per questo anche
nota come 3-way handshaking.
Inoltre, lintervallo di tempo che trascorre tra
listante t0 in cui il cliente invia il segmento di
richiesta di connessione e listante t1 in cui il
cliente inizia a ricevere il messaggio del
servente pari a 2RTT. Quindi linstaurazione
di una connessione TCP comporta un ritardo di
2RTT nella ricezione dei primi messaggi utili.
Baccarelli,
Cordeschi, Patriarca, Polli

144

Fase di abbattimento di una


connessione TCP (1/3)
Supponiamo che la
connessione tra il processo
cliente PC e il processo
servente PSR debba essere
chiusa. Sia PC che PSR
possono iniziare la fase di
abbattimento della
connessione.
Supponiamo che sia il
processo cliente ad iniziare
la fase di abbattimento
della connessione (vedi la
figura).

client

close

server
FIN

AC K

close

timed wait

FIN

A CK

closed

closed
Baccarelli,
Cordeschi, Patriarca, Polli

145

Fase di abbattimento di una


connessione TCP (2/3)
La fase di abbattimento della connessione di articola
in 5 passi:

Passo 1 il processo cliente invia al processo servente

un segmento con bit del campo FIN posto a 1;


Passo 2 dopo aver ricevuto il segmento, il processo
servente invia al processo cliente un segmento con bit
del campo ACK posto a 1. Il processo servente dealloca tutte le risorse della connessione (buffer di
ricezione e variabili);
Passo 3 il processo servente invia un altro segmento
al processo cliente col bit del campo FIN posto a 1;
Baccarelli,
Cordeschi, Patriarca, Polli

146

Fase di abbattimento di una


connessione TCP (3/3)
Passo

4 - alla ricezione del suddetto

segmento, il processo cliente invia un


segmento al servente con ACK=1. Dopo di che,
il processo cliente entra in uno stato di attesa
che, tipicamente, dura 30sec, e che ha lo
scopo di permettere al segmento ACK di
propagarsi fino al servente;
Passo 5 alla ricezione dellultimo segmento
con ACK=1, il processo servente chiude
definitivamente la connessione. Tutte le
risorse (buffer e variabili) dedicate alla
connessione sono definitivamente de-allocate.
Baccarelli,
Cordeschi, Patriarca, Polli

147

Rifiuto di richiesta di connessione


Supponiamo ora che il processo cliente PC

chieda (mediante linvio di un segmento SYN)


di aprire una connessione al processo servente
PSR.
Supponiamo che il processo servente PSR
rifiuti la richiesta. Allora,
o

dopo la ricezione del segmento SYN il processo


servente invia al processo cliente uno speciale
segmento che non contiene dati ma che ha il bit del
campo RST posto a 1;
la richiesta di connessione rifiutata.
Baccarelli,
Cordeschi, Patriarca, Polli

148

Prestazioni di una connessione


TCP - Generalit
Supponiamo che il processo sorgente PS invii

segmenti mediante una connessione TCP al


processo-destinazione PD.

I due parametri principali che vengono

adottati per misurare le prestazioni della


connessione PS PD sono:
o Il Goodput medio (byte/sec);
o Il ritardo di trasferimento o Latenza (sec).
Baccarelli,
Cordeschi, Patriarca, Polli

149

Il Goodput medio (1/3)


Poich il TCP

ri-trasmette i segmenti che sono

andati persi o che sono stati ricevuti con


errore, i segmenti che, in ogni istante, sono in
transito nella connessione PS PD o sono
segmenti trasmessi per la prima volta o sono
segmenti ri-trasmessi.
Si definisce goodput medio gd (byte/sec)
della connessione PS PD il numero medio di
bytes che nellunit di tempo, il processo
destinazione riceve (ossia, non vi sono perdite)
senza rivelarvi alcun errore.
Baccarelli,
Cordeschi, Patriarca, Polli

150

Il Goodput medio (2/3)


Indichiamo con:
o
o
o

RTT (sec) il valore medio del RTT della


connessione;
MSS (byte) la dimensione massima del
campo payload di un segmento;
PLOSS la probabilit di perdita (time out o 3
duplicati ACK) di un segmento.

Baccarelli,
Cordeschi, Patriarca, Polli

151

Il Goodput medio (3/3)

Allora, sotto ipotesi di larga generalit, il goodput


medio della connessione calcolabile mediante la
seguente formula approssimata:

1.22 MSS
gd
RTT PLOSS

(byte/ sec )

La precedente formula vale:


o
o
o

Per valori piccoli di PLOSS (diciamo per PLOSS < 10 -2);


Nei casi in cui gli Eventi di Time Out abbiano una probabilit
trascurabile di verificarsi;
Quando lalgoritmo di controllo di congestione del TCP lavora
essenzialmente nello stato di Congestion Avoidance (CA).
Baccarelli,
Cordeschi, Patriarca, Polli

152

Latenza della connessione TCP


(1/7)

Consideriamo la connessione TCP tra un processo cliente e un

processo servente che impiega un canale trasmissivo di


capacit C (bit/sec).

Cliente

C (bit/sec)

Servente

Supponiamo che il cliente voglia ottenere (scaricare) dal

servente un file di dimensioni O (bit).


Si definisce Latenza (sec) della connessione lintervallo di
tempo intercorrente tra listante t0 in cui il cliente invia la
richiesta di connessione (segmento SYN) al servente e
listante t1 in cui il cliente ha ricevuto (scaricato) tutto il file
dal servente.
Baccarelli,
Cordeschi, Patriarca, Polli

153

Latenza della connessione TCP


(2/7)

Al fine di calcolare la Latenza, introduciamo le


assunzioni seguenti:

i.

ii.
iii.
iv.
v.

La quantit di dati che il servente pu trasmettere


limitata solo dalla sua finestra di congestione CongWin (gli
effetti del controllo di flusso sono trascurati);
I segmenti trasmessi non sono n persi n corrotti, cos che
non si considerano gli effetti delle ri-trasmissioni;
Il file da scaricare costituito da un numero intero di
segmenti MSS (byte);
Il tempo necessario per stabilire la connessione tenuto in
conto;
Lalgoritmo di controllo di congestione attuato al lato
servente lavora solo nello stato SS (Slow Start).

Baccarelli,
Cordeschi, Patriarca, Polli

154

Latenza della connessione TCP


(3/7)

i.

Introduciamo le seguenti definizioni:

ii.
iii.

O (bit) la dimensione in bit del file da scaricare dal


servente;
S (bit) = 8 MSS la massima dimensione di un segmento in
bit;
C (bit/sec) la capacit del canale tra servente e cliente.

Inoltre indichiamo con:

[x]+  max {x,0} =

x, per x 0
0, per x < 0

[x]  lintero pi piccolo che maggiore o uguale al numero x.

Baccarelli,
Cordeschi, Patriarca, Polli

155

Latenza della connessione TCPCalcolo (4/7)


Nello stato SS, il numero di segmenti (di

dimensione massima S (bit)) contenuti nella


finestra di congestione del servente raddoppia
ad ogni intervallo RTT;
Quindi, il numero di finestre NW necessarie per
scaricare linterno file pari a:
NW = min {k: 20+21+22++2k O/S} =
= [log2 (O/S + 1)]
Baccarelli,
Cordeschi, Patriarca, Polli

156

Latenza della connessione TCPCalcolo (5/7)


Dopo la trasmissione dei byte contenuti nella

k-ma finestra, il servente aspetta di ricevere


il riscontro positivo dal cliente prima di
passare a trasmettere i byte contenuti nella
finestra seguente. Il tempo di attesa (tempo
di stallo del servente) pari a:
[S/C + RTT - 2k-1 (S/C)]+

Come gi visto, il tempo necessario per

instaurare la connessione TCP di 2RTT,


mentre il tempo necessario per trasmettere
lintero file O/C.
Baccarelli,
Cordeschi, Patriarca, Polli

157

Latenza della connessione TCP


formula (6/7)
La Latenza precedentemente definita la

somma del ritardo di connessione, del tempo


di trasmissione del file, e dei tempi di stallo
tra la trasmissione dei byte di una finestra e
di quella successiva.

Quindi,

O
Latenza = 2 RTT + +
C

NW 1

k =1

S
k 1 S
RTT
+

2
C
C

Baccarelli,
Cordeschi, Patriarca, Polli

(sec)
158

Latenza minima della connessione


TCP (7/7)
E interessante osservare che il

che pu assumere la Latenza

valore minimo

Latenza minima = 2RTT + O/C.


Questo valore minimo raggiunto quando NW =

1, ossia quando:

O/C >> RTT.


Baccarelli,
Cordeschi, Patriarca, Polli

159