TCP's Secret Weapon: Netwurkstopkontrôle en netwurk congestion kontrôle

TCP-betrouberensferfier
Wy binne allegear bekend mei TCP-protokol as in betrouber transportprotokol, mar hoe soarget it de betrouberens fan ferfier?

Om betroubere transmission te berikken moatte in protte faktoaren wurde beskôge, lykas gegevens korrupsje, ferlies, duplikaasje, en út-oarder shards. As dizze problemen net kinne wurde oplost, kin betroubere oerdracht net berikke wurde.

Dêrom wurket TCP Mechanismen lykas sekwinsje-nûmer, resinsje ferstjoerd, stjoer kontrôle, ferbiningbehear, en finsterkontrôle om betroubere oerdracht te berikken.

Yn dit papier sille wy rjochtsje op it Sliding-finster, Flow Control en Congestion Control of TCP. It opnij ferstjoerde meganisme wurdt apart bedekt yn 'e folgjende paragraaf.

Netwurk Flow Control
Netwurkstream of witte as net as netwurkferkearkontrôle is eins in manifestaasje fan 'e subtile relaasje tusken produsinten en konsuminten. Jo binne wierskynlik dit senario yn 't wurk oer it wurk kommen as yn ynterviews. As de kapasiteit fan 'e produsint om de kapasiteit fan' e konsumint te produsearjen om te konsumearjen om te konsumearjen, it sil de wachtriid ûnbepaalde wurde om ûnbepaalde te groeien. Yn in mear serieuze gefal, kinne jo miskien wite dat as rabbitmq-berjochten te folle stapke, kin it prestaasjes degradaasje fan 'e heule MQ-server feroarsaakje. Itselde is wier foar TCP; As se net kontroleare binne, sille te folle berjochten yn it netwurk wurde pleatst, en de konsuminten sille har kapasiteit hawwe oerskreaun, wylst de produsinten de prestaasjes fan it útfieren fan it netwurk sille beynfloedzje.

Om dit ferskynsel oan te pakken biedt TCP in meganisme foar de stjoerder om it bedrach fan gegevens te kontrolearjen basearre op basis fan 'e eigentlike resepsje fan' e ûntfanger, dat is bekend as streamkontrôle is bekend. De ûntfanger ûnderhâldt in ûntfangen finster, wylst de stjoerder in ferstjoerde finster ûnderhâldt. It moat opmurken wurde dat dizze finsters allinich binne foar ien TCP-ferbining en net alle ferbiningen diele in finster.

TCP biedt streamkontrôle troch in fariabele te brûken foar in ûntfangen finster. It Untfang-finster jout de stjoerder in oantsjutting oan hoefolle Cache-romte noch beskikber is. De stjoerder kontroleart de hoemannichte gegevens ferstjoerd neffens de eigentlike akseptaasje kapasiteit fan 'e ûntfanger.

De ûntfierdergrost makket de stjoerder fan 'e grutte fan' e gegevens dy't it kin ûntfange, en de stjoerder stjoert oant dizze limyt. Dizze limyt is de finstergrutte, ûnthâlde de TCP-koptekst? D'r is in ûntfangen finsterfjild, dat wurdt brûkt om it oantal bytes oan te jaan dat de ûntfanger kin as ree om te ûntfangen.

De sender-gasthear sil periastonyk periodyk stjoere, dat wurdt brûkt, dy't wurdt brûkt om te detektearjen as de ûntfiersteost noch kin akseptearje gegevens. Doe't de buffer fan 'e ûntfanger is fan oerstreaming fan oerstreaming is, is de finstergrutte ynsteld op in lytsere wearde om de stjoerder te ynstruearjen om de ferstjoerde gegevens te kontrolearjen.

Hjir is in netwurkstúdzampadymonadygregram:

Ferkearskontrôle

Netwurk congestie kontrôle
Foardat jo dat yntrodusearje dat wy dat moatte begripe dat jo njonken it ûntfangen finster en it stjoerfinster hawwe, dat is foaral brûkt om it probleem te lossen op hokker taryf dat de stjoerder gegevens begjint te stjoeren nei it ûntfangen finster Dêrom wurdt it congestie-finster ek ûnderhâlden troch de TCP-stjoerder. Wy hawwe in algoritme nedich om te besluten hoefolle gegevens passend binne om te stjoeren, om't jo te min ferstjoere binne dat net ideaal ferstjoert is net ideaal, dêrce it konsept fan in konsept-finster.

Yn 'e foarige netwurkstream-kontrôle, wat wy foarkomme, wie de stjoerder de cache fan' e ûntfanger dy't de ûntfanger foldie, mar wy wisten net wat der barde yn it netwurk. Typysk binne komputernetwurken yn in dielde omjouwing. As resultaat kin d'r netwurkstop wêze fanwegen kommunikaasje tusken oare hosts.

Doe't it netwurk is congest, as in grut oantal pakketten wurde ferstjoerd wurde, kin it problemen feroarsaakje, lykas fertraging en ferlies fan pakketten feroarsaakje. Op dit punt sil TCP de gegevens opnij leverje, mar de útstjoering sil de lêst ferheegje op it netwurk, wat resultearje yn gruttere fertragingen en mear pakketferlies. Dit kin yn in wrede syklus komme en bliuwe grutter wurde.

Sa kin TCP net negearje wat der bart op it netwurk. Doe't it netwurk is congested, offers himsels opofferet troch it ferminderjen fan it bedrach fan gegevens dy't it stjoert.

Dêrom wurdt foarsteld kontrôle foarsteld, dat is fan doel it heule netwurk te foljen mei gegevens fan 'e stjoerder. Om it bedrach fan gegevens te regeljen, moat de stjoerder stjoere, soe TCP moatte stjoere, is TCP in konsept omroppen it finster fan 'e congestie. It CONGIONS CONTROL ALGORITM sil de grutte fan it stribjen finster oanpasse neffens de congestion-graad fan it netwurk, om de hoemannichte gegevens te kontrolearjen troch de stjoerder.

Wat is in finster in congestie? Wat hat dit te meitsjen mei it stjoerfinster?

It finster congestie-finster is in steatfariabele behâlden troch de stjoerder dy't de hoemannichte gegevens bepaalt dat de stjoerder kin stjoere. It finster congestie feroaret dynamysk neffens it congestionnivo fan it netwurk.

It ferstjoeringsfenster is in ôfpraat finstergrutte tusken de stjoerder en ûntfanger dy't oanjout dat de hoemannichte gegevens oanjout, de ûntfanger kin ûntfange. It finster congestie-finster en it ferstjoeren fan it ferstjoeren binne besibbe; It ferstjoeringsfenster is normaal gelyk oan it minimum fan 'e congestie en ûntfangen fan finsters, dat is, swnd = min (CWND, RWND).

It finster Congestie-cwnd feroarings as folget:

As d'r gjin congestie is yn it netwurk, dan is Ie, dan is gjin opnij útstjoering foarkomt, nimt it congestie-finster ta.

As d'r congestie is yn it netwurk, nimt it congestie-finster ôf.

De stjoerder bepaalt oft it netwurk is mei it waarnimmen troch te observearjen of de ack erkenningpakket wurdt ûntfongen binnen de bepaalde tiid. As de stjoerder it ACC-erkenning fan ACC-erkenning net binnen de oantsjutte tiid ûntfangt, wurdt it beskôge dat it netwurk is congest.

Njonken it finster fan 'e congestie is it tiid om de TCP-congestie-kontrôle fan TCP-congestion te besprekken. TCP CONGIEFT CONTROL ALGORITM bestiet út trije haaddielen:

Slow Start:Yn it earstoan is it finster fan CWN-congestiid relatyf lyts, en de stjoerder fergruttet it stroffelen fan it stroffestjoers dy't eksponentieel fergruttet om fluch oan te passen oan 'e kapasiteit fan it netwurk.
Pogestie foarkommen:Neidat it finster fan it stroffel fan 'e congestie is, fergruttet de stjoerder it stroffestingen yn in lineêre manier om it groeiende taryf te tragen en it finster fan it stroffel fan it stroffelheid te tragen en it net te oerladen.
Fast herstel:As congestie foarkomt, helpt de stjoerder, it fast-hersteltiid yn om de lokaasje te bepalen om de lokaasje te bepalen fan it netwurkferwidering troch de krige duplikaat foar it ferheegjen fan it finster fan 'e duplikaasje.

Slow Start
As in TCP-ferbining is oprjochte, wurdt it Congestie-finster CWN's yn 't earstoan ynsteld op in minimale MSS (maksimale segmentgrutte) wearde). Op dizze manier, it initial ferstjoerkoers giet oer MSS / RTT Bytes / Twad. De eigentlike beskikbere bandbreedte is normaal folle grutter dan MSS / RTS, dus TCP wol it optimale ferstjoerkoers fine, dy't kin wurde berikt troch middel fan traach-start.

Yn it traach-startproses sil de wearde fan 'e wearde fan' e congestie-sWND wurde inisjaliseare, en elke kear wurdt it segment fan 'e útwurke pakket wurde erkend, wurdt de wearde fan CWD ferhege troch ien MSS, dat is, de wearde fan CWND sil 2 mss wurde. Hjirnei wurdt de wearde fan CWD ferdûbele foar elke suksesfolle oerdracht fan in pakketegment, ensafuorthinne. It spesifike groeiproses wurdt toand yn 'e folgjende figuer.

 Netwurk congestie kontrôle

It ferstjoeren fan it ferstjoeren kin lykwols net groeie; De groei moat somtiden einigje. Dat, wannear is it ferstjoeren fan it ferstjoeren fan it ferstjoeren? Slow-start einiget typysk de ferheging fan it ferstjoeren yn it ferstjoeren yn ien fan ferskate manieren:

De earste manier is it gefal fan pakketferlies tidens it ferstjoeren fan it stjoer fan trage start. As in pakketferlies foarkomt, stelt TCP de congestie-finster fan 'e stjoerder fan' e stjoerder fan 'e stjoerder oan 1 en start it stadich-startproses. Op dit punt wurdt in konsept fan 'e trompele sShold SSTHRESH yntrodusearre, waans initial wearde de helte is fan' e wearde fan CWND dat it pakketferlies genereart. Dat is, as congestie wurdt ûntdutsen, is de wearde fan SSTHRresres de helte fan 'e finsterwearde.

De twadde manier is om direkt te korrelearjen mei de wearde fan 'e slow-start-drompel sSthresh. Sûnt de wearde fan SSTHRresh is de helte fan 'e finsterwearde as congestie wurdt ûntdutsen, kin pakketferlies foarkomme mei elk ferdûbelje as CWN's grutter is as SSTHRESH. Dêrom is it it bêste om Cwnd nei SSHRESH yn te stellen, dy't TCP sil feroarsaakje om te wikseljen nei CONGESTION CONTROLMODE EN EIN SLOW-START.

De lêste manier dat trage begjint kin einigje is as trije redundante akken wurde ûntdutsen, docht TCP in snelle útstjoering en komt de hersteltiid yn. (As it net dúdlik is wêrom binne d'r trije ackpakketten binne, sil it apart wurde ferklearre yn it opnij yntsjinne meganisme.)

Congestie foarkommen
As TCP ynkomt, is CONTION CONTRONSE IS CWNT IS SETT TO HALL DE CONGIDEST DRESSHOLD SSTHRESH SSHRESH. Dit betsjut dat de wearde fan CWN kin net ferdûbele wurde, elke kear is in Packet-segment wurdt ûntfongen. Ynstee wurdt in relatyf konservative oanpak yn oannommen wêryn de wearde fan CWN wurdt ferhege troch mar ien MSS (Maksimum Pakketsseggle-lingte) nei elke oerdracht is foltôge. Bygelyks, sels as 10 pakket-segminten wurde erkend, sil de wearde fan CWN's allinich ferheegje troch ien MSS. Dit is in lineêr groeimodel en it hat ek in boppegrins op groei. As it pakketferlies foarkomt, wurdt de wearde fan CWN feroare yn in MSS, en de wearde fan SSTHRresh is ynsteld op de helte fan CWND. Of it sil ek de groei fan MSS stopje as 3 Redundante ack-antwurden wurde ûntfongen. As trije oerdrachten noch wurde ûntfongen nei't de wearde fan CWND wurdt ûntfongen, wurdt de wearde fan SSTHRresres opnommen as de helte fan 'e wearde fan CWND en de snelle hersteltiid is ynfierd.

Fluch herstel
Yn 'e snelle hersteltiid wurdt de wearde fan' e wearde fan 'e congestie-finster wurdt ferhege troch ien mss foar elke ûntfangen redundante ack, dat is, akk dy't net oankomt yn sekwinsje. Dit is om gebrûk te meitsjen fan it pakket-segminten dy't suksesfol binne oerbrocht yn it netwurk om de oerdracht effisjinsje safolle mooglik te ferbetterjen.

Doe't in ACK fan 'e ferlern pakket Segment oankomt, nimt TCP de wearde fan CWND ôf en komt dan de fergoeding foarkommende foarkommen yn. Dit is om de grutte te kontrolearjen fan it finster fan it stribjen en foarkomme dat it net te ferheegjen fan it netwurk fan it netwurkstop.

As in time-out foarkomt nei de Conness Control-steat, wurdt de netwurkstabileer en TCP migraten fan 'e foarkommende fergoeding fan' e congestolly. Yn dit gefal is de wearde fan 'e wearde fan' e tastimming fan it congestion-cwnd ynsteld op 1 mss, de lingte fan it pakketpegg, en de wearde fan 'e slow-start-drompels sShold is ynsteld op de helte fan CWND. It doel hjirfan is om de grutte fan 'e grutte fan it stipe fan it kongestion te ferheegjen nei it netwurk herstelt om it transmisso-taryf te balansearjen en de graad fan netwurkstop.

Gearfetting
As in betrouber transport protokol, TCP-ymplisearret TCP-ymplisearjende ferfier troch sekwinsjenûmer, erkenning, útstjoeringskontrôle, ferbiningbehear en finsterbehear en finsterbehear en finsterbehearsking. Under har kontroleart it stream fan 'e Flow Control of de hoemannichte gegevens ferstjoerd troch de stjoerder neffens de werklike kado's fan' e ûntfanger, dy't de problemen foarkomt fan netwurkstop en prestaasjes degradaasje. It confestie-meganisme foarkomt it optreden fan netwurkstop troch it oanpassen fan 'e hoemannichte gegevens ferstjoerd troch de stjoerder. De begripende finster en it ferstjoeren fan finster binne relatearre oan elkoar, en de hoemannichte gegevens yn 'e stjoerder wurdt kontroleare troch dynamysk de grutte fan it kongestaasjefenster oan te passen. Slow Start, Congestie foarkommen en snelle herstellen binne de trije haaddielen fan TCP-congestion-kontrôle fan TCP, dy't de grutte oanpasse fan it stribjen nei ferskate strategyen om oan te passen oan 'e kapasiteit en congestion-mjitte fan it netwurk.

Yn 'e folgjende paragraaf sille wy TCP's opnij ferstjoeren fan TCP ûndersykje yn detail. Ferstjoermeganisme is in wichtich diel fan TCP om betroubere oerdracht te berikken. It soarget derfoar dat de betroubere oerdracht fan gegevens feroaret troch ferlern ferlern, beskeadige of fertrage gegevens. It ymplemintaasjeprinsipe en strategy fan it opnij fan it opnij ferstjoeren fan 'e útstjoeringsmeganisme sil wurde yntrodusearre en analysearre yn detail yn' e folgjende seksje. Bliuw ôfstimd!


Posttiid: FEB-24-2025