BGP外部网关协议(二)

一.BGP选路

在这里插入图片描述

1.背景

当BGP设备学习到去往同一个目的网络的多条BGP路由(路径)时,设备将这些路由都装载到BGP路由表,并在这些条目中进行路由优选,最终决策出最优(Best)的路由,将该BGP路由加载到全局路由表中,作为数据转发的依据。

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必须一致,当负载分担时,以下3条原则无效)
(12)比较Cluster_list长度,短者优先
(13)比较Originator_ID(如果没有Originator_ID,则用Router_ID比较),选择数值较小的路径。
(14)比较对等体的IP地址,选择IP地址数值最小的路径。

2.路径属性

(1)定义
路径属性:path attributes,作用类似于metric(度量标准),用于度量BGP的路由优劣(用来进行选路)
(2)分类

  • 公认强制属性:所有的BGP的update消息都要包含该属性
    AS路径(AS-path)
    下一跳(next-hop)
    起源(Origin)
  • 公认自由属性:该属性是可选可不选的,但是所有的BGP进程都能识别
    本地优先级(local preferent)
  • 可选传递属性:即使BGP进程不能识别该属性,也会继续传递下去
    团体属性(community)
  • 可选非传递属性:如果BGP进程不能识别该属性,可以忽略这条update,并且不传递下去
    MED

2.BGP选路及配置(比较多,12种,我选出常见的3种讲解)

1、根据Local_preference控制选路(越大越优)

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

2、使用As_path属性控制选路(越少越优)

  • 为公认必遵属性,是可前往目标网络的路由经过的AS号列表
  • 作用:确保路由在EBGP对等体之间传递无环,另外也作为路由优选的衡量标准之一
  • 路由在被通告给EBGP对等体时,路由器会在该路由的 As_path中追加上本地的AS号。路由被通告给IBGP对等体时, As_path不会发生改变
    使用的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属性
  • 使用route-policy修改BGP路由的As_path时,可以在EBGP对等体之间改变EBGP路由的As_path属性,从而影响BGP路由的优选。在华为路由器上,zaiEBGP对等体之间,也可使用route-policy修改BGP路由的As_path。无论何种场景,改变BGP路由的As_path都必须十分谨慎,建议跟上一个经过的AS号保持一致。
  • Bestroute as-path-ignore命令
    用来配置BGP在选择最优路由时忽略AS路径属性。配置该命令后,BGP将不比较AS路径的长度,越小越优
[R2]route-policy as permit node 10  
Info: New Sequence of this List.   
[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、通过MED属性控制选路(越小越优)

  • 为可选非传递属性,是一种度量值
  • 一般情况下,BGP设备只比较来自同一AS(不同对等体)的路由的MED值。可以通过配置命令来允许BGP比较来自不同AS的路由的MED属性值
  • 执行compare-different-as-med命令后,系统将比较来自不同AS来自不同AS中的对等体的路由的MED值。
[R2]route-policy med permit node 10  
Info: New Sequence of this List.   
[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>sys
[R2]dis bgp routing-table  #查BGP路由表
[R2]dis bgp routing-table  目标网段  #查看详细信息

三、BGP反射器

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

实验拓扑

在这里插入图片描述
在这里插入图片描述

对实验一增加选路实现路径R1到R5经过R3,R5到R1经过R2
这里用修改med的方法实现
看下两张图,可以发现R1到R5是从R2,R5到R1也是从R2走,我们只需要改变R1去R5的路径即可。
在这里插入图片描述
配置med可以在R2或R1上配置,这里我在R2上配置,在R1上是入口import
在这里插入图片描述
结果
可以看出R1到R5使用R3走的
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值