Isixhobo esiyimfihlo se-TCP: Ulawulo lokuhamba kwenethiwekhi kunye noLawulo lokuxinana kwenethiwekhi

Uthutho oluThembekileyo lweTCP
Sonke siyayazi i-TCP protocol njenge-transport protocol ethembekileyo, kodwa iqinisekisa njani ukuthembeka kothutho?

Ukuze kufezekiswe uthumelo oluthembekileyo, kufuneka kuqwalaselwe izinto ezininzi, ezinje ngokonakala kwedatha, ukulahleka, ukuphindaphindwa, kunye neengceba ezingasebenziyo. Ukuba ezi ngxaki azinakusonjululwa, uthumelo oluthembekileyo alunakufezekiswa.

Ke ngoko, i-TCP isebenzisa iindlela ezifana nenombolo yolandelelwano, impendulo yokuvuma, ulawulo lokuthumela kwakhona, ulawulo loqhagamshelo, kunye nolawulo lwefestile ukuze kufezekiswe uthumelo oluthembekileyo.

Kule phepha, siza kugxila kwifestile etyibilikayo, ulawulo lokuhamba kwamanzi kunye nolawulo lokuxinana kwe-TCP. Indlela yokudlulisa idatha igutyungelwe ngokwahlukileyo kwicandelo elilandelayo.

Ulawulo lokuHamba kweNethiwekhi
Ulawulo lokuHamba kweNethiwekhi okanye ukwaziwa njengoLawulo lweTrafikhi yeNethiwekhi luphawu lolwalamano olufihlakeleyo phakathi kwabavelisi nabathengi. Mhlawumbi ukhe wadibana nale meko kakhulu emsebenzini okanye kudliwanondlebe. Ukuba amandla omvelisi okuvelisa adlula kakhulu amandla omthengi okusebenzisa, kuya kubangela ukuba umgca ukhule ngokungenammiselo. Kwimeko enzima ngakumbi, usenokuba uyazi ukuba xa imiyalezo yeRabbitMQ iqokelelana kakhulu, inokubangela ukuwohloka kokusebenza kweseva yonke ye-MQ. Kunjalo nakwi-TCP; ukuba ayikhangelwanga, imiyalezo emininzi kakhulu iya kufakwa kwinethiwekhi, kwaye abathengi baya kuba bedlule kumandla abo, ngelixa abavelisi beya kuqhubeka nokuthumela imiyalezo ephindwe kabini, eya kuchaphazela kakhulu ukusebenza kwenethiwekhi.

Ukujongana nale meko, i-TCP ibonelela ngendlela yokuba umthumeli alawule ubungakanani bedatha ethunyelweyo ngokusekelwe kumthamo wokwamkela we-receiver, owaziwa ngokuba yi-flow control. I-receiver igcina i-receiver window, ngelixa umthumeli egcina i-send window. Kufuneka kuqatshelwe ukuba ezi Windows zezonxibelelwano olunye lwe-TCP kwaye azizo zonke ii-connections ezabelana ngefestile.

I-TCP ibonelela ngolawulo lokuhamba ngokusebenzisa i-variable yefestile yokufumana ulwazi. Ifestile yokufumana ulwazi inika umthumeli umqondiso wokuba ingakanani indawo yokugcina idatha ekhoyo. Umthumeli ulawula ubungakanani bedatha ethunyelweyo ngokomthamo wokwamkela womamkeli.

Umphathi we-receiver wazisa umthumeli ngobukhulu bedatha anokuyifumana, kwaye umthumeli uyithumela ukuya kuthi ga kweli nqanaba. Lo mda bungakanani befestile, uyakhumbula i-TCP header? Kukho intsimi yefestile yokwamkela, esetyenziselwa ukubonisa inani lee-bytes umthumeli anakho okanye azimisele ukuzifumana.

Umthumeli we-host uza kuthumela rhoqo ipakethi ye-window probe, esetyenziselwa ukufumanisa ukuba umthumeli we-host usakwazi na ukwamkela idatha. Xa i-buffer yomthumeli isengozini yokugcwala, ubungakanani befestile bubekwa kwixabiso elincinci ukuze kufundiswe umthumeli ukuba alawule ubungakanani bedatha ethunyelweyo.

Nantsi umzobo woLawulo lokuHamba kweNethiwekhi:

Ulawulo lweTrafikhi

