3 ms·
I'm fairly confident you are victim of a PMTUD black hole. It's easily fixed by making your router force the TCP MSS to a slightly lower value. All your sympto
by mrb 4y ago
I'm fairly confident you are victim of a PMTUD black hole. It's easily fixed by making your router force the TCP MSS to a slightly lower value.
All your symptoms are explained by this (some but not all devices are affected, some but not all services are unreachable).
- kalleboo 4y agoYeah, not having an option to set the MTU was the reason I had to stop using the Apple AirPort Extreme when we moved to a new apartment, the symptoms were all the same as GP, limiting the MTU fixed it.
- cryptonector 4y agoOr better yet, use packetization PMTUD. 15 years after that was published by the IETF, every device should implement it by default.
- toast0 4y agoApple is actually pretty good about PMTUD as a sender, at least iPhones (but I assume Macs too) will quickly fallback to sending shorter packets if they don't get an ack with a large packet at the beginning of a TCP connection. I'd guess they do it throughout the connection, but I only saw it because network was broken, pcaps from iPhone show working connection, pcaps from Android show broken connection. It doesn't help that FreeBSD used to do MSS sensibly (thanks to a patch from Microsoft), and switched to doing it the way everyone else does. There's not a good reason to send your naive MSS on SYN+ACK if it's bigger than the received MSS, it's highly likely that the other end can't successfully send a packet larger than they can receive, but it's not unlikely that something in the middle mangles SYN to reflect the true MSS, but doesn't mangle SYN+ACK. I could rant all day. You can also get very good results by reflecting the received RSS minus 8 (assumed PPPoE), 20 (assumed IPIP tunnel), or 28 (assumed PPPoE over IPIP tunnel).