Questão Companheiro de quarto atraso de conexão à Internet assistindo vídeos do site chinês. O QoS pode corrigir o problema?


Meu colega de quarto é um estudante internacional da China e gosta de assistir a programas de TV chineses on-line usando um site da região (estamos na costa leste dos EUA). Mas isso faz com que a latência da nossa rede se torne ridiculamente alta, atingindo cerca de 400 ms ao pingar 4.2.2.2 e variando de 100 a 1000+ (normal entre 20-40ms). Infelizmente, ela quer burlar o problema, por isso preciso encontrar uma maneira de corrigir esse problema que não exija sua conformidade.

Meu roteador atual (Netgear N150 WPN824N) não suporta QoS ou qualquer firmware personalizado que o tenha (AFAIK). Então, eu estava pensando em comprar um roteador mais caro com QoS embutido ou um roteador mais barato que suporta Tomato, dd-wrt ou qualquer outra coisa. Mas não sei exatamente qual é a questão ou se a QoS ajudaria (ou seja, coisas que uma pessoa gostaria de saber antes de gastar dinheiro). O site culpado mais provável, tv.sohu.com, não está em inglês e tem conteúdo de vídeo restrito principalmente na região. Então, tudo que eu posso realmente testar é a latência do site em si (que é de cerca de 350ms de onde eu moro). Eu não sei se é um problema de largura de banda, ou se o site usa algum tipo de protocolo personalizado estranho, ou qualquer outra coisa é potencialmente um fator aqui. Eu não sou uma pessoa em rede, portanto, fora do consumo de alta largura de banda, estou realmente no escuro sobre o tipo de fatores que poderiam afetar o desempenho da rede dessa maneira.

Eu sei que eu tenho uma conexão com a Internet medíocre para começar, no entanto. Quando tento baixar um jogo do Steam, posso atingir o pico em cerca de 2,5 megabytes / s, e isso causará uma alta defasagem. Mas 2,5 Mbps é muita largura de banda, e não posso imaginar esse site consumindo muito.


7


origem




Respostas:


Companheiro de quarto atraso de conexão à Internet assistindo vídeos do site chinês. O QoS pode corrigir o problema?

Eu não li toda a sua história, mas com base na pergunta que você fez, a resposta é geralmente Na verdade não. A QoS pode, em algumas circunstâncias ideais, parcialmente resolver o problema se você estiver usando certos serviços de alta prioridade (como Voice over IP) e os pacotes estão devidamente marcados e seu provedor de upstream respeita a QoS. Mas isso não ajudará se a prioridade dos seus pacotes e dos pacotes do seu companheiro de quarto for a mesma.

O que você quer é algum tipo de Gerenciamento Ativo de Filas.

O que acontece quando seu colega de quarto assiste a um vídeo? Bem, uma enorme quantidade de dados é recebida pelo seu roteador / modem compartilhado. Para evitar a perda desses dados, que chegam tão rápido quanto o modem pode receber, ele cria um buffer interno cada vez maior no modem que enfileira todos os dados de pacote.

Ele tem que fazer isso porque está recebendo os pacotes IP fora de ordem e de vários lugares (seus downloads, downloads de companheiros de quarto, etc) e tem que remontar os pedaços juntos para formar pacotes TCP inteiros. Por isso, cria esse buffer enorme para evitar a perda de pacotes; caso contrário, com um buffer pequeno, alguns pacotes teriam que ser descartados, o que poderia resultar na necessidade de reenvio dos dados.

Infelizmente, uma vez que o buffer ultrapasse um certo tamanho, os benefícios de ter o buffer são compensados ​​por seus inconvenientes. A principal desvantagem de um buffer "inchado" é que há enormes latência envolvido com o recebimento de um pacote.

A latência significa que o aplicativo que envia ou recebe os dados precisa aguardar muito tempo para confirmar se foi enviado ou recebido corretamente. Como os dados em soquetes TCP são "acked" pelo outro lado como uma forma de confirmar "OK, eu entendi!", A outra extremidade pode assumir depois de uma certa quantidade de latência que o pacote foi perdido, e tente reenviar de qualquer maneira. Assim, o objetivo do grande buffer era evitar reenvios, mas em sua busca de fazê-lo, provoca re-envia !!! Cada reenvio é apenas mais largura de banda consumida / desperdiçada e mais latência.

O Active Queue Management, conceitualmente, é um tipo de solução que tenta inteligentemente limite o tamanho dos buffers. Mantendo os buffers o menor possível, enquanto grande o suficiente para evitar a maioria dados perdidos devido à espera de pacotes fora de ordem, você pode evitar amortecedor de buffer.

O que os pesquisadores vêm tentando fazer há anos (e que só obtivemos sucesso parcial em maio de 2012) é projetar um algoritmo que implemente o AQM (Active Queue Management) adequado sem qualquer configuração ou ajuste manual do usuário (porque seria demorado e chato). Apenas uma espécie de "marcador mágico" que equilibra corretamente os tamanhos das filas para minimizar a perda de pacotes e minimizar a latência ao mesmo tempo.

Até agora, a única coisa que descobrimos que é enormemente bem-sucedida em roteadores domésticos é o Gerenciamento Ativo de Filas de Controlled Delay (CoDel), que é uma adição recente ao kernel do Linux.

CoDel é muito útil porque controles a demora (latência) de pacotes. Como isso é um pouco técnico demais para essa questão.

Alguns links no CoDel para que você possa ler:

CoDel em bufferbloat.net

CeroWRT

Artigos de Jim Gettys sobre codel

Editar: QoS é apenas metade da solução. O QoS baseado em portas (por exemplo, dar prioridade aos seus pacotes) só o levará até certo ponto; ele não reduzirá o inchaço do buffer, e sua latência ainda será alta. Mas sua perda de pacotes pode cair um pouco.

Coelh combinado com QoS, a la CeroWRT no seu roteador, é realmente a melhor abordagem.


5



Ótimo, obrigado pela informação! - FrustratedRoommate


Se você é 100% positivo de que o problema ocorre apenas quando o seu colega de quarto está transmitindo vídeos, o QoS o ajudará com esse problema.

Não há "protocolos assustadores da China" ou qualquer coisa que possa atrapalhar sua latência. Isso é tudo sobre saturar sua conexão. Quando mais pacotes são enfileirados do que sua conexão pode manipular, todo pacote tem que "esperar sua vez", que aparentemente leva 400ms.

Ao usar o QoS, você pode criar espaço suficiente (para você mesmo) para garantir que os pacotes possam ser acessados ​​sem necessidade de enfileirar-se ao lado de sua infinidade de pacotes para transmissão de vídeo.


0



QoS sozinho não é eficaz. Também precisa de gerenciamento ativo de filas. - allquixotic


Primeiro eu tentaria conversar com seu colega de quarto sobre como certos hábitos estão afetando negativamente sua vida. Fora isso, sim, a QoS resolveria seu problema. Você pode limitar a largura de banda ao PC, a determinados sites ou a clientes sem fio e afins. O DD-WRT possui uma ótima interface de QoS que permite uma configuração muito detalhada. No entanto, é necessário algum conhecimento técnico para configurar / atualizar um roteador com um novo firmware. O site do DD-WRT possui tutoriais detalhados e seria um ótimo recurso para você nesta situação.

DDWRT Router Database, certifique-se de que o que você compra é suportado.


0