Vad är Silly Window Syndrome - Förklaring och förebyggande
Data överförs över nätverket och Internet med hjälp av TCP/IP Protocol . TCP TCP/IP är inte perfekt men är lättare att implementera jämfört med andra teoretiserade protokoll för datakommunikation... som ISO OSI- modellen. Som med alla tekniska saker har TCP/IP också några brister och Silly Window Syndrome är en skapelse av en av dessa brister. För att förstå vad Silly Window Syndrome eller SWS är, måste du först förstå den underliggande mekanismen för datakommunikation i TCP/IP .
Silly Window syndrom
Förstå fönstret och dess storlek
När två punkter kommunicerar under TCP/IP involverar det en bekräftelsemekanism. Denna erkännande mekanism är vad som orsakar Silly Window Syndrome som förklaras vidare. Poäng kan hänvisa till två datorer, klient och server, etc.
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.
När en dator, säg A, skickar ett datapaket till en annan dator B, måste den senare bekräfta och svara att den tagit emot datapaketet. Tillsammans med bekräftelsen måste den också skicka storleken på bufferten som är åtskild för den kommunikationstråden. Detta är i allmänhet antalet byte som är fria för kommunikation.
Så när B säger att 100B är tillgängligt för nästa meddelande, är 100B fönstret i Silly Window Syndrome . Det vill säga, det är buffertstorleken. Med sin egen brist kan TCP/IP mekanismen minska buffertstorleken för varje kommunikation/data som kommer från A. Det vill säga, närhelst A skickar ett meddelande, antar B att buffertstorleken är reducerad och skickar ett mindre antal. Sålunda fortsätter fönsterstorleken att minska och vid en punkt stannar kommunikationen bara när B skickar 0B som fönsterstorlek.
Hur fungerar Silly Window Syndrome
Enligt ovanstående exempel på A och B, om B skickar 1000B som fönsterstorlek, kommer A att dela upp det i två 500B och skicka två paket med 500B. Vid mottagande av det första paketet kommer B att skicka en bekräftelse som säger att 500B är tillgänglig för fönstret eftersom det andra paketet ännu inte har tagits emot. A antar att 500B är fönsterstorleken och skickar två paket på 250B följaktligen. Medan vid B används 500B och 500 precis har tagits emot, kommer det att skicka 0B som tillgängligt. Vid denna tidpunkt kommer A att anta att inget fönster är tillgängligt även om det kan hända att bufferten är tom eftersom processorn förbrukade datan där. A kommer fortfarande att skicka ett mindre paket för att se om något fönster är tillgängligt. Om innehållet i bufferten vid B ännu inte har tagits bort kommer den fortfarande att få 0 som svar/bekräftelse.
Således fortsätter fönsterstorleken att minska när B skickar bekräftelse varje gång den tar emot ett paket från A. Denna storlek är vanligtvis mindre än den tidigare bekräftelsen eftersom B tar emot datapaket i delar. Det skulle inte vara några problem om A kunde skicka ett paket som är tillräckligt stort för att täcka buffertstorleken på B åt gången. Men att det skulle kräva ytterligare mekanismer och därav Silly Window Syndrome . Kommunikationen avbryts efter att A fått 0 två eller tre gånger.
Hur man förhindrar Silly Window Syndrome ( SWS )
Det finns en enkel algoritm som ska implementeras för att bli av med SWS . När B tar emot det initiala paketet skickar B hälften av det verkligt tillgängliga utrymmet som fönstret. Det gör att A skickar mindre paket. Följaktligen, när paketen blir för mindre, skickar B den totala buffertstorleken så att A kan börja skicka större databytes igen.
Med andra ord, om 1000B är tillgängligt, skickar B 500B som bekräftelse. Följaktligen skickar A 250B x 2 paket. För detta får A 100B som bekräftelse. När den tar emot 50B-paket skickar B 1000B – 50B till A. Det gör att hela konversationen fungerar igen. Detta kan inducera en liten fördröjning i bearbetningen men kommer att förhindra att Silly Window Syndrome uppstår och stoppar hela konversationen.
Sammanfattningsvis baseras SWS på den buffertstorlek som är tillgänglig för mottagaren och den antagna storleken beräknad av avsändaren. För att förhindra SWS , införs en fördröjning och en avsiktlig mindre fönsterstorlek återges tills paketstorleken blir för liten. Sedan avslöjar mottagaren faktiskt tillgänglig fönsterstorlek. Hela processen fortsätter att upprepas tills kommunikationen är klar.
Även om jag kan ha använt orden fönster och buffert omväxlande. Jag menar ingen skillnad mellan dem. I SWS- studier är bufferten fönstret.
Related posts
Hur man installerar Drupal med WAMP på Windows
Bästa mjukvara och hårdvara Bitcoin-plånböcker för Windows, iOS, Android
Ställ in Internet Radio Station gratis på Windows PC
Fix Partner anslöt inte till routerfel i TeamViewer på Windows 10
NASAs ögon hjälper dig att utforska universum som astronauter
Hur man installerar Windows 95 på Windows 10
Vad är Blue Whale Challenge Dare Game
OpenGL-appar körs inte på Miracast trådlös skärm i Windows 11/10
Vad är "Chip and PIN" eller EMV-kreditkort
Konvertera magnetlänkar till direktnedladdningslänkar med Seedr
Vad är Data Analytics och vad används det till
Hur man gör inbjudningskort i Windows PC
Hur man krypterar och lägger till lösenord till LibreOffice-dokument
Bästa bärbara ryggsäckar för män och kvinnor
Session messaging app erbjuder stark säkerhet; Inget telefonnummer krävs!
Nio nostalgiska tekniska ljud som du förmodligen inte har hört på flera år
Hur man lösenordsskyddar och säkrar PDF-dokument med LibreOffice
Gratis Task Management Software för att hantera lagarbete
Zip-filen är för stor fel vid nedladdning av filer från DropBox
Hur man tar bort ditt LastPass-konto