A perda de pacotes ocorre quando sua conexão de rede perde informações enquanto está em trânsito. Ele pode fazer com que sua conexão de rede pareça mais lenta do que deveria e reduz a confiabilidade da comunicação de rede com dispositivos locais e remotos. A interrupção da perda de pacotes deve estar no topo da lista para quem quer melhorar uma rede problemática.
O que é perda de pacotes?
Embora a água corrente seja frequentemente usada como uma analogia para o tráfego de rede, as informações não são transmitidas pela rede como um fluxo contínuo. Pelo contrário, é enviado como uma série de unidades discretas, chamadas pacotes. Essas unidades são como páginas individuais em um livro. Juntos, eles têm algum significado, mas somente quando conectados com as outras páginas na ordem correta criam um todo coerente. Quando sua conexão de rede perde pacotes, o livro completo não pode ser construído. Os pacotes também podem chegar incompletos, danificados ou defeituosos, fazendo com que sejam inúteis. A correção para isso é tipicamente reenviar o pacote perdido.
A maioria das redes tem algum nível muito baixo de perda de pacotes de tempos em tempos. As vicissitudes das conexões de rede são tais que um pacote descartado de vez em quando é algo inevitável. Dito isso, em uma rede funcionando adequadamente, a perda de pacotes acontece raramente o suficiente para não afetar a eficácia da conexão de rede.
Se você está vendo níveis mais altos de perda de pacotes em toda a sua rede, precisará tomar medidas para corrigir isso. Para retornar à nossa analogia com a água, a perda significativa de pacotes é como um cano com vazamento grave. Ele precisa ser corrigido antes que qualquer outra melhoria possa ser feita.
O que causa perda de pacotes na sua rede
A perda de pacotes não acontece por um único motivo. Diagnosticar a causa da perda de pacotes na sua rede lhe dirá o que você precisa consertar.
- Largura de banda de rede e congestionamento: Uma causa principal da perda de pacotes é a largura de banda de rede insuficiente para a conexão desejada. Isso acontece quando muitos dispositivos estão tentando se comunicar na mesma rede.
- Hardware insuficiente: Qualquer hardware em sua rede que roteie pacotes pode causar perda de pacotes. Roteadores, switches, firewalls e outros dispositivos de hardware são os mais vulneráveis. Se eles não conseguirem "acompanhar" o tráfego que você está roteando, eles descartarão pacotes. Pense nisso como um garçom com os braços cheios: se você pedir a eles para pegar outro prato, eles provavelmente derrubarão um ou mais pratos.
- Cabos danificados: A perda de pacotes pode ocorrer na Camada 1, a camada de rede física. Se os seus cabos ethernet estiverem danificados, incorretamente ligados ou muito lentos para lidar com o tráfego da rede, eles "vazarão" pacotes.
- Erros de software: Nenhum software é perfeito. O firmware no hardware da rede ou no software do computador pode conter erros que causam perda de pacotes. Neste caso, há pouco para o consumidor fazer. Você pode tentar corrigir o problema sozinho, mas muitas vezes a única maneira de corrigir o problema é por meio de um patch de firmware do fornecedor que fornece o hardware. Certifique-se de reportar bugs suspeitos enquanto os encontra para incentivar os fornecedores a corrigir o problema.
Detectando Perda de Pacotes
Há vários aplicativos de software que podem detectar a perda de pacotes em uma rede. Eles trabalham "cheirando" os pacotes de alguma forma, analisando o tempo de viagem ou olhando para os pacotes. A maneira mais simples de descobrir se existe perda de pacotes é fazer ping de dispositivos em sua rede.
-
No Windows, abra uma janela de prompt de comando e use o comando ping para direcionar seu roteador. Por exemplo, se o endereço IP local do seu roteador for 127.0.0.1, o comando a seguir faria o ping do roteador:
ping 127.0.0.1 -t
No macOS ou Linux, abra uma janela do Terminal e use o seguinte comando:
ping 127.0.0.1
A única diferença é a falta -t no final do comando.
-
Após o comando ping processar um número suficiente de pacotes (pelo menos 10), pressione Ctrl + C para parar o comando.
-
Olhe para ver se houve perda de pacotes. Se essa conexão específica entre o dispositivo de ping e o destino estiver funcionando corretamente, você deverá ver 0% de perda de pacote.
--- 127.0.0.1 estatísticas de ping ---27 pacotes transmitidos, 27 pacotes recebidos, 0,0% de perda de pacotesviagem de ida e volta min / avg / max / stddev = 1.820 / 8.351 / 72.343 / 14.186 ms
-
É isso aí.
Existem também ferramentas mais avançadas disponíveis para detectar a perda de pacotes.
-
O comando tcpdump no macOS e no Linux é muito mais poderoso que o ping. É um pouco difícil de se acostumar, mas o seguinte comando irá capturar pacotes e então calcular a quantidade de perda de pacotes:
tcpdump -i any
-
Isto irá executar o tcpdump através de qualquer conexão de rede. Ele também pode ser executado com -i eth0 para capturar apenas a interface de rede principal ou com -c 10 para capturar apenas dez pacotes.
-
Depois que o comando for executado, observe a linha inferior para ver se algum pacote foi perdido.
17 pacotes capturados85 pacotes recebidos por filtro0 pacotes descartados pelo kernel
-
Idealmente, você deve ver 0 pacotes foram perdidos.
No Windows, você pode usar o tcpdump através do shell Bash no Windows 10 ou executar o Wireshark.
O processo de detecção de pacotes é de baixa tecnologia. Depois de estabelecer uma maneira de verificar as comunicações na rede, você precisa seguir uma prática de isolamento e eliminação para determinar a origem e a causa da perda de pacotes. Isso exigirá o ping na maioria dos dispositivos da rede na maioria dos casos, ou a execução de scripts que realizam o mesmo. O conhecimento da topologia da rede será extremamente útil aqui.
Determinando a causa da perda de pacotes
Para determinar a causa raiz da perda de pacotes, você deve começar com o problema mais fácil de detectar e retroceder.
Primeiro, verifique a conexão ethernet entre os dispositivos. Verifique se há sinais óbvios de danos físicos e erros de fiação. Esses cabos estão funcionando corretamente? A comutação de cabos resolve o problema? Verifique os roteadores e switches de maneira semelhante.
Segundo, determine se há largura de banda suficiente para lidar com os dispositivos necessários em sua rede. Alguma peça de hardware manipula significativamente mais conexões do que deveria? Isso geralmente é um processo de localizar e substituir até que o problema seja resolvido. Você também pode usar um comutador e um roteador "conhecidos", trocando-o por dispositivos potencialmente problemáticos na rede para ver se a perda de pacotes desaparece quando um dispositivo específico é removido.
Como corrigir perda de pacotes na sua rede
Depois de determinar a causa da perda de pacotes, há duas correções que podem ser aplicadas.
O primeiro envolve a substituição do hardware problemático. Se sua investigação levar a um dispositivo de hardware funcionando incorretamente, substitua-o.
Se a perda de pacotes estiver sendo causada por erros de software, você precisará tentar corrigir o bug, tentar contornar o bug ou relatar o erro ao fornecedor e esperar que ele corrija o problema. Para software interno, pode ser mais fácil encontrar uma correção. Para software de terceiros, isso depende. Se você é um cliente importante, talvez consiga consertar um problema. Se não, você pode estar preso esperando enquanto tenta usar uma solução alternativa.
Pensamentos finais
A perda de pacotes geralmente se apresenta como algo que corre lentamente na rede. Naturalmente, algo tão vago pode ser causado por uma variedade de causas. Se você está diagnosticando uma rede de baixo desempenho, a perda de pacotes deve estar no topo da sua lista. Quando a perda de pacotes é eliminada como uma possibilidade, você pode passar para problemas mais complexos.