Dirgelion Allweddol Cysylltiadau TCP Brocer Pecynnau Rhwydwaith: Datgymalu'r angen am Driphlyg Ysgwyd Llaw

Gosod Cysylltiad TCP
Pan fyddwn yn pori'r we, yn anfon e-bost, neu'n chwarae gêm ar-lein, yn aml nid ydym yn meddwl am y cysylltiad rhwydwaith cymhleth y tu ôl iddo. Fodd bynnag, y camau bach hyn sy'n sicrhau cyfathrebu sefydlog rhyngom ni a'r gweinydd. Un o'r camau pwysicaf yw sefydlu'r cysylltiad TCP, a chraidd hyn yw'r ysgwyd llaw tair ffordd.

Bydd yr erthygl hon yn trafod egwyddor, proses a phwysigrwydd ysgwyd llaw tair ffordd yn fanwl. Gam wrth gam, byddwn yn egluro pam mae angen ysgwyd llaw tair ffordd, sut mae'n sicrhau sefydlogrwydd a dibynadwyedd cysylltiad, a pha mor bwysig ydyw ar gyfer trosglwyddo data. Gyda dealltwriaeth ddyfnach o'r ysgwyd llaw tair ffordd, byddwn yn cael gwell dealltwriaeth o fecanweithiau sylfaenol cyfathrebu rhwydwaith a golwg gliriach ar ddibynadwyedd cysylltiadau TCP.

Proses Ysgwyd Llaw Tair Ffordd TCP a Throsglwyddiadau Cyflwr
Protocol cludo sy'n canolbwyntio ar gysylltiadau yw TCP, sy'n gofyn am sefydlu cysylltiad cyn trosglwyddo data. Gwneir y broses sefydlu cysylltiad hon trwy ysgwyd llaw tair ffordd.

 Ysgwyd llaw tair ffordd TCP

Gadewch i ni edrych yn agosach ar y pecynnau TCP sy'n cael eu hanfon ym mhob cysylltiad.

I ddechrau, mae'r cleient a'r gweinydd AR GAU. Yn gyntaf, mae'r gweinydd yn gwrando'n weithredol ar borthladd ac mae yn y cyflwr GWRANDO, sy'n golygu bod rhaid cychwyn y gweinydd. Nesaf, mae'r cleient yn barod i ddechrau cyrchu'r dudalen we. Mae angen iddo sefydlu cysylltiad â'r gweinydd. Dyma fformat y pecyn cysylltiad cyntaf:

 Pecyn SYN

Pan fydd cleient yn cychwyn cysylltiad, mae'n cynhyrchu rhif dilyniant cychwynnol ar hap (client_isn) ac yn ei osod yn y maes "Rhif dilyniant" o'r pennawd TCP. Ar yr un pryd, mae'r cleient yn gosod safle'r faner SYN i 1 i nodi bod y pecyn sy'n mynd allan yn becyn SYN. ​​Mae'r cleient yn nodi ei fod yn dymuno sefydlu cysylltiad â'r gweinydd trwy anfon y pecyn SYN cyntaf i'r gweinydd. Nid yw'r pecyn hwn yn cynnwys data haen y cymhwysiad (hynny yw, data a anfonwyd). Ar y pwynt hwn, mae statws y cleient wedi'i farcio fel SYN-SENT.

Pecyn SYN+ACK

Pan fydd gweinydd yn derbyn pecyn SYN gan gleient, mae'n cychwyn ei rif cyfresol ei hun (server_isn) ar hap ac yna'n rhoi'r rhif hwnnw yn y maes "Rhif cyfresol" o'r pennawd TCP. Nesaf, mae'r gweinydd yn nodi client_isn + 1 yn y maes "Rhif cydnabod" ac yn gosod y bitiau SYN ac ACK i 1. Yn olaf, mae'r gweinydd yn anfon y pecyn at y cleient, nad yw'n cynnwys unrhyw ddata haen y cymhwysiad (a dim data i'r gweinydd ei anfon). Ar yr adeg hon, mae'r gweinydd mewn cyflwr SYN-RCVD.

Pecyn ACK

Unwaith y bydd y cleient yn derbyn y pecyn gan y gweinydd, mae angen iddo gyflawni'r optimeiddiadau canlynol i ymateb i'r pecyn ateb terfynol: Yn gyntaf, mae'r cleient yn gosod y bit ACK o bennawd TCP y pecyn ateb i 1; Yn ail, mae'r cleient yn nodi'r gwerth server_isn + 1 yn y maes "Cadarnhau rhif ateb"; Yn olaf, mae'r cleient yn anfon y pecyn i'r gweinydd. Gall y pecyn hwn gario data o'r cleient i'r gweinydd. Ar ôl cwblhau'r gweithrediadau hyn, bydd y cleient yn mynd i mewn i'r cyflwr ESTABLISHED.

Unwaith y bydd y gweinydd yn derbyn y pecyn ateb gan y cleient, mae hefyd yn newid i'r cyflwr ESTABLISHED.

Fel y gallwch weld o'r broses uchod, wrth berfformio ysgwyd llaw tair ffordd, caniateir i'r drydedd ysgwyd llaw gario data, ond nid yw'r ddau ysgwyd llaw cyntaf. Mae hwn yn gwestiwn a ofynnir yn aml mewn cyfweliadau. Unwaith y bydd yr ysgwyd llaw tair ffordd wedi'i gwblhau, mae'r ddwy ochr yn mynd i mewn i'r cyflwr SEFYDLWYD, gan nodi bod y cysylltiad wedi'i sefydlu'n llwyddiannus, ac ar yr adeg honno gall y cleient a'r gweinydd ddechrau anfon data at ei gilydd.

Pam ysgwyd llaw dair gwaith? Nid ddwywaith, ond pedair gwaith?
Yr ateb cyffredin yw, "Oherwydd bod y teiar-ysgwyd llaw yn gwarantu'r gallu i dderbyn ac anfon." Mae'r ateb hwn yn gywir, ond dim ond y rheswm arwynebol ydyw, nid yw'n cyflwyno'r prif reswm. Yn y canlynol, byddaf yn dadansoddi'r rhesymau dros y teiar-ysgwyd llaw o dair agwedd i ddyfnhau ein dealltwriaeth o'r mater hwn.

Gall y cyfnewid llaw tair ffordd osgoi cychwyn cysylltiadau sy'n cael eu hailadrodd yn hanesyddol yn effeithiol (y prif reswm)
Mae'r ysgwyd llaw tair ffordd yn gwarantu bod y ddwy ochr wedi derbyn rhif dilyniant cychwynnol dibynadwy.
Mae'r ysgwyd llaw tair ffordd yn osgoi gwastraffu adnoddau.

Rheswm 1: Osgowch Ymuniadau Dyblyg Hanesyddol
Yn gryno, y prif reswm dros y teclyn ysgwyd llaw tair ffordd yw osgoi dryswch a achosir gan gychwyniad y cysylltiad dyblyg hen. Mewn amgylchedd rhwydwaith cymhleth, nid yw trosglwyddiad pecynnau data bob amser yn cael ei anfon i'r gwesteiwr cyrchfan yn unol â'r amser penodedig, a gall pecynnau data hen gyrraedd y gwesteiwr cyrchfan yn gyntaf oherwydd tagfeydd rhwydwaith a rhesymau eraill. Er mwyn osgoi hyn, mae TCP yn defnyddio teclyn ysgwyd llaw tair ffordd i sefydlu'r cysylltiad.

mae ysgwyd llaw tair ffordd yn osgoi cysylltiadau dyblyg hanesyddol

Pan fydd cleient yn anfon nifer o becynnau sefydlu cysylltiad SYN yn olynol, mewn sefyllfaoedd fel tagfeydd rhwydwaith, gall y canlynol ddigwydd:

1- Mae'r hen becynnau SYN yn cyrraedd y gweinydd cyn y pecynnau SYN diweddaraf.
2- Bydd y gweinydd yn ateb pecyn SYN + ACK i'r cleient ar ôl derbyn yr hen becyn SYN.
3- Pan fydd y cleient yn derbyn y pecyn SYN + ACK, mae'n penderfynu bod y cysylltiad yn gysylltiad hanesyddol (rhif dilyniant wedi dod i ben neu amser terfyn) yn ôl ei gyd-destun ei hun, ac yna'n anfon y pecyn RST at y gweinydd i atal y cysylltiad.

Gyda chysylltiad dwy-law, nid oes ffordd o benderfynu a yw'r cysylltiad cyfredol yn gysylltiad hanesyddol. Mae'r ysgwyd llaw tair ffordd yn caniatáu i'r cleient benderfynu a yw'r cysylltiad cyfredol yn gysylltiad hanesyddol yn seiliedig ar y cyd-destun pan fydd yn barod i anfon y trydydd pecyn:

1- Os yw'n gysylltiad hanesyddol (rhif dilyniant wedi dod i ben neu amser terfyn), mae'r pecyn a anfonir gan y trydydd ysgwyd llaw yn becyn RST i erthylu'r cysylltiad hanesyddol.
2- Os nad yw'n gysylltiad hanesyddol, mae'r pecyn a anfonir am y drydedd tro yn becyn ACK, ac mae'r ddau barti sy'n cyfathrebu wedi llwyddo i sefydlu'r cysylltiad.

Felly, y prif reswm pam mae TCP yn defnyddio'r ysgwyd llaw tair ffordd yw ei fod yn cychwyn y cysylltiad i atal cysylltiadau hanesyddol.

Rheswm 2: I gydamseru rhifau dilyniant cychwynnol y ddau barti
Rhaid i ddwy ochr y protocol TCP gynnal rhif dilyniant, sy'n ffactor allweddol i sicrhau trosglwyddiad dibynadwy. Mae rhifau dilyniant yn chwarae rhan bwysig mewn cysylltiadau TCP. Maent yn gwneud y canlynol:

Gall y derbynnydd ddileu data dyblyg a sicrhau cywirdeb y data.

Gall y derbynnydd dderbyn pecynnau yn nhrefn y rhif dilyniant i sicrhau cywirdeb y data.

● Gall y rhif dilyniant adnabod y pecyn data sydd wedi'i dderbyn gan y parti arall, gan alluogi trosglwyddiad data dibynadwy.

Felly, ar ôl sefydlu cysylltiad TCP, mae'r cleient yn anfon pecynnau SYN gyda'r rhif dilyniant cychwynnol ac yn gofyn i'r gweinydd ateb gyda phecyn ACK sy'n nodi bod pecyn SYN y cleient wedi'i dderbyn yn llwyddiannus. Yna, mae'r gweinydd yn anfon y pecyn SYN gyda'r rhif dilyniant cychwynnol at y cleient ac yn aros i'r cleient ateb, unwaith ac am byth, i sicrhau bod y rhifau dilyniant cychwynnol wedi'u cydamseru'n ddibynadwy.

Cydamseru rhifau cyfresol cychwynnol y ddau barti

Er bod ysgwyd llaw pedair ffordd hefyd yn bosibl i gydamseru rhifau dilyniant cychwynnol y ddau barti yn ddibynadwy, gellir cyfuno'r ail a'r trydydd cam yn un cam, gan arwain at ysgwyd llaw tair ffordd. Fodd bynnag, dim ond gwarantu y bydd rhif dilyniant cychwynnol un parti yn cael ei dderbyn yn llwyddiannus gan y parti arall y gall y ddau ysgwyd llaw eu gwneud, ond nid oes unrhyw warant y gellir cadarnhau rhif dilyniant cychwynnol y ddau barti. Felly, yr ysgwyd llaw tair ffordd yw'r dewis gorau i'w gymryd er mwyn sicrhau sefydlogrwydd a dibynadwyedd cysylltiadau TCP.

