Symptomen:
Server verbindingen worden traag. HTTPS en andere veilige verbindingen komen helemaal niet meer tot stand.
Omstandigheden: Kan optreden bij verbindingen die zijn overgezet naar het KPN All-IP netwerk. (Of in andere vergelijkbare situaties.)
Oorzaak:
Dit wordt veroorzaakt door een combinatie van verlaging van de MTU waarde ergens op Internet, het gebruiken van IP pakketen die niet mogen worden gefragmenteerd en de aanwezigheid van zo geheten “black hole routers”. Hierdoor komen clients er niet achter dat ze met een lagere MTU waarde te maken hebben (omdat Patch MTU discovery, beschreven in RFC 1191 dan niet meer werkt) waardoor deze niet automatisch met kleinere pakketjes gaan werken en er daardoor de server onbereikbaar wordt. De lagere MTU wordt meestal veroorzaakt door de aanwezigheid van L2TP tunnels die 8 bytes (extra) overhead hebben.
Uitleg:
Bij een normale verbinding over het Internet worden pakketjes niet gefragmenteerd, omdat de MTU waarde overal constant 1500 is. En blijft alles gewoon werken.
Daarbij is het voor de meeste verbindingen geen probleem om met gefragmenteerde pakketen te werken. Dus daar waar de MTU waarde ergens minder is dan 1500 mogen de pakketje gewoon gefragmenteerd worden. Waarbij deze bij aankomst aan de andere kant weer worden samengesteld en gebruikt. En ook dan blijft alles gewoon werken.
Voor een aantal verbindingen (bijvoorbeeld HTTPS) zijn gefragmenteerde pakketjes (soms?) niet toegestaan. Wanneer dan pakketjes bij een MTU “vernauwing” aankomen worden ze “gedropt” en worden er naar de zendende kant een mededelingen verstuurd dat er gefragmenteerd moet worden terwijl dat niet mag. Dit wordt gedaan door middel van een speciaal soort ICMP pakketjes (volgens RFC 1191). Alleen zijn er firewalls (of andere routers) die om veiligheidsredenen alle (ook deze) ICMP (code 4) pakketjes er uitfilteren. Dit worden “Black hole routers” genoemd. (Beschreven in RFC 2923.) De zendende server merkt door deze black hole routers dus nooit dat er kleinere pakketjes moeten worden verzonden. Dat gebeurt niet. En daardoor werkt het niet meer.
MSS-clamping is een “hack” waarbij door de router wordt ingegrepen in de onderhandelingen met de server en een lagere MSS waarde (normaal is de MSS 40 minder dan de MTU) wordt afgedwongen. Dit heeft dan tot gevolg dat er geen fragmentatie meer is en dat het normaal werkt. Nadeel van deze “hack” is dat deze ook kan ingrijpen wanneer het niet nodig is. Met het gevolg dat de breedbandverbinding niet optimaal wordt gebruikt.
Workarounds (wat je zelf kan doen):
| Aanpasbare MTU-waarde in modellen: |
||||
| Model | Firmware | GUI | CLI | MSS Clamping |
| P660R-63C | 3.40(UF.1)_20070323 | Nee | Nee | Nee |
| P660R-D1 | 3.40(AGE.4) | Ja | Ja | ? |
| P660R-D3 | 3.40(AGX.3) | Ja | Ja | ? |
| P660H-D1 | 3.40(AGD.3) | Ja | Ja | ? |
| P660H-D3 | 3.40(AHZ.2) | Ja | Ja | ? |
| P660HN-F1 | 3.70(BJC.0) | Ja | Ja | ? |
| P660HN-F1Z | 3.70(BJI.0) | Ja | Ja | ? |
| P660HN-F3Z | 3.70(BJQ.0) | Ja | Ja | ? |
| P660HW-D1 | 3.40(AGL.8) | Ja | Ja | Ja |
| P660HW-D3 | 3.40(AGM.5) | Ja | Ja | Ja |
| P661HW-D1 | 3.40(AHQ.4) | Ja | Ja | Ja |
| P661HW-D3 | 3.40(ANA.5) | Ja | Ja | Ja |
| P662HW-D1 | 3.40(AGZ.8) | Ja | Ja | Ja |
| P662HW-D3 | 3.40(ANC.7) | Ja | Ja | Ja |
| P663H-51 | 1.01(AZG.1) | Nee | Nee | Nee |
| P791 R | 3.40(BT.4) | Nee | Nee | Nee |
| P791 R V.2 | 3.40(AWB.4) | Nee | Nee | Nee |
| P792 H | 3.40(BZ.3) | Nee | Nee | Nee |
| P793 H | 3.40(RQ.6) | Ja | Ja | ? |
| P2602H(WL)-D1A | 3.40(ADQ.6) | Ja | Ja | ? |
| P2602H(WL)-D1A | 3.40(AOR.0)D0 (Valadis OBM) | Nee | Nee | Nee |
| P2602H(WL)-D3A | 3.40(AJK.5)B3 * | Ja | Ja | Ja |
| P2602H(WL)-D3A | 3.40(AOS.0)D0 (Valadis OBM) | Nee | Nee | Nee |
| P2602HWNLI- | not checked / NA | ? | ? | ? |
| P2602R(L)-D1A | 3.40(ADP.1) | Nee | Nee | Nee |
| P2602R(L)-D3A | 3.40(ASQ.x) | Nee | Nee | Nee |
| P2608HWL-D1 | 3.40(ADT.2) | Nee | Nee | Nee |
| P2612HW-F1 | 3.70(BLD.1) | Ja | Ja | ? |
| P2612HW-F3 |
3.70(BLJ.0) | Ja | Ja | ? |
Daar waar onder CLI "Ja" is aangegeven kunt u de MTU invoeren via de commando's
wan node index 1
wan node mtu <waarde>
wan node save
waarbij u bij <waarde> het gewenste getal invoert.
Voor het gebruik van de CLI zie het document
Telnet gebruiken: de CLI
Oplossingen (wat je meestal niet zelf kunt doen):
Van Internet (Ethernet en PPP) verbindingen mag je een MTU van 1500 verwachten. De providers horen hier zorg voor te dragen.
De instellingen van de black-hole routers moeten worden aangepast zodat ze ICMP type 3 code 4 pakketjes niet filteren. De beheerders van deze routers horen daar zorg voor te dragen.
Zie ook:
[1] http://www.ietf.org/rfc/rfc1191.txt
[2] http://www.ietf.org/rfc/rfc2923.txt
[3] http://www.usenix.org/events/lisa02/tech/full_papers/vanderberg/vanderberg_html/index.html
[4] http://www.znep.com/~marcs/mtu/