É possível mesclar o meu ISP e acesso à Internet por celular? Quero dividir o download e o upload [duplicado]

12

Gostaria de usar meu ISP apenas para download e a conexão 4G de meus celulares apenas para upload. Isso ocorre porque a velocidade de upload do meu ISP é baixa, mas o download é bom e meu upload em 4G é ótimo e gratuito (pago apenas por downloads).

Então, um PC, duas conexões: ISP para download e 4G para upload. Com isso, pagaria o mesmo que hoje, mas aumentaria meu upload de 0,1 Mbit / s para cerca de 60 Mbit / s.

FreddyJoe
fonte
Sim, é uma cópia e existem muitas outras perguntas semelhantes, incluindo as minhas algumas semanas atrás, mas elas nunca parecem ter uma resposta direta!
Lefty
Então, como eles não parecem ter uma resposta direta, eu deixei isso acontecer. Eu li os outros e eles não resolveram o problema, mesmo após 1000 visualizações.
FreddyJoe
1
@ Canhoto: Se você quiser chamar a atenção para sua pergunta, ofereça uma recompensa.
Karan
Não existe algum software que faça isso? Eu sinto que eu li sobre ele sobre um AOG mês
Jon
1
Você sabe, essa pergunta é realmente diferente das perguntas às quais está vinculada e que afirma ser uma duplicata. Trata-se geralmente de conexões mescladas, essa questão é mais do que isso.
Matt H

Respostas:

8

Embora seja praticamente impossível separar o upload e o download entre as conexões (conforme descrito em detalhes em outras respostas), há uma solução alternativa possível.

Você pode manipular a conexão padrão, alternando-a dependendo da tarefa que deseja iniciar. A conexão padrão no Windows é a primeira interface conectada, sua ordem é calculada pelo Metric (que tende a colocar a conexão sem fio acima do cabo).

É possível substituir facilmente a métrica pela ordem manual nas configurações avançadas das conexões de rede: Como alterar a conexão padrão no Windows . (Deve funcionar da mesma maneira do XP ao 8.1, com pequenas ou sem diferenças)

A maioria dos programas modernos usa a conexão padrão fornecida pelo sistema, depois que a conexão é estabelecida, ela deve (deve) ser mantida nele. Normalmente, isso significa que o programa usará conexões que eram padrão na hora em que você o iniciou. Ao alternar a conexão padrão antes de abrir a conexão, você poderá alternar a conexão dependendo da tarefa e manter as duas abertas ao mesmo tempo.

Lembre-se de que alguns programas (por exemplo, gerenciadores de download / upload) abrirão conexões por tarefa, e não por sessão, portanto, sua milhagem pode variar.

PTwr
fonte
8

Isso não é possível. Agradecimentos são parte integrante do Transmission Control Protocol. Se você dividir dados de entrada e saída distintamente entre duas interfaces, seria inerentemente desabilitar o componente de reconhecimento do protocolo.

TCP é um protocolo orientado a conexão, o que significa que uma conexão é estabelecida e mantida até que os programas aplicativos em cada extremidade concluam a troca de mensagens. Determina como dividir os dados do aplicativo em pacotes que as redes podem entregar, envia e aceita pacotes da camada de rede, gerencia o controle de fluxo e - como deve fornecer transmissão de dados sem erros - lida com a retransmissão de pacotes descartados ou ilegíveis bem como o reconhecimento de todos os pacotes que chegam. No modelo de comunicação OSI (Open Systems Interconnection), o TCP cobre partes da Camada 4, a Camada de Transporte e partes da Camada 5, a Camada da Sessão.

Os roteadores podem implementar o balanceamento de carga de rede entre interfaces separadas, mas isso geralmente opera em um hash. Isso significa que uma conexão é estabelecida em uma determinada interface com base em um algoritmo de hash e mantida nessa interface até que ela termine. Mesmo com roteadores caros, cada interface é necessária para manter uma conexão estabelecida até a conclusão.


Adição: pode ser possível, mas o escopo da implementação a torna impraticável. Além disso, mesmo que você consiga descarregar todo o seu tráfego em um dispositivo móvel, quanto tempo você acha que levará até que o ISP atualize seus termos de serviço? Provavelmente já existe uma política de uso justo em algum lugar. Aqui estão os requisitos.

  • IP de origem falsa do egresso de tráfego via tether móvel para corresponder ao do egresso de tráfego através da sua conexão ISP, de forma que ele retorne através do con ISP. Isso pode ser feito com o iptables.
  • Encaminhe o tráfego local via dispositivo móvel. Algo parecido com: 'route add 192.168.0.0/16 mask 255.255.0.0 [IP externo do tether móvel]. Talvez execute o DDNS para impedir que você atualize isso com frequência.

http://lartc.org/howto/lartc.rpdb.multiple-links.html

https://sandilands.info/sgordon/address-spoofing-with-iptables-in-linux

Se você deseja aumentar o ISP, consulte o roteamento assimétrico com o BGP.

Alex Atkinson
fonte
11
Isso é bobagem; há muito pouco nesta resposta que está realmente errada, mas tudo isso é completamente irrelevante.
Ben Voigt
1
Alguma forma de tunelamento não poderia resolver isso? Os agradecimentos ainda teriam que seguir na direção indesejada, mas a maioria dos dados não. E o tunelamento sobre o UDP pode até evitar os reconhecimentos, certo?
Artur Gaspar
1
@ArturGaspar: Agradecimentos são apenas pacotes de dados TCP com o sinalizador ACK definido, eles seguem as mesmas regras que todos os pacotes de dados TCP. E não há "tem que ir na direção indesejada". Pacotes IP são como envelopes - você pode escrever seu endereço de retorno, levá-los a qualquer agência postal e deixá-los na caixa. Eles não precisam ser colocados em sua própria caixa - pense em quantos cartões postais são enviados durante as férias. A captura para pacotes IP é a filtragem caminho inverso, que é especificamente concebido para detectar e evitar que esta (Note-se que o endereço de retorno é possível falsificação no correio de papel bem)
Ben Voigt
1
A alegação nesta resposta diz que "se você dividir dados de entrada e saída distintamente entre duas interfaces, estará desativando inerentemente o componente de reconhecimento do protocolo". é uma das partes totalmente erradas. As confirmações de TCP funcionam entre os pontos de extremidade, e o caminho percorrido pelos pacotes não importa (desde que o tempo de vida útil não seja excedido) e certamente não precisa corresponder.
Ben Voigt
1
Não é possível dividir os dados recebidos e enviados? O download da banda larga via satélite com o upload de discagem estava à venda na Aus há anos. Google "Recebimento unidirecional, com transmissão terrestre"
JumpingJezza
4

É possível usar os dois acessos à Internet para compartilhar a carga de download / upload, mas sempre apenas por conexão. Portanto, uma conexão TCP (ou UDP) pode ser acessada apenas por um link. Isso é mencionado também na outra resposta - para pacotes TCP de saída, você deve receber pacotes de reconhecimento e estes devem passar pela mesma interface.

Você pode alterar manualmente a tabela de roteamento, por exemplo, antes de fazer um upload grande do youtube para desviar todo o tráfego do youtube pela Internet com maior velocidade de upload e alterá-lo novamente. Mas seria difícil, já que o youtube usa muitos endereços IP diferentes (o roteamento funciona em IP, não em nomes de host). Mas para alguns servidores FTP da empresa, isso pode ser possível.

Isso é válido para todos os acessos domésticos à Internet nos quais você recebe o endereço IP do seu ISP. Portanto, no primeiro provedor de serviços de Internet você obtém, por exemplo, IP 1.2.3.4, mas no telefone celular obtém o IP da operadora de rede telefônica, por exemplo 5.6.7.8. Toda a conexão (dados enviados e recebidos) deve ser acompanhada apenas de um desses endereços IP.

Para hospedagem comercial e para servidor na Internet, é possível obter um endereço IP independente do ISP e, portanto, você pode usar mais conexões com a Internet ao mesmo tempo.

Marki555
fonte
Você sempre pode usar um proxy HTTP ou SOCKS local em vez de editar manualmente a tabela de roteamento. Dessa forma, você pode separar de maneira limpa as duas conexões simplesmente através de um complemento do navegador, como o FoxyProxy.
Sleblanc 25/05
Sugestão interessante, mas acho que você não pode especificar o IP de origem na configuração do proxy (como a interface de rede de saída é escolhida pelo IP de origem).
Marki555
2

Você precisaria ter uma conexão de sobreposição (encapsulamento) que suporte terminais diferentes para tráfego upstream e downstream. O único protocolo que conheço que suporta nativamente é o LISP (Locator Identifier Separation Protocol). Se você encontrar um ISP LISP perto de você, poderá adquirir serviços deles, além de suas conexões atuais. Provavelmente não será grátis.

Sander Steffann
fonte
2

Tecnicamente falando, esse recurso é inerentemente incorporado a todas as redes baseadas em IP (você deve ter um endereço IP roteável publicamente) e ativado apenas alterando a tabela de roteamento do lado do cliente. O tráfego mais provável destinado à rede local do ISP continuaria sendo enviado por essa interface, enquanto todo o tráfego passaria pelo gateway padrão.

O endereço IP de "origem" que precisa corresponder para fazer os reconhecimentos e tudo o mais funcionar é escolhido com base no soquete pelo qual os dados são enviados e, exceto no caso incomum de um soquete restrito à interface, não tem nada a ver com a interface usada para transportar os dados. (Ao contrário dos comentários que dizem que a interface de rede de saída é escolhida pelo IP de origem, na realidade apenas a tabela de roteamento tem alguma influência).

No entanto, o fato de o roteamento depender apenas do endereço de destino foi usado para fins maliciosos (a falsificação de pacotes é um componente importante dos ataques de reflexão); portanto, a maioria das operadoras configurou seus roteadores para implementar a filtragem de caminho inverso e jogar fora os pacotes onde o IP de origem O endereço não corresponde ao caminho, pois eles são considerados falsificados.

Se você não tiver um endereço IP público, além da filtragem de caminho inverso, a camada NAT / PAT impedirá que isso funcione (o endereço IP de origem usado pelo seu computador não terá sentido na outra rede e não funcionará. ser reescrito corretamente se o pacote não sair pelo roteador NAT / PAT).

De fato, para grandes redes com hospedagem múltipla, o roteamento assimétrico acontece. É importante ressaltar que a maioria das implementações de filtragem de caminho reverso exige a existência de uma rota que corresponda à interface onde o pacote chegou; não precisa ser a rota preferida (aquela com a métrica de menor custo).

Portanto, "tudo" que você precisa fazer é convencer o seu provedor de Internet (incluindo os provedores a montante) a (a) desativar a filtragem de caminho reverso ou (b) configurar uma rota não preferida. Isso não vai acontecer, os roteadores principais não podem lidar com três bilhões de rotas, a fim de ter uma para cada endereço IP público único. Portanto, é muito raro ter rotas para qualquer bloco menor que a / 20, exceto internamente para o ISP, onde existem rotas para todas as sub-redes locais.

Ben Voigt
fonte
Talvez a filtragem entre fontes diferentes não seja feita se o ISP também for o provedor do plano 4G do telefone celular?
Ángel
@ Ángel: Isso é perfeitamente possível, mas se a mesma empresa estivesse fornecendo os dois serviços, suspeito que estaria comercializando essa capacidade (afinal, a Internet via satélite já usa caminhos muito diferentes para upload e download, ambos sob o controle do mesmo ISP)
Ben Voigt 25/05
somente se eles suportassem oficialmente essa configuração. A maioria das empresas de telefonia aqui fornece ADSL residencial (telefone e dados) e residencial. Dependendo da (falta de) segregação dessas duas redes, ele poderia funcionar [por algum tempo], e eu esperaria que essa configuração fosse interrompida a qualquer dia (mas Freddy poderia aproveitar esse hack até então ☺)
Ángel
2

A resposta curta é: em 95% dos casos, isso não pode ser feito, e o seu se enquadra nesses 95%.

Primeiro, deixe-me dizer que faz pouco sentido falar sobre roteamento de upload e download separadamente, porque mesmo tarefas de download intensas exigem que alguns pacotes fluam de volta para a fonte, ou seja , qualquer download requer algum fluxo de upload (isso é menos verdade para UDP do que para TCP, mas não importa).

Se canalizarmos o upload de uma conexão principalmente de download por meio de uma NIC diferente daquela usada para a parte de download, a origem do download verá as respostas aos pacotes originadas de um endereço IP diferente daquele em que ele está. enviando pacotes; é um recurso de segurança básico desconsiderar pacotes que supostamente estejam relacionados a uma determinada conexão, mas originados de um endereço de terceiros. Portanto, a parte de upload da conversa seria interrompida e a conexão seria interrompida. Isso tem pouco a ver com os ISPs e seus serviços: ocorre mesmo entre dois computadores na mesma LAN, se um dos dois está tentando se conectar a um endereço IP usando na mesma conexão dois NICS diferentes (portanto, dois IPs diferentes) .

Essa é a razão pela qual falamos sobre conexões, não de upload / download. Mas, em seguida, é possível reformular sua pergunta da seguinte maneira: posso ter um PC com duas placas de rede conectadas à rede? conexões, digamos a conexão lenta para um trabalho lento e tedioso como email, e a conexão rápida para um processo rápido como o download de páginas da Web?

A resposta curta a essa pergunta bem formulada é: no Windows, * Nix (incluindo MacOS) e Android no. No Linux, sim, você pode.

A razão pela qual você não pode fazer isso no Windows (qualquer versão), * Nix e Android, é que qualquer tabela de roteamento pode ter apenas um gateway padrão (* ou seja, * o endereço para o qual você envia todos os pacotes não destinados à sua LAN), e estes Os sistemas operacionais podem lidar apenas com uma tabela de roteamento: portanto, um único gateway.

Em vez disso, para atribuir aplicativos diferentes a interfaces diferentes, você precisa de duas funcionalidades distintas: uma, a capacidade de executar duas tabelas de roteamento simultaneamente e a capacidade de vincular aplicativos a uma das tabelas de roteamento. Somente o kernel do Linux (anos-luz à frente da concorrência) possui esses recursos, até o momento. O kernel * Nix compensa parcialmente isso através do uso criterioso de seu firewall, pfsense, sem, no entanto, alcançar o resultado completo.

A capacidade de executar duas tabelas de roteamento ao mesmo tempo (chamadas de roteamento de política ou roteamento baseado em origem ) significa que os pacotes são roteados de maneira diferente, dependendo do endereço IP. Este é um recurso extremamente útil se você estiver construindo um roteador.

No entanto, para usar NICs diferentes (e, portanto, o IPS), dependendo do aplicativo, você precisa de namespaces de rede , um recurso do kernel Linux que permite criar um shell separado com sua própria pilha de rede. Agora, os processos em execução nesse shell separado serão todos roteados de acordo com a tabela de roteamento do namespace da rede, e não do PC principal.

É claro que essa é uma forma de virtualização, embora uma forma mais fraca do que, digamos, um contêiner Linux, sem mencionar uma máquina virtual. Mas é o caminho real, com um único PC, para rotear processos diferentes através de interfaces diferentes.

Para resumir, no Linux (e somente no Linux) você pode executar um espaço para nome de rede separado, que é, por exemplo, conectado por meio de uma VPN ao seu local de trabalho, para acessar seus recursos de trabalho e, se você executar o Firefox, você parece estar no seu local de trabalho e, ao mesmo tempo, executar o Google Chrome fora do namespace da rede e, assim, parecer (no Chrome) estar baseado em casa.

MariusMatutiae
fonte
2
"pretendendo estar relacionado a uma determinada conexão, mas originada de um endereço de terceiros" ... o endereço de origem no pacote é a única coisa que o relaciona a uma determinada conexão e a filtragem de caminho inverso não se importa se os pacotes descartados são orientados à conexão ou não (a maioria dos ataques de falsificação é contra protocolos sem conexão).
Ben Voigt 25/05
"Isso tem pouco a ver com os ISPs e seus serviços: ocorre mesmo entre dois computadores na mesma LAN" - tem tudo a ver com o ISP. Você pode desativar a filtragem de caminho reverso no seu próprio computador (se estiver executando um sistema operacional como o Linux, que o possui em primeiro lugar). O problema é quando o seu ISP (ou o provedor upstream) o está usando.
Ben Voigt
0

A divisão de conexões relacionadas entre diferentes provedores só seria possível se você tivesse um único endereço IP acessível / roteável de ambos os provedores. Esse IP normalmente seria fornecido a você como parte de um bloco maior de endereços via BGP. E se você tivesse isso, seria capaz de fazer isso com o BGP usando um recurso chamado regras de preferência local pendente e caminho pendente no BGP.

Mesmo se você conseguir um acordo desse tipo para trabalhar entre o ISP e a operadora de telefonia celular, para que seu IP possa ser acessado por ambas as redes, provavelmente custará mais do que você está pagando agora pelas duas conexões.

Se, por outro lado, o que você está realmente perguntando é se é possível favorecer a conexão 4G para uma sessão de upload predominante, como ao fazer upload de arquivos com ftp / sftp ou http. E para uma navegação normal na Web para que esse tráfego use seu ISP, acho que a resposta é talvez. Mas para talvez funcione, você deve ser capaz de classificar a sessão como principalmente uma de upload ou uma de download. Como ftp, http e outros protocolos podem ser usados ​​igualmente para upload ou download, você não pode determinar isso pelo número da porta. Portanto, a única alternativa é observar os dados no meio do fluxo. Nesse estágio, a decisão teria sido tomada, pois os dados já estão fluindo. Portanto, isso não pode ser automatizado.

Então, no seu caso. NÃO. (pelo menos não quando você está com um cadarço).

Matt H
fonte
0

Você precisa de um host que você controle acessível a partir de ambas as conexões.

Configure dois túneis VPN para esse host, cada um indo de uma interface diferente do seu lado. Depois de ter isso, é como ter dois cabos Ethernet. Você pode usar a ligação para usá-los juntos como um cabo maior e tentar passar o tráfego por ele.

Agora não sei se você realmente obteria muito desempenho com isso (a latência da rede móvel é muito maior que a da sua banda larga, o que pode causar problemas), mas você deve tentar e ver.


fonte