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