Linux 为接口分配一个 fe80::/64 地址。那不应该是 fe80::/10 吗?

Omn*_*ous 8 linux networking ipv6 network-interface

根据 IPv6 标准,Linux 为接口分配 IPv6 链路本地地址。这些接口始终分配有 /64 地址。这样对吗?我认为它们应该是/10。为什么给它们分配 /64 地址?

ilk*_*chu 10

分配给链路本地地址的地址空间是 fe80::/10,但接下来的 54 位被定义为全零,因此有效范围是 fe80::/64。这使其符合 IPv6 地址的通常习惯。

RFC 4291

2.5.6.  Link-Local IPv6 Unicast Addresses

   Link-Local addresses are for use on a single link.  Link-Local
   addresses have the following format:

   |   10     |
   |  bits    |         54 bits         |          64 bits           |
   +----------+-------------------------+----------------------------+
   |1111111010|           0             |       interface ID         |
   +----------+-------------------------+----------------------------+
Run Code Online (Sandbox Code Playgroud)