web-dev-qa-db-ja.com

/ etc / hostsの「fe80 :: 1%lo0 localhost」の関連性は何ですか?

以下は、私の/etc/hostsのエントリです。

最後のエントリー(fe80::1%lo0 localhost)は何のためにあるのだろうと思っていました。

127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
35
harish

これはIPv6アドレスです。 fe80 ::ブロックは、リンクローカルアドレス用に予約されています。リンクローカルアドレスは、直接接続されたデバイス(ルーティングされていない)にのみ送信されるパケットに使用されます。ネットワーク検出プロトコル(NDP)は、リンクローカルアドレスの最大のユーザーです(NDP sortaは、IPv6のARPおよびDHCPを置き換えます)。

各インターフェイスには、fe80 ::で始まり、(通常)セグメントの一意のアドレスを確保するために、インターフェイスのMACアドレス(EUI-64形式)の変更バージョンで終わる異なるリンクローカルアドレスがあります。ループバックインターフェイスの場合、それに接続されているものは何もないため、競合を心配することなくfe80 :: 1のアドレスを使用できます。そのため、通常はfe80 :: 1が「localhost」アドレスとして使用されます。 --127.0.0.1に相当するIPv6。

25
eater

イーターから上記の優れた答え。上記のfe80:*形式のIPv6リンクローカルアドレスは、実際にはfe80::/10であり、上位10ビットのみがfe8*:*と照合されるため、範囲はfe80 :: 0 .. febf:*になります。私の算数を確認してください。

これらのアドレスは、IPv4の169.254.\*.\*アドレスに相当しますが、IPv4のアドレスはあまり使用されていません。

Ipv6に複数のアドレスがあることは非常に一般的ですが、IPv4には1つしかありません。 fe80::アドレスとグローバルに意味のあるルーティング可能なIPv6アドレス(たとえば、2001:*など)の両方を持つことは例外ではありません。残念ながら、アプリケーションとオペレーティングシステムはIPv4で同じことをする傾向がありません。つまり、インターフェイスは複数のIPv4アドレスを持たない傾向があり、インターフェイスが169.254.\*.\*アドレスと別のタイプのアドレスを同時に言うケースを見たことがありません。

IPv4で2つのタイプを同時に使用すると、たとえば、キットの電源投入が誤った順序で行われると、ルータやサーバーとPCが169.254.\*.\*アドレスを割り当ててPCにアドレスを割り当てる前に、PCに電源が入り、 2番目にグローバルに意味のあるルーティング可能なアドレスで、後でインターネット上にあるはずのルーターまたはサーバーからそれらを見つけたときのアドレスです。

5
Cecil Ward
 fe80::.....        a link local address

Fe80:プレフィックスで示されるリンクローカルIPv6アドレスは、そのホストインターフェイスが接続されている直接のネットワークリンクでのみ有効です。

2
miku