
1. Contexte
Le routage Anycast est une technique où une même adresse IP publique est annoncée depuis plusieurs emplacements géographiques, généralement via BGP.
Chaque client est automatiquement dirigé vers l’instance la plus proche (ou la plus optimale selon les politiques de routage), réduisant la latence et augmentant la tolérance aux pannes.
C’est la technologie derrière les CDN, les DNS racines, et de nombreux services critiques.
Cependant, configurer et optimiser l’Anycast à grande échelle requiert plus que simplement annoncer un préfixe via BGP.
2. Architecture Anycast avancée
Un déploiement Anycast typique inclut :
- Plusieurs PoP (Points of Presence) répartis géographiquement
- Annonce du même préfixe IP depuis chaque PoP via BGP
- Utilisation de communautés BGP pour influencer le routage
- Monitoring de santé pour retirer un site défaillant
3. Optimisation du routage avec BGP Communities
Les communautés BGP permettent de modifier la préférence de routage par région ou opérateur.
router bgp 65000
bgp community new-format
network 203.0.113.0/24
neighbor 198.51.100.1 remote-as 64512
neighbor 198.51.100.1 send-community
!
ip community-list 10 permit 65000:100
route-map ANYCAST-OPT permit 10
set local-preference 200
match community 10
Ici, on donne une préférence plus élevée (200) au trafic venant d’un ASN ou d’une zone spécifique, afin d’optimiser la latence.
4. Détection et retrait automatique d’un PoP défaillant
Pour éviter d’envoyer du trafic vers un PoP en panne, on utilise un système de health-check relié au BGP (BFD ou script ExaBGP).
neighbor 198.51.100.1 bfd
bfd interval 300 min_rx 300 multiplier 3
Si BFD détecte une perte de connectivité, le routeur retire l’annonce du préfixe, forçant le trafic à passer par un autre PoP.
5. Analyse et ajustement des chemins réseau
Pour optimiser Anycast, il faut analyser le chemin réseau réel depuis différentes régions.
Exemple avec RIPE Atlas :
atlas probe-measurement create --target 203.0.113.1 --type ping --probes world
Les résultats montrent les RTT par région, permettant d’ajuster les préférences BGP pour améliorer le routage.
6. Gestion de la charge entre PoP
Anycast ne répartit pas toujours le trafic de façon parfaitement équilibrée.
On peut utiliser des politiques BGP pour rediriger une partie du trafic vers des PoP moins chargés.
route-map ANYCAST-BALANCE permit 10
match as-path 10
set local-preference 150
7. Surveillance et optimisation continue
Outils recommandés :
- Catchpoint ou ThousandEyes pour la mesure de latence mondiale
- BGPalerter pour détecter les détournements d’annonces
- Prometheus + Grafana pour le monitoring de sessions BGP
Conclusion
L’Anycast, bien configuré, permet de réduire la latence et d’augmenter la résilience des services critiques.
L’optimisation passe par un réglage précis des politiques BGP, une surveillance constante de la performance, et un mécanisme rapide de retrait des PoP défaillants.