Agréger deux connexions

So voila dans un local il y a une box adsl orange et bientot une fibre numericable.

Le but c’est d’agréger les deux.

J’ai regardé vite fait la box agrégatrice de ovh :
https://www.ovhtelecom.fr/overthebox/guides.xml

Quelqu’un a déja bidouillé testé des choses de ce genre ?

C’est toute la question du load balancing ou je dis des conneries?

Non, le load balancing, c’est l’aggrégation de serveurs.

Pour répondre à @Bussiere, c’est clairement pas facile ce que tu demandes, voir même limite impossible. Je m’étais intéressé au sujet il y a de cela quelques années (il y a même peut être un topic sur la zone à ce sujet), mais vu le fonctionnement actuel d’internet, il n’y a pas vraiment de solution je crois.

Le problème est que quand tu fais une communication, par exemple, du TCP/IP, ton paquet de donnée indique “mon destinataire est A.B.C.D”. Il faudrait que le serveur en face marque les paquets “celui là est pour le lien 1, celui là est pour le lien 2”.

Je ne sais pas s’il est possible de créer un proxy capable de morceler une connexion TCP/IP pour rediriger un paquet sur deux (ou un autre ratio suivant la capacité de tes liens) vers le lien 1, et le reste vers le lien 2. Cela suppose aussi que tu aies une machine qui n’a pour taff que de réassembler les paquets chez toi, et que toutes tes communications passent via ce proxy.

@Bussiere en français, c’est conneXions :wink:

1 Like

bah justement la box de chez ovh semble faire ce taff …

Ca ne répond pas ça ? :

http://unix.ndlp.info/doku.php/informatique:reseau:xdsl:xdsl_bonding

Edit : En fait ça demande quand même du matos (serveur local et serveur distant)

Et un produit Dual Wan tout con comme DrayTek, non ?

Genre ça.

Dual Gigabit Ethernet WAN port for failover and load-balancing

Elle fait ça en redirigeant tout vers des proxy, ça a pas l’air bien bien fou j’ai l’impression.

Agrégation
OverTheBox permet d’agréger
plusieurs connexions depuis votre réseau local (LAN) en routant le
trafic sur les différentes connexions WAN. Le service Over The Box
hébergé sur les infrastructures cloud d’OVH réagrège ensuite toute la
bande passante sur l’IPv4 de sortie que nous vous fournissons. Nous
utilisons la technologie MultiPath TCP (MPTCP) pour l’agrégation et des
proxys SOCKS pour gérer le trafic sur chaque lien.

Sur le papier ce n’est pas très compliqué à faire, en gros il s’agit de faire du Multipath-TCP. Il y a tout ce qu’il faut sous linux pour le faire.

Le problème quand on fait ça avec un boitier Dual WAN ou un linux à la mano c’est qu’on fabrique une fourche :

IP1 sur internet avec provider 1 \
                                  + --------- IP Locale (LAN)
IP2 sur internet avec provider 2 / 

Et qu’il y a pleins de cas d’usage où on ne peut pas télécharger en même temps depuis 2 IP et encore moins uploader.

Pour que ce soit vraiment transparent, il vaut ajouter un point de centralisation coté internet, via un VPN par exemple :

           / VPN --- IP1 sur internet avec provider 1 \
IP sortie +                                            + ---IP Locale (LAN)
           \ VPN --- IP2 sur internet avec provider 2 / 

Ça revient à faire la symétrie de ce que tu fais chez toi, mais coté internet avec un serveur dédié par exemple.

Au final c’est relativement simple, mais y a pas mal de configuration à faire et surtout il faut disposer d’un point de sortie unique quelque part sur le net.

C’est ce que propose OVH avec OverTheBox, tu as le boitier chez toi qui est préconfiguré pour faire du MTCP avec 4 connexions et qui fait ressortir le tout dans un VPN jusqu’à un point de sortie chez OVH.

Y a même un petit schéma qui est plus joli que le mien :

Si tu as déjà de quoi te monter un serveur chez toi pour brancher tes 2 connexions, OVH balance les sources de leur box pour le faire toi même.

Après le vrai problème pour toi, ça va être le débit. Il faut que le point de sortie soit capable de supporter l’agrégation de tes lignes. Dans le cas de la box OVH, c’est autour de 100Mbps (ils annoncent 130 en crête). Donc c’est très bien pour regrouper 4 connexions ADSL, mais si ton abonnement numéricable est plus rapide que ça, tu vas limiter ton débit. En revanche tu gagnes en stabilité vu qu’il fait le failover comme un grand.

