You are on page 1of 36

Raunarske mree

Kontrola toka

K t l
Kontrola
toka
27.10.2010.
Raunarske mree
Kontrola toka

Funkcije Data-Link nivoa


Uokviravanje (framing)
Adresiranje (addressing)
Kontrola ggreaka ((error control))
Kontrola toka (flow control)
Tipovi servisa
Unacknowledged connectionless servis
A k
Acknowledged
l d d connectionless
ti l servis i
Acknowledged connection-oriented servis

27.10.2010.
Raunarske mree
Kontrola toka
Kontrola toka
Problem nastaje
j kada poiljalac
p j alje
j bre frejmove
j nego
g to je
j primalac
p u stanju
j da
ih primi. Da bi se spreilo pretrpavanje primaoca i gubitak poruka uvodi se
kontrola toka koja je organizovana kao:
povratna sprega (feedback-based
(feedback based flow control)
Prijemnik vraa poiljaocu informaciju ta je primio omoguujui da nastavi sa
slanjem novi frejmova.

Osnovni protokoli:
Simplex
Simplex protokol bez ogranienja
Simplex Stop-and-Wait protokol
Simplex
Si l protokol
t k l za kanal
k l sa umovima
i
Sliding-Window
Povratak na N (Go-Back-N)
Selektivna retransmisija (Selective reject, Selective repeat)

27.10.2010.
Raunarske mree
Kontrola toka

Protokoli - zaglavlje
#define
#d fi MAX_PKT
MAX PKT 1024
typedef enum {false,true} boolean;
typedef unsigned int seq_nr; //redni ili ack-brojevi
typedef struct {unsigned char data[MAX_PKT];}
data[MAX PKT];} packet; //def.
//def paketa
typedef enum {data,ack,nak} frame_kind; //def. tipa frejma

typedef struck {
frame_kind kind; //tip frejma
seq_nr seq; //redni broj
seq nr
seq_nr ack; //ack-broj
//ack broj
packet info; //paket sa nivoa mree
} frame;

// Sledea f-ja eka sledei dogaaj i vraa njegov tip


void wait_for_event(event_type *event);
//...Uzima ppaket sa mrenogg nivoa za transmisiju
j kroz kanal
void from_network_layer(packet *p);

27.10.2010.
Raunarske mree
Kontrola toka
Protokoli - zaglavlje
//...Prosleuje informaciju iz prihvaenog frejma ka mrenom nivou
void to_network_layer(packet *p);
//...Preuzima pristigli frejm sa fizikog nivoa i kopira ga u r.
void from_physical_layer(frame *r);
//...Prosleuje frejm ka fizikom nivoa radi transmisija (prenosa).
void to_physical_layer(frame *s);
//...Startuje odbrojavanje kloka i omoguava timeout dogaaj.
void start_timer(seq_nr
start timer(seq nr k);
//...Startuje pomoni broja i omoguava ack_timeout dogaaj.
void start_ack_timer(void);
//
//...Zaustavlja
lj pomoni
i broja
b j i spreava
ack_timeout
k i d j
dogaaj.
void stop_ack_timer(void);
//...Dozvoljava mrenom sloju da izazove network_layer_ready dogaaj.
void enable_network_layer(void);
// Makro-naredba za inkrementaciju k po modulu MAX_SEQ
#define inc(k) if (k<MAX_SEQ) k=k+1; else k=0
// Redni brojevi frejmova se kreu od 0 do MAX_SEQ
// (MAX_SEQ je razliito za razliite protokole!).
27.10.2010.
Raunarske mree
Kontrola toka

1. Simplex protokol bez ogranienja


( Protokol 1 )

Najprostiji (i najidealniji) tip protokola. Podrazumeva:


prenos se obavlja samo u jednom smeru,
mreni slojevi i na prijemnoj i na predajnoj strani su uvek spremni,
vreme obrade se zanemaruje,
raspoloivi su baferi neogranienog kapaciteta,
komunikacioni kanal nikada ne oteuje
j i ne gubi
g frejmove.
j

27.10.2010.
Raunarske mree
Kontrola toka
P
Protokol
k l 1 - kod
k d

typedef enum {frame_arrival} event_type;


#include protocol.h

void sender1(void) void receiver1(void)


{ {
frame s; f
frame r;
packet buffer; event_type event;
while (true) { while(true) {
from network layer(&buffer);
from_network_layer(&buffer); wait_for_event(&event);
wait for event(&event);
s.info=buffer; from_physical_layer(&r);
to_physical_layer(&s); to_network_layer(&r.info);
} }
} }

27.10.2010.
Raunarske mree
Kontrola toka

2. Simplex
p Stop-and-Wait
p protokol
p
( Protokol 2 )

Za razliku od prethodnog sluaja ovde se ne


podrazumevaju 2 stvari:
neogranieno brza obrade podataka i
neogranieni baferski prostor.

27.10.2010.
Raunarske mree
Kontrola toka
Protokol 2 - kod

typedef
d f enum {frame_arrival}
{f i l} event_type;
#include protocol.h

void sender2
d 2(void) id receiver2(void)
void ( id)
{ {
frame s; frame r,s;
packet buffer; event type event;
event_type
event_type event;
while(true) {
while
hil (true)
(t ) { wait for event(&event);
wait_for_event(&event);
from_network_layer(&buffer); from_physical_layer(&r);
s.info=buffer; to_network_layer(&r.info);
to physical layer(&s);
to_physical_layer(&s); //slanje posebnog frejma da bi se
wait_for_event(&event); //probudio poiljlac
} to_physical_layer(&s);
} }
}

27.10.2010.
Raunarske mree
Kontrola toka

3. Simplex protokol za kanal sa umovima


( Protokol 3 )

Za razliku od prethodnog sluaja,


sluaja ovaj protokol
podrazumeva da kanal moe da izazove greku.
Frejmovi
ej ov moguogu biti
b t oteeni
otee ili potpuno
potpu o izgubljeni.
gub je .

#define MAX_SEQ
MAX SEQ 1
// ovaj prtokol broji frejmove po modulu 2
typedef enum {frame_arrival, cksum_err, timeout} event_type;
#i l d protocol.h
#include l h

27.10.2010.
Raunarske mree
Kontrola toka
void sender3(void)
{ Protokol 3 - kod
seq_nr next_frame_to_send;
frame s;
packet buffer;
event_type event;
next frame to send = 0;
next_frame_to_send
from_network_layer(&buffer);
while (true) {
s.info = buffer;
s.seq = next_frame_to_send;
to_physical_layer(&s);
start_timer(s.seq);
wait for event(&event);
wait_for_event(&event);
if(event == frame_arrival) {
from_physical_layer(&s);
if (s.ack == next_frame_to_send) {
from_network_layer(&buffer);
( b ff )
inc(next_frame_to_send);
}
}
}
}
27.10.2010.
Raunarske mree
Kontrola toka

void receiver3(void)
{
Protokol 3 - kod
seq nr frame_expected;
seq_nr frame expected;
frame r,s;
event_type event;
framee_eexpected
pec ed = 0;;

while(true) {
wait_for_event(&event);
_ _ ( );
if (event == frame_arrival) {
from_physical_layer(&r);
if (r.seq == frame_expected) {
to_network_layer(&r.info);
inc(frame_expected);
}
s.ack=1-frame_expected;
to_physical_layer(&s);
}
}
}
27.10.2010.
Raunarske mree
Kontrola toka

4. Numerisanje poruka ( Protokol 4 )


Ovaj protokol je bidirekcioni ( omoguava slanje podataka u oba smera ).

#define MAX_SEQ
MAX SEQ 1 while (true) {
typedef enum {frame_arrival, cksum_err, wait_for_event(&event);
timeout} event_type; if(event==frame_arrival) {
#include protocol.h from_physical_layer(&s);
if (r.seq==frame_expected)
( f d) {
void protocol4(void) to_network_layer(&r.info);
{ inc(frame_expected);
seqq_nr next_frame_to_send;; }
seq_nr frame_expected; if (r.ack==next_frame_to_send) {
frame r,s; from_network_layer(&buffer);
packet buffer; inc(next_frame_to_send);
event_type
t t event;
t }
next_frame_to_send = 0; }
frame_expected = 0; s.info=buffer;
from_network_layer(&buffer);
y ( ); s.seq=next
q _frame_to_send;;
s.info=buffer; s.ack=1-frame_expected;
s.seq=next_frame_to_send; to_physical_layer(&s);
s.ack=1-frame_expected; start_timer(s.seq);
t
to_physical_layer(&s);
h i l l (& ) }
start_timer(s.seq); }

27.10.2010.
Raunarske mree
Kontrola toka

Sliding-Window
Dozvoljava da se poalje vie frejmova pre
nego to
t se neki
ki od
d njih
jih potvrdi
t di
Uvode se novi pojmovi:
p j
prozor na predajnoj strani
bafer na predajnoj strani
prozor na prijemnoj strani
bafer na prijemnoj strani
numerisanje poruka

27.10.2010.
Raunarske mree
Kontrola toka

Parametri
Prozor na predajnoj strani opseg frejmova
k ji mogu biti
koji bi i poslati
l i a nepotvreni
i
Bafer na predajnoj strani uva poruke koje su
poslate a nepotvrene
Prozor na p prijemnoj
j j strani opseg
p g pporuka koje
j
se oekuje
Bafer na prijemnoj strani uva poruke koje su
stigle preko reda

27.10.2010.
Raunarske mree
Kontrola toka
5 Sliding-Window
5. Sliding Window ( Protokol 5 )
Ovaj protokol dozvoljava poiljaocu da isporui vie frejmova (do MAX_SEQ), bez ekanja na ack. Za
razliku od prethodnih protokola, ovde se ne podrazumeva da mreni sloj uvek ima spreman paket. Zato se
uvodi
di dogaaj
d j network_layer_ready,
t k l d koji
k ji oznaava
kada
k d jej paket
k t spreman za slanje.
l j
#define MAX_SEQ 7 // Treba da bude 2n-1
typedef enum {frame_arrival, cksum_err, timeout, network_layer_ready} ev_type;
#include protocol.h
p
static boolean between(seq_nr a, seq_nr b, seq_nr c)
{
if (((a<=b) && (b<c)) || ((c<a) && (a<=b)) || ((b<c) && (c<a)))
return
t (t )
(true);
else
return (false);
}
static void send_data(seq_nr frame_nr, seq_nr frame_expected, packet buffer[])
{
frame s;
s.info
i f = buffer[frame_nr];
b ff f
s.seq = frame_nr;
s.ack = (frame_expected + MAX_SEQ) % (MAX_SEQ + 1);
to physical layer (&s);
to_physical_layer
start_timer (frame_nr);
}
27.10.2010.
Raunarske mree
Kontrola toka

void protocol5 (void)


{
seq_nr nex_frame_to_send;
seq_nr ack_expected; //najstariji a jo ne potvreni frejm
frame f;
packet buffer [MAX_SEQ+1]; //baferi za izlazne frejmove
seq_nr nbuffered; //br. bafera trenutno zauzetih
seq_nr i; //za indeksiranje u okviru niza bafera
ev_type event;

enable_network_layer (); //dozvoljava dogaaj network_layer_ready


ack_expected
k t d = 0;
0
next_frame_to_send = 0;
frame_expected = 0;
nbuffered = 0;

while (true) {
wait for event (&event);
wait_for_event

27.10.2010.
Raunarske mree
Kontrola toka
switch (event) {
case network_layer_ready: //mreni sloj ima paket za slanje
/* Prihvati, zapamti i poalji novi frejm */
from network layer(&buffer[next frame to send]);
from_network_layer(&buffer[next_frame_to_send]);
nbuffered=nbuffered + 1;
send_data (next_frame_to_send, frame_expected, buffer);
inc ((next_
_ frame_to_send);
_ _ )
break;

case frame_arrival: //data ili control frejm je stigao


f
from_physical_layer
h i l l (& )
(&r);
if(r.seq==frame_expected) {
// frejmovi se prihvataju samo ako stignu po redu
to_network_layery ((&r.info); );
inc (frame_expected);
}
// Ack za N podrazumeva da su primljeni i N-1, N-2 itd.
while
hil (between(ack_expected,
(b t ( k t d r.ack,
k next_frame_to_send))
t f t d)) {
nbuffered= nbuffered-1;
stop_timer (ack_expected);
inc ((ack_expected);
p );
}
break;
27.10.2010.
Raunarske mree
Kontrola toka

case cksum_err
cksum err: break; //loi frejmovi se ignoriu
case timeout: // !?!. Ponovo poslati sve frejmove iz bafera
next_frame_to_send=ack_expected;
for ( ii=1;
1; i<=nbuffered;
i< nbuffered; i++ ) {
send_data (next_frame_to_send, frame_expected, buffer);
inc (next_frame_to_send);
}
}
if ( nbuffered < MAX_SEQ )
enable_network_layer ();
else
l
disable_network_layer ();
}
}

27.10.2010.
Raunarske mree
Kontrola toka
Primeri

Povratakk na N bez
b NAK poruke
k

P
Povratak
t k na N sa NAK porukom
k

27.10.2010.
Raunarske mree
Kontrola toka
Primeri

Selektivna retransmisija
Selektivna rentransmisija
j moe da funkcionie na:
data-link nivou obzirom da frejmovi putuju istom trasom (medijumom)
ne postoji preticanje, pa se nakon pristizanja ACK sa viim rednim br.
odmah moe poeti retransmisija prethodnih frejmova
transportnom nivou ukoliko je ispod mreni nivo sa skretnim
paketima, svaki paket moe putovati zasebnom trasom,
paketima trasom pa se eka istek
time-out-a pre poetka retransmisije
27.10.2010.
Raunarske mree
Kontrola toka
Primer
Selektivna retransmisija sa gubitkom Info(2) frejma
Timeout

Prozor 0.. 4 0.. 4 0.. 4 0.. 4 0.. 4 1.. 5 2.. 6 2.. 6 2.. 6 2.. 6 2.. 6 2.. 6 2.. 6 7.. 11 7.. 11

4 5 6 6
3 3 4 5 5 6
Bafer 2 2 2 3 4 4 5 6
1 1 1 1 2 3 3 4 5 6 8
0 0 0 0 0 1 2 2 2 2 2 2 2 7 7

0 1 2 3 4 5 6 2 7 8

Kanal
0 1 3 4 5 6 2

3 3 3 3 3 2
4 4 4 4 3
Bafer 5 5 5 4
6 6 5
6

Prozor 0 4
0.. 0 4
0.. 1 5
1.. 2 6
2.. 2 6
2.. 2 6
2.. 2 6
2.. 2 6
2.. 2 6
2.. 2 6
2.. 7 11
7.. 7 11
7.. 7 11
7.. 7 11
7..

0 1

27.10.2010.
Raunarske mree
Kontrola toka

Numeracija frejmova kod razliitih


protokola za kontrolu toka

Stani i ekaj (Stop-and-Wait)


No 2
Povratak na N (Go-Back-N)
No w + 1
Selektivna retransmisija (Selective Reject)
No 2w

27.10.2010.
Raunarske mree
Kontrola toka
N w+1?
Z t No
Zato
Scenario katastrofe:
- Neka se numeracija vri po modulu W ili manjem (W je veliina
prozora).
- Neka je poiljalac poslao W frejmova.
- Prijemnik
j je
j primio
p sve korektno i poslao
p ACK.
- Svi ACK su izgubljeni (prekid veze, um ili neto drugo)
- Istie time
time-out
out na predajnoj strani i poiljalac ponovo alje pakete
(numerisane 0..W-1)
- Poto je primio sve frejmove regularno, primalac pomera svoj
prozor. Posle W-1 ponovo oekuje 0, ali iz drugog kontingenta
frejmova. Kako ponovo dobija 0, on to shvata kao sasvim novi paket,
koji
j je
j regularno
g stigao,
g , a zapravo
p se radi o retransmisiji.
j ITAVA
PORUKA JE UNITENA !!!

27.10.2010.
Raunarske mree
Kontrola toka
Zato N 2w
Z t No 2 ?
Scenario katastrofe:
- Neka se numeracija vri po modulu W+K ( K < W ).
- Neka je poiljalac poslao W frejmova.
frejmova
- Prijemnik je primio sve korektno i poslao ACK.
- Neki od ACK su
s izgubljeni
i g bljeni (bar j d )
b jedan

- Istie time-out na predajnoj strani i poiljalac ponovo alje pakete


za koje nije dobio ACK
- Poto je primio sve frejmove regularno, primalac pomera svoj
prozor. Obzirom da se u novi prozor nije disjunktan po brojevima
frejmova u odnosu na stari, sigurno se i retransmitovani frejmovi
nalaze u njemu. Primalac ih prima kao nove i ITAVA PORUKA JE
UNITENA !!!

27.10.2010.
Raunarske mree
Kontrola toka
Iskorienost kanala
Stop-and-Wait bez greaka
N N+1
Info(N) Ack(N)
N
tprop tframe tproc
i tprop tproc
a

tack
Ukupno vreme potrebno za slanje poruke razbijene na n-frejmova je T = n Tf ,
gde je Tf vreme koje zahteva svaki pojedinani frejm i ono iznosi:

Tf = tprop + tframe + tiproc + tprop + tack + taproc

gde su
tprop - propagaciono kanjenje kroz kanal
tframe - vreme potrebno za slanje jednog frejma
t iproc, t aproc - vreme potrebno da bi se obradila pristigli info ili ack frejm,
frejm respektivno
tack - vreme potrebno za slanje ACK frejma

27.10.2010.
Raunarske mree
Kontrola toka
Iskorienost kanala
Stop-and-Wait bez greaka
Zanemarujui neka vremena, moemo uprostiti izraz za T:
T = n ( 2 tprop + tframe )

Sada se moe definisati iskorienost kanala kao:


n t frame t frame
U
n (2 t prop t frame ) 2 t prop t frame

t prop 1
ako uvedemo da je a , tada dobijamo: U
t frame 1 2 a
Parametar a moemo izraziti i kao:
d
propagaciono_ vreme Rd
a V
t
transmisiono
ii _ vreme L VL
R
gde su: d - rastojanje (distance) prijemnika i predajnika, V - brzina (velocity)
propagacije (za optika vlakna priblino brzini svetlosti Vl = 3 * 108 m/sec, a
za bakarne provodnike oko 0.67 brzine svetlosti), L - duina frejma u
bitovima, a R - brzina slanja (data rate).
27.10.2010.
Raunarske mree
Kontrola toka
I k i
Iskorienost
tkkanala
l
Sliding Window bez greaka
Efikasnost iskorienja kanala se znaajno poveava ako se omogui slanje veeg
broja frejmove pre potvrde bilo koga od njih. Ako sa w oznaimo broj bafera na
predajnoj strani,
strani a sa a odnos propagacionog kanjenja i vremena potrebnog za
slanje jednog frejma ( kao u prethodnom primeru ), iskorienost kanala se moe
aproksimirati sledeim izrazom:
w tf
1 w 2a 1
tu
U
w
2a 1 w 2a 1
Ovi izrazi dobijeni su pod pretpostavkom da je vreme prenosa 1 (normalizacija), te
da je a zapravo propagaciono kanjenje. Ukoliko je broj bafera (tj. veliina prozora)
na predajnoj strani dovoljno veliki ( w ttrans > 2 tprop + tframe ), iskorienost kanala je
100% (u idealnom sluaju bez greaka u kanalu i uz zanemarivanje vremena obrade
i slanja
j ACK frejmova).
j ) Ako brojj bafera na ppredajnoj
j j strani nije j dovoljan,
j , nastaje
j
zastoj nakon poslatih w frejmova sve dok se ne primi prva potvrda.

27.10.2010.
Raunarske mree
Kontrola toka

Iskorienost kanala
Realni protokoli

Umesto da se koristi obrazac U=Tf / Tt , gde je Tf vreme slanja jednog frejma, a Tt


ukupno vreme za koje je kanal zauzet tokom slanja jednog frejma, ukoliko postoji
mogunost pojave greaka u kanalu, neki frejmovi se moraju ponovo poslati. To
degradira iskorienost kanala i ona se sada rauna po obrascu:
Tf
U
N r Tt
gde je Nr oekivani broj slanja frejma. Sada izrazi za iskorienost kanala imaju
sledei oblik:

27.10.2010.
Raunarske mree
Kontrola toka
Iskorienost kanala
Realni protokoli
Stop and Wait
Stop-and-Wait
1 1 P
U
N r 1 2a 1 2a

Selectiv reject (selektivna retransmisija)


1 P w 2a 1
P jje verovatnoa da
d je
j jedan
j d
U frejm naruen ( smatra se da
w (1 P ) w 2a 1 ACK i NAK frejmovi nisu
2a 1
narueni
i )). Z
Za stani_i_ekaj
t i i k ji
selektivnu retransmisiju
Go-back-N (povratak na N)
Nr=1/(1-P), dok je za povratak
1 P na N veza daleko
w 2a 1
1 2aP komplikovanija.

U
w (1 P)
w 2a 1
(2a 1)(1 P wP)
27.10.2010.
Raunarske mree
Kontrola toka

Verovatnoa naruavanja frejmova


Ukoliko jje verovatnoa g
greke jjednogg bita ( bit error rate ) E,, tada jje
verovatnoa naruenosti frejma veliine L bitova:

P = 1 ( 1 E )L
Obrazloenje:
Ak je
Ako j E verovatnoa
t dad je
j bit naruen,
verovatnoa
t dad nije
ij naruen
jej (1-E)
(1 E)
Frejm nije naruen ako
_ i samo ako ni jedan bit u njemu nije naruen, a
verovatnoa za to je P = (1
(1-E)
E) (1
(1-E)
E) (1
(1-E)
E) ... (1
(1-E)
E) = (1 E)L, gde je L broj
(1-E)
bitova u frejmu.
Verovatnoa da jje frejm
j naruen jje komplemetaran
p verovatnoi da nije
j
naruen, tj. _
P=1-P

Primer: Za E = 10-4 i L = 2048, P = 0.185. Ako je naruen savaki 10-to


hiljaditi bit, narueno je 18,5% frejmova, tj. gotovo svaki peti!
27.10.2010.
Raunarske mree
Kontrola toka

Primer izraunavanja iskorienosti kanala


j
u sluajevima nastajanja
j j greaka
g
Niz poruka veliine L-1000 bitova prenosi se preko 100km dugog komunikacionog
kanala, pri brzini slanja od 20Mb/s. Brzina propagacije signala u kanalu je 2108
m/s Ukoliko je E = 4
m/s. 10-5, odrediti iskorienost komunikacionog kanala za
410
protokole: stop-and-wait, go-back-N, selective-reject.
L 1000 b d 100 103 m tp
tf 0.05ms tp 0.5ms a 10
R 20 10 b / s
6
V 2 108 m / s tf

Stop-and-wait
1 P
U 0.046
2a 1
Go
Go-back-N
back N
w(1 P)
U 0.338
(2a 1)(1 P wP )
0 10 20 30 40 50
Selective-reject
j
w(1 P) Stop and wait Go back N Selective reject

U 0.46
2a 1
27.10.2010.
Raunarske mree
Kontrola toka

Z d i
Zadaci
1. Prikazati saobraajj izmeu 2 vora koji
j za kontrolu toka poruka
p koristi
selektivnu retransmisiju. Paketi su veliina 1000b, brzina slanja 100 Kb/s,
kanjenje full-duplex linije je 10 s/KM, a razdaljina izmeu vorova je
2000 KM. Petpostaviti da su Info-ramovi 2 i 5 narueni, kao i ACK-ram 3.
(Numeracija poinje od nule.) Veliine predajnog i prijemnog prozora su po
5, a bafera 4 poruke.
2. Predajnik
j i prijemnik
p j se nalaze na udaljenosti
j od 1000 KM,, a prenos
p poruka
p
se obavlja pod kontrolom protokola povratak_na_N sa veliinom prozora 7 i
u predajniku. Paketi su veliine 1000b. Signal se kroz kanal prostire brzinom
od 2 108 m/s.
a) Odrediti brzinu slanja podataka tako da iskorienost kanala u sluaju da u njemu
ne nastaju greke, bude bar 50%.
b) Za brzinu slanja podataka dobijenu pod a) skicirati postupak slanja paketa
izmeu predajnika i prijemnika u sluaju da su narueni INFO2 i ACK3 ramovi.
c) Za brzinu slanja podataka dobijenu pod a) izraunati iskorienost kanala u
sluaju da je verovatnoa naruenosti nekog bita u poruci E = 210-5.

27.10.2010.
Raunarske mree
Kontrola toka
Zad.1
ad. Reenje
ee je
Prikazati saobraaj izmeu 2 vora koji za kontrolu toka poruka koristi selektivnu retransmisiju.
Paketi su veliina 1000b, brzina slanja 100 Kb/s, kanjenje full-duplex linije je 10 s/KM, a razdaljina
izmeu vorova je 2000 KM. Petpostaviti da su Info-ramovi 2 i 5 narueni, kao i ACK-ram 3.
(N
(Numeracija
ij poinje
i j odd nule.)
l ) Veliine
V lii predajnog
d j i prijemnog
ij prozora su po 5,
5 a bafera
b f 4 poruke.
k
tf = 10 ms tp = 20 ms => a = 2 Timeout

Prozor 0.. 4 0.. 4 0.. 4 0.. 4 0.. 4 1.. 5 2.. 6 2.. 6 2.. 6 2.. 6 2.. 6 2.. 6 2.. 6 3.. 7 5.. 9

3 3 4 5 5 5 5 6 6 6 7 8
Bafer 2 2 2 3 4 4 4 4 5 5 5 6 7
1 1 1 1 2 3 3 3 3 3 3 3 5 6
0 0 0 0 0 1 2 2 2 2 2 2 2 3 5

0 1 2 3 4 5 2 3 6 5 7 8

Kanal
0 1 3 4 2 3 6 5

3 3 3 3 3 2 6 6 5
4 4 4 3 6
Bafer 4

Prozor 0.. 4 0.. 4 1.. 5 2.. 6 2.. 6 2.. 6 2.. 6 2.. 6 2.. 6 2.. 6 5.. 9 5.. 9 5.. 9 5.. 9 7.. 1

27.10.2010.
Raunarske mree
Kontrola toka
Zad.2 Reenje
Predajnik i prijemnik se nalaze na udaljenosti od 1000 KM, a prenos poruka se obavlja pod kontrolom
protokola povratak_na_N sa veliinom prozora 7 i u predajniku. Paketi su veliine 1000b. Signal
se kroz
k kkanall prostire
ti brzinom
b i 2 108 m/s.
odd 2 /
a) Odrediti brzinu slanja podataka tako da iskorienost kanala u sluaju da u njemu ne
nastaju greke, bude bar 50%.
b) Za brzinu slanja podataka dobijenu pod a) skicirati postupak slanja paketa izmeu
predajnika
d j ik i prijemnika
ij ik u sluaju
l j da
d su narueni
i INFO2 i ACK4 ramovi. i
c) Za brzinu slanja podataka dobijenu pod a) izraunati iskorienost kanala u sluaju da je
verovatnoa naruenosti nekog bita u poruci E = 210-5.

a)
U 0.5 w a + 0.5 a 6.5
tp = 106 / 2 108 = 5 ms
tf = 103/vs tp/6.5 vs 1.3 Mb/s

27.10.2010.
Raunarske mree
Kontrola toka
Zad 2 Reenje
Zad.2
b)

0.. 6 0.. 6 1.. 7 2.. 0 2.. 0 2.. 0 3.. 1 5.. 3

6 6 6 7 0 0 0 0 0 0 0 0 0 0 1 1 3
5 5 5 5 6 7 7 7 7 7 7 7 7 7 7 0 0 2 2
4 4 4 4 4 5 6 6 6 6 6 6 6 6 6 6 7 7 1 1
3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 6 6 0 0
2 2 2 2 2 2 2 3 4 4 4 4 4 4 4 4 4 4 5 5 7 7
1 1 1 1 1 1 1 1 2 3 3 3 3 3 3 3 3 3 3 4 4 6 6
0 0 0 0 0 0 0 0 0 1 2 2 2 2 2 2 2 2 2 2 3 3 5 5

0 1 2 3 4 5 6 7 0 2 3 4 5 6 7 0 1 2 3

NAK(1)
0 1 E D D D D D D 2 3 4

27.10.2010.

You might also like