I would like to verify what is the MTU size that gets in the interfaces. How I do it?
Thanks in advance.
I would like to verify what is the MTU size that gets in the interfaces. How I do it?
Thanks in advance.
You can use ping tool with do-not-fragment flag set.
Most of customers connected by PPPoE are having weird behavior on theirs speed connection, so I would like to analyse the packets, if some of them are being fragmented. I don’t know if it can be the reason.
Yes it can be a reason for problems. Debug it using ping with don’t-fragment and a size of 1500.
(in RouterOS the ping size is the full packet size, in most other environments an extra 28 bytes is added before the packet is transmitted)
Right, Both using 1500 and 1492, the status is fragmention needed and DF set. Do you think that It can characterize an issue with speed and mass drop connection?
For some unclear reason, the default MTU for PPPoE interfaces in RouterOS is 1480. Most others use 1492.
An MTU below 1500 can really affect throughput, especially due to bad firewalls that block all ICMP.
There is a workaround for TCP to adjust MSS to conform to MTU, but of course it does not work for other protocols like UDP.
Make sure this is in the mangle table:
/ip firewall mangle
add action=change-mss chain=forward new-mss=clamp-to-pmtu passthrough=yes protocol=tcp tcp-flags=syn
There are some special handlers in RouterOS that allow you to do the same thing more efficiently by setting an “adjust MSS” option on the interface or profile but sometimes they are broken.
After the procedure the best MTU is 1480, I adjusted all PPPoE Server with that value. Sniffing one customers, none of the packet transcends this size. Do you think necessary add this rule?
Try this tool to debug the MTU values between you and a host:
https://elifulkerson.com/projects/mturoute.php
(I probably found this on this forum recommended by someone)