Armachd dhìomhair TCP: Smachd Sruthadh Lìonra agus Smachd Dùmhlachd Lìonra

Còmhdhail Earbsachd TCP
Tha sinn uile eòlach air pròtacal TCP mar phròtacal còmhdhail earbsach, ach ciamar a tha e a’ dèanamh cinnteach à earbsachd còmhdhail?

Gus tar-chur earbsach a choileanadh, feumar beachdachadh air mòran nithean, leithid coirbeachd dàta, call, dùblachadh, agus pìosan dàta a tha a-mach à òrdugh. Mura h-urrainnear na duilgheadasan sin fhuasgladh, chan urrainnear tar-chur earbsach a choileanadh.

Mar sin, bidh TCP a’ cleachdadh dhòighean-obrach leithid àireamh sreath, freagairt dearbhaidh, smachd ath-chuir, riaghladh ceangail, agus smachd uinneig gus tar-chur earbsach a choileanadh.

Anns a’ phàipear seo, cuiridh sinn fòcas air an uinneag sleamhnachaidh, smachd sruthadh agus smachd dùmhlachd TCP. Tha an dòigh-obrach ath-chraolaidh air a chòmhdach air leth san ath earrann.

Smachd Sruthadh Lìonra
’S e Smachd Sruthadh Lìonra no Smachd Trafaic Lìonra a tha aithnichte mar sin, taisbeanadh den dàimh shìmplidh eadar riochdairean agus luchd-cleachdaidh. Is dòcha gu bheil thu air tighinn tarsainn air an t-suidheachadh seo gu tric aig an obair no ann an agallamhan. Ma tha comas an riochdaire airson cinneasachadh fada nas àirde na comas an neach-cleachdaidh airson ithe, bheir sin air an ciudha fàs gu bràth. Ann an cùis nas cunnartaiche, is dòcha gu bheil fios agad nuair a chruinnicheas teachdaireachdan RabbitMQ cus, faodaidh e crìonadh coileanaidh an fhrithealaiche MQ gu lèir adhbhrachadh. Tha an aon rud fìor airson TCP; mura tèid a sgrùdadh, thèid cus teachdaireachdan a chuir a-steach don lìonra, agus bidh an luchd-cleachdaidh air a dhol thairis air an comas, agus cumaidh an luchd-dèanamh orra a’ cur teachdaireachdan dùblaichte, a bheir buaidh mhòr air coileanadh an lìonra.

Gus dèiligeadh ris a’ chùis seo, tha TCP a’ toirt seachad dòigh airson an neach-cuiridh smachd a chumail air meud an dàta a thèid a chur stèidhichte air comas gabhail an neach-glacaidh, ris an canar smachd sruthadh. Bidh an neach-glacaidh a’ cumail uinneag gabhail, agus bidh an neach-cuiridh a’ cumail uinneag cur. Bu chòir a thoirt fa-near nach eil na h-uinneagan seo ach airson aon cheangal TCP agus nach eil uinneag aig a h-uile ceangal.

Bidh TCP a’ toirt seachad smachd air sruthadh le bhith a’ cleachdadh caochladair airson uinneag faighinn. Bheir an uinneag faighinn comharra don neach-cuiridh dè an ìre de dh’àite tasgadan a tha fhathast ri fhaighinn. Bidh an neach-cuiridh a’ cumail smachd air meud an dàta a thèid a chur a rèir comas gabhail ris an neach-faighinn.

Cuiridh an aoigh glacadair fios chun an neach a chuir an dàta mu mheud an dàta as urrainn dha fhaighinn, agus cuiridh an neach a chuir suas chun na crìche seo. Is e seo meud na h-uinneige, a bheil cuimhne agaibh air ceann-sgrìobhaidh TCP? Tha raon uinneag faighinn ann, a thathar a’ cleachdadh gus an àireamh de bytes a tha an neach a gheibh comasach no deònach fhaighinn a chomharrachadh.

Cuiridh aoigh an neach-cuiridh pasgan sgrùdaidh uinneig a-mach bho àm gu àm, a thathar a’ cleachdadh gus faighinn a-mach a bheil aoigh an neach-faighinn fhathast comasach air dàta a ghabhail. Nuair a tha bufair an neach-faighinn ann an cunnart cus a chur thairis, thèid meud na h-uinneige a shuidheachadh gu luach nas lugha gus innse don neach-cuiridh smachd a chumail air meud an dàta a thèid a chur.

Seo diagram Smachd Sruthadh Lìonra:

Smachd Trafaic

