Justering af TCP congestion control
Forstå og justér Linux-algoritmer til TCP congestion control som CUBIC og BBR for at forbedre throughput og latenstid på virkelige netværk.
Justering af TCP congestion control er en gratis Linux-netværk og TCP/IP for udviklere-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Linux-netværk og TCP/IP for udviklere, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Linux-netværk og TCP/IP for udviklere-kurset indeholder 4 lektioner i alt.
Hvad overbelastningsstyring gør
TCP-overbelastningsstyring afgør, hvor hurtigt en afsender må transmittere uden at overbelaste netværket.
Den styrer afvejningen mellem gennemløb og forsinkelse, og den rigtige algoritme kan ændre ydeevnen markant.
Overbelastningsvinduet
Overbelastningsvinduet (cwnd) begrænser, hvor mange ikke-bekræftede bytes der er undervejs. Algoritmer øger og reducerer cwnd som reaktion på ACK'er og signaler om pakketab.
Et for lille vindue spilder båndbredde; et for stort vindue medfører pakketab og bufferbloat.
Tabbaseret kontra latensbaseret
Der findes to familier:
- Tabbaserede (CUBIC, Reno) vokser, indtil pakker går tabt
- Latens- eller modelbaserede (BBR) estimerer båndbredde og RTT for at undgå at fylde buffere
BBR klarer sig ofte bedst på forbindelser over lange afstande med pakketab.
Visning af tilgængelige algoritmer
Se, hvilke algoritmer kernen har indlæst.
sysctl net.ipv4.tcp_available_congestion_controlKontrol af den aktuelle algoritme
CUBIC er standard i Linux. Bekræft, hvad der er aktivt.
sysctl net.ipv4.tcp_congestion_controlAktivering af BBR
Indlæs BBR-modulet, og angiv det derefter som standard. BBR fungerer bedst sammen med kødisciplinen fq.
sudo modprobe tcp_bbr
sudo sysctl -w net.ipv4.tcp_congestion_control=bbr
sudo sysctl -w net.core.default_qdisc=fqPermanentgørelse af ændringer
Runtime-ændringer med sysctl går tabt ved genstart. Gør dem permanente i /etc/sysctl.d/.
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbrJustering af bufferstørrelser
Overbelastningsstyring kan kun fylde et vindue i det omfang, bufferne tillader. For forbindelser med høj båndbredde-forsinkelses-produkt skal du hæve de maksimale værdier for automatisk justering.
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216Båndbredde-forsinkelses-produktet
Optimal vinduesstørrelse = båndbredde x round-trip-tid. En forbindelse på 1 Gbps med 100 ms RTT kræver cirka 12,5 MB buffer for at forblive fuldt udnyttet.
For små buffere begrænser gennemløbet uanset algoritmen.
Observation af forbindelser
Undersøg live sockettilstand, cwnd og RTT med ss for at bekræfte, at justeringen virker.
ss -tinMåling af effekten
Benchmark før og efter med et værktøj som iperf3 over en ægte netværksforbindelse. Mål altid både gennemløb og forsinkelse, fordi aggressiv justering kan forbedre den ene på bekostning af den anden.
iperf3 -c remote-host -t 30Hurtig kontrol
Test din viden om overbelastningsstyring.
Opsummering
Du kan nu justere TCP-overbelastningsstyring:
- Forstå cwnd og båndbredde-forsinkelses-produktet
- Sammenligne tabbaserede (CUBIC) og modelbaserede (BBR) algoritmer
- Aktivere BBR med qdisc'en
fqog gøre indstillingen permanent - Dimensionere
tcp_rmem/tcp_wmem-buffere korrekt - Kontrollere med
ss -tinog benchmarke mediperf3
Dette bygger videre på dine lektioner om kerneparametre og benchmarking.
Lær Linux-netværk og TCP/IP for udviklere med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 12
- Lektioner
- 48
Ofte stillede spørgsmål
Er lektionen “Justering af TCP congestion control” gratis?
Ja — hele teksten til “Justering af TCP congestion control” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Linux-netværk og TCP/IP for udviklere-kurset, skal du opgradere til CoddyKit PRO. Linux-netværk og TCP/IP for udviklere-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Justering af TCP congestion control”?
Forstå og justér Linux-algoritmer til TCP congestion control som CUBIC og BBR for at forbedre throughput og latenstid på virkelige netværk. Du øver dig i Linux-netværk og TCP/IP for udviklere med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Linux-netværk og TCP/IP for udviklere?
Der kræves ingen tidligere erfaring. Linux-netværk og TCP/IP for udviklere på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.
Hvor lang tid tager lektionen “Justering af TCP congestion control”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Linux-netværk og TCP/IP for udviklere-lektion?
Ja. Alle Linux-netværk og TCP/IP for udviklere-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Netværksparametre i kernen
- Finjustering og optimering af NIC
- Benchmarking af netværksgennemstrømning
- Justering af TCP congestion control