Como posso solucionar problemas de perda de pacotes na minha conexão Direct Connect?

Data da última atualização: 23/12/2021

Estou usando o AWS Direct Connect para transferir dados. Está havendo perda de pacotes ao transferir dados para minha instância do Amazon Elastic Compute Cloud (Amazon EC2). Como posso isolar a perda de pacotes?

Breve descrição

A perda de pacotes ocorre quando os pacotes de dados transmitidos não chegam ao destino, resultando em problemas de performance da rede. A perda de pacotes é causada pela baixa intensidade do sinal no destino, utilização excessiva do sistema, congestionamento da rede e configurações incorretas da rota da rede.

Resolução

Execute as seguintes verificações para seus dispositivos de rede e conexão Direct Connect.

Verifique o AWS Personal Health Dashboard para conferir se há manutenção programada ou eventos

O AWS Personal Health Dashboard exibe informações relevantes e também fornece notificações para atividades. Para obter mais informações, consulte Como posso receber notificações sobre manutenções ou eventos programados do Direct Connect?

Verifique as métricas de endpoint do Direct Connect, gateway do cliente (CGW) e dispositivo intermediário (camada 1)

Com o CGW e dispositivos intermediários, o problema pode ser local na rede on-premises ou o caminho de trânsito para a AWS. Verifique o seguinte no nó on-premises e nos dispositivos intermediários:

  • Os logs do CGW para abas de interface.
  • Utilização de CPU do CGW quando o problema ocorreu.
  • A leitura do sinal luminoso no dispositivo terminal da conexão Direct Connect.
  • O dispositivo terminal da conexão Direct Connect para erros de entrada, erros de enquadramento incrementais, erros de redundância cíclica (CRC), runts, giants e limitações.

Verificar as métricas da conexão Direct Connect (camada 1)

Verifique as seguintes métricas do Direct Connect:

  • ConnectionErrorCount: aplique a soma estatística e observe que valores não zero indicam erros em nível de MAC no dispositivo da AWS.
  • ConnectionLightLevelTX e ConnectionLightLevelRX: verifique o sinal luminoso gravado na conexão Direct Connect quando o problema ocorreu. O intervalo aceitável está entre -14,4 e 2,50 dBm.
  • ConnectionBpsEgress e ConnectionBpsIngress: verifique a quantidade de tráfego na conexão Direct Connect quando ocorreu a perda de pacotes devido ao congestionamento no link.

Para obter mais informações, consulte Métricas da conexão Direct Connect.

Verificar se há roteamento assimétrico abaixo do ideal (camada 3)

O roteamento assimétrico poderá resultar em perda de pacotes se o firewall on-premises executar o encaminhamento de caminho reverso unicast, causando queda do tráfego de rede. O roteamento abaixo do ideal com a rede on-premises também pode causar perda de pacotes.

Para obter mais informações, consulte Como posso resolver problemas de roteamento assimétrico ao criar uma VPN como backup para o Direct Connect em um gateway de trânsito?

Rota de rastreamento bidirecional de ponta a ponta entre o host local e o host da AWS (camada 3)

A execução da rota de rastreamento entre os hosts determina o caminho da rede percorrido em ambas as direções. Os resultados do rastreamento também determinam se o roteamento é assimétrico, com balanceamento de carga e assim por diante.

1.    Execute o seguinte comando para instalar o traceroute:

Linux:

 sudo yum install traceroute

Ubuntu:

sudo apt-get install traceroute

2. Em seguida, execute um comando semelhante ao seguinte para o traceroute ICMP:

sudo traceroute -T -p <destination Port> <IP of destination host>

SO Windows:

1.    Baixe WinPcap e tracetcp.

2.    Extraia o arquivo ZIP Tracetcp.

3.    Copie tracetcp.exe para a unidade C.

4.    Instale o WinPcap.

5.    Abra o prompt de comando e faça root do WinPcap na unidade C usando o comando C:\Users\username>cd \ command.

6.    Execute tracetcp usando os seguintes comandos: tracetcp.exe hostname:port ou tracetcp.exe ip:port.

Teste de MTR bidirecional de ponta a ponta entre o host on-premises e o host da AWS (camada 3)

Testes de MTR são semelhantes ao traceroute para permitir a descoberta de cada roteador no caminho de conexão de rede entre os hosts. Eles também fornecem informações sobre cada nó no caminho, como perda de pacotes.

Verifique os resultados do MTR quanto a perda de pacotes e latência da rede. Uma porcentagem de perda de rede em um salto pode indicar um problema com o roteador. Alguns provedores de serviços limitam o tráfego ICMP que o MTR utiliza. Para determinar se a perda de pacotes se deve a limites de taxa, revise os saltos subsequentes. Se o salto subsequente mostrar uma perda de 0,0%, isso pode indicar limitação da taxa de ICMP.

1.  Execute o seguinte comando para instalar o MTR:

Amazon Linux/REHEL:

$ sudo yum install mtr -y

Ubuntu:

sudo apt install mtr -y

SO Windows:

Baixe e instale WinMTR.

Nota: para o sistema operacional Windows, o WinMTR não oferece suporte ao MTR baseado em TCP.

2.       Para a direção on-premises --> AWS, execute o MTR no host on-premises (baseado em ICMP e TCP):

$ mtr -n -c 100 <private IP of EC2> --report
$ mtr -n -T -P <EC2 instance open TCP port> -c 100 <private IP of EC2> --report

3.    Para a direção AWS --> on-premises, execute o MTR na instância do EC2 (com base em ICMP e TCP):

$ mtr -n -c 100 <private IP of the local host> --report
$ mtr -n -T -P <local host open TCP port> -c 100 <private IP of the local host> --report

Revisar a MTU do caminho entre o host on-premises e o host da AWS (camada 3)

A unidade de transmissão máxima (MTU) é o tamanho do maior pacote permitido que é transmitido pela conexão de rede. A descoberta de MTU de caminho (PMTUD) determina o caminho da MTU. Poderá ocorrer perda de pacotes se o pacote for muito grande. Para obter mais informações, consulte Descoberta de MTU de caminho.

Você pode verificar a MTU de caminho entre dois hosts usando tracepath.

1.  Para a direção on-premises —> AWS, execute tracepath na porta 80 do host local:

$ tracepath -n -p 80 <EC2 private instance IP>
2. Para a direção AWS —> on-premises, execute tracepath na porta 80 da instância do EC2:

$ tracepath -n -p 80 <private IP of local host>