Les Geeks du monde entier connaissent leur hôte local sous le nom 127.0.0.1, mais pourquoi cette adresse spécifique, parmi toutes les adresses disponibles, est-elle réservée à l'hôte local? Lisez la suite pour plonger dans l'histoire des hôtes locaux.
Image de GMPhoenix; disponible comme fond d'écran ici.
La séance de questions et réponses d’aujourd’hui nous est offerte par SuperUser, une sous-division de Stack Exchange, un groupe de sites Web de questions-réponses animé par la communauté.
La question
Le lecteur de superutilisateur Roee Adler, curieux de connaître l'adresse IP par défaut de localhost, a posé la question suivante à la communauté:
Je me suis demandé quelle est l'origine de la décision de prendre localhost
Adresse IP de 127.0.0.1
. Quel est le sens de 127
? quel est le sens de 0.0.1
?
Quelle est la signification, en effet? Bien qu'il soit possible de vivre toute votre existence geek sans connaître la réponse à ces questions, nous sommes prêts à creuser.
Les réponses
Plusieurs contributeurs ont répondu à la question de Roee. Chacune de leurs contributions nous aide à mieux comprendre comment 127.0.0.1 est notre chez-nous. John T écrit:
127 est le dernier numéro de réseau d’un réseau de classe A avec un masque de sous-réseau de 255.0.0.0
. 127.0.0.1
est la première adresse assignable du sous-réseau. 127.0.0.0
ne peut pas être utilisé car ce serait le numéro de fil. Mais l’utilisation de tout autre numéro pour la partie hôte devrait fonctionner correctement et revenir à l’utilisation de127.0.0.1
. Vous pouvez l'essayer vous-même en faisant un ping 127.1.1.1
si tu veux. Pourquoi ont-ils attendu le dernier numéro de réseau pour implémenter cela? Je ne pense pas que ce soit documenté.
Hyperslug fait des recherches d'archives en fouillant d'anciens mémorandums sur le sujet:
La première mention que je puisse trouver concernant l’affectation de 127 en tant que bouclage est la RFC 990 de novembre 1986 rédigée par Reynolds et Postel:
L'adresse zéro doit être interprétée comme signifiant «ceci», comme dans «ce réseau».
Par exemple, l'adresse 0.0.0.37 pourrait être interprétée comme signifiant l'hôte 37 sur ce réseau.
…
Le numéro de réseau de classe A 127 est attribué àFonction de «bouclage», c’est-à-dire qu’un datagramme envoyé par un protocole de niveau supérieur à une adresse de réseau 127 doit revenir en boucle dans l’hôte. Aucun datagramme «envoyé» à une adresse de réseau ne devrait jamais apparaître sur aucun réseau, où que ce soit.
Dès septembre 1981, les RFC 790, 0 et 127 étaient déjà réservés:
000.rrr.rrr.rrr Reserved [JBP] ... 127.rrr.rrr.rrr Reserved [JBP]
0 et 127 étaient les seuls réseaux de classe A réservés en 1981. 0 était utilisé pour pointer vers un hôte spécifique, de sorte qu'il en restait 127 pour le bouclage.
Je sais que cela ne répond pas à la question, mais c’est aussi loin que je pouvais creuser. Il aurait peut-être semblé plus judicieux de choisir 1.0.0.0 pour le bouclage, mais cela avait déjà été attribué à BBN Packet Radio Network.
Bien que nous connaissions et aimions tous 127.0.0.1 en tant qu’hôte local, il est à noter que ce ne sera pas toujours l’hôte local. 127.0.0.1 correspond à la désignation de l'hôte local dans les communications IPv4 et, au fur et à mesure que IPv6 prend le relais, il sera désigné par un numéro beaucoup plus intuitif: 0: 0: 0: 0: 0: 0: 0: 1.
Avez-vous quelque chose à ajouter à l'explication? Sound off dans les commentaires. Voulez-vous lire plus de réponses d'autres utilisateurs de Stack Exchange doués en technologie? Découvrez les discussions complètes ici.