Linux-nätverk och TCP/IP för utvecklare · Lektion

Nätverksparametrar i kärnan

Justera nätverksinställningar på kärnnivå (`sysctl`) för att fintrimma TCP/IP-stackens beteende för specifika arbetsbelastningar.

Lektion 1 av 411 steg

Nätverksparametrar i kärnan är en gratis lektion i Linux-nätverk och TCP/IP för utvecklare på CoddyKit. Detta är lektion 1 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Linux-nätverk och TCP/IP för utvecklare, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Linux-nätverk och TCP/IP för utvecklare innehåller totalt 4 lektioner.

Kärnparametrar och prestanda

Välkommen till kärnans nätverksparametrar! I Linux hanterar kärnan alla delar av systemet, inklusive nätverk. Den använder olika inställningar, så kallade kärnparametrar, för att styra hur nätverksstacken fungerar.

Genom att justera dessa parametrar kan du finjustera nätverkets prestanda avsevärt, särskilt för specifika arbetsbelastningar som servrar med hög trafik eller specialiserade program.

Introduktion till sysctl

Det primära verktyget för att visa och ändra kärnparametrar under körning är kommandot sysctl. Det låter dig granska och ändra inställningar för olika kärnundersystem, inklusive nätverk.

  • Granska: Visa aktuella parametervärden.
  • Ändra: Ändra värden tillfälligt.
  • Spara permanent: Gör ändringar bestående efter omstarter.

Visa alla parametrar

Om du vill se en fullständig lista över alla tillgängliga kärnparametrar och deras aktuella värden kan du använda sysctl -a. Kommandot kan ge en mycket lång utskrift!

Nätverksparametrar börjar vanligtvis med net. följt av protokollet, till exempel net.ipv4, net.ipv6 eller net.core.

Lista specifika nätverksparametrar

Vi provar att bara lista parametrarna som rör TCP inom IPv4. Du kan skicka utdata från sysctl -a vidare till grep för att filtrera resultaten.

Det hjälper dig att fokusera på specifika inställningar utan att behöva gå igenom allt.

sysctl -a | grep net.ipv4.tcp

Förstå parameternamn

Kärnparametrar är organiserade hierarkiskt, ungefär som en filsökväg. Exempelvis betyder net.ipv4.tcp_tw_reuse följande:

  • net: Nätverksundersystem
  • ipv4: Inställningar för IPv4-protokollet
  • tcp_tw_reuse: En specifik TCP-inställning som rör återanvändning av TIME-WAIT-tillståndet.

Varje del hjälper till att kategorisera parameterns funktion.

Läsa en enskild parameter

Om du vill kontrollera det aktuella värdet för en specifik parameter kan du ange dess fullständiga namn till sysctl. Låt oss till exempel se det aktuella värdet för net.ipv4.ip_forward.

Den här parametern styr om din Linux-dator vidarebefordrar IP-paket mellan nätverksgränssnitt och fungerar som en router.

sysctl net.ipv4.ip_forward

Ändra parametrar tillfälligt

Om du vill ändra en parameters värde tillfälligt, fram till nästa omstart eller manuella ändring, använder du flaggan -w följd av parameternamnet och det nya värdet. Ändringen påverkar endast det system som körs för närvarande.

Vi aktiverar IP-vidarebefordran (genom att sätta värdet till 1) som demonstration.

sysctl -w net.ipv4.ip_forward=1

Viktiga prestandaparametrar

Vissa vanliga parametrar finjusteras ofta för bättre prestanda:

  • net.core.somaxconn: Maximal längd på kön med väntande anslutningar.
  • net.ipv4.tcp_tw_reuse: Tillåter återanvändning av sockets i tillståndet TIME-WAIT.
  • net.ipv4.tcp_max_syn_backlog: Maximalt antal inkommande anslutningsförfrågningar.
  • net.ipv4.tcp_fin_timeout: Hur länge sockets ska behållas i tillståndet FIN-WAIT-2.

Genom att justera dessa kan du hantera fler anslutningar eller frigöra resurser snabbare.

Göra ändringar permanenta

Tillfälliga ändringar går förlorade vid omstart. Om du vill göra dem permanenta måste du redigera filen /etc/sysctl.conf eller placera konfigurationsfiler i /etc/sysctl.d/.

Varje rad i sysctl.conf följer formatet parameter = värde. När du har redigerat filen tillämpar du ändringarna med sysctl -p.

Snabbtest: användning av sysctl

Du behöver göra en ändring av en nätverksparameter i kärnan permanent så att den överlever omstarter av systemet. Vilka av följande steg krävs?

Sammanfattning: kärnparametrar

Bra jobbat! Du har lärt dig om Linux-kärnans nätverksparametrar och hur du hanterar dem.

  • sysctl är huvudkommandot för att interagera med kärnparametrar.
  • Du kan visa parametrar med sysctl -a eller visa specifika parametrar.
  • Tillfälliga ändringar görs med sysctl -w.
  • Permanent ändringar innebär att redigera /etc/sysctl.conf och tillämpa ändringarna med sysctl -p.

Att förstå dessa inställningar är avgörande för att optimera nätverksprestanda i Linux!

Gratis att börja

Lär dig Linux-nätverk och TCP/IP för utvecklare med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
12
Lektioner
48

Vanliga frågor

Är lektionen ”Nätverksparametrar i kärnan” gratis?

Ja – hela texten till ”Nätverksparametrar i kärnan” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Linux-nätverk och TCP/IP för utvecklare, kan Ni uppgradera till CoddyKit PRO. Kursen i Linux-nätverk och TCP/IP för utvecklare innehåller totalt 4 lektioner.

Vad lär jag mig i ”Nätverksparametrar i kärnan”?

Justera nätverksinställningar på kärnnivå (`sysctl`) för att fintrimma TCP/IP-stackens beteende för specifika arbetsbelastningar. Ni övar på Linux-nätverk och TCP/IP för utvecklare med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Linux-nätverk och TCP/IP för utvecklare?

Du behöver inga förkunskaper. Utbildningen i Linux-nätverk och TCP/IP för utvecklare på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.

Hur lång tid tar lektionen ”Nätverksparametrar i kärnan”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Linux-nätverk och TCP/IP för utvecklare-lektionen?

Ja. Varje Linux-nätverk och TCP/IP för utvecklare-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Nätverksparametrar i kärnan
  2. Finjustering och optimering av NIC
  3. Mäta nätverkets genomströmning
  4. Finjustera TCP:s trängselkontroll
← Tillbaka till Linux-nätverk och TCP/IP för utvecklare