Arm rúnda TCP: Rialú Sreafa Líonra agus Rialú Plódú Líonra

Iompar Iontaofachta TCP
Táimid uile eolach ar phrótacal TCP mar phrótacal iompair iontaofa, ach conas a chinntíonn sé iontaofacht an iompair?

Chun tarchur iontaofa a bhaint amach, ní mór go leor fachtóirí a chur san áireamh, amhail truailliú sonraí, cailliúint, dúbláil, agus scealpáin as ord. Mura féidir na fadhbanna seo a réiteach, ní féidir tarchur iontaofa a bhaint amach.

Dá bhrí sin, úsáideann TCP meicníochtaí amhail uimhir sheicheamhach, freagra admhála, rialú athsheolta, bainistíocht nasc, agus rialú fuinneoige chun tarchur iontaofa a bhaint amach.

Sa pháipéar seo, díreoimid ar an bhfuinneog sleamhnáin, rialú sreafa agus rialú plódaithe TCP. Clúdaítear an mheicníocht aththarchuir ar leithligh sa chéad chuid eile.

Rialú Sreafa Líonra
Is léiriú é Rialú Sreafa Líonra nó Rialú Tráchta Líonra ar an ngaol caolchúiseach idir táirgeoirí agus tomhaltóirí. Is dócha gur tháinig tú trasna ar an gcás seo go minic ag an obair nó in agallaimh. Má sháraíonn cumas táirgthe an táirgeora cumas tomhaltóra a ídiú go mór, cuirfidh sé sin faoi deara go bhfásfaidh an scuaine go deo. I gcás níos tromchúisí, b'fhéidir go mbeadh a fhios agat nuair a charnaíonn teachtaireachtaí RabbitMQ an iomarca, go bhféadfadh sé sin meath feidhmíochta an fhreastalaí MQ ar fad a chur faoi deara. Tá an rud céanna fíor maidir le TCP; mura ndéantar seiceáil air, cuirfear an iomarca teachtaireachtaí isteach sa líonra, agus beidh na tomhaltóirí tar éis a gcumas a shárú, agus leanfaidh na táirgeoirí de theachtaireachtaí dúblacha a sheoladh, rud a rachaidh i bhfeidhm go mór ar fheidhmíocht an líonra.

Chun aghaidh a thabhairt ar an bhfeiniméan seo, soláthraíonn TCP meicníocht don seoltóir chun méid na sonraí a sheoltar a rialú bunaithe ar chumas glactha iarbhír an ghlacadóra, ar a dtugtar rialú sreafa. Coinníonn an glacadóir fuinneog glactha, agus coinníonn an seoltóir fuinneog seolta. Ba chóir a thabhairt faoi deara nach bhfuil na Fuinneoga seo ach le haghaidh nasc TCP aonair agus nach roinneann gach nasc fuinneog.

Soláthraíonn TCP rialú sreafa trí athróg a úsáid le haghaidh fuinneog glactha. Tugann an fhuinneog glactha léargas don seoltóir ar an méid spáis taisce atá fós ar fáil. Rialaíonn an seoltóir méid na sonraí a sheoltar de réir acmhainn glactha iarbhír an ghlacadóra.

Cuireann an t-óstach glacadóra an seoltóir ar an eolas faoi mhéid na sonraí is féidir leis a fháil, agus seolann an seoltóir suas go dtí an teorainn seo. Is é an teorainn seo méid na fuinneoige, an cuimhin leat an ceanntásc TCP? Tá réimse fuinneoige glactha ann, a úsáidtear chun líon na mbeart atá an glacadóir in ann nó toilteanach a fháil a léiriú.

Seolfaidh óstach an tseoltóra pacáiste tóireadóireachta fuinneoige go tréimhsiúil, a úsáidtear chun a bhrath an bhfuil óstach an ghlacadóra fós in ann sonraí a ghlacadh. Nuair a bhíonn maolán an ghlacadóra i mbaol ró-ualaithe, socraítear méid na fuinneoige go luach níos lú chun treoir a thabhairt don seoltóir méid na sonraí a sheoltar a rialú.

Seo léaráid Rialaithe Sreafa Líonra:

Rialú Tráchta

