48
UNIVERSITA' DEGLI STUDI DI BERGAMO Dipartimento di Ingegneria PRESTAZIONI DELLE RETI DI TLC FONDAMENTI DI RETI E TELECOMUNICAZIONE A.A. 2012/13 - II° Semestre

PRESTAZIONI DELLE RETI DI TLC - antimobarbato.altervista.organtimobarbato.altervista.org/SitoWeb/FRT/Prestazioni_delle_Reti.pdf · UNIVERSITA' DEGLI STUDI DI BERGAMO Dipartimento

Embed Size (px)

Citation preview

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

=+100

( )[ ]n

=++ 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

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.