Prečo je Localhost IP 127.0.0.1?

Geekovia po celom svete poznajú svojho miestneho hostiteľa ako 127.0.0.1, ale prečo je táto konkrétna adresa zo všetkých dostupných adries rezervovaná pre miestneho hostiteľa? Čítajte ďalej a ponorte sa do histórie miestnych hostiteľov.

Obrázok GMPhoenix; k dispozícii ako tapeta tu.

Dnešné zasadnutie Otázky a odpovede k nám prichádza s povolením SuperUser - pododdielu Stack Exchange, zoskupenia webových stránok s otázkami a odpoveďami, ktoré je založené na komunite.

Otázka

Čítačka SuperUser Roee Adler, zvedavá na predvolenú adresu localhost IP, položila komunite nasledujúcu otázku:

Zaujímalo by ma, aký je pôvod rozhodnutia o  localhostIP adrese  127.0.0.1. Čo je to „význam“  127? aký je „význam“  0.0.1?

Aký je to vlastne význam? Aj keď je možné prežiť celú svoju podivnú existenciu a nepoznať odpoveď na tieto otázky, sme pripravení sa do toho pustiť.

Odpovede

Niekoľko prispievateľov sa zapojilo do odpovede na otázku Roeeho, každý z ich príspevkov pomáha objasniť, ako je 127.0.0.1 miestom, ktoré všetci nazývame domovom. John T píše:

127 je posledné číslo siete v sieti triedy A s maskou podsiete  255.0.0.0127.0.0.1 je prvá priraditeľná adresa v podsiete. 127.0.0.0 nemožno použiť, pretože by to bolo číslo drôtu. Ale použitie akýchkoľvek iných čísel pre hostiteľskú časť by malo fungovať dobre a vrátiť sa k použitiu 127.0.0.1. Ak chcete, môžete to vyskúšať sami  127.1.1.1 . Prečo čakali na implementáciu tohto čísla až do posledného čísla siete? Nemyslím si, že je to zdokumentované.

Spoločnosť Hyperslug prekopáva niektoré archívy prehrabávaním sa v starých memorandách o tejto téme:

Najstaršia zmienka, ktorá sa týka priradenia 127 ako loopback, je November 1986 RFC 990, autor: Reynolds a Postel:

Adresa nula sa má vykladať v zmysle „táto“, ako v „tejto sieti“.

Napríklad adresa 0.0.0.37 by sa mohla interpretovať tak, že znamená hostiteľa 37 v tejto sieti.

Triede A sieti číslo 127 je priradená funkcia „spätnej väzby“, to znamená, že datagram odoslaný protokolom vyššej úrovne na adresu siete 127 by sa mal vrátiť späť do hostiteľa. Žiadny datagram „odoslaný“ na adresu siete 127 by sa nikdy nemal objaviť v žiadnej sieti kdekoľvek.

Už v septembri 1981 boli RFC 790, 0 a 127 rezervované:

000.rrr.rrr.rrr vyhradené [JBP] ... 127.rrr.rrr.rrr rezervované [JBP]

0 a 127 boli jedinými rezervovanými sieťami triedy A do roku 1981. 0 sa použila na nasmerovanie na konkrétneho hostiteľa, takže 127 zostalo na spätnú väzbu.

Viem, že to neodpovedá na otázku, ale je to tak ďaleko, ako som dokázal. Možno by malo väčší zmysel zvoliť 1.0.0.0 pre spätnú väzbu, ale tá už bola poskytnutá BBN Packet Radio Network.

Aj keď všetci poznáme a milujeme 127.0.0.1 ako localhost, stojí za zmienku, že to nebude localhost navždy. 127.0.0.1 je spôsob, akým je localhost určený v komunikácii IPv4, a keďže IPv6 pomaly zaberá, bude označený oveľa intuitívnejším číslom: 0: 0: 0: 0: 0: 0: 0: 1.

Máte čo dodať k vysvetleniu? Zvuk v komentároch. Chcete si prečítať viac odpovedí od iných používateľov technológie Stack Exchange, ktorí sú technicky zdatní? Úplné diskusné vlákna nájdete tu.