Unidade de transmissão máxima (MTU) de rede para a instância do EC2 - Amazon Elastic Compute Cloud

Unidade de transmissão máxima (MTU) de rede para a instância do EC2

A unidade de transmissão máxima (MTU) de uma conexão de rede é o tamanho, em bytes, do maior pacote permissível que pode ser passado pela conexão. Quanto maior a MTU de uma conexão, mais dados podem ser passados em um único pacote. Os quadros de Ethernet consistem no pacote, ou nos dados em si que você envia, e nas informações de overhead de rede que o cercam.

Os quadros de ethernet podem vir em diferentes formatos, sendo o mais comum o Ethernet v2 padrão. Ele é compatível com 1.500 MTU, que é o maior tamanho de pacote de Ethernet compatível na maior parte da Internet. A MTU máxima compatível com uma instância depende do tipo de instância.

As regras seguintes se aplicam às instâncias que estão em zonas de Wavelength:

  • O tráfego que vai de uma instância para outra dentro de uma VPC na mesma zona do Wavelength tem um MTU de 1300.

  • O tráfego que vai de uma instância a outra que usa o IP do portador dentro de uma zona de Wavelength tem um MTU de 1500.

  • O tráfego que vai de uma instância a outra entre uma zona de Wavelength e a região que usa um endereço IP público tem um MTU de 1500.

  • O tráfego que vai de uma instância a outra entre uma zona de Wavelength e a região que usa um endereço IP privado tem um MTU de 1300.

As regras a seguir se aplicam às instâncias que estão no Outposts.

  • O tráfego que vai de uma instância do Outposts para uma instância da região tem um MTU de 1300.

Para ver as informações de MTU de rede para instâncias do Windows, alterne para esta página no guia Guia do usuário do Amazon EC2 para instâncias do Windows: Unidade de transmissão máxima de rede (MTU) para sua instância do EC2.

Frames jumbo (9001 MTU)

Os frames jumbo permitem mais de 1500 bytes de dados ao aumentar o tamanho da carga útil por pacote, aumentando assim a porcentagem do pacotes que não configura sobrecarga. São necessários menos pacotes para enviar a mesma quantidade de dados usáveis. No entanto, o tráfego é limitado a um MTU máximo de 1500 nos seguintes casos:

  • Tráfego em um gateway de Internet

  • Tráfego em uma conexão de emparelhamento de VPC entre regiões

  • Tráfego através de ligações VPN

  • Tráfego fora de uma determinada região da AWS para EC2-Classic

Se os pacotes tiverem mais de 1500 bytes, eles são fragmentados ou caem se o marcador Don't Fragment for definido no cabeçalho IP.

Os frames Jumbo devem ser usados com cuidado para o tráfego voltado para Internet ou qualquer tráfego que saia de uma VPC. Os pacotes são fragmentados por sistemas intermediários, que retarda o tráfego. Para usar frames jumbo dentro de uma VPC e não diminuir o tráfego vinculado para fora da VPC, é possível configurar o tamanho de MTU por rota ou usar interfaces de rede elásticas com diferentes tipos de MTU e rotas diferentes.

Para instâncias posicionadas em um grupo de posicionamento de cluster, os frames jumbo ajudam a alcançar a máxima throughput de rede possível e são recomendados neste caso. Para ter mais informações, consulte Grupos de posicionamento.

É possível usar quadros jumbo para tráfego entre suas VPCs e suas redes on-premises por meio do AWS Direct Connect. Para obter mais informações e saber como verificar a capacidade de frames jumbo, consulte Setting Network MTU (Configuração de MTU de rede) no Manual do usuário do AWS Direct Connect.

Todos os tipos de instância do Amazon EC2 são compatíveis com 1.500 MTU, e todos os tipos de instância da geração atual são compatíveis frames jumbo. Os seguintes tipos de instância da geração anterior são compatíveis com frames jumbo: A1, C3, I2, M3 e R3.

Para obter mais informações sobre os tamanhos de MTU compatíveis:

  • Para gateways NAT, consulte NAT gateway basics no Manual do usuário da Amazon VPC.

  • Para gateways de trânsito, consulte MTU no Amazon VPC Transit Gateways User Guide.

  • Para zonas locais, consulte Considerations no AWS Local Zones User Guide.

Path MTU Discovery

A Path MTU Discovery (PMTUD) é usada para determinar a MTU do caminho entre dois dispositivos. A MTU do caminho é o tamanho de pacote máximo com suporte no caminho entre o host de origem e o host de recepção. Quando há alguma diferença no tamanho da MTU da rede entre dois hosts, a PMTUD permite que o host de recepção responda ao host de origem com uma mensagem de ICMP. Essa mensagem instrui o host de origem a usar o menor tamanho de MTU no caminho de rede para enviar novamente a solicitação. Sem essa negociação, a perda de pacotes pode ocorrer porque a solicitação é muito grande para o host aceitar.

Para o IPv4, quando um host enviar um pacote que for maior que a MTU do host de recebimento ou que a MTU de um dispositivo ao longo do caminho, o host ou o dispositivo de recebimento eliminará o pacote e retornará a seguinte mensagem ICMP: Destination Unreachable: Fragmentation Needed and Don't Fragment was Set (Tipo 3, Código 4). Isso instrui o host de transmissão a dividir a carga útil em vários pacotes menores e, em seguida, retransmiti-los.

O protocolo IPv6 não é compatível com a fragmentação na rede. Se um host enviar um pacote que for maior que a MTU do host de recebimento ou que a MTU de um dispositivo ao longo do caminho, o host ou dispositivo de recebimento eliminará o pacote e retornará a seguinte mensagem ICMP: ICMPv6 Packet Too Big (PTB) (Tipo 2). Isso instrui o host de transmissão a dividir a carga útil em vários pacotes menores e, em seguida, retransmiti-los.

As conexões feitas por meio de alguns componentes, como gateways NAT e balanceadores de carga, são rastreadas automaticamente. Isso significa que o rastreamento de grupos de segurança é habilitado automaticamente para suas tentativas de conexão de saída. Se as conexões forem rastreadas automaticamente ou se as regras do seu grupo de segurança permitirem tráfego ICMP de entrada, você poderá receber respostas do PMTUD.

Observe que o tráfego ICMP pode ser bloqueado mesmo se o tráfego for permitido no nível do grupo de segurança, como se você tiver uma entrada na lista de controle de acesso à rede que negue o tráfego ICMP para a sub-rede.

Importante

O Path MTU Discovery não garante que os quadros Jumbo não sejam descartados por alguns roteadores. Um gateway da Internet na VPC encaminhará somente pacotes de até 1.500 bytes. São recomendados pacotes de 1.500 MTU para o tráfico de Internet.

Verificar o MTU do caminho entre dois hosts

É possível verificar o MTU do caminho entre dois hosts usando o comando tracepath, que é parte do pacote iputils disponível por padrão em várias distribuições Linux, inclusive Amazon Linux.

Para verificar o MTU do caminho usando o tracepath

Use o comando a seguir para verificar o MTU do caminho entre sua instância do EC2; e outro host. É possível usar um nome DNS ou um endereço IP como destino. Se o destino for outra instância do EC2, verifique se o security group permite tráfego UDP de entrada. Esse exemplo verifica o MTU do caminho entre a instância do EC2 e a amazon.com.

[ec2-user ~]$ tracepath amazon.com 1?: [LOCALHOST] pmtu 9001 1: ip-172-31-16-1.us-west-1.compute.internal (172.31.16.1) 0.187ms pmtu 1500 1: no reply 2: no reply 3: no reply 4: 100.64.16.241 (100.64.16.241) 0.574ms 5: 72.21.222.221 (72.21.222.221) 84.447ms asymm 21 6: 205.251.229.97 (205.251.229.97) 79.970ms asymm 19 7: 72.21.222.194 (72.21.222.194) 96.546ms asymm 16 8: 72.21.222.239 (72.21.222.239) 79.244ms asymm 15 9: 205.251.225.73 (205.251.225.73) 91.867ms asymm 16 ... 31: no reply Too many hops: pmtu 1500 Resume: pmtu 1500

Neste exemplo, o MTU do caminho é 1500.

Verificar e definir o MTU na instância do Linux

Algumas instâncias são configuradas para usar frames jumbo, e outras são configuradas para usar tamanhos de quadro padrão. Convém usar frames jumbo para o tráfego de rede na VPC ou usar quadros padrão para o tráfego da Internet. Seja qual for seu caso de uso, recomendamos verificar se sua instância se comportará da maneira como você espera. É possível usar os procedimentos desta seção para verificar a configuração de MTU da interface de rede e modificá-la, se necessário.

Para verificar a configuração de MTU em uma instância do Linux

É possível verificar o valor atual de MTU usando o comando ip a seguir. Observe que, na saída de exemplo, mtu 9001 indica que essa instância usa frames jumbo.

[ec2-user ~]$ ip link show eth0 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000 link/ether 02:90:c0:b7:9e:d1 brd ff:ff:ff:ff:ff:ff
Para definir o valor de MTU em uma instância do Linux
  1. É possível definir o valor de MTU usando o comando ip. Os comandos a seguir definem o valor de MTU desejado para 1500, mas é possívelria usar 9001.

    [ec2-user ~]$ sudo ip link set dev eth0 mtu 1500
  2. (Opcional) Para persistir a configuração de MTU de rede após a reinicialização, modifique os arquivos de configuração a seguir com base no tipo de sistema operacional.

    • No Amazon Linux 2, adicione a linha a seguir ao arquivo /etc/sysconfig/network-scripts/ifcfg-eth0:

      MTU=1500

      Adicione a linha a seguir ao arquivo /etc/dhcp/dhclient.conf:

      request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-search, domain-name-servers, host-name, nis-domain, nis-servers, ntp-servers;
    • Para Amazon Linux, adicione as linhas a seguir ao seu arquivo /etc/dhcp/dhclient-eth0.conf.

      interface "eth0" { supersede interface-mtu 1500; }
    • Para outras distribuições de Linux, consulte a documentação específica.

  3. (Opcional) Reinicialize sua instância e verifique se a configuração de MTU está correta.

Solução de problemas

Se você experimentar problemas de conectividade entre sua instância do EC2 e um cluster do Amazon Redshift ao usar quadros jumbo, consulte Queries Appear to Hang (As consultas parecem travar) no Amazon Redshift Management Guide (Guia de gerenciamento do Amazon Redshift)