210 likes | 391 Views
Kā protokoli darbojas un kā tos projektē?. Kas notiek protokola slānī?. Katrā datortīkla sistēmā (piem., datorā) katrā no slāņiem darbojas programmas modulis, ko sauc par protokola mašīnu (PM -protocol machine) (entītija, sadarbotne)
E N D
Kas notiek protokola slānī? • Katrā datortīkla sistēmā (piem., datorā) katrā no slāņiem darbojas programmas modulis, ko sauc par protokola mašīnu (PM -protocol machine) (entītija, sadarbotne) • Tas caur standartizētiem servisa pieejas punktiem (SAP) saņem no blakus slāņiem (t. i., no augšas un apakšas signālus un reaģē uz tiem.
Kā projektē un izstrādā protokolus? • Pirms sastādīt kāda slāņa protokola PM moduļa programmu ir jāizstrādā tās: • protokola mašīnas (PM) darbības kā arī • partneru PM moduļu sadarbības modelis. • Šeit lieto protokolu mašīnas koncepciju, kas tas ir? • PM ir galīgā automāta speciāls gadījums, ko izmanto kā protokola matemātisku modeli. • Protokolautomāta stāvokļu kopu veido visu protokola mainīgo parametru (arī skaitītāju un taimeru) stāvokļi. • Protokolautomāta stāvokļu izmaiņa notiek datoru tīkla funkcionālo bloku mijiedarbības rezultātā.
1. Protokolu mašīnas • Protokola mašīna – mehānisms, kas nodrošina sadarbības procesu viena slāņa ietvaros • Protokola mašīnu iespējamo specifikāciju veidi • Galīgie automāti (finite automata) • Paplašinātie galīgie automāti (extended finite automata) • Agregāti (aggregate approach – H. Pranevicius) • Aģenti, piem., protokolā SNMP
Galīgā automāta (finiteautomata) modelis (70-80gg) • Ieejas X var izraisīt stāvokļu pārejas Rij(Si => Sj) • stāvokļu pārejas var izraisīt darbības (Rij => Yo) • {S1, S2,...,Sk} – automāta iespējamostāvokļu kopa • {X1, X2,...,Xm} - iespējamoieejukopa – iespējamo ieeju alfabēts • {Y1, Y2,...Yn} - automāta iespējamo izeju (darbību)kopa – alfabēts • Sākuma stāvoklis Vide automats X Y
Kāpēc ‘’galīgais’’ automāts? • Tāpēc, ka tā kopas X, S, Y matemātiski nevar būt bezgalīgas (tad automāta izstrāde nekad nebeigtos) • Vairums gadījumu tās nepārsniedz 10 vai dažus desmitus
Galīgo automātu un to evolūcijas stāvokļu-pārejas sistēmu piemēri(no vienkāršākā uz sarežģītāko) grūti nosaukt, kas nav automats • Biļešu automāts – atpazīst ieeju X un reaģē ar izeju Y • Kafijas automāts - atpazīst ieejas X, atceras tās un reaģē ar izejām Y • Starpsistēmu tilta automāts - atpazīst ieejas X, atceras tās, apmācās (maina reakcijas) un reaģē ar izejām Y • Programmatūras aģents - atpazīst ieejas X, atceras tās, apmācās (maina reakcijas, veidojot vides modeli) un reaģē ar izejām Y kā arī reaģē preventīvi (piem., šaha programma) izejot no vides modeļa stāvokļa, bet ne tikai no X. X Y
Protokola mašīnas darbības process kā stāvokļu/pāreju secība Si+1 Si+2 Si
Galīgā automāta ieeju, stāvokļu un izeju saistība • Ieeja Xi var izraisīt stāvokļa maiņu, bet tā – darbību Yj Xi S’’ S’ Yj
Telefona lietošanas stāvokļu/pāreju diagramma • Can you determine what the system is from the state transition diagram? What does this say about the abstractions used?
FSM (finitestatemachine) datortīklos • Atšķirībā no iepriekš aplūkotiem, kad ieejas ierosina cilvēks, datortīklos FSM sadarbojas viena ar otru. • Tas nozīmē, ka starp to ieejas alfabētiem X un izejas alfabētiem Y jābūt pilnīgai atpazīstamībai • Tie ir determinēti automāti, kur reakcija uz ieejām ir viennozīmīga • Vienīgais izņēmums – pārraides vide, kur var notikt signālu izkropļojums – t.i., kļūda. • Parasti tas izsauc atkārtotu pārraidi.
Piemērs: 3 automātu: 2 protokola mašīnas (katra savas sistēmas slānī) un kanāla modelis sadarbība • Kanāls – varbūtīgais automāts Kanāls PM2 PM1 0.1 0.9 S1 S2 0.1 0.9
Protokoli ar savienojumu nodibināšanu, piem., TCP • Nodibinot savienojumu partneru FSM kļūst aktivizēti uz visu savienojuma laiku • Tie gaida protokola bloku ar sekojošo kārtas numuru un, saņemot to, sūta apstiprinājumu • Ja ierodas bloks ārpus kārtas, tad tiek pieprasīts kārtējais • Nosūtot bloku tiek ieslēgts taimeris; to izslēdz, ja tiek saņemts apstiprinājums. • Ja apstiprinājumu nesaņem pirms taimera beigām, tad bloks tiek sūtīts atkārtoti.
Protokolu projektēšana • Projektējot protokolu nepieciešams ne tikai pārbaudīt vienas FSM darbību, bet arī • Sadarbības alfabētu savietojamību • sadarbību starp partneru FSM • reakciju uz iespējamām kļūdu situācijām • Tādēļ lieto programmatūras rīkus paralēlo procesu verifikācijai, piem., uz Petri tīklu bāzes.
Secinājumi • Protokolu darbību apraksta kā galīgo automātu paveida jeb protokolu mašīnu (PM) sadarbību. • To veic konstruējot stāvokļu/pārejas diagrammas, kas noteic, kā PM reaģē uz attiecīgām ieejām. • Nodibinot vairākus savienojumus katra savienojuma galā darbojas atsevišķa PM kopija, kas kontrolē savienojuma datu plūsmu.