Ulawulo lokuxinana kwenethiwekhi
Ngaphambi kokuba siqalise ulawulo lokuxinana, kufuneka siqonde ukuba ukongeza kwifestile yokufumana kunye nefestile yokuthumela, kukwakho nefestile yokuxinana, esetyenziswa kakhulu ukusombulula ingxaki yokuba umthumeli uqala ukuthumela idatha kwifestile yokufumana ngesantya esingakanani. Ke ngoko, ifestile yokuxinana ikwagcinwa ngumthumeli we-TCP. Sidinga i-algorithm yokugqiba ukuba ingakanani idatha efanelekileyo yokuthumela, kuba ukuthumela idatha encinci kakhulu okanye eninzi kakhulu akulunganga, yiyo loo nto ingcamango yefestile yokuxinana.

Kulawulo lokuhamba kwenethiwekhi lwangaphambili, into esasiyiphepha kukuba umthumeli azalise i-cache yommkeli ngedatha, kodwa sasingazi ukuba kwenzeka ntoni kwinethiwekhi. Ngokwesiqhelo, iinethiwekhi zekhompyutha zikwindawo ekwabelwana ngayo. Ngenxa yoko, kusenokubakho ukuxinana kwenethiwekhi ngenxa yonxibelelwano phakathi kwezinye iihost.

Xa inethiwekhi ixinene, ukuba inani elikhulu leepakethi liqhubeka lithunyelwa, kunokubangela iingxaki ezifana nokulibaziseka kunye nokulahleka kweepakethi. Ngeli xesha, i-TCP iya kuphinda ithumele idatha, kodwa ukuthunyelwa kwakhona kuya kwandisa umthwalo kwinethiwekhi, okubangela ukulibaziseka okukhulu kunye nokulahleka kweepakethi ezininzi. Oku kunokungena kumjikelo onzima kwaye kuqhubeke kusanda.

Ngoko ke, i-TCP ayinakuyityeshela into eyenzekayo kwinethiwekhi. Xa inethiwekhi ixinene, i-TCP izincama ngokunciphisa inani ledatha eyithumelayo.

Ngoko ke, kucetywa ulawulo lokuxinana, olujolise ekuphepheni ukuzalisa yonke inethiwekhi ngedatha evela kumthumeli. Ukulawula ubungakanani bedatha ekufuneka ithunyelwe ngumthumeli, i-TCP ichaza ingcamango ebizwa ngokuba yifestile yokuxinana. I-algorithm yolawulo lokuxinana iya kulungisa ubungakanani befestile yokuxinana ngokwezinga lokuxinana kwenethiwekhi, ukuze kulawulwe ubungakanani bedatha ethunyelwe ngumthumeli.

Yintoni ifestile yokuxinana? Oku kunantoni na yokwenza nefestile yokuthumela?

I-Congestion Window yi-state variable egcinwa ngumthumeli emisela ubungakanani bedatha enokuthunyelelwa ngumthumeli. I-congestion window itshintsha ngokuguquguqukayo ngokwenqanaba le-congestion yenethiwekhi.

I-Sending Window bungakanani befestile obuvunyelweneyo phakathi komthumeli kunye nomamkeli obubonisa ubungakanani bedatha enokufumaneka ngumthumeli. I-congestion window kunye ne-sending window ziyahambelana; i-sending window idla ngokulingana nobuncinci be-congestion kunye ne-receiving Windows, oko kukuthi, swnd = min(cwnd, rwnd).

Ifestile yokuxinana itshintsha ngolu hlobo lulandelayo:

Ukuba akukho kuxinana kwinethiwekhi, oko kukuthi, akukho xesha lokuphelelwa kukudluliselwa kwakhona, ifestile yokuxinana iyanda.

Ukuba kukho ukuxinana kwinethiwekhi, ifestile yokuxinana iyancipha.

Umthumeli ugqiba ukuba inethiwekhi ixinene na ngokujonga ukuba iphakheji yokuvuma ye-ACK ifunyenwe ngexesha elichaziweyo. Ukuba umthumeli akayifumani iphakheji yokuvuma ye-ACK ngexesha elichaziweyo, kuthathwa ngokuba inethiwekhi ixinene.

Ukongeza kwifestile yokuxinana, lixesha lokuxoxa nge-algorithm yolawulo lokuxinana kwe-TCP. I-algorithm yolawulo lokuxinana kwe-TCP inamacandelo amathathu aphambili:

Ukuqala Kancinci:Ekuqaleni, ifestile yokuxinana kwe-cwnd incinci, kwaye umthumeli uyandisa ifestile yokuxinana ngokukhawuleza ukuze alungelelanise ngokukhawuleza amandla enethiwekhi.
Ukuphepha ukuxinana:Emva kokuba ifestile yokuxinana idlule umda othile, umthumeli uyayonyusa ifestile yokuxinana ngendlela ethe tye ukuze anciphise isantya sokukhula kwefestile yokuxinana aze aphephe ukugqithisa kakhulu inethiwekhi.
Ukubuyisela Okukhawulezayo:Ukuba kukho ukuxinana, umthumeli uyayinqumla ifestile yokuxinana aze angene kwimeko yokubuyisela ngokukhawuleza ukuze amisele indawo yokubuyisela inethiwekhi ngee-acks ezifunyenweyo eziphindwe kabini, aze aqhubeke nokwandisa ifestile yokuxinana.

