Waarom is de Localhost IP 127.0.0.1?
Geeks over de hele wereld kennen hun lokale host als 127.0.0.1, maar waarom is dat specifieke adres, van alle beschikbare adressen, gereserveerd voor de lokale host? Lees verder om je te verdiepen in de geschiedenis van lokale hosts.
Afbeelding door GMPhoenix; beschikbaar als achtergrond hier.
De Question & Answer-sessie van vandaag komt tot ons dankzij SuperUser - een onderdeel van Stack Exchange, een community-drive groep van Q & A-websites.
De vraag
SuperUser-lezer Roee Adler, nieuwsgierig naar het standaard localhost-IP, stelde de volgende vraag aan de community:
Ik vroeg me af wat de oorsprong is van de beslissing om te nemen
localhost
IP-adres127.0.0.1
. Wat is de betekenis van127
? wat is de betekenis van0.0.1
?
Wat is de betekenis, inderdaad? Hoewel het mogelijk is om je hele geeky bestaan uit te leven zonder het antwoord op die vragen te kennen, zijn we klaar om in te graven.
De antwoorden
Verschillende bijdragers gooiden binnen om Roee's vraag te beantwoorden, elk van hun bijdragen helpt meer licht werpen op hoe 127.0.0.1 de plaats is die we allemaal naar huis noemen. John T schrijft:
127 is het laatste netwerknummer in een klasse A-netwerk met een subnetmasker van
255.0.0.0
.127.0.0.1
is het eerste toewijsbare adres in het subnet.127.0.0.0
kan niet worden gebruikt omdat dat het nummer van de draad is. Maar het gebruik van andere nummers voor het hostgedeelte zou goed moeten werken en terugkeren naar het gebruik127.0.0.1
. Je kunt het zelf proberen door te pingen127.1.1.1
als je het leuk vindt. Waarom hebben ze gewacht tot het laatste netwerknummer om dit te implementeren? Ik denk niet dat het gedocumenteerd is.
Hyperslug doet wat archief spugen door te graven door oude memoranda over het onderwerp:
Eerdere vermelding die ik kan vinden met betrekking tot 127's opdracht als loopback is november 1986 RFC 990 geschreven door Reynolds en Postel:
Het adres nul moet worden geïnterpreteerd als "dit", zoals in "dit netwerk".
Het adres 0.0.0.37 kan bijvoorbeeld worden geïnterpreteerd als host 37 op dit netwerk.
...
Het klasse A netwerknummer 127 wordt toegewezen aan de "loopback" -functie, dat wil zeggen, een datagram verzonden door een hoger protocol naar een netwerk 127-adres zou terug in de gastheer moeten worden teruggeleid. Geen datagram "verzonden" naar een netwerk 127-adres zou ooit ergens op een netwerk moeten verschijnen.
Al in september 1981 waren RFC 790, 0 en 127 al gereserveerd:
000.rrr.rrr.rrr Gereserveerd [JBP] ... 127.rrr.rrr.rrr Gereserveerd [JBP]0 en 127 waren de enige gereserveerde Class A-netwerken in 1981. 0 werd gebruikt om naar een specifieke host te verwijzen, dus links 127 voor loopback.
Ik weet dat dit de vraag niet beantwoordt, maar dit is zo ver terug als ik kon graven. Het was misschien logischer om voor loopback 1.0.0.0 te kiezen, maar dat was al aan BBN Packet Radio Network gegeven.
Hoewel we allemaal 127.0.0.1 kennen en liefhebben als localhost, is het de moeite waard om op te merken dat dit niet voor altijd de localhost zal zijn. 127.0.0.1 is hoe de localhost wordt aangeduid in IPv4-communicatie en, omdat IPv6 langzaam het overneemt, wordt het aangeduid met een veel intuïtiever nummer: 0: 0: 0: 0: 0: 0: 0: 1.
Heb je iets toe te voegen aan de uitleg? Geluid uit in de reacties. Wilt u meer antwoorden van andere technisch onderlegde Stack Exchange-gebruikers lezen? Bekijk hier de volledige discussiethreads.