Smachd Dùmhlachd Lìonra
Mus cuir sinn smachd air dùmhlachd an sàs, feumaidh sinn tuigsinn, a bharrachd air an uinneag faighinn agus an uinneag cur, gu bheil uinneag dùmhlachd ann cuideachd, a thathas a’ cleachdadh sa mhòr-chuid gus fuasgladh fhaighinn air duilgheadas dè an ìre aig a bheil an neach-cuiridh a’ tòiseachadh a’ cur dàta chun na h-uinneige faighinn. Mar sin, tha an uinneag dùmhlachd cuideachd air a cumail suas leis an neach-cuiridh TCP. Feumaidh sinn algairim gus co-dhùnadh dè an ìre dàta a tha iomchaidh a chuir, leis nach eil e freagarrach cus dàta a chuir, agus mar sin bun-bheachd na h-uinneige dùmhlachd.

Anns an smachd sruthadh lìonra roimhe, b’ e an rud a sheachain sinn gun lìon an neach-cuiridh tasgadan an neach-faighinn le dàta, ach cha robh fios againn dè bha a’ tachairt air an lìonra. Mar as trice, bidh lìonraidhean coimpiutair ann an àrainneachd cho-roinnte. Mar thoradh air an sin, is dòcha gum bi dùmhlachd lìonra ann air sgàth conaltraidh eadar aoighean eile.

Nuair a bhios an lìonra ro-thrang, ma thèid àireamh mhòr de phasganan a chur a-mach, faodaidh e duilgheadasan adhbhrachadh leithid dàil agus call phasganan. Aig an ìre seo, cuiridh TCP an dàta air ais, ach meudaichidh an ath-chraoladh an t-uallach air an lìonra, agus mar thoradh air sin bidh dàil nas motha agus barrachd chall phasganan ann. Faodaidh seo a dhol a-steach do chearcall borb agus cumail a’ fàs nas motha.

Mar sin, chan urrainn dha TCP dearmad a dhèanamh air na tha a’ tachairt air an lìonra. Nuair a bhios an lìonra ro làn, bidh TCP ga ìobairt fhèin le bhith a’ lughdachadh na tha de dhàta a chuireas e.

Mar sin, thathar a’ moladh smachd dùmhlachd, a tha ag amas air nach tèid an lìonra gu lèir a lìonadh le dàta bhon neach-cuiridh. Gus an ìre dàta a bu chòir don neach-cuiridh a chuir a riaghladh, tha TCP a’ mìneachadh bun-bheachd ris an canar uinneag an dùmhlachd. Atharraichidh an algairim smachd dùmhlachd meud na h-uinneige dùmhlachd a rèir ìre dùmhlachd an lìonra, gus smachd a chumail air an ìre dàta a chuireas an neach-cuiridh.

Dè a th' ann an uinneag dùmhlachd? Dè tha seo a' buntainn ris an uinneag cur?

’S e caochladair staid a th’ anns an Uinneag Dùmhlachd a bhios an neach-cuiridh a’ cumail suas a bhios a’ dearbhadh na tha de dhàta as urrainn don neach-cuiridh a chur. Bidh an uinneag dùmhlachd ag atharrachadh gu dinamach a rèir ìre dùmhlachd an lìonra.

’S e meud uinneig a th’ anns an Uinneag Cur a chaidh aontachadh eadar an neach a chuireas agus an neach a gheibh e a tha a’ sealltainn na tha de dhàta as urrainn don neach a gheibh e fhaighinn. Tha an uinneag dùmhlachd agus an uinneag cur co-cheangailte; mar as trice bidh an uinneag cur co-ionann ris an ìre as lugha de na h-uinneagan dùmhlachd agus faighinn, is e sin, swnd = min(cwnd, rwnd).

Bidh uinneag an dùmhlachd cwnd ag atharrachadh mar a leanas:

Mura h-eil dùmhlachd anns an lìonra, i.e., mura tachair crìoch-ùine ath-chraolaidh, bidh an uinneag dùmhlachd ag àrdachadh.

Ma tha dùmhlachd anns an lìonra, bidh an uinneag dùmhlachd a’ lùghdachadh.

Bidh an neach-cuiridh a’ dearbhadh a bheil an lìonra ro làn le bhith a’ cumail sùil a bheil am pasgan dearbhaidh ACK air fhaighinn taobh a-staigh na h-ùine ainmichte. Mura faigh an neach-cuiridh am pasgan dearbhaidh ACK taobh a-staigh na h-ùine ainmichte, thathas den bheachd gu bheil an lìonra ro làn.

A bharrachd air an uinneag dùmhlachd, tha an t-àm ann beachdachadh air algairim smachd dùmhlachd TCP. Tha trì prìomh phàirtean ann an algairim smachd dùmhlachd TCP:

