Descobrindo e setando o melhor valor da MTU

Para uma breve explicação:

Resumindo, setando o melhor valor da MTU ficará mais estável melhorando assim a velocidade e desempenho da navegação e streaming de Youtube e etc…

Existem algumas formas para descobrir o melhor valor da MTU.

1 opção
O primeiro é pelo roteador.
Alguns roteadores em diagnóstico tem a opção do ping e traceroute.
É só colocar o último valor que conseguir pingar sem dar erro.

Este valor é no máximo 1472, pois 28 bytes são reservados para o cabeçalho dos dados. Completando assim 1500.
Vai diminuindo o valor e veja até onde funciona.

por exemplo

1440 funciona
1441 da erro

1440 é o valor ideal.

Então o valor da MTU é 1440 + 28 que será 1468

As demais opções são no sistema Linux

2 opção

Usar o comando ping

Ocorre a fragmentação e da erro

~ $ ping -M do -s 1472 globo.com
PING globo.com (186.192.90.5) 1472(1500) bytes of data.
ping: local error: Message too long
ping: local error: Message too long
ping: local error: Message too long
ping: local error: Message too long
ping: local error: Message too long
ping -M do -s 1440 globo.com
PING globo.com (186.192.90.5) 1440(1468) bytes of data.
1448 bytes from 186-192-90-5.prt.globo.com (186.192.90.5): icmp_seq=1 ttl=248 time=7.80 ms
1448 bytes from 186-192-90-5.prt.globo.com (186.192.90.5): icmp_seq=2 ttl=248 time=8.11 ms
1448 bytes from 186-192-90-5.prt.globo.com (186.192.90.5): icmp_seq=3 ttl=248 time=8.26 ms
^C
--- globo.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 4ms
rtt min/avg/max/mdev = 7.801/8.056/8.259/0.190 ms

Funciona com 1440.
Mais 28 = 1468

3 opção

~ # tracepath -n globo.com
 1?: [LOCALHOST]                              pmtu 1500
 1:  dust.inr.ac.ru                   0.411ms
 2:  dust.inr.ac.ru        asymm  1   0.390ms pmtu 1468
 2:  3ffe:2400:0:109::2               463.514ms reached[/code]
  Resumnindo: o último valor da pmtu (1468)  é o valor da mtu

4 opção

~ $ traceroute --mtu globo.com
traceroute to globo.com (186.192.90.5), 30 hops max, 65000 byte packets
 1  _gateway (192.168.2.1)  0.742 ms F=1468  0.684 ms  0.634 ms
 2  186-230-192-100.ded.intelignet.com.br (186.230.192.100)  7.237 ms  6.605 ms  6.752 ms
 3  10.223.160.49 (10.223.160.49)  6.666 ms 10.223.228.89 (10.223.228.89)  7.047 ms 10.223.228.93 (10.223.228.93)  6.799 ms
 4  10.223.238.46 (10.223.238.46)  9.428 ms  8.882 ms 10.223.238.50 (10.223.238.50)  13.645 ms
 5  *^C

O último valor de F é a mtu ideal que no caso aqui 1468

Para configurar

Configure a opção de mtu no roteador.
No linux se tiver com networkmanager, configure no campo MTU na aba ethernet

Para configurar com os comando ip e ou ifconfig

Primeiro visualize os dispositivos.
$ ip link list

Output:

1: lo:  mtu 16436 qdisc noqueue
   link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0:  mtu 1500 qdisc pfifo_fast qlen 1000
   link/ether 00:0f:ea:91:04:07 brd ff:ff:ff:ff:ff:ff
3: sit0:  mtu 1480 qdisc noop
   link/sit 0.0.0.0 brd 0.0.0.0

Para configurar segue os dois exemplos

# ifconfig eth0 mtu 1468
Ou
# ip link set dev eth0 mtu 1468
2 Curtidas

Já li sobre isso. Sempre tive curiosidade. Dados interessantes que colhi no ano passado. Fazendo os testes e alterando o MTU no roteador o Xbox ficou com perda de pacotes em torno de 4%. Ou seja, segundo testes de ping eu “melhorei” a configuração, no entanto, piorou.

Deixando MTU padrão tenho 0% de perda de pacotes no Xbox. Isso tanto em um Roteador Intelbras IWR3000N (MTU padrão 1500) quanto em um C3Tech WR2010NL (MTU padrão 1492).

Acabei desencanando.