Vad är anycast?
Anycast, även känd som IP anycast, är en nätverksteknik som gör det möjligt för flera maskiner att dela samma IP-adress. Baserat på platsen för användarförfrågan skickar routrarna den till maskinen i det nätverk som är närmast. Detta är fördelaktigt eftersom det bland annat minskar latensen och ökar redundansen. Om ett visst datacenter skulle gå offline skulle en anycasted IP välja den bästa sökvägen för användare och automatiskt omdirigera dem till nästa närmaste datacenter. Följande beskriver några av de fördelar och nackdelar som är förknippade med att konfigurera anycast.
Fördelar
- Hastighet. Trafik som går till en anycast-nod kommer att dirigeras till närmaste nod, vilket minskar latensen mellan klienten och själva noden. Detta säkerställer att hastigheter optimeras oavsett var kunden begär information från.
- redundans. Anycast förbättrar redundans genom att placera flera servrar över hela världen med samma IP. Detta gör det möjligt att omdirigera trafik till nästa närmaste server om en server misslyckas eller går offline.
- DDoS-begränsning. DDoS-attacker orsakas av botnät som kan generera så mycket trafik att de överväldigar en typisk Unicast-maskin. Fördelen med att ha en anycast-konfiguration i denna situation är att varje server kan ”absorbera” en del av attacken vilket resulterar i mindre belastning på servern totalt sett.
- lastbalansering. Lastbalansering kan utnyttjas om det finns flera noder inom samma geografiska avstånd från begäran. Detta tar bort några av resurskraven från en singular nod och sprider dem över flera noder.
nackdelar
- svårt att genomföra. Implementering av IP anycast är en komplex strävan som kräver ytterligare hårdvara, pålitliga uppströmsleverantörer och korrekt trafikdirigering.
Border gateway protocol och autonoma system
Border Gateway Protocol (BGP) och autonoma system (AS) är integrerade delar i vägen IP anycast funktioner. BGP utbyter routing och nåbarhetsinformation mellan AS. Det gör routingbeslut baserat på sökvägar, policyer och regeluppsättningar som är en nyckelkomponent i vad IP anycast erbjuder. Inom BGP-routing finns det flera rutter för samma IP-adress som pekar på olika platser.
ett autonomt System är en enda eller samling nätverk som alla administreras av samma administratör. Autonoma system har var och en ett unikt ASN, eller autonomt systemnummer, för användning i BGP-routing eftersom varje ASN identifierar varje nätverk på internet.
verktyg som ExaBGP kan användas för att omvandla BGP-meddelanden till text eller JSON som sedan kan hanteras av enkla skript. Detta gör det möjligt för administratörer att enkelt upptäcka och hantera nätverks-eller servicefel.
Hur fungerar anycast?
som tidigare nämnts dirigerar anycast användarförfrågningar till närmaste nod för att minska sidlatensen. Det gör detta genom att följa dessa steg.
- flera serviceinstanser meddelar att de delar samma IP-adress.
- när användarens webbläsare gör en förfrågan tar routern emot den förfrågan och väljer helt enkelt rutten med det kortaste avståndet till närmaste server baserat på AS-sökvägen.
använda Unicast, som kommer att förklaras i följande avsnitt, skulle sökvägen bara leda till en destination oavsett avståndet. Med anycast optimeras rutten på grund av att den alltid väljer den bästa vägen. Om en server är nere, kommer BGP helt enkelt att hitta den näst bästa sökvägen och dirigera begäran där.
det bör dock noteras att anycast kan konfigureras inte bara för att dirigera begäran baserat på avstånd utan även andra faktorer, till exempel:
- tillgänglighet för servern
- antal anslutningar
- tid till svar
andra adresseringsmetoder
andra adresseringsmetoder finns också för att dirigera användarförfrågningar till en viss nätverksslutpunkt. Dessa inkluderar unicast, multicast, broadcast och geocast. Vi kommer att gå in på ytterligare detaljer för var och en i avsnitten nedan.
Unicast
det mesta av Internet använder idag denna metod. Unicast begränsar en IP-adress som ska associeras till endast en viss nod i ett nätverk. Detta är känt som en en-till-en-förening. Även om mycket av internet använder den här metoden är det suboptimalt på grund av begränsningarna att bara kunna associera en IP-adress med en nod.
Multicast
Multicast använder en en-till-många-av-många eller många-till-många-av-många-förening. Multicast tillåter att en begäran från en avsändare dirigeras till olika valda slutpunkter samtidigt. Detta gör det möjligt för en klient att ladda ner en fil i bitar från flera värdar samtidigt (användbart för streaming av ljud eller video). Multicast förväxlas ofta med anycast, men den största skillnaden är att anycast dirigerar avsändaren till en specifik nod även om flera noder är tillgängliga för användning.
Broadcast
Broadcast använder en en-till-alla-förening. Ett datagram från en enskild avsändare dirigeras till alla slutpunkter som är associerade med broadbast-adressen. Nätverket replikerar automatiskt datagrammen så att det kan nå alla mottagare inom sändningen, som i allmänhet består av ett helt nätverksundernät.
Geocast
Geocast liknar något multicast genom att förfrågningar från en avsändare dirigeras till flera slutpunkter samtidigt, men skillnaden är att nätverket definieras av deras geografiska läge.
Anycast och IPv4 vs IPv6
Anycast stöds inte officiellt i IPv4 men detta kan bearbetas genom att använda BGP. I huvudsak ges flera värdar samma unicast IP och rutter meddelas via BGP. Därför tolkar routrar detta som flera rutter till samma destination medan de faktiskt dirigeras till olika destinationer med samma adress.
nackdelen med detta tillvägagångssätt är dock att nätverket kan utföra det som kallas en ”POP-switch” som ändrar routningspaketen om det finns trängsel eller förändringar i nätverket.
IPv6 å andra sidan stöder uttryckligen anycast. IPv6-routrar skiljer vanligtvis inte ett anycast-paket från ett unicast-paket via nätverket, även om Speciell hantering från routrarna nära destinationen krävs.
dessutom kan samma process som används i IPv4 också användas i IPv6. Denna metod beror inte på anycast-medvetna routrar men du kommer att stöta på samma problem som diskuterats ovan.
sammanfattning
det är uppenbart att anycast är en kraftfull teknik för att bland annat minska sidlatens och mildra attacker. Även om det är en komplex strävan att genomföra, payoff är stor för både användare och tjänsteleverantörer både.
KeyCDN erbjuder gärna anycast för att förbättra den totala effektiviteten av tjänster till våra kunder.