Veguhestina Baweriya TCP
Em hemî bi protokola TCP-ê re wekî protokola veguhastinê ya pêbawer nas dikin, lê ew çawa pêbaweriya veguhastinê piştrast dike?
Ji bo pêkanîna pêbawer, gelek faktor hewce ne ku bêne hesibandin, wek mînak daneyên danasînê, windabûn, dubarekirin, û pêlên derveyî. Ger ev pirsgirêk çareser nebin, veguhestina pêbawer nikare were bidestxistin.
Ji ber vê yekê, Mekanîzmayên Employs yên TCP wekî hejmarê rêzikname, pejirandina bersivê, kontrolkirina birêkûpêk, rêveberiya pêwendiyê, û kontrola pencereyê da ku bigihîje pêbaweriya pêbawer.
Di vê kaxezê de, em ê balê bikişînin ser pencereya dirûşm, kontrola kontrolê û dorpêçkirina tcp. Mekanîzmaya paşvexistinê di beşa din de ji hev veqetandî ye.
Kontrola Flow Tora
Kontrola Tevgera Torgilokê an dizanin ku Kontrola Trafîkê ya Torgilokê bi rastî xuyangkirina têkiliya nermîn di navbera hilberîner û xerîdaran de ye. Dibe ku hûn di vê xebatê de an di hevpeyivînan de gelek senaryoyê derdikevin. Ger kapasîteya hilberîner ji bo hilberîna pir zêde ji kapasîteya xerîdar derbas dibe, ew ê bibe sedema ku bi rengek nediyar mezin bibe. Di dozek cidî de, hûn dikarin zanibin ku gava peyamên rabbitmq pir zêde çêdikin, ew dikare bibe sedema hilweşîna performansê ya tevahiya servera MQ. Heman ji bo TCP-ê rast e; Ger bêçare bimîne, dê gelek peyam werin nav torê, û serfkaran dê ji kapasîteya xwe derbas bibin, dema ku hilberîner dê peyamên dubare bişîne, ku dê bandorê li ser performansa torê bike.
Ji bo çareserkirina vê fenomenon, TCP ji bo şandina daneya ku li ser bingeha kapasîteya rastîn a werzîşê tê zanîn, mekanîzmayek peyda dike. Receiver pencereyek digire, dema ku sender pencereyek dişîne. Divê were zanîn ku ev pencere tenê ji bo girêdanek yek tcp in û ne hemî têkilî pencereyek parve dikin.
TCP bi karanîna guherbarek ji bo pencereyek wergirtinê kontrola heremê peyda dike. Pencereya wergêran nîşana sendoqê dide ka çiqas cîhê cache hîn jî heye. Sender li gorî kapasîteya pejirandina rastîn a wergirê daneyên ku hatine şandin kontrol dike.
Mêvandarê wergirê ji sendavê ya daneyên ku ew dikare bistîne agahdar dike, û şandina vê sînorê dişîne. Ev sînor Mezinahiya pencereyê ye, sernavê TCP-ê bi bîr tîne? Zeviyek pencereya wergirtinê heye, ku tête bikar anîn ku nîşan bide ku hejmara bytes wergir an jî amade ye ku bistîne.
Mêvandarê Sender dê bi serdemî pakêtek pencereya pencereyê bişîne, ku tête bikar anîn ka gelo mêvandarê wergirê hîn jî dikare daneyan bipejirîne. Dema ku buffera wergirê xeternak e, mezinahiya pencereyê li nirxek piçûktir tê danîn da ku şandina şandina şandina daneya şandin.
Li vir diagram Kontrola Tevgera Torgilokê de ye:
Kontrola Tevhevkirina Torê
Berî danasîna kontrolkirina tevgerê, pêdivî ye ku em fêm bikin ku pencereya wergirtinê û pencereyê jî heye, ku bi piranî ji bo çareserkirina pirsgirêkê tê bikar anîn. Ji ber vê yekê, pencereya tevlihevkirinê jî ji hêla Sender TCP ve tête domandin. Pêwîstiya me ji algorîtmê re heye ku biryar bide ka çiqas daneyên şandin, ji ber ku şandina daneyên pir hindik an pir zêde ne îdeal e, ji ber vê yekê têgeha pencereya tevliheviyê.
Di kontrola tîrêjê ya torê ya berê de, tiştê ku me ji holê rabû şandibû Sender bi daneyên ku cemaeta wergirê dagirtî bû, lê me nizanibû ku di torê de çi diqewime. Bi gelemperî, torên komputerê di hawîrdora hevbeş de ne. Di encamê de, dibe ku ji ber ragihandina di navbera mêvandarên din de têkiliyek torê hebe.
Gava ku torê tê qewirandin, heke hejmareke mezin ji pakêtan were şandin, dibe ku pirsgirêkên wekî dereng û windakirina pakêtan pêk bînin. Di vê nuqteyê de, TCP dê daneyan vekişîne, lê paşvekişandin dê barê li ser torê zêde bike, di encamê de derengiyên mezintir û bêtir windahiyên pakêtê. Ev dikare bikeve nav cycleekek xirab û mezintir bibe.
Bi vî rengî, TCP nikare tiştê ku li ser torê diqewime ji bîr neke. Dema ku torê tê qewirandin, TCP bi xwe re qurbanî dike û bi kêmkirina daneya ku ew dişîne.
Ji ber vê yekê, kontrola tevlihevkirinê tê pêşniyar kirin, ku armanc dike ku ji dagirtina tevahiya torê bi daneyên ji şandina peyker. Ji bo rêzgirtina mîqdara daneyê divê şandiye, TCP têgehek bi navê pencereya tevliheviyê destnîşan dike. Algorîtmaya Kontrolê ya Tevgerê dê li gorî tixûbê torgilokê pîvana pencereyê biguherîne, da ku ew daneyên ku ji hêla Sender ve hatî şandin kontrol bikin.
Pencereyek tevlihevî çi ye? Ev bi pencereya Send-ê ve girêdayî ye?
Pencereya tevliheviyê guherbarek dewletê ye ku ji hêla sender ve hatî destnîşankirin ku mîqdara daneyê dikare bişîne. Pencereya tevlihevî li gorî asta torgilokê bi dînamîkî diguhere.
Pencereya şandina li ser size pencere di navbera sender û wergirê de tête pejirandin Pencereya tevlihevî û pencereya şandina têkildar; Pencereya şandina bi gelemperî bi kêmtirîn tevlihevî û wergirtina windows, ango, swnd = min (cwnd, rwnd).
Pencereya tevlihevî cwnd guherîn wiha ye:
Heke di torê de tevlihevî tune, ango, ti dema paşvekişandinê çêdibe, pencereya tevliheviyê zêde dibe.
Ger di torê de tevlihevî hebe, pencereya tevliheviyê kêm dibe.
Sender diyar dike ka torê bi çavdêrî ye ka pakêtek pejirandina ACK di dema diyarkirî de tê wergirtin. Ger sender di dema diyarkirî de pakêtê pejirandina ACK nagire, tê hesibandin ku torê tevlihev e.
Digel pencereya tevlihevkirinê, wext e ku meriv algorîtmaya kontrola TCP-ê nîqaş bike. Algorîtmaya Kontrolê ya TCP-ê ji sê beşên sereke pêk tê:
Destpêka Hêdî:Di destpêkê de, pencereya tevliheviya cwnd bi rengek piçûk e, û sender pencereya tevliheviyê bi rengek berbiçav zêde dike da ku zû bi kapasîteya torê re têkildar be.
Ragihandina tevlihevkirinê:Piştî ku pencereya hilweşînê ji pêvekek berbiçav derbas dibe, şandina pencereya tevlihevî di navgînek linear de zêde dike da ku rêjeya mezinbûnê ya pencereya tevliheviyê hêdî bike û ji nû ve barkirinên torê dûr bixe.
Rakirina zû:Heke tevlihevî çêbibe, şandina pencereya hilweşandinê ya bilez vedigire û di nav de cîhê başkirina torê bi navgîniya werzişê ya dubare ya wergirtî tê destnîşankirin, û dûv re jî berdewam dike ku pencereya tevliheviyê zêde bike.
Destpêka hêdî
Dema ku pêwendiyek TCP-ê tê damezrandin, pencereya tevliheviyê cwnd di destpêkê de bi nirxa kêmtirîn MSS (Mezinahiya Sazment). Bi vî rengî, rêjeya şandina destpêkê di derbarê MSS / RTT bytes / duyemîn de ye. Bandora rastîn a rastîn bi gelemperî ji MSS / RT-yê pir mezin e, lewra TCP dixwaze ku rêjeya şandina çêtirîn bibîne, ku dikare bi rêgezên hêdî-dest pê bike.
Di pêvajoya hêdî-destpêkirinê de, nirxa pencereya tevlihevkirinê dê ji 1 MS-ê were destpêkirin, û her gava ku beşa pakêtê ya veguhastî were pejirandin, nirxa cwnd dê ji hêla yek MSS ve were zêdekirin, dê nirxa cwnd bibe 2 ms. Piştra, nirxa cwnd ji bo her veguheztina serfiraz a beşa pakêtê, û hwd. Pêvajoya mezinbûna taybetî di hêjmara jêrîn de tê nîşandan.
Lêbelê, rêjeya şandina her gav mezin nabe; mezinbûn neçar e ku carinan bi dawî bibe. Ji ber vê yekê, kengî rêjeya şandina bi dawî dibe? Hêdî-Destpêk Bi gelemperî zêdebûna rêjeya şandina di yek ji çend awayan de bi dawî dibe:
Riya yekem di dema şandina pêvajoya şandina destpêkirina hêdî de rewşa windabûna pakêtê ye. Dema ku zincîreyek pakêtan pêk tê, TCP pencereya tevliheviya senderê cwnd digire û ji nû ve pêvajoya destpêkirina hêdî nû dike. Di vê qonaxê de, têgehek ji benda destpêkirina SThresh tête danîn, ku nirxa destpêkê ya ku nîvê nirxa cwnd e ku windakirina pakêtê dike. Ango, dema ku tevlihevî tê tesbît kirin, nirxa SSthresh nîvê nirxa pencereyê ye.
Riya duyemîn ev e ku rasterast bi nirxa resh-ê ya destpêkirina SSthresh re têkildar be. Ji ber ku nirxa SSthresh nîvê nirxa pencereyê ye dema ku tevlihevî tê tesbît kirin, windakirina pakêtê dibe ku dema ku cwnd ji ssthresh mezintir e. Ji ber vê yekê, çêtirîn e ku Cwnd-ê li SSthresh were saz kirin, ku dê bibe sedema TCP-ê da ku guheztina moda kontrolkirina tevliheviyê û hêdî-hêdî bi dawî bibe.
Riya paşîn a ku destpêkirina hêdî dikare bidawî bibe heke sê hebên redundant bêne tesbît kirin, TCP bi lezgîn vekişandin û têkeve rewşa başbûnê. (Heke ne diyar e ka çima sê pakêtên ACK hene, ew ê di mekanîzmaya paşvexistinê de ji hev veqetîne.)
Ragihandina tevlihevkirinê
Dema ku TCP têkeve nav rewşa konteynera dorpêçê, cwnd nîvê dorpêçê dorpêçê shthresh tête danîn. Ev tê vê wateyê ku nirxa cwnd nayê dubare kirin ku her carê beşa pakêtê tê wergirtin. Di şûna wê de, nêzîkatiyek berbiçav tête pejirandin ku piştî ku her yek veguhestinê qediya, bi tenê nirxa cwnd-ê bi tenê yek MSS (dirêjahiya seba pakêtê) zêde dibe. Mînakî, heke 10 beşên pakêtê bêne pejirandin, nirxa cwnd dê tenê ji hêla yek MSS ve zêde bibe. Ev modela mezinbûna linear e û di heman demê de li ser mezinbûnê jî xwedan tixûbek jorîn heye. Dema ku zirara pakkirinê pêk tê, nirxa cwnd li MS-ê tê guhertin, û nirxa SSthresh li nîvê cwnd tê danîn. An jî ew ê dema ku 3 bersivên Ack yên Redundant wergirtî jî mezinbûna MSS rawestînin. Ger sê hebên sererastkirinê hîn jî piştî nîvê nirxa cwnd hatine wergirtin, nirxa SSthresh wekî nîv nirxa cwnd û başbûna başbûnê tête navnîş kirin.
Rakirina zû
Di rewşa başbûnê ya zû de, nirxa pencereya tevliheviyê cwnd ji bo her yek MS-ê ji bo her çentê wergirtî wergirtî, ew e, ack ku di rêzê de nagire. Ev e ku meriv di beşên pakêtê yên ku bi serfirazî di torê de hatî veguheztin da ku bi qasî ku gengaz dibe ku karbidestiya veguhastinê baştir bike.
Gava ku ack ji beşa pakêtê winda tê, TCP nirxa cwnd kêm dike û dûv re jî dikeve nav dewleta nehiştinê ya tevlihevkirinê. Ev e ku meriv pîvana pencereya tevliheviyê kontrol bike û ji zêdebûna tevgera torê bêtir dûr bixe.
Ger demek piştî destdirêjiya konteynerê pêk tê, rewşa torê ya torgilokê bêtir ciddî û tcp dibe koçber ji dewleta tunekirinê ya dorpêçê heya dewleta hêdî-destpêkê. Di vê rewşê de, nirxa pencereya tevlihevkirinê li 1 MS-ê tête danîn, dirêjahiya beşa pakêtê ya herî zêde, û nirxa benda hêdî-destpêkê SSthresh nîvê cwnd tê danîn. Armanca vê yekê ye ku piştî ku tora torê xelas dibe, pîvana pencereya tevliheviyê zêde bike.
Berhevkirinî
Wekî protokola veguhastinê ya pêbawer, TCP bi hejmarê sektonê, pejirandinê, kontrolkirina paşverû, rêveberiya pêwendiyê û kontrola pencereyê veguhestina pêbawer pêk tîne. Di nav wan de, Mekanîzmaya Kontrolê ya Flow mêjûya ku ji hêla Sender-ê ve hatî şandin li gorî kapasîteya rastîn a wergirê, ku ji pirsgirêkên torgiloka torê û perçebûna performansê dûr dixe. Mekanîzma Kontrolê ya Conglation ji ber pêkanîna daneya ku ji hêla Sender ve hatî şandin, bûyera pêkanîna torê digire. Têgihên pencereya pencereyê û şandina pencereyê bi hevdû re têkildar in, û hêjmara daneyên li pey şandina bi dînamîkî ve tê kontrolkirin. Destpêka Hêdî, Ragihandina Bilez û Ragihandina Bilez ji sê beşên bingehîn ên Kontrola TCP-ê, ku pîvana pencereya tevliheviyê bi riya stratejiyên cûda ve girêdayî ye da ku bi kapasîteya kapasîteyê û dorpêçê ya torê re adapt bikin.
Di beşa din de, em ê bi hûrgulî mekanîzmaya paşvexistina TCP-ê vekolîn bikin. Mekanîzmaya paşguhbûnê beşek girîng a TCP-ê ye ku bigihîje veguheztina pêbawer. Ew veguheztina pêveka pêbawer a daneyan bi vekişandina daneyên winda, xapînok an dereng. Prensîba bicîhkirinê û stratejiya mekanîzmaya paşvexistinê dê di beşa din de hûrgulî were danîn û analîz kirin. Tunize!
Demjimêra paşîn: Feb-24-2025