Hvorfor er Localhost IP 127.0.0.1?
Geeks verden over kender deres lokale vært som 127.0.0.1, men hvorfor er den specifikke adresse, af alle tilgængelige adresser, forbeholdt den lokale vært? Læs videre for at dykke i historien om lokale værter.
Billede af GMPhoenix; tilgængelig som tapet her.
Dagens Spørgsmål og Svar session kommer til os med venlig hilsen af SuperUser-en underafdeling af Stack Exchange, en community-drive gruppering af Q & A websteder.
Spørgsmålet
SuperUser læser Roee Adler, nysgerrig efter standard localhost IP, stillede følgende spørgsmål til samfundet:
Jeg spekulerede på, hvad beslutningen er afgørende for
localhost
s IP-adresse127.0.0.1
. Hvad er meningen med127
? Hvad er meningen med0.0.1
?
Hvad er meningen, ja? Mens det er muligt at udleve hele din geeky eksistens uden at vide svaret på disse spørgsmål, er vi klar til at grave i.
Svarene
Flere bidragydere satte ind for at besvare Roes spørgsmål, hvert enkelt af deres bidrag hjælper med at skygge mere lys over, hvordan 127.0.0.1 er det sted, vi alle kalder hjem. John T skriver:
127 er det sidste netværksnummer i et klasse A netværk med en subnetmaske af
255.0.0.0
.127.0.0.1
er den første tildelte adresse i undernetværket.127.0.0.0
kan ikke bruges, fordi det ville være trådnummeret. Men ved at bruge andre tal til værtsdelen skal det fungere fint og vende tilbage til brug127.0.0.1
. Du kan prøve det selv ved at pinge127.1.1.1
hvis du vil have det. Hvorfor ventede de indtil det sidste netværksnummer for at gennemføre dette? Jeg tror ikke, det er dokumenteret.
Hyperslug gør noget arkivhjul ved at grave igennem gamle memorandum om emnet:
Tidligste omtale jeg kan finde om 127's opgave som loopback er november 1986 RFC 990 forfattet af Reynolds og Postel:
Adressen null skal fortolkes som "dette", som i "dette netværk".
For eksempel kan adressen 0,0.0.37 fortolkes som værten 37 på dette netværk.
...
Klasse A-netværksnummer 127 tildeles "loopback" -funktionen, det vil sige et datagram, der sendes af en højere niveauprotokol til et netværk 127, adresse skal sløjfe tilbage inde i værten. Intet datagram "sendes" til et netværk 127 adresse skal nogensinde vises på ethvert netværk overalt.
Selv allerede i september 1981 var RFC 790, 0 og 127 allerede reserveret:
000.rrr.rrr.rrr Reserveret [JBP] ... 127.rrr.rrr.rrr Reserveret [JBP]0 og 127 var de eneste reserverede klasse A-netværk i 1981. 0 blev brugt til at pege på en bestemt vært, så det forlod 127 for loopback.
Jeg ved, at dette ikke svarer på spørgsmålet, men det er så langt tilbage, som jeg kunne grave. Det kunne have været mere fornuftigt at vælge 1.0.0.0 for loopback, men det var allerede givet til BBN Packet Radio Network.
Mens vi alle kender og elsker 127.0.0.1 som lokalhost, er det værd at bemærke, at det ikke vil være lokalthost for evigt. 127.0.0.1 er, hvordan lokalhostet er udpeget i IPv4-kommunikation, og da IPv6 langsomt overtager det, vil det blive udpeget af et meget mere intuitivt nummer: 0: 0: 0: 0: 0: 0: 0: 1.
Har du noget at tilføje til forklaringen? Lyde af i kommentarerne. Vil du læse flere svar fra andre tech-savvy Stack Exchange brugere? Tjek de fulde diskussions tråde her.