Ohun ija aṣiri TCP: Iṣakoso Sisan Nẹtiwọọki ati Iṣakoso Idiyele Nẹtiwọọki

TCP Gbẹkẹle Transport
Gbogbo wa faramọ pẹlu ilana TCP gẹgẹbi ilana gbigbe gbigbe ti o gbẹkẹle, ṣugbọn bawo ni o ṣe rii daju pe igbẹkẹle ti gbigbe?

Lati ṣaṣeyọri gbigbe ti o gbẹkẹle, ọpọlọpọ awọn okunfa nilo lati gbero, gẹgẹbi ibajẹ data, ipadanu, ẹda-iwe, ati awọn shards-jade ti aṣẹ. Ti awọn iṣoro wọnyi ko ba le yanju, gbigbe igbẹkẹle ko le ṣe aṣeyọri.

Nitorinaa, TCP n gba awọn ọna ṣiṣe bii nọmba ọkọọkan, idahun ijẹwọ, iṣakoso ifiranšẹ, iṣakoso asopọ, ati iṣakoso window lati ṣaṣeyọri gbigbe igbẹkẹle.

Ninu iwe yii, a yoo dojukọ lori ferese sisun, iṣakoso ṣiṣan ati iṣakoso isunmọ ti TCP. Ilana gbigbejade ti wa ni bo lọtọ ni apakan atẹle.

Iṣakoso Sisan Nẹtiwọọki
Iṣakoso Sisan Nẹtiwọọki tabi mọ bi Iṣakoso Ijabọ Nẹtiwọọki jẹ ifihan gangan ti ibatan arekereke laarin awọn olupilẹṣẹ ati awọn alabara. O ṣee ṣe pe o ti rii oju iṣẹlẹ yii pupọ ni iṣẹ tabi ni awọn ifọrọwanilẹnuwo. Ti agbara olupilẹṣẹ lati ṣe agbejade lọpọlọpọ ju agbara olumulo lọ lati jẹun, yoo jẹ ki isinyi dagba titilai. Ninu ọran ti o ṣe pataki diẹ sii, o le mọ pe nigbati awọn ifiranṣẹ RabbitMQ ba ṣajọpọ pupọ, o le fa ibajẹ iṣẹ ti gbogbo olupin MQ. Bakan naa ni otitọ fun TCP; ti a ko ba ni abojuto, ọpọlọpọ awọn ifiranṣẹ ni yoo fi sinu nẹtiwọọki, ati pe awọn alabara yoo ti kọja agbara wọn, lakoko ti awọn olupilẹṣẹ yoo tẹsiwaju lati firanṣẹ awọn ifiranṣẹ ẹda-iwe, eyiti yoo ni ipa pupọ si iṣẹ nẹtiwọọki naa.

Lati koju iṣẹlẹ yii, TCP n pese ẹrọ kan fun olufiranṣẹ lati ṣakoso iye data ti a firanṣẹ da lori agbara gbigba gangan ti olugba, eyiti a mọ ni iṣakoso ṣiṣan. Awọn olugba ntẹnumọ a gbigba window, nigba ti Olu ntẹnumọ a firanṣẹ window. O yẹ ki o ṣe akiyesi pe Windows wọnyi wa fun asopọ TCP kan nikan kii ṣe gbogbo awọn asopọ pin window kan.

TCP pese sisan iṣakoso nipa a lilo a ayípadà fun a gba window. Ferese gbigba fun olufiranṣẹ ni itọkasi iye aaye kaṣe ti o tun wa. Olufiranṣẹ n ṣakoso iye data ti a firanṣẹ gẹgẹbi agbara gbigba gangan ti olugba.

Olugba olugba leti olufiranṣẹ ti iwọn data ti o le gba, ati olufiranṣẹ ranṣẹ si opin yii. Iwọn yii jẹ iwọn window, ranti akọsori TCP? Aaye window gbigba wa, eyiti o lo lati tọka nọmba awọn baiti ti olugba le tabi fẹ lati gba.

Olurannileti olufiranṣẹ yoo fi apo-iwe iwadii window kan ranṣẹ lorekore, eyiti o lo lati rii boya agbalejo olugba tun ni anfani lati gba data. Nigbati ifipamọ olugba ba wa ninu ewu ti ṣiṣan, iwọn window ti ṣeto si iye ti o kere lati kọ olufiranṣẹ lati ṣakoso iye data ti a firanṣẹ.

Eyi ni aworan atọka Iṣakoso Sisan Nẹtiwọọki kan:

Iṣakoso ijabọ

Iṣakoso Idiyele Nẹtiwọọki
Ṣaaju ki o to ṣafihan iṣakoso isunmọ, a nilo lati ni oye pe ni afikun si window gbigba ati window fifiranṣẹ, window isunmọ tun wa, eyiti a lo ni akọkọ lati yanju iṣoro ti ni iwọn wo ni olufiranṣẹ bẹrẹ fifiranṣẹ data si window gbigba. Nitorinaa, window idọti naa tun ṣetọju nipasẹ olufiranṣẹ TCP. A nilo algoridimu lati pinnu iye data ti o yẹ lati firanṣẹ, niwọn igba ti fifiranṣẹ kekere tabi data pupọ ko dara julọ, nitorinaa imọran ti window isunmọ.

Ninu iṣakoso ṣiṣan nẹtiwọọki iṣaaju, ohun ti a yago fun ni olufiranṣẹ ti o kun kaṣe olugba pẹlu data, ṣugbọn a ko mọ kini n ṣẹlẹ ninu nẹtiwọọki naa. Ni deede, awọn nẹtiwọọki kọnputa wa ni agbegbe pinpin. Bi abajade, idilọwọ nẹtiwọọki le wa nitori ibaraẹnisọrọ laarin awọn agbalejo miiran.

Nigbati nẹtiwọọki naa ba ni idinku, ti nọmba nla ti awọn apo-iwe ba tẹsiwaju lati firanṣẹ, o le fa awọn iṣoro bii idaduro ati isonu ti awọn apo-iwe. Ni aaye yii, TCP yoo tun gbe data naa pada, ṣugbọn atunṣe yoo ṣe alekun ẹru lori nẹtiwọki, ti o mu ki awọn idaduro ti o tobi ju ati awọn adanu apo-iwe diẹ sii. Eyi le wọ inu iyipo buburu kan ki o tẹsiwaju lati di nla.

Nitorinaa, TCP ko le foju ohun ti n ṣẹlẹ lori nẹtiwọọki naa. Nigbati nẹtiwọọki naa ba ni idinku, TCP rubọ funrararẹ nipa idinku iye data ti o firanṣẹ.

Nitorinaa, iṣakoso isunmọ ni a dabaa, eyiti o ni ero lati yago fun kikun gbogbo nẹtiwọọki pẹlu data lati ọdọ olufiranṣẹ. Lati ṣe ilana iye data ti olufiranṣẹ yẹ ki o firanṣẹ, TCP n ṣalaye ero kan ti a pe ni window isunmọ. Alugoridimu iṣakoso iṣipopada yoo ṣatunṣe iwọn ti window idọti ni ibamu si iwọn isunmọ ti nẹtiwọọki, lati ṣakoso iye data ti olufiranṣẹ.

Kini ferese isunmọ? Kini eyi ni lati ṣe pẹlu ferese fifiranṣẹ?

Ferese Idinku jẹ oniyipada ipinlẹ ti o tọju nipasẹ olufiranṣẹ ti o pinnu iye data ti olufiranṣẹ le firanṣẹ. Ferese isunmọ n yipada ni agbara ni ibamu si ipele isunmọ ti nẹtiwọọki.

Ferese Fifiranṣẹ jẹ ẹya ti gba lori iwọn window laarin olufiranṣẹ ati olugba ti o tọkasi iye data ti olugba le gba. Ferese isunmọ ati ferese fifiranṣẹ jẹ ibatan; Ferese fifiranṣẹ nigbagbogbo jẹ deede si o kere ju ti idinku ati gbigba Windows, iyẹn ni, swnd = min (cwnd, rwnd).

Ferese isunmọ n yipada bi atẹle:

Ti ko ba si isunmọ ninu nẹtiwọọki, ie, ko si akoko isọdọtun waye, window idọti naa pọ si.

Ti ijakadi ba wa ninu nẹtiwọọki, window isunmọ dinku.

Olufiranṣẹ naa pinnu boya nẹtiwọọki n ṣakiyesi nipasẹ wiwo boya idii ijẹwọ ACK ti gba laarin akoko kan pato. Ti olufiranṣẹ naa ko ba gba apo-ijẹwọ ACK laarin akoko ti a ti sọ tẹlẹ, a gba pe nẹtiwọọki naa ti kun.

Ni afikun si window isunmọ, o to akoko lati jiroro lori algorithm iṣakoso isunmọ TCP. Algorithm iṣakoso iṣupọ TCP ni awọn ẹya akọkọ mẹta:

