1 (edited by JackWindows 2017-02-16 00:21:59)

Topic: Why does wiki.openwrt.org not respect MSS field in TCP handshake

I use VPN to access wiki.openwrt.org, therefore I have reduced MTU (significant less than 1460). However, it seems the wiki website server doesn't respect the MSS announced in the SYN packet when establishing a TCP connection. The server will keep sending me packets with size beyond my MTU and the packet never arrive at my computer.

I use MSS 1300, and every time when I access wiki.openwrt.org, it takes me a long time for the page to load (I ran tcpdump once, and loading one page took > 1000 packets of communication).

Can anyone in charge please fix the mis-behavior of website server.

below is a screenshot of problem,
imgur.com/xNIA6B2  (sorry but somehow I can't post links)

As you can see, my computer specifically said to use MSS 1300, while the server still sent packets with 1460 TCP length to me (you can infer that from the seq # of the next packet received).

Re: Why does wiki.openwrt.org not respect MSS field in TCP handshake

Looks like packets are being dropped because fragmentation is happening.  I'm guessing if you change your computers MTU it works fine?  That may be a solution depending on your setup.

It's not necessarily the server.(I dont work for the project nor manage the web server)  It could be a load balancer(very likely in NAT mode), router, firewall that is changing that.  I doubt the server is doing this, but I've been wrong before... a lot.

CB

Re: Why does wiki.openwrt.org not respect MSS field in TCP handshake

As I said, I am not able to change the MTU of my computer. I use a network with smaller than usual MTU value.

The problem is pure server side, because openwrt web server doesn't respect the MSS field in TCP handshake.

Re: Why does wiki.openwrt.org not respect MSS field in TCP handshake

Well I dont see in your post where it says you can reduce your MTU, but if you cant you cant.  Out of curiosity, why cant you change your computer's MTU on the interface?  MSS is not MTU, though obviously related.

Re: Why does wiki.openwrt.org not respect MSS field in TCP handshake

Well, clearly you don't know how MTU works.

Yes, I can modify the MTU on my computer's interface, but that doesn't help.
My ISP has a smaller than usual MTU on the link between my home router and ISP switch.
In order to reflect the smaller than usual MTU, I change the MTU on my local interface to match with the MTU of my ISP, so that my computer will use a smaller than usual MSS when establishing TCP connection. However, the STUPID wiki.openwrt web server ignores my announced MSS and still sends me packets beyond my MTU. Due to oversized packets, those packets are dropped by my ISP (which is beyond my control).

Re: Why does wiki.openwrt.org not respect MSS field in TCP handshake

The openwrt wiki server  is extremely slow for me as well with a ping time of 400mS from Thailand while the openwrt forum server has a 250mS ping time. I'll usually have to wait for a minute or two before a wiki page is displayed.
Both of them are hosted in Hungary but by different providers.

Now, for the MTU, if your ISP can't rearrange packets but drops them if they are bigger than 1300 then it is time to look for another provider..

Re: Why does wiki.openwrt.org not respect MSS field in TCP handshake

JonnyM wrote:

The openwrt wiki server  is extremely slow for me as well with a ping time of 400mS from Thailand while the openwrt forum server has a 250mS ping time. I'll usually have to wait for a minute or two before a wiki page is displayed.
Both of them are hosted in Hungary but by different providers.

Now, for the MTU, if your ISP can't rearrange packets but drops them if they are bigger than 1300 then it is time to look for another provider..

It's OK for ISP to have a MTU of 1300. In many other situations the MTU can also be less than 1500, for example, you are using a VPN, then the MTU inside the VPN tunnel is going to be less than 1500 (probably around 1400). That's why during TCP handshaking, both sides will announce their MSS so that the other side will know how big packets it can send. The fact that wiki.openwrt server ignores this announcement is obviously a defy of the protocol.

Re: Why does wiki.openwrt.org not respect MSS field in TCP handshake

i'm getting the same problem, wiki takes few minutes to load. having l2tp tunnel mtu at 1410 and wifi interface mtu at 1400. works fine with direct connection mtu 1500.

Re: Why does wiki.openwrt.org not respect MSS field in TCP handshake

Nice.  I definitely know how MTU works and what MSS does.  Good luck!