Een vermoedelijk MTU-probleem bij VPN testen zonder waarden te gokken
Leg het pad vast, noteer de oorspronkelijke waarden en wijzig daarna één grootteparameter en vergelijk. Een mislukte meting kan ICMP-filtering zijn en geen MTU-limiet.
Een lijst met internet-MTU-waarden uitproberen tot er één sneller aanvoelt, is geen test maar een zoektocht zonder stopregel. De methode die werkt, verandert één gecontroleerde groottevoorwaarde en vergelijkt het resultaat met hetzelfde pad. Begin met een herhaalbaar, onschadelijk falen en houd de werkende configuratie waarmee je het experiment kunt terugdraaien. Alles hieronder veronderstelt die discipline, want zonder haar houd je een getal over dat je niet kunt verdedigen.
Leg het pad vast voordat je aan een getal draait
Schrijf het apparaat, de toegangslink, het tunnelprotocol, het eindpunt, de bestemming en de adresfamilie op voordat je een instelling aanraakt. Die zes feiten zijn het pad, en een meting op een ander pad meet een ander probleem. Ze maken het resultaat ook reproduceerbaar, en dat is wat een test onderscheidt van een middag prikken. Houd de notitie naast de terminal in plaats van in je hoofd.
Begin met de smalste test die je mag uitvoeren. Een wijziging aan de serverkant bereikt elke gebruiker van dat eindpunt en hoort dus aan het einde van het onderzoek, niet aan het begin.
Meten met een grootte die je zelf bepaalt
Op Linux ziet de meting eruit als ping -M do -s 1400 host, op Windows als ping -f -l 1400 host. In beide gevallen stel je de payload in en niet de pakketgrootte, omdat de IP- en ICMP-headers er bovenop komen.
Lees de documentatie van het systeem dat voor je staat in plaats van een flag uit een forumbericht te kopiëren. Kies een bestemming die je zelf beheert, zodat een ontbrekend antwoord een signaal is en geen raadsel. Noteer het exacte commando en de exacte grootte in dezelfde notitie als het pad. Een resultaat zonder grootte is een anekdote. Verander je in één run twee dingen, dan weet je niet welke ervan het resultaat opleverde.
Een mislukte meting bewijst geen MTU-limiet
Een weggevallen meting kan ICMP-filtering betekenen en geen groottelimiet, en die fout laat mensen een waarde afstellen die nooit het probleem was. Vergelijk de meting met de echte toepassing en met een foutmelding over de grootte of een gerichte capture, voordat je iets wijzigt. Geslaagde kleine pings bewijzen evenmin iets, want ze kunnen ruim onder de limiet liggen. Twee onafhankelijke waarnemingen zijn het minimum voordat een configuratie verschuift.
Faalt de toepassing terwijl de meting slaagt, dan heb je bewijs dat dit geen eenvoudige groottelimiet op dat pad is. Schrijf dat op, want het schrapt een hele tak van mogelijke wijzigingen.
Pas één parameter aan die de client al ondersteunt
Wijzig de instelling die de client voor dit protocol documenteert, en laat het eindpunt en de bestemming ongemoeid, anders heb je twee dingen tegelijk veranderd. Een TCP-MSS-clamp dekt niet elke UDP-belasting, waardoor een browser die weer werkt het tunnelprotocol precies zo kapot kan laten. IPv4 en IPv6 zijn hier aparte paden, omdat de headers al verschillen voordat er iets aan routing gebeurt.
Test beide families als je beide publiceert, want een resultaat uit de ene zegt niets over de andere. Een waarde die vanavond op dit pad werkte, is een gegeven en geen MTU voor het hele VPN. Promoveer hem niet tot wereldwijde instelling op grond van één geslaagde overdracht. Schrijf de waarde op naast het pad waar hij vandaan komt.
Terugdraaien, verifiëren en opschrijven
Zet de oorspronkelijke waarde terug als de vergelijking de hypothese niet steunt. Controleer of een netwerkbeheerder niet ergens anders een blijvende override heeft opgeslagen, want zo wordt een experiment beleid. Maak opnieuw verbinding en oefen gewone toepassingen, niet alleen degene die je aan het testen was. Leg daarna het symptoom vast, het effectieve pad, de oude en nieuwe waarde en hoe herhaalbaar het resultaat was.
Bewaar dat verslag bij de wijzigingsaanvraag voordat iemand de wijziging verbreedt. De pad-MTU-detectie in RFC 1191 legt uit waarom een kleinere waarde het ene pad kan redden en voor het andere niets doet, en een lijst met getallen vervangt dat model niet. De test is klaar wanneer je het pad, de grootte, de waarneming en de herstelde waarde kunt benoemen.