/ / Защо Localhost IP 127.0.0.1?

Защо Localhost IP 127.0.0.1?

Geeks по света знаят своя местен хост като 127.0.0.1, но защо точно този специфичен адрес от всички налични адреси е запазен за местния хост? Прочетете, за да се задълбочите в историята на местните домакини.

Изображение от GMPhoenix; наличен като тапет тук.

Днешната сесия „Въпроси и отговори“ идва при нас от любезното съдействие на SuperUser - подразделение на Stack Exchange, групиране на общността на 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 като loopback, е ноември 1986 г. RFC 990 с автор Reynolds и Postel:

Нулата на адреса трябва да се тълкува като означава „това“, както в „тази мрежа“.

Например, адресът 0.0.0.37 може да се интерпретира като означаващ хост 37 в тази мрежа.

...

Мрежата номер 127 от клас А е назначенаФункция „loopback“, тоест дейтаграма, изпратена от протокол от по-високо ниво до адрес на мрежата 127, трябва да се върне обратно в хоста. Никаква дейтаграма, „изпратена“ до мрежов адрес 127, никога не трябва да се появява във всяка мрежа навсякъде.

Още през септември 1981 г. RFC 790, 0 и 127 вече бяха запазени:

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

0 и 127 са единствените запазени мрежи от клас А до 1981 г. 0 се използва за насочване към конкретен хост, така че оставя 127 за циклично връщане.

Знам, че това не отговаря на въпроса, но това е възможно най-назад. Може би е по-разумно да изберете 1.0.0.0 за loopback, но това вече беше дадено на BBN Packet Radio Network.

Докато всички знаем и обичаме 127.0.0.1 като localhost, заслужава да се отбележи, че той няма да бъде localhost завинаги. 127.0.0.1 е начинът, по който локализираният хост се определя в IPv4 комуникациите и тъй като IPv6 бавно поеме, той ще бъде определен от много по-интуитивен номер: 0: 0: 0: 0: 0: 0: 0: 1.


Имате какво да добавите към обяснението? Озвучете в коментарите. Искате ли да прочетете повече отговори от други потребители на Stack Exchange, работещи в технологиите? Вижте пълните теми за дискусии тук.