Équilibre de charge avec LAN et Wi-Fi

8

J'ai un Mac, qui exécute Mac OS X 10.6 ou Ubuntu 9.10 ou Windows XP (Multiboot). La solution peut être pour n'importe quel système, quel que soit celui qui fonctionne le mieux.

J'ai deux FAI , l'un est accessible via Wi-Fi , l'autre via LAN . Sous Mac OS XI, vous pouvez définir la priorité, quel réseau choisir en premier. Mais ce que je veux faire, c'est équilibrer la charge avec les deux réseaux.

Je ne veux pas acheter de matériel supplémentaire. J'ai des routeurs Wi-Fi inutilisés si cela peut vous aider.

La compilation et la configuration de programmes sous Linux ne me posent aucun problème.

Question similaire: équilibrage de charge avec plusieurs passerelles

Synox
la source
2
Vous voudrez vérifier que toute solution suggérée aura des règles pour conserver les connexions sur son interface. Si votre connexion rebondit entre les FAI, le serveur à l'autre bout peut devenir confus. Je sais, par exemple, que Yahoo IM abandonnera sa connexion si vous vous connectez à partir d'une autre adresse IP.
Doug Harris
sonne comme si vous aviez besoin d'une sorte de répéteur multi-WAN sans fil pour absorber les signaux de 2 routeurs WIFI différents et les envoyer à votre ordinateur via une connexion LAN.
djangofan
LISP (Locator / Identifier Separation Protocol) pourrait être une solution, mais c'est beaucoup trop compliqué pour moi. ;-)
Synox
Que voulez-vous pour équilibrer la charge?
David Schwartz
téléchargements de gros fichiers, flux vidéo, youtube, etc.
Synox

Réponses:

1

Un sujet proche, pour linux, serait le paramètre «métrique» pour les routes. Les nombres inférieurs sont préférés aux nombres supérieurs. Si vous donnez aux deux itinéraires la même métrique, je pense qu'ils seraient choisis avec une probabilité égale.

Je pense que la technique que vous essayez de réaliser s'appelle le multihébergement . Je n'ai aucune expérience directe avec cela. Cependant, certaines choses que vous auriez probablement besoin de garder à l'esprit.

  • Par défaut, je pense que vous vous retrouverez avec une seule route par défaut. Cela signifie que tout le trafic sortant préférera une interface par défaut. Vous auriez besoin de chercher à avoir plusieurs itinéraires par défaut, ou à changer cet itinéraire dynamiquement au fil du temps.
  • Pour la durée de vie d'une connexion entrante individuelle (TCP), elle doit rester sur la même interface que celle sur laquelle elle est entrée. Je pense.

Quoi qu'il en soit, ce sont tous les points auxquels je peux penser en ce moment.

pioto
la source
metricest également un paramètre pour les interfaces réseau sous Windows et OS X; tout système d'exploitation prenant en charge plusieurs interfaces réseau nécessitera un moyen de définir la priorité.
apraetor
1

Vous pouvez utiliser un système de métrique de routage dans lequel vous installez les deux connexions Internet dans votre table de routage avec une métrique égale. Le système d'exploitation doit ensuite utiliser ces deux routes de manière égale, répartissant efficacement votre trafic sortant sur les deux liaisons.

Le trafic entrant en réponse à vos demandes doit également être équilibré car il reviendra à l'interface (IP publique) d'où la demande est sortie.

Le problème avec cela serait la persistance de la session, par exemple, vous visualisez un site Web via l'un de vos liens, mais la page suivante est équilibrée en charge à partir de votre autre interface, cela perturberait certaines applications car votre adresse IP source serait en constante évolution.

Par conséquent, je ne diviserais probablement qu'une partie de votre trafic sur l'autre interface en utilisant des routes à coût égal, que ce soit par application, destination ou protocole. Juste quelque chose qui gardera vos chemins de trafic cohérents.

iTom
la source
1

Connectify Dispatch a une solution qui fera exactement ce dont vous avez besoin. Actuellement pour Windows uniquement, mais les gens ont réussi à virtualiser et à utiliser leurs logiciels sur OS X.

Puisque vous exécutez déjà (exécutiez) Windows XP, je pensais que vous seriez en mesure de comprendre cette partie par vous-même.


Le plus gros problème avec cela est que Windows offre facilement la prise en charge de plusieurs cartes réseau, tandis que sur OS X, il n'est pas aussi facile à mettre en œuvre.

bemental
la source
0

Il existe une sorte de solution: mon application est capable d'équilibrer la charge, je peux définir 2 connexions qui sont ensuite utilisées les deux.

J'achemine ensuite l'un des IP du serveur vers l'un des IPS.

sur mac os 10.6:

route add -host XXX.XXX.XXX.XXX 192.168.1.1

Je sais, c'est très spécifique et ne fonctionne que si les ips du serveur sont toujours les mêmes. Et si l'application peut équilibrer la charge de quelque façon que ce soit.

Synox
la source
0

Je ne pense pas que cela sera possible sans faire quelque chose comme tout le trafic sortant est un FAI et le trafic entrant est un autre FAI.

La raison étant de diviser le trafic sur deux réseaux distincts ne semble pas pouvoir y revenir. Si vous aviez 2 tuyaux de 1 FAI, cela pourrait être possible.

Comme la personne l'a dit plus tôt, je pense que vous aurez de toute façon besoin d'une valeur par défaut et que vous pourriez limiter un certain trafic sur un itinéraire et le reste sur un autre. Ne pensez pas que l'équilibrage de charge comme vous le feriez sur un réseau local fonctionnera ici.

Exemple: exécutez les mises à jour en utilisant 192.168.2. * ISP Wi-Fi exécutez halflife en utilisant 192.168.1. * LAN ISP.

Johnny
la source
0

L'URL mentionnée ci-dessous est spécifiquement destinée à gagner 7, mais vous devriez en avoir une idée. Il modifie la métrique de la passerelle par défaut en fonction de la charge sur l'interface, conduisant ainsi au partage de charge.

http://www.youtube.com/watch?v=Qh5Eb8sXvuk

Samir Sogay
la source
0

J'ai entendu cette même question une douzaine de fois d'une douzaine de façons différentes. Tout d'abord, les sessions internes et externes sont traitées de la même manière, mais ne sont pas identiques. Pour chaque session interne, il peut y avoir plusieurs externes, et vice versa. Ce dont vous parlez n'est pas logiquement impossible, mais nécessite un peu de programmation et de préparation. Certains appareils sont construits avec la possibilité d'agréger les connexions Ethernet ou le wifi pour des vitesses de réseau plus rapides en interne sur un réseau, mais pour les réseaux externes, je n'ai trouvé que des appareils avec FAILOVER, ce qui signifie qu'ils ne commutent que lorsqu'ils le doivent. Cependant, vous pouvez utiliser une commutation de base (si les instructions avec 0 ou 1) dans le protocole de connexion qui redirige le trafic sur une passerelle différente pour chaque session EXTERNE. Vous devrez alors garder une trace de chaque SESSION EXTERNE attachée à chaque SESSION INTERNE, en encapsulant une sous-session à l'intérieur d'une session principale avec un ID session. Vous devez alors avoir un moyen de vérifier le domaine du site ou d'utiliser l'ID session pour terminer le routage interne (en d'autres termes, vous devez être en mesure de différencier les messages du client pour chaque session \ connexion externe en fonction de laquelle site auquel ils demandaient ou envoyaient des données afin que le tuyau de chaque site soit défini, empêchant le site de rejeter le tuyau). Cela signifie que vous devrez créer un nouveau protocole réseau dans votre routeur et décider comment différencier les connexions (si cela n'est fait que par domaine de site, cela peut être faisable à partir du routeur, mais le client peut essayer d'utiliser l'adresse IP du portail externe pour le site Web, ce qui nie cela; si cela est fait aux deux extrémités, le client doit garder une trace d'un identifiant, généralement une valeur numérique de masquage binaire, qui permet de mettre en correspondance la réception d'envoi avec la session externe acheminée sur la porte principale). En d'autres termes, vous devez programmer votre propre protocole pour gérer la mise en réseau, et vous devez décider si vous voulez le construire vous-même (en utilisant à la fois la programmation client et hôte), ou si vous voulez construire quelque chose qui est compatible avec la programmation existante plus ancienne (qui devrait être liée par la messagerie entre l'hôte et le client, mettant plus d'hôte sur l'hôte mais rien de nouveau pour le client). Si vous connaissez votre Unix, ou vous connaissez votre programmation Winserver, cela peut être fait avec un peu de temps, mais cela nécessite une plus grande quantité de ressources allouées pour chaque périphérique équilibré. le client doit garder une trace d'un identifiant, généralement une valeur numérique de masquage binaire, qui permet de mettre en correspondance la réception d'envoi avec la session externe en cours d'acheminement sur la porte principale). En d'autres termes, vous devez programmer votre propre protocole pour gérer la mise en réseau, et vous devez décider si vous voulez le construire vous-même (en utilisant à la fois la programmation client et hôte), ou si vous voulez construire quelque chose qui est compatible avec la programmation existante plus ancienne (qui devrait être liée par la messagerie entre l'hôte et le client, mettant plus d'hôte sur l'hôte mais rien de nouveau pour le client). Si vous connaissez votre Unix, ou vous connaissez votre programmation Winserver, cela peut être fait avec un peu de temps, mais cela nécessite une plus grande quantité de ressources allouées pour chaque périphérique équilibré. le client doit garder une trace d'un identifiant, généralement une valeur numérique de masquage binaire, qui permet de mettre en correspondance la réception d'envoi avec la session externe en cours d'acheminement sur la porte principale). En d'autres termes, vous devez programmer votre propre protocole pour gérer la mise en réseau, et vous devez décider si vous voulez le construire vous-même (en utilisant à la fois la programmation client et hôte), ou si vous voulez construire quelque chose qui est compatible avec la programmation existante plus ancienne (qui devrait être liée par la messagerie entre l'hôte et le client, mettant plus d'hôte sur l'hôte mais rien de nouveau pour le client). Si vous connaissez votre Unix, ou vous connaissez votre programmation Winserver, cela peut être fait avec un peu de temps, mais cela nécessite une plus grande quantité de ressources allouées pour chaque périphérique équilibré. généralement une valeur numérique de masquage binaire, qui permet de mettre en correspondance la réception d'émission avec la session externe acheminée sur la porte principale). En d'autres termes, vous devez programmer votre propre protocole pour gérer la mise en réseau, et vous devez décider si vous voulez le construire vous-même (en utilisant à la fois la programmation client et hôte), ou si vous voulez construire quelque chose qui est compatible avec la programmation existante plus ancienne (qui devrait être liée par la messagerie entre l'hôte et le client, mettant plus d'hôte sur l'hôte mais rien de nouveau pour le client). Si vous connaissez votre Unix, ou vous connaissez votre programmation Winserver, cela peut être fait avec un peu de temps, mais cela nécessite une plus grande quantité de ressources allouées pour chaque périphérique équilibré. généralement une valeur numérique de masquage binaire, qui permet de mettre en correspondance la réception d'émission avec la session externe acheminée sur la porte principale). En d'autres termes, vous devez programmer votre propre protocole pour gérer la mise en réseau, et vous devez décider si vous voulez le construire vous-même (en utilisant à la fois la programmation client et hôte), ou si vous voulez construire quelque chose qui est compatible avec la programmation existante plus ancienne (qui devrait être liée par la messagerie entre l'hôte et le client, mettant plus d'hôte sur l'hôte mais rien de nouveau pour le client). Si vous connaissez votre Unix, ou vous connaissez votre programmation Winserver, cela peut être fait avec un peu de temps, mais cela nécessite une plus grande quantité de ressources allouées pour chaque périphérique équilibré. qui permet à l'émetteur-récepteur de correspondre à la session externe acheminée sur la porte principale). En d'autres termes, vous devez programmer votre propre protocole pour gérer la mise en réseau, et vous devez décider si vous voulez le construire vous-même (en utilisant à la fois la programmation client et hôte), ou si vous voulez construire quelque chose qui est compatible avec la programmation existante plus ancienne (qui devrait être liée par la messagerie entre l'hôte et le client, mettant plus d'hôte sur l'hôte mais rien de nouveau pour le client). Si vous connaissez votre Unix, ou vous connaissez votre programmation Winserver, cela peut être fait avec un peu de temps, mais cela nécessite une plus grande quantité de ressources allouées pour chaque périphérique équilibré. qui permet à l'émetteur-récepteur de correspondre à la session externe acheminée sur la porte principale). En d'autres termes, vous devez programmer votre propre protocole pour gérer la mise en réseau, et vous devez décider si vous voulez le construire vous-même (en utilisant à la fois la programmation client et hôte), ou si vous voulez construire quelque chose qui est compatible avec la programmation existante plus ancienne (qui devrait être liée par la messagerie entre l'hôte et le client, mettant plus d'hôte sur l'hôte mais rien de nouveau pour le client). Si vous connaissez votre Unix, ou vous connaissez votre programmation Winserver, cela peut être fait avec un peu de temps, mais cela nécessite une plus grande quantité de ressources allouées pour chaque périphérique équilibré. et vous devrez décider si vous voulez le construire vous-même (en utilisant à la fois la programmation client et hôte), ou si vous voulez construire quelque chose qui est compatible avec une programmation existante plus ancienne (qui devrait être liée par la messagerie entre l'hôte et client, mettant plus d'hôte sur l'hôte mais rien de nouveau pour le client). Si vous connaissez votre Unix, ou vous connaissez votre programmation Winserver, cela peut être fait avec un peu de temps, mais cela nécessite une plus grande quantité de ressources allouées pour chaque périphérique équilibré. et vous devrez décider si vous voulez le construire vous-même (en utilisant à la fois la programmation client et hôte), ou si vous voulez construire quelque chose qui est compatible avec une programmation existante plus ancienne (qui devrait être liée par la messagerie entre l'hôte et client, mettant plus d'hôte sur l'hôte mais rien de nouveau pour le client). Si vous connaissez votre Unix, ou vous connaissez votre programmation Winserver, cela peut être fait avec un peu de temps, mais cela nécessite une plus grande quantité de ressources allouées pour chaque périphérique équilibré. mettre plus d'hôte sur l'hôte mais rien de nouveau pour le client). Si vous connaissez votre Unix, ou vous connaissez votre programmation Winserver, cela peut être fait avec un peu de temps, mais cela nécessite une plus grande quantité de ressources allouées pour chaque périphérique équilibré. mettre plus d'hôte sur l'hôte mais rien de nouveau pour le client). Si vous connaissez votre Unix, ou vous connaissez votre programmation Winserver, cela peut être fait avec un peu de temps, mais cela nécessite une plus grande quantité de ressources allouées pour chaque périphérique équilibré.

Pour les réseaux de plus grande taille, vous pouvez mailler la mise en réseau et donner à chaque étage ou département une passerelle dédiée, permettant plusieurs FAI, sans jamais en mettre trop sur l'un d'entre eux. Vous pouvez également faire gérer le basculement par un concentrateur qui envoie des modifications ou des redirections vers une passerelle différente lorsque l'un d'eux rencontre des problèmes. Cela offre une certaine tolérance aux pannes.

Htd Tech
la source
2
Votre réponse est plus susceptible d'être lue s'il ne s'agit pas d'un mur de texte. Veuillez prendre une minute pour le diviser en paragraphes.
fixer1234
J'ai fait. Mais l'interface l'a quand même affiché comme un mur de texte.
Htd Tech
Juste pour référence, la réponse pour l'équilibrage de charge d'une seule connexion est que ce n'est vraiment pas possible si vous ne travaillez pas dessus aux deux extrémités. Mais dans le but d'accélérer l'accès au Web, il existe des cartes multi-NIC tierces qui accéderont simultanément aux réseaux internes. Si vous disposez de plusieurs services FAI, vous pouvez autoriser votre système à gérer l'équilibre de la bande passante. Ce n'est pas vraiment applicable pour les jeux ou pour la vidéo non compressée, car les deux extrémités négocient pour les tailles de paquets, mais si vous êtes beaucoup en ligne pour le travail, c'est faisable, et vous obtiendrez une certaine augmentation des performances.
Htd Tech
Je n'ai trouvé qu'un saut de paragraphe et corrigé cela. Le "secret" est que vous avez besoin d'un double retour (une ligne vierge) entre les paragraphes. Sinon, le système l'exécute ensemble pour votre commodité.
fixer1234