Što je sindrom glupog prozora - objašnjenje i prevencija

Podaci(Data) se prenose putem mreže i Interneta(Internet) pomoću TCP/IP Protocol . TCP/IP nije savršen, ali je lakši za implementaciju u usporedbi s drugim protokolima teoretiziranim za komunikaciju podataka... kao što je ISO OSI(ISO OSI) model. Kao i svaka tehnička stvar, TCP/IP također ima neke nedostatke i Sindrom glupog prozora(Silly Window Syndrome) je kreacija jedne od tih mana. Da biste razumjeli što je sindrom glupog prozora(Silly Window Syndrome) ili SWS , prvo ćete morati razumjeti temeljni mehanizam komunikacije podataka u TCP/IP u .

Sindrom glupog prozora

sindrom glupog prozora

Razumijevanje prozora i njegove veličine

Kada dvije točke komuniciraju pod TCP/IP , to uključuje mehanizam potvrde. Ovaj mehanizam potvrde je ono što uzrokuje sindrom glupog prozora(Silly Window Syndrome) kao što je dalje objašnjeno. Bodovi se mogu odnositi na dva računala, klijenta i poslužitelja, itd.

SWS is caused by the receiver advancing the right window edge whenever it has any new buffer space available to receive data and by the sender using any incremental window, no matter how small, to send more data. The result can be a stable pattern of sending tiny data segments, even though both sender and receiver have a large total buffer space for the connection, says MSDN.

Kada računalo, recimo A, pošalje paket podataka drugom računalu B, potonje mora potvrditi i odgovoriti da je primilo paket podataka. Zajedno s potvrdom, također mora poslati veličinu međuspremnika odvojenu za tu komunikacijsku nit. To je općenito broj bajtova koji su slobodni za komunikaciju.

Dakle, kada B kaže da je 100B dostupno za sljedeću poruku, 100B je prozor u Sindromu glupog prozora(Silly Window Syndrome) . To jest, to je veličina međuspremnika. S vlastitim nedostatkom, TCP/IP mehanizam može smanjiti veličinu međuspremnika za svaku komunikaciju/podatak koji dolazi od A. To jest, kad god A pošalje poruku, B pretpostavlja da je veličina međuspremnika smanjena i šalje manji broj. Tako se veličina prozora smanjuje i u jednom trenutku komunikacija jednostavno prestaje jer B šalje 0B kao veličinu prozora.

Kako funkcionira sindrom glupog prozora

Prema gornjem primjeru A i B, ako B pošalje 1000B kao veličinu prozora, A će ga podijeliti na dva 500B i poslati dva paketa od 500B. Nakon primitka prvog paketa, B će poslati potvrdu govoreći da je 500B dostupno za prozor jer drugi paket tek treba primiti. A pretpostavlja da je 500B veličina prozora i stoga šalje dva paketa od 250B. Dok se kod B koristi 500B, a 500 je upravo primljeno, poslat će 0B kao dostupno. U ovom trenutku, A će pretpostaviti da prozor nije dostupan, iako se može dogoditi da je međuspremnik prazan jer je procesor potrošio podatke tamo. A će i dalje poslati manji paket da vidi je li dostupan neki prozor. Ako sadržaj međuspremnika na B još nije uklonjen, i dalje će dobiti 0 kao odgovor/potvrdu.

Dakle, veličina prozora nastavlja se smanjivati ​​jer B šalje potvrdu svaki put kada primi paket od A. Ova veličina je obično manja od prethodne potvrde jer B prima pakete podataka u dijelovima. Ne bi bilo problema kada bi A mogao poslati paket dovoljno velik da pokrije veličinu međuspremnika na B odjednom. Ali da bi to zahtijevalo dodatne mehanizme, a time i Sindrom glupog prozora(Silly Window Syndrome) . Komunikacija prestaje nakon što A primi 0 dva ili tri puta.

Kako spriječiti sindrom glupog prozora(Silly Window Syndrome) ( SWS )

Postoji jednostavan algoritam koji treba implementirati da biste se riješili SWS -a . Nakon što primi početni paket, B šalje polovicu stvarno dostupnog prostora kao prozor. To će natjerati A da šalje manje pakete. Posljedično, kada paketi postanu premali, B šalje ukupnu veličinu međuspremnika tako da A može ponovno početi slati veće bajtove podataka.

Drugim riječima, ako je 1000B dostupno, B šalje 500B kao potvrdu. Prema tome, A šalje 250B x ​​2 paketa. Za to, A prima 100B kao potvrdu. Kada primi paket od 50B, B šalje 1000B – 50B na A. To čini cijeli razgovor ponovno operativnim. To bi moglo uzrokovati malo kašnjenja u obradi, ali će spriječiti pojavu sindroma glupog prozora(Silly Window Syndrome) i zaustavljanje cijelog razgovora.

Ukratko, SWS se temelji na veličini međuspremnika dostupnoj primatelju i pretpostavljenoj veličini koju je izračunao pošiljatelj. Kako bi se spriječio SWS , uvodi se odgoda i namjerno manja veličina prozora se uzvraća sve dok veličina paketa ne postane premala. Zatim primatelj otkriva stvarno dostupnu veličinu prozora. Cijeli se proces ponavlja sve dok se komunikacija ne završi.

Iako sam možda koristio riječi prozor i međuspremnik naizmjenično. Ne mislim na nikakvu razliku među njima. U SWS studijama, tampon je prozor.



About the author

Ja sam računalni profesionalac s više od 10 godina iskustva. U slobodno vrijeme volim pomagati za uredskim stolom i učiti djecu kako se koristiti internetom. Moje vještine uključuju mnoge stvari, ali najvažnije je da znam kako pomoći ljudima u rješavanju problema. Ako trebate nekoga tko vam može pomoći s nečim hitnim ili samo želite neke osnovne savjete, obratite mi se!



Related posts