首页/网络/BGP 与广域网速查/起源 AS 核对:^65002$ 的用法
路由过滤与重分发66 条

起源 AS 核对:^65002$ 的用法

核对某前缀是否由指定 AS 起源:^65002$ 表示路径中只有该 AS(对端本地起源),^65002_ 表示从该 AS 或其下游进入。

BGP 与广域网速查网络更新于 2026-10-13

三种写法含义不同

用 AS_PATH 正则核对起源是最常用的过滤手段,但三种写法范围完全不同:^65002$ 表示路径中只有 65002(该 AS 本地起源),^65002_ 表示以 65002 开头(从该 AS 或其下游方向进入),_65002_ 表示路径任意位置包含 65002。写错写法会得到与预期相差很远的过滤结果。

基本信息

^65002$路径仅含 65002,即该 AS 本地起源
^65002_以 65002 开头,即从该 AS 或其传播链方向进入
_65002_路径任意位置包含 65002
查看命令show ip bgp regexp <正则>
使用前提AS_PATH 是空格分隔串,锚点决定匹配边界
注意差异联盟与 4 字节 ASN 的显示格式会影响核对结果

典型使用场景

  • 起源核对:只接受由指定 AS 起源的路由
  • 客户路由识别:从客户 AS 或其下游进入的路由用 ^65002_ 匹配
  • 路径分析:用 _65002_ 统计某 AS 在现网中的出现情况
  • 割接验证:用正则统计数量验证过滤前后的变化
  • 跨厂商核对:核对前统一 ASN 显示格式,避免误判

过滤与查看

过滤与查看
ip as-path access-list 50 permit ^65002$      # 只允许 65002 本地起源
!
show ip bgp regexp ^65002$                    # 起源为 65002 的路由
show ip bgp regexp _65002_                    # 路径中含 65002 的路由
show ip bgp regexp ^65002_                    # 从 65002 方向进入的路由

三种写法的差别

写法匹配范围典型用途
^65002$路径只含 65002该 AS 本地起源的路由
^65002_以 65002 开头且后面还有其他 AS从该 AS 或其下游方向进入
_65002_任意位置包含 65002统计与路径分析
.*任意路径兜底放行
最常见的期望落差是「用 ^65002$ 期待收到客户路由」:客户通告的路径更长,永远匹配不上,应改用 _65002_ 或按实际路径构造模式。
核对前统一 ASN 显示格式:联盟与 4 字节 ASN 在部分平台显示为不同写法,格式不一致时正则匹配结果会与预期偏离,先在两端确认显示口径。

易错点

  • 用 ^65002$ 期待收到客户路由:客户路径更长,需要 _65002_ 或具体模式
  • 忽略联盟与 4 字节 ASN 的显示差异:联盟子 AS 在路径中的显示形式与常规 AS 不同,照搬常规正则会漏匹配,核对前要统一显示口径
  • 漏写锚点:AS_PATH 是空格分隔串,缺少锚点会匹配到额外号段
  • 只写正则不做统计:过滤范围是否符合预期只有数量对比能给出答案,用正则查看命令核对前后数量
  • 把模式写得过度精确:路径随拓扑变化增长,过窄的模式会随变更失效

数据来源与参考

  • Cisco: show ip bgp regexp
  • RFC 4271: AS_PATH
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