跳到主要内容
LARUS
导航

技术指南

BGP、IRR 与 RPKI 不一致:排查路由与可达性问题

当 BGP、IRR 与 RPKI 不一致时,客户路由可能只在部分网络失效。快速定位差异、恢复一致,让 IPv4 部署在 LARUS Continuity 支持下持续运行。

让 IPv4 持续可用

客户在某些网络能访问 API,在另一些网络却连不上?很多时候,答案就在路由本身。BGP、IRR 与 RPKI 记录不一致,会让一次普通的 ASN 迁移、上游切换或 IPv4 部署变成部分网络不可达。

这篇文章帮助网络运营商把模糊的路由症状变成明确的生产动作:先确认应该运行的路由状态,再让支撑这条路由的各层记录保持一致,最后确保业务真正依赖的 IPv4 容量可以持续使用。

BGP、IRR 与 RPKI 不一致:快速解答

BGP、IRR 与 RPKI 不一致,是指实时 BGP 路由中的 Origin 信息,与 IRR 路由对象、RPKI Route Origin Authorization(ROA)或两者发布的信息不一致。

例如,BGP 可能显示 AS64501,而 IRR 对象和 ROA 仍然写着 AS64500。这可能是合法的新部署、尚未完成的网络迁移,也可能是配置问题。对业务来说,真正的影响是:不同网络可能对同一条路由作出不同判断,客户的连接因此忽好忽坏。

先找到客户真正需要访问的路由,让每一层记录都支持它,再从多个网络验证结果。

需要了解协议背景时,可以继续阅读 BGP 的作用(英文)、IRR 路由对象、ROA 授权和 RPKI。

BGP、IRR 与 RPKI 分别告诉你什么

这三套系统需要协同工作,但它们回答的是不同的运营问题。

BGP、IRR 与 RPKI 回答不同的路由问题
层它展示什么运营商要确认什么
BGP实时可达性和路径信息现在是哪个 ASN 在宣告这个前缀?
IRR已发布的路由策略预期由哪个 ASN 发起这个前缀?
RPKI / ROA可通过密码学验证的 Origin 授权哪个 ASN 获得授权,允许的最大前缀长度是多少?

BGP 展示互联网正在看到什么;IRR 帮助网络生成路由过滤规则;RPKI 则让网络验证 Origin ASN 是否获授权,以及宣告长度是否在 ROA 允许范围内。健康的部署会让三层记录讲述同一个生产故事。

BGP:实际上正在宣告什么?

边界网关协议(BGP,英文)用于在自治系统之间交换可达性信息。检查一个前缀时,应同时关注 Origin ASN、AS Path、前缀长度、上游可见性和更具体的路由宣告。

IRR:已发布的路由策略是什么?

Internet Routing Registry 中的路由对象通常把一个前缀和 Origin ASN 关联起来:

route: 203.0.113.0/24
origin: AS64500

网络可以根据这类公开策略生成过滤规则。如果 ASN 迁移后对象仍保留旧 ASN,新的合法宣告也可能在到达客户前被过滤。可以继续阅读 什么是 IRR 路由对象。

RPKI 与 ROA:什么获得了授权?

RPKI 提供可验证的授权链。ROA 会说明哪个 Origin ASN 可以宣告某个前缀,以及允许的最大前缀长度。RFC 9582介绍了当前 ROA 规范。当 Origin 或前缀长度与 ROA 不一致时,启用 Route Origin Validation 的网络可能拒绝这条路由。

生产环境中的不一致是什么样的

假设预期路由是:

203.0.113.0/24 → AS64500
一致的路由状态
层发布或观察到的状态对客户的意义
BGPAS64500可达性符合预期宣告
IRRAS64500策略过滤能够识别这条路由
RPKIAS64500 已获授权ROV 可以验证 Origin

ASN 迁移后,同一个前缀可能呈现不同的生产状态:

迁移后的路由不一致状态
层迁移后状态对客户的影响
BGPAS64501部分网络可能看到不同的 Origin。
IRRAS64500根据旧记录生成的过滤规则可能仍然期待旧 Origin。
RPKI / ROAAS64500 已获授权新的 Origin 可能无法通过 ROV 验证。
结果各层记录不一致客户可能在一个网络可达,在另一个网络却无法访问。

ASN 迁移后,实际状态可能变成:

BGP:AS64501
IRR:AS64500
ROA:AS64500

部分网络可能继续接受这条路由,另一些网络却会根据 IRR 过滤或 RPKI 验证拒绝它。于是团队看到“路由是通的”,客户却仍然无法从另一家运营商或云网络访问服务。

最常见的路由不一致场景

常见模式与下一步检查
模式通常发生了什么先检查什么
BGP 与 IRR 不同实时 Origin 变了,或路由对象过期确认预期 Origin 和上游使用的过滤来源
BGP 与 RPKI 不同宣告或 ROA 已经不再匹配检查 ROA 中的 Origin ASN 与 MaxLength
BGP 与 RPKI 一致,但 IRR 不同策略记录没有同步更新确认是否有基于 IRR 的过滤器拒绝路由
ASN 一致,但前缀长度不同更具体的宣告超过允许长度对照宣告与 ROA MaxLength

为什么这会影响客户 API 和服务器

路由不一致不一定会造成全网中断,更常见的是更昂贵的部分故障:某个运营商、地区或云平台可以访问,另一个却不行。结果是客户 API 超时、监控不断告警、支持工单增加,原本看似准备好的上线实际上还没有覆盖完整网络。

真正有价值的结果,是让客户稳定访问,而不是让地址只在表格里“存在”。地址、授权、路由策略和实时宣告需要在网络变化时一起移动,业务才能顺利扩容。

为什么记录会失去一致性

  • 基础设施迁移时更换了 Origin ASN;
  • 切换了 Transit Provider 或上游路径;
  • 租赁或转让的 IPv4 地址块进入新的生产网络;
  • IRR 对象已经更新,但 ROA 没有更新,或者反过来;
  • ROA 的 MaxLength 没有覆盖实际宣告的前缀;
  • 地址或网络变更后,旧的 IRR 对象仍然存在;
  • 自动化只更新了一套路由系统,遗漏了另一套。

这些都是正常的网络变化。真正的业务风险,是变更已经进入生产环境,而各层记录还没有描述同一个目标状态。

如何排查 BGP、IRR 与 RPKI 不一致

1. 先确定客户必须访问的路由

写下前缀、预期 Origin ASN、允许的前缀长度以及应该宣告它的网络。先从客户结果出发:哪个 API、服务器或业务服务必须恢复可达?

2. 检查实时 BGP

从多个观测点或网络对照 Origin ASN、AS Path、前缀长度、More-specific 和可见性。单个 Looking Glass 只能展示路由的一部分。

3. 检查 IRR 路由对象

确认对象使用的是预期 Origin,并且属于上游采用的路由策略。如果过滤器由 IRR 数据生成,还要确认何时重建并应用变更。

4. 检查 ROA 与 RPKI 状态

Valid 表示宣告符合覆盖它的授权;Invalid 表示存在相关授权,但 Origin 或前缀长度不匹配;NotFound 表示没有经过验证的 ROA 覆盖这条路由。

5. 回看最近的网络变更

检查 ASN 迁移、上游切换、地址转让、租赁启用、自动化运行和维护计划。最新的变更通常能解释哪一层已经落后于生产路由。

6. 修正已经无法反映部署状态的那一层

与网络和上游团队协调变更顺序,让路由记录更新期间仍保留可用路径。不要盲目改动正在工作的层,目标是让生产状态重新一致。

7. 从多个网络验证

更新后再次检查 BGP 可见性、IRR 过滤和 RPKI 验证,并从真正重要的运营商、云网络或客户网络访问 API 和服务器。

租赁或迁移 IPv4 前,确认五层准备就绪

把新前缀投入生产前,建议把五层放在同一张检查表里:

保持 IPv4 部署可用的五个层面
层面面向客户的实际问题
资源地址容量是否已经匹配业务负载?
授权预期网络是否可以宣告这个前缀?
策略上游过滤器能否识别这条路由?
安全RPKI 是否接受预期 Origin 和前缀长度?
运营客户能否从真正重要的网络访问服务?

需要了解部署路径时,可以阅读如何租赁 IPv4 地址块(英文)。想了解 registry 记录变化的运营背景,可以阅读卢恒关于 registry 记录变化的文章。

用 LARUS 让生产 IPv4 持续可用

LARUS 把第一方 IPv4 供应与让地址真正进入生产的路由工作连接起来。新部署、ASN 迁移或上游切换时,客户需要的不只是一个可用前缀,还需要地址、路由策略、ROA、反向 DNS 和连续性支持跟着业务一起推进。

这就是 LARUS IPv4 Leasing & Continuity 的价值:网络运营商可以直接获得容量,并由同一套 Continuity 服务支持部署持续运行。用 Unlimited IPv4 支撑增长,把一次路由排查直接推进到可执行的连续性方案。

常见问题

什么是 BGP、IRR 与 RPKI 不一致?

就是实时 BGP Origin 与 IRR 对象、RPKI ROA 或两者发布的 Origin 信息不一致。

出现不一致是否意味着 BGP 一定错了?

不一定。BGP 可能已经反映了最近的网络变更,而策略或授权记录还没有同步。应该运行的生产状态决定哪一层需要更新。

BGP 与 RPKI 不一致会发生什么?

路由可能被判定为 RPKI Invalid,并被启用 ROV 的网络拒绝。因此,即使部分网络仍能看到宣告,其他网络也可能无法访问。

BGP 与 IRR 不一致会发生什么?

使用 IRR 生成过滤规则的网络可能无法识别或接受这条宣告。影响取决于不同上游使用的策略数据和过滤方式。

路由可以是 RPKI Valid,但在 IRR 中没有记录吗?

可以。IRR 与 RPKI 是两套独立系统。有效 ROA 不会自动创建 IRR 路由对象,IRR 对象也不会自动创建 ROA。

RPKI NotFound 与 Invalid 一样吗?

不一样。NotFound 表示没有覆盖这条路由的 ROA;Invalid 表示存在覆盖授权,但 Origin 或允许的长度不匹配。

RPKI 会取代 IRR 吗?

不会。RPKI 用密码学方式授权 Origin,IRR 发布供运营过滤使用的路由策略。两者描述同一个目标状态时,生产路由更容易稳定运行。

如何修复 BGP、IRR 与 RPKI 不一致?

先确定目标前缀和 Origin,再对照实时 BGP、IRR 对象和 ROA,按正确顺序更新过时的一层,最后从多个网络验证路由传播。

结语

BGP 展示正在宣告什么,IRR 展示预期的路由策略,RPKI 验证 Origin 是否获得授权。三者不一致时,客户看到的就是“有些地方能访问,有些地方访问不了”。

围绕生产路由统一记录、验证客户访问路径,并选择能够跟上网络增长的 IPv4 容量。LARUS Continuity 把这些运营工作与第一方 IPv4 供应连接起来,让下一次部署继续向前。

保持生产可达

把路由排查推进成连续性方案。

用 Unlimited IPv4 支撑增长,从路由不一致走向客户真正能够访问的生产路径。

让 IPv4 持续可用