摘要

  • RFC 8097 定义了一个非传递扩展社区,在自治系统内部携带路由的 Valid、NotFound 或 Invalid 源验证状态。
  • 状态可以成为策略输入,却不能替策略作决定:默认不跨 EBGP,委托验证需要信任,接收、拒绝或调整优先级仍须由本地明确配置。

三个值传递的是结果,不是命令

RFC 6811 定义计算方法:至少一个已验证 ROA 载荷覆盖前缀、允许其长度并匹配源 AS 时为 Valid;没有载荷覆盖时为 NotFound;有覆盖但无匹配时为 Invalid。RFC 8097 用非传递不透明扩展社区中的 0、1、2 表示三种状态。IANA 在 0x43 类型下分配子类型 0x00。保留字段发送时 MUST 为零,接收时忽略。

配置支持的路由器 SHOULD 把该社区附加到发往 IBGP 对等体的 UPDATE。接收方若没有依据本地数据设置状态,看到该社区时 SHOULD 从中得出状态。它得到的是一个计算结果,不是缓存新鲜度、完整路径有效性或应当接收该路由的证明。

RFC 6811 明确保留本地权力:除非策略明确配置,否则实现 MUST NOT 仅因验证状态就把路由排除在 Adj-RIB-In 或决策过程之外。标签为策略提供证据,但不能替代策略。

信任边界默认止于 EBGP

RFC 8097 规定,实现默认 MUST 丢弃从 EBGP 对等体收到的该社区且不继续处理;默认也 SHOULD NOT 向 EBGP 发送。配置可以在有理由时允许例外,例如相邻 AS 受同一管理者控制,但这是一项主动信任决定。

该机制让一台路由器把验证委托给另一台,因此参与者需要适当的信任关系,并考虑传输安全。该社区携带验证结果,但其本身没有密码学认证,仍可能被伪造、过期或由错误设备附加。源验证也不验证完整 AS_PATH。

混合支持带来策略转换义务

若部分内部路由器不支持 RFC 8097,该规范建议运营者制定策略:匹配该社区,再设置另一个以同样方式影响最佳路径的 BGP 属性。否则,同一路由会在内部拓扑中产生不同的实际含义。

实现 SHOULD NOT 发送多个实例。收到多个时,MUST 忽略除数值最大者之外的全部实例。值大于 2 时,MUST 按类似 RFC 7606 的方式丢弃错误社区,但记录该错误仅为 SHOULD。这只是在隔离畸形状态,并不证明剩余路由可信。

证据与边界

RFC 8097 规定编码、状态传递、EBGP 默认规则、混合部署和委托信任;RFC 6811 规定计算并保留本地策略决定;RFC 7606、RFC 7454 与 IANA 分别支撑错误处理、传输保护和分配事实。

这些来源没有说明当前哪些网络使用该社区,也没有量化通用节省或保证两个验证器的数据一致。权力、授权、受益者、成本和反事实均为基于标准的分析。

来源