Post on 16-Oct-2021
UNIVERSITA' DEGLI STUDI DI BERGAMO
Dipartimento di Ingegneria
PRESTAZIONI DELLE RETI DI TLC
FONDAMENTI DI RETI E TELECOMUNICAZIONE
A.A. 2012/13 - II° Semestre
Esercizio 1 (Appello del 27/09/2002)
Sia data la rete indicata in figura (il sistema è privo di errori) dove il nodo B commuta i pacchetti in modalità
store-and-forward con τ forwarding = 0.
byte da trasferire
C 1, τ 1 C 2, τ 2
Nodo A Nodo B Nodo C
Caratteristiche dei canali di trasmissione (entrambi full-duplex):
C 1 = 16000 bps τ 1 = 75 ms
C 2 = da determinare τ 2 = 200 ms
Caratteristiche dei protocolli di comunicazione:
Il livello Transport utilizza un protocollo confermato di tipo Stop-and-Wait:
PDU-DATI:
100 byte Max 700 byte
PDU-ACK:
100 byte
Il livello Network utilizza un protocollo non confermato:
PDU-DATI:
100 byte Max 800 byte
I livelli DLC1 e DLC2 utilizzano un protocollo non confermato
PDU-DATI:
100 byte Max 900 byte
Domande:
(Disegnare gli schemi temporali di trasferimento dei messaggi giustificando sempre ogni espressione
analitica riportata)
1. Calcolare il bit-rate C2 affinché la capacità del sistema (CSISTEMA) sperimentata al di sopra del livello
Transport sia pari a 280 Byte/s.
Network
DLC1
Physical Physical Physical
DLC1 DLC2
Network Network
DLC2
Physical
Header Payload
Header Payload
Transport Transport
Header Payload
Header
1 2
1
τ1
τ2
T (ms)
C
B
A
2
RTT
TPDU1
TPDU2 300 ms
2. Utilizzando il valore C2 calcolato al punto 1, supponendo che la dimensione massima del Payload di
DLC1 sia pari a 500 byte anziché 900 byte e sapendo che il protocollo di livello Network supporta la
frammentazione, calcolare la capacità del sistema (CSISTEMA) sperimentata al di sopra del livello
Transport.
3. (Facoltativa) Quali considerazioni si possono fare sul risultato ottenuto al punto 2, alla luce del fatto
che la frammentazione comunque introduce un innalzamento degli overhead di incapsulamento ?
Soluzione
C1 = 16000 bps = sByte2000 21 = 75 ms = 0,075 s
C2 = da determinare 22 = 200 ms = 0,2 s
1° punto
Tempo per il trasferimento di una PDU sul canale 1
22
222
100900
CC
HPayloadT DLCDLC
PDU
+=
+
= Tempo per il trasferimento di una PDU sul
canale 2
Tempo per il trasferimento di un’ACK sul canale 1
sC
HPayloadT
DLCDLC
PDU 5,02000
100900
1
111 =
+=
+
=
sC
HT ACK
ACK 15,02000
300
1
1 ===
Tempo per il trasferimento di un’ACK sul canale 2
222
11222211
13002,1075,015,02,0
30010002,05,0075,0
CCC
TTTTRTT ACKACKPDUPDU
+=+++++++=
=+++++++= ττττ
Sapendo che la capacità del sistema misuratà è pari a 280 Byte/s, è possibile quindi calcolare la capacità del secondo canale:
2
13002,1
700
C
RTT
PayloadC TR
sistema
+
==
Sostituendo nella formula o riscrevendo il tutto in funzione di C2 si ottiene infatti:
2
13002,1
700280
C
sByte
+
=
Bit-rate del canale 1
2° punto
Il livello Network deve eseguire la frammentazione nei confronti del DLC1, e quindi anche del DLC2, secondo il seguente schema:
HTr Payload Tr
100 700
HNet Fragment1
100 r
400
HNet Fragment2
100 r
400
Payload Net
800
HDLC Payload DLC
100 500
HDLC Payload DLC
100 500
Transport
Network
DLC
22
2
300
CC
HT
ACK
ACK ==
sByteC 10002 =
1.1 1.2
1.2 1.1
τ1
τ2 TPDU2
T (ms)
C
B
A
300 ms
Rtt
2.2
2.1 2.2
TPDU1
2.1
Tempo per il trasferimento di un frammento sul canale 1
Tempo per il trasferimento di un frammento sul canale 2
Tempo per il trasferimento di un’ACK sul canale 1
Tempo per il trasferimento di un’ACK sul canale 2
Anche in questo caso il grafico temporale è fondamentale per trovare il RTT e, di conseguenza, la C del sistema
s
TTTTRTTACKACKFramFram
5,2075,015,02,03,06,022,03,0075,0
2 11222211
=++++⋅+++=
=++++⋅+++= ττττ
sByteRTT
PayloadC Tr
sistema 2805,2
700===
sC
HT ACK
ACK 15,02000
300
1
1 ===
sC
HT ACK
ACK 3,01000
300
2
2 ===
sC
HPayloadT DLCfram
Fram 3,02000
100500
1
11 =
+=
+=
sC
HPayloadT DLCfram
Fram 6,01000
100500
2
22 =
+=
+=
3° punto La frammentazione introduce un overhead di incapsulamento in quanto vengono aggiunti alcuni byte nelle testate dei frammenti. Infatti, per trasferire la stessa payload (700 Byte), utilizzo più byte (200 Byte anziché 100) nel secondo punto rispetto al primo. Nonostante ciò, si può osservare che la frammentazione non comporta in questo caso alcun aumento/diminuzione della capacità del sistema. Difatti, dai grafici si nota che il trasferimento del primo pacchetto sul secondo canale nel secondo punto, avviene prima rispetto al trasferimento dell’intera PDU-DATI nel primo esercizio poiché la capacità del secondo canale è inferiore alla capacità del primo.
Esercizio 2 (1° Itinere del 29/04/2003)
Sia data la rete indicata in figura (il sistema è privo di errori) dove il nodo B commuta i pacchetti in
un tempo trascurabile con modalità store-and-forward. Tutti i nodi dispongono di buffer di
dimensione infinita.
byte da trasferire
C 1, τ 1 C 2, τ 2
Nodo A Nodo B Nodo C
Caratteristiche dei canali di trasmissione (entrambi full-duplex):
C 1 = 16.000 bps τ 1 = 50 ms
C 2 = 32.000 bps τ 2 = 100 ms
Caratteristiche dei protocolli di comunicazione:
Livelli DLC1 e DLC2
Sono specificati più avanti nella sezione Domande
Livello Network
Utilizza un protocollo non confermato con possibilità, quando necessario, di frammentazione.
PDU-DATI di Network
100 byte Max 800 byte
DOMANDE:
Calcolare la capacità del sistema Csistema sperimentata al di sopra del livello Network (quando è in
corso un trasferimento di byte dal nodo A al nodo C) in ciascuno dei 4 casi indicati qui sotto:
1° Caso:
DLC1 è uguale a DLC2 e viene utilizzato un protocollo non confermato
PDU-DATI di DLC1 e DLC2
100 byte Max 300 byte
2° Caso:
DLC1 utilizza un protocollo non confermato
PDU-DATI di DLC1
100 byte Max 900 byte
Network
DLC1
Physical Physical Physical
DLC1 DLC2
Network Network
DLC2
Physical
Header Payload
Header Payload
Header Payload
DLC2 utilizza un protocollo confermato Stop-and-Wait
PDU-DATI di DLC2
100 byte Max 900 byte
PDU-ACK di DLC2: è costituita dalla sola header di 100 byte
3° Caso:
DLC1: come il caso 2
DLC2 utilizza un protocollo confermato Stop-and-Wait
PDU-DATI di DLC2
100 byte Max 500 byte
PDU-ACK di DLC2: è costituita dalla sola header di 100 byte
4° Caso:
DLC1: come il caso 3
DLC2 utilizza un protocollo confermato Go-Back-n con n=2 (come al solito ipotizzare che l’entità
ricevente generi una PDU-ACK per ogni PDU-DATI corretta ricevuta)
PDU-DATI di DLC2
100 byte Max 500 byte
PDU-ACK di DLC2: è costituita dalla sola header di 100 byte
Header Payload
Header Payload
Header Payload
Soluzione
C1 = 16000 bps = 2000 Byte/s 21 = 50 ms = 0,05 s
C2 = 32000 bps = 4000 Byte/s 22 = 100 ms = 0,1 s
1° Caso:
Il livello Network deve eseguire la frammentazione nei confronti del DLC1 e del DLC2, secondo il seguente schema:
sC
HPayloadT DLCDLC
FRAMM2,0
2000
100300
1
11
1=
+=
+=
sC
HPayloadT DLCDLC
FRAMM1,0
4000
100300
2
22
2=
+=
+=
sTTFRAMMPDU
8,042,0411
=⋅=⋅=
Il secondo canale sarebbe più veloce del primo ma si deve adeguare a quest’ultimo attendendo l’arrivo di ogni singolo frammento (vedi schema temporale); pertanto
12 PDUPDUTT =
HNet
100
r
Fragment4
2 200
Payload Net
800
HDLC
100
r
Payload DLC
300
Network
DLC
HNet
100
r
Fragment3
2 200
HNet
100
r
Fragment2
2 200
HNet
100
r
Fragment1
200
HDLC
100
r
Payload DLC
300
HDLC
100
r
Payload DLC
300
HDLC
100
r
Payload DLC
300
Ric
ord
iam
o c
he
la
ca
pa
cità
di sis
tem
a c
orr
isp
on
de
alla
ca
pa
cità
re
lativa
al ca
na
le s
tro
zza
nte
; il
ca
na
le s
tro
zza
nte
è q
ue
llo c
on
ca
pa
cità
in
ferio
re o
ssia
co
n T
di tr
asm
issio
ne
ma
ggio
re.
Ne
l n
ostr
o c
aso
, vis
ta la
pre
se
nza
di fr
am
me
nti,
è n
ece
ssa
rio
co
nfr
on
tare
il lo
ro t
em
po
di tr
asm
issio
ne
: il
ca
na
le s
tro
zza
nte
ris
ulta
e
sse
re il p
rim
o,
vis
to c
he
T
fram
m1 >
Tfr
am
m2
(ve
di sch
em
a t
em
po
rale
).
La
ca
pa
cità
di sis
tem
a v
err
à q
uin
di ca
lco
lata
in
ra
pp
ort
o a
l T
PD
U1.
sB
yte
T
Pa
ylo
ad
CP
DU
Net
sist
ema
10
00
8,080
0
1
==
=
TP
DU
1
T (
ms)
A
B
C
1.1
τ1
τ2
TF
RA
MM
1
TF
RA
MM
2
50 m
s
1.2
1.3
1.4
1.1
1.2
2.1
2.2
2.3
2.4
1.3
1.4
2.1
2.2
2.3
2.4
TP
DU
2
2° Caso:
In questa situazione non è necessario frammentare a livello Network perché il PayloadNet+ H
Net possono essere contenuti nel
PayloadDLC1.
sC
HP
aylo
ad
TD
LC
DL
C
PD
U5,
02
00
010
09
00
1
11
1=
+=
+=
sCAck
TA
CK
02
5,
04
00
0
10
0
2
==
=
sC
HP
aylo
ad
TD
LC
DL
C
PD
U2
5,
04
00
010
09
00
2
22
2=
+=
+=
sT
TR
TT
AC
KP
DU
47
5,
00
25
,0
25
,0
1,0
22
22
2=
++
⋅=
++
=τ
50 m
s
T (
ms)
A
B
C
1
τ1
τ2 T
PD
U2
1
TP
DU
1
RT
T2
2
TA
CK
2
τ2
3
3
A differenza del 1° Caso, per sapere quale dei due canali è strozzante, occorre fare un confronto tra TPDU1 e RTT2 (non più tra TPDU1 e TPDU2 ). Nel nostro caso il canale strozzante è quello tra i nodi A e B in quanto TPDU1 > RTT2 (vedi schema temporale).
sByteT
PayloadC
PDU
Net
sistema1600
5,0
800
1
===
3° Caso: In questa situazione non è necessario frammentare a livello Network dal nodo A al nodo B perché il PayloadNet + HNet possono essere contenuti nel PayloadDLC1 mentre è necessario frammentare a livello Network dal nodo B al nodo C. Il livello Network deve eseguire la frammentazione nei confronti del DLC2, secondo il seguente schema:
sC
HPayloadT DLCDLC
PDU5,0
2000
100900
1
11
1=
+=
+=
sC
HPayloadT DLCDLC
FRAMM15,0
4000
100500
2
22
2=
+=
+=
sC
AckT
ACK025,0
4000
100
2
===
sTTRTTACKFRAMM
375,0025,015,01,022222
=++⋅=++= τ
sRTTRTTTOT
75,02.375,0.22
=== Per sapere quale dei due canali è strozzante occorre confrontare TPDU1 e RTTTOT . In questo caso il canale strozzante è quello tra i nodi B e C in quanto TPDU1 < RTTTOT (vedi schema temporale).
Payload Net
800
HDLC2
r 100
r
Payload DLC2
500
Network
DLC2
HNet
100
r
Fragment1
400
HNet
100
r
Fragment2
400
HDLC2
r 100
r
Payload DLC2
500
La
ca
pa
cità
de
l sis
tem
a d
ipe
nd
erà
pe
rciò
da
RT
TT
OT
rife
rito
al ca
na
le B
-C.
sB
yte
RT
T
Pa
ylo
ad
CT
OT
Net
sist
ema
66
,1066
75
,08
00
==
=
50 m
s
T (
ms)
A
B
C
1
τ1
τ2
TF
RA
MM
2
1.1
2
T
AC
K
1.2
TP
DU
1
RT
T2
RT
T2
τ2
RT
TT
OT
2.1
2.2
4° Caso:
In questo caso è necessaria una frammentazione che è la stessa del 3° caso (vedi grafico precedente).
sC
HPayloadT DLCDLC
PDU5,0
2000
100900
1
11
1=
+=
+=
sC
AckT
ACK025,0
4000
100
2
===
sC
HPayloadT DLCDLC
FRAMM15,0
4000
100500
2
22
2=
+=
+=
sTTRTTACKFRAMM
375,0025,015,01,022222
=++⋅=++= τ
sTTFRAMMWIN
3,015,0222
=⋅=⋅=
Come si vede dal grafico temporale, i frammenti della seconda PDU non possono partire immediatamente una volta ricevuto l’ACK ma devono attendere che sia stata ricevuta l’intera PDU. Il canale strozzante è quindi il primo, e si ha che:
sByteT
PayloadC
PDU
Net
sistema1600
5,0
800
1
===
50 ms
T (ms)
A
B
C
1
τ1
τ2
TFRAMM
1.1
2
TACK
1.2
TPDU1
2.1 2.2
TWIN
Esercizio 3 (1° Itinere del 29/04/2003 )
Sia data la rete indicata in figura (il sistema è privo di errori) dove il nodo B commuta i pacchetti in
un tempo trascurabile con modalità store-and-forward. Tutti i nodi dispongono di buffer di
dimensione infinita.
byte da trasferire
C 1, τ 1 C 2, τ 2
Nodo A Nodo B Nodo C
Caratteristiche dei canali di trasmissione (entrambi full-duplex):
C 1 = 64.000 bps τ 1 = 50 ms
C 2 = 16.000 bps τ 2 = 100 ms
Caratteristiche dei protocolli di comunicazione:
Livello DLC1
Utilizza un protocollo non confermato:
PDU-DATI di DLC1
100 byte Max 900 byte
Livello DLC2
Utilizza un protocollo non confermato:
PDU-DATI di DLC2
100 byte Max X byte
Livello Network
Utilizza un protocollo non confermato con possibilità, quando necessario, di frammentazione.
PDU-DATI di Network
100 byte Max 800 byte
Livello Transport
Utilizza un protocollo non confermato:
PDU-DATI di Network
200 byte Max 600 byte
Network
DLC1
Physical Physical Physical
DLC1 DLC2
Network Network
DLC2
Physical
Header Payload
Header Payload
Transport Transport
Header Payload
Header Payload
DOMANDA:
Determinare la dimensione massima X del Payload di DLC2 affinchè la capacità del sistema
sperimentata al di sopra del livello Transport (quando è in corso un trasferimento di byte dal nodo
A al nodo C) sia Csistema=750 byte/s.
Soluzione
C1 = 64000 bps = 8000 Byte/s 21 = 50 ms = 0,05 s
C2 = 16000 bps = 2000 Byte/s 22 = 100 ms = 0,1 s
Csistema=750 Byte/s (imposto)
sC
HPayloadT DLCDLC
PDU125,0
8000
1000
1
11
1==
+=
strozzante
Tr
sistemaT
PayloadC = 750
600=
strozzanteT
750
600=
strozzanteT sT
strozzante8,0=
Il tempo di trasferimento di una PDU sull’ipotetico canale strozzante, in modo che Csistema=750 Byte/s, deve essere di 0,8s.
Se . = Byte da trasferire dal nodo B al nodo C in 0,8s:
8,02
=C
α8,0
2000=
αByte1600=α
Per soddisfare il valore del Tstrozzante trovato prima, la quantità di dati da trasferire è di 1600 Byte. Ipotizziamo di avere da parte del DLC2 una disponibilità di 1500 Byte del Payload + 100 Byte di Header. Il PayloadDLC2 non verrà mai riempito completamente, dato che dal Network arrivano solo 900 Byte. Si arriverebbe ad avere a livello DLC2 un pacchetto di 1000 Byte complessivi (HNET + PayloadNET + HDLC2), ma non di 1600 Byte. Si rende necessario quindi il processo di frammentazione: il livello Network frammenta secondo il seguente schema: n = numero frammenti y = dimensione Payload del frammento a livello Network x = dimensione Payload del frammento a livello DLC2
Bisogna fare in modo che la somma di frammenti a livello DLC2 e delle rispettive Header sia di 1600 Byte. Ora troviamo n:
nHH
n
PayloadDLCNET
NETα
=
+
+2
nn
1600100100
800=
+
+
nn
n 1600200800=
⋅+
800200 =⋅ n 4=n I frammenti dovranno essere 4. A questo punto è semplice calcolare le dimensioni di ogni frammento:
Payload Net
800
HNet Fragment1
100
r
y
HNet Fragment2
100
r
y
HNet Fragment3
100
r
y
HNet Fragment n
100
r
y
Network
DLC2 HDLC2
r
Fragment1
100
r
x
HDLC2
r
Fragment3
100
r
x
HDLC2
r
Fragment2
100
r
x
HDLC2
r
Fragment n
100
r
x
Payload Net
800
HNet Fragment1
100
r
200
HNet Fragment2
100
r
200
HNet Fragment3
100
r
200
HNet Fragment4
100
r
200
Network
DLC2
HDLC2
r
Fragment1
100
r
300
HDLC2
r
Fragment3
100
r
300
HDLC2
r
Fragment2
100
r
300
HDLC2
r
Fragment4
100
r
300
( )n
xα
=+100
( )[ ]n
yα
=++ 100100
B
yte
ny
200
4
800
800
==
=
Byt
ey
x300
100
200
100
=+
=+
=
Il P
aylo
ad
DLC
2 a
vrà
qu
ind
i u
na
dim
en
sio
ne
di 3
00
Byte
.
Ca
lco
liam
o o
ra i t
em
pi d
i tr
asfe
rim
en
to s
ul ca
na
le B
-C:
sC
HP
ayl
oad
TD
LC
DL
C
FR
AM
M2,
02000100
300
2
22
2=
+=
+=
sT
TF
RA
MM
PD
U8,
04
2,0
42
2=
⋅=
⋅=
(co
me
sta
bili
to in
izia
lme
nte
)
25 m
s
T (
ms)
A
B
C
TF
RA
MM
2
1.1
TP
DU
2
TP
DU
1
1
τ 1
τ 2
1.2
1.4
1.3
Esercizio 4 (Appello del 08/09/2003)
Sia data la rete indicata in figura (il sistema è privo di errori) dove il nodo B commuta le PDU di livello 3 in
modalità store-and-forward con un tempo di elaborazione trascurabile.
byte da trasferire
C 1, τ 1 C 2, τ 2
Nodo A Nodo B Nodo C
Caratteristiche dei canali di trasmissione (entrambi full-duplex):
C 1 = 64.000 bps τ 1 = 50 ms
C 2 = 48.000 bps τ 2 = 200 ms
Caratteristiche dei protocolli di comunicazione:
Il livello Transport utilizza un protocollo non confermato:
PDU-DATI di Transport
50 byte Max 800 byte
Il livello Network utilizza un protocollo non confermato:
PDU-DATI di Network
50 byte Max 850 byte
Il livello DLC1 utilizza un protocollo confermato Stop-and-Wait:
PDU-DATI di DLC1
100 byte Max 900 byte
PDU-ACK di DLC1: è costituita dalla sola header di 100 byte
Il livello DLC2 utilizza un protocollo confermato Go-Back-n (con n specificato più avanti):
PDU-DATI di DLC2
100 byte Max 900 byte
PDU-ACK di DLC2: è costituita dalla sola header di 100 byte
Network
DLC1
Physical Physical Physical
DLC1 DLC2
Network Network
DLC2
Physical
Header Payload
Header Payload
Transport Transport
Header Payload
Header Payload
Domande:
(Disegnare sempre tutti gli schemi temporali di trasferimento dei messaggi)
1. Calcolare la capacità del sistema (Csistema) sperimentata al di sopra del livello Transport al variare
del numero intero n. Disegnare inoltre il grafico di Csistema(n).
2. Considerando il caso n=1, dire come varia Csistema (aumenta/diminuisce/invariata) nei casi in cui:
a. C 1 aumenta (di una quantità infinitesima)
b. τ 1 aumenta (di una quantità infinitesima)
c. C 2 aumenta (di una quantità infinitesima)
d. τ 2 aumenta (di una quantità infinitesima)
Soluzione
C1 = 64000 bps = sByte8000 21 = 50 ms = 0,05 s
C2 = 48000 bps = sByte6000 22 = 200 ms = 0,2 s
sC
HPayloadT
DLCDLC
PDU125,0
8000
100900
1
11
1
=+
=
+
=
sC
HT
DLC
ACK0125,0
8000
100
1
1
1
===
sC
H
C
HPayloadRTT DLCDLCDLC
2375,08000
100
8000
10090005,022
1
1
1
1
11
1
=++
+⋅=+
+
+= τ
sC
HPayloadT
DLCDLC
PDU166,0
6000
100900
2
22
2
=+
=
+
=
sC
HT
DLC
ACK 0166,06000
100
2
2
2
===
sC
H
C
HPayloadRTT
DLCDLCDLC
582,06000
100
6000
1009002,022
2
2
2
22
22
=++
+⋅=+
+
+= τ
Ca
so n
=1
: C
on n
=1 il secondo c
anale
Go B
ack n
si com
port
a c
om
e u
no S
top &
Wait.
Sic
com
e R
TT
2 >
RT
T1 è il canale
2 c
he c
ondiz
iona il ritm
o
di arr
ivo d
elle
PD
U;
sB
yte
RT
T
Payl
oad
CT
r
sist
em
a5.
13
74
58
2,
080
0)1(
2
==
=
T (
ms)
A
B
C
12
5 m
s
1
2
3
4
5
6
7
8
TP
DU
1
τ1
RT
T1
1
2
3
τ2
Tp
du
2
Rtt
2
Ca
so n
=2
: In
questo
caso s
ul la
to d
estinata
rio s
i ricevono 2
PD
U o
gni R
TT
2;
sB
yte
RT
T
Payl
oad
CT
r
sist
em
a1.
27
49
58
2,
0
80
02
2)
2(2
=⋅
==
T (
ms)
A
B
C
12
5 m
s
1
2
3
4
5
6
7
8
TP
DU
1
τ1
RT
T1
1
2
3
τ2
Tp
du
2
Rtt
2
4
5
Rtt
2
Ca
so n
≥3
: C
om
e s
i vede d
allo
schem
a tem
pora
le,
la c
apacità d
el sis
tem
a n
on d
ipende p
iù d
a n
, m
a d
alla
velo
cità d
el canale
1
sB
yte
RT
T
Payl
oad
CT
r
sist
em
a5.
33
75
23
7,
080
0)
3(
1
==
=≥
T (
ms)
A
B
C
12
5 m
s
1
2
3
4
5
6
7
8
TP
DU
1
τ1
RT
T1
1
2
3
τ2
Tp
du
2
Rtt
2
4
5
Rtt
1
Punto 2: Nel caso in cui n=1 (caso assimilabile al Go-Back n) la formula trovata è ancora valida se le capacità o ritardi dei canali non subiscono sostanziali variazioni (come accade in questo caso, dove gli spostamenti dal valore iniziale sono infinitesimali). Recuperiamo quindi la formula ricavata in precedenza per il calcolo della C di sistema:
22
800)1(
RTT
Byte
RTT
PayloadC Tr
sistema==
Come si può vedere, la capacità del sistema trovata è funzione di RTT2, che a sua volta
avevamo calcolato in funzione di τ2 e C2.
2
2
2
2
2
22
110022
22
CC
H
C
HPayloadRTT DLC
DLCDLC
+⋅=+
+
+= ττ
Riscrivendo quindi Csistema:
2
2
11002
C
PayloadC Tr
sistema
+⋅
=
τ
La Capacità del sistema è quindi indipendente da C1 e τ1 e pertanto aumenti infinitesimali di questi due valori non avrebbero conseguenze sulla Capacità finale del sistema. Un
aumento del ritardo τ del canale 2 diminuirebbe invece la velocità di trasferimento del sistema, mentre un incremento di C2 ne migliorerebbe le prestazioni.
La funzione Csistema(n)
0
500
1000
1500
2000
2500
3000
3500
4000
0 1 2 3 4 5 6 7
n
Csis
tem
a (
Byte
/s)
Esercizio 5 (1° Itinere del 24/11/2003)
Sia data la rete indicata in figura (il sistema è privo di errori), nella quale il nodo B commuta i
pacchetti a livello 3 in un tempo trascurabile con modalità store-and-forward. Tutti i nodi
dispongono di buffer di dimensione infinita.
byte da trasferire
C1 , τ 1 C2 , τ 2
Nodo A Nodo B Nodo C
Caratteristiche dei canali di trasmissione (entrambi full-duplex):
C1 = 24.000 bps τ 1 = 150 ms
C2 = 32.000 bps τ 2 = 100 ms
Caratteristiche dei protocolli di comunicazione:
DLC1 utilizza un protocollo non confermato
PDU-DATI di DLC1
100 byte Max 1700 byte
DLC2 utilizza un protocollo confermato Go-Back-n (come al solito ipotizzare che l’entità ricevente
generi una PDU-ACK per ogni PDU-DATI corretta ricevuta)
PDU-DATI di DLC2
100 byte Max 900 byte
PDU-ACK di DLC2: è costituita dalla sola header di 100 byte
Network utilizza un protocollo non confermato, il quale prevede, quando serve, la funzione di
frammentazione.
PDU-DATI di Network
100 byte Max 1600 byte
Transport utilizza un protocollo non confermato
Network
DLC1
Physical Physical Physical
DLC1 DLC2
Network Network
DLC2
Physical
Header Payload
Header Payload
Transport Transport
Header Payload
PDU-DATI di Transport
100 byte Max 1500 byte
Domande:
(Disegnare tutti gli schemi temporali; spiegare sempre ed in dettaglio ogni passo/assunzione fatti)
1. Calcolare la capacità del sistema Csistema sperimentata al di sopra del livello Transport
quando è in corso un trasferimento di byte dal nodo A al nodo C, nel caso in cui n=1
(DLC2)
2. Mantenendo ferme le ipotesi di cui al punto 1 e supponendo di far variare C2 da zero a
infinito, calcolare la funzione Csistema(C2) tracciandone altresì il grafico.
Mantenendo ferme le ipotesi di cui al punto 1 e supponendo di far variare n (DLC2) da 1 a infinito,
calcolare la funzione Csistema(n) tracciandone altresì il grafico.
Soluzione
C1 = 24000 bps = 3000 Byteps 21 = 150 ms = 0,15 s
C2 = 32000 bps = 4000 Byteps 22 = 100 ms = 0,1 s
Il livello Network deve eseguire la frammentazione nei confronti del DLC2, secondo il seguente schema:
Header Payload
HTr Payload Tr
100 1500
HNet Fragment1
100 r
800
HNet Fragment2
100 r
800
Payload Net
1600
HDLC Payload DLC
100 900
HDLC Payload DLC
100 900
Transport
Network
DLC
sC
HPayloadT
DLCDLC
PDU6,0
3000
1001700
1
11
1=
+=
+=
sC
HPayloadT DLC
fram
Fram25,0
4000
100900
2
2
2=
+=
+=
( )s
C
HPayloadRTT DLCDLC 475,0
4000
10029001,02
22
2
22
22=
⋅++⋅=
++= τ
sRTTTPDU
95,0475,02222
=⋅=⋅= Tempo per il trasferimento di una PDU sul canale 2
(2 frammenti)
Siccome TPDU2 > TPDU1 è il canale 2 che condiziona il ritmo di arrivo delle PDU;
sByteRTT
PayloadC Tr
sistema1578
2475,0
1500
2 2
=⋅
==
2° punto:
C sistema dipende da C2 quando 12 )(2 PDUTCRTT ≥ , ovvero fino a che RTTTPDU 21 =
2200900
2,06,0
22
2
2
2
2
21
1
⋅
++=
⋅
++=
=
C
C
HMSST
RTTT
PDU
PDU
τ
RTT2
1 2
1.2 1.1
TPDU1
τ1
τ2
2.1 2.2
TFram2
T (ms)
C
B
A
0
500
1000
1500
2000
2500
3000
0 5000 10000 15000 20000
C2 (Byte/s)
C s
iste
ma (
Byte
/s)
sByteCC
C
C
1100022002,0
22002,0
40018004,06,0
22
2
2
=⇒=⋅
=
++=
�� Con C2 < 11000 ( )2
2
2RTT
PayloadCC Tr
sistema=
( ) 22004,0
1500
21002900
1,02
1500
22
2
)(2
2
22
2
2 +=
⋅
⋅+
+⋅=
⋅
+
+=
C
C
CC
HM
PayloadCC Tr
sistema
τ
2
2
6
2
2
22
2)22004,0(
10.3,3
)22004,0(
)1500(4,0)22004,0(1500)('
+=
+−+
=CC
CCCC
sistema
La derivata prima è sempre positiva, quindi la funzione risulta essere sempre crescente
4
2
2
6
2)22004,0(
)176032,0(10.3,3)(''
++−
=C
CCC
sistema
La derivata seconda è sempre negativa, quindi la funzione presenta una concavità rivolta verso il basso
Per C2 = 0 : ( ) 00 =sistema
C per cui la funzione passa per l’origine C2 per sua natura può assumere solo valori positivi �� Con C2 > 11000 il valore della Csistema rimane costante poiché non dipende più da C2 (il canale limitante risulta essere il primo), per cui:
sByteHM
MC
T
PayloadCC
Tot
Tr
sistema2500
3001500
15003000)(
1
1
2=
+⋅=
+⋅==
RTT2
1 2
1.2 1.1
TPDU1
τ1
τ2
2.1 2.2
Tpdu2
T (ms)
C
B
A
3° Punto: La funzione Csistema(n) è una funzione discreta, poiché la variabile indipendente n può assumere solo valori discreti positivi, da 1 a infinito. Al crescere della finestra (n) aumentano i frammenti che possono essere spediti in maniera consecutiva prima dell’arrivo del primo ACK. Per questo motivo la Csistema cresce all’aumentare di n ed arriverà a stabilizzarsi nel momento in cui il tempo di trasferimento della finestra risulta essere maggiore di RTT. Si procede quindi calcolando la Csistema aumentando progressivamente n ed analizzando la rispettiva situazione:
( ) sByteRTT
PayloadnC Tr
sistema1578
475,02
1500
21
2
=⋅
===
( )2=nCsistema :
sC
HPayloadT DLCDLC
PDU6,0
3000
1001700
1
1=
+=
+=
sC
HFragmentTT DLCDLC
WindowPDU5,0
4000
2)100900(2)(
2
2=
⋅+=
⋅+==
Il tempo di trasferimento della finestra (i due frammenti) è maggiore di RTT2, per cui a partire da n>=2 il protocollo DLC2 si comporta come se non fosse confermato.
Essendo TPDU2 < TPDU1 si può concludere che il canale che condiziona la C sistema è il primo. Osservando lo schema temporale si nota inoltre che all’aumentare di n (dopo il valore “2”) la situazione non cambia. Il nodo B non sfrutterà mai una finestra maggiore di 2 poiché deve rimanere in attesa dell’arrivo del pacchetto dal nodo A. Si può concludere quindi che con n>=2 lo schema temporale rimane costante e uguale a quello sopra indicato, per cui
sByteT
PayloadnC Tr
sistema2500
6,0
1500)2(
1
===>
0
500
1000
1500
2000
2500
3000
0 1 2 3 4 5 6
n
Csis
tem
a (
Byte
/s)
ll grafico della funzione Csistema(n)
Esercizio 6 (Appello del 10/02/2004)
Sia data la rete indicata in figura (il sistema è privo di errori), nella quale il nodo B commuta i
pacchetti a livello 3 in un tempo trascurabile con modalità store-and-forward. Tutti i nodi
dispongono di buffer di dimensione infinita.
byte da trasferire
C1 , τ 1 C2 , τ 2
Nodo A Nodo B Nodo C
Caratteristiche dei canali di trasmissione (entrambi full-duplex):
C1 = 32.000 bps τ 1 = 150 ms
C2 = 24.000 bps τ 2 = 100 ms
Caratteristiche dei protocolli di comunicazione:
DLC1 utilizza un protocollo confermato di tipo Go-Back-n (come al solito ipotizzare che l’entità
ricevente generi una PDU-ACK per ogni PDU-DATI corretta ricevuta), con n specificato più avanti
PDU-DATI di DLC1
100 byte Max 500 byte
PDU-ACK di DLC1: è costituita dalla sola header di 100 byte
DLC2 utilizza un protocollo non confermato
PDU-DATI di DLC2
100 byte Max 1000 byte
Network utilizza un protocollo non confermato, il quale prevede, quando serve, la funzione di
frammentazione (come al solito ipotizzare che l’operazione di ricomposizione della PDU
frammentata venga svolta solo sul destinatario finale C).
PDU-DATI di Network
100 byte Max 1600 byte
Transport utilizza un protocollo non confermato
Network
DLC1
Physical Physical Physical
DLC1 DLC2
Network Network
DLC2
Physical
Header Payload
Header Payload
Transport Transport
Header Payload
PDU-DATI di Transport
100 byte Max 1500 byte
Domande:
(Disegnare tutti gli schemi temporali; spiegare sempre ed in dettaglio ogni passo/assunzione fatti)
1. Nel caso in cui n=1 (DLC1) calcolare:
a. la capacità Csistema sperimentata al di sopra del livello Transport in un trasferimento
da A a C.
b. il ritardo τ end-to-end da A a C sperimentato al di sopra del livello Transport da un
messaggio di lunghezza pari a 1500 byte (si ipotizzi che sulla rete venga trasferito
solo tale messaggio).
Calcolare Csistema e τ end-to-end richiesti ai punti (a) e (b) della precedente domanda, nel caso in cui
n=2 (DLC1), calcolandone altresì la variazione percentuale (rispetto ai valori calcolati alla
domanda precedente).
Soluzione
C1 = 24000 bps = 3000 byte/s 21 = 150 ms = 0,15 s
C2 = 32000 bps = 4000 byte/s 22 = 100 ms = 0,1 s
Il livello Network deve eseguire la frammentazione nei confronti del DLC1, secondo il seguente schema:
HTr Payload Tr
100 1500
HNet Fragment1
100 r
800
Payload Net
1600
Transport
Network
DLC
HDLC Payload DLC
100 r
900
HNet Fragment1
100 r
800
HDLC Payload DLC
100 r
900
HNet Fragment1
100 r
800
HDLC Payload DLC
100 r
900
HNet Fragment1
100 r
800
HDLC Payload DLC
100 r
900
Header Payload
1.1 1.2
1.1
TPDU1
τ1
τ2
Tfr1
1.4 1.3 1.2
RTT
1.3 1.4
Tfr2
2.1
2.1
2.2
C
B
A
RTT
Punto 1: In questo primo caso DLC1 utilizza un protocollo confermato di tipo Go-Back-n con n pari ad 1, funzionando peranto di fatto come un protocollo di tipo Stop-and-Wait. Sapendo inoltre che il protocollo utilizato da DLC2 è di tipo non-confermato, possiamo disegnare lo schema temporale sotto riportato.
Dovendo calcolare la C del sistema sperimentata al di sopra del livello Transport, iniziamo con il calcolare i tempi impiegati per trasmettere un frammento rispettivamente sul primo e sul secondo canale e quindi l’RTT relativo alla trasmissione lungo il canale 1 di un frammento :
sC
HPayloadT
DLCmafr
fram15,0
4000
100500
1
1=
+=
+=
sC
HPayloadT
DLCmafr
fram2,0
3000
100500
2
2=
+=
+=
( )s
C
HPayloadRTT
DLCmafr
475,04000
100250015,02
22
1
11 =⋅+
+⋅=+
+= τ
A questo punto possiamo calcolare i tempi totali di trasmissione di una PDU (composta come visto da 4 frammenti) sul primo e sul secondo canale e confrontarli quindi tra loro…
sRTTTPDU
9,1475,044 11
=⋅=⋅=
sframPDU
TT 8,02,044 22
=⋅=⋅=
Siccome TPDU1 > TPDU2, sarà il canale 1 a condizionare il ritmo di arrivo delle PDU e la capacità del sistema sperimentata al di sopra del livello Transport in un trasferimento da A a C sarà pari a:
sbyte
RTT
PDU
T
PDUC
TRANSPORT
PDU
TRANSPORT
sistema789
4475,0
1500
411
=⋅
===
Il ritardo τend-to-end da A a C sperimentato al di sopra del livello Transport da un messaggio di 1500 byte altro non è che il tempo che intercorre dall’istante in cui parte dal nodo A il primo frammento della PDU-dati all’istante in cui l’ultimo frammento che compone la stessa PDU-dati giunge sul nodo destinatario. Osservando quindi lo schema temporale si ricava che:
sRTTTTframfram
endtoend 025,2475,032,01,015,015,031221
1 =⋅++++=++++=−− τττ
Punto 2: Nel secondo caso DLC1 utilizza un protocollo confermato di tipo Go-Back-n con n=2 mentre DLC2 è sempre di tipo non-confermato. Lo schema temporale risulta quindi differente da quello precedente:
Poichè sul canale 1 è utilizzato un protocollo confermato “a finestra” di tipo Go-Back-n, occorre per prima cosa confrontare il tempo di apertura della finestra di trasmissione TWIN con il RTT e dedurre il tipo di trasmissione a regime (ovviamente considerando il sistema privo di errori):
1.1 1.3
1.1
TPDU1
τ1
τ2
Tfr1
1.2
RTT1
2.1 2.3
Tfr2
3.1
C
B
A
RTT1
1.3 1.4
TWIN
2.1 2.2 2.4 2.3
1.2 1.4 2.2 2.4
3.1
sC
HPayloadT
DLCmafr
fram15,0
4000
100500
1
1=
+=
+=
sC
HPayloadT
DLCmafr
WIN3,0
4000
10050022
1
=+
⋅=+
⋅=
( )s
C
HPayloadRTT
DLCmafr
475,04000
100250015,02
22
1
11 =⋅+
+⋅=+
+= τ
Essendo TWIN < RTT1, sul primo canale non si instaurerà una trasmissione continua bensì verranno spediti 2 frammenti ogni RTT. Tenendo sempre a mente che la PDU-Dati presa in considerazione viene divisa in 4 frammenti, possiamo calcolare i nuovi tempi totali di trasmissione di una PDU sul primo e sul secondo canale.
sRTTTPDU
95,0475,022 11
=⋅=⋅=
sC
HPayloadT
DLCmafr
fram2,0
3000
100500
2
2=
+=
+=
sframPDU
TT 8,02,044 22
=⋅=⋅=
Come nel caso precedente, TPDU1 > TPDU2 e pertanto sarà sempre il canale 1 a condizionare il ritmo di arrivo delle PDU. La capacità del sistema sperimentata al di sopra del livello Transport in un trasferimento da A a C sarà pari a:
sbyte
RTT
PDU
T
PDUC
TRANSPORT
PDU
TRANSPORT
sistema1579
2475,0
1500
211
=⋅
===
Sempre aiutandosi con lo schema temporale, si trova inoltre che il ritardo τend-to-end da A a C sperimentato al di sopra del livello Transport da un messaggio di 1500 byte è pari a:
sRTTTTframfram
endtoend 275,1475,02,021,015,015,021221
1 =+⋅+++=+⋅+++=−− τττ
Volendo calcolare le variazioni percentuali di Csistema e del ritardo τend-to-end rispetto ai valori calcolati precedentemente, si trova che:
%100100789
7891579100%
1
12 +=⋅−
=⋅−
=∆sistema
sistemasistema
sistemaC
CCC
%37100025,2
025,2275,1100%
1
12 −=⋅−
=⋅−
=∆endtoend
endtoendendtoend
endtoendτ
τττ
Esercizio 7 (Appello del 25/02/2004)
Sia data la rete indicata in figura (il sistema è privo di errori) dove il nodo B commuta i pacchetti in
modalità store-and-forward con un tempo di commutazione trascurabile.
byte da trasferire
C 1, τ 1 C 2, τ 2
Nodo A Nodo B Nodo C
Caratteristiche dei canali di trasmissione (entrambi full-duplex):
C 1 = 16.000 bps τ 1 = 100 ms
C 2 = 20.000 bps τ 2 = 100 ms
Caratteristiche dei protocolli di comunicazione:
Network utilizza un protocollo non confermato, il quale prevede, quando serve, la funzione di
frammentazione (come al solito ipotizzare che l’operazione di ricomposizione della PDU
frammentata venga svolta solo sul destinatario finale C)
PDU-DATI di Network
100 byte Max 800 byte
Il livello DLC1 utilizza un protocollo confermato di tipo Go-Back-n (con n specificato nella sezione
domande):
PDU-DATI di DLC1
100 byte Max 900 byte
PDU-ACK di DLC1
100 byte
Il livello DLC2 utilizza un protocollo non confermato:
PDU-DATI di DLC2
100 byte Max 300 byte
Network
DLC1
Physical Physical Physical
DLC1 DLC2
Network Network
DLC2
Physical
Header Payload
Header Payload
Header Payload
Header
Domande:
(Disegnare sempre tutti gli schemi temporali di trasferimento dei messaggi)
Determinare la funzione capacità del sistema Csistema(n) sperimentata al di sopra del livello
Network, quando è in corso un trasferimento di una sequenza illimitata di byte dal nodo A al nodo
C, indicandone altresì i valori per n=1, n=2, n=3.
Soluzione
C1 = 16000 bps = 2000 Byte/s 21 = 100 ms = 0,1 s
C2 = 20000 bps = 2500 Byte/s 22 = 100 ms = 0,1 s
Il livello Network deve eseguire la frammentazione nei confronti del DLC2, secondo il seguente schema:
sC
HPayloadT DLCDLC
PDU5,0
2000
200800
1
11
1=
+=
+=
sC
AckT
ACK05,0
2000
100
1
===
sC
HPayloadT DLCDLC
FRAM16,0
2500
100300
2
22
2=
+=
+=
sTTFRAMPDU
64,04.16,04.22
===
sTTRTT
ACKPDU75,005,05,01,022
11=++⋅=++= τ
HNet
100
r
Fragment
200
Payload Net
800
HDLC
100
r
Payload DLC
300
Network
DLC2
HNet
100
r
Fragment
200
HNet
100
r
Fragment
200
HNet
100
r
Fragment
200
HDLC
100
r
Payload DLC
300
HDLC
100
r
Payload DLC
300
HDLC
100
r
Payload DLC
300
Caso n
=1:
Pe
r n
=1
il p
roto
co
llo G
o-B
ack-1
si co
mp
ort
a c
om
e s
e f
osse
un
pro
toco
llo S
top
&W
ait.
Ino
ltre
RT
T>
TP
DU
2,
ovve
ro lo
str
ozza
nte
è il ca
na
le A
-B,
pe
rciò
la
ca
pa
cità
de
l sis
tem
a a
l d
i so
pra
de
l liv
ello
Ne
two
rk d
ipe
nd
e d
al R
TT
.
sB
yte
RT
T
Pa
ylo
ad
CN
etw
ork
Sis
tem
a/
66
,1
06
67
5,
080
0=
==
T (
ms)
A
B
C
1
τ1
τ2
10
0 m
s
T
ack
1.1
1.2
1.3
1.4
TF
RA
M2
RT
T
2
2.1
2.2
2.3
2.4
TP
DU
2
RT
T
3
3.1
TP
DU
1
Caso n
=2:
sP
aylo
ad
TD
LC
WIN
DO
W1
2.5,
02.
1=
==
Pe
r n
=2
il T
WIN
DO
W>
RT
T.
Qu
esto
sig
nific
a c
he
il p
roto
co
llo G
o-B
ack-2
si co
mp
ort
a c
on
la
ca
ratt
eristica
di u
n n
orm
ale
tra
sfe
rim
en
to in
co
ntin
ua
no
n c
on
ferm
ato
, qu
ind
i i te
mp
i d
i tr
asm
issio
ne
de
lle A
ck s
on
o in
influ
en
ti s
ul ca
lco
lo p
resta
zio
na
le.
Il c
an
ale
str
ozza
nte
in
qu
esto
ca
so
è B
-C p
erc
hé
TP
DU
2>
TP
DU
1. L
a c
ap
acità
de
l sis
tem
a a
l d
i so
pra
de
l liv
ello
Ne
two
rk d
ipe
nd
erà
pe
rciò
da
TP
DU
2.
sB
yte
T
Pa
ylo
ad
CP
DU
Net
work
Sis
tem
a/
12
50
64
,08
00
2
==
=
T (
ms)
A
B
C
1
τ1
τ2
TP
DU
1
10
0 m
s
T
ack
1.1
1.2
1.3
1.4
TF
RA
M2
RT
T
2
2.1
2.2
2.3
2.4
TP
DU
2
3
3.1
TW
IN
3.2
3.3
4
Caso n=3: Per n=3 la capacità del sistema al di sopra del livello Network non cambia perché, come prima, TWINDOW>RTT. Il protocollo Go-Back-3 si comporta quindi come un non-confermato. Come nel caso, precedente la CSistema = 1250 Byte/s. A questo punto possiamo visualizzare l’andamento della CSistema al variare dell’apertura della finestra di trasmissione:
n 0 1 2 3 …
C sistema (Byte/s) 0 1067 1250 1250 1250
0
200
400
600
800
1000
1200
1400
0 1 2 3 4
Go-Back-n
C s
iste
ma (
Byte
/s)
Andamento della CSistema in funzione di n (a valori discreti).
Esercizio 8 (1° Itinere del 30/04/2002)
Sia data la rete indicata in figura (il sistema è privo di errori) dove il nodo B commuta i pacchetti in
modalità store-and-forward con τ forwarding = 0.
byte da trasferire
C 1, τ 1 C 2, τ 2
Nodo A Nodo B Nodo C
Caratteristiche dei canali di trasmissione (entrambi full-duplex):
C 1 = 32 Kbps τ 1 = 100 ms
C 2 = 16 Kbps τ 2 = 50 ms
Caratteristiche dei protocolli di comunicazione:
DLC1 e DLC2 utilizzano lo stesso protocollo, il quale è non confermato:
PDU-DATI di DLC1 e 2
50 byte Max 750 byte
Network utilizza un protocollo non confermato:
PDU-DATI di Network
50 byte Max 700 byte
Transport utilizza un protocollo confermato di tipo Stop-and-Wait:
PDU-DATI di Transport
100 byte Max 600 byte
PDU-ACK di Transport
100 byte
Domande:
1) Calcolare la capacità del sistema sperimentata al di sopra del livello Transport, nonché
l’utilizzo medio dei link, quando è in corso un trasferimento di una sequenza illimitata di
byte dal nodo A al nodo C.
2) Calcolare la capacità del sistema sperimentata al di sopra del livello Transport, quando è in
corso un trasferimento di una sequenza di byte dal nodo A al nodo C, nell’ipotesi in cui:
- La lunghezza massima del Payload di DLC2 è pari a 250 byte (le lunghezze massime del
Payload degli altri protocolli rimangono invariate).
Transport
Network
DLC1
Physical Physical Physical
DLC1 DLC2
Network
Transport
Network
DLC2
Physical
Header Payload
Header Payload
Header Payload
Header
- Il protocollo di livello Network supporta la frammentazione delle PDU (ricordare lo
schema della frammentazione visto a lezione nella parte “Le funzioni dei layer”).
3) Con riferimento alla domanda 1, cosa cambierebbe (capacità e utilizzo dei link) nel caso in
cui i canali di trasmissione fossero half-duplex ? Giustificare sempre le risposte.
Soluzione
C1 = 32 Kbps = 4000 sByte 21 = 100 ms = 0,1 s
C2 = 16 Kbps = 2000 sByte 22 = 50 ms = 0,05 s
1° punto:
I tempi per il trasferimento di una PDU-DATI rispettivamente sui canali 1 e 2 sono:
sC
HPayloadT DLCDLC
PDU2,0
4000
50750
1
1=
+=
+=
sC
HPayloadT DLCDLC
PDU4,0
2000
50750
2
2=
+=
+=
Allo stesso modo, i tempi necessari per il trasferimento di una PDU-ACK di conferma lungo i due canali sono:
RTT
T (ms)
A
B
C
1
τ1
τ2
1
Tpdu1
Tpdu2
100 ms
ACK
2
sC
HHHT DLCNETWORKTRANSPORT
ACK05,0
4000
5050100
1
1=
++=
++=
sC
HHHT DLCNETWORKTRANSPORT
ACK1,0
2000
5050100
2
2=
++=
++=
Basandosi sul grafico temporale, a questo punto è facile calcolare il RTT e, di conseguenza, la capacità del sistema vista al di sopra del livello Transport.
s
TTTTRTTACKACKPDUPDU
05,105,01,01,005,04,005,02,01,0
11222211
=+++++++=
=+++++++= ττττ
sByteRTT
PayloadC TRANSPORT
sistema571
05,1
600===
2° punto: Il livello Network deve eseguire la frammentazione nei confronti del DLC2, secondo il seguente schema:
HTr Payload Tr
100 600
HNet Fr.1
50 r
200
Payload Net
700
Transport
Network
DLC
HNet Fr.2
50 r
200
HNet Fr.3
50 r
200
HNet Fr.4
50 r
100
HDLC Payload DLC
50 r
250
HDLC Payload DLC
50 r
250
HDLC Payload DLC
50 r
250
HDLC PayloadDLC
50 r
150
I tempi per il trasferimento sul canale 2 dei diversi frammenti sono:
sC
HPayloadTTT DLCFram
FramFramFram15,0
2000
50250
2
1
321=
+=
+=== Tempo per 1° frammento (1.1)
sC
HPayloadT DLCFram
Fram1,0
2000
50150
2
4
4=
+=
+= Tempo per 4° frammento (1.4)
TPDU2 è formato dai 3 frammenti da 300 byte più il frammento da 200 byte:
sTTTFramFramPDU
55,01,015,033412
=+⋅=+⋅=
s
TTTTRTTACKACKPDUPDU
2,105,01,01,005,055,005,02,01,0
11222211
=+++++++=
=+++++++= ττττ
sByteRTT
PayloadC TRANSPORT
sistema500
2,1
600===
Il nuovo Csistema è leggermente minore a causa dell’overhead di incapsulamento.
3° punto: Se i canali di trasmissione fossero half-duplex non cambierebbe nulla perché il protocollo confermato è di tipo Stop-and-Wait e quindi non si ha una sovrapposizione tra le PDU-DATI e le PDU-ACK.
RTT
T (ms)
A
B
C
1
τ1
τ2
TPDU1
TFram1
100 ms
ACK
1.2 1.1 1.3 1.4
2
TPDU2
Esercizio 9 (Appello del 25/02/2003)
Sia data la rete indicata in figura (il sistema è privo di errori) dove il nodo B, avente buffer di dimensione
infinita, commuta le PDU di livello 3 con modalità store-and-forward con τ forwarding = 0.
byte da trasferire
C 1, τ 1 C 2, τ 2
Nodo A Nodo B Nodo C
Caratteristiche dei canali di trasmissione (entrambi full-duplex):
C 1 = 16000 bps τ 1 = 75 ms
C 2 = da determinare τ 2 = 200 ms
Caratteristiche dei protocolli di comunicazione:
Il livello Transport utilizza un protocollo non confermato:
PDU-DATI:
100 byte Max 700 byte
Il livello Network utilizza un protocollo non confermato:
PDU-DATI:
100 byte Max 800 byte
I livelli DLC1 e DLC2 utilizzano un protocollo non confermato
PDU-DATI:
100 byte Max 900 byte
Domande:
(Disegnare gli schemi temporali di trasferimento dei messaggi giustificando sempre ogni espressione
analitica riportata)
1. Calcolare il bit-rate C2 affinché la capacità del sistema (CSISTEMA) sperimentata al di sopra del livello
Transport sia pari a 350 Byte/s.
Network
DLC1
Physical Physical Physical
DLC1 DLC2
Network Network
DLC2
Physical
Header Payload
Header Payload
Transport Transport
Header Payload
2. Utilizzando il valore C2 calcolato al punto 1, supponendo che la dimensione massima del Payload
del protocollo DLC1 sia pari a 500 byte anziché 900 byte e sapendo che il protocollo di livello
Network supporta la frammentazione (nello stile IPv4), calcolare la capacità del sistema (CSISTEMA)
sperimentata al di sopra del livello Transport.
Mettendosi nelle ipotesi del punto 2, calcolare la capacità del sistema (CSISTEMA) nel caso in cui τ 2 = 100 ms
anziché τ 2 = 200 ms.
Soluzione C 1 = 2000 byte/sec τ
1 = 0,075 sec τ
2 = 0,2 sec
1° punto:
Suppongo che C2 < C1 (quindi TPDU2 > T PDU1 ), poiché CSISTEMA dipende dalla capacità del link più lento, si avrà:
T 2PDU
Tr
sistema
PayloadC =
sapendo che:
CPH DLCDLC
PDU
2
22
2T+
=
si ottiene:
CPH DLCDLC
Tr
PDU
Tr
sistema
PayloadPayloadC
2
222T⋅
+
== = 350 byte/sec
350700
90010022
2⋅
+=⋅
+
=sistema
Tr
DLCDLCC
Payload
PHC = 500 byte/sec
tale valore è accettabile in quanto rispetta l’ipotesi: C2 < C1
t
C
B
A
3 2 1
3 1 2
TPDU1
TPDU2
τ1
τ2
2° punto:
Il livello DLC1 utilizza un protocollo non confermato PDU-DATI: 100 byte Max 500 byte
Il livello Network esegue la frammentazione sul nodo mittente, sul nodo destinatario il livello Network corrispondente compierà l’operazione opposta di deframmentazione. Qui di seguito è illustrata la modalità con cui il livello Network del nodo A esegue l’operazione di frammentazione:
Il tempo che un frammento impiega per andare dal nodo mittente A al nodo intermedio B è calcolato secondo la formula:
sec3,02000
500100
1
11
T =+
=
+
=
CPH DLCDLC
fragAB
similmente:
Header Payload
HTr Payload Tr
100 700
HNet Fragment1
100 400
HNet Fragment2
100 400
Payload Net
800
HDLC1 Payload DLC1
100 500
HDLC1 Payload DLC1
100 500
Transport
Network
DLC1
C
B
A
2.1 1.2 1.1
2.1 1.1 1.2
TfragAB
TfragBC
τ1
τ2
2.2
2.2
sec2,1500
500100
2
22
T =+
=
+
=
CPH DLCDLC
fragBC
Siccome TfragBC > TfragAB è il canale 2 che condiziona il ritmo di arrivo delle PDU, pertanto calcolo
sistemaC come:
2,12
700
2T 2⋅
=
⋅
==
T fragBC
Tr
PDU
Tr
sistema
PayloadPayloadC =291,67 byte/sec
3° punto:
Poiché tutti i protocolli utilizzati dal sistema in esame non prevedono traffico di feedback (sono protocolli di comunicazione non confermati), la capacità del sistema sperimentata al di sopra del livello Transport risulta indipendente dai ritardi dei canali di trasmissione.
Pertanto una variazione del ritardo τ
2 sul canale che collega il nodo B al nodo C non comporta una variazione della CSISTEMA. rispetto al risultato ottenuto al punto precedente.