Como rotear o tráfego através de vários servidores para uma conexão mais rápida

Como rotear o tráfego através de vários servidores para uma conexão mais rápida

A “velocidade” da Internet não depende apenas do que o seu ISP oferece, mas também do que os servidores oferecem, e este último é independente do seu ISP, portanto, não importa quanto você pague pela Internet, alguns sites (a maioria) não melhorarão um todo. muito. A única vez que consigo realmente ver o potencial da conexão é ao baixar um torrent (perfeitamente legal) com arquivos grandes e grandes quantidades de seeders, como, digamos, uma cópia do Ubuntu, os servidores têm mais largura de banda do que oferecem, eles apenas salve-o para outros usuários.

O que eu quero saber é como usar vários proxies para acessar o servidor de diferentes pontos ao mesmo tempo, obtendo assim mais velocidade geral, e então dividir os dados e realimentar tudo na conexão principal (provavelmente não estou explicar isso muito bem, mas alguém pode entender o que quero dizer). De preferência, algo que funcione com todos os protocolos, não apenas com navegação na web, mas também com aplicativos e jogos de terceiros, etc.

Responder1

Você não pode - a web não funciona da maneira que você deseja - especificamente

  • Nem o UDP nem o TCP oferecem mecanismos integrados para dividir o tráfego, tornando uma solução genérica irrealista
  • Os ISPs geralmente usam filtros de entrada e saída para evitar o roteamento de endereços IP não originados/direcionados através de sua rede - para evitar certos tipos de ataques. (tornando uma solução genérica irrealista)
  • A velocidade da sua conexão é controlada por vários fatores além da velocidade da sua conexão - incluindo a latência da conexão e a quantidade de perda de pacotes.
  • A maioria dos servidores tentará compartilhar cargas de maneira justa, mas não deixará a largura de banda ociosa - eles, no entanto, priorizarão a largura de banda.
  • Um proxy define um endereço IP de origem e destino - vários proxies terão endereços de origem diferentes, então o destino irá tratá-los como sessões diferentes (corretamente)

Responder2

Essa não é uma abordagem realmente viável do ponto de vista do cliente. Não acredito que existam tecnologias que suportem a técnica que você descreve.

Primeiro, para downloads, os downloads HTTP/FTP são um único fluxo de resposta binária, portanto, os dados que você está baixando são o resultado de uma única solicitação. Se o servidor suportar PARTIAL CONTENT (206), então você poderá organizar um sistema onde você estabeleça vários downloads com deslocamento e comprimento calculados, para fazê-lo em múltiplas conexões, mas isso não funcionaria para todos os servidores. De qualquer forma, no mínimo, o mecanismo teria que saber que está manipulando uma conexão HTTP, portanto funcionaria apenas para dados HTTP.

Em segundo lugar, a maioria dos sites modernos não são mais apenas documentos estáticos e são construídos programaticamente no lado do servidor, portanto, muitas vezes dependem do conceito de Sessão. As sessões geralmente são limitadas a uma conexão de usuário; portanto, se você se conectar de dois locais diferentes, serão duas sessões diferentes. Tentar compor e renderizar uma página feita a partir de Gets proveniente de sessões diferentes será quase impossível, porque cada sessão tem seus próprios cookies, scripts, etc., e há barreiras de segurança em jogo projetadas para impedir que invasores façam o tipo de coisas que você estão pensando.

Em última análise, tal ferramenta poderia existir, mas teria que ter uma grande inteligência de protocolo (para poder reescrever dados específicos do protocolo para usar conexões diferentes através de caminhos diferentes) e seria limitada em sua capacidade de desviar GETs isolados para outras conexões, devido às limitações impostas pelos protocolos e operações do lado do servidor.

informação relacionada