Ngwa nzuzo nke TCP: Njikwa ikuku netwọkụ na njikwa mkpọchi netwọkụ

Ụgbọ njem ntụkwasị obi TCP
Anyị niile maara usoro TCP dị ka usoro ụgbọ njem a pụrụ ịdabere na ya, mana kedu ka o si achọpụta ntụkwasị obi nke ụgbọ njem?

Iji nweta nnyefe a pụrụ ịdabere na ya, ọ dị mkpa ka a tụlee ọtụtụ ihe, dị ka nrụrụ data, mfu, mbigharị, na shards na-adịghị. Ọ bụrụ na enweghị ike idozi nsogbu ndị a, enweghị ike nweta nnyefe a pụrụ ịdabere na ya.

Ya mere, TCP na-eji usoro dị ka nọmba usoro, nzaghachi nnabata, njikwa resend, njikwa njikọ, na njikwa windo iji nweta nnyefe a pụrụ ịdabere na ya.

N'ime akwụkwọ a, anyị ga-elekwasị anya na windo na-amị amị, njikwa mmiri na njikwa mkpọchi nke TCP. A na-ekpuchi usoro mbugharị ahụ iche iche na ngalaba na-esote.

Njikwa usoro netwọkụ
Njikwa ikuku netwọkụ ma ọ bụ mara dị ka njikwa okporo ụzọ netwọkụ bụ n'ezie ngosipụta nke mmekọrịta dị nro dị n'etiti ndị na-emepụta na ndị na-azụ ahịa. Eleghị anya ị hụla ọnọdụ a ọtụtụ oge na ọrụ ma ọ bụ na ajụjụ ọnụ. Ọ bụrụ na onye nrụpụta nwere ike imepụta nke ukwuu karịa ikike ndị ahịa nwere iri, ọ ga-eme ka kwụ n'ahịrị na-eto ruo mgbe ebighị ebi. N'okwu dị njọ karị, ị nwere ike ịmara na mgbe ozi RabbitMQ na-agbakọta nke ukwuu, ọ nwere ike ịkpata mmebi nke ihe nkesa MQ dum. Otú ahụ ka ọ dịkwa maka TCP; ọ bụrụ na echekwaghị ya, a ga-etinye ọtụtụ ozi n'ime netwọkụ ahụ, ndị na-azụ ahịa ga-agafekwa ikike ha, ebe ndị na-emepụta ga-aga n'ihu na-eziga ozi oyiri, nke ga-emetụta ọrụ nke netwọk ahụ nke ukwuu.

Iji dozie ihe omume a, TCP na-enye usoro maka onye na-ezigara ya iji chịkwaa ọnụọgụ data ezitere dabere na ikike nnabata nke onye nata, nke a maara dị ka njikwa mmiri. Onye nnata na-edobe windo nnabata, ebe onye na-ezipụ na-edobe windo izipu. Ekwesiri ighota na Windows ndị a bụ naanị maka otu njikọ TCP na ọ bụghị njikọ niile na-ekerịta windo.

TCP na-enye njikwa ọsọ site na iji mgbanwe maka windo nnabata. Window nnata na-enye onye na-ezipụ ihe ngosi nke oghere cache ka dị. Onye izipu na-achịkwa ọnụọgụ data ezitere dịka ikike nnabata nke nnata siri dị.

Onye nnabata nnabata na-agwa onye zitere ya nha data ọ nwere ike ịnata, onye na-ezipụ ya na-eziga ruo oke a. Oke a bụ nha mpio, cheta nkụnye eji isi mee TCP? Enwere oghere windo nnabata, nke a na-eji gosi ọnụọgụ bytes nke onye nnata nwere ike ma ọ bụ dị njikere ịnata.

Onye na-ezigara onye ọbịa ga-eziga ngwugwu nyocha mpio oge, nke a na-eji chọpụta ma onye nnabata nnata ka nwere ike ịnakwere data. Mgbe nchekwa nke nnata nọ n'ihe egwu nke oke ibu, a na-edobe nha mpio ka ọ bụrụ uru pere mpe iji kụziere onye na-ezipụ ya ka ọ chịkwaa ọnụọgụ data ezitere.

Nke a bụ eserese ngosi njikwa ngagharị netwọkụ:

Njikwa okporo ụzọ

Njikwa mkpọchi netwọkụ
Tupu iwebata njikwa mkpọchi, anyị kwesịrị ịghọta na na mgbakwunye na windo nnabata na windo izipu, enwerekwa windo mkpọchi, nke a na-ejikarị eme ihe iji dozie nsogbu nke ọnụego onye zitere na-amalite izipu data na windo nnabata. Ya mere, onye na-ezipụ TCP na-echekwa windo mkpọda. Anyị chọrọ algọridim iji kpebie ole data kwesịrị ekwesị izipu, ebe ọ bụ na izipu ntakịrị ma ọ bụ oke data adịghị mma, n'ihi ya, echiche nke windo mkpọchi.

N'ime njikwa ọsọ netwọkụ gara aga, ihe anyị zeere bụ onye zitere ya ji data na-ejuputa cache nnata, mana anyị amaghị ihe na-eme na netwọkụ ahụ. Dị ka ọ na-adịkarị, netwọk kọmputa nọ na gburugburu ebe a na-ekerịta. N'ihi ya, enwere ike ịnwe nchikota netwọkụ n'ihi nkwurịta okwu n'etiti ndị ọbịa ndị ọzọ.

Mgbe netwọk na-ekochi, ọ bụrụ na a na-aga n'ihu na-ezigara ọnụ ọgụgụ buru ibu nke ngwugwu, ọ nwere ike ịkpata nsogbu dị ka igbu oge na nkwụsị nke ngwugwu. N'oge a, TCP ga-ebufe data ahụ, mana nzigharị ga-abawanye ibu na netwọk ahụ, na-ebute nnukwu igbu oge na ọtụtụ mfu ngwugwu. Nke a nwere ike ịbanye n'ọgba aghara ọjọọ wee nọgide na-ebuwanye ibu.

Ya mere, TCP enweghị ike ileghara ihe na-eme na netwọk ahụ anya. Mgbe netwọk ahụ na-ejupụta, TCP na-achụ onwe ya n'àjà site n'ibelata ọnụọgụ data ọ na-eziga.

Ya mere, a na-atụ aro njikwa mkpọchi, nke na-achọ izere ijupụta netwọk niile na data sitere na onye na-ezipụ ya. Iji hazie ọnụọgụ data onye na-ezipụ kwesịrị iziga, TCP na-akọwapụta echiche a na-akpọ windo mkpọchị. Algọridim na-achịkwa mkpọchi ga-emezigharị nha nke mpio mmechi dị ka ogo nchikota nke netwọkụ ahụ si dị, iji jikwaa ọnụọgụ data nke onye zitere ya zitere.

Kedu ihe bụ windo mkpọchi? Kedu ihe jikọrọ nke a na windo izipu?

Window mkpọchi ahụ bụ mgbanwe steeti nke onye na-ezipụ na-echekwa nke na-ekpebi ọnụọgụ data onye zitere ya nwere ike izipu. Window mkpọchi na-agbanwe n'ike n'ike dịka ọkwa nchichi nke netwọkụ ahụ siri dị.

Ohere izipu bụ mpio ekwekọrịtara n'ogo n'etiti onye na-ezipụ na onye nnata nke na-egosi ọnụọgụ data nke nnata nwere ike ịnata. Window mkpọchi na windo izipu nwere njikọ; windo izipu na-abụkarị opekempe nke mkpọchị na ịnweta Windows, ya bụ, swnd = min(cwnd, rwnd).

Window mkpọchị na-agbanwe dịka ndị a:

Ọ bụrụ na enweghị mkpọchi na netwọkụ, ya bụ, ọ dịghị oge mbugharị na-eme, windo mkpọchị na-abawanye.

Ọ bụrụ na enwere mkpọchi na netwọkụ, windo mkpọchị na-ebelata.

Onye na-ezigara ya na-ekpebi ma netwọkụ ahụ juru ebe niile site n'ịhụ ma enwetara ngwugwu nnabata ACK n'ime oge a kapịrị ọnụ. Ọ bụrụ na onye zitere ya anabataghị ngwugwu nnabata ACK n'ime oge a kapịrị ọnụ, a na-ewere ya na netwọkụ na-ekochi.

Na mgbakwunye na windo nchikota, ọ bụ oge iji kparịta usoro njikwa mgbagwoju anya TCP. Algọridim njikwa mkpakọ TCP nwere akụkụ atọ:

Mmalite nwayọ:Na mbụ, windo cwnd dị ntakịrị, na onye na-ezipụ na-eme ka windo nkwụsịtụ na-abawanye ngwa ngwa iji gbanwee ike nke netwọk ahụ.
Ịzere mkpọkọ:Mgbe mpio mkpọchị gafere otu ụzọ, onye na-ezipụ na-ebuli windo mkpọda n'usoro n'usoro iji belata uto nke mpio mkpọkọ wee zere ibufe netwọkụ.
Ọsọ mgbake:Ọ bụrụ na nchikota emee, onye na-ezipụ ahụ na-ebelata windo nkwụsịtụ wee banye na ọnọdụ mgbake ngwa ngwa iji chọpụta ebe mgbake netwọk site na acks oyiri natara, wee na-aga n'ihu na-abawanye windo mkpọchi.

Mmalite nwayọ
Mgbe emebere njikọ TCP, mpio mkpọda ka a na-edobe mbụ ka ọ bụrụ uru MSS kacha nta. N'ụzọ dị otú a, ọnụego izipu mbụ bụ ihe dị ka bytes MSS/RTT/sekọnd. Ogologo bandwidth dị adị na-adịkarị ukwuu karịa MSS/RTT, yabụ TCP chọrọ ịchọta ọnụego izipu kacha mma, nke enwere ike nweta site na iji nwayọ nwayọ.

N'ime usoro mmalite ngwa ngwa, uru nke window cwnd ga-amalite ka ọ bụrụ 1 MSS, na oge ọ bụla anabatara akụkụ ngwugwu a na-ebufe, uru cwnd ga-abawanye site na otu MSS, ya bụ, uru cwnd ga-aghọ 2 MSS. Mgbe nke ahụ gasịrị, uru nke cwnd na-abawanye okpukpu abụọ maka nnyefe ọ bụla nke ọma nke akụkụ ngwugwu, na ihe ndị ọzọ. E gosipụtara usoro uto a kapịrị ọnụ na ọnụ ọgụgụ na-esonụ.

 Njikwa mkpọchi netwọkụ

Agbanyeghị, ọnụego izipu enweghị ike itolite mgbe niile; uto ga-akwụsị mgbe ụfọdụ. Yabụ, olee mgbe mmụba nzipu na-akwụsị? Mmalite nwayọ nwayọ na-akwụsị mmụba nke ọnụego izipu n'otu n'ime ụzọ dị iche iche:

Ụzọ mbụ bụ ikpe nke mfu ngwugwu n'oge usoro izipu nke mmalite nwayọ. Mgbe mfu ngwugwu mere, TCP na-edobe mpio mkpọda nke onye ezipu ka ọ bụrụ 1 wee malitegharịa usoro mmalite nwayọ. N'ebe a, a na-ewebata echiche nke mmalite mmalite ssthresh nwayọ, nke uru mbụ ya bụ ọkara nke uru cwnd nke na-ebute mfu ngwugwu. Ya bụ, mgbe achọpụtara mkpọchi, uru ssthresh bụ ọkara nke uru windo.

Ụzọ nke abụọ bụ ijikọ ọnụ na uru nke ssthresh mmalite mmalite nwayọ. Ebe uru ssthresh bụ ọkara nke uru mpio mgbe achọpụtara mkpọchị, mfu ngwugwu nwere ike ime na okpukpu abụọ nke ọ bụla mgbe cwnd buru ibu karịa ssthresh. Ya mere, ọ kacha mma ịtọ cwnd ka ssthresh, nke ga-eme ka TCP gbanwee gaa na njikwa mkpọchi ma kwụsị ngwa ngwa.

Ụzọ ikpeazụ nke ịmalite ngwa ngwa nwere ike ịkwụsị bụ ma ọ bụrụ na achọpụtara acks atọ na-adịghị arụ ọrụ, TCP na-eme ngwa ngwa retransmission ma banye na ọnọdụ mgbake. (Ọ bụrụ na edoghị anya ihe kpatara enwere ngwugwu ACK atọ, a ga-akọwa ya iche na usoro mbugharị.)

Ịzere mkpọkọ
Mgbe TCP na-abanye na steeti njikwa mkpọchi, a na-edobe cwnd ka ọ bụrụ ọkara ssthresh ọnụ ụzọ mkpọkọ. Nke a pụtara na uru cwnd enweghị ike okpukpu abụọ oge ọ bụla natara akụkụ ngwugwu. Kama nke ahụ, a na-anabata usoro ngbanwe dịtụ iche nke uru cwnd na-abawanye site na naanị otu MSS (ogologo ngwungwu kacha elu) ka emechara mgbasa ozi ọ bụla. Dịka ọmụmaatụ, ọbụlagodi na anabatara akụkụ ngwugwu 10, uru cwnd ga-abawanye naanị site na otu MSS. Nke a bụ ihe nlere nke uto linear na o nwekwara oke oke na uto. Mgbe mfu ngwugwu mere, a na-agbanwe uru cwnd ka ọ bụrụ MSS, na uru ssthresh ka atọrọ ka ọkara nke cwnd. Ma ọ bụ ọ ga-akwụsịkwa uto nke MSS mgbe enwetara nzaghachi ACK 3 na-adịghị arụ ọrụ. Ọ bụrụ na a ka na-anata acks atọ na-adịghị arụ ọrụ mgbe ha belatara uru nke cwnd, a na-edekọ uru nke ssthresh dị ka ọkara uru nke cwnd na ọnọdụ mgbake ngwa ngwa na-abanye.

Ngwa ngwa mgbake
Na steeti mgbake ngwa ngwa, uru nke windo mkpọda cwnd na-abawanye site na otu MSS maka onye ọ bụla enwetara ACK akwụghị ụgwọ, ya bụ, ACK nke na-abịaghị n'usoro. Nke a bụ iji akụkụ nke ngwugwu ezigara nke ọma na netwọk ahụ iji melite arụmọrụ nnyefe dị ka o kwere mee.

Mgbe ACK nke akụkụ ngwugwu furu efu bịarutere, TCP na-ebelata uru cwnd wee banye na steeti ezere mkpọchi. Nke a bụ iji chịkwaa nha nke windo mkpọchi ma zere ịba ụba nke netwọkụ.

Ọ bụrụ na oge nkwụsị na-eme mgbe ọnọdụ nchịkwa nchịkwa gasịrị, ọnọdụ netwọk ahụ na-adịwanye njọ ma TCP na-akwaga site na nkwụsị nkwụsịtụ na ọnọdụ nkwụsị ngwa ngwa. N'okwu a, a na-edozi uru nke cwnd windo mkpọkọ ka ọ bụrụ 1 MSS, ogologo akụkụ nke ngwugwu kachasị, yana uru nke ssthresh mmalite ngwa ngwa ka atọrọ ka ọkara nke cwnd. Ebumnuche nke a bụ iji nwayọọ nwayọọ na-abawanye nha nke windo mkpọchi mgbe netwọk ahụ gbakere iji dozie ọnụego nnyefe na ogo nke netwọk netwọk.

Nchịkọta
Dị ka usoro ụgbọ njem a pụrụ ịdabere na ya, TCP na-arụ ọrụ njem a pụrụ ịdabere na ya site na nọmba usoro, nkwenye, njikwa nnyefe, njikwa njikọ na njikwa windo. N'ime ha, usoro nchịkwa nchịkwa na-achịkwa ọnụọgụ data nke onye na-ezipụ zitere dị ka ikike ịnata n'ezie nke onye nata ya, nke na-ezere nsogbu nke nkwụsị netwọk na mmebi arụmọrụ. Usoro nchịkwa nchikota na-ezere ihe omume nke netwọk netwọk site n'ịgbanwe ọnụọgụ data nke onye na-ezigara zitere. Echiche nke windo nchikota na windo izipu na-ejikọta ibe ha, na ọnụọgụ data dị na onye na-ezigara na-achịkwa site n'iji ike na-edozi nha nke windo nkwụsịtụ. Ịmalite ngwa ngwa, nkwụsị nkwụsị na mgbake ngwa ngwa bụ akụkụ atọ bụ isi nke TCP congestion control algorithm, nke na-edozi nha nke windo nkwụsịtụ site na usoro dị iche iche iji mee ka ikike na nkwụsị nke netwọk.

Na ngalaba na-esote, anyị ga-enyocha usoro mbugharị TCP nke ọma. Usoro ntinyeghachi bụ akụkụ dị mkpa nke TCP iji nweta nnyefe a pụrụ ịdabere na ya. Ọ na-eme ka nnyefe data a pụrụ ịdabere na ya site na ịnyeghachi data furu efu, mebiri emebi ma ọ bụ na-egbu oge. A ga-ewebata ụkpụrụ mmejuputa na atụmatụ nke usoro ntinyeghachi na nyocha nke ọma na ngalaba na-esote. Nọrọ na-ekiri!


Oge nzipu: Feb-24-2025