Чому місцевий IP-адреса 127.0.0.1?
Виродки в усьому світі знають свій локальний хост як 127.0.0.1, але чому ця конкретна адреса, з усіх доступних адрес, зарезервована для локального хоста? Читайте далі, щоб заглибитися в історію місцевих господарів.
Зображення GMPhoenix; тут доступні як шпалери.
Сьогоднішня сесія запитань та відповідей приходить до нас люб'язно від SuperUser - підрозділу Stack Exchange, групування спільноти веб-сайтів з запитань та відповідей.
Питання
Читач SuperUser Roee Adler, що цікавився IP-адресою за замовчуванням, задав спільноті наступне питання:
Я замислювався, яким є походження рішення
localhost
IP-адреса користувача127.0.0.1
. Яке значення127
? яке значення0.0.1
?
Що таке сенс? Незважаючи на те, що можна прожити весь свій примхливе існування, не знаючи відповіді на ці питання, ми готові закопатися.
Відповіді
Декілька вкладників відповіли на запитання Роє, кожен з їхніх внесків допомагає пролити світло на те, як 127.0.0.1 - це місце, яке ми всі називаємо домом. Джон Т пише:
127 - останній номер мережі в мережі класу А з маскою підмережі
255.0.0.0
.127.0.0.1
є першою адресою, що призначається в підмережі.127.0.0.0
не може бути використано, оскільки це буде номер дроту. Але використання будь-яких інших номерів для хост-частини повинно працювати нормально і повернутися до використання127.0.0.1
. Ви можете спробувати її самостійно, провівши тестування127.1.1.1
якщо хочете. Чому вони чекали останнього номера мережі, щоб реалізувати це? Я не думаю, що це документально.
Hyperslug виконує певний архів, виконуючи старі меморандуми на цю тему:
Найперша згадка, яку я можу знайти з приводу призначення 127 як loopback, це листопад 1986 р. RFC 990, автором якого є Reynolds і Postel:
Адреса нуля слід інтерпретувати як "це", як у "цій мережі".
Наприклад, адреса 0.0.0.37 може бути інтерпретована як значення хоста 37 у цій мережі.
…
Номер мережі 127 класу А присвоюється функції "loopback", тобто дейтаграма, надіслана протоколом вищого рівня в мережу 127, повинна бути повернута всередину хоста. Ніяка датаграма, "надіслана" до мережі 127, не повинна з'являтися в будь-якій мережі.
Навіть вже у вересні 1981 року RFC 790, 0 та 127 вже були зарезервовані:
000.rrr.rrr.rrr Зарезервовано [JBP]… 127.rrr.rrr.rrr Зарезервовано [JBP]0 і 127 були єдиними зарезервованими мережами класу А до 1981 року. 0 було використано для вказівки на певний хост, так що залишилося 127 для зворотного зв'язку.
Я знаю, що це не відповідає на це питання, але це так далеко, як я міг копати. Можливо, було більше сенсу вибрати 1.0.0.0 для loopback, але це вже було надано BBN Packet Radio Network.
Хоча всі ми знаємо і любимо 127.0.0.1 як локальний хост, варто зауважити, що він не буде локальним пристроєм назавжди. 127.0.0.1 - це те, як місцевий хост позначається в комунікаціях IPv4 і, як IPv6 повільно переходить, він буде позначений набагато більш інтуїтивним числом: 0: 0: 0: 0: 0: 0: 0: 1.
Маєте щось додати до пояснення? Звучить в коментарях. Хочете прочитати більше відповідей від інших технологічних користувачів Stack Exchange? Перегляньте повний потік обговорення тут.