[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Utilização conjunta de duas bandas de internet de forma transparente



On Sun, 28 Mar 2004 08:12:59 -0300
Douglas Adriano Augusto <douglas.no-spam@pop.com.br> wrote:

> Entendi,  interessante a  questão levantada. Infelizmente  os provedores  do
> cabo  e  rádio são  diferentes  (independentes). Então  por aí  o  'bonding'
> já  está eliminado,  certo? A  "solução" seria  então  utilizar o  multipath
> (equalize), que  de fato a  soma da largura  de banda dependeria  de quantas
> conexões/tráfego estariam sendo requisitados.

Não. Seria o multipath sem o equalize, pois o equalize causaria de
novo que uma e a mesma conexão use mais que uma interface. Mas como
estas conexões tendem a cair de tempo em tempo, você vai ter problemas
com a "deteção de passarela morta" (dead gateway detection), deixando
a navegação muito irregular. Por isso sugeri que instale o patch do
Julian Anastasov. Este patch resolve o problema. Perto de lá também há
um documento que explica como fazer tudo isso.

> Acho que uma forma simples e eficiente seria tentar sempre igualar o tráfego
> nas duas bandas (caso sejam idênticas), da forma:
> 
> - uma conexão externa é requisitada;
> - será feita pela eth0 (A) se o tráfego dela for menor que o da eth1 (B), e
>   vice-versa;

Você não precisa fazer isso, é o kernel quem preciza fazer.

> É basicamente isso que o equalize faz?

O kernel mantem uma tabela de cada via dos multipaths e manda um
pacote para cada um em "round robin", ou seja quando haja enviado um
pacote em cada um, começa de novo com a primeira via. Se a primeira
interface tem 3 vezes mais largura de banda que a segunda, pode
indicar isso com o pesso (weight). Então, o kernel vai criar 3 vías
idênticas para a primeira e só uma para a segunda, enviando os pacotes
do mesmo jeito. Sem o equalize, ele faz isso só se não encontra uma
rota que já estiver no cache. Assim, uma conexão nova vai escolher a
via do jeito descrito e colocar o resultado da escolha no cache. A
partir do segundo pacote, o kernel vai achar a rota no cache e não
questionar ela. assim, uma e a mesma conexão sempre usa a mesma
rota. QED.

> A  principal necessidade  seria sempre  haver uma  conexão operando,  caso a
> outra falhe.  A soma de  banda que conseguir  já seria lucro. O  equalize no
> multipath poderia trabalhar  desta forma, ou seja, caso uma  banda caia, ele
> automaticamente transfere toda e qualquer conexão para a outra banda?

Isso é o motivo para este tipo de configuração, só que com equalize
não funciona. E por isso você precisa do patch do Julian, senão você
vai ter problemas tanto no fail-over como na fase de recuperar uma
linha após ela voltar de funcionar.

Christoph Simon



Reply to: