Ubwikorezi bw'Ikoranabuhanga rya TCP
Twese tuzi neza ko protocole ya TCP ari protocole yizewe yo gutwara abantu, ariko se ni gute ituma ubwikorezi bwizewe?
Kugira ngo habeho uburyo bwo kohereza amakuru bwizewe, hari ibintu byinshi bigomba gusuzumwa, nko kwangirika kw'amakuru, gutakaza, gukuba kabiri, no gusiba amakuru. Niba ibi bibazo bidashobora gukemurwa, uburyo bwo kohereza amakuru bwizewe ntibushobora kugerwaho.
Bityo, TCP ikoresha uburyo nk'imibare y'uruhererekane, igisubizo cyo kwemeza, kugenzura kohereza amakuru, gucunga umurongo, no kugenzura amadirishya kugira ngo igere ku kohereza kw'amakuru kwizerwa.
Muri iyi nyandiko, tuzibanda ku idirishya rigenda rihindagurika, kugenzura ubwiyongere bw'amazi n'igenzura ry'ubwinshi bw'amakuru ya TCP. Uburyo bwo gusubiza amakuru mu buryo buvugwa ukwabwo mu gice gikurikira.
Igenzura ry'Urujya n'uruza rw'Umuyoboro
Kugenzura Imigendekere y'Umuyoboro cyangwa kumenya nka Kugenzura Imigendere y'Umuyoboro mu by'ukuri ni ikimenyetso cy'umubano utoroshye hagati y'abakora n'abaguzi. Ushobora kuba warahuye n'iki kibazo cyane mu kazi cyangwa mu biganiro. Niba ubushobozi bw'umukora burenze cyane ubushobozi bw'umuguzi bwo gukoresha, bizatuma umurongo wiyongera ubuziraherezo. Mu gihe gikomeye kurushaho, ushobora kumenya ko iyo ubutumwa bwa RabbitMQ burenze urugero, bishobora gutuma imikorere ya seriveri ya MQ yose igabanuka. Ni nako bimeze kuri TCP; iyo bitagenzuwe, ubutumwa bwinshi buzashyirwa kuri interineti, kandi abakoresha bazaba barenze ubushobozi bwabo, mu gihe abakora bazakomeza kohereza ubutumwa bubiri, bizagira ingaruka zikomeye ku mikorere y'urubuga.
Kugira ngo iki kibazo gikemuke, TCP itanga uburyo bwo kohereza amakuru bushobora kugenzura ingano y'amakuru yoherejwe hashingiwe ku bushobozi nyabwo bwo kwakira amakuru bw'umukiriya, buzwi nka flow control. Umukiriya agira idirishya ryo kwakira amakuru, mu gihe umukiriya agira idirishya ryo kohereza amakuru. Tugomba kumenya ko izi Windows ari iz'itumanaho rimwe rya TCP gusa kandi ko atari ko itumanaho ryose risangiye idirishya.
TCP itanga uburyo bwo kugenzura imikorere y'amakuru hakoreshejwe uburyo buhinduka bwo kwakira amakuru. Idirishya ryo kwakira amakuru riha uwohereza ikimenyetso cy'aho aherereye. Uwohereza agenzura ingano y'amakuru yoherejwe hakurikijwe ubushobozi nyabwo bwo kwakira amakuru.
Umuyoboro w’amakuru umenyesha uwohereza ingano y’amakuru ashobora kwakira, maze uwohereza akohereza kugeza kuri uyu mupaka. Uyu mupaka ni ingano y’idirishya, wibuka umutwe wa TCP? Hari agace k’idirishya kakira, gakoreshwa mu kwerekana umubare wa byte uwo muyoboro ashobora cyangwa yiteguye kwakira.
Umukozi wohereza amakuru azohereza buri gihe ipaki y’igenzura ry’amadirishya, ikoreshwa mu kumenya niba umukozi wohereza amakuru agishoboye kwakira amakuru. Iyo umukoresha wohereza amakuru afite ibyago byo kuzura, ingano y’idirishya ishyirwa ku gaciro gato kugira ngo umukoresha yohereze agenzure ingano y’amakuru yoherejwe.
Dore imbonerahamwe y'igenzura ry'umuyoboro w'itumanaho:
Kugenzura urujya n'uruza rw'imiyoboro
Mbere yo gutangiza uburyo bwo kugenzura ubwinshi bw'amakuru, tugomba gusobanukirwa ko uretse idirishya ryo kwakira amakuru n'idirishya ryo kohereza amakuru, hari n'idirishya ryo gufunga amakuru, rikoreshwa cyane cyane mu gukemura ikibazo cy'igipimo uwohereza atangira kohereza amakuru ku idirishya ryo kwakira amakuru. Kubwibyo, idirishya ryo gufunga amakuru rinabungabungwa n'uwohereza TCP. Dukeneye uburyo bwo guhitamo umubare w'amakuru akwiye koherezwa, kubera ko kohereza amakuru make cyane cyangwa menshi atari byiza, bityo igitekerezo cy'idirishya ryo gufunga amakuru.
Mu igenzura ry’imigendekere y’itumanaho ryabanje, icyo twirinze ni uko umuntu wohereza amakuru yuzuza amakuru y’umukiriya, ariko ntitwari tuzi ibyaberaga muri iryo huriro. Ubusanzwe, imiyoboro ya mudasobwa iba iri ahantu hamwe. Kubera iyo mpamvu, hashobora kubaho urujya n’uruza rw’imiyoboro bitewe n’itumanaho hagati y’izindi mashini.
Iyo umuyoboro w’itumanaho uhujwe, iyo umubare munini w’amapaki ukomeje koherezwa, bishobora guteza ibibazo nko gutinda no gutakaza amapaki. Muri iki gihe, TCP izohereza amakuru, ariko kohereza amakuru bizongera umutwaro kuri umuyoboro, bigatera gutinda gukomeye no gutakaza amapaki menshi. Ibi bishobora kwinjira mu muyoboro mubi kandi bigakomeza kwiyongera.
Bityo, TCP ntishobora kwirengagiza ibiri kuba kuri network. Iyo network yuzuye, TCP yigomwa igabanya umubare w'amakuru yohereza.
Kubwibyo, hatanzwe gahunda yo kugenzura gucukuka kw'amakuru, igamije kwirinda kuzuza amakuru yose aturutse ku muntu wohereje. Kugira ngo hagenzurwe ingano y'amakuru uwohereza agomba kohereza, TCP isobanura igitekerezo cyitwa "congestion window". Algorithm yo kugenzura gucukuka kw'amakuru izahindura ingano y'amakuru ajyanye n'urugero rw'amakuru acukuka, kugira ngo igenzure ingano y'amakuru yoherejwe n'uwohereza.
Idirishya ryo gukururana ni iki? Ibi bifitanye isano ki n'idirishya ryo kohereza?
Idirishya ryo gufungana ni ihinduka ry’imiterere rigengwa n’uwohereje rigena ingano y’amakuru uwohereje ashobora kohereza. Idirishya ryo gufungana rihinduka bitewe n’urwego rw’umuyoboro w’itumanaho.
Idirishya ryo Kohereza ni ingano y’idirishya yumvikanyweho hagati y’uwohereza n’uwakira igaragaza ingano y’amakuru uwakira ashobora kwakira. Idirishya ryo gucukuka n’idirishya ryo kohereza birafitanye isano; idirishya ryo kohereza ubusanzwe ringana n’ingano nto y’amadirishya yo gucukuka n’ayakira, ni ukuvuga swnd = min (cwnd, rwnd).
Idirishya ry’abantu benshi rihinduka ku buryo bukurikira:
Iyo nta gucucikana kw'itumanaho kuri mu muyoboro w'itumanaho, ni ukuvuga ko nta gihe cyo kongera kohereza amakuru kibaho, igihe cyo gucucikana kiriyongera.
Iyo hari urujya n'uruza rw'abantu mu miyoboro y'itumanaho, igihe cyo gucucika kiragabanuka.
Uwohereza agenzura niba umuyoboro wuzuyemo abantu benshi areba niba ipaki yo kwemeza ACK yakiriwe mu gihe cyagenwe. Iyo uwohereza atakiriye ipaki yo kwemeza ACK mu gihe cyagenwe, bifatwa nk'aho umuyoboro wuzuyemo abantu benshi.
Uretse igihe cyo gucukurana kw'amakuru, ni igihe cyo kuganira kuri algorithme yo kugenzura gucukurana kwa TCP. algorithme yo kugenzura gucukurana kwa TCP igizwe n'ibice bitatu by'ingenzi:
Gutangira buhoro buhoro:Mu ntangiriro, idirishya rya cwnd congestion riba rito, kandi uwohereza yongera idirishya rya congestion cyane kugira ngo yihuze vuba n'ubushobozi bw'umuyoboro.
Kwirinda kuzura kw'ibinure:Iyo igihe cyo gucukura kirenze urugero runaka, uwohereza yongera igihe cyo gucukura mu buryo bugororotse kugira ngo agabanye umuvuduko w'izamuka ry'igihe cyo gucukura no kwirinda kurenza umuvuduko w'umuyoboro.
Gukira byihuse:Iyo habayeho gucucikana kw'amakuru, uwohereza agabanya igice cy'idirishya ry'amakuru ricucikana maze akinjira mu buryo bwihuse bwo kugarura amakuru kugira ngo amenye aho umuyoboro w'amakuru uherereye binyuze mu miyoboro ibiri yakiriwe, hanyuma agakomeza kongera idirishya ry'amakuru ricucikana.
Gutangira buhoro buhoro
Iyo hashyizweho umurongo wa TCP, idirishya rya cwnd rishyirwa ku gipimo cya MSS (ingano ntarengwa y'igice). Muri ubu buryo, igipimo cy'ibanze cyo kohereza ni hafi ya bytes za MSS/RTT/isegonda. Ubusanzwe bandwidth iboneka iba nini cyane kurusha MSS/RTT, bityo TCP ishaka kubona igipimo cyiza cyo kohereza, gishobora kugerwaho hakoreshejwe uburyo bwo gutangira buhoro.
Mu nzira yo gutangira buhoro buhoro, agaciro ka cwnd yo mu idirishya ry’imashini (congestion window cwnd) kazatangizwa kuri 1 MSS, kandi buri gihe igice cy’ipaki cyoherejwe kimenyekanye, agaciro ka cwnd kaziyongeraho MSS imwe, ni ukuvuga ko agaciro ka cwnd kazaba 2 MSS. Nyuma y’ibyo, agaciro ka cwnd kaba kabiri kuri buri gice cy’ipaki cyagenze neza, n’ibindi. Uburyo bwihariye bwo gukura bugaragazwa ku ishusho ikurikira.
Ariko, igipimo cyo kohereza ntabwo gishobora kwiyongera buri gihe; ukwiyongera kugomba kurangira rimwe na rimwe. None se, ukwiyongera kw'igipimo cyo kohereza kurangira ryari? Gutangira buhoro buhoro bikunze kurangiza ukwiyongera kw'igipimo cyo kohereza mu buryo bumwe mu buryo butandukanye:
Uburyo bwa mbere ni ikibazo cy’ibura ry’amapaki mu gihe cyo kohereza porogaramu yo gutangira buhoro. Iyo ibura ry’amapaki ribaye, TCP ishyiraho idirishya ry’umuyohereza (cwnd) kuri 1 hanyuma igatangiza porogaramu yo gutangira buhoro. Kuri iyi ngingo, hashyirwaho igitekerezo cyo gutangira buhoro buhoro (ssthresh), agaciro kayo ka mbere kakaba kimwe cya kabiri cy’agaciro ka cwnd gatuma ibura ry’amapaki ribaho. Ni ukuvuga ko iyo ibura ry’amapaki ribonetse, agaciro ka ssthresh kaba kimwe cya kabiri cy’agaciro ka dirishya.
Uburyo bwa kabiri ni uguhuza neza n'agaciro ka ssthresh yo gutangira buhoro. Kubera ko agaciro ka ssthresh ari kimwe cya kabiri cy'agaciro k'idirishya iyo hagaragaye ko hari ibintu byinshi bicucitse, gutakaza paki bishobora kubaho buri gihe iyo cwnd ari nini kurusha ssthresh. Kubwibyo, ni byiza gushyiraho cwnd kuri ssthresh, bizatuma TCP ihindura uburyo bwo kugenzura ko hari ibintu byinshi bicucitse hanyuma igasoza ko hari ibintu byinshi bicucitse.
Uburyo bwa nyuma bwo gutangira buhoro bushobora kurangira ni uko habonetse uduce dutatu twa reduce, TCP ikora retransmission yihuta kandi ikinjira mu gihe cyo kugarura. (Niba bitarasobanuka neza impamvu hari uduce dutatu twa ACK, bizasobanurwa ukwabyo mu buryo bwo kugarura.)
Kwirinda kuzura kw'ibintu mu buryo bukabije
Iyo TCP yinjiye muri gahunda yo kugenzura gucukuka kw'amakuru, cwnd ishyirwa kuri kimwe cya kabiri cy'umubare w'amakuru acukuka. Ibi bivuze ko agaciro ka cwnd kadashobora gukuba kabiri buri gihe igice cy'amakuru cyakiriwe. Ahubwo, hakoreshwa uburyo busanzwe aho agaciro ka cwnd kongerwaho MSS imwe gusa (uburebure ntarengwa bw'igice cy'amakuru) nyuma ya buri kohereza. Urugero, nubwo ibice 10 by'amakuru byakwemezwa, agaciro ka cwnd kaziyongeraho MSS imwe gusa. Iyi ni moderi y'ikura ry'umurongo kandi ifite umupaka wo hejuru ku ikura. Iyo itakaye ry'amakuru ribayeho, agaciro ka cwnd gahinduka MSS, kandi agaciro ka ssthresh gashyirwa kuri kimwe cya kabiri cya cwnd. Cyangwa bizahagarika ikura rya MSS iyo ibisubizo 3 bya ACK byakiriwe. Niba acks eshatu zasubiwemo zikirimo nyuma yo kugabanyamo kabiri agaciro ka cwnd, agaciro ka ssthresh kanditswe nk'igice cy'agaciro ka cwnd kandi imiterere yo kugarura vuba yinjijwemo.
Gukira byihuse
Muri state ya Fast Recovery, agaciro ka cwnd k'idirishya ry'ingufu ryiyongereyeho MSS imwe kuri buri ACK yakiriwe idahari, ni ukuvuga ACK itagera uko bikurikirana. Ibi ni ukugira ngo hakoreshwe ibice bya paki byoherejwe neza muri network kugira ngo hongerwe imikorere myiza y'ihererekanyamakuru uko bishoboka kose.
Iyo ACK y'igice cya paki cyatakaye igeze, TCP igabanya agaciro ka cwnd hanyuma ikagera mu gihe cyo kwirinda gucukuka. Ibi ni ukugenzura ingano y'idirishya ryo gucukuka no kwirinda kongera gucukuka kw'umuyoboro w'itumanaho.
Iyo habayeho igihe cyo guhagarika nyuma y’uko imiterere y’igenzura ry’ihungabana ihagaze, imiterere y’umuyoboro irushaho kuba mibi, TCP iva kuri imiterere yo kwirinda ihungabana ijya kuri imiterere yo gutangira buhoro. Muri iki gihe, agaciro k’idirishya rya cwnd gashyirwa kuri 1 MSS, uburebure ntarengwa bw’igice cy’ipaki, kandi agaciro k’umurongo wa ssthresh utangira buhoro gashyirwa kuri kimwe cya kabiri cya cwnd. Intego y’ibi ni ukongera buhoro buhoro ingano y’idirishya rya nyuma nyuma y’uko umuyoboro ugarutse kugira ngo habeho kuringanizwa igipimo cyo kohereza amakuru n’urwego rw’ihungabana ry’umuyoboro.
Incamake
Nk'uburyo bwizewe bwo gutwara, TCP ishyira mu bikorwa uburyo bwizewe bwo gutwara hakoreshejwe inomero y'uruhererekane, kwemeza, kugenzura kohereza amakuru, gucunga guhuza no kugenzura idirishya. Muri byo, uburyo bwo kugenzura ubwinshi bw'amakuru bugenzura ingano y'amakuru yoherejwe n'uwohereje hakurikijwe ubushobozi nyabwo bwo kwakira bw'uwakira, ibyo bikaba birinda ibibazo byo gucurikana kw'imiyoboro no kwangirika kw'imikorere. Uburyo bwo kugenzura gucurikana bw'imiyoboro bwirinda gucurikana kw'imiyoboro binyuze mu guhindura ingano y'amakuru yoherejwe n'uwohereje. Ibitekerezo by'idirishya ryo gucurikana n'idirishya ryo kohereza bifitanye isano, kandi ingano y'amakuru ku wohereza igenzurwa binyuze mu guhindura ingano y'idirishya ryo gucurikana. Gutangira buhoro, kwirinda gucurikana no gusubiza vuba ni ibice bitatu by'ingenzi bya algorithme ya TCP yo kugenzura gucurikana, ihindura ingano y'idirishya ryo gucurikana binyuze mu ngamba zitandukanye kugira ngo ihuze n'ubushobozi n'urwego rw'umuyoboro.
Mu gice gikurikira, tuzasuzuma uburyo bwo kohereza amakuru bwa TCP mu buryo burambuye. Uburyo bwo kohereza amakuru mu buryo burambuye ni igice cy'ingenzi cya TCP kugira ngo ihererekanywa neza. Ituma amakuru yoherezwa mu buryo burambye binyuze mu kohereza amakuru yatakaye, yangiritse cyangwa yatinze. Ihame n'ingamba byo gushyira mu bikorwa uburyo bwo kohereza amakuru mu buryo burambuye bizashyirwa ahagaragara kandi bisesengurwe mu buryo burambuye mu gice gikurikira. Komeza ukurikirane!
Igihe cyo kohereza: Gashyantare-24-2025