Tòiseachadh mall:An toiseach, tha uinneag dùmhlachd a’ chwnd car beag, agus bidh an neach-cuiridh ag àrdachadh na h-uinneige dùmhlachd gu h-eas-chruthach gus atharrachadh gu luath a rèir comas an lìonra.
Seachain dùmhlachd:Às dèidh don uinneag dùmhlachd a dhol thairis air stairsneach sònraichte, bidh an neach-cuiridh ag àrdachadh na h-uinneige dùmhlachd ann an dòigh loidhneach gus ìre fàis na h-uinneige dùmhlachd a lughdachadh agus gus cus luchdachadh an lìonra a sheachnadh.
Ath-bheothachadh luath:Ma thachras dùmhlachd, bidh an neach-cuiridh a’ cur na h-uinneige dùmhlachd ann an leth agus a’ dol a-steach don staid ath-bheothachaidh luath gus àite ath-bheothachaidh an lìonra a dhearbhadh tron ​​ath-bhreithneachadh dùblaichte a fhuaireadh, agus an uairsin a’ leantainn air adhart a’ meudachadh na h-uinneige dùmhlachd.

Tòiseachadh mall
Nuair a thèid ceangal TCP a stèidheachadh, thèid uinneag dùmhlachd cwnd a shuidheachadh an toiseach gu luach MSS (meud as motha den roinn) as ìsle. ​​San dòigh seo, tha an ìre cur tùsail timcheall air MSS/RTT bytes/diog. Mar as trice bidh an leud-bann a tha ri fhaighinn tòrr nas motha na MSS/RTT, agus mar sin tha TCP airson an ìre cur as fheàrr a lorg, a ghabhas coileanadh le bhith a’ tòiseachadh gu slaodach.

Anns a’ phròiseas tòiseachaidh slaodach, thèid luach uinneag dùmhlachd cwnd a thòiseachadh gu 1 MSS, agus gach uair a thèid an earrann pacaid a chaidh a thar-chur aideachadh, thèid luach cwnd a mheudachadh le aon MSS, is e sin, bidh luach cwnd a’ fàs 2 MSS. Às deidh sin, thèid luach cwnd a dhùblachadh airson gach tar-chur soirbheachail de earrann pacaid, agus mar sin air adhart. Tha am pròiseas fàis sònraichte air a shealltainn san fhigear a leanas.

 Smachd dùmhlachd lìonra

Ach, chan urrainn don ìre cur a bhith a’ fàs an-còmhnaidh; feumaidh an fhàs crìochnachadh aig àm air choreigin. Mar sin, cuin a thig àrdachadh an ìre cur gu crìch? Mar as trice bidh tòiseachadh slaodach a’ crìochnachadh àrdachadh an ìre cur ann an aon de ghrunn dhòighean:

Is e a’ chiad dhòigh call pacaid rè pròiseas cur le tòiseachadh slaodach. Nuair a thachras call pacaid, bidh TCP a’ suidheachadh uinneag dùmhlachd an neach-cuiridh cwnd gu 1 agus ag ath-thòiseachadh a’ phròiseas tòiseachaidh slaodach. Aig an ìre seo, thèid bun-bheachd stairsneach tòiseachaidh slaodach ssthresh a thoirt a-steach, agus tha a luach tùsail leth de luach cwnd a ghineas call pacaid. ’S e sin, nuair a lorgar dùmhlachd, tha luach ssthresh leth de luach na h-uinneige.

Is e an dàrna dòigh ceangal dìreach a dhèanamh ri luach stairsneach tòiseachaidh slaodach ssthresh. Leis gu bheil luach ssthresh leth de luach na h-uinneige nuair a lorgar dùmhlachd, faodaidh call pacaid tachairt le gach dùblachadh nuair a tha cwnd nas motha na ssthresh. Mar sin, is fheàrr cwnd a shuidheachadh gu ssthresh, a bheir air TCP gluasad gu modh smachd dùmhlachd agus crìoch a chur air tòiseachadh slaodach.

Is e an dòigh mu dheireadh anns am faod tòiseachadh slaodach crìochnachadh ma lorgar trì pacaidean ACK ath-aithriseach, bidh TCP a’ dèanamh ath-chraoladh luath agus a’ dol a-steach don staid ath-bheothachaidh. (Mura h-eil e soilleir carson a tha trì pacaidean ACK ann, thèid a mhìneachadh air leth anns an dòigh ath-chraolaidh.)

Seachain Dùmhlachd
Nuair a thèid TCP a-steach don staid smachd dùmhlachd, thèid cwnd a shuidheachadh gu leth na stairsnich dùmhlachd ssthresh. Tha seo a’ ciallachadh nach gabh luach cwnd a dhùblachadh a h-uile uair a gheibhear earrann pacaid. An àite sin, thèid dòigh-obrach caran glèidhteach a ghabhail os làimh anns nach tèid luach cwnd a mheudachadh ach le aon MSS (fad as motha na h-earrainn pacaid) às deidh gach tar-chur a bhith deiseil. Mar eisimpleir, eadhon ged a thèid 10 earrannan pacaid aideachadh, cha mheudaich luach cwnd ach le aon MSS. Is e modail fàis loidhneach a tha seo agus tha crìoch uachdarach aige cuideachd air fàs. Nuair a thachras call pacaid, thèid luach cwnd atharrachadh gu MSS, agus thèid luach ssthresh a shuidheachadh gu leth de cwnd. No cuiridh e stad air fàs MSS cuideachd nuair a gheibhear 3 freagairtean ACK ath-aithriseach. Ma gheibhear trì freagairtean ACK ath-aithriseach fhathast às deidh luach cwnd a lethachadh, thèid luach ssthresh a chlàradh mar leth luach cwnd agus thèid an staid ath-bheothachaidh luath a-steach.

Ath-bheothachadh Luath
Anns an staid Ath-bheothachaidh Luath, thèid luach uinneag dùmhlachd cwnd a mheudachadh le aon MSS airson gach ACK ath-aithriseach a gheibhear, is e sin, ACK nach ruig ann an sreath. Tha seo gus na h-earrannan pacaid a chaidh a thar-chur gu soirbheachail san lìonra a chleachdadh gus èifeachdas an tar-chuir a leasachadh cho mòr 's as urrainn.

Nuair a ruigeas ACK den earrann pacaid caillte, lughdaichidh TCP luach cwnd agus an uairsin thèid e a-steach don staid seachnadh dùmhlachd. Tha seo gus smachd a chumail air meud na h-uinneige dùmhlachd agus gus casg a chuir air dùmhlachd an lìonra a mheudachadh tuilleadh.

Ma thachras crìoch-ama às dèidh staid smachd dùmhlachd, bidh suidheachadh an lìonra a’ fàs nas miosa agus bidh TCP ag imrich bhon staid seachnadh dùmhlachd chun staid tòiseachaidh slaodach. Anns a’ chùis seo, tha luach uinneag dùmhlachd cwnd air a shuidheachadh gu 1 MSS, an fhaid as motha den earrann pacaid, agus tha luach stairsneach tòiseachaidh slaodach ssthresh air a shuidheachadh gu leth de cwnd. Is e adhbhar seo meud na h-uinneige dùmhlachd a mheudachadh mean air mhean às dèidh don lìonra faighinn seachad air gus cothromachadh a dhèanamh eadar an ìre tar-chuir agus ìre dùmhlachd an lìonra.

Geàrr-chunntas
Mar phròtacal còmhdhail earbsach, bidh TCP a’ cur an gnìomh còmhdhail earbsach le àireamh sreath, aideachadh, smachd ath-chraolaidh, riaghladh ceangail agus smachd uinneig. Nam measg, bidh an uidheam smachd sruthadh a’ cumail smachd air meud an dàta a chuireas an neach-cuiridh a rèir comas faighinn an neach-glacaidh, a sheachnas duilgheadasan dùmhlachd lìonra agus crìonadh coileanaidh. Bidh an uidheam smachd dùmhlachd a’ seachnadh dùmhlachd lìonra le bhith ag atharrachadh meud an dàta a chuireas an neach-cuiridh. Tha bun-bheachdan uinneag dùmhlachd agus uinneag cur co-cheangailte ri chèile, agus tha meud an dàta aig an neach-cuiridh air a smachdachadh le bhith ag atharrachadh meud na h-uinneige dùmhlachd gu dinamach. Is iad tòiseachadh slaodach, seachnadh dùmhlachd agus faighinn air ais luath na trì prìomh phàirtean de algairim smachd dùmhlachd TCP, a bhios ag atharrachadh meud na h-uinneige dùmhlachd tro dhiofar ro-innleachdan gus atharrachadh a rèir comas agus ìre dùmhlachd an lìonra.

Anns an ath earrann, nì sinn sgrùdadh mionaideach air dòigh-obrach ath-chraolaidh TCP. Tha dòigh-obrach ath-chraolaidh na phàirt chudromach de TCP gus tar-chur earbsach a choileanadh. Bidh e a’ dèanamh cinnteach à tar-chur earbsach dàta le bhith ag ath-chraoladh dàta a chaidh a chall, a chaidh a thruailleadh no a chaidh a mhoilleachadh. Thèid prionnsapal agus ro-innleachd cur an gnìomh an dòigh-obrach ath-chraolaidh a thoirt a-steach agus a sgrùdadh gu mionaideach anns an ath earrann. Cumaibh sùil a-mach!


Àm puist: 24 Gearran 2025