The Wonder Shaper

Tela Software:
The Wonder Shaper
Detalhes de Software:
Versão: 1.1a
Data de upload: 2 Jun 15
Revelador: Bert Hubert
Licença: Livre
Popularidade: 32

Rating: nan/5 (Total Votes: 0)

O Shaper Maravilha é um script muito especial shaper rede com um monte de recursos. Funciona em Linux 2.4 e superior.
Gols
Tentei criar o Santo Graal:
* Manter baixa latência para o tráfego interfactive em todos os momentos.
Isto significa que, download ou upload de arquivos não devem perturbar o SSH ou mesmo telnet. Estas são as coisas mais importantes, mesmo latência de 200ms é lento para trabalhar de novo.
* Permitir 'surfar' a velocidades razoáveis ​​enquanto se ou baixar
Mesmo que http é o tráfego «a granel», outro tráfego não deve afogar demais.
* Certifique-se de uploads não prejudiquem de downloads, e vice-versa
Este é um fenômeno muito observado onde o tráfego upstream simplesmente destrói a velocidade de download. Acontece que tudo isso é possível, ao custo de um pouco de largura de banda. A razão que uploads, downloads e ssh machucar um ao outro é a presença de grandes filas em muitos dispositivos de acesso domésticos, como cabo ou DSL modems.
Por que ele não funciona bem por padrão
ISPs sabem que estão aferido unicamente em como as pessoas rápido pode baixar. Além de largura de banda disponível, a velocidade de download é influenciada pesadamente pela perda de pacotes, o que dificulta seriamente o desempenho do TCP / IP. Grandes filas pode ajudar a prevenir packetloss, e acelerar downloads. Então ISPs configurar filas grandes.
Estes grandes filas no entanto prejudicar a interatividade. Um keystroke deve primeiro viajar a fila de upstream, que pode ser segundos (!) Por muito tempo e ir para o seu host remoto. É exibida, o que leva a um pacote vindo de volta, que deve, em seguida, atravessar a fila de jusante, situada em seu ISP, antes de aparecer na sua tela.
Este COMO FAZER ensina como mangle e processar a fila de muitas maneiras, mas, infelizmente, nem todas as filas são acessíveis para nós. A fila sobre o ISP é completamente fora dos limites, enquanto a fila de subida provavelmente vive dentro do seu modem de cabo ou DSL dispositivo. Você pode ou não ser capaz de configurá-lo. Muito provavelmente não.
Então, o que vem depois? Como não podemos controlar qualquer uma dessas filas, eles devem ser eliminadas, e mudou-se para o seu roteador Linux. Felizmente isso é possível.
Limite de velocidade de upload um pouco
Ao limitar a nossa velocidade de upload para um pouco menos do que a taxa verdadeiramente disponível, sem filas são construídas em nosso modem. A fila é agora mudou-se para Linux.
Limite de velocidade de download
Isso é um pouco mais complicado, pois não podemos realmente influenciar o quão rápido os navios de internet nos dados. No entanto, podemos descartar pacotes que estão chegando muito rápido, o que faz com que o TCP / IP para abrandar a apenas a taxa que queremos. Porque nós não queremos descartar o tráfego desnecessariamente, nós configurar um tamanho de 'estourar' que permitem a uma velocidade maior.
Agora, uma vez que fizemos isso, nós eliminamos a fila jusante totalmente (exceto para rajadas curtas), e ganha a habilidade de gerenciar a fila de subida com todo o poder Linux oferece.
Vamos tráfego interativo pular a fila
O que resta a ser feito é para se certificar de tráfego interativo salta para a frente da fila de upstream. Para certificar-se que não ferem uploads de downloads, nós também mover pacotes ACK para a frente da fila. Isto é o que normalmente faz com que o enorme abrandamento observado quando a geração de tráfego em massa em ambos os sentidos. Os AGRADECIMENTOS para o tráfego downstream deve competir com o tráfego upstream, e chegar atrasado no processo.
Nós também mover outros pacotes pequenos para a frente da fila - isso ajuda a sistemas operacionais que não se pauta bits TOS, como tudo na Microsoft.
Permitir que o usuário especifique o tráfego de baixa prioridade (novo no 1.1!)
Às vezes, você pode observar o tráfego de saída de baixa prioridade a abrandar o tráfego importante. Nesse caso, as seguintes opções podem ajudá-lo:
NOPRIOHOSTSRC
Defina esta opção para hosts ou máscaras de rede em sua rede que devem ter prioridade baixa
NOPRIOHOSTDST
Defina esta opção para hosts ou máscaras de rede na internet que deve ter prioridade baixa
NOPRIOPORTSRC
Defina esta opção para portas de origem que devem ter prioridade baixa. Se você tiver um servidor web sem importância em seu tráfego, defina-o para 80
NOPRIOPORTDST
Defina esta opção para portas de destino que devem ter prioridade baixa.
Veja o início da wshaper e wshaper.htb
Resultados
Se fizermos tudo isso nós temos as seguintes medições usando uma excelente ligação ADSL de xs4all nos Países Baixos:
Latência da linha de base:
de ida e volta min / avg / max = 14,4 / 17,1 / 21,7 ms
Sem condicionador de tráfego, enquanto o download:
de ida e volta min / avg / max = 560,9 / 573,6 / 586,4 ms
Sem condicionador de tráfego, ao fazer o upload:
de ida e volta min / avg / max = 2041,4 / 2332,1 / 2427,6 ms
Com condicionador, durante o upload 220kbit / s:
de ida e volta min / avg / max = 15,7 / 51,8 / 79,9 ms
Com condicionador, durante o download 850kbit / s:
de ida e volta min / avg / max = 20,4 / 46,9 / 74,0 ms
Ao fazer upload, download de proceder a ~ 80% da velocidade disponível. Uploads em torno de 90%. Latência em seguida, salta para 850 ms, ainda descobrir o porquê.
O que você pode esperar deste roteiro depende muito de sua velocidade de uplink real. Ao fazer o upload na velocidade máxima, sempre haverá um único pacote antes de sua keystroke. Esse é o limite inferior para a latência que você pode conseguir - divida seu MTU por sua velocidade a montante de calcular. Os valores típicos irão ser um pouco maior do que isso. Reduza o seu MTU para melhores efeitos!
Uma pequena mesa:
Velocidade de uplink | Esperado latência devido ao carregar
--------------------------------------------------
32 | 234ms
64 | 117ms
128 | 58ms
256 | 29ms
Assim, para calcular o seu latência eficaz, fazer uma medição de linha de base (ping em um link descarregada), e procurar o número na tabela, e adicioná-lo. Isso é o melhor que você pode esperar. Este número vem de um cálculo que assume que o seu keystroke a montante terá, no máximo, metade de um pacote de tamanho completo pela frente.
Isto resume-se a:
   mtu * 0.5 * 10
   -------------- + Baseline_latency
       kbit
O fator 10 não é totalmente correcta, mas funciona bem na prática.
Seu kernel
Se você executar uma distribuição recente, tudo deve estar ok. Você precisa 2.4 com opções de QoS ligado.
Se compilar o seu próprio kernel, ele deve ter algumas opções ativadas. Mais notavelmente, no menu Opções de Rede, QoS e / ou Feira filas, vire pelo menos CBQ, PRIO, SFQ, Ingress, Tráfego policiamento, suporte QoS, Taxa Estimador, QoS classificador, classificador U32, fwmark classificador.
Na prática, eu (e na maioria das distribuições) basta ligar tudo.
Os scripts
O script vem em duas versões, uma que funciona em kernels padrão e é implementado usando CBQ. A outra usa o excelente qdisc HTB que não está no kernel padrão. A versão CBQ é mais testado do que o HTB um!
Veja 'wshaper' e 'wshaper.htb'.
Sintonização
Estes scripts precisam saber a taxa 'real' de sua conexão ISP. Isso é difícil de determinar antecipadamente como ISPs diferentes usam diferentes tipos de bits que aparece. As pessoas relatam sucesso com a seguinte técnica:
Estimar ambos os seus montante ea jusante na metade da taxa especificado pelo ISP. Agora, verifique se o script está funcionando - verifique interatividade ao fazer o upload e durante o download. Isto deve fornecer a latência como calculado acima. Caso contrário, verifique se o script executado sem erros.
Agora, lentamente, aumentar o número de upstream e downstream no script até que a latência de volta. Desta forma, você pode encontrar valores ótimos para a sua conexão. Se você está feliz, por favor informe-me para que eu possa fazer uma lista de números que funcionam bem. Por favor, deixe-me saber que você usa ISP eo nome de sua assinatura, e suas especificações de renome, para que eu possa listar aqui e salvar os outros o problema.
Instalação
Se você discar, você pode copiar o script para /etc/ppp/ip-up.d e será executado em cada conexão.
Se você deseja remover o shaper de uma interface, execute 'stop wshaper'. Para ver as informações de status, execute 'wshaper status'.
PROBLEMAS CONHECIDOS
Se você receber erros, adicionar um -x para a primeira linha, como segue:
#! / Bin / -x festança
E tente novamente. Isto irá mostrar-lhe qual a linha dá um erro. Antes de me contactar, certifique-se que você está executando uma versão recente do iproute!
As versões recentes podem ser encontradas em seu distribuidor Linux, ou se você preferir compilar, aqui:
 ftp://ftp.inr.ac.ru/ip-routing/iproute2-current.tar.gz

Outro software de desenvolvedor Bert Hubert

Comentário para The Wonder Shaper

Comentários não encontrado
Adicionar comentário
Ligue imagens!