Kutakura Kuvimbika kweTCP
Tose tinoziva TCP protocol senzira yekufambisa yakavimbika, asi inoita sei kuti kutakura kuve kwakavimbika?
Kuti pave nekufambiswa kwemashoko kwakavimbika, zvinhu zvakawanda zvinofanira kufungwa nezvazvo, zvakaita sekukanganiswa kwedata, kurasikirwa, kudzokororwa kwemashoko, uye zvidimbu zvisina kurongeka. Kana matambudziko aya asingagone kugadziriswa, kutapurirwa kwemashoko kwakavimbika hakugone kuitwa.
Saka, TCP inoshandisa nzira dzakadai senhamba yekutevera, mhinduro yekuzivisa, kutonga kutumirazve, manejimendi yekubatanidza, uye kutonga kwehwindo kuti iwane kutumira kwakavimbika.
Mupepa rino, tichatarisa pane hwindo rinotsvedza, kudzora kuyerera kwemvura uye kudzora kuzara kweTCP. Nzira yekutumirazve data inotsanangurwa zvakasiyana muchikamu chinotevera.
Kudzora Kuyerera Kwenetiweki
Kudzora Kufamba Kwema network kana kuziva seNetwork Traffic Control chiratidzo chehukama husina kusimba pakati pevagadziri nevatengi. Pamwe wakasangana nemamiriro ezvinhu aya kakawanda kubasa kana mukubvunzurudzwa. Kana kugona kwemugadziri kugadzira kwakapfuura kugona kwemushandisi kushandisa, zvichaita kuti mutsetse ukure nekusingaperi. Muchiitiko chakakomba, ungaziva kuti kana mameseji eRabbitMQ akawandisa, zvinogona kukonzera kudzikira kwekushanda kwese MQ server. Izvi ndizvo zvinoitikawo kune TCP; kana zvikasadzorwa, mameseji akawanda achaiswa munetwork, uye vatengi vanenge vapfuura kugona kwavo, nepo vagadziri vachiramba vachitumira mameseji akafanana, izvo zvichakanganisa zvakanyanya mashandiro enetwork.
Kuti kugadzirisa dambudziko iri, TCP inopa nzira yekuti munhu anotumira data adzore huwandu hwedata rinotumirwa zvichienderana nekugona kwemugamuchiri, kunozivikanwa se flow control. Mugamuchiri anochengetedza hwindo rekugamuchira, nepo mutumi achichengetedza hwindo rekutumira. Zvinofanira kucherechedzwa kuti maWindows aya ndeekubatanidza TCP imwe chete uye haasi ese ma connections ane hwindo rimwe chete.
TCP inopa kudzora kuyerera kwedata nekushandisa shanduko yewindo rekugamuchira. Hwindo rekugamuchira rinopa mutumi chiratidzo chekuti nzvimbo yakawanda sei yecache ichiripo. Mutumi anodzora huwandu hwedata rinotumirwa zvichienderana nekugona kwemugamuchiri.
Mugamuchiri wedata anozivisa mutumi nezvehukuru hwedata raanogona kugamuchira, uye mutumi anotumira kusvika pamuganho uyu. Muganho uyu ndiwo saizi yehwindo, yeuka here TCP header? Pane munda wehwindo rekugamuchira, unoshandiswa kuratidza huwandu hwemabyte ayo mugamuchiri anogona kana kuti anoda kugamuchira.
Mutariri wekutumira anotumira pakiti yekuongorora yewindow nguva nenguva, iyo inoshandiswa kuona kana mutariri wekugamuchira achiri kukwanisa kugamuchira data. Kana buffer yemugamuchiri iri munjodzi yekuzara, saizi yehwindo inoiswa pamutengo mudiki kuraira mutumi kuti adzore huwandu hwedata rinotumirwa.
Heino dhayagiramu yeNetwork Flow Control:
Kudzora Kuzara kweNetwork
Tisati tatanga kudzora kuzara kwedata, tinofanira kunzwisisa kuti pamusoro pehwindo rekugamuchira nehwindo rekutumira, kunewo hwindo rekuvhara data, iro rinonyanya kushandiswa kugadzirisa dambudziko rekuti mutumi anotanga kutumira data kuhwindo rekugamuchira riini. Nokudaro, hwindo rekuvhara data rinochengetwawo nemutumi weTCP. Tinoda algorithm yekusarudza kuti ingani data yakakodzera kutumira, sezvo kutumira data shoma kana rakawandisa kusiri iko kwakakodzera, saka pfungwa yehwindo rekuvhara data.
Mukutonga kwekufamba kwenetwork yekare, chatakadzivisa ndechekuti mutumi anozadza cache yemugamuchiri nedata, asi taisaziva zvaiitika munetwork. Kazhinji, network dzemakombiyuta dzinenge dziri munzvimbo yakabatana. Nekuda kweizvozvo, panogona kunge paine kuzara kwenetwork nekuda kwekutaurirana pakati pevamwe mahost.
Kana network yazara, kana mapaketi akawanda akaramba achitumirwa, zvinogona kukonzera matambudziko akadai sekunonoka uye kurasikirwa nemapaketi. Panguva ino, TCP ichatumirazve data, asi kutumirazve data kuchawedzera mutoro panetwork, zvichikonzera kunonoka kukuru uye kurasikirwa nemapaketi akawanda. Izvi zvinogona kupinda mudenderedzwa rakaipa uye kuramba zvichikura.
Saka, TCP haigone kufuratira zviri kuitika panetwork. Kana network yazara, TCP inozvipira nekuderedza huwandu hwedata rainotumira.
Saka, pane chirongwa chekudzora kuzara kwedata, icho chinangwa chacho ndechekudzivirira kuzadza network yese nedata kubva kumutumi. Kuti adzore huwandu hwedata rinofanira kutumirwa nemutumi, TCP inotsanangura pfungwa inonzi hwindo rekuzara kwedata. Algorithm yekudzora kuzara kwedata ichagadzirisa saizi yehwindo rekuzara kwedata zvichienderana nehuwandu hwekuzara kwenetwork, kuitira kuti itonge huwandu hwedata rinotumirwa nemutumi.
Chii chinonzi hwindo rekuzara kwedata? Izvi zvine chekuita nei nehwindo rekutumira data?
Hwindo reKuzara kwedata (Congestion Window) imhando yedata inochengetwa nemutumi iyo inosarudza huwandu hwedata rinogona kutumirwa nemutumi. Hwindo rekudzizara kwedata rinoshanduka zvichienderana nehuwandu hwenetwork.
Hwindo Rekutumira ihwindo rinobvumiranwa pakati pemutumi nemugamuchiri rinoratidza huwandu hwedata rinogona kugashirwa nemugamuchiri. Hwindo rekuvhara nehwindo rekutumira zvine hukama; hwindo rekutumira rinowanzo fanana nediki pane huwandu hwekuvhara nekugamuchira Windows, kureva kuti, swnd = min(cwnd, rwnd).
Hwindo rekuzara kwemidziyo yemagetsi rinochinja seizvi:
Kana pasina kuzara kwedata mu network, kureva kuti, pasina nguva yekudzima dhata rekutumira data, hwindo rekuzara kwedata rinowedzera.
Kana paine kuzara kwedata mu network, kuzara kwedata kunoderera.
Mutumi ndiye anoona kana network yazara nekutarisa kana ACK acknowledgement packet yagamuchirwa mukati menguva yakatarwa. Kana mutumi akasagamuchira ACK acknowledgement packet mukati menguva yakatarwa, zvinoonekwa sekuti network yazara.
Pamusoro penguva yekuzara kwehuwandu hwevanhu, inguva yekukurukura nezveTCP congestion control algorithm. TCP congestion control algorithm ine zvikamu zvitatu zvikuru:
Kutanga Zvishoma:Pakutanga, hwindo rekuvharirana kwedata (CWND congestion window) diki, uye munhu anotumira anowedzera hwindo rekuvharirana nekukurumidza kuti akurumidze kuenderana nekugona kwenetwork.
Kudzivirira Kuzara Kweropa:Kana hwindo rekuzara kwedata rapfuura mwero wakati, munhu anotumira anowedzera hwindo rekuzara kwedata nenzira yakatwasuka kuti aderedze kukura kwehwindo rekuzara kwedata uye kudzivirira kuremedza network.
Kupora Nokukurumidza:Kana paine kuzara kwedata, munhu anotumira anogura pakati pehwindo rekuzara kwedata uye opinda mumamiriro ekupora nekukurumidza kuti aone nzvimbo yekupora kwedata kuburikidza nema "acks" akagamuchirwa, uye obva aenderera mberi nekuwedzera hwindo rekuzara kwedata.
Kutanga Zvishoma
Kana TCP yabatana, congestion window cwnd inotanga yaiswa paMSS (maximum segment size). Nenzira iyi, kutanga kwekutumira data kunenge kuri MSS/RTT bytes/second. Bandwidth chaiyo inowanikwa inowanzo kuve yakakura kupfuura MSS/RTT, saka TCP inoda kuwana akanakisa sending rate, iyo inogona kuwanikwa kuburikidza ne slow-start.
Mukutanga zvishoma nezvishoma, kukosha kwe cwnd yewindo rekuvharirana kuchatanga kuita 1 MSS, uye pese panowanikwa chikamu chepaketi chinotumirwa, kukosha kwe cwnd kuchawedzerwa ne MSS imwe chete, kureva kuti, kukosha kwe cwnd kuchava 2 MSS. Mushure meizvozvo, kukosha kwe cwnd kunopetwa kaviri pakutumira kwega kwega kwechikamu chepaketi chinobudirira, zvichingodaro. Maitiro chaiwo ekukura anoratidzwa mumufananidzo unotevera.
Zvisinei, mwero wekutumira haugone kukura nguva dzose; kukura kwacho kunofanira kupera pane imwe nguva. Saka, kuwedzera kwemwero wekutumira kunopera rini? Kutanga zvishoma nezvishoma kunowanzo gumisa kuwedzera kwemwero wekutumira neimwe yenzira dzakati wandei:
Nzira yekutanga ndeyekurasikirwa kwepaketi panguva yekutumira maitiro ekutanga zvishoma nezvishoma. Kana kurasikirwa kwepaketi kwaitika, TCP inoisa hwindo rekuzara kwemutumi ku1 uye inotangazve maitiro ekutanga zvishoma nezvishoma. Panguva ino, pfungwa ye slow start threshold ssthresh inounzwa, iyo yekutanga kukosha kwayo iri hafu yehuwandu hwe cwnd iyo inogadzira kurasikirwa kwepaketi. Kureva kuti, kana kuzara kwaonekwa, kukosha kwe ssthresh hafu yehuwandu hwehwindo.
Nzira yechipiri ndeyekubatanidza zvakananga nehukuru hwe ssthresh inononoka kutanga. Sezvo kukosha kwe ssthresh kuri hafu yehukuru hwehwindo kana kuzara kwaonekwa, kurasikirwa kwepaketi kunogona kuitika nekuwanda kwese kwese kana cwnd yakakura kupfuura ssthresh. Saka, zvakanaka kuisa cwnd ku ssthresh, izvo zvichaita kuti TCP ichinje ku congestion control mode uye kupedzisa slow-start.
Nzira yekupedzisira iyo kutanga zvishoma nezvishoma kunogona kupera ndeye kana ma acks matatu asina kudzoserwa akaonekwa, TCP inoita retransmission nekukurumidza uye inopinda mumamiriro ekudzoreredza. (Kana zvisiri pachena kuti nei paine mapaketi matatu eACK, zvichatsanangurwa zvakasiyana mu retransmission mechanism.)
Kudzivirira Kuzara Kwemafuta
Kana TCP yapinda muchimiro chekudzora kuzara kwe data, cwnd inoiswa pahafu yechikamu chekuzara kwe data ssthresh. Izvi zvinoreva kuti kukosha kwe cwnd hakugone kupetwa kaviri pese panogamuchirwa chikamu chepaketi. Pane kudaro, nzira yekuchengetedza inoshandiswa umo kukosha kwe cwnd kunowedzerwa neMSS imwe chete (hurefu hwepaketi hwakanyanya) mushure mekunge kutumira kwega kwega kwapera. Semuenzaniso, kunyangwe zvikamu gumi zvepaketi zvikazivikanwa, kukosha kwe cwnd kunozowedzera neMSS imwe chete. Iyi imhando yekukura kwedata uye ine muganho wepamusoro pakukura. Kana kurasikirwa kwepaketi kukaitika, kukosha kwe cwnd kunochinjwa kuita MSS, uye kukosha kwe ssthresh kunoiswa pahafu ye cwnd. Kana kuti zvinomisawo kukura kwe MSS kana mhinduro nhatu dze ACK dzisingachashandiswi. Kana ma acks matatu asingachashandiswi achiri kugamuchirwa mushure mekuderedzwa nehafu kukosha kwe cwnd, kukosha kwe ssthresh kunonyorwa sehafu kukosha kwe cwnd uye mamiriro ekukurumidza ekupora anoiswa.
Kupora Nokukurumidza
Mumamiriro eFast Recovery, kukosha kwehwindo rekuvharika kunowedzerwa neMSS imwe chete paACK yega yega yakagamuchirwa, kureva kuti, ACK isingasvike yakatevedzana. Izvi ndezvekushandisa zvikamu zvepaketi zvakatumirwa zvinobudirira munetwork kuvandudza mashandiro ekutumira zvakanyanya sezvinobvira.
Kana ACK yechikamu chepaketi yakarasika yasvika, TCP inoderedza kukosha kwe cwnd uye yobva yapinda mumamiriro ekudzivirira kuzara kwedata. Izvi zvinoitirwa kudzora saizi yehwindo rekuzara kwedata uye kudzivirira kuwedzera kuzara kwenetwork.
Kana nguva yekumira ikaitika mushure mekudzora kuzara kwedata, mamiriro enetwork anova akaoma uye TCP inotama kubva kumamiriro ekudzivirira kuzara kwedata kuenda kumamiriro ekutanga kunonoka. Muchiitiko ichi, kukosha kwehwindo rekuzara kwedata cwnd kwakaiswa pa 1 MSS, kureba kwepaketi yepamusoro, uye kukosha kwechikamu chekutangira kunonoka ssthresh kwakaiswa pahafu ye cwnd. Chinangwa cheizvi ndechekuwedzera zvishoma nezvishoma saizi yehwindo rekuzara kwedata mushure mekunge network yadzoka kuti ienzanise mwero wekutumira uye huwandu hwekuzara kwenetwork.
Pfupiso
Senzira yekufambisa yakavimbika, TCP inoshandisa nzira yekufambisa yakavimbika nenhamba yekutevera, kubvuma, kudzora kudzoserwa kwedata, manejimendi yekubatanidza uye kudzora mahwindo. Pakati pazvo, nzira yekudzora kuyerera kwedata inodzora huwandu hwedata rinotumirwa nemutumi zvichienderana nekugona kwekugamuchira kwemugamuchiri, izvo zvinodzivirira matambudziko ekuzara kwenetwork uye kuora kwekushanda. Nzira yekudzora kuzara kwedata inodzivirira kuitika kwekuzara kwenetwork nekugadzirisa huwandu hwedata rinotumirwa nemutumi. Pfungwa dzehwindo rekuzara kwedata nehwindo rekutumira dzakabatana, uye huwandu hwedata pamutumi hunodzorwa nekugadzirisa saizi yehwindo rekuzara kwedata. Kutanga zvishoma nezvishoma, kudzivirira kuzara kwedata uye kukurumidza kupora ndizvo zvikamu zvitatu zvikuru zveTCP congestion control algorithm, iyo inogadzirisa saizi yehwindo rekuzara kwedata kuburikidza nemazano akasiyana kuti ienderane nekugona uye huwandu hwekuzara kwenetwork.
Muchikamu chinotevera, tichaongorora zvakadzama nzira yeTCP yekutumira data zvakare. Nzira yekutumira data zvakare chikamu chakakosha cheTCP kuti iwane nzira yekutumira data yakavimbika. Inovimbisa kuti data rakavimbika rinotumirwa nekutumira data rakarasika, rakaora kana kuti rakanonoka. Nheyo yekushandisa uye nzira yekutumira data zvakare zvichaunzwa uye zvichaongororwa zvakadzama muchikamu chinotevera. Rambai makagadzirira!
Nguva yekutumira: Kukadzi-24-2025