Rheswm 3: Osgowch Wastraffu Adnoddau
Os mai dim ond "ysgwyd llaw dau" sydd, pan fydd cais SYN y cleient wedi'i rwystro yn y rhwydwaith, ni all y cleient dderbyn y pecyn ACK a anfonwyd gan y gweinydd, felly bydd y SYN yn cael ei ail-anfon. Fodd bynnag, gan nad oes trydydd ysgwyd llaw, ni all y gweinydd benderfynu a yw'r cleient wedi derbyn cydnabyddiaeth ACK i sefydlu'r cysylltiad. Felly, dim ond ar ôl derbyn pob cais SYN y gall y gweinydd sefydlu cysylltiad yn rhagweithiol. Mae hyn yn arwain at y canlynol:

Gwastraff adnoddau: Os caiff cais SYN y cleient ei rwystro, gan arwain at drosglwyddo nifer o becynnau SYN dro ar ôl tro, bydd y gweinydd yn sefydlu nifer o gysylltiadau annilys diangen ar ôl derbyn y cais. Mae hyn yn arwain at wastraff diangen o adnoddau'r gweinydd.

Cadw negeseuon: Oherwydd diffyg trydydd ysgwyd llaw, nid oes gan y gweinydd unrhyw ffordd o wybod a yw'r cleient wedi derbyn y gydnabyddiaeth ACK yn gywir i sefydlu'r cysylltiad. O ganlyniad, os bydd negeseuon yn mynd yn sownd yn y rhwydwaith, bydd y cleient yn parhau i anfon ceisiadau SYN dro ar ôl tro, gan achosi i'r gweinydd sefydlu cysylltiadau newydd yn gyson. Bydd hyn yn cynyddu tagfeydd ac oedi rhwydwaith ac yn effeithio'n negyddol ar berfformiad cyffredinol y rhwydwaith.

Osgowch wastraffu adnoddau

Felly, er mwyn sicrhau sefydlogrwydd a dibynadwyedd y cysylltiad rhwydwaith, mae TCP yn defnyddio'r ysgwyd llaw tair ffordd i sefydlu'r cysylltiad er mwyn osgoi'r problemau hyn rhag digwydd.

Crynodeb
YBrocer Pecynnau RhwydwaithGwneir sefydlu cysylltiad TCP gyda ysgwyd llaw tair ffordd. Yn ystod yr ysgwyd llaw tair ffordd, mae'r cleient yn anfon pecyn gyda'r faner SYN i'r gweinydd yn gyntaf, gan nodi ei fod am sefydlu cysylltiad. Ar ôl derbyn y cais gan y cleient, mae'r gweinydd yn ateb pecyn gyda baneri SYN ac ACK i'r cleient, gan nodi bod y cais am gysylltiad wedi'i dderbyn, ac yn anfon ei rif dilyniant cychwynnol ei hun. Yn olaf, mae'r cleient yn ateb gyda baner ACK i'r gweinydd i nodi bod y cysylltiad wedi'i sefydlu'n llwyddiannus. Felly, mae'r ddau barti yn y cyflwr SEFYDLWYD a gallant ddechrau anfon data at ei gilydd.

Yn gyffredinol, mae'r broses ysgwyd llaw tair ffordd ar gyfer sefydlu cysylltiad TCP wedi'i chynllunio i sicrhau sefydlogrwydd a dibynadwyedd cysylltiad, osgoi dryswch a gwastraff adnoddau dros gysylltiadau hanesyddol, a sicrhau bod y ddau barti yn gallu derbyn ac anfon data.


Amser postio: Ion-08-2025