North American Network Operators Group

Date Prev | Date Next | Date Index | Thread Index | Author Index | Historical

Re: NANOG 40 agenda posted

  • From: Joe Abley
  • Date: Mon Jun 04 17:38:54 2007

On 4-Jun-2007, at 02:03, Colm MacCarthaigh wrote:

On Mon, Jun 04, 2007 at 02:53:52AM +0000, Paul Vixie wrote:

ipv6 load balancers exist, one's current load balancer is/may probably
not be up to the task.

my favourite load balancer is OSPF ECMP, since there are no extra boxes,
just the routers and switches and hosts i'd have to have anyway.

quagga ospf6d works great, and currently lacks only a health check API.

If you're load-balancing N nodes, and 1 node dies, the distribution hash
is re-calced and TCP sessions to all N are terminated simultaneously.

Yep. This is a disadvantage that was mentioned in both <http://> and < pubs/tn/isc-tn-2004-1.txt>. I seem to think there's general text about this in RFC 4786, too. From the ISC tech note:

CEF's route selection algorithm is stateless and deterministic for a
stable set of ECMP routes. In general, however, a change in the
number or ordering of those routes may cause the route selected for a
particular (source, destination) hash to change. This fragility
should be considered when gauging whether this load distribution
approach is appropriate to particular protocols.

I have used dedicated load-balancing appliances for this kind of application. They have the disadvantages that (a) they are not cheap, and (b) sometimes the non-cheapness encourages people to use them in a fashion which exposes a single point of failure. They have many advantages, too, including (often) a sufficiently-capable state engine that the issue you mention does not arise.

As with all things, the trick is to weigh the risk of disaster against the probability of benefit and do whatever makes sense within your own particular constraints.