Hvad er Silly Window Syndrome - Forklaring og forebyggelse
Data overføres over netværket og internettet(Internet) ved hjælp af TCP/IP Protocol . TCP / TCP/IP er ikke perfekt, men er nemmere at implementere sammenlignet med andre protokoller, der er teoretiseret til datakommunikation... såsom ISO OSI - modellen. Som med enhver teknisk ting, har TCP/IP også nogle fejl, og Silly Window Syndrome er en skabelse af en af disse fejl. For at forstå, hvad der er Silly Window Syndrome eller SWS , skal du først forstå den underliggende mekanisme for datakommunikation i TCP/IP .
Silly Window Syndrome
Forstå vinduet og dets størrelse
Når to punkter kommunikerer under TCP/IP , involverer det en anerkendelsesmekanisme. Denne anerkendelsesmekanisme er det, der forårsager Silly Window Syndrome som forklaret yderligere. Points kan referere til to computere, klient og server osv.
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 computer, f.eks. A, sender en datapakke til en anden computer B, skal denne anerkende og svare, at den har modtaget datapakken. Sammen med bekræftelsen skal den også sende størrelsen på bufferen, der er adskilt for den kommunikationstråd. Dette er generelt antallet af bytes, der er frigivet til kommunikation.
Så når B siger, at 100B er tilgængelig for den næste besked, er 100B vinduet i Silly Window Syndrome . Det vil sige, at det er bufferstørrelsen. Med sin egen fejl kan TCP/IP mekanismen reducere bufferstørrelsen for hver kommunikation/data, der kommer fra A. Det vil sige, når A sender en besked, antager B, at bufferstørrelsen er reduceret og sender et mindre antal. Således bliver vinduesstørrelsen ved med at blive reduceret, og på et tidspunkt stopper kommunikationen bare, da B sender 0B som vinduesstørrelse.
Hvordan virker Silly Window Syndrome
Ifølge ovenstående eksempel på A og B, hvis B sender 1000B som vinduesstørrelse, vil A opdele det i to 500B og sende to pakker på 500B. Efter modtagelse af den første pakke vil B sende en bekræftelse, der siger, at 500B er tilgængelig for vinduet, da den anden pakke endnu ikke er modtaget. A antager, at 500B er vinduesstørrelsen og sender derfor to pakker på 250B. Mens der ved B bruges 500B, og 500 lige er modtaget, vil den sende 0B som tilgængelig. På dette tidspunkt vil A antage, at intet vindue er tilgængeligt, selvom det kan ske, at bufferen er tom, da processoren brugte dataene der. A vil stadig sende en mindre pakke for at se, om et vindue er tilgængeligt. Hvis indholdet af bufferen ved B endnu ikke er fjernet, vil den stadig modtage 0 som svar/bekræftelse.
Vinduesstørrelsen bliver således ved med at blive mindre, da B sender en bekræftelse, hver gang den modtager en pakke fra A. Denne størrelse er normalt mindre end den tidligere bekræftelse, da B modtager datapakker i dele. Der ville ikke være noget problem, hvis A kunne sende en pakke stor nok til at dække bufferstørrelsen på B ad gangen. Men at det ville kræve yderligere mekanismer og dermed Silly Window Syndrome . Kommunikationen stopper, efter at A har modtaget 0 to eller tre gange.
Sådan forebygger du Silly Window Syndrome ( SWS )
Der er en simpel algoritme, der skal implementeres for at slippe af med SWS . Efter at have modtaget den indledende pakke, sender B halvdelen af den virkelig tilgængelige plads som vinduet. Det vil få A til at sende mindre pakker. Når pakkerne bliver for mindre, sender B derfor den samlede bufferstørrelse, så A kan begynde at sende større databytes igen.
Med andre ord, hvis 1000B er tilgængelig, sender B 500B som bekræftelse. Derfor sender A 250B x 2 pakker. For dette modtager A 100B som kvittering. Når den modtager 50B pakke, sender B 1000B – 50B til A. Det gør hele samtalen operationel igen. Dette kan forårsage en lille forsinkelse i behandlingen, men vil forhindre Silly Window Syndrome i at opstå og stoppe hele samtalen.
For at opsummere er SWS baseret på den bufferstørrelse, som er tilgængelig for modtageren, og den antagede størrelse beregnet af afsenderen. For at forhindre SWS indføres en forsinkelse, og en bevidst mindre vinduesstørrelse gentages, indtil pakkestørrelsen bliver for lille. Så afslører modtageren faktisk tilgængelig vinduesstørrelse. Hele processen bliver ved med at gentage sig, indtil kommunikationen er fuldført.
Selvom jeg måske har brugt ordene vindue og buffer i flæng. Jeg mener ikke nogen forskel på dem. I SWS- undersøgelser er bufferen vinduet.
Related posts
Sådan installeres Drupal ved hjælp af WAMP på Windows
Bedste Software & Hardware Bitcoin Wallets til Windows, iOS, Android
Konfigurer internetradiostation gratis på Windows-pc
Fix Partner oprettede ikke forbindelse til routerfejl i TeamViewer på Windows 10
NASA's Eyes hjælper dig med at udforske universet som astronauter
Hvad er Data Analytics, og hvad bruges det til
Bedste bærbare rygsække til mænd og kvinder
Sådan krypteres og tilføjes adgangskoder til LibreOffice-dokumenter
Sådan opretter du selvsignerede SSL-certifikater i Windows 11/10
Bedste værktøjer til at sende SMS gratis fra din computer
Sådan adgangskodebeskyttes og sikres PDF-dokumenter med LibreOffice
Hvad er virtuelle kreditkort, og hvordan og hvor får du dem?
Hvordan lukker du din Payoneer-konto?
Automate.io er et gratis automatiseringsværktøj og IFTTT-alternativ
Bedste bærbare borde at købe online
Hvad er Big Data - En simpel forklaring med eksempel
Sådan installeres Windows 95 på Windows 10
Ni nostalgiske tekniske lyde, som du sikkert ikke har hørt i årevis
OpenGL-apps kører ikke på Miracast trådløs skærm i Windows 11/10
Denne konto er ikke knyttet til nogen Mixer-konto