ZeroTierOne icon indicating copy to clipboard operation
ZeroTierOne copied to clipboard

MTU issue with some mobile operators

Open giobatta opened this issue 9 months ago • 5 comments

Hello, with some mobile operators, it seems that lowering the MTU to 1280 (the min allowed) still causes huge packet loss for inbound packets. Lowering the MTU lower than 1280 is not allowed (if you do, zerotier central sets it to 1280). No issue if the connection is made via cable. Would it be possibile to allow lower MTUs ?

giobatta avatar May 08 '24 09:05 giobatta

Per RFC 2460, "IPv6 requires that every link in the internet have an MTU of 1280 octets or greater." Hence the reason for the lower limit. ZeroTier supports IPv6 networks and as such, cannot lower the MTU lower than 1280.

glimberg avatar May 08 '24 14:05 glimberg

So if the mobile operator is using IPv4, these operators are unusable ? Or might the packet loss be due to other reasons ? It occurs only one way. Both devices have direct (not relayed) connection. Of course mobile operator itself has no packet loss and signal is strong.

giobatta avatar May 08 '24 14:05 giobatta

Packet loss could be due to other reasons, but I can't tell you what they are from where I sit.

glimberg avatar May 08 '24 14:05 glimberg

Issue is many mobile operators use private IPv4 networks with no IPv6 and then they nat outbound after many hops. Due to the technologies they use (radio bridges) often the max MTU is lower and zerotier becomes unusable...

giobatta avatar May 08 '24 14:05 giobatta

Hello, with some mobile operators, it seems that lowering the MTU to 1280 (the min allowed) still causes huge packet loss for inbound packets. Lowering the MTU lower than 1280 is not allowed (if you do, zerotier central sets it to 1280). No issue if the connection is made via cable. Would it be possibile to allow lower MTUs ?

Are you using Windows? Because the mtu fails to set correctly on windows regardless of the mtu setting of the ZeroTier Network. You have to force set the mtu of the ZeroTier adapter to match the mtu of the ZeroTier network. e.g. netsh interface ipv4 set interface "ZeroTier One [NET-ID]" mtu=1388

ShadowX117 avatar Jun 17 '24 10:06 ShadowX117