【问题标题】:How does one calculate ones link-local ipv6 address?如何计算一个链接本地 ipv6 地址?
【发布时间】:2023-04-02 18:15:01
【问题描述】:

所以有几个网站会为你计算你的链接本地 ipv6 地址,比如这个here

尽管如此,它对于如何计算这个地址以及输入参数是什么都没有提供任何有用的信息。那么,如果知道 ipv4 地址、子网掩码和网关地址,那么计算链路本地 ipv6 地址的过程(或算法)是什么?我正在做一个使用 ISATAP 网络隧道的 SCTP 套接字项目,并且 LL ipv6 地址用于构建 ISATAP 地址。

【问题讨论】:

    标签: network-programming ipv6


    【解决方案1】:

    Appendix A of RFC 4291 描述了从 MAC 地址计算修改后的 EUI-64 的方法。一旦你有了修改后的 EUI-64,你只需把它放在地址的低 64 位,然后把 fe80:: 放在高 64 位。

    基本上你翻转 MAC 地址的第 7 位,并打包它的前 24 位(包括翻转的位),然后是 fffe,然后是 MAC 地址的低 24 位,总共 64 位。

    话虽如此,您的问题是如何从 IPv4 地址和子网掩码派生链接本地地址。那,你做不到。 IPv4 地址和子网掩码(如果确实有一个 - IPv6 根本不需要 IPv4 在同一接口上运行)与 IPv6 地址无关,并且两者没有任何关系。 IPv4 网关地址(同样,如果有的话)甚至更不相关。

    【讨论】:

      【解决方案2】:

      链接本地地址可以基于RFC 4862的MAC地址,也可以根据RFC 4941随机生成。

      通常这应该仅限于全局范围,但一些系统将此隐私扩展实施扩展到链接本地范围。 Follow this question on serverfault for discussion of the topic.

      【讨论】:

      • 我不认为可以随机生成链接本地地址。此外,您引用的两个 RFC 都与选择自动配置的全局地址有关,而不是链接本地地址。
      • @Celada 向 Windows 7 打招呼,在上面添加了参考。
      • 哇。听起来不合规,因为 RFC 明确表示隐私地址适用于全局范围地址。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-10
      相关资源
      最近更新 更多