TCP's geheim Waff: Netzwierkflow Kontroll an Netzwierksverkéierskontroll

Tcp Zouverlässegkeet Transport
Mir bestinn all mat TCP Protokoll als zouverléisseg Transport Protokoll, awer wéi geet et Iech sécherzestellen, datt d'Relatioun vum Transport?

Fir verlängste Portrée, vill Reihen misse beréckelt ginn, wéi d'Déquelvehneht; Fersbuch, Wou aus Handspuliliss, an aus der Bestellungslage kommen. Wann dës Probleemer kënnen net geléist kënne ginn, net ze verschwënnt kann net erreechen ka geschéckt.

Dofir zéckt TCPS

An dësem Pabuer nët konzentréiert mir dei einfach, flloe Klofséck an Stneg Kontroll vum TCP. De Retriensementsmechanismus ass getrennt an der nächster Sektioun.

Reseau Flow Kontroll
Reseau Flow Kontroll oder wësst als Netzwierkverkéierskontrolle eigentlech eng Manifestatioun vun der subtereger Bezéiung tëscht Produkter a Konsumenten. Dir kënnt wahrscheinlech op dësem Szenario vill op der Aarbecht oder an Interviewe kommen. Wann de Produit seng Kapazitéit méi héich ass, déi d'Kapazitéit vum Grond ze produzéieren, fir ze konsuméieren, wäert d'Schlaang onbestëmmend ginn. An engem méi eeschte Fall, Dir wësst datt wann de RabbitMq Messagen sech ze vill ass, kann et d'Pereznlight Degradatioun vum ganze MQ-Server maachen. D'selwecht ass wouer fir TCP; D`Goulos bleiwen unhuelbar, och vill Messagen ginn an d'Reseau gesat, an d'Berriffer wäert hir Kapzen weiderginn, wat och d'Beräicher vum Client muss hektrellen.

Fir dësen Phantenononen, tCP ze adresséieren, bitt e Mankanismus fir de Secher un fir d'Quantitéit vun Daten un der aktueller Empfehlung ze kontrolléieren op der Econce Control. Den Empfänger hält eng Empfang Fenster, wärend de Sender eng schéckt eng Sendfënster hält. Et sollt bemierkt datt dës Windows nëmmen fir eng eenzeg TCP Verbindung sinn an net all Nesse gëtt, deelen.

TCP bitt Flowkontrolle andeems Dir eng Variabel fir eng Empfang Fënster benotzt. D'Benotzung Fënster gëtt de Sender eng Indikatioun fir wéi vill Cache Raum nach verfügbar ass. De Sender kontrolléiert d'Quantitéit vun Daten, déi no der aktueller Akzeptanzkapazitéit vum Empfänger geschéckt.

De Empfänger Host notifizéiert de Sender vun der Gréisst vun den Daten, déi et kritt, an de Sender schéckt op dës Limit. Dës Limit ass d'Fenstergréisst, erënnert un den TCP Header? Et gëtt eng Empfang Fënsterfeld, wat benotzt gëtt fir d'Zuel vun de Byts ze weisen, ass de Empfänger oder gewëllt ze kréien.

De Sender Host huet periodesch periodesch eng Fenster Conbe Packet geschéckt, wat benotzt gëtt fir den E-Mail nach ëmmer ze z'entdecken, ass nach ëmmer Daten ze akzeptéieren. Wann de Empfängerbuffer a Gefor vun der Iwwerschoss ass, ass d'Fenstergréisst op e méi klenge Wäert gesat fir de Sender ze instruéieren fir de Betrag vun den Donnéeën ze kontrolléieren.

Hei ass en Netzwierkfloss Kontroll Diagramm:

Konce-Kontroll

Network Stau Kontroll
Virun Aféierung vun der Staube Kontroll, mir musse nieft der Empfangfenster an der Schenderfenster ze verstoen, gëtt et haaptsächlech Fenster, déi haaptsächlech benotzt gëtt fir de Problem, dat de Problem ass, da gëtt et och engagéiert, Dofir ass d'Staufenster an den TCP Sender gehalen. Mir brauchen en Algorithmus fir ze entscheeden wéi vill Daten passend ass fir ze schécken, well se ze wéineg oder ze vill Daten schécken ass net ideal, dofir ass d'Konzept vun enger Stéierungsfenster.

An der viregem Netzwierk Flowkontrolle, wat mir evitéiert war de Sender vum Empfänger mat Daten ze fëllen, awer mir woussten dat net wousst wat am Netz geschitt. Typesch, Computer Netzwierker sinn an engem gedeeltem Ëmfeld. Als Resultat kann et Netzwierkstécker ginn wéinst Kommunikatioun tëscht anere Hosts.

Wann de Undate selwer geegelt ass, wann eng grouss Zuel vu Package weidergeleet ginn, ginn op verschgeschriwwen, ass dat de Problemer a sech Verméigen vu Packverzockeren gewinn. Op dësem Moment gëtt den TCP d'Donnéeën of, mee d'Retrianrëtt verfollegt d'Läschmëttel d'Läschung vum Reseau an der méi Partyersen. Dëst kann an e béissegen Zyklus kommen an ëmmer méi grouss ginn.

Also kann TCP net ignoréieren wat am Netz geschitt. Wann de Reseau sech gestierzt ass, tcp Opfer selwer duerch d'Quantitéit vun der Daten ze reduzéieren.

Dofir, Stau Kontroll gëtt proposéiert, wat d'Ziler ze vermeiden de ganzen Netzwierk mat Daten aus dem Sender auszeféieren. Fir d'Quantitéit vun Daten ze regléieren ass de Sender ze schécken, tcp definéiert e Konzept der Staufenster. Den Stau Kontroll Algorithmus wäert d'Gréisst vun der Staufenster no dem Staumgrad vum Netzwierk unzepassen, sou datt d'Quantitéit vun den Donnéeën vum Sender kontrolléiert gëtt.

Wat ass eng Staufenster? Wat muss dëst mat der Schéckt Fenster maachen?

D'Staufenster ass e Staat Variabel vum Sender deen de Betrag vun der Date bestëmmt gëtt, kann de Sender schécken. D'Staufenster ännert sech dynamesch no dem Stauniveau vum Netzwierk.

D'Sendungsfenster ass eng ausgemaach op d'nächst Kéier tëscht dem Sender an Empfänger, deen de Betrag vun den Donnéeën weist, kann de Empfänger kréien. Der Staufenster an d'Sendungsfenster sinn am Zesummenhang. D'Sendungsfenster ass normalerweis gläich wéi de Minimum vun der Stau a kritt Fensteren, déi ass, datt et ass, swnd = min (cwnd).

D'Staufenster Cwnd Ännerungen wéi follegt:

Wann et keng Stau an de Reseau gëtt, dh, kee Retragitiounszäitzäit geschitt, déi Staufenfënster eropgeet.

Wann et Stau an d'Netzwierk gëtt, ass d'Staufen Fënster erof.

De Sender bestëmmt ob de Reseau sech gestierzt gëtt duerch observéiert ob den ACK Unerkennung Paket an der spezifizéierter Zäit kritt. Wann de Sender net den ACK Unerkennung Paket an der spezifizéierter Zäit kritt, gëtt et ugesinn, wat de Reseau sech gestëmmt gëtt.

Zousätzlech zu der Staufenster, et ass Zäit fir den TCP Stau ze diskutéieren Kontroll Algorithmus. TCP Stau Controll ALGORITM besteet aus dräi Haaptdeeler:

Lues Start:Ufanks, déi cwnd Staufenster ass relativ kleng, an de Sender erhéicht d'Stauf Fenster exponononen oft un d'Kapazitéit fir d'Kapazitéit un d'Kapazitéit unzefroen.
Stau Verpflichtung:No der Staufenster méi wéi eng gewësse Schwellung, déi de Sender d'Staufenster an enger linearer Manéier eropgeet fir de Wuesstums-Fenster ze lueden an vermeit d'Netzwierker.
Séier Erhuelung:Wann d'Stau opmaachen, ass de Sender d'Staufenster an d'Fenster a ersetzt de Fast Erhuelung Staat fir de Standuert vun der Netzwierk Erhuelung duerch déi nei Erzéiungshosten ze bestëmmen déi weider Drecksfenster ass.

Liwwerste Start
Wann eng TCP Verbindung etabléiert ass, gëtt d'Staufenster Cwnd an der Mindestlss op e minimum Segment (maximal Segmentgréisst) de Wäert. Bei Wolls schéckt den initial Punkte gëtt iwwer d'MSS / RTT Bytes / Sekonn. Déi tatsächlech Lëschtung Bandewidmet ass meeschtens vill méi grouss wéi MSS / RTT, sou datt den Optim geschriwwen gëtt, wat kann zréckgesat.

Am Slow passende Prozess gëtt de Wäert vun der Streckfënster CWond ginn. Duerno ass de Wäert vum Cwnd fir all erfollegräich Iwwerdroung vun engem Package Segment ze verduebelt, an sou weider. De Matchst Wuesstem gëtt an der folgendfeil gewisen.

 Network Stau Kontroll

Wéi och ëmmer, den Sendung kann net ëmmer wuessen; de Wuesstum huet iergendwann en Enn. Also, wéini gëtt d'Sendungsrälterstécker of? Eréit

Déi éischt Manéier ass de Fall vum Packageverloscht wärend dem Sendungsprozess vu luesen Start. Wann e Paketverloscht geschitt ass, setzt den TCP d'Stauss Fenster Cwnd op 1 nei starten an de luesen-Startprozess nei starten. Zu dësem Zäitpunkt ass e Konzept vu luesen Start Schwell SSTHrht gëtt agefouert, deem säi initialen Wäert ass d'Halschent vum Wäert vun der Cwnd, dee Pattverloscht genéisst. Dat ass, wann d'Stau festgestallt gëtt, ass de Wäert vun der SSTHHSHrht d'Halschent vum Fensterwäert.

Déi zweet Manéier ass fir direkt korreléieren mam Wäert vum lues-fänken d'Schwell Ssthrhrh. Zënter dem Wäert vun der SSTHrht ass d'Halschent vum Fënsterwäertung wann d'Stau festgestallt gëtt, packt, pazetverloscht kann mat all Verdueblung geschitt wann Cwnd méi grouss ass wéi d'SSTHresh. Dofir ass et am Beschten ze cwnd an d'SSTHHES ze setzen, déi TCP contage Kontrollmodus ze wiesselen an d'Stau an d'Enn-Start ze wiesselen.

Dee leschte Wee wéi lues Start kann Enn sinn ass wann dräi redundant Acker festgestallt ginn, tcp eng séier Retragsung leeft an den Erhuelungstaat kënnt. Iwwerhuelen wann et net kloer sinn firwat et dräi Packepaketen ofgefouert gëtt, gëtt se getrennt am Retard mat dem Retras Mechanismus.)

Stau Verpflichtung
Wann den TCP den Stau Kontrollstand an d'Rendung ass, ass d'Cwnd op d'Halschent vun der Stau, déi d'Secherhrëschung agestallt gëtt. Dëst bedeit datt de Wäert vun der Cwnd net all Kéier kann verduebelt ginn, gëtt e Packet Segment kritt. Amplaz, ass eng relativ konservativen Approche adoptéiert an deem de Wäert vum Cwnd ass duerch nëmmen eng MSS erhéicht (maximal Packet Segmentlängt, nodeems all Iwwergangslängt ofgeschloss gëtt. Zum Beispill, wann och 10 Paketeventer ugefrot hunn, de Wäert vun der KiwNiwwerschweiert op eng m Dëst ass e lineare Wuesstem Modell an et huet och eng grouss Grenz op Wuesstem. Wann de Paketverloscht geschitt ass, gëtt de Wäert vun der Cwnd mat engem MSS geännert, an de Wäert vun der SSTHrht ass op d'Halschent vun der Cwnd gesat. Oder et wäert och de Wuesstum vum MSS stoppen wann 3 redundant ACK Äntwerte kritt ginn. Wann dräi redundant Acks nach ëmmer kritt nodeems de Wäert vum Cwnd opgehuewe gëtt, gëtt de Wäert vun der SSTHrht als hallef Wäert vum Cwnd an dem schnell Erhuelung aginn.

Ganz séier Erhuelung
An der schnell Erhuelung Zoustand huet de Wäert vun der Streck Fënster cwond mat engem Mss fir all wiessels virun allem weider kritt, Phantier. Dëst ass ze benotzen vun de Pakenznungen, déi erfollegräich am Netzwierker iwwersetze goufen, fir d'Transmissioun net sou vill wéi méiglech ze verbesseren.

Wann en Ack vum verluerene Packet Segment ukomm ass, fällt de Wäert vum Cw Dëst ass fir d'Gréisst vun der Staufenster ze kontrolléieren an ze vermeiden weider d'Netzwierkbau ze erhéijen.

Wann en Timeout nom Stau Controllstaat geschitt, gëtt d'Netzwierkkonditioun méi eescht an tcp migréiert aus dem Stauverbehandlungsstatum an de luesen-Startstaat. An dësem Fall ass de Wäert vun der Staufenster Cwnd op 1 mss gesat, déi maximal Paget Segment Segment Längt, an de Wäert vum lues-fuertwierte Schwierter ass an d'Halschent vum Cwndhr. Den Zweck vun dësem ass fir d'Gréisst vun der Stau vun der Staufenster nei opzehuelen nodeems d'Netzwierk erholt fir d'Transmissiounsraten ze balanséieren an de Grad vun der Netzwierkbau.

Resumé
Wéi effektiv Transportverkongung vun der CSCP insclizéiert Taktsverkierger duerch Transplérespondenz, huet Dréimomentanlag an Fënsterbuchgeldung a Fënsterbuchgeldung a Fënsterbuchgeldung a Fënsterbuchgeldung a Fënsterbuchgeldung. Hei sin hinnen, de Flux Kontroll Mechanismus kontrolléieren d'Quantitéit vun den Donnéeë vum Leedungsforman geschéckt no der UNOKTIOUNZAKTIOUNTIOUN, déi d'Problemer vum Empfehlung a Pervradratioun a Perrangéieren a Leeschtung vermeit. Den Stau Kontrollmechanismus vermeit d'Optriede vun der Netzwierkstreck andeems Dir d'Quantitéit vun den Donnéeën vum Sender unzepassen. D'Konzepter vun de Streckfenster a Schécken Fënstere sinn matenee verbonne, an d'Quantitéit vun den Daten am Sender gëtt duerch dynamesch déi Gréisst vun der Stauffenster ugemellt. Lues Start, Stau Verpenter a schnell Erhuelung sinn déi dräi Haaptdeeler vun den TCP Stau Contage Algorithmus, déi d'Gréisst vun der Stau an d'Staufgabe passen.

An der nächster Sektioun, mir wäerten den TCP dem TCP dem Retrisermechanismus am Detail iwwerpréiwen. Retcidentmechanismus ass e wichtegen Deel vun TCP fir zouverlässeg Iwwerdroung ze erreechen. Et garantéiert déi zouverléisseg Iwwerdroung vun Daten duerch zréckzeginn verluer, korrupt oder verspéiten Daten. Destenzulerhinzip allgemeng vun de Réckzéierer gëtt am Detail am Detail an analys an analyséiert. Bleift Tun!


Post Zäit: Feb-24-2025