Como definir o MTU correto

Vamos usar uma analogia aqui: suponha que alguém vá até o mercado e tenha apenas uma sacola. O indivíduo terá como objetivo comprar o maior número possível de itens, mas ainda assim certificar-se de que todos eles caberão no saco, em vez de serem divididos em vários sacos que ele não tem. Da mesma forma para redes digitais, o MTU é o parâmetro que decide o maior datagrama transferido sem ser fragmentado pela rede. Abaixo está uma introdução ao MTU, bem como uma explicação sobre como calculá-lo. Além disso, descubra o valor do MTU no Windows e no Linux e como alterá-los.

Introdução ao MTU

  • O que é MTU?
  • Calcular o MTU
  • Encontre o valor do MTU no Windows
    • Alterando o MTU no Windows
  • Encontre o valor do MTU no Linux
    • Mudando o MTU no Linux

O que é MTU?

A Maximum Transmission Unit (MTU) (tamanho máximo da unidade de transferência) é um parâmetro que determina que o datagrama mais longo pode ser transmitido por uma interface IP sem precisar ser fragmentado em unidades menores. O MTU deve ser maior que o maior datagrama que você deseja transmitir sem ser fragmentado. Mais simplesmente, o MTU define o tamanho máximo (em bytes) do pacote que pode ser transmitido de uma só vez.
  • Para ethernet, esse valor deve ser de 1500 bytes.
  • Para conexões PPPoE, 1492
  • Para CTS (baixa velocidade), 576

Calcular o MTU

Cada quadro de transmissão é definido pelo corpo (= MMS = tamanho máximo do segmento) que define o maior segmento de informações TCP que podem ser transmitidas e o cabeçalho.
  • MTU = cabeçalhos MSS + TCP / IP

Considere isso:

  • MSS = MTU-40 <- 40 para o cabeçalho (20 bytes IP e 20 bytes TCP)

Pacotes não são fragmentados

Nenhum pacote perdido

  • Tamanho / velocidade do pacote

Ou uma transferência de informação de 1500000 bytes usando diferentes tamanhos de pacotes através de uma linha T1 (CTS) (T1 = 1544000 bits / seg) como segue:

 (Cabeçalho MSS +) * 8 bits / byte

---------------------------------- = Latência

1.544.000 bits / seg.

  • Usando valores diferentes de MTU, pode-se calcular a latência da transmissão:

Se MTU = 1500, então: (1460 +40) * 8/1544000 = 7772 ms

Se MTU = 576, então: (536 +40) * 8/1544000 = 2924 ms

  • Em 10 loops, obtemos 77, 72 ms para o MTU para 1500 e 29, 24 ms para o 576.
  • Para resumir, quanto mais pacotes houver, mais tempo a transferência ;-)

Usando a mesma fórmula para a transferência de 1mb.

1MByte = 1024 KB = 1.048.576 bytes.

  • Se MTU = 1500, então: (1460 +40) * 8/1544000 = 7772 ms
  • 1 MByte / MSS = 1048576 bytes / 1460 = 718, 2, então 719 pacotes para transferir 1 MByte.
  • Para transferir 1Mbyte: 719 ms 7772 * pacotes (sempre loop) = 5588.068 ms ou 5588 segundos.
  • Se transferirmos nossos 1 MByte em 10 loops (definidos pelo cabeçalho), idealmente:

(1 loops de pacotes * 10 * 7, 772ms de atraso) + 718 * 7772 = 5658 segundos.

Se MTU = 576, então: (536 +40) * 8/1544000 = 2924 ms

1 MByte / MSS = 1048576 bytes / 536 = 1956.3, portanto, 1957 pacotes para transferir 1 MByte.

  • Para transferir 1 MByte: 1957 pacotes * 2924 ms (sempre loop) = 5722.268 ms ou 5722 segundos por loop.

Se transferimos o 1 MByte em 10 loops:

(1 loops de pacote * 10 * 2, 924 ms) * 2924 + 1956 = 5748 seg.

A diferença é que a maior parte do tamanho do pacote é grande, menos a do cabeçalho é importante (relativamente ^ ^)

Então, para transferir 1Mbyte, se alguém usa um MTU para 1500, então há 719 * 40 = 28, 760 bytes para o cabeçalho, enquanto o MTU para 576, obtemos 1957 * 40 = 78, 280, mais de 49, 520 bytes de 'cabeçalho enviado Mbyte cada. Para o nosso exemplo de 10 loops, não é considerável, mas nas transferências diárias ...

A maioria dos modems usa um cabeçalho maior e não levamos em conta nem outras latências que possam estar associadas.

Encontre o valor do MTU no Windows

Para encontrar o MTU máximo, ele deve estar no prompt de comando (Iniciar> Executar> "cmd"). Uma vez no prompt de comando (página preta), é necessário testar o ping, indicando o tamanho dos pacotes a serem testados:
  • ping-fl (tamanho do pacote -28) (IP do seu servidor)

A opção -f permite que você faça o teste exigindo que os roteadores encontrados não fragmentem o pacote

A opção -l envia o tamanho do pacote

A remoção de 28 para o tamanho do pacote a ser testado corresponde ao cabeçalho deste pacote

Devemos fazer o teste em um IP. Para o navegador da Internet, é melhor ter um endereço da web.

  • Isto dá:

 ping-fl 1372 192.168.0.1

- Se a resposta para a consulta for:

Resposta de 192.168.0.1: bytes = 1372 ....

Resposta de 192.168.0.1: bytes = 1372 ....

Resposta de 192.168.0.1: bytes = 1372 ....

Resposta de 192.168.0.1: bytes = 1372 ....

Aqui o tamanho do pacote permite transportar sem fragmentação, pode-se testar um valor maior. Quando você receber a mensagem: "O pacote deve ser fragmentado, mas o conjunto DF", o tamanho do pacote é muito grande.

Alterando o MTU no Windows

Depois de determinar o MTU ideal, existem duas maneiras de alterar o valor do MTU. Eu menciono aqui o mais fácil de implementar, através do software:
  • DrTCP

Uma vez instalado, você tem uma caixa "MTU", onde você deve inserir o valor do teste no DOS, adicionando 28 para o cabeçalho.

Encontre o valor do MTU no Linux

  • Apenas execute este comando como root com nome_interface para substituir pelo nome da interface de rede em questão:

 interface_name ifconfig | grep-Eo "MTU: [0-9] +"

Mudando o MTU no Linux

  • Em root com o comando ifconfig que altera o MTU no Linux com a seguinte sintaxe:

 interface_name ifconfig mtu value_mtu 
  • Exemplo: defina o MUT da interface para 1500

 ifconfig eth0 mtu 1500 
Artigo Anterior Próximo Artigo

Principais Dicas