TCP's riam phom zais cia: Network Flow Control thiab Network Congestion Control

TCP Reliability Transport
Peb txhua tus paub txog TCP raws tu qauv raws li kev thauj mus los txhim khu kev qha, tab sis nws ua li cas kom ntseeg tau tias kev thauj mus los?

Txhawm rau kom ua tiav kev sib kis tau zoo, ntau yam yuav tsum tau txiav txim siab, xws li cov ntaub ntawv kev noj nyiaj txiag, kev poob, kev sib tw, thiab kev txiav txim tsis zoo. Yog tias cov teeb meem no daws tsis tau, kev sib kis tsis tuaj yeem ua tiav.

Yog li ntawd, TCP ntiav cov txheej txheem xws li tus lej ua ntu zus, kev lees paub teb, rov xa kev tswj hwm, kev tswj hwm kev sib txuas, thiab kev tswj qhov rais kom ua tiav kev sib kis tau zoo.

Nyob rau hauv daim ntawv no, peb yuav tsom mus rau lub qhov rais zawv zawg, ntws tswj thiab congestion tswj ntawm TCP. Lub retransmission mechanism yog them cais nyob rau hauv seem tom ntej no.

Network Flow Control
Network Flow Control lossis paub tias Network Traffic Control yog qhov tseeb ntawm kev sib raug zoo ntawm cov neeg tsim khoom thiab cov neeg siv khoom. Tej zaum koj tau tuaj hla qhov xwm txheej no ntau ntawm kev ua haujlwm lossis hauv kev xam phaj. Yog tias tus neeg tsim khoom muaj peev xwm tsim tau ntau tshaj li tus neeg siv khoom lub peev xwm los noj, nws yuav ua rau cov kab loj hlob mus ib txhis. Hauv qhov xwm txheej hnyav dua, koj yuav paub tias thaum RabbitMQ cov lus sib sau ntau dhau, nws tuaj yeem ua rau kev ua haujlwm tsis zoo ntawm tag nrho MQ server. Tib yam muaj tseeb rau TCP; Yog tias tsis tau txheeb xyuas, ntau cov lus yuav raug muab tso rau hauv lub network, thiab cov neeg siv khoom yuav tau tshaj lawv lub peev xwm, thaum cov neeg tsim khoom yuav txuas ntxiv xa cov lus sib npaug, uas yuav cuam tshuam rau kev ua haujlwm ntawm lub network.

Txhawm rau hais txog qhov tshwm sim no, TCP muab cov txheej txheem rau tus neeg xa khoom los tswj tus nqi ntawm cov ntaub ntawv xa tawm raws li lub peev xwm txais tos tiag tiag ntawm tus txais, uas yog hu ua kev tswj hwm ntws. Tus receiver tuav lub qhov rais txais, thaum tus xa ntawv tuav lub qhov rais xa. Nws yuav tsum raug sau tseg tias cov Windows no tsuas yog rau ib qho kev sib txuas TCP nkaus xwb thiab tsis yog txhua qhov kev sib txuas sib koom ua ke.

TCP muab kev tswj ntws los ntawm kev siv qhov sib txawv rau lub qhov rais txais. Lub qhov rais txais tau muab rau tus neeg xa khoom qhia txog qhov chaw cache ntau npaum li cas tseem muaj. Tus neeg xa khoom tswj hwm tus nqi ntawm cov ntaub ntawv xa mus raws li qhov kev lees paub tiag tiag ntawm tus txais.

Tus tswv tsev txais xov xwm ceeb toom rau tus neeg xa xov ntawm qhov loj ntawm cov ntaub ntawv nws tuaj yeem tau txais, thiab tus neeg xa khoom xa mus txog qhov txwv no. Qhov kev txwv no yog lub qhov rais loj, nco ntsoov TCP header? Muaj qhov chaw txais qhov rais, uas yog siv los qhia tus naj npawb ntawm bytes tus txais tau lossis kam txais.

Tus tswv tsev xa ntawv yuav xa ib lub pob ntawv tshawb nrhiav qhov rai, uas yog siv los txheeb xyuas seb tus tswv tsev puas tseem tuaj yeem lees txais cov ntaub ntawv. Thaum tus neeg txais qhov tsis txaus nyob rau hauv qhov txaus ntshai ntawm overflowing, lub qhov rais loj yog teem rau tus nqi me me los qhia tus neeg xa khoom kom tswj tau cov ntaub ntawv xa mus.

Nov yog daim duab Network Flow Control:

Tswj kev tsheb

