Jumbo Frames: Quando usar.

Jumbo Frames: Quando usar.

A parte legal do meu trabalho é ser questionado diariamente sobre os mais diversos assuntos envolvendo tecnologia da informação em ambientes empresariais e na maioria das vezes as questões são relacionadas a formas de aumentar o desempenho da rede (sim, muitas vezes o termo rede é usado de forma generalizada, principalmente quando algum sistema ou aplicação não está funcionando de forma adequada).

Recentemente me perguntaram qual o benefício de se configurar jumbo frames na interligação entre switches (camada 2). Bem a resposta neste caso é simples: Nenhum.

Vamos analisar a questão de uma forma mais profunda, e esta análise me fez voltar no tempo, especificamente quando estava concluindo a faculdade de Ciência da Computação, lembrei-me do meu projeto de conclusão, onde realizei uma implementação funcional do protocolo MAC (Medium Access Control) diretamente em um hardware reconfigurável (FPGA – Field Programmable Gate Array). Naquela época precisei entender como o sinal elétrico transitava entre uma interface de rede e outra, este estudo foi bastante útil para responder a questões relacionadas ao desempenho de redes como esta.

Primeiramente, precisamos entender que MTU (Maximum Transmission Unit) é a unidade que determina o tamanho máximo de uma unidade de dados (PDU – Protocol Data Unit) que pode ser transportada em única transação na camada de rede física. Em termos práticos: em redes IP é o tamanho máximo que um pacote pode possuir para ser transportado sem fragmentação entre dois dispositivos é de 1500 Bytes (redes Ethernet).

Por muitas vezes o MTU é confundido com Maximum Frame Size que é o tamanho máximo de um quadro (Frame) Ethernet, tanto que existe uma confusão quanto ao tamanho, muitos afirmam que o MTU não é de 1500 Bytes, mas sim de 1518, 1522 e até mesmo 1526 Bytes. Para ficar tudo claro, o MTU em redes Ethernet é de 1500 Bytes e o tamanho máximo do Frame é de 1518 Bytes, todavia se utilizarmos VLAN’s (Virtual LAN) “tagged” o tamanho sobe para 1522 Bytes e se considerarmos o FCS (Frame Check Sequence, um código de verificação de erros no final do Frame) temos o tamanho máximo de 1526 Bytes. Isso pode ser verificado na especificação IEEE 802.3/2015 – Standard for Ethernet, com alguns trechos destacados nas imagens abaixo:

Por padrão o Frame Ethernet possui 1518 Bytes.

 

Se utilizarmos uma VLAN Tagged, o número sobe para 1522 Bytes.

 

Todavia, se considerarmos a verificação de erros (FCS) o número sobe para 1526 Bytes.

Agora que já temos uma visão geral do que é MTU e tamanho máximo do Frame, vamos entrar especificamente na questão que dá título a esta postagem: Jumbo Frame. Qualquer Frame com um MTU maior que 1500 Bytes é considerado Jumbo. Este tipo de frame não é especificado no padrão IEEE 802.3, portanto cada fabricante trabalha com números diferentes, mas existe um número médio de 9000 Bytes para o MTU (com 9026 Bytes no tamanho máximo do Frame). Alguns fabricantes falam de até 9216 Bytes, por se tratar de uma especificação não padronizada é necessário verificar cada equipamento envolvido na rede para saber o tamanho máximo suportado, na figura abaixo temos duas placas de redes com diferentes valores para Jumbo Frames.

Duas placas de diferentes fabricantes, com diferentes valores.

O uso de Jumbo Frames de uma forma geral aumenta de forma significativa o “throughput” (quantidade de bytes úteis transferidos por segundo), em alguns casos o ganho chega a 30%. O princípio é que teremos mais espaço para a carga útil (Payload) em uma única transferência, visto que cabeçalhos e algumas outras informações de encapsulamento possuem tamanho fixo.

Durante a comunicação entre dois dispositivos em uma rede TCP/IP existe uma técnica (descrita na RFC 1191) denominada PMTUD (Path MTU Discovery) que especifica qual o MTU máximo do caminho com o objetivo de evitar a fragmentação IP. Portanto em uma rede LAN, com dispositivos trabalhando com o MTU padrão (1500 Bytes), embora a interligação entre os Switches esteja configurada com um MTU maior (9000 Bytes, por exemplo) prevalecerá o menor MTU entre os dispositivos envolvidos na comunicação fim-a-fim, ou seja, 1500 Bytes, logo não teremos nenhum incremento de desempenho neste caso específico.

Quando usar Jumbo Frames?

Minha recomendação é sempre utilizar em ambientes controlados, onde você tem o controle de todos dispositivos envolvidos, sendo as aplicações mais comuns em redes SAN (Storage Area Network) iSCSI, onde Storage, Switches e Servidores estejam configurados com o mesmo MTU. Outra implementação comum é quando existe uma rede separada para o tráfego de Backup entre os servidores, neste caso também é recomendável o uso de Jumbo Frames.

Consultor veterano na área de Tecnologia da Informação, com passagem em grandes empresas, graduado em Ciência da Computação com especialização em microeletrônica e gestão de projetos, detentor de diversas certificações de mercado (Microsoft, Cisco, Brocade, Vmware, etc.).

2 thoughts on “Jumbo Frames: Quando usar.

  1. Arles Sant’ Ana sabe me informar se haveria uma aplicação pratica em um provedor ISP no sentindo da comunicação entre switches e ccr’s e o bgp?

    1. Então, é possível em alguns casos aumentar o troughput (pois a carga útil ou Payload é maior, pois os dados de cabeçalho continuam com tamanho fixo), mas ao mesmo tempo podem gerar problemas de fragmentação excessiva. No passado (há uns 6 anos atrás), tive um problema intermitente em alguns links de internet corporativos, alguns sites simplesmente não acessavam e no final era um problema de fragmentação excessiva que só foi resolvido com a redução do MTU para um valor ligeiramente inferior ao padrão (1500 bytes). A minha sugestão é testar o impacto real, pois digamos já vivenciei dois cenários distintos em situações semelhantes a que você pergunta, sendo que uma delas enfrentei problemas que sinceramente foram de difícil diagnóstico.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *