fbpx

O que são Jumbo Frames, para que servem, quando usar e quando não usar?

folder_openSem Categoria
access_time

4 min

Update 2020: ajustes para o texto ficar mais didático e para as imagens terem maior coerência.

Dizemos que usamos Jumbo Frames ao alterar o MTU (Maximum Transmission Unit) da placa de rede dos 1500 bytes padrões para 9000 bytes.

Isso significa que o tamanho dos pacotes enviados pela interface de rede passa para 9000 bytes ao invés dos 1500 originais, ou seja, os pacotes ficam 6 vezes maiores.

O padrão original de 1500 bytes tem origem nos primórdios das interfaces de rede e da Internet, mais especificamente quando determinaram o padrão 10BASE-5 (10Mbits/s), e é mantido por compatibilidade com equipamentos mais antigos. Ao mesmo tempo que apenas as placas de rede mais recentes (de 1Gbit/s para cima) suportam jumbo frames.

Essa configuração é normalmente feita no Sistema Operacional, nas configurações da interface de rede, e nos Switches e Roteadores, também para cada interface.

A vantagem de usar um tamanho de pacote maior é diminuir o overhead relativo; um pacote TCP/IP em IPv4 tem 40 bytes de cabeçalho, usado para endereçar IPs, portas e outras opções de controle da conexão, isso nos cria o seguinte overhead:

Ou seja, utilizando os pacotes comuns, 2,66% do tráfego é apenas para os cabeçalhos, enquanto que usando jumbo frames representa apenas 0,44% do tráfego.

Em um exemplo real, na transmissão de um arquivo de 1Gbyte:

Na prática, uma conexão com jumbo frames usa até 6,1 vezes menos pacotes para transmitir a mesma quantidade de dados, exemplificando:

Com menos pacotes, o primeiro ganho é para o sistema operacional, que precisa processar menos pacotes, isso é extremamente benéfico em termos de uso de CPU.

O segundo ganho é o total de bytes transmitidos, que podemos calcular considerando o overhead:

Total de 23,4 Mbytes transferidos a menos usando jumbo frames, cerca de 2% a menos de tráfego.

A terceira diferença aparece no tempo de transmissão do arquivo, numa transmissão, em uma rede de 10Mbits/s temos:

Uma redução de 19 segundos no nosso exemplo, ou 2% a menos no tempo de transmissão usando jumbo frames versus pacotes comuns.

Quando usar?

Em um ambiente controlado, você pode ligar os jumbo frames (é necessário configurar no Switch e nas portas dos servidores) e fazer a configuração correta nos hosts.

Por exemplo, em uma SAN iSCSI o uso de jumbo frames são boa prática, mas também é boa prática que essas redes sejam isoladas da LAN comum.

É comum que essa rede transmita milhares de Gigabytes por dia, com isso, a diferença de menor uso de CPU e de tempo de rede passa a ser mais significativa ainda.

Quando não usar?

O principal problema de habilitar jumbo frames acontece ao comunicar com equipamentos que não tem os jumbo frames ligados.

Quando ocorre essa comunicação, o sistema operacional precisa renegociar o tamanho máximo de pacote daquela conexão; pra isso, é usado o PMTU, um protocolo baseado em ICMP.

Nesse exemplo, a primeira conexão iniciou-e com um pacote jumbo de 9000 bytes, mas recebeu um pacote de volta e reiniciou a conexão usando pacotes de 1500 bytes.

Isso causa um pequeno atraso no início da conexão.

Ao tentar transmitir um pacote com tamanho maior que o permitido para a Internet, o roteador de borda tem duas alternativas: renegociar o tamanho máximo de pacote usando PMTU, ou fragmentar ele mesmo o pacote, consumindo mais CPU:

A primeira opção é a mais comum, mas envolve mais tráfego de rede na negociação da conexão, causando um delay inicial. A segunda opção, ilustrada na figura acima, usa mais recursos do roteador, e dependendo da capacidade de CPU do mesmo, pode acabar causando lentidão ou perda de pacotes.

Pode acontecer também do servidor ou cliente ter pacotes ICMP bloqueados e nunca renegociar o PMTU, nesse caso, a conexão é interrompida:

Isso causa um fenômeno difícil de diagnosticar, com sintomas bem estranhos:

  • um site pode carregar normal, mas um download apresenta problemas;
  • recebe e envia e-mails pequenos, mas se tiver anexo não transmite;
  • a conexão estabelece, mas não consegue transferir dados.

Vale a pena usar Jumbo Frames?

Para apenas 2% de ganho? Sim quando falamos de ambientes de altíssima performance, como redes iSCSI, clusters de servidores ou ambientes de virtualização.

Esse ganho de 2% a menos de tráfego e 6 vezes menos pacotes também se refletem no uso de CPU, que pode consumir até 1Ghz de uso apenas para processar os pacotes, essa economia pode ser o suficiente para suportar mais algumas centenas de usuários.

Já, ao se comunicar com a Internet, em algum momento vai precisar executar o processo de PMTU, causando um delay inicial nas conexões e usando mais processamento, anulando o benefício inicial e algumas vezes gerando problemas difíceis de diagnosticar, por isso, na comunicação com a Internet ainda não é recomendado o uso de jumbo frames.

Related Posts

Menu
Simple Login Protect for WordPress
Enter in wait list!
Simply enter your email address
and our team will contact as soon as possible
SUBMIT NOW
close-link
Sky Monitor
Solicitar uma Demonstração!
Entre com seu e-mail e nossa equipe entrará em contato:
ENVIAR AGORA
close-link

Subscribe to our newsletter

Sign-up to get the latest news straight to your inbox.
SUBSCRIBE!
Give it a try, you can unsubscribe anytime.