BGP路由优选(超详细的实验操作过程)

本文详细介绍了BGP路由优选的11个关键步骤,包括路由下一跳可达性、首选值、本地优先级、AS-Path、起源属性、MED、EBGP与IBGP的优先级、IGP Cost值、Cluster-List、发送者Router-ID和Peer IP地址的比较。通过实例解析了每个步骤的优先级和影响,帮助理解BGP路由决策过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Ip地址规划,例如:R1连R2,则R1路由器IP为12.1.1.1/24,R2路由器IP为12.1.1.2/24,其他路由器同上。

  1. 基础命令:
    R1:
    bgp 100
     peer 12.1.1.2 as-number 200   #与AS区域号为200内的12.1.1.2路由器建立对等体
    ipv4-family unicast
      undo synchronization
      network 15.1.1.0 255.255.255.0 #将15.1.1.0网段宣告出去,注:宣告的网段一定要在自己的路由表里
      peer 12.1.1.2 enable
    
    R1:
    bgp 200
     peer 3.3.3.3 as-number 200 
     peer 3.3.3.3 connect-interface LoopBack0	#与3.3.3.3建立对等体的时候使用LooBack0接口建立
     peer 12.1.1.1 as-number 100 
     #
     ipv4-family unicast
      undo synchronization
      peer 3.3.3.3 enable
      peer 3.3.3.3 next-hop-local 	#将下一跳属性设为自身与对等体相连的接口地址
      peer 12.1.1.1 enable
    

BGP路由优选属性(顺序比较)

0.路由下一跳必须可达,在R2上输入peer 3.3.3.3 next-hop-local,R4同理

1.首选值越大越优,默认值为0。

2.本地优先级越大越有,默认值为100。

3.本地始发。

4.AS-Path越短越优。

5.起源属性

6.MED值越小越优。

7.EBGP>IBGP。

8.去往下一跳的IGP Cost值越小越优。

9.Cluster-List越短越优。

10.发送者Router-ID越小越优,如果属性中携带Originator-ID,则直接比较Originator-ID,均为越小越优。

11.Peer邻居的IP地址越小越优。


0.路由下一跳必须可达,在R2上输入peer 3.3.3.3 next-hop-local,R4同理

 当路由器将本地路由表中的IGP协议路由通过Network或者import-route两种发布到BGP时, 在BGP路由表中,Next_Hop属性为0.0.0.0。

我在R3上创建了条静态路由,指向Null0,并且把他Network

 

然后查看本地路由表会发现,下一跳地址是0.0.0.0的

如果下一跳是EBGP,下一跳接口就会改变

如果下一跳是IBGP,下一跳接口就会是本地出接口地址

R2当配置了上图的命令时,在R3上看到bgp路由表,就会看到下一跳改变了,变成了R2的更新源地址,因为是从EBGP发过来IBGP内,E->I不变,I->E变。如下图

为了证明E->I不变,I->E变,我们把命令undo掉,查看bgp路由表

在R4上看也并没有改变。

所以我们得出结论:

1、描述到达目的网段的下一跳地址,不一定时直连下一跳,因为有可能是非直连邻居。

2、当路由器将本地路由表中的IGP协议路由通过Network或者import-route两种发布到BGP时, BGP路由表中,Next_Hop属性为0.0.0.0 

3、当路由器将本地始发的BGP路由通告给IBGP邻居时,Next_Hop为这台路由器的更新源,一般 就是Loopback接口地址。

4、当路由器将路由通告给EBGP邻居时,不管是不是始发路由。Next_Hop为这台路由器的更新 源,一般就是建立邻居的直连接口地址。

5、即当路由传递给EBGP邻居时,Next_Hop会改变;当传递给IBGP邻居时,不会改变。

1.首选值越大越优,默认值为0。

该值不是属性,无法随路由传递。在R3的入方向修改。举例:peer 4.4.4.4 preferred-value 1

注意:这个值只是在本地,不会随着路由传递

首先我们在R3上看到15.1.1.0/24网段的路由只有从2.2.2.2方向来的

 为了体现BGP路由优选,我们在R5上将15.1.1.0/24位的网段引入

 之后在R3上就可以看到去往15.1.1.0/24

 现在是2.2.2.2最优,因为输在了RID上,RID是越小越优,所以R3去往15.1.1.0/24网段会选择2.2.2.2去

 我们可以选择4.4.4.4为下一跳,首先将首选值更改为1

配置完之后,再来查看bgp路由表里面的15.1.1.0,我们就看到了2.2.2.2输在了PreVal属性

 注意:路由优选是按顺序来执行的,如果我们这个首选值已经选了最优的了,那么就不会再有后面的选择,所以我们在进行下一项本地优先级之前,就需要删除首选值的命令

2.本地优先级越大越有,默认值为100。

只传递给IBGP邻居,可随路由传递出去。在R3的入方向调用路由策略进行修改。

  (1)配置命令

  ip ip-prefix 15 index 10 permit 15.1.1.0 24 如果匹配15.1.1.0 24网段就允许过

  route-policy LP permit node 10

   if-match ip-prefix 15

   apply local-preference 101

  bgp 200

   peer 4.4.4.4 route-policy LP import

我们要想修改本地优先级,那么首先就得需要抓取路由

 

 修改完之后,就可以看到本地优先级已经被改为101了

3.本地始发。

手动汇总>自动汇总>Network>Import。在R1上观察现象,操作步骤如下:

  (1)在R1上创建一条静态路由10.0.0.0/8,然后在BGP中进行network 10.0.0.0 24和import-route static。观察network和import两类路由。

首先先创建一个静态路由

然后就将他们引入直连还有network宣告

就可以看到bgp路由表有两个10.0.0.0/8网段的路由了

后面的“i”表示是network宣告进来的,“?”则表示import进来的

我们从上图可以看到,import比不过network的原因是路由类型,由这样可以得知,network进来的路由优先级是比import路由进来的优先级大的

  (2)在R1上创建一个loopback1:10.1.1.0/24,然后在BGP中引入直连接口,随后输入summary automatic自动汇总命令。注意:自动聚合只对引入的路由进行聚合

在loopback1上创建一个10.1.1.0/24

然后在bgp上引入直连,并且再自动汇总

就可以看到多了一条路由进了BGP路由表

我们查看路由是怎么选取的

最优的路由是选取的自动聚合的路由,所以我们可以知道,Summary>Network>Import

  (3)在R1上输入aggregate 10.0.0.0 255.0.0.0,生成一条手动汇总路由。

这时,我们再看BGP路由表,发现又多了一跳路由

我们依旧查看路由是怎么选的

由此又可以得出,手动聚合>自动聚合>Network>import

4.AS-Path越短越优。

在R3的入方向调用路由策略修改。

  (1)配置命令

  ip ip-prefix 15 index 10 permit 15.1.1.0 24

  route-policy AS-Path permit node 10

   if-match ip-prefix 15

   apply as-path 101 102 103 additive

  bgp 200

   peer 2.2.2.2 route-policy AS-Path import

我们在R3上配置好命令,并且将AS_path改为101,102,103

此时我们查看路由表

我们可以看到,导致2.2.2.2选不上的原因是因为AS_path太长了

5.起源属性

IGP>EGP>Incomplete。

优于目前EGP协议已经淘汰,看不到起源属性为EGP的路由,所以只需要比较IGP(Network)>Incomplete(Import)即可。

Network(i)>EGP(E)>Import(?)

一开始,我是在R1和R5上使用Network将路由引入,所以他会提示是i

之后,我在R1上将Network改成Import,就会变成下图

这里我们可以看到,IGP的优先级是要比Import的优先级高的

6.MED值越小越优。

在R3的入方向调用路由策略修改。

  (1)配置命令

  ip ip-prefix 15 index 10 permit 15.1.1.0 24

  route-policy MED permit node 10

   if-match ip-prefix 15

   apply cost 1

  bgp 200

   compare-different-as-med---------使能比较不同区域路由的MED值,默认只比较相同区域的MED值

   peer 2.2.2.2 route-policy MED import

按照上述配置之后,结果如下图

7.EBGP>IBGP。

此时需要在R4上观察情况,让R3向R4发送一条路由:15.1.1.0/24,此时在R4上观察R3和R5各自发来的两条15.1.1.0/24的优选结果。

  (1)首先在R3上创建一条静态路由:ip route-static 15.1.1.0 255.255.255.0 NULL0 description EBGP>IBGP。

  (2)在R3的bgp视图下宣告15.1.1.0路由,让R3将该路由发送给R4。但是此时R3发送给R4的路由的AS-Path属性为空,在比较EBGP>IBGP之前会优先比较AS-Path。

这时候是因为AS_Path短,所以被优选

  (3)此时需要将R3发送路由的AS-Path属性修改一下,长度修改为和R5发送的相同即可,R5发送的AS-Path属性中为一跳。 

 route-policy E>I permit node 10

   if-match ip-prefix 15

   apply as-path 111 additive

  bgp 200

   peer 4.4.4.4 route-policy E>I export

  (4)此时在R4上观察路由优选结果

8.去往下一跳的IGP Cost值越小越优。

在R3的出接口修改OSPF的Cost值即可,将R3的G0/0/0接口Cost值改大,下一跳即会优选R4。

原本是2.2.2.2为最优选路,现在会变成4.4.4.4为最优选路

IGP的Cost值越小越优,所以4.4.4.4毫无疑问的当选为最优路径啦

若以上8条选路规则完全相同,则可以通过命令让路由负载。但是只在IP公共路由表进行负载,但是BGP还是会根据后面的规则继续优选,直到选出一条最优路由发出去。

(1)配置命令

  bgp 200

   maximum load-balancing ibgp 2-----------使能IBGP路由负载,如果最优路由为EBGP,则最后的参数修改为ebgp。即IBGP和EBGP不同同时进行负载。

我们先来看看ip路由表,只有一条路由,那我们接下来要进行负载

我们配置完后,发现是可以选取8条路由来进行负载,因为我们现在只有两台,那我们写个2

这时,我们再查看ip路由表,发现依旧还是只有一条路由。

为什么配置了负载命令之后还是不行呢?我们来看看形成BGP路由等价负载分担的条件是什么。

这时我们发现,原来,不仅要前8条相同,AS_Path的属性也要完全相同,所以我们当然进行不了负载啦。我们现在来修改一下AS_Path看看。

我们将从4.4.4.4来的AS_Path改成100,然后再查看ip路由表

这时候,我们可以看到负载成功了,但是这样会形成环路,因为AS_Path一样了,所以,不介意采用这种方式,我们可以采取忽略这个规则

   load-balancing as-path-ignore-----------BGP路由负载时,AS-Path属性必须完全相同,不光是长度相同。所以这里需要忽略AS-Path的比较规则。

我们将之前的配置Undo之后,就回到原来的状态,并且配置好忽略命令后是一样可以负载的

9.Cluster-List越短越优。

该属性为路由反射器相关属性。

  (1)此次在R2上观察现象,首先在R2和R4之间建立IBGP邻居关系。

  (2)在R3宣告一条路由,让R4直接发送给R2.

  (3)将R3配置成路由反射器,将R4配置为反射客户端。此时R4宣告的路由经过R3反射,会将同样的路由也反射给R2一份。反射过程中所有属性均不改变。

这时,在R2上会看到有两条44.44.44.44的路由

  (4)在R2上观察两条路由的优选结果。直接发送给R2的路由没有经过反射,所有没有Cluster-List,长度为0;经过反射的路由会携带Cluster-List。

10.发送者Router-ID越小越优,如果属性中携带Originator-ID,则直接比较Originator-ID,均为越小越优。

11.Peer邻居的IP地址越小越优。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值