Чому Localhost IP 127.0.0.1?

Гейкси у всьому світі знають свого локального хоста як 127.0.0.1, але чому саме ця конкретна адреса з усіх доступних адрес зарезервована для місцевого хоста? Читайте далі, щоб заглибитись в історію місцевих господарів.

Зображення GMPhoenix; доступний як шпалери тут.

Сьогоднішня сесія "Питання та відповіді" приходить до нас з люб'язності SuperUser - підрозділу обміну стеками, групування веб-сайтів Q&A, керованих спільнотою.

Питання

Читач SuperUser Roee Adler, цікавлячись IP-адресою localhost за замовчуванням, поставив громаді таке питання:

Мені було цікаво, яке походження прийнято рішення localhostIP-адреса 127.0.0.1. Яке значення 127? яке значення 0.0.1?

Який сенс насправді? Хоча ви зможете прожити все ваше вигідне існування, не знаючи відповіді на ці запитання, ми готові розібратися.

Відповіді

Кілька учасників, які взяли участь у відповіді на питання Роя, кожен із своїх внесків допомагає пролити більше світла на те, як 127.0.0.1 - це місце, яке ми всі називаємо додому. Джон Т пише:

127 - останній номер мережі в мережі класу A з маскою підмережі 255.0.0.0. 127.0.0.1 - це перша призначена адреса в підмережі. 127.0.0.0 не можна використовувати, оскільки це буде номер проводу. Але використання будь-яких інших номерів для хост-частини має працювати добре і повернутися до використання127.0.0.1. Ви можете спробувати самостійно, за допомогою pinging 127.1.1.1 якщо хочете. Чому вони дочекалися останнього номера мережі, щоб реалізувати це? Я не думаю, що це документально підтверджено.

Hyperslug виконує деякий обробку архіву, перекопуючи старі меморандуми на цю тему:

Найдавніші згадки, які я можу знайти стосовно присвоєння 127 в якості циклу, - листопад 1986 р. RFC 990 за авторством Рейнольдса та Постела:

Нуль адреси слід інтерпретувати як означає "це", як у "цій мережі".

Наприклад, адресу 0.0.0.37 можна інтерпретувати як означає, що хост 37 в цій мережі.

Мережі номер 127 класу А присвоюєтьсяФункція "циклічного зворотного зв'язку", тобто дейтаграма, що надсилається протоколом вищого рівня на мережеву адресу 127, повинна повертатися назад всередині хоста. Жодна дейтаграмма, "надіслана" за мережевою адресою 127, ніколи не повинна з’являтися в будь-якій мережі.

Ще в вересні 1981 р. RFC 790, 0 і 127 вже зарезервовано:

000.rrr.rrr.rrr                 Reserved                     [JBP]
...
127.rrr.rrr.rrr                 Reserved                     [JBP]

0 і 127 були єдиними зарезервованими мережами класу A до 1981 р. 0 використовувався для вказівки на конкретний хост, так що 127 залишалося для зворотного зв'язку.

Я знаю, що це не відповідає на запитання, але це так далеко, як я міг копати. Можливо, було б більше сенсу вибирати 1.0.0.0 для циклічного зворотного зв'язку, але це вже було надано BBN Packet Radio Network.

Поки ми всі знаємо і любимо 127.0.0.1 як локальний господар, варто зазначити, що він не буде місцевим господарем назавжди. 127.0.0.1 - це те, як позначається localhost в комунікаціях IPv4, і, коли IPv6 повільно переймається, він буде позначатися значно інтуїтивнішим числом: 0: 0: 0: 0: 0: 0: 0: 1.


Щось додати до пояснення? Звучить у коментарях. Хочете прочитати більше відповідей від інших користувачів, які користуються технологією Stack Exchange? Ознайомтесь з повними темами обговорення тут.