问题描述
当路由器通告 BGP Route 给它的 Peer 时,该路由将会携带多个 Path Attribute(路径属性),这些属性用于描述 BGP Route 的各项特征,同时在某些场景下也会影响 BGP 路由优选的决策。
相比 IGP 协议,IGP 协议只有单一的 Cost(开销)来控制选路,而 BGP 则是通过这些 Path Attribute 来控制灵活选路。
该笔记将记录:与 BGP Path Attribute 相关知识,以及常见问题的解决方案。
解决方案
任何 BGP Route 都拥有多个 Path Attribute 信息,无一例外;
示例如下,在 BGP Update 中的 Path Attribute 信息:
... Border Gateway Protocol - UPDATE Message Marker: ffffffffffffffffffffffffffffffff Length: 55 Type: UPDATE Message (2) Withdrawn Routes Length: 0 Total Path Attribute Length: 27 Path attributes # 该 BGP Update 报文包含 5 个路径属性 Path Attribute - ORIGIN: IGP Path Attribute - AS_PATH: 200 Path Attribute - NEXT_HOP: 10.1.12.1 Path Attribute - MULTI_EXIT_DISC: 0 Network Layer Reachability Information (NLRI) 10.1.1.1/32
在路径选择上,BGP 具有丰富的可操作性,能够在不同场景下选择最合适的路径控制方式,因为:
1)每条 BGP Route 定会携带多种路径属性(Path attribute),
2)BGP 能够通过这些 Path Attribute 控制路径选择(不像 IS-IS、OSPF 只能通过 Cost 控制路径选择)。
3)当 Router 将 BGP Route 通告给它的 Peer 时,一并被通告的还有路由所携带的各个路径属性;
路径属性分类
公认属性
解释:所有路由器厂商必须支持的属性,遇到这些属性,BGP Router 必须能够进行处理。
公认强制属性(公认必遵,Well-known Mandatory):
1)该类型属性**必须**存在于每个 Update 报文中;
2)任何厂商的设备必须能够解析该类型属性;
3)AS-Path、Origin、Next-Hop(目前,仅有该三个属性,没有第四个);
公认自由属性(公认任意,Well-known Discretionary):
1)该类型属性**可能**存在与每个 Update 报文中;
2)如果存在,任何厂商设备必须能够识别;
Local-Preference、Atomic-Aggregate
可选属性
解释:厂商相关属性,该类型属性不需要都被 BGP Router 所识别。
可选传递(可选过渡,Optional Transitive):
1)对于 BGP 设备,允许其不识别此类属性,
2)但依然会接受该类属性,并通告给其他对等体(是否传递取决是属性是否标注自身为传递)。
3)可选传递的完整属性;可选传递的部分属性
Aggregator、Community、
Cluster-List (RR)、Originator-ID (RR)
可选非传递(可选非过渡,Optional Non-transitive):
1)对于 BGP 设备,允许不识别此类属性,会忽略该属性,
2)且不会通告给其他对等体;
路径属性说明
在学习路径属性的相关内容时,需要关注:
1)属性概述:类型(其所属类型)、作用(概述其作用)、演示(该属性样貌);
2)功能说明:详细介绍该属性在 BGP Routing 中所发挥的作用;
3)变更规则:比较规则;传递规则;取值规则;