Difference between revisions of "AdressageBis-Questions"
From Livre IPv6
(→Adresses Anycast) |
(→Adresses Anycast) |
||
Line 24: | Line 24: | ||
7 F-root-server.sfinx.tm.fr 8.495 ms 8.607 ms 8.664 ms | 7 F-root-server.sfinx.tm.fr 8.495 ms 8.607 ms 8.664 ms | ||
8 f.root-servers.net 8.738 ms 9.171 ms 8.702 ms | 8 f.root-servers.net 8.738 ms 9.171 ms 8.702 ms | ||
+ | |||
+ | Comme l'indique ce traceroute, la machine est localisée au sfinx (noeud d'échange de trafic Internet situé en France). | ||
+ | |||
+ | Un traceroute vers la même destination depuis une machine localisée aux Etats-Unis (Hawaï) donne le résultat suivant: | ||
+ | |||
+ | traceroute6 to 2001:500:2f::f (2001:500:2f::f) from 2001:1888:0:1:2d0:b7ff:fe7d:bed6, 64 hops max, 12 byte packets | ||
+ | 1 apapane-fe0-0-1 1.169 ms 0.970 ms 0.947 ms | ||
+ | 2 r1.mdtnj.ipv6.att.net 121.159 ms 121.737 ms 121.378 ms | ||
+ | 3 bbr01-p1-0.nwrk01.occaid.net 130.468 ms 129.640 ms 130.845 ms | ||
+ | 4 bbr01-g1-0.asbn01.occaid.net 131.372 ms 131.596 ms 131.421 ms | ||
+ | 5 bbr01-g1-0.atln01.occaid.net 144.937 ms 144.550 ms 144.834 ms | ||
+ | 6 bbr01-p1-0.dlls01.occaid.net 166.709 ms 196.177 ms 165.983 ms | ||
+ | 7 dcr01-p1-5.lsan01.occaid.net 138.437 ms 138.690 ms 138.544 ms | ||
+ | 8 bbr01-g0-2.irvn01.occaid.net 138.552 ms 137.956 ms 137.649 ms | ||
+ | 9 dcr01-g1-2.psdn01.occaid.net 137.629 ms 138.030 ms 141.332 ms | ||
+ | 10 bbr01-f1-5.snfc02.occaid.net 138.501 ms 138.511 ms 137.483 ms | ||
+ | 11 exit.sf-guest.sfo2.isc.org 147.941 ms 144.929 ms 145.956 ms | ||
+ | 12 f.root-servers.net 139.063 ms 139.715 ms 142.571 ms | ||
+ | |||
+ | Le serveur se trouve dans les locaux de l'ISC. | ||
Revision as of 10:21, 3 July 2009
Adresses Anycast
Le principe sous-jacent est relativement simple : au lieu d'envoyer un paquet à une interface déterminée, on envoie ce paquet à une adresse (anycast) qui représente un ensemble de machines dans un domaine bien défini. Une adresse anycast permet de désigner un service par une adresse bien connue, de cette manière, il n'est pas nécessaire d'interroger un serveur pour connaître la localisation d'un équipement.
DAD
Comme rien ne distingue une adresse Anycast d'une adresse Unicast (elles sont dans le même espace d'adressage 2000::/3, une autre manière d'aborder les différenceconsiste à regarder la detection d'adresses dupliquées (DAD). L'utilisation du mot clé anycast lors de la configuration de l'interface, ainsi plusieurs équipements peuvent partager la même valeur.
Il existe deux méthodes pour utiliser l'adressage multicast. La première consiste à définir un préfixe "virtuel" qui sera diffusé à plusieurs endroit dans l'Internet. Cette méthode est déjà très utilisée en IPv4 pour accéder à certains serveurs. Ainsi plusieurs serveurs de la racine du DNS (voir http://www.root-servers.org) partagent la même adresse et donc le même préfixe. Ce préfixe est annoncé par plusieurs réseaux. Pour le DNS, cela présente plusieurs avantages :
- La résolution se fait a plus près de l'utilisateur, ce qui réduit les temps de réponse,
- Les attaques par déni de service sont plus difficiles, car il faut que toutes les attaques viennent d'une même zone, sinon elles sont réparties sur plusieurs serveurs.
- Le nombre d'adresses à connaître par les résolveurs est limité.
Le mécanismes de transition 6to4 utilise également cette technique. Le préfixe 192.88.99.0/24 correspondant à des extremités de tunnels (192.88.99.1) et donnant accès à l'Internet v6 est annoncé a plusieurs endroits dans le réseau. Cela permet de préconfigurer les équipements avec cette adresse et d'offrir à l'utilisateur l'extrémité de tunnel la plus proche. En cas de disparition de celle-ci, le routage de l'Internet aiguillera automatiquement vers un autre équipement tunnelier.
Ce mécanisme fonctionne de la même manière avec les adresses IPv6. L'exemple suivant l'illustre avec les adresses IPv6 d'un serveur DNS. Vu depuis la France et le réseau de Renater, la route pour atteindre cette machine est la suivante:
%traceroute6 2001:500:2f::f traceroute6 to 2001:500:2f::f (2001:500:2f::f) from 2001:660:7301:3103:223:6cff:fe97:679c, 30 hops max, 12 byte packets 1 2001:660:7301:3103::1 4.774 ms 1.198 ms 2.764 ms 2 2001:660:7301:3036::1 3.364 ms 2.215 ms 1.417 ms 3 vl856-gi9-9-rennes-rtr-021.noc.renater.fr 2.892 ms 6.794 ms 2.195 ms 4 te4-1-caen-rtr-021.noc.renater.fr 7.706 ms 5.1 ms 4.193 ms 5 te4-1-rouen-rtr-021.noc.renater.fr 6.527 ms 6.296 ms 6.661 ms 6 te0-0-0-1-paris1-rtr-001.noc.renater.fr 8.702 ms 10.26 ms 8.696 ms 7 F-root-server.sfinx.tm.fr 8.495 ms 8.607 ms 8.664 ms 8 f.root-servers.net 8.738 ms 9.171 ms 8.702 ms
Comme l'indique ce traceroute, la machine est localisée au sfinx (noeud d'échange de trafic Internet situé en France).
Un traceroute vers la même destination depuis une machine localisée aux Etats-Unis (Hawaï) donne le résultat suivant:
traceroute6 to 2001:500:2f::f (2001:500:2f::f) from 2001:1888:0:1:2d0:b7ff:fe7d:bed6, 64 hops max, 12 byte packets 1 apapane-fe0-0-1 1.169 ms 0.970 ms 0.947 ms 2 r1.mdtnj.ipv6.att.net 121.159 ms 121.737 ms 121.378 ms 3 bbr01-p1-0.nwrk01.occaid.net 130.468 ms 129.640 ms 130.845 ms 4 bbr01-g1-0.asbn01.occaid.net 131.372 ms 131.596 ms 131.421 ms 5 bbr01-g1-0.atln01.occaid.net 144.937 ms 144.550 ms 144.834 ms 6 bbr01-p1-0.dlls01.occaid.net 166.709 ms 196.177 ms 165.983 ms 7 dcr01-p1-5.lsan01.occaid.net 138.437 ms 138.690 ms 138.544 ms 8 bbr01-g0-2.irvn01.occaid.net 138.552 ms 137.956 ms 137.649 ms 9 dcr01-g1-2.psdn01.occaid.net 137.629 ms 138.030 ms 141.332 ms 10 bbr01-f1-5.snfc02.occaid.net 138.501 ms 138.511 ms 137.483 ms 11 exit.sf-guest.sfo2.isc.org 147.941 ms 144.929 ms 145.956 ms 12 f.root-servers.net 139.063 ms 139.715 ms 142.571 ms
Le serveur se trouve dans les locaux de l'ISC.
Figure : Adresses Anycast
La figure "Adresse anycast" «sous-réseau» donne la structure de l'adresse anycast. On y retrouve une partie préfixe et une partie identifiant anycast. La partie préfixe est la même que celle utilisée pour les adresses unicast. Contrairement aux structures d'adresses vue précédemment, la longueur de ce préfixe n'est pas spécifiée, car une adresse anycast doit s'adapter aussi bien aux plans d'adressage actuels (où la longueur est généralement de 64 bits) qu'aux futurs plans qui pourraient avoir des tailles différentes.
Si le concept anycast est simple dans son principe, son implémentation est autrement délicate. En outre, ce concept n'est encore qu'un sujet de recherche. Enfin un autre argument, de taille, explique cette prudence : il n'y a eu aucune expérience grandeur nature analogue au projet Mbone pour le multicast.
Comme les adresses de type sont allouées dans le même espace d'adressage, elles sont créées en attribuant une même adresse unicast à des noeuds distincts, chacun des noeuds devant être configuré pour que l'adresse ainsi attribuée soit de type anycast (sinon on aurait une adresse unicast dupliquée). La seule manière de différencier une adresse anycast d'une adresse multicast est de regarder la partie identifiant anycast qui diffère d'un identifiant d'interface. Ainsi la séquence binaire composée uniquement de 0 a été la première valeur retenue. Elle permet d'identifier un des routeurs du lien. Le RFC 2526 définit des règles de construction d'autres identifiants anycast sur un lien en réservant les 128 identifiants d'interface locaux les plus élevés. Cela permet d'éviter les conflits avec une numérotation manuelle qui partent des identifiants les plus petits vers les plus élevés. Le tableau Allocation des identifiants Anycast donne l'allocation des identifiants utilisés.
Description | Valeur(hexadécimal) |
---|---|
Réservé | 0x7F |
Adresse Anycast de l'agent mère (cf.Mobilité dans IPv6) | 0x7E |
Réservé | 0x00 à 0x7D |
Deux modes de fonctionnement non exclusifs sont possibles. Le premier consiste à attribuer sur un préfixe déjà utilisé la même adresse anycast à plusieurs équipements. Le seconde consiste à définir des adresses sur un préfixe "virtuel" et à router au plus près. Les paragraphes suivants expliquent ces modes de fonctionnement.
Adresses anycast sur un même lien
Avec les adresses anycast, plusieurs équipements sur un lien physique possèdent une même adresse IPv6. Or il ne s'agit pas d'envoyer la même information à tous ces équipements comme en multicast, mais d'en choisir un seul. Une possibilité consiste à utiliser le mécanisme de découverte de voisins (cf. Découverte de voisins) pour trouver l'association entre l'adresse IPv6 et l'adresse MAC.
La figure Exemple d'utilisation de l'Anycast sur un lien illustre ce fonctionnement. La station A envoie un message de sollicitation de voisin pour déterminer l'adresse MAC de l'équipement. Trois serveurs reçoivent cette requête et répondent. La station A prendra une de ces réponses et dialoguera en point-à-point avec l'équipement choisi.
Préfixe virtuel
Une adresse anycast peut être aussi construite à partir d'un préfixe "virtuel", c'est-à-dire appartenant au site (ou même à un domaine plus grand), mais non alloué à un lien particulier. Le schéma Exemple d'utilisation de l'Anycast dans un site donne un exemple de cette configuration. Les routeurs contiennent des adresses dans les tables de routage (c'est-à-dire des préfixes de longueur 128) pour router vers l'équipement le plus proche. Le sous-réseau 7 a été réservé aux adresses anycast. Les réseaux de 1 à 4 correspondent à des liens. Quand la station C émet un paquet Anycast vers l'adresse 2001:...:7:FFFF:FFFF:FFFF:FF7D, le routeur R2 route le paquet vers les sous-réseau 1.