I-TCP Reliability Transport
Sonke siyayazi iphrothokholi ye-TCP njengephrothokholi yezokuthutha ethembekile, kodwa iqinisekisa kanjani ukwethembeka kwezokuthutha?
Ukuze kuzuzwe ukudluliswa okuthembekile, izici eziningi zidinga ukucatshangelwa, njengokonakala kwedatha, ukulahlekelwa, ukuphindaphinda, namashadi angaphandle kwe-oda. Uma lezi zinkinga zingenakuxazululwa, ukudluliswa okuthembekile akukwazi ukufezwa.
Ngakho-ke, i-TCP isebenzisa izindlela ezifana nenombolo yokulandelana, impendulo yokuvuma, ukulawula ukuthumela kabusha, ukuphathwa kokuxhumeka, nokulawula iwindi ukuze kuzuzwe ukudluliselwa okuthembekile.
Kuleli phepha, sizogxila efasiteleni elishelelayo, ukulawula ukugeleza nokulawula ukuminyana kwe-TCP. Indlela yokudlulisela kabusha ihlanganiswa ngokuhlukene esigabeni esilandelayo.
Ukulawula Ukugeleza Kwenethiwekhi
Ukulawula Ukugeleza Kwenethiwekhi noma ukwaziwa ngokuthi Ukulawulwa Kwethrafikhi Yenethiwekhi empeleni kuwukubonakaliswa kobudlelwane obucashile phakathi kwabakhiqizi nabathengi. Cishe uye wahlangabezana nalesi simo kakhulu emsebenzini noma ezingxoxweni. Uma amandla omkhiqizi okukhiqiza edlula kakhulu umthamo womthengi wokudla, lokho kuzokwenza ukuthi ulayini ukhule unomphela. Esimeni esibucayi kakhulu, ungase wazi ukuthi lapho imilayezo ye-RabbitMQ inqwabelana kakhulu, ingabangela ukwehla kokusebenza kwayo yonke iseva ye-MQ. Okufanayo kuyiqiniso nge-TCP; uma ishiywe ingahloliwe, imilayezo eminingi izofakwa kunethiwekhi, futhi abathengi bazobe bedlule umthamo wabo, kuyilapho abakhiqizi bezoqhubeka nokuthumela imilayezo ephindwe kabili, okuzothinta kakhulu ukusebenza kwenethiwekhi.
Ukuze kubhekwane nalesi simo, i-TCP inikeza indlela yokuthi umthumeli alawule inani ledatha ethunyelwe ngokusekelwe kumthamo wangempela wokwamukela umamukeli, owaziwa ngokuthi ukulawula ukugeleza. Umamukeli ugcina iwindi lokwamukela, kuyilapho umthumeli egcina iwindi lokuthumela. Kufanele kuqashelwe ukuthi lawa ma-Windows awokuxhumana kwe-TCP eyodwa kuphela futhi akuzona zonke izixhumi ezabelana ngewindi.
I-TCP inikeza ukulawula ukugeleza ngokusebenzisa okuguquguqukayo kwewindi lokwamukela. Iwindi lokwamukela linikeza umthumeli inkomba yokuthi singakanani isikhala senqolobane esisatholakala. Umthumeli ulawula inani ledatha ethunyelwe ngokuya ngomthamo wangempela wokwamukela umamukeli.
Umamukeli wazisa umthumeli ngosayizi wedatha angayithola, futhi umthumeli uthumela kufike kulo mkhawulo. Lo mkhawulo ungusayizi wewindi, khumbula unhlokweni we-TCP? Kunenkambu yewindi lokwamukela, esetshenziselwa ukukhombisa inani lamabhayithi umamukeli akwaziyo noma azimisele ukuwathola.
Umsingathi womthumeli uzothumela iphakethe lokuhlola iwindi ngezikhathi ezithile, elisetshenziselwa ukuthola ukuthi umamukeli usakwazi ukwamukela idatha. Uma isigcinalwazi somamukeli sisengozini yokuchichima, usayizi wewindi usethelwa kunani elincane ukuze ayalele umthumeli ukuthi alawule inani ledatha ethunyelwe.
Nawu umdwebo wokulawula ukugeleza kwenethiwekhi:
Ukulawula Ukuminyana Kwenethiwekhi
Ngaphambi kokwethula ukulawulwa kokuminyana, sidinga ukuqonda ukuthi ngaphezu kwewindi lokwamukela kanye newindi lokuthumela, kukhona futhi iwindi lokuminyana, elisetshenziswa kakhulu ukuxazulula inkinga yokuthi umthumeli uqala ngaliphi izinga ukuthumela idatha efasiteleni lokwamukela. Ngakho-ke, iwindi lokuminyana nalo ligcinwa umthumeli we-TCP. Sidinga i-algorithm yokunquma ukuthi ingakanani idatha efanele ukuthumela, njengoba ukuthumela idatha encane kakhulu noma eningi kakhulu akulungile, yingakho umqondo wewindi lokuminyana.
Ekulawulweni kokugeleza kwenethiwekhi kwangaphambilini, esikugwemile kwakuwukuba umthumeli agcwalise inqolobane yomamukeli ngedatha, kodwa besingazi ukuthi kwenzekani kunethiwekhi. Ngokuvamile, amanethiwekhi ekhompyutha asendaweni okwabelwana ngayo. Ngenxa yalokho, kungase kube nokuminyana kwenethiwekhi ngenxa yokuxhumana phakathi kwabanye ababungazi.
Uma inethiwekhi iminyene, uma inani elikhulu lamaphakethe liqhubeka nokuthunyelwa, lingabangela izinkinga ezifana nokulibaziseka nokulahlekelwa kwamaphakethe. Kuleli qophelo, i-TCP izothumela kabusha idatha, kodwa ukudluliswa kabusha kuzokwandisa umthwalo kunethiwekhi, okuholela ekubambezelekeni okukhulu nokulahlekelwa kwephakethe okwengeziwe. Lokhu kungangena emjikelezweni ononya futhi kuqhubeke kuba mkhulu.
Ngakho, i-TCP ayikwazi ukuziba okwenzekayo kunethiwekhi. Uma inethiwekhi iminyene, i-TCP iyazidela ngokunciphisa inani ledatha elithumelayo.
Ngakho-ke, ukulawulwa kokuminyana kuhlongozwa, okuhloswe ukugwema ukugcwalisa yonke inethiwekhi ngedatha evela kumthumeli. Ukuze ulawule inani ledatha umthumeli okufanele ayithumele, i-TCP ichaza umqondo obizwa ngokuthi iwindi lokuminyana. I-algorithm yokulawula ukuminyana izolungisa usayizi wewindi lokuminyana ngokuya ngezinga lokuminyana lenethiwekhi, ukuze kulawulwe inani ledatha elithunyelwa umthumeli.
Liyini iwindi lokuminyana? Lokhu kuhlangene ngani newindi lokuthumela?
Iwindi Lokuminyana liwukushintshashintsha kwesimo esigcinwa umthumeli esinquma inani ledatha umthumeli angayithumela. Iwindi lokuminyana lishintsha ngokushintshashintsha ngokuya ngeleveli yokuminyana yenethiwekhi.
Iwindi Lokuthumela liwusayizi wewindi okuvunyelwene ngawo phakathi komthumeli nomamukeli obonisa inani ledatha umamukeli angayithola. Iwindi lokuminyana kanye newindi lokuthumela kuhlobene; iwindi lokuthumela ngokuvamile lilingana nobuncane bokuminyana nokwamukela iWindows, okungukuthi, swnd = min(cwnd, rwnd).
Iwindi lokuminyana cwnd lishintsha kanje:
Uma kungekho ukuminyana kunethiwekhi, okungukuthi, asikho isikhathi sokuvala sokudlulisa okwenzekayo, iwindi lokuminyana liyakhula.
Uma kukhona ukuminyana kunethiwekhi, iwindi lokuminyana liyancipha.
Umthumeli unquma ukuthi inethiwekhi iminyene yini ngokubheka ukuthi ingabe iphakethe le-ACK lokuvuma liyatholwa yini phakathi nesikhathi esishiwo. Uma umthumeli engalitholi iphakethe lokuvuma le-ACK phakathi nesikhathi esishiwo, kuthathwa ngokuthi inethiwekhi iminyene.
Ngaphezu kwewindi lokuminyana, sekuyisikhathi sokuxoxa nge-algorithm yokulawula ukuminyana kwe-TCP. I-algorithm yokulawula ukuminyana kwe-TCP iqukethe izingxenye ezintathu eziyinhloko:
Ukuqala Okunensayo:Ekuqaleni, iwindi lokuminyana kwe-cwnd lincane uma kuqhathaniswa, futhi umthumeli wandisa iwindi lokuminyana ngokugqama ukuze livumelane ngokushesha nomthamo wenethiwekhi.
Ukugwema Ukuminyana:Ngemuva kokuthi iwindi lokuminyana lidlule umkhawulo othile, umthumeli unyusa iwindi lokuminyana ngendlela yomugqa ukuze abambezele izinga lokukhula kwewindi lokuminyana futhi agweme ukulayisha ngokweqile inethiwekhi.
Ukubuyisela Ngokushesha:Uma kwenzeka ukuminyana, umthumeli unciphisa iwindi lokuminyana futhi angene esimweni sokululama ngokushesha ukuze anqume indawo yokutholwa kwenethiwekhi ngama-acks ayimpinda atholiwe, abese eqhubeka nokwandisa iwindi lokuminyana.
Ukuqala Okunensayo
Lapho uxhumo lwe-TCP lusungulwa, iwindi lokuminyana elithi cwnd ekuqaleni lisethwa libe inani eliphansi le-MSS (usayizi wesegimenti omkhulu). Ngale ndlela, izinga lokuthumela lokuqala limayelana namabhayithi e-MSS/RTT/isekhondi. Umkhawulokudonsa otholakalayo wangempela uvame ukuba mkhulu kakhulu kune-MSS/RTT, ngakho i-TCP ifuna ukuthola izinga lokuthumela elilungile, elingafinyelelwa ngokuqalisa kancane.
Enqubweni eqala kancane, inani lewindi lokuminyana cwnd lizoqaliswa libe ngu-1 MSS, futhi isikhathi ngasinye lapho ingxenye yephakethe edlulisiwe yamukelwa, inani le-cwnd lizokhushulwa nge-MSS eyodwa, okungukuthi, inani le-cwnd lizoba ngu-2 MSS. Ngemuva kwalokho, inani le-cwnd liphindwe kabili ekudluliseni ngakunye okuphumelelayo kwengxenye yephakethe, njalonjalo. Inqubo ethile yokukhula ikhonjisiwe emfanekisweni olandelayo.
Nokho, izinga lokuthumela alikwazi ukukhula njalo; ukukhula kufanele kuphele ngesinye isikhathi. Ngakho-ke, ukukhuphuka kwezinga lokuthumela kuphela nini? Ukuqala kancane ngokuvamile kuqeda ukukhuphuka kwezinga lokuthumela ngendlela eyodwa yezindlela ezimbalwa:
Indlela yokuqala yindaba yokulahleka kwephakethe phakathi nenqubo yokuthumela yokuqala kancane. Uma ukulahleka kwephakethe kwenzeka, i-TCP isetha iwindi lokuminyana lomthumeli ukuthi cwnd libe ngu-1 futhi iqale kabusha inqubo yokuqala kancane. Kuleli qophelo, kwethulwa umqondo we-ssthresh yokuqala ehamba kancane, inani layo lokuqala liyingxenye yenani le-cwnd elidala ukulahleka kwephakethe. Okusho ukuthi, uma ukuminyana kutholwa, inani le-ssthresh liwuhhafu yenani lewindi.
Indlela yesibili iwukuhlobanisa ngokuqondile nenani le-ssthresh eqala kancane. Njengoba inani le-ssthresh liwuhhafu yenani lewindi lapho kutholwa ukuminyana, ukulahlekelwa kwephakethe kungase kwenzeke ngokuphinda kabili ngakunye lapho i-cwnd inkulu kune-ssthresh. Ngakho-ke, kungcono kakhulu ukusetha i-cwnd ku-ssthresh, okuzokwenza i-TCP ishintshele kumodi yokulawula ukuminyana futhi iqede ukuqala kancane.
Indlela yokugcina yokuthi isiqalo esinensayo singaphela uma kutholwa ama-ack amathathu angasebenzi, i-TCP yenza ukudluliselwa kabusha okusheshayo futhi ingena esimweni sokutakula. (Uma kungacaci ukuthi kungani kunamaphakethe e-ACK amathathu, azochazwa ngokuhlukana endleleni yokudlulisela kabusha.)
Ukugwema Ukuminyana
Uma i-TCP ingena kusimo sokulawula ukuminyana, i-cwnd isethwe kuhhafu womkhawulo wokuminyana we-ssthresh. Lokhu kusho ukuthi inani le-cwnd alikwazi ukuphinda kabili njalo lapho ingxenye yephakethe yamukelwa. Esikhundleni salokho, kwamukelwa indlela elinganiselayo lapho inani le-cwnd likhushulwa nge-MSS eyodwa kuphela (ubude bengxenye enkulu yephakethe) ngemva kokuqedwa kokudlulisela ngakunye. Isibonelo, noma ngabe amasegimenti ephakethe ayi-10 avunywa, inani le-cwnd lizokhuphuka nge-MSS eyodwa kuphela. Lena imodeli yokukhula eqondile futhi inomkhawulo ongaphezulu ekukhuleni. Uma ukulahleka kwephakethe kwenzeka, inani le-cwnd liyashintshwa libe i-MSS, futhi inani le-ssthresh libekwa kuhhafu we-cwnd. Noma izophinde imise ukukhula kwe-MSS lapho kwamukelwa izimpendulo ezi-3 ezingafuneki ze-ACK. Uma ama-ack amathathu angasebenzi asatholwa ngemva kokwehliswa ngohhafu yenani le-cwnd, inani le-ssthresh lirekhodwa njengengxenye yenani le-cwnd futhi kufakwe isimo sokululama ngokushesha.
Ukubuyisela Ngokushesha
Esimweni Sokuthola Ngokushesha, inani lewindi lokuminyana cwnd likhuphuka nge-MSS eyodwa ku-ACK ngayinye etholiwe engasasebenzi, okungukuthi, i-ACK engafiki ngokulandelana. Lokhu kwenzelwa ukusebenzisa izingxenye zephakethe ezihanjiswe ngempumelelo kunethiwekhi ukuze kuthuthukiswe ukusebenza kahle kokudlulisela ngangokunokwenzeka.
Lapho i-ACK yengxenye yephakethe elahlekile ifika, i-TCP yehlisa inani le-cwnd bese ingena esimweni sokugwema ukuminyana. Lokhu okokulawula usayizi wewindi lokuminyana futhi ugweme ukukhulisa ukuminyana kwenethiwekhi.
Uma ukuphela kwesikhathi kwenzeka ngemva kwesimo sokulawula ukuminyana, isimo senethiwekhi siba sibi kakhulu futhi i-TCP isuka kusimo sokugwema ukuminyana iye esimweni sokuqala kancane. Kulokhu, inani lewindi lokuminyana elingu-cwnd lisethelwe ku-1 MSS, ubude bengxenye yephakheji ephezulu, kanye nevelu ye-ssthresh eqala kancane isethwe kuhhafu we-cwnd. Inhloso yalokhu ukukhulisa kabusha kancane kancane usayizi wewindi lokuminyana ngemva kokuba inethiwekhi isiluleme ukuze ibhalansise izinga lokudlulisela kanye nezinga lokuminyana kwenethiwekhi.
Isifinyezo
Njengephrothokholi yezokuthutha enokwethenjelwa, i-TCP isebenzisa ukuthutha okuthembekile ngenombolo yokulandelana, ukuvuma, ukulawula ukudluliswa kabusha, ukuphathwa kokuxhumeka nokulawula iwindi. Phakathi kwazo, indlela yokulawula ukugeleza ilawula inani ledatha elithunyelwe umthumeli ngokuya ngomthamo wangempela wokwamukela womamukeli, ogwema izinkinga zokuminyana kwenethiwekhi kanye nokuwohloka kokusebenza. Indlela yokulawula ukuminyana igwema ukwenzeka kokuminyana kwenethiwekhi ngokulungisa inani ledatha elithunyelwe umthumeli. Imiqondo yewindi lokuminyana kanye newindi lokuthumela ihlobene, futhi inani ledatha kumthumeli lilawulwa ngokushintsha ngamandla usayizi wewindi lokuminyana. Ukuqala okunensayo, ukugwema ukuminyana kanye nokululama ngokushesha izingxenye ezintathu eziyinhloko ze-algorithm yokulawula ukuminyana kwe-TCP, elungisa usayizi wewindi lokuminyana ngokusebenzisa amasu ahlukene okujwayela umthamo kanye nezinga lokuminyana lenethiwekhi.
Esigabeni esilandelayo, sizohlola indlela yokudlulisela kabusha ye-TCP ngokuningiliziwe. Indlela yokudlulisa kabusha iyingxenye ebalulekile ye-TCP ukuze kuzuzwe ukudluliswa okuthembekile. Iqinisekisa ukudluliswa okuthembekile kwedatha ngokuthumela kabusha idatha elahlekile, eyonakele noma ebambezelekile. Umgomo wokuqalisa kanye neqhinga lendlela yokudlulisela kabusha kuzokwethulwa futhi kuhlaziywe ngokuningiliziwe esigabeni esilandelayo. Hlala ubukele!
Isikhathi sokuthumela: Feb-24-2025