Setup 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 iddi. Fodd bynnag, y camau ymddangosiadol bach hyn sy'n sicrhau cyfathrebu sefydlog rhyngom ni a'r gweinydd. Un o'r camau pwysicaf yw'r setup cysylltiad TCP, a chraidd hyn yw'r ysgwyd llaw tair ffordd.
Bydd yr erthygl hon yn trafod egwyddor, proses a phwysigrwydd yr ysgwyd llaw tair ffordd yn fanwl. Cam wrth gam, byddwn yn egluro pam mae angen yr ysgwyd llaw tair ffordd, sut mae'n sicrhau sefydlogrwydd a dibynadwyedd cysylltiad, a pha mor bwysig yw hi 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 o ddibynadwyedd cysylltiadau TCP.
Proses ysgwyd llaw tair ffordd TCP a thrawsnewidiadau gwladwriaethol
Mae TCP yn brotocol trafnidiaeth sy'n canolbwyntio ar gysylltiad, sy'n gofyn am sefydlu cysylltiad cyn trosglwyddo data. Gwneir y broses sefydlu cysylltiad hon gan ysgwyd llaw tair ffordd.
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 yn rhaid cychwyn y gweinydd. Nesaf, mae'r cleient yn barod i ddechrau cyrchu'r dudalen we. Mae angen iddo sefydlu cysylltiad â'r gweinydd. Mae fformat y pecyn cysylltiad cyntaf fel a ganlyn:
Pan fydd cleient yn cychwyn cysylltiad, mae'n cynhyrchu rhif dilyniant cychwynnol ar hap (client_isn) ac yn ei osod ym maes "rhif dilyniant" pennawd y TCP. Ar yr un pryd, mae'r cleient yn gosod safle baner 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 gymhwyso (hynny yw, anfonwyd data). Ar y pwynt hwn, mae statws y cleient wedi'i nodi fel syn-sent.
Pan fydd gweinydd yn derbyn pecyn SYN gan gleient, mae'n cychwyn ar hap ei rif cyfresol ei hun (Server_ISN) ac yna'n rhoi'r rhif hwnnw ym maes "rhif cyfresol" pennawd y TCP. Nesaf, mae'r gweinydd yn mynd i mewn i Client_ISN + 1 yn y maes "Rhif Cydnabod" ac yn gosod darnau SYN ac ACK i 1. Yn olaf, mae'r gweinydd yn anfon y pecyn i'r cleient, nad yw'n cynnwys unrhyw ddata haen-cais (a dim data i'r gweinydd ei anfon). Ar yr adeg hon, mae'r gweinydd yn Nhalaith SYN-RCVD.
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 darn ACK pennawd TCP y pecyn ateb i 1; Yn ail, mae'r cleient yn mynd i mewn i'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 dod i mewn i'r wladwriaeth sefydledig.
Unwaith y bydd y gweinydd yn derbyn y pecyn ateb gan y cleient, mae hefyd yn newid i'r wladwriaeth sefydledig.
Fel y gallwch weld o'r broses uchod, wrth berfformio ysgwyd llaw tair ffordd, caniateir i'r trydydd 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 wladwriaeth sefydledig, 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 tri ysgwyd llaw? Ddim ddwywaith, bedair gwaith?
Yr ateb cyffredin yw, "Oherwydd bod yr ysgwyd llaw tair ffordd yn gwarantu'r gallu i dderbyn ac anfon." Mae'r ateb hwn yn gywir, ond dim ond y rheswm arwyneb ydyw, nid yw'n cyflwyno'r prif reswm. Yn y canlynol, byddaf yn dadansoddi'r rhesymau dros yr ysgwyd llaw driphlyg o dair agwedd i ddyfnhau ein dealltwriaeth o'r mater hwn.
Gall yr ysgwyd llaw tair ffordd osgoi cychwyn cysylltiadau a ailadroddir yn hanesyddol (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: Osgoi uniadau dyblyg hanesyddol
Yn gryno, y prif reswm dros yr ysgwyd llaw tair ffordd yw osgoi dryswch a achosir gan yr hen gychwyn cysylltiad dyblyg. Mewn amgylchedd rhwydwaith cymhleth, nid yw trosglwyddo pecynnau data bob amser yn cael ei anfon i'r gwesteiwr cyrchfan yn unol â'r amser penodedig, a gall hen becynnau data gyrraedd y gwesteiwr cyrchfan yn gyntaf oherwydd tagfeydd rhwydwaith a rhesymau eraill. Er mwyn osgoi hyn, mae TCP yn defnyddio ysgwyd llaw tair ffordd i sefydlu'r cysylltiad.
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 (mae rhif dilyniant wedi dod i ben neu amseriad) yn ôl ei gyd-destun ei hun, ac yna'n anfon y pecyn cyntaf i'r gweinydd i erthylu'r cysylltiad.
Gyda chysylltiad dwy law, nid oes unrhyw ffordd i 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 sy'n 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 amseriad), mae'r pecyn a anfonwyd gan y trydydd ysgwyd llaw yn becyn cyntaf i erthylu'r cysylltiad hanesyddol.
2- Os nad yw'n gysylltiad hanesyddol, mae'r pecyn a anfonwyd am y trydydd tro yn becyn ACK, ac mae'r ddwy blaid gyfathrebu yn sefydlu'r cysylltiad yn llwyddiannus.
Felly, y prif reswm bod TCP yn defnyddio'r ysgwyd llaw tair ffordd yw ei fod yn cychwyn y cysylltiad i atal cysylltiadau hanesyddol.
Rheswm 2: Cydamseru rhifau dilyniant cychwynnol y ddwy ochr
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 nodi'r pecyn data a dderbyniwyd gan y parti arall, gan alluogi trosglwyddo data dibynadwy.
Felly, ar ôl sefydlu cysylltiad TCP, mae'r cleient yn anfon pecynnau SYN gyda'r rhif dilyniant cychwynnol ac mae'n ei gwneud yn ofynnol i'r gweinydd ateb gyda phecyn ACK sy'n nodi derbyniad llwyddiannus o becyn SYN y cleient. Yna, mae'r gweinydd yn anfon y pecyn SYN gyda'r rhif dilyniant cychwynnol i'r cleient ac yn aros i'r cleient ateb, unwaith ac am byth, er mwyn sicrhau bod y niferoedd dilyniant cychwynnol yn cael eu cydamseru'n ddibynadwy.
Er bod ysgwyd llaw pedair ffordd hefyd yn bosibl cydamseru niferoedd dilyniant cychwynnol y ddwy ochr yn ddibynadwy, gellir cyfuno'r ail a'r trydydd cam yn un cam, gan arwain at ysgwyd llaw tair ffordd. Fodd bynnag, dim ond y parti arall y gall y ddau ysgwyd llaw warantu bod y nifer dilyniant cychwynnol o un blaid yn cael ei dderbyn yn llwyddiannus, ond nid oes unrhyw sicrwydd y gellir cadarnhau nifer dilyniant cychwynnol y ddwy ochr. Felly, yr ysgwyd llaw tair ffordd yw'r dewis gorau i'w gymryd er mwyn sicrhau sefydlogrwydd a dibynadwyedd cysylltiadau TCP.
Rheswm 3: Osgoi gwastraffu adnoddau
Os mai dim ond "dwy law" sydd yna, pan fydd y cais SYN 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 ddig. Fodd bynnag, gan nad oes trydydd ysgwyd llaw, ni all y gweinydd benderfynu a dderbyniodd y cleient gydnabyddiaeth ACK i sefydlu'r cysylltiad. Felly, dim ond ar ôl derbyn pob cais SYN yn rhagweithiol y gall y gweinydd sefydlu cysylltiad. Mae hyn yn arwain at y canlynol:
Gwastraff Adnoddau: Os yw cais SYN y cleient wedi'i rwystro, gan arwain at drosglwyddo pecyn SYN lluosog dro ar ôl tro, bydd y gweinydd yn sefydlu sawl cysylltiad annilys diangen ar ôl derbyn y cais. Mae hyn yn arwain at wastraff diangen o adnoddau gweinydd.
Cadw Negeseuon: Oherwydd diffyg trydydd ysgwyd llaw, nid oes gan y gweinydd unrhyw ffordd o wybod a oedd y cleient wedi derbyn cydnabyddiaeth 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 drosodd a throsodd, gan beri 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.
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.
Nghryno
YBrocer Pecyn RhwydwaithGwneir sefydliad cysylltiad TCP gydag ysgwyd llaw tair ffordd. Yn ystod yr ysgwyd llaw tair ffordd, mae'r cleient yn anfon pecyn yn gyntaf gyda'r faner SYN i'r gweinydd, 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 yn cael ei dderbyn, ac yn anfon ei rif dilyniant cychwynnol ei hun. Yn olaf, mae'r cleient yn ymateb gyda baner ACK i'r gweinydd i nodi bod y cysylltiad wedi'i sefydlu'n llwyddiannus. Felly, mae'r ddwy ochr yn y cyflwr sefydledig 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 ddwy ochr yn gallu derbyn ac anfon data.
Amser Post: Ion-08-2025