Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Protocol simplex de tip pas-cu-pas

c



+ Font mai mare | - Font mai mic



Protocol simplex de tip pas-cu-pas

Vom renunta acum la cea mai nerealista restrictie impusa protocolului prezentat anterior si anume capacitatea nivelului de retea de la destinatar de a prelucra datele sosite cu o viteza infinita (sau, echivalent, prezenta la nivelul DLC de la receptor a unui buffer de dimensiune infinita, care sa poata stoca toate cadrele sosite si care isi astepta randul sa fie preluate de nivelul de retea de aici).



Principala problema careia protocolul trebuie sa-i faca fata este aceea de a preveni ca emitatorul sa inece cu date receptorul (adica sa-i transmita date cu o viteza mai mare decat cea cu care receptorul poate prelucra datele sosite). In esenta, daca receptorul are nevoie de un timp t ca sa execute procedurile from_physical_layer plus to_network_layer, atunci emitatorul trebuie sa transmita cu o viteza medie mai mica de 1 cadru in intervalul t. Mai mult, daca admitem ca hard-ul receptorului nu efectueaza nici stocarea automata in buffer, nici gestionarea sirului de asteptare al cadrelor sosite, emitatorul nu trebuie sa transmita nici o data un nou cadru pana ce precedentul nu a fost preluat de procedura from_physical_layer - caci, altfel, s-ar stoca peste cadrul precedent.

In anumite circumstante restranse (de exemplu, pentru o transmisie asincrona si un nivel DLC la receptor complet dedicat prelucrarii informatiilor sosite pe unica linie convergenta in acel nod), ar fi posibil ca emitatorul sa insereze pur si simplu o intarziere in precedentul protocol, pentru a-l incetini suficient ca sa nu mai inece receptorul. Dar, de cele mai multe ori, in practica, fiece nivel DLC opereaza cu mai multe linii care converg in acel nod, iar intervalul de timp dintre sosirea unui cadru si momentul prelucrarii sale poate varia in limite largi. Daca proiectantul retelei ar putea calcula durata cea mai lunga posibila de prelucrare la receptor, atunci el ar putea programa viteza de transmisie aemitatorului la o asemenea viteza joasa incat, chiar daca fiecare cadru ar suferi intarzierea maxima, nu s-ar intampla o depasire a capacitatii de prelucrare a receptorului. Dar o asemenea solutie ar duce la o utilizare a largimii de banda mult sub valoarea optima (cu exceptia situatiei cand cazul cel mai favorabil si cazul cel mai defavorabil ar fi foarte apropiate intre ele - adica atunci cand domeniul de variatie al timpului de reactie al nivelului DLC al receptorului ar fi foarte restrans).

O solutie mai buna - prin gradul de generalitate al aplicabilitatii sale - o constituie instalarea unei reactii de la receptor la emitator, prin care nivelul DLC receptor trimite, dupa ce a livrat un pachet nivelului sau de retea, un cadru special, de confirmare acknowledgement], catre nivelul DLC al emitatorului,
permitandu-i sa transmita urmatorul cadru; cat priveste nivelul
DLC al emitatorului, el va trebui sa astepte, dupa transmiterea unui cadru, un anumit timp (fixat prin protocol) pana ce primeste cadrul de confirmare. Protocoalele in care emitatorul transmite un cadru si apoi asteapta o confirmare a ajungerii pachetului la destinatie mai inainte de a transmite urmatorul cadru se numesc protocoale de tip pas-cu-pas stop-and-wait

Mentionam ca, in ipotezele considerate pana aici, nivelul DLC al emitatorului nu are nevoie sa inspecteze cadrul de confirmare, caci nu exista decat o singura posibilitate, iar, intrucat doar sosirea cadrului de confirmare la emitator are importanta (nu si continutul sau), receptorul nici nu ar avea nevoie sa depuna vreo informatie in cadrul de confirmare.

Observatie : Chiar pentru un trafic de date de tip unidirectional, vor fi si cadre (cele de confirmare) care circula in sens invers. Deci, canalul fizic de comunicatie intre cele doua calculatoare trebuie sa permita o circulatie in ambele sensuri (cel putin pe rand - deci de tip semiduplex).

Sa renuntam acum si la ipoteza unui canal fizic ce nu induce erori de transmisie - ceea ce, in sfarsit, corespunde realitatii.

Intr-un astfel de canal fizic, cadrele pot fi alterate sau pierdute complet. Vom pastra, insa, ipoteza ca un cadru alterat va fi detectat ca eronat de catre hard-ul de la receptor (prin suma de control). Daca, totusi, cadrul alterat este astfel incat suma de control este corecta, acest protocol - ca, de altfel, toate celelalte protocoale de la acest nivel - nu va lucra corect (adica va livra pachete incorecte nivelului de retea).

Strategia protocolului pas-cu-pas, in cazul unui canal fizic supus la perturbatii, va fi urmatoarea:

Primul pachet de la A catre B este trimis cu primul cadru si, apoi, nivelul DLC de la A asteapta o confirmare; daca acest cadru ajunge la B fara erori, B trimite lui A un cadru de confirmare (denotat cu "ack "), iar daca respectivul cadru cu date ajunge cu eroare, B trimite lui A un cadru de confirmare negativa negative acknowledgement] (denotat cu "nack "); intrucat erorile pot apare si in transmisia de la A la B, dar si in transmisia de la B spre A, cadrul de confirmare (ack sau nack) este protejat prin CRC

Daca B primeste un cadru cu date fara eroare iar cadrul de confirmare ack) ajunge la A fara erori, atunci A poate transmite un nou pachet int-un cadru. In schimb, daca apar erori detectabile fie la transmisia cadrului cu date, fie pe cadrul ack nack, A va retransmite pachetul intr-un nou cadru. In fine, daca fie cadrul cu date, fie ack sau nack returnate sunt pierdute, A va retransmite vechiul pachet la expirarea pauzei de asteptare stabilite.

O astfel de strategie poate prezenta o disfunctionalitate - dupa cum se ilustreaza in figura de mai jos:


Intrucat intarzierile in transmisie sunt arbitrare, este posibil ca nodul A sa termine pauza de asteptare si sa retransmita pachetul atunci cand prima transmisie si/sau ack corespunzatoare este intarziata in mod anormal. Daca B primeste corect ambele transmisii ale respectivului pachet, el nu poate depista, in nici un fel, daca noua transmisie contine acelasi pachet - repetat - sau unul nou. Pentru a rezolva aceasta dilema, s-ar parea ca ar fi suficient ca B sa compare cele doua pachete. Dar nu este asa, mai intai pentru faptul ca este posibil ca doua pachete succesive sa fie identice, iar apoi pentru ca, din punctul de vedere al nivelului DLC, pachetele reprezinta siruri arbitrare de biti, care pot fi eventual identice, si ar fi o incalcare a principiului arhitecturii pe niveluri ierarhizate ca DLC sa se bazeze pe nivelurile superioare pentru a se asigura ca pachetele succesive sunt diferite.

Asadar, rezolvarea nu poate fi decat ca nivelul DLC sa asigure ca nici o combinatie de erori de transmisie sa nu permita livrarea catre nivelul de retea a unei dubluri a unui pachet. Solutia cea mai simpla a acestei probleme este ca nivelul DLC emitator (A) sa utilizeze un numar de ordine sequence number SN)] in antetul cadrului, pentru a identifica pachetele succesive si a depista daca a primit un nou pachet sau dublura aceluiasi pachet.

Din pacate, nici solutia numerotarii pachetelor la emisie nu asigura o functionare corecta in toate conditiile. Cauza o constituie pierderea ack pe canalul de reactie: astfel, daca statia emitatoare (A) nu primeste confirmarea pe durata pauzei de asteptare - reglata prea scurta fata de ack intarziate dar ajunse corecte -, ea transmite dublura cadrului; cand primeste ack, o poate interpreta ca o confirmare a dublurii primului pachet si il va trimite pe urmatorul pachet; daca acest ultim pachet ajunge eronat (la B) - deci nu va genera o ack -, emitatorul (A) poate interpreta eronat ack ajunsa la A dupa transmiterea ultimului pachet - ca fiind confirmarea acestuia, in loc de confirmarea dublurii pachetului precedent. Figura 3 ilustreaza o astfel de situatie.


Pentru a evita aceste situatii, nivelul DLC receptor (B) va returna pe reactie nu o simpla ack sau nack, ci numarul de ordine al urmatorului pachet asteptat - eliminandu-se astfel ambiguitatea privind pachetul care se confirma.

Observatie : S-ar putea utiliza conventia (echivalenta) ca sa se returneze numarul de ordine al ultimului pachet primit, dar nu se procedeaza astfel in practica.

Nodul receptor (B) poate solicita acest urmator pachet dupa primirea fiecarui pachet - la intervale periodice sau la anumite intervale de timp alese arbitrar - printr-un numar de ordine cerut request number RN

Observatie : In numeroase aplicatii, in afara de traficul de la A spre B, exista si un trafic in sens invers (de la B spre A). In astfel de cazuri, cadrele de la B catre A, continand cereri request de noi pachete de la A destinate lui B, trebuie intercalate cu cadrele ce transporta date de la A spre B. Insa, cu exceptia efectului sau asupra momentelor transmiterii cererilor de pachete (emise de B catre A), traficul de la B spre A nu afecteaza strategia pas-cu-pas utilizata pentru traficul de la A spre B; ca urmare, vom ignora traficul in sens invers (cu exceptia recunoasterii faptului ca cererile de noi pachete pot fi intarziate).

Un exemplu de functionare a acestei strategii este dat in Fig. 4, unde s-a presupus ca pachetul 0 a fost repetat - probabil din cauza pauzei de asteptare prea scurte de la nodul A; nodul A intarzie retransmiterea pachetului 1 cerut din nou - fapt ce nu afecteaza corectitudinea protocolului, dar evita retransmisiile inutile.


Vom prezenta in continuare un algoritm de realizare a acestei strategii. Mentionam, insa, mai intai, ca, pentru ca strategie sa functioneze corect, nodurile A si B trebuie initializate corect, in sensul ca nu exista cadre in circulatie pe linie si ca receptorul B asteapta un cadru cu SN egal cu cel al primului cadru transmis de A. Nu conteaza valoarea initiala a lui SN (atata timp cat A si B au convenit asupra ei), deci se poate lua SN = 0. Iat` algoritmul (pentru transmisia de la A spre B):

La emitator (nodul A):

Initializeaza SN

Accepta un pachet de la nivelul de retea din A; daca nu e disponibil nici un pachet, va astepta pana apare unul. Atribuie SN noului pachet.

Transmite pachetul cu numarul de ordine SN intr-un cadru ce va contine SN in campul pentru numarul de ordine al pachetului transmis.

Daca se primeste de la B un cadru fara eroare, continand un RN > SN, incrementeaza SN pana ce SN RN si trece la pasul 2; daca nu se primeste un astfel de cadru intr-un anumit interval de timp (pauza de asteptare fixata), se trece la pasul 3.

La receptor (nodul B):

Initializeaza RN = 0 si repeta la nesfarsit pasii 2 si 3.

Ori de cate ori se primeste de la A un cadru fara eroare si continand
SN RN, paseaza pachetul primit nivelului sau de retea si incrementeaza RN

La momente arbitrare, dar intr-un interval de timp limitat dupa receptionarea de la A a unui cadru cu date corect, transmite un cadru lui A, continand RN in campul aferent.

Structura cadrelor utilizate este:

 

Marcaj terminal

 


SN

RN

P a c h e t

CRC

 

Fig. 5

Se pune problema numarului minim de biti necesari pentru a inscrie in antet numarul de ordine al cadrului. Pentru a raspunde, vom remarca mai intai ca singura ambiguitate intr-un astfel de protocol este intre un cadru - sa zicem cu numarul m - si succesorul sau - cu numarul m + 1. In situatia cand cadrul m este alterat sau pierdut, receptorul nu il va confirma, astfel incat emitatorul va incerca sa il retransmita. Odata receptionat corect, receptorul va transmite o confirmare (ack) inapoi spre emitator. Aici apare, insa, o problema: in functie de situatia in care ajunge confirmarea inapoi la emitator - corect sau nu (adica fie alterata, fie pierduta) -, emitatorul ar putea transmite cadrul nr. m sau cu nr. m + 1. Evenimentul care provoaca transmiterea de catre emitator a cadrului cu nr. m + 2 este sosirea unei confirmari corecte pentru cadrul nr. m + 1. Dar asta implica receptionarea corecta a cadrului nr. m (cu date) ca si receptionarea corecta la emitator a confirmarii aferente. Deci singura ambiguitate posibila este intre un anumit cadru si predecesorul sau succesorul sau imediat - nu intre predecesor si succesor. Asadar este suficient pentru numarul de ordine un singur bit (0 sau 1). In fiece moment, receptorul asteapta urmatorul numar de ordine si orice cadru sosit avand un numar de ordine necorespunzator va fi rejectat, ca fiind o dublura. Cand vine un cadru cu numarul de ordine corect, el va fi acceptat si pachetul din el va fi pasat nivelului de retea, dupa care DLC incrementeaza - modulo 2 - numarul de ordine pe care il asteapta (din 0 in 1 si din 1 in 0).

Dam in continuare un astfel de protocol - de tip pas-cu-pas - pentru transmisia intr-un singur sens, in care emitatorul asteapta o confirmare inainte de a continua cu transmiterea urmatorului pachet; acest protocol mai este denumit si cu confirmare pozitiva si retransmisie Positive Acknowledgement with Retransmission PAR)]. Mentionam de la inceput ca, desi el face fata pierderii cadrelor (prin pauza de asteptare), el necesita ca durata de asteptare sa fie suficient de lunga pentru a permite confirmarilor intarziate sa soseasca, evitand trimiterea de dubluri provocatoare de ambiguitate (caci, in caz contrar, emitatorul va considera, in mod gresit, ca a venit confirmarea ultimului cadru transmis si nu confirmarea cadrului precedent, iar, daca urmatorul cadru transmis se pierde, dar vine confirmarea dublurii, emitatorul nu va incerca retransmisia acestui din urma cadru). Deci, se va pastra ipoteza unei alternante stricte a transmisiei de cadre cu confirmarile de la receptor, prin alegerea unei valori suficient de mari a duratei pauzei de asteptare.

Acest protocol difera de precedentul prin aceea ca atat emitatorul cat si receptorul poseda o variabila a carei valoare este memorizata atata timp cat nivelul DLC este in starea de asteptare. Emitatorul pastreaza numarul de ordine al urmatorului cadru de transmis in next_frame_to_send; receptorul pastreaza numarul de ordine al urmatorului cadru asteptat in frame_expected. Fiecare calculator are o scurta faza de initializare inainte de a intra in bucla infinita.

Dupa transmiterea unui cadru, emitatorul isi declanseaza contorul de timp (ceasul). Daca acesta era deja pornit, el va fi resetat pentru a permite o noua pauza de asteptare completa. Intervalul de timp trebuie ales astfel incat sa permita cadrului sa ajunga la receptor, receptorului sa il prelucreze - chiar si in cel mai dezavantajos caz - si confirmarii sa se propage inapoi pana la emitator. Numai la expirarea acestui timp (pauza de asteptare) se va putea admite ca s-a pierdut fie cadrul transmis, fie confirmarea sa si se va putea transmite dublura respectivului cadru.

Dupa transmiterea unui cadru si pornirea ceasului sau, emitatorul asteapta sa apara un eveniment. Exista trei posibilitati: sa soseasca o confirmare nealterata; sa soseasca o confirmare alterata; sa expire pauza de asteptare fixata la ceas.

Daca vine o confirmare nealterata, emitatorul preia urmatorul pachet de la nivelul sau de retea si il pune in buffer, suprascriind pachetul anterior; apoi face sa avanseze (circular) numarul de ordine (adica din 0 face 1 sau vice-versa). Daca vine o confirmare alterata sau nu primeste nici o confirmare, nu va modifica nici continutul buffer-ului, nici numarul de ordine, asa ca se va transmite dublura ultimului cadru.

/* Protocol PAR */

#define MAX_SEQ 1    /* in acest protocol MAX_SEQ = 1 */

typedef enum event_type /* evenimentele posibile

#include "protocol.h"

void sender2(void)

void receiver2(void)

to_physical_layer(&s);    /* nu e utilizat nici unul din campuri */

Cand la receptor soseste un cadru corect, se verifica numarul sau de ordine pentru a se constata daca el este duplicatul unui cadru. Daca nu este o dublura, el va fi acceptat, iar pachetul din el va fi livrat nivelului de retea, generandu-se un mesaj de confirmare. Pachetele din cadrele eronate si dubluri nu sunt trecute nivelului de retea.

Exista mai multe metode conventionale de stabilire a intarzierilor arbitrare intre transmisiile succesive de cadre din algoritmul prezentat.

Procedeul uzual este ca, la nodul A (emitator) sa se initializeze un ceas cand incepe transmisia unui cadru. Daca timpul fixat pentru ceas (pauza de asteptare) expira inainte de primirea unei cereri de la B (receptorul) pentru un nou pachet, ceasul este resetat si pachetul este retransmis intr-un nou cadru. Daca se primeate de la B o cerere de nou pachet inainte de expirarea timpului fixat la ceas, ceasul este dezactivat. Acelasi procedeu se aplica si la B.

O alternativa ar fi ca B sa trimita un cadru care sa contina o cerere pentru pachetul asteptat, de fiecare data cand primeste un cadru de la A.

p

In practica, pe o linie exista trafic in ambele sensuri.

O posibilitate de a realiza o transmisie de date duplex este de a avea doua canale de comunicatie separate si de a utiliza fiecare canal pentru un trafic de date simplex intr-unul din sensuri. Aceasta ar insemna doua circuite fizice separate, fiecare cu un canal direct pentru date si un canal de reactie pentru confirmari. Dar largimea de banda pentru canalul de reactie ar fi, astfel, aproape in intregime risipita. Altfel zis, utilizatorul ar plati costul a doua circuite, utilizand doar capacitatea unuia din ele.

O solutie mai buna ar constitui-o utilizarea aceluiasi circuit in ambele sensuri, intercaland cadrele cu date de la A spre B cu cele de confirmare de la B spre A. Protocolul pas-cu-pas PAR) a facut uz de transmiterea cadrelor in ambele sensuri, cu o capacitate egala pentru canalul direct si cel de reactie. Receptorul poate recunoaste daca un cadru sosit este cu date sau de confirmare prin simpla inspectare a campului kind din cadrul primit.

O imbunatatire a acestei solutii o constituie tehnica de transmisie numita atasare piggybacking]: confirmarile de la B sunt deliberat intarziate pana cand nivelul de retea de la B are de transmis un pachet; atunci se ataseaza confirmarea la coada cadrului ce transporta catre A respectivul pachet emis de B - de fapt se inscrie RN in campul destinat confirmarii din antetul cadrului cu date plecat de la B.

Principalul avantaj al acestei metode il constituie mai buna utilizare a largimii de banda disponibile pentru canalul fizic (campul ack din antetul cadrului consuma doar cativa biti, in timp ce un cadru de confirmare separat ar necesita un antet, confirmarea si o suma de control). In plus, mai putine cadre transmise inseamna mai putine intreruperi pentru cadre sosite si, eventual (in functie de modul de organizare al soft-ului de la receptie), un buffer de volum mai mic la receptor.

Dar tehnica atasarii introduce si o complicatie care nu aparea la confirmarile trimise separat: durata cat DLC de la receptor trebuie sa astepte un pachet de la nivelul sau de retea pentru a-i putea atasa confirmarea. Daca acest timp depaseste pauza de asteptare de la emitator, cadrul va fi retransmis in mod inutil, creand complicatii. Solutia este urmatoarea: DLC de la receptor asteapta, dupa primirea unui cadru cu date corect, un anumit interval de timp (de ordinul milisecundelor); daca in acest timp vine un pachet de la nivelul lui de retea, ii ataseaza confirmarea, iar in caz contrar (la expirarea acestui interval de asteptare) va trimite un cadru separat de confirmare.

Se poate dovedi cu usurinta ca frecventa posibila de transmisie a cadrelor este mai mica la tehnica atasarii decat la cea cu confirmari separate.

Fie un astfel de protocol pas-cu-pas PAR) cu trafic in ambele sensuri intre nodurile A si B. Vom presupune ca toate cadrele cu date au aceeasi lungime si necesita o aceeasi durata de emisie D, cadrele de confirmare necesita o aceeasi durata de emisie C, iar propagarea pe linie a cadrelor se face cu o intarziere egala T. Vom admite ca atat A cat si B au un sir infinit de pachete de transmis, ca nu apar erori de transmisie si ca pauza de asteptare dupa care se face retransmisia unui cadru este foarte mare. Vom presupune, de asemenea, ca fiecare nod trimite noi pachete si confirmari cu frecventa maxima posibila, conform protocolului pas-cu-pas. Se constata imediat ca frecventa de transmitere a cadrelor in fiece sens este:

si aceasta indiferent daca timpii de start de la nodurile A si B sunt sincronizati ori nu (lasam in seama cititorului sa dovedeasca aceasta ultima afirmatie).

Sa presupunem acum, in plus, ca, ori de cate ori un nod are de transmis o confirmare si un cadru cu date, confirmarea este atasata cadrului cu date (nesesitand tot un timp D pentru emisie). Vom presupune, de asemenea, ca nodul B nu incepe sa transmita date pana ce nu primeste primul cadru de la A (cu alte cuvinte, primul cadru de la B va avea cu sigurnta o confirmare atasata). Rezulta ca toate cadrele urmatoare, in fiecare sens, sunt cadre cu date avand atasata cate o confirmare. Se constata imediat ca frecventa de transmitere in fiecare sens este acum:

si se observa ca, daca

D > R

(ceea ce este intotdeauna adevarat), atunci

f p < f

p

Performantele unui protocol sunt:

A) Corectitudinea correctness] care se traduce prin faptul ca un flux incontinuu de pachete poate fi acceptat de la nivelul de retea al emitatorului (A) si livrat nivelului de retea de la receptor (B) in aceeasi ordine ca la emisie si fara dubluri sau pierderi de pachete. Corectitudinea unui protocol are 2 componente:

a)    sigurana in funcionare safety], care inseamna ca protocolul nu produce rezultate incorecte in nici o situatie - adica nu livreaza nici o data nivelului de retea de la receptie (B) un pachet in afara ordinii corecte;

b)    durata de viata nelimitata liveness], prin aceasta intelegandu-se ca poate produce rezultat la nesfarsit, fara sa intre intr-o situatie de blocare - adica este capabil sa accepte incontinuu pachete in A si sa le livreze in B.

B) Eficienta utilizarii canalului channel efficiency], care exprima cat din largimea de banda a canalului se foloseste pentru transmisia unui cadru - ca medie statistica -, tinand cont de retransmisii si de pauza de asteptare a confirmarii.

Ne vom ocupa acum de performantele protocolului pas-cu-pas PAR) cu numerotarea cadrelor emise si cu cereri de cadre cu numar de ordine specificat.

Pentru analiza corectitudinii acestui algoritm, vom mentine ipotezele:

toate cadrele afectate de erori sunt detectate de CRC de la receptor

fiecare cadru ajunge la destinatie fara erori cu o probabilitate

linia (canalul fizic) este initial libera, primul pachet de la emitatorul A are numarul de ordine SN = 0, iar receptorul B asteapta initial un pachet cu numarul de ordine SN = 0

A-a) Siguranta in functionare este evidenta pentru acest protocol: nodul B asteapta initial pachetul cu numarul de ordine si singurul pachet care il poate livra nivelului sau de retea este cel cu numarul de ordine . Rezulta (prin inductie) ca nodul B a livrat nivelului sau de retea, in ordine, toate pachetele pana (exclusiv) cel cu valoarea curenta a RN si, deci, pachetul cu acea valoare RN este singurul pe care il poate accepta si livra nivelului de retea. Cand se primeste un cadru fara eroare continand pachetul cu numarul de ordine egal cu RN si acesta este pasat nivelului de retea, valoarea din campul RN este incrementata (modulo 2) si situatia expusa mai sus se repeta pentru noua valoare a RN

A-b) Pentru a analiza daca acest protocol are o durata de viata nelimitata, sa presupunem ca nodul A incepe sa transmita un anumit pachet - fie el cel cu numarul de ordine i - la momentul t (vezi Fig. 6).


Fie t momentul cand pachetul este receptionat fara eroare si livrat nivelului de retea de la B (in caz ca acest eveniment nu apare, se ia t ). Similar, fie t momentul in care SN din A este incrementat la valoarea SN = i +1 (daca acest eveniment nu se produce nici o data, se adopta t

Vom observa ca nu putem avea certitudinea ca nivelul de retea din A va furniza intotdeauna pachete intr-un anumit interval finit de timp, asa incat notiunea de durata de viata nelimitata poate reclama, aici, numai o intarziere finita daca exista pachete de trimis.

Fie RN(t) valoarea variabilei RN de la nodul B si fie SN(t) valoarea corespunzatoare a variabilei SN la nodul A. Din algoritm rezulta direct ca SN(t) si RN(t) nu sunt functii descrescatoare in timp. De asemenea, intrucat SN(t) este cel mai mare numar de ordine de pachet cerut de B, cerere (de confirmare) ajunsa la A pana la momentul t, rezulta ca

SN(t) RN(t)

Admitand ca pachetul cu numarul de ordine i nu a fost transmis nici o data inainte de t , atunci (conform proprietatii de siguranta in functionare)

RN(t i

Cum

SN(t ) = i

rezulta ca

SN(t ) = RN(t ) = i

Conform definitiilor lui t si t RN(t) va fi incrementat la valoarea
RN = i +1 la momentul t , iar SN(t) va fi incrementat la valoarea SN = i +1 la momentul t . Tinand cont de inegalitatea (1), rezulta ca

t < t

Nodul A transmite repetat pachetul cu numarul de ordine i , cu intervale de timp finite intre transmisiile succesive, de la momentul t si pana cand el este receptionat prima data fara eroare - adica pana la momentul t . Data fiind probabilitatea q ca fiece retransmisie sa fie receptionata corect si tinand seama ca retransmisiile se fac la intervale finite de timp, va avea loc finalmente o receptie fara eroare la momentul finit t . Nodul B va transmite atunci cadrul purtand RN = i +1 de la momentul t si pana cand el va fi receptionat fara eroare in nodul A - adica la momentul t . Intrucat nodul A transmite si el cadre in acest timp, intervalul de timp intre transmisiile succesive din B este finit si, cum

q > 0

va exista in final momentul finit t . Deci intervalul [t t este finit. Am obtinut asadar ca:

t < t < t

[t t este finit.

Repetand rationamentul pentru i rezulta ca fiecare pachet va fi transmis corect intr-un anumit interval de timp finit, deci algoritmul are o durata de viata nelimitata.

B) Vom analiza acum eficacitatea utilizarii canalului fizic de catre acest protocol (sau, cum i se zice mai pe scurt - desi nu tocmai corect, eficienta protocolului). Eficienta unui protocol este influentata de mai multi factori, printre care esentiali sunt:

lungimea fixa sau variabila a unui cadru

utilizarea sau nu a tehnicii atasarii confirmarilor la traficul de date in sens invers

tipul transmisiei - semiduplex sau duplex - pe linie

caracteristicile statistice ale erorilor de transmisie.

Pentru deducerea eficientei protocoalelor vom folosi urmatoarele notatii:

d

numarul de biti de date (ai pachetului) din cadru

h

numarul de biti din antetul cadrului

l (= d + h )

lungimea totala (in biti) a cadrului

a

numarul de biti ai cadrului de confirmare

C

capacitatea (viteza max. de transmisie a) canalului [biti/s]

p

probabilitatea ca un bit receptionat sa fie eronat

q

probabilitatea ca un cadru cu date sau confirmarea sa sa se piarda ori sa fie alterate

p

probabilitatea ca un cadru cu date sa se piarda ori sa fie alterat

p

probabilitatea ca un cadru de confirmare sa se piarda ori sa fie alterat

r

numarul mediu de retransmisii pentru un cadru cu date

T

durata de asteptare a confirmarii

t

durata intreruperii si servirii + timpul de propagare

S

eficacitatea utilizarii canalului fizic

w

largimea ferestrei (se va explica in paragraful urmator).

Mai inainte de a lua in consideratie efectul erorilor de transmisie, sa vedem care este eficacitatea utilizarii unui canal fizic "perfect". Sa consideram momentul t cand emitatorul incepe sa transmita cadre. La momentul l /C a fost transmis ultimul bit. La momentul l /C t , ultimul bit al cadrului a ajuns la receptor, intreruperea a fost servita si receptorul este gata sa inceapa sa transmita cadrul de confirmare. La momentul l /C t + (a/C) a fost transmis ultimul bit al cadrului de confirmare. La momentul l /C t + (a/C) + t , emitatorul a procesat confirmarea si este gata sa transmita urmatorul cadru cu date. Largimea de banda ocupata de acest cadru va fi

C l /C) + (a/C) + t l a 2Ct

Fie d numarul de biti de date (ai pachetului) efectiv transmisi. Eficacitatea utilizarii canalului fizic va fi atunci:

Daca antetul si confirmarile sunt neglijabile, largimea de banda este mica, iar duratele de propagare si servire sunt scurte, atunci eficacitatea utilizarii canalului va fi mare; iar in caz contrar, va fi mai modesta. Oricum, este clar ca eficacitatea utilizarii canalului pentru un protocol de tip pas-cu-pas va fi mult sub 100 %, chiar si pentru un canal (fizic) fara erori de transmisie.

Sa consideram acum si efectul erorilor de transmisie. Daca un cadru este alterat sau pierdut, emitatorul va astepta un timp T dupa transmiterea ultimului bit al cadrului pana sa reia transmisia. Deci o transmisie fara succes va utiliza l + CT biti din capacitatea de transmisie. Intrucat numarul mediu de retransmisii pentru un cadru este r, capacitatea totala a canalului fizic utilizata pentru transmisia a r cadre eronate si a unui cadru corect va fi:

r l + CT ) + (l + a + 2Ct

Sa determinam si numarul mediu de retransmisii pentru un cadru.

Un cadru se considera transmis corect daca atat datele cat si confirmarea sunt receptionate corect.. Probabilitatea unei transmisii cu succes este

(1 - p ) (1 - p

Deci probabilitatea unei transmisii fara succes va fi

q = 1 - (1 - p ) (1 - p

Probabilitatea de a avea nevoie de k incercari de transmisie (deci k retransmisii) este

(1 - q ) q k

Aceasta conduce la un numar probabil de transmisii pentru un cadru

si, deci, la un numar probabil de retransmisii

Asadar, eficacitatea utilizarii canalului fizic va fi

Daca timpul de servire al receptorului are o valoare mica, emitatorul isi poate stabili durata pauzei de asteptare T putin peste timpul necesar sosirii confirmarii, adica

si rezulta:

Primul factor reprezinta pierderea din cauza surplusului de biti de control overhead din antet. Cel de al doilea factor reprezinta pierderea din cauza erorilor de transmisie. Cel de al treilea factor reprezinta pierderea cauzata de algoritmul pas-cu-pas

In continuare vom cauta un model care sa redea legatura dintre probabilitatea ca un cadru sa fie eronat (q ) si lungimea lui (l ). Vom presupune (nu tocmai realist) ca fiece bit are o probabilitate p de a fi alterat in cursul transmisiei, independent de bitii precedenti si cei ulteriori. In aceasta ipoteza si pentru

a = h

rezulta

 

Apare acum, firesc, intrebarea: este dimensiunea optima a cadrului? Daca lungimea cadrelor este prea mica, S va fi scazuta din cauza surplusului de biti din antet; daca l este prea mare, probabilitatea ca un cadru sa fie receptionat fara eroare va fi scazuta, deci S va scadea din cauza retransmisiilor multiple. Este clar ca valoarea optima pentru l va depinde de dimensiunea antetului, frecventa erorilor, largimea de banda primara si durata pauzei de a]teptare. Pentru gasirea valorii optime, se va anula derivata partiala a lui S (din (1)) in raport cu d

obtinand

.

Daca p are o valoare foarte mica - ceea ce este deseori adevarat -, vom putea face aproximatia

In plus, o valoare mica a lui p inseamna ca putem neglija termenii 1 de sub radical si de dupa radical, obtinand:

  .

Vom remarca faptul ca h + CT reprezinta surplusul cauzat de antete si de pauzele de asteptare. Pe masura ce calitatea liniei se imbunateste (adica p d opt creste. Daca nu exista erori, singurul surplus provine de la antete si de la protocolul pas-cu-pas - ambele reclamand o lungime cat mai mare a cadrului. Pe de alta parte, o frecventa mare a erorilor cere micsorarea lungimii cadrului, pentru a evita retransmiterea unor cadre lungi.

Pentru a analiza eficacitatea utilizarii canalului pentru dimensiuni ale cadrului apropiate de cea optima, sa introducem notatia

astfel incat valorile lui x apropiate de 1 reprezinta cadre cu dimensiuni apropiate de cea optima

Din (1) si (2), utilizand aproximatia

(1 - p )d 1 - pd

obtinem:

Atata timp cat radicalul ramane relativ mic, S nu este foarte sensibila la micile abateri de la dimensiunea optima a cadrului.

Masuratorile practice ale caracteristicilor erorilor pe liniile telefonice au pus in evidenta faptul ca erorile nu afecteaza bitii in mod independent - deci ca modelul

p = 1 - (1 - p ) h + d

si

p = 1 - (1 - p ) a

nu este potrivit -, ci ca erorile apar in rafale - un model mai corect fiind cu

p = 1 - k (h + d )a

si

p = 1 - kh a

Cu metoda de mai sus se pot afla eficacitatea utilizarii canalului

si dimensiunea optima a cadrului

.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 826
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved