RD 只管唯一化
VRF 里的 IPv4 前缀只在实例内唯一,不同 PE 上可能存在完全相同的网段。RD(Route Distinguisher)被加在前缀前面组成 VPNv4 地址,作用是把它们区分开,让不同实例的路由在骨干上互不覆盖。它不决定谁能收到——决定导入导出范围的是 RT(Route Target),两者混淆是 L3VPN 排查里最常见的一类误会。
基本信息
| 作用 | 使 VPNv4 前缀全局唯一,避免不同 VRF 的同网段互相覆盖 |
|---|---|
| 与 RT 的分工 | RD 唯一化前缀,RT 决定导入与导出范围 |
| 分配惯例 | 常见按「每 PE 一个编号」分配,便于从 RD 反查来源设备 |
| 可见范围 | RD 参与 VPNv4 地址构造,在 VPNv4 表中可见 |
| 适用平台 | Cisco IOS/IOS-XE、华为 VRP、Juniper Junos 均支持,写法略有差异 |
典型使用场景
- 新建客户 VRF:先确定 RD 分配规范,再规划 RT 以决定互通范围
- 排障路由互相覆盖:两个来源用了相同 RD,VPNv4 表中前缀被覆盖
- 从 RD 快速定位来源:按编号规范反查是哪台 PE 注入的路由
- 合并与搬迁:把客户从一台 PE 迁到另一台,RD 是否需要变更需先评估
- 审计 VRF 规划:检查是否存在 RD 重复、RT 与 RD 混用等不规范配置
查看与核对
查看与核对
# Cisco:查看 VRF 的 RD 与 RT
show ip vrf detail CUST-A | include RD|Export|Import
# 查看 VPNv4 表中的前缀与 RT
show ip bgp vpnv4 all 10.10.1.0
# 华为 VRP
display ip vpn-instance CUST-A verbose
display bgp vpnv4 all routing-table 10.10.1.0RD 常见格式
| 格式 | 示例 | 说明 |
|---|---|---|
| Type 0:两字节 ASN:编号 | 65001:1 | 编号部分可自定义,最常见的写法 |
| Type 1:IPv4 地址:编号 | 192.0.2.1:1 | 用管理地址标识来源,便于定位设备 |
| Type 2:四字节 ASN:编号 | 65536:1 | 四字节 AS 场景下的编码,兼容写法以平台实现为准 |
| 重复 RD | 两台 PE 使用同一 RD | 同网段路由会互相覆盖,属规划缺陷 |
改 RD 不会改变通告范围,改 RT 才会。定位「客户 A 收到了客户 B 的路由」这类问题时,先看 RT 的导入导出配置,再看 RD 是否重复。
客户从一台 PE 迁到另一台时,若新 PE 沿用原有 RD,可减少前缀重新通告带来的波动;前提是新旧承载不会同时在线,否则相同 RD 会导致前缀互相覆盖。