BGP反射器联盟属性选路
Posted 南岸青栀*
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BGP反射器联盟属性选路相关的知识,希望对你有一定的参考价值。
文章目录
BGP对等体交互原则
- 1.从IBGP对等体获得的BGP路由,BGP设备只发布给他的EBGP对等体。
- 2.从EBGP对等体获得的BGP路由,BGP设备发布给它所有EBGP和IBGP对等体
- 3.当存在多条到达同一目的地址的有效路由时,BGP设备只将最优路由发布给对等体。
- 4.路由更新时,BGP设备只发布更新的BGP路由
- 5.所有的对等体发送的路由,BGP设备都会接收。
BGP与IGP交互
BGP引入IGP路由
BGP协议本身不发现路由,因此需要将其他路由引入到BGP路由表,实现AS间的路由互通。当一个AS需要将路由发布给其他AS时,AS边缘路由器会在BGP路由表中引入IGP的路由。为了更好的规划网络,BGP在引入IGP的路由时,可以使用路由策略进行路由过滤和路由属性设置,也可以设置MED值指导EBGP对等体判断流量进入AS时选路。
BGP引入路由时支持Import和Network两种方式:
- Import方式是按协议类型,将RIP、OSPF、ISIS等协议的路由引入到BGP路由表中。为了保证引入的IGP路由的有效性,Import方式还可以引入静态路由和直连路由。
- Network方式是逐条将IP路由表中已经存在的路由引入到BGP路由表中,比Import方式更精确。
IGP引入BGP路由
当一个AS需要引入其他AS的路由时,AS边缘路由器会在IGP路由表中引入BGP的路由。为了避免大量BGP路由对AS内设备造成影响,当IGP引入BGP路由时,可以使用路由策略,进行路由过滤和路由属性设置。
BGP属性
Origin属性
AS-Path属性
Next-Hop属性
Local-pref属性
Community属性
MED属性
汇总属性 atomic-aggregate、aggregater
IGP的汇总可分为三部分:
- 1.用汇总路由匹配明细路由
- 2.生成汇总路由并指向空接口
- 3.干点匹配的明细路由
BGP汇总默认不会继承明细的属性。
- 通过atomic-aggregate属性警告下游路由器表示该路由是汇总路由有成环风险
- aggregater属性用于告知汇总路由器的router-id。
- 通过命令as-set继承明细的as-path(as-set)属性,attribute-policy该命令可以用route-policy设置汇总路由的属性,包括orgin,当然也能设置其他属性。
- origin-policy 用于设置汇总明细的范围,匹配的路由才能被汇总
- suppress-policy 用于设置汇总那么明细被抑制,detail-suppressed该命令是所有明细都会被抑制
华为BGP选路规则
BGP路由器将路由通告给邻居后,每个BGP邻居都会进行路由优选,路由选择有三种情况:
该路由是到达目的地的唯一路由直接优选。
对到达同一目的地的多条路由,优选优先级最高的
对到达同一目的地且具有相同优先级的多条路由,必须使用更细的原则进行选择。
BGP计算路由器优先级的规则:
- 1.丢弃下一跳不可达的路由
- 2.优选Preference_Value值最高的路由(私有属性,仅本地有效)
- 3.优选手动聚合>自动聚合>Network>import>从对等体学到的。
- 4.优选AS_Path短的路由
- 5.起源属性IGP>EGP>Incomplete
- 6.对于来自同一AS的路由,优选选用MED值小的。
- 7.优选从EBGP学来的路由(EBGP>IBGP)
- 8.优选AS内部IGP的Metic值最小的路由
- 9.优选Cluster_List最短的路由
- 10.优选Originator_ID最小的路由
- 11.优选Router_ID最小的路由器发布的路由
- 12.优线具有较小IP地址的邻居学来的路由。
BGP反射器
有条件打破IBGP水平分割。一个AS内,运行BGP设备两两间均为IBGP邻居关系,建立数量成指数上升;
反射规则:
1.RR收到来自EBGP路由,会将其发送给其所有的EBGP邻居与IBGP邻居,包含反射器群成员及非成员
2.RR收到一条RRC发送的IBGP路由,会将其发送给所有的EBGP邻居,也会发送给所有的RRC及No-RRC
3.RR收到一条No-RRC发送的IBGP路由器,会将其发送给所有的EBGP邻居及RRC,不会发送给No-RRC
Cluster_List属性
路由反射器和它的客户机组成一个集群(Cluster),使用AS内唯一的Cluster ID作为标识。为了防止集群间产生路由环路,路由反射器使用Cluster_List属性,记录路由经过的所有集群的Cluster ID。Cluster ID为该路由器的Route-ID。
1、当一条路由第一次被RR反射的时候,RR会把本地Cluster ID添加到Cluster List的前面。如果没有Cluster_List属性,RR就创建一个。
2、当RR接收到一条更新路由时,RR会检查Cluster List。如果Cluster List中已经有本地Cluster ID,丢弃该路由;如果没有本地Cluster ID,将其加入Cluster List,然后反射该更新路由。
Originator_ID属性
Originator ID由RR产生,使用RR上一跳路由器的Router ID标识路由的始发者,用于防止集群内产生路由环路。
1、当一条路由第一次被RR反射的时候,RR将Originator_ID属性加入这条路由,标识这条路由的发起设备。如果一条路由中已经存在了Originator_ID属性,则RR将不会创建新的Originator_ID属性。
2、当设备接收到这条路由的时候,将比较收到的Originator ID和本地的Router ID,如果两个ID相同,则不接收此路由。
备份RR:
RR在一个Cluster区域内作为一个非常重要的角色存在,如果RR出现故障,则会为网络带来非常严重的问题,部分路由器将无法获得路由,直接导致网络瘫痪,为避免此类问题发生,可在Cluster区域内配置多个RR,即备份RR。
在有多个RR的环境中,恐出现路由环路,因此,在所有的RR上必须配置相同的Cluster-ID。路由器在接收到路由时会查看Cluster-ID,若Cluster-ID与本地所配置的ID一致,则丢弃该路由
同级反射器:
在一个AS中可能存在多个集群,为了让路由能够在各集群之间进行传递,可配置同级反射器,即在一个集群内,RR与RRC保持关系,在集群之间,各RR之间建立普通的IBGP连接,基于反射器的路由传递原则,这样在一个AS内的所有设备都能够同步路由。
分级反射器:
配置命令:
如果路由反射器的客户机之间重新建立了IBGP全连接关系,那么客户机之间的路由反射就是没有必要的,而且还占用带宽资源。此时可以配置禁止客户机之间的路由反射,减轻网络负担。
在一个AS内,RR主要有路由传递和流量转发两个作用。当RR连接了很多客户机和非客户机时,同时进行路由传递和流量转发会使CPU资源消耗很大,影响路由传递的效率。如果需要保证路由传递的效率,可以在该RR上禁止BGP将优选的路由下发到IP路由表,使RR主要用来传递路由。
[r3-bgp]peer 2.2.2.2 reflect-client 邻居2.2.2.2成为本地的客户端,同时本地成为RR
peer { group-name | ipv4-address | ipv6-address } reflect-client
//配置路由反射器及其客户。
refelctor cluster-id 1.1.1.1
//配置路由反射器的集群ID。
undo reflect between-clients
//禁止客户机之间的路由反射。
routing-table rib-noly [ route-policy route-policy-name ]
//禁止BGP将优选的路由下发到IP路由表。
BGP联盟:
解决AS内部的IBGP网络连接激增问题,除了使用路由反射器之外,还可以使用联盟(Confederation)。联盟将一个AS划分为若干个子AS。每个子AS内部建立IBGP全连接关系,子AS之间建立联盟EBGP连接关系,但联盟外部AS仍认为联盟是一个AS。配置联盟后,原AS号将作为每个路由器的联盟ID。
优点:
- 可以保留原有的IBGP属性,包括Local Preference属性、MED属性和NEXT_HOP属性等;
- 联盟相关的属性在传出联盟时会自动被删除,即管理员无需在联盟的出口处配置过滤子AS号等信息的操作。
联盟与反射器对比
路由反射器 | 联盟 |
---|---|
不需要更改现有的网络拓扑,兼容性好。 | 需要改变逻辑拓扑。 |
配置方便,只需要对作为反射器的设备进行配置,客户机并不需要知道自己是客户机。 | 所有设备需要重新进行配置。 |
集群与集群之间仍然需要全连接。 | 联盟的子AS之间是特殊的EBGP连接,不需要全连接。 |
适用于中,大规模网络 | 适用于大规模网络 |
配置:
confederation id { as-number-plain | as-number-dot }
//配置联盟ID
confederation peer-as { as-number-plain | as-number-dot } &<1-32>
//指定属于同一个联盟的子AS号。
confederation nonstandard
//配置联盟的兼容性。
以上是关于BGP反射器联盟属性选路的主要内容,如果未能解决你的问题,请参考以下文章