2.1. Policy Table (策略表)
2.1. Policy Table (策略表)
策略表是一个最长匹配前缀查找表, 很像路由表。给定地址 A, 在策略表中的查找产生两个值: 一个优先级值, 记为 Precedence(A), 和一个分类或标签, 记为 Label(A)。
优先级值 Precedence(A) 用于对目标地址进行排序。如果 Precedence(A) > Precedence(B), 我们说地址 A 的优先级高于地址 B, 这意味着我们的算法将偏好在目标地址 B 之前对目标地址 A 进行排序。
标签值 Label(A) 允许偏好将特定源地址前缀用于目标地址前缀的策略。如果 Label(S) = Label(D), 算法偏好使用源地址 S 与目标地址 D。
IPv6 实现应该支持通过至少与此处定义的策略表一样强大的机制进行可配置的地址选择。重要的是, 实现提供一种方式来更改默认策略, 因为需要获得更多经验。第 10.3 至 10.7 节提供了可能需要的更改类型的示例。
如果实现不可配置或尚未配置, 则它应该根据此处指定的算法结合以下默认策略表运行:
Prefix Precedence Label
::1/128 50 0
::/0 40 1
::ffff:0:0/96 35 4
2002::/16 30 2
2001::/32 5 5
fc00::/7 3 13
::/96 1 3
fec0::/10 1 11
3ffe::/16 1 12
实现可以基于其配置的地址, 自动向默认表添加额外的站点特定行, 例如对于 Unique Local Addresses (ULA, 唯一本地地址) [RFC4193] 和 6to4 [RFC3056] 地址 (例如, 参见第 10.6 和 10.7 节的示例)。实现作为地址获取结果自动添加的任何此类行绝对不能覆盖通过其他方式为相同前缀配置的行。也就是说, 可以添加行但永远不能自动更新。实现应该提供一种方式 (自动行添加标志) 供管理员禁用自动行添加。
如稍后将变得明显的那样, 默认策略表的一个效果是偏好对本地目标地址使用本地源地址, 对 6to4 目标地址使用 6to4 源地址, 等等。默认策略表的另一个效果是, 如果匹配的源地址可用, 偏好使用 IPv6 地址进行通信而不是使用 IPv4 地址进行通信。
对于非全局范围的地址前缀的策略表条目可以使用可选的区域索引进行限定。如果是这样, 则前缀表条目仅在查找期间与地址匹配, 如果区域索引也与地址的区域索引匹配。