ipv6: `ifconfig` 显示 "Scope:Link" 。什么是“范围:链接”?

Ste*_*ski 10 linux ipv6

我在 RedHat 6 机器上。默认情况下启用 IPv6,并且所有接口都已分配一个 IPv6 地址。

ifconfig 报告这些 IPv6 地址具有“链接”的范围。

% ifconfig eth0 Link encap:Ethernet HWaddr 00:24:90:AA:BB:1A
inet addr:192.168.10.100 Bcast:192.168.10.255 Mask:255.255.255.0 inet6 addr:4fe94a:10.2a范围:Link UP BROADCAST RUNNING MULTICAST MTU:1500 公制:1

eth1 Link encap:Ethernet HWaddr 00:24:90:AA:BB:1B
inet addr:10.8.8.44 Bcast:10.8.8.255 Mask:255.255.255.0 inet6 addr: fe80::224:90ff:feaa:Scope: Link UP BROADCAST RUNNING MULTICAST MTU:1500 公制:1

“范围:链接”是什么意思?我看到后半部分的IPv6地址和网卡的MAC地址类似。即使我没有明确设置 IPv6 地址,同一网段上的其他设备是否能够 ping 通此设备?

为什么我的 IPv4 地址没有出现此范围?“Scope:Link”是一个仅限 IPv6 的概念吗?

Sha*_*den 10

链接范围 fe80::/10(它实际上作为 /64 实现,但整个 /10 被保留)与第 2 层网段上的设备隔离。您可以使用设备的 fe80 地址在网段内进行通信,但您需要一个具有不同范围的地址来执行需要在网段外进行路由的任何通信。


关于您的编辑:虽然私有寻址的想法在 IPv4(169.254/16 和 RFC 1918 范围)中肯定存在,但由于 NAT 的普及,这些的实现有些不同。相比之下,存在链接范围地址和 fc00::/7 范围(大致相当于 IPv4 的 RFC1918 范围),并与每个设备的全局地址一起使用。

许多实现中都进行了特殊处理,以解决 IPv4 实现中不需要的地址范围。