这可能听起来像是一个无知的问题,所以如果我在这里遗漏了一些明显的东西,请原谅我。
据我了解,使用 IPv4 的动态 IP 地址的意义在于没有足够的地址可供所有人使用。循环地址允许人们使用可用地址,以避免两个人拥有相同的 IP 地址。
现在有了 IPv6,这似乎仍在继续。如果我使用在线 IPv6 测试,它有时会报告不同的地址。鉴于 IPv6 可以支持的地址数量庞大,为什么地址不是静态的?这样做有安全原因吗?一些我不知道的实际原因?还是只是为了让 ISP 继续以更高的价格销售静态 IP?
这可能听起来像是一个无知的问题,所以如果我在这里遗漏了一些明显的东西,请原谅我。
据我了解,使用 IPv4 的动态 IP 地址的意义在于没有足够的地址可供所有人使用。循环地址允许人们使用可用地址,以避免两个人拥有相同的 IP 地址。
现在有了 IPv6,这似乎仍在继续。如果我使用在线 IPv6 测试,它有时会报告不同的地址。鉴于 IPv6 可以支持的地址数量庞大,为什么地址不是静态的?这样做有安全原因吗?一些我不知道的实际原因?还是只是为了让 ISP 继续以更高的价格销售静态 IP?
Internet 上的设备被分配了一个唯一的 IPv6 地址,这引起了对隐私和跟踪的担忧。
为了缓解这个问题,本地路由器分配给设备的 IPv6 地址会根据配置的参数不时地动态更改。
IPv6 无状态地址自动配置使用本地可用信息和路由器通告的信息的组合生成地址。地址由 ISP 分配的网络前缀与本地生成的接口标识符组合而成,通常包含来自设备 MAC 地址和随机部分的元素。
IPv6 地址有 128 位,其中最重要的 64 位是来自 ISP 的路由前缀,而本地分配其他 64 位。
这就是为什么当您重新启动设备或超出某些路由器参数时,您的设备将具有不同的 IPv6 地址。
对于分配 IPv6 地址,有两种方式:有状态 DHCPv6 和无状态 DHCPv6。您可以在我的这个答案 和 Wikipedia IPv6 Addressing中阅读更多关于它的信息 。
IPv6 地址一般分为两部分或三部分:ISP 给客户的 48-64 位前缀(即地址范围);客户(或其路由器)选择的 0-16 位子网 ID;以及通常由设备本身选择的 64 位后缀(接口 ID)。所有部分都可以完全是静态的。
对于家庭客户,前缀通常是通过 DHCPv6 前缀委派分配的,就像 IPv4 DHCP 分配的地址一样,只要路由器不断重新请求相同的租约,它就可以保持静态——基本上是永远。
如果您获得动态前缀,则有时是路由器问题(它没有使用相同的 DUID),但更常见的是 ISP每次都会故意为您提供不同的前缀。(与 IPv4 一样,这可能是出于“隐私”原因,也可能是因为技术问题,或者是因为他们希望在“商业”计划中向您收取更多费用。)
动态分配的前缀不是由于地址短缺。一个 ISP 总是以至少 /32 地址范围开始(或者甚至是 /29 非常容易),并且按照当前“每个客户 /56”的建议,这已经为 1600 万客户提供了空间(或者 1.34 亿,如果ISP 有 /29)。后一个数字实际上是整个 IPv4 互联网的 1/32,更大的 ISP 仍然可以获得更多。
后缀是另一回事,因为它通常由设备本身选择(路由器仅广播要使用的 64 位前缀)。一开始,所有后缀都直接基于 MAC 地址,这有点隐私问题——例如,使用手机时,您会在任何地方获得相同的后缀,因此网站可以轻松跟踪您的活动。
为了避免这种情况,引入了 RFC 4941“隐私扩展”,它让设备另外生成一个完全随机的临时后缀,并每 10 小时更改一次。这可能是您在网站上看到的。(不过,基于 MAC 的静态地址仍然完全可用,只是默认情况下不会向网站显示。)
最近,为了结合两全其美,引入了 RFC 7217“稳定隐私”地址。它们用基于散列的后缀替换基于 MAC 的后缀;后缀看起来完全随机,但只要前缀保持稳定,它就会保持稳定。(但是,如果您移动到不同的网络,或者如果 ISP 向您发出不同的前缀,则后缀也会变得不同。)
但是,即使这些新地址正在使用中(例如在最近的 Windows 版本中),它们也不会取代定期轮换的“隐私扩展”地址——您仍然可以获得稳定地址和临时地址。
简而言之:
如果地址的前半部分不断变化,请致电您的 ISP 或搜索各种 IPv6 相关论坛。
如果地址的后半部分不断变化,请在您的操作系统中禁用“隐私扩展”。