Zam sekrè TCP a: kontwòl koule rezo ak kontwòl konjesyon rezo

TCP transpò fyabilite
Nou tout abitye avèk pwotokòl TCP kòm yon pwotokòl transpò serye, men ki jan li asire fyab la nan transpò?

Pou reyalize transmisyon serye, anpil faktè bezwen konsidere, tankou koripsyon done, pèt, repetisyon, ak soti-of-lòd fragman. Si pwoblèm sa yo pa ka rezoud, transmisyon serye pa kapab reyalize.

Se poutèt sa, TCP anplwaye mekanism tankou nimewo sekans, rekonesans repons, resand kontwòl, jesyon koneksyon, ak kontwòl fenèt yo reyalize transmisyon serye.

Nan papye sa a, nou pral konsantre sou fenèt la glisman, kontwòl koule ak kontwòl konjesyon nan tchp. Se mekanis nan retransmisyon kouvri separeman nan pwochen seksyon an.

Rezo kontwòl koule
Rezo kontwòl koule oswa konnen kòm kontwòl trafik rezo a se aktyèlman yon manifestasyon nan relasyon an sibtil ant pwodiktè ak konsomatè yo. Ou te pwobableman vini nan tout senaryo sa a anpil nan travay oswa nan entèvyou. Si kapasite pwodiktè a yo pwodwi anpil depase kapasite konsomatè a nan konsome, li pral lakòz keu a grandi endefiniman. Nan yon ka ki pi grav, ou ka konnen ke lè rabbitmq mesaj anpile twòp, li ka lakòz degradasyon pèfòmans nan tout sèvè a MQ. Menm a se vre pou TCP; Si kite san limit, twòp mesaj yo pral mete nan rezo a, ak konsomatè yo pral gen depase kapasite yo, pandan y ap pwodiktè yo ap kontinye voye kopi kopi, ki pral afekte anpil pèfòmans nan rezo a.

Pou adrese fenomèn sa a, TCP bay yon mekanis pou moun k la kontwole kantite lajan an nan done yo voye ki baze sou kapasite nan resepsyon aktyèl nan reseptè a, ki se ke yo rekonèt kòm kontwòl koule. Reseptè a kenbe yon fenèt resevwa, pandan y ap moun k la kenbe yon fenèt voye. Li ta dwe te note ke sa yo fenèt yo, se sèlman pou yon sèl koneksyon TCP epi yo pa tout koneksyon pataje yon fenèt.

TCP bay kontwòl koule lè l sèvi avèk yon varyab pou yon fenèt resevwa. Fenèt la resevwa bay moun k la yon endikasyon de ki kantite espas kachèt toujou disponib. Moun k ap kontwole a kontwole kantite done ki te voye dapre kapasite akseptasyon aktyèl la nan reseptè a.

Lame a reseptè notifye moun k la nan gwosè a nan done yo li ka resevwa, ak moun k la voye moute nan limit sa a. Limit sa a se gwosè fenèt la, sonje header TCP a? Gen yon jaden fenèt resevwa, ki te itilize yo endike ki kantite bytes reseptè a se kapab oswa vle resevwa.

Lame moun k la pral detanzantan voye yon pake sonde fenèt, ki te itilize yo detekte si wi ou non lame a reseptè se toujou kapab aksepte done yo. Lè tanpon reseptè a an danje pou debòde, se gwosè a fenèt mete nan yon valè ki pi piti enstwi moun k la kontwole kantite lajan an nan done yo voye.

Isit la se yon dyagram kontwòl koule rezo:

Ajou

Rezo konjesyon kontwòl
Anvan entwodwi kontwòl konjesyon, nou bezwen konprann ke nan adisyon a fenèt la resevwa ak fenèt la voye, gen tou yon fenèt konjesyon, ki se sitou itilize yo rezoud pwoblèm nan nan ki pousantaj moun k la kòmanse voye done nan fenèt la resevwa. Se poutèt sa, se fenèt la konjesyon tou konsève pa moun k la TCP. Nou bezwen yon algorithm deside konbyen done ki apwopriye yo voye, depi voye twò piti oswa twòp done se pa ideyal, kon sa konsèp nan yon fenèt konjesyon.

Nan kontwòl la anvan koule rezo a, ki sa nou evite te moun k la ranpli kachèt reseptè a ak done, men nou pa t 'konnen sa ki te pase nan rezo a. Tipikman, rezo òdinatè yo nan yon anviwònman pataje. Kòm yon rezilta, ka gen rezo konjesyon akòz kominikasyon ant gen tout pouvwa a lòt.

Lè se rezo a konjesyone, si yon gwo kantite pakè yo kontinye ap voye, li ka lakòz pwoblèm tankou reta ak pèt nan pakè. Nan pwen sa a, TCP pral retransmèt done yo, men retransmisyon an ap ogmante chay la sou rezo a, sa ki lakòz pi gwo reta ak plis pèt pake. Sa a ka jwenn nan yon sik visye ak kenbe ap resevwa pi gwo.

Se konsa, TCP pa ka inyore sa k ap pase sou rezo a. Lè se rezo a konjesyone, TCP sakrifye tèt li pa diminye kantite lajan an nan done li voye.

Se poutèt sa, se kontwòl konjesyon pwopoze, ki gen pou objaktif pou evite ranpli tout rezo a ak done ki sòti nan moun k la. Pou kontwole kantite done moun k la ta dwe voye, TCP defini yon konsèp yo rele fenèt la konjesyon. Algorithm nan kontwòl konjesyon pral ajiste gwosè a nan fenèt la konjesyon dapre degre nan konjesyon nan rezo a, konsa tankou kontwole kantite lajan an nan done voye pa moun k la.

Ki sa ki se yon fenèt konjesyon? Ki sa sa dwe fè ak fenèt la voye?

Fenèt la konjesyon se yon varyab eta ki konsève pa moun k la ki detèmine kantite lajan an nan done moun k la ka voye. Fenèt la konjesyon chanje dinamik dapre nivo a konjesyon nan rezo a.

Fenèt la voye se yon dakò sou gwosè fenèt ant moun k la ak reseptè ki endike kantite lajan an nan done reseptè a ka resevwa. Fenèt la konjesyon ak fenèt la voye yo ki gen rapò; Fenèt la voye se nòmalman egal a minimòm la nan konjesyon an ak fenèt k ap resevwa, se sa ki, SWND = min (CWND, RWND).

Fenèt la konjesyon CWND chanje jan sa a:

Si pa gen okenn konjesyon nan rezo a, sa vle di, pa gen okenn poz retransmisyon rive, fenèt la konjesyon ogmante.

Si gen konjesyon nan rezo a, fenèt la konjesyon diminye.

Moun k la detèmine si se rezo a konjesyone pa obsève si wi ou non pake a rekonesans ACK resevwa nan tan an espesifye. Si moun k la pa resevwa pake rekonesans ACK nan tan ki espesifye a, li konsidere ke rezo a konjesyone.

Anplis de fenèt la konjesyon, li se tan diskite sou algorithm nan kontwòl TCP konjesyon. TCP konjesyon algorithm kontwòl konsiste de twa pati prensipal:

Ralanti kòmanse:Okòmansman, fenèt la konjesyon CWND se relativman ti, ak moun k la ogmante fenèt la konjesyon exponentielle byen vit adapte yo ak kapasite a nan rezo a.
Evite konjesyon:Apre fenèt la konjesyon depase yon papòt sèten, moun k la ogmante fenèt la konjesyon nan yon fason lineyè yo ralanti to kwasans lan nan fenèt la konjesyon epi evite twòp chaj rezo a.
Vit rekiperasyon:Si konjesyon rive, moun k la mwatye nan fenèt la konjesyon epi antre nan eta a rekiperasyon vit detèmine ki kote rekiperasyon an rezo a resevwa kopi a resevwa, ak Lè sa a, kontinye ap ogmante fenèt la konjesyon.

Kòmanse dousman
Lè se yon koneksyon TCP etabli, se fenèt la konjesyon CWND okòmansman mete nan yon minimòm MSS (maksimòm gwosè segman) valè. Fason sa a, pousantaj inisyal la voye se sou MSS/RTT bytes/dezyèm fwa. Pleasant aktyèl la ki disponib se nòmalman pi gwo pase MSS/RTT, se konsa TCP vle jwenn pousantaj la voye pi bon, ki ka reyalize pa vle di nan ralanti-kòmanse.

Nan pwosesis la ralanti-kòmanse, yo pral valè a nan fenèt la konjesyon CWND inisyalize nan 1 MSS, epi chak fwa se segman nan pake transmèt rekonèt, yo pral valè a nan CWND ap ogmante pa yon sèl MSS, se sa ki, valè a nan CWND ap vin 2 mss. Apre sa, se valè a nan CWND double pou chak transmisyon siksè nan yon segman pake, ak sou sa. Pwosesis kwasans espesifik la montre nan figi ki anba la a.

 Rezo konjesyon kontwòl

Sepandan, pousantaj la voye pa ka toujou grandi; Kwasans lan gen pou fini nenpòt moman. Se konsa, lè to a voye ogmante fen? Ralanti-kòmanse tipikman fini ogmantasyon nan pousantaj la voye nan youn nan plizyè fason:

Premye fason an se ka a nan pèt pake pandan pwosesis la voye nan kòmanse dousman. Lè yon pèt pake rive, TCP kouche konjesyon fenèt moun k la cwnd a 1 ak rdemaraj pwosesis la ralanti-kòmanse. Nan pwen sa a, se yon konsèp nan ralanti kòmanse papòt SSTHRESH prezante, ki gen premye valè se mwatye nan valè a nan CWND ki jenere pèt pake. Sa vle di, lè yo detekte konjesyon, valè SSTHRESH se mwatye nan valè fenèt la.

Dezyèm fason an se dirèkteman correspond ak valè a nan ralanti-kòmanse papòt la stresh. Depi valè a nan SSTHRESH se mwatye nan valè fenèt la lè se konjesyon detekte, pèt pake ka rive ak chak double lè CWND se pi gwo pase SSTHRESH. Se poutèt sa, li pi bon yo mete CWND SSTHRESH, ki pral lakòz TCP pou chanje an mòd kontwòl konjesyon ak fen ralanti-kòmanse.

Dènye fason ke kòmanse dousman ka fini se si twa aks redondants yo detekte, tchp fè yon retransmisyon vit ak antre nan eta a rekiperasyon an. (Si li pa klè poukisa gen twa pakè ACK, li pral eksplike separeman nan mekanis nan retransmisyon.)

Evite konjesyon
Lè TCP antre nan eta a kontwòl konjesyon, CWND se mete nan mwatye konjesyon an papòt SSTHRESH. Sa vle di ke valè CWND pa ka double chak fwa yo resevwa yon segman pake. Olye de sa, se yon apwòch relativman konsèvatif adopte nan ki se valè a nan CWND ogmante pa yon sèl MSS (maksimòm pake longè segman) apre yo fin chak transmisyon fini. Pou egzanp, menm si 10 segments pake yo rekonèt, valè a nan CWND pral sèlman ogmante pa yon sèl MSS. Sa a se yon modèl kwasans lineyè epi li tou te gen yon anwo mare sou kwasans. Lè pèt pake rive, se valè a nan CWND chanje nan yon MSS, ak valè a nan SSTHRESH se mete nan mwatye nan CWND. Oswa li pral tou sispann kwasans lan nan MSS lè 3 redondants repons ACK yo te resevwa. Si yo toujou resevwa twa aks redondants apre yo fin halving valè a nan CWND, se valè a nan SSTHRESH anrejistre kòm mwatye valè a nan CWND ak eta a rekiperasyon vit antre nan.

Vit rekiperasyon
Nan eta a rekiperasyon vit, se valè a nan fenèt konjesyon CWND a ogmante pa yon sèl MSS pou chak te resevwa ACK redondants, se sa ki, ACK ki pa rive nan sekans. Sa a se fè pou sèvi ak segments yo pake ki te avèk siksè transmèt nan rezo a amelyore efikasite nan transmisyon otank posib.

Lè yon ACK nan segman nan pake pèdi rive, TCP diminye valè a nan CWND ak Lè sa a, antre nan eta a evite konjesyon. Sa a se kontwole gwosè a nan fenèt la konjesyon epi evite plis ogmante konjesyon nan rezo a.

Si yon poz rive apre eta a kontwòl konjesyon, kondisyon rezo a vin pi grav ak TCP imigre soti nan eta a evite konjesyon nan eta a ralanti-kòmanse. Nan ka sa a, se valè a nan fenèt konjesyon CWND a mete nan 1 MSS, segman nan pake maksimòm longè, ak valè a nan ralanti-kòmanse papòt la STSTHRESH se mete nan mwatye nan CWND. Objektif la nan sa a se re-gradyèlman ogmante gwosè a nan fenèt la konjesyon apre rezo a restaure balans to transmisyon an ak degre nan konjesyon rezo a.

Rezime
Kòm yon pwotokòl transpò serye, TCP aplike transpò serye pa nimewo sekans, rekonesans, kontwòl retransmisyon, jesyon koneksyon ak kontwòl fenèt. Pami yo, mekanis nan kontwòl koule kontwole kantite lajan an nan done voye pa moun k la dapre kapasite aktyèl la k ap resevwa nan reseptè a, ki evite pwoblèm ki gen nan konjesyon rezo ak degradasyon pèfòmans. Mekanis nan kontwòl konjesyon evite ensidan an nan konjesyon rezo pa ajiste kantite lajan an nan done voye pa moun k la. Konsèp yo nan fenèt konjesyon ak voye fenèt yo ki gen rapò youn ak lòt, ak kantite lajan an nan done nan moun k la se kontwole pa dinamik ajiste gwosè a nan fenèt la konjesyon. Ralanti kòmanse, evite konjesyon ak rekiperasyon vit yo se twa pati prensipal yo nan algorithm kontwòl TCP konjesyon, ki ajiste gwosè a nan fenèt la konjesyon nan diferan estrateji pou adapte yo ak kapasite a ak degre konjesyon nan rezo a.

Nan pwochen seksyon an, nou pral egzaminen mekanis retransmisyon TCP a an detay. Mekanis retransmisyon se yon pati enpòtan nan tchp reyalize transmisyon serye. Li asire transmisyon an serye nan done pa retransmitting pèdi, pèvèti oswa reta done yo. Prensip aplikasyon an ak estrateji nan mekanis nan retransmisyon yo pral prezante ak analize an detay nan pwochen seksyon an. Rete branche!


Post tan: Feb-24-2025