BGP属性
Origin
Origin属性定义路径信息的来源,标记一条路由是怎么成为BGP路由的。
AS_Path
如图所示:
AS 1内的RTA能够从RTB与RTC收到100.0.0.0/24的路由,RTA如何进行自动优选? RTA->RTB->RTC之间在拓扑上存在环路,RTB->RTC->RTD->RTE之间在拓扑上也存在环路,因此BGP在路由传递的过程中也可能存在路由环路
EBGP的防环措施:AS不接受含有自己AS号的路由
AS_Path也可以用来选路,AS_Path短的,他就优
Next_hop
在一个AS内部,某个路由器宣告了自己的一个接口,这个接口和他AS内部的邻居以这个接口建邻,在这个路由器自己里面,他的吓一跳是0.0.0.0,传给内部的邻居时,会改变
Local_Preference
Local_Pref属性仅在IBGP邻居之间有效,不通告给其他AS。它表明路由器的BGP优先级,用于判断流量离开AS时的最佳路由。
MED
MED(Multi-Exit-Discriminator)属性仅在相邻两个AS之间传递,收到此属性的AS不会再将其通告给任何其他第三方AS,用于判断流量进入AS时的最佳路由。
这个与开销值类似,小的比较好
默认值为0,传播范围只能传播一次的EBGP邻居(两个AS之间传)
正常情况下,EBGP邻居之间的传递是不带MED的,但可以设置
来自不同AS的MED不具有可比性
Community
BGP的Community属性的两个作用:
1、限定路由的传播范围。
2、打标记,便于对符合相同条件的路由进行统一处理。
BGP路由优选原则
BGP路由器将路由通告给邻居后,每个BGP邻居都会进行路由优选,路由选择有三种情况:
该路由是到达目的地的唯一路由,直接优选。
对到达同一目的地的多条路由,优选优先级最高的。
对到达同一目的地且具有相同优先级的多条路由,必须用更细的原则去选择一条最优的。
一般来说,BGP计算路由优先级的规则如下:
丢弃下一跳不可达的路由。
优选Preference_Value值最高的路由(私有属性,仅本地有效)。
优选本地优先级(Local_Preference)最高的路由。
优选手动聚合>自动聚合>network>import>从对等体学到的。
优选AS_Path短的路由。 起源类型IGP>EGP>Incomplete。
对于来自同一AS的路由,优选MED值小的。
优选从EBGP学来的路由(EBGP>IBGP)。
优选AS内部IGP的Metric最小的路由。
优选Cluster_List最短的路由。
优选Orginator_ID最小的路由。
优选Router_ID最小的路由器发布的路由。
优选具有较小IP地址的邻居学来的路由。
Preference_Value对选路的影响
Preference_Value是BGP的私有属性(华为私有属性),Preference_Value相当于BGP选路规则中Weight值,仅在本地路由器生效。Preference_Value值越大,越优先。
聚合方式对选路的影响
聚合路由的优先级:手动聚合>自动聚合。
EBGP邻居的路由优于IBGP邻居的路由
根据选路原则,RTA会优选从EBGP邻居学来的路由。
AS内部IGP Metric对BGP选路的影响
如图所示,通过调整OSPF Cost,可以使RTA选择高带宽路径访问200.0.0.0/24网段。
Router-ID与IP地址对BGP选路的影响
如图所示,RTA选择通过RTB访问AS内的200.0.0.0/24的网段,出接口为10.1.12.1地址所在的接口
BGP路由聚合
BGP路由聚合原因
BGP在AS之间传递路由信息,随着AS数量的增多,单个AS规模的扩大,BGP路由表将变得十分庞大,因此带来如下两类问题:
- 存储路由表将占用大量的内存资源,传输和处理路由信息需要消耗大量的带宽资源;
- 如果传输的路由条目出现频繁的更新和撤销,对网络的稳定性会造成影响。
BGP路由聚合的必要性
如图所示,AS 100内有4个用户网段,AS 200内有4个用户网段。AS 300连接了一个Client AS,该AS内的路由器比较低端,处理能力较低,因此既希望能访问AS 100与AS 200内的网段,又不希望接收过多的明细路由,这时就需要使用BGP路由聚合
BGP路由聚合方法 - 静态
AS 100内有4个用户网段,RTA通过路由聚合屏蔽明细路由,只将一条聚合后的路由10.1.8.0/22发布给AS 200内的RTB。
BGP路由聚合方法 - 自动聚合
BGP路由聚合方法 - 手动聚合
BGP路由聚合带来的问题 - 潜在环路
BGP路由聚合带来的问题 - 解决方法