Razno

Kaj je sindrom neumnega okna - razlaga in preprečevanje

Kaj je sindrom neumnega okna - razlaga in preprečevanje

Podatki se prenašajo prek omrežja in interneta z uporabo Protokol TCP / IP. TCP / IP ni popoln, vendar ga je lažje implementirati v primerjavi z drugimi protokoli, ki so teoretizirani za podatkovno komunikacijo ... kot je ISO OSI model. Kot pri vsaki tehnični stvari ima tudi TCP / IP nekaj napak in Sindrom neumnega okna je nastanek ene od teh napak. Da bi razumeli, kaj je sindrom neumnega okna ali SWS, morate najprej razumeti osnovni mehanizem podatkovne komunikacije v TCP / IP.

Sindrom neumnega okna

Razumevanje okna in njegove velikosti

Ko dve točki komunicirata pod TCP / IP, to vključuje potrditveni mehanizem. Ta mehanizem prepoznavanja je tisto, kar povzroča sindrom neumnega okna, kot je pojasnjeno v nadaljevanju. Točke se lahko nanašajo na dva računalnika, odjemalca in strežnika itd.

SWS povzroča sprejemnik, ki napreduje po desnem robu okna, kadar ima na voljo nov vmesni prostor za sprejem podatkov, in pošiljatelj, ki s poljubnim prirastnim oknom, ne glede na to, kako majhno, pošlje več podatkov. Rezultat je lahko stabilen vzorec pošiljanja drobnih podatkovnih segmentov, čeprav imata tako pošiljatelj kot prejemnik velik skupni vmesni prostor za povezavo, pravi MSDN.

Ko računalnik, recimo A, pošlje podatkovni paket drugemu računalniku B, ta mora potrditi in odgovoriti, da je prejel podatkovni paket. Skupaj s potrditvijo mora poslati tudi velikost medpomnilnika, ločenega za to komunikacijsko nit. To je na splošno število bajtov, ki so sproščeni za komunikacijo.

Ko torej B reče, da je za naslednje sporočilo na voljo 100B, je 100B okno sindroma neumnega okna. To pomeni, da je velikost medpomnilnika. Mehanizem TCP / IP lahko s svojo napako zmanjša velikost medpomnilnika za vsako komunikacijo / podatke, ki prihajajo iz A. To pomeni, da kadarkoli A pošlje sporočilo, B domneva, da je velikost medpomnilnika zmanjšana in pošlje manjše število. Tako se velikost okna zmanjšuje in na določeni točki se komunikacija samo ustavi, ko B pošlje 0B kot velikost okna.

Kako deluje sindrom neumnega okna

V skladu z zgornjim primerom A in B, če B pošlje 1000B kot velikost okna, ga A razdeli na dva 500B in pošlje dva paketa po 500B. Po prejemu prvega paketa bo B poslal potrditev, da je za okno na voljo 500B, saj drugega paketa še ni prejel. Predpostavimo, da je velikost okna 500B in posledično pošljemo dva paketa po 250B. Medtem ko se pri B uporablja 500B in 500 je pravkar prejel, bo poslal 0B, kot je na voljo. Na tej točki bo A domneval, da ni na voljo nobenega okna, čeprav se lahko zgodi, da je medpomnilnik prazen, ko je procesor tam porabil podatke. A bo še vedno poslal manjši paket, da preveri, ali je na voljo kakšno okno. Če vsebina medpomnilnika na B še ni odstranjena, bo še vedno prejel 0 kot odgovor / potrditev.

Tako se velikost okna še naprej zmanjšuje, saj B pošlje potrditev vsakič, ko prejme paket od A. Ta velikost je običajno manjša od prejšnjega potrditve, saj B prejema podatkovne pakete v delih. Ne bi bilo težav, če bi lahko A poslal paket, ki je dovolj velik, da naenkrat pokrije velikost medpomnilnika na B. Toda to bi zahtevalo dodatne mehanizme in s tem sindrom neumnega okna. Komunikacija se ustavi, ko A dva ali trikrat prejme 0.

Kako preprečiti sindrom neumnega okna (SWS)

Za odpravo SWS je treba uporabiti preprost algoritem. Po prejemu začetnega paketa B kot okno pošlje polovico zares razpoložljivega prostora. Tako bo A poslal manjše pakete. Ko paketi postanejo premajhni, potem B pošlje skupno velikost medpomnilnika, tako da lahko A spet začne pošiljati večje bajte podatkov.

Z drugimi besedami, če je na voljo 1000B, B pošlje 500B kot potrditev. Skladno s tem A pošlje 250B x ​​2 paketa. Za to A prejme 100B kot potrditev. Ko prejme paket 50B, B pošlje 1000B - 50B A. Zaradi tega je celoten pogovor spet operativen. To lahko povzroči malo zamude pri obdelavi, vendar bo preprečilo pojav sindroma Silly Window in ustavitev celotnega pogovora.

Če povzamemo, SWS temelji na velikosti medpomnilnika, ki je na voljo prejemniku, in predpostavljeni velikosti, ki jo izračuna pošiljatelj. Da bi preprečili SWS, se uvede zamuda in namerno manjša velikost okna se vrača, dokler velikost paketa ne postane premajhna. Nato prejemnik razkrije dejansko razpoložljivo velikost okna. Celoten postopek se ponavlja, dokler komunikacija ni končana.

Čeprav sem lahko besede okno in medpomnilnik uporabljal zamenljivo. Ne mislim nobene razlike med njimi. V študijah SWS je medpomnilnik okno.

Če potrebujete več informacij, je tukaj na voljo podrobna razlaga na tcpipguide.com.

Kako namestiti in igrati Doom v Linuxu
Uvod v Doom Serija Doom je nastala v devetdesetih letih po izidu prvotnega Dooma. Bil je takojšen hit in od takrat naprej je serija iger prejela števi...
Vulkan za uporabnike Linuxa
Z vsako novo generacijo grafičnih kart vidimo, da razvijalci iger premikajo meje grafične zvestobe in se približujejo fotorealizmu. A kljub vsem kredi...
OpenTTD vs Simutrans
Ustvarjanje lastne simulacije prevoza je lahko zabavno, sproščujoče in izjemno vabljivo. Zato morate preizkusiti čim več iger, da boste našli tisto, k...