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 przychodzi do nas dzięki uprzejmości SuperUser - poddziału Stack Exchange, grupy dyskusyjnej poświęconej tematyce społecznościowej.
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, aby się zagłębić.
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żna go użyć, 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 na ostatni numer sieci, aby to wdrożyć? Nie sądzę, że jest to udokumentowane.
Hyperslug robi pewne archiwum z tropu, przeglądają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 rozumieć 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 przypisaną funkcję "sprzężenia zwrotnego", to znaczy, że datagram wysłany przez protokół wyższego poziomu do adresu 127 sieci powinien wracać z powrotem do hosta. Żaden datagram nie jest "wysył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 Reserved [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 pętli zwrotnej, ale to już zostało przekazane BBN Packet Radio Network.
Chociaż wszyscy wiemy 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.