路径属性的四分类
BGP 的每条路径都携带一组路径属性。属性报文头里有两个标志位:well-known 与 optional,以及 transitive 与 non-transitive。这两个标志组合出四类属性,决定了设备收到不认识的属性时是丢弃、忽略还是继续传递,也决定策略应当写在哪个方向。选路、过滤、跨 AS 打标全部建立在这个分类之上。
分类与代表属性
| 类别 | 代表属性 | 传递行为 |
|---|---|---|
| 必遵(well-known mandatory) | AS_PATH、NEXT_HOP、ORIGIN | 所有 Update 必须携带,随路由传播 |
| 必遵可选(well-known discretionary) | LOCAL_PREF、ATOMIC_AGGREGATE | LOCAL_PREF 在 AS 内传播,不出 AS |
| 可选传递(optional transitive) | COMMUNITY、AGGREGATOR、AS4_PATH | 跨 AS 继续传播,跨厂商互通性好 |
| 可选非传递(optional non-transitive) | MED、ORIGINATOR_ID、CLUSTER_LIST | 不跨 AS 传递,只在本地或 AS 内有效 |
基本信息
| 未知属性处理 | 非传递属性被忽略且不转发,传递属性会被继续携带 |
|---|---|
| 部分位 | 传递未识别属性时置部分位,提示路径上存在不识别该属性的设备 |
| 社区类属性 | COMMUNITY 与 Large Community 均属可选传递 |
| 策略落点 | MED 用于与对端协商,LOCAL_PREF 用于本 AS 内部选择 |
| 查看方式 | show ip bgp <前缀> 逐项显示属性值 |
典型使用场景
- 设计跨 AS 打标方案:使用可选传递属性,保证标签能到对端
- 排查「打标不生效」:确认所用属性是否属于可传递类别,以及邻居是否开启对应发送开关
- 多入口网络调整:用 LOCAL_PREF 在 AS 内统一偏好,用 MED 与邻居协商入口
- 聚合路由场景:理解 ATOMIC_AGGREGATE 的含义,避免误以为它带有聚合明细信息
- 跨厂商互联:核对双方对同一属性的支持与发送开关,尤其社区与扩展社区
识别属性归属
识别属性归属
show ip bgp 10.100.0.0/16
# 输出中的属性行为:
# AS Path / Next Hop / Origin → 必遵属性
# LocPrf → AS 内生效,不出 AS
# Community → 可选传递,可跨 AS
# Metric(MED) → 可选非传递,出 AS 不携带
# Originator / Cluster list → 反射器使用,不跨 AS
!
show ip bgp 10.100.0.0/16 | include Community发送开关与属性落地
发送开关与属性落地
# 社区属性需要在邻居上显式开启发送
router bgp 65001
neighbor 10.0.0.2 send-community
neighbor 10.0.0.2 send-community extended
!
# 校验对端是否收到
show ip bgp 10.100.0.0/16
# Community 列有值说明发送与接收链路都正常ATOMIC_AGGREGATE 只表示「这条路由经过聚合、丢失了部分明细信息」,它不携带任何明细数据。真正的明细丢失信息由 AS_SET 形式的 AS_PATH 部分体现,排障时不要把它当成可分析的数据源。