Poniżej znajdują się wpisy w moim /etc/hosts
.
Zastanawiałem się, po co jest ostatni wpis ( fe80::1%lo0 localhost
).
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
macos
networking
ipv6
hosts-file
Kenster
źródło
źródło
Odpowiedzi:
To adres IPv6. Blok fe80 :: jest zarezerwowany dla adresów lokalnych. Łącza lokalne adresy są używane dla pakietów wysyłanych tylko do bezpośrednio podłączonych urządzeń (nie trasowanych). Protokół wykrywania sieci (NDP) jest największym użytkownikiem adresów lokalnych dla łącza (NDP sorta zastępuje ARP i DHCP w IPv6).
Każdy z interfejsów będzie miał inny adres lokalny dla łącza, zaczynający się od fe80 :: i (zazwyczaj) kończący się na zmodyfikowanej wersji adres MAC interfejsu (format EUI-64), aby zapewnić unikalny adres w segmencie. W przypadku interfejsu sprzężenia zwrotnego nie ma z nim nic innego, więc może on używać adresu fe80 :: 1 bez obawy o konflikt, dlatego fe80 :: 1 jest zwykle używany jako adres „localhost” - ekwiwalent IPv6 127.0.0.1.
źródło
::1
używany jako równoważny IPv6127.0.0.1
, niefe80::1%lo0
.lo
a nielo0
? Dlaczego także dołączyć 2 rekordy hostów IPv6 dla hosta lokalnego?Doskonała odpowiedź powyżej zjadacza. Adresy IPv6 Link-local, jak wspomniano powyżej, od postaci
fe80:*
w rzeczywistoścife80::/10
oznaczającego szczyt tylko dziesięć bitów są dopasowywanefe8*:*
tak zakres jest FE80 :: 0 ..febf:*
. Sprawdź moją arytmetykę.Te adresy są równoważne
169.254.\*.\*
adresom w IPv4, chociaż odpowiedniki IPv4 są znacznie mniej dobrze używane.Bardzo często jest kilka adresów w ipv6, ale tylko jeden w IPv4. Posiadanie zarówno
fe80::
adresu, jak i globalnego, możliwego do routingu adresu IPv6 (takiego jak2001:*
na przykład) nie jest regułą. Niestety aplikacje i systemy operacyjne nie robią tego samego w IPv4, to znaczy interfejsy zwykle nie mają kilku adresów IPv4, i nie widziałem przypadku, w którym interfejs podaje jednocześnie169.254.\*.\*
adres i inny typ adresu.Jednoczesne użycie tych dwóch typów w IPv4 zapobiegłoby wielu bólom i cierpieniom, gdy na przykład zestaw włącza się w niewłaściwej kolejności, komputery włączają się przed routerami lub serwerami, a komputery przypisują sobie
169.254.\*.\*
adres i trzymają się go, zamiast dodawać drugi globalnie znaczący, możliwy do routingu adres, gdy później dowiedzą się ze swojego routera lub serwera, gdzie powinni być w Internecie.źródło
źródło