TCP's chakavanzika chombo: Network Flow Control uye Network Congestion Control

TCP Kuvimbika Kutakura
Isu tese tinoziva TCP protocol seyakavimbika yekufambisa protocol, asi inoita sei kuti ive nechokwadi chekuvimbika kwekutakura?

Kuti uwane kutapurirana kwakavimbika, zvinhu zvakawanda zvinofanirwa kutariswa, senge huwori hwe data, kurasikirwa, kudzokorora, uye kunze-kwe-odha shards. Kana matambudziko aya asingakwanisi kugadziriswa, kutapurirana kwakavimbika hakugone kuwanikwa.

Naizvozvo, TCP inoshandisa nzira dzakadai senhamba yekutevedzana, kubvuma mhinduro, kutumirazve kutonga, manejimendi yekubatanidza, uye kutonga kwehwindo kuti uwane kutapurirana kwakavimbika.

Mubepa rino, isu tichatarisa pane inotsvedza hwindo, kuyerera kwekutonga uye congestion control yeTCP. Iyo retransmission mechanism yakavharwa zvakasiyana muchikamu chinotevera.

Network Flow Control
Network Kuyerera Kudzora kana kuziva seNetwork Traffic Control iko iko kuratidzwa kwehukama hwakajeka pakati pevagadziri nevatengi. Iwe wakambosangana nechiitiko ichi zvakanyanya kubasa kana mubvunzurudzo. Kana mugadziri akwanisa kugadzira zvakanyanya kudarika kugona kwemutengi kushandisa, zvinoita kuti mutsara ukure nekusingaperi. Mune imwe nyaya yakakomba, unogona kuziva kuti kana mameseji eRabbitMQ achinge akawandisa, anogona kukonzera kuderedzwa kwesevha yeMQ yese. Izvi zvakafanana kune TCP; kana ikasiiwa isina kutariswa, mameseji akawandisa achaiswa mumambure, uye vatengi vanenge vapfuura kugona kwavo, ukuwo vagadziri vacharamba vachitumira duplicate meseji, izvo zvinozokanganisa zvakanyanya kushanda kwetiweki.

Kugadzirisa chiitiko ichi, TCP inopa nzira yeanotumira kudzora huwandu hwe data yakatumirwa zvichienderana neiyo chaiyo yekugamuchira kugona kweanogamuchira, iyo inozivikanwa seyekuyerera kuyerera. Mugamuchiri anochengeta hwindo rekugamuchira, nepo mutumiri achichengeta hwindo rekutumira. Izvo zvinofanirwa kucherechedzwa kuti aya maWindows ndee chete TCP yekubatanidza uye kwete ese anobatana anogovera hwindo.

TCP inopa kuyerera kwekutonga nekushandisa shanduko yehwindo rekugamuchira. Iwindo rekugamuchira rinopa mutumiri chiratidzo chekuti ingani nzvimbo yecache ichiripo. Iye anotumira anodzora huwandu hwe data inotumirwa zvinoenderana neiyo chaiyo yekugamuchira kugona kweanogamuchira.

Iye anogamuchira anozivisa anotumira saizi yedata yaanogona kugamuchira, uye anotumira anotumira kusvika padanho iri. Muganho uyu saizi yehwindo, rangarira iyo TCP musoro? Pane hwindo rekugamuchira, iro rinoshandiswa kuratidza huwandu hwemabhaiti anokwanisa kana anoda kugamuchira.

Mutumiri anozopota achitumira hwindo rekuferefeta pakiti, rinoshandiswa kuona kana mugamuchiri achiri kukwanisa kugamuchira data. Kana iyo buffer yemugamuchiri iri munjodzi yekufashukira, saizi yehwindo inoiswa kune diki kukosha kuraira anotumira kudzora huwandu hwe data yakatumirwa.

Heino dhayagiramu yeNetwork Flow Control:

Traffic Control

