Dlaczego jest Localhost IP 127.0.0.1?
Geek na całym świecie zna swojego lokalnego hosta jako 127.0.0.1, ale dlaczego ten konkretny adres wszystkich dostępnych adresów zarezerwowany jest dla lokalnego hosta? Czytaj dalej, aby zagłębić się w historię lokalnych gospodarzy.
Zdjęcie: GMPhoenix; dostępny jako tapeta tutaj.
Dzisiejsza sesja pytań i odpowiedzi jest dostępna dzięki uprzejmości SuperUser - podsekcji Stack Exchange, grupy dyskusyjnej poświęconej tematyce społecznościowej.
Pytanie
Czytnik SuperUser, Roee Adler, ciekawy domyślnego adresu IP hosta, postawił społeczności następujące pytanie:
Zastanawiałem się, skąd pochodzi decyzja
Lokalny Gospodarz
adres IP127.0.0.1
. Jakie jest znaczenie127
? jakie jest znaczenie0.0.1
?
Jakie jest znaczenie? Podczas gdy możliwe jest przeżycie całego twojego geekistycznego istnienia, nie znając odpowiedzi na te pytania, jesteśmy gotowi zagłębić się.
Odpowiedzi
Kilku współpracowników zadeklarowało odpowiedź na pytanie Roee, a każdy z ich wkładów pomaga rzucić więcej światła na to, jak 127.0.0.1 jest miejscem, które wszyscy nazywamy domem. John T pisze:
127 jest ostatnim numerem sieci w sieci klasy A z maską podsieci
255.0.0.0
.127.0.0.1
to pierwszy możliwy do przypisania adres w podsieci.127.0.0.0
nie może być użyty, ponieważ byłby to numer przewodu. Ale użycie innych liczb dla części hosta powinno działać poprawnie i powrócić do używania127.0.0.1
. Możesz spróbować samodzielnie, pingując127.1.1.1
gdybyś chciał. Dlaczego czekali, aż ostatni numer sieci to zaimplementuje? Nie sądzę, że jest to udokumentowane.
Hyperslug robi pewne archiwum, omijając stare memoranda na ten temat:
Najwcześniejsza wzmianka, jaką mogę znaleźć odnośnie przypisania 127 do pętli zwrotnej, to listopad 1986 RFC 990 autorstwa Reynoldsa i Postela:
Adres zerowy należy interpretować jako "ten", jak w "tej sieci".
Na przykład adres 0.0.0.37 można interpretować jako host 37 w tej sieci.
...
Numer sieci 127 klasy A ma funkcję "sprzężenia zwrotnego", to znaczy, że datagram wysyłany przez protokół wyższego poziomu do adresu 127 sieci powinien wracać z powrotem do hosta. Żaden datagram nie zostanie "wysłany" do sieci 127 Adres powinien kiedykolwiek pojawić się w dowolnej sieci w dowolnym miejscu.
Jeszcze we wrześniu 1981 r. RFC 790, 0 i 127 były już zarezerwowane:
000.rrr.rrr.rrr Zarezerwowany [JBP] ... 127.rrr.rrr.rrr Zarezerwowany [JBP]0 i 127 były jedynymi zarezerwowanymi sieciami klasy A w 1981 roku. 0 zostało użyte do wskazania konkretnego hosta, tak aby pozostawić 127 dla sprzężenia zwrotnego.
Wiem, że to nie odpowiada na pytanie, ale to jest tak daleko, jak tylko mogłem kopać. Być może bardziej sensownym byłoby wybrać 1.0.0.0 dla sprzężenia zwrotnego, ale to zostało już przekazane BBN Packet Radio Network.
Podczas gdy wszyscy znamy i kochamy 127.0.0.1 jako localhost, warto zauważyć, że nie będzie to lokalny host na zawsze. 127.0.0.1 to sposób wyznaczania hosta lokalnego w komunikacji IPv4, a ponieważ IPv6 powoli przejmuje kontrolę, zostanie oznaczony za pomocą znacznie bardziej intuicyjnego numeru: 0: 0: 0: 0: 0: 0: 0: 1.
Czy masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych użytkowników Stack Exchange, którzy znają się na technologii? Sprawdź tutaj pełne wątki dyskusji.