COMO RESOLVER PROBLEMA DE PING ALTO + PERDA DE PACOTE COM EXPLICAÇÃO E SOLUÇÃO:
Muitas pessoas tem esse problema e normalmente a solução é simples. A maior parte dos cenários que vejo é por conta de uma configuração errada que alguns possuem que varia com o provedor de internet. Primeiro vou explicar o motivo pela qual as pessoas devem fazer as configurações, depois vou ensinar como.
Quando estamos na internet, trocamos pacotes com os servidores. Isso também se aplica a jogos online, quando o jogo não consegue te enviar os pacotes corretamente, acontece o famoso packet loss (perda de pacote), e o jogo da mini travadas ou ele "pula acontecimentos". Existe uma forma de evitar perda de pacotes alterando o MTU (Maximum Transmission Unit, ou tamanho máximo do pacote). Esse valor é definido pelo Windows e vem como padrão 1500. O problema é que nem todo provedor de internet aceita esse tamanho máximo, e quando o pacote vem no tamanho acima do que o provedor aceita, ele deve ser fragmentado, ou seja, dividido. O problema é que se muitos pacotes vierem, muitos entram na fila de fragmentação. Existem dois protocolos de transmissão de pacotes., o UDP e TCP. O TCP não permite perda de pacotes, ou seja, ele espera aquele pacote até ele conseguir ser transmitido, esse protocolo é utilizado em downloads, visto que perda de pacotes ocasionariam dados corrompidos. Já o UDP permite perda, ou seja, ele não espera o pacote caso ele demore. Isso é utilizado em jogos online, onde caso algum pacote não chegue, ele ignora e parte pro próximo. Imagina se jogos fossem TCP, ao perder um pacote, seu jogo iria travar até aquele pacote ser reenviado. Protocolos UDP também são usados em chamadas de vídeo e audios em tempo real. Ou seja, UDP é utilizado em tudo que precisa ser em tempo real, e TCP tudo que não pode ter perda de pacote.
O problema é que quando seu MTU está desconfigurado ele pede que o dado seja fragmentado, se muitos pacotes continuarem vindo, ele simplesmente ignora os pacotes no protocolo UDP (ocasionando perda de pacote) ou tenta fragmentar no TCP (o que gera uma fila de pacotes imensa ao ponto de crashar seu modem, fazendo com que sua internet caia).
Ou seja, se você tem esses dois sintomas, ou um deles, é bem provável que seu problema seja o tamanho do MTU:
- Sua internet cai fazendo alguns downloads
- Possui perda de pacotes em alguns jogos mesmo com sua velocidade estando boa em testes de velocidade.
Agora vamos resolver esse problema. Primeiro precisamos saber o número máximo de MTU que seu provedor aceita, pra isso iremos abrir o CMD e digitar o seguinte comando lá:
ping google.com -f -l 1472
Esse comando manda pingar o GOOGLE com pacotes do tamanho de 1482 bytes (o windows vem com 1500 de padrão, mas SEMPRE 28 bytes são reservados para o cabeçalho, que indica que pacote é esse, então o tamanho máximo é 1472+28 = 1500).
Se esse comando conseguir pingar as 4 vezes sem perda de pacote, seu MTU está ajustado e esse não é o seu problema. Se ele indicar que os pacotes precisam ser fragmentados, ou fragmentar alguns pacotes, significa que seu MTU está errado.
Vamos então descobrir o valor máximo.
Comece a reduzir o tamanho até ele conseguir pingar sem fragmentar, ou seja use ping google.com -f -l 1471, depois 1470, depois 1469, até ele não fragmentar pacote algum e não ter perda de pacotes.
OBS: É importante que se ache o valor máximo possível, pois quanto menor o pacote, mais pacotes precisam ser trocados, e maior é o ping. Ou seja, pacote pequeno = ping alto. Então precisamos achar o tamanho exato para termos o menor ping sem perda de pacotes.
Ao descobrir esse número máximo, some 28 a ele e guarde essa informação.
Agora vamos ver qual interface de rede seu Windows usa. Utilize esse comando no CMD:
netsh interface ipv4 show subinterface
Esse comando irá listar todas as subinterfaces da sua rede, se você usar cabeado, sua rede será Ethernet, caso contrário será Wi-Fi.
Verifique os valores de MTU, vão estar 1500 se esse valor nunca foi alterado. Agora vamos alterá-los:
Abra o CMD como administrador (TEM QUE SER COMO ADMINISTRADOR) e digite o seguinte comando:
netsh interface ipv4 set subinterface Ethernet mtu=X store=persistent
Onde Ethernet é em casos de cabeado, se for Wi-Fi troque a palavra Ethernet pela palavra Wi-Fi. X é o número máximo do MTU acrescentado de 28, ou seja, se seu MTU máximo no teste do ping foi 1452, o valor de X é 1452+28 = 1480
Ao fazer esse comando, uma mensagem de OK deve aparecer.
Se você usar cabeado e Wi-fi, bote o mesmo valor de MTU nos dois.
Depois novamente rode o comando netsh interface ipv4 show subinterface e verifique se o valor de MTU foi alterado.
Agora reinicie seu PC e sem Modem e pronto, ping menor e sem packet loss.
Créditos: texto escrito por Gabriel Marques, postado no grupo do Facebook
Hardware e Overclock Brasil [OFICIAL].