[Mageia-discuss] network balancing by default

Luca Berra bluca at vodka.it
Mon Oct 25 22:07:16 CEST 2010

On Mon, Oct 25, 2010 at 08:57:38AM +0200, Maarten Vanraes wrote:
>> i did not understood the second and third sentence in A.), then.
>> anyways i believe A is useful and can be implemented without any issue
>it will not conflict with current situation.
that is what i said: "i agree with implementing the above"

>> >possible problems:
>> >A) interface down
>> >B) DHCP expired
>> >C) gateway down
>> >D) further routing down
>> >E) DNS down
>> >
>> >A is trivial, so we'll just skip that one.
>> >
>> >B seems easy to do too; however, reusing the last DHCP lease could still
>> >be usefull, it might well be only a dhcp failure; we should try with the
>> >current lease if possible.
>> if it is expired you should not. doing this will result in duplicate
>> ips.
>> >E is a bit of an extra (it's not really routing, but a DNS that's down
>> >(does not answer) could well be eliminated (not sure if this should be
>> >done separately or not)) OTOH, failure of the recursive DNS of the ISP
>> >seems to be somewhat frequent in my experience.
>> so a connectivity issue will leave users without dns?
>more the other way around; in the event of dns failure; the dns of the other 
>gateway could be used. if it would be a routing issue to the DNS (and others), 
>then other rules could be triggered (C+D)
this has to be implemented very well, my comment was sarcastic, if you
do it badly (i.e. pruning and not reinstating dns you will sooner or
later end with none)

>> >C+D are tricky: D is even a bit of a grey area; my ISP frequently has a
>> >few routes broken. icmp can definately not be relied on in all cases. and
>> >even if you ping your gateway, you don't know if it goes any further.
>> >
>> >This could be circumvented by putting known servers that actually echo
>> >icmp in a list and ping those. but for that matter, it doesn't have to be
>> >icmp; we could easily have a list of public services that can be
>> >connected to. but is this really what we want?
>> >
>> >We could even just monitor how much packets are unreplied to per interface
>> >and choose that.
>> >
>> >Or we could try to have each retry of unreplied packet go through the next
>> >default route.
>> >
>> >Or we could just not handle that (like it is now).
>> +1
>> you are considering the only scenario of a home user. doing some things
>> you propose above would prevent using mageia in any medium sized
>> network. (i.e. i could not use my mageia laptop at work)
>I don't see what you mean by this. i list 4 options; knowing full well that 
>some of those options are not usefull by default. also, this is only required 
>if more than one default gateway is active; which is a small percentage in 
>itself. (my personal favourite is having it sent to the other default gateway 
>after failure; or seeing which has more unreplied packets; and then check some 
>public services)
i mean that if mageia is known for misbehaving wrt dhcp leases corporate
policies will start including a ban on mageia.

>> >remember that right now only A(+B) is used; and having balanced default
>> >routes would probably mean that there is 50% packet loss, instead of 100%
>> >in most cases.
>> which may be worse.
>> if nothing works the user will try switching to a different connection
>> if stuff do not work at random the user will not know what to do.
>it could be worse, depending on the type of person.
>> btw, the assumption about 50% is flawed, i don't know if it is an
>> oversimplification or a failure to understand how load balancing over
>> multiple network links work in practice.
>> it is not round-robin, it is route-based (on ip hash)
>> the result of a failure upstream will result in the user being able to,
>> say, watch some videos on youtube, but not update her fb profile, or
>> worse.
>i meant on average in total, depending on what kind of balancing is used.

I believe you cannot change the ip load balancing method.

I would prefer an option (not active by default) that would allow users
to decide preferred default network connections and fail over to backup
network connections if the active one fails (possibly allowing failback,
but not by default).
It could implement some smart way of finding wether a connection is
actually working. But data to do this has to be user supplied, it is too
difficult to find the right one with so diverse possible networking
I'd leave all load balancing out of the picture, it is very difficult to
get right.
Even interface bonding with tlb can be disruptive to network setups.


Luca Berra -- bluca at vodka.it

More information about the Mageia-discuss mailing list