Mikä on Silly Window -oireyhtymä - selitys ja ennaltaehkäisy

Sisällysluettelo:

Mikä on Silly Window -oireyhtymä - selitys ja ennaltaehkäisy
Mikä on Silly Window -oireyhtymä - selitys ja ennaltaehkäisy

Video: Mikä on Silly Window -oireyhtymä - selitys ja ennaltaehkäisy

Video: Mikä on Silly Window -oireyhtymä - selitys ja ennaltaehkäisy
Video: Lonely (short version) - YouTube 2024, Huhtikuu
Anonim

Tiedot siirretään verkon ja Internetin kautta TCP / IP-protokolla. TCP / IP ei ole täydellinen, mutta se on helpompi toteuttaa verrattuna muihin tietoliikennetekniikoihin perustuvista protokollista … kuten ISO OSI -mallia. Kuten mitä tahansa teknistä asiaa, TCP / IP: llä on joitain puutteita Silly Window -oireyhtymä on luoda yksi näistä puutteista. Ymmärtääksesi, mikä on Silly Window -oireyhtymä tai SWS, sinun on ensin ymmärrettävä TCP / IP-tietoliikenteen taustalla oleva mekanismi.

Silly Window -oireyhtymä

Image
Image

Ikkunan ja sen koon ymmärtäminen

Kun TCP / IP-protokollassa kommunikoidaan kaksi pistettä, se sisältää tunnistusmekanismin. Tämä tunnustamismekanismi on mikä aiheuttaa Silly Windowin oireyhtymän, kuten selitetään edelleen. Pisteet voivat viitata kahteen tietokonetta, asiakasta ja palvelinta jne.

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.

Kun tietokone sanoo A lähettää datapaketin toiseen tietokoneeseen B, viimeksi mainitun on tunnustettava ja vastattava siitä, että se sai datapaketin. Tunnustuksen lisäksi sen on myös lähetettävä puskurin koko erikseen kyseiselle tietoliikenteelle. Tämä on tavallisesti viestien välityksellä vapaan tavujen määrä.

Joten kun B sanoo 100B on käytettävissä seuraavalle sanomalle, 100B on ikkuna Silly Windowin oireyhtymässä. Eli puskurin koko on. Omalla virheellisyydellään TCP / IP-mekanismi voi vähentää puskurin kokoa jokaisesta kommunikaatiosta / datasta, joka tulee A: sta. Aina kun A lähettää viestin, B olettaa, että puskurin koko pienenee ja lähettää pienemmän määrän. Näin ikkunan koko pysyy pienentyneenä ja pisteessä tiedonsiirto pysähtyy vain, kun B lähettää 0B: n ikkunakokoa.

Miten Silly Window -oireyhtymä toimii

Edellä olevan esimerkin A ja B mukaan, jos B lähettää 1000B ikkunakoon, A jakaa sen kahteen 500B: ksi ja lähettää kaksi 500B: n pakettia. Ensimmäisen paketin vastaanottamisen jälkeen B lähettää kuittauksen, jossa sanotaan, että 500B on käytettävissä ikkunassa, koska toista pakettia ei ole vielä vastaanotettu. A olettaa, että 500B on ikkunan koko ja lähetä kaksi 250B: n pakettia näin ollen. Kun käytössä on B, 500B ja 500 vastaanotetaan juuri, se lähettää 0B: n saataville. Tässä vaiheessa A ei ota käyttöön mitään ikkunaa, vaikka se saattaisi tapahtua, kun puskurin tyhjennys prosessorina käytti tietoja siellä. A lähettää edelleen pienemmän paketin nähdäksesi, onko jokin ikkuna käytettävissä. Jos B-puskurin sisältöä ei ole vielä poistettu, se saa edelleen 0 vastauksena / kuittauksena.

Tällöin ikkunan koko pysyy alentumassa, kun B lähettää kuittauksen aina, kun se vastaanottaa paketin A: sta. Tämä koko on tavallisesti pienempi kuin edellinen kuittaus, koska B vastaanottaa datapaketteja osissa. Ei olisi mitään ongelmaa, jos A voisi lähettää paketin riittävän suureksi peittämään puskurin koon B kerrallaan. Mutta se vaatii lisäjärjestelmiä ja siten Silly Window -yndroomaa. Yhteys päättyy, kun A vastaanottaa 0 kaksi tai kolme kertaa.

Miten estää Silly Window -oireyhtymä (SWS)

On olemassa yksinkertainen algoritmi, joka toteutetaan SWS: n poistamiseksi. Kun ensimmäinen paketti vastaanotetaan, B lähettää puolet todella käytettävissä olevasta tilasta ikkunana. Se tekee A lähetä pienempiä paketteja. Näin ollen, kun paketit tulevat liian pieniksi, niin B lähettää koko puskurin koon, jotta A voi aloittaa suurempien datatietojen lähettämisen uudelleen.

Toisin sanoen, jos 1000B on käytettävissä, B lähettää 500B kuittaukseksi. Näin ollen A lähettää 250B x 2 pakettia. Tällöin A vastaanottaa 100B kuittaukseksi. Kun se vastaanottaa 50B-paketin, B lähettää 1000B-50B: n A: lle. Tällöin koko keskustelu toimii uudelleen. Tämä saattaa aiheuttaa viivästymisen käsittelyssä, mutta estää Silly Windowin oireyhtymän esiintymisen ja pysäyttää koko keskustelun.

Yhteenvetona SWS perustuu vastaanottajan käytettävissä olevaan puskurikoon kokoon ja lähettäjän laskema oletettu koko. SWS: n estämiseksi viivästyy viivästyminen ja harkitusti pienemmän ikkunan koko muuttuu edestakaisin, kunnes paketin koko muuttuu liian pieneksi. Tällöin vastaanottaja paljastaa oikean ikkunan koon. Koko prosessi jatkuu toistuvasti, kunnes tiedonanto on valmis.

Vaikka olen ehkä käyttänyt sanoja ikkunan ja puskuri vaihdettavasti. En tarkoita mitään eroa niiden välillä. SWS-tutkimuksissa puskuri on ikkuna.

Jos tarvitset lisätietoja, tcpipguide.comissa on yksityiskohtainen selitys.

Suositeltava: