3.2.2. Sample Code for Pseudo-Random Global ID Algorithm (伪随机全局 ID 算法示例)
3.2.2. Sample Code for Pseudo-Random Global ID Algorithm (伪随机全局 ID 算法的示例代码)
下文算法拟用于本地分配的 Global ID. 在每种情况下, 所得全局 ID 将按 第 3.2 节 定义用于相应前缀.
-
以 64 位 NTP 格式 [NTP] 获取当前一天中的时间.
-
从运行本算法的系统获取 EUI-64 标识符. 若不存在 EUI-64, 可按 [ADDARCH] 从 48 位 MAC 地址创建一个. 若无法获得或创建 EUI-64, 应使用适合的唯一标识符, 且该标识符对节点而言是本地的 (例如系统序列号).
-
将一天中的时间与系统特定标识符连接, 以构成密钥 (key).
-
按 [FIPS, SHA1] 对密钥计算 SHA-1 摘要, 结果为 160 位.
-
使用最低有效的 40 位作为 Global ID.
-
将
FC00::/7, L 位置 1, 以及 40 位 Global ID 连接, 形成本地 IPv6 地址前缀.
该算法将产生合理唯一的 Global ID, 可用于创建本地分配的本地 IPv6 地址前缀.