Co je anycast?
Anycast, také známý jako IP anycast, je síťová technika, která umožňuje více strojům sdílet stejnou IP adresu. Na základě umístění požadavku uživatele jej směrovače odešlou do počítače v síti, která je nejblíže. To je výhodné, protože mimo jiné snižuje latenci a zvyšuje redundanci. Pokud konkrétní datové centrum bylo přejít do režimu offline, anycasted IP by vybrat to nejlepší cesta pro uživatele, a automaticky přesměruje na další nejbližší datové centrum. Následující text popisuje některé výhody a nevýhody, které jsou spojeny s konfigurací anycastu.
Pros
- Rychlost. Provoz směřující do uzlu anycast bude směrován do nejbližšího uzlu, čímž se sníží latence mezi klientem a samotným uzlem. Tím je zajištěno, že rychlosti budou optimalizovány bez ohledu na to, odkud klient požaduje informace.
- redundance. Anycast zlepšuje redundanci umístěním více serverů po celém světě pomocí stejné IP adresy. To umožňuje přesměrování provozu na nejbližší nejbližší server v případě, že jeden server selže nebo přejde do režimu offline.
- zmírnění DDoS. DDoS útoky jsou způsobeny botnety, které mohou generovat tolik provozu, že přemohou typický Unicast stroj. Výhodu mají anycast konfigurace v této situaci je, že každý server je schopen „absorbovat“ část útoku za následek menší zátěž na server celkově.
- vyvažování zátěže. Vyvažování zátěže lze využít v případě, že existuje více uzlů ve stejné geografické vzdálenosti od požadavku. Tím se odstraní některé požadavky na zdroje z jednotného uzlu a rozptýlí je na více uzlech.
nevýhody
- obtížné implementovat. Implementace IP anycast je komplexní úsilí, které vyžaduje další hardware, spolehlivé poskytovatele upstream a správné směrování provozu.
Border gateway protocol a autonomní systémy
Border Gateway Protocol (BGP) a Autonomní Systémy (AS) jsou nedílnou součástí v cestě IP anycast funkce. BGP si mezi AS vyměňuje informace o směrování a dosažitelnosti. Rozhoduje o směrování na základě cest, zásad a sad pravidel, což je klíčová součást toho, co IP anycast nabízí. V rámci směrování BGP existuje více tras pro stejnou IP adresu, které směřují na různá místa.
autonomní systém je jeden nebo soubor sítí spravovaných stejným správcem. Autonomní systémy mají každý jedinečný ASN, nebo autonomní číslo systému, pro použití ve směrování BGP, protože každá ASN identifikuje každou síť na internetu.
nástroje jako ExaBGP mohou být použity k transformaci zpráv BGP na text nebo JSON, které pak mohou být zpracovány jednoduchými skripty. To umožňuje správcům snadno detekovat a řešit selhání sítě nebo služby.
jak přípravek anycast působí?
jak již bylo zmíněno, anycast směruje požadavky uživatelů na nejbližší uzel, aby se snížila latence stránky. Dělá to podle těchto kroků.
- více instancí služby oznamuje, že sdílejí stejnou IP adresu.
- když prohlížeč uživatele požádá, router obdrží tento požadavek a jednoduše zvolí trasu s nejkratší vzdáleností k nejbližšímu serveru na základě cesty AS.
pomocí Unicastu, které bude vysvětleno v následující části, by cesta vedla pouze k jednomu cíli bez ohledu na vzdálenost. Pomocí anycastu je trasa optimalizována díky tomu, že vždy vybírá nejlepší cestu. V případě, že je server nefunkční, BGP jednoduše najde další nejlepší cestu a směruje tam požadavek.
je však třeba poznamenat, že anycast může být nakonfigurován nejen pro požadavek na trasu na základě vzdálenosti, ale také pro další faktory, například:
- Dostupnost serveru
- Počet připojení
- Čas odezvy
Další metody řešení
Jiné řešení metody existují i pro směrování požadavků uživatelů na konkrétní network endpoint. Patří mezi ně unicast, multicast, broadcast a geocast. V níže uvedených částech se podíváme na další podrobnosti.
Unicast
většina internetu dnes používá tuto metodu. Unicast omezuje, aby IP adresa byla přidružena pouze k jednomu konkrétnímu uzlu v síti. Toto je známé jako one-to-one sdružení. Ačkoli velká část internetu používá tuto metodu, je suboptimální kvůli omezením pouze schopnosti přiřadit IP adresu k jednomu uzlu.
Multicast
Multicast používá asociaci one-to-many-of-many nebo many-to-many-of-many. Multicast umožňuje požadavek od odesílatele, které mají být směrovány do různých vybraných koncových bodů současně. To umožňuje klientovi stáhnout soubor v kusech z více hostitelů najednou (užitečné pro streamování zvuku nebo videa). Multicast je často zaměňován s anycast, ale hlavní rozdíl je v tom, že anycast směruje odesílatele do jednoho konkrétního uzlu, i když je k dispozici více uzlů.
vysílání
vysílání používá asociaci one-to-all. Datagram z singulárního odesílatele je směrován do všech koncových bodů spojených s broadbastovou adresou. Síť automaticky replikuje datagramy, takže je schopna oslovit všechny příjemce v rámci vysílání, které se obvykle skládá z celé síťové podsítě.
Geocast
Geocast je poněkud podobný vícesměrového vysílání, které požaduje od odesílatele jsou směrovány na více koncových bodů současně, nicméně, rozdíl je, že síť je definována podle jejich zeměpisné poloze.
Anycast a IPv4 vs IPv6
Anycast není v IPv4 oficiálně podporován, lze to však obejít pomocí BGP. V podstatě, více hostitelů má stejnou IP adresu unicast a trasy jsou oznámeny prostřednictvím BGP. Směrovače to proto interpretují jako více tras do stejného cíle, zatímco ve skutečnosti jsou směrovány do různých destinací se stejnou adresou.
nevýhodou tohoto přístupu je však to, že síť může provádět takzvaný „pop switch“, který mění směrovací pakety v případě přetížení nebo změn v síti.
IPv6 na druhé straně explicitně podporuje anycast. Směrovače IPv6 obvykle nerozlišují paket anycast od paketu unicast prostřednictvím sítě, i když je vyžadována speciální manipulace se směrovači poblíž cíle.
kromě toho lze stejný proces používaný v IPv4 použít i v IPv6. Tato metoda nezávisí na směrovačích, které si uvědomují anycast, ale narazíte na stejné problémy, jaké byly popsány výše.
shrnutí
je zřejmé, že anycast je výkonná technika, která mimo jiné snižuje latenci stránky a zmírňuje útoky. Přestože se jedná o komplexní úsilí o implementaci, odměna je obrovská jak pro uživatele,tak pro poskytovatele služeb.
KeyCDN s potěšením nabízí anycast, který pomůže zlepšit celkovou efektivitu služeb našim zákazníkům.