Chida chachinsinsi cha TCP: Kulamulira Kuyenda kwa Maukonde ndi Kulamulira Kuchulukana kwa Maukonde

Kutengera Kudalirika kwa TCP
Tonsefe tikudziwa bwino za protocol ya TCP ngati protocol yodalirika yoyendera, koma kodi imatsimikiza bwanji kudalirika kwa mayendedwe?

Kuti tipeze kutumiza kodalirika, zinthu zambiri ziyenera kuganiziridwa, monga kuwonongeka kwa deta, kutayika, kubwerezabwereza, ndi zidutswa zosagwira ntchito. Ngati mavutowa sangathetsedwe, kutumiza kodalirika sikungatheke.

Chifukwa chake, TCP imagwiritsa ntchito njira monga nambala ya sequence, kuyankha kovomereza, kuwongolera kutumizanso, kasamalidwe ka kulumikizana, ndi kuwongolera zenera kuti ikwaniritse kutumiza kodalirika.

Mu pepalali, tikambirana kwambiri za zenera lotsetsereka, kuwongolera kayendedwe ka madzi ndi kuwongolera kuchulukana kwa TCP. Njira yotumizira mauthenga ifotokozedwa padera mu gawo lotsatira.

Kulamulira Mayendedwe a Netiweki
Kulamulira kwa Mayendedwe a Network kapena kudziwika kuti Kulamulira kwa Magalimoto a Network kwenikweni ndi chizindikiro cha ubale wobisika pakati pa opanga ndi ogula. Mwina mwakumanapo ndi izi kwambiri kuntchito kapena mu zokambirana. Ngati mphamvu ya wopanga kupanga ipitirira kwambiri mphamvu ya kasitomala yogwiritsira ntchito, izi zipangitsa kuti mzere ukule kwamuyaya. Pankhani yoopsa kwambiri, mungadziwe kuti mauthenga a RabbitMQ akachulukana kwambiri, angayambitse kuwonongeka kwa magwiridwe antchito a seva yonse ya MQ. Izi ndi zoonanso ndi TCP; ngati sanayang'aniridwe, mauthenga ambiri adzayikidwa mu netiweki, ndipo ogula adzakhala atapitirira mphamvu zawo, pomwe opanga apitiliza kutumiza mauthenga obwerezabwereza, zomwe zidzakhudza kwambiri magwiridwe antchito a netiweki.

Pofuna kuthana ndi vutoli, TCP imapereka njira yoti wotumiza azitha kuwongolera kuchuluka kwa deta yotumizidwa kutengera mphamvu yeniyeni yolandirira ya wolandila, yomwe imadziwika kuti flow control. Wolandila amasunga zenera lolandirira, pomwe wotumiza amasunga zenera lotumizira. Tiyenera kudziwa kuti Mawindo awa ndi a kulumikizana kwa TCP imodzi yokha ndipo si maulumikizidwe onse omwe amagawana zenera limodzi.

TCP imapereka ulamuliro woyendetsera kayendedwe ka deta pogwiritsa ntchito chosinthika cha zenera lolandira deta. Zenera lolandira deta limapatsa wotumizayo chizindikiro cha malo osungira deta omwe alipobe. Wotumizayo amalamulira kuchuluka kwa deta yotumizidwa malinga ndi mphamvu yeniyeni yolandirira deta ya wolandirayo.

Wolandila amadziwitsa wotumiza za kukula kwa deta yomwe angalandire, ndipo wotumizayo amatumiza mpaka malire awa. Malire awa ndi kukula kwa zenera, mukukumbukira mutu wa TCP? Pali gawo la zenera lolandila, lomwe limagwiritsidwa ntchito kusonyeza chiwerengero cha ma byte omwe wolandilayo angathe kapena akufuna kulandira.

Wotumiza nthawi ndi nthawi amatumiza paketi ya window probe, yomwe imagwiritsidwa ntchito kudziwa ngati wolandirayo akadali ndi mwayi wolandira deta. Pamene buffer ya wolandirayo ili pachiwopsezo chodzaza, kukula kwa zenera kumayikidwa pamtengo wocheperako kuti alangize wotumizayo kuti azilamulira kuchuluka kwa deta yomwe yatumizidwa.

Nayi chithunzi cha Network Flow Control:

Kulamulira Magalimoto

Kulamulira Kuchulukana kwa Netiweki
Tisanayambe kulamulira kuchuluka kwa deta, tiyenera kumvetsetsa kuti kuwonjezera pa zenera lolandira ndi zenera lotumiza, palinso zenera lodzaza deta, lomwe limagwiritsidwa ntchito kwambiri kuthetsa vuto la kuchuluka kwa deta yomwe wotumizayo akuyamba kutumiza ku zenera lolandira. Chifukwa chake, zenera lodzaza deta limasungidwanso ndi wotumiza wa TCP. Tikufunika njira yodziwira kuchuluka kwa deta yoyenera kutumiza, popeza kutumiza deta yochepa kwambiri kapena yochuluka kwambiri sikoyenera, chifukwa chake lingaliro la zenera lodzaza deta.

Mu ulamuliro wakale wa kayendedwe ka netiweki, chomwe tidapewa chinali kutumiza deta yodzaza deta ya wolandila, koma sitinkadziwa zomwe zikuchitika mu netiweki. Nthawi zambiri, ma netiweki apakompyuta amakhala pamalo ogawana. Chifukwa chake, pakhoza kukhala kutsekeka kwa netiweki chifukwa cha kulumikizana pakati pa ma host ena.

Pamene netiweki yadzaza, ngati mapaketi ambiri akupitiliza kutumizidwa, zingayambitse mavuto monga kuchedwa ndi kutayika kwa mapaketi. Pakadali pano, TCP idzatumizanso deta, koma kubwezeretsanso kudzawonjezera katundu pa netiweki, zomwe zimapangitsa kuti pakhale kuchedwa kwakukulu komanso kutayika kwa mapaketi ambiri. Izi zitha kulowa munthawi yovuta ndikupitilira kukula.

Motero, TCP singathe kunyalanyaza zomwe zikuchitika pa netiweki. Pamene netiweki yadzaza, TCP imadzipha yokha pochepetsa kuchuluka kwa deta yomwe imatumiza.

Chifukwa chake, pali njira yowongolera kuchuluka kwa deta yomwe ikuperekedwa, yomwe cholinga chake ndi kupewa kudzaza netiweki yonse ndi deta yochokera kwa wotumiza. Pofuna kuwongolera kuchuluka kwa deta yomwe wotumiza ayenera kutumiza, TCP imafotokoza lingaliro lotchedwa zenera la kuchuluka kwa deta. Njira yowongolera kuchuluka kwa deta idzasintha kukula kwa zenera la kuchuluka kwa deta malinga ndi kuchuluka kwa deta yomwe netiweki ili nayo, kuti iwongolere kuchuluka kwa deta yomwe wotumizayo atumiza.

Kodi zenera lodzaza ndi anthu ndi chiyani? Kodi izi zikugwirizana bwanji ndi zenera lotumizira?

Zenera Lodzaza ndi zinthu zomwe wotumiza amasunga zomwe zimatsimikiza kuchuluka kwa deta yomwe wotumiza angatumize. Zenera lodzaza ndi zinthu limasintha mosiyanasiyana malinga ndi kuchuluka kwa deta yomwe ili pa netiweki.

Zenera Lotumiza ndi kukula kwa zenera komwe wotumiza ndi wolandila amavomerezana komwe kumasonyeza kuchuluka kwa deta yomwe wolandirayo angalandire. Zenera lodzaza ndi zenera lotumiza ndi logwirizana; zenera lotumiza nthawi zambiri limakhala lofanana ndi kuchuluka kwa kudzaza ndi kulandira Mawindo, ndiko kuti, swnd = min(cwnd, rwnd).

Chipinda chodzaza ndi zinthu chimasintha motere:

Ngati palibe kutsekeka kwa intaneti, mwachitsanzo, palibe nthawi yoti ma transmission azitha, zenera la kutsekeka limawonjezeka.

Ngati pali kuchulukirachulukira mu netiweki, zenera la kuchulukirachulukira limachepa.

Wotumiza amatsimikiza ngati netiweki yadzaza poona ngati paketi yovomereza ya ACK yalandiridwa mkati mwa nthawi yomwe yaperekedwa. Ngati wotumizayo salandira paketi yovomereza ya ACK mkati mwa nthawi yomwe yaperekedwa, amaonedwa kuti netiwekiyo yadzaza.

Kuwonjezera pa zenera la kutsekeka kwa deta, ndi nthawi yokambirana za njira yowongolera kutsekeka kwa deta ya TCP. Njira yowongolera kutsekeka kwa deta ya TCP ili ndi magawo atatu akuluakulu:

Kuyamba Mochedwa:Poyamba, zenera la cwnd congestion ndi laling'ono, ndipo wotumiza amawonjezera zenera la congestion mwachangu kuti azitha kusintha mwachangu malinga ndi mphamvu ya netiweki.
Kupewa Kutsekeka kwa Mitsempha:Pambuyo poti zenera lodzaza anthu lapitirira malire enaake, wotumizayo amawonjezera zenera lodzaza anthu m'njira yolunjika kuti achepetse kukula kwa zenera lodzaza anthu komanso kupewa kudzaza netiweki.
Kuchira Mwachangu:Ngati pali kutsekeka kwa deta, wotumizayo amadula pakati zenera lotsekeka deta ndikulowa mu mkhalidwe wobwezeretsa deta mwachangu kuti adziwe komwe kuchira kwa netiweki kudzera mu ma acks obwerezabwereza omwe alandiridwa, kenako amapitiliza kuwonjezera zenera lotsekeka deta.

Kuyamba Mochedwa
Pamene kulumikizana kwa TCP kwakhazikitsidwa, cwnd ya zenera lodzaza imayikidwa poyamba pa mtengo wotsika wa MSS (maximum segment size). Mwanjira imeneyi, kuchuluka koyamba kotumizira kumakhala pafupifupi MSS/RTT bytes/second. Bandwidth yeniyeni yomwe ilipo nthawi zambiri imakhala yayikulu kwambiri kuposa MSS/RTT, kotero TCP imafuna kupeza kuchuluka koyenera kotumizira, komwe kungapezeke poyambitsa pang'onopang'ono.

Mu ndondomeko yoyambira pang'onopang'ono, mtengo wa cwnd wa zenera lodzaza udzayamba kuikidwa pa 1 MSS, ndipo nthawi iliyonse yomwe gawo la paketi yotumizidwa lizivomerezedwa, mtengo wa cwnd udzawonjezeka ndi MSS imodzi, ndiko kuti, mtengo wa cwnd udzakhala 2 MSS. Pambuyo pake, mtengo wa cwnd umawirikiza kawiri pa kutumiza kulikonse kopambana kwa gawo la paketi, ndi zina zotero. Njira yeniyeni yokulira ikuwonetsedwa pachithunzi chotsatira.

 Kulamulira kuchulukana kwa maukonde

Komabe, kuchuluka kwa kutumiza sikungakule nthawi zonse; kukula kuyenera kutha nthawi ina. Ndiye, kuchuluka kwa kutumiza kumatha liti? Kuyamba pang'onopang'ono nthawi zambiri kumathetsa kuwonjezeka kwa kuchuluka kwa kutumiza m'njira zingapo:

Njira yoyamba ndi nkhani ya kutayika kwa paketi panthawi yotumiza njira yoyambira pang'onopang'ono. Pamene kutayika kwa paketi kumachitika, TCP imayika zenera la cwnd la wotumiza ku 1 ndikuyambiranso njira yoyambira pang'onopang'ono. Pakadali pano, lingaliro la ssthresh yoyambira pang'onopang'ono limayambitsidwa, lomwe mtengo wake woyamba ndi theka la mtengo wa cwnd womwe umabweretsa kutayika kwa paketi. Ndiko kuti, pamene kutayika kwa paketi kwapezeka, mtengo wa ssthresh ndi theka la mtengo wa zenera.

Njira yachiwiri ndiyo kugwirizana mwachindunji ndi mtengo wa ssthresh yoyambira pang'onopang'ono. Popeza mtengo wa ssthresh ndi theka la mtengo wa zenera pamene kuchuluka kwa zinthu kumapezeka, kutayika kwa paketi kungachitike kawiri kawiri pamene cwnd ndi yayikulu kuposa ssthresh. Chifukwa chake, ndibwino kuyika cwnd ku ssthresh, zomwe zingapangitse TCP kusintha kukhala njira yowongolera kuchuluka kwa zinthu ndikuthetsa kuyamba pang'onopang'ono.

Njira yomaliza yomwe kuyamba pang'onopang'ono kumatha ndi ngati ma acks atatu osafunikira apezeka, TCP imachita retransmission mwachangu ndikulowa mu recovery state. (Ngati sizikudziwika bwino chifukwa chake pali ma ACK packets atatu, zidzafotokozedwa padera mu retransmission mechanism.)

Kupewa kutsekeka kwa madzi m'thupi
Pamene TCP ilowa mu mkhalidwe wolamulira kuchuluka kwa ma CD, cwnd imayikidwa pa theka la malire a kuchuluka kwa ma CD. Izi zikutanthauza kuti mtengo wa cwnd sungawirikize kawiri nthawi iliyonse yomwe gawo la phukusi lalandiridwa. M'malo mwake, njira yosamala imatengedwa momwe mtengo wa cwnd umakulitsidwa ndi MSS imodzi yokha (kutalika kwa gawo la phukusi) pambuyo poti kutumiza kulikonse kwatha. Mwachitsanzo, ngakhale magawo 10 a phukusi avomerezedwa, mtengo wa cwnd umawonjezeka ndi MSS imodzi yokha. Iyi ndi chitsanzo cha kukula kolunjika ndipo ilinso ndi malire apamwamba pakukula. Pamene kutayika kwa phukusi kukuchitika, mtengo wa cwnd umasinthidwa kukhala MSS, ndipo mtengo wa ssthresh umayikidwa pa theka la cwnd. Kapena idzayimitsanso kukula kwa MSS pamene mayankho atatu a ACK obwerezabwereza alandiridwa. Ngati ma acks atatu obwerezabwereza akalandiridwabe mutachepetsa mtengo wa cwnd ndi theka, mtengo wa ssthresh umalembedwa ngati theka la mtengo wa cwnd ndipo mkhalidwe wochira mwachangu walowetsedwa.

Kuchira Mwachangu
Mu mkhalidwe wa Fast Recovery, mtengo wa cwnd wa congestion window umawonjezeka ndi MSS imodzi pa ACK iliyonse yolandilidwa, kutanthauza kuti, ACK yomwe sifika motsatizana. Izi ndikugwiritsa ntchito magawo a paketi omwe atumizidwa bwino mu netiweki kuti akonze bwino momwe angatumizire mauthenga momwe angathere.

Pamene ACK ya gawo la phukusi lotayika yafika, TCP imachepetsa mtengo wa cwnd kenako imalowa mu mkhalidwe wopewa kutsekeka. Izi ndi kuwongolera kukula kwa zenera la kutsekeka ndikupewa kuwonjezereka kwa kutsekeka kwa netiweki.

Ngati nthawi yopuma ichitika pambuyo pa mkhalidwe wowongolera kuchuluka kwa anthu, vuto la netiweki limakhala lalikulu kwambiri ndipo TCP imasamuka kuchoka pa mkhalidwe wopewa kuchuluka kwa anthu kupita ku mkhalidwe woyambira pang'onopang'ono. Pankhaniyi, mtengo wa zenera lodzaza ndi anthu cwnd umayikidwa pa 1 MSS, kutalika kwakukulu kwa gawo la paketi, ndipo mtengo wa ssthresh woyambira pang'onopang'ono umayikidwa pa theka la cwnd. Cholinga cha izi ndikuwonjezera pang'onopang'ono kukula kwa zenera lodzaza ndi anthu pambuyo poti netiweki yachira kuti igwirizane ndi kuchuluka kwa kutumiza ndi kuchuluka kwa kuchuluka kwa anthu omwe ali ndi netiweki.

Chidule
Monga njira yodalirika yoyendera, TCP imagwiritsa ntchito mayendedwe odalirika pogwiritsa ntchito nambala ya sequence, kuzindikira, kulamulira kubwezeretsanso, kuyang'anira kulumikizana ndi kuwongolera zenera. Pakati pawo, njira yowongolera kuyenda imayang'anira kuchuluka kwa deta yotumizidwa ndi wotumiza malinga ndi mphamvu yeniyeni yolandirira ya wolandila, zomwe zimapewa mavuto a kutsekeka kwa netiweki ndi kuwonongeka kwa magwiridwe antchito. Njira yowongolera kutsekeka imapewa kuchitika kwa kutsekeka kwa netiweki mwa kusintha kuchuluka kwa deta yotumizidwa ndi wotumiza. Malingaliro a zenera lotsekeka ndi zenera lotumiza zimagwirizana, ndipo kuchuluka kwa deta pa wotumiza kumayendetsedwa mwa kusintha kukula kwa zenera lotsekeka. Kuyamba pang'onopang'ono, kupewa kutsekeka ndi kuchira mwachangu ndi magawo atatu akuluakulu a njira yowongolera kutsekeka kwa TCP, yomwe imasintha kukula kwa zenera lotsekeka kudzera munjira zosiyanasiyana kuti igwirizane ndi mphamvu ndi kuchuluka kwa kutsekeka kwa netiweki.

Mu gawo lotsatira, tiwona mwatsatanetsatane njira yotumizira mauthenga ya TCP. Njira yotumizira mauthenga ndi gawo lofunika kwambiri la TCP kuti ikwaniritse kutumiza kodalirika. Imatsimikizira kutumiza deta kodalirika mwa kutumiza deta yotayika, yowonongeka kapena yochedwa. Mfundo yogwiritsira ntchito ndi njira yotumizira mauthenga idzayambitsidwa ndikuwunikidwa mwatsatanetsatane mu gawo lotsatira. Khalani tcheru!


Nthawi yotumizira: Feb-24-2025