anycast in networking
Anycast vs Unicast.
Unicast: Represents one destination/network location.
Anycast, the same IP prefix is advertised from multiple locations.
203.0.113.10/32
SAME IP ADDRESS
|
+--------------+--------------+
| | |
Mumbai Singapore London
advertises advertises advertises
| | |
BGP BGP BGP
The Internet's routers use BGP routing information to determine which advertisement/path to use.
User in India
|
| 203.0.113.10
↓
Internet routers
|
↓
Mumbai POP
while:
User in UK
|
| 203.0.113.10
↓
Internet routers
|
↓
London POP
The user uses the same IP.
This is fundamentally different from DNS steering.
Internet
|
Destination: 203.0.113.10
|
+-------------+-------------+
| | |
↓ ↓ ↓
POP/Region A POP/Region B POP/Region C
Mumbai Singapore London
| | |
BGP BGP BGP
| | |
↓ ↓ ↓
Load Balancer Load Balancer Load Balancer
| | |
↓ ↓ ↓
Service Service Service
| | |
Pods/VMs Pods/VMs Pods/VMs
The actual IP must be from address space you control for a real Internet deployment; 203.0.113.0/24 is documentation space and is useful only for diagrams/labs.
Anycast IP and DNS Steering:
DNS latency steering might do something conceptually like:
DNS
|
+-- Mumbai 30 ms
+-- Singapore 70 ms
+-- London 150 ms
|
↓
Return Mumbai IP
Anycast gives you routing toward an advertised location; it isn't a DNS server performing a fresh latency test for every client.
Cloud providers can combine Anycast with health, capacity, proximity and other traffic-engineering mechanisms. For example, Google describes its global load balancing as using a single anycast IP and distributing traffic based on factors including proximity, availability and capacity.
Cloud Managed Anycast service
Anycast IP
203.x.x.x / static
|
AWS Global Accelerator
|
+----------+----------+
| |
Region A Region B
Mumbai Singapore
| |
ALB/NLB ALB/NLB
| |
Service Service
build real Anycast yourself
Your ASN
AS65000
|
+---------+---------+
| | |
↓ ↓ ↓
Router A Router B Router C
Mumbai Singapore London
| | |
↓ ↓ ↓
Server Server Server
Further quick notes:
- how really anycast multicast and floating ip works. Why and how the same IP prefix is advertised from multiple location. How this is different from DNS steering. How we can assign the same IP to three different system. what is : FRRouting (FRR),BIRD, GoBGP?