kompiuterių sistemos
DESCRIPTION
Kompiuterių sistemos. 2 paskaita lekt. dr. A.Slotkienė. Srauto valdymas. Paketų praradimas ir vėlinimas įtakoja persiunčiamo duomenų srauto valdymą Apie prarastus paketus informuoja patvirtinimai, o apie išgadintus paketus sužinome taikydami klaidų kontrolės metodus - PowerPoint PPT PresentationTRANSCRIPT
Kompiuterių sistemos
2 paskaitalekt. dr. A.Slotkienė
• Paketų praradimas ir vėlinimas įtakoja persiunčiamo duomenų srauto valdymą
• Apie prarastus paketus informuoja patvirtinimai, o apie išgadintus paketus sužinome taikydami klaidų kontrolės metodus
• Vienas iš sprendimo būdų praradus duomenis ar jų patvirtinimus yra automatizuotas patvirtinimo užklausimas (Automatic Repeat Request (ARQ)).
• ARQ taikomi trijų tipų protokolai:– Sustok ir palauk (stop-and-wait)– Grįžti N žingsnių (Go-back-N)– Selektyvus kartojimas (Selective-repeat)
Srauto valdymas
Srauto valdymas
Patvirtinimas
• Patvirtinimai gali būti:• Teigiami, pranešantys, kad paketas
sėkmingai priimtas (ACK) • Neigiami, informuojantys kad paketas
gautas su klaidomis (NAK)
Sustok ir palauk protokolas
(a) Prarandamas 1 paketas
A
B
frame 0
frame1
ACK
frame1
ACK
timeTime-out
frame2
(b) Prarandamas ACK
A
B
frame 0
frame1
ACK
frame1
ACK
timeTime-out
frame2
ACK
Gavėjo lango dydis = 1Siuntėjo lango dydis = 1
Sustok ir palauk protokolas
Jei neatsiunčiamas ACK, paketai dubliuojasi Sprendimas: panaudoti paketo antraštėje numeracija. Numeracijai taikomas vienas bitas: 0 ir 1
Vieno bito paketų numeracija
(a) Normalus. (b)Su pakartotiniais siuntimais
(seq, ack, pkt)
Pavyzdys 1
Pavyzdys 2
S-W protokolo efektyvumo skaičiavimas
• Procesas: • Suskaidomi į labai nedidelius paketus • Laukiama ACK• Siunčiamas kitas paketas
• Šis protokolas pasižymi paprastumu, tačiau netenkina šiuolaikinių ryšių reikalavimų
• Labai neefektyvus kai kuriuose fizinėse terpėse, kur a > 1
.
;21
1
1
1
t
s
ts
t
t
ttU
21
1
fPU
Slenkantysis langas
• Įgalina iš karto perduoti kelis paketus • Siunčiantysis mazgas turi buferį (W-lango dydžio),
kuriame laikinai saugo persiunčiamus paketus• Priimantysis mazgas gali išsiųsti iki W paketų
nesulaukęs• ACK
Slenkantysis langas
• Grįžti N žingsnių• Gavėjo lango dydis =1• Jie paketas prarandamas persiunčiamas
prarastasis ir tik tuomet kiti • Selektyvus kartojimas
• Gavėjo lango dydis > 1• Jie paketas pararandamas persiunčiamas tik
prarastasis • Slenkančiojo lango paketai numeruojami moduliu
2k
• Efektyvumas apskaičiuojamas:
21,21
,21,1
KkaiK
U
KkaiU
Slenkančiojo lango protokolai
Grįžti N žingsnių
Selektyvus kartojimas
Grįžti-N-žingsnių
A
B
fr0
timefr1
fr2
fr3
fr4
fr5
fr6
fr3
ACK1 error
Out-of-sequence frames
Go-Back-4: 4 frames are outstanding; so go back 4
fr5
fr6
fr4
fr7
fr8
fr9
ACK2
ACK3
ACK4
ACK5
ACK6
ACK7
ACK8
ACK9
ACKing next frame expected
Gavėjo lango dydis = 1Siuntėjo lango dydis = > 1
Grįžti-4-žingsnius pavyzdys
0 0 m0
1 1 m1
2 2 m2
3 3 m3
0 0 m0
1 1 m1
2 2 m2
3 3 m3
ack 15, win 4
A B
seq. data seq. data
Grįžti-4-žingsnius pavyzdys
0 0 m0
1 1 m1
2 2 m2
3 3 m3
0 0 m0
1 1 m1
2 2 m2
3 3 m3
0 m0
A B
seq. data seq. data
Grįžti-4-žingsnius pavyzdys
0 0 m0
1 1 m1
2 2 m2
3 3 m3
0 0 m0
1 1 m1
2 2 m2
3 3 m3
1 m1
A B
seq. data seq. data
Grįžti-4-žingsnius pavyzdys
0 0 m0
1 1 m1
2 2 m2
3 3 m3
0 0 m0
1 1 m1
2 2 m2
3 3 m3
A B
seq. data seq. data
Grįžti-4-žingsnius pavyzdys
0 0 m0
1 1 m1
2 2 m2
3 3 m3
4 4 m4
0 0 m0
1 1 m1
2 2 m2
3 3 m3
4 4 m4
ack 1, win 30 m0
1 m1
A B
seq. data seq. data
Grįžti-4-žingsnius pavyzdys
0 0 m0
1 1 m1
2 2 m2
3 3 m3
4 4 m4
0 0 m0
1 1 m1
2 2 m2
3 3 m3
4 4 m4
3 m3
A B
seq. data seq. data
m3
Grįžti-4-žingsnius pavyzdys
0 0 m0
1 1 m1
2 m4
3
3
m3
4 4 m4
0 0 m0
1 1 m1
2 2 m2
3 3 m3
4 4 m4
4
A B
seq. data seq. data
4
Grįžti-4-žingsnius pavyzdys
0 0 m0
1 1 m1
2
3
4
0 0 m0
1 1 m1
2 2 m2
3 3 m3
4 4 m4
A B
seq. data seq. data
2 m2
Grįžti-4-žingsnius pavyzdys
0 0 m0
1 1 m1
2 2 m2
3
4
0 0 m0
1 1 m1
2 2 m2
3 3 m3
4 4 m4
A B
seq. data seq. data
3 m3
Grįžti-4-žingsnius pavyzdys
0 0 m0
1 1 m1
2 2 m2
3
4
0 0 m0
1 1 m1
2 2 m2
3 3 m3
4 4 m4
A B
seq. data seq. data
3 m3
4 m4
Grįžti-4-žingsnius pavyzdys
0 0 m0
1 1 m1
2 2 m2
3 3 m3
4 4 m4
0 0 m0
1 1 m1
2 2 m2
3 3 m3
4 4 m4
ack 4, win 0
2 m2
3 m3
4 m4
A B
seq. data seq. data
Grįžti-4-žingsnius pavyzdys
0 0 m0
1 1 m1
2 2 m2
3 3 m3
4 4 m4
5 5 m5
0 0 m0
1 1 m1
2 2 m2
3 3 m3
4 4 m4
5 5 m5
ack 4, win 1
A B
seq. data seq. data
Grįžti-4-žingsnius pavyzdys
0 0 m0
1 1 m1
2 2 m2
3 3 m3
4 4 m4
5 5 m5
6 6 m6
0 0 m0
1 1 m1
2 2 m2
3 3 m3
4 4 m4
5 5 m5
6 6 m6
ack 4, win 2
A B
seq. data seq. data
Grįžti-4-žingsnius pavyzdys
0 0 m0
1 1 m1
2 2 m2
3 3 m3
4 4 m4
5 5 m5
6 6 m6
0 0 m0
1 1 m1
2 2 m2
3 3 m3
4 4 m4
5 5 m5
6 6 m6
5 m5
A B
seq. data seq. data
Grįžti-4-žingsnius pavyzdys
0 0 m0
1 1 m1
2 2 m2
3 3 m3
4 4 m4
5 5 m5
6 6 m6
0 0 m0
1 1 m1
2 2 m2
3 3 m3
4 4 m4
5 5 m5
6 6 m6 6 m6
A B
seq. data seq. data
Grįžti-4-žingsnius pavyzdys
0 0 m0
1 1 m1
2 2 m2
3 3 m3
4 4 m4
5 5 m5
6 6 m6
7 7 m7
8 8 m8
9 9 m9
10 10 m10
0 0 m0
1 1 m1
2 2 m2
3 3 m3
4 4 m4
5 5 m5
6 6 m6
7 7 m7
8 8 m8
9 9 m9
10 10 m10
A B
seq. data seq. data
ack 6, win 05 m5
6 m6
Grįžti-4-žingsnius pavyzdys
0 0 m0
1 1 m1
2 2 m2
3 3 m3
4 4 m4
5 5 m5
6 6 m6
7 7 m7
8 8 m8
9 9 m9
10 10 m10
0 0 m0
1 1 m1
2 2 m2
3 3 m3
4 4 m4
5
6
7 7 m7
8 8 m8
9 9 m9
10 10 m10
A B
seq. data seq. data
ack 6, win 45 m5
6 m6
Grįžti-N-žingsnių efektyvumas
• Kai yra klaidų tikimybė:
12
112
)1(
1221
1
aW
WPPa
PW
aWaP
P
U
Selektyvus kartojimas
• Persiunčiamas tik sugadintas paketas
• Apie sugadintą paketą pranešama NAK
• Efektyviau išnaudoja kanalą
Gavėjo lango dydis = > 1Siuntėjo lango dydis = > 1
Selektyvus kartojimas (4) pavyzdys
0 0 m0
1 1 m1
2 2 m2
3 3 m3
0 0 m0
1 1 m1
2 2 m2
3 3 m3
ack 15, win 4
A B
seq. data seq. data
Selektyvus kartojimas (4) pavyzdys
0 0 m0
1 1 m1
2 2 m2
3 3 m3
0 0 m0
1 1 m1
2 2 m2
3 3 m3
0 m0
A B
seq. data seq. data
Selektyvus kartojimas (4) pavyzdys
0 0 m0
1 1 m1
2 2 m2
3 3 m3
0 0 m0
1 1 m1
2 2 m2
3 3 m3
1 m1
A B
seq. data seq. data
Selektyvus kartojimas (4) pavyzdys
0 0 m0
1 1 m1
2 2 m2
3 3 m3
0 0 m0
1 1 m1
2 2 m2
3 3 m3
A B
seq. data seq. data
Selektyvus kartojimas (4) pavyzdys
0 0 m0
1 1 m1
2 2 m2
3 3 m3
4 4 m4
0 0 m0
1 1 m1
2 2 m2
3 3 m3
4 4 m4
ack 1, win 30 m0
1 m1
A B
seq. data seq. data
Selektyvus kartojimas (4) pavyzdys
0 0 m0
1 1 m1
2 2 m2
3 3 m3
4 4 m4
0 0 m0
1 1 m1
2 2 m2
3 3 m3
4 4 m4
3 m3
A B
seq. data seq. data
Selektyvus kartojimas (4) pavyzdys
0 0 m0
1 1 m1
2 2 m2
3 3 m3
4 4 m4
0 0 m0
1 1 m1
2 2 m2
3 3 m3
4 4 m4
3 m3
A B
seq. data seq. data
nack 2
m3
Selektyvus kartojimas (4) pavyzdys
0 0 m0
1 1 m1
2 m2
3
3
m3
4 4 m4
0 0 m0
1 1 m1
2 2 m2
3 3 m3
4 4 m4
2
A B
seq. data seq. data
43 m3
m3
Selektyvus kartojimas (4) pavyzdys
0 0 m0
1 1 m1
2 m2
3
3
m3
4 4 m4
0 0 m0
1 1 m1
2 2 m2
3 3 m3
4 4 m4
2
A B
seq. data seq. data
43 m3
m44
Selektyvus kartojimas (4) pavyzdys
0 0 m0
1 1 m1
2 2 m2
3 3 m3
4 4 m4
0 0 m0
1 1 m1
2 2 m2
3 3 m3
4 4 m4
ack 4, win 0
2 m2
3 m3
4 m4
A B
seq. data seq. data
Selektyvus kartojimas (4) pavyzdys
0 0 m0
1 1 m1
2 2 m2
3 3 m3
4 4 m4
5 5 m5
0 0 m0
1 1 m1
2 2 m2
3 3 m3
4 4 m4
5 5 m5
ack 4, win 1
A B
seq. data seq. data
Selektyvus kartojimas - efektyvumas
• Kai yra klaidų tikimybė:
12
12
)1(
121
aW
a
PW
aWP
U
Slenkančiojo lango efektyvumas
ARQ efektyvumas (P = 10-3)
Slenkančiojo lango apskaičiavimo pavyzdys
• Tegu RTT=100 ms. • Visi tinklo segmentai nuo siuntėjo iki
gavėjo veikia 100 Mbps sparta. • Norime pasiekti 10 Mbps vidutinę
duomenų persiuntimo spartą TCP protokolu tarp siuntėjo ir gavėjo.
• Koks turėtų būti siuntimo lango dydis?
RTT apskaičiavimas
2K SEQ=0
ACK = 2048
ReceiverSender
RTT
0.9 sec
2.2 sec
RTT = 2.2 s - 0.9 s. = 1.3 s, kur tt=0.9s
Sprendimas
• 100 Mbps tinklo segmentų spartos fiziškai neriboja norimos 10 Mbps vidutinės persiuntimo spartos.
• Galimi tik atsitiktinės pavienių tinklo segmentų perkrovos, todėl skaičiuosime pagal formulę, kuri tą įvertina.
Animacijos
Slenkančiojo lango:http://www.islandman.org/umuc/ifsm450/anim20_3.htmhttp://www.islandman.org/umuc/ifsm450/anim20_4.htmhttp://www.cs.stir.ac.uk/~kjt/software/comms/jasper/SWP3.html
Visi slenkančio lango protokolai:http://www.cs.bham.ac.uk/~rzm/teaching/networks/dlsim/
Simulation.htmlGrįžti N žingsnių (Go-back-N)http://media.pearsoncmg.com/aw/aw_kurose_network_2/
applets/go-back-n/go-back-n.html