UThutho oluthembekileyo lwe-TCP
Sonke siyayazi iprotocol ye-TCP njengeprotocol yothutho ethembekileyo, kodwa iqinisekisa njani ukuthembeka kothutho?
Ukufezekisa ukuhanjiswa okuthembekileyo, izinto ezininzi kufuneka ziqwalaselwe, ezifana urhwaphilizo lwedatha, ilahleko, ukuphindaphinda, kunye ne-out-of-order shards. Ukuba ezi ngxaki azinakusonjululwa, ukuhanjiswa okuthembekileyo akunakufezekiswa.
Ngoko ke, i-TCP isebenzisa iindlela ezifana nenombolo yokulandelelana, impendulo yokuvuma, ukulawula kwakhona, ukulawula uxhulumaniso, kunye nokulawulwa kwefestile ukufezekisa ukuhanjiswa okuthembekileyo.
Kweli phepha, siya kugxininisa kwifestile ye-sliding, ulawulo lokuhamba kunye nokulawulwa kwe-TCP. Indlela yokudlulisela kwakhona igutyungelwe ngokwahlukeneyo kwicandelo elilandelayo.
Ulawulo lokuHamba kweNethiwekhi
Ulawulo lokuHamba koThungelwano okanye ukwaziwa njengoLawulo lweNdlela yokuThuthwa kweThungelwano eneneni luphawu lobudlelwane obuchuliweyo phakathi kwabavelisi kunye nabathengi. Mhlawumbi uye wadibana nale meko kakhulu emsebenzini okanye kudliwano-ndlebe. Ukuba amandla omlimi okuvelisa angaphezulu kakhulu kumthamo womthengi wokutya, oko kuya kubangela ukuba umgca ukhule ngokungenasiphelo. Kwimeko enzima ngakumbi, unokwazi ukuba xa imiyalezo yeRabbitMQ ifumba kakhulu, inokubangela ukuthotywa kokusebenza kwayo yonke iseva ye-MQ. Kuyafana nakwi-TCP; ukuba ishiywe ingaqwalaselwanga, imiyalezo emininzi iya kufakwa kwinethiwekhi, kwaye abathengi baya kuba begqithise umthamo wabo, ngelixa abavelisi baya kuqhubeka bethumela imiyalezo ephindwe kabini, eya kuchaphazela kakhulu ukusebenza kwenethiwekhi.
Ukujongana nale nto, i-TCP ibonelela ngendlela yokuba umthumeli alawule inani ledatha ethunyelwe ngokusekelwe kumthamo wangempela wokumkela umamkeli, owaziwa ngokuba ngulawulo lokuhamba. Umamkeli ugcina ifestile yokufumana, ngelixa umthumeli egcina ifestile yokuthumela. Kufuneka kuqatshelwe ukuba ezi Windows zezonxibelelwano lweTCP enye kuphela kwaye ayilulo lonke uqhagamshelo olwabelana ngefestile.
I-TCP inikezela ngolawulo lokuhamba ngokusebenzisa ukuguquguquka kwefestile yokufumana. Ifestile yokwamkela inika umthumeli isalathiso sokuba singakanani na isithuba se-cache esisekho. Umthumeli ulawula isixa sedatha ethunyelwe ngokungqinelana nomthamo owamkelekileyo womamkeli.
Umamkeli wazisa umthumeli ngobukhulu bedatha anokuyifumana, kwaye umthumeli uthumela ukuya kulo mda. Lo mda ubungakanani befestile, khumbula i-header ye-TCP? Kukho indawo yefestile yokufumana, esetyenziselwa ukubonisa inani leebhayithi umamkeli akwaziyo okanye azimisele ukuzifumana.
Umamkeli womthumeli uya kuthi ngamaxesha athile athumele ipakethi yefestile yeprobe, esetyenziselwa ukubona ukuba umamkeli usenako ukwamkela idatha. Xa isithinteli somamkeli sisengozini yokuphuphuma, ubungakanani befestile bumiselwa kwixabiso elincinane ukuyalela umthumeli ukuba alawule ubungakanani bedatha ethunyelweyo.
Nanku umzobo woLawulo lokuHamba koThungelwano:
Ulawulo loNxibelelwano lweNethiwekhi
Ngaphambi kokwazisa ulawulo lokuxinana, kufuneka siqonde ukuba ukongeza kwifestile yokufumana kunye nefestile yokuthumela, kukho ifestile yokuxinana, esetyenziselwa kakhulu ukusombulula ingxaki yeyiphi isantya umthumeli aqala ngayo ukuthumela idatha kwifestile yokufumana. Ngoko ke, ifestile yoxinaniso nayo igcinwe ngumthumeli we-TCP. Sidinga i-algorithm yokugqiba ukuba ingakanani idatha efanelekileyo ukuthumela, kuba ukuthumela idata encinci kakhulu okanye eninzi kakhulu ayifanelekanga, kungoko ingqikelelo yefestile yengxinano.
Kulawulo lwangaphambili lokuhamba komsebenzi womnatha, into ebesiyinqandile ngumthumeli ogcwalisa i-cache yomamkeli ngedatha, kodwa besingazi ukuba kwenzeka ntoni kwinethiwekhi. Ngokuqhelekileyo, iinethiwekhi zekhompyuter zikwindawo ekwabelwana ngayo. Ngenxa yoko, kunokubakho ukuxinana kwenethiwekhi ngenxa yonxibelelwano phakathi kweminye imikhosi.
Xa inethiwekhi igxininisekile, ukuba inani elikhulu leepakethi liqhubeka nokuthunyelwa, linokubangela iingxaki ezifana nokulibaziseka kunye nokulahlekelwa kweepakethi. Ngeli xesha, i-TCP iya kuthumela kwakhona idatha, kodwa ukuhanjiswa kwakhona kuya kwandisa umthwalo kwinethiwekhi, okubangelwa ukulibaziseka okukhulu kunye nokulahlekelwa kwepakethi. Oku kunokungena kumjikelo okhohlakeleyo kwaye uqhubeke ukhula.
Ngaloo ndlela, i-TCP ayikwazi ukungayihoyi into eyenzekayo kwinethiwekhi. Xa inethiwekhi ixinaniswe, i-TCP iyazincama ngokunciphisa inani ledatha eyithumelayo.
Ngoko ke, ulawulo lokuxinana lucetywayo, olujolise ekuphepheni ukuzalisa inethiwekhi yonke ngedatha evela kumthumeli. Ukulawula inani ledatha umthumeli kufuneka ayithumele, i-TCP ichaza ingqikelelo ebizwa ngokuba yifestile yoxinaniso. I-algorithm yolawulo lwengxinano iya kulungelelanisa ubungakanani befestile yengxinano ngokwenqanaba lokuxinana kwenethiwekhi, ukuze kulawulwe inani ledatha ethunyelwe ngumthumeli.
Yintoni ifestile yokuxinana? Ingaba le nto inento yokwenza nefestile yokuthumela?
Ifestile yoNxibelelwano lutshintsho lwemeko olulondolozwe ngumthumeli omisela ubungakanani bedatha umthumeli anokuyithumela. Ifestile yengxinano iyatshintsha ngokuguquguqukayo ngokwenqanaba lokuxinana kwenethiwekhi.
I-Window yokuThumela yisayizi yefestile ekuvunyelwene ngayo phakathi komthumeli kunye nomamkeli ebonisa isixa sedatha enokufunyanwa ngumamkeli. Ifestile yengxinano kunye nefestile yokuthumela ziyazalana; ifestile yokuthumela idla ngokulingana nobuncinci bokuxinana kunye nokwamkela iWindows, oko kukuthi, swnd = min(cwnd, rwnd).
Ingxinano yefestile cwnd itshintsha ngolu hlobo lulandelayo:
Ukuba akukho ukuxinana kwinethiwekhi, oko kukuthi, akukho xesha lokuthunyelwa kwakhona kwenzeka, iwindow yokudibanisa iyanda.
Ukuba kukho ukuxinana kwinethiwekhi, iwindow yokudibanisa iyancipha.
Umthumeli umisela ukuba inethiwekhi ixinaniswe ngokujonga ukuba i-ACK yokuvuma ipakethi ifunyenwe ngexesha elichaziweyo. Ukuba umthumeli akayifumani ipakethe yokuvuma ye-ACK ngexesha elichaziweyo, kucingwa ukuba inethiwekhi ixinaniswe.
Ukongeza kwifestile yokuxinana, lixesha lokuxoxa nge-algorithm yokulawula ukuxinana kwe-TCP. I-algorithm yokulawula ingxinano ye-TCP iquka iinxalenye ezintathu eziphambili:
Isiqalo Esicothayo:Ekuqaleni, ifestile ye-cwnd yokuxinana incinci, kwaye umthumeli wandisa ifestile yokuxinana ngokukhawuleza ukulungelelanisa umthamo wenethiwekhi.
Ukunqanda ukuxinana:Emva kokuba ifestile yoxinaniso igqithe kumda othile, umthumeli wonyusa ifestile yengxinano ngendlela elandelelanayo ukucothisa isantya sokukhula kwefestile yengxinano kwaye unqande ukulayisha ngaphezulu kwenethiwekhi.
UkuBuyisa ngokukhawuleza:Ukuba ukuxinana kuyenzeka, umthumeli unciphisa ifestile yoxinaniso ngeehafu kwaye angene kwimeko yokubuyisela ngokukhawuleza ukugqiba indawo yokubuyisela umnatha ngokusebenzisa ii-acks eziphindwe kabini ezifunyenweyo, kwaye aqhubeke nokunyusa ifestile yengxinano.
Ukuqala Okucothayo
Xa uxhulumaniso lwe-TCP lusekiwe, i-cwnd yefestile yengxinano isetelwe kuqala kwixabiso eliphantsi le-MSS (ubungakanani becandelo lobuninzi). Ngale ndlela, izinga lokuthumela lokuqala limalunga ne-MSS/RTT bytes/second. Elona bhanwidth likhoyo lidla ngokuba likhulu kune-MSS/RTT, ngoko ke i-TCP ifuna ukufumana elona zinga lokuthumela elilelona, elinokuphunyezwa ngokucotha-ukuqala.
Kwinkqubo yokucotha, ixabiso lefestile ye-congestion cwnd liya kuqaliswa kwi-1 MSS, kwaye ixesha ngalinye icandelo lepakethi elithunyelwe livunyiwe, ixabiso le-cwnd liya kwandiswa nge-MSS enye, oko kukuthi, ixabiso le-cwnd liya kuba yi-2 MSS. Emva koko, ixabiso le-cwnd liphindwe kabini kwi-transmission nganye eyimpumelelo yecandelo lepakethi, njalo njalo. Inkqubo ethile yokukhula iboniswa kulo mfanekiso ulandelayo.
Nangona kunjalo, izinga lokuthumela alikwazi ukukhula rhoqo; ukukhula kufuneka kuphele ngelinye ixesha. Ke, isantya sokuthumela siphela nini? Ukuqala okucothayo ngokuqhelekileyo kuphelisa ukunyuka kwesantya sokuthumela ngenye yeendlela ezininzi:
Indlela yokuqala yimeko yokulahleka kwepakethi ngexesha lokuthumela inkqubo yokuqalisa kancinci. Xa ilahleko yepakethi isenzeka, i-TCP icwangcisa ifestile yokuxinana yomthumeli cwnd ukuya ku-1 kwaye iphinde iqale inkqubo ecothayo. Kweli nqanaba, ingqikelelo ye-ssthresh ecothayo yokuqalisa iyaziswa, ixabiso layo lokuqala lisisiqingatha sexabiso le-cwnd elenza ilahleko yepakethe. Oko kukuthi, xa ukuxinana kufunyenwe, ixabiso le-ssthresh lisiqingatha sexabiso lefestile.
Indlela yesibini kukudibanisa ngokuthe ngqo nexabiso le-sthresh yokuqalisa kancinci. Ekubeni ixabiso le-ssthresh lisisiqingatha sexabiso lefestile xa ukuxinana kufunyenwe, ilahleko yepakethi ingenzeka ngokuphinda kabini xa i-cwnd inkulu kune-ssthresh. Ngoko ke, kungcono ukuseta i-cwnd kwi-ssthresh, eya kubangela ukuba i-TCP itshintshele kwimodi yokulawula ukuxinana kunye nokuphelisa ukuqala kancinci.
Indlela yokugqibela yokuba isiqalo esicothayo sinokuphela ukuba ii-acks ezintathu ezingafunekiyo zifunyenwe, i-TCP yenza ukuhanjiswa ngokukhawuleza kwaye ingene kwimeko yokubuyisela. (Ukuba akucaci ukuba kutheni kukho iipakethi ezintathu ze-ACK, ziya kuchazwa ngokwahlukileyo kwindlela yokubuyisela kwakhona.)
Ukuphepha Ukuxinana
Xa i-TCP ingena kwimo yokulawula ukuxinana, i-cwnd imiselwe kwisiqingatha se-threshold threshold sthresh. Oku kuthetha ukuba ixabiso le-cwnd alinakuphindwa kabini ngalo lonke ixesha icandelo lepakethi lifunyanwa. Endaweni yoko, indlela yogcino ngokomlinganiselo yamkelwa apho ixabiso le-cwnd linyuswe nge-MSS enye kuphela (ubude becandelo lepakethe elona liphezulu) emva kokuba uthumelo ngalunye lugqityiwe. Umzekelo, nokuba iisegmenti zeepakethi ezili-10 zamkelwe, ixabiso le-cwnd liya kunyuka nge-MSS enye. Lo ngumzekelo wokukhula ngokulandelelana kwaye ukwanomda ophezulu wokukhula. Xa ilahleko yepakethi isenzeka, ixabiso le-cwnd liyatshintshwa libe yi-MSS, kwaye ixabiso le-ssthresh limiselwe kwisiqingatha se-cwnd. Okanye iya kumisa ukukhula kwe-MSS xa iimpendulo ze-ACK ezi-3 ezingafunekiyo zifunyenwe. Ukuba ii-acks ezintathu ezingafunekiyo zisafunyanwa emva kokunciphisa isiqingatha sexabiso le-cwnd, ixabiso le-ssthresh lirekhodwa njengesiqingatha sexabiso le-cwnd kwaye imo yokubuyisela ngokukhawuleza ifakiwe.
UkuBuyisa ngokukhawuleza
Kwimeko yoBuyiselo ngokukhawuleza, ixabiso lefestile ye-cwnd yoxinaniso linyuswe nge-MSS enye kwi-ACK efunyenweyo engafunekiyo, oko kukuthi, i-ACK engafiki ngokulandelelana. Oku kukusebenzisa amacandelo epakethe athe athunyelwa ngempumelelo kuthungelwano ukuphucula ukusebenza kakuhle kothumelo kangangoko kunokwenzeka.
Xa i-ACK yecandelo lepakethi elahlekileyo ifika, i-TCP iyancipha ixabiso le-cwnd kwaye ingena kwimeko yokuphepha ukuxinana. Oku kukulawula ubungakanani befestile yoxinaniso kwaye unqande ukwandisa ngakumbi ukuxinana kwenethiwekhi.
Ukuba ixesha lokuvala lenzeka emva kokulawulwa koxinzelelo, imeko yenethiwekhi iba yingozi ngakumbi kwaye i-TCP ifuduka isuka kwindawo yokuphepha ukuxinana ukuya kwindawo yokucotha. Kulo mzekelo, ixabiso lefestile yoxinaniso cwnd isetelwe kwi-1 MSS, ubuninzi becandelo lepakethi yobude, kunye nexabiso le-sthresh yokuqala ecothayo imiselwe kwisiqingatha se-cwnd. Injongo yoku kukunyusa ngokuthe ngcembe ubungakanani befestile yoxinaniso emva kokuba uthungelwano lubuyela kwimeko yesiqhelo ukulinganisela izinga losulelo kunye neqondo lokuxinana kwenethiwekhi.
Isishwankathelo
Njengeprotocol yezothutho ethembekileyo, i-TCP isebenzisa uthutho oluthembekileyo ngenombolo yokulandelelana, ukuvuma, ukulawula ukuhanjiswa kwakhona, ulawulo lokudibanisa kunye nokulawula ifestile. Phakathi kwabo, indlela yokulawula ukuhamba ilawula inani ledatha ethunyelwe ngumthumeli ngokubhekiselele kumthamo wangempela wokufumana ummkeli, othintela iingxaki zokuxinana kwenethiwekhi kunye nokunciphisa ukusebenza. Indlela yokulawula ingxinano inqanda ukwenzeka kokuxinana kwenethiwekhi ngokulungelelanisa inani ledatha ethunyelwe ngumthumeli. Iingqikelelo zefestile yoxinaniso kunye nefestile yokuthumela zihambelana enye kwenye, kwaye inani ledatha kumthumeli lilawulwa ngokuhlengahlengisa ngokuguquguqukayo ubungakanani befestile yengxinano. Ukuqala okucothayo, ukuphepha ukuxinana kunye nokubuyisela ngokukhawuleza zizinto ezintathu eziphambili ze-algorithm yokulawula ukuxinana kwe-TCP, ehlengahlengisa ubungakanani befestile yokuxinana ngokusebenzisa izicwangciso ezahlukeneyo zokulungelelanisa umthamo kunye neqondo lokuxinana kwenethiwekhi.
Kwicandelo elilandelayo, siza kuhlolisisa indlela yokudluliselwa kwakhona kwe-TCP. Indlela yokubuyisela kwakhona yinxalenye ebalulekileyo ye-TCP ukuphumeza ukuhanjiswa okuthembekileyo. Iqinisekisa ukuhanjiswa okuthembekileyo kwedatha ngokuthumela kwakhona idatha elahlekileyo, eyonakeleyo okanye ilibazisekile. Umgaqo-nkqubo wokuphunyezwa kunye nesicwangciso-qhinga sendlela yokudluliselwa kwakhona iya kwaziswa kwaye ihlalutywe ngokweenkcukacha kwicandelo elilandelayo. Hla umamele!
Ixesha lokuposa: Feb-24-2025