以下は、私の/etc/hosts
のエントリです。
最後のエントリー(fe80::1%lo0 localhost
)は何のためにあるのだろうと思っていました。
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
これはIPv6アドレスです。 fe80 ::ブロックは、リンクローカルアドレス用に予約されています。リンクローカルアドレスは、直接接続されたデバイス(ルーティングされていない)にのみ送信されるパケットに使用されます。ネットワーク検出プロトコル(NDP)は、リンクローカルアドレスの最大のユーザーです(NDP sortaは、IPv6のARPおよびDHCPを置き換えます)。
各インターフェイスには、fe80 ::で始まり、(通常)セグメントの一意のアドレスを確保するために、インターフェイスのMACアドレス(EUI-64形式)の変更バージョンで終わる異なるリンクローカルアドレスがあります。ループバックインターフェイスの場合、それに接続されているものは何もないため、競合を心配することなくfe80 :: 1のアドレスを使用できます。そのため、通常はfe80 :: 1が「localhost」アドレスとして使用されます。 --127.0.0.1に相当するIPv6。
イーターから上記の優れた答え。上記の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番目にグローバルに意味のあるルーティング可能なアドレスで、後でインターネット上にあるはずのルーターまたはサーバーからそれらを見つけたときのアドレスです。
fe80::..... a link local address
Fe80:プレフィックスで示されるリンクローカルIPv6アドレスは、そのホストインターフェイスが接続されている直接のネットワークリンクでのみ有効です。