Linux provides flexibility among algorithms by allowing the administrator to assign each next hop a weight with the weight keyword. The number of times a next hop is selected is proportional to its weight in relation to all the other next hops. If all the next hops are assigned the same weight, the algorithm falls back to the so-called equal cost multipath algorithm.
Note, however, that the granularity used to distribute traffic among the next hops is measured not in packets, but in the number of routing cache entries. This is because once a next hop is selected, an entry is added to the cache. Because the routing subsystem always consults the cache before invoking any check on routing tables, subsequent packets belonging to the same traffic flow (aggregate of traffic) will be handled straight from the cache. As explained in Chapter 36, a flow is a collection of packets that match a set of criteria. These consist mainly of the source or destination addresses, the ingress or egress devices, and the IP TOS field. You will see in the section "Per-Flow, Per-Connection, and Per-Packet distribution" that when Multipath support for the cache is enabled, traffic can also be distributed on a per-connection basis instead of on a per-flow basis.
From purely a throughput point of view, this granularity may be suboptimal, because different flows may have very different bandwidth requirements, and therefore the kernel may be unfair even when all of the next hops are configured with the same weightand what is worse, the unfairness would not be deterministic. So Linux provides an option that allows you to use per-packet rather than per-flow granularity (see the section "Equalizer algorithm"). However, in most cases, given the high number of flows that usually traverse a router, the next hops are likely to get, on average, a load that is proportional to their weights.
Le 14 avril 2014 10:46, daniel huhardeaux <no-spam@tootai.net> a écrit :
Le 14/04/2014 10:30, Olivier a écrit :
Bonjour,
BonjourTu peux faire du bonding ou du load balancing avec iptables
J'ai un site sur lequel plusieurs (4 ou 6) liens Internet sont actuellement en place pour offrir de la connectivité à une centaine d'utilisateurs.
Plutôt que répartir "statiquement" les utilisateurs par modem-routeur (20 utilisateurs par routeur), j'envisage de mettre en place un mécanisme d'agrégation ou de load-balancing.
Avez-vous déjà étudié ou mis en place ce type de service ?
Quels moyens avez-vous utilisés ?
Quelles suggestions et recommandations ?
Avec mon moteur de recherche, j'ai trouvé que le mécanisme de Teaming, ajouté à linux 3.3 était une ré-écriture du mécanisme de bonding. Est-ce utilisable vers Internet quand l'ISP fournit de simples box sans mécanisme de routage sophistiqué (BGP, ...) ?
Ex: http://sygard.no/2012/06/load-balancing-multiple-isp-connections-using-iproute-and-iptables/
J'ai lu attentivement le lien.Si j'ai bien compris, la clé de la répartition est la ligne:ip route add default scope global \
nexthop via 10.10.0.1 dev eth0.10 weight 2 \
nexthop via 10.20.0.1 dev eth0.20 weight 2 \
nexthop via 192.168.1.1 dev eth0.30 weight 1C'est intéressant.
la même passerelle vers Internet (testé en lançant un navigateur sur monip.org).
Je viens d'essayer ça sur une machine: j'ai l'impression que toutes mes machines sortent avec
J'ai simplement utilisé une commande :
ip route replace default scope global nexthop via 192.168.64.254 dev eth0 weight 1 nexthop via 192.168.64.253 dev eth0 weight 1où mes deux passerelles ont respectivement les adresses 192.168.64.253 et 254.
Il m'est difficile de créer beaucoup de machines mais je peux en créer une ou deux de plus, si besoin.
Comment démontrer avec certitude que ça marche ou ça ne marche pas ?Un conseil ?
--
Daniel
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: [🔎] 534BA051.10702@tootai.net" target="_blank">https://lists.debian.org/[🔎] 534BA051.10702@tootai.net