Heh - You _learn_ that Anycast isn't good for TCP, but LinkedIn proved
differently. Their website uses TCP (obviously), works almost always, and
gracefully recovers when Anycast throws a curve.

There's a great interview on Packet Pushers with LinkedIn Global
Engineering:

Packet Pushers: Show 286: Busting Anycast TCP Myths
http://packetpushers.net/podcast/podcasts/show-286-busting-anycast-tcp-myths/

...and a blog post:
https://engineering.linkedin.com/network-performance/tcp-over-ip-anycast-pipe-dream-or-reality

-Mike Tewner



On Fri, Nov 25, 2016 at 12:14 AM, Amos Shapira <amos.shap...@gmail.com>
wrote:

> Anycast is not suitable for TCP.
> It IS fantastic for DNS (which uses UDP), which is the first thing a
> client does most of the time to find the server.
> Akamai control server groups by allocating per-customer per-object host
> names, then these can be resolved using their very highly customised DNS
> servers to the right server (also taking into account dynamic changes like
> server cluster load or failure).
> Since DNS uses UDP and the traffic consists on one packet in each
> direction, Anycast is ideal for that scenario.
> The actual content transfer (e.g. move streams, which is where I with
> Akamai for stan.com.au) doesn't use Anycast.
>
> On 24 November 2016 at 04:06, Shachar Shemesh <shac...@shemesh.biz> wrote:
>
>> On 22/11/16 02:19, Amos Shapira wrote:
>>
>> On 21 November 2016 at 18:20, Shachar Shemesh <shac...@shemesh.biz>
>> wrote:
>>
>>> The DNS resolving google.com guesses your gegraphical location, and
>>> gives you an answer that is nearest where you are. If you use another DNS
>>> to query the domain, you will get a different IP:
>>>
>>
>> It's not always a "guess your geographic location". The smarter ones use
>> Anycast to advertise the same IP address from multiple locations on the
>> Internet and let BGP do its magic to route your packets to the nearest
>> server, taking into account any congestion or other transient connection
>> speed changes. This is how Google's DNS 8.8.8.8 works, or Akamai's CDN. The
>> nice thing about it is that you get optimal response even at the host
>> resolution stage. The DNS server can then take its knowledge of the DNS
>> query source address into account when it decides which IP address to
>> resolve to.
>>
>> It's pretty neat, personally I find it a fascinating trick:
>> https://en.wikipedia.org/wiki/Anycast
>>
>> It is, quite fascinating. It is not, unfortunately, as useful as you make
>> it out to be. Neither Google nor Akamai use it for web traffic, for example.
>>
>> The reason is twofold. First, anycast is poorly equipted to handle TCP
>> connections. There is a (remote) possibility that the handler of your IP
>> would change mid-request, which would not play nice with your connection.
>>
>> The second, more pertinent, reason is that , at least for Akamai, they
>> would like to be able to control which server you reach when you make a
>> request. The would like to be able to re-route your in case something bad
>> happens to that server. DNS TTL can be set as low as 30 or 60 seconds. BGP
>> routes have much longer settle times.
>>
>> Shachar
>>
>
>
>
> --
> <http://au.linkedin.com/in/gliderflyer>
>
> _______________________________________________
> Linux-il mailing list
> Linux-il@cs.huji.ac.il
> http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il
>
>
_______________________________________________
Linux-il mailing list
Linux-il@cs.huji.ac.il
http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il

Reply via email to