Rialú Plódú Líonra
Sula dtugann muid rialú plódaithe isteach, ní mór dúinn a thuiscint, sa bhreis ar an bhfuinneog glactha agus an fhuinneog seolta, go bhfuil fuinneog plódaithe ann freisin, a úsáidtear go príomha chun an fhadhb a réiteach maidir le cé chomh tapa agus a thosaíonn an seoltóir ag seoladh sonraí chuig an bhfuinneog glactha. Dá bhrí sin, déanann an seoltóir TCP an fhuinneog plódaithe a chothabháil freisin. Teastaíonn algartam uainn chun a chinneadh cé mhéad sonraí atá oiriúnach le seoladh, ós rud é nach bhfuil sé idéalach róbheag nó an iomarca sonraí a sheoladh, agus dá bhrí sin an coincheap maidir le fuinneog plódaithe.

Sa rialú sreabhadh líonra roimhe seo, sheachain muid an seoltóir ag líonadh taisce an ghlacadóra le sonraí, ach ní raibh a fhios againn cad a bhí ag tarlú sa líonra. De ghnáth, bíonn líonraí ríomhaireachta i dtimpeallacht chomhroinnte. Mar thoradh air sin, d’fhéadfadh plódú líonra a bheith ann mar gheall ar chumarsáid idir óstaigh eile.

Nuair a bhíonn an líonra plódaithe, má leantar de líon mór paicéad a sheoladh, d’fhéadfadh sé fadhbanna a chruthú amhail moill agus cailliúint paicéad. Ag an bpointe seo, déanfaidh TCP na sonraí a atarchur, ach méadóidh an t-atarchur an t-ualach ar an líonra, rud a fhágann moilleanna níos mó agus níos mó caillteanais paicéad. Is féidir leis seo dul i gciorcal fí agus leanúint ar aghaidh ag dul i méid.

Dá bhrí sin, ní féidir le TCP neamhaird a dhéanamh ar a bhfuil ag tarlú ar an líonra. Nuair a bhíonn an líonra plódaithe, déanann TCP íobairt air féin trí mhéid na sonraí a sheolann sé a laghdú.

Dá bhrí sin, moltar rialú plódaithe, a bhfuil sé mar aidhm aige an líonra iomlán a sheachaint le sonraí ón seoltóir. Chun an méid sonraí ba chóir don seoltóir a sheoladh a rialáil, sainmhíníonn TCP coincheap ar a dtugtar an fhuinneog plódaithe. Déanfaidh an algartam rialaithe plódaithe méid na fuinneoige plódaithe a choigeartú de réir mhéid an phlódaithe ar an líonra, chun an méid sonraí a sheolann an seoltóir a rialú.

Cad is fuinneog phlódaithe ann? Cad atá le déanamh aige seo leis an bhfuinneog seolta?

Is athróg stádais í an Fhuinneog Phlódaithe a chothaíonn an seoltóir a chinneann an méid sonraí is féidir leis an seoltóir a sheoladh. Athraíonn an fhuinneog phlódaithe go dinimiciúil de réir leibhéal plódaithe an líonra.

Is méid fuinneoige comhaontaithe idir an seoltóir agus an glacadóir í an Fhuinneog Seolta a léiríonn an méid sonraí is féidir leis an nglacadóir a fháil. Tá baint ag an bhfuinneog phlódaithe agus an fhuinneog seolta; is gnách go mbíonn an fhuinneog seolta cothrom le híosmhéid na bhFuinneog Plódaithe agus na bhFuinneog Glactha, is é sin, swnd = min(cwnd, rwnd).

Athraíonn an fhuinneog plódaithe cwnd mar seo a leanas:

Mura bhfuil aon phlódú sa líonra, i.e., mura dtarlaíonn aon am scoir athchraolta, méadaíonn an fhuinneog plódaithe.

Má bhíonn plódú sa líonra, laghdaíonn an fhuinneog plódaithe.

Cinneann an seoltóir an bhfuil an líonra plódaithe trí bhreathnú ar cibé an bhfaightear an pacáiste admhála ACK laistigh den am sonraithe. Mura bhfaigheann an seoltóir an pacáiste admhála ACK laistigh den am sonraithe, meastar go bhfuil an líonra plódaithe.

Chomh maith leis an bhfuinneog plódaithe, tá sé in am plé a dhéanamh ar algartam rialaithe plódaithe TCP. Tá trí phríomhchuid i gceist le halgartam rialaithe plódaithe TCP:

Tús Mall:Ar dtús, bíonn an fhuinneog plódaithe cwnd sách beag, agus méadaíonn an seoltóir an fhuinneog plódaithe go heaspónantúil chun oiriúnú go tapa do chumas an líonra.
Seachaint Plódú:Tar éis don fhuinneog plódaithe tairseach áirithe a shárú, méadaíonn an seoltóir an fhuinneog plódaithe ar bhealach líneach chun ráta fáis na fuinneoige plódaithe a mhoilliú agus ró-ualach an líonra a sheachaint.
Aisghabháil Thapa:Má tharlaíonn plódú, déanann an seoltóir an fhuinneog plódaithe a leath agus téann sé isteach sa staid aisghabhála thapa chun suíomh an aisghabhála líonra a chinneadh trí na ndúblaigh admhálacha a fuarthas, agus ansin leanann sé de bheith ag méadú na fuinneoige plódaithe.

Tús Mall
Nuair a bhunaítear nasc TCP, socraítear an fhuinneog plódaithe cwnd ar dtús go luach íosta MSS (uasmhéid deighleog). Ar an mbealach seo, is é an ráta seolta tosaigh ná thart ar MSS/RTT baits/soicind. De ghnáth bíonn an bandaleithead iarbhír atá ar fáil i bhfad níos mó ná MSS/RTT, mar sin ba mhaith le TCP an ráta seolta is fearr a aimsiú, ar féidir é a bhaint amach trí thosú mall.

Sa phróiseas mall-thosaithe, déanfar luach na fuinneoige plódaithe cwnd a thosú go 1 MSS, agus gach uair a admhaítear an chuid phaicéid tarchurtha, méadófar luach cwnd faoi MSS amháin, is é sin, beidh luach cwnd ina 2 MSS. Ina dhiaidh sin, déantar luach cwnd a dhúbailt le haghaidh gach tarchur rathúil de chuid phaicéid, agus mar sin de. Taispeántar an próiseas fáis sonrach sa fhigiúr seo a leanas.

 Rialú plódaithe líonra

Mar sin féin, ní féidir leis an ráta seolta fás i gcónaí; caithfidh an fás deireadh a chur leis am éigin. Mar sin, cathain a chríochnaíonn méadú an ráta seolta? De ghnáth, críochnaíonn tús mall an méadú ar an ráta seolta ar cheann de roinnt bealaí:

Is é an chéad bhealach ná cás caillteanas paicéid le linn an phróisis seolta le tosú mall. Nuair a tharlaíonn caillteanas paicéid, socraíonn TCP fuinneog plódaithe an tseoltóra cwnd go 1 agus atosaíonn sé an próiseas tosaigh mall. Ag an bpointe seo, tugtar isteach coincheap tairseach tosaigh mall ssthresh, a bhfuil a luach tosaigh leath de luach cwnd a ghineann caillteanas paicéid. Is é sin, nuair a bhraitear plódú, is leath de luach na fuinneoige luach ssthresh.

Is é an dara bealach ná comhghaol díreach a dhéanamh le luach na tairsí tosaithe mall ssthresh. Ós rud é go bhfuil luach ssthresh leath de luach na fuinneoige nuair a bhraitear plódú, d'fhéadfadh cailliúint paicéad tarlú le gach dúbailt nuair a bhíonn cwnd níos mó ná ssthresh. Dá bhrí sin, is fearr cwnd a shocrú go ssthresh, rud a fhágfaidh go n-athróidh TCP go mód rialaithe plódaithe agus go gcuirfidh sé deireadh leis an tosú mall.

Is é an bealach deireanach a d’fhéadfadh deireadh a bheith le tús mall ná má bhraitear trí phaicéad ACK iomarcacha, déanann TCP aththarchur tapa agus téann sé isteach sa staid aisghabhála. (Mura bhfuil sé soiléir cén fáth go bhfuil trí phaicéad ACK ann, míneofar é ar leithligh sa mheicníocht aththarchuir.)

Seachaint Plódú
Nuair a théann TCP isteach sa staid rialaithe plódaithe, socraítear cwnd go leath an tairsí plódaithe ssthresh. Ciallaíonn sé seo nach féidir luach cwnd a dhúbailt gach uair a fhaightear deighleog paicéid. Ina áit sin, glactar le cur chuige sách coimeádach ina méadaítear luach cwnd faoi MSS amháin (uasfhad deighleog paicéid) tar éis gach tarchur a bheith críochnaithe. Mar shampla, fiú má admhaítear 10 deighleog paicéid, ní mhéadóidh luach cwnd ach faoi MSS amháin. Is samhail fáis líneach í seo agus tá teorainn uachtarach fáis aici freisin. Nuair a tharlaíonn cailliúint paicéid, athraítear luach cwnd go MSS, agus socraítear luach ssthresh go leath de cwnd. Nó stopfaidh sé fás MSS freisin nuair a fhaightear 3 fhreagra ACK iomarcacha. Má fhaightear trí acks iomarcacha fós tar éis luach cwnd a laghdú faoi leath, taifeadtar luach ssthresh mar leath luach cwnd agus téann tú isteach sa staid téarnaimh thapa.

Aisghabháil Thapa
Sa staid Aisghabhála Tapa, méadaítear luach na fuinneoige plódaithe cwnd faoi MSS amháin do gach ACK iomarcach a fhaightear, is é sin, ACK nach dtagann in ord. Déantar é seo chun úsáid a bhaint as na codanna paicéid atá tarchurtha go rathúil sa líonra chun éifeachtúlacht an tarchuir a fheabhsú a oiread agus is féidir.

Nuair a thagann ACK den chuid phaicéid caillte, laghdaíonn TCP luach cwnd agus ansin téann sé isteach sa staid seachanta plódaithe. Déantar é seo chun méid na fuinneoige plódaithe a rialú agus chun méadú breise ar phlódú an líonra a sheachaint.

Má tharlaíonn sos ama tar éis an stáit rialaithe plódaithe, éiríonn riocht an líonra níos tromchúisí agus aistríonn TCP ón stát seachanta plódaithe go dtí an stát tosaithe mall. Sa chás seo, socraítear luach na fuinneoige plódaithe cwnd go 1 MSS, fad uasta na coda paicéid, agus socraítear luach na tairsí tosaithe mall ssthresh go leath de cwnd. Is é cuspóir seo méid na fuinneoige plódaithe a mhéadú de réir a chéile tar éis don líonra téarnamh chun an ráta tarchuir agus méid an phlódaithe líonra a chothromú.

Achoimre
Mar phrótacal iompair iontaofa, cuireann TCP iompar iontaofa i bhfeidhm trí uimhir sheicheamhach, admháil, rialú atarchuir, bainistíocht nasc agus rialú fuinneoige. Ina measc, rialaíonn an mheicníocht rialaithe sreafa méid na sonraí a sheolann an seoltóir de réir acmhainn iarbhír glactha an ghlacadóra, rud a sheachnaíonn fadhbanna plódú líonra agus meath feidhmíochta. Seachnaíonn an mheicníocht rialaithe plódú tarlú plódú líonra trí mhéid na sonraí a sheolann an seoltóir a choigeartú. Tá coincheapa na fuinneoige plódú agus na fuinneoige seolta gaolmhar lena chéile, agus rialaítear méid na sonraí ag an seoltóir trí mhéid na fuinneoige plódú a choigeartú go dinimiciúil. Is iad tús mall, seachaint plódú agus téarnamh tapa na trí phríomhchuid d'algartam rialaithe plódú TCP, a choigeartaíonn méid na fuinneoige plódú trí straitéisí éagsúla chun oiriúnú do chumas agus do mhéid plódú an líonra.

Sa chéad chuid eile, déanfaimid scrúdú mionsonraithe ar mheicníocht aththarchuir TCP. Is cuid thábhachtach de TCP í an mheicníocht aththarchuir chun tarchur iontaofa a bhaint amach. Cinntíonn sí tarchur iontaofa sonraí trí shonraí caillte, truaillithe nó moillithe a aththarchur. Tabharfar isteach agus anailíseofar go mion ar phrionsabal agus ar straitéis chur i bhfeidhm an mheicníocht aththarchuir sa chéad chuid eile. Fan tiúnta!


Am an phoist: 24 Feabhra 2025