Aller au contenu principal

11.2. La partie <zone_id>

Dans la représentation textuelle, la partie <zone_id> devrait être capable d'identifier une zone particulière de la portée de l'adresse. Bien qu'un indice de zone soit censé contenir suffisamment d'informations pour déterminer la portée et être unique parmi toutes les portées comme décrit à la Section 6, la partie <zone_id> de ce format n'a pas à contenir la portée. Ceci est parce que la partie <address> devrait spécifier la portée appropriée. Cela signifie également que la partie <zone_id> n'a pas besoin d'être unique parmi toutes les portées.

Avec cette propriété relâchée, une implémentation peut utiliser une représentation pratique comme <zone_id>. Par exemple, pour représenter l'indice de lien 2, l'implémentation peut simplement utiliser "2" comme <zone_id>, ce qui serait plus lisible que d'autres représentations qui contiennent la portée "lien".

Lorsqu'une implémentation interprète le format, elle devrait construire l'indice de zone "complet", qui contient la portée, à partir de la partie <zone_id> et de la portée spécifiée par la partie <address>. (Rappelez-vous qu'un indice de zone lui-même devrait contenir la portée, comme spécifié à la Section 6.)

Une implémentation DEVRAIT supporter au moins les indices numériques qui sont des entiers décimaux non négatifs comme <zone_id>. L'indice de zone par défaut, qui devrait généralement être 0 (voir Section 6), est inclus dans les entiers. Lorsque <zone_id> est la valeur par défaut, les caractères délimiteurs "%" et <zone_id> peuvent être omis. De même, si une représentation textuelle d'une adresse IPv6 est donnée sans indice de zone, elle devrait être interprétée comme <address>%<default ID>, où <default ID> est l'indice de zone par défaut de la portée que <address> a.

Une implémentation PEUT supporter d'autres types de chaînes non nulles comme <zone_id>. Cependant, les chaînes ne doivent pas entrer en conflit avec le caractère délimiteur. Le format précis et la sémantique des chaînes supplémentaires dépendent de l'implémentation.

Un candidat possible pour ces chaînes serait les noms d'interface, car les interfaces désambiguïsent uniquement toute portée. En particulier, les noms d'interface peuvent être utilisés comme "identificateurs par défaut" pour les interfaces et les liens, parce que par défaut il y a un mappage un-à-un entre les interfaces et chacune de ces portées comme décrit à la Section 6.

Une implémentation pourrait également utiliser les noms d'interface comme <zone_id> pour les portées plus grandes que les liens, mais il pourrait y avoir une certaine confusion dans cet usage. Par exemple, lorsque plusieurs interfaces appartiennent au même site (de multidiffusion), un utilisateur pourrait être confus sur laquelle interface devrait être utilisée. De plus, une fonction de mappage d'une adresse à un nom rencontrerait le même type de problème lorsqu'elle imprime une adresse avec un nom d'interface comme indice de zone. Ce document ne spécifie pas comment ces cas devraient être traités et le laisse dépendant de l'implémentation.

On ne peut pas supposer que les indices sont communs à tous les nœuds dans une zone (voir Section 6). Par conséquent, le format DOIT être utilisé uniquement au sein d'un nœud et NE DOIT PAS être envoyé sur le fil à moins que chaque nœud qui interprète le format soit d'accord sur la sémantique.