目录
BGP 特性分为「公认必遵属性」「公认任意属性」「可选过度属性」「可选非过度属性」
公认必遵属性:所有 BGP 设备都可识别此类属性且必须存在于 Update 报文中
公认任意属性:所有 BGP 设备都可识别此类属性且可以不存在于 Update 报文中
可选过度属性:厂商私有属性,BGP 设备可以不识别此类属性,但仍会接收转发
可选非过度属性:厂商私有属性,BGP 设备可以不识别此类属性,若不识别则忽略且不转发
(1)协议首选值(PrefVal)
华为 BGP 私有属性;本地有效不传递给任何 BGP 邻居;默认为 0;越大越优
当不想影响其他设备的选路时,可以使用协议首选值
preferred-value
(2)本地优先级(Local_Pref)
公认任意属性;只在一个 AS 内部传递;默认 100,越大越优
应用在 AS 内存在多个出口时
- local-preference「优先级」:修改路由本地优先级
- default local-preference:修改默认本地优先级
(3)优选本地生成的路由
当下一跳为 127.0.0.0 或 0.0.0.0 时,即为本地产生路由
本地路由优先级:手动聚合 > 自动聚合 > network > import > 从对等体学来的路由
(4)优选 AS_Path 最短的路由
公认必遵属性
- as_path「AS号」add:增加AS列表
- as_path「AS号」overwrite:用新的AS列表覆盖原有AS列表
- as_path「AS号」none overwrite:删除原有AS列表
- bestroute as-path-ignore:忽略as_path路径属性
(5)比较 Origin 属性(起源属性)
依次优选 Origin 类型为:IGP > EGP > Incomplete
i(IGP):network
e(EGP):表明是从 EGP 协议学到的路由
?(Incomplete):import-route
(6)优选 MED 最低的路由
BGP 的 Cost;可选非过度属性;越小越优;若报文中不携带 MED 默认为 0
默认情况下,只有两条 BGP 路由 as_path 中最左边的 AS 号相同时才进行 MED 比较
MED = 变为 BGP 路由前的 Cost 值
IBGP → EBGP,EBGP → EBGP:不携带 MED
IBGP → IBGP,EBGP → IBGP:携带携带 MED
- compare-defference-as-med:允许比较不同as号的med值
- diterministic-med:优先比较最左边的AS号
(7)EBGP > IBGP
(8) 优选下一跳 metric 小的路由
(9)负载分担,需 AS_Path 相同且手动开启
AS_Path 相同:AS 号相同;AS 数量相同;AS 顺序相同
无论是否开启负载,BGP 设备都会选取一条最佳路由传递给邻居
- maximum load-balancing ?
- integer:针对ibgp和ebgp路由开启负载
- ibgp:针对ibgp路由开启负载
- ebgp:针对ebgp路由开启负载
-
- load-balancing as-path-ignore:负载分担时不比较as_path属性
限制 BGP 路由传递范围,打上 Tag;团体属性不会自动传递给邻居,需要在设备上开启团体属性传递功能
GBP 团体属性分为「公共团体属性」「自定义团体属性」
公共团体属性分为「Internet」「No Advertise」「No Export」「No Export Subconfed;团体属性存在多个时,选择范围更小的。
internet:默认所有 BGP 路由都属于该团体,具有该属性的路由可以传递给其他对等体
no advertise:具有该属性的路由不能被通告给其他对等体
no export:收到了具有该属性的路由不会传递到其他 AS 区域;可发布给联盟的其他子 AS
no export subconfed:不能发布到别的 AS,包括联盟 AS
自定义团体属性
共 4 字节,对 GBP 路由实现标记;分为「aa:nn」「团体号」
aa:nn:aa 和 nn 分别占 2 字节,取值范围:0 ~ 65535
团体号:4 字节全部用十进制表示,其中一些存在私有范围
- community「团体属性或自定义团体属性」:添加团体属性或自定义团体属性
- peer「IP」advertise-community:开启团体属性
- ip community-filter「名」permit「自定义团体属性」:定义团体列表
- 只要其中包含该自定义团体属性则匹配,顺序无关
自动聚合:只能聚合有类网络;入方向不能进行 route-policy;只针对本设备 import-route 的路由有效;
手动聚合:需要路由表中有效的路由;聚合路由属于本地始发路由,会通告给所有邻居;协议首选值默认为 0;本地优先级默认为空;as-path 默认为空;origin属性选大;MED 默认为空
s:代表被抑制的路由
产生聚合路由时,自动生成一条指向 Null 0 的聚合路由,用于防环
产生聚合路由时,自动生成一条可选过度属性, Aggregator(产生的 AS)和 Aggregator ID(产生路由信息的 RID),用于标识。
添加 detatil-suppressed 后,自动添加 Atomic-Agreegate(公认任意属性),用于提示管理员路由出现丢失。

- summary automatic
- aggregate「网段」「掩码」:聚合
- aggregate「网段」「掩码」detail-suppressed:抑制明细路由
- aggregate「网段」「掩码」as-set:使产生的路由携带明细AS号