BGP边界网关协议(二)

一.BGP路径属性

(1)路径属性分类

公认属性 公认必遵 所有BGP实现都可识别,且在Update报文中必须携带 Origin、AS_Path、Next_Hop
公认自决 所有BGP实现必须都可识别,但不要求必须包含在Update报文中 Local_Preference、ATOMIC_Aggregate
可选属性 可选传递 设备可以不支持该属性,但即使不支持,也应当接收包含该属性的路由并传递给其他对等体 community、Aggregator
可选非传递 设备可以不支持该属性,不识别的BGP进程忽略包含这个属性的路由更新,并且不传递给其他对等体 Originator_ID、MED、Cluster_List、*pre_value

(2)BGP选路原则
1.若此路由下一跳不可达,忽略此路由
2.Preferred_value值大的路由优选
3.Local_preference值高的路由优先
4.聚合路由优先于非聚合路由
5.本地手动聚合路由的优先级高于本地自动聚合的路由
6.本地network命令引入的路由优先级高于本地通过import-route命令引入的路由
7.As_path的长度最短的路径优先
8.比较origin属性,IGP优先于EGP,EGP优先于Incomplete
9.选择MED较小的路由
10.EBGP路由优先与IBGP
11.BGP优先选择到BGP下一跳的IGP度量值最低的路径
当以上全相同,则为等价路由,可负载分担(As_path必须一致,负载分担时,以下三条无效)
12.比较Cluster_List长度,短者优先
13.比较Originator_ID(如果没有,则比较Router-ID),选择小的路径
14比较对等体的IP,选择较小的路径

二.BGP属性选路配置(共12种方法,这里介绍3种常用方法)

(1)根据local-preference控制选路(越大越优,一般用于IBGP之间)
1.属于公认自决属性,用于告诉AS中的路由器,哪条路径是离开AS的首选路径
2. Local_preference属性只能在IBGP对等体间传递(除非做了策略,否则Local_preference值在IBGP对等体间传递过程中不会丢失),而不能再EBGP对等体间传递,若在EBGP对等体间收到的路由的路径属性中携带了Local_preference,则会触发Notification报文,造成会话中断
3.但可在AS边界路由器上使用import方向的策略来修改Local_preference属性值。也就是收到路由之后,在本地为路由赋予Local_preference
4.配置
[R3]route-policy lop permit node 10 ##创建名为lop的路由策略
[R3-route-policy]apply local-preference 200 ##设置本地优先级为200(默认100)
[R3-route-policy]q
[R3]bgp 200
[R3-bgp]peer 4.4.4.4 route-policy lop export
##在R3对R4执行出站export方向的路由策略,使其在收到对方通告后,在路由的local-preference的属性值改为200,使R4优先选R3通告的路由。若在R4配置此策略,则改为import入站
[R3-bgp]q
[R3]q
R3>refresh bgp all export ##刷新BGP(软复位)

(2)使用As_path属性控制选路(越少越优,用于EBGP之间,华为系统IBGP也可用)
1.属于公认必遵属性,是可前往目标网络的路由经过的AS号列表
2.作用:确保路由在EBGP对等体之间传递无环,另外也作为路由优选的衡量标准之一
3.路由在被通告给EBGP对等体时,路由器会在该路由的 As_path中追加上本地的AS号。路由被通告给IBGP对等体时, As_path不会发生改变
4.使用的route-policy修改BGP路由的As_path:
apply as-path xxx additive #在已有As_path基础上追加xxx
apply as-path xxx overwrite #将已有As_path值替换(覆盖)成xxx
apply as-path none overwrite #清空路由的As_path属性
5.使用route-policy修改BGP路由的As_path时,可以在EBGP对等体之间改变EBGP路由的As_path属性,从而影响BGP路由的优选。在华为路由器上,zaiEBGP对等体之间,也可使用route-policy修改BGP路由的As_path。无论何种场景,改变BGP路由的As_path都必须十分谨慎,建议跟上一个经过的AS号保持一致。
6.Bestroute as-path-ignore命令
用来配置BGP在选择最优路由时忽略AS路径属性。配置该命令后,BGP将不比较AS路径的长度,越小越优
7.配置
[R2]route-policy as permit node 10
[R2-route-policy]apply as-path 123 123 additive ##在已有AS-path基础上追加
[R2-route-policy]q
[R2]bgp 200
[R2-bgp]peer 4.4.4.4 route-policy as export
[R2-bgp]q
[R2]q
R2>refresh bgp all export

(3)3、通过MED属性控制选路(越小越优,一般用于EBGP之间)
1.属于可选非传递属性,是一种度量值
2.一般情况下,BGP设备只比较来自同一AS(不同对等体)的路由的MED值。可以通过配置命令来允许BGP比较来自不同AS的路由的MED属性值
3. 执行compare-different-as-med命令后,系统将比较来自不同AS来自不同AS中的对等体的路由的MED值。
4. 配置
[R2]route-policy med permit node 10
[R2-route-policy]apply cost + 500
[R2-route-policy]q
[R2]bgp 200
[R2-bgp]peer 1.1.1.1 route-policy med export
[R2-bgp]q
[R2]q
R2>refresh bgp all export
[R2]dis bgp routing-table #查看BGP路由表
[R2]dis bgp routing-table 目标网段 #查看详细信息

(4)多网段情况下只匹配某一网段选路
Origin属于公有必遵,用来定义路径信息的来源,其作用是标记一条路由时如何成为BGP路由的,EBGP邻居之间起作用。
它有三种属性:①IGP:优先级最高,②EBGP:优先级次之,③Incomplete:优先级最低

三.BGP路由反射器(Route Reflector)

在AS中,为保证IBGP对等体之间的连通性,需要在IBGP对等体之间建立全连接关系。假设在一个AS内部有n台设备,那么建立的IBGP连接数就为n(n-1)/2。当设备数目很多时,设备配置将十分复杂,而且配置后网络资源和CPU资源的消耗都很大。在IBGP对等体间使用路由反射器可以解决以上问题。
一般边界路由器EBPG作为反射器,反射器从客户端学到的路由传递个客户端可非客户端,从非客户端学到的路由传递给客户端

四.BGP路由聚合(汇总)

方案(一):创建静态汇总路由
[R2]ip route-static 192.168.0.0 255.255.252.0 null 0
[R2-bgp]net 192.168.0.0 255.255.252.0
将聚合的路由通告出去,同为手动汇总的192.168.0.0在路由表中不存在,要把它加入Null 0 里才能在BGP进程里用上面的network来通告这条路由。

方案(二):
[R2-bgp] aggregate 192.168.0.0 255.255.252.0 detail-supperessed as-set
配置手动路由聚合用aggregate,detail-supperessed是抑制明细路由的通告,加上as-set关键词后,该汇总路由将继承明细路由的路径属性,其中对明细路由As_path属性起到汇总路由防环作用。

猜你喜欢

转载自blog.csdn.net/MQ107/article/details/112599197