On lit ou on entend souvent que le nom de machine, sur
l'Internet, indique une localisation
physique. (Je viens, par exemple, de le lire sous la plume de Walid
Dabbous dans le dossier « L'ère d'Internet » de Pour la Science.) Quelle est la part de vérité dans cette
affirmation ?
De tels noms se trouvent à beaucoup d'endroits, notamment dans les
URL comme
http://www.bortzmeyer.org/hostname-physical-location.html. En
les analysant comme le précise les ,
section 3.2.2, et , également section
3.2.2, on y voit un host, comme dit le
RFC, qui est www.bortzmeyer.org.
D'abord, commençons par le plus facile. Est-ce que le
nom de machine (ou d'ailleurs l'adresse IP) indique une localistaion réellement physique, dans
l'espace, avec longitude,
latitude et tout ça ? (Dans son article, Dabbous utilise tout le temps cet adjectif
de « physique » sans jamais le définir.) Évidemment non. Je peux
déplacer une machine de plusieurs kilomètres sans la changer d'adresse
IP (a fortiori de nom, puisque ceux-ci sont plus stables que les adresses). Dans
certains cas, je peux même la déplacer sur des distances bien plus
grandes sans changement de son identificateur.
Mais, si je change d'opérateur réseau ? Là, c'est
différent. Traditionnellement, l'adresse IP
indique un point d'attachement au réseau et donc une position, non pas
dans l'espace physique, mais dans la topologie
du réseau. Changer de fournisseur
d'accès veut donc dire, dans la plupart des cas, changer
d'adresse IP. Mais le nom de la machine, lui ? Eh bien, il n'a pas du
tout à changer. C'est justement le but
principal des noms : ils sont stables.
Il est donc tout à fait faux
de prétendre que les noms de machines expriment une localisation
physique et qu'ils ne sont pas stables.
Un très bon exemple est donné par ce
blog. Dans son URL,
http://www.bortzmeyer.org/, on trouve un « nom de
machine », www.bortzmeyer.org. Derrière ce nom se
trouvent deux machines, situées chez des hébergeurs différents, et
même sur des continents différents ! (Situation en février 2010.)
Difficile donc de continuer à soutenir que le nom de machine aie un
quelconque rapport avec la localisation physique. Et, si c'est le cas
pour un simple blog personnel, on imagine ce que ça peut être pour des
gros sites. Dans
http://fr.wikipedia.org/wiki/Catégorie:Identifiant,
le nom fr.wikipedia.org est porté par un bien
plus grand nombre de machines.
On comprend mieux cette insistance de certains comme quoi le nom de
machine refléterait la localisation physique, lorsqu'on voit les
intentions derrière. Il s'agit en général de promouvoir un autre
système, supposé « plus stable » ou « plus abstrait ». C'est le cas de
l'article de Dabbous où il vante sa propre méthode de nommage. En
moins académique, c'est aussi le cas de nombreux vendeurs de vent
comme l'IDF qui essaie de convaincre les gogos
de payer pour leurs identificateurs,
prétendûment plus stables. Outre l'argument technique incorrect (comme
on l'a vu, les noms de machines ne dépendent pas
de l'emplacement physique), leurs arguments oublient que la stabilité
d'un identificateur sur le long terme dépend de pratiques sociales
(une organisation stable dans le temps, avec des procédures sérieuses)
et pas d'une technique particulière. (Merci à Emmanuelle Bermès pour
ses explications sur ce point et pour son blog.)
N'y a t-il pas de cas où on risque de perdre son nom de domaine et
donc les noms de machines qu'il contient ? Hélas si. Dabbous donne
l'exemple d'une ressource qui passe de
www.inria.fr à
www.hébergeur.fr et qui change donc d'URL. Mais
cela illustre parfaitement le point précédent. La permanence des
identificateurs dépend de pratiques sociales : acheter un
nom de domaine en propre (ne pas publier une
ressource importante sous le nom de son hébergeur du moment) et le
gérer avec soin. Bien sûr, rien n'est parfait en ce bas monde. Des
lois ou des règles d'enregistrement de noms de domaine font qu'on peut
se faire prendre légalement son nom de
domaine sans indemnités (surtout si on est un
particulier). La Fondation
Wikimédia peut toujours disparaitre et avec elle
wikipedia.org. Mais c'est le cas de toute
œuvre humaine. Les registres privés et vendeurs de vent qui
proposent leurs identificateurs à eux ont exactement le même problème.
Deux précisions pour finir : j'ai parlé
d'URL et pas d'URI,
catégorie plus générale, car le point important de cet article était
les noms de machines et les URI n'en ont pas forcément. On lit parfois
que des URI non-URL seraient plus stables grâce à cela mais, comme je
l'ai montré, c'est, au
mieux, une simplification exagérée, au pire une erreur.
Et je n'ai pas développé le cas des adresses IP, où la situation est
bien plus complexe que dans les vieux livres qui disaient que
l'adresse « identifie un point d'attachement au réseau ». Avec
l'anycast, une même adresse IP peut représenter
des dizaines de machines sur plusieurs continents, et avec les
adresses PI (certes difficiles à obtenir), les adresses peuvent ne pas être
dépendantes du fournisseur d'accès.