nanog mailing list archives

Re: Questions about anycasting setup


From: Steve Gibbard <scg () gibbard org>
Date: Fri, 9 Mar 2012 22:57:02 -0800

On Mar 9, 2012, at 1:01 AM, Pete Carah wrote:

Well, let's say, using Quagga/BIRD might not really be best practice for
everybody... (e.g., *we* are using Cisco equipment for this)
Actually there is a *very* good reason why many (most?) anycast
instances use quagga/BIRD/gated/etc
to speak bgp (or even ospf for internal anycast) which using a Cisco (or
any separate router) usually won't accomplish.

I've done this two ways.

I've used Quagga to announce routes directly from the anycast servers.  This guarantees you that the route will go away 
if the server completely goes away, and that traffic will be directed elsewhere.  It also allows you to run scripts on 
the servers that can withdraw the routes in other circumstances, such as if a script running on the server detects that 
the server is non-responsive (or overloaded).

I've used load balancers in front of the name servers.  Like Quagga running directly on the server, a load balancer can 
withdraw routes when all servers behind it stop responding.  It has some advantages, in that it can withdraw routes to 
non-responsive servers even in cases where the server may be too confused to detect its own problems and send the 
appropriate messages to Quagga.   It can spread load among a larger collection of servers than a router would be able 
to on its own, sit in front of the servers and do rate limiting, and things like that.  It could help with the overload 
issue Bill mentions by selectively sending some queries to other sites without the all or nothing effect you get from a 
BGP route withdrawal.  On the other hand, load balancers aren't cheap, and and once installed in the middle of a 
network they become one more device to fail.

I have no idea what Cisco equipment Elmar is using, but I wouldn't jump to the conclusion that it can't withdraw routes 
when needed.

-Steve

Current thread: