BGP认证备考:13条选路原则、属性详解与配置精要

这篇文章写给谁?

准备HCIP、CCNP或者同类网络认证考试的你。BGP在考试中的权重大概占**30%-40%**,是必考题也是高频丢分题。

本文不重复入门科普的基础概念,直接聚焦考试会考什么

一、BGP路径属性全表(必背)

BGP路由携带一组”属性”,选路原则就是对这些属性逐一比较。属性分四大类:

类别 说明 例子
公认必遵 所有BGP实现必须识别,必须在Update中携带 Origin、AS-Path、Next-Hop
公认自决 必须识别,但不一定携带 Local-Pref、Atomic-Aggregate
可选传递 可以不识别,但必须传递给邻居 Community、Aggregator
可选非传递 可以不识别,也不需要传递 MED、Originator-ID、Cluster-List

核心属性速查

属性 类型 传播范围 选路方向 默认值
Weight 思科私有 本地 越大越优 本地始发32768,学到0
Local-Pref 公认自决 AS内 越大越优 100
AS-Path 公认必遵 全网 越短越优
Origin 公认必遵 全网 IGP>EGP>?
MED 可选非传递 邻接AS 越小越优 0
Next-Hop 公认必遵 全网

二、13条选路原则逐条精讲(华为/H3C版)

❗ 前提条件:下一跳可达、路由未被惩罚、未被入向策略拒绝

第1条:首选值 Preferred-Value(华为私有)

  • 范围:0~65535,只在本地路由器生效
  • 作用:华为/H3C版的”Weight”,用来给特定邻居的路由加权重
  • 配置
    1
    2
    bgp 100
    peer 10.1.1.1 preferred-value 200
  • 考试点:这是华为/H3C特有属性,思科用Weight。问”哪个属性只在本地有效”——答Preferred-Value或Weight。

第2条:本地优先级 Local-Preference(越大越优)

  • 传播:只在IBGP邻居之间传递,不出AS
  • 用途:控制本AS的出方向流量选哪条路
  • 配置
    1
    2
    3
    4
    5
    6
    7
    8
    9
    # 方式一:全局默认
    bgp 100
    default local-preference 200

    # 方式二:route-map针对特定路由
    route-map SET-LP permit 10
    set local-preference 200
    bgp 100
    peer 10.1.1.1 route-policy SET-LP import
  • 考试陷阱:EBGP邻居收到的路由带了Local-Pref会触发Notification,断开邻居

第3条:本地始发优先

  • 优先级:network命令 > import-route引入 > 聚合路由
  • 本地始发的路由Next-Hop=0.0.0.0,Weight=32768
  • 考试点:BGP表中看到Next-Hop=0.0.0.0就说明是本地始发

第4条:最短AS-Path

  • AS-Path记录路由经过的AS号列表
  • 防环机制:收到路由中包含自己AS号→丢弃
  • 配置(AS-Path prepend,增加路径长度影响选路):
    1
    2
    route-policy ADD-AS permit node 10
    apply as-path 100 100 100 additive

第5条:Origin起源代码(IGP > EGP > incomplete)

起源 BGP表显示 来源
IGP i network命令注入
EGP e 已废弃的EGP协议
Incomplete ? import-route重分布

第6条:最低MED(越小越优)

  • MED影响对端AS的入方向选路
  • 默认只在同一AS的多条路径间比较
  • 跨AS比较需要配置:
    1
    2
    bgp 100
    compare-different-as-med
  • 考试陷阱bestroute med-none-as-maximum——没有MED值的路由,MED按最大值4294967295处理(最差)

第7条:EBGP > 联盟EBGP > 联盟IBGP > IBGP

  • EBGP学到的最优先,然后才选IBGP
  • 联盟(Confederation) 是把大AS拆成子AS,减少IBGP全互联

第8条:到达Next-Hop的IGP代价最小

  • 也就是到BGP下一跳的IGP metric最小
  • 这解释了为什么IGP必须要有BGP Next-Hop的路由

第9条:(华为/H3C版本无此条,用于负载均衡场景)

第10条:最短Cluster-List

  • 路由反射器场景才有意义
  • 每个RR会在Cluster-List中添加自己的Cluster-ID

第11条:最小Originator-ID

  • 也是路由反射器场景
  • Originator-ID是路由始发路由器的Router-ID

第12条:最小Router-ID

  • 如果以上所有都一样,选Router-ID最小的
  • Router-ID选举:手动配的 > Loopback最大IP > 物理口最大IP

第13条:最小对等体地址

  • 如果Router-ID都一样(不太可能),选peer配置中IP最小的
  • 这是最后的”终极决斗”

三、BGP邻居配置(华为命令)

1
2
3
4
5
6
7
8
9
10
11
12
13
# 基本BGP配置
bgp 100
router-id 1.1.1.1
peer 10.1.12.2 as-number 200 # EBGP邻居
peer 2.2.2.2 as-number 100 # IBGP邻居
peer 2.2.2.2 connect-interface LoopBack0 # 用Loopback建IBGP

# 地址族下激活
ipv4-family unicast
peer 10.1.12.2 enable
peer 2.2.2.2 enable
peer 2.2.2.2 next-hop-local # IBGP改下一跳为本地
network 1.1.1.0 255.255.255.0

常见邻居故障速查

现象 原因
Idle卡死 AS号配错、路由不可达
Active循环 TCP不通(ACL、路由问题)
OpenSent后断开 AS号不匹配
Established→Idle Hold timer超时(链路闪断)

四、考试高频问答

Q1:IBGP为什么需要全互联?
A:IBGP水平分割——从IBGP学到的路由不会再传给其他IBGP邻居。解决方案:全互联或路由反射器。

Q2:EBGP和IBGP的TTL分别是多少?
A:EBGP默认TTL=1(直连),IBGP默认TTL=255。EBGP非直连需要peer X.X.X.X ebgp-max-hop

Q3:BGP收敛为什么比OSPF慢?
A:BGP是增量更新,不会定期泛洪整个数据库。更关键的是,BGP有路由阻尼(Route Dampening)机制来抑制频繁翻动。

Q4:Local-Pref和MED的区别是什么?
A:Local-Pref控制出方向流量(影响本AS),MED控制入方向流量(影响对端AS)。方向相反!

五、实验速成:最小BGP拓扑

三个AS互联,验证选路:

1
2
3
4
5
6
  AS100          AS200          AS300
[R1]---EBGP---[R2]---EBGP---[R3]
1.1.1.1 2.2.2.2 3.3.3.3

R1: network 10.1.0.0/16
R3: network 30.1.0.0/16

关键验证命令(华为):

1
2
3
display bgp peer                    # 邻居状态
display bgp routing-table # BGP路由表
display bgp routing-table 10.1.0.0 # 看具体路由的选路详情

本文是”网络工程”系列的第二篇(认证备考)。下一篇将探讨真实生产环境中的BGP故障排查。


BGP认证备考:13条选路原则、属性详解与配置精要
https://yilx.top/2026/05/19/BGP认证备考:13条选路原则、属性详解与配置精要/
作者
Nick
发布于
2026年5月19日
许可协议