On Fri, 26 Mar 2004 23:25:54 -0300 Douglas Adriano Augusto <[EMAIL PROTECTED]> wrote:
> Prezados, > > Imagine o seguinte cenário. Uma máquina tem duas conexões externas à > internet, uma via cabo e outra via rádio, nas interfaces eth0 e eth1, > respectivamente. Além disso, existe a interface de rede eth2 que se conecta > a um hub (para compartilhamento). O usuário deseja usar estas duas bandas de > internet em conjunto de forma transparente, isto é, qualquer requisição de > dados da internet seria balanceada (primeiramente divididos igualmente) > entre as eth0 e eth1, de forma que pudesse usar a largura de banda da eth0 + > eth1. > > Qual seria a melhor forma de se implementar isso, considerando que também > poderá haver compartilhamento de conexão através da interface eth2? A solução depende do destino. Se tanto a conexão à cabo como a rádio vão para o mesmo provedor, use o bonding ou multipath com equalize. Caso que são conexões independentes ou com um provedor que não quer/pode cooperar ou quem cobra caro por cooperar, no fundo, o Linux não tem solução. O bonding requer que o provedor unifique as duas conexões de novo, de forma que qualquer destinatário só vai ver um IP de remitente. O equalize no multipath não requer isso, mas vai deixar de funcionar se não fosse assim. Pense nisso: Se o servidor contatado recebe pacotes de dois IPs diferentes (um do cabo, outro da rádio), para qual deve responder? A conexão foi aberta pelo primeiro, mas um ACK talvez chegue do segundo. Não funciona. Para fazer isso, você precisa de um patch do Julian Anastasov. Então poderá configurar um multipath sem equalize. Mas então tampouco vai conseguir um balanceio perfeito, pois uma e a mesma conexão sempre vai ter que usar a mesma rota. Pode conseguir uma aproximação a um balanceio matematicamente correcto se tem um grande número de conexões para destinos diferentes. Em outras palavras: Se você tem 1mb/s em uma conexão e 2mb/s na outra, um e o mesmo download nunca vai ter mais que 2mb/s mas, segundo a sorte, pode que só tenha 1mb/s. HTH Christoph Simon