7Sep

Varför är Localhost IP 127.0.0.1?

Geeks världen över känner till sin lokala värd som 127.0.0.1, men varför är den specifika adressen, av alla tillgängliga adresser, reserverade för den lokala värd? Läs vidare för att dyka in i historien om lokala värdar.

Bild av GMPhoenix;tillgänglig som bakgrundsbild här.

Dagens fråga &Svarssession kommer till oss med tillstånd av SuperUser-en indelning av Stack Exchange, en community-drive-gruppering av Q & A-webbplatser.

Frågan

SuperUser-läsare Roee Adler, nyfiken på standard localhost-IP, ställde följande fråga till samhället:

Jag undrade vad som ligger till grund för beslutet att göra localhosts IP-adress 127.0.0.1.Vad är "mening" av 127?vad är "betydelsen" av 0.0.1?

Vad är meningen, faktiskt?Även om det är möjligt att leva ut hela din geekiska existens utan att veta svaret på dessa frågor, är vi redo att gräva i.

Svaren

Flera bidragsgivare slog in för att svara på Roes fråga. Varje bidrag bidrar till att ge mer ljus på hur127.0.0.1 är den plats vi alla kallar hemma. John T skriver:

127 är det sista nätverksnumret i ett klass A-nätverk med en nätmask av 255.0.0.0.127.0.0.1 är den första tilldelningsadressen i delnätet.127.0.0.0 kan inte användas eftersom det skulle vara trådnummer. Men med hjälp av andra tal för värddelen ska det fungera bra och återgå till using127.0.0.1.Du kan prova det själv genom att pinga 127.1.1.1 om du vill. Varför väntade de tills det sista nätverksnumret för att genomföra detta? Jag tror inte att det är dokumenterat.

Hyperslug gör några arkivhjul genom att gräva igenom gamla memorandum om ämnet:

Tidigast omnämnande kan jag hitta om 127: s uppdrag som loopback är november 1986 RFC 990 författad av Reynolds och Postel:

Adressnollet ska tolkas som "detta", som i "det här nätverket".

Till exempel kan adressen 0.0.0.37 tolkas som värd värd 37 på det här nätverket.

. ..

Klass A-nätverksnummer 127 tilldelas "loopback" -funktionen, det vill säga ett datagram som skickas av ett högre nivåprotokoll till ett nätverk 127 adress ska slingas tillbaka inuti värden. Inget datagram "skickas" till ett nätverk 127 adress ska någonsin visas på vilket nätverk som helst.

Redan i september 1981 var RFC 790, 0 och 127 redan reserverade:

000.rrr.rrr.rrr Reserverad [JBP]. .. 127.rrr.rrr.rrr Reserverad [JBP]

0 och 127 var de endareserverade klass A-nätverk senast 1981. 0 användes för att peka på en viss värd, så det lämnade 127 för loopback.

Jag vet att det här inte svarar på frågan, men det är så långt tillbaka som jag kunde gräva. Det kan ha gjort mer mening att välja 1.0.0.0 för loopback men det var redan givit BBN Packet Radio Network.

Medan vi alla känner och älskar 127.0.0.1 som lokala värd, är det värt att notera att det inte kommer att vara lokalhosten för alltid.127.0.0.1 är hur lokalhosten är utsedd i IPv4-kommunikation och, som IPv6 sakta tar över, kommer det att betecknas med ett mycket mer intuitivt nummer: 0: 0: 0: 0: 0: 0: 0: 1.

Har du något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa mer svar från andra tech-savvy Stack Exchange-användare? Kolla in de fullständiga diskussionerna här.