Isikhali esiyimfihlo se-TCP: Ukulawulwa Kokugeleza Kwenethiwekhi kanye Nokulawulwa Kokuminyana Kwenethiwekhi

Ukuthutha Kokuthembeka kwe-TCP
Sonke sijwayelene nephrothokholi ye-TCP njengephrothokholi yokuthutha ethembekile, kodwa iqinisekisa kanjani ukuthembeka kwezokuthutha?

Ukuze kufezwe ukudluliswa okuthembekile, kunezinto eziningi okudingeka zicatshangelwe, njengokonakala kwedatha, ukulahleka, ukuphindaphindwa, kanye nezingcezu ezingasebenzi kahle. Uma lezi zinkinga zingenakuxazululwa, ukudluliswa okuthembekile ngeke kufezwe.

Ngakho-ke, i-TCP isebenzisa izindlela ezifana nenombolo yokulandelana, impendulo yokuvuma, ukulawula ukuthumela kabusha, ukuphathwa kokuxhumeka, kanye nokulawula iwindi ukuze kufezwe ukudluliselwa okuthembekile.

Kuleli phepha, sizogxila efasiteleni elishelelayo, ukulawula ukugeleza kanye nokulawula ukuminyana kwe-TCP. Indlela yokudlulisa kabusha ihlanganiswe ngokwehlukana esigabeni esilandelayo.

Ukulawulwa Kokugeleza Kwenethiwekhi
Ukulawulwa Kokugeleza Kwenethiwekhi noma ukwaziwa ngokuthi Ukulawulwa Kwethrafikhi Yenethiwekhi empeleni kuwukubonakaliswa kobudlelwano obucashile phakathi kwabakhiqizi nabathengi. Cishe uke wabhekana nalesi simo kakhulu emsebenzini noma ezingxoxweni. Uma amandla omkhiqizi okukhiqiza edlula kakhulu amandla omthengi okusebenzisa, kuzobangela ukuthi umugqa ukhule unomphela. Esimweni esibucayi kakhulu, ungase wazi ukuthi lapho imiyalezo yeRabbitMQ inqwabelana kakhulu, kungabangela ukuwohloka kokusebenza kwayo yonke iseva ye-MQ. Kunjalo nange-TCP; uma ingashiywanga ihlolwe, imiyalezo eminingi kakhulu izofakwa kunethiwekhi, futhi abathengi bazobe bedlule amandla abo, kuyilapho abakhiqizi bezoqhubeka nokuthumela imiyalezo ephindaphindwayo, okuzothinta kakhulu ukusebenza kwenethiwekhi.

Ukuze kuxazululwe lesi simo, i-TCP inikeza indlela yokuthi umthumeli alawule inani ledatha ethunyelwe ngokusekelwe kumthamo wangempela wokwamukela womamukeli, owaziwa ngokuthi ukulawula ukugeleza. Umamukeli ugcina iwindi lokwamukela, kuyilapho umthumeli egcina iwindi lokuthumela. Kufanele kuqashelwe ukuthi la maWindows angowokuxhumana okukodwa kwe-TCP futhi akuzona zonke izixhumanisi ezabelana ngewindi.

I-TCP inikeza ukulawula ukugeleza ngokusebenzisa i-variable yewindi lokwamukela. Iwindi lokwamukela linikeza umthumeli inkomba yokuthi ingakanani isikhala senqolobane esisatholakala. Umthumeli ulawula inani ledatha ethunyelwe ngokuya ngamandla okwamukela angempela omamukeli.

Umphathi womamukeli wazisa umthumeli ngobukhulu bedatha angayithola, bese umthumeli ethumela kuze kufike kulo mkhawulo. Lo mkhawulo usayizi wewindi, uyakhumbula i-TCP header? Kukhona insimu yewindi lokwamukela, esetshenziselwa ukukhombisa inani lama-byte umamukeli akwazi noma azimisele ukuwamukela.

Umthumeli uzothumela njalo iphakethe le-window probe, elisetshenziselwa ukuthola ukuthi umthumeli usakwazi yini ukwamukela idatha. Uma i-buffer yomthumeli isengozini yokugcwala, usayizi wefasitela usethelwe enanini elincane ukuze kufundiswe umthumeli ukuthi alawule inani ledatha ethunyelwe.

Nasi umdwebo Wokulawula Ukugeleza Kwenethiwekhi:

Ukulawulwa Kwethrafikhi

Ukulawulwa Kokuminyana Kwenethiwekhi
Ngaphambi kokwethula ukulawula ukuminyana, sidinga ukuqonda ukuthi ngaphezu kwefasitela lokwamukela kanye nefasitela lokuthumela, kukhona nefasitela lokuminyana, elisetshenziswa kakhulu ukuxazulula inkinga yokuthi umthumeli uqala ukuthumela idatha ngesivinini esingakanani efasiteleni lokwamukela. Ngakho-ke, ifasitela lokuminyana ligcinwa futhi ngumthumeli we-TCP. Sidinga i-algorithm yokunquma ukuthi ingakanani idatha efanele ukuthumela, njengoba ukuthumela idatha encane kakhulu noma eningi kakhulu kungeyona into efanelekile, yingakho umqondo wefasitela lokuminyana.

Ekulawuleni ukugeleza kwenethiwekhi kwangaphambilini, esasikugwema kwakuwukuba umthumeli agcwalise i-cache yomamukeli ngedatha, kodwa sasingazi ukuthi kwenzekani kunethiwekhi. Ngokuvamile, amanethiwekhi ekhompyutha asendaweni ehlanganyelwe. Ngenxa yalokho, kungase kube nokuminyana kwenethiwekhi ngenxa yokuxhumana phakathi kwabanye ababungazi.

Uma inethiwekhi iminyene, uma inani elikhulu lamaphakethe liqhubeka nokuthunyelwa, kungabangela izinkinga ezifana nokubambezeleka nokulahleka kwamaphakethe. Kuleli qophelo, i-TCP izothumela kabusha idatha, kodwa ukudluliselwa kabusha kuzokwandisa umthwalo kunethiwekhi, okuholela ekubambezelekeni okukhulu kanye nokulahlekelwa kakhulu kwamaphakethe. Lokhu kungangena emjikelezweni omubi futhi kuqhubeke nokuba mkhulu.

Ngakho-ke, i-TCP ayikwazi ukungakunaki okwenzekayo kunethiwekhi. Uma inethiwekhi iminyene, i-TCP izidela ngokunciphisa inani ledatha eyithumelayo.

Ngakho-ke, kuphakanyiswa ukulawulwa kokuxinana, okuhlose ukugwema ukugcwalisa yonke inethiwekhi ngedatha evela kumthumeli. Ukuze kulawulwe inani ledatha umthumeli okufanele alithumele, i-TCP ichaza umqondo obizwa ngokuthi iwindi lokuxinana. I-algorithm yokulawula ukuxinana izolungisa usayizi wewindi lokuxinana ngokwezinga lokuxinana kwenethiwekhi, ukuze kulawulwe inani ledatha ethunyelwe ngumthumeli.

Iyini ifasitela lokuxinana? Lokhu kuhlobene kanjani nefasitela lokuthumela?

Iwindi Lokuxinana liyi-variable yesimo egcinwa ngumthumeli enquma inani ledatha umthumeli angalithumela. Iwindi lokuxinana liyashintsha ngokuguquguqukayo ngokuya ngezinga lokuxinana kwenethiwekhi.

Iwindi Lokuthumela liwusayizi wewindi okuvunyelwene ngawo phakathi komthumeli nomamukeli okhombisa inani ledatha umamukeli angayithola. Iwindi lokuminyana kanye newindi lokuthumela kuhlobene; iwindi lokuthumela ngokuvamile lilingana nobuncane bokuminyana kanye namaWindows amukelayo, okungukuthi, swnd = min(cwnd, rwnd).

Iwindi lokuxinana liyashintsha kanje:

Uma kungekho ukuminyana kunethiwekhi, okungukuthi, akukho sikhathi sokuphelelwa yisikhathi sokudlulisa, iwindi lokuminyana liyakhula.

Uma kukhona ukuminyana kunethiwekhi, ifasitela lokuminyana liyancipha.

Umthumeli unquma ukuthi inethiwekhi iminyene yini ngokubheka ukuthi iphakethe lokuvuma le-ACK litholakele yini ngaphakathi kwesikhathi esibekiwe. Uma umthumeli engatholi iphakethe lokuvuma le-ACK ngaphakathi kwesikhathi esibekiwe, kubhekwa ukuthi inethiwekhi iminyene.

Ngaphezu kwefasitela lokuminyana, sekuyisikhathi sokuxoxa nge-algorithm yokulawula ukuminyana kwe-TCP. I-algorithm yokulawula ukuminyana kwe-TCP inezingxenye ezintathu eziyinhloko:

Ukuqala Okuhamba Kancane:Ekuqaleni, ifasitela lokuxinana kwe-cwnd lincane kakhulu, futhi umthumeli wandisa ifasitela lokuxinana ngokushesha ukuze azivumelanise ngokushesha namandla enethiwekhi.
Ukugwema Ukuminyana:Ngemva kokuba iwindi lokuminyana lidlule umkhawulo othile, umthumeli ukhulisa iwindi lokuminyana ngendlela eqondile ukuze anciphise izinga lokukhula kwewindi lokuminyana futhi agweme ukulayisha ngokweqile inethiwekhi.
Ukululama Okusheshayo:Uma kwenzeka ukuminyana, umthumeli uhlukanisa ifasitela lokuminyana bese engena esimweni sokululama ngokushesha ukuze anqume indawo yokululama kwenethiwekhi ngama-acks aphindwe kabili atholiwe, bese eqhubeka nokwandisa ifasitela lokuminyana.

Ukuqala Okuhamba Kancane
Uma uxhumano lwe-TCP lusungulwa, i-cwnd yewindi lokuxinana iqale isethwe enanini elincane le-MSS (usayizi wesigaba esiphezulu). Ngale ndlela, izinga lokuthumela lokuqala limayelana nama-byte e-MSS/RTT/isekhondi. I-bandwidth yangempela etholakalayo ivame ukuba nkulu kakhulu kune-MSS/RTT, ngakho-ke i-TCP ifuna ukuthola izinga lokuthumela elifanele, elingatholakala ngokusebenzisa ukuqala kancane.

Enqubweni yokuqala kancane, inani le-cwnd yefasitela lokuxinana lizoqaliswa libe yi-1 MSS, futhi isikhathi ngasinye lapho ingxenye yephakethe edlulisiwe iqashelwa, inani le-cwnd lizokhushulwa yi-MSS eyodwa, okungukuthi, inani le-cwnd lizoba yi-2 MSS. Ngemva kwalokho, inani le-cwnd liphindwe kabili ekudlulisweni ngakunye okuphumelelayo kwengxenye yephakethe, njalo njalo. Inqubo ethile yokukhula iboniswe esithombeni esilandelayo.

 Ukulawula ukuminyana kwenethiwekhi

Kodwa-ke, izinga lokuthumela alikwazi ukukhula njalo; ukukhula kufanele kuphele ngesinye isikhathi. Ngakho-ke, izinga lokuthumela liphela nini? Ukuqala kancane kuvame ukuqeda ukwanda kwesilinganiso sokuthumela ngenye yezindlela eziningana:

Indlela yokuqala yindaba yokulahleka kwephakethe ngesikhathi senqubo yokuthumela yokuqalisa kancane. Uma kwenzeka ukulahleka kwephakethe, i-TCP isetha iwindi lokuxinana komthumeli ku-1 bese iqala kabusha inqubo yokuqalisa kancane. Kuleli qophelo, kuqaliswa umqondo womkhawulo wokuqalisa kancane i-ssthresh, onenani lokuqala eliyingxenye yenani le-cwnd elikhiqiza ukulahleka kwephakethe. Okusho ukuthi, lapho kutholakala ukuxinana, inani le-ssthresh liyingxenye yenani lewindi.

Indlela yesibili iwukuhlobana ngqo nenani le-ssthresh yokuqalisa kancane. Njengoba inani le-ssthresh liyingxenye yenani lewindi lapho kutholakala ukuminyana, ukulahleka kwephakethe kungenzeka ngokuphindeka kabili ngakunye lapho i-cwnd inkulu kune-ssthresh. Ngakho-ke, kungcono ukusetha i-cwnd ku-ssthresh, okuzobangela ukuthi i-TCP ishintshele kumodi yokulawula ukuminyana bese iqeda ukuqala kancane.

Indlela yokugcina ukuqala kancane okungaphela ngayo uma kutholwa ama-ack amathathu angafuneki, i-TCP yenza ukudluliselwa okusheshayo bese ingena esimweni sokutakula. (Uma kungacaci ukuthi kungani kunamaphakethe amathathu e-ACK, kuzochazwa ngokwehlukana ngendlela yokudluliselwa kabusha.)

Ukugwema Ukuminyana
Uma i-TCP ingena esimweni sokulawula ukuminyana, i-cwnd isethwe engxenyeni yomkhawulo wokuminyana we-ssthresh. Lokhu kusho ukuthi inani le-cwnd alikwazi ukuphindwa kabili njalo uma kutholwa ingxenye yephakethe. Esikhundleni salokho, kuthathwa indlela elinganiselayo lapho inani le-cwnd likhuliswa nge-MSS eyodwa kuphela (ubude obukhulu bengxenye yephakethe) ngemva kokuqedwa kokudluliselwa ngakunye. Isibonelo, noma ngabe izingxenye zephakethe eziyi-10 ziyaqashelwa, inani le-cwnd lizokhuphuka nge-MSS eyodwa kuphela. Lena imodeli yokukhula eqondile futhi inomkhawulo ophezulu ekukhuleni. Uma kwenzeka ukulahleka kwephakethe, inani le-cwnd lishintshwa libe yi-MSS, futhi inani le-ssthresh lisethwe engxenyeni ye-cwnd. Noma kuzomisa nokukhula kwe-MSS lapho kutholwa izimpendulo ze-ACK ezi-3 ezingafuneki. Uma kusatholakala ama-ack amathathu angafuneki ngemva kokunciphisa inani le-cwnd ngesigamu, inani le-ssthresh liqoshwa njengengxenye yenani le-cwnd futhi isimo sokubuyisa okusheshayo sifakiwe.

Ukululama Okusheshayo
Esimweni Sokubuyisela Okusheshayo, inani le-cwnd yewindi lokuxinana likhuliswa nge-MSS eyodwa ku-ACK ngayinye etholiwe engatholakali, okungukuthi, i-ACK engafiki ngokulandelana. Lokhu kwenzelwa ukusebenzisa izingxenye zephakethe ezidluliselwe ngempumelelo kunethiwekhi ukuthuthukisa ukusebenza kahle kokudlulisela ngangokunokwenzeka.

Uma kufika i-ACK yesigaba sephakethe elilahlekile, i-TCP yehlisa inani le-cwnd bese ingena esimweni sokugwema ukuminyana. Lokhu kwenzelwa ukulawula usayizi wefasitela lokuminyana nokugwema ukwandisa ukuminyana kwenethiwekhi.

Uma kwenzeka isikhathi sokuvala ngemva kwesimo sokulawula ukuminyana, isimo senethiwekhi siba sibi kakhulu futhi i-TCP isuka esimweni sokugwema ukuminyana iye esimweni sokuqala kancane. Kulesi simo, inani lewindi lokuminyana cwnd lisethwe ku-1 MSS, ubude obukhulu besigaba sephakethe, kanye nenani le-ssthresh yomkhawulo wokuqalisa kancane lisethwe kuhhafu ye-cwnd. Inhloso yalokhu ukwandisa kancane kancane usayizi wewindi lokuminyana ngemva kokuba inethiwekhi isiphinde yalulama ukuze kulinganiswe izinga lokudlulisela kanye nezinga lokuminyana kwenethiwekhi.

Isifinyezo
Njengephrothokholi yokuthutha ethembekile, i-TCP isebenzisa ukuthutha okuthembekile ngenombolo yokulandelana, ukuvuma, ukulawula ukudluliselwa kabusha, ukuphathwa kokuxhumeka kanye nokulawula iwindi. Phakathi kwazo, indlela yokulawula ukugeleza ilawula inani ledatha ethunyelwe ngumthumeli ngokuya ngomthamo wangempela wokwamukela womamukeli, okugwema izinkinga zokuminyana kwenethiwekhi kanye nokuwohloka kokusebenza. Indlela yokulawula ukuminyana igwema ukwenzeka kokuminyana kwenethiwekhi ngokulungisa inani ledatha ethunyelwe ngumthumeli. Imibono yewindi lokuminyana kanye newindi lokuthumela ihlobene, futhi inani ledatha kumthumeli lilawulwa ngokulungisa ngokuguquguqukayo usayizi wewindi lokuminyana. Ukuqala kancane, ukugwema ukuminyana kanye nokubuyisa okusheshayo yizingxenye ezintathu eziyinhloko ze-algorithm yokulawula ukuminyana kwe-TCP, elungisa usayizi wewindi lokuminyana ngamasu ahlukene ukuze ivumelane nomthamo kanye nezinga lokuminyana kwenethiwekhi.

Esigabeni esilandelayo, sizohlola indlela yokudlulisa idatha ye-TCP ngokuningiliziwe. Indlela yokudlulisa idatha iyingxenye ebalulekile ye-TCP ukuze kufezwe ukudluliselwa okuthembekile. Iqinisekisa ukudluliselwa kwedatha okuthembekile ngokudlulisa idatha elahlekile, eyonakele noma ebambezelekile. Isimiso sokusetshenziswa kanye nesu lendlela yokudlulisa idatha kuzokwethulwa futhi kuhlaziywe ngokuningiliziwe esigabeni esilandelayo. Hlala ubukele!


Isikhathi sokuthunyelwe: Feb-24-2025