Ukuqala Kancinci
Xa uqhagamshelo lwe-TCP lusekiwe, i-cwnd yefestile yokuxinana iqale ibekwe kwixabiso eliphantsi le-MSS (ubungakanani becandelo eliphezulu). Ngale ndlela, izinga lokuthumela lokuqala limalunga neebhayithi ze-MSS/RTT/sekondi. I-bandwidth ekhoyo idla ngokuba nkulu kakhulu kune-MSS/RTT, ngoko ke i-TCP ifuna ukufumana izinga lokuthumela elifanelekileyo, elinokufezekiswa ngokusebenzisa ukuqala kancinci.

Kwinkqubo yokuqalisa kancinci, ixabiso le-cwnd yefestile yokuxinana liya kuqaliswa libe yi-1 MSS, kwaye ngalo lonke ixesha icandelo lepakethi elidluliselweyo liqatshelwa, ixabiso le-cwnd liya kwandiswa yi-MSS enye, oko kukuthi, ixabiso le-cwnd liya kuba yi-2 MSS. Emva koko, ixabiso le-cwnd liphindwe kabini kuthumelo ngalunye oluphumeleleyo lwecandelo lepakethi, njalo njalo. Inkqubo yokukhula ethile iboniswe kumfanekiso olandelayo.

 Ulawulo lokuxinana kwenethiwekhi

Nangona kunjalo, izinga lokuthumela alinakukhula rhoqo; ukukhula kufuneka kuphele ngamanye amaxesha. Ngoko ke, izinga lokuthumela liphela nini? Ukuqala kancinci kudla ngokuphelisa ukunyuka kwenqanaba lokuthumela ngenye yeendlela ezahlukeneyo:

Indlela yokuqala yimeko yokulahleka kwepakethi ngexesha lenkqubo yokuthumela yokuqalisa kancinci. Xa kwenzeka ukulahleka kwepakethi, i-TCP ibeka i-cwnd yomthumeli kwi-1 kwaye iqalise kwakhona inkqubo yokuqalisa kancinci. Kule ndawo, kuqaliswa ingcamango ye-ssthresh yokuqala kancinci, enexabiso lokuqala elisisiqingatha sexabiso le-cwnd elivelisa ukulahleka kwepakethi. Oko kukuthi, xa kufunyenwe uxinano, ixabiso le-ssthresh lisisiqingatha sexabiso lewindow.

Indlela yesibini kukudibanisa ngokuthe ngqo nexabiso le-ssthresh yokuqalisa kancinci. Ekubeni ixabiso le-ssthresh lisiqingatha sexabiso lefestile xa kufunyenwe ukuxinana, ukulahleka kwepakethi kunokwenzeka ngokuphindaphindeka kabini xa i-cwnd inkulu kune-ssthresh. Ke ngoko, kungcono ukuseta i-cwnd kwi-ssthresh, eya kubangela ukuba i-TCP itshintshele kwimowudi yolawulo lokuxinana kwaye iphele i-slow-start.

Indlela yokugqibela enokuthi iqale kancinci iphele ngayo kukuba kufunyenwe ii-acks ezintathu ezingafunekiyo, i-TCP yenza i-retransmission ekhawulezileyo ize ingene kwimeko yokubuyisela. (Ukuba akucaci ukuba kutheni kukho iipakethe ezintathu ze-ACK, kuya kuchazwa ngokwahlukeneyo kwindlela yokubuyisela.)

Ukuphepha ukuxinana
Xa i-TCP ingena kwimeko yokulawula ukuxinana, i-cwnd imiselwa kwisiqingatha somda wokuxinana ssthresh. Oku kuthetha ukuba ixabiso le-cwnd alinakuphindwa kabini ngalo lonke ixesha kufunyanwa icandelo lepakethi. Endaweni yoko, kwamkelwa indlela egcinayo apho ixabiso le-cwnd linyuswa nge-MSS enye kuphela (ubude obukhulu becandelo lepakethi) emva kokuba kugqityiwe ukudluliselwa ngakunye. Umzekelo, nokuba iicandelo zepakethi ezili-10 ziyavunywa, ixabiso le-cwnd liya kunyuka nge-MSS enye kuphela. Le yimodeli yokukhula ethe tye kwaye ikwanayo nomda ophezulu ekukhuleni. Xa kwenzeka ukulahleka kwepakethi, ixabiso le-cwnd liyatshintshwa libe yi-MSS, kwaye ixabiso le-ssthresh limiselwa kwisiqingatha se-cwnd. Okanye iya kumisa ukukhula kwe-MSS xa kufunyanwa iimpendulo ezi-3 ze-ACK ezingafunekiyo. Ukuba ii-acks ezintathu ezingafunekiyo zisafunyanwa emva kokunciphisa ixabiso le-cwnd ngesiqingatha, ixabiso le-ssthresh lirekhodwa njengesiqingatha sexabiso le-cwnd kwaye imeko yokubuyisela ngokukhawuleza ifakiwe.

Ukubuyisela Okukhawulezayo
Kwimeko ye-Fast Recovery, ixabiso le-congestion window cwnd linyuswa nge-MSS enye kwi-ACK nganye efunyenweyo engafunekiyo, oko kukuthi, i-ACK engafiki ngokulandelelana. Oku kukusebenzisa amacandelo eepakethi adluliselwe ngempumelelo kwinethiwekhi ukuphucula ukusebenza kakuhle kothumelo kangangoko kunokwenzeka.

Xa kufika i-ACK yecandelo lepakethi elahlekileyo, i-TCP yehlisa ixabiso le-cwnd ize ingene kwimeko yokuthintela ukuxinana. Oku kukulawula ubungakanani befestile yokuxinana nokuthintela ukwanda kokuxinana kwenethiwekhi.

Ukuba ixesha lokuphumla livela emva kokuba imeko yokulawula ukuxinana ifikile, imeko yenethiwekhi iba mandundu ngakumbi kwaye i-TCP isuka kwimeko yokuthintela ukuxinana iye kwimeko yokuqalisa kancinci. Kule meko, ixabiso le-cwnd yefestile yokuxinana limiselwe kwi-1 MSS, ubude obukhulu becandelo lepakethi, kwaye ixabiso le-ssthresh yokuqalisa kancinci limiselwe kwisiqingatha se-cwnd. Injongo yoku kukunyusa kancinci kancinci ubungakanani befestile yokuxinana emva kokuba inethiwekhi ibuyele kwimeko yayo ukuze kulinganiswe izinga lokudluliselwa kunye nomgangatho wokuxinana kwenethiwekhi.

Isishwankathelo
Njengenkqubo yothutho ethembekileyo, i-TCP isebenzisa uthutho oluthembekileyo ngenombolo yolandelelwano, ukuvuma, ulawulo lokudlulisela kwakhona, ulawulo loqhagamshelo kunye nolawulo lwefestile. Phakathi kwazo, indlela yokulawula ukuhamba ilawula ubungakanani bedatha ethunyelwe ngumthumeli ngokwendlela yokwamkela yokwenyani yommkeli, nto leyo ethintela iingxaki zokuxinana kwenethiwekhi kunye nokonakala kokusebenza. Indlela yokulawula ukuxinana ithintela ukwenzeka kokuxinana kwenethiwekhi ngokulungelelanisa ubungakanani bedatha ethunyelwe ngumthumeli. Iingcamango zefestile yokuxinana kunye nefestile yokuthumela zinxulumene, kwaye ubungakanani bedatha kumthumeli bulawulwa ngokulungelelanisa ngokuguquguqukayo ubungakanani befestile yokuxinana. Ukuqala kancinci, ukuphepha ukuxinana kunye nokubuyisela ngokukhawuleza ziinxalenye ezintathu eziphambili ze-TCP congestion control algorithm, elungisa ubungakanani befestile yokuxinana ngokusebenzisa amaqhinga ahlukeneyo ukuze ivumelane nomthamo kunye nenqanaba lokuxinana kwenethiwekhi.

Kwicandelo elilandelayo, siza kuhlola ngokweenkcukacha indlela yokudlulisela idatha ye-TCP. Indlela yokudlulisela idatha yinxalenye ebalulekileyo ye-TCP ukuze kufezekiswe ukudluliselwa kwedatha okuthembekileyo. Iqinisekisa ukudluliselwa kwedatha okuthembekileyo ngokudlulisela idatha elahlekileyo, eyonakeleyo okanye ebambezelekileyo. Umgaqo wokusetyenziswa kunye nesicwangciso sendlela yokudlulisela idatha kuya kwaziswa kwaye kuhlalutywe ngokweenkcukacha kwicandelo elilandelayo. Hlala ubukele!


Ixesha leposi: Februwari-24-2025