FUG-BR / Grupo Brasileiro de Usuarios de FreeBSD
 
11.09  
Inicio arrow Resumo do Site arrow Aplicando priorizao de pacotes em conexes xDSL assimtricas
Principal
Inicio
Noticias
Artigos
Regras da Lista
Assinar a Lista
Histrico da Lista
Forum
Keyserver
PC-BSD: Artigos
PC-BSD: Notcias
Galeria de Imagens
Contador Usurios FUG
FUGs Estaduais
Downloads
Enquetes
FAQ
Resumo do Site
Links
Pesquisar
Contato
Sobre a FUG-BR
RSS / Twitter
-
DOC-BR (FUG BR)
Introduo
Projeto DOC-BR
Handbook
FAQ Oficial
-
+ Noticias
Alertas de Seguranca
Alertas em Ports
BSD em Geral
DaemonNews (Ingles)
MyFreeBSD
Todas Categorias
-
Login
Nome de Usurio

Senha

Lembrar login
Esqueceu sua senha?
Sem conta? Crie uma


Aplicando priorizao de pacotes em conexes xDSL assimtricas PDF Imprimir E-mail
Por Marcelo Araujo   
17/06/2006

ImageProcurando um modelo para garantir a qualidade do meu acesso a Internet através de um link assimétrico xDSL, encontrei nos ports um software criado pela Intrarts Creative Media chamado throttled, que se propõem em priorizar pacotes ACKs usando uma técnica descrita por Daniel Hartmeier. A técnica consiste em manipular as conexões de saida priorizando determinados trafégos baseados em classificações de prioridades.

Throttled bandwidth shaping application

1 - Entendendo o problema.

    Em uma conexão assimétrica xDSL geralmente temos mais capacidade de downstream do que upstream.
    Um exemplo básico é a minha conexão:

            Downstream: 250Kbps
            Upstream  : 150Kbps

    Um dos problemas notados é quando você tem um ou mais downloads com uma certa taxa de transferência e inicia um upload concorrente, o download tem uma queda significativa em velocidade.

2 - A explicação para isso.

    Quando uma conexão TCP está enviando dados mesmo que seja apenas em um sentido IN (Exemplo de um download através de um FTP), o protocolo de transporte (TCP) envia no sentido oposto pacotes ACKs (Acknowledgment), se por algum motivo esse pacotes não são recebidos pelo emissor o mesmo irá supor que os pacotes transmitidos foram perdidos e irá retransmiti-los.     Os pacotes ACKs (neste caso) possuem um número de seqüência de confirmação, e para manter a transferência em sua taxa máxima é importante que esses pacotes (ACKs) sejam priorizados.     Quando o UPLINK esta saturado por outras conexões (como um upload simultâneo), todos os pacotes ACKs que estão sendo enviados recebem um atraso e consequentemente o receptor destes pacotes ira atrasar a resposta dos mesmos, isso causa uma queda no troughput do download já iniciado.

3 - A solução.  

   Os pacotes ACKs relacionados a download são pequenos, porque não contêm nenhum PAYLOAD de dados. Mesmo um download rápido que sature todo o Downstream do Link, não precisa mais do que uma fração de largura de banda do Upstream para o envio dos pacotes ACKs de confirmação.    
   O software throttled se propõem a dar prioridade aos pacotes ACKs que não têm nenhum payload.

4 - Instalando o throttled.

    Podemos instalar usando os pacotes pré-compilados ou diretamente via ports.

    Pré-compilado:

    nagazaki# pkg_add -vr throuttled

    Via Ports:

    nagazaki# cd /usr/ports/net/throttled && make install clean

5 - Configurando o throttled.

    Logo após a instalação teremos 2 arquivos no diretório /usr/local/sbin/:

    nagazaki# ls /usr/local/sbin/throttled*
    /usr/local/sbin/throttled
    /usr/local/sbin/throttled-startup


    O arquivo throttled-startup é onde iremos configurar o software.
    Editando este arquivo iremos alterar algumas opções:

    ------------------8< throttled-startup >8-------------------------
    # Define a interface de rede
    INTERFACE=tun0

    # Maximo de upload em "bytes"
    MAXSPEED=16384 # 128k de upload

    # Numero das regras que o throttled ira adicionar no IPFW
    RULNUM=07000
    
    # Aqui é onde o daemon é startado.
    /usr/local/sbin/throttled -s $MAXSPEED -r $RULENUM -d 17778 -p 1 -d 17777 -p 2 -T

    # Define o IP da interface WAN
    IP=200.200.200.2

    ------------------8< throttled-startup >8-------------------------

6 - Explicando o funcionamento do throttled.

    O daemon é startado escutando em duas portas diferentes, exemplo:

  /usr/local/sbin/throttled -s $MAXSPEED -r $RULENUM -d 17778 -p 1 -d 17777 -p 2 -T    
    
    A porta 17778 tem prioridade 1 (-p 1).
    A porta 17777 tem prioridade 2 (-p 2).
    A opção -T é habilitada para fazer o controle dos pacotes ACKs com e sem PAYLOAD de dados.

    Exemplo de regras:
    # Neste exemplo, estamos priorizando a resolução DNS.
    /sbin/ipfw add $RULENUM divert 17778 ip from $IP to any 53 out xmit $INTERFACE

    # Priorizando conexões SSH.
    /sbin/ipfw add $RULENUM divert 17778 tcp from $IP 22 to any out xmit $INTERFACE
    /sbin/ipfw add $RULENUM divert 17778 tcp from $IP to any 22 out xmit $INTERFACE

    # Saida para outras conexões com menos prioridades.
    /sbin/ipfw add $RULENUM divert 17777 ip from $IP to any out xmit $INTERFACE   
    
7 - Finalizando.

    Você pode "chamar" o throttled-startup em qualquer parte do seu script de firewall ou se preferir como eu fiz, adicionei algumas opções e chamadas diretamente no script de firewall, sem precisar me referênciar ao throttled-startup.

    Lembrando que esta é uma alternativa "caseira" e não é o estado da arte em "QoS e ToS", para priorização de serviços ethernet, existem soluções mais profissionais no sistema, PF+ALTQ ou IPFW2+DUMMYNET.


    Bom é isso ai, uma solução simples para ser implementada e testada.

    - Marcelo Araujo
    - www.fug.com.br
    - araujo < at > fug < dot > com < dot > br

Comentrios
Interessante
Por Este endereo de e-mail est sendo protegido de spam, voc precisa de Javascript habilitado para v-lo em 17/06/2006 22:49:07
O tpico abordado por nosso companheiro Marcelo Arajo foi de muita utilidade, com certeza preencheu informaes em muitos dos usurios.  
 
Valeu! :)
http://www.intrarts.com/throttledcli.htm
Por Joao Paulo - 0v3rm1nd em 18/06/2006 01:16:01
Eu tambem uso throttled aqui, com um Speedy (ADSL da Telefonica) e em um cliente no Rio com Velox (ADSL Telemar) e devo dizer que a diferenca na qualidade da comunicacao TCP eh gritante! Quando tiro throttled da rede alguns usuarios ja percebem na hora. Principalmente com Velox a throttled faz muita diferenca. Com Speedy aqui na capital, parece ser melhor. Mas no interior (Araraquara) throttled tambem tem impacto significante no Speedy. Quem usa ADSL e tem FreeBSD ou Mac OS X, deve usar isso. O how-to ai em cima serve pro Mac OS X tambem. Parabens ao Marcelo e aqueles que mante esse site. Se ele tivesse um forum seria perfeito.
Entao usuarios MAC OS X se encontram aqu
Por Henrique Castro em 18/06/2006 01:25:06
Que bom! Eu tambem uso esse software mas apenas no meu powerbook. Ele tem controle de QoS pre definido pra JOGOS!!! rlz a lot 
 
E tem uma versao que tem interface grafica escrita com Cocoa: 
 
http://mac.softpedia.com/progScreenshots/Throttled-Pro-Screenshot-7646.html 
 
Que alias e praticamente um remake do GTK que a Apple fez. Incrivel similaridade na hora de desenvolver pra essas duas IDE graficas. 
 
Boa vou visitar mais esse site aqui. 
no PF tbm rula
Por neurobashing em 20/06/2006 14:20:20
No pf pode fazer a mesma coisa: 
 
ext_if="fxp0" 
 
altq on $ext_if priq bandwidth 250Kb queue { q_pri, q_def } 
queue q_pri priority 7 
queue q_def priority 1 priq(default) 
 
pass out on $ext_if proto tcp from $ext_if to any flags S/SA \ 
keep state queue (q_def, q_pri) 
 
pass in on $ext_if proto tcp from any to $ext_if flags S/SA \ 
keep state queue (q_def, q_pri) 
 
Ta bm explicado aqui: http://www.benzedrine.cx/ackpri.html
oIXSQCmRSYXlbw
Por Mcebo em 27/11/2012 16:36:18
Get him to wear a chastity belt of sorts, maybe the kind with skipes or something equally painful. And he can only take it off when you say, and he has to send you like daily photos to make sure he's actually wearing it. Also maybe some body mutilation, like carving your name into his ass, similar to the new alternative to tattoos; scarification? When ideas run short, you could totes watch some Saw movies for inspiration. Also, since your slave is such a fucking pussy, maybe get him to walk around in drag and film it?
SBrlIFCbXxRRewo
Por Aleisha em 27/11/2012 22:51:38
pounds. I had the idea during the last week of sclniotaes and attacked it days later. If I was programming for a guy that wanted to get stronger I would use CF.com as a guideline for fitness and then supplement 1 strongman movement(even if the volume is low) per day. For example 5 sets of yoke x 50 feet up to a max effort. Then go into your CF workout. The following day pick a different movement, maybe the log press, and then do your CF workout. Does that make sense?Sorry for the blurry lines but I've never followed a program ever. For me it's like driving by brail .feel your way. If you allow yourself to accept that there is no finish line in this race it becomes very easy to program. Lift heavy things whenever you get the chance and when you look back in a few years you'll be strong as hell.Thanks for reaching out and feel free to ask other questions as they come up. I'll do my best to answer them for you.Rob O


Comente!*
Nome:
E-mail
Homepage
Ttulo:
Comentrio:

Cdigo:* Code

ltima Atualizao ( 17/06/2006 )
 
< Anterior   Prximo >
FUG-BR - Espalhando BSD
Dicas Rpidas:
# split -b 1m grande parte
Quebra o arquivo em partes de 1mb

# split -b 1500k grande parte
Quebra o arquivo em partes de 1.5mb
 






Wallpapers
Online:
Ns temos 25 visitantes online


Devil Store - Sua loja BSD
FreeBSD Brasil LTDA

FUG-BR: Desde 1999, espalhando BSD pelo Brasil.