Network Congestion Control
Ua ntej qhia txog kev tswj congestion, peb yuav tsum nkag siab tias ntxiv rau qhov tau txais qhov rais thiab qhov rai xa, kuj tseem muaj lub qhov rais congestion, uas yog siv los daws qhov teeb meem ntawm tus nqi twg tus xa khoom pib xa cov ntaub ntawv mus rau qhov rais txais. Yog li ntawd, lub qhov rais congestion kuj yog tswj los ntawm TCP sender. Peb xav tau ib qho algorithm los txiav txim siab npaum li cas cov ntaub ntawv tsim nyog xa, txij li xa cov ntaub ntawv tsawg dhau lossis ntau dhau tsis zoo, yog li lub tswv yim ntawm lub qhov rais congestion.

Hauv kev tswj hwm lub network dhau los, qhov peb zam tau yog tus xa khoom sau cov neeg txais lub cache nrog cov ntaub ntawv, tab sis peb tsis paub tias muaj dab tsi tshwm sim hauv lub network. Feem ntau, computer networks nyob rau hauv ib qho chaw sib koom. Yog li ntawd, tej zaum yuav muaj kev sib txuas hauv network vim kev sib txuas lus ntawm lwm tus tswv.

Thaum lub network congested, yog tias muaj ntau cov pob ntawv txuas ntxiv xa mus, nws yuav ua rau muaj teeb meem xws li ncua sij hawm thiab poob ntawm cov pob ntawv. Lub sijhawm no, TCP yuav rov xa cov ntaub ntawv rov qab, tab sis kev xa rov qab yuav ua rau lub nra ntawm lub network, ua rau muaj kev ncua loj dua thiab ntau pob ntawv poob. Qhov no tuaj yeem nkag mus rau hauv lub voj voog vicious thiab ua kom loj dua.

Yog li, TCP tsis tuaj yeem tsis quav ntsej qhov tshwm sim ntawm lub network. Thaum lub network yog congested, TCP txi nws tus kheej los ntawm kev txo tus nqi ntawm cov ntaub ntawv nws xa.

Yog li ntawd, kev tswj congestion yog npaj, uas lub hom phiaj kom tsis txhob sau tag nrho lub network nrog cov ntaub ntawv los ntawm tus neeg xa khoom. Txhawm rau tswj tus nqi ntawm cov ntaub ntawv tus neeg xa khoom yuav tsum xa, TCP txhais lub tswv yim hu ua lub qhov rais congestion. Lub congestion tswj algorithm yuav kho qhov loj ntawm lub qhov rais congestion raws li congestion degree ntawm lub network, thiaj li los tswj tus nqi ntawm cov ntaub ntawv xa los ntawm tus xa.

Lub qhov rais congestion yog dab tsi? Qhov no ua li cas rau lub qhov rai xa?

Congestion Window yog lub xeev hloov pauv tau tswj hwm los ntawm tus neeg xa khoom uas txiav txim siab tus nqi ntawm cov ntaub ntawv uas tus xa tuaj yeem xa tuaj. Lub qhov rais congestion hloov dynamically raws li congestion theem ntawm lub network.

Qhov Xa Ntawv Qhov rai yog qhov pom zoo raws li qhov loj me ntawm qhov xa ntawv thiab tus txais uas qhia txog cov ntaub ntawv uas tus neeg txais tau txais. Lub qhov rais congestion thiab lub qhov rais xa khoom muaj feem xyuam; qhov xa qhov rais feem ntau yog sib npaug rau qhov tsawg kawg nkaus ntawm congestion thiab txais Windows, uas yog, swnd = min(cwnd, rwnd).

Lub congestion window cwnd hloov raws li nram no:

Yog hais tias tsis muaj congestion nyob rau hauv lub network, piv txwv li, tsis muaj retransmission timeout tshwm sim, lub congestion qhov rais nce.

Yog hais tias muaj congestion nyob rau hauv lub network, lub qhov rais congestion txo.

Tus neeg xa khoom txiav txim siab seb lub network puas muaj teeb meem los ntawm kev soj ntsuam seb puas tau txais pob ntawv lees paub ACK hauv lub sijhawm. Yog tias tus neeg xa ntawv tsis tau txais ACK lees paub pob ntawv nyob rau hauv lub sijhawm teev tseg, nws raug txiav txim siab tias lub network yog congested.

Ntxiv rau lub qhov rais congestion, nws yog lub sij hawm los tham txog TCP congestion tswj algorithm. TCP congestion tswj algorithm muaj peb lub ntsiab:

Pib qeeb:Thaum pib, lub qhov rais cwnd congestion yog qhov me me, thiab tus neeg xa khoom nce lub qhov rais congestion exponentially kom yoog raws lub peev xwm ntawm lub network.
Congestion Avoidance:Tom qab lub qhov rais congestion tshaj ib qho chaw pib, tus neeg xa khoom nce lub qhov rais congestion nyob rau hauv ib txoj kab kom qeeb qhov kev loj hlob ntawm lub qhov rais congestion thiab tsis txhob overloading lub network.
Fast Recovery:Yog tias congestion tshwm sim, tus neeg xa xov ib nrab ntawm lub qhov rais congestion thiab nkag mus rau hauv lub xeev ceev rov qab los txiav txim qhov chaw ntawm lub network rov qab los ntawm qhov tau txais duplicate acks, thiab tom qab ntawd txuas ntxiv ua kom lub qhov rais congestion.

Pib qeeb
Thaum tsim kev sib txuas TCP, lub qhov rais congestion cwnd yog thawj zaug teem rau qhov tsawg kawg nkaus MSS (qhov loj tshaj qhov loj) tus nqi. Txoj kev no, tus nqi xa thawj zaug yog hais txog MSS / RTT bytes / thib ob. Qhov tseeb muaj bandwidth feem ntau loj dua MSS / RTT, yog li TCP xav nrhiav qhov zoo tshaj plaws xa tus nqi, uas tuaj yeem ua tiav los ntawm kev pib qeeb.

Hauv cov txheej txheem pib qeeb, tus nqi ntawm qhov congestion window cwnd yuav pib rau 1 MSS, thiab txhua zaus cov ntawv xa tawm tau lees paub, tus nqi ntawm cwnd yuav nce los ntawm ib qho MSS, uas yog, tus nqi ntawm cwnd yuav dhau los ua 2 MSS. Tom qab ntawd, tus nqi ntawm cwnd yog ob npaug rau txhua qhov kev sib kis tau zoo ntawm cov pob ntawv ntu, thiab lwm yam. Txoj kev loj hlob tshwj xeeb yog qhia hauv daim duab hauv qab no.

 Network congestion tswj

Txawm li cas los xij, tus nqi xa tuaj tsis tuaj yeem loj tuaj; txoj kev loj hlob yuav tsum xaus rau qee lub sijhawm. Yog li, thaum twg qhov kev xa tuaj nce ntxiv? Slow-start feem ntau xaus qhov nce ntawm tus nqi xa hauv ib qho ntawm ntau txoj hauv kev:

Thawj txoj hauv kev yog cov ntaub ntawv ntawm pob ntawv poob thaum lub sijhawm xa cov txheej txheem pib qeeb. Thaum cov pob ntawv poob tshwm sim, TCP teeb tsa tus neeg xa ntawv lub qhov rais congestion cwnd rau 1 thiab rov pib ua haujlwm qeeb. Nyob rau ntawm lub sijhawm no, lub tswv yim ntawm kev pib qeeb pib ssthresh tau qhia, uas nws tus nqi pib yog ib nrab ntawm tus nqi ntawm cwnd uas ua rau pob ntawv poob. Ntawd yog, thaum kuaj pom tias muaj teeb meem, tus nqi ntawm ssthresh yog ib nrab ntawm qhov rais tus nqi.

Qhov thib ob txoj kev yog ncaj qha correlate nrog tus nqi ntawm qhov pib qeeb pib ssthresh. Txij li thaum tus nqi ntawm ssthresh yog ib nrab ntawm lub qhov rais tus nqi thaum pom tias muaj congestion, pob ntawv poob yuav tshwm sim nrog txhua ob npaug thaum cwnd loj dua ssthresh. Yog li ntawd, nws yog qhov zoo tshaj los teem cwnd rau ssthresh, uas yuav ua rau TCP hloov mus rau congestion tswj hom thiab xaus qeeb-pib.

Txoj kev kawg uas pib qeeb tuaj yeem xaus yog tias peb kuaj tsis tau rov ua dua tshiab, TCP ua qhov kev xa rov qab sai thiab nkag mus rau lub xeev rov qab los. (Yog tias nws tsis paub meej tias vim li cas thiaj muaj peb pob ntawv ACK, nws yuav raug piav qhia nyias hauv cov txheej txheem rov ua haujlwm.)

Kev Tiv Thaiv Congestion
Thaum TCP nkag mus rau hauv lub xeev tswj congestion, cwnd yog teem rau ib nrab ntawm congestion pib ssthresh. Qhov no txhais tau hais tias tus nqi ntawm cwnd tsis tuaj yeem muab ob npaug rau txhua lub sijhawm tau txais ib pob ntawv. Hloov chaw, ib qho kev saib xyuas kuj tau txais kev pom zoo nyob rau hauv uas tus nqi ntawm cwnd yog nce los ntawm tsuas yog ib qho MSS (qhov siab tshaj plaws pob ntawv ntu ntev) tom qab txhua qhov kev sib kis tiav. Piv txwv li, txawm tias 10 pob ntawv ntu tau lees paub, tus nqi ntawm cwnd tsuas yog nce los ntawm ib qho MSS. Qhov no yog ib tug qauv kev loj hlob linear thiab nws kuj muaj ib tug sab sauv khi rau txoj kev loj hlob. Thaum pob ntawv poob tshwm sim, tus nqi ntawm cwnd hloov mus rau MSS, thiab tus nqi ntawm ssthresh yog teem rau ib nrab ntawm cwnd. Lossis nws tseem yuav nres qhov kev loj hlob ntawm MSS thaum 3 cov lus teb rov qab ACK tau txais. Yog hais tias peb redundant acks tseem tau txais tom qab halving tus nqi ntawm cwnd, tus nqi ntawm ssthresh tau sau tseg raws li ib nrab ntawm tus nqi ntawm cwnd thiab lub xeev ceev rov qab nkag.

Rov qab sai
Nyob rau hauv lub xeev Fast Recovery, tus nqi ntawm congestion qhov rais cwnd yog nce los ntawm ib tug MSS rau txhua tus tau txais redundant ACK, uas yog, ACK uas tsis tuaj nyob rau hauv ib theem zuj zus. Qhov no yog ua kom siv cov pob ntawv ntu uas tau kis tau zoo hauv lub network los txhim kho kev sib kis tau zoo li ntau li ntau tau.

Thaum ib qho ACK ntawm cov pob ntawv ploj tuaj txog, TCP txo tus nqi ntawm cwnd thiab tom qab ntawd nkag mus rau hauv lub xeev kev zam txim. Qhov no yog los tswj qhov loj ntawm lub qhov rais congestion thiab tsis txhob ua ntxiv mus rau lub network congestion.

Yog hais tias lub sij hawm tawm mus tom qab lub xeev tswj congestion, lub network mob yuav hnyav dua thiab TCP migrates los ntawm congestion zam lub xeev mus rau lub xeev pib qeeb. Nyob rau hauv rooj plaub no, tus nqi ntawm congestion qhov rais cwnd yog teem rau 1 MSS, qhov siab tshaj plaws pob ntawv ntu ntev, thiab tus nqi ntawm qhov pib qeeb pib ssthresh yog teem rau ib nrab ntawm cwnd. Lub hom phiaj ntawm qhov no yog kom maj mam nce qhov loj ntawm lub qhov rais congestion tom qab lub network rov qab los sib npaug ntawm tus nqi sib kis thiab qib ntawm kev sib txuas hauv network.

Cov ntsiab lus
Raws li cov txheej txheem thauj txhim khu kev qha, TCP siv kev thauj mus los txhim khu kev qha los ntawm tus lej xov tooj, kev lees paub, kev tswj kev xa rov qab, kev tswj kev sib txuas thiab kev tswj qhov rais. Ntawm lawv, cov txheej txheem tswj kev khiav dej num tswj tus nqi ntawm cov ntaub ntawv xa los ntawm tus neeg xa khoom raws li lub peev xwm txais tau tiag tiag ntawm tus neeg txais, uas zam cov teeb meem ntawm lub network congestion thiab kev ua haujlwm tsis zoo. Lub congestion tswj mechanism zam qhov tshwm sim ntawm network congestion los ntawm kev kho tus nqi ntawm cov ntaub ntawv xa los ntawm tus neeg xa khoom. Cov ntsiab lus ntawm congestion window thiab xa qhov rais muaj feem xyuam rau ib leeg, thiab cov ntaub ntawv ntawm tus neeg xa khoom yog tswj los ntawm dynamically kho qhov loj ntawm congestion window. Pib qeeb, congestion zam thiab ceev rov qab yog peb qhov tseem ceeb ntawm TCP congestion tswj algorithm, uas kho qhov loj ntawm lub qhov rais congestion los ntawm cov tswv yim sib txawv los hloov mus rau lub peev xwm thiab congestion degree ntawm lub network.

Hauv seem tom ntej, peb yuav tshuaj xyuas TCP lub tshuab xa rov qab kom meej. Retransmission mechanism yog ib feem tseem ceeb ntawm TCP kom ua tiav kev sib kis tau zoo. Nws ua kom ntseeg tau cov ntaub ntawv xa mus los ntawm kev rov xa cov ntaub ntawv ploj, puas lossis ncua sijhawm. Lub hauv paus ntsiab lus ntawm kev siv thiab lub tswv yim ntawm kev rov xa rov qab mechanism yuav raug qhia thiab tshuaj xyuas kom meej nyob rau hauv ntu tom ntej. Nyob twj ywm!


Post lub sij hawm: Feb-24-2025