Balanço de carga com LAN e Wi-Fi


8

Eu tenho um Mac, que executa o Mac OS X 10.6 ou Ubuntu 9.10 ou Windows XP (inicialização múltipla). A solução pode ser para qualquer um dos sistemas, o que funcionar melhor.

Eu tenho dois ISPs , um pode ser acessado via Wi-Fi , um pode ser acessado via LAN . No Mac OS XI, é possível definir a prioridade, qual rede escolher primeiro. Mas o que eu desejo fazer é balancear a carga com as duas redes.

Não quero comprar hardware extra. Eu tenho alguns roteadores Wi-Fi não utilizados, se isso ajudar.

Compilar e configurar programas no Linux não é problema para mim.

Pergunta semelhante: Balanceamento de carga com vários gateways


2
Você deseja verificar se qualquer solução sugerida terá regras para persistir as conexões pela interface. Se sua conexão for interrompida entre os ISPs, o servidor do outro lado poderá ficar confuso. Eu sei, por exemplo, que o Yahoo IM interromperá sua conexão se você se conectar a partir de um endereço IP diferente.
Doug Harris

Parece que você precisa de algum tipo de repetidor Multi-WAN sem fio para captar sinais de 2 roteadores WIFI diferentes e alimentá-lo no seu computador através de uma conexão LAN.
djangofan

O LISP (Protocolo de separação de localizador / identificador) pode ser uma solução, mas isso é muito complicado para mim. ;-)
Synox 13/09/13

O que você deseja carregar o saldo?
precisa

downloads de arquivos grandes, Video-Streams, youtube, etc.
Synox

Respostas:


1

Um tópico próximo, para linux, seria a configuração 'métrica' para rotas. Números mais baixos são preferidos a números mais altos. Se você der as duas rotas a mesma métrica, acho que elas seriam escolhidas com igual probabilidade.

Eu acho que a técnica que você está tentando alcançar se chama multihoming . Eu não tenho nenhuma experiência direta com isso. No entanto, algumas coisas que você provavelmente precisa ter em mente.

  • Por padrão, acho que você acabará com apenas uma rota padrão. Isso significa que todo o tráfego de saída preferirá uma interface por padrão. Você precisaria ter várias rotas padrão ou alterar essa rota dinamicamente ao longo do tempo.
  • Durante a vida útil de uma conexão de entrada individual (TCP), ela deve permanecer na mesma interface em que foi inserida. Eu acho que.

De qualquer forma, essas são todas as dicas que posso pensar no momento.


metricé um parâmetro para interfaces de rede no Windows e no OS X também; qualquer sistema operacional que suporte múltiplas interfaces de rede exigirá um meio de estabelecer precedência.
Apraetor 17/11

1

Você pode usar um sistema de métrica de roteamento no qual instala as duas conexões de Internet na sua tabela de roteamento com uma métrica igual. O sistema operacional deve usar as duas rotas igualmente, dividindo efetivamente o tráfego de saída nos dois links.

O tráfego de entrada em resposta às suas solicitações também deve ser equilibrado, pois retornará à interface (IP público) da qual a solicitação saiu.

O problema disso seria a persistência da sessão; por exemplo, você visualiza um site por meio de um de seus links, mas a exibição da página seguinte é balanceada por carga em sua outra interface, isso confundiria alguns aplicativos, pois o endereço IP de origem mudava constantemente.

Portanto, eu provavelmente dividiria parte do seu tráfego na outra interface usando nenhuma rota de custo igual, pode ser por aplicativo, destino ou protocolo. Apenas algo que manterá seus caminhos de tráfego consistentes.


1

O Connectify Dispatch possui uma solução que fará exatamente o que você precisa. Atualmente apenas para Windows, mas as pessoas tiveram sucesso ao virtualizar e usar seus softwares no OS X.

Como você já executou (estava executando) o Windows XP, achei que seria possível descobrir essa parte por conta própria.


O maior problema disso é que o Windows oferece suporte facilmente para várias NICs, enquanto no OS X não é tão fácil de implementar.


0

Existe uma espécie de solução alternativa: meu aplicativo é capaz de balancear a carga, posso definir 2 conexões que são usadas para ambos.

Em seguida, direciono um dos IPs do servidor para um dos IPS.

no mac os 10.6:

rota adicionar -host XXX.XXX.XXX.XXX 192.168.1.1

Eu sei, isso é muito específico e só funciona se os IPs do servidor forem sempre os mesmos. E se o aplicativo puder equilibrar a carga de alguma forma.


0

Eu não acho que isso será possível sem fazer algo como todo o tráfego que sai é um ISP e o tráfego que entra é outro ISP.

Razão pela qual está dividindo o tráfego em duas redes separadas, não parece que eles voltariam. Se você tivesse 2 tubos de 1 ISP, isso pode ser possível.

Como a pessoa disse anteriormente, acho que você precisará de um padrão de qualquer maneira e poderá restringir determinado tráfego por uma rota e o restante por outra. Apenas não pense que o balanceamento de carga, como faria em uma LAN, funcionará aqui.

Exemplo: execute atualizações usando 192.168.2. * ISP Wi-Fi execute halflife usando 192.168.1. * LAN ISP.



0

Já ouvi essa mesma pergunta uma dúzia de vezes uma dúzia de maneiras diferentes. Primeiro, sessões internas e externas são tratadas de maneira semelhante, mas não são as mesmas. Para cada sessão interna, pode haver várias externas e vice-versa. O que você está falando não é logicamente impossível, mas requer um pouco de programação e preparação. Alguns dispositivos estão sendo criados com a capacidade de agregar conexões Ethernet ou Wi-Fi para obter velocidades de rede mais altas internamente em uma rede, mas, para redes externas, só encontrei dispositivos com FAILOVER, o que significa que eles só trocam quando necessário. No entanto, você pode usar uma comutação básica (instruções if com 0 ou 1) no protocolo de conexão que redireciona o tráfego por um gateway diferente para cada sessão EXTERNA. Você precisaria acompanhar cada SESSÃO EXTERNA anexada a cada SESSÃO INTERNA, envolvendo uma sub-sessão dentro de uma sessão principal com um ID da sessão. Você precisaria, então, ter uma maneira de verificar o domínio do site ou usar o ID da sessão para concluir o roteamento interno (em outras palavras, seria necessário diferenciar as mensagens do cliente para cada sessão \ conexão externa com base na qual site em que estavam solicitando ou enviando dados para que o canal de cada site fosse definido, impedindo que o site rejeitasse o canal). Isso significa que você teria que criar um novo protocolo de rede no seu roteador e decidir como diferenciar as conexões (se feitas apenas pelo domínio do site, isso pode ser possível com o roteador, mas o cliente pode tentar usar o endereço IP do porta externa para o site, o que nega isso; se feito nos dois extremos, o cliente precisa acompanhar algum identificador, geralmente um valor numérico de mascaramento binário, que permite que a recepção de envio seja comparada à sessão externa que está sendo roteada no portão principal). Em outras palavras, você teria que programar seu próprio protocolo para lidar com a rede e decidir se deseja construí-lo você mesmo (usando a programação de cliente e host) ou se deseja criar algo isso é compatível com a programação existente mais antiga (que precisaria estar vinculada às mensagens entre host e cliente, colocando mais desgaste no host, mas nada de novo para o cliente). Se você conhece o seu unix ou conhece a programação do seu servidor de vitórias, isso pode ser feito com um pouco de tempo, mas exige que uma quantidade maior de recursos seja alocada para cada dispositivo equilibrado. o cliente precisa acompanhar algum identificador, geralmente um valor numérico de mascaramento binário, que permite que a recepção de envio seja comparada à sessão externa que está sendo roteada no portão principal). Em outras palavras, você teria que programar seu próprio protocolo para lidar com a rede e decidir se deseja construí-lo você mesmo (usando a programação de cliente e host) ou se deseja criar algo isso é compatível com a programação existente mais antiga (que precisaria estar vinculada às mensagens entre host e cliente, colocando mais desgaste no host, mas nada de novo para o cliente). Se você conhece o seu unix ou conhece a programação do seu servidor de vitórias, isso pode ser feito com um pouco de tempo, mas exige que uma quantidade maior de recursos seja alocada para cada dispositivo equilibrado. o cliente precisa acompanhar algum identificador, geralmente um valor numérico de mascaramento binário, que permite que a recepção de envio seja comparada à sessão externa que está sendo roteada no portão principal). Em outras palavras, você teria que programar seu próprio protocolo para lidar com a rede e decidir se deseja construí-lo você mesmo (usando a programação de cliente e host) ou se deseja criar algo isso é compatível com a programação existente mais antiga (que precisaria estar vinculada às mensagens entre host e cliente, colocando mais desgaste no host, mas nada de novo para o cliente). Se você conhece o seu unix ou conhece a programação do seu servidor de vitórias, isso pode ser feito com um pouco de tempo, mas exige que uma quantidade maior de recursos seja alocada para cada dispositivo equilibrado. normalmente, um valor numérico de mascaramento binário, que permite que a recepção de envio seja comparada à sessão externa que está sendo roteada no portão principal). Em outras palavras, você teria que programar seu próprio protocolo para lidar com a rede e decidir se deseja construí-lo você mesmo (usando a programação de cliente e host) ou se deseja criar algo isso é compatível com a programação existente mais antiga (que precisaria estar vinculada às mensagens entre host e cliente, colocando mais desgaste no host, mas nada de novo para o cliente). Se você conhece o seu unix ou conhece a programação do seu servidor de vitórias, isso pode ser feito com um pouco de tempo, mas exige que uma quantidade maior de recursos seja alocada para cada dispositivo equilibrado. normalmente, um valor numérico de mascaramento binário, que permite que a recepção de envio seja comparada à sessão externa que está sendo roteada no portão principal). Em outras palavras, você teria que programar seu próprio protocolo para lidar com a rede e decidir se deseja construí-lo você mesmo (usando a programação de cliente e host) ou se deseja criar algo isso é compatível com a programação existente mais antiga (que precisaria estar vinculada às mensagens entre host e cliente, colocando mais desgaste no host, mas nada de novo para o cliente). Se você conhece o seu unix ou conhece a programação do seu servidor de vitórias, isso pode ser feito com um pouco de tempo, mas exige que uma quantidade maior de recursos seja alocada para cada dispositivo equilibrado. que permite que a recepção de envio seja comparada à sessão externa que está sendo roteada no portão principal). Em outras palavras, você teria que programar seu próprio protocolo para lidar com a rede e decidir se deseja construí-lo por conta própria (usando a programação do cliente e do host) ou se deseja criar algo isso é compatível com a programação existente mais antiga (que precisaria estar vinculada às mensagens entre host e cliente, colocando mais desgaste no host, mas nada de novo para o cliente). Se você conhece o seu unix ou conhece a programação do seu servidor de vitórias, isso pode ser feito com um pouco de tempo, mas exige que uma quantidade maior de recursos seja alocada para cada dispositivo equilibrado. que permite que a recepção de envio seja comparada à sessão externa que está sendo roteada no portão principal). Em outras palavras, você teria que programar seu próprio protocolo para lidar com a rede e decidir se deseja construí-lo por conta própria (usando a programação do cliente e do host) ou se deseja criar algo isso é compatível com a programação existente mais antiga (que precisaria estar vinculada às mensagens entre host e cliente, colocando mais desgaste no host, mas nada de novo para o cliente). Se você conhece o seu unix ou conhece a programação do seu servidor de vitórias, isso pode ser feito com um pouco de tempo, mas exige que uma quantidade maior de recursos seja alocada para cada dispositivo equilibrado. e você teria que decidir se deseja construí-lo você mesmo (usando a programação do cliente e do host) ou se deseja criar algo compatível com a programação existente mais antiga (que precisaria ser vinculada pelas mensagens entre o host e cliente, colocando mais desgaste no host, mas nada de novo para o cliente). Se você conhece o seu unix ou conhece a programação do seu servidor de vitórias, isso pode ser feito com um pouco de tempo, mas exige que uma quantidade maior de recursos seja alocada para cada dispositivo equilibrado. e você teria que decidir se deseja construí-lo você mesmo (usando a programação do cliente e do host) ou se deseja criar algo compatível com a programação existente mais antiga (que precisaria ser vinculada pelas mensagens entre o host e cliente, colocando mais desgaste no host, mas nada de novo para o cliente). Se você conhece o seu unix ou conhece a programação do seu servidor de vitórias, isso pode ser feito com um pouco de tempo, mas exige que uma quantidade maior de recursos seja alocada para cada dispositivo equilibrado. colocando mais desgaste no host, mas nada de novo para o cliente). Se você conhece o seu unix ou conhece a programação do seu servidor de vitórias, isso pode ser feito com um pouco de tempo, mas exige que uma quantidade maior de recursos seja alocada para cada dispositivo equilibrado. colocando mais desgaste no host, mas nada de novo para o cliente). Se você conhece o seu unix ou conhece a programação do seu servidor de vitórias, isso pode ser feito com um pouco de tempo, mas exige que uma quantidade maior de recursos seja alocada para cada dispositivo equilibrado.

Para redes de estilo corporativo maiores, você pode integrar a rede e fornecer a cada andar ou departamento um gateway dedicado, permitindo vários ISPs e nunca colocando muito em nenhum deles. Você também pode ter o Failover tratado por um hub que envia alterações ou redireciona para um gateway diferente quando um deles tem problemas. Isso oferece alguma tolerância a falhas.


2
É mais provável que sua resposta seja lida se não for uma parede de texto. Reserve um minuto para dividi-lo em parágrafos.
fixer1234

Eu fiz. Mas a interface publicou como uma parede de texto de qualquer maneira.
HTD tecnologia

Apenas para referência, a resposta para o balanceamento de carga de uma única conexão é que não é realmente possível se você não estiver trabalhando nas duas extremidades. Mas, para acelerar o acesso à Web, existem algumas placas multi-NIC de terceiros que acessam redes internas simultaneamente. Se você tiver vários serviços ISP, poderá permitir que o seu sistema lide com o equilíbrio da largura de banda. Isso não é realmente aplicável a jogos ou a vídeos não compactados, já que as duas extremidades negociam tamanhos de pacotes, mas se você trabalha muito online, é viável e obterá algum aumento de desempenho.
Htd Tech

Eu encontrei apenas uma quebra de parágrafo e consertei isso. O "segredo" é que você precisa de um retorno duplo (uma linha em branco) entre parágrafos. Caso contrário, o sistema executará juntos para sua conveniência.
fixer1234
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.