3 Likes

bah surtout la ou ca m’arrangerait c’est surtout en upload donc je pense que ca peut valoir le coup …

Difficile de conseiller le truc d’OVH vu le peu de retour à l’heure actuelle, c’est très récent comme produit.

Par contre les double-wan avec du load balancing “classique” y en a plein, et suffit de bien le configurer (Round robin, spill-over, etc…) pour obtenir un truc proche d’un aggregat (avec du sticky session ou un truc dans le genre). Mais comme ça à été dit au dessus, ça fait quand même une fourche dans tous les cas.

La terminologie existe dans le monde des réseaux, me rappelle en avoir fait en labo, mais sur du matos cisco valant dans les milliers d’euros. En gros c’est le routeur connecté au web qui gère ça, mais c’est assez chiant à mettre en place.

Mon retour vaut ce qu’il vaut, mais ça fait une semaine que j’utilise la solution d’OVH. Avant nous utilisions un dlink entrée de gamme pour faire ça, et bon c’était pas ça : pas vraiment d’agrégation de bande passante(on est sur l’une, ou sur l’autre connexion), pas de détection correcte qu’une connexion est tombée…

Après quelques jours sur la box ovh, pas de souci à noter, et un speed test donne bien le résultat attendu : nous sommes au max des deux connexions cumulées.

EDIT: deux connexions adsl dans notre cas. Il faut vérifier la limite physique du boitier, vu qu’il fait de l’AES à la volée, vpn tout ça, il peut pas suivre une fibre bien badass.

Tu partais déjà avec la pire marque, c’était sûr que tu allais pas avoir des résultats fantastiques :sweat:

Est ce que tu as une box chez free par hasard? Tu sais si le player supporte sans broncher la box d’OVH?

Nan désolé c’est du pro de mon côté, donc je n’ai pas pu tester ce genre de cas :confused:

Ensuite il me semble avoir lu quelques retours sur le net disant que ça marchait, mais à confirmer. Théoriquement en tout cas, il n’y a pas de raison que ça ne marche pas modulo un peu de configuration.

Pour avoir essayé (et essayé dur, j’en avais vraiment besoin…) il y a des années, avec deux adsl de marques concurrentes: point de salut si tu n’as pas un “réaggrégateur” en face. Tu arrives éventuellement à combiner les deux connexions sur du web (parce que plein d’éléments disparates présents sur une page), mais pas toujours sans “casse” (les sessions, etc). Par contre, sur de l’upload ou des protocoles type ftp, UNE seule connexion sera utilisée… cf le post de Merlin.

C’est un peu parti dans tous les sens donc je me propose de faire le post du résumé en essayant d’être didactique et d’utiliser (voire définir) tous les mots utilisés ici.

On va déjà essayer de différencier load balancing et agrégation. C’est deux termes différents qui ne font pas la même chose techniquement, mais qui peuvent avoir des usages similaire (on peut faire du fail over dans les deux cas, mais je vais trop vite.)

Load Balancing.
Ça existe aussi bien en réseau (transport) que coté serveur (applicatif), et pour répondre a @PERECil, les deux fonctionnement existent. Pour régler le problème coté serveur (souvent http), je vous conseille de lire ce wiki, http://www.linux-ha.org/doc/users-guide/users-guide.html , qui détaille tout ce qu’il faut savoir sur les outils “high availability” existant sous linux. Et c’est du pur load balancing (coté applicatif serveur).

Pour le réseau, en ayant deux liens différents (genre adsl et fibre), il est possible de mettre en place un système de load balancing. Et ça fait ce que ca dit: Si un des liens est chargé, on utilise l’autre pour faire passer AUTRE CHOSE. C’est a dire que si on a deux liens, un 20MB et un 50MB, le débit maximal d’une session (donc d’un download) sera de 50MB. Non, ca ira pas a 70MB. C’est impossible.

Sous linux, le principe est détaillé ici:
http://lartc.org/howto/lartc.rpdb.multiple-links.html
J’ai mis ça en place chez moi pendant plusieurs années, via free adsl et numericable avec l’aide d’un boitier dreamplug.
Ça pose pas mal de problème:
Le load balancing “propre” ne fonctionne qu’en TCP, tant que la session est active. Si vous allez sur le net pour regarder des sites web (protocol http/https), ca va fonctionner super bien, modulo les choix de route pour le https (j’ai pas eu le cas mais les navigateurs modernes initient plusieurs connexions à la fois, genre pour la page web, le javascript, les images, je sais pas comment ca marche niveau conservation de session ssl avec plusieurs IPs). En fait, le load balanceur conserve toujours la même route tant que la session tcp est active, donc pas de soucis de routage.
En revanche, pour les sessions UDP, c’est pas le cas et c’est la foire au coup de bol. Pour tester simplement une connexion UDP, j’ai joué a un MMORPG. Ca peut tenir 3h comme 10min. De la même manière, si vous utilisez des logiciels de partage de fichiers (genre bittorent, mais il me semble que c’est le cas de tous les logiciel P2P), ça va marcher bizarrement, le load balanceur ne sachant pas trop quoi faire avec tout ces paquets UDP.
Il peut donc y avoir des soucis avec tous les protocoles UDP, DNS inclus (en général, on force un lien en particulier pour ce genre de cas, mais on perds la capacité fail over - le plus simple étant alors d’installer un serveur DNS récursif sur le firewall).
Et ca va générer d’autres problèmes funs, genre la connexion SMTP, qui est bien TCP, mais qui peut être sur n’importe quel lien. Or, si vous voulez envoyer un email via smtp.free.fr et que le load balancer décide d’utiliser le lien numericable, ca va échouer (sauf si on utilise l’authentification, et encore).

Enfin, le système ne gère pas automatiquement le fail over, c’est a dire le fait que sur les deux liens internet, un des liens est mort. Ça se fait à la main (ça doit pouvoir s’automatiser avec des pings réguliers sur chaque routeur mais bon…)

Voila pour le load balancing. Qui marche moyen. Perso, j’avais fini par utiliser free pour les connexion de commande (ssh, dns, etc) et NC pour le reste, avec un script de routage forcé sur free si NC deconne (et vice versa)

Agrégation.
Le terme était très souvent utilisé pour l’agrégation de lignes numeris (RNIS pour les anciens), ou le regroupement des lignes se faisait au niveau téléphonique/hardware et pas logiciel coté IP. Donc avec deux lignes 128kb (ouais je sais), on avait bien une connexion effective a 256kb réel (mais bon…)

Niveau IP, c’est pas possible de base car une session tcp ou udp doit toujours avoir les mêmes IP source/target le long de la session.
En revanche, la solution de OVH permet de tricher puisque la sortie n’est pas les deux connexion ADSL, mais bien le serveur (avec ip unique) chez OVH.
C’est possible assez simplement avec linux (sans chiffrement):
http://www.lartc.org/howto/lartc.loadshare.html
Mais j’ai jamais testé le système.

Donc OVH, c’est de la pseudo agrégation (pour moi, le terme est plus téléphonique que réseau) et, comme le dit merlin, reste limité en terme de débit au lien le plus faible. Si le serveur OVH est limité a 100MB, bah tu n’iras pas beaucoup plus vite que 100MB, malgré ta connexion NC a 200MB.
L’avantage, c’est que c’est tout automatique niveau failover, ce qui n’est pas le cas en load balancing pur. Le seul truc que je pige pas trop, c’est l’intérêt de chiffrer les données entre nous et ovh. Vu qu’en sortie d’ovh, ca sera en clair…
Je serais quand même curieux de voir comment ça fonctionne sur les connexion UDP comme bittorent…

Les définitions sont posées, en espérant avoir été clair - appelez moi LoneWolf.

5 Likes

hello !

J’ai installé un boitier pour une asso qui est en campagne mais qui avait besoin d’augmenter un peu de débit. j’ai mis ça : http://www.tp-link.com/en/products/details/cat-4910_TL-R470T%2B.html

Ça marche plutôt pas mal, pour l’instant avec 2 ADSL et bientôt une SDSL.

Dans cette situation il s’agit d’une dizaine de personne qui font pas mal de web + un serveur qui fait de la sauvegarde la nuit. Et depuis la mise en place le seul bémol est le fail-over qui n’est pas super bien géré quoi.

En plus c’est pas hyper cher :smiley:

Bonne journée

Ici (boulot) c’est un serveur Linux qui agrège 2 box OVH (VDSL+ADSL qui porte la téléphonie), comme souligne LoneWolf.
Je ne sais pas comment l’installateur a fait mais ça a bien décongestionné le service. En revanche c’est inconfigurable par un mortel, la distrib linux qu’il a mise est même en Portugais pour une obscure raison de plugin…