Sindromul ferestrei stupide

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Sindromul ferestrei stupide ( sindromul ferestrei stupide, prescurtat cu SWS) este o problemă legată de implementarea slabă a controlului fluxului la nivelul TCP . Un proces foarte lent de scriere de către expeditor în memoria tampon de transmisie (sau citirea de către receptor) duce, de fapt, la trimiterea unor segmente de date foarte mici, crescând astfel raportul dintre antet și date cu utilizarea ineficientă a canalului.

Sindrom cauzat de expeditor

În cazul în care procesul de scriere a datelor în bufferul TCP al expeditorului este foarte lent, protocolul va trimite o serie de pachete care conțin o cantitate foarte mică de date, cu o utilizare ineficientă a canalului (este de fapt mult mai bine să trimiteți numai un pachet cu octeți de date, pentru care trebuie să plătiți greutatea unui singur antet, pe care îl trimiteți pachete care conțin doar un octet de date, pentru fiecare dintre care trebuie să plătiți greutatea unui antet, un raport de împotriva ).

Soluția la această problemă este de a păstra datele în buffer pentru a le trimite într-un singur segment. Cu toate acestea, așteptarea prea lungă poate provoca întârzieri prea mari în transmisie.

O soluție excelentă la această problemă este oferită de algoritmul Nagle , conform căruia datele trebuie să fie acumulate în buffer și apoi trimise într-un singur bloc atunci când este primit ACK-ul ultimului pachet transmis sau când este atinsă dimensiunea maximă. pentru un segment ( MSS ). Acest algoritm foarte simplu este capabil să rezolve problema ținând cont și de viteza de transmisie a pachetelor: dacă aceasta este mai lentă decât scrierea mesajelor (expeditorul este capabil să acumuleze o cantitate considerabilă de date în buffer înainte de sosirea confirmării ) pachetele sunt create cu raportul maxim de date / antet, valorificând la maximum resursele canalului. Dacă, pe de altă parte, rețeaua este mai rapidă, pachetele vor fi mai mici, acestea vor asigura o anumită continuitate în transmisie și o utilizare mai eficientă a resurselor canalului va fi oricum garantată decât dacă algoritmul nu este utilizat.

Sindrom cauzat de destinatar

Dacă, pe de altă parte, receptorul citește încet pachetele primite, tamponul de intrare va tinde să se umple, obligându-vă să solicitați expeditorului să întrerupă transmisia. De îndată ce un cadru este citit, expeditorul este informat prin confirmarea că spațiul a fost eliberat în buffer și astfel reacționează prin trimiterea unui nou segment. Acest lucru creează o situație în care un nou pachet este generat de îndată ce este eliberat suficient spațiu în tampon , dând naștere din nou unei situații de utilizare ineficientă a canalului din cauza raportului de lungime a pachetului / conținut de date defectuos.

O soluție este adoptarea soluției lui Clark , prin care expeditorul este „păcălit” specificând în mesajele de confirmare că bufferul este încă plin (obligându-l astfel să blocheze trimiterea) până când coada este pe jumătate goală sau suficientă pentru a găzdui un segment de dimensiune maximă ( MSS ).

O altă soluție este întârzierea trimiterii ACK-urilor (blocând astfel expeditorul) până când un anumit număr de octeți sunt eliberați în buffer . Cu toate acestea, timpul maxim de întârziere a confirmărilor trebuie calculat cu atenție, pentru a împiedica expeditorul să intre în timeout și să retransmită pachetul.

Elemente conexe

linkuri externe

Telematică Portal telematic : accesați intrări Wikipedia care vorbesc despre rețele, telecomunicații și protocoale de rețea