Ik heb mijn trage internetverbinding thuis opgelost door een instelling te wijzigen waar niemand van af wist.

Als we last hebben van een trage internetverbinding, proberen we bijna altijd de router opnieuw op te starten. In sommige gevallen werkt dat. Soms gaan we er automatisch vanuit dat onze internetprovider (ISP) de internetverbinding afknijpt.Dit is echter niet altijd het geval. Het kan zijn dat we simpelweg te maken hebben met een uniek probleem dat een slechte internetervaring veroorzaakt, ook al lijkt de verbindingssnelheid in alle snelheidstests uitstekend.

Ik heb mijn trage internetverbinding thuis opgelost door een instelling te wijzigen waar niemand van wist.

Dat is precies wat mij overkwam, en uiteindelijk was de oplossing niet wat ik verwachtte. Het enige wat ik hoefde te doen, was de Maximum Transmission Unit (MTU) afstemmen op mijn werkelijke verbindingslimieten. Zodra ik dat had gedaan, verdween de vertraging.

MTU definieert de maximale IP-belasting die ongeschonden de verbinding kan passeren.

De regels voor segmentatie en headergrootte bepalen de uiteindelijke pakketgrootte.

wifi-router met USB-poort en LAN-poorten

MTU staat voor het grootste datapakket in bytes dat een apparaat dat met een netwerk is verbonden kan verwerken zonder fragmentatie. Dit getal is doorgaans ingesteld op 1500 bytes voor de meeste Ethernet-netwerken. Het getal 1500 is niet willekeurig gekozen. Uw router gaat ervan uit dat de verbinding veilig is op basis van decenniaoude ontwerpbeperkingen van het Ethernet-framework, waarvan er vele nog steeds in gebruik zijn.

1500 bytes is echter niet alleen de grootte van je data, want pakketten bevatten van nature extra data die de protocoloverhead vertegenwoordigt. Bij typisch TCP-verkeer omvat deze overhead meestal 20 bytes voor de IPv4-header en nog eens 20 bytes voor de TCP-header. Rekening houdend hiermee krijg je in feite een maximale toegestane grootte van 1460 bytes voor je pakket in een MTU-omgeving van 1500. Dit verklaart de maximale TCP-segmentgrootte (MSS) van 1460 bytes op standaardnetwerken.

Problemen ontstaan ​​wanneer een pakket groter is dan de MTU-omgeving waar het doorheen moet. De enige manier waarop het pakket succesvol kan worden verzonden, is als de router het opsplitst in kleinere delen. Dit proces is resource-intensief en vereist meer CPU-werk en cachegeheugen, omdat elk deel een eigen IP-header heeft en ze allemaal weer moeten worden samengevoegd op de bestemming. Het proces zelf vermindert de bandbreedte niet, maar verhoogt wel de complexiteit en gevoeligheid van de pakketbezorging.

In de praktijk wordt de bruikbare MTU (Maximum Transmission Unit) bij internetverbindingen vaak teruggebracht tot onder de 1500.

Verpakkings- en toegangstechnologieën beperken de beschikbare laadruimte.

Je zou kunnen denken dat 1500 bytes overal werkt, maar dat is niet waar. 1500 bytes is groter dan de Maximum Transmission Unit (MTU) die in veel residentiële verbindingen wordt gebruikt. Point-to-Point over Ethernet (PPPoE) is een gangbare standaard voor sommige glasvezelnetwerken en veel DSL-opties. De extra kosten van 8 bytes verlagen de effectieve MTU naar 1492, waardoor fragmentatie optreedt als je router pakketten van 1500 bytes door een 1492-bits tunnel moet sturen.

Zolang uw gegevens in extra verpakking moeten worden geplaatst, heeft dit daadwerkelijk invloed op de beschikbare payloadruimte. Een VLAN biedt bijvoorbeeld een tag van 4 bytes. Hoewel deze tag nodig is om het virtuele netwerk voor verkeer te identificeren, vermindert deze toch de payload. Carrier-level network address translation (CGNAT) en DS-Lite hebben hetzelfde effect. In het geval van DS-Lite voegt het routeren van verkeer over het netwerk van uw internetprovider door IPv4-verkeer in IPv6-pakketten te plaatsen een extra header toe. VPN's maken van uw oorspronkelijke pakket de payload voor een nieuw pakket, waarbij het nieuwe pakket een nieuwe header nodig heeft.

Al deze gevallen zijn vergelijkbaar met het toevoegen van extra verpakking aan een doos die al een eigen verpakking heeft, zonder de afstand die de doos moet afleggen te vergroten. De doos kan er alleen doorheen als hij is opgedeeld.

Op mobiele netwerken wordt het ingewikkelder, omdat LTE en 5G historisch gezien een lagere basislijn van 1500 bytes hebben dan Ethernet. Afhankelijk van de implementatie van je provider, variëren de MTU-waarden tussen 1420 en 1480. Over het algemeen is de verbindingslimiet gelijk aan de kleinste MTU ergens op het pad, en zolang de router deze limiet niet kan respecteren, zul je te maken krijgen met pakketfragmentatie of stille pakketverlies. Dit kan een reden zijn voor een trage internetverbinding..

Automatische MTU-aanpassingsmechanismen voorkomen niet altijd storingen.

MTU-paddetectie, ICMP-filtering en black hole-gedrag

Lijst met wifi-verbindingen op de Google Pixel 10 Pro

Er bestaat een automatische oplossing tegen fragmentatie die, in theorie althans, uitstekend werkt. Deze oplossing heet Path MTU Detection (PMTUD). Zo werkt het: apparaten kunnen een "no-fragment"-bit instellen bij het verzenden van pakketten. Deze bit zorgt ervoor dat de ontvangende router reageert met een bericht. ICMP Type 3 Code 4"Fragmentatie is vereist" als de grootte van het downstream-pakket de MTU overschrijdt.

Het probleem is dat veel firewalls in de praktijk ICMP standaard blokkeren. Daardoor worden grote pakketten verworpen en voorkomt de firewallfiltering dat de afzender merkt dat de pakketten te groot waren. Deze pakketverworpen dwingt TCP tot herverzending en zorgt voor exponentieel oplopende rollback-timers. Deze situatie wordt een MTU-black hole genoemd, waarbij grote pakketten consequent mislukken, ook al lijkt er verkeer te stromen.

Moderne besturingssystemen proberen sommige problemen te verhelpen door RFC 4821 Packetization Layer Path MTU Discovery (PLPMTUD) te implementeren als een manier om de pakketgrootte te meten zonder afhankelijk te zijn van ICMP. In sommige gevallen wordt fragmentatie niet effectief afgehandeld door routers, ISP-apparatuur en VPN-eindpunten. Dit is niet zichtbaar in de resultaten van snelheidstests, maar het werkelijke gevolg is dat de latentievariabiliteit zich blijft ophopen.

Als uw router MSS-installatie implementeert, kan deze de MTU-mismatch maskeren in plaats van deze te verhelpen. Daarom kunnen de symptomen inconsistent en niet constant zijn.

Het meten en corrigeren van de MTU herstelt een vlotte pakketstroom van begin tot eind.

Als je de berekeningen begrijpt, is het vinden van de juiste MTU eenvoudig. Als je wilt testen met de ping-opdracht, houd er dan rekening mee dat de IPv4-header 20 bytes groot is en dat ICMP daar 8 bytes aan toevoegt, waardoor de totale headergrootte 28 bytes is. Dus, beginnend met een payload van 1472 bytes, wordt het totaal 1500 bytes als je daar de 28 bytes voor IPv4 en ICMP bij optelt. Verklein de payloadgrootte vanaf dit punt totdat je een waarde bereikt die geen fragmentatie veroorzaakt. De bruikbare MTU is 28 plus de hoogste succesvolle payload.

Hier is de Windows-opdracht:

ping 8.8.8.8 -f -l 1472

Ik gebruik `-f` om de `Don't Fragment`-bit in te stellen en `-l` om de payloadgrootte te specificeren. Het doel is om de payloadgrootte steeds kleiner te maken totdat je een consistent succesbericht krijgt. Het equivalente Linux-commando is:

ping -M do -s 1472 8.8.8.8

Op macOS is het iets anders, omdat hashes niet in alle versies op dezelfde manier worden verwerkt. Je krijgt een betrouwbaardere MTU-padcontrole met behulp van tools zoals mtr Via Homebrew.

Test de MTU altijd met meerdere bestemmings-IP-adressen, niet alleen met 8.8.8.8, aangezien er op sommige paden black hole-condities kunnen optreden en op andere niet.

Zodra u de gewenste vaste waarde weet, kunt u deze het beste instellen in de WAN-interface van uw router, zodat u niet al uw apparaten afzonderlijk hoeft te configureren. Hieronder vindt u een tabel met geschatte waarden die u kunt verwachten voor verschillende verbindingstypen:

connectie typeTypische MTU die je kunt verwachten
Standaard Ethernet (directe kabel/glasvezel, geen PPPoE)1500
PPPoE (DSL of sommige glasvezelinternetproviders)1492
Internetverbinding van de internetprovider met VLAN-label.1496-1500 (afhankelijk van de applicatie van de internetprovider)
LTE / 4G / 5G mobiele netwerken~1420-1480 (afhankelijk van de telecomprovider)
IPSec VPN (tunnelmodus)1380-1460 (afhankelijk van de code en verpakking)
WireGuard (originele MTU 1500)~ 1412
OpenVPN (UDP-modus)1300–1450 (grotendeels afhankelijk van de instellingen)

 

Ga naar de bovenste knop