« Anycast » : différence entre les versions

Un article de Wikipédia, l'encyclopédie libre.
Contenu supprimé Contenu ajouté
ZéroBot (discuter | contributions)
m r2.7.1) (robot Ajoute : ca:Anycast
Spartan.arbinger (discuter | contributions)
Fonctionnalité de suggestions de liens : 3 liens ajoutés.
 
(15 versions intermédiaires par 13 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
{{types de routage}}
{{types de routage}}
'''Anycast''' est une technique d'[[Adresse IP|adressage]] et de [[routage]] permettant de rediriger les [[donnée]]s vers le [[serveur informatique]] le "plus proche" ou le "plus efficace" selon la politique de routage.
'''Anycast''' est une technique d'[[Adresse IP|adressage]] et de [[routage]] permettant de rediriger les [[donnée]]s vers le [[serveur informatique]] le « plus proche » ou le « plus efficace » selon la politique de routage.


Ce terme se veut proche phonétiquement des termes [[unicast]], [[Broadcast (informatique)|broadcast]] et [[multicast]].
Ce terme se veut proche phonétiquement des termes [[unicast]], [[Broadcast (informatique)|broadcast]] et [[multicast]].
Ligne 8 : Ligne 8 :
* En ''anycast'', il y a aussi une association "de une à plusieurs" entre les adresses réseau et les points d'arrivées finaux : chaque adresse de destination identifie un ensemble de récepteurs finaux, mais un seul d'entre eux est choisi pour recevoir l'information à un moment donné pour un émetteur donné.
* En ''anycast'', il y a aussi une association "de une à plusieurs" entre les adresses réseau et les points d'arrivées finaux : chaque adresse de destination identifie un ensemble de récepteurs finaux, mais un seul d'entre eux est choisi pour recevoir l'information à un moment donné pour un émetteur donné.


Sur [[Internet]], anycast est habituellement implémenté en utilisant [[Border Gateway Protocol|BGP]] qui annonce simultanément la même tranche d'[[Adresse IP|adresses IP]] depuis plusieurs endroits du réseau. De cette façon, les paquets sont routés vers le point le "plus proche" du réseau annonçant la route de destination.
Sur [[Internet]], anycast est habituellement implémenté en utilisant [[Border Gateway Protocol|BGP]] qui annonce simultanément la même tranche d'[[Adresse IP|adresses IP]] depuis plusieurs endroits du réseau. De cette façon, les paquets sont routés vers le point le « plus proche » du réseau annonçant la route de destination.


Anycast s'applique plus facilement aux protocoles en mode non-connecté (qui s'appuient généralement sur [[User Datagram Protocol|UDP]]), plutôt qu'aux protocoles en mode connecté comme [[Transmission Control Protocol|TCP]] ou des protocoles sur UDP qui gardent leur propre état, car le récepteur sélectionné pour une source peut changer à n'importe quel moment où les routes se mettent à jour, coupant sans prévenir les conversations en cours. Pour les protocoles en mode connecté qui nécessitent que la conversation entière utilise le même serveur, des systèmes comme [[BIND#GeoDNS|GeoDNS]] sont plus appropriés. La RFC 4786 décrit plus en détail le fonctionnement de l'anycast.
Anycast s'applique plus facilement aux protocoles en [[Transmission en mode sans connexion|mode non-connecté]] (qui s'appuient généralement sur [[User Datagram Protocol|UDP]]), plutôt qu'aux protocoles en mode connecté comme [[Transmission Control Protocol|TCP]] ou des protocoles sur UDP qui gardent leur propre état, car le récepteur sélectionné pour une source peut changer à n'importe quel moment où les routes se mettent à jour, coupant sans prévenir les conversations en cours. Pour les protocoles en mode connecté qui nécessitent que la conversation entière utilise le même serveur, des systèmes comme [[BIND#GeoDNS|GeoDNS]] sont plus appropriés. La {{RFC|4786}} décrit plus en détail le fonctionnement de l'anycast.


Pour cette raison, anycast est habituellement utilisé pour fournir de la [[haute disponibilité]] et de la [[répartition de charge]] pour des services en mode non connecté.
Pour cette raison, anycast est habituellement utilisé pour fournir de la [[haute disponibilité]] et de la [[répartition de charge]] pour des services en mode non connecté.
Ligne 16 : Ligne 16 :
== Utilisation d'anycast dans l'implémentation du DNS ==
== Utilisation d'anycast dans l'implémentation du DNS ==


Certains [[Serveurs DNS Racine|serveurs DNS racine]] sont en fait de grosses [[Grappe de serveurs|grappes de serveurs]] utilisant anycast. Les serveurs C, F, I, J, K et M sont éparpillés sur plusieurs continents et utilisent anycast pour fournir un service décentralisé. Du coup, la plupart des serveurs racine physiques sont en dehors des États-Unis. La RFC 3258 décrit comment anycast est utilisé pour fournir un service DNS. Plusieurs [[ccTLD]] utilisent également cette technique, comme le [[.fr]] <ref>[http://www.afnic.fr/actu/nouvelles/general/NN20080121 L'AFNIC adopte l'anycast pour le .fr]</ref>. Cette technique est aussi utilisée sur le registre suisse qui gère le nom de domaine de premier niveau [[.ch]]<ref>[http://www.switch.ch/fr/about/news/2005/?id=110 SWITCH et Autonomica signent un accord] sur le site [http://www.switch.ch/fr/ SWITCH]</ref>
Certains [[Serveurs DNS Racine|serveurs DNS racine]] sont de grosses [[Grappe de serveurs|grappes de serveurs]] utilisant anycast. Les serveurs C, F, I, J, K et M sont éparpillés sur plusieurs continents et utilisent anycast pour fournir un service décentralisé. Ainsi, la plupart des serveurs racine physiques sont en dehors des [[États-Unis]]. La {{RFC|3258}} décrit comment anycast est utilisé pour fournir un service DNS. Plusieurs [[ccTLD]] utilisent également cette technique, comme le [[.fr]] <ref>[http://www.afnic.fr/fr/l-afnic-en-bref/actualites/actualites-generales/2601/show/l-afnic-adopte-l-anycast-pour-le-fr.html L'AFNIC adopte l'anycast pour le .fr]</ref> et le [[.ch]]<ref>[http://www.switch.ch/fr/about/news/2005/?id=110 SWITCH et Autonomica signent un accord] sur le site [http://www.switch.ch/fr/ SWITCH]</ref>


== Utilisation d'anycast dans l'implémentation d'IPv6 ==
== Utilisation d'anycast dans l'implémentation d'IPv6 ==


Il existe une passerelle [[6to4]] (protocole de transition IPv6) accessible à l'adresse IP 192.88.99.1 (voir la RFC 3068 pour plus de détails). Ceci permet aux [[Fournisseur d'accès à Internet|fournisseurs d'accès à Internet]] d'implémenter des passerelles 6to4 sans que les hôtes ne connaissent une passerelle spécifique au fournisseur.
Il existe une passerelle [[6to4]] (protocole de transition [[IPv6]]) accessible à l'adresse IP 192.88.99.1 (voir la {{RFC|3068}} pour plus de détails). Ceci permet aux [[Fournisseur d'accès à Internet|fournisseurs d'accès à Internet]] d'implémenter des passerelles 6to4 sans que les hôtes ne connaissent une passerelle spécifique au fournisseur.


== Sécurité d'anycast ==
== Sécurité d'anycast ==


Anycast permet à un équipement dont les informations de routage sont acceptées par un routeur intermédiaire d'intercepter n'importe quel paquet destiné à l'adresse anycast. Cela peut paraître peu sécurisé, mais ne pose en fait pas plus de problèmes que le routage ordinaire : un filtrage attentif de ce qui peut ou ne peut pas propager les routes est nécessaire pour éviter les attaques de l'[[Attaque de l'homme du milieu|homme du milieu]] ou du [[Attaque du puits|puits]].
Anycast permet à un équipement dont les informations de routage sont acceptées par un [[routeur]] intermédiaire d'intercepter n'importe quel paquet destiné à l'adresse anycast. Cela peut paraître peu sécurisé, mais ne pose pas plus de problèmes que le routage ordinaire : un filtrage attentif de ce qui peut ou ne peut pas propager les routes est nécessaire pour éviter [[Attaque de l'homme du milieu|les attaques de l'homme du milieu]] ou de [[Attaque de point d'eau|points d'eau]].


== Fiabilité d'anycast ==
== Fiabilité d'anycast ==


Anycast est habituellement de haute fiabilité, vu qu'il peut fournir une redondance sur panne automatique. Les applications anycast fournissent généralement une surveillance par ''heartbeat'' ("battement de cœur") des services et stoppe l'annonce de route si une erreur se produit. Dans certains cas, ceci est effectué par les serveurs qui annoncent le préfixe anycast au routeur par [[OSPF]] ou un autre protocole [[Interior Gateway Protocol|IGP]]. Si le serveur tombe, le routeur écarte automatiquement l'annonce.
Anycast est habituellement de haute fiabilité, vu qu'il peut fournir une redondance sur panne automatique. Les applications anycast fournissent généralement une surveillance par ''heartbeat'' ("battement de cœur") des services et stoppent l'annonce de route si une erreur se produit. Dans certains cas, ceci est effectué par les serveurs qui annoncent le préfixe anycast au routeur par [[OSPF]] ou un autre protocole [[Interior Gateway Protocol|IGP]]. Si le serveur tombe, le routeur écarte automatiquement l'annonce.


La surveillance par ''heartbeat'' est importante car si l'annonce est prolongée sur un serveur défaillant, ce dernier va agir comme un trou noir pour les clients de proximité. Cette défaillance est la plus grave pour un système anycast. Malgré cela, cette défaillance ne va poser problème que pour les clients les plus proches et non une défaillance globale. Dans le cas du DNS, cette défaillance ne pose aucun problème, elle n'est pas différente du cas où un seul des serveurs de la zone est arrêtée.
La surveillance par ''heartbeat'' est importante car si l'annonce est prolongée sur un serveur défaillant, ce dernier va agir comme un trou noir pour les clients de proximité. Cette défaillance est la plus grave pour un système anycast. Malgré cela, cette défaillance ne va poser problème que pour les clients les plus proches et non une défaillance globale. Dans le cas du DNS, cette défaillance ne pose aucun problème, elle n'est pas différente du cas où un seul des serveurs de la zone est arrêtée.
Ligne 42 : Ligne 42 :
Dans certaines situations de déploiement anycast, on peut faire une différence entre nœuds locaux et globaux. Les nœuds locaux sont destinés majoritairement à fournir un avantage à la communauté directe et locale. Leurs annonces sont souvent faites avec la communauté [[Border Gateway Protocol|BGP]] no-export pour éviter que les routeurs les annoncent à leurs pairs (c’est-à-dire que l'annonce reste dans la zone locale).
Dans certaines situations de déploiement anycast, on peut faire une différence entre nœuds locaux et globaux. Les nœuds locaux sont destinés majoritairement à fournir un avantage à la communauté directe et locale. Leurs annonces sont souvent faites avec la communauté [[Border Gateway Protocol|BGP]] no-export pour éviter que les routeurs les annoncent à leurs pairs (c’est-à-dire que l'annonce reste dans la zone locale).


Quand des nœuds locaux et globaux sont déployés en même temps, l'annonce des nœuds globaux est souvent préfixée de plusieurs AS pour forcer le chemin le plus court vers le nœud local. Les serveurs DNS racine F et K utilisent aujourd'hui des nœuds locaux et globaux.
Quand des nœuds locaux et globaux sont déployés en même temps, l'annonce des nœuds globaux est souvent préfixée de plusieurs [[Autonomous System]] pour forcer le chemin le plus court vers le nœud local. Les serveurs DNS racine F et K utilisent aujourd'hui des nœuds locaux et globaux.


== Références ==
== Références ==
Ligne 51 : Ligne 51 :
=== Liens externes ===
=== Liens externes ===


* (en) [http://aharp.ittns.northwestern.edu/papers/k5-anycast/index.html Anycast Addressing on the Internet]
* {{en}} [http://aharp.ittns.northwestern.edu/papers/k5-anycast/index.html Anycast Addressing on the Internet]
* (en) [http://www.isc.org/index.pl?/pubs/tn/?tn=isc-tn-2003-1.html Hierarchical Anycast for Global Service Distribution], document de l'ISC sur anycast
* {{en}} [http://www.isc.org/index.pl?/pubs/tn/?tn=isc-tn-2003-1.html Hierarchical Anycast for Global Service Distribution], document de l'ISC sur anycast
* (en) [http://ripe.net/info/ncc/presentations/anycast-kroot.pdf Effect of anycast on K-root], présentation de Lorenzo Colitti ([[RIPE-NCC]]) lors du DNS-OARC de juillet 2005
* {{en}} [http://ripe.net/info/ncc/presentations/anycast-kroot.pdf Effect of anycast on K-root], présentation de Lorenzo Colitti ([[RIPE-NCC]]) lors du DNS-OARC de {{date-|juillet 2005}}
* (en) [http://www.ripe.net/ripe/meetings/ripe-52/presentations/ripe52-plenary-kroot-anycast.pdf The Impact of anycast on Root DNS Servers: The Case of K-root], présentation de Lorenzo Colitti ([[RIPE-NCC]]) du [http://www.ripe.net/ripe/meetings/ripe-52/ RIPE 52] en avril 2006
* {{en}} [http://www.ripe.net/ripe/meetings/ripe-52/presentations/ripe52-plenary-kroot-anycast.pdf The Impact of anycast on Root DNS Servers: The Case of K-root], présentation de Lorenzo Colitti ([[RIPE-NCC]]) du [http://www.ripe.net/ripe/meetings/ripe-52/ RIPE 52] en {{date-|avril 2006}}
{{Portail|informatique|Télécommunications}}
{{Portail|informatique|Télécommunications}}


[[Catégorie:Technologie de réseau informatique]]
[[Catégorie:Technologie de réseau informatique]]
[[Catégorie:Adressage réseau]]
[[Catégorie:Adressage réseau]]

[[ca:Anycast]]
[[de:Anycast]]
[[el:Anycast]]
[[en:Anycast]]
[[es:Anycast]]
[[fa:انیکست]]
[[fi:Jokulähetys]]
[[it:Anycast]]
[[ja:エニーキャスト]]
[[nl:Anycast]]
[[pl:Anycast]]
[[pt:Anycast]]
[[ru:Anycast]]
[[sv:Anycast]]
[[zh:任播]]

Dernière version du 15 juillet 2023 à 12:22

Types de routage

Anycast

Broadcast

Multicast

Unicast

Géocast

Anycast est une technique d'adressage et de routage permettant de rediriger les données vers le serveur informatique le « plus proche » ou le « plus efficace » selon la politique de routage.

Ce terme se veut proche phonétiquement des termes unicast, broadcast et multicast.

  • En unicast, il n'existe qu'une association entre une adresse réseau et le point d'arrivée final : chaque adresse de destination identifie de manière unique un seul receveur final.
  • En broadcast et multicast, il y a une association "de une à plusieurs" entre les adresses réseau et les points d'arrivées finaux : chaque adresse de destination identifie un ensemble de récepteurs finaux, sur lesquels toute l'information est répliquée.
  • En anycast, il y a aussi une association "de une à plusieurs" entre les adresses réseau et les points d'arrivées finaux : chaque adresse de destination identifie un ensemble de récepteurs finaux, mais un seul d'entre eux est choisi pour recevoir l'information à un moment donné pour un émetteur donné.

Sur Internet, anycast est habituellement implémenté en utilisant BGP qui annonce simultanément la même tranche d'adresses IP depuis plusieurs endroits du réseau. De cette façon, les paquets sont routés vers le point le « plus proche » du réseau annonçant la route de destination.

Anycast s'applique plus facilement aux protocoles en mode non-connecté (qui s'appuient généralement sur UDP), plutôt qu'aux protocoles en mode connecté comme TCP ou des protocoles sur UDP qui gardent leur propre état, car le récepteur sélectionné pour une source peut changer à n'importe quel moment où les routes se mettent à jour, coupant sans prévenir les conversations en cours. Pour les protocoles en mode connecté qui nécessitent que la conversation entière utilise le même serveur, des systèmes comme GeoDNS sont plus appropriés. La RFC 4786[1] décrit plus en détail le fonctionnement de l'anycast.

Pour cette raison, anycast est habituellement utilisé pour fournir de la haute disponibilité et de la répartition de charge pour des services en mode non connecté.

Utilisation d'anycast dans l'implémentation du DNS[modifier | modifier le code]

Certains serveurs DNS racine sont de grosses grappes de serveurs utilisant anycast. Les serveurs C, F, I, J, K et M sont éparpillés sur plusieurs continents et utilisent anycast pour fournir un service décentralisé. Ainsi, la plupart des serveurs racine physiques sont en dehors des États-Unis. La RFC 3258[2] décrit comment anycast est utilisé pour fournir un service DNS. Plusieurs ccTLD utilisent également cette technique, comme le .fr [3] et le .ch[4]

Utilisation d'anycast dans l'implémentation d'IPv6[modifier | modifier le code]

Il existe une passerelle 6to4 (protocole de transition IPv6) accessible à l'adresse IP 192.88.99.1 (voir la RFC 3068[5] pour plus de détails). Ceci permet aux fournisseurs d'accès à Internet d'implémenter des passerelles 6to4 sans que les hôtes ne connaissent une passerelle spécifique au fournisseur.

Sécurité d'anycast[modifier | modifier le code]

Anycast permet à un équipement dont les informations de routage sont acceptées par un routeur intermédiaire d'intercepter n'importe quel paquet destiné à l'adresse anycast. Cela peut paraître peu sécurisé, mais ne pose pas plus de problèmes que le routage ordinaire : un filtrage attentif de ce qui peut ou ne peut pas propager les routes est nécessaire pour éviter les attaques de l'homme du milieu ou de points d'eau.

Fiabilité d'anycast[modifier | modifier le code]

Anycast est habituellement de haute fiabilité, vu qu'il peut fournir une redondance sur panne automatique. Les applications anycast fournissent généralement une surveillance par heartbeat ("battement de cœur") des services et stoppent l'annonce de route si une erreur se produit. Dans certains cas, ceci est effectué par les serveurs qui annoncent le préfixe anycast au routeur par OSPF ou un autre protocole IGP. Si le serveur tombe, le routeur écarte automatiquement l'annonce.

La surveillance par heartbeat est importante car si l'annonce est prolongée sur un serveur défaillant, ce dernier va agir comme un trou noir pour les clients de proximité. Cette défaillance est la plus grave pour un système anycast. Malgré cela, cette défaillance ne va poser problème que pour les clients les plus proches et non une défaillance globale. Dans le cas du DNS, cette défaillance ne pose aucun problème, elle n'est pas différente du cas où un seul des serveurs de la zone est arrêtée.

Déni de service (distribué) et anycast[modifier | modifier le code]

Anycast sur Internet peut aider à répartir les attaques par déni de service et à réduire leur efficacité. Comme le trafic est routé vers le nœud le plus proche (et que l'attaquant n'a pas le contrôle de ce comportement), le trafic de déni de service va être réparti sur les nœuds les plus proches. L'attaque n'aura la plupart du temps aucune portée. C'est souvent la raison principale invoquée pour le déploiement d'anycast.

Cet effet peut être diminué quand les adresses unicast (utilisées pour l'administration) sont faciles à récupérer. Un attaquant peut ainsi se concentrer sur un nœud précis, comme s'il n'existait pas d'adresse anycast et que les serveurs étaient séparés. C'est pourquoi ces adresses d'administration unicast ne sont jamais annoncées et presque toujours sévèrement filtrées.

Local ou global[modifier | modifier le code]

Dans certaines situations de déploiement anycast, on peut faire une différence entre nœuds locaux et globaux. Les nœuds locaux sont destinés majoritairement à fournir un avantage à la communauté directe et locale. Leurs annonces sont souvent faites avec la communauté BGP no-export pour éviter que les routeurs les annoncent à leurs pairs (c’est-à-dire que l'annonce reste dans la zone locale).

Quand des nœuds locaux et globaux sont déployés en même temps, l'annonce des nœuds globaux est souvent préfixée de plusieurs Autonomous System pour forcer le chemin le plus court vers le nœud local. Les serveurs DNS racine F et K utilisent aujourd'hui des nœuds locaux et globaux.

Références[modifier | modifier le code]

Voir aussi[modifier | modifier le code]

Liens externes[modifier | modifier le code]