Network Congestion Control
Tisati taunza kutonga kwekusangana, isu tinofanirwa kunzwisisa kuti kunze kwehwindo rekugamuchira uye hwindo rekutumira, kune zvakare hwindo rekusangana, iro rinonyanya kushandiswa kugadzirisa dambudziko rekuti sei mutumi anotanga kutumira data kuhwindo rekugamuchira. Nokudaro, hwindo rekusangana rinochengetwawo neTCP mutumi. Isu tinoda algorithm yekusarudza kuti ingani data rakakodzera kutumira, sezvo kutumira yakawandisa kana yakawandisa data haina kunaka, saka iyo pfungwa yehwindo rekusangana.

Mune yapfuura network kuyerera kwekutonga, chatakadzivirira ndechekuti mutumiri achizadza cache yeanogamuchira nedata, asi isu takanga tisingazive zvaiitika mumambure. Kazhinji, macomputer network ari munzvimbo yakagovaniswa. Nekuda kweizvozvo, panogona kunge paine network congestion nekuda kwekutaurirana pakati pemamwe mauto.

Kana mambure akazara, kana nhamba huru yemapakiti ichienderera mberi kutumirwa, inogona kukonzera matambudziko akadai sekunonoka uye kurasikirwa kwepakiti. Panguva ino, TCP ichatumirazve data, asi kudzorerazve kuchawedzera mutoro kunetiweki, zvichiita kuti kunonoka kukuru uye kurasikirwa kwepakiti. Izvi zvinogona kupinda mukutenderera kwakashata uye kuramba kuchikura.

Nokudaro, TCP haigoni kufuratira zviri kuitika pamambure. Kana network yazara, TCP inozvipira pachayo nekudzikisa huwandu hwe data yainotumira.

Naizvozvo, congestion control inorongwa, iyo ine chinangwa chekudzivirira kuzadza network yese nedata kubva kune anotumira. Kugadzirisa huwandu hwe data iyo mutumi anofanira kutumira, TCP inotsanangura pfungwa inonzi congestion window. Iyo congestion control algorithm ichagadzirisa saizi yewindow yekusangana zvichienderana neiyo congestion degree yetiweki, kuitira kudzora huwandu hwe data inotumirwa neanotumira.

Chii chinonzi congestion window? Izvi zvine chekuita nei nehwindo rekutumira?

The Congestion Window is a state variable inochengetwa nemutumiri iyo inosarudza huwandu hwe data iyo mutumi anogona kutumira. Iro hwindo rekusangana rinochinja zvine simba zvichienderana neiyo congestion level yetiweki.

Window Yekutumira inoenderana nesaizi yehwindo pakati peanotumira uye anogamuchira iyo inoratidza huwandu hwe data iyo anogamuchira. Iro hwindo rekusangana uye hwindo rekutumira zvine hukama; hwindo rekutumira rinowanzoenzana nehushoma hwekusangana uye kugamuchira Windows, kureva, swnd = min(cwnd, rwnd).

Iyo congestion window cwnd inoshanduka sezvinotevera:

Kana pasina kusanganiswa mumambure, kureva kuti, hapana nguva yekudzorerazve inoitika, hwindo rekusangana rinowedzera.

Kana pane kusangana mune network, hwindo rekusangana rinoderera.

Iye anotumira anoona kana network yakazara nekucherechedza kana iyo ACK yekubvuma packet inogamuchirwa mukati menguva yakatarwa. Kana mutumiri asingagamuchire ACK yekubvuma packet mukati menguva yakatarwa, inofungidzirwa kuti network yakazara.

Pamusoro pehwindo rekusangana, inguva yekukurukura nezveTCP congestion control algorithm. TCP congestion control algorithm ine zvikamu zvitatu zvikuru:

Zvishoma Matangiro:Pakutanga, iyo cwnd congestion hwindo idiki, uye anotumira anowedzera hwindo rekubatirana exponentially kuti akurumidze kuenderana nekugona kwetiweki.
Kudzivisa Congestion:Mushure mekunge hwindo rekusangana rapfuura imwe chikumbaridzo, mutumi anowedzera hwindo rekusangana nenzira yakatsetseka kuti anonoke kukura kwehwindo rekusangana uye kudzivirira kuwandisa network.
Kukurumidza Kupora:Kana kusangana kukaitika, mutumi anodimburira hwindo rekusangana uye opinda munzvimbo yekukurumidza kudzoreredza kuti aone nzvimbo yekudzoreredza network kuburikidza neakagashira duplicate acks, uye oenderera mberi nekuwedzera hwindo rekusangana.

Slow Start
Kana TCP yekubatanidza yatangwa, iyo congestion hwindo cwnd inotangwa yakaiswa kune shoma MSS (maximum segment size) kukosha. Nenzira iyi, chiyero chekutanga chekutumira chiri pamusoro peMSS/RTT bytes/second. Iyo chaiyo inowanikwa bandwidth inowanzove yakakura kupfuura MSS/RTT, saka TCP inoda kuwana yakakwana yekutumira mwero, iyo inogona kuwanikwa kuburikidza nekunonoka-kutanga.

Mune inononoka-yekutanga maitiro, kukosha kweiyo congestion hwindo cwnd ichatangwa ku1 MSS, uye nguva imwe neimwe iyo inotapurirwa packet segment inobvumwa, kukosha kwe cwnd kuchawedzerwa neMSS imwe, ndiko kuti, kukosha kwe cwnd kuchava 2 MSS. Mushure meizvozvo, kukosha kwe cwnd kwakapetwa kaviri kune imwe neimwe yakabudirira kutapurirana kwechikamu chepakiti, zvichingodaro. Iyo chaiyo yekukura maitiro inoratidzwa mumufananidzo unotevera.

 Network congestion control

Zvisinei, chiyero chekutumira hachigoni kukura nguva dzose; kukura kunofanira kupera imwe nguva. Saka, chiyero chekutumira chinopera rinhi? Kunonoka-kutanga kazhinji kunopedza kuwedzera kweyero yekutumira mune imwe yenzira dzinoverengeka:

Nzira yekutanga inyaya yekurasikirwa kwepaketi panguva yekutumira maitiro ekunonoka kutanga. Kana kurasikirwa kwepaketi kukaitika, TCP inoisa hwindo rekusangana kweanotumira cwnd ku1 uye inotangazve maitiro anononoka-kutanga. Panguva ino, pfungwa yekunonoka kutanga chikumbaridzo ssthresh inounzwa, iyo yekutanga kukosha ihafu yekukosha kwe cwnd iyo inoburitsa kurasikirwa kwepaketi. Ndiko kuti, kana kusangana kwaonekwa, kukosha kwe sthresh hafu yekukosha kwehwindo.

Yechipiri nzira ndeyekuenderana zvakananga nekukosha kwekunonoka-kutanga chikumbaridzo ssthresh. Sezvo kukosha kwe ssthresh iri hafu yekukosha kwehwindo kana kusangana kwaonekwa, kurasikirwa kwepaketi kunogona kuitika nekupeta kwega kwega kana cwnd yakakura kupfuura ssthresh. Nokudaro, zvakanakisisa kuisa cwnd kune ssthresh, izvo zvichaita kuti TCP ichinje kune congestion control mode uye kupera kunonoka-kutanga.

Nzira yekupedzisira iyo inononoka kutanga inogona kupera ndeye kana matatu acks asingadiwi akaonekwa, TCP inoita kukurumidza kudzorera uye inopinda mumamiriro ekugadzirisa. (Kana zvisina kujeka kuti nei paine matatu ACK mapaketi, anozotsanangurwa zvakasiyana mune retransmission mechanism.)

Kudzivisa Kuputirana
Kana TCP ichipinda munzvimbo yekudzora congestion, cwnd inoiswa kuhafu yekusangana kwechikumbaridzo ssthresh. Izvi zvinoreva kuti kukosha kwe cwnd hakugone kupetwa kaviri nguva imwe neimwe chikamu chepakiti chinogamuchirwa. Pane kudaro, nzira inochengetedza inogamuchirwa umo kukosha kwe cwnd kunowedzerwa neMSS imwe chete (yepamusoro packet segment segment kureba) mushure mokunge kutapurirana kwega kwega kwapera. Semuenzaniso, kunyangwe zvikamu gumi zvepaketi zvichibvumwa, kukosha kwe cwnd kunongowedzera neMSS imwe chete. Iyi ndiyo mutsara wekukura modhi uye zvakare ine yekumusoro inosungirwa pakukura. Kana packet kurasikirwa kunoitika, kukosha kwe cwnd kunoshandurwa kuita MSS, uye kukosha kwe ssthresh kunoiswa kuhafu ye cwnd. Kana kuti ichamisawo kukura kweMSS kana 3 ACK mhinduro dzagamuchirwa. Kana matatu acks akawandisa achiri kugamuchirwa mushure mehafu yekukosha kwe cwnd, kukosha kwe ssthresh kwakanyorwa sehafu yekukosha kwe cwnd uye kukurumidza kupora nyika inopindwa.

Kukurumidza Kupora
MuKurumidza Kudzoreredza mamiriro, kukosha kweiyo congestion hwindo cwnd inowedzerwa neMSS imwe yega yega yakagashirwa ACK, kureva, ACK iyo isingasviki mukutevedzana. Uku kuita kushandiswa kwezvikamu zvepaketi zvakafambiswa zvakabudirira mumambure kuti uvandudze kutapurirana zvakanaka sezvinobvira.

Kana ACK yepakiti yakarasika chikamu inosvika, TCP inoderedza kukosha kwe cwnd uye inopinda munharaunda yekudzivirira. Uku ndiko kudzora saizi yehwindo rekusangana uye kudzivirira kuwedzera kuwedzera network congestion.

Kana nguva yekupera ikaitika mushure mekutonga kwekugadzirisa, mamiriro ehutano anowedzera kuoma uye TCP inotama kubva munharaunda yekudzivirira kusanganiswa kuenda kune inononoka-kutanga mamiriro. Muchiitiko ichi, kukosha kwehwindo rekusangana cwnd rakagadzirirwa 1 MSS, iyo yakareba packet segment segment urefu, uye kukosha kwekunonoka-kutanga kwechikumbaridzo ssthresh kunoiswa hafu ye cwnd. Chinangwa cheizvi ndechekuwedzera zvishoma nezvishoma saizi yehwindo rekusangana mushure mekunge network yadzoka kuti ienzanise mwero wekutapurirana uye dhigirii rekusangana kwetiweki.

Summary
Seyakavimbika yekufambisa protocol, TCP inoshandisa yakavimbika yekufambisa nenhamba yekutevedzana, kubvuma, retransmission control, yekubatanidza manejimendi uye kutonga kwehwindo. Pakati pavo, iyo nzira yekudzora kuyerera inodzora huwandu hwe data inotumirwa neanotumira zvinoenderana neiyo chaiyo yekugamuchira kugona kweanogamuchira, iyo inodzivirira matambudziko ekusangana kwetiweki uye kuderera kwekuita. Iyo congestion control mechanism inodzivirira kuitika kwekusangana kwetiweki nekugadzirisa huwandu hwe data inotumirwa neanotumira. Mafungiro ehwindo rekusangana uye hwindo rekutumira ane hukama kune mumwe nemumwe, uye huwandu hwe data pane anotumira hunodzorwa nekugadzirisa zvine simba ukuru hwehwindo rekusangana. Kunonoka kutanga, kudzivirira kusanganiswa uye kukurumidza kupora zvikamu zvitatu zvikuru zveTCP congestion control algorithm, iyo inogadzirisa ukuru hwehwindo rekuputira kuburikidza nemaitiro akasiyana-siyana kuti aenderane nekukwanisa uye dhigirii yekubatanidza yetiweki.

Muchikamu chinotevera, tichaongorora TCP's retransmission mechanism zvakadzama. Retransmission mechanism chikamu chakakosha cheTCP kuwana kutapurirana kwakavimbika. Iyo inovimbisa kutapurirana kwakavimbika kwedata nekutumirazve yakarasika, yakaora kana kunonoka data. Nheyo yekushandiswa uye zano renzira yekudzosera ichaunzwa nekuongororwa zvakadzama muchikamu chinotevera. Ramba wakatarisa!


Nguva yekutumira: Feb-24-2025