Gbigbe Igbẹkẹle TCP
Gbogbo wa mọ ilana TCP gẹgẹbi ilana gbigbe ti o gbẹkẹle, ṣugbọn bawo ni o ṣe rii daju pe gbigbe naa gbẹkẹle?
Láti lè ṣe àgbékalẹ̀ ìfiránṣẹ́ tó ṣeé gbẹ́kẹ̀lé, ọ̀pọ̀lọpọ̀ nǹkan ló yẹ kí a gbé yẹ̀ wò, bí ìbàjẹ́ dátà, pípàdánù, ìdàpọ̀, àti àwọn ìfọ́ tí kò bá ìlànà mu. Tí a kò bá lè yanjú àwọn ìṣòro wọ̀nyí, a kò lè ṣe àgbékalẹ̀ ìfiránṣẹ́ tó ṣeé gbẹ́kẹ̀lé.
Nítorí náà, TCP ń lo àwọn ọ̀nà bíi nọ́mbà ìtẹ̀léra, ìdáhùn ìjẹ́wọ́, ìṣàkóso àtúnránṣẹ́, ìṣàkóso ìsopọ̀, àti ìṣàkóso fèrèsé láti ṣe àṣeyọrí ìfiránṣẹ́ tí ó ṣeé gbẹ́kẹ̀lé.
Nínú ìwé yìí, a ó dojúkọ lórí fèrèsé yíyọ́, ìṣàkóso ìṣàn omi àti ìṣàkóso ìdènà ìdènà ti TCP. A ṣe àgbékalẹ̀ ìlànà ìtún-padà náà lọ́tọ̀ọ̀tọ̀ ní abala tó tẹ̀lé.
Iṣakoso Sisan Nẹtiwọọki
Iṣakoso Iṣàn Nẹ́tíwọ́ọ̀kì tàbí tí a mọ̀ sí Network Traffic Control jẹ́ ìfihàn ìbáṣepọ̀ díẹ̀ láàárín àwọn olùpèsè àti àwọn oníbàárà. Ó ṣeé ṣe kí o ti rí irú ìṣẹ̀lẹ̀ yìí ní ibi iṣẹ́ tàbí nínú ìfọ̀rọ̀wánilẹ́nuwò. Tí agbára olùpèsè láti ṣe iṣẹ́ bá pọ̀ ju agbára oníbàárà lọ, yóò mú kí ìlà náà pọ̀ sí i títí láé. Nínú ọ̀ràn tó le jù, o lè mọ̀ pé nígbà tí àwọn ìránṣẹ́ RabbitMQ bá pọ̀ jù, ó lè fa ìbàjẹ́ iṣẹ́ gbogbo olupin MQ. Bẹ́ẹ̀ náà ni fún TCP; tí a kò bá ṣàyẹ̀wò rẹ̀, ọ̀pọ̀lọpọ̀ ìránṣẹ́ ni a ó fi sínú nẹ́tíwọ́ọ̀kì náà, àwọn oníbàárà yóò sì ti kọjá agbára wọn, nígbà tí àwọn olùpèsè náà yóò máa fi àwọn ìránṣẹ́ méjì ránṣẹ́, èyí tí yóò ní ipa lórí iṣẹ́ nẹ́tíwọ́ọ̀kì náà gidigidi.
Láti yanjú ìṣẹ̀lẹ̀ yìí, TCP pèsè ìlànà kan fún olùránṣẹ́ láti ṣàkóso iye dátà tí a fi ránṣẹ́ ní ìbámu pẹ̀lú agbára gbígbà tí olùgbà náà ní, èyí tí a mọ̀ sí ìṣàkóso ìṣàn. Olùgbà náà ń tọ́jú fèrèsé gbígbà, nígbà tí olùránṣẹ́ náà ń tọ́jú fèrèsé ìfiránṣẹ́. Ó yẹ kí a kíyèsí pé àwọn Windows wọ̀nyí wà fún ìsopọ̀ TCP kan ṣoṣo kìí ṣe gbogbo àwọn ìsopọ̀ ló ń pín fèrèsé kan.
TCP n pese iṣakoso sisan nipa lilo oniyipada fun window gbigba. Ferese gbigba naa fun oluranṣẹ ni itọkasi iye aaye cache ti o tun wa. Oluranṣẹ naa n ṣakoso iye data ti a firanṣẹ gẹgẹbi agbara gbigba gangan ti olugba naa.
Olùgbàlejò olùgbàlejò náà yóò sọ fún olùránṣẹ́ nípa ìwọ̀n dátà tí ó lè gbà, olùránṣẹ́ náà yóò sì fi ránṣẹ́ títí dé ààlà yìí. Ààlà yìí ni ìwọ̀n fèrèsé, ṣé o rántí àkọlé TCP? Ibùdó fèrèsé gbà wà, èyí tí a lò láti fi iye báàtì tí olùgbàlejò náà lè gbà tàbí tí ó fẹ́ gbà hàn.
Olùgbàlejò olùránṣẹ́ náà máa ń fi fèrèsé ìwádìí ránṣẹ́ lẹ́ẹ̀kọ̀ọ̀kan, èyí tí a máa ń lò láti mọ̀ bóyá olùgbàlejò náà ṣì lè gba dátà. Nígbà tí ààbò olùgbàlejò bá wà nínú ewu pé kí ó kún, a máa ń ṣètò ìwọ̀n fèrèsé náà sí iye tí ó kéré sí i láti pàṣẹ fún olùránṣẹ́ náà láti ṣàkóso iye dátà tí a fi ránṣẹ́.
Àwòrán Ìṣàkóso Ṣíṣàn Nẹ́tíwọ́ọ̀kì nìyí:
Iṣakoso Ipari Nẹtiwọọki
Kí a tó bẹ̀rẹ̀ sí í lo ìṣàkóso ìdènà ìdènà, a ní láti mọ̀ pé ní àfikún sí fèrèsé gbígbà àti fèrèsé ìfiránṣẹ́, fèrèsé ìdènà kan tún wà, èyí tí a sábà máa ń lò láti yanjú ìṣòro náà nípa bí olùránṣẹ́ ṣe bẹ̀rẹ̀ sí í fi dátà ránṣẹ́ sí fèrèsé gbígbà. Nítorí náà, olùránṣẹ́ TCP náà tún ń ṣe àkóso fèrèsé ìdènà. A nílò algoridimu láti pinnu iye dátà tó yẹ láti fi ránṣẹ́, nítorí pé fífi dátà díẹ̀ tàbí púpọ̀ jù kò dára, nítorí náà èrò fèrèsé ìdènà ...
Nínú ìṣàkóso ìṣàn nẹ́tíwọ́ọ̀kì tẹ́lẹ̀, ohun tí a yẹra fún ni olùránṣẹ́ tí ó fi dátà kún àpò ìpamọ́ olugba, ṣùgbọ́n a kò mọ ohun tí ó ń ṣẹlẹ̀ nínú nẹ́tíwọ́ọ̀kì náà. Lọ́pọ̀ ìgbà, àwọn nẹ́tíwọ́ọ̀kì kọ̀ǹpútà wà ní àyíká tí a pín. Nítorí náà, ó ṣeé ṣe kí ìdènà nẹ́tíwọ́ọ̀kì wà nítorí ìbánisọ̀rọ̀ láàárín àwọn olùgbàlejò mìíràn.
Nígbà tí nẹ́tíwọ́ọ̀kì bá kún fún ìdìpọ̀, tí a bá ń tẹ̀síwájú láti fi ọ̀pọ̀lọpọ̀ àwọn páàkì ránṣẹ́, ó lè fa àwọn ìṣòro bíi ìdádúró àti pípadánù àwọn páàkì. Ní àkókò yìí, TCP yóò tún fi dátà náà ránṣẹ́, ṣùgbọ́n ìtún-ránṣẹ́ náà yóò mú kí ẹrù pọ̀ sí i lórí nẹ́tíwọ́ọ̀kì náà, èyí yóò sì yọrí sí àwọn ìdádúró púpọ̀ sí i àti pípadánù páàkì púpọ̀ sí i. Èyí lè wọ inú ìyípo búburú kí ó sì máa pọ̀ sí i.
Nítorí náà, TCP kò le fojú fo ohun tó ń ṣẹlẹ̀ lórí nẹ́tíwọ́ọ̀kì náà. Nígbà tí nẹ́tíwọ́ọ̀kì bá dí, TCP fi ara rẹ̀ rú ẹbọ nípa dídín iye dátà tí ó ń fi ránṣẹ́ kù.
Nítorí náà, a dámọ̀ràn ìṣàkóso ìdènà ìdènà, èyí tí a fẹ́ yẹra fún kíkún gbogbo nẹ́tíwọ́ọ̀kì pẹ̀lú dátà láti ọ̀dọ̀ olùránṣẹ́. Láti ṣe àtúnṣe iye dátà tí olùránṣẹ́ yẹ kí ó fi ránṣẹ́, TCP túmọ̀ èrò kan tí a ń pè ní fèrèsé ìdènà. Algorithm ìṣàkóso ìdènà ìdènà yóò ṣe àtúnṣe iwọn fèrèsé ìdènà gẹ́gẹ́ bí ìwọ̀n ìdènà ti nẹ́tíwọ́ọ̀kì náà, kí ó baà lè ṣàkóso iye dátà tí olùránṣẹ́ fi ránṣẹ́.
Kí ni fèrèsé ìdènà? Kí ni èyí ní í ṣe pẹ̀lú fèrèsé ìfiránṣẹ́?
Ferese Ipari jẹ iyipada ipo ti oluranṣẹ n ṣetọju ti o pinnu iye data ti oluranṣẹ le fi ranṣẹ. Ferese ipari naa yipada ni agbara ni ibamu si ipele ipari ti nẹtiwọọki naa.
Fèrèsé Ìránṣẹ́ jẹ́ ìwọ̀n fèrèsé tí a gbà láyè láàárín olùránṣẹ́ àti olùgbà tí ó ń fi iye dátà tí olùgbà náà lè gbà hàn. Fèrèsé ìdènà àti fèrèsé ìránṣẹ́ ní ìbáṣepọ̀; fèrèsé ìránṣẹ́ sábà máa ń dọ́gba pẹ̀lú èyí tí ó kéré jùlọ ti ìdènà àti àwọn fèrèsé tí ń gbà, ìyẹn ni, swnd = min(cwnd, rwnd).
Awọn window congestion cwnd yipada bi atẹle:
Tí kò bá sí ìdènà nínú nẹ́tíwọ́ọ̀kì náà, ìyẹn ni pé, àkókò ìpadàsẹ́yìn kò ní wáyé, fèrèsé ìdènà náà yóò pọ̀ sí i.
Tí ìdènà bá wà nínú nẹ́tíwọ́ọ̀kì náà, fèrèsé ìdènà náà yóò dínkù.
Olùránṣẹ́ náà yóò pinnu bóyá nẹ́tíwọ́ọ̀kì náà ti díjú nípa ṣíṣàkíyèsí bóyá wọ́n gba àpò ìjẹ́wọ́ ACK láàrín àkókò pàtó kan. Tí olùránṣẹ́ náà kò bá gba àpò ìjẹ́wọ́ ACK láàrín àkókò pàtó kan, a ó gbà pé nẹ́tíwọ́ọ̀kì náà ti díjú.
Ní àfikún sí fèrèsé ìdènà, ó tó àkókò láti jíròrò àlùgúsí ìdènà ìdènà TCP. Àlùgúsí ìdènà ìdènà TCP ní àwọn apá pàtàkì mẹ́ta:
Ìbẹ̀rẹ̀ Díẹ̀díẹ̀:Ní ìbẹ̀rẹ̀, fèrèsé cwnd congestion kéré ní ìrísí, olùránṣẹ́ náà sì ń mú kí fèrèsé congestion náà pọ̀ sí i ní ìlọ́po púpọ̀ láti yára bá agbára nẹ́tíwọ́ọ̀kì náà mu.
Yẹra fún Ìfúnpọ̀:Lẹ́yìn tí fèrèsé ìdènà bá ti kọjá ààlà kan, olùránṣẹ́ náà máa ń mú kí fèrèsé ìdènà pọ̀ sí i ní ọ̀nà títọ́ láti dín ìwọ̀n ìdàgbàsókè fèrèsé ìdènà kù kí ó sì yẹra fún pípa nẹ́tíwọ́ọ̀kì pọ̀ jù.
Ìgbàpadà Kíákíá:Tí ìdènà bá ṣẹlẹ̀, olùránṣẹ́ náà yóò pín fèrèsé ìdènà náà sí méjì, yóò sì wọ inú ipò ìpadàbọ̀sípò kíákíá láti mọ ibi tí ìpadàbọ̀sípò nẹ́tíwọ́ọ̀kì náà wà nípasẹ̀ àwọn àpò ìdàpọ̀ tí a gbà, lẹ́yìn náà yóò tẹ̀síwájú láti mú kí fèrèsé ìdènà náà pọ̀ sí i.
Ìbẹ̀rẹ̀ Díẹ̀díẹ̀
Nígbà tí a bá ti fìdí ìsopọ̀ TCP múlẹ̀, a máa ń ṣètò cwnd window congestion sí iye MSS tó kéré jùlọ (ìwọ̀n ìpín tó pọ̀ jùlọ). Ní ọ̀nà yìí, ìwọ̀n ìfiránṣẹ́ àkọ́kọ́ jẹ́ nǹkan bí MSS/RTT baiti/àkọ́kọ́. Ìwọ̀n bandwidth tó wà nílẹ̀ sábà máa ń tóbi ju MSS/RTT lọ, nítorí náà TCP fẹ́ rí ìwọ̀n ìfiránṣẹ́ tó dára jùlọ, èyí tí a lè ṣe nípasẹ̀ ìbẹ̀rẹ̀ lọ́ra.
Nínú ìlànà ìbẹ̀rẹ̀ díẹ̀díẹ̀, a ó bẹ̀rẹ̀ iye cwnd window congestion window sí MSS 1, nígbàkúgbà tí a bá sì gba ìpín packet tí a gbé kalẹ̀, iye cwnd yóò pọ̀ sí i pẹ̀lú MSS kan, ìyẹn ni pé, iye cwnd yóò di MSS 2. Lẹ́yìn náà, a ó ṣe ìlọ́po méjì iye cwnd fún ìgbésẹ̀ àṣeyọrí kọ̀ọ̀kan ti ìpín packet kan, àti bẹ́ẹ̀ bẹ́ẹ̀ lọ. Ìlànà ìdàgbàsókè pàtó ni a fihàn nínú àwòrán tó tẹ̀lé yìí.
Sibẹsibẹ, oṣuwọn fifiranṣẹ ko le dagba nigbagbogbo; idagba naa gbọdọ pari ni akoko kan. Nitorinaa, nigbawo ni ilosoke oṣuwọn fifiranṣẹ yoo pari? Ibẹrẹ laiyara maa n pari ilosoke ninu oṣuwọn fifiranṣẹ ni ọna kan ninu ọpọlọpọ:
Ọ̀nà àkọ́kọ́ ni ọ̀ràn pípadánù packet nígbà tí a bá ń fi fóònù ránṣẹ́. Tí pípadánù packet bá ṣẹlẹ̀, TCP yóò ṣètò cwnd fóònù ìdènà olùránṣẹ́ sí 1, yóò sì tún bẹ̀rẹ̀ iṣẹ́ ṣíṣíwájú. Ní àkókò yìí, a óò gbé èrò ìpele ìbẹ̀rẹ̀ lọ́ra ssthresh kalẹ̀, èyí tí iye àkọ́kọ́ rẹ̀ jẹ́ ìdajì iye cwnd tí ó ń fa pípadánù packet. Ìyẹn ni pé, nígbà tí a bá rí ìdíwọ́, iye ssthresh jẹ́ ìdajì iye window.
Ọ̀nà kejì ni láti sopọ̀ mọ́ iye ìpele ìbẹ̀rẹ̀ díẹ̀díẹ̀ ssthresh. Nítorí pé iye ssthresh jẹ́ ìdajì iye window nígbà tí a bá rí ìdènà, pípadánù packet lè ṣẹlẹ̀ pẹ̀lú ìlọ́po méjì kọ̀ọ̀kan nígbà tí cwnd bá tóbi ju ssthresh lọ. Nítorí náà, ó dára láti ṣètò cwnd sí ssthresh, èyí tí yóò mú kí TCP yípadà sí ipò ìṣàkóso ìdènà àti ìparí ìbẹ̀rẹ̀ díẹ̀díẹ̀.
Ọ̀nà ìkẹyìn tí ìbẹ̀rẹ̀ díẹ̀díẹ̀ lè gbà parí ni tí a bá rí àwọn ack mẹ́ta tí a kò rí, TCP ṣe àtúnpadà kíákíá ó sì wọ inú ipò ìgbàpadà. (Tí kò bá ṣe kedere ìdí tí àwọn packet ACK mẹ́ta fi wà, a ó ṣàlàyé rẹ̀ lọ́tọ̀ọ̀tọ̀ nínú ẹ̀rọ ìtúnpadà.)
Yẹra fún Ìkúnwọ́
Nígbà tí TCP bá wọ inú ipò ìṣàkóso ìdènà ìdènà, a ṣètò cwnd sí ìdajì ìpele ìdènà ìdènà ssthresh. Èyí túmọ̀ sí wípé a kò le ṣe ìlọ́po méjì iye cwnd nígbàkúgbà tí a bá gba ìpín packet kan. Dípò bẹ́ẹ̀, a gba ọ̀nà ìtọ́jú díẹ̀ níbi tí a ti ń mú iye cwnd pọ̀ sí i nípa MSS kan ṣoṣo (gígùn ìpín packet tó pọ̀ jùlọ) lẹ́yìn tí a bá ti parí ìgbésẹ̀ kọ̀ọ̀kan. Fún àpẹẹrẹ, bí a tilẹ̀ jẹ́ pé a mọ àwọn ìpín packet mẹ́wàá, iye cwnd yóò pọ̀ sí i nípa MSS kan ṣoṣo. Èyí jẹ́ àpẹẹrẹ ìdàgbàsókè onílànà, ó sì tún ní ààlà òkè lórí ìdàgbàsókè. Nígbà tí àdánù packet bá ṣẹlẹ̀, a ó yí iye cwnd padà sí MSS, a ó sì ṣètò iye ssthresh sí ìdajì cwnd. Tàbí yóò tún dá ìdàgbàsókè MSS dúró nígbà tí a bá gba ìdáhùn ACK mẹ́ta tí kò ní ààlà. Tí a bá sì tún gba acks mẹ́ta tí kò ní ààlà lẹ́yìn tí a bá ti dín iye cwnd kù sí ìdajì, a ó kọ iye ssthresh sílẹ̀ gẹ́gẹ́ bí ìdajì iye cwnd àti pé a ó tẹ ipò ìpadàbọ̀ kíákíá náà.
Ìgbàpadà Kíákíá
Nínú ipò Ìgbàpadà Kíákíá, iye ìdènà cwnd window cwnd ni a fi MSS kan pọ̀ sí i fún ACK tí a gbà ní ìpele kọ̀ọ̀kan, ìyẹn ni ACK tí kò dé ní ìtẹ̀léra. Èyí ni láti lo àwọn ìpín packet tí a ti gbé jáde ní àṣeyọrí nínú nẹ́tíwọ́ọ̀kì láti mú kí iṣẹ́ ìgbésẹ̀ náà sunwọ̀n sí i bí ó ti ṣeé ṣe tó.
Tí ACK ti apa packet tí ó sọnù bá dé, TCP dín iye cwnd kù, lẹ́yìn náà ó wọ inú ipò ìdènà ìdènà ìdènà. Èyí ni láti ṣàkóso ìwọ̀n fèrèsé ìdènà àti láti yẹra fún pípọ̀ sí i nínú ìdènà nẹ́tíwọ́ọ̀kì.
Tí àkókò ìparẹ́ bá ṣẹlẹ̀ lẹ́yìn ipò ìṣàkóso ìdènà ìdènà, ipò nẹ́tíwọ́ọ̀kì náà yóò burú sí i, TCP yóò sì yípadà láti ipò ìdènà ìdènà sí ipò ìbẹ̀rẹ̀ lọ́ra. Nínú ọ̀ràn yìí, a ó ṣètò iye window ìdènà cwnd sí 1 MSS, gígùn ìpín packet tó pọ̀ jùlọ, a ó sì ṣètò iye ti ààlà ìbẹ̀rẹ̀ lọ́ra ssthresh sí ìdajì cwnd. Ète èyí ni láti tún mú iwọn window ìdènà náà pọ̀ sí i díẹ̀díẹ̀ lẹ́yìn tí nẹ́tíwọ́ọ̀kì náà bá padà bọ̀ sípò láti ṣe ìwọ̀n ìyípadà àti ìwọ̀n ìdènà nẹ́tíwọ́ọ̀kì náà.
Àkótán
Gẹ́gẹ́ bí ìlànà ìrìnnà tó ṣeé gbẹ́kẹ̀lé, TCP ń lo ìrìnnà tó ṣeé gbẹ́kẹ̀lé nípa nọ́mbà ìtẹ̀léra, ìjẹ́wọ́, ìṣàkóso àtúngbéjáde, ìṣàkóso ìsopọ̀ àti ìṣàkóso fèrèsé. Láàrín wọn, ètò ìṣàkóso ìṣàn ń ṣàkóso iye dátà tí olùránṣẹ́ fi ránṣẹ́ gẹ́gẹ́ bí agbára gbígbà tí olùgbà náà ní, èyí tó ń yẹra fún àwọn ìṣòro ìdíwọ́ nẹ́tíwọ́ọ̀kì àti ìbàjẹ́ iṣẹ́. Ọ̀nà ìṣàkóso ìdíwọ́ ń yẹra fún ìṣẹ̀lẹ̀ ìdíwọ́ nẹ́tíwọ́ọ̀kì nípa ṣíṣe àtúnṣe iye dátà tí olùránṣẹ́ fi ránṣẹ́. Àwọn èrò nípa fèrèsé ìdíwọ́ àti fèrèsé ìfiránṣẹ́ ní í ṣe pẹ̀lú ara wọn, àti iye dátà ní olùránṣẹ́ náà ni a ń ṣàkóso nípa ṣíṣe àtúnṣe iwọn fèrèsé ìdíwọ́ náà lọ́nà tó lágbára. Ìbẹ̀rẹ̀ díẹ̀díẹ̀, ìdènà ìdíwọ́ àti ìmúpadàbọ̀sípò kíákíá ni àwọn apá mẹ́ta pàtàkì ti ìlànà ìṣàkóso ìdíwọ́ TCP, èyí tí ó ń ṣàtúnṣe iwọn fèrèsé ìdíwọ́ nípasẹ̀ àwọn ọgbọ́n ọ̀tọ̀ọ̀tọ̀ láti bá agbára àti ìwọ̀n ìdíwọ́ nẹ́tíwọ́ọ̀kì mu.
Ní apá tó tẹ̀lé, a ó ṣe àyẹ̀wò ẹ̀rọ ìtún-padà TCP ní kíkún. Ẹ̀rọ ìtún-padà jẹ́ apá pàtàkì nínú TCP láti ṣe àṣeyọrí ìtún-padà tó ṣeé gbẹ́kẹ̀lé. Ó ń rí i dájú pé ìtún-padà dátà tó ṣeé gbẹ́kẹ̀lé nípa fífi àwọn dátà tó sọnù, tó ti bàjẹ́ tàbí tó ti pẹ́ sílẹ̀ ránṣẹ́. A ó ṣe àgbékalẹ̀ ìlànà àti ọgbọ́n ìṣiṣẹ́ ẹ̀rọ ìtún-padà náà, a ó sì ṣe àgbéyẹ̀wò rẹ̀ ní kíkún ní apá tó tẹ̀lé. Ẹ dúró síbí!
Àkókò ìfìwéránṣẹ́: Feb-24-2025

