Prečo je Localhost IP 127.0.0.1?
Geeks po celom svete poznajú svojho miestneho hostiteľa ako 127.0.0.1, ale prečo je táto konkrétna adresa všetkých dostupných adries vyhradená miestnemu hostiteľovi? Prečítajte si, aby ste sa ponorili do histórie miestnych hostiteľov.
Obrázok GMPhoenix; ako tapetu.
Dnešná relácia otázok a odpovedí sa k nám pridelí zdvorilosťou SuperUser - podskupiny Stack Exchange, zoskupenia webových stránok typu Q & A.
Otázka
Čítačka SuperUser Roee Adler, zvedavá o predvolenej IP adrese IP, položila komunite túto otázku:
Premýšľal som, aký je pôvod rozhodnutia
localhost
IP adresa127.0.0.1
. Čo znamená127
? čo znamená0.0.1
?
Aký je zmysel? Aj keď je možné žiť celá vášnivá existencia, ktorá nevedela odpoveď na tieto otázky, sme pripravení vykopať.
Odpovede
Niekoľko prispievateľov vstúpilo do odpovedí na Roejovu otázku, každý z ich príspevkov pomáha objasniť, ako je 127.0.0.1 miesto, ktoré všetci nazývame doma. John T píše:
127 je posledné číslo siete v sieti triedy A s maskou podsiete
255.0.0.0
.127.0.0.1
je prvá priraditeľná adresa v podsieti.127.0.0.0
nemožno použiť, pretože to by bolo číslo drôtu. Ale akékoľvek iné čísla pre hostiteľskú časť by mali fungovať dobre a vrátiť sa k použitiu127.0.0.1
. Môžete to vyskúšať sami127.1.1.1
ak chcete. Prečo čakali až na posledné číslo siete, ktoré by to malo implementovať? Nemyslím si, že je to zdokumentované.
Hyperslug robí nejaký archív spievajúci kopaním starých memorandov na túto tému:
Najskoršiu zmienku môžem nájsť v súvislosti s úlohou 127, pretože loopback je v novembri 1986 RFC 990 autorom Reynolds a Postel:
Adresa nula sa má interpretovať ako výraz "to", ako v "tejto sieti".
Napríklad adresa 0.0.0.37 môže byť interpretovaná ako hostiteľská 37 v tejto sieti.
...
Sieťové číslo triedy 127 je priradené funkcii "loopback", to znamená, že datagram poslaný protokolom vyššej úrovne na adresu siete 127 by mal byť spätne v hostiteľovi. Žiadny datagram "odoslaný" na adresu siete 127 by sa mal niekedy objaviť v akejkoľvek sieti.
Už v septembri 1981 boli RFC 790, 0 a 127 už rezervované:
000.rrr.rrr.rrr Vyhradené [JBP] ... 127.rrr.rrr.rrr Vyhradené [JBP]0 a 127 boli jedinými rezervovanými sieťami triedy A do roku 1981. 0 bolo použité na smerovanie na konkrétne hostiteľa, takže ľavé 127 pre loopback.
Viem, že to neodpovedá na otázku, ale je to tak ďaleko, ako som mohol kopať. Možno by bolo viac zmysluplné vybrať si 1.0.0.0 pre loopback, ale to bolo už dané BBN Packet Radio Network.
Zatiaľ čo všetci vieme a milujeme 127.0.0.1 ako localhost, stojí za to si všimnúť, že to nebude navždy. 127.0.0.1 je spôsob, akým je lokálny server označený v komunikácii IPv4 a ako IPv6 pomaly preberá, bude označený omnoho intuitívnejším číslom: 0: 0: 0: 0: 0: 0: 0: 1.
Máte niečo doplniť vysvetlenie? Vyjadrite sa v komentároch. Chcete sa dozvedieť viac odpovedí od iných používateľov technickej úrovne Stack Exchange? Pozrite sa na celé diskusné vlákna tu.