如何使用 php 从 EUI64 前缀和 MAC 地址生成 IPv6

How to generate IPv6 from EUI64-prefix and MAC address with php

我需要一个在 php 中生成 IPv6 地址的脚本。我知道的给定变量是 EUI64 前缀和设备的 MAC 地址。有了这些,我需要生成一个 v6 地址。设备没有可从中生成地址的 v4 地址。 mac 和前缀通过“:”分隔,如 "ba:76:1b:ba:62:cb".

RFC 4291, IPv6 Addressing Architecture, Appendix A, Creating Modified EUI-64 Format Interface Identifiers,详细介绍了如何从 MAC 地址构建 IPv6 地址。

您使用地址的网络部分(前 64 位),并使用 MAC 地址创建接口 ID(后 64 位)。

创建Interface ID,取MAC地址中的48位,将其分成两个24位的部分,在中间插入十六进制值FFFE,并将值取反universal/local 位。