Cludiant Dibynadwyedd TCP
Rydym i gyd yn gyfarwydd â phrotocol TCP fel protocol trafnidiaeth dibynadwy, ond sut mae'n sicrhau dibynadwyedd trafnidiaeth?
Er mwyn sicrhau trosglwyddiad dibynadwy, mae angen ystyried llawer o ffactorau, megis llygredd data, colli data, dyblygu data, a darnau data allan o drefn. Os na ellir datrys y problemau hyn, ni ellir sicrhau trosglwyddiad dibynadwy.
Felly, mae TCP yn defnyddio mecanweithiau fel rhif dilyniant, ateb cydnabyddiaeth, rheolaeth ail-anfon, rheoli cysylltiad, a rheolaeth ffenestri i sicrhau trosglwyddiad dibynadwy.
Yn y papur hwn, byddwn yn canolbwyntio ar y ffenestr symudol, rheoli llif a rheoli tagfeydd TCP. Mae'r mecanwaith ail-drosglwyddo wedi'i drafod ar wahân yn yr adran nesaf.
Rheoli Llif Rhwydwaith
Mae Rheoli Llif Rhwydwaith neu Rheoli Traffig Rhwydwaith mewn gwirionedd yn amlygiad o'r berthynas gynnil rhwng cynhyrchwyr a defnyddwyr. Mae'n debyg eich bod wedi dod ar draws y senario hwn lawer yn y gwaith neu mewn cyfweliadau. Os yw gallu'r cynhyrchydd i gynhyrchu yn llawer mwy na gallu'r defnyddiwr i ddefnyddio, bydd yn achosi i'r ciw dyfu am gyfnod amhenodol. Mewn achos mwy difrifol, efallai y byddwch chi'n gwybod pan fydd negeseuon RabbitMQ yn pentyrru gormod, gall achosi dirywiad perfformiad y gweinydd MQ cyfan. Mae'r un peth yn wir am TCP; os na chaiff ei wirio, bydd gormod o negeseuon yn cael eu rhoi yn y rhwydwaith, a bydd y defnyddwyr wedi rhagori ar eu gallu, tra bydd y cynhyrchwyr yn parhau i anfon negeseuon dyblyg, a fydd yn effeithio'n fawr ar berfformiad y rhwydwaith.
I fynd i'r afael â'r ffenomen hon, mae TCP yn darparu mecanwaith i'r anfonwr reoli faint o ddata a anfonir yn seiliedig ar gapasiti derbyn gwirioneddol y derbynnydd, a elwir yn rheoli llif. Mae'r derbynnydd yn cynnal ffenestr dderbyn, tra bod yr anfonwr yn cynnal ffenestr anfon. Dylid nodi mai dim ond ar gyfer un cysylltiad TCP y mae'r Ffenestri hyn ac nad yw pob cysylltiad yn rhannu ffenestr.
Mae TCP yn darparu rheolaeth llif trwy ddefnyddio newidyn ar gyfer ffenestr dderbyn. Mae'r ffenestr dderbyn yn rhoi syniad i'r anfonwr o faint o le storfa sydd ar gael o hyd. Mae'r anfonwr yn rheoli faint o ddata a anfonir yn ôl gallu derbyn gwirioneddol y derbynnydd.
Mae'r derbynnydd yn hysbysu'r anfonwr o faint y data y gall ei dderbyn, ac mae'r anfonwr yn anfon hyd at y terfyn hwn. Y terfyn hwn yw maint y ffenestr, cofiwch y pennawd TCP? Mae maes ffenestr derbyn, a ddefnyddir i nodi nifer y beitiau y mae'r derbynnydd yn gallu neu'n fodlon eu derbyn.
Bydd y gwesteiwr anfonwr yn anfon pecyn chwiliedydd ffenestr o bryd i'w gilydd, a ddefnyddir i ganfod a yw'r gwesteiwr derbynnydd yn dal i allu derbyn data. Pan fydd byffer y derbynnydd mewn perygl o orlifo, mae maint y ffenestr wedi'i osod i werth llai i gyfarwyddo'r anfonwr i reoli faint o ddata a anfonir.
Dyma ddiagram Rheoli Llif Rhwydwaith:
Rheoli Tagfeydd Rhwydwaith
Cyn cyflwyno rheoli tagfeydd, mae angen i ni ddeall, yn ogystal â'r ffenestr dderbyn a'r ffenestr anfon, fod ffenestr tagfeydd hefyd, a ddefnyddir yn bennaf i ddatrys y broblem o ba gyfradd y mae'r anfonwr yn dechrau anfon data i'r ffenestr dderbyn. Felly, mae'r ffenestr tagfeydd hefyd yn cael ei chynnal gan yr anfonwr TCP. Mae angen algorithm arnom i benderfynu faint o ddata sy'n briodol i'w anfon, gan nad yw anfon rhy ychydig neu ormod o ddata yn ddelfrydol, a dyna pam y daeth y cysyniad o ffenestr tagfeydd.
Yn y rheolaeth llif rhwydwaith flaenorol, yr hyn a osgoiom oedd yr anfonwr yn llenwi storfa'r derbynnydd â data, ond nid oeddem yn gwybod beth oedd yn digwydd yn y rhwydwaith. Fel arfer, mae rhwydweithiau cyfrifiadurol mewn amgylchedd a rennir. O ganlyniad, gall fod tagfeydd rhwydwaith oherwydd cyfathrebu rhwng gwesteiwyr eraill.
Pan fydd y rhwydwaith dan dagfeydd, os yw nifer fawr o becynnau'n parhau i gael eu hanfon, gall achosi problemau fel oedi a cholli pecynnau. Ar y pwynt hwn, bydd TCP yn ail-drosglwyddo'r data, ond bydd yr ail-drosglwyddiad yn cynyddu'r baich ar y rhwydwaith, gan arwain at oedi mwy a mwy o golledion pecynnau. Gall hyn fynd i gylch dieflig a pharhau i fynd yn fwy.
Felly, ni all TCP anwybyddu'r hyn sy'n digwydd ar y rhwydwaith. Pan fydd y rhwydwaith yn llawn tagfeydd, mae TCP yn aberthu ei hun trwy leihau faint o ddata y mae'n ei anfon.
Felly, cynigir rheoli tagfeydd, sy'n anelu at osgoi llenwi'r rhwydwaith cyfan â data gan yr anfonwr. Er mwyn rheoleiddio faint o ddata y dylai'r anfonwr ei anfon, mae TCP yn diffinio cysyniad o'r enw'r ffenestr tagfeydd. Bydd yr algorithm rheoli tagfeydd yn addasu maint y ffenestr tagfeydd yn ôl graddfa tagfeydd y rhwydwaith, er mwyn rheoli faint o ddata a anfonir gan yr anfonwr.
Beth yw ffenestr tagfeydd? Beth sydd gan hyn i'w wneud â'r ffenestr anfon?
Mae'r Ffenestr Tagfeydd yn newidyn cyflwr a gynhelir gan yr anfonwr sy'n pennu faint o ddata y gall yr anfonwr ei anfon. Mae'r ffenestr tagfeydd yn newid yn ddeinamig yn ôl lefel tagfeydd y rhwydwaith.
Mae'r Ffenestr Anfon yn faint ffenestr y cytunwyd arno rhwng yr anfonwr a'r derbynnydd sy'n nodi faint o ddata y gall y derbynnydd ei dderbyn. Mae'r ffenestr tagfeydd a'r ffenestr anfon yn gysylltiedig; mae'r ffenestr anfon fel arfer yn hafal i isafswm y Ffenestri tagfeydd a derbyn, hynny yw, swnd = min(cwnd, rwnd).
Mae'r ffenestr tagfeydd cwnd yn newid fel a ganlyn:
Os nad oes tagfeydd yn y rhwydwaith, h.y., os nad oes terfyn amser ail-drosglwyddo, mae'r ffenestr tagfeydd yn cynyddu.
Os oes tagfeydd yn y rhwydwaith, mae'r ffenestr tagfeydd yn lleihau.
Mae'r anfonwr yn pennu a yw'r rhwydwaith wedi'i orlenwi drwy arsylwi a yw'r pecyn cydnabod ACK wedi'i dderbyn o fewn yr amser penodedig. Os nad yw'r anfonwr yn derbyn y pecyn cydnabod ACK o fewn yr amser penodedig, ystyrir bod y rhwydwaith wedi'i orlenwi.
Yn ogystal â'r ffenestr tagfeydd, mae'n bryd trafod algorithm rheoli tagfeydd TCP. Mae algorithm rheoli tagfeydd TCP yn cynnwys tair prif ran:
Dechrau Araf:I ddechrau, mae ffenestr tagfeydd cwnd yn gymharol fach, ac mae'r anfonwr yn cynyddu'r ffenestr tagfeydd yn esbonyddol i addasu'n gyflym i gapasiti'r rhwydwaith.
Osgoi Tagfeydd:Ar ôl i'r ffenestr tagfeydd fynd y tu hwnt i drothwy penodol, mae'r anfonwr yn cynyddu'r ffenestr tagfeydd mewn modd llinol i arafu cyfradd twf y ffenestr tagfeydd ac osgoi gorlwytho'r rhwydwaith.
Adferiad Cyflym:Os bydd tagfeydd yn digwydd, mae'r anfonwr yn haneru'r ffenestr tagfeydd ac yn mynd i mewn i'r cyflwr adferiad cyflym i bennu lleoliad adferiad y rhwydwaith trwy'r negeseuon dyblyg a dderbyniwyd, ac yna'n parhau i gynyddu'r ffenestr tagfeydd.
Dechrau Araf
Pan sefydlir cysylltiad TCP, mae'r ffenestr tagfeydd cwnd wedi'i gosod i ddechrau i werth MSS (maint segment mwyaf) lleiaf. Fel hyn, mae'r gyfradd anfon gychwynnol tua beitiau MSS/RTT/eiliad. Mae'r lled band gwirioneddol sydd ar gael fel arfer yn llawer mwy na MSS/RTT, felly mae TCP eisiau dod o hyd i'r gyfradd anfon orau, y gellir ei chyflawni trwy gychwyn araf.
Yn y broses cychwyn araf, bydd gwerth y ffenestr tagfeydd cwnd yn cael ei gychwyn i 1 MSS, a phob tro y cydnabyddir y segment pecyn a drosglwyddwyd, bydd gwerth cwnd yn cael ei gynyddu un MSS, hynny yw, bydd gwerth cwnd yn dod yn 2 MSS. Ar ôl hynny, mae gwerth cwnd yn cael ei ddyblu ar gyfer pob trosglwyddiad llwyddiannus o segment pecyn, ac yn y blaen. Dangosir y broses dwf benodol yn y ffigur canlynol.
Fodd bynnag, ni all y gyfradd anfon dyfu bob amser; mae'n rhaid i'r twf ddod i ben rywbryd. Felly, pryd mae'r cynnydd yn y gyfradd anfon yn dod i ben? Mae dechrau araf fel arfer yn dod â'r cynnydd yn y gyfradd anfon i ben mewn un o sawl ffordd:
Y ffordd gyntaf yw achos colli pecyn yn ystod y broses anfon cychwyn araf. Pan fydd colli pecyn yn digwydd, mae TCP yn gosod ffenestr tagfeydd yr anfonwr cwnd i 1 ac yn ailgychwyn y broses cychwyn araf. Ar y pwynt hwn, cyflwynir cysyniad o drothwy cychwyn araf ssthresh, y mae ei werth cychwynnol yn hanner gwerth cwnd sy'n cynhyrchu colli pecyn. Hynny yw, pan ganfyddir tagfeydd, mae gwerth ssthresh yn hanner gwerth y ffenestr.
Yr ail ffordd yw cydberthyn yn uniongyrchol â gwerth y trothwy cychwyn araf ssthresh. Gan fod gwerth ssthresh yn hanner gwerth y ffenestr pan ganfyddir tagfeydd, gall colli pecynnau ddigwydd gyda phob dyblu pan fydd cwnd yn fwy na ssthresh. Felly, mae'n well gosod cwnd i ssthresh, a fydd yn achosi i TCP newid i fodd rheoli tagfeydd a dod â chychwyn araf i ben.
Y ffordd olaf y gall cychwyn araf ddod i ben yw os canfyddir tri phecyn ACK diangen, mae TCP yn perfformio ail-drosglwyddiad cyflym ac yn mynd i mewn i'r cyflwr adfer. (Os nad yw'n glir pam fod tri phecyn ACK, bydd yn cael ei egluro ar wahân yn y mecanwaith ail-drosglwyddo.)
Osgoi Tagfeydd
Pan fydd TCP yn mynd i mewn i'r cyflwr rheoli tagfeydd, mae cwnd wedi'i osod i hanner y trothwy tagfeydd ssthresh. Mae hyn yn golygu na ellir dyblu gwerth cwnd bob tro y derbynnir segment pecyn. Yn lle hynny, mabwysiadir dull cymharol geidwadol lle mae gwerth cwnd yn cael ei gynyddu gan un MSS (hyd segment pecyn uchaf) yn unig ar ôl i bob trosglwyddiad gael ei gwblhau. Er enghraifft, hyd yn oed os cydnabyddir 10 segment pecyn, dim ond un MSS y bydd gwerth cwnd yn cynyddu. Mae hwn yn fodel twf llinol ac mae ganddo hefyd derfyn uchaf ar dwf. Pan fydd colli pecyn yn digwydd, mae gwerth cwnd yn cael ei newid i MSS, a mae gwerth ssthresh wedi'i osod i hanner cwnd. Neu bydd hefyd yn atal twf MSS pan dderbynnir 3 ymateb ACK diangen. Os derbynnir tri ACK diangen o hyd ar ôl haneru gwerth cwnd, cofnodir gwerth ssthresh fel hanner gwerth cwnd ac mae'r cyflwr adferiad cyflym yn mynd i mewn.
Adferiad Cyflym
Yn y cyflwr Adferiad Cyflym, cynyddir gwerth y ffenestr tagfeydd cwnd un MSS ar gyfer pob ACK diangen a dderbynnir, hynny yw, ACK nad yw'n cyrraedd yn olynol. Mae hyn er mwyn defnyddio'r segmentau pecyn sydd wedi'u trosglwyddo'n llwyddiannus yn y rhwydwaith i wella effeithlonrwydd trosglwyddo cymaint â phosibl.
Pan fydd ACK o'r segment pecyn coll yn cyrraedd, mae TCP yn lleihau gwerth cwnd ac yna'n mynd i mewn i'r cyflwr osgoi tagfeydd. Mae hyn er mwyn rheoli maint y ffenestr tagfeydd ac osgoi cynyddu tagfeydd y rhwydwaith ymhellach.
Os bydd terfyn amser yn digwydd ar ôl y cyflwr rheoli tagfeydd, mae cyflwr y rhwydwaith yn mynd yn fwy difrifol ac mae TCP yn mudo o'r cyflwr osgoi tagfeydd i'r cyflwr cychwyn araf. Yn yr achos hwn, mae gwerth y ffenestr tagfeydd cwnd wedi'i osodi i 1 MSS, sef hyd segment mwyaf y pecyn, ac mae gwerth y trothwy cychwyn araf ssthresh wedi'i osodi i hanner cwnd. Pwrpas hyn yw cynyddu maint y ffenestr tagfeydd yn raddol ar ôl i'r rhwydwaith wella i gydbwyso'r gyfradd drosglwyddo a graddfa tagfeydd y rhwydwaith.
Crynodeb
Fel protocol trafnidiaeth ddibynadwy, mae TCP yn gweithredu trafnidiaeth ddibynadwy trwy rif dilyniant, cydnabyddiaeth, rheolaeth ail-drosglwyddo, rheoli cysylltiad a rheolaeth ffenestri. Yn eu plith, mae'r mecanwaith rheoli llif yn rheoli faint o ddata a anfonir gan yr anfonwr yn ôl capasiti derbyn gwirioneddol y derbynnydd, sy'n osgoi problemau tagfeydd rhwydwaith a dirywiad perfformiad. Mae'r mecanwaith rheoli tagfeydd yn osgoi digwydd tagfeydd rhwydwaith trwy addasu faint o ddata a anfonir gan yr anfonwr. Mae cysyniadau ffenestr tagfeydd a ffenestr anfon yn gysylltiedig â'i gilydd, a rheolir faint o ddata yn yr anfonwr trwy addasu maint y ffenestr tagfeydd yn ddeinamig. Dechrau araf, osgoi tagfeydd ac adferiad cyflym yw tair prif ran algorithm rheoli tagfeydd TCP, sy'n addasu maint y ffenestr tagfeydd trwy wahanol strategaethau i addasu i gapasiti a graddfa tagfeydd y rhwydwaith.
Yn yr adran nesaf, byddwn yn archwilio mecanwaith ail-drosglwyddo TCP yn fanwl. Mae mecanwaith ail-drosglwyddo yn rhan bwysig o TCP i sicrhau trosglwyddiad dibynadwy. Mae'n sicrhau trosglwyddiad dibynadwy data trwy ail-drosglwyddo data coll, llygredig neu oedi. Cyflwynir a dadansoddir egwyddor a strategaeth gweithredu'r mecanwaith ail-drosglwyddo yn fanwl yn yr adran nesaf. Daliwch ati i wylio!
Amser postio: Chwefror-24-2025