Slik optimaliserer du Ubuntu Internet Speed ​​med MTU-innstillinger

Mens datatekster er forskjellige i bruken av begrepet, bruker Ubuntu TCP Maximum Transmission Unit (MTU) for å referere til den største størrelsen av en TCP-pakke en maskin kan passere over en TCP / IP-nettverkstilkobling. Ved beregning er denne verdien relativt enkel og standardinnstillinger jobber på et flertall av maskiner. Det kan være mulig å optimalisere systemet ytterligere hvis pakker er fragmentert på grunn av uvanlige innstillinger. Sende store enkelt utgående pakker er mer effektivt enn å sende flere mindre utgående.

Den enkleste måten å finne ut riktig MTU-verdi for maskinen din, er å åpne et terminalvindu. Hold nede CTRL, ATL og T, eller start den kanskje fra Unity dash. Hvis du jobber med Ubuntu Server, vil du standardisere et CLI-grensesnitt uten grafisk miljø i det hele tatt. Når du er på terminalen, skriv inn ping-s 1464-c distrowatch.com og vent på utgangen. Hvis du ikke mottar noe, er nettverksforbindelsen din ikke konfigurert riktig. Forutsatt at du fikk riktig utdata, så se etter en seksjon som leser 1464 (1492) byte data, noe som indikerer at du sender pakken med 28 byte av headerinformasjon.

Metode 1: Undersøk pingutgang for pakkefragmentering

Ping-kommandoen vil fortelle deg om pakken ble sendt som mer enn ett fragment med flere headerdata vedlagt. Undersøk utdataene for en hvilken som helst linje som advarer om noe angående Frag behov og DF sett (mtu = 1492) eller lignende tekst. Avhengig av hvilken versjon av ping som fulgte med din versjon av Ubuntu, kan advarselen bli formulert annerledes. Skulle denne teksten ikke være til stede, så er det mer enn sannsynlig at du allerede jobber med noen MTU-målinger som ikke sender ut fragmenterte pakker for øyeblikket.

For å finne den mest optimaliserte MTU for systemet ditt, vil du kjøre denne ping-kommandoen med en liten pakkestørrelse, og deretter øke den over tid til den begynner å fragmentere, etter hvilken du vurderer dette ditt cutoff-punkt. Husk at MTU = nyttelast + 28, siden det må være noe rom for toppdataene. Nå, hvis du kan øke størrelsen til noe veldig stort uten noen fragmenter, kan nettverksgrensesnittet ditt håndtere massive pakker uten behov for å generere fragmenter. Når du endelig ser en Frag-nødvendig advarsel, betyr dette at en pakke sendt med en nyttelast, størrelsen du kjørte eller høyere, vil sende som flere pakker. Anta at hvis du prøver å ping-er 2464-c1 distrowatch.com uten advarsel, men ping-s 2465-c1 distrowatch.com sender en advarsel, betyr dette at 2, 464 + 28 er den største MTU-innstillingen din TCP / IP-konfigurasjon kan håndtere før du sender flere fragmenterte pakker. Det kan ta litt tid å finne en eksakt verdi.

Når du har en verdi i tankene fra å kjøre ping-kommandoen flere ganger, må du kjøre sudo ifconfig for å finne en liste over kjente nettverksgrensesnitt. Ubuntu og dets derivater har ut roten kontoen, men vi opererte fra et skall laget av sudo bash for våre eksempler. Det anbefales at du bare preface hver kommando med sudo enkeltvis.

Så snart du kjenner riktig enhet, prøv:

sudo ifconfig grensesnittnavn mtu ####

Bytt grensesnittnavn med navnet på nettverksadapteren du jobber med, og erstatt #### med størrelsen du fant pluss 28 for headerinformasjon. Du kan kjøre ifconfig for å se hva standard MTU var for din NIC og kjøre den igjen flere ganger for å se om denne forrige kommandoen endrer den. Noen nettverksgrensesnittadaptere lar deg ikke endre det. Hvis det er tilfelle, vil ytterligere optimalisering dessverre være ubrukelig. Hvis det imidlertid fungerte, kan du faktisk gjøre det permanent. Prøv å kjøre ifconfig | grep MTU for å finne alle verdiene hvis du har flere kontakter, og deretter kan du matche verdiene til kontaktene du jobber med.

Metode 2: Å lage MTU-optimaliseringer

Så langt har du ikke gjort noen permanent endring i systemet ditt. Hvis du starter på nytt, tømmer du eventuelle endringer, noe som er bra hvis du har gjort noe feil og finner ut at du ikke lenger kan koble til Internett. På den annen side, hvis du har funnet en nøyaktig verdi for din MTU, må du redigere dokument. Dette er nok en god tid til å lage en kopi av det dersom noe skjer. Prøve eller noe lignende, så du har en kopi bare i tilfelle. Hvis du vil redigere grafisk, skriver du inn og skriv inn passordet ditt. Hvis du bruker Kubuntu, Xubuntu eller Lubuntu, må du erstatte gedit med den grafiske tekstredigeringen din Ubuntu respin bruker. Xubuntu bruker for eksempel mousepad i stedet for gedit. Hvis du bruker Ubuntu Server eller bare foretrekker å jobbe med kommandolinjen, skriver du i stedet , forutsatt at du ikke bruker et rotskall.

Uansett hvilken metode du brukte til å redigere den, finn navnet på grensesnittet ifconfig spytte ut før. La oss anta at du så på den første Wifi-kontakten på maskinen din, som trolig ville bli kalt wlan0 eller noe lignende. I så fall finner du en kodebit som starter med iface wlan0 inet static eller noe lignende. Kilometertrykket kan variere, men neste linje vil lese adressen etterfulgt av en IP-adresse i ###. ###. #. ## format. Det kan være formatert annerledes hvis du har en IPv6-tilkobling. Du har en nettmaske og gateway linje, etterfulgt av noe som viser et vertsnavn eller noe lignende. På bunnen har du en annen linje som leser mtu og et tall. Erstatt det nummeret med optimalisere MTU-verdien, lagre dokumentet og avslutt deretter tekstredigeringsprogrammet. Du vil starte systemet på nytt for å sikre at det virket.

Skulle alt være bra etter flere omstart, slett du deretter grensesnittet.bak-filen i ~ / Dokumenter-katalogen. Du kan i stedet bruke sudo mv og så

hvis noe gikk galt i prosessen.

PRO TIPS: Hvis problemet er med datamaskinen eller en bærbar PC / notatbok, bør du prøve å bruke Reimage Plus-programvaren som kan skanne arkiver og erstatte skadede og manglende filer. Dette fungerer i de fleste tilfeller der problemet er oppstått på grunn av systemkorrupsjon. Du kan laste ned Reimage Plus ved å klikke her

Metode 3: Redigere TCP Receive Window (RWIN) Innstillinger

Ubuntu refererer til den største mengden data som en vert aksepterer før den bekrefter avsenderen som RWIN-verdien. Hvis du laster ned en 30 MB-fil, sender ikke den eksterne serveren deg umiddelbart en 30 MB blokk med data. Din Ubuntu-vert sender et bestemt RWIN-nummer når det ber om filen, og deretter begynner serveren å streame data til den har nådd antall byte før den venter på en bekreftelse på at systemet har dataene. Når serveren mottar dette, begynner den å sende flere blokker før du venter på en annen bekreftelse.

Latency er tiden det tar å overføre og motta pakker fra en ekstern server. Tilkoblingshastigheter bidrar til denne verdien, men det gjør også mange andre forsinkelser. Ping-kommandoen vil forklare latens med hensyn til rundturstid (RTT) tall. Se på utgangen fra vår tidligere ping av DistroWatch. Du finner en linje som leser tid = 134 ms, hvilket er hvor lang tid det tok for pakker å gå tur fra vår Ubuntu-maskin til distrowatch.com og tilbake igjen. Vi sendte en 1, 492 byte pakke, så på 134 ms kunne vi beregne en formel for å finne total overføringshastighet:

1.492 / .134 sekunder = 11.134.328 byte / sekund, som kommer ut til omtrent 10, 88 binære kilobytes per sekund. Det er ganske tregt generelt, og derfor er RWIN på plass for å hindre at du må erkjenne hver pakke sendt individuelt.

RWIN-innstillinger i Ubuntu er skilt fra MTU-innstillinger. Beregn båndbreddeforsinkelsesproduktet (BDP) for Internett-tilkoblingen din med denne formelen:

(Total maksimal båndbredde din Internett-tilkobling skal levere i Bytes per sekund) (RTT i sekunder) = BDP

TCP-pakkestørrelsen påvirker ikke RWIN, men selve pakken er påvirket av verdien som er valgt i metode 1. Bruk denne kommandoen til å finne kjernevariablene knyttet til RWIN:

Vær oppmerksom på at det er plass etter _mem, men ingen andre steder i den anførte teksten. Du får flere verdier tilbake. De som trengs er net.ipv4.tcp_rmem, net.ipv4.tcp_wmem og net.ipv4.tcp_mem . Tallene etter disse verdiene representerer minimum, standard og maksimumsverdier for hver. De representerer mottaksvinduets minnevektor, sender vektor og TCP-stakkvektor. Hvis du kjører Ubuntu Kylin, kan du ha en lang liste med flere. Du kan trygt ignorere noen av disse tilleggsverdiene. Noen brukere av Kylin ser kanskje også noen av verdiene avgrenset i andre skript, men igjen ser du bare etter disse linjene.

Ubuntu har ikke en RWIN-variabel, men net.ipv4.tcp_rmem er nær. Disse variablene styrer minnebruk og ikke bare TCP-størrelsen. De inkluderer minne spist opp av datakontakt strukturer og korte pakker i massive buffere. Hvis du vil optimalisere disse verdiene, send så de maksimale størrelsespakker du angir i metode 1 til en annen ekstern server. La oss bruke 1, 492-byte-standard igjen, trekke 28 byte for headerinformasjon, men husk at du kanskje har en annen verdi. Bruk kommandoen ping-s 1464-c5 distrowatch.com for å få flere RTT-data.

Du vil ønske å kjøre denne testen mer enn en gang på forskjellige tider av dagen og natten. Prøv å pinge noen andre eksterne servere også for å se hvor mye RTT varierer. Siden vi hadde et gjennomsnitt på litt over 130 ms hver gang vi prøvde det, kan vi bruke formelen til å finne ut vår BDP. La oss anta at du har en veldig generell 6 Mbit / sekund-tilkobling. BDP ville være:

(6 000 000 biter / sek) (. 133 sek) * (1 byte / 8 biter) = 99 750 byte

Dette betyr at standardverdien net.ipv4.tcp_rmem skal være et sted rundt 100.000. Du kan sette det enda høyere hvis du er redd for at du vil få en RTT så ille som et halvt sekund. Alle verdier som er funnet i net.ipv4.tcp_rmem og net.ipv4.tcp_wmem må settes identisk, siden overføring og mottak av pakker skjer over samme Internett-tilkobling. Du vil vanligvis sette net.ipv4.tcp_mem til samme verdi som brukes av net.ipv4.tcp_wmem og net.ipv4.tcp_rmem siden denne første variabelen er den totale største bufferminnestørrelsen som er angitt for TCP-transaksjoner.

Utsted kommandoen og se om begge disse innstillingene er satt til 0 eller 1, som angir en tilstand av eller på.

Innstilling av net.ipv4.tcp_no_metrics_save til 1 vil tvinge Linux-kjernen til å optimalisere mottaksvinduet mellom net.ipv4.tcp_rmem og net.ipv4.tcp_wmem verdiene på en dynamisk måte. Når net.ipv4.tcp_moderate_rcvbuf er aktivert, forhindrer det overbelastning fra å påvirke etterfølgende tilkobling. Før du gjør noen permanente endringer, utfør en fartskontroll gjennom http://www.speedtest.net eller http://www.bing.com/search?q=speed+test for å sikre at du har et håndtak på målingene dine.

Endre variablene midlertidig med de beregnede verdiene. Pass på at du erstatter #s med dine beregnede summer.

sudo sysctl -w net.ipv4.tcp_rmem = ####################################################. tcp_mem = #### ##### ###### net.ipv4.tcp_no_metrics_save = 1 net.ipv4.tcp_moderate_rcvbuf = 1

Gjenta koblingen din for å se om hastigheten har forbedret seg, og om ikke, gjør kommandoen din på nytt og gjenta den. Husk at du kan skyve opp-tasten i terminalen din for å gjenta sist brukte kommando. Når du har funnet de riktige verdiene, åpner du med kommandoen gksu eller sudo tekstredigerer fra metode 1, og rediger linjene som skal leses som følger, og erstatter igjen #s med dine beregnede verdier. Du vil selvsagt også sikkerhetskopiere filen på samme måte som du gjorde i del ett bare i tilfelle du gjør en feil. Hvis du har laget en, så kan du også gjenopprette på samme måte.

net.ipv4.tcp_rmem = ###############

net.ipv4.tcp_wmem = #### ##################

net.ipv4.tcp_mem = ###############

net.ipv4.tcp_no_metrics_save = 1

net.ipv4.tcp_moderate_rcvbuf = 1

Lagre det når du er sikker på at alt er i orden. Utsted følgende kommando:

sudo sysctl -p

Dette vil tvinge Linux-kjernen til å laste inn innstillingene i , og hvis alt gikk bra da det burde gi deg minst en noe raskere nettverkstilkobling. Avhengig av de opprinnelige standardene, kan forskjellen faktisk være dramatisk eller potensielt ikke merkbar i det hele tatt.

PRO TIPS: Hvis problemet er med datamaskinen eller en bærbar PC / notatbok, bør du prøve å bruke Reimage Plus-programvaren som kan skanne arkiver og erstatte skadede og manglende filer. Dette fungerer i de fleste tilfeller der problemet er oppstått på grunn av systemkorrupsjon. Du kan laste ned Reimage Plus ved å klikke her

Facebook Twitter Google Plus Pinterest