首页/网络/BGP 与广域网速查/AFI/SAFI:地址族与子地址族
BGP 基础与邻居89 条

AFI/SAFI:地址族与子地址族

BGP 用 AFI(IPv4/IPv6)与 SAFI(单播/组播/VPN)组合标识路由类型:配置 address-family 时理解二者可避免张冠黎戴。

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

两个维度定义一类路由

BGP 用两个维度描述一条路由属于哪一类:AFI(地址族标识,如 IPv4=1、IPv6=2、L2VPN=25)与 SAFI(子地址族标识,如单播=1、组播=2、带标签=4、VPN=128、EVPN=70)。配置 address-family 就是在声明要处理哪一类路由:IPv4 单播、IPv6 单播、VPNv4、EVPN 各自是独立地址族,能力要单独协商,查看命令也各不相同。

基本信息

AFI地址族标识,如 IPv4、IPv6、L2VPN
SAFI子地址族标识,如单播、组播、带标签、VPN、EVPN
协商方式每个地址族独立协商,未激活则不通告该族路由
常见组合IPv4 单播、IPv6 单播、VPNv4、VPNv6、EVPN
命令对应show bgp <afi> <safi> summary 等按族查看
排障要点命令的地址族必须与配置的地址族一致

典型使用场景

  • 双栈部署:IPv4 与 IPv6 地址族分别激活并分别验证
  • MPLS VPN:VPNv4/VPNv6 与普通单播是完全不同的族
  • EVPN 场景:二层路由的概念与 IP 族不同,不能套用同一套排障思路
  • 排障空输出:地址族选错时命令返回空,容易被误判为没有路由
  • 能力审计:确认邻居实际协商了哪些地址族

激活与查看

激活与查看
router bgp 65001
 address-family ipv4 unicast
  neighbor 10.0.0.2 activate           # 激活 IPv4 单播
 address-family ipv6 unicast
  neighbor 2001:db8::2 activate         # 激活 IPv6 单播
!
show bgp ipv4 unicast summary           # 按族查看邻居与路由数量
show bgp ipv6 unicast summary
show bgp vpnv4 unicast all summary      # VPNv4 族的会话与路由

常见地址族组合

AFISAFI用途
IPv4unicast(1)常规互联网与内网路由
IPv4mpls-vpn(128)VPNv4 前缀
IPv4labeled-unicast(4)标签单播场景
IPv6unicast(1)IPv6 路由
IPv6mpls-vpn(128)VPNv6 前缀
L2VPNevpn(70)EVPN 前缀
命令的地址族要与配置的地址族一致:拿 IPv4 的命令查 IPv6,输出为空并不代表没有路由,而是查错了族。这类误判在排障中出现频率很高,先确认族再下结论。
地址族是逐个协商的:会话 Established 只说明基础能力可用,具体某一族(例如 VPNv6 或 EVPN)有没有协商成功,要看该族下的激活状态与邻居的能力协商结果,不能由会话状态推断。

易错点

  • 命令族与配置族不一致:输出为空被误判为无路由,把排查方向整体带偏
  • EVPN 排错沿用 IP 族思路:二层路由概念完全不同,需要按 EVPN 的模型核对
  • 忘记激活地址族:邻居 Up 但该族没有路由,需要在对应地址族下激活并确认协商结果
  • 以为会话建立就所有族都通:每个地址族独立协商,需要逐族验证
  • 跨厂商对照时忽略 SAFI 编号与族命名差异:同一类路由在不同实现中的默认族名称不同,按编号硬套容易配错族,应以厂商文档与协商结果为准

数据来源与参考

  • RFC 4760: AFI/SAFI 定义
  • IANA: SAFI 分配表
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