Ibẹrẹ Ilọra:Ni ibẹrẹ, window idọti cwnd jẹ kekere diẹ, ati pe olufiranṣẹ n mu window idọti naa pọ si ni kiakia lati ṣe deede si agbara ti nẹtiwọki.
Yẹra fun Idibo:Lẹhin ti ferese isunmọ naa ti kọja iloro kan, olufiranṣẹ naa mu window iṣupọ pọ si ni ọna laini lati fa fifalẹ iwọn idagba ti window isunmọ ati yago fun gbigbe nẹtiwọọki apọju.
Ìgbàpadà yára:Ti iṣuwọn ba waye, olufiranṣẹ naa idaji window isunmọ ati tẹ ipo imularada iyara lati pinnu ipo ti imularada nẹtiwọọki nipasẹ awọn acks pidánpidán ti o gba, ati lẹhinna tẹsiwaju lati mu window idọti naa pọ si.

O lọra Bẹrẹ
Nigbati asopọ TCP kan ba ti fi idi mulẹ, window cwnd ti wa ni ibẹrẹ ṣeto si iye MSS ti o kere ju (iwọn apa ti o pọju). Ni ọna yii, oṣuwọn fifiranṣẹ akọkọ jẹ nipa awọn baiti MSS/RTT/aaya. Bandiwidi ti o wa gangan jẹ igbagbogbo tobi ju MSS/RTT lọ, nitorinaa TCP fẹ lati wa oṣuwọn fifiranṣẹ to dara julọ, eyiti o le ṣe aṣeyọri nipasẹ ọna ti o lọra.

Ninu ilana ti o lọra-ibẹrẹ, iye ti cwnd window yoo wa ni ibẹrẹ si 1 MSS, ati ni akoko kọọkan ti a ti gba apakan soso ti a firanṣẹ, iye cwnd yoo pọ si nipasẹ MSS kan, iyẹn ni, iye cwnd yoo di 2 MSS. Lẹhin iyẹn, iye cwnd jẹ ilọpo meji fun gbigbe aṣeyọri kọọkan ti apakan soso kan, ati bẹbẹ lọ. Ilana idagbasoke kan pato ni a fihan ni nọmba atẹle.

 Iṣakoso idiwo nẹtiwọki

Sibẹsibẹ, oṣuwọn fifiranṣẹ ko le dagba nigbagbogbo; idagba ni lati pari ni igba kan. Nitorinaa, nigbawo ni ilosoke oṣuwọn fifiranṣẹ dopin? Ibẹrẹ-lọra ni igbagbogbo dopin ilosoke ninu oṣuwọn fifiranṣẹ ni ọkan ninu awọn ọna pupọ:

Ọna akọkọ jẹ ọran ti pipadanu soso lakoko ilana fifiranṣẹ ti o lọra. Nigbati ipadanu soso kan ba waye, TCP ṣeto ferese isunmọ olufiranṣẹ si 1 ati tun bẹrẹ ilana ti o lọra. Ni aaye yii, imọran ti ssthresh ibẹrẹ ti o lọra ni a ṣe afihan, eyiti iye ibẹrẹ rẹ jẹ idaji iye ti cwnd ti o n ṣe ipadanu soso. Iyẹn ni, nigbati a ba rii idinku, iye ssthresh jẹ idaji iye window.

Ọna keji ni lati ni ibamu taara pẹlu iye ti ssthresh ala-ibẹrẹ ti o lọra. Niwọn igba ti iye ssthresh jẹ idaji iye window nigbati a ba rii idinku, pipadanu apo le waye pẹlu ilọpo meji nigbati cwnd tobi ju ssthresh lọ. Nitorina, o dara julọ lati ṣeto cwnd si ssthresh, eyi ti yoo fa TCP lati yipada si ipo iṣakoso idiwo ati ipari-ibẹrẹ.

Ọna ti o kẹhin ti ibẹrẹ ti o lọra le pari ni ti a ba rii awọn acks laiṣe mẹta, TCP ṣe atunṣe iyara ati ki o wọ ipo imularada. (Ti ko ba ṣe kedere idi ti awọn apo-iwe ACK mẹta wa, yoo ṣe alaye ni lọtọ ni ẹrọ gbigbe.)

Yẹra fun Idibo
Nigbati TCP ba wọ inu ipo iṣakoso idinku, cwnd ti ṣeto si idaji iloro ssthresh. Eyi tumọ si pe iye cwn ko le ṣe ilọpo meji ni gbogbo igba ti apakan soso kan ba gba. Dipo, ọna Konsafetifu ti o jo ni a gba ninu eyiti iye cwnd ti pọ si nipasẹ MSS kan ṣoṣo (ipari apakan apo-iwe ti o pọju) lẹhin gbigbe kọọkan ti pari. Fun apẹẹrẹ, paapaa ti awọn apakan 10 ba jẹwọ, iye cwnd yoo ma pọ si nipasẹ MSS kan nikan. Eyi jẹ awoṣe idagbasoke laini ati pe o tun ni opin oke lori idagbasoke. Nigbati pipadanu apo ba waye, iye cwnd yoo yipada si MSS, ati pe iye ssthresh ti ṣeto si idaji cwnd. Tabi yoo tun da idagba ti MSS duro nigbati 3 laiṣe awọn idahun ACK ti gba. Ti o ba jẹ pe awọn acks laiṣe mẹta tun gba lẹhin didapa iye cwnd, iye ssthresh ti wa ni igbasilẹ bi idaji iye cwnd ati ipo imularada yara ti wa ni titẹ sii.

Yara imularada
Ni awọn Yara Ìgbàpadà ipinle, awọn iye ti awọn congestion window cwnd ti wa ni pọ nipa ọkan MSS fun kọọkan gba laiṣe ACK, ti o ni, ACK ti ko ni de ni ọkọọkan. Eyi ni lati lo awọn apakan soso ti o ti gbejade ni aṣeyọri ninu nẹtiwọọki lati mu ilọsiwaju gbigbe ṣiṣẹ bi o ti ṣee ṣe.

Nigbati ACK ti apakan soso ti o sọnu de, TCP dinku iye cwnd ati lẹhinna wọ inu ipo yago fun idinku. Eyi ni lati ṣakoso iwọn ti window isunmọ ati yago fun jijẹ gongo nẹtiwọọki siwaju.

Ti akoko idaduro ba waye lẹhin ipo iṣakoso idinku, ipo nẹtiwọọki naa di pataki diẹ sii ati pe TCP n lọ kuro ni ipo yago fun isunmọ si ipo ti o lọra-ibẹrẹ. Ni idi eyi, iye ti cwnd window idinku ti ṣeto si 1 MSS, ipari apa apo ti o pọju, ati iye ti ssthresh ala-ibẹrẹ ti o lọra ti ṣeto si idaji cwnd. Idi ti eyi ni lati tun-diẹdiẹ mu iwọn window idọti naa pọ si lẹhin ti nẹtiwọọki n gba pada lati dọgbadọgba iwọn gbigbe ati iwọn isunmọ nẹtiwọọki.

Lakotan
Gẹgẹbi ilana gbigbe ti o ni igbẹkẹle, TCP ṣe imuse gbigbe gbigbe ti o gbẹkẹle nipasẹ nọmba ọkọọkan, ifọwọsi, iṣakoso gbigbe gbigbe, iṣakoso asopọ ati iṣakoso window. Lara wọn, ilana iṣakoso ṣiṣan n ṣakoso iye data ti a firanṣẹ nipasẹ olufiranṣẹ gẹgẹbi agbara gbigba gangan ti olugba, eyi ti o yago fun awọn iṣoro ti iṣeduro nẹtiwọki ati ibajẹ iṣẹ. Ilana iṣakoso idiwo yago fun iṣẹlẹ ti isunmọ nẹtiwọọki nipa ṣiṣatunṣe iye data ti o firanṣẹ nipasẹ olufiranṣẹ. Awọn ero ti window idọti ati window fifiranṣẹ ni ibatan si ara wọn, ati pe iye data ti olufiranṣẹ ni iṣakoso nipasẹ ṣiṣatunṣe iwọn ti window idọti. Ibẹrẹ ti o lọra, yago fun idinku ati imularada ni kiakia ni awọn ẹya akọkọ mẹta ti TCP iṣakoso algorithm algorithm, eyi ti o ṣatunṣe iwọn ti window idọti nipasẹ awọn ilana ti o yatọ lati ṣe deede si agbara ati idinku ti nẹtiwọki.

Ni abala ti nbọ, a yoo ṣe ayẹwo ọna gbigbe TCP ni awọn alaye. Ilana gbigbe pada jẹ apakan pataki ti TCP lati ṣaṣeyọri gbigbe igbẹkẹle. O ṣe idaniloju gbigbe data ti o ni igbẹkẹle nipasẹ gbigbe sisonu, ibajẹ tabi data idaduro. Ilana imuse ati ilana ti ẹrọ isọdọtun yoo ṣafihan ati itupalẹ ni awọn alaye ni apakan atẹle. Duro si aifwy!


Akoko ifiweranṣẹ: Kínní-24-2025