Sufuri na Dogara na TCP
Duk mun saba da yarjejeniyar TCP a matsayin yarjejeniyar sufuri mai inganci, amma ta yaya take tabbatar da ingancin sufuri?
Domin cimma ingantaccen watsa bayanai, akwai buƙatar la'akari da abubuwa da yawa, kamar cin hanci da rashawa, asara, kwafi, da kuma ɓarnar da ba ta dace ba. Idan ba za a iya magance waɗannan matsalolin ba, ba za a iya cimma ingantaccen watsa bayanai ba.
Saboda haka, TCP tana amfani da hanyoyin kamar lambar jeri, amsar amincewa, ikon sake aikawa, sarrafa haɗi, da kuma ikon sarrafa taga don cimma ingantaccen watsawa.
A cikin wannan takarda, za mu mayar da hankali kan tagar zamiya, sarrafa kwararar ruwa da kuma kula da cunkoso na TCP. An rufe tsarin sake aikawa daban a sashe na gaba.
Sarrafa Gudanar da Cibiyar sadarwa
Tsarin Gudanar da Gudanar da Gudanar da Gudanar da Sadarwar Sadarwa (Network Flow Control) ko kuma wanda aka sani da Tsarin Gudanar da Sadarwar Sadarwa a zahiri wata alama ce ta alaƙar da ke tsakanin masu samarwa da masu amfani. Wataƙila kun ci karo da wannan yanayi sau da yawa a wurin aiki ko a cikin tambayoyi. Idan ƙarfin mai samarwa na samarwa ya wuce ƙarfin mai amfani na cinyewa, zai sa layin ya girma har abada. A cikin mawuyacin hali, za ku iya sanin cewa lokacin da saƙonnin RabbitMQ suka taru da yawa, yana iya haifar da lalacewar aiki na uwar garken MQ gaba ɗaya. Haka ma yake ga TCP; idan ba a duba ba, za a saka saƙonni da yawa a cikin hanyar sadarwar, kuma masu amfani za su wuce ƙarfinsu, yayin da masu samarwa za su ci gaba da aika saƙonni masu kwafi, wanda zai yi tasiri sosai ga aikin hanyar sadarwar.
Domin magance wannan lamari, TCP tana samar da wata hanya ga mai aikawa don sarrafa adadin bayanan da aka aika bisa ga ainihin ƙarfin karɓar mai karɓa, wanda aka sani da sarrafa kwarara. Mai karɓa yana kula da taga karɓa, yayin da mai aikawa yana kula da taga aikawa. Ya kamata a lura cewa waɗannan Windows ɗin don haɗin TCP guda ɗaya ne kawai kuma ba duk haɗin da ke raba taga ɗaya ba.
TCP tana samar da sarrafa kwarara ta hanyar amfani da ma'auni don taga karɓa. Tagar karɓa tana ba wa mai aikawa alamar adadin sararin cache da har yanzu yake akwai. Mai aikawa yana sarrafa adadin bayanan da aka aika bisa ga ainihin ƙarfin karɓa na mai karɓa.
Mai karɓar mai karɓa yana sanar da mai aikawa girman bayanan da zai iya karɓa, kuma mai aikawa yana aika har zuwa wannan iyaka. Wannan iyaka ita ce girman taga, ka tuna da kanun TCP? Akwai filin taga karɓa, wanda ake amfani da shi don nuna adadin baiti da mai karɓa zai iya karɓa ko kuma yake son karɓa.
Mai aikawa zai aika fakitin binciken taga lokaci-lokaci, wanda ake amfani da shi don gano ko mai karɓar bayanai har yanzu yana iya karɓar bayanai. Lokacin da ma'ajiyar mai karɓar bayanai ke cikin haɗarin cikawa, girman taga ana saita shi zuwa ƙaramin ƙima don umurci mai aikawa da ya sarrafa adadin bayanan da aka aika.
Ga zane mai nuna yadda ake sarrafa kwararar hanyoyin sadarwa:
Sarrafa Cunkoso a Cibiyar Sadarwa
Kafin gabatar da tsarin rage cunkoso, muna buƙatar fahimtar cewa ban da taga karɓa da taga aika, akwai kuma taga cunkoso, wanda galibi ana amfani da shi don magance matsalar a wane mataki mai aikawa ya fara aika bayanai zuwa taga karɓa. Saboda haka, mai aika TCP shi ma yana kula da taga cunkoso. Muna buƙatar tsarin lissafi don tantance adadin bayanai da ya dace a aika, tunda aika bayanai kaɗan ko da yawa ba shi da kyau, don haka manufar taga cunkoso.
A cikin tsarin sarrafa kwararar hanyar sadarwa na baya, abin da muka kauce masa shi ne mai aikawa yana cika cache na mai karɓa da bayanai, amma ba mu san abin da ke faruwa a cikin hanyar sadarwa ba. Yawanci, hanyoyin sadarwa na kwamfuta suna cikin yanayi na gama gari. Sakamakon haka, ana iya samun cunkoson hanyar sadarwa saboda sadarwa tsakanin sauran masu masaukin baki.
Idan hanyar sadarwa ta cika cunkoso, idan aka ci gaba da aika fakiti mai yawa, zai iya haifar da matsaloli kamar jinkiri da asarar fakiti. A wannan lokacin, TCP zai sake aika bayanai, amma sake aikawa zai ƙara nauyin da ke kan hanyar sadarwa, wanda zai haifar da jinkiri mai yawa da ƙarin asarar fakiti. Wannan na iya shiga cikin mummunan zagaye kuma ya ci gaba da ƙaruwa.
Saboda haka, TCP ba zai iya yin watsi da abin da ke faruwa a kan hanyar sadarwa ba. Idan hanyar sadarwa ta cika cunkoso, TCP ta sadaukar da kanta ta hanyar rage adadin bayanan da take aikawa.
Saboda haka, an gabatar da tsarin kula da cunkoso, wanda ke nufin guje wa cika dukkan hanyar sadarwa da bayanai daga mai aikawa. Don daidaita adadin bayanan da mai aikawa ya kamata ya aika, TCP ya bayyana wani ra'ayi da ake kira tagar cunkoso. Tsarin kula da cunkoso zai daidaita girman tagar cunkoso bisa ga matakin cunkoso na hanyar sadarwa, don sarrafa adadin bayanan da mai aikawa ya aika.
Menene tagar cunkoso? Me wannan ke da alaƙa da tagar aikawa?
Tagar Cikowa wani yanayi ne da mai aikawa ke kula da shi wanda ke ƙayyade adadin bayanan da mai aikawa zai iya aikawa. Tagar cikowa tana canzawa akai-akai gwargwadon matakin cunkoso na hanyar sadarwa.
Tagar Aikawa girman taga ne da aka amince da shi tsakanin mai aikawa da mai karɓa wanda ke nuna adadin bayanan da mai karɓa zai iya karɓa. Tagar cunkoso da tagar aikawa suna da alaƙa; tagar aikawa yawanci tana daidai da mafi ƙarancin Tagogi na cunkoso da karɓa, wato, swnd = min(cwnd, rwnd).
Tsarin gilashin gilashi yana canzawa kamar haka:
Idan babu cunkoso a cikin hanyar sadarwa, wato, babu lokacin sake aikawa da sako, to tagar cunkoso tana ƙaruwa.
Idan akwai cunkoso a cikin hanyar sadarwa, to tagar cunkoso tana raguwa.
Mai aikawa yana tantance ko cibiyar sadarwar ta cika cunkoso ta hanyar lura ko an karɓi fakitin amincewa na ACK a cikin takamaiman lokacin. Idan mai aikawa bai karɓi fakitin amincewa na ACK ba a cikin takamaiman lokacin, ana ɗaukar cewa cibiyar sadarwar tana cikin cunkoso.
Baya ga taga cunkoso, lokaci ya yi da za a tattauna tsarin kula da cunkoso na TCP. Tsarin kula da cunkoso na TCP ya ƙunshi manyan sassa uku:
Farawa a Hankali:Da farko, tagar cwnd ta cika da ƙanƙanta, kuma mai aikawa yana ƙara tagar cunkoso sosai don ya dace da ƙarfin hanyar sadarwa cikin sauri.
Gujewa da Cinkoso:Bayan tagar cunkoso ta wuce wani takamaiman iyaka, mai aikawa yana ƙara tagar cunkoso ta hanyar layi don rage yawan ci gaban tagar cunkoso da kuma guje wa cikas ga hanyar sadarwa.
Saurin Farfadowa:Idan cunkoso ya faru, mai aikawa zai raba tagar cunkoso sannan ya shiga yanayin murmurewa cikin sauri don tantance wurin da hanyar sadarwa ta dawo da ita ta hanyar acks ɗin da aka karɓa, sannan ya ci gaba da ƙara tagar cunkoso.
Farawa a Hankali
Idan aka kafa haɗin TCP, da farko za a saita cwnd ɗin taga mai cunkoso zuwa mafi ƙarancin ƙimar MSS (mafi girman yanki). Ta wannan hanyar, ƙimar aikawa ta farko tana kusan byte na MSS/RTT/daƙiƙa. Matsakaicin bandwidth da ake da shi yawanci ya fi girma fiye da MSS/RTT, don haka TCP yana son nemo mafi kyawun ƙimar aikawa, wanda za a iya cimmawa ta hanyar farawa a hankali.
A cikin tsarin farawa a hankali, ƙimar taga cunkoso cwnd za a fara shi zuwa MSS 1, kuma duk lokacin da aka gane ɓangaren fakitin da aka watsa, ƙimar cwnd za ta ƙaru da MSS ɗaya, wato, ƙimar cwnd za ta zama MSS 2. Bayan haka, ƙimar cwnd za ta ninka don kowane nasarar watsa sashin fakiti, da sauransu. An nuna takamaiman tsarin girma a cikin hoto mai zuwa.
Duk da haka, yawan aikawa ba zai iya ƙaruwa koyaushe ba; ci gaban dole ne ya ƙare a wani lokaci. To, yaushe ne ƙaruwar saurin aikawa ta ƙare? Farawa a hankali yawanci yana ƙare ƙaruwar saurin aikawa ta hanyoyi da yawa:
Hanya ta farko ita ce matsalar asarar fakiti yayin aiwatar da aika saƙo na farawa a hankali. Idan asarar fakiti ta faru, TCP ta saita taga cunkoson mai aikawa cwnd zuwa 1 kuma ta sake fara aiwatar da farawa a hankali. A wannan lokacin, ana gabatar da ra'ayi na ƙimar farawa a hankali ssthresh, wanda ƙimar farko ita ce rabin ƙimar cwnd wanda ke haifar da asarar fakiti. Wato, lokacin da aka gano cunkoson, ƙimar ssthresh rabin ƙimar taga ce.
Hanya ta biyu ita ce a daidaita kai tsaye da ƙimar maƙasudin farawa a hankali ssthresh. Tunda ƙimar ssthresh rabin ƙimar taga ne lokacin da aka gano cunkoso, asarar fakiti na iya faruwa tare da kowane ninki biyu lokacin da cwnd ya fi ssthresh girma. Saboda haka, ya fi kyau a saita cwnd zuwa ssthresh, wanda zai sa TCP ta canza zuwa yanayin sarrafa cunkoso kuma ta ƙare a hankali.
Hanya ta ƙarshe da farawa a hankali zai iya ƙarewa ita ce idan aka gano acks guda uku masu sake dawowa, TCP yana yin sake aikawa da sauri kuma ya shiga yanayin dawo da bayanai. (Idan ba a fayyace dalilin da yasa akwai fakitin ACK guda uku ba, za a yi bayani daban a cikin tsarin sake aikawa.)
Gujewa Cinkoso
Lokacin da TCP ta shiga yanayin sarrafa cunkoso, ana saita cwnd zuwa rabin maƙasudin cunkoso ssthresh. Wannan yana nufin cewa ba za a iya ninka ƙimar cwnd sau biyu ba duk lokacin da aka karɓi ɓangaren fakiti. Madadin haka, ana amfani da hanyar da ta dace wacce darajar cwnd ke ƙaruwa da MSS ɗaya kawai (tsawon sashin fakiti) bayan an kammala kowane watsawa. Misali, ko da an yarda da sassan fakiti 10, ƙimar cwnd za ta ƙaru da MSS ɗaya kawai. Wannan samfurin girma ne mai layi kuma yana da iyaka ta sama akan girma. Lokacin da asarar fakiti ta faru, ana canza ƙimar cwnd zuwa MSS, kuma ana saita ƙimar ssthresh zuwa rabin cwnd. Ko kuma zai dakatar da haɓakar MSS lokacin da aka karɓi amsoshin ACK guda 3 masu sake. Idan har yanzu ana karɓar acks uku masu sake dawowa bayan an raba ƙimar cwnd, ana rubuta ƙimar ssthresh a matsayin rabin ƙimar cwnd kuma an shigar da yanayin murmurewa cikin sauri.
Murmurewa da Sauri
A cikin yanayin Sauri Maidowa, ƙimar tagar cunkoso cwnd tana ƙaruwa da MSS ɗaya ga kowane ACK mai sake dawowa da aka karɓa, wato, ACK wanda bai isa a jere ba. Wannan don amfani da sassan fakitin da aka yi nasarar watsawa a cikin hanyar sadarwa don inganta ingancin watsawa gwargwadon iko.
Idan ACK na ɓangaren fakitin da ya ɓace ya iso, TCP yana rage ƙimar cwnd sannan ya shiga yanayin gujewa cunkoso. Wannan don sarrafa girman tagar cunkoso da kuma guje wa ƙara yawan cunkoso a hanyar sadarwa.
Idan lokacin da aka ɗauka bayan yanayin kula da cunkoso ya ƙare, yanayin hanyar sadarwa zai yi tsanani kuma TCP zai ƙaura daga yanayin gujewa cunkoso zuwa yanayin farawa a hankali. A wannan yanayin, ƙimar tagar cunkoso cwnd an saita ta zuwa 1 MSS, matsakaicin tsawon ɓangaren fakiti, kuma ƙimar ƙimar farkon farawa a hankali ssthresh an saita ta zuwa rabin cwnd. Manufar wannan shine sake ƙara girman tagar cunkoso a hankali bayan hanyar sadarwa ta murmure don daidaita ƙimar watsawa da matakin cunkoso na hanyar sadarwa.
Takaitaccen Bayani
A matsayin ingantaccen tsarin sufuri, TCP tana aiwatar da ingantaccen sufuri ta hanyar lambar jeri, amincewa, sarrafa sake aikawa, sarrafa haɗi da kuma sarrafa taga. Daga cikinsu, tsarin sarrafa kwarara yana sarrafa adadin bayanan da mai aikawa ya aika bisa ga ainihin ƙarfin karɓa na mai karɓa, wanda ke guje wa matsalolin cunkoson hanyar sadarwa da lalacewar aiki. Tsarin sarrafa cunkoson hanyar sadarwa yana guje wa faruwar cunkoson hanyar sadarwa ta hanyar daidaita adadin bayanan da mai aikawa ya aika. Ma'anar tagar cunkoson hanyar sadarwa da tagar aikawa suna da alaƙa da juna, kuma adadin bayanai a wurin mai aikawa ana sarrafa su ta hanyar daidaita girman tagar cunkoson hanyar sadarwa. Farawa a hankali, guje wa cunkoson hanyar sadarwa da kuma murmurewa cikin sauri su ne manyan sassa uku na tsarin sarrafa cunkoson hanyar sadarwa ta TCP, waɗanda ke daidaita girman tagar cunkoson hanyar sadarwa ta hanyoyi daban-daban don daidaitawa da ƙarfin aiki da matakin cunkoson hanyar sadarwa.
A sashe na gaba, za mu yi nazari dalla-dalla kan tsarin sake aikawa da bayanai na TCP. Tsarin sake aikawa muhimmin bangare ne na TCP don cimma ingantaccen watsa bayanai. Yana tabbatar da ingantaccen watsa bayanai ta hanyar sake aika bayanai da suka ɓace, suka lalace ko suka jinkirta. Za a gabatar da ka'idar aiwatarwa da dabarun tsarin sake aikawa da bayanai dalla-dalla a sashe na gaba. Ku kasance tare da mu!
Lokacin Saƙo: Fabrairu